@libp2p/webrtc 4.0.9 → 4.0.10-230afea4b

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 CHANGED
@@ -1,18 +1,18 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PWebrtc = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PWebrtc=(()=>{var W1=Object.create;var Wi=Object.defineProperty;var $1=Object.getOwnPropertyDescriptor;var Y1=Object.getOwnPropertyNames;var X1=Object.getPrototypeOf,Z1=Object.prototype.hasOwnProperty;var dt=(e,t)=>()=>(e&&(t=e(e=0)),t);var st=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ft=(e,t)=>{for(var r in t)Wi(e,r,{get:t[r],enumerable:!0})},pu=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Y1(t))!Z1.call(e,i)&&i!==r&&Wi(e,i,{get:()=>t[i],enumerable:!(n=$1(t,i))||n.enumerable});return e};var Jt=(e,t,r)=>(r=e!=null?W1(X1(e)):{},pu(t||!e||!e.__esModule?Wi(r,"default",{value:e,enumerable:!0}):r,e)),$i=e=>pu(Wi({},"__esModule",{value:!0}),e);var Rf=st((F5,kf)=>{"use strict";function _f(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function em(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 _f(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),_f(new i,r)}}kf.exports=em});var xt=st((BC,th)=>{th.exports={options:{usePureJavaScript:!1}}});var nh=st((IC,rh)=>{var Vc={};rh.exports=Vc;var eh={};Vc.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=ex(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};Vc.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=eh[t];if(!r){r=eh[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 ex(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 Mt=st((TC,ah)=>{var ih=xt(),oh=nh(),w=ah.exports=ih.util=ih.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){w.nextTick=process.nextTick,typeof setImmediate=="function"?w.setImmediate=setImmediate:w.setImmediate=w.nextTick;return}if(typeof setImmediate=="function"){w.setImmediate=function(){return setImmediate.apply(void 0,arguments)},w.nextTick=function(a){return setImmediate(a)};return}if(w.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===e){c.stopPropagation();var u=t.slice();t.length=0,u.forEach(function(f){f()})}};var s=a,e="forge.setImmediate",t=[];w.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=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(t.push(c),t.length===1&&i.setAttribute("a",n=!n))}}w.nextTick=w.setImmediate})();w.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;w.globalScope=function(){return w.isNodejs?globalThis:typeof self>"u"?window:self}();w.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};w.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};w.isArrayBufferView=function(e){return e&&w.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function Ai(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}w.ByteBuffer=Hc;function Hc(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(w.isArrayBuffer(e)||w.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 Hc||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}w.ByteStringBuffer=Hc;var rx=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>rx&&(this.data.substr(0,1),this._constructedStringLength=0)};w.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};w.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};w.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};w.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};w.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};w.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(w.encodeUtf8(e))};w.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};w.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};w.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))};w.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};w.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))};w.ByteStringBuffer.prototype.putInt=function(e,t){Ai(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};w.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};w.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};w.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};w.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};w.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};w.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};w.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};w.ByteStringBuffer.prototype.getInt=function(e){Ai(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};w.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};w.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};w.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};w.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};w.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};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var e=w.createBuffer(this.data);return e.read=this.read,e};w.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};w.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};w.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};w.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};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function nx(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=w.isArrayBuffer(e),n=w.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)}w.DataBuffer=nx;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.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};w.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};w.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};w.DataBuffer.prototype.putBytes=function(e,t){if(w.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(w.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 w.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&w.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 w.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+=w.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+=w.binary.base64.decode(e,o,this.write),this;if(t==="utf8"&&(e=w.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(e.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};w.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};w.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};w.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};w.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};w.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};w.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};w.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(e,t){Ai(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};w.DataBuffer.prototype.putSignedInt=function(e,t){return Ai(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};w.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};w.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};w.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};w.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};w.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};w.DataBuffer.prototype.getInt=function(e){Ai(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};w.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};w.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};w.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};w.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};w.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.DataBuffer.prototype.compact=function(){if(this.read>0){var 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};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};w.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};w.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return w.binary.raw.encode(t);if(e==="hex")return w.binary.hex.encode(t);if(e==="base64")return w.binary.base64.encode(t);if(e==="utf8")return w.text.utf8.decode(t);if(e==="utf16")return w.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};w.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=w.encodeUtf8(e)),new w.ByteBuffer(e)};w.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};w.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};w.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};w.bytesToHex=function(e){return w.createBuffer(e).toHex()};w.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var Br="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Ir=[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],sh="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.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+=Br.charAt(i>>2),r+=Br.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Br.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Br.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
4
- `,r=r.substr(t));return n+=r,n};w.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,o,s=0;s<e.length;)r=Ir[e.charCodeAt(s++)-43],n=Ir[e.charCodeAt(s++)-43],i=Ir[e.charCodeAt(s++)-43],o=Ir[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};w.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};w.decodeUtf8=function(e){return decodeURIComponent(escape(e))};w.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:oh.encode,decode:oh.decode}};w.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)};w.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};w.binary.hex.encode=w.bytesToHex;w.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};w.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+=Br.charAt(i>>2),r+=Br.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Br.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Br.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
5
- `,r=r.substr(t));return n+=r,n};w.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=Ir[e.charCodeAt(c++)-43],o=Ir[e.charCodeAt(c++)-43],s=Ir[e.charCodeAt(c++)-43],a=Ir[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)};w.binary.base58.encode=function(e,t){return w.binary.baseN.encode(e,sh,t)};w.binary.base58.decode=function(e,t){return w.binary.baseN.decode(e,sh,t)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(e,t,r){e=w.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};w.text.utf8.decode=function(e){return w.decodeUtf8(String.fromCharCode.apply(null,e))};w.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};w.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};w.deflate=function(e,t,r){if(t=w.decode64(e.deflate(w.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};w.inflate=function(e,t,r){var n=e.inflate(w.encode64(t)).rval;return n===null?null:w.decode64(n)};var qc=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=w.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}},zc=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(w.decode64(r))),r},ix=function(e,t,r,n){var i=zc(e,t);i===null&&(i={}),i[r]=n,qc(e,t,i)},ox=function(e,t,r){var n=zc(e,t);return n!==null&&(n=r in n?n[r]:null),n},sx=function(e,t,r){var n=zc(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),qc(e,t,n)}},ax=function(e,t){qc(e,t,null)},jo=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};w.setItem=function(e,t,r,n,i){jo(ix,arguments,i)};w.getItem=function(e,t,r,n){return jo(ox,arguments,n)};w.removeItem=function(e,t,r,n){jo(sx,arguments,n)};w.clearItems=function(e,t,r){jo(ax,arguments,r)};w.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};w.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("")};w.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):"")};w.formatSize=function(e){return e>=1073741824?e=w.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=w.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=w.formatNumber(e/1024,0)+" KiB":e=w.formatNumber(e,0)+" bytes",e};w.bytesFromIP=function(e){return e.indexOf(".")!==-1?w.bytesFromIPv4(e):e.indexOf(":")!==-1?w.bytesFromIPv6(e):null};w.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=w.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};w.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=w.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=w.hexToBytes(e[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};w.bytesToIP=function(e){return e.length===4?w.bytesToIPv4(e):e.length===16?w.bytesToIPv6(e):null};w.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(".")};w.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=w.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(":")};w.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in w&&!e.update)return t(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,t(null,w.cores);if(typeof Worker>"u")return w.cores=1,t(null,w.cores);if(typeof Blob>"u")return w.cores=2,t(null,w.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(f,l){return f+l},0)/s.length);return w.cores=Math.max(1,u),URL.revokeObjectURL(r),t(null,w.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(d){if(u.push(d.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]=[],d=0;d<s;++d)if(u!==d){var y=a[d];(f.st>y.st&&f.st<y.et||y.st>f.st&&y.st<f.et)&&l.push(d)}return c.reduce(function(h,p){return Math.max(h,p.length)},0)}}});var Jo=st((_C,ch)=>{var Di=xt();Di.pki=Di.pki||{};var Gc=ch.exports=Di.pki.oids=Di.oids=Di.oids||{};function N(e,t){Gc[e]=t,Gc[t]=e}function mt(e,t){Gc[e]=t}N("1.2.840.113549.1.1.1","rsaEncryption");N("1.2.840.113549.1.1.4","md5WithRSAEncryption");N("1.2.840.113549.1.1.5","sha1WithRSAEncryption");N("1.2.840.113549.1.1.7","RSAES-OAEP");N("1.2.840.113549.1.1.8","mgf1");N("1.2.840.113549.1.1.9","pSpecified");N("1.2.840.113549.1.1.10","RSASSA-PSS");N("1.2.840.113549.1.1.11","sha256WithRSAEncryption");N("1.2.840.113549.1.1.12","sha384WithRSAEncryption");N("1.2.840.113549.1.1.13","sha512WithRSAEncryption");N("1.3.101.112","EdDSA25519");N("1.2.840.10040.4.3","dsa-with-sha1");N("1.3.14.3.2.7","desCBC");N("1.3.14.3.2.26","sha1");N("1.3.14.3.2.29","sha1WithRSASignature");N("2.16.840.1.101.3.4.2.1","sha256");N("2.16.840.1.101.3.4.2.2","sha384");N("2.16.840.1.101.3.4.2.3","sha512");N("2.16.840.1.101.3.4.2.4","sha224");N("2.16.840.1.101.3.4.2.5","sha512-224");N("2.16.840.1.101.3.4.2.6","sha512-256");N("1.2.840.113549.2.2","md2");N("1.2.840.113549.2.5","md5");N("1.2.840.113549.1.7.1","data");N("1.2.840.113549.1.7.2","signedData");N("1.2.840.113549.1.7.3","envelopedData");N("1.2.840.113549.1.7.4","signedAndEnvelopedData");N("1.2.840.113549.1.7.5","digestedData");N("1.2.840.113549.1.7.6","encryptedData");N("1.2.840.113549.1.9.1","emailAddress");N("1.2.840.113549.1.9.2","unstructuredName");N("1.2.840.113549.1.9.3","contentType");N("1.2.840.113549.1.9.4","messageDigest");N("1.2.840.113549.1.9.5","signingTime");N("1.2.840.113549.1.9.6","counterSignature");N("1.2.840.113549.1.9.7","challengePassword");N("1.2.840.113549.1.9.8","unstructuredAddress");N("1.2.840.113549.1.9.14","extensionRequest");N("1.2.840.113549.1.9.20","friendlyName");N("1.2.840.113549.1.9.21","localKeyId");N("1.2.840.113549.1.9.22.1","x509Certificate");N("1.2.840.113549.1.12.10.1.1","keyBag");N("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");N("1.2.840.113549.1.12.10.1.3","certBag");N("1.2.840.113549.1.12.10.1.4","crlBag");N("1.2.840.113549.1.12.10.1.5","secretBag");N("1.2.840.113549.1.12.10.1.6","safeContentsBag");N("1.2.840.113549.1.5.13","pkcs5PBES2");N("1.2.840.113549.1.5.12","pkcs5PBKDF2");N("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");N("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");N("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");N("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");N("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");N("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");N("1.2.840.113549.2.7","hmacWithSHA1");N("1.2.840.113549.2.8","hmacWithSHA224");N("1.2.840.113549.2.9","hmacWithSHA256");N("1.2.840.113549.2.10","hmacWithSHA384");N("1.2.840.113549.2.11","hmacWithSHA512");N("1.2.840.113549.3.7","des-EDE3-CBC");N("2.16.840.1.101.3.4.1.2","aes128-CBC");N("2.16.840.1.101.3.4.1.22","aes192-CBC");N("2.16.840.1.101.3.4.1.42","aes256-CBC");N("2.5.4.3","commonName");N("2.5.4.4","surname");N("2.5.4.5","serialNumber");N("2.5.4.6","countryName");N("2.5.4.7","localityName");N("2.5.4.8","stateOrProvinceName");N("2.5.4.9","streetAddress");N("2.5.4.10","organizationName");N("2.5.4.11","organizationalUnitName");N("2.5.4.12","title");N("2.5.4.13","description");N("2.5.4.15","businessCategory");N("2.5.4.17","postalCode");N("2.5.4.42","givenName");N("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");N("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");N("2.16.840.1.113730.1.1","nsCertType");N("2.16.840.1.113730.1.13","nsComment");mt("2.5.29.1","authorityKeyIdentifier");mt("2.5.29.2","keyAttributes");mt("2.5.29.3","certificatePolicies");mt("2.5.29.4","keyUsageRestriction");mt("2.5.29.5","policyMapping");mt("2.5.29.6","subtreesConstraint");mt("2.5.29.7","subjectAltName");mt("2.5.29.8","issuerAltName");mt("2.5.29.9","subjectDirectoryAttributes");mt("2.5.29.10","basicConstraints");mt("2.5.29.11","nameConstraints");mt("2.5.29.12","policyConstraints");mt("2.5.29.13","basicConstraints");N("2.5.29.14","subjectKeyIdentifier");N("2.5.29.15","keyUsage");mt("2.5.29.16","privateKeyUsagePeriod");N("2.5.29.17","subjectAltName");N("2.5.29.18","issuerAltName");N("2.5.29.19","basicConstraints");mt("2.5.29.20","cRLNumber");mt("2.5.29.21","cRLReason");mt("2.5.29.22","expirationDate");mt("2.5.29.23","instructionCode");mt("2.5.29.24","invalidityDate");mt("2.5.29.25","cRLDistributionPoints");mt("2.5.29.26","issuingDistributionPoint");mt("2.5.29.27","deltaCRLIndicator");mt("2.5.29.28","issuingDistributionPoint");mt("2.5.29.29","certificateIssuer");mt("2.5.29.30","nameConstraints");N("2.5.29.31","cRLDistributionPoints");N("2.5.29.32","certificatePolicies");mt("2.5.29.33","policyMappings");mt("2.5.29.34","policyConstraints");N("2.5.29.35","authorityKeyIdentifier");mt("2.5.29.36","policyConstraints");N("2.5.29.37","extKeyUsage");mt("2.5.29.46","freshestCRL");mt("2.5.29.54","inhibitAnyPolicy");N("1.3.6.1.4.1.11129.2.4.2","timestampList");N("1.3.6.1.5.5.7.1.1","authorityInfoAccess");N("1.3.6.1.5.5.7.3.1","serverAuth");N("1.3.6.1.5.5.7.3.2","clientAuth");N("1.3.6.1.5.5.7.3.3","codeSigning");N("1.3.6.1.5.5.7.3.4","emailProtection");N("1.3.6.1.5.5.7.3.8","timeStamping")});var Bi=st((kC,fh)=>{var At=xt();Mt();Jo();var V=fh.exports=At.asn1=At.asn1||{};V.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};V.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};V.create=function(e,t,r,n,i){if(At.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||At.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=V.copy(a)),a};V.copy=function(e,t){var r;if(At.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(V.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:V.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};V.equals=function(e,t,r){if(At.util.isArray(e)){if(!At.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!V.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&&V.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};V.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 Ci(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 cx=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;Ci(e,t,o),n=e.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};V.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=At.util.createBuffer(e));var r=e.length(),n=ts(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 ts(e,t,r,n){var i;Ci(e,t,2);var o=e.getByte();t--;var s=o&192,a=o&31;i=e.length();var c=cx(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,d=(o&32)===32;if(d)if(f=[],c===void 0)for(;;){if(Ci(e,t,2),e.bytes(2)==="\0\0"){e.getBytes(2),t-=2;break}i=e.length(),f.push(ts(e,t,r+1,n)),t-=i-e.length()}else for(;c>0;)i=e.length(),f.push(ts(e,c,r+1,n)),t-=i-e.length(),c-=i-e.length();if(f===void 0&&s===V.Class.UNIVERSAL&&a===V.Type.BITSTRING&&(l=e.bytes(c)),f===void 0&&n.decodeBitStrings&&s===V.Class.UNIVERSAL&&a===V.Type.BITSTRING&&c>1){var y=e.read,h=t,p=0;if(a===V.Type.BITSTRING&&(Ci(e,t,1),p=e.getByte(),t--),p===0)try{i=e.length();var m={strict:!0,decodeBitStrings:!0},g=ts(e,t,r+1,m),b=i-e.length();t-=b,a==V.Type.BITSTRING&&b++;var x=g.tagClass;b===c&&(x===V.Class.UNIVERSAL||x===V.Class.CONTEXT_SPECIFIC)&&(f=[g])}catch{}f===void 0&&(e.read=y,t=h)}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===V.Type.BMPSTRING)for(f="";c>0;c-=2)Ci(e,t,2),f+=String.fromCharCode(e.getInt16()),t-=2;else f=e.getBytes(c),t-=c}var D=l===void 0?null:{bitStringContents:l};return V.create(s,a,d,f,D)}V.toDer=function(e){var t=At.util.createBuffer(),r=e.tagClass|e.type,n=At.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=V.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(V.toDer(e.value[o]))}else if(e.type===V.Type.BMPSTRING)for(var o=0;o<e.value.length;++o)n.putInt16(e.value.charCodeAt(o));else e.type===V.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};V.oidToDer=function(e){var t=e.split("."),r=At.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};V.derToOid=function(e){var t;typeof e=="string"&&(e=At.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};V.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),d=f*60+l;d*=6e4,c==="+"?t.setTime(+t-d):t.setTime(+t+d)}return t};V.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,d=e.charAt(l);if(d==="+"||d==="-"){var y=parseInt(e.substr(l+1,2),10),h=parseInt(e.substr(l+4,2),10);u=y*60+h,u*=6e4,d==="+"&&(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};V.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};V.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};V.integerToDer=function(e){var t=At.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};V.derToInteger=function(e){typeof e=="string"&&(e=At.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)};V.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&&At.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=V.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 uh=/[^\\u0000-\\u00ff]/;V.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
2
+ "use strict";var Libp2PWebrtc=(()=>{var v2=Object.create;var eo=Object.defineProperty;var E2=Object.getOwnPropertyDescriptor;var S2=Object.getOwnPropertyNames;var A2=Object.getPrototypeOf,D2=Object.prototype.hasOwnProperty;var lt=(e,t)=>()=>(e&&(t=e(e=0)),t);var ot=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ct=(e,t)=>{for(var r in t)eo(e,r,{get:t[r],enumerable:!0})},Iu=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of S2(t))!D2.call(e,i)&&i!==r&&eo(e,i,{get:()=>t[i],enumerable:!(n=E2(t,i))||n.enumerable});return e};var Zt=(e,t,r)=>(r=e!=null?v2(A2(e)):{},Iu(t||!e||!e.__esModule?eo(r,"default",{value:e,enumerable:!0}):r,e)),ro=e=>Iu(eo({},"__esModule",{value:!0}),e);var Jf=ot((NA,jf)=>{"use strict";function Qf(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function _m(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 Qf(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),Qf(new i,r)}}jf.exports=_m});var gt=ot((LB,Bh)=>{Bh.exports={options:{usePureJavaScript:!1}}});var _h=ot((NB,Ih)=>{var e0={};Ih.exports=e0;var Th={};e0.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=Rx(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};e0.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=Th[t];if(!r){r=Th[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 Rx(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 Ot=ot((PB,Nh)=>{var kh=gt(),Rh=_h(),w=Nh.exports=kh.util=kh.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){w.nextTick=process.nextTick,typeof setImmediate=="function"?w.setImmediate=setImmediate:w.setImmediate=w.nextTick;return}if(typeof setImmediate=="function"){w.setImmediate=function(){return setImmediate.apply(void 0,arguments)},w.nextTick=function(a){return setImmediate(a)};return}if(w.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===e){c.stopPropagation();var u=t.slice();t.length=0,u.forEach(function(f){f()})}};var s=a,e="forge.setImmediate",t=[];w.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=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(t.push(c),t.length===1&&i.setAttribute("a",n=!n))}}w.nextTick=w.setImmediate})();w.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;w.globalScope=function(){return w.isNodejs?globalThis:typeof self>"u"?window:self}();w.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};w.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};w.isArrayBufferView=function(e){return e&&w.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function Li(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}w.ByteBuffer=r0;function r0(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(w.isArrayBuffer(e)||w.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 r0||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}w.ByteStringBuffer=r0;var Lx=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>Lx&&(this.data.substr(0,1),this._constructedStringLength=0)};w.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};w.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};w.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};w.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};w.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};w.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(w.encodeUtf8(e))};w.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};w.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};w.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))};w.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};w.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))};w.ByteStringBuffer.prototype.putInt=function(e,t){Li(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};w.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};w.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};w.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};w.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};w.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};w.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};w.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};w.ByteStringBuffer.prototype.getInt=function(e){Li(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};w.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};w.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};w.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};w.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};w.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};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var e=w.createBuffer(this.data);return e.read=this.read,e};w.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};w.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};w.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};w.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};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function Nx(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=w.isArrayBuffer(e),n=w.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)}w.DataBuffer=Nx;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.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};w.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};w.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};w.DataBuffer.prototype.putBytes=function(e,t){if(w.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(w.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 w.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&w.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 w.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+=w.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+=w.binary.base64.decode(e,o,this.write),this;if(t==="utf8"&&(e=w.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(e.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};w.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};w.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};w.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};w.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};w.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};w.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};w.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(e,t){Li(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};w.DataBuffer.prototype.putSignedInt=function(e,t){return Li(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};w.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};w.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};w.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};w.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};w.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};w.DataBuffer.prototype.getInt=function(e){Li(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};w.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};w.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};w.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};w.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};w.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.DataBuffer.prototype.compact=function(){if(this.read>0){var 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};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};w.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};w.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return w.binary.raw.encode(t);if(e==="hex")return w.binary.hex.encode(t);if(e==="base64")return w.binary.base64.encode(t);if(e==="utf8")return w.text.utf8.decode(t);if(e==="utf16")return w.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};w.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=w.encodeUtf8(e)),new w.ByteBuffer(e)};w.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};w.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};w.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};w.bytesToHex=function(e){return w.createBuffer(e).toHex()};w.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var kr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Rr=[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],Lh="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.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+=kr.charAt(i>>2),r+=kr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=kr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":kr.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
4
+ `,r=r.substr(t));return n+=r,n};w.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,o,s=0;s<e.length;)r=Rr[e.charCodeAt(s++)-43],n=Rr[e.charCodeAt(s++)-43],i=Rr[e.charCodeAt(s++)-43],o=Rr[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};w.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};w.decodeUtf8=function(e){return decodeURIComponent(escape(e))};w.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:Rh.encode,decode:Rh.decode}};w.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)};w.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};w.binary.hex.encode=w.bytesToHex;w.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};w.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+=kr.charAt(i>>2),r+=kr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=kr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":kr.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
5
+ `,r=r.substr(t));return n+=r,n};w.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=Rr[e.charCodeAt(c++)-43],o=Rr[e.charCodeAt(c++)-43],s=Rr[e.charCodeAt(c++)-43],a=Rr[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)};w.binary.base58.encode=function(e,t){return w.binary.baseN.encode(e,Lh,t)};w.binary.base58.decode=function(e,t){return w.binary.baseN.decode(e,Lh,t)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(e,t,r){e=w.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};w.text.utf8.decode=function(e){return w.decodeUtf8(String.fromCharCode.apply(null,e))};w.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};w.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};w.deflate=function(e,t,r){if(t=w.decode64(e.deflate(w.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};w.inflate=function(e,t,r){var n=e.inflate(w.encode64(t)).rval;return n===null?null:w.decode64(n)};var n0=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=w.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}},i0=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(w.decode64(r))),r},Px=function(e,t,r,n){var i=i0(e,t);i===null&&(i={}),i[r]=n,n0(e,t,i)},Ux=function(e,t,r){var n=i0(e,t);return n!==null&&(n=r in n?n[r]:null),n},Ox=function(e,t,r){var n=i0(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),n0(e,t,n)}},Kx=function(e,t){n0(e,t,null)},cs=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};w.setItem=function(e,t,r,n,i){cs(Px,arguments,i)};w.getItem=function(e,t,r,n){return cs(Ux,arguments,n)};w.removeItem=function(e,t,r,n){cs(Ox,arguments,n)};w.clearItems=function(e,t,r){cs(Kx,arguments,r)};w.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};w.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("")};w.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):"")};w.formatSize=function(e){return e>=1073741824?e=w.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=w.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=w.formatNumber(e/1024,0)+" KiB":e=w.formatNumber(e,0)+" bytes",e};w.bytesFromIP=function(e){return e.indexOf(".")!==-1?w.bytesFromIPv4(e):e.indexOf(":")!==-1?w.bytesFromIPv6(e):null};w.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=w.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};w.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=w.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=w.hexToBytes(e[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};w.bytesToIP=function(e){return e.length===4?w.bytesToIPv4(e):e.length===16?w.bytesToIPv6(e):null};w.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(".")};w.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=w.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(":")};w.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in w&&!e.update)return t(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,t(null,w.cores);if(typeof Worker>"u")return w.cores=1,t(null,w.cores);if(typeof Blob>"u")return w.cores=2,t(null,w.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(f,l){return f+l},0)/s.length);return w.cores=Math.max(1,u),URL.revokeObjectURL(r),t(null,w.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(d){if(u.push(d.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]=[],d=0;d<s;++d)if(u!==d){var y=a[d];(f.st>y.st&&f.st<y.et||y.st>f.st&&y.st<f.et)&&l.push(d)}return c.reduce(function(h,p){return Math.max(h,p.length)},0)}}});var us=ot((UB,Ph)=>{var Ni=gt();Ni.pki=Ni.pki||{};var o0=Ph.exports=Ni.pki.oids=Ni.oids=Ni.oids||{};function N(e,t){o0[e]=t,o0[t]=e}function yt(e,t){o0[e]=t}N("1.2.840.113549.1.1.1","rsaEncryption");N("1.2.840.113549.1.1.4","md5WithRSAEncryption");N("1.2.840.113549.1.1.5","sha1WithRSAEncryption");N("1.2.840.113549.1.1.7","RSAES-OAEP");N("1.2.840.113549.1.1.8","mgf1");N("1.2.840.113549.1.1.9","pSpecified");N("1.2.840.113549.1.1.10","RSASSA-PSS");N("1.2.840.113549.1.1.11","sha256WithRSAEncryption");N("1.2.840.113549.1.1.12","sha384WithRSAEncryption");N("1.2.840.113549.1.1.13","sha512WithRSAEncryption");N("1.3.101.112","EdDSA25519");N("1.2.840.10040.4.3","dsa-with-sha1");N("1.3.14.3.2.7","desCBC");N("1.3.14.3.2.26","sha1");N("1.3.14.3.2.29","sha1WithRSASignature");N("2.16.840.1.101.3.4.2.1","sha256");N("2.16.840.1.101.3.4.2.2","sha384");N("2.16.840.1.101.3.4.2.3","sha512");N("2.16.840.1.101.3.4.2.4","sha224");N("2.16.840.1.101.3.4.2.5","sha512-224");N("2.16.840.1.101.3.4.2.6","sha512-256");N("1.2.840.113549.2.2","md2");N("1.2.840.113549.2.5","md5");N("1.2.840.113549.1.7.1","data");N("1.2.840.113549.1.7.2","signedData");N("1.2.840.113549.1.7.3","envelopedData");N("1.2.840.113549.1.7.4","signedAndEnvelopedData");N("1.2.840.113549.1.7.5","digestedData");N("1.2.840.113549.1.7.6","encryptedData");N("1.2.840.113549.1.9.1","emailAddress");N("1.2.840.113549.1.9.2","unstructuredName");N("1.2.840.113549.1.9.3","contentType");N("1.2.840.113549.1.9.4","messageDigest");N("1.2.840.113549.1.9.5","signingTime");N("1.2.840.113549.1.9.6","counterSignature");N("1.2.840.113549.1.9.7","challengePassword");N("1.2.840.113549.1.9.8","unstructuredAddress");N("1.2.840.113549.1.9.14","extensionRequest");N("1.2.840.113549.1.9.20","friendlyName");N("1.2.840.113549.1.9.21","localKeyId");N("1.2.840.113549.1.9.22.1","x509Certificate");N("1.2.840.113549.1.12.10.1.1","keyBag");N("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");N("1.2.840.113549.1.12.10.1.3","certBag");N("1.2.840.113549.1.12.10.1.4","crlBag");N("1.2.840.113549.1.12.10.1.5","secretBag");N("1.2.840.113549.1.12.10.1.6","safeContentsBag");N("1.2.840.113549.1.5.13","pkcs5PBES2");N("1.2.840.113549.1.5.12","pkcs5PBKDF2");N("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");N("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");N("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");N("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");N("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");N("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");N("1.2.840.113549.2.7","hmacWithSHA1");N("1.2.840.113549.2.8","hmacWithSHA224");N("1.2.840.113549.2.9","hmacWithSHA256");N("1.2.840.113549.2.10","hmacWithSHA384");N("1.2.840.113549.2.11","hmacWithSHA512");N("1.2.840.113549.3.7","des-EDE3-CBC");N("2.16.840.1.101.3.4.1.2","aes128-CBC");N("2.16.840.1.101.3.4.1.22","aes192-CBC");N("2.16.840.1.101.3.4.1.42","aes256-CBC");N("2.5.4.3","commonName");N("2.5.4.4","surname");N("2.5.4.5","serialNumber");N("2.5.4.6","countryName");N("2.5.4.7","localityName");N("2.5.4.8","stateOrProvinceName");N("2.5.4.9","streetAddress");N("2.5.4.10","organizationName");N("2.5.4.11","organizationalUnitName");N("2.5.4.12","title");N("2.5.4.13","description");N("2.5.4.15","businessCategory");N("2.5.4.17","postalCode");N("2.5.4.42","givenName");N("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");N("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");N("2.16.840.1.113730.1.1","nsCertType");N("2.16.840.1.113730.1.13","nsComment");yt("2.5.29.1","authorityKeyIdentifier");yt("2.5.29.2","keyAttributes");yt("2.5.29.3","certificatePolicies");yt("2.5.29.4","keyUsageRestriction");yt("2.5.29.5","policyMapping");yt("2.5.29.6","subtreesConstraint");yt("2.5.29.7","subjectAltName");yt("2.5.29.8","issuerAltName");yt("2.5.29.9","subjectDirectoryAttributes");yt("2.5.29.10","basicConstraints");yt("2.5.29.11","nameConstraints");yt("2.5.29.12","policyConstraints");yt("2.5.29.13","basicConstraints");N("2.5.29.14","subjectKeyIdentifier");N("2.5.29.15","keyUsage");yt("2.5.29.16","privateKeyUsagePeriod");N("2.5.29.17","subjectAltName");N("2.5.29.18","issuerAltName");N("2.5.29.19","basicConstraints");yt("2.5.29.20","cRLNumber");yt("2.5.29.21","cRLReason");yt("2.5.29.22","expirationDate");yt("2.5.29.23","instructionCode");yt("2.5.29.24","invalidityDate");yt("2.5.29.25","cRLDistributionPoints");yt("2.5.29.26","issuingDistributionPoint");yt("2.5.29.27","deltaCRLIndicator");yt("2.5.29.28","issuingDistributionPoint");yt("2.5.29.29","certificateIssuer");yt("2.5.29.30","nameConstraints");N("2.5.29.31","cRLDistributionPoints");N("2.5.29.32","certificatePolicies");yt("2.5.29.33","policyMappings");yt("2.5.29.34","policyConstraints");N("2.5.29.35","authorityKeyIdentifier");yt("2.5.29.36","policyConstraints");N("2.5.29.37","extKeyUsage");yt("2.5.29.46","freshestCRL");yt("2.5.29.54","inhibitAnyPolicy");N("1.3.6.1.4.1.11129.2.4.2","timestampList");N("1.3.6.1.5.5.7.1.1","authorityInfoAccess");N("1.3.6.1.5.5.7.3.1","serverAuth");N("1.3.6.1.5.5.7.3.2","clientAuth");N("1.3.6.1.5.5.7.3.3","codeSigning");N("1.3.6.1.5.5.7.3.4","emailProtection");N("1.3.6.1.5.5.7.3.8","timeStamping")});var Ui=ot((OB,Oh)=>{var Et=gt();Ot();us();var V=Oh.exports=Et.asn1=Et.asn1||{};V.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};V.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};V.create=function(e,t,r,n,i){if(Et.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||Et.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=V.copy(a)),a};V.copy=function(e,t){var r;if(Et.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(V.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:V.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};V.equals=function(e,t,r){if(Et.util.isArray(e)){if(!Et.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!V.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&&V.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};V.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 Pi(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 Mx=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;Pi(e,t,o),n=e.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};V.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=Et.util.createBuffer(e));var r=e.length(),n=fs(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 fs(e,t,r,n){var i;Pi(e,t,2);var o=e.getByte();t--;var s=o&192,a=o&31;i=e.length();var c=Mx(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,d=(o&32)===32;if(d)if(f=[],c===void 0)for(;;){if(Pi(e,t,2),e.bytes(2)==="\0\0"){e.getBytes(2),t-=2;break}i=e.length(),f.push(fs(e,t,r+1,n)),t-=i-e.length()}else for(;c>0;)i=e.length(),f.push(fs(e,c,r+1,n)),t-=i-e.length(),c-=i-e.length();if(f===void 0&&s===V.Class.UNIVERSAL&&a===V.Type.BITSTRING&&(l=e.bytes(c)),f===void 0&&n.decodeBitStrings&&s===V.Class.UNIVERSAL&&a===V.Type.BITSTRING&&c>1){var y=e.read,h=t,p=0;if(a===V.Type.BITSTRING&&(Pi(e,t,1),p=e.getByte(),t--),p===0)try{i=e.length();var m={strict:!0,decodeBitStrings:!0},g=fs(e,t,r+1,m),b=i-e.length();t-=b,a==V.Type.BITSTRING&&b++;var x=g.tagClass;b===c&&(x===V.Class.UNIVERSAL||x===V.Class.CONTEXT_SPECIFIC)&&(f=[g])}catch{}f===void 0&&(e.read=y,t=h)}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===V.Type.BMPSTRING)for(f="";c>0;c-=2)Pi(e,t,2),f+=String.fromCharCode(e.getInt16()),t-=2;else f=e.getBytes(c),t-=c}var D=l===void 0?null:{bitStringContents:l};return V.create(s,a,d,f,D)}V.toDer=function(e){var t=Et.util.createBuffer(),r=e.tagClass|e.type,n=Et.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=V.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(V.toDer(e.value[o]))}else if(e.type===V.Type.BMPSTRING)for(var o=0;o<e.value.length;++o)n.putInt16(e.value.charCodeAt(o));else e.type===V.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};V.oidToDer=function(e){var t=e.split("."),r=Et.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};V.derToOid=function(e){var t;typeof e=="string"&&(e=Et.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};V.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),d=f*60+l;d*=6e4,c==="+"?t.setTime(+t-d):t.setTime(+t+d)}return t};V.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,d=e.charAt(l);if(d==="+"||d==="-"){var y=parseInt(e.substr(l+1,2),10),h=parseInt(e.substr(l+4,2),10);u=y*60+h,u*=6e4,d==="+"&&(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};V.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};V.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};V.integerToDer=function(e){var t=Et.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};V.derToInteger=function(e){typeof e=="string"&&(e=Et.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)};V.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&&Et.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=V.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 Uh=/[^\\u0000-\\u00ff]/;V.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
6
6
  `);for(var i="",o=0;o<t*r;++o)i+=" ";switch(n+=i+"Tag: ",e.tagClass){case V.Class.UNIVERSAL:n+="Universal:";break;case V.Class.APPLICATION:n+="Application:";break;case V.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case V.Class.PRIVATE:n+="Private:";break}if(e.tagClass===V.Class.UNIVERSAL)switch(n+=e.type,e.type){case V.Type.NONE:n+=" (None)";break;case V.Type.BOOLEAN:n+=" (Boolean)";break;case V.Type.INTEGER:n+=" (Integer)";break;case V.Type.BITSTRING:n+=" (Bit string)";break;case V.Type.OCTETSTRING:n+=" (Octet string)";break;case V.Type.NULL:n+=" (Null)";break;case V.Type.OID:n+=" (Object Identifier)";break;case V.Type.ODESC:n+=" (Object Descriptor)";break;case V.Type.EXTERNAL:n+=" (External or Instance of)";break;case V.Type.REAL:n+=" (Real)";break;case V.Type.ENUMERATED:n+=" (Enumerated)";break;case V.Type.EMBEDDED:n+=" (Embedded PDV)";break;case V.Type.UTF8:n+=" (UTF8)";break;case V.Type.ROID:n+=" (Relative Object Identifier)";break;case V.Type.SEQUENCE:n+=" (Sequence)";break;case V.Type.SET:n+=" (Set)";break;case V.Type.PRINTABLESTRING:n+=" (Printable String)";break;case V.Type.IA5String:n+=" (IA5String (ASCII))";break;case V.Type.UTCTIME:n+=" (UTC time)";break;case V.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case V.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+=V.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===V.Type.OID){var c=V.derToOid(e.value);n+=c,At.pki&&At.pki.oids&&c in At.pki.oids&&(n+=" ("+At.pki.oids[c]+") ")}if(e.type===V.Type.INTEGER)try{n+=V.derToInteger(e.value)}catch{n+="0x"+At.util.bytesToHex(e.value)}else if(e.type===V.Type.BITSTRING){if(e.value.length>1?n+="0x"+At.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===V.Type.OCTETSTRING)uh.test(e.value)||(n+="("+e.value+") "),n+="0x"+At.util.bytesToHex(e.value);else if(e.type===V.Type.UTF8)try{n+=At.util.decodeUtf8(e.value)}catch(f){if(f.message==="URI malformed")n+="0x"+At.util.bytesToHex(e.value)+" (malformed UTF8)";else throw f}else e.type===V.Type.PRINTABLESTRING||e.type===V.Type.IA5String?n+=e.value:uh.test(e.value)?n+="0x"+At.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var $c=st((RC,lh)=>{var zt=xt();Mt();lh.exports=zt.cipher=zt.cipher||{};zt.cipher.algorithms=zt.cipher.algorithms||{};zt.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=zt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new zt.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};zt.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=zt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new zt.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};zt.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),zt.cipher.algorithms[e]=t};zt.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in zt.cipher.algorithms?zt.cipher.algorithms[e]:null};var Wc=zt.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)};Wc.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=zt.util.createBuffer(),this.output=e.output||zt.util.createBuffer(),this.mode.start(t)};Wc.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()};Wc.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 Xc=st((LC,hh)=>{var Gt=xt();Mt();Gt.cipher=Gt.cipher||{};var ct=hh.exports=Gt.cipher.modes=Gt.cipher.modes||{};ct.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)};ct.ecb.prototype.start=function(e){};ct.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])};ct.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])};ct.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};ct.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)};ct.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)};ct.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=es(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};ct.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};ct.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)};ct.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};ct.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)};ct.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=Gt.util.createBuffer(),this._partialBytes=0};ct.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=es(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};ct.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};ct.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};ct.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=Gt.util.createBuffer(),this._partialBytes=0};ct.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=es(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};ct.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};ct.ofb.prototype.decrypt=ct.ofb.prototype.encrypt;ct.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=Gt.util.createBuffer(),this._partialBytes=0};ct.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=es(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};ct.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}rs(this._inBlock)};ct.ctr.prototype.decrypt=ct.ctr.prototype.encrypt;ct.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=Gt.util.createBuffer(),this._partialBytes=0,this._R=3774873600};ct.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=Gt.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Gt.util.createBuffer(e.additionalData):r=Gt.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Gt.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(Yc(n*8)))}this._inBlock=this._j0.slice(0),rs(this._inBlock),this._partialBytes=0,r=Gt.util.createBuffer(r),this._aDataLength=Yc(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()])};ct.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),rs(this._inBlock)};ct.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),rs(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};ct.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=Gt.util.createBuffer();var n=this._aDataLength.concat(Yc(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};ct.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};ct.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)};ct.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};ct.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)};ct.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};ct.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 es(e,t){if(typeof e=="string"&&(e=Gt.util.createBuffer(e)),Gt.util.isArray(e)&&e.length>4){var r=e;e=Gt.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(!Gt.util.isArray(e)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(e.getInt32());e=i}return e}function rs(e){e[e.length-1]=e[e.length-1]+1&4294967295}function Yc(e){return[e/4294967296|0,e&4294967295]}});var Jc=st((NC,mh)=>{var vt=xt();$c();Xc();Mt();mh.exports=vt.aes=vt.aes||{};vt.aes.startEncrypting=function(e,t,r,n){var i=ns({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};vt.aes.createEncryptionCipher=function(e,t){return ns({key:e,output:null,decrypt:!1,mode:t})};vt.aes.startDecrypting=function(e,t,r,n){var i=ns({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};vt.aes.createDecryptionCipher=function(e,t){return ns({key:e,output:null,decrypt:!0,mode:t})};vt.aes.Algorithm=function(e,t){jc||ph();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return Qc(r._w,n,i,!1)},decrypt:function(n,i){return Qc(r._w,n,i,!0)}}}),r._init=!1};vt.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=vt.util.createBuffer(t);else if(vt.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=vt.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!vt.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(!vt.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=yh(t,e.decrypt&&!s),this._init=!0}};vt.aes._expandKey=function(e,t){return jc||ph(),yh(e,t)};vt.aes._updateBlock=Qc;Kn("AES-ECB",vt.cipher.modes.ecb);Kn("AES-CBC",vt.cipher.modes.cbc);Kn("AES-CFB",vt.cipher.modes.cfb);Kn("AES-OFB",vt.cipher.modes.ofb);Kn("AES-CTR",vt.cipher.modes.ctr);Kn("AES-GCM",vt.cipher.modes.gcm);function Kn(e,t){var r=function(){return new vt.aes.Algorithm(e,t)};vt.cipher.registerAlgorithm(e,r)}var jc=!1,On=4,ne,Zc,dh,jr,Ie;function ph(){jc=!0,dh=[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;ne=new Array(256),Zc=new Array(256),jr=new Array(4),Ie=new Array(4);for(var t=0;t<4;++t)jr[t]=new Array(256),Ie[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,ne[r]=a,Zc[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)jr[l][r]=u,Ie[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 yh(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=On*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=ne[n>>>16&255]<<24^ne[n>>>8&255]<<16^ne[n&255]<<8^ne[n>>>24]^dh[i]<<24,i++):o>6&&c%o===4&&(n=ne[n>>>24]<<24^ne[n>>>16&255]<<16^ne[n>>>8&255]<<8^ne[n&255]),r[c]=r[c-o]^n;if(t){var u,f=Ie[0],l=Ie[1],d=Ie[2],y=Ie[3],h=r.slice(0);a=r.length;for(var c=0,p=a-On;c<a;c+=On,p-=On)if(c===0||c===a-On)h[c]=r[p],h[c+1]=r[p+3],h[c+2]=r[p+2],h[c+3]=r[p+1];else for(var m=0;m<On;++m)u=r[p+m],h[c+(3&-m)]=f[ne[u>>>24]]^l[ne[u>>>16&255]]^d[ne[u>>>8&255]]^y[ne[u&255]];r=h}return r}function Qc(e,t,r,n){var i=e.length/4-1,o,s,a,c,u;n?(o=Ie[0],s=Ie[1],a=Ie[2],c=Ie[3],u=Zc):(o=jr[0],s=jr[1],a=jr[2],c=jr[3],u=ne);var f,l,d,y,h,p,m;f=t[0]^e[0],l=t[n?3:1]^e[1],d=t[2]^e[2],y=t[n?1:3]^e[3];for(var g=3,b=1;b<i;++b)h=o[f>>>24]^s[l>>>16&255]^a[d>>>8&255]^c[y&255]^e[++g],p=o[l>>>24]^s[d>>>16&255]^a[y>>>8&255]^c[f&255]^e[++g],m=o[d>>>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[d&255]^e[++g],f=h,l=p,d=m;r[0]=u[f>>>24]<<24^u[l>>>16&255]<<16^u[d>>>8&255]<<8^u[y&255]^e[++g],r[n?3:1]=u[l>>>24]<<24^u[d>>>16&255]<<16^u[y>>>8&255]<<8^u[f&255]^e[++g],r[2]=u[d>>>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[d&255]^e[++g]}function ns(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=vt.cipher.createDecipher(r,e.key):n=vt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof vt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var bh=st((PC,xh)=>{var Tt=xt();$c();Xc();Mt();xh.exports=Tt.des=Tt.des||{};Tt.des.startEncrypting=function(e,t,r,n){var i=is({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Tt.des.createEncryptionCipher=function(e,t){return is({key:e,output:null,decrypt:!1,mode:t})};Tt.des.startDecrypting=function(e,t,r,n){var i=is({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Tt.des.createDecryptionCipher=function(e,t){return is({key:e,output:null,decrypt:!0,mode:t})};Tt.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return gh(r._keys,n,i,!1)},decrypt:function(n,i){return gh(r._keys,n,i,!0)}}}),r._init=!1};Tt.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=Tt.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=gx(t),this._init=!0}};Oe("DES-ECB",Tt.cipher.modes.ecb);Oe("DES-CBC",Tt.cipher.modes.cbc);Oe("DES-CFB",Tt.cipher.modes.cfb);Oe("DES-OFB",Tt.cipher.modes.ofb);Oe("DES-CTR",Tt.cipher.modes.ctr);Oe("3DES-ECB",Tt.cipher.modes.ecb);Oe("3DES-CBC",Tt.cipher.modes.cbc);Oe("3DES-CFB",Tt.cipher.modes.cfb);Oe("3DES-OFB",Tt.cipher.modes.ofb);Oe("3DES-CTR",Tt.cipher.modes.ctr);function Oe(e,t){var r=function(){return new Tt.des.Algorithm(e,t)};Tt.cipher.registerAlgorithm(e,r)}var ux=[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],fx=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],lx=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],hx=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],dx=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],px=[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],yx=[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],mx=[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 gx(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],d=[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],h=[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],b=0,x,D=0;D<p;D++){var v=e.getInt32(),E=e.getInt32();x=(v>>>4^E)&252645135,E^=x,v^=x<<4,x=(E>>>-16^v)&65535,v^=x,E^=x<<-16,x=(v>>>2^E)&858993459,E^=x,v^=x<<2,x=(E>>>-16^v)&65535,v^=x,E^=x<<-16,x=(v>>>1^E)&1431655765,E^=x,v^=x<<1,x=(E>>>8^v)&16711935,v^=x,E^=x<<8,x=(v>>>1^E)&1431655765,E^=x,v^=x<<1,x=v<<8|E>>>20&240,v=E<<24|E<<8&16711680|E>>>8&65280|E>>>24&240,E=x;for(var C=0;C<g.length;++C){g[C]?(v=v<<2|v>>>26,E=E<<2|E>>>26):(v=v<<1|v>>>27,E=E<<1|E>>>27),v&=-15,E&=-15;var B=t[v>>>28]|r[v>>>24&15]|n[v>>>20&15]|i[v>>>16&15]|o[v>>>12&15]|s[v>>>8&15]|a[v>>>4&15],O=c[E>>>28]|u[E>>>24&15]|f[E>>>20&15]|l[E>>>16&15]|d[E>>>12&15]|y[E>>>8&15]|h[E>>>4&15];x=(O>>>16^B)&65535,m[b++]=B^x,m[b++]=O^x<<16}}return m}function gh(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],d=o[u];d!=f;d+=l){var y=c^e[d],h=(c>>>4|c<<28)^e[d+1];s=a,a=c,c=s^(fx[y>>>24&63]|hx[y>>>16&63]|px[y>>>8&63]|mx[y&63]|ux[h>>>24&63]|lx[h>>>16&63]|dx[h>>>8&63]|yx[h&63])}s=a,a=c,c=s}a=a>>>1|a<<31,c=c>>>1|c<<31,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(a>>>4^c)&252645135,c^=s,a^=s<<4,r[0]=a,r[1]=c}function is(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=Tt.cipher.createDecipher(r,e.key):n=Tt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof Tt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Jr=st((UC,wh)=>{var os=xt();wh.exports=os.md=os.md||{};os.md.algorithms=os.md.algorithms||{}});var Eh=st((OC,vh)=>{var ir=xt();Jr();Mt();var xx=vh.exports=ir.hmac=ir.hmac||{};xx.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 ir.md.algorithms)t=ir.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=ir.util.createBuffer(s);else if(ir.util.isArray(s)){var a=s;s=ir.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=ir.util.createBuffer(),n=ir.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 ss=st(()=>{});var Ah=st((FC,Sh)=>{var ie=xt();Eh();Jr();Mt();var bx=ie.pkcs5=ie.pkcs5||{},or;ie.util.isNodejs&&!ie.options.usePureJavaScript&&(or=ss());Sh.exports=ie.pbkdf2=bx.pbkdf2=function(e,t,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),ie.util.isNodejs&&!ie.options.usePureJavaScript&&or.pbkdf2&&(i===null||typeof i!="object")&&(or.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),o?or.pbkdf2Sync.length===4?or.pbkdf2(e,t,r,n,function(x,D){if(x)return o(x);o(null,D.toString("binary"))}):or.pbkdf2(e,t,r,n,i,function(x,D){if(x)return o(x);o(null,D.toString("binary"))}):or.pbkdf2Sync.length===4?or.pbkdf2Sync(e,t,r,n).toString("binary"):or.pbkdf2Sync(e,t,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in ie.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=ie.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=ie.hmac.create();f.start(i,e);var l="",d,y,h;if(!o){for(var p=1;p<=c;++p){f.start(null,null),f.update(t),f.update(ie.util.int32ToBytes(p)),d=h=f.digest().getBytes();for(var m=2;m<=r;++m)f.start(null,null),f.update(h),y=f.digest().getBytes(),d=ie.util.xorBytes(d,y,s),h=y;l+=p<c?d:d.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(ie.util.int32ToBytes(p)),d=h=f.digest().getBytes(),m=2,b()}function b(){if(m<=r)return f.start(null,null),f.update(h),y=f.digest().getBytes(),d=ie.util.xorBytes(d,y,s),h=y,++m,ie.util.setImmediate(b);l+=p<c?d:d.substr(0,u),++p,g()}g()}});var Bh=st((VC,Ch)=>{var cs=xt();Mt();var Dh=Ch.exports=cs.pem=cs.pem||{};Dh.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+=as(n)),e.contentDomain&&(n={name:"Content-Domain",values:[e.contentDomain]},r+=as(n)),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),r+=as(n)),e.headers)for(var i=0;i<e.headers.length;++i)r+=as(e.headers[i]);return e.procType&&(r+=`\r
10
- `),r+=cs.util.encode64(e.body,t.maxline||64)+`\r
8
+ `,e.composed){for(var s=0,a="",o=0;o<e.value.length;++o)e.value[o]!==void 0&&(s+=1,a+=V.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===V.Type.OID){var c=V.derToOid(e.value);n+=c,Et.pki&&Et.pki.oids&&c in Et.pki.oids&&(n+=" ("+Et.pki.oids[c]+") ")}if(e.type===V.Type.INTEGER)try{n+=V.derToInteger(e.value)}catch{n+="0x"+Et.util.bytesToHex(e.value)}else if(e.type===V.Type.BITSTRING){if(e.value.length>1?n+="0x"+Et.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===V.Type.OCTETSTRING)Uh.test(e.value)||(n+="("+e.value+") "),n+="0x"+Et.util.bytesToHex(e.value);else if(e.type===V.Type.UTF8)try{n+=Et.util.decodeUtf8(e.value)}catch(f){if(f.message==="URI malformed")n+="0x"+Et.util.bytesToHex(e.value)+" (malformed UTF8)";else throw f}else e.type===V.Type.PRINTABLESTRING||e.type===V.Type.IA5String?n+=e.value:Uh.test(e.value)?n+="0x"+Et.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var a0=ot((KB,Kh)=>{var Vt=gt();Ot();Kh.exports=Vt.cipher=Vt.cipher||{};Vt.cipher.algorithms=Vt.cipher.algorithms||{};Vt.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Vt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Vt.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};Vt.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Vt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Vt.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};Vt.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),Vt.cipher.algorithms[e]=t};Vt.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in Vt.cipher.algorithms?Vt.cipher.algorithms[e]:null};var s0=Vt.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)};s0.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=Vt.util.createBuffer(),this.output=e.output||Vt.util.createBuffer(),this.mode.start(t)};s0.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()};s0.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 u0=ot((MB,Mh)=>{var Ht=gt();Ot();Ht.cipher=Ht.cipher||{};var st=Mh.exports=Ht.cipher.modes=Ht.cipher.modes||{};st.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)};st.ecb.prototype.start=function(e){};st.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])};st.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])};st.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};st.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)};st.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)};st.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=ls(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};st.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};st.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)};st.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};st.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)};st.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=Ht.util.createBuffer(),this._partialBytes=0};st.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=ls(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};st.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};st.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};st.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=Ht.util.createBuffer(),this._partialBytes=0};st.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=ls(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};st.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};st.ofb.prototype.decrypt=st.ofb.prototype.encrypt;st.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=Ht.util.createBuffer(),this._partialBytes=0};st.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=ls(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};st.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}hs(this._inBlock)};st.ctr.prototype.decrypt=st.ctr.prototype.encrypt;st.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=Ht.util.createBuffer(),this._partialBytes=0,this._R=3774873600};st.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=Ht.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Ht.util.createBuffer(e.additionalData):r=Ht.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Ht.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(c0(n*8)))}this._inBlock=this._j0.slice(0),hs(this._inBlock),this._partialBytes=0,r=Ht.util.createBuffer(r),this._aDataLength=c0(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()])};st.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),hs(this._inBlock)};st.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),hs(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};st.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=Ht.util.createBuffer();var n=this._aDataLength.concat(c0(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};st.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};st.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)};st.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};st.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)};st.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};st.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 ls(e,t){if(typeof e=="string"&&(e=Ht.util.createBuffer(e)),Ht.util.isArray(e)&&e.length>4){var r=e;e=Ht.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(!Ht.util.isArray(e)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(e.getInt32());e=i}return e}function hs(e){e[e.length-1]=e[e.length-1]+1&4294967295}function c0(e){return[e/4294967296|0,e&4294967295]}});var d0=ot((FB,qh)=>{var bt=gt();a0();u0();Ot();qh.exports=bt.aes=bt.aes||{};bt.aes.startEncrypting=function(e,t,r,n){var i=ds({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};bt.aes.createEncryptionCipher=function(e,t){return ds({key:e,output:null,decrypt:!1,mode:t})};bt.aes.startDecrypting=function(e,t,r,n){var i=ds({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};bt.aes.createDecryptionCipher=function(e,t){return ds({key:e,output:null,decrypt:!0,mode:t})};bt.aes.Algorithm=function(e,t){h0||Vh();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return l0(r._w,n,i,!1)},decrypt:function(n,i){return l0(r._w,n,i,!0)}}}),r._init=!1};bt.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=bt.util.createBuffer(t);else if(bt.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=bt.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!bt.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(!bt.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=Hh(t,e.decrypt&&!s),this._init=!0}};bt.aes._expandKey=function(e,t){return h0||Vh(),Hh(e,t)};bt.aes._updateBlock=l0;Gn("AES-ECB",bt.cipher.modes.ecb);Gn("AES-CBC",bt.cipher.modes.cbc);Gn("AES-CFB",bt.cipher.modes.cfb);Gn("AES-OFB",bt.cipher.modes.ofb);Gn("AES-CTR",bt.cipher.modes.ctr);Gn("AES-GCM",bt.cipher.modes.gcm);function Gn(e,t){var r=function(){return new bt.aes.Algorithm(e,t)};bt.cipher.registerAlgorithm(e,r)}var h0=!1,zn=4,re,f0,Fh,on,_e;function Vh(){h0=!0,Fh=[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;re=new Array(256),f0=new Array(256),on=new Array(4),_e=new Array(4);for(var t=0;t<4;++t)on[t]=new Array(256),_e[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,re[r]=a,f0[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)on[l][r]=u,_e[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 Hh(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=zn*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=re[n>>>16&255]<<24^re[n>>>8&255]<<16^re[n&255]<<8^re[n>>>24]^Fh[i]<<24,i++):o>6&&c%o===4&&(n=re[n>>>24]<<24^re[n>>>16&255]<<16^re[n>>>8&255]<<8^re[n&255]),r[c]=r[c-o]^n;if(t){var u,f=_e[0],l=_e[1],d=_e[2],y=_e[3],h=r.slice(0);a=r.length;for(var c=0,p=a-zn;c<a;c+=zn,p-=zn)if(c===0||c===a-zn)h[c]=r[p],h[c+1]=r[p+3],h[c+2]=r[p+2],h[c+3]=r[p+1];else for(var m=0;m<zn;++m)u=r[p+m],h[c+(3&-m)]=f[re[u>>>24]]^l[re[u>>>16&255]]^d[re[u>>>8&255]]^y[re[u&255]];r=h}return r}function l0(e,t,r,n){var i=e.length/4-1,o,s,a,c,u;n?(o=_e[0],s=_e[1],a=_e[2],c=_e[3],u=f0):(o=on[0],s=on[1],a=on[2],c=on[3],u=re);var f,l,d,y,h,p,m;f=t[0]^e[0],l=t[n?3:1]^e[1],d=t[2]^e[2],y=t[n?1:3]^e[3];for(var g=3,b=1;b<i;++b)h=o[f>>>24]^s[l>>>16&255]^a[d>>>8&255]^c[y&255]^e[++g],p=o[l>>>24]^s[d>>>16&255]^a[y>>>8&255]^c[f&255]^e[++g],m=o[d>>>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[d&255]^e[++g],f=h,l=p,d=m;r[0]=u[f>>>24]<<24^u[l>>>16&255]<<16^u[d>>>8&255]<<8^u[y&255]^e[++g],r[n?3:1]=u[l>>>24]<<24^u[d>>>16&255]<<16^u[y>>>8&255]<<8^u[f&255]^e[++g],r[2]=u[d>>>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[d&255]^e[++g]}function ds(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=bt.cipher.createDecipher(r,e.key):n=bt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof bt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Wh=ot((VB,Gh)=>{var Ct=gt();a0();u0();Ot();Gh.exports=Ct.des=Ct.des||{};Ct.des.startEncrypting=function(e,t,r,n){var i=ps({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Ct.des.createEncryptionCipher=function(e,t){return ps({key:e,output:null,decrypt:!1,mode:t})};Ct.des.startDecrypting=function(e,t,r,n){var i=ps({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Ct.des.createDecryptionCipher=function(e,t){return ps({key:e,output:null,decrypt:!0,mode:t})};Ct.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return zh(r._keys,n,i,!1)},decrypt:function(n,i){return zh(r._keys,n,i,!0)}}}),r._init=!1};Ct.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=Ct.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=Yx(t),this._init=!0}};Ke("DES-ECB",Ct.cipher.modes.ecb);Ke("DES-CBC",Ct.cipher.modes.cbc);Ke("DES-CFB",Ct.cipher.modes.cfb);Ke("DES-OFB",Ct.cipher.modes.ofb);Ke("DES-CTR",Ct.cipher.modes.ctr);Ke("3DES-ECB",Ct.cipher.modes.ecb);Ke("3DES-CBC",Ct.cipher.modes.cbc);Ke("3DES-CFB",Ct.cipher.modes.cfb);Ke("3DES-OFB",Ct.cipher.modes.ofb);Ke("3DES-CTR",Ct.cipher.modes.ctr);function Ke(e,t){var r=function(){return new Ct.des.Algorithm(e,t)};Ct.cipher.registerAlgorithm(e,r)}var Fx=[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],Vx=[-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],Hx=[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],qx=[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],zx=[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],Gx=[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],Wx=[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],$x=[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 Yx(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],d=[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],h=[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],b=0,x,D=0;D<p;D++){var v=e.getInt32(),E=e.getInt32();x=(v>>>4^E)&252645135,E^=x,v^=x<<4,x=(E>>>-16^v)&65535,v^=x,E^=x<<-16,x=(v>>>2^E)&858993459,E^=x,v^=x<<2,x=(E>>>-16^v)&65535,v^=x,E^=x<<-16,x=(v>>>1^E)&1431655765,E^=x,v^=x<<1,x=(E>>>8^v)&16711935,v^=x,E^=x<<8,x=(v>>>1^E)&1431655765,E^=x,v^=x<<1,x=v<<8|E>>>20&240,v=E<<24|E<<8&16711680|E>>>8&65280|E>>>24&240,E=x;for(var C=0;C<g.length;++C){g[C]?(v=v<<2|v>>>26,E=E<<2|E>>>26):(v=v<<1|v>>>27,E=E<<1|E>>>27),v&=-15,E&=-15;var B=t[v>>>28]|r[v>>>24&15]|n[v>>>20&15]|i[v>>>16&15]|o[v>>>12&15]|s[v>>>8&15]|a[v>>>4&15],O=c[E>>>28]|u[E>>>24&15]|f[E>>>20&15]|l[E>>>16&15]|d[E>>>12&15]|y[E>>>8&15]|h[E>>>4&15];x=(O>>>16^B)&65535,m[b++]=B^x,m[b++]=O^x<<16}}return m}function zh(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],d=o[u];d!=f;d+=l){var y=c^e[d],h=(c>>>4|c<<28)^e[d+1];s=a,a=c,c=s^(Vx[y>>>24&63]|qx[y>>>16&63]|Gx[y>>>8&63]|$x[y&63]|Fx[h>>>24&63]|Hx[h>>>16&63]|zx[h>>>8&63]|Wx[h&63])}s=a,a=c,c=s}a=a>>>1|a<<31,c=c>>>1|c<<31,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(a>>>4^c)&252645135,c^=s,a^=s<<4,r[0]=a,r[1]=c}function ps(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=Ct.cipher.createDecipher(r,e.key):n=Ct.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof Ct.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var sn=ot((HB,$h)=>{var ys=gt();$h.exports=ys.md=ys.md||{};ys.md.algorithms=ys.md.algorithms||{}});var Xh=ot((qB,Yh)=>{var cr=gt();sn();Ot();var Xx=Yh.exports=cr.hmac=cr.hmac||{};Xx.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 cr.md.algorithms)t=cr.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=cr.util.createBuffer(s);else if(cr.util.isArray(s)){var a=s;s=cr.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>t.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),r=cr.util.createBuffer(),n=cr.util.createBuffer(),u=s.length();for(var c=0;c<u;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<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 ms=ot(()=>{});var Qh=ot((WB,Zh)=>{var ne=gt();Xh();sn();Ot();var Zx=ne.pkcs5=ne.pkcs5||{},ur;ne.util.isNodejs&&!ne.options.usePureJavaScript&&(ur=ms());Zh.exports=ne.pbkdf2=Zx.pbkdf2=function(e,t,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),ne.util.isNodejs&&!ne.options.usePureJavaScript&&ur.pbkdf2&&(i===null||typeof i!="object")&&(ur.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),o?ur.pbkdf2Sync.length===4?ur.pbkdf2(e,t,r,n,function(x,D){if(x)return o(x);o(null,D.toString("binary"))}):ur.pbkdf2(e,t,r,n,i,function(x,D){if(x)return o(x);o(null,D.toString("binary"))}):ur.pbkdf2Sync.length===4?ur.pbkdf2Sync(e,t,r,n).toString("binary"):ur.pbkdf2Sync(e,t,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in ne.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=ne.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=ne.hmac.create();f.start(i,e);var l="",d,y,h;if(!o){for(var p=1;p<=c;++p){f.start(null,null),f.update(t),f.update(ne.util.int32ToBytes(p)),d=h=f.digest().getBytes();for(var m=2;m<=r;++m)f.start(null,null),f.update(h),y=f.digest().getBytes(),d=ne.util.xorBytes(d,y,s),h=y;l+=p<c?d:d.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(ne.util.int32ToBytes(p)),d=h=f.digest().getBytes(),m=2,b()}function b(){if(m<=r)return f.start(null,null),f.update(h),y=f.digest().getBytes(),d=ne.util.xorBytes(d,y,s),h=y,++m,ne.util.setImmediate(b);l+=p<c?d:d.substr(0,u),++p,g()}g()}});var td=ot(($B,Jh)=>{var xs=gt();Ot();var jh=Jh.exports=xs.pem=xs.pem||{};jh.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+=gs(n)),e.contentDomain&&(n={name:"Content-Domain",values:[e.contentDomain]},r+=gs(n)),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),r+=gs(n)),e.headers)for(var i=0;i<e.headers.length;++i)r+=gs(e.headers[i]);return e.procType&&(r+=`\r
10
+ `),r+=xs.util.encode64(e.body,t.maxline||64)+`\r
11
11
  `,r+="-----END "+e.type+`-----\r
12
- `,r};Dh.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:cs.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 d=c[l];if(!/\s/.test(d[0]))break;f+=d,u=l}if(o=f.match(n),o){for(var y={name:o[1],values:[]},h=o[2].split(","),p=0;p<h.length;++p)y.values.push(wx(h[p]));if(a.procType)if(!a.contentDomain&&y.name==="Content-Domain")a.contentDomain=h[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:h[0],parameters:h[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:h[0],type:h[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 as(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
12
+ `,r};jh.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:xs.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 d=c[l];if(!/\s/.test(d[0]))break;f+=d,u=l}if(o=f.match(n),o){for(var y={name:o[1],values:[]},h=o[2].split(","),p=0;p<h.length;++p)y.values.push(Qx(h[p]));if(a.procType)if(!a.contentDomain&&y.name==="Content-Domain")a.contentDomain=h[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:h[0],parameters:h[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:h[0],type:h[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 gs(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 wx(e){return e.replace(/^\s+/,"")}});var Lh=st((HC,Rh)=>{var Ke=xt();Jr();Mt();var Th=Rh.exports=Ke.sha256=Ke.sha256||{};Ke.md.sha256=Ke.md.algorithms.sha256=Th;Th.create=function(){_h||vx();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),Ih(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(t0.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};Ih(l,r,i);var d=Ke.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d.putInt32(l.h5),d.putInt32(l.h6),d.putInt32(l.h7),d},n};var t0=null,_h=!1,kh=null;function vx(){t0="\x80",t0+=Ke.util.fillString("\0",64),kh=[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],_h=!0}function Ih(e,t,r){for(var n,i,o,s,a,c,u,f,l,d,y,h,p,m,g,b=r.length();b>=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,d=e.h2,y=e.h3,h=e.h4,p=e.h5,m=e.h6,g=e.h7,u=0;u<64;++u)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=m^h&(p^m),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&l|d&(f^l),n=g+s+a+kh[u]+t[u],i=o+c,g=m,m=p,p=h,h=y+n>>>0,y=d,d=l,l=f,f=n+i>>>0;e.h0=e.h0+f|0,e.h1=e.h1+l|0,e.h2=e.h2+d|0,e.h3=e.h3+y|0,e.h4=e.h4+h|0,e.h5=e.h5+p|0,e.h6=e.h6+m|0,e.h7=e.h7+g|0,b-=64}}});var Ph=st((qC,Nh)=>{var Me=xt();Mt();var us=null;Me.util.isNodejs&&!Me.options.usePureJavaScript&&!process.versions["node-webkit"]&&(us=ss());var Ex=Nh.exports=Me.prng=Me.prng||{};Ex.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,d=t.plugin.increment,y=t.plugin.formatKey,h=t.plugin.formatSeed,p=Me.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 Me.util.nextTick(function(){o(m)});var b=l(t.key,t.seed);t.generated+=b.length,p.putBytes(b),t.key=y(l(t.key,d(t.seed))),t.seed=h(l(t.key,t.seed)),Me.util.setImmediate(m)}},t.generateSync=function(u){var f=t.plugin.cipher,l=t.plugin.increment,d=t.plugin.formatKey,y=t.plugin.formatSeed;t.key=null;for(var h=Me.util.createBuffer();h.length()<u;){t.generated>1048575&&(t.key=null),t.key===null&&s();var p=f(t.key,t.seed);t.generated+=p.length,h.putBytes(p),t.key=d(f(t.key,l(t.seed))),t.seed=y(f(t.key,t.seed))}return h.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,d){if(l)return u(l);t.collect(d),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 d=u.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function c(u){var f=null,l=Me.util.globalScope,d=l.crypto||l.msCrypto;d&&d.getRandomValues&&(f=function(v){return d.getRandomValues(v)});var y=Me.util.createBuffer();if(f)for(;y.length()<u;){var h=Math.max(1,Math.min(u-y.length(),65536)/4),p=new Uint32Array(Math.floor(h));try{f(p);for(var m=0;m<p.length;++m)y.putInt32(p[m])}catch(v){if(!(typeof QuotaExceededError<"u"&&v instanceof QuotaExceededError))throw v}}if(y.length()<u)for(var g,b,x,D=Math.floor(Math.random()*65536);y.length()<u;){b=16807*(D&65535),g=16807*(D>>16),b+=(g&32767)<<16,b+=g>>15,b=(b&2147483647)+(b>>31),D=b&4294967295;for(var m=0;m<3;++m)x=D>>>(m<<3),x^=Math.floor(Math.random()*256),y.putByte(x&255)}return y.getBytes(u)}return us?(t.seedFile=function(u,f){us.randomBytes(u,function(l,d){if(l)return f(l);f(null,d.toString())})},t.seedFileSync=function(u){return us.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="",d=0;d<f;d+=8)l+=String.fromCharCode(u>>d&255);t.collect(l)},t.registerWorker=function(u){if(u===self)t.seedFile=function(l,d){function y(h){var p=h.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",y),d(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",y),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var d=l.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(y,h){u.postMessage({forge:{prng:{err:y,bytes:h}}})})};u.addEventListener("message",f)}},t}});var Ii=st((zC,e0)=>{var Wt=xt();Jc();Lh();Ph();Mt();(function(){if(Wt.random&&Wt.random.getBytes){e0.exports=Wt.random;return}(function(e){var t={},r=new Array(4),n=Wt.util.createBuffer();t.formatKey=function(l){var d=Wt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),Wt.aes._expandKey(l,!1)},t.formatSeed=function(l){var d=Wt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),l},t.cipher=function(l,d){return Wt.aes._updateBlock(l,d,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=Wt.md.sha256;function i(){var l=Wt.prng.create(t);return l.getBytes=function(d,y){return l.generate(d,y)},l.getBytesSync=function(d){return l.generate(d)},l}var o=i(),s=null,a=Wt.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),Wt.options.usePureJavaScript||!Wt.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(!Wt.random)Wt.random=o;else for(var f in o)Wt.random[f]=o[f];Wt.random.createInstance=i,e0.exports=Wt.random})(typeof jQuery<"u"?jQuery:null)})()});var Mh=st((GC,Kh)=>{var ce=xt();Mt();var r0=[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],Uh=[1,2,3,5],Sx=function(e,t){return e<<t&65535|(e&65535)>>16-t},Ax=function(e,t){return(e&65535)>>t|e<<16-t&65535};Kh.exports=ce.rc2=ce.rc2||{};ce.rc2.expandKey=function(e,t){typeof e=="string"&&(e=ce.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(r0[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,r0[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,r0[r.at(a+1)^r.at(a+o)]);return r};var Oh=function(e,t,r){var n=!1,i=null,o=null,s=null,a,c,u,f,l=[];for(e=ce.rc2.expandKey(e,t),u=0;u<64;u++)l.push(e.getInt16Le());r?(a=function(h){for(u=0;u<4;u++)h[u]+=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),h[u]=Sx(h[u],Uh[u]),f++},c=function(h){for(u=0;u<4;u++)h[u]+=l[h[(u+3)%4]&63]}):(a=function(h){for(u=3;u>=0;u--)h[u]=Ax(h[u],Uh[u]),h[u]-=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),f--},c=function(h){for(u=3;u>=0;u--)h[u]-=l[h[(u+3)%4]&63]});var d=function(h){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<h.length;g++)for(var b=0;b<h[g][0];b++)h[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(h,p){h&&typeof h=="string"&&(h=ce.util.createBuffer(h)),n=!1,i=ce.util.createBuffer(),o=p||new ce.util.createBuffer,s=h,y.output=o},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var p=!0;if(r)if(h)p=h(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(h)p=h(8,o,!r);else{var g=o.length(),b=o.at(g-1);b>g?p=!1:o.truncate(b)}return p}},y};ce.rc2.startEncrypting=function(e,t,r){var n=ce.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};ce.rc2.createEncryptionCipher=function(e,t){return Oh(e,t,!0)};ce.rc2.startDecrypting=function(e,t,r){var n=ce.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};ce.rc2.createDecryptionCipher=function(e,t){return Oh(e,t,!1)}});var hs=st((WC,$h)=>{var n0=xt();$h.exports=n0.jsbn=n0.jsbn||{};var sr,Dx=0xdeadbeefcafe,Fh=(Dx&16777215)==15715070;function L(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))}n0.jsbn.BigInteger=L;function lt(){return new L(null)}function Cx(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 Bx(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 Vh(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"?(L.prototype.am=Vh,sr=28):Fh&&navigator.appName=="Microsoft Internet Explorer"?(L.prototype.am=Bx,sr=30):Fh&&navigator.appName!="Netscape"?(L.prototype.am=Cx,sr=26):(L.prototype.am=Vh,sr=28);L.prototype.DB=sr;L.prototype.DM=(1<<sr)-1;L.prototype.DV=1<<sr;var i0=52;L.prototype.FV=Math.pow(2,i0);L.prototype.F1=i0-sr;L.prototype.F2=2*sr-i0;var Ix="0123456789abcdefghijklmnopqrstuvwxyz",fs=new Array,Mn,ye;Mn=48;for(ye=0;ye<=9;++ye)fs[Mn++]=ye;Mn=97;for(ye=10;ye<36;++ye)fs[Mn++]=ye;Mn=65;for(ye=10;ye<36;++ye)fs[Mn++]=ye;function Hh(e){return Ix.charAt(e)}function qh(e,t){var r=fs[e.charCodeAt(t)];return r??-1}function Tx(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 _x(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 Tr(e){var t=lt();return t.fromInt(e),t}function kx(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:qh(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&&L.ZERO.subTo(this,this)}function Rx(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function Lx(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=Hh(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+=Hh(n));return i?o:"0"}function Nx(){var e=lt();return L.ZERO.subTo(this,e),e}function Px(){return this.s<0?this.negate():this}function Ux(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 ls(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 Ox(){return this.t<=0?0:this.DB*(this.t-1)+ls(this.data[this.t-1]^this.s&this.DM)}function Kx(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 Mx(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 Fx(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 Vx(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 Hx(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 qx(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&&L.ZERO.subTo(t,t)}function zx(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 Gx(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=lt());var o=lt(),s=this.s,a=e.s,c=this.DB-ls(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),d=this.FV/l,y=(1<<this.F1)/l,h=1<<this.F2,p=r.t,m=p-u,g=t??lt();for(o.dlShiftTo(m,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),L.ONE.dlShiftTo(u,g),g.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--m>=0;){var b=r.data[--p]==f?this.DM:Math.floor(r.data[p]*d+(r.data[p-1]+h)*y);if((r.data[p]+=o.am(0,b,r,m,0,u))<b)for(o.dlShiftTo(m,g),r.subTo(g,r);r.data[p]<--b;)r.subTo(g,r)}t!=null&&(r.drShiftTo(u,t),s!=a&&L.ZERO.subTo(t,t)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&L.ZERO.subTo(r,r)}}}function Wx(e){var t=lt();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(L.ZERO)>0&&e.subTo(t,t),t}function tn(e){this.m=e}function $x(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function Yx(e){return e}function Xx(e){e.divRemTo(this.m,null,e)}function Zx(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function Qx(e,t){e.squareTo(t),this.reduce(t)}tn.prototype.convert=$x;tn.prototype.revert=Yx;tn.prototype.reduce=Xx;tn.prototype.mulTo=Zx;tn.prototype.sqrTo=Qx;function jx(){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 en(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 Jx(e){var t=lt();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(L.ZERO)>0&&this.m.subTo(t,t),t}function tb(e){var t=lt();return e.copyTo(t),this.reduce(t),t}function eb(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 rb(e,t){e.squareTo(t),this.reduce(t)}function nb(e,t,r){e.multiplyTo(t,r),this.reduce(r)}en.prototype.convert=Jx;en.prototype.revert=tb;en.prototype.reduce=eb;en.prototype.mulTo=nb;en.prototype.sqrTo=rb;function ib(){return(this.t>0?this.data[0]&1:this.s)==0}function ob(e,t){if(e>4294967295||e<1)return L.ONE;var r=lt(),n=lt(),i=t.convert(this),o=ls(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 sb(e,t){var r;return e<256||t.isEven()?r=new tn(t):r=new en(t),this.exp(e,r)}L.prototype.copyTo=Tx;L.prototype.fromInt=_x;L.prototype.fromString=kx;L.prototype.clamp=Rx;L.prototype.dlShiftTo=Kx;L.prototype.drShiftTo=Mx;L.prototype.lShiftTo=Fx;L.prototype.rShiftTo=Vx;L.prototype.subTo=Hx;L.prototype.multiplyTo=qx;L.prototype.squareTo=zx;L.prototype.divRemTo=Gx;L.prototype.invDigit=jx;L.prototype.isEven=ib;L.prototype.exp=ob;L.prototype.toString=Lx;L.prototype.negate=Nx;L.prototype.abs=Px;L.prototype.compareTo=Ux;L.prototype.bitLength=Ox;L.prototype.mod=Wx;L.prototype.modPowInt=sb;L.ZERO=Tr(0);L.ONE=Tr(1);function ab(){var e=lt();return this.copyTo(e),e}function cb(){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 ub(){return this.t==0?this.s:this.data[0]<<24>>24}function fb(){return this.t==0?this.s:this.data[0]<<16>>16}function lb(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function hb(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function db(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=Tr(r),i=lt(),o=lt(),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 pb(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=qh(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&&L.ZERO.subTo(this,this)}function yb(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(L.ONE.shiftLeft(e-1),o0,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(L.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 mb(){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 gb(e){return this.compareTo(e)==0}function xb(e){return this.compareTo(e)<0?this:e}function bb(e){return this.compareTo(e)>0?this:e}function wb(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 vb(e,t){return e&t}function Eb(e){var t=lt();return this.bitwiseTo(e,vb,t),t}function o0(e,t){return e|t}function Sb(e){var t=lt();return this.bitwiseTo(e,o0,t),t}function zh(e,t){return e^t}function Ab(e){var t=lt();return this.bitwiseTo(e,zh,t),t}function Gh(e,t){return e&~t}function Db(e){var t=lt();return this.bitwiseTo(e,Gh,t),t}function Cb(){for(var e=lt(),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 Bb(e){var t=lt();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function Ib(e){var t=lt();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function Tb(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 _b(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+Tb(this.data[e]);return this.s<0?this.t*this.DB:-1}function kb(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function Rb(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=kb(this.data[r]^t);return e}function Lb(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function Nb(e,t){var r=L.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function Pb(e){return this.changeBit(e,o0)}function Ub(e){return this.changeBit(e,Gh)}function Ob(e){return this.changeBit(e,zh)}function Kb(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 Mb(e){var t=lt();return this.addTo(e,t),t}function Fb(e){var t=lt();return this.subTo(e,t),t}function Vb(e){var t=lt();return this.multiplyTo(e,t),t}function Hb(e){var t=lt();return this.divRemTo(e,t,null),t}function qb(e){var t=lt();return this.divRemTo(e,null,t),t}function zb(e){var t=lt(),r=lt();return this.divRemTo(e,t,r),new Array(t,r)}function Gb(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function Wb(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 Ti(){}function Wh(e){return e}function $b(e,t,r){e.multiplyTo(t,r)}function Yb(e,t){e.squareTo(t)}Ti.prototype.convert=Wh;Ti.prototype.revert=Wh;Ti.prototype.mulTo=$b;Ti.prototype.sqrTo=Yb;function Xb(e){return this.exp(e,new Ti)}function Zb(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 Qb(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 Fn(e){this.r2=lt(),this.q3=lt(),L.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function jb(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=lt();return e.copyTo(t),this.reduce(t),t}function Jb(e){return e}function tw(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 ew(e,t){e.squareTo(t),this.reduce(t)}function rw(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Fn.prototype.convert=jb;Fn.prototype.revert=Jb;Fn.prototype.reduce=tw;Fn.prototype.mulTo=rw;Fn.prototype.sqrTo=ew;function nw(e,t){var r=e.bitLength(),n,i=Tr(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 tn(t):t.isEven()?o=new Fn(t):o=new en(t);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=lt();for(o.sqrTo(s[1],f);a<=u;)s[a]=lt(),o.mulTo(f,s[a-2],s[a]),a+=2}var l=e.t-1,d,y=!0,h=lt(),p;for(r=ls(e.data[l])-1;l>=0;){for(r>=c?d=e.data[l]>>r-c&u:(d=(e.data[l]&(1<<r+1)-1)<<c-r,l>0&&(d|=e.data[l-1]>>this.DB+r-c)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),y)s[d].copyTo(i),y=!1;else{for(;a>1;)o.sqrTo(i,h),o.sqrTo(h,i),a-=2;a>0?o.sqrTo(i,h):(p=i,i=h,h=p),o.mulTo(h,s[d],i)}for(;l>=0&&!(e.data[l]&1<<r);)o.sqrTo(i,h),p=i,i=h,h=p,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function iw(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 ow(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 sw(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return L.ZERO;for(var r=e.clone(),n=this.clone(),i=Tr(1),o=Tr(0),s=Tr(0),a=Tr(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(L.ONE)!=0)return L.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],aw=(1<<26)/Te[Te.length-1];function cw(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<aw;)n*=Te[i++];for(n=r.modInt(n);t<i;)if(n%Te[t++]==0)return!1}return r.millerRabin(e)}function uw(e){var t=this.subtract(L.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=fw(),o,s=0;s<e;++s){do o=new L(this.bitLength(),i);while(o.compareTo(L.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(L.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(L.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function fw(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}L.prototype.chunkSize=lb;L.prototype.toRadix=db;L.prototype.fromRadix=pb;L.prototype.fromNumber=yb;L.prototype.bitwiseTo=wb;L.prototype.changeBit=Nb;L.prototype.addTo=Kb;L.prototype.dMultiply=Gb;L.prototype.dAddOffset=Wb;L.prototype.multiplyLowerTo=Zb;L.prototype.multiplyUpperTo=Qb;L.prototype.modInt=ow;L.prototype.millerRabin=uw;L.prototype.clone=ab;L.prototype.intValue=cb;L.prototype.byteValue=ub;L.prototype.shortValue=fb;L.prototype.signum=hb;L.prototype.toByteArray=mb;L.prototype.equals=gb;L.prototype.min=xb;L.prototype.max=bb;L.prototype.and=Eb;L.prototype.or=Sb;L.prototype.xor=Ab;L.prototype.andNot=Db;L.prototype.not=Cb;L.prototype.shiftLeft=Bb;L.prototype.shiftRight=Ib;L.prototype.getLowestSetBit=_b;L.prototype.bitCount=Rb;L.prototype.testBit=Lb;L.prototype.setBit=Pb;L.prototype.clearBit=Ub;L.prototype.flipBit=Ob;L.prototype.add=Mb;L.prototype.subtract=Fb;L.prototype.multiply=Vb;L.prototype.divide=Hb;L.prototype.remainder=qb;L.prototype.divideAndRemainder=zb;L.prototype.modPow=nw;L.prototype.modInverse=sw;L.prototype.pow=Xb;L.prototype.gcd=iw;L.prototype.isProbablePrime=cw});var jh=st(($C,Qh)=>{var Fe=xt();Jr();Mt();var Xh=Qh.exports=Fe.sha1=Fe.sha1||{};Fe.md.sha1=Fe.md.algorithms.sha1=Xh;Xh.create=function(){Zh||lw();var e=null,t=Fe.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=Fe.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Fe.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),Yh(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Fe.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(s0.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};Yh(l,r,i);var d=Fe.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d},n};var s0=null,Zh=!1;function lw(){s0="\x80",s0+=Fe.util.fillString("\0",64),Zh=!0}function Yh(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 ed=st((YC,td)=>{var Ve=xt();Mt();Ii();jh();var Jh=td.exports=Ve.pkcs1=Ve.pkcs1||{};Jh.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=Ve.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="",d=c-t.length,y=0;y<d;y++)l+="\0";var h=f.getBytes()+l+""+t;if(!i)i=Ve.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=ds(i,a-o.digestLength-1,s),m=Ve.util.xorBytes(h,p,h.length),g=ds(m,o.digestLength,s),b=Ve.util.xorBytes(i,g,i.length);return"\0"+b+m};Jh.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=Ve.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=ds(f,i.digestLength,o),d=Ve.util.xorBytes(u,l,u.length),y=ds(d,s-i.digestLength-1,o),h=Ve.util.xorBytes(f,y,f.length),p=h.substring(0,i.digestLength),m=c!=="\0",g=0;g<i.digestLength;++g)m|=a.charAt(g)!==p.charAt(g);for(var b=1,x=i.digestLength,D=i.digestLength;D<h.length;D++){var v=h.charCodeAt(D),E=v&1^1,C=b?65534:0;m|=v&C,b=b&E,x+=b}if(m||h.charCodeAt(x)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(x+1)};function ds(e,t,r){r||(r=Ve.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 rd=st((XC,a0)=>{var _r=xt();Mt();hs();Ii();(function(){if(_r.prime){a0.exports=_r.prime;return}var e=a0.exports=_r.prime=_r.prime||{},t=_r.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(l,d){return l|d};e.generateProbablePrime=function(l,d,y){typeof d=="function"&&(y=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var p=d.prng||_r.random,m={nextBytes:function(g){for(var b=p.getBytesSync(g.length),x=0;x<g.length;++x)g[x]=b.charCodeAt(x)}};if(h.name==="PRIMEINC")return o(l,m,h.options,y);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(l,d,y,h){return"workers"in y?c(l,d,y,h):s(l,d,y,h)}function s(l,d,y,h){var p=u(l,d),m=0,g=f(p.bitLength());"millerRabinTests"in y&&(g=y.millerRabinTests);var b=10;"maxBlockTime"in y&&(b=y.maxBlockTime),a(p,l,d,m,g,b,h)}function a(l,d,y,h,p,m,g){var b=+new Date;do{if(l.bitLength()>d&&(l=u(d,y)),l.isProbablePrime(p))return g(null,l);l.dAddOffset(r[h++%8],0)}while(m<0||+new Date-b<m);_r.util.setImmediate(function(){a(l,d,y,h,p,m,g)})}function c(l,d,y,h){if(typeof Worker>"u")return s(l,d,y,h);var p=u(l,d),m=y.workers,g=y.workLoad||100,b=g*30/8,x=y.workerScript||"forge/prime.worker.js";if(m===-1)return _r.util.estimateCores(function(v,E){v&&(E=2),m=E-1,D()});D();function D(){m=Math.max(1,m);for(var v=[],E=0;E<m;++E)v[E]=new Worker(x);for(var C=m,E=0;E<m;++E)v[E].addEventListener("message",O);var B=!1;function O(K){if(!B){--C;var U=K.data;if(U.found){for(var F=0;F<v.length;++F)v[F].terminate();return B=!0,h(null,new t(U.prime,16))}p.bitLength()>l&&(p=u(l,d));var G=p.toString(16);K.target.postMessage({hex:G,workLoad:g}),p.dAddOffset(b,0)}}}}function u(l,d){var y=new t(l,d),h=l-1;return y.testBit(h)||y.bitwiseTo(t.ONE.shiftLeft(h),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 ys=st((ZC,ud)=>{var Y=xt();Bi();hs();Jo();ed();rd();Ii();Mt();typeof ut>"u"&&(ut=Y.jsbn.BigInteger);var ut,c0=Y.util.isNodejs?ss():null,A=Y.asn1,me=Y.util;Y.pki=Y.pki||{};ud.exports=Y.pki.rsa=Y.rsa=Y.rsa||{};var tt=Y.pki,hw=[6,4,2,4,2,4,6,2],dw={name:"PrivateKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",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:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},pw={name:"RSAPrivateKey",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},yw={name:"RSAPublicKey",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},mw=Y.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",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:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:A.Class.UNIVERSAL,type:A.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},gw={name:"DigestInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:A.Class.UNIVERSAL,type:A.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},xw=function(e){var t;if(e.algorithm in tt.oids)t=tt.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=A.oidToDer(t).getBytes(),i=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[]),o=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[]);o.value.push(A.create(A.Class.UNIVERSAL,A.Type.OID,!1,n)),o.value.push(A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,""));var s=A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(o),i.value.push(s),A.toDer(i).getBytes()},ad=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(ut.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(ut.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new ut(Y.util.bytesToHex(Y.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(ut.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};tt.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=cd(e,t,r)):(i=Y.util.createBuffer(),i.putBytes(e));for(var s=new ut(i.toHex(),16),a=ad(s,t,n),c=a.toString(16),u=Y.util.createBuffer(),f=o-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(Y.util.hexToBytes(c)),u.getBytes()};tt.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 ut(Y.util.createBuffer(e).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=ad(s,t,r),c=a.toString(16),u=Y.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(Y.util.hexToBytes(c)),n!==!1?ps(u.getBytes(),t,r):u.getBytes()};tt.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||Y.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 ut(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};tt.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new ut(null);r.fromInt(30);for(var n=0,i=function(l,d){return l|d},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 ut(c,e.rng),e.num.testBit(u)||e.num.bitwiseTo(ut.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(ww(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(hw[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(ut.ONE).gcd(e.e).compareTo(ut.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(ut.ONE),e.q1=e.q.subtract(ut.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(ut.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:tt.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:tt.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};tt.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),!Y.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(nd("generateKeyPair"))return c0.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:tt.privateKeyFromPem(u),publicKey:tt.publicKeyFromPem(c)})});if(id("generateKey")&&id("exportKey"))return me.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:sd(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return me.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=tt.privateKeyFromAsn1(A.fromDer(Y.util.createBuffer(a)));n(null,{privateKey:c,publicKey:tt.setRsaPublicKey(c.n,c.e)})}});if(od("generateKey")&&od("exportKey")){var i=me.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:sd(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=me.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var l=f.target.result,d=tt.privateKeyFromAsn1(A.fromDer(Y.util.createBuffer(l)));n(null,{privateKey:d,publicKey:tt.setRsaPublicKey(d.n,d.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(nd("generateKeyPairSync")){var o=c0.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:tt.privateKeyFromPem(o.privateKey),publicKey:tt.publicKeyFromPem(o.publicKey)}}}var s=tt.rsa.createKeyPairGenerationState(e,t,r);if(!n)return tt.rsa.stepKeyPairGenerationState(s,0),s.keys;bw(s,r,n)};tt.setRsaPublicKey=tt.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 cd(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return Y.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 tt.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=ps(u,r,!0);var f=A.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),l={},d=[];if(!A.validate(f,gw,l,d)){var y=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw y.errors=d,y}var h=A.derToOid(l.algorithmIdentifier);if(!(h===Y.oids.md2||h===Y.oids.md5||h===Y.oids.sha1||h===Y.oids.sha224||h===Y.oids.sha256||h===Y.oids.sha384||h===Y.oids.sha512||h===Y.oids["sha512-224"]||h===Y.oids["sha512-256"])){var y=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw y.oid=h,y}if((h===Y.oids.md2||h===Y.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=ps(u,r,!0),c===u}});var a=tt.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};tt.setRsaPrivateKey=tt.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 d=tt.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:ps};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(y,h){return Y.pkcs1.decode_rsa_oaep(h,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(d,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:xw},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},l=1);var d=f.encode(u,c.n.bitLength());return tt.rsa.encrypt(d,c,l)},c};tt.wrapRsaPrivateKey=function(e){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,A.integerToDer(0).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(tt.oids.rsaEncryption).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")]),A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,A.toDer(e).getBytes())])};tt.privateKeyFromAsn1=function(e){var t={},r=[];if(A.validate(e,dw,t,r)&&(e=A.fromDer(Y.util.createBuffer(t.privateKey))),t={},r=[],!A.validate(e,pw,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=Y.util.createBuffer(t.privateKeyModulus).toHex(),o=Y.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=Y.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=Y.util.createBuffer(t.privateKeyPrime1).toHex(),c=Y.util.createBuffer(t.privateKeyPrime2).toHex(),u=Y.util.createBuffer(t.privateKeyExponent1).toHex(),f=Y.util.createBuffer(t.privateKeyExponent2).toHex(),l=Y.util.createBuffer(t.privateKeyCoefficient).toHex(),tt.setRsaPrivateKey(new ut(i,16),new ut(o,16),new ut(s,16),new ut(a,16),new ut(c,16),new ut(u,16),new ut(f,16),new ut(l,16))};tt.privateKeyToAsn1=tt.privateKeyToRSAPrivateKey=function(e){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,A.integerToDer(0).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,He(e.n)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,He(e.e)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,He(e.d)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,He(e.p)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,He(e.q)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,He(e.dP)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,He(e.dQ)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,He(e.qInv))])};tt.publicKeyFromAsn1=function(e){var t={},r=[];if(A.validate(e,mw,t,r)){var n=A.derToOid(t.publicKeyOid);if(n!==tt.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!A.validate(e,yw,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=Y.util.createBuffer(t.publicKeyModulus).toHex(),s=Y.util.createBuffer(t.publicKeyExponent).toHex();return tt.setRsaPublicKey(new ut(o,16),new ut(s,16))};tt.publicKeyToAsn1=tt.publicKeyToSubjectPublicKeyInfo=function(e){return 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(tt.oids.rsaEncryption).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")]),A.create(A.Class.UNIVERSAL,A.Type.BITSTRING,!1,[tt.publicKeyToRSAPublicKey(e)])])};tt.publicKeyToRSAPublicKey=function(e){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,He(e.n)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,He(e.e))])};function cd(e,t,r){var n=Y.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=Y.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 ps(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),o=Y.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 bw(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){Y.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(ut.ONE).gcd(e.e).compareTo(ut.ONE)!==0){e.p=null,i();return}if(e.q.subtract(ut.ONE).gcd(e.e).compareTo(ut.ONE)!==0){e.q=null,o(e.qBits,s);return}if(e.p1=e.p.subtract(ut.ONE),e.q1=e.q.subtract(ut.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(ut.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:tt.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:tt.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function He(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=Y.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 ww(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 nd(e){return Y.util.isNodejs&&typeof c0[e]=="function"}function id(e){return typeof me.globalScope<"u"&&typeof me.globalScope.crypto=="object"&&typeof me.globalScope.crypto.subtle=="object"&&typeof me.globalScope.crypto.subtle[e]=="function"}function od(e){return typeof me.globalScope<"u"&&typeof me.globalScope.msCrypto=="object"&&typeof me.globalScope.msCrypto.subtle=="object"&&typeof me.globalScope.msCrypto.subtle[e]=="function"}function sd(e){for(var t=Y.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var yd=st((QC,pd)=>{var z=xt();Jc();Bi();bh();Jr();Jo();Ah();Bh();Ii();Mh();ys();Mt();typeof fd>"u"&&(fd=z.jsbn.BigInteger);var fd,T=z.asn1,nt=z.pki=z.pki||{};pd.exports=nt.pbe=z.pbe=z.pbe||{};var rn=nt.oids,vw={name:"EncryptedPrivateKeyInfo",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Ew={name:"PBES2Algorithms",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Sw={name:"pkcs-12PbeParams",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,capture:"iterations"}]};nt.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=z.random.getBytesSync(r.saltSize),i=r.count,o=T.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=rn["aes128-CBC"],l=z.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,f=rn["aes192-CBC"],l=z.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,f=rn["aes256-CBC"],l=z.aes.createEncryptionCipher;break;case"des":s=8,u=8,f=rn.desCBC,l=z.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var y="hmacWith"+r.prfAlgorithm.toUpperCase(),h=dd(y),p=z.pkcs5.pbkdf2(t,n,i,s,h),m=z.random.getBytesSync(u),g=l(p);g.start(m),g.update(T.toDer(e)),g.finish(),c=g.output.getBytes();var b=Aw(n,o,s,y);a=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(rn.pkcs5PBES2).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(rn.pkcs5PBKDF2).getBytes()),b]),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(f).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,m)])])])}else if(r.algorithm==="3des"){s=24;var x=new z.util.ByteBuffer(n),p=nt.pbe.generatePkcs12Key(t,x,1,i,s),m=nt.pbe.generatePkcs12Key(t,x,2,i,s),g=z.des.createEncryptionCipher(p);g.start(m),g.update(T.toDer(e)),g.finish(),c=g.output.getBytes(),a=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(rn["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,n),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var D=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[a,T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,c)]);return D};nt.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!T.validate(e,vw,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=T.derToOid(n.encryptionOid),a=nt.pbe.getCipher(s,n.encryptionParams,t),c=z.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=T.fromDer(a.output)),r};nt.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:T.toDer(e).getBytes()};return z.pem.encode(r,{maxline:t})};nt.encryptedPrivateKeyFromPem=function(e){var t=z.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 T.fromDer(t.body)};nt.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=nt.wrapRsaPrivateKey(nt.privateKeyToAsn1(e));return n=nt.encryptPrivateKeyInfo(n,t,r),nt.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=z.random.getBytesSync(8),a=z.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=z.random.getBytesSync(8),a=z.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=z.pbe.opensslDeriveBytes(t,o.substr(0,8),s),f=a(u);f.start(o),f.update(T.toDer(nt.privateKeyToAsn1(e))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:z.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return z.pem.encode(l)};nt.decryptRsaPrivateKey=function(e,t){var r=null,n=z.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=z.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=z.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=z.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=z.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=z.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return z.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return z.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return z.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=z.util.hexToBytes(n.dekInfo.parameters),c=z.pbe.opensslDeriveBytes(t,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(z.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=nt.decryptPrivateKeyInfo(T.fromDer(r),t):r=T.fromDer(r),r!==null&&(r=nt.privateKeyFromAsn1(r)),r};nt.pbe.generatePkcs12Key=function(e,t,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in z.md))throw new Error('"sha1" hash algorithm unavailable.');o=z.md.sha1.create()}var c=o.digestLength,u=o.blockLength,f=new z.util.ByteBuffer,l=new z.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var d=l.length(),y=t.length(),h=new z.util.ByteBuffer;h.fillWithByte(r,u);var p=u*Math.ceil(y/u),m=new z.util.ByteBuffer;for(a=0;a<p;a++)m.putByte(t.at(a%y));var g=u*Math.ceil(d/u),b=new z.util.ByteBuffer;for(a=0;a<g;a++)b.putByte(l.at(a%d));var x=m;x.putBuffer(b);for(var D=Math.ceil(i/c),v=1;v<=D;v++){var E=new z.util.ByteBuffer;E.putBytes(h.bytes()),E.putBytes(x.bytes());for(var C=0;C<n;C++)o.start(),o.update(E.getBytes()),E=o.digest();var B=new z.util.ByteBuffer;for(a=0;a<u;a++)B.putByte(E.at(a%c));var O=Math.ceil(y/u)+Math.ceil(d/u),K=new z.util.ByteBuffer;for(s=0;s<O;s++){var U=new z.util.ByteBuffer(x.getBytes(u)),F=511;for(a=B.length()-1;a>=0;a--)F=F>>8,F+=B.at(a)+U.at(a),U.setAt(a,F&255);K.putBuffer(U)}x=K,f.putBuffer(E)}return f.truncate(f.length()-i),f};nt.pbe.getCipher=function(e,t,r){switch(e){case nt.oids.pkcs5PBES2:return nt.pbe.getCipherForPBES2(e,t,r);case nt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case nt.oids["pbewithSHAAnd40BitRC2-CBC"]:return nt.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}};nt.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!T.validate(t,Ew,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=T.derToOid(n.kdfOid),e!==nt.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=T.derToOid(n.encOid),e!==nt.oids["aes128-CBC"]&&e!==nt.oids["aes192-CBC"]&&e!==nt.oids["aes256-CBC"]&&e!==nt.oids["des-EDE3-CBC"]&&e!==nt.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=z.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(nt.oids[e]){case"aes128-CBC":c=16,u=z.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=z.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=z.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=z.des.createDecryptionCipher;break;case"desCBC":c=8,u=z.des.createDecryptionCipher;break}var f=hd(n.prfOid),l=z.pkcs5.pbkdf2(r,s,a,c,f),d=n.encIv,y=u(l);return y.start(d),y};nt.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!T.validate(t,Sw,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=z.util.createBuffer(n.salt),a=z.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(e){case nt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=z.des.startDecrypting;break;case nt.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(p,m){var g=z.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=hd(n.prfOid),d=nt.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var y=nt.pbe.generatePkcs12Key(r,s,2,a,u,l);return f(d,y)};nt.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in z.md))throw new Error('"md5" hash algorithm unavailable.');n=z.md.md5.create()}t===null&&(t="");for(var i=[ld(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(ld(n,i[s-1]+e+t));return i.join("").substr(0,r)};function ld(e,t){return e.start().update(t).digest().getBytes()}function hd(e){var t;if(!e)t="hmacWithSHA1";else if(t=nt.oids[T.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return dd(t)}function dd(e){var t=z.md;switch(e){case"hmacWithSHA224":t=z.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 Aw(e,t,r,n){var i=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,e),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,z.util.hexToBytes(r.toString(16))),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(nt.oids[n]).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")])),i}});var Td=st((VB,Id)=>{var Dt=xt();Jr();Mt();var ki=Id.exports=Dt.sha512=Dt.sha512||{};Dt.md.sha512=Dt.md.algorithms.sha512=ki;var Cd=Dt.sha384=Dt.sha512.sha384=Dt.sha512.sha384||{};Cd.create=function(){return ki.create("SHA-384")};Dt.md.sha384=Dt.md.algorithms.sha384=Cd;Dt.sha512.sha256=Dt.sha512.sha256||{create:function(){return ki.create("SHA-512/256")}};Dt.md["sha512/256"]=Dt.md.algorithms["sha512/256"]=Dt.sha512.sha256;Dt.sha512.sha224=Dt.sha512.sha224||{create:function(){return ki.create("SHA-512/224")}};Dt.md["sha512/224"]=Dt.md.algorithms["sha512/224"]=Dt.sha512.sha224;ki.create=function(e){if(Bd||Rw(),typeof e>"u"&&(e="SHA-512"),!(e in on))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=on[e],r=null,n=Dt.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=Dt.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=Dt.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),Dd(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=Dt.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=u&a.blockLength-1;c.putBytes(d0.substr(0,a.blockLength-f));for(var l,d,y=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)l=a.fullMessageLength[h+1]*8,d=l/4294967296>>>0,y+=d,c.putInt32(y>>>0),y=l>>>0;c.putInt32(y);for(var p=new Array(r.length),h=0;h<r.length;++h)p[h]=r[h].slice(0);Dd(p,i,c);var m=Dt.util.createBuffer(),g;e==="SHA-512"?g=p.length:e==="SHA-384"?g=p.length-2:g=p.length-4;for(var h=0;h<g;++h)m.putInt32(p[h][0]),(h!==g-1||e!=="SHA-512/224")&&m.putInt32(p[h][1]);return m},a};var d0=null,Bd=!1,p0=null,on=null;function Rw(){d0="\x80",d0+=Dt.util.fillString("\0",128),p0=[[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]],on={},on["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],on["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],on["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],on["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Bd=!0}function Dd(e,t,r){for(var n,i,o,s,a,c,u,f,l,d,y,h,p,m,g,b,x,D,v,E,C,B,O,K,U,F,G,Q,I,R,_,k,S,P,M,H=r.length();H>=128;){for(I=0;I<16;++I)t[I][0]=r.getInt32()>>>0,t[I][1]=r.getInt32()>>>0;for(;I<80;++I)k=t[I-2],R=k[0],_=k[1],n=((R>>>19|_<<13)^(_>>>29|R<<3)^R>>>6)>>>0,i=((R<<13|_>>>19)^(_<<3|R>>>29)^(R<<26|_>>>6))>>>0,P=t[I-15],R=P[0],_=P[1],o=((R>>>1|_<<31)^(R>>>8|_<<24)^R>>>7)>>>0,s=((R<<31|_>>>1)^(R<<24|_>>>8)^(R<<25|_>>>7))>>>0,S=t[I-7],M=t[I-16],_=i+S[1]+s+M[1],t[I][0]=n+S[0]+o+M[0]+(_/4294967296>>>0)>>>0,t[I][1]=_>>>0;for(p=e[0][0],m=e[0][1],g=e[1][0],b=e[1][1],x=e[2][0],D=e[2][1],v=e[3][0],E=e[3][1],C=e[4][0],B=e[4][1],O=e[5][0],K=e[5][1],U=e[6][0],F=e[6][1],G=e[7][0],Q=e[7][1],I=0;I<80;++I)u=((C>>>14|B<<18)^(C>>>18|B<<14)^(B>>>9|C<<23))>>>0,f=((C<<18|B>>>14)^(C<<14|B>>>18)^(B<<23|C>>>9))>>>0,l=(U^C&(O^U))>>>0,d=(F^B&(K^F))>>>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|x&(p^g))>>>0,h=(m&b|D&(m^b))>>>0,_=Q+f+d+p0[I][1]+t[I][1],n=G+u+l+p0[I][0]+t[I][0]+(_/4294967296>>>0)>>>0,i=_>>>0,_=c+h,o=a+y+(_/4294967296>>>0)>>>0,s=_>>>0,G=U,Q=F,U=O,F=K,O=C,K=B,_=E+i,C=v+n+(_/4294967296>>>0)>>>0,B=_>>>0,v=x,E=D,x=g,D=b,g=p,b=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]+b,e[1][0]=e[1][0]+g+(_/4294967296>>>0)>>>0,e[1][1]=_>>>0,_=e[2][1]+D,e[2][0]=e[2][0]+x+(_/4294967296>>>0)>>>0,e[2][1]=_>>>0,_=e[3][1]+E,e[3][0]=e[3][0]+v+(_/4294967296>>>0)>>>0,e[3][1]=_>>>0,_=e[4][1]+B,e[4][0]=e[4][0]+C+(_/4294967296>>>0)>>>0,e[4][1]=_>>>0,_=e[5][1]+K,e[5][0]=e[5][0]+O+(_/4294967296>>>0)>>>0,e[5][1]=_>>>0,_=e[6][1]+F,e[6][0]=e[6][0]+U+(_/4294967296>>>0)>>>0,e[6][1]=_>>>0,_=e[7][1]+Q,e[7][0]=e[7][0]+G+(_/4294967296>>>0)>>>0,e[7][1]=_>>>0,H-=128}}});var up=st((i_,cp)=>{"use strict";function av(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),o=i.charCodeAt(0);if(t[o]!==255)throw new TypeError(i+" is ambiguous");t[o]=n}var s=e.length,a=e.charAt(0),c=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function f(y){if(y instanceof Uint8Array||(ArrayBuffer.isView(y)?y=new Uint8Array(y.buffer,y.byteOffset,y.byteLength):Array.isArray(y)&&(y=Uint8Array.from(y))),!(y instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(y.length===0)return"";for(var h=0,p=0,m=0,g=y.length;m!==g&&y[m]===0;)m++,h++;for(var b=(g-m)*u+1>>>0,x=new Uint8Array(b);m!==g;){for(var D=y[m],v=0,E=b-1;(D!==0||v<p)&&E!==-1;E--,v++)D+=256*x[E]>>>0,x[E]=D%s>>>0,D=D/s>>>0;if(D!==0)throw new Error("Non-zero carry");p=v,m++}for(var C=b-p;C!==b&&x[C]===0;)C++;for(var B=a.repeat(h);C<b;++C)B+=e.charAt(x[C]);return B}function l(y){if(typeof y!="string")throw new TypeError("Expected String");if(y.length===0)return new Uint8Array;var h=0;if(y[h]!==" "){for(var p=0,m=0;y[h]===a;)p++,h++;for(var g=(y.length-h)*c+1>>>0,b=new Uint8Array(g);y[h];){var x=t[y.charCodeAt(h)];if(x===255)return;for(var D=0,v=g-1;(x!==0||D<m)&&v!==-1;v--,D++)x+=s*b[v]>>>0,b[v]=x%256>>>0,x=x/256>>>0;if(x!==0)throw new Error("Non-zero carry");m=D,h++}if(y[h]!==" "){for(var E=g-m;E!==g&&b[E]===0;)E++;for(var C=new Uint8Array(p+(g-E)),B=p;E!==g;)C[B++]=b[E++];return C}}}function d(y){var h=l(y);if(h)return h;throw new Error("Non-base"+s+" character")}return{encode:f,decodeUnsafe:l,decode:d}}cp.exports=av});var Cs=st((o_,fp)=>{"use strict";var cv=new TextDecoder,uv=e=>cv.decode(e),fv=new TextEncoder,lv=e=>fv.encode(e);function hv(e,t){let r=new Uint8Array(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return r}fp.exports={decodeText:uv,encodeText:lv,concat:hv}});var hp=st((s_,lp)=>{"use strict";var{encodeText:dv}=Cs(),B0=class{constructor(t,r,n,i){this.name=t,this.code=r,this.codeBuf=dv(this.code),this.alphabet=i,this.codec=n(i)}encode(t){return this.codec.encode(t)}decode(t){for(let r of t)if(this.alphabet&&this.alphabet.indexOf(r)<0)throw new Error(`invalid character '${r}' in '${t}'`);return this.codec.decode(t)}};lp.exports=B0});var pp=st((a_,dp)=>{"use strict";var pv=(e,t,r)=>{let n={};for(let u=0;u<t.length;++u)n[t[u]]=u;let i=e.length;for(;e[i-1]==="=";)--i;let o=new Uint8Array(i*r/8|0),s=0,a=0,c=0;for(let u=0;u<i;++u){let f=n[e[u]];if(f===void 0)throw new SyntaxError("Invalid character "+e[u]);a=a<<r|f,s+=r,s>=8&&(s-=8,o[c++]=255&a>>s)}if(s>=r||255&a<<8-s)throw new SyntaxError("Unexpected end of data");return o},yv=(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},mv=e=>t=>({encode(r){return yv(r,t,e)},decode(r){return pv(r,t,e)}});dp.exports={rfc4648:mv}});var xp=st((c_,gp)=>{"use strict";var Mi=up(),gv=hp(),{rfc4648:Qt}=pp(),{decodeText:xv,encodeText:bv}=Cs(),wv=()=>({encode:xv,decode:bv}),yp=[["identity","\0",wv,""],["base2","0",Qt(1),"01"],["base8","7",Qt(3),"01234567"],["base10","9",Mi,"0123456789"],["base16","f",Qt(4),"0123456789abcdef"],["base16upper","F",Qt(4),"0123456789ABCDEF"],["base32hex","v",Qt(5),"0123456789abcdefghijklmnopqrstuv"],["base32hexupper","V",Qt(5),"0123456789ABCDEFGHIJKLMNOPQRSTUV"],["base32hexpad","t",Qt(5),"0123456789abcdefghijklmnopqrstuv="],["base32hexpadupper","T",Qt(5),"0123456789ABCDEFGHIJKLMNOPQRSTUV="],["base32","b",Qt(5),"abcdefghijklmnopqrstuvwxyz234567"],["base32upper","B",Qt(5),"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"],["base32pad","c",Qt(5),"abcdefghijklmnopqrstuvwxyz234567="],["base32padupper","C",Qt(5),"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567="],["base32z","h",Qt(5),"ybndrfg8ejkmcpqxot1uwisza345h769"],["base36","k",Mi,"0123456789abcdefghijklmnopqrstuvwxyz"],["base36upper","K",Mi,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"],["base58btc","z",Mi,"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"],["base58flickr","Z",Mi,"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"],["base64","m",Qt(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"],["base64pad","M",Qt(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],["base64url","u",Qt(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"],["base64urlpad","U",Qt(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_="]],mp=yp.reduce((e,t)=>(e[t[0]]=new gv(t[0],t[1],t[2],t[3]),e),{}),vv=yp.reduce((e,t)=>(e[t[1]]=mp[t[0]],e),{});gp.exports={names:mp,codes:vv}});var vp=st((fr,wp)=>{"use strict";var Gn=xp(),{encodeText:Ev,decodeText:Bs,concat:bp}=Cs();function Sv(e,t){if(!t)throw new Error("requires an encoded Uint8Array");let{name:r,codeBuf:n}=un(e);return Bv(r,t),bp([n,t],n.length+t.length)}function Av(e,t){let r=un(e),n=Ev(r.encode(t));return bp([r.codeBuf,n],r.codeBuf.length+n.length)}function Dv(e){e instanceof Uint8Array&&(e=Bs(e));let t=e[0];return["f","F","v","V","t","T","b","B","c","C","h","k","K"].includes(t)&&(e=e.toLowerCase()),un(e[0]).decode(e.substring(1))}function Cv(e){if(e instanceof Uint8Array&&(e=Bs(e)),Object.prototype.toString.call(e)!=="[object String]")return!1;try{return un(e[0]).name}catch{return!1}}function Bv(e,t){un(e).decode(Bs(t))}function un(e){if(Object.prototype.hasOwnProperty.call(Gn.names,e))return Gn.names[e];if(Object.prototype.hasOwnProperty.call(Gn.codes,e))return Gn.codes[e];throw new Error(`Unsupported encoding: ${e}`)}function Iv(e){return e instanceof Uint8Array&&(e=Bs(e)),un(e[0])}fr=wp.exports=Sv;fr.encode=Av;fr.decode=Dv;fr.isEncoded=Cv;fr.encoding=un;fr.encodingFromData=Iv;var Tv=Object.freeze(Gn.names),_v=Object.freeze(Gn.codes);fr.names=Tv;fr.codes=_v});var Dp=st((u_,Ap)=>{Ap.exports=Sp;var Ep=128,kv=127,Rv=~kv,Lv=Math.pow(2,31);function Sp(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Lv;)t[r++]=e&255|Ep,e/=128;for(;e&Rv;)t[r++]=e&255|Ep,e>>>=7;return t[r]=e|0,Sp.bytes=r-n+1,t}});var Ip=st((f_,Bp)=>{Bp.exports=I0;var Nv=128,Cp=127;function I0(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw I0.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&Cp)<<i:(s&Cp)*Math.pow(2,i),i+=7}while(s>=Nv);return I0.bytes=o-n,r}});var _p=st((l_,Tp)=>{var Pv=Math.pow(2,7),Uv=Math.pow(2,14),Ov=Math.pow(2,21),Kv=Math.pow(2,28),Mv=Math.pow(2,35),Fv=Math.pow(2,42),Vv=Math.pow(2,49),Hv=Math.pow(2,56),qv=Math.pow(2,63);Tp.exports=function(e){return e<Pv?1:e<Uv?2:e<Ov?3:e<Kv?4:e<Mv?5:e<Fv?6:e<Vv?7:e<Hv?8:e<qv?9:10}});var Rp=st((h_,kp)=>{kp.exports={encode:Dp(),decode:Ip(),encodingLength:_p()}});var Np=st((d_,Lp)=>{"use strict";var zv=Object.freeze({identity:0,sha1:17,"sha2-256":18,"sha2-512":19,"sha3-512":20,"sha3-384":21,"sha3-256":22,"sha3-224":23,"shake-128":24,"shake-256":25,"keccak-224":26,"keccak-256":27,"keccak-384":28,"keccak-512":29,blake3:30,"murmur3-128":34,"murmur3-32":35,"dbl-sha2-256":86,md4:212,md5:213,bmt:214,"sha2-256-trunc254-padded":4114,"ripemd-128":4178,"ripemd-160":4179,"ripemd-256":4180,"ripemd-320":4181,x11:4352,kangarootwelve:7425,"sm3-256":21325,"blake2b-8":45569,"blake2b-16":45570,"blake2b-24":45571,"blake2b-32":45572,"blake2b-40":45573,"blake2b-48":45574,"blake2b-56":45575,"blake2b-64":45576,"blake2b-72":45577,"blake2b-80":45578,"blake2b-88":45579,"blake2b-96":45580,"blake2b-104":45581,"blake2b-112":45582,"blake2b-120":45583,"blake2b-128":45584,"blake2b-136":45585,"blake2b-144":45586,"blake2b-152":45587,"blake2b-160":45588,"blake2b-168":45589,"blake2b-176":45590,"blake2b-184":45591,"blake2b-192":45592,"blake2b-200":45593,"blake2b-208":45594,"blake2b-216":45595,"blake2b-224":45596,"blake2b-232":45597,"blake2b-240":45598,"blake2b-248":45599,"blake2b-256":45600,"blake2b-264":45601,"blake2b-272":45602,"blake2b-280":45603,"blake2b-288":45604,"blake2b-296":45605,"blake2b-304":45606,"blake2b-312":45607,"blake2b-320":45608,"blake2b-328":45609,"blake2b-336":45610,"blake2b-344":45611,"blake2b-352":45612,"blake2b-360":45613,"blake2b-368":45614,"blake2b-376":45615,"blake2b-384":45616,"blake2b-392":45617,"blake2b-400":45618,"blake2b-408":45619,"blake2b-416":45620,"blake2b-424":45621,"blake2b-432":45622,"blake2b-440":45623,"blake2b-448":45624,"blake2b-456":45625,"blake2b-464":45626,"blake2b-472":45627,"blake2b-480":45628,"blake2b-488":45629,"blake2b-496":45630,"blake2b-504":45631,"blake2b-512":45632,"blake2s-8":45633,"blake2s-16":45634,"blake2s-24":45635,"blake2s-32":45636,"blake2s-40":45637,"blake2s-48":45638,"blake2s-56":45639,"blake2s-64":45640,"blake2s-72":45641,"blake2s-80":45642,"blake2s-88":45643,"blake2s-96":45644,"blake2s-104":45645,"blake2s-112":45646,"blake2s-120":45647,"blake2s-128":45648,"blake2s-136":45649,"blake2s-144":45650,"blake2s-152":45651,"blake2s-160":45652,"blake2s-168":45653,"blake2s-176":45654,"blake2s-184":45655,"blake2s-192":45656,"blake2s-200":45657,"blake2s-208":45658,"blake2s-216":45659,"blake2s-224":45660,"blake2s-232":45661,"blake2s-240":45662,"blake2s-248":45663,"blake2s-256":45664,"skein256-8":45825,"skein256-16":45826,"skein256-24":45827,"skein256-32":45828,"skein256-40":45829,"skein256-48":45830,"skein256-56":45831,"skein256-64":45832,"skein256-72":45833,"skein256-80":45834,"skein256-88":45835,"skein256-96":45836,"skein256-104":45837,"skein256-112":45838,"skein256-120":45839,"skein256-128":45840,"skein256-136":45841,"skein256-144":45842,"skein256-152":45843,"skein256-160":45844,"skein256-168":45845,"skein256-176":45846,"skein256-184":45847,"skein256-192":45848,"skein256-200":45849,"skein256-208":45850,"skein256-216":45851,"skein256-224":45852,"skein256-232":45853,"skein256-240":45854,"skein256-248":45855,"skein256-256":45856,"skein512-8":45857,"skein512-16":45858,"skein512-24":45859,"skein512-32":45860,"skein512-40":45861,"skein512-48":45862,"skein512-56":45863,"skein512-64":45864,"skein512-72":45865,"skein512-80":45866,"skein512-88":45867,"skein512-96":45868,"skein512-104":45869,"skein512-112":45870,"skein512-120":45871,"skein512-128":45872,"skein512-136":45873,"skein512-144":45874,"skein512-152":45875,"skein512-160":45876,"skein512-168":45877,"skein512-176":45878,"skein512-184":45879,"skein512-192":45880,"skein512-200":45881,"skein512-208":45882,"skein512-216":45883,"skein512-224":45884,"skein512-232":45885,"skein512-240":45886,"skein512-248":45887,"skein512-256":45888,"skein512-264":45889,"skein512-272":45890,"skein512-280":45891,"skein512-288":45892,"skein512-296":45893,"skein512-304":45894,"skein512-312":45895,"skein512-320":45896,"skein512-328":45897,"skein512-336":45898,"skein512-344":45899,"skein512-352":45900,"skein512-360":45901,"skein512-368":45902,"skein512-376":45903,"skein512-384":45904,"skein512-392":45905,"skein512-400":45906,"skein512-408":45907,"skein512-416":45908,"skein512-424":45909,"skein512-432":45910,"skein512-440":45911,"skein512-448":45912,"skein512-456":45913,"skein512-464":45914,"skein512-472":45915,"skein512-480":45916,"skein512-488":45917,"skein512-496":45918,"skein512-504":45919,"skein512-512":45920,"skein1024-8":45921,"skein1024-16":45922,"skein1024-24":45923,"skein1024-32":45924,"skein1024-40":45925,"skein1024-48":45926,"skein1024-56":45927,"skein1024-64":45928,"skein1024-72":45929,"skein1024-80":45930,"skein1024-88":45931,"skein1024-96":45932,"skein1024-104":45933,"skein1024-112":45934,"skein1024-120":45935,"skein1024-128":45936,"skein1024-136":45937,"skein1024-144":45938,"skein1024-152":45939,"skein1024-160":45940,"skein1024-168":45941,"skein1024-176":45942,"skein1024-184":45943,"skein1024-192":45944,"skein1024-200":45945,"skein1024-208":45946,"skein1024-216":45947,"skein1024-224":45948,"skein1024-232":45949,"skein1024-240":45950,"skein1024-248":45951,"skein1024-256":45952,"skein1024-264":45953,"skein1024-272":45954,"skein1024-280":45955,"skein1024-288":45956,"skein1024-296":45957,"skein1024-304":45958,"skein1024-312":45959,"skein1024-320":45960,"skein1024-328":45961,"skein1024-336":45962,"skein1024-344":45963,"skein1024-352":45964,"skein1024-360":45965,"skein1024-368":45966,"skein1024-376":45967,"skein1024-384":45968,"skein1024-392":45969,"skein1024-400":45970,"skein1024-408":45971,"skein1024-416":45972,"skein1024-424":45973,"skein1024-432":45974,"skein1024-440":45975,"skein1024-448":45976,"skein1024-456":45977,"skein1024-464":45978,"skein1024-472":45979,"skein1024-480":45980,"skein1024-488":45981,"skein1024-496":45982,"skein1024-504":45983,"skein1024-512":45984,"skein1024-520":45985,"skein1024-528":45986,"skein1024-536":45987,"skein1024-544":45988,"skein1024-552":45989,"skein1024-560":45990,"skein1024-568":45991,"skein1024-576":45992,"skein1024-584":45993,"skein1024-592":45994,"skein1024-600":45995,"skein1024-608":45996,"skein1024-616":45997,"skein1024-624":45998,"skein1024-632":45999,"skein1024-640":46e3,"skein1024-648":46001,"skein1024-656":46002,"skein1024-664":46003,"skein1024-672":46004,"skein1024-680":46005,"skein1024-688":46006,"skein1024-696":46007,"skein1024-704":46008,"skein1024-712":46009,"skein1024-720":46010,"skein1024-728":46011,"skein1024-736":46012,"skein1024-744":46013,"skein1024-752":46014,"skein1024-760":46015,"skein1024-768":46016,"skein1024-776":46017,"skein1024-784":46018,"skein1024-792":46019,"skein1024-800":46020,"skein1024-808":46021,"skein1024-816":46022,"skein1024-824":46023,"skein1024-832":46024,"skein1024-840":46025,"skein1024-848":46026,"skein1024-856":46027,"skein1024-864":46028,"skein1024-872":46029,"skein1024-880":46030,"skein1024-888":46031,"skein1024-896":46032,"skein1024-904":46033,"skein1024-912":46034,"skein1024-920":46035,"skein1024-928":46036,"skein1024-936":46037,"skein1024-944":46038,"skein1024-952":46039,"skein1024-960":46040,"skein1024-968":46041,"skein1024-976":46042,"skein1024-984":46043,"skein1024-992":46044,"skein1024-1000":46045,"skein1024-1008":46046,"skein1024-1016":46047,"skein1024-1024":46048,"poseidon-bls12_381-a2-fc1":46081,"poseidon-bls12_381-a2-fc1-sc":46082});Lp.exports={names:zv}});function Gv(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(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,m=0,g=0,b=h.length;g!==b&&h[g]===0;)g++,p++;for(var x=(b-g)*f+1>>>0,D=new Uint8Array(x);g!==b;){for(var v=h[g],E=0,C=x-1;(v!==0||E<m)&&C!==-1;C--,E++)v+=256*D[C]>>>0,D[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=E,g++}for(var B=x-m;B!==x&&D[B]===0;)B++;for(var O=c.repeat(p);B<x;++B)O+=e.charAt(D[B]);return O}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var m=0,g=0;h[p]===c;)m++,p++;for(var b=(h.length-p)*u+1>>>0,x=new Uint8Array(b);h[p];){var D=r[h.charCodeAt(p)];if(D===255)return;for(var v=0,E=b-1;(D!==0||v<g)&&E!==-1;E--,v++)D+=a*x[E]>>>0,x[E]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");g=v,p++}if(h[p]!==" "){for(var C=b-g;C!==b&&x[C]===0;)C++;for(var B=new Uint8Array(m+(b-C)),O=m;C!==b;)B[O++]=x[C++];return B}}}function y(h){var p=d(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:y}}var Wv,$v,Pp,Up=dt(()=>{Wv=Gv,$v=Wv,Pp=$v});var y_,Op,lr,Kp,Mp,kr=dt(()=>{y_=new Uint8Array(0),Op=(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},lr=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")},Kp=e=>new TextEncoder().encode(e),Mp=e=>new TextDecoder().decode(e)});var T0,_0,k0,Vp,R0,Wn,Rr,Yv,Xv,Rt,Re=dt(()=>{Up();kr();T0=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")}},_0=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 Vp(this,t)}},k0=class{constructor(t){this.decoders=t}or(t){return Vp(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`)}},Vp=(e,t)=>new k0({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),R0=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new T0(t,r,n),this.decoder=new _0(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Wn=({name:e,prefix:t,encode:r,decode:n})=>new R0(e,t,r,n),Rr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=Pp(r,t);return Wn({prefix:e,name:t,encode:n,decode:o=>lr(i(o))})},Yv=(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},Xv=(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},Rt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>Wn({prefix:t,name:e,encode(i){return Xv(i,n,r)},decode(i){return Yv(i,n,r,e)}})});var L0={};ft(L0,{identity:()=>Zv});var Zv,Hp=dt(()=>{Re();kr();Zv=Wn({prefix:"\0",name:"identity",encode:e=>Mp(e),decode:e=>Kp(e)})});var N0={};ft(N0,{base2:()=>Qv});var Qv,qp=dt(()=>{Re();Qv=Rt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})});var P0={};ft(P0,{base8:()=>jv});var jv,zp=dt(()=>{Re();jv=Rt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})});var U0={};ft(U0,{base10:()=>Jv});var Jv,Gp=dt(()=>{Re();Jv=Rr({prefix:"9",name:"base10",alphabet:"0123456789"})});var O0={};ft(O0,{base16:()=>t8,base16upper:()=>e8});var t8,e8,Wp=dt(()=>{Re();t8=Rt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),e8=Rt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});var K0={};ft(K0,{base32:()=>$n,base32hex:()=>o8,base32hexpad:()=>a8,base32hexpadupper:()=>c8,base32hexupper:()=>s8,base32pad:()=>n8,base32padupper:()=>i8,base32upper:()=>r8,base32z:()=>u8});var $n,r8,n8,i8,o8,s8,a8,c8,u8,M0=dt(()=>{Re();$n=Rt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),r8=Rt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),n8=Rt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),i8=Rt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),o8=Rt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),s8=Rt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),a8=Rt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),c8=Rt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),u8=Rt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})});var F0={};ft(F0,{base36:()=>f8,base36upper:()=>l8});var f8,l8,$p=dt(()=>{Re();f8=Rr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),l8=Rr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})});var V0={};ft(V0,{base58btc:()=>Ge,base58flickr:()=>h8});var Ge,h8,H0=dt(()=>{Re();Ge=Rr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),h8=Rr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});var q0={};ft(q0,{base64:()=>d8,base64pad:()=>p8,base64url:()=>y8,base64urlpad:()=>m8});var d8,p8,y8,m8,Yp=dt(()=>{Re();d8=Rt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),p8=Rt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),y8=Rt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),m8=Rt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});var z0={};ft(z0,{base256emoji:()=>v8});function b8(e){return e.reduce((t,r)=>(t+=g8[r],t),"")}function w8(e){let t=[];for(let r of e){let n=x8[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var Xp,g8,x8,v8,Zp=dt(()=>{Re();Xp=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}"),g8=Xp.reduce((e,t,r)=>(e[r]=t,e),[]),x8=Xp.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);v8=Wn({prefix:"\u{1F680}",name:"base256emoji",encode:b8,decode:w8})});function Jp(e,t,r){t=t||[],r=r||0;for(var n=r;e>=D8;)t[r++]=e&255|Qp,e/=128;for(;e&A8;)t[r++]=e&255|Qp,e>>>=7;return t[r]=e|0,Jp.bytes=r-n+1,t}function G0(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw G0.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&jp)<<i:(s&jp)*Math.pow(2,i),i+=7}while(s>=B8);return G0.bytes=o-n,r}var E8,Qp,S8,A8,D8,C8,B8,jp,I8,T8,_8,k8,R8,L8,N8,P8,U8,O8,K8,M8,Fi,t1=dt(()=>{E8=Jp,Qp=128,S8=127,A8=~S8,D8=Math.pow(2,31);C8=G0,B8=128,jp=127;I8=Math.pow(2,7),T8=Math.pow(2,14),_8=Math.pow(2,21),k8=Math.pow(2,28),R8=Math.pow(2,35),L8=Math.pow(2,42),N8=Math.pow(2,49),P8=Math.pow(2,56),U8=Math.pow(2,63),O8=function(e){return e<I8?1:e<T8?2:e<_8?3:e<k8?4:e<R8?5:e<L8?6:e<N8?7:e<P8?8:e<U8?9:10},K8={encode:E8,decode:C8,encodingLength:O8},M8=K8,Fi=M8});var Vi,Yn,Xn,Ts=dt(()=>{t1();Vi=(e,t=0)=>[Fi.decode(e,t),Fi.decode.bytes],Yn=(e,t,r=0)=>(Fi.encode(e,t,r),t),Xn=e=>Fi.encodingLength(e)});var fn,e1,r1,Zn,qi=dt(()=>{kr();Ts();fn=(e,t)=>{let r=t.byteLength,n=Xn(e),i=n+Xn(r),o=new Uint8Array(i+r);return Yn(e,o,0),Yn(r,o,n),o.set(t,i),new Zn(e,r,t,o)},e1=e=>{let t=lr(e),[r,n]=Vi(t),[i,o]=Vi(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Zn(r,i,s,t)},r1=(e,t)=>e===t?!0:e.code===t.code&&e.size===t.size&&Op(e.bytes,t.bytes),Zn=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}}});var $0,W0,Y0=dt(()=>{qi();$0=({name:e,code:t,encode:r})=>new W0(e,t,r),W0=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?fn(this.code,r):r.then(n=>fn(this.code,n))}else throw Error("Unknown type, must be binary type")}}});var X0={};ft(X0,{sha256:()=>F8,sha512:()=>V8});var i1,F8,V8,o1=dt(()=>{Y0();i1=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),F8=$0({name:"sha2-256",code:18,encode:i1("SHA-256")}),V8=$0({name:"sha2-512",code:19,encode:i1("SHA-512")})});var Z0={};ft(Z0,{identity:()=>z8});var s1,H8,a1,q8,z8,c1=dt(()=>{kr();qi();s1=0,H8="identity",a1=lr,q8=e=>fn(s1,a1(e)),z8={code:s1,name:H8,encode:a1,digest:q8}});var u1=dt(()=>{kr()});var U_,O_,f1=dt(()=>{U_=new TextEncoder,O_=new TextDecoder});var Rs,$8,Y8,X8,zi,Z8,l1,h1,_s,ks,Q8,j8,J8,d1=dt(()=>{Ts();qi();H0();M0();kr();Rs=class e{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this.byteOffset=i.byteOffset,this.byteLength=i.byteLength,this.asCID=this,this._baseCache=new Map,Object.defineProperties(this,{byteOffset:ks,byteLength:ks,code:_s,version:_s,multihash:_s,bytes:_s,_baseCache:ks,asCID:ks})}toV0(){switch(this.version){case 0:return this;default:{let{code:t,multihash:r}=this;if(t!==zi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Z8)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=fn(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}equals(t){return t&&this.code===t.code&&this.version===t.version&&r1(this.multihash,t.multihash)}toString(t){let{bytes:r,version:n,_baseCache:i}=this;switch(n){case 0:return Y8(r,i,t||Ge.encoder);default:return X8(r,i,t||$n.encoder)}}toJSON(){return{code:this.code,version:this.version,hash:this.multihash.bytes}}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID("+this.toString()+")"}static isCID(t){return j8(/^0\.0/,J8),!!(t&&(t[h1]||t.asCID===t))}get toBaseEncodedString(){throw new Error("Deprecated, use .toString()")}get codec(){throw new Error('"codec" property is deprecated, use integer "code" property instead')}get buffer(){throw new Error("Deprecated .buffer property, use .bytes to get Uint8Array instead")}get multibaseName(){throw new Error('"multibaseName" property is deprecated')}get prefix(){throw new Error('"prefix" property is deprecated')}static asCID(t){if(t instanceof e)return t;if(t!=null&&t.asCID===t){let{version:r,code:n,multihash:i,bytes:o}=t;return new e(r,n,i,o||l1(r,n,i.bytes))}else if(t!=null&&t[h1]===!0){let{version:r,multihash:n,code:i}=t,o=e1(n);return e.create(r,i,o)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");switch(t){case 0:{if(r!==zi)throw new Error(`Version 0 CID must use dag-pb (code: ${zi}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=l1(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,zi,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=lr(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 Zn(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,d]=Vi(t.subarray(r));return r+=d,l},i=n(),o=zi;if(i===18?(i=0,r=0):i===1&&(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]=$8(t,r),o=e.decode(i);return o._baseCache.set(n,t),o}},$8=(e,t)=>{switch(e[0]){case"Q":{let r=t||Ge;return[Ge.prefix,r.decode(`${Ge.prefix}${e}`)]}case Ge.prefix:{let r=t||Ge;return[Ge.prefix,r.decode(e)]}case $n.prefix:{let r=t||$n;return[$n.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)]}}},Y8=(e,t,r)=>{let{prefix:n}=r;if(n!==Ge.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},X8=(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},zi=112,Z8=18,l1=(e,t,r)=>{let n=Xn(e),i=n+Xn(t),o=new Uint8Array(i+r.byteLength);return Yn(e,o,0),Yn(t,o,n),o.set(r,i),o},h1=Symbol.for("@ipld/js-cid/CID"),_s={writable:!1,configurable:!1,enumerable:!0},ks={writable:!1,enumerable:!1,configurable:!1},Q8="0.0.0-dev",j8=(e,t)=>{if(e.test(Q8))console.warn(t);else throw new Error(t)},J8=`CID.isCID(v) is deprecated and will be removed in the next major release.
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 Qx(e){return e.replace(/^\s+/,"")}});var sd=ot((YB,od)=>{var Me=gt();sn();Ot();var rd=od.exports=Me.sha256=Me.sha256||{};Me.md.sha256=Me.md.algorithms.sha256=rd;rd.create=function(){nd||jx();var e=null,t=Me.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=Me.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=Me.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),ed(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Me.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(p0.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};ed(l,r,i);var d=Me.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d.putInt32(l.h5),d.putInt32(l.h6),d.putInt32(l.h7),d},n};var p0=null,nd=!1,id=null;function jx(){p0="\x80",p0+=Me.util.fillString("\0",64),id=[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],nd=!0}function ed(e,t,r){for(var n,i,o,s,a,c,u,f,l,d,y,h,p,m,g,b=r.length();b>=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,d=e.h2,y=e.h3,h=e.h4,p=e.h5,m=e.h6,g=e.h7,u=0;u<64;++u)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=m^h&(p^m),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&l|d&(f^l),n=g+s+a+id[u]+t[u],i=o+c,g=m,m=p,p=h,h=y+n>>>0,y=d,d=l,l=f,f=n+i>>>0;e.h0=e.h0+f|0,e.h1=e.h1+l|0,e.h2=e.h2+d|0,e.h3=e.h3+y|0,e.h4=e.h4+h|0,e.h5=e.h5+p|0,e.h6=e.h6+m|0,e.h7=e.h7+g|0,b-=64}}});var cd=ot((XB,ad)=>{var Fe=gt();Ot();var bs=null;Fe.util.isNodejs&&!Fe.options.usePureJavaScript&&!process.versions["node-webkit"]&&(bs=ms());var Jx=ad.exports=Fe.prng=Fe.prng||{};Jx.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,d=t.plugin.increment,y=t.plugin.formatKey,h=t.plugin.formatSeed,p=Fe.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 Fe.util.nextTick(function(){o(m)});var b=l(t.key,t.seed);t.generated+=b.length,p.putBytes(b),t.key=y(l(t.key,d(t.seed))),t.seed=h(l(t.key,t.seed)),Fe.util.setImmediate(m)}},t.generateSync=function(u){var f=t.plugin.cipher,l=t.plugin.increment,d=t.plugin.formatKey,y=t.plugin.formatSeed;t.key=null;for(var h=Fe.util.createBuffer();h.length()<u;){t.generated>1048575&&(t.key=null),t.key===null&&s();var p=f(t.key,t.seed);t.generated+=p.length,h.putBytes(p),t.key=d(f(t.key,l(t.seed))),t.seed=y(f(t.key,t.seed))}return h.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,d){if(l)return u(l);t.collect(d),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 d=u.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function c(u){var f=null,l=Fe.util.globalScope,d=l.crypto||l.msCrypto;d&&d.getRandomValues&&(f=function(v){return d.getRandomValues(v)});var y=Fe.util.createBuffer();if(f)for(;y.length()<u;){var h=Math.max(1,Math.min(u-y.length(),65536)/4),p=new Uint32Array(Math.floor(h));try{f(p);for(var m=0;m<p.length;++m)y.putInt32(p[m])}catch(v){if(!(typeof QuotaExceededError<"u"&&v instanceof QuotaExceededError))throw v}}if(y.length()<u)for(var g,b,x,D=Math.floor(Math.random()*65536);y.length()<u;){b=16807*(D&65535),g=16807*(D>>16),b+=(g&32767)<<16,b+=g>>15,b=(b&2147483647)+(b>>31),D=b&4294967295;for(var m=0;m<3;++m)x=D>>>(m<<3),x^=Math.floor(Math.random()*256),y.putByte(x&255)}return y.getBytes(u)}return bs?(t.seedFile=function(u,f){bs.randomBytes(u,function(l,d){if(l)return f(l);f(null,d.toString())})},t.seedFileSync=function(u){return bs.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="",d=0;d<f;d+=8)l+=String.fromCharCode(u>>d&255);t.collect(l)},t.registerWorker=function(u){if(u===self)t.seedFile=function(l,d){function y(h){var p=h.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",y),d(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",y),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var d=l.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(y,h){u.postMessage({forge:{prng:{err:y,bytes:h}}})})};u.addEventListener("message",f)}},t}});var Oi=ot((ZB,y0)=>{var qt=gt();d0();sd();cd();Ot();(function(){if(qt.random&&qt.random.getBytes){y0.exports=qt.random;return}(function(e){var t={},r=new Array(4),n=qt.util.createBuffer();t.formatKey=function(l){var d=qt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),qt.aes._expandKey(l,!1)},t.formatSeed=function(l){var d=qt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),l},t.cipher=function(l,d){return qt.aes._updateBlock(l,d,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=qt.md.sha256;function i(){var l=qt.prng.create(t);return l.getBytes=function(d,y){return l.generate(d,y)},l.getBytesSync=function(d){return l.generate(d)},l}var o=i(),s=null,a=qt.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),qt.options.usePureJavaScript||!qt.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(!qt.random)qt.random=o;else for(var f in o)qt.random[f]=o[f];qt.random.createInstance=i,y0.exports=qt.random})(typeof jQuery<"u"?jQuery:null)})()});var hd=ot((QB,ld)=>{var ce=gt();Ot();var m0=[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],ud=[1,2,3,5],tb=function(e,t){return e<<t&65535|(e&65535)>>16-t},eb=function(e,t){return(e&65535)>>t|e<<16-t&65535};ld.exports=ce.rc2=ce.rc2||{};ce.rc2.expandKey=function(e,t){typeof e=="string"&&(e=ce.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(m0[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,m0[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,m0[r.at(a+1)^r.at(a+o)]);return r};var fd=function(e,t,r){var n=!1,i=null,o=null,s=null,a,c,u,f,l=[];for(e=ce.rc2.expandKey(e,t),u=0;u<64;u++)l.push(e.getInt16Le());r?(a=function(h){for(u=0;u<4;u++)h[u]+=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),h[u]=tb(h[u],ud[u]),f++},c=function(h){for(u=0;u<4;u++)h[u]+=l[h[(u+3)%4]&63]}):(a=function(h){for(u=3;u>=0;u--)h[u]=eb(h[u],ud[u]),h[u]-=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),f--},c=function(h){for(u=3;u>=0;u--)h[u]-=l[h[(u+3)%4]&63]});var d=function(h){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<h.length;g++)for(var b=0;b<h[g][0];b++)h[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(h,p){h&&typeof h=="string"&&(h=ce.util.createBuffer(h)),n=!1,i=ce.util.createBuffer(),o=p||new ce.util.createBuffer,s=h,y.output=o},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var p=!0;if(r)if(h)p=h(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(h)p=h(8,o,!r);else{var g=o.length(),b=o.at(g-1);b>g?p=!1:o.truncate(b)}return p}},y};ce.rc2.startEncrypting=function(e,t,r){var n=ce.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};ce.rc2.createEncryptionCipher=function(e,t){return fd(e,t,!0)};ce.rc2.startDecrypting=function(e,t,r){var n=ce.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};ce.rc2.createDecryptionCipher=function(e,t){return fd(e,t,!1)}});var Es=ot((jB,wd)=>{var g0=gt();wd.exports=g0.jsbn=g0.jsbn||{};var fr,rb=0xdeadbeefcafe,dd=(rb&16777215)==15715070;function L(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))}g0.jsbn.BigInteger=L;function ut(){return new L(null)}function nb(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 ib(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 pd(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"?(L.prototype.am=pd,fr=28):dd&&navigator.appName=="Microsoft Internet Explorer"?(L.prototype.am=ib,fr=30):dd&&navigator.appName!="Netscape"?(L.prototype.am=nb,fr=26):(L.prototype.am=pd,fr=28);L.prototype.DB=fr;L.prototype.DM=(1<<fr)-1;L.prototype.DV=1<<fr;var x0=52;L.prototype.FV=Math.pow(2,x0);L.prototype.F1=x0-fr;L.prototype.F2=2*fr-x0;var ob="0123456789abcdefghijklmnopqrstuvwxyz",ws=new Array,Wn,ye;Wn=48;for(ye=0;ye<=9;++ye)ws[Wn++]=ye;Wn=97;for(ye=10;ye<36;++ye)ws[Wn++]=ye;Wn=65;for(ye=10;ye<36;++ye)ws[Wn++]=ye;function yd(e){return ob.charAt(e)}function md(e,t){var r=ws[e.charCodeAt(t)];return r??-1}function sb(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 ab(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 Lr(e){var t=ut();return t.fromInt(e),t}function cb(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:md(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&&L.ZERO.subTo(this,this)}function ub(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function fb(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=yd(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+=yd(n));return i?o:"0"}function lb(){var e=ut();return L.ZERO.subTo(this,e),e}function hb(){return this.s<0?this.negate():this}function db(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 vs(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 pb(){return this.t<=0?0:this.DB*(this.t-1)+vs(this.data[this.t-1]^this.s&this.DM)}function yb(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 mb(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 gb(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 xb(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 bb(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 wb(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&&L.ZERO.subTo(t,t)}function vb(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 Eb(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=ut());var o=ut(),s=this.s,a=e.s,c=this.DB-vs(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),d=this.FV/l,y=(1<<this.F1)/l,h=1<<this.F2,p=r.t,m=p-u,g=t??ut();for(o.dlShiftTo(m,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),L.ONE.dlShiftTo(u,g),g.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--m>=0;){var b=r.data[--p]==f?this.DM:Math.floor(r.data[p]*d+(r.data[p-1]+h)*y);if((r.data[p]+=o.am(0,b,r,m,0,u))<b)for(o.dlShiftTo(m,g),r.subTo(g,r);r.data[p]<--b;)r.subTo(g,r)}t!=null&&(r.drShiftTo(u,t),s!=a&&L.ZERO.subTo(t,t)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&L.ZERO.subTo(r,r)}}}function Sb(e){var t=ut();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(L.ZERO)>0&&e.subTo(t,t),t}function an(e){this.m=e}function Ab(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function Db(e){return e}function Cb(e){e.divRemTo(this.m,null,e)}function Bb(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function Tb(e,t){e.squareTo(t),this.reduce(t)}an.prototype.convert=Ab;an.prototype.revert=Db;an.prototype.reduce=Cb;an.prototype.mulTo=Bb;an.prototype.sqrTo=Tb;function Ib(){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 cn(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 _b(e){var t=ut();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(L.ZERO)>0&&this.m.subTo(t,t),t}function kb(e){var t=ut();return e.copyTo(t),this.reduce(t),t}function Rb(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 Lb(e,t){e.squareTo(t),this.reduce(t)}function Nb(e,t,r){e.multiplyTo(t,r),this.reduce(r)}cn.prototype.convert=_b;cn.prototype.revert=kb;cn.prototype.reduce=Rb;cn.prototype.mulTo=Nb;cn.prototype.sqrTo=Lb;function Pb(){return(this.t>0?this.data[0]&1:this.s)==0}function Ub(e,t){if(e>4294967295||e<1)return L.ONE;var r=ut(),n=ut(),i=t.convert(this),o=vs(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 Ob(e,t){var r;return e<256||t.isEven()?r=new an(t):r=new cn(t),this.exp(e,r)}L.prototype.copyTo=sb;L.prototype.fromInt=ab;L.prototype.fromString=cb;L.prototype.clamp=ub;L.prototype.dlShiftTo=yb;L.prototype.drShiftTo=mb;L.prototype.lShiftTo=gb;L.prototype.rShiftTo=xb;L.prototype.subTo=bb;L.prototype.multiplyTo=wb;L.prototype.squareTo=vb;L.prototype.divRemTo=Eb;L.prototype.invDigit=Ib;L.prototype.isEven=Pb;L.prototype.exp=Ub;L.prototype.toString=fb;L.prototype.negate=lb;L.prototype.abs=hb;L.prototype.compareTo=db;L.prototype.bitLength=pb;L.prototype.mod=Sb;L.prototype.modPowInt=Ob;L.ZERO=Lr(0);L.ONE=Lr(1);function Kb(){var e=ut();return this.copyTo(e),e}function Mb(){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 Fb(){return this.t==0?this.s:this.data[0]<<24>>24}function Vb(){return this.t==0?this.s:this.data[0]<<16>>16}function Hb(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function qb(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function zb(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=Lr(r),i=ut(),o=ut(),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 Gb(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=md(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&&L.ZERO.subTo(this,this)}function Wb(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(L.ONE.shiftLeft(e-1),b0,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(L.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 $b(){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 Yb(e){return this.compareTo(e)==0}function Xb(e){return this.compareTo(e)<0?this:e}function Zb(e){return this.compareTo(e)>0?this:e}function Qb(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 jb(e,t){return e&t}function Jb(e){var t=ut();return this.bitwiseTo(e,jb,t),t}function b0(e,t){return e|t}function tw(e){var t=ut();return this.bitwiseTo(e,b0,t),t}function gd(e,t){return e^t}function ew(e){var t=ut();return this.bitwiseTo(e,gd,t),t}function xd(e,t){return e&~t}function rw(e){var t=ut();return this.bitwiseTo(e,xd,t),t}function nw(){for(var e=ut(),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 iw(e){var t=ut();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function ow(e){var t=ut();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function sw(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 aw(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+sw(this.data[e]);return this.s<0?this.t*this.DB:-1}function cw(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function uw(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=cw(this.data[r]^t);return e}function fw(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function lw(e,t){var r=L.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function hw(e){return this.changeBit(e,b0)}function dw(e){return this.changeBit(e,xd)}function pw(e){return this.changeBit(e,gd)}function yw(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 mw(e){var t=ut();return this.addTo(e,t),t}function gw(e){var t=ut();return this.subTo(e,t),t}function xw(e){var t=ut();return this.multiplyTo(e,t),t}function bw(e){var t=ut();return this.divRemTo(e,t,null),t}function ww(e){var t=ut();return this.divRemTo(e,null,t),t}function vw(e){var t=ut(),r=ut();return this.divRemTo(e,t,r),new Array(t,r)}function Ew(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function Sw(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 Ki(){}function bd(e){return e}function Aw(e,t,r){e.multiplyTo(t,r)}function Dw(e,t){e.squareTo(t)}Ki.prototype.convert=bd;Ki.prototype.revert=bd;Ki.prototype.mulTo=Aw;Ki.prototype.sqrTo=Dw;function Cw(e){return this.exp(e,new Ki)}function Bw(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 Tw(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 $n(e){this.r2=ut(),this.q3=ut(),L.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function Iw(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=ut();return e.copyTo(t),this.reduce(t),t}function _w(e){return e}function kw(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 Rw(e,t){e.squareTo(t),this.reduce(t)}function Lw(e,t,r){e.multiplyTo(t,r),this.reduce(r)}$n.prototype.convert=Iw;$n.prototype.revert=_w;$n.prototype.reduce=kw;$n.prototype.mulTo=Lw;$n.prototype.sqrTo=Rw;function Nw(e,t){var r=e.bitLength(),n,i=Lr(1),o;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?o=new an(t):t.isEven()?o=new $n(t):o=new cn(t);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=ut();for(o.sqrTo(s[1],f);a<=u;)s[a]=ut(),o.mulTo(f,s[a-2],s[a]),a+=2}var l=e.t-1,d,y=!0,h=ut(),p;for(r=vs(e.data[l])-1;l>=0;){for(r>=c?d=e.data[l]>>r-c&u:(d=(e.data[l]&(1<<r+1)-1)<<c-r,l>0&&(d|=e.data[l-1]>>this.DB+r-c)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),y)s[d].copyTo(i),y=!1;else{for(;a>1;)o.sqrTo(i,h),o.sqrTo(h,i),a-=2;a>0?o.sqrTo(i,h):(p=i,i=h,h=p),o.mulTo(h,s[d],i)}for(;l>=0&&!(e.data[l]&1<<r);)o.sqrTo(i,h),p=i,i=h,h=p,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function Pw(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 Uw(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 Ow(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return L.ZERO;for(var r=e.clone(),n=this.clone(),i=Lr(1),o=Lr(0),s=Lr(0),a=Lr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),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(L.ONE)!=0)return L.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 ke=[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],Kw=(1<<26)/ke[ke.length-1];function Mw(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=ke[ke.length-1]){for(t=0;t<ke.length;++t)if(r.data[0]==ke[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<ke.length;){for(var n=ke[t],i=t+1;i<ke.length&&n<Kw;)n*=ke[i++];for(n=r.modInt(n);t<i;)if(n%ke[t++]==0)return!1}return r.millerRabin(e)}function Fw(e){var t=this.subtract(L.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=Vw(),o,s=0;s<e;++s){do o=new L(this.bitLength(),i);while(o.compareTo(L.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(L.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(L.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function Vw(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}L.prototype.chunkSize=Hb;L.prototype.toRadix=zb;L.prototype.fromRadix=Gb;L.prototype.fromNumber=Wb;L.prototype.bitwiseTo=Qb;L.prototype.changeBit=lw;L.prototype.addTo=yw;L.prototype.dMultiply=Ew;L.prototype.dAddOffset=Sw;L.prototype.multiplyLowerTo=Bw;L.prototype.multiplyUpperTo=Tw;L.prototype.modInt=Uw;L.prototype.millerRabin=Fw;L.prototype.clone=Kb;L.prototype.intValue=Mb;L.prototype.byteValue=Fb;L.prototype.shortValue=Vb;L.prototype.signum=qb;L.prototype.toByteArray=$b;L.prototype.equals=Yb;L.prototype.min=Xb;L.prototype.max=Zb;L.prototype.and=Jb;L.prototype.or=tw;L.prototype.xor=ew;L.prototype.andNot=rw;L.prototype.not=nw;L.prototype.shiftLeft=iw;L.prototype.shiftRight=ow;L.prototype.getLowestSetBit=aw;L.prototype.bitCount=uw;L.prototype.testBit=fw;L.prototype.setBit=hw;L.prototype.clearBit=dw;L.prototype.flipBit=pw;L.prototype.add=mw;L.prototype.subtract=gw;L.prototype.multiply=xw;L.prototype.divide=bw;L.prototype.remainder=ww;L.prototype.divideAndRemainder=vw;L.prototype.modPow=Nw;L.prototype.modInverse=Ow;L.prototype.pow=Cw;L.prototype.gcd=Pw;L.prototype.isProbablePrime=Mw});var Dd=ot((JB,Ad)=>{var Ve=gt();sn();Ot();var Ed=Ad.exports=Ve.sha1=Ve.sha1||{};Ve.md.sha1=Ve.md.algorithms.sha1=Ed;Ed.create=function(){Sd||Hw();var e=null,t=Ve.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=Ve.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Ve.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),vd(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Ve.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(w0.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};vd(l,r,i);var d=Ve.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d},n};var w0=null,Sd=!1;function Hw(){w0="\x80",w0+=Ve.util.fillString("\0",64),Sd=!0}function vd(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 Td=ot((tT,Bd)=>{var He=gt();Ot();Oi();Dd();var Cd=Bd.exports=He.pkcs1=He.pkcs1||{};Cd.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=He.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="",d=c-t.length,y=0;y<d;y++)l+="\0";var h=f.getBytes()+l+""+t;if(!i)i=He.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=Ss(i,a-o.digestLength-1,s),m=He.util.xorBytes(h,p,h.length),g=Ss(m,o.digestLength,s),b=He.util.xorBytes(i,g,i.length);return"\0"+b+m};Cd.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=He.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=Ss(f,i.digestLength,o),d=He.util.xorBytes(u,l,u.length),y=Ss(d,s-i.digestLength-1,o),h=He.util.xorBytes(f,y,f.length),p=h.substring(0,i.digestLength),m=c!=="\0",g=0;g<i.digestLength;++g)m|=a.charAt(g)!==p.charAt(g);for(var b=1,x=i.digestLength,D=i.digestLength;D<h.length;D++){var v=h.charCodeAt(D),E=v&1^1,C=b?65534:0;m|=v&C,b=b&E,x+=b}if(m||h.charCodeAt(x)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(x+1)};function Ss(e,t,r){r||(r=He.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 Id=ot((eT,v0)=>{var Nr=gt();Ot();Es();Oi();(function(){if(Nr.prime){v0.exports=Nr.prime;return}var e=v0.exports=Nr.prime=Nr.prime||{},t=Nr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(l,d){return l|d};e.generateProbablePrime=function(l,d,y){typeof d=="function"&&(y=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var p=d.prng||Nr.random,m={nextBytes:function(g){for(var b=p.getBytesSync(g.length),x=0;x<g.length;++x)g[x]=b.charCodeAt(x)}};if(h.name==="PRIMEINC")return o(l,m,h.options,y);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(l,d,y,h){return"workers"in y?c(l,d,y,h):s(l,d,y,h)}function s(l,d,y,h){var p=u(l,d),m=0,g=f(p.bitLength());"millerRabinTests"in y&&(g=y.millerRabinTests);var b=10;"maxBlockTime"in y&&(b=y.maxBlockTime),a(p,l,d,m,g,b,h)}function a(l,d,y,h,p,m,g){var b=+new Date;do{if(l.bitLength()>d&&(l=u(d,y)),l.isProbablePrime(p))return g(null,l);l.dAddOffset(r[h++%8],0)}while(m<0||+new Date-b<m);Nr.util.setImmediate(function(){a(l,d,y,h,p,m,g)})}function c(l,d,y,h){if(typeof Worker>"u")return s(l,d,y,h);var p=u(l,d),m=y.workers,g=y.workLoad||100,b=g*30/8,x=y.workerScript||"forge/prime.worker.js";if(m===-1)return Nr.util.estimateCores(function(v,E){v&&(E=2),m=E-1,D()});D();function D(){m=Math.max(1,m);for(var v=[],E=0;E<m;++E)v[E]=new Worker(x);for(var C=m,E=0;E<m;++E)v[E].addEventListener("message",O);var B=!1;function O(K){if(!B){--C;var U=K.data;if(U.found){for(var F=0;F<v.length;++F)v[F].terminate();return B=!0,h(null,new t(U.prime,16))}p.bitLength()>l&&(p=u(l,d));var G=p.toString(16);K.target.postMessage({hex:G,workLoad:g}),p.dAddOffset(b,0)}}}}function u(l,d){var y=new t(l,d),h=l-1;return y.testBit(h)||y.bitwiseTo(t.ONE.shiftLeft(h),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 Ds=ot((rT,Ud)=>{var Y=gt();Ui();Es();us();Td();Id();Oi();Ot();typeof at>"u"&&(at=Y.jsbn.BigInteger);var at,E0=Y.util.isNodejs?ms():null,A=Y.asn1,me=Y.util;Y.pki=Y.pki||{};Ud.exports=Y.pki.rsa=Y.rsa=Y.rsa||{};var tt=Y.pki,qw=[6,4,2,4,2,4,6,2],zw={name:"PrivateKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",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:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},Gw={name:"RSAPrivateKey",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},Ww={name:"RSAPublicKey",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},$w=Y.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",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:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:A.Class.UNIVERSAL,type:A.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},Yw={name:"DigestInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:A.Class.UNIVERSAL,type:A.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},Xw=function(e){var t;if(e.algorithm in tt.oids)t=tt.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=A.oidToDer(t).getBytes(),i=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[]),o=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[]);o.value.push(A.create(A.Class.UNIVERSAL,A.Type.OID,!1,n)),o.value.push(A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,""));var s=A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(o),i.value.push(s),A.toDer(i).getBytes()},Nd=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(at.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(at.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new at(Y.util.bytesToHex(Y.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(at.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};tt.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=Pd(e,t,r)):(i=Y.util.createBuffer(),i.putBytes(e));for(var s=new at(i.toHex(),16),a=Nd(s,t,n),c=a.toString(16),u=Y.util.createBuffer(),f=o-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(Y.util.hexToBytes(c)),u.getBytes()};tt.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 at(Y.util.createBuffer(e).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Nd(s,t,r),c=a.toString(16),u=Y.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(Y.util.hexToBytes(c)),n!==!1?As(u.getBytes(),t,r):u.getBytes()};tt.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||Y.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 at(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};tt.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new at(null);r.fromInt(30);for(var n=0,i=function(l,d){return l|d},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 at(c,e.rng),e.num.testBit(u)||e.num.bitwiseTo(at.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(Qw(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(qw[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(at.ONE).gcd(e.e).compareTo(at.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(at.ONE),e.q1=e.q.subtract(at.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(at.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:tt.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:tt.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};tt.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),!Y.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(_d("generateKeyPair"))return E0.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:tt.privateKeyFromPem(u),publicKey:tt.publicKeyFromPem(c)})});if(kd("generateKey")&&kd("exportKey"))return me.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Ld(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return me.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=tt.privateKeyFromAsn1(A.fromDer(Y.util.createBuffer(a)));n(null,{privateKey:c,publicKey:tt.setRsaPublicKey(c.n,c.e)})}});if(Rd("generateKey")&&Rd("exportKey")){var i=me.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Ld(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=me.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var l=f.target.result,d=tt.privateKeyFromAsn1(A.fromDer(Y.util.createBuffer(l)));n(null,{privateKey:d,publicKey:tt.setRsaPublicKey(d.n,d.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(_d("generateKeyPairSync")){var o=E0.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:tt.privateKeyFromPem(o.privateKey),publicKey:tt.publicKeyFromPem(o.publicKey)}}}var s=tt.rsa.createKeyPairGenerationState(e,t,r);if(!n)return tt.rsa.stepKeyPairGenerationState(s,0),s.keys;Zw(s,r,n)};tt.setRsaPublicKey=tt.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 Pd(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return Y.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 tt.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,u){u=As(u,r,!0);var f=A.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),l={},d=[];if(!A.validate(f,Yw,l,d)){var y=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw y.errors=d,y}var h=A.derToOid(l.algorithmIdentifier);if(!(h===Y.oids.md2||h===Y.oids.md5||h===Y.oids.sha1||h===Y.oids.sha224||h===Y.oids.sha256||h===Y.oids.sha384||h===Y.oids.sha512||h===Y.oids["sha512-224"]||h===Y.oids["sha512-256"])){var y=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw y.oid=h,y}if((h===Y.oids.md2||h===Y.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=As(u,r,!0),c===u}});var a=tt.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};tt.setRsaPrivateKey=tt.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 d=tt.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:As};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(y,h){return Y.pkcs1.decode_rsa_oaep(h,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(d,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:Xw},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},l=1);var d=f.encode(u,c.n.bitLength());return tt.rsa.encrypt(d,c,l)},c};tt.wrapRsaPrivateKey=function(e){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,A.integerToDer(0).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(tt.oids.rsaEncryption).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")]),A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,A.toDer(e).getBytes())])};tt.privateKeyFromAsn1=function(e){var t={},r=[];if(A.validate(e,zw,t,r)&&(e=A.fromDer(Y.util.createBuffer(t.privateKey))),t={},r=[],!A.validate(e,Gw,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=Y.util.createBuffer(t.privateKeyModulus).toHex(),o=Y.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=Y.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=Y.util.createBuffer(t.privateKeyPrime1).toHex(),c=Y.util.createBuffer(t.privateKeyPrime2).toHex(),u=Y.util.createBuffer(t.privateKeyExponent1).toHex(),f=Y.util.createBuffer(t.privateKeyExponent2).toHex(),l=Y.util.createBuffer(t.privateKeyCoefficient).toHex(),tt.setRsaPrivateKey(new at(i,16),new at(o,16),new at(s,16),new at(a,16),new at(c,16),new at(u,16),new at(f,16),new at(l,16))};tt.privateKeyToAsn1=tt.privateKeyToRSAPrivateKey=function(e){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,A.integerToDer(0).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.n)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.e)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.d)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.p)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.q)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.dP)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.dQ)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.qInv))])};tt.publicKeyFromAsn1=function(e){var t={},r=[];if(A.validate(e,$w,t,r)){var n=A.derToOid(t.publicKeyOid);if(n!==tt.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!A.validate(e,Ww,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=Y.util.createBuffer(t.publicKeyModulus).toHex(),s=Y.util.createBuffer(t.publicKeyExponent).toHex();return tt.setRsaPublicKey(new at(o,16),new at(s,16))};tt.publicKeyToAsn1=tt.publicKeyToSubjectPublicKeyInfo=function(e){return 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(tt.oids.rsaEncryption).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")]),A.create(A.Class.UNIVERSAL,A.Type.BITSTRING,!1,[tt.publicKeyToRSAPublicKey(e)])])};tt.publicKeyToRSAPublicKey=function(e){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.n)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.e))])};function Pd(e,t,r){var n=Y.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=Y.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 As(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),o=Y.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 Zw(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){Y.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(at.ONE).gcd(e.e).compareTo(at.ONE)!==0){e.p=null,i();return}if(e.q.subtract(at.ONE).gcd(e.e).compareTo(at.ONE)!==0){e.q=null,o(e.qBits,s);return}if(e.p1=e.p.subtract(at.ONE),e.q1=e.q.subtract(at.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(at.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:tt.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:tt.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function qe(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=Y.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 Qw(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 _d(e){return Y.util.isNodejs&&typeof E0[e]=="function"}function kd(e){return typeof me.globalScope<"u"&&typeof me.globalScope.crypto=="object"&&typeof me.globalScope.crypto.subtle=="object"&&typeof me.globalScope.crypto.subtle[e]=="function"}function Rd(e){return typeof me.globalScope<"u"&&typeof me.globalScope.msCrypto=="object"&&typeof me.globalScope.msCrypto.subtle=="object"&&typeof me.globalScope.msCrypto.subtle[e]=="function"}function Ld(e){for(var t=Y.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var Hd=ot((nT,Vd)=>{var z=gt();d0();Ui();Wh();sn();us();Qh();td();Oi();hd();Ds();Ot();typeof Od>"u"&&(Od=z.jsbn.BigInteger);var Od,I=z.asn1,nt=z.pki=z.pki||{};Vd.exports=nt.pbe=z.pbe=z.pbe||{};var un=nt.oids,jw={name:"EncryptedPrivateKeyInfo",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Jw={name:"PBES2Algorithms",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},tv={name:"pkcs-12PbeParams",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"iterations"}]};nt.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=z.random.getBytesSync(r.saltSize),i=r.count,o=I.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=un["aes128-CBC"],l=z.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,f=un["aes192-CBC"],l=z.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,f=un["aes256-CBC"],l=z.aes.createEncryptionCipher;break;case"des":s=8,u=8,f=un.desCBC,l=z.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var y="hmacWith"+r.prfAlgorithm.toUpperCase(),h=Fd(y),p=z.pkcs5.pbkdf2(t,n,i,s,h),m=z.random.getBytesSync(u),g=l(p);g.start(m),g.update(I.toDer(e)),g.finish(),c=g.output.getBytes();var b=ev(n,o,s,y);a=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(un.pkcs5PBES2).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(un.pkcs5PBKDF2).getBytes()),b]),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(f).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,m)])])])}else if(r.algorithm==="3des"){s=24;var x=new z.util.ByteBuffer(n),p=nt.pbe.generatePkcs12Key(t,x,1,i,s),m=nt.pbe.generatePkcs12Key(t,x,2,i,s),g=z.des.createEncryptionCipher(p);g.start(m),g.update(I.toDer(e)),g.finish(),c=g.output.getBytes(),a=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(un["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,n),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var D=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[a,I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,c)]);return D};nt.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!I.validate(e,jw,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=I.derToOid(n.encryptionOid),a=nt.pbe.getCipher(s,n.encryptionParams,t),c=z.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=I.fromDer(a.output)),r};nt.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:I.toDer(e).getBytes()};return z.pem.encode(r,{maxline:t})};nt.encryptedPrivateKeyFromPem=function(e){var t=z.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 I.fromDer(t.body)};nt.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=nt.wrapRsaPrivateKey(nt.privateKeyToAsn1(e));return n=nt.encryptPrivateKeyInfo(n,t,r),nt.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=z.random.getBytesSync(8),a=z.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=z.random.getBytesSync(8),a=z.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=z.pbe.opensslDeriveBytes(t,o.substr(0,8),s),f=a(u);f.start(o),f.update(I.toDer(nt.privateKeyToAsn1(e))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:z.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return z.pem.encode(l)};nt.decryptRsaPrivateKey=function(e,t){var r=null,n=z.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=z.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=z.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=z.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=z.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=z.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return z.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return z.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return z.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=z.util.hexToBytes(n.dekInfo.parameters),c=z.pbe.opensslDeriveBytes(t,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(z.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=nt.decryptPrivateKeyInfo(I.fromDer(r),t):r=I.fromDer(r),r!==null&&(r=nt.privateKeyFromAsn1(r)),r};nt.pbe.generatePkcs12Key=function(e,t,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in z.md))throw new Error('"sha1" hash algorithm unavailable.');o=z.md.sha1.create()}var c=o.digestLength,u=o.blockLength,f=new z.util.ByteBuffer,l=new z.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var d=l.length(),y=t.length(),h=new z.util.ByteBuffer;h.fillWithByte(r,u);var p=u*Math.ceil(y/u),m=new z.util.ByteBuffer;for(a=0;a<p;a++)m.putByte(t.at(a%y));var g=u*Math.ceil(d/u),b=new z.util.ByteBuffer;for(a=0;a<g;a++)b.putByte(l.at(a%d));var x=m;x.putBuffer(b);for(var D=Math.ceil(i/c),v=1;v<=D;v++){var E=new z.util.ByteBuffer;E.putBytes(h.bytes()),E.putBytes(x.bytes());for(var C=0;C<n;C++)o.start(),o.update(E.getBytes()),E=o.digest();var B=new z.util.ByteBuffer;for(a=0;a<u;a++)B.putByte(E.at(a%c));var O=Math.ceil(y/u)+Math.ceil(d/u),K=new z.util.ByteBuffer;for(s=0;s<O;s++){var U=new z.util.ByteBuffer(x.getBytes(u)),F=511;for(a=B.length()-1;a>=0;a--)F=F>>8,F+=B.at(a)+U.at(a),U.setAt(a,F&255);K.putBuffer(U)}x=K,f.putBuffer(E)}return f.truncate(f.length()-i),f};nt.pbe.getCipher=function(e,t,r){switch(e){case nt.oids.pkcs5PBES2:return nt.pbe.getCipherForPBES2(e,t,r);case nt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case nt.oids["pbewithSHAAnd40BitRC2-CBC"]:return nt.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}};nt.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!I.validate(t,Jw,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=I.derToOid(n.kdfOid),e!==nt.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=I.derToOid(n.encOid),e!==nt.oids["aes128-CBC"]&&e!==nt.oids["aes192-CBC"]&&e!==nt.oids["aes256-CBC"]&&e!==nt.oids["des-EDE3-CBC"]&&e!==nt.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=z.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(nt.oids[e]){case"aes128-CBC":c=16,u=z.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=z.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=z.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=z.des.createDecryptionCipher;break;case"desCBC":c=8,u=z.des.createDecryptionCipher;break}var f=Md(n.prfOid),l=z.pkcs5.pbkdf2(r,s,a,c,f),d=n.encIv,y=u(l);return y.start(d),y};nt.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!I.validate(t,tv,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=z.util.createBuffer(n.salt),a=z.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(e){case nt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=z.des.startDecrypting;break;case nt.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(p,m){var g=z.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=Md(n.prfOid),d=nt.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var y=nt.pbe.generatePkcs12Key(r,s,2,a,u,l);return f(d,y)};nt.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in z.md))throw new Error('"md5" hash algorithm unavailable.');n=z.md.md5.create()}t===null&&(t="");for(var i=[Kd(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(Kd(n,i[s-1]+e+t));return i.join("").substr(0,r)};function Kd(e,t){return e.start().update(t).digest().getBytes()}function Md(e){var t;if(!e)t="hmacWithSHA1";else if(t=nt.oids[I.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Fd(t)}function Fd(e){var t=z.md;switch(e){case"hmacWithSHA224":t=z.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 ev(e,t,r,n){var i=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,e),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,z.util.hexToBytes(r.toString(16))),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(nt.oids[n]).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.NULL,!1,"")])),i}});var ip=ot((iI,np)=>{var St=gt();sn();Ot();var Fi=np.exports=St.sha512=St.sha512||{};St.md.sha512=St.md.algorithms.sha512=Fi;var ep=St.sha384=St.sha512.sha384=St.sha512.sha384||{};ep.create=function(){return Fi.create("SHA-384")};St.md.sha384=St.md.algorithms.sha384=ep;St.sha512.sha256=St.sha512.sha256||{create:function(){return Fi.create("SHA-512/256")}};St.md["sha512/256"]=St.md.algorithms["sha512/256"]=St.sha512.sha256;St.sha512.sha224=St.sha512.sha224||{create:function(){return Fi.create("SHA-512/224")}};St.md["sha512/224"]=St.md.algorithms["sha512/224"]=St.sha512.sha224;Fi.create=function(e){if(rp||fv(),typeof e>"u"&&(e="SHA-512"),!(e in ln))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=ln[e],r=null,n=St.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=St.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=St.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),tp(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=St.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=u&a.blockLength-1;c.putBytes(T0.substr(0,a.blockLength-f));for(var l,d,y=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)l=a.fullMessageLength[h+1]*8,d=l/4294967296>>>0,y+=d,c.putInt32(y>>>0),y=l>>>0;c.putInt32(y);for(var p=new Array(r.length),h=0;h<r.length;++h)p[h]=r[h].slice(0);tp(p,i,c);var m=St.util.createBuffer(),g;e==="SHA-512"?g=p.length:e==="SHA-384"?g=p.length-2:g=p.length-4;for(var h=0;h<g;++h)m.putInt32(p[h][0]),(h!==g-1||e!=="SHA-512/224")&&m.putInt32(p[h][1]);return m},a};var T0=null,rp=!1,I0=null,ln=null;function fv(){T0="\x80",T0+=St.util.fillString("\0",128),I0=[[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]],ln={},ln["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],ln["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],ln["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],ln["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],rp=!0}function tp(e,t,r){for(var n,i,o,s,a,c,u,f,l,d,y,h,p,m,g,b,x,D,v,E,C,B,O,K,U,F,G,Q,T,R,_,k,S,P,M,H=r.length();H>=128;){for(T=0;T<16;++T)t[T][0]=r.getInt32()>>>0,t[T][1]=r.getInt32()>>>0;for(;T<80;++T)k=t[T-2],R=k[0],_=k[1],n=((R>>>19|_<<13)^(_>>>29|R<<3)^R>>>6)>>>0,i=((R<<13|_>>>19)^(_<<3|R>>>29)^(R<<26|_>>>6))>>>0,P=t[T-15],R=P[0],_=P[1],o=((R>>>1|_<<31)^(R>>>8|_<<24)^R>>>7)>>>0,s=((R<<31|_>>>1)^(R<<24|_>>>8)^(R<<25|_>>>7))>>>0,S=t[T-7],M=t[T-16],_=i+S[1]+s+M[1],t[T][0]=n+S[0]+o+M[0]+(_/4294967296>>>0)>>>0,t[T][1]=_>>>0;for(p=e[0][0],m=e[0][1],g=e[1][0],b=e[1][1],x=e[2][0],D=e[2][1],v=e[3][0],E=e[3][1],C=e[4][0],B=e[4][1],O=e[5][0],K=e[5][1],U=e[6][0],F=e[6][1],G=e[7][0],Q=e[7][1],T=0;T<80;++T)u=((C>>>14|B<<18)^(C>>>18|B<<14)^(B>>>9|C<<23))>>>0,f=((C<<18|B>>>14)^(C<<14|B>>>18)^(B<<23|C>>>9))>>>0,l=(U^C&(O^U))>>>0,d=(F^B&(K^F))>>>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|x&(p^g))>>>0,h=(m&b|D&(m^b))>>>0,_=Q+f+d+I0[T][1]+t[T][1],n=G+u+l+I0[T][0]+t[T][0]+(_/4294967296>>>0)>>>0,i=_>>>0,_=c+h,o=a+y+(_/4294967296>>>0)>>>0,s=_>>>0,G=U,Q=F,U=O,F=K,O=C,K=B,_=E+i,C=v+n+(_/4294967296>>>0)>>>0,B=_>>>0,v=x,E=D,x=g,D=b,g=p,b=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]+b,e[1][0]=e[1][0]+g+(_/4294967296>>>0)>>>0,e[1][1]=_>>>0,_=e[2][1]+D,e[2][0]=e[2][0]+x+(_/4294967296>>>0)>>>0,e[2][1]=_>>>0,_=e[3][1]+E,e[3][0]=e[3][0]+v+(_/4294967296>>>0)>>>0,e[3][1]=_>>>0,_=e[4][1]+B,e[4][0]=e[4][0]+C+(_/4294967296>>>0)>>>0,e[4][1]=_>>>0,_=e[5][1]+K,e[5][0]=e[5][0]+O+(_/4294967296>>>0)>>>0,e[5][1]=_>>>0,_=e[6][1]+F,e[6][0]=e[6][0]+U+(_/4294967296>>>0)>>>0,e[6][1]=_>>>0,_=e[7][1]+Q,e[7][0]=e[7][0]+G+(_/4294967296>>>0)>>>0,e[7][1]=_>>>0,H-=128}}});var Kp=ot((vk,Op)=>{"use strict";function Mv(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),o=i.charCodeAt(0);if(t[o]!==255)throw new TypeError(i+" is ambiguous");t[o]=n}var s=e.length,a=e.charAt(0),c=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function f(y){if(y instanceof Uint8Array||(ArrayBuffer.isView(y)?y=new Uint8Array(y.buffer,y.byteOffset,y.byteLength):Array.isArray(y)&&(y=Uint8Array.from(y))),!(y instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(y.length===0)return"";for(var h=0,p=0,m=0,g=y.length;m!==g&&y[m]===0;)m++,h++;for(var b=(g-m)*u+1>>>0,x=new Uint8Array(b);m!==g;){for(var D=y[m],v=0,E=b-1;(D!==0||v<p)&&E!==-1;E--,v++)D+=256*x[E]>>>0,x[E]=D%s>>>0,D=D/s>>>0;if(D!==0)throw new Error("Non-zero carry");p=v,m++}for(var C=b-p;C!==b&&x[C]===0;)C++;for(var B=a.repeat(h);C<b;++C)B+=e.charAt(x[C]);return B}function l(y){if(typeof y!="string")throw new TypeError("Expected String");if(y.length===0)return new Uint8Array;var h=0;if(y[h]!==" "){for(var p=0,m=0;y[h]===a;)p++,h++;for(var g=(y.length-h)*c+1>>>0,b=new Uint8Array(g);y[h];){var x=t[y.charCodeAt(h)];if(x===255)return;for(var D=0,v=g-1;(x!==0||D<m)&&v!==-1;v--,D++)x+=s*b[v]>>>0,b[v]=x%256>>>0,x=x/256>>>0;if(x!==0)throw new Error("Non-zero carry");m=D,h++}if(y[h]!==" "){for(var E=g-m;E!==g&&b[E]===0;)E++;for(var C=new Uint8Array(p+(g-E)),B=p;E!==g;)C[B++]=b[E++];return C}}}function d(y){var h=l(y);if(h)return h;throw new Error("Non-base"+s+" character")}return{encode:f,decodeUnsafe:l,decode:d}}Op.exports=Mv});var Os=ot((Ek,Mp)=>{"use strict";var Fv=new TextDecoder,Vv=e=>Fv.decode(e),Hv=new TextEncoder,qv=e=>Hv.encode(e);function zv(e,t){let r=new Uint8Array(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return r}Mp.exports={decodeText:Vv,encodeText:qv,concat:zv}});var Vp=ot((Sk,Fp)=>{"use strict";var{encodeText:Gv}=Os(),H0=class{constructor(t,r,n,i){this.name=t,this.code=r,this.codeBuf=Gv(this.code),this.alphabet=i,this.codec=n(i)}encode(t){return this.codec.encode(t)}decode(t){for(let r of t)if(this.alphabet&&this.alphabet.indexOf(r)<0)throw new Error(`invalid character '${r}' in '${t}'`);return this.codec.decode(t)}};Fp.exports=H0});var qp=ot((Ak,Hp)=>{"use strict";var Wv=(e,t,r)=>{let n={};for(let u=0;u<t.length;++u)n[t[u]]=u;let i=e.length;for(;e[i-1]==="=";)--i;let o=new Uint8Array(i*r/8|0),s=0,a=0,c=0;for(let u=0;u<i;++u){let f=n[e[u]];if(f===void 0)throw new SyntaxError("Invalid character "+e[u]);a=a<<r|f,s+=r,s>=8&&(s-=8,o[c++]=255&a>>s)}if(s>=r||255&a<<8-s)throw new SyntaxError("Unexpected end of data");return o},$v=(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},Yv=e=>t=>({encode(r){return $v(r,t,e)},decode(r){return Wv(r,t,e)}});Hp.exports={rfc4648:Yv}});var $p=ot((Dk,Wp)=>{"use strict";var Yi=Kp(),Xv=Vp(),{rfc4648:Yt}=qp(),{decodeText:Zv,encodeText:Qv}=Os(),jv=()=>({encode:Zv,decode:Qv}),zp=[["identity","\0",jv,""],["base2","0",Yt(1),"01"],["base8","7",Yt(3),"01234567"],["base10","9",Yi,"0123456789"],["base16","f",Yt(4),"0123456789abcdef"],["base16upper","F",Yt(4),"0123456789ABCDEF"],["base32hex","v",Yt(5),"0123456789abcdefghijklmnopqrstuv"],["base32hexupper","V",Yt(5),"0123456789ABCDEFGHIJKLMNOPQRSTUV"],["base32hexpad","t",Yt(5),"0123456789abcdefghijklmnopqrstuv="],["base32hexpadupper","T",Yt(5),"0123456789ABCDEFGHIJKLMNOPQRSTUV="],["base32","b",Yt(5),"abcdefghijklmnopqrstuvwxyz234567"],["base32upper","B",Yt(5),"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"],["base32pad","c",Yt(5),"abcdefghijklmnopqrstuvwxyz234567="],["base32padupper","C",Yt(5),"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567="],["base32z","h",Yt(5),"ybndrfg8ejkmcpqxot1uwisza345h769"],["base36","k",Yi,"0123456789abcdefghijklmnopqrstuvwxyz"],["base36upper","K",Yi,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"],["base58btc","z",Yi,"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"],["base58flickr","Z",Yi,"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"],["base64","m",Yt(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"],["base64pad","M",Yt(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],["base64url","u",Yt(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"],["base64urlpad","U",Yt(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_="]],Gp=zp.reduce((e,t)=>(e[t[0]]=new Xv(t[0],t[1],t[2],t[3]),e),{}),Jv=zp.reduce((e,t)=>(e[t[1]]=Gp[t[0]],e),{});Wp.exports={names:Gp,codes:Jv}});var Zp=ot((pr,Xp)=>{"use strict";var jn=$p(),{encodeText:t8,decodeText:Ks,concat:Yp}=Os();function e8(e,t){if(!t)throw new Error("requires an encoded Uint8Array");let{name:r,codeBuf:n}=yn(e);return o8(r,t),Yp([n,t],n.length+t.length)}function r8(e,t){let r=yn(e),n=t8(r.encode(t));return Yp([r.codeBuf,n],r.codeBuf.length+n.length)}function n8(e){e instanceof Uint8Array&&(e=Ks(e));let t=e[0];return["f","F","v","V","t","T","b","B","c","C","h","k","K"].includes(t)&&(e=e.toLowerCase()),yn(e[0]).decode(e.substring(1))}function i8(e){if(e instanceof Uint8Array&&(e=Ks(e)),Object.prototype.toString.call(e)!=="[object String]")return!1;try{return yn(e[0]).name}catch{return!1}}function o8(e,t){yn(e).decode(Ks(t))}function yn(e){if(Object.prototype.hasOwnProperty.call(jn.names,e))return jn.names[e];if(Object.prototype.hasOwnProperty.call(jn.codes,e))return jn.codes[e];throw new Error(`Unsupported encoding: ${e}`)}function s8(e){return e instanceof Uint8Array&&(e=Ks(e)),yn(e[0])}pr=Xp.exports=e8;pr.encode=r8;pr.decode=n8;pr.isEncoded=i8;pr.encoding=yn;pr.encodingFromData=s8;var a8=Object.freeze(jn.names),c8=Object.freeze(jn.codes);pr.names=a8;pr.codes=c8});var t1=ot((Ck,Jp)=>{Jp.exports=jp;var Qp=128,u8=127,f8=~u8,l8=Math.pow(2,31);function jp(e,t,r){t=t||[],r=r||0;for(var n=r;e>=l8;)t[r++]=e&255|Qp,e/=128;for(;e&f8;)t[r++]=e&255|Qp,e>>>=7;return t[r]=e|0,jp.bytes=r-n+1,t}});var n1=ot((Bk,r1)=>{r1.exports=q0;var h8=128,e1=127;function q0(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw q0.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&e1)<<i:(s&e1)*Math.pow(2,i),i+=7}while(s>=h8);return q0.bytes=o-n,r}});var o1=ot((Tk,i1)=>{var d8=Math.pow(2,7),p8=Math.pow(2,14),y8=Math.pow(2,21),m8=Math.pow(2,28),g8=Math.pow(2,35),x8=Math.pow(2,42),b8=Math.pow(2,49),w8=Math.pow(2,56),v8=Math.pow(2,63);i1.exports=function(e){return e<d8?1:e<p8?2:e<y8?3:e<m8?4:e<g8?5:e<x8?6:e<b8?7:e<w8?8:e<v8?9:10}});var a1=ot((Ik,s1)=>{s1.exports={encode:t1(),decode:n1(),encodingLength:o1()}});var u1=ot((_k,c1)=>{"use strict";var E8=Object.freeze({identity:0,sha1:17,"sha2-256":18,"sha2-512":19,"sha3-512":20,"sha3-384":21,"sha3-256":22,"sha3-224":23,"shake-128":24,"shake-256":25,"keccak-224":26,"keccak-256":27,"keccak-384":28,"keccak-512":29,blake3:30,"murmur3-128":34,"murmur3-32":35,"dbl-sha2-256":86,md4:212,md5:213,bmt:214,"sha2-256-trunc254-padded":4114,"ripemd-128":4178,"ripemd-160":4179,"ripemd-256":4180,"ripemd-320":4181,x11:4352,kangarootwelve:7425,"sm3-256":21325,"blake2b-8":45569,"blake2b-16":45570,"blake2b-24":45571,"blake2b-32":45572,"blake2b-40":45573,"blake2b-48":45574,"blake2b-56":45575,"blake2b-64":45576,"blake2b-72":45577,"blake2b-80":45578,"blake2b-88":45579,"blake2b-96":45580,"blake2b-104":45581,"blake2b-112":45582,"blake2b-120":45583,"blake2b-128":45584,"blake2b-136":45585,"blake2b-144":45586,"blake2b-152":45587,"blake2b-160":45588,"blake2b-168":45589,"blake2b-176":45590,"blake2b-184":45591,"blake2b-192":45592,"blake2b-200":45593,"blake2b-208":45594,"blake2b-216":45595,"blake2b-224":45596,"blake2b-232":45597,"blake2b-240":45598,"blake2b-248":45599,"blake2b-256":45600,"blake2b-264":45601,"blake2b-272":45602,"blake2b-280":45603,"blake2b-288":45604,"blake2b-296":45605,"blake2b-304":45606,"blake2b-312":45607,"blake2b-320":45608,"blake2b-328":45609,"blake2b-336":45610,"blake2b-344":45611,"blake2b-352":45612,"blake2b-360":45613,"blake2b-368":45614,"blake2b-376":45615,"blake2b-384":45616,"blake2b-392":45617,"blake2b-400":45618,"blake2b-408":45619,"blake2b-416":45620,"blake2b-424":45621,"blake2b-432":45622,"blake2b-440":45623,"blake2b-448":45624,"blake2b-456":45625,"blake2b-464":45626,"blake2b-472":45627,"blake2b-480":45628,"blake2b-488":45629,"blake2b-496":45630,"blake2b-504":45631,"blake2b-512":45632,"blake2s-8":45633,"blake2s-16":45634,"blake2s-24":45635,"blake2s-32":45636,"blake2s-40":45637,"blake2s-48":45638,"blake2s-56":45639,"blake2s-64":45640,"blake2s-72":45641,"blake2s-80":45642,"blake2s-88":45643,"blake2s-96":45644,"blake2s-104":45645,"blake2s-112":45646,"blake2s-120":45647,"blake2s-128":45648,"blake2s-136":45649,"blake2s-144":45650,"blake2s-152":45651,"blake2s-160":45652,"blake2s-168":45653,"blake2s-176":45654,"blake2s-184":45655,"blake2s-192":45656,"blake2s-200":45657,"blake2s-208":45658,"blake2s-216":45659,"blake2s-224":45660,"blake2s-232":45661,"blake2s-240":45662,"blake2s-248":45663,"blake2s-256":45664,"skein256-8":45825,"skein256-16":45826,"skein256-24":45827,"skein256-32":45828,"skein256-40":45829,"skein256-48":45830,"skein256-56":45831,"skein256-64":45832,"skein256-72":45833,"skein256-80":45834,"skein256-88":45835,"skein256-96":45836,"skein256-104":45837,"skein256-112":45838,"skein256-120":45839,"skein256-128":45840,"skein256-136":45841,"skein256-144":45842,"skein256-152":45843,"skein256-160":45844,"skein256-168":45845,"skein256-176":45846,"skein256-184":45847,"skein256-192":45848,"skein256-200":45849,"skein256-208":45850,"skein256-216":45851,"skein256-224":45852,"skein256-232":45853,"skein256-240":45854,"skein256-248":45855,"skein256-256":45856,"skein512-8":45857,"skein512-16":45858,"skein512-24":45859,"skein512-32":45860,"skein512-40":45861,"skein512-48":45862,"skein512-56":45863,"skein512-64":45864,"skein512-72":45865,"skein512-80":45866,"skein512-88":45867,"skein512-96":45868,"skein512-104":45869,"skein512-112":45870,"skein512-120":45871,"skein512-128":45872,"skein512-136":45873,"skein512-144":45874,"skein512-152":45875,"skein512-160":45876,"skein512-168":45877,"skein512-176":45878,"skein512-184":45879,"skein512-192":45880,"skein512-200":45881,"skein512-208":45882,"skein512-216":45883,"skein512-224":45884,"skein512-232":45885,"skein512-240":45886,"skein512-248":45887,"skein512-256":45888,"skein512-264":45889,"skein512-272":45890,"skein512-280":45891,"skein512-288":45892,"skein512-296":45893,"skein512-304":45894,"skein512-312":45895,"skein512-320":45896,"skein512-328":45897,"skein512-336":45898,"skein512-344":45899,"skein512-352":45900,"skein512-360":45901,"skein512-368":45902,"skein512-376":45903,"skein512-384":45904,"skein512-392":45905,"skein512-400":45906,"skein512-408":45907,"skein512-416":45908,"skein512-424":45909,"skein512-432":45910,"skein512-440":45911,"skein512-448":45912,"skein512-456":45913,"skein512-464":45914,"skein512-472":45915,"skein512-480":45916,"skein512-488":45917,"skein512-496":45918,"skein512-504":45919,"skein512-512":45920,"skein1024-8":45921,"skein1024-16":45922,"skein1024-24":45923,"skein1024-32":45924,"skein1024-40":45925,"skein1024-48":45926,"skein1024-56":45927,"skein1024-64":45928,"skein1024-72":45929,"skein1024-80":45930,"skein1024-88":45931,"skein1024-96":45932,"skein1024-104":45933,"skein1024-112":45934,"skein1024-120":45935,"skein1024-128":45936,"skein1024-136":45937,"skein1024-144":45938,"skein1024-152":45939,"skein1024-160":45940,"skein1024-168":45941,"skein1024-176":45942,"skein1024-184":45943,"skein1024-192":45944,"skein1024-200":45945,"skein1024-208":45946,"skein1024-216":45947,"skein1024-224":45948,"skein1024-232":45949,"skein1024-240":45950,"skein1024-248":45951,"skein1024-256":45952,"skein1024-264":45953,"skein1024-272":45954,"skein1024-280":45955,"skein1024-288":45956,"skein1024-296":45957,"skein1024-304":45958,"skein1024-312":45959,"skein1024-320":45960,"skein1024-328":45961,"skein1024-336":45962,"skein1024-344":45963,"skein1024-352":45964,"skein1024-360":45965,"skein1024-368":45966,"skein1024-376":45967,"skein1024-384":45968,"skein1024-392":45969,"skein1024-400":45970,"skein1024-408":45971,"skein1024-416":45972,"skein1024-424":45973,"skein1024-432":45974,"skein1024-440":45975,"skein1024-448":45976,"skein1024-456":45977,"skein1024-464":45978,"skein1024-472":45979,"skein1024-480":45980,"skein1024-488":45981,"skein1024-496":45982,"skein1024-504":45983,"skein1024-512":45984,"skein1024-520":45985,"skein1024-528":45986,"skein1024-536":45987,"skein1024-544":45988,"skein1024-552":45989,"skein1024-560":45990,"skein1024-568":45991,"skein1024-576":45992,"skein1024-584":45993,"skein1024-592":45994,"skein1024-600":45995,"skein1024-608":45996,"skein1024-616":45997,"skein1024-624":45998,"skein1024-632":45999,"skein1024-640":46e3,"skein1024-648":46001,"skein1024-656":46002,"skein1024-664":46003,"skein1024-672":46004,"skein1024-680":46005,"skein1024-688":46006,"skein1024-696":46007,"skein1024-704":46008,"skein1024-712":46009,"skein1024-720":46010,"skein1024-728":46011,"skein1024-736":46012,"skein1024-744":46013,"skein1024-752":46014,"skein1024-760":46015,"skein1024-768":46016,"skein1024-776":46017,"skein1024-784":46018,"skein1024-792":46019,"skein1024-800":46020,"skein1024-808":46021,"skein1024-816":46022,"skein1024-824":46023,"skein1024-832":46024,"skein1024-840":46025,"skein1024-848":46026,"skein1024-856":46027,"skein1024-864":46028,"skein1024-872":46029,"skein1024-880":46030,"skein1024-888":46031,"skein1024-896":46032,"skein1024-904":46033,"skein1024-912":46034,"skein1024-920":46035,"skein1024-928":46036,"skein1024-936":46037,"skein1024-944":46038,"skein1024-952":46039,"skein1024-960":46040,"skein1024-968":46041,"skein1024-976":46042,"skein1024-984":46043,"skein1024-992":46044,"skein1024-1000":46045,"skein1024-1008":46046,"skein1024-1016":46047,"skein1024-1024":46048,"poseidon-bls12_381-a2-fc1":46081,"poseidon-bls12_381-a2-fc1-sc":46082});c1.exports={names:E8}});function S8(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(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,m=0,g=0,b=h.length;g!==b&&h[g]===0;)g++,p++;for(var x=(b-g)*f+1>>>0,D=new Uint8Array(x);g!==b;){for(var v=h[g],E=0,C=x-1;(v!==0||E<m)&&C!==-1;C--,E++)v+=256*D[C]>>>0,D[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=E,g++}for(var B=x-m;B!==x&&D[B]===0;)B++;for(var O=c.repeat(p);B<x;++B)O+=e.charAt(D[B]);return O}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var m=0,g=0;h[p]===c;)m++,p++;for(var b=(h.length-p)*u+1>>>0,x=new Uint8Array(b);h[p];){var D=r[h.charCodeAt(p)];if(D===255)return;for(var v=0,E=b-1;(D!==0||v<g)&&E!==-1;E--,v++)D+=a*x[E]>>>0,x[E]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");g=v,p++}if(h[p]!==" "){for(var C=b-g;C!==b&&x[C]===0;)C++;for(var B=new Uint8Array(m+(b-C)),O=m;C!==b;)B[O++]=x[C++];return B}}}function y(h){var p=d(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:y}}var A8,D8,f1,l1=lt(()=>{A8=S8,D8=A8,f1=D8});var Rk,h1,yr,d1,p1,Pr=lt(()=>{Rk=new Uint8Array(0),h1=(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},yr=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")},d1=e=>new TextEncoder().encode(e),p1=e=>new TextDecoder().decode(e)});var z0,G0,W0,m1,$0,Jn,Ur,C8,B8,_t,Ne=lt(()=>{l1();Pr();z0=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")}},G0=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 m1(this,t)}},W0=class{constructor(t){this.decoders=t}or(t){return m1(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`)}},m1=(e,t)=>new W0({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),$0=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new z0(t,r,n),this.decoder=new G0(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Jn=({name:e,prefix:t,encode:r,decode:n})=>new $0(e,t,r,n),Ur=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=f1(r,t);return Jn({prefix:e,name:t,encode:n,decode:o=>yr(i(o))})},C8=(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},B8=(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},_t=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>Jn({prefix:t,name:e,encode(i){return B8(i,n,r)},decode(i){return C8(i,n,r,e)}})});var Y0={};ct(Y0,{identity:()=>T8});var T8,g1=lt(()=>{Ne();Pr();T8=Jn({prefix:"\0",name:"identity",encode:e=>p1(e),decode:e=>d1(e)})});var X0={};ct(X0,{base2:()=>I8});var I8,x1=lt(()=>{Ne();I8=_t({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})});var Z0={};ct(Z0,{base8:()=>_8});var _8,b1=lt(()=>{Ne();_8=_t({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})});var Q0={};ct(Q0,{base10:()=>k8});var k8,w1=lt(()=>{Ne();k8=Ur({prefix:"9",name:"base10",alphabet:"0123456789"})});var j0={};ct(j0,{base16:()=>R8,base16upper:()=>L8});var R8,L8,v1=lt(()=>{Ne();R8=_t({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),L8=_t({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});var J0={};ct(J0,{base32:()=>ti,base32hex:()=>O8,base32hexpad:()=>M8,base32hexpadupper:()=>F8,base32hexupper:()=>K8,base32pad:()=>P8,base32padupper:()=>U8,base32upper:()=>N8,base32z:()=>V8});var ti,N8,P8,U8,O8,K8,M8,F8,V8,tu=lt(()=>{Ne();ti=_t({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),N8=_t({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),P8=_t({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),U8=_t({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),O8=_t({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),K8=_t({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),M8=_t({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),F8=_t({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),V8=_t({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})});var eu={};ct(eu,{base36:()=>H8,base36upper:()=>q8});var H8,q8,E1=lt(()=>{Ne();H8=Ur({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),q8=Ur({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})});var ru={};ct(ru,{base58btc:()=>We,base58flickr:()=>z8});var We,z8,nu=lt(()=>{Ne();We=Ur({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),z8=Ur({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});var iu={};ct(iu,{base64:()=>G8,base64pad:()=>W8,base64url:()=>$8,base64urlpad:()=>Y8});var G8,W8,$8,Y8,S1=lt(()=>{Ne();G8=_t({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),W8=_t({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),$8=_t({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Y8=_t({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});var ou={};ct(ou,{base256emoji:()=>J8});function Q8(e){return e.reduce((t,r)=>(t+=X8[r],t),"")}function j8(e){let t=[];for(let r of e){let n=Z8[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var A1,X8,Z8,J8,D1=lt(()=>{Ne();A1=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}"),X8=A1.reduce((e,t,r)=>(e[r]=t,e),[]),Z8=A1.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);J8=Jn({prefix:"\u{1F680}",name:"base256emoji",encode:Q8,decode:j8})});function T1(e,t,r){t=t||[],r=r||0;for(var n=r;e>=nE;)t[r++]=e&255|C1,e/=128;for(;e&rE;)t[r++]=e&255|C1,e>>>=7;return t[r]=e|0,T1.bytes=r-n+1,t}function su(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw su.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&B1)<<i:(s&B1)*Math.pow(2,i),i+=7}while(s>=oE);return su.bytes=o-n,r}var tE,C1,eE,rE,nE,iE,oE,B1,sE,aE,cE,uE,fE,lE,hE,dE,pE,yE,mE,gE,Xi,I1=lt(()=>{tE=T1,C1=128,eE=127,rE=~eE,nE=Math.pow(2,31);iE=su,oE=128,B1=127;sE=Math.pow(2,7),aE=Math.pow(2,14),cE=Math.pow(2,21),uE=Math.pow(2,28),fE=Math.pow(2,35),lE=Math.pow(2,42),hE=Math.pow(2,49),dE=Math.pow(2,56),pE=Math.pow(2,63),yE=function(e){return e<sE?1:e<aE?2:e<cE?3:e<uE?4:e<fE?5:e<lE?6:e<hE?7:e<dE?8:e<pE?9:10},mE={encode:tE,decode:iE,encodingLength:yE},gE=mE,Xi=gE});var Zi,ei,ri,Fs=lt(()=>{I1();Zi=(e,t=0)=>[Xi.decode(e,t),Xi.decode.bytes],ei=(e,t,r=0)=>(Xi.encode(e,t,r),t),ri=e=>Xi.encodingLength(e)});var mn,_1,k1,ni,ji=lt(()=>{Pr();Fs();mn=(e,t)=>{let r=t.byteLength,n=ri(e),i=n+ri(r),o=new Uint8Array(i+r);return ei(e,o,0),ei(r,o,n),o.set(t,i),new ni(e,r,t,o)},_1=e=>{let t=yr(e),[r,n]=Zi(t),[i,o]=Zi(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new ni(r,i,s,t)},k1=(e,t)=>e===t?!0:e.code===t.code&&e.size===t.size&&h1(e.bytes,t.bytes),ni=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}}});var cu,au,uu=lt(()=>{ji();cu=({name:e,code:t,encode:r})=>new au(e,t,r),au=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?mn(this.code,r):r.then(n=>mn(this.code,n))}else throw Error("Unknown type, must be binary type")}}});var fu={};ct(fu,{sha256:()=>xE,sha512:()=>bE});var L1,xE,bE,N1=lt(()=>{uu();L1=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),xE=cu({name:"sha2-256",code:18,encode:L1("SHA-256")}),bE=cu({name:"sha2-512",code:19,encode:L1("SHA-512")})});var lu={};ct(lu,{identity:()=>EE});var P1,wE,U1,vE,EE,O1=lt(()=>{Pr();ji();P1=0,wE="identity",U1=yr,vE=e=>mn(P1,U1(e)),EE={code:P1,name:wE,encode:U1,digest:vE}});var K1=lt(()=>{Pr()});var Jk,tR,M1=lt(()=>{Jk=new TextEncoder,tR=new TextDecoder});var qs,DE,CE,BE,Ji,TE,F1,V1,Vs,Hs,IE,_E,kE,H1=lt(()=>{Fs();ji();nu();tu();Pr();qs=class e{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this.byteOffset=i.byteOffset,this.byteLength=i.byteLength,this.asCID=this,this._baseCache=new Map,Object.defineProperties(this,{byteOffset:Hs,byteLength:Hs,code:Vs,version:Vs,multihash:Vs,bytes:Vs,_baseCache:Hs,asCID:Hs})}toV0(){switch(this.version){case 0:return this;default:{let{code:t,multihash:r}=this;if(t!==Ji)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==TE)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=mn(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}equals(t){return t&&this.code===t.code&&this.version===t.version&&k1(this.multihash,t.multihash)}toString(t){let{bytes:r,version:n,_baseCache:i}=this;switch(n){case 0:return CE(r,i,t||We.encoder);default:return BE(r,i,t||ti.encoder)}}toJSON(){return{code:this.code,version:this.version,hash:this.multihash.bytes}}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID("+this.toString()+")"}static isCID(t){return _E(/^0\.0/,kE),!!(t&&(t[V1]||t.asCID===t))}get toBaseEncodedString(){throw new Error("Deprecated, use .toString()")}get codec(){throw new Error('"codec" property is deprecated, use integer "code" property instead')}get buffer(){throw new Error("Deprecated .buffer property, use .bytes to get Uint8Array instead")}get multibaseName(){throw new Error('"multibaseName" property is deprecated')}get prefix(){throw new Error('"prefix" property is deprecated')}static asCID(t){if(t instanceof e)return t;if(t!=null&&t.asCID===t){let{version:r,code:n,multihash:i,bytes:o}=t;return new e(r,n,i,o||F1(r,n,i.bytes))}else if(t!=null&&t[V1]===!0){let{version:r,multihash:n,code:i}=t,o=_1(n);return e.create(r,i,o)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");switch(t){case 0:{if(r!==Ji)throw new Error(`Version 0 CID must use dag-pb (code: ${Ji}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=F1(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,Ji,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=yr(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 ni(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,d]=Zi(t.subarray(r));return r+=d,l},i=n(),o=Ji;if(i===18?(i=0,r=0):i===1&&(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]=DE(t,r),o=e.decode(i);return o._baseCache.set(n,t),o}},DE=(e,t)=>{switch(e[0]){case"Q":{let r=t||We;return[We.prefix,r.decode(`${We.prefix}${e}`)]}case We.prefix:{let r=t||We;return[We.prefix,r.decode(e)]}case ti.prefix:{let r=t||ti;return[ti.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)]}}},CE=(e,t,r)=>{let{prefix:n}=r;if(n!==We.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},BE=(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},Ji=112,TE=18,F1=(e,t,r)=>{let n=ri(e),i=n+ri(t),o=new Uint8Array(i+r.byteLength);return ei(e,o,0),ei(t,o,n),o.set(r,i),o},V1=Symbol.for("@ipld/js-cid/CID"),Vs={writable:!1,configurable:!1,enumerable:!0},Hs={writable:!1,enumerable:!1,configurable:!1},IE="0.0.0-dev",_E=(e,t)=>{if(e.test(IE))console.warn(t);else throw new Error(t)},kE=`CID.isCID(v) is deprecated and will be removed in the next major release.
16
16
  Following code pattern:
17
17
 
18
18
  if (CID.isCID(value)) {
@@ -26,7 +26,7 @@ if (cid) {
26
26
  // Make sure to use cid instead of value
27
27
  doSomethingWithCID(cid)
28
28
  }
29
- `});var p1=dt(()=>{d1();Ts();kr();Y0();qi()});var Q0,G_,y1=dt(()=>{Hp();qp();zp();Gp();Wp();M0();$p();H0();Yp();Zp();o1();c1();u1();f1();p1();Q0={...L0,...N0,...P0,...U0,...O0,...K0,...F0,...V0,...q0,...z0},G_={...X0,...Z0}});function Qn(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}var Ls=dt(()=>{});function Ns(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Qn(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var j0=dt(()=>{Ls()});function g1(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var m1,J0,tE,Ps,tu=dt(()=>{y1();j0();m1=g1("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),J0=g1("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=Ns(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),tE={utf8:m1,"utf-8":m1,hex:Q0.base16,latin1:J0,ascii:J0,binary:J0,...Q0},Ps=tE});var x1={};ft(x1,{toString:()=>eE});function eE(e,t="utf8"){let r=Ps[t];if(!r)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)}var b1=dt(()=>{tu()});var w1={};ft(w1,{fromString:()=>rE});function rE(e,t="utf8"){let r=Ps[t];if(!r)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Qn(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var v1=dt(()=>{tu();Ls()});var E1={};ft(E1,{concat:()=>nE});function nE(e,t){t||(t=e.reduce((i,o)=>i+o.length,0));let r=Ns(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return Qn(r)}var S1=dt(()=>{j0();Ls()});var ru=st((ik,T1)=>{"use strict";var A1=vp(),jn=Rp(),{names:Gi}=Np(),{toString:Us}=(b1(),$i(x1)),{fromString:iE}=(v1(),$i(w1)),{concat:oE}=(S1(),$i(E1)),Jn={};for(let e in Gi){let t=e;Jn[Gi[t]]=t}Object.freeze(Jn);function sE(e){if(!(e instanceof Uint8Array))throw new Error("must be passed a Uint8Array");return Us(e,"base16")}function aE(e){return iE(e,"base16")}function cE(e){if(!(e instanceof Uint8Array))throw new Error("must be passed a Uint8Array");return Us(A1.encode("base58btc",e)).slice(1)}function uE(e){let t=e instanceof Uint8Array?Us(e):e;return A1.decode("z"+t)}function D1(e){if(!(e instanceof Uint8Array))throw new Error("multihash must be a Uint8Array");if(e.length<2)throw new Error("multihash too short. must be > 2 bytes.");let t=jn.decode(e);if(!B1(t))throw new Error(`multihash unknown function code: 0x${t.toString(16)}`);e=e.slice(jn.decode.bytes);let r=jn.decode(e);if(r<0)throw new Error(`multihash invalid length: ${r}`);if(e=e.slice(jn.decode.bytes),e.length!==r)throw new Error(`multihash length inconsistent: 0x${Us(e,"base16")}`);return{code:t,name:Jn[t],length:r,digest:e}}function fE(e,t,r){if(!e||t===void 0)throw new Error("multihash encode requires at least two args: digest, code");let n=C1(t);if(!(e instanceof Uint8Array))throw new Error("digest should be a Uint8Array");if(r==null&&(r=e.length),r&&e.length!==r)throw new Error("digest length should be equal to specified length.");let i=jn.encode(n),o=jn.encode(r);return oE([i,o,e],i.length+o.length+e.length)}function C1(e){let t=e;if(typeof e=="string"){if(Gi[e]===void 0)throw new Error(`Unrecognized hash function named: ${e}`);t=Gi[e]}if(typeof t!="number")throw new Error(`Hash function code should be a number. Got: ${t}`);if(Jn[t]===void 0&&!eu(t))throw new Error(`Unrecognized function code: ${t}`);return t}function eu(e){return e>0&&e<16}function B1(e){return!!(eu(e)||Jn[e])}function I1(e){D1(e)}function lE(e){return I1(e),e.subarray(0,2)}T1.exports={names:Gi,codes:Jn,toHexString:sE,fromHexString:aE,toB58String:cE,fromB58String:uE,decode:D1,encode:fE,coerceCode:C1,isAppCode:eu,validate:I1,prefix:lE,isValidCode:B1}});var vE={};ft(vE,{webRTC:()=>wE,webRTCDirect:()=>bE});var SE=Symbol.for("@libp2p/connection");var DE=Symbol.for("@libp2p/content-routing");var IE=Symbol.for("@libp2p/peer-discovery");var yu=Symbol.for("@libp2p/peer-id");var kE=Symbol.for("@libp2p/peer-routing");var mu;(function(e){e.Accept="accept",e.Ignore="ignore",e.Reject="reject"})(mu||(mu={}));var Yi=Symbol.for("@libp2p/transport");var gu;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(gu||(gu={}));var W=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Xi=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 Q1(t,r))}},Fs=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},Q1=globalThis.CustomEvent??Fs,xu=(e,...t)=>{try{[...t]}catch{}};var Gs={};ft(Gs,{base58btc:()=>Lt,base58flickr:()=>n2});function j1(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(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,m=0,g=0,b=h.length;g!==b&&h[g]===0;)g++,p++;for(var x=(b-g)*f+1>>>0,D=new Uint8Array(x);g!==b;){for(var v=h[g],E=0,C=x-1;(v!==0||E<m)&&C!==-1;C--,E++)v+=256*D[C]>>>0,D[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=E,g++}for(var B=x-m;B!==x&&D[B]===0;)B++;for(var O=c.repeat(p);B<x;++B)O+=e.charAt(D[B]);return O}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var m=0,g=0;h[p]===c;)m++,p++;for(var b=(h.length-p)*u+1>>>0,x=new Uint8Array(b);h[p];){var D=r[h.charCodeAt(p)];if(D===255)return;for(var v=0,E=b-1;(D!==0||v<g)&&E!==-1;E--,v++)D+=a*x[E]>>>0,x[E]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");g=v,p++}if(h[p]!==" "){for(var C=b-g;C!==b&&x[C]===0;)C++;for(var B=new Uint8Array(m+(b-C)),O=m;C!==b;)B[O++]=x[C++];return B}}}function y(h){var p=d(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:y}}var J1=j1,t2=J1,bu=t2;var l3=new Uint8Array(0);var wu=(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},$e=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 vu=e=>new TextEncoder().encode(e),Eu=e=>new TextDecoder().decode(e);var Vs=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")}},Hs=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 Au(this,t)}},qs=class{constructor(t){this.decoders=t}or(t){return Au(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`)}},Au=(e,t)=>new qs({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),zs=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Vs(t,r,n),this.decoder=new Hs(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},ln=({name:e,prefix:t,encode:r,decode:n})=>new zs(e,t,r,n),hr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=bu(r,t);return ln({prefix:e,name:t,encode:n,decode:o=>$e(i(o))})},e2=(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},r2=(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},kt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>ln({prefix:t,name:e,encode(i){return r2(i,n,r)},decode(i){return e2(i,n,r,e)}});var Lt=hr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),n2=hr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ws={};ft(Ws,{base10:()=>i2});var i2=hr({prefix:"9",name:"base10",alphabet:"0123456789"});var $s={};ft($s,{base16:()=>o2,base16upper:()=>s2});var o2=kt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),s2=kt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ys={};ft(Ys,{base2:()=>a2});var a2=kt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Xs={};ft(Xs,{base256emoji:()=>h2});var Du=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}"),c2=Du.reduce((e,t,r)=>(e[r]=t,e),[]),u2=Du.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function f2(e){return e.reduce((t,r)=>(t+=c2[r],t),"")}function l2(e){let t=[];for(let r of e){let n=u2[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var h2=ln({prefix:"\u{1F680}",name:"base256emoji",encode:f2,decode:l2});var Zs={};ft(Zs,{base32:()=>Ye,base32hex:()=>m2,base32hexpad:()=>x2,base32hexpadupper:()=>b2,base32hexupper:()=>g2,base32pad:()=>p2,base32padupper:()=>y2,base32upper:()=>d2,base32z:()=>w2});var Ye=kt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),d2=kt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),p2=kt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),y2=kt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),m2=kt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),g2=kt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),x2=kt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),b2=kt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),w2=kt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Qs={};ft(Qs,{base36:()=>v2,base36upper:()=>E2});var v2=hr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),E2=hr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Js={};ft(Js,{base64:()=>Zi,base64pad:()=>S2,base64url:()=>js,base64urlpad:()=>A2});var Zi=kt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),S2=kt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),js=kt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),A2=kt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ta={};ft(ta,{base8:()=>D2});var D2=kt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ea={};ft(ea,{identity:()=>C2});var C2=ln({prefix:"\0",name:"identity",encode:e=>Eu(e),decode:e=>vu(e)});var C3=new TextEncoder,B3=new TextDecoder;var na={};ft(na,{identity:()=>dr});var T2=Iu,Cu=128,_2=127,k2=~_2,R2=Math.pow(2,31);function Iu(e,t,r){t=t||[],r=r||0;for(var n=r;e>=R2;)t[r++]=e&255|Cu,e/=128;for(;e&k2;)t[r++]=e&255|Cu,e>>>=7;return t[r]=e|0,Iu.bytes=r-n+1,t}var L2=ra,N2=128,Bu=127;function ra(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw ra.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&Bu)<<i:(s&Bu)*Math.pow(2,i),i+=7}while(s>=N2);return ra.bytes=o-n,r}var P2=Math.pow(2,7),U2=Math.pow(2,14),O2=Math.pow(2,21),K2=Math.pow(2,28),M2=Math.pow(2,35),F2=Math.pow(2,42),V2=Math.pow(2,49),H2=Math.pow(2,56),q2=Math.pow(2,63),z2=function(e){return e<P2?1:e<U2?2:e<O2?3:e<K2?4:e<M2?5:e<F2?6:e<V2?7:e<H2?8:e<q2?9:10},G2={encode:T2,decode:L2,encodingLength:z2},W2=G2,ei=W2;var ri=(e,t=0)=>[ei.decode(e,t),ei.decode.bytes],hn=(e,t,r=0)=>(ei.encode(e,t,r),t),dn=e=>ei.encodingLength(e);var Le=(e,t)=>{let r=t.byteLength,n=dn(e),i=n+dn(r),o=new Uint8Array(i+r);return hn(e,o,0),hn(r,o,n),o.set(t,i),new pn(e,r,t,o)},Nr=e=>{let t=$e(e),[r,n]=ri(t),[i,o]=ri(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new pn(r,i,s,t)},Tu=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&wu(e.bytes,r.bytes)}},pn=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var _u=0,$2="identity",ku=$e,Y2=e=>Le(_u,ku(e)),dr={code:_u,name:$2,encode:ku,digest:Y2};var sa={};ft(sa,{sha256:()=>Xt,sha512:()=>X2});var oa=({name:e,code:t,encode:r})=>new ia(e,t,r),ia=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?Le(this.code,r):r.then(n=>Le(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Lu=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Xt=oa({name:"sha2-256",code:18,encode:Lu("SHA-256")}),X2=oa({name:"sha2-512",code:19,encode:Lu("SHA-512")});var Nu=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return Q2(r,aa(e),t||Lt.encoder);default:return j2(r,aa(e),t||Ye.encoder)}};var Pu=new WeakMap,aa=e=>{let t=Pu.get(e);if(t==null){let r=new Map;return Pu.set(e,r),r}return t},be=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!==ni)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==J2)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=Le(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&&Tu(t.multihash,n.multihash)}toString(t){return Nu(this,t)}toJSON(){return{"/":Nu(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||Uu(n,i,o.bytes))}else if(r[ty]===!0){let{version:n,multihash:i,code:o}=r,s=Nr(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!==ni)throw new Error(`Version 0 CID must use dag-pb (code: ${ni}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=Uu(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,ni,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=$e(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 pn(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,d]=ri(t.subarray(r));return r+=d,l},i=n(),o=ni;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]=Z2(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 aa(o).set(n,t),o}},Z2=(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 Ye.prefix:{let r=t||Ye;return[Ye.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)]}}},Q2=(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},j2=(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},ni=112,J2=18,Uu=(e,t,r)=>{let n=dn(e),i=n+dn(t),o=new Uint8Array(i+r.byteLength);return hn(e,o,0),hn(t,o,n),o.set(r,i),o},ty=Symbol.for("@ipld/js-cid/CID");var Ne={...ea,...Ys,...ta,...Ws,...$s,...Zs,...Qs,...Gs,...Js,...Xs},q3={...sa,...na};function Ot(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 ey=Symbol.for("nodejs.util.inspect.custom"),Ou=Object.values(Ne).map(e=>e.decoder).reduce((e,t)=>e.or(t),Ne.identity.decoder),Ku=114,ca=36,ua=37,ii=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()})`}[yu]=!0;toString(){return this.string==null&&(this.string=Lt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return be.createV1(Ku,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return Ot(this.multihash.bytes,t);if(typeof t=="string")return Ur(t).equals(this);if(t?.multihash?.bytes!=null)return Ot(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[ey](){return`PeerId(${this.toString()})`}},yn=class extends ii{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},mn=class extends ii{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},gn=class extends ii{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function Ur(e,t){if(t=t??Ou,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=Nr(Lt.decode(`z${e}`));return e.startsWith("12D")?new mn({multihash:r}):e.startsWith("16U")?new gn({multihash:r}):new yn({multihash:r})}return ry(Ou.decode(e))}function ry(e){try{let t=Nr(e);if(t.code===dr.code){if(t.digest.length===ca)return new mn({multihash:t});if(t.digest.length===ua)return new gn({multihash:t})}if(t.code===Xt.code)return new yn({multihash:t})}catch{return ny(be.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function ny(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==Ku)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===Xt.code)return new yn({multihash:e.multihash});if(t.code===dr.code){if(t.digest.length===ca)return new mn({multihash:e.multihash});if(t.digest.length===ua)return new gn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function fa(e,t){return e.length===ca?new mn({multihash:Le(dr.code,e),privateKey:t}):e.length===ua?new gn({multihash:Le(dr.code,e),privateKey:t}):new yn({multihash:await Xt.digest(e),publicKey:e,privateKey:t})}function Xe(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function ot(e=0){return globalThis.Buffer?.alloc!=null?Xe(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function Vt(e=0){return globalThis.Buffer?.allocUnsafe!=null?Xe(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Fu(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Mu=Fu("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),la=Fu("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=Vt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),oy={utf8:Mu,"utf-8":Mu,hex:Ne.base16,latin1:la,ascii:la,binary:la,...Ne},ji=oy;function at(e,t="utf8"){let r=ji[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)}var sy=Math.pow(2,7),ay=Math.pow(2,14),cy=Math.pow(2,21),ha=Math.pow(2,28),da=Math.pow(2,35),pa=Math.pow(2,42),ya=Math.pow(2,49),pt=128,te=127;function ee(e){if(e<sy)return 1;if(e<ay)return 2;if(e<cy)return 3;if(e<ha)return 4;if(e<da)return 5;if(e<pa)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 uy(e,t,r=0){switch(ee(e)){case 8:t[r++]=e&255|pt,e/=128;case 7:t[r++]=e&255|pt,e/=128;case 6:t[r++]=e&255|pt,e/=128;case 5:t[r++]=e&255|pt,e/=128;case 4:t[r++]=e&255|pt,e>>>=7;case 3:t[r++]=e&255|pt,e>>>=7;case 2:t[r++]=e&255|pt,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function fy(e,t,r=0){switch(ee(e)){case 8:t.set(r++,e&255|pt),e/=128;case 7:t.set(r++,e&255|pt),e/=128;case 6:t.set(r++,e&255|pt),e/=128;case 5:t.set(r++,e&255|pt),e/=128;case 4:t.set(r++,e&255|pt),e>>>=7;case 3:t.set(r++,e&255|pt),e>>>=7;case 2:t.set(r++,e&255|pt),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function ly(e,t){let r=e[t],n=0;if(n+=r&te,r<pt||(r=e[t+1],n+=(r&te)<<7,r<pt)||(r=e[t+2],n+=(r&te)<<14,r<pt)||(r=e[t+3],n+=(r&te)<<21,r<pt)||(r=e[t+4],n+=(r&te)*ha,r<pt)||(r=e[t+5],n+=(r&te)*da,r<pt)||(r=e[t+6],n+=(r&te)*pa,r<pt)||(r=e[t+7],n+=(r&te)*ya,r<pt))return n;throw new RangeError("Could not decode varint")}function hy(e,t){let r=e.get(t),n=0;if(n+=r&te,r<pt||(r=e.get(t+1),n+=(r&te)<<7,r<pt)||(r=e.get(t+2),n+=(r&te)<<14,r<pt)||(r=e.get(t+3),n+=(r&te)<<21,r<pt)||(r=e.get(t+4),n+=(r&te)*ha,r<pt)||(r=e.get(t+5),n+=(r&te)*da,r<pt)||(r=e.get(t+6),n+=(r&te)*pa,r<pt)||(r=e.get(t+7),n+=(r&te)*ya,r<pt))return n;throw new RangeError("Could not decode varint")}function pr(e,t,r=0){return t==null&&(t=Vt(ee(e))),t instanceof Uint8Array?uy(e,t,r):fy(e,t,r)}function we(e,t=0){return e instanceof Uint8Array?ly(e,t):hy(e,t)}function Ct(e,t){if(globalThis.Buffer!=null)return Xe(globalThis.Buffer.concat(e,t));t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=Vt(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return Xe(r)}var Ji=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 d=Number.parseInt(l,t);if(!Number.isNaN(d))return d});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 Vu=45,dy=15,xn=new Ji;function ma(e){if(!(e.length>dy))return xn.new(e).parseWith(()=>xn.readIPv4Addr())}function ga(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Vu))return xn.new(e).parseWith(()=>xn.readIPv6Addr())}function to(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Vu))return xn.new(e).parseWith(()=>xn.readIPAddr())}var v4=parseInt("0xFFFF",16),E4=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function wt(e,t="utf8"){let r=ji[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Xe(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function eo(e){return!!ma(e)}function ro(e){return!!ga(e)}function no(e){return!!to(e)}var zu=eo,xy=ro,xa=function(e){let t=0;if(e=e.toString().trim(),zu(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(xy(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=zu(r[n]),s;o&&(s=xa(r[n]),r[n]=at(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,at(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")},Gu=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={},ba={},wy=[[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"]];wy.forEach(e=>{let t=vy(...e);ba[t.code]=t,bn[t.name]=t});function vy(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function yt(e){if(typeof e=="number"){if(ba[e]!=null)return ba[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 cS=yt("ip4"),uS=yt("ip6"),fS=yt("ipcidr");function va(e,t){switch(yt(e).code){case 4:case 41:return Sy(t);case 42:return Yu(t);case 6:case 273:case 33:case 132:return Zu(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Yu(t);case 421:return By(t);case 444:return Xu(t);case 445:return Xu(t);case 466:return Cy(t);default:return at(t,"base16")}}function Ea(e,t){switch(yt(e).code){case 4:return Wu(t);case 41:return Wu(t);case 42:return $u(t);case 6:case 273:case 33:case 132:return Sa(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return $u(t);case 421:return Ay(t);case 444:return Iy(t);case 445:return Ty(t);case 466:return Dy(t);default:return wt(t,"base16")}}var wa=Object.values(Ne).map(e=>e.decoder),Ey=function(){let e=wa[0].or(wa[1]);return wa.slice(2).forEach(t=>e=e.or(t)),e}();function Wu(e){if(!no(e))throw new Error("invalid ip address");return xa(e)}function Sy(e){let t=Gu(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!no(t))throw new Error("invalid ip address");return t}function Sa(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Zu(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function $u(e){let t=wt(e),r=Uint8Array.from(pr(t.length));return Ct([r,t],r.length+t.length)}function Yu(e){let t=we(e);if(e=e.slice(ee(t)),e.length!==t)throw new Error("inconsistent lengths");return at(e)}function Ay(e){let t;e[0]==="Q"||e[0]==="1"?t=Nr(Lt.decode(`z${e}`)).bytes:t=be.parse(e).multihash.bytes;let r=Uint8Array.from(pr(t.length));return Ct([r,t],r.length+t.length)}function Dy(e){let t=Ey.decode(e),r=Uint8Array.from(pr(t.length));return Ct([r,t],r.length+t.length)}function Cy(e){let t=we(e),r=e.slice(ee(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+at(r,"base64url")}function By(e){let t=we(e),r=e.slice(ee(t));if(r.length!==t)throw new Error("inconsistent lengths");return at(r,"base58btc")}function Iy(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=Ye.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=Sa(n);return Ct([r,i],r.length+i.length)}function Ty(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=Ye.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=Sa(n);return Ct([r,i],r.length+i.length)}function Xu(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=at(t,"base32"),i=Zu(r);return`${n}:${i}`}function Qu(e){e=Aa(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=yt(s);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw Ju("invalid address: "+e);if(a.path===!0){n=Aa(i.slice(o).join("/")),t.push([a.code,Ea(a.code,n)]),r.push([a.code,n]);break}let c=Ea(a.code,i[o]);t.push([a.code,c]),r.push([a.code,va(a.code,c)])}return{string:ju(r),bytes:Ca(t),tuples:t,stringTuples:r,path:n}}function Da(e){let t=[],r=[],n=null,i=0;for(;i<e.length;){let o=we(e,i),s=ee(o),a=yt(o),c=_y(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 Ju("Invalid address Uint8Array: "+at(e,"base16"));t.push([o,u]);let f=va(o,u);if(r.push([o,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(e),string:ju(r),tuples:t,stringTuples:r,path:n}}function ju(e){let t=[];return e.map(r=>{let n=yt(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Aa(t.join("/"))}function Ca(e){return Ct(e.map(t=>{let r=yt(t[0]),n=Uint8Array.from(pr(r.code));return t.length>1&&t[1]!=null&&(n=Ct([n,t[1]])),n}))}function _y(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=we(t instanceof Uint8Array?t:Uint8Array.from(t));return r+ee(r)}}function Aa(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function Ju(e){return new Error("Error parsing address: "+e)}var ky=Symbol.for("nodejs.util.inspect.custom"),Ba=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Ry=[yt("dns").code,yt("dns4").code,yt("dns6").code,yt("dnsaddr").code],io=class e{bytes;#t;#e;#r;#n;[Ba]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=Da(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=Qu(t)}else if(ef(t))r=Da(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=yt("tcp"),a=yt("udp"),c=yt("ip4"),u=yt("ip6"),f=yt("dns6"),l=yt("ip6zone");for(let[y,h]of this.stringTuples())y===l.code&&(o=`%${h??""}`),Ry.includes(y)&&(r=s.name,i=443,n=`${h??""}${o}`,t=y===f.code?6:4),(y===s.code||y===a.code)&&(r=yt(y).name,i=parseInt(h??"")),(y===c.code||y===u.code)&&(r=yt(y).name,n=`${h??""}${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({},yt(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>yt(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(Ca(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"?at(Lt.decode(`z${n}`),"base58btc"):at(be.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return Ot(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=tf.get(r.name);if(n==null)throw new W(`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)}[ky](){return`Multiaddr(${this.#t})`}};var tf=new Map;function ef(e){return!!e?.[Ba]}function Ze(e){return new io(e)}var Ly=e=>e.toString().split("/").slice(1),si=e=>({match:t=>t.length<1?!1:e(t[0])?t.slice(1):!1,pattern:"fn"}),Nt=e=>({match:t=>si(r=>r===e).match(t),pattern:e}),ao=()=>({match:e=>si(t=>typeof t=="string").match(e),pattern:"{string}"}),rf=()=>({match:e=>si(t=>!isNaN(parseInt(t))).match(e),pattern:"{number}"}),de=()=>({match:e=>{if(e.length<2||e[0]!=="p2p"&&e[0]!=="ipfs")return!1;if(e[1].startsWith("Q")||e[1].startsWith("1"))try{Lt.decode(`z${e[1]}`)}catch{return!1}else return!1;return e.slice(2)},pattern:"/p2p/{peerid}"}),oo=()=>({match:e=>{if(e.length<2||e[0]!=="certhash")return!1;try{js.decode(e[1])}catch{return!1}return e.slice(2)},pattern:"/certhash/{certhash}"}),Pe=e=>({match:t=>{let r=e.match(t);return r===!1?t:r},pattern:`optional(${e.pattern})`}),Ue=(...e)=>({match:t=>{let r;for(let n of e){let i=n.match(t);i!==!1&&(r==null||i.length<r.length)&&(r=i)}return r??!1},pattern:`or(${e.map(t=>t.pattern).join(", ")})`}),Pt=(...e)=>({match:t=>{for(let r of e){let n=r.match(t);if(n===!1)return!1;t=n}return t},pattern:`and(${e.map(t=>t.pattern).join(", ")})`});function Ht(...e){function t(i){let o=Ly(i);for(let s of e){let a=s.match(o);if(a===!1)return!1;o=a}return o}function r(i){return t(i)!==!1}function n(i){let o=t(i);return o===!1?!1:o.length===0}return{matches:r,exactMatch:n}}var Ta=Pt(Nt("dns4"),ao()),_a=Pt(Nt("dns6"),ao()),ka=Pt(Nt("dnsaddr"),ao()),nf=Pt(Nt("dns"),ao()),MS=Ht(Ta),FS=Ht(_a),VS=Ht(ka),HS=Ht(Ue(nf,ka,Ta,_a)),of=Pt(Nt("ip4"),si(eo)),sf=Pt(Nt("ip6"),si(ro)),af=Ue(of,sf),ai=Ue(af,nf,Ta,_a,ka),qS=Ht(ai),zS=Ht(of),GS=Ht(sf),WS=Ht(af),co=Pt(ai,Nt("tcp"),rf()),ci=Pt(ai,Nt("udp"),rf()),Ny=Ue(co,ci),$S=Ht(co),YS=Ht(ci),Ra=Pt(ci,Nt("quic")),uo=Pt(ci,Nt("quic-v1")),Py=Ue(Ra,uo),XS=Ht(Ra),ZS=Ht(uo),Ia=Ue(ai,co,ci,Ra,uo),cf=Ue(Pt(Ia,Nt("ws"),Pe(de()))),QS=Ht(cf),uf=Ue(Pt(Ia,Nt("wss"),Pe(de())),Pt(Ia,Nt("tls"),Nt("ws"),Pe(de()))),jS=Ht(uf),ff=Pt(Ny,Nt("webrtc-direct"),oo(),Pe(oo()),Pe(de())),lf=Ht(ff),hf=Pt(uo,Nt("webtransport"),oo(),oo(),Pe(de())),JS=Ht(hf),so=Ue(cf,uf,Pt(co,Pe(de())),Pt(Py,Pe(de())),Pt(ai,Pe(de())),ff,hf,de()),t5=Ht(so),Uy=Pt(so,Nt("p2p-circuit"),de()),e5=Ht(Uy),Oy=Ue(Pt(so,Nt("p2p-circuit"),Nt("webrtc"),de()),Pt(so,Nt("webrtc"),Pe(de())),Nt("webrtc")),df=Ht(Oy);var fe;(function(e){e.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",e.ERR_DATA_CHANNEL="ERR_DATA_CHANNEL",e.ERR_CONNECTION_CLOSED="ERR_CONNECTION_CLOSED",e.ERR_HASH_NOT_SUPPORTED="ERR_HASH_NOT_SUPPORTED",e.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",e.ERR_INVALID_FINGERPRINT="ERR_INVALID_FINGERPRINT",e.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",e.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",e.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",e.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS"})(fe||(fe={}));var yr=class extends W{constructor(t,r){super(`WebRTC transport error: ${t}`,r??""),this.name="WebRTCTransportError"}};var La=class extends yr{constructor(t,r){super(`[stream: ${t}] data channel error: ${r}`,fe.ERR_DATA_CHANNEL),this.name="WebRTC/DataChannelError"}};function Ma(e,t){return new La(e,t)}var Na=class extends yr{constructor(t){super(`There was a problem with the Multiaddr which was passed in: ${t}`,fe.ERR_INVALID_MULTIADDR),this.name="WebRTC/InappropriateMultiaddrError"}};function fo(e){return new Na(e)}var Pa=class extends yr{constructor(t){super(`There was a problem with a provided argument: ${t}`,fe.ERR_INVALID_PARAMETERS),this.name="WebRTC/InvalidArgumentError"}};function ui(e){return new Pa(e)}var Ua=class extends yr{constructor(t,r){super(`Invalid fingerprint "${t}" within ${r}`,fe.ERR_INVALID_FINGERPRINT),this.name="WebRTC/InvalidFingerprintError"}};function Fa(e,t){return new Ua(e,t)}var Oa=class extends yr{constructor(t){super(`A method (${t}) was called though it has been intentionally left unimplemented.`,fe.ERR_NOT_IMPLEMENTED),this.name="WebRTC/UnimplementedError"}};function pf(e){return new Oa(e)}var Ka=class extends yr{constructor(t){super(`unsupported hash algorithm: ${t}`,fe.ERR_HASH_NOT_SUPPORTED),this.name="WebRTC/UnsupportedHashAlgorithmError"}};function yf(e){return new Ka(e)}var mf=function(e,t,r){if(r||arguments.length===2)for(var n=0,i=t.length,o;n<i;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},Ky=function(){function e(t,r,n){this.name=t,this.version=r,this.os=n,this.type="browser"}return e}();var My=function(){function e(t){this.version=t,this.type="node",this.name="node",this.os=process.platform}return e}();var Fy=function(){function e(t,r,n,i){this.name=t,this.version=r,this.os=n,this.bot=i,this.type="bot-device"}return e}();var Vy=function(){function e(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return e}();var Hy=function(){function e(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return e}();var qy=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,zy=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,gf=3,Gy=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["pie",/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],["pie",/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],["netfront",/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FB[AS]V\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["curl",/^curl\/([0-9\.]+)$/],["searchbot",qy]],xf=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Windows CE",/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function wf(e){return e?bf(e):typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new Hy:typeof navigator<"u"?bf(navigator.userAgent):Yy()}function Wy(e){return e!==""&&Gy.reduce(function(t,r){var n=r[0],i=r[1];if(t)return t;var o=i.exec(e);return!!o&&[n,o]},!1)}function bf(e){var t=Wy(e);if(!t)return null;var r=t[0],n=t[1];if(r==="searchbot")return new Vy;var i=n[1]&&n[1].split(".").join("_").split("_").slice(0,3);i?i.length<gf&&(i=mf(mf([],i,!0),Xy(gf-i.length),!0)):i=[];var o=i.join("."),s=$y(e),a=zy.exec(e);return a&&a[1]?new Fy(r,o,s,a[1]):new Ky(r,o,s)}function $y(e){for(var t=0,r=xf.length;t<r;t++){var n=xf[t],i=n[0],o=n[1],s=o.exec(e);if(s)return i}return null}function Yy(){var e=typeof process<"u"&&process.version;return e?new My(process.version.slice(1)):null}function Xy(e){for(var t=[],r=0;r<e;r++)t.push("0");return t}function Kt(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var wn=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},Va=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},vf=e=>globalThis.DOMException===void 0?new Va(e):new DOMException(e),Ef=e=>{let t=e.reason===void 0?vf("This operation was aborted."):e.reason;return t instanceof Error?t:vf(t)};function Or(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:d}=t;d.aborted&&f(Ef(d)),d.addEventListener("abort",()=>{f(Ef(d))})}if(r===Number.POSITIVE_INFINITY){e.then(u,f);return}let l=new wn;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(d){f(d)}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(d){f(d)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}var Sf=wf(),fi=Sf!=null&&Sf.name==="firefox",lo=async function*(){},ho=async e=>{},Zy=30*1e3;function Af(e,t,r=Zy,n){e.readyState==="open"&&Promise.resolve().then(async()=>{if(e.bufferedAmount>0){n.log("%s drain channel with %d buffered bytes",t,e.bufferedAmount);let i=Kt(),o=!1;e.bufferedAmountLowThreshold=0;let s=()=>{o||(n.log("%s drain channel closed before drain",t),i.resolve())};e.addEventListener("close",s,{once:!0}),e.addEventListener("bufferedamountlow",()=>{o=!0,e.removeEventListener("close",s),i.resolve()}),await Or(i.promise,{milliseconds:r})}}).then(async()=>{e.readyState==="open"&&e.close()}).catch(i=>{n.log.error("error closing outbound stream",i)})}var Kr=class{log;peerConnection;remoteAddr;timeline;metrics;source=lo();sink=ho;constructor(t,r){this.log=t.logger.forComponent("libp2p:webrtc:maconn"),this.remoteAddr=r.remoteAddr,this.timeline=r.timeline,this.peerConnection=r.peerConnection;let n=this.peerConnection.connectionState;this.peerConnection.onconnectionstatechange=()=>{this.log.trace("peer connection state change",this.peerConnection.connectionState,"initial state",n),(this.peerConnection.connectionState==="disconnected"||this.peerConnection.connectionState==="failed"||this.peerConnection.connectionState==="closed")&&(this.timeline.close=Date.now())}}async close(t){this.log.trace("closing connection"),this.peerConnection.close(),this.timeline.close=Date.now(),this.metrics?.increment({close:!0})}abort(t){this.log.error("closing connection due to error",t),this.peerConnection.close(),this.timeline.close=Date.now(),this.metrics?.increment({abort:!0})}};var po=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},vn=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new po(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new po(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var Ha=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function mr(e={}){return Qy(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},e)}function Qy(e,t){t=t??{};let r=t.onEnd,n=new vn,i,o,s,a=Kt(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((m,g)=>{o=b=>{o=null,n.push(b);try{m(e(n))}catch(x){g(x)}return i}}):e(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Kt()})}},u=m=>o!=null?o(m):(n.push(m),i),f=m=>(n=new vn,o!=null?o({error:m}):(n.push({error:m}),i)),l=m=>{if(s)return i;if(t?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:m})},d=m=>s?i:(s=!0,m!=null?f(m):u({done:!0})),y=()=>(n=new vn,d(),{done:!0}),h=m=>(d(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:y,throw:h,push:l,end:d,get readableLength(){return n.size},onEmpty:async m=>{let g=m?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let b,x;g!=null&&(b=new Promise((D,v)=>{x=()=>{v(new Ha)},g.addEventListener("abort",x)}));try{await Promise.race([a.promise,b])}finally{x!=null&&g!=null&&g?.removeEventListener("abort",x)}}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(m){return p.throw(m),r!=null&&(r(m),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(m){return p.end(m),r!=null&&(r(m),r=void 0),i},get readableLength(){return p.readableLength},onEmpty:m=>p.onEmpty(m)},i}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 gr(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 Cf=Symbol.for("@achingbrain/uint8arraylist");function Df(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 En(e){return!!e?.[Cf]}var Bt=class e{bufs;length;[Cf]=!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(En(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(En(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=Df(this.bufs,t);return r.buf[r.index]}set(t,r){let n=Df(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(En(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 Ct(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:Ct(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(!En(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 d=u;d>=0;d--){let y=this.get(l+d);if(n[d]!==y){f=Math.max(1,d-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=Vt(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=ot(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=ot(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=ot(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=Vt(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=ot(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=ot(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=ot(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=ot(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=ot(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(!Ot(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 Bf(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function If(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}function Tf(e,t){let r=Bf(e).return?.();If(r)&&r.catch(n=>{t.error("could not cause iterator to return",n)})}var jy="ERR_STREAM_RESET",Jy="ERR_SINK_INVALID_STATE",tm=5e3;function qa(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var mo=class{id;direction;timeline;protocol;metadata;source;status;readStatus;writeStatus;log;sinkController;sinkEnd;closed;endErr;streamSource;onEnd;onCloseRead;onCloseWrite;onReset;onAbort;sendCloseWriteTimeout;constructor(t){this.sinkController=new AbortController,this.sinkEnd=Kt(),this.closed=Kt(),this.log=t.log,this.status="open",this.readStatus="ready",this.writeStatus="ready",this.id=t.id,this.metadata=t.metadata??{},this.direction=t.direction,this.timeline={open:Date.now()},this.sendCloseWriteTimeout=t.sendCloseWriteTimeout??tm,this.onEnd=t.onEnd,this.onCloseRead=t?.onCloseRead,this.onCloseWrite=t?.onCloseWrite,this.onReset=t?.onReset,this.onAbort=t?.onAbort,this.source=this.streamSource=mr({onEnd:r=>{r!=null?this.log.trace("source ended with error",r):this.log.trace("source ended"),this.onSourceEnd(r)}}),this.sink=this.sink.bind(this)}async sink(t){if(this.writeStatus!=="ready")throw new W(`writable end state is "${this.writeStatus}" not "ready"`,Jy);try{this.writeStatus="writing";let r={signal:this.sinkController.signal};if(this.direction==="outbound"){let i=this.sendNewStream(r);qa(i)&&await i}let n=()=>{Tf(t,this.log)};try{this.sinkController.signal.addEventListener("abort",n),this.log.trace("sink reading from source");for await(let i of t){i=i instanceof Uint8Array?new Bt(i):i;let o=this.sendData(i,r);qa(o)&&await o}}finally{this.sinkController.signal.removeEventListener("abort",n)}this.log.trace('sink finished reading from source, write status is "%s"',this.writeStatus),this.writeStatus==="writing"&&(this.writeStatus="closing",this.log.trace("send close write to remote"),await this.sendCloseWrite({signal:AbortSignal.timeout(this.sendCloseWriteTimeout)}),this.writeStatus="closed"),this.onSinkEnd()}catch(r){throw this.log.trace("sink ended with error, calling abort with error",r),this.abort(r),r}finally{this.log.trace("resolve sink end"),this.sinkEnd.resolve()}}onSourceEnd(t){this.timeline.closeRead==null&&(this.timeline.closeRead=Date.now(),this.readStatus="closed",t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseRead?.(),this.timeline.closeWrite!=null?(this.log.trace("source and sink ended"),this.timeline.close=Date.now(),this.status!=="aborted"&&this.status!=="reset"&&(this.status="closed"),this.onEnd!=null&&this.onEnd(this.endErr),this.closed.resolve()):this.log.trace("source ended, waiting for sink to end"))}onSinkEnd(t){this.timeline.closeWrite==null&&(this.timeline.closeWrite=Date.now(),this.writeStatus="closed",t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseWrite?.(),this.timeline.closeRead!=null?(this.log.trace("sink and source ended"),this.timeline.close=Date.now(),this.status!=="aborted"&&this.status!=="reset"&&(this.status="closed"),this.onEnd!=null&&this.onEnd(this.endErr),this.closed.resolve()):this.log.trace("sink ended, waiting for source to end"))}async close(t){this.log.trace("closing gracefully"),this.status="closing",await Promise.all([this.closeRead(t),this.closeWrite(t)]),await gr(this.closed.promise,t?.signal),this.status="closed",this.log.trace("closed gracefully")}async closeRead(t={}){if(this.readStatus==="closing"||this.readStatus==="closed")return;this.log.trace('closing readable end of stream with starting read status "%s"',this.readStatus);let r=this.readStatus;this.readStatus="closing",this.status!=="reset"&&this.status!=="aborted"&&this.timeline.closeRead==null&&(this.log.trace("send close read to remote"),await this.sendCloseRead(t)),r==="ready"&&(this.log.trace("ending internal source queue with %d queued bytes",this.streamSource.readableLength),this.streamSource.end()),this.log.trace("closed readable end of stream")}async closeWrite(t={}){this.writeStatus==="closing"||this.writeStatus==="closed"||(this.log.trace('closing writable end of stream with starting write status "%s"',this.writeStatus),this.writeStatus==="ready"&&(this.log.trace("sink was never sunk, sink an empty array"),await gr(this.sink([]),t.signal)),this.writeStatus==="writing"&&await new Promise((r,n)=>{queueMicrotask(()=>{this.log.trace("aborting source passed to .sink"),this.sinkController.abort(),gr(this.sinkEnd.promise,t.signal).then(r,n)})}),this.writeStatus="closed",this.log.trace("closed writable end of stream"))}abort(t){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;this.log("abort with error",t),this.log("try to send reset to remote");let r=this.sendReset();qa(r)&&r.catch(n=>{this.log.error("error sending reset message",n)}),this.status="aborted",this.timeline.abort=Date.now(),this._closeSinkAndSource(t),this.onAbort?.(t)}reset(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;let t=new W("stream reset",jy);this.status="reset",this.timeline.reset=Date.now(),this._closeSinkAndSource(t),this.onReset?.()}_closeSinkAndSource(t){this._closeSink(t),this._closeSource(t)}_closeSink(t){this.writeStatus==="writing"&&(this.log.trace("end sink source"),this.sinkController.abort()),this.onSinkEnd(t)}_closeSource(t){this.readStatus!=="closing"&&this.readStatus!=="closed"&&(this.log.trace("ending source with %d bytes to be read by consumer",this.streamSource.readableLength),this.readStatus="closing",this.streamSource.end(t))}remoteCloseWrite(){if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("received remote close write but local source is already closed");return}this.log.trace("remote close write"),this._closeSource()}remoteCloseRead(){if(this.writeStatus==="closing"||this.writeStatus==="closed"){this.log("received remote close read but local sink is already closed");return}this.log.trace("remote close read"),this._closeSink()}destroy(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset"){this.log("received destroy but we are already closed");return}this.log.trace("stream destroyed"),this._closeSinkAndSource()}sourcePush(t){this.streamSource.push(t)}sourceReadableLength(){return this.streamSource.readableLength}};function go(e){return e[Symbol.asyncIterator]!=null}var xo=e=>{let t=ee(e),r=Vt(t);return pr(e,r),xo.bytes=t,r};xo.bytes=0;function xr(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)}()}xr.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??xo;return new Bt(r(e.byteLength),e)};var Sn=Jt(Rf(),1);var rm=8,nm=1024*1024*4,Mr;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(Mr||(Mr={}));var za=e=>{let t=we(e);return za.bytes=ee(t),t};za.bytes=0;function Fr(e,t){let r=new Bt,n=Mr.LENGTH,i=-1,o=t?.lengthDecoder??za,s=t?.maxLengthLength??rm,a=t?.maxDataLength??nm;function*c(){for(;r.byteLength>0;){if(n===Mr.LENGTH)try{if(i=o(r),i<0)throw(0,Sn.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Sn.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=Mr.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,Sn.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===Mr.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(u),yield u,n=Mr.LENGTH}}}return go(e)?async function*(){for await(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,Sn.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,Sn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Fr.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 Fr(n,{...t??{},onLength:o=>{r=o}})};var im=e=>{let t=e.on||e.addListener||e.addEventListener,r=e.off||e.removeListener||e.removeEventListener;if(!t||!r)throw new TypeError("Emitter is not compatible");return{addListener:t.bind(e),removeListener:r.bind(e)}};function om(e,t,r){let n,i=new Promise((o,s)=>{if(r={rejectionEvents:["error"],multiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[t].flat(),c=[],{addListener:u,removeListener:f}=im(e),l=(...y)=>{let h=r.multiArgs?y:y[0];r.filter&&!r.filter(h)||(c.push(h),r.count===c.length&&(n(),o(c)))},d=y=>{n(),s(y)};n=()=>{for(let y of a)f(y,l);for(let y of r.rejectionEvents)f(y,d)};for(let y of a)u(y,l);for(let y of r.rejectionEvents)u(y,d);r.signal&&r.signal.addEventListener("abort",()=>{d(r.signal.reason)},{once:!0}),r.resolveImmediately&&o(c)});if(i.cancel=n,typeof r.timeout=="number"){let o=Or(i,{milliseconds:r.timeout});return o.cancel=n,o}return i}function Ga(e,t,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=om(e,t,r),i=n.then(o=>o[0]);return i.cancel=n.cancel,i}var Wa=new Float32Array([-0]),br=new Uint8Array(Wa.buffer);function Nf(e,t,r){Wa[0]=e,t[r]=br[0],t[r+1]=br[1],t[r+2]=br[2],t[r+3]=br[3]}function Pf(e,t){return br[0]=e[t],br[1]=e[t+1],br[2]=e[t+2],br[3]=e[t+3],Wa[0]}var $a=new Float64Array([-0]),re=new Uint8Array($a.buffer);function Uf(e,t,r){$a[0]=e,t[r]=re[0],t[r+1]=re[1],t[r+2]=re[2],t[r+3]=re[3],t[r+4]=re[4],t[r+5]=re[5],t[r+6]=re[6],t[r+7]=re[7]}function Of(e,t){return re[0]=e[t],re[1]=e[t+1],re[2]=e[t+2],re[3]=e[t+3],re[4]=e[t+4],re[5]=e[t+5],re[6]=e[t+6],re[7]=e[t+7],$a[0]}var sm=BigInt(Number.MAX_SAFE_INTEGER),am=BigInt(Number.MIN_SAFE_INTEGER),oe=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 Vr;if(t<sm&&t>am)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>Kf&&(i=0n,++n>Kf&&(n=0n))),new e(Number(i),Number(n))}static fromNumber(t){if(t===0)return Vr;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):Vr}},Vr=new oe(0,0);Vr.toBigInt=function(){return 0n};Vr.zzEncode=Vr.zzDecode=function(){return this};Vr.length=function(){return 1};var Kf=4294967296n;function Mf(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 Ff(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 Ya(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 ve(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function bo(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var Xa=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,ve(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 ve(this,4);return bo(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw ve(this,4);return bo(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw ve(this,4);let t=Pf(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw ve(this,4);let t=Of(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 ve(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return Ff(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw ve(this,t);this.pos+=t}else do if(this.pos>=this.len)throw ve(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 oe(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 ve(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 ve(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 ve(this,8);let t=bo(this.buf,this.pos+=4),r=bo(this.buf,this.pos+=4);return new oe(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 Za(e){return new Xa(e instanceof Uint8Array?e:e.subarray())}function Ee(e,t){let r=Za(e);return t.decode(r)}function Qa(e){let t=e??8192,r=t>>>1,n,i=t;return function(s){if(s<1||s>r)return Vt(s);i+s>t&&(n=Vt(t),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var Hr=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function ja(){}var tc=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},cm=Qa();function um(e){return globalThis.Buffer!=null?Vt(e):cm(e)}var di=class{len;head;tail;states;constructor(){this.len=0,this.head=new Hr(ja,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new Hr(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new ec((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(li,10,oe.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=oe.fromBigInt(t);return this._push(li,r.length(),r)}uint64Number(t){let r=oe.fromNumber(t);return this._push(li,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=oe.fromBigInt(t).zzEncode();return this._push(li,r.length(),r)}sint64Number(t){let r=oe.fromNumber(t).zzEncode();return this._push(li,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Ja,1,t?1:0)}fixed32(t){return this._push(hi,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=oe.fromBigInt(t);return this._push(hi,4,r.lo)._push(hi,4,r.hi)}fixed64Number(t){let r=oe.fromNumber(t);return this._push(hi,4,r.lo)._push(hi,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(Nf,4,t)}double(t){return this._push(Uf,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(Ja,1,0):this.uint32(r)._push(lm,r,t)}string(t){let r=Mf(t);return r!==0?this.uint32(r)._push(Ya,r,t):this._push(Ja,1,0)}fork(){return this.states=new tc(this),this.head=this.tail=new Hr(ja,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 Hr(ja,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=um(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function Ja(e,t,r){t[r]=e&255}function fm(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var ec=class extends Hr{next;constructor(t,r){super(fm,t,r),this.next=void 0}};function li(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 hi(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 lm(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(di.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(hm,t,e),this},di.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(dm,t,e),this});function hm(e,t,r){t.set(e,r)}function dm(e,t,r){e.length<40?Ya(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(wt(e),r)}function rc(){return new di}function Se(e,t){let r=rc();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 wo(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 wo("enum",An.VARINT,r,n)}function Ae(e,t){return wo("message",An.LENGTH_DELIMITED,e,t)}var se;(function(e){let t;(function(i){i.FIN="FIN",i.STOP_SENDING="STOP_SENDING",i.RESET="RESET",i.FIN_ACK="FIN_ACK"})(t=e.Flag||(e.Flag={}));let r;(function(i){i[i.FIN=0]="FIN",i[i.STOP_SENDING=1]="STOP_SENDING",i[i.RESET=2]="RESET",i[i.FIN_ACK=3]="FIN_ACK"})(r||(r={})),function(i){i.codec=()=>qr(r)}(t=e.Flag||(e.Flag={}));let n;e.codec=()=>(n==null&&(n=Ae((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.flag!=null&&(o.uint32(8),e.Flag.codec().encode(i.flag,o)),i.message!=null&&(o.uint32(18),o.bytes(i.message)),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.flag=e.Flag.codec().decode(i);break;case 2:s.message=i.bytes();break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>Se(i,e.codec()),e.decode=i=>Ee(i,e.codec())})(se||(se={}));var pm=16*1024*1024,ym=30*1e3,mm=5,gm=2,xm=16*1024,bm=5e3,wm=5e3,nc=class extends mo{channel;incomingData;maxBufferedAmount;bufferedAmountLowEventTimeout;maxMessageSize;receiveFinAck;finAckTimeout;openTimeout;constructor(t){let r=t.onEnd;switch(t.onEnd=i=>{this.log.trace("readable and writeable ends closed",this.status),Promise.resolve(async()=>{if(!(this.timeline.abort!=null||this.timeline.reset!==null))try{await Or(this.receiveFinAck.promise,{milliseconds:this.finAckTimeout})}catch(o){this.log.error("error receiving FIN_ACK",o)}}).then(()=>{this.incomingData.end(),r?.(i)}).catch(o=>{this.log.error("error ending stream",o)})},super(t),this.channel=t.channel,this.channel.binaryType="arraybuffer",this.incomingData=mr(),this.bufferedAmountLowEventTimeout=t.bufferedAmountLowEventTimeout??ym,this.maxBufferedAmount=t.maxBufferedAmount??pm,this.maxMessageSize=(t.maxMessageSize??xm)-mm-gm,this.receiveFinAck=Kt(),this.finAckTimeout=t.closeTimeout??bm,this.openTimeout=t.openTimeout??wm,this.channel.readyState){case"open":this.timeline.open=new Date().getTime();break;case"closed":case"closing":(this.timeline.close===void 0||this.timeline.close===0)&&(this.timeline.close=Date.now());break;case"connecting":break;default:throw this.log.error("unknown datachannel state %s",this.channel.readyState),new W("Unknown datachannel state","ERR_INVALID_STATE")}this.channel.onopen=i=>{this.timeline.open=new Date().getTime()},this.channel.onclose=i=>{this.receiveFinAck.resolve(),this.close().catch(o=>{this.log.error("error closing stream after channel closed",o)})},this.channel.onerror=i=>{let o=i.error;this.abort(o)},this.channel.onmessage=async i=>{let{data:o}=i;o===null||o.byteLength===0||this.incomingData.push(new Uint8Array(o,0,o.byteLength))};let n=this;Promise.resolve().then(async()=>{for await(let i of Fr(this.incomingData)){let o=n.processIncomingProtobuf(i);o!=null&&n.sourcePush(new Bt(o))}}).catch(i=>{this.log.error("error processing incoming data channel messages",i)})}sendNewStream(){}async _sendMessage(t,r=!0){if(r&&this.channel.bufferedAmount>this.maxBufferedAmount)try{this.log('channel buffer is %d, wait for "bufferedamountlow" event',this.channel.bufferedAmount),await Ga(this.channel,"bufferedamountlow",{timeout:this.bufferedAmountLowEventTimeout})}catch(n){throw n instanceof wn?new W(`Timed out waiting for DataChannel buffer to clear after ${this.bufferedAmountLowEventTimeout}ms`,"ERR_BUFFER_CLEAR_TIMEOUT"):n}if(this.channel.readyState==="closed"||this.channel.readyState==="closing")throw new W(`Invalid datachannel state - ${this.channel.readyState}`,"ERR_INVALID_STATE");this.channel.readyState!=="open"&&(this.log('channel state is "%s" and not "open", waiting for "open" event before sending data',this.channel.readyState),await Ga(this.channel,"open",{timeout:this.openTimeout}),this.log('channel state is now "%s", sending data',this.channel.readyState)),this.channel.send(t.subarray())}async sendData(t){for(t=t.sublist();t.byteLength>0;){let r=Math.min(t.byteLength,this.maxMessageSize),n=t.subarray(0,r),i=se.encode({message:n}),o=xr.single(i);await this._sendMessage(o),t.consume(r)}}async sendReset(){await this._sendFlag(se.Flag.RESET)}async sendCloseWrite(t){if(await this._sendFlag(se.Flag.FIN)){this.log.trace("awaiting FIN_ACK");try{await gr(this.receiveFinAck.promise,t?.signal,{errorMessage:"sending close-write was aborted before FIN_ACK was received",errorCode:"ERR_FIN_ACK_NOT_RECEIVED"})}catch(n){this.log.error("failed to await FIN_ACK",n)}}else this.log.trace("sending FIN failed, not awaiting FIN_ACK");this.receiveFinAck.resolve()}async sendCloseRead(){await this._sendFlag(se.Flag.STOP_SENDING)}processIncomingProtobuf(t){let r=se.decode(t);if(r.flag!==void 0&&(this.log.trace('incoming flag %s, write status "%s", read status "%s"',r.flag,this.writeStatus,this.readStatus),r.flag===se.Flag.FIN&&(this.remoteCloseWrite(),this.log.trace("sending FIN_ACK"),this._sendFlag(se.Flag.FIN_ACK).catch(n=>{this.log.error("error sending FIN_ACK immediately",n)})),r.flag===se.Flag.RESET&&this.reset(),r.flag===se.Flag.STOP_SENDING&&this.remoteCloseRead(),r.flag===se.Flag.FIN_ACK&&(this.log.trace("received FIN_ACK"),this.receiveFinAck.resolve())),this.readStatus==="ready")return r.message}async _sendFlag(t){if(this.channel.readyState!=="open")return this.log.trace('not sending flag %s because channel is "%s" and not "open"',this.channel.readyState,t.toString()),!1;this.log.trace("sending flag %s",t.toString());let r=se.encode({flag:t}),n=xr.single(r);try{return await this._sendMessage(n,!1),!0}catch(i){this.log.error("could not send flag %s",t.toString(),i)}return!1}};function Dn(e){let{channel:t,direction:r}=e;return new nc({id:r==="inbound"?`i${t.id}`:`r${t.id}`,log:e.logger.forComponent(`libp2p:webrtc:stream:${r}:${t.id}`),...e})}var Hf="/webrtc",zr=class{protocol;peerConnection;bufferedStreams=[];metrics;dataChannelOptions;components;log;constructor(t,r){this.components=t,this.peerConnection=r.peerConnection,this.metrics=r.metrics,this.protocol=r.protocol??Hf,this.dataChannelOptions=r.dataChannelOptions??{},this.log=t.logger.forComponent("libp2p:webrtc:datachannelmuxerfactory"),this.peerConnection.ondatachannel=({channel:n})=>{if(this.log.trace('incoming early datachannel with channel id %d and label "%s"',n.id),n.label==="init"){this.log.trace("closing early init channel"),n.close();return}let i={},o=Dn({channel:n,direction:"inbound",onEnd:s=>{i.onEnd(s)},logger:t.logger,...this.dataChannelOptions});i.stream=o,i.channel=n,i.onEnd=()=>{this.bufferedStreams=this.bufferedStreams.filter(s=>s.stream.id!==o.id)},this.bufferedStreams.push(i)}}createStreamMuxer(t){return new ic(this.components,{...t,peerConnection:this.peerConnection,dataChannelOptions:this.dataChannelOptions,metrics:this.metrics,streams:this.bufferedStreams,protocol:this.protocol})}},ic=class{init;streams;protocol;log;peerConnection;dataChannelOptions;metrics;logger;constructor(t,r){this.init=r,this.log=t.logger.forComponent("libp2p:webrtc:muxer"),this.logger=t.logger,this.streams=r.streams.map(n=>n.stream),this.peerConnection=r.peerConnection,this.protocol=r.protocol??Hf,this.metrics=r.metrics,this.dataChannelOptions=r.dataChannelOptions??{},this.peerConnection.ondatachannel=({channel:n})=>{if(this.log.trace("incoming datachannel with channel id %d",n.id),n.label==="init"){this.log.trace("closing init channel"),n.close();return}let i=Dn({channel:n,direction:"inbound",onEnd:()=>{this.log("incoming channel %s ended with state %s",n.id,n.readyState),this.#t(i,n)},logger:this.logger,...this.dataChannelOptions});this.streams.push(i),this.metrics?.increment({incoming_stream:!0}),r?.onIncomingStream?.(i)},this.init.streams.length>0&&queueMicrotask(()=>{this.init.streams.forEach(n=>{n.onEnd=()=>{this.log("incoming early channel %s ended with state %s",n.channel.id,n.channel.readyState),this.#t(n.stream,n.channel)},this.metrics?.increment({incoming_stream:!0}),this.init?.onIncomingStream?.(n.stream)})})}#t(t,r){this.log.trace("stream %s %s %s onEnd",t.direction,t.id,t.protocol),Af(r,`${t.direction} ${t.id} ${t.protocol}`,this.dataChannelOptions.drainTimeout,{log:this.log}),this.streams=this.streams.filter(n=>n.id!==t.id),this.metrics?.increment({stream_end:!0}),this.init?.onStreamEnd?.(t)}async close(t){try{await Promise.all(this.streams.map(async r=>r.close(t)))}catch(r){this.abort(r)}}abort(t){for(let r of this.streams)r.abort(t)}source=lo();sink=ho;newStream(){let t=this.peerConnection.createDataChannel("");this.log.trace("opened outgoing datachannel with channel id %s",t.id);let r=Dn({channel:t,direction:"outbound",onEnd:()=>{this.log("outgoing channel %s ended with state %s",t.id,t.readyState),this.#t(r,t)},logger:this.logger,...this.dataChannelOptions});return this.streams.push(r),this.metrics?.increment({outgoing_stream:!0}),r}};var Cn=globalThis.RTCPeerConnection,vo=globalThis.RTCSessionDescription,qf=globalThis.RTCIceCandidate;var oc=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=Kt(),this.haveNext=Kt()}[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=Kt(),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=Kt(),await gr(this.needNext.promise,r?.signal,r)}};function zf(){return new oc}var Eo=class extends Error{code;constructor(t,r){super(t),this.code=r}},sc=class extends Eo{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function Gf(e,t){let r=zf();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 Bt;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((f,l)=>{c=()=>{l(new sc("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:l,value:d}=await Promise.race([n.next(),u]);return l===!0?new Bt:d}for(;i.byteLength<s;){let{value:l,done:d}=await Promise.race([n.next(),u]);if(d===!0)throw new Eo("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}}}var So=class extends Error{code;constructor(t,r){super(t),this.code=r}},Wf=e=>we(e);Wf.bytes=0;function pi(e,t={}){let r=Gf(e,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=ee(t.maxDataLength)),{read:async i=>{let o=-1,s=new Bt,a=t?.lengthDecoder??Wf;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 So("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(t?.maxDataLength!=null&&o>t.maxDataLength)throw new So("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(xr.single(i,t),o)},writeV:async(i,o)=>{let s=new Bt(...i.map(a=>xr.single(a,t)));await r.write(s,o)},unwrap:()=>r.unwrap()}}function Ao(e,t){let r=pi(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 ae;(function(e){let t;(function(i){i.SDP_OFFER="SDP_OFFER",i.SDP_ANSWER="SDP_ANSWER",i.ICE_CANDIDATE="ICE_CANDIDATE"})(t=e.Type||(e.Type={}));let r;(function(i){i[i.SDP_OFFER=0]="SDP_OFFER",i[i.SDP_ANSWER=1]="SDP_ANSWER",i[i.ICE_CANDIDATE=2]="ICE_CANDIDATE"})(r||(r={})),function(i){i.codec=()=>qr(r)}(t=e.Type||(e.Type={}));let n;e.codec=()=>(n==null&&(n=Ae((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.type!=null&&(o.uint32(8),e.Type.codec().encode(i.type,o)),i.data!=null&&(o.uint32(18),o.string(i.data)),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.data=i.string();break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>Se(i,e.codec()),e.decode=i=>Ee(i,e.codec())})(ae||(ae={}));var Do=async(e,t,r)=>{try{let n=Kt();for(Em(e,n);;){let i=await Promise.race([n.promise,t.read({signal:r.signal})]);if(i==null)break;if(i.type!==ae.Type.ICE_CANDIDATE)throw new W("ICE candidate message expected","ERR_NOT_ICE_CANDIDATE");let o=JSON.parse(i.data??"null");if(o===""||o===null){r.log.trace("end-of-candidates received");continue}let s=new qf(o);r.log.trace("%s received new ICE candidate",r.direction,s);try{await e.addIceCandidate(s)}catch(a){r.log.error("%s bad candidate received",r.direction,o,a)}}}catch(n){if(r.log.error("%s error parsing ICE candidate",r.direction,n),r.signal?.aborted===!0)throw n}};function vm(e){return fi?e.iceConnectionState:e.connectionState}function Em(e,t){e[fi?"oniceconnectionstatechange":"onconnectionstatechange"]=r=>{switch(vm(e)){case"connected":t.resolve();break;case"failed":case"disconnected":case"closed":t.reject(new W("RTCPeerConnection was closed","ERR_CONNECTION_CLOSED_BEFORE_CONNECTED"));break;default:break}}}async function $f({peerConnection:e,signal:t,metrics:r,multiaddr:n,connectionManager:i,transportManager:o,log:s}){let{baseAddr:a}=Yf(n);r?.dialerEvents.increment({open:!0}),s.trace("dialing base address: %a",a);let c=a.getPeerId();if(c==null)throw new W("Relay peer was missing","ERR_INVALID_ADDRESS");let u=i.getConnections(Ur(c)),f,l=!1;u.length===0?(f=await o.dial(a,{signal:t}),l=!0):f=u[0];try{let d=await f.newStream(Co,{signal:t,runOnTransientConnection:!0}),y=Ao(d).pb(ae);try{let h=e.createDataChannel("init");e.onicecandidate=({candidate:b})=>{let x=JSON.stringify(b?.toJSON()??null);s.trace("initiator sending ICE candidate %s",x),y.write({type:ae.Type.ICE_CANDIDATE,data:x},{signal:t}).catch(D=>{s.error("error sending ICE candidate",D)})},e.onicecandidateerror=b=>{s.error("initiator ICE candidate error",b)};let p=await e.createOffer().catch(b=>{throw s.error("could not execute createOffer",b),new W("Failed to set createOffer","ERR_SDP_HANDSHAKE_FAILED")});s.trace("initiator send SDP offer %s",p.sdp),await y.write({type:ae.Type.SDP_OFFER,data:p.sdp},{signal:t}),await e.setLocalDescription(p).catch(b=>{throw s.error("could not execute setLocalDescription",b),new W("Failed to set localDescription","ERR_SDP_HANDSHAKE_FAILED")});let m=await y.read({signal:t});if(m.type!==ae.Type.SDP_ANSWER)throw new W("Remote should send an SDP answer","ERR_SDP_HANDSHAKE_FAILED");s.trace("initiator receive SDP answer %s",m.data);let g=new vo({type:"answer",sdp:m.data});return await e.setRemoteDescription(g).catch(b=>{throw s.error("could not execute setRemoteDescription",b),new W("Failed to set remoteDescription","ERR_SDP_HANDSHAKE_FAILED")}),s.trace("initiator read candidates until connected"),await Do(e,y,{direction:"initiator",signal:t,log:s}),s.trace("initiator connected, closing init channel"),h.close(),s.trace("initiator closing signalling stream"),await y.unwrap().unwrap().close({signal:t}),s.trace("initiator connected to remote address %s",n),{remoteAddress:n}}catch(h){throw e.close(),d.abort(h),h}finally{e.onicecandidate=null,e.onicecandidateerror=null}}finally{if(l)try{await f.close({signal:t})}catch(d){f.abort(d)}}}var Sm=q("dns4"),Am=q("dns6"),Dm=q("dnsaddr"),Gr=Ut(q("dns"),Dm,Sm,Am),To=Ut(q("ip4"),q("ip6")),Bn=Ut(X(To,q("tcp")),X(Gr,q("tcp"))),_o=X(To,q("udp")),Cm=X(_o,q("utp")),Bm=X(_o,q("quic")),Im=X(_o,q("quic-v1")),ac=Ut(X(Bn,q("ws")),X(Gr,q("ws"))),Bo=Ut(X(ac,q("p2p")),ac),cc=Ut(X(Bn,q("wss")),X(Gr,q("wss")),X(Bn,q("tls"),q("ws")),X(Gr,q("tls"),q("ws"))),Io=Ut(X(cc,q("p2p")),cc),uc=Ut(X(Bn,q("http")),X(To,q("http")),X(Gr,q("http"))),fc=Ut(X(Bn,q("https")),X(To,q("https")),X(Gr,q("https"))),Xf=X(_o,q("webrtc-direct"),q("certhash")),jf=Ut(X(Xf,q("p2p")),Xf),Zf=X(Im,q("webtransport"),q("certhash"),q("certhash")),Jf=Ut(X(Zf,q("p2p")),Zf),tl=Ut(X(Bo,q("p2p-webrtc-star"),q("p2p")),X(Io,q("p2p-webrtc-star"),q("p2p")),X(Bo,q("p2p-webrtc-star")),X(Io,q("p2p-webrtc-star"))),yA=Ut(X(Bo,q("p2p-websocket-star"),q("p2p")),X(Io,q("p2p-websocket-star"),q("p2p")),X(Bo,q("p2p-websocket-star")),X(Io,q("p2p-websocket-star"))),el=Ut(X(uc,q("p2p-webrtc-direct"),q("p2p")),X(fc,q("p2p-webrtc-direct"),q("p2p")),X(uc,q("p2p-webrtc-direct")),X(fc,q("p2p-webrtc-direct"))),Wr=Ut(ac,cc,uc,fc,tl,el,Bn,Cm,Bm,Gr,jf,Jf),mA=Ut(X(Wr,q("p2p-stardust"),q("p2p")),X(Wr,q("p2p-stardust"))),wr=Ut(X(Wr,q("p2p")),tl,el,jf,Jf,q("p2p")),Qf=Ut(X(wr,q("p2p-circuit"),wr),X(wr,q("p2p-circuit")),X(q("p2p-circuit"),wr),X(Wr,q("p2p-circuit")),X(q("p2p-circuit"),Wr),q("p2p-circuit")),rl=()=>Ut(X(Qf,rl),Qf),Qe=rl(),gA=Ut(X(Qe,wr,Qe),X(wr,Qe),X(Qe,wr),Qe,wr);var xA=Ut(X(Qe,q("webrtc"),q("p2p")),X(Qe,q("webrtc")),X(Wr,q("webrtc"),q("p2p")),X(Wr,q("webrtc")),q("webrtc"));function nl(e){function t(r){let n;try{n=Ze(r)}catch{return!1}let i=e(n.protoNames());return i===null?!1:i===!0||i===!1?i:i.length===0}return t}function X(...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:nl(t),partialMatch:t}}function Ut(...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:nl(t),partialMatch:t}}function q(e){let t=e;function r(i){let o;try{o=Ze(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 ko=class extends Xi{peerId;transportManager;shutdownController;constructor(t,r){super(),this.peerId=t.peerId,this.transportManager=t.transportManager,this.shutdownController=r.shutdownController}async listen(){this.safeDispatchEvent("listening",{})}getAddrs(){return this.transportManager.getListeners().filter(t=>t!==this).map(t=>t.getAddrs().filter(r=>Qe.matches(r)).map(r=>r.encapsulate(`/webrtc/p2p/${this.peerId}`))).flat()}async close(){this.shutdownController.abort(),this.safeDispatchEvent("close",{})}};async function il({peerConnection:e,stream:t,signal:r,connection:n,log:i}){i.trace("new inbound signaling stream");let o=Ao(t).pb(ae);try{e.onicecandidate=({candidate:f})=>{let l=JSON.stringify(f?.toJSON()??null);i.trace("recipient sending ICE candidate %s",l),o.write({type:ae.Type.ICE_CANDIDATE,data:l},{signal:r}).catch(d=>{i.error("error sending ICE candidate",d)})};let a=await o.read({signal:r});if(a.type!==ae.Type.SDP_OFFER)throw new W(`expected message type SDP_OFFER, received: ${a.type??"undefined"} `,"ERR_SDP_HANDSHAKE_FAILED");i.trace("recipient receive SDP offer %s",a.data);let c=new vo({type:"offer",sdp:a.data});await e.setRemoteDescription(c).catch(f=>{throw i.error("could not execute setRemoteDescription",f),new W("Failed to set remoteDescription","ERR_SDP_HANDSHAKE_FAILED")});let u=await e.createAnswer().catch(f=>{throw i.error("could not execute createAnswer",f),new W("Failed to create answer","ERR_SDP_HANDSHAKE_FAILED")});i.trace("recipient send SDP answer %s",u.sdp),await o.write({type:ae.Type.SDP_ANSWER,data:u.sdp},{signal:r}),await e.setLocalDescription(u).catch(f=>{throw i.error("could not execute setLocalDescription",f),new W("Failed to set localDescription","ERR_SDP_HANDSHAKE_FAILED")}),i.trace("recipient read candidates until connected"),await Do(e,o,{direction:"recipient",signal:r,log:i})}catch(a){if(e.connectionState!=="connected")throw i.error("error while handling signaling stream from peer %a",n.remoteAddr,a),e.close(),a;i("error while handling signaling stream from peer %a, ignoring as the RTCPeerConnection is already connected",n.remoteAddr,a)}let s=Ze(`/webrtc/p2p/${n.remoteAddr.getPeerId()}`);return i.trace("recipient connected to remote address %s",s),{remoteAddress:s}}var Tm="/webrtc",_m="/p2p-circuit",Co="/webrtc-signaling/0.0.1",km=30*1e3,Ro=class{components;init;log;_started=!1;metrics;shutdownController;constructor(t,r={}){this.components=t,this.init=r,this.log=t.logger.forComponent("libp2p:webrtc"),this.shutdownController=new AbortController,xu(1/0,this.shutdownController.signal),t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_webrtc_dialer_events_total",{label:"event",help:"Total count of WebRTC dialer events by type"}),listenerEvents:t.metrics.registerCounterGroup("libp2p_webrtc_listener_events_total",{label:"event",help:"Total count of WebRTC listener events by type"})})}isStarted(){return this._started}async start(){await this.components.registrar.handle(Co,t=>{this._onProtocol(t).catch(r=>{this.log.error("failed to handle incoming connect from %p",t.connection.remotePeer,r)})},{runOnTransientConnection:!0}),this._started=!0}async stop(){await this.components.registrar.unhandle(Co),this._started=!1}createListener(t){return new ko(this.components,{shutdownController:this.shutdownController})}[Symbol.toStringTag]="@libp2p/webrtc";[Yi]=!0;filter(t){return t.filter(df.exactMatch)}async dial(t,r){this.log.trace("dialing address: %a",t);let n=new Cn(this.init.rtcConfiguration),i=new zr(this.components,{peerConnection:n,dataChannelOptions:this.init.dataChannel}),{remoteAddress:o}=await $f({peerConnection:n,multiaddr:t,dataChannelOptions:this.init.dataChannel,signal:r.signal,connectionManager:this.components.connectionManager,transportManager:this.components.transportManager,log:this.log}),s=new Kr(this.components,{peerConnection:n,timeline:{open:Date.now()},remoteAddr:o,metrics:this.metrics?.dialerEvents}),a=await r.upgrader.upgradeOutbound(s,{skipProtection:!0,skipEncryption:!0,muxerFactory:i});return this._closeOnShutdown(n,s),a}async _onProtocol({connection:t,stream:r}){let n=AbortSignal.timeout(this.init.inboundConnectionTimeout??km),i=new Cn(this.init.rtcConfiguration),o=new zr(this.components,{peerConnection:i,dataChannelOptions:this.init.dataChannel});try{let{remoteAddress:s}=await il({peerConnection:i,connection:t,stream:r,signal:n,log:this.log}),a=new Kr(this.components,{peerConnection:i,timeline:{open:new Date().getTime()},remoteAddr:s,metrics:this.metrics?.listenerEvents});this._closeOnShutdown(i,a),await this.components.upgrader.upgradeInbound(a,{skipEncryption:!0,skipProtection:!0,muxerFactory:o}),await r.close({signal:n})}catch(s){throw r.abort(s),s}}_closeOnShutdown(t,r){let n=()=>{r.close().catch(i=>{this.log.error("could not close WebRTCMultiaddrConnection",i)})};this.shutdownController.signal.addEventListener("abort",n),t.addEventListener("close",()=>{this.shutdownController.signal.removeEventListener("abort",n)})}};function Yf(e){let t=e.toString().split(Tm+"/");if(t.length!==2)throw new W("webrtc protocol was not present in multiaddr",fe.ERR_INVALID_MULTIADDR);if(!t[0].includes(_m))throw new W("p2p-circuit protocol was not present in multiaddr",fe.ERR_INVALID_MULTIADDR);let r=Ze(t[0]),i=Ze("/"+t[1]).getPeerId();if(i==null)throw new W("destination peer id was missing",fe.ERR_INVALID_MULTIADDR);let o=r.protos().pop();if(o===void 0)throw new W("invalid multiaddr",fe.ERR_INVALID_MULTIADDR);return o.name!=="p2p"&&(r=r.encapsulate(`/p2p/${i}`)),{baseAddr:r,peerId:Ur(i)}}function lc(){let e=Kt(),t=!1;return{sink:async r=>{if(t)throw new Error("already piped");t=!0,e.resolve(r)},source:async function*(){yield*await e.promise}()}}function ol(){let e=lc(),t=lc();return[{source:e.source,sink:t.sink},{source:t.source,sink:e.sink}]}function Rm(e){return e[Symbol.asyncIterator]!=null}function Lm(...e){let t=[];for(let r of e)Rm(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=mr({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var sl=Lm;function al(e,...t){if(e==null)throw new Error("Empty pipeline");if(hc(e)){let n=e;e=()=>n.source}else if(ul(e)||cl(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&hc(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)hc(r[n])&&(r[n]=Pm(r[n]));return Nm(...r)}var Nm=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},cl=e=>e?.[Symbol.asyncIterator]!=null,ul=e=>e?.[Symbol.iterator]!=null,hc=e=>e==null?!1:e.sink!=null&&e.source!=null,Pm=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=mr({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=e.source;if(cl(o))i=async function*(){yield*o,n.end()};else if(ul(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return sl(n,i())}return e.source};var In=!!globalThis.process?.env?.DUMP_SESSION_KEYS;var Um=e=>e instanceof Uint8Array;var je=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),fl=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),Om=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Om)throw new Error("Non little-endian hardware is not supported");function Lo(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function No(e){if(typeof e=="string")e=Lo(e);else if(Um(e))e=e.slice();else throw new Error(`expected Uint8Array, got ${typeof e}`);return e}var Km=e=>Object.prototype.toString.call(e)==="[object Object]"&&e.constructor===Object;function ll(e,t){if(t!==void 0&&(typeof t!="object"||!Km(t)))throw new Error("options must be object or undefined");return Object.assign(e,t)}function $r(e,t){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");if(typeof t=="number"&&e.length!==t)throw new Error(`Uint8Array length ${t} expected`)}function hl(e,t){if(e.length!==t.length)throw new Error("equalBytes: Different size of Uint8Arrays");let r=!0;for(let n=0;n<e.length;n++)r&&(r=e[n]===t[n]);return r}var dc=(e,t)=>(Object.assign(t,e),t);function pc(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)}function Po(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function yc(e){if(typeof e!="boolean")throw new Error(`Expected boolean, not ${e}`)}function Tn(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 mc(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 dl(e,t){Tn(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Zt=(e,t)=>e[t++]&255|(e[t++]&255)<<8,gc=class{constructor(t){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,t=No(t),$r(t,32);let r=Zt(t,0),n=Zt(t,2),i=Zt(t,4),o=Zt(t,6),s=Zt(t,8),a=Zt(t,10),c=Zt(t,12),u=Zt(t,14);this.r[0]=r&8191,this.r[1]=(r>>>13|n<<3)&8191,this.r[2]=(n>>>10|i<<6)&7939,this.r[3]=(i>>>7|o<<9)&8191,this.r[4]=(o>>>4|s<<12)&255,this.r[5]=s>>>1&8190,this.r[6]=(s>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|u<<8)&8191,this.r[9]=u>>>5&127;for(let f=0;f<8;f++)this.pad[f]=Zt(t,16+2*f)}process(t,r,n=!1){let i=n?0:2048,{h:o,r:s}=this,a=s[0],c=s[1],u=s[2],f=s[3],l=s[4],d=s[5],y=s[6],h=s[7],p=s[8],m=s[9],g=Zt(t,r+0),b=Zt(t,r+2),x=Zt(t,r+4),D=Zt(t,r+6),v=Zt(t,r+8),E=Zt(t,r+10),C=Zt(t,r+12),B=Zt(t,r+14),O=o[0]+(g&8191),K=o[1]+((g>>>13|b<<3)&8191),U=o[2]+((b>>>10|x<<6)&8191),F=o[3]+((x>>>7|D<<9)&8191),G=o[4]+((D>>>4|v<<12)&8191),Q=o[5]+(v>>>1&8191),I=o[6]+((v>>>14|E<<2)&8191),R=o[7]+((E>>>11|C<<5)&8191),_=o[8]+((C>>>8|B<<8)&8191),k=o[9]+(B>>>5|i),S=0,P=S+O*a+K*(5*m)+U*(5*p)+F*(5*h)+G*(5*y);S=P>>>13,P&=8191,P+=Q*(5*d)+I*(5*l)+R*(5*f)+_*(5*u)+k*(5*c),S+=P>>>13,P&=8191;let M=S+O*c+K*a+U*(5*m)+F*(5*p)+G*(5*h);S=M>>>13,M&=8191,M+=Q*(5*y)+I*(5*d)+R*(5*l)+_*(5*f)+k*(5*u),S+=M>>>13,M&=8191;let H=S+O*u+K*c+U*a+F*(5*m)+G*(5*p);S=H>>>13,H&=8191,H+=Q*(5*h)+I*(5*y)+R*(5*d)+_*(5*l)+k*(5*f),S+=H>>>13,H&=8191;let Z=S+O*f+K*u+U*c+F*a+G*(5*m);S=Z>>>13,Z&=8191,Z+=Q*(5*p)+I*(5*h)+R*(5*y)+_*(5*d)+k*(5*l),S+=Z>>>13,Z&=8191;let j=S+O*l+K*f+U*u+F*c+G*a;S=j>>>13,j&=8191,j+=Q*(5*m)+I*(5*p)+R*(5*h)+_*(5*y)+k*(5*d),S+=j>>>13,j&=8191;let it=S+O*d+K*l+U*f+F*u+G*c;S=it>>>13,it&=8191,it+=Q*a+I*(5*m)+R*(5*p)+_*(5*h)+k*(5*y),S+=it>>>13,it&=8191;let J=S+O*y+K*d+U*l+F*f+G*u;S=J>>>13,J&=8191,J+=Q*c+I*a+R*(5*m)+_*(5*p)+k*(5*h),S+=J>>>13,J&=8191;let et=S+O*h+K*y+U*d+F*l+G*f;S=et>>>13,et&=8191,et+=Q*u+I*c+R*a+_*(5*m)+k*(5*p),S+=et>>>13,et&=8191;let bt=S+O*p+K*h+U*y+F*d+G*l;S=bt>>>13,bt&=8191,bt+=Q*f+I*u+R*c+_*a+k*(5*m),S+=bt>>>13,bt&=8191;let gt=S+O*m+K*p+U*h+F*y+G*d;S=gt>>>13,gt&=8191,gt+=Q*l+I*f+R*u+_*c+k*a,S+=gt>>>13,gt&=8191,S=(S<<2)+S|0,S=S+P|0,P=S&8191,S=S>>>13,M+=S,o[0]=P,o[1]=M,o[2]=H,o[3]=Z,o[4]=j,o[5]=it,o[6]=J,o[7]=et,o[8]=bt,o[9]=gt}finalize(){let{h:t,pad:r}=this,n=new Uint16Array(10),i=t[1]>>>13;t[1]&=8191;for(let a=2;a<10;a++)t[a]+=i,i=t[a]>>>13,t[a]&=8191;t[0]+=i*5,i=t[0]>>>13,t[0]&=8191,t[1]+=i,i=t[1]>>>13,t[1]&=8191,t[2]+=i,n[0]=t[0]+5,i=n[0]>>>13,n[0]&=8191;for(let a=1;a<10;a++)n[a]=t[a]+i,i=n[a]>>>13,n[a]&=8191;n[9]-=8192;let o=(i^1)-1;for(let a=0;a<10;a++)n[a]&=o;o=~o;for(let a=0;a<10;a++)t[a]=t[a]&o|n[a];t[0]=(t[0]|t[1]<<13)&65535,t[1]=(t[1]>>>3|t[2]<<10)&65535,t[2]=(t[2]>>>6|t[3]<<7)&65535,t[3]=(t[3]>>>9|t[4]<<4)&65535,t[4]=(t[4]>>>12|t[5]<<1|t[6]<<14)&65535,t[5]=(t[6]>>>2|t[7]<<11)&65535,t[6]=(t[7]>>>5|t[8]<<8)&65535,t[7]=(t[8]>>>8|t[9]<<5)&65535;let s=t[0]+r[0];t[0]=s&65535;for(let a=1;a<8;a++)s=(t[a]+r[a]|0)+(s>>>16)|0,t[a]=s&65535}update(t){mc(this);let{buffer:r,blockLen:n}=this;t=No(t);let i=t.length;for(let o=0;o<i;){let s=Math.min(n-this.pos,i-o);if(s===n){for(;n<=i-o;o+=n)this.process(t,o);continue}r.set(t.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===n&&(this.process(r,0,!1),this.pos=0)}return this}destroy(){this.h.fill(0),this.r.fill(0),this.buffer.fill(0),this.pad.fill(0)}digestInto(t){mc(this),dl(t,this),this.finished=!0;let{buffer:r,h:n}=this,{pos:i}=this;if(i){for(r[i++]=1;i<16;i++)r[i]=0;this.process(r,0,!0)}this.finalize();let o=0;for(let s=0;s<8;s++)t[o++]=n[s]>>>0,t[o++]=n[s]>>>8;return t}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}};function Mm(e){let t=(n,i)=>e(i).update(No(n)).digest(),r=e(new Uint8Array(32));return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}var pl=Mm(e=>new gc(e));var Fm=Lo("expand 16-byte k"),Vm=Lo("expand 32-byte k"),Hm=je(Fm),qm=je(Vm);function $(e,t){return e<<t|e>>>32-t}function xc(e){return e.byteOffset%4===0}var Uo=64,zm=16,ml=2**32-1,yl=new Uint32Array;function Gm(e,t,r,n,i,o,s,a){let c=i.length,u=new Uint8Array(Uo),f=je(u),l=xc(i)&&xc(o),d=l?je(i):yl,y=l?je(o):yl;for(let h=0;h<c;s++){if(e(t,r,n,f,s,a),s>=ml)throw new Error("arx: counter overflow");let p=Math.min(Uo,c-h);if(l&&p===Uo){let m=h/4;if(h%4!==0)throw new Error("arx: invalid block position");for(let g=0,b;g<zm;g++)b=m+g,y[b]=d[b]^f[g];h+=Uo;continue}for(let m=0,g;m<p;m++)g=h+m,o[g]=i[g]^u[m];h+=p}}function bc(e,t){let{allowShortKeys:r,extendNonceFn:n,counterLength:i,counterRight:o,rounds:s}=ll({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!="function")throw new Error("core must be a function");return Po(i),Po(s),yc(o),yc(r),(a,c,u,f,l=0)=>{Tn(a),Tn(c),Tn(u);let d=u.length;if(f||(f=new Uint8Array(d)),Tn(f),Po(l),l<0||l>=ml)throw new Error("arx: counter overflow");if(f.length<d)throw new Error(`arx: output (${f.length}) is shorter than data (${d})`);let y=[],h=a.length,p,m;if(h===32)p=a.slice(),y.push(p),m=qm;else if(h===16&&r)p=new Uint8Array(32),p.set(a),p.set(a,16),m=Hm,y.push(p);else throw new Error(`arx: invalid 32-byte key, got length=${h}`);xc(c)||(c=c.slice(),y.push(c));let g=je(p);if(n){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");n(m,g,je(c.subarray(0,16)),g),c=c.subarray(16)}let b=16-i;if(b!==c.length)throw new Error(`arx: nonce must be ${b} or 16 bytes`);if(b!==12){let D=new Uint8Array(12);D.set(c,o?0:12-c.length),c=D,y.push(c)}let x=je(c);for(Gm(e,m,g,x,u,f,l,s);y.length>0;)y.pop().fill(0);return f}}function bl(e,t,r,n,i,o=20){let s=e[0],a=e[1],c=e[2],u=e[3],f=t[0],l=t[1],d=t[2],y=t[3],h=t[4],p=t[5],m=t[6],g=t[7],b=i,x=r[0],D=r[1],v=r[2],E=s,C=a,B=c,O=u,K=f,U=l,F=d,G=y,Q=h,I=p,R=m,_=g,k=b,S=x,P=D,M=v;for(let Z=0;Z<o;Z+=2)E=E+K|0,k=$(k^E,16),Q=Q+k|0,K=$(K^Q,12),E=E+K|0,k=$(k^E,8),Q=Q+k|0,K=$(K^Q,7),C=C+U|0,S=$(S^C,16),I=I+S|0,U=$(U^I,12),C=C+U|0,S=$(S^C,8),I=I+S|0,U=$(U^I,7),B=B+F|0,P=$(P^B,16),R=R+P|0,F=$(F^R,12),B=B+F|0,P=$(P^B,8),R=R+P|0,F=$(F^R,7),O=O+G|0,M=$(M^O,16),_=_+M|0,G=$(G^_,12),O=O+G|0,M=$(M^O,8),_=_+M|0,G=$(G^_,7),E=E+U|0,M=$(M^E,16),R=R+M|0,U=$(U^R,12),E=E+U|0,M=$(M^E,8),R=R+M|0,U=$(U^R,7),C=C+F|0,k=$(k^C,16),_=_+k|0,F=$(F^_,12),C=C+F|0,k=$(k^C,8),_=_+k|0,F=$(F^_,7),B=B+G|0,S=$(S^B,16),Q=Q+S|0,G=$(G^Q,12),B=B+G|0,S=$(S^B,8),Q=Q+S|0,G=$(G^Q,7),O=O+K|0,P=$(P^O,16),I=I+P|0,K=$(K^I,12),O=O+K|0,P=$(P^O,8),I=I+P|0,K=$(K^I,7);let H=0;n[H++]=s+E|0,n[H++]=a+C|0,n[H++]=c+B|0,n[H++]=u+O|0,n[H++]=f+K|0,n[H++]=l+U|0,n[H++]=d+F|0,n[H++]=y+G|0,n[H++]=h+Q|0,n[H++]=p+I|0,n[H++]=m+R|0,n[H++]=g+_|0,n[H++]=b+k|0,n[H++]=x+S|0,n[H++]=D+P|0,n[H++]=v+M|0}function Wm(e,t,r,n){let i=e[0],o=e[1],s=e[2],a=e[3],c=t[0],u=t[1],f=t[2],l=t[3],d=t[4],y=t[5],h=t[6],p=t[7],m=r[0],g=r[1],b=r[2],x=r[3];for(let v=0;v<20;v+=2)i=i+c|0,m=$(m^i,16),d=d+m|0,c=$(c^d,12),i=i+c|0,m=$(m^i,8),d=d+m|0,c=$(c^d,7),o=o+u|0,g=$(g^o,16),y=y+g|0,u=$(u^y,12),o=o+u|0,g=$(g^o,8),y=y+g|0,u=$(u^y,7),s=s+f|0,b=$(b^s,16),h=h+b|0,f=$(f^h,12),s=s+f|0,b=$(b^s,8),h=h+b|0,f=$(f^h,7),a=a+l|0,x=$(x^a,16),p=p+x|0,l=$(l^p,12),a=a+l|0,x=$(x^a,8),p=p+x|0,l=$(l^p,7),i=i+u|0,x=$(x^i,16),h=h+x|0,u=$(u^h,12),i=i+u|0,x=$(x^i,8),h=h+x|0,u=$(u^h,7),o=o+f|0,m=$(m^o,16),p=p+m|0,f=$(f^p,12),o=o+f|0,m=$(m^o,8),p=p+m|0,f=$(f^p,7),s=s+l|0,g=$(g^s,16),d=d+g|0,l=$(l^d,12),s=s+l|0,g=$(g^s,8),d=d+g|0,l=$(l^d,7),a=a+c|0,b=$(b^a,16),y=y+b|0,c=$(c^y,12),a=a+c|0,b=$(b^a,8),y=y+b|0,c=$(c^y,7);let D=0;n[D++]=i,n[D++]=o,n[D++]=s,n[D++]=a,n[D++]=m,n[D++]=g,n[D++]=b,n[D++]=x}var $m=bc(bl,{counterRight:!1,counterLength:4,allowShortKeys:!1}),Ym=bc(bl,{counterRight:!1,counterLength:8,extendNonceFn:Wm,allowShortKeys:!1});var Xm=new Uint8Array(16),gl=(e,t)=>{e.update(t);let r=t.length%16;r&&e.update(Xm.subarray(r))},Zm=new Uint8Array(32);function xl(e,t,r,n,i){let o=e(t,r,Zm),s=pl.create(o);i&&gl(s,i),gl(s,n);let a=new Uint8Array(16),c=fl(a);pc(c,0,BigInt(i?i.length:0),!0),pc(c,8,BigInt(n.length),!0),s.update(a);let u=s.digest();return o.fill(0),u}var wl=e=>(t,r,n)=>($r(t,32),$r(r),{encrypt:(o,s)=>{let a=o.length,c=a+16;s?$r(s,c):s=new Uint8Array(c),e(t,r,o,s,1);let u=xl(e,t,r,s.subarray(0,-16),n);return s.set(u,a),s},decrypt:(o,s)=>{let a=o.length,c=a-16;if(a<16)throw new Error("encrypted data must be at least 16 bytes");s?$r(s,c):s=new Uint8Array(c);let u=o.subarray(0,-16),f=o.subarray(-16),l=xl(e,t,r,u,n);if(!hl(f,l))throw new Error("invalid tag");return e(t,r,u,s,1),s}}),wc=dc({blockSize:64,nonceLength:12,tagLength:16},wl($m)),lD=dc({blockSize:64,nonceLength:24,tagLength:16},wl(Ym));function Oo(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function vc(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 yi(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Oo(e.outputLen),Oo(e.blockLen)}function _n(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 vl(e,t){vc(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Ko=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var El=e=>e instanceof Uint8Array;var Mo=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),De=(e,t)=>e<<32-t|e>>>t,Qm=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Qm)throw new Error("Non little-endian hardware is not supported");function Ec(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function vr(e){if(typeof e=="string"&&(e=Ec(e)),!El(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function Fo(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!El(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}var kn=class{clone(){return this._cloneInto()}},mD={}.toString;function Vo(e){let t=n=>e().update(vr(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Yr(e=32){if(Ko&&typeof Ko.getRandomValues=="function")return Ko.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function jm(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 Rn=class extends kn{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=Mo(this.buffer)}update(t){_n(this);let{view:r,buffer:n,blockLen:i}=this;t=vr(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=Mo(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){_n(this),vl(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;jm(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=Mo(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 Ho=BigInt(4294967295),Sc=BigInt(32);function Sl(e,t=!1){return t?{h:Number(e&Ho),l:Number(e>>Sc&Ho)}:{h:Number(e>>Sc&Ho)|0,l:Number(e&Ho)|0}}function Jm(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}=Sl(e[i],t);[r[i],n[i]]=[o,s]}return[r,n]}var tg=(e,t)=>BigInt(e>>>0)<<Sc|BigInt(t>>>0),eg=(e,t,r)=>e>>>r,rg=(e,t,r)=>e<<32-r|t>>>r,ng=(e,t,r)=>e>>>r|t<<32-r,ig=(e,t,r)=>e<<32-r|t>>>r,og=(e,t,r)=>e<<64-r|t>>>r-32,sg=(e,t,r)=>e>>>r-32|t<<64-r,ag=(e,t)=>t,cg=(e,t)=>e,ug=(e,t,r)=>e<<r|t>>>32-r,fg=(e,t,r)=>t<<r|e>>>32-r,lg=(e,t,r)=>t<<r-32|e>>>64-r,hg=(e,t,r)=>e<<r-32|t>>>64-r;function dg(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var pg=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),yg=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,mg=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),gg=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,xg=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),bg=(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0;var wg={fromBig:Sl,split:Jm,toBig:tg,shrSH:eg,shrSL:rg,rotrSH:ng,rotrSL:ig,rotrBH:og,rotrBL:sg,rotr32H:ag,rotr32L:cg,rotlSH:ug,rotlSL:fg,rotlBH:lg,rotlBL:hg,add:dg,add3L:pg,add3H:yg,add4L:mg,add4H:gg,add5H:bg,add5L:xg},rt=wg;var[vg,Eg]=rt.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))),Er=new Uint32Array(80),Sr=new Uint32Array(80),Ac=class extends Rn{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:d,Gh:y,Gl:h,Hh:p,Hl:m}=this;return[t,r,n,i,o,s,a,c,u,f,l,d,y,h,p,m]}set(t,r,n,i,o,s,a,c,u,f,l,d,y,h,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=d|0,this.Gh=y|0,this.Gl=h|0,this.Hh=p|0,this.Hl=m|0}process(t,r){for(let x=0;x<16;x++,r+=4)Er[x]=t.getUint32(r),Sr[x]=t.getUint32(r+=4);for(let x=16;x<80;x++){let D=Er[x-15]|0,v=Sr[x-15]|0,E=rt.rotrSH(D,v,1)^rt.rotrSH(D,v,8)^rt.shrSH(D,v,7),C=rt.rotrSL(D,v,1)^rt.rotrSL(D,v,8)^rt.shrSL(D,v,7),B=Er[x-2]|0,O=Sr[x-2]|0,K=rt.rotrSH(B,O,19)^rt.rotrBH(B,O,61)^rt.shrSH(B,O,6),U=rt.rotrSL(B,O,19)^rt.rotrBL(B,O,61)^rt.shrSL(B,O,6),F=rt.add4L(C,U,Sr[x-7],Sr[x-16]),G=rt.add4H(F,E,K,Er[x-7],Er[x-16]);Er[x]=G|0,Sr[x]=F|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:d,Fh:y,Fl:h,Gh:p,Gl:m,Hh:g,Hl:b}=this;for(let x=0;x<80;x++){let D=rt.rotrSH(l,d,14)^rt.rotrSH(l,d,18)^rt.rotrBH(l,d,41),v=rt.rotrSL(l,d,14)^rt.rotrSL(l,d,18)^rt.rotrBL(l,d,41),E=l&y^~l&p,C=d&h^~d&m,B=rt.add5L(b,v,C,Eg[x],Sr[x]),O=rt.add5H(B,g,D,E,vg[x],Er[x]),K=B|0,U=rt.rotrSH(n,i,28)^rt.rotrBH(n,i,34)^rt.rotrBH(n,i,39),F=rt.rotrSL(n,i,28)^rt.rotrBL(n,i,34)^rt.rotrBL(n,i,39),G=n&o^n&a^o&a,Q=i&s^i&c^s&c;g=p|0,b=m|0,p=y|0,m=h|0,y=l|0,h=d|0,{h:l,l:d}=rt.add(u|0,f|0,O|0,K|0),u=a|0,f=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let I=rt.add3L(K,F,Q);n=rt.add3H(I,O,U,G),i=I|0}({h:n,l:i}=rt.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=rt.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=rt.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=rt.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:d}=rt.add(this.Eh|0,this.El|0,l|0,d|0),{h:y,l:h}=rt.add(this.Fh|0,this.Fl|0,y|0,h|0),{h:p,l:m}=rt.add(this.Gh|0,this.Gl|0,p|0,m|0),{h:g,l:b}=rt.add(this.Hh|0,this.Hl|0,g|0,b|0),this.set(n,i,o,s,a,c,u,f,l,d,y,h,p,m,g,b)}roundClean(){Er.fill(0),Sr.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 Dc=Vo(()=>new Ac);var Go={};ft(Go,{bitGet:()=>Tg,bitLen:()=>Ig,bitMask:()=>mi,bitSet:()=>_g,bytesToHex:()=>Je,bytesToNumberBE:()=>tr,bytesToNumberLE:()=>Ce,concatBytes:()=>rr,createHmacDrbg:()=>Ic,ensureBytes:()=>Et,equalBytes:()=>Cg,hexToBytes:()=>Xr,hexToNumber:()=>Bc,numberToBytesBE:()=>Ar,numberToBytesLE:()=>er,numberToHexUnpadded:()=>Cl,numberToVarBytesBE:()=>Dg,utf8ToBytes:()=>Bg,validateObject:()=>pe});var Dl=BigInt(0),qo=BigInt(1),Sg=BigInt(2),zo=e=>e instanceof Uint8Array,Ag=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Je(e){if(!zo(e))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=Ag[e[r]];return t}function Cl(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Bc(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}function Xr(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 tr(e){return Bc(Je(e))}function Ce(e){if(!zo(e))throw new Error("Uint8Array expected");return Bc(Je(Uint8Array.from(e).reverse()))}function Ar(e,t){return Xr(e.toString(16).padStart(t*2,"0"))}function er(e,t){return Ar(e,t).reverse()}function Dg(e){return Xr(Cl(e))}function Et(e,t,r){let n;if(typeof t=="string")try{n=Xr(t)}catch(o){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${o}`)}else if(zo(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 rr(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!zo(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}function Cg(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 Bg(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Ig(e){let t;for(t=0;e>Dl;e>>=qo,t+=1);return t}function Tg(e,t){return e>>BigInt(t)&qo}var _g=(e,t,r)=>e|(r?qo:Dl)<<BigInt(t),mi=e=>(Sg<<BigInt(e-1))-qo,Cc=e=>new Uint8Array(e),Al=e=>Uint8Array.from(e);function Ic(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=Cc(e),i=Cc(e),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=Cc())=>{i=a(Al([0]),l),n=a(),l.length!==0&&(i=a(Al([1]),l),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,d=[];for(;l<t;){n=a();let y=n.slice();d.push(y),l+=n.length}return rr(...d)};return(l,d)=>{s(),c(l);let y;for(;!(y=d(u()));)c();return s(),y}}var kg={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 pe(e,t,r={}){let n=(i,o,s)=>{let a=kg[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 qt=BigInt(0),It=BigInt(1),Zr=BigInt(2),Rg=BigInt(3),Tc=BigInt(4),Bl=BigInt(5),Il=BigInt(8),Lg=BigInt(9),Ng=BigInt(16);function ht(e,t){let r=e%t;return r>=qt?r:t+r}function _c(e,t,r){if(r<=qt||t<qt)throw new Error("Expected power/modulo > 0");if(r===It)return qt;let n=It;for(;t>qt;)t&It&&(n=n*e%r),e=e*e%r,t>>=It;return n}function St(e,t,r){let n=e;for(;t-- >qt;)n*=n,n%=r;return n}function Wo(e,t){if(e===qt||t<=qt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=ht(e,t),n=t,i=qt,o=It,s=It,a=qt;for(;r!==qt;){let u=n/r,f=n%r,l=i-s*u,d=o-a*u;n=r,r=f,i=s,o=a,s=l,a=d}if(n!==It)throw new Error("invert: does not exist");return ht(i,t)}function Pg(e){let t=(e-It)/Zr,r,n,i;for(r=e-It,n=0;r%Zr===qt;r/=Zr,n++);for(i=Zr;i<e&&_c(i,t,e)!==e-It;i++);if(n===1){let s=(e+It)/Tc;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+It)/Zr;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),d=a.pow(c,r);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let y=1;for(let p=a.sqr(d);y<u&&!a.eql(p,a.ONE);y++)p=a.sqr(p);let h=a.pow(f,It<<BigInt(u-y-1));f=a.sqr(h),l=a.mul(l,h),d=a.mul(d,f),u=y}return l}}function Ug(e){if(e%Tc===Rg){let t=(e+It)/Tc;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%Il===Bl){let t=(e-Bl)/Il;return function(n,i){let o=n.mul(i,Zr),s=n.pow(o,t),a=n.mul(i,s),c=n.mul(n.mul(a,Zr),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%Ng,Pg(e)}var Tl=(e,t)=>(ht(e,t)&It)===It,Og=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function kc(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=Og.reduce((n,i)=>(n[i]="function",n),t);return pe(e,r)}function Kg(e,t,r){if(r<qt)throw new Error("Expected power > 0");if(r===qt)return e.ONE;if(r===It)return t;let n=e.ONE,i=t;for(;r>qt;)r&It&&(n=e.mul(n,i)),i=e.sqr(i),r>>=It;return n}function Mg(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 Rc(e,t){let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function $o(e,t,r=!1,n={}){if(e<=qt)throw new Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:i,nByteLength:o}=Rc(e,t);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=Ug(e),a=Object.freeze({ORDER:e,BITS:i,BYTES:o,MASK:mi(i),ZERO:qt,ONE:It,create:c=>ht(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return qt<=c&&c<e},is0:c=>c===qt,isOdd:c=>(c&It)===It,neg:c=>ht(-c,e),eql:(c,u)=>c===u,sqr:c=>ht(c*c,e),add:(c,u)=>ht(c+u,e),sub:(c,u)=>ht(c-u,e),mul:(c,u)=>ht(c*u,e),pow:(c,u)=>Kg(a,c,u),div:(c,u)=>ht(c*Wo(u,e),e),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Wo(c,e),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>Mg(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>r?er(c,o):Ar(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?Ce(c):tr(c)}});return Object.freeze(a)}function _l(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 kl(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 Lc(e){let t=kl(e);return t+Math.ceil(t/2)}function Rl(e,t,r=!1){let n=e.length,i=kl(t),o=Lc(t);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?tr(e):Ce(e),a=ht(s,t-It)+It;return r?er(a,i):Ar(a,i)}var Vg=BigInt(0),Nc=BigInt(1);function Yo(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>Vg;)o&Nc&&(s=s.add(a)),a=a.double(),o>>=Nc;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 d=1;d<a;d++)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),d=2**i,y=BigInt(i);for(let h=0;h<a;h++){let p=h*c,m=Number(s&l);s>>=y,m>c&&(m-=d,s+=Nc);let g=p,b=p+Math.abs(m)-1,x=h%2!==0,D=m<0;m===0?f=f.add(r(x,o[g])):u=u.add(r(D,o[b]))}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 gi(e){return kc(e.Fp),pe(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Rc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Be=BigInt(0),le=BigInt(1),Xo=BigInt(2),Hg=BigInt(8),qg={zip215:!0};function zg(e){let t=gi(e);return pe(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function Zo(e){let t=zg(e),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=t,u=Xo<<BigInt(a*8)-le,f=r.create,l=t.uvRatio||((k,S)=>{try{return{isValid:!0,value:r.sqrt(k*r.inv(S))}}catch{return{isValid:!1,value:Be}}}),d=t.adjustScalarBytes||(k=>k),y=t.domain||((k,S,P)=>{if(S.length||P)throw new Error("Contexts/pre-hash are not supported");return k}),h=k=>typeof k=="bigint"&&Be<k,p=(k,S)=>h(k)&&h(S)&&k<S,m=k=>k===Be||p(k,u);function g(k,S){if(p(k,S))return k;throw new Error(`Expected valid scalar < ${S}, got ${typeof k} ${k}`)}function b(k){return k===Be?k:g(k,n)}let x=new Map;function D(k){if(!(k instanceof v))throw new Error("ExtendedPoint expected")}class v{constructor(S,P,M,H){if(this.ex=S,this.ey=P,this.ez=M,this.et=H,!m(S))throw new Error("x required");if(!m(P))throw new Error("y required");if(!m(M))throw new Error("z required");if(!m(H))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(S){if(S instanceof v)throw new Error("extended point not allowed");let{x:P,y:M}=S||{};if(!m(P)||!m(M))throw new Error("invalid affine point");return new v(P,M,le,f(P*M))}static normalizeZ(S){let P=r.invertBatch(S.map(M=>M.ez));return S.map((M,H)=>M.toAffine(P[H])).map(v.fromAffine)}_setWindowSize(S){this._WINDOW_SIZE=S,x.delete(this)}assertValidity(){let{a:S,d:P}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:M,ey:H,ez:Z,et:j}=this,it=f(M*M),J=f(H*H),et=f(Z*Z),bt=f(et*et),gt=f(it*S),$t=f(et*f(gt+J)),Yt=f(bt+f(P*f(it*J)));if($t!==Yt)throw new Error("bad point: equation left != right (1)");let Ft=f(M*H),jt=f(Z*j);if(Ft!==jt)throw new Error("bad point: equation left != right (2)")}equals(S){D(S);let{ex:P,ey:M,ez:H}=this,{ex:Z,ey:j,ez:it}=S,J=f(P*it),et=f(Z*H),bt=f(M*it),gt=f(j*H);return J===et&&bt===gt}is0(){return this.equals(v.ZERO)}negate(){return new v(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:S}=t,{ex:P,ey:M,ez:H}=this,Z=f(P*P),j=f(M*M),it=f(Xo*f(H*H)),J=f(S*Z),et=P+M,bt=f(f(et*et)-Z-j),gt=J+j,$t=gt-it,Yt=J-j,Ft=f(bt*$t),jt=f(gt*Yt),We=f(bt*Yt),Lr=f($t*gt);return new v(Ft,jt,Lr,We)}add(S){D(S);let{a:P,d:M}=t,{ex:H,ey:Z,ez:j,et:it}=this,{ex:J,ey:et,ez:bt,et:gt}=S;if(P===BigInt(-1)){let au=f((Z-H)*(et+J)),cu=f((Z+H)*(et-J)),Ms=f(cu-au);if(Ms===Be)return this.double();let uu=f(j*Xo*gt),fu=f(it*Xo*bt),lu=fu+uu,hu=cu+au,du=fu-uu,H1=f(lu*Ms),q1=f(hu*du),z1=f(lu*du),G1=f(Ms*hu);return new v(H1,q1,G1,z1)}let $t=f(H*J),Yt=f(Z*et),Ft=f(it*M*gt),jt=f(j*bt),We=f((H+Z)*(J+et)-$t-Yt),Lr=jt-Ft,ti=jt+Ft,su=f(Yt-P*$t),K1=f(We*Lr),M1=f(ti*su),F1=f(We*su),V1=f(Lr*ti);return new v(K1,M1,V1,F1)}subtract(S){return this.add(S.negate())}wNAF(S){return B.wNAFCached(this,x,S,v.normalizeZ)}multiply(S){let{p:P,f:M}=this.wNAF(g(S,n));return v.normalizeZ([P,M])[0]}multiplyUnsafe(S){let P=b(S);return P===Be?C:this.equals(C)||P===le?this:this.equals(E)?this.wNAF(P).p:B.unsafeLadder(this,P)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return B.unsafeLadder(this,n).is0()}toAffine(S){let{ex:P,ey:M,ez:H}=this,Z=this.is0();S==null&&(S=Z?Hg:r.inv(H));let j=f(P*S),it=f(M*S),J=f(H*S);if(Z)return{x:Be,y:le};if(J!==le)throw new Error("invZ was invalid");return{x:j,y:it}}clearCofactor(){let{h:S}=t;return S===le?this:this.multiplyUnsafe(S)}static fromHex(S,P=!1){let{d:M,a:H}=t,Z=r.BYTES;S=Et("pointHex",S,Z);let j=S.slice(),it=S[Z-1];j[Z-1]=it&-129;let J=Ce(j);J===Be||(P?g(J,u):g(J,r.ORDER));let et=f(J*J),bt=f(et-le),gt=f(M*et-H),{isValid:$t,value:Yt}=l(bt,gt);if(!$t)throw new Error("Point.fromHex: invalid y coordinate");let Ft=(Yt&le)===le,jt=(it&128)!==0;if(!P&&Yt===Be&&jt)throw new Error("Point.fromHex: x=0 and x_0=1");return jt!==Ft&&(Yt=f(-Yt)),v.fromAffine({x:Yt,y:J})}static fromPrivateKey(S){return U(S).point}toRawBytes(){let{x:S,y:P}=this.toAffine(),M=er(P,r.BYTES);return M[M.length-1]|=S&le?128:0,M}toHex(){return Je(this.toRawBytes())}}v.BASE=new v(t.Gx,t.Gy,le,f(t.Gx*t.Gy)),v.ZERO=new v(Be,le,le,Be);let{BASE:E,ZERO:C}=v,B=Yo(v,a*8);function O(k){return ht(k,n)}function K(k){return O(Ce(k))}function U(k){let S=a;k=Et("private key",k,S);let P=Et("hashed private key",o(k),2*S),M=d(P.slice(0,S)),H=P.slice(S,2*S),Z=K(M),j=E.multiply(Z),it=j.toRawBytes();return{head:M,prefix:H,scalar:Z,point:j,pointBytes:it}}function F(k){return U(k).pointBytes}function G(k=new Uint8Array,...S){let P=rr(...S);return K(o(y(P,Et("context",k),!!i)))}function Q(k,S,P={}){k=Et("message",k),i&&(k=i(k));let{prefix:M,scalar:H,pointBytes:Z}=U(S),j=G(P.context,M,k),it=E.multiply(j).toRawBytes(),J=G(P.context,it,Z,k),et=O(j+J*H);b(et);let bt=rr(it,er(et,r.BYTES));return Et("result",bt,a*2)}let I=qg;function R(k,S,P,M=I){let{context:H,zip215:Z}=M,j=r.BYTES;k=Et("signature",k,2*j),S=Et("message",S),i&&(S=i(S));let it=Ce(k.slice(j,2*j)),J,et,bt;try{J=v.fromHex(P,Z),et=v.fromHex(k.slice(0,j),Z),bt=E.multiplyUnsafe(it)}catch{return!1}if(!Z&&J.isSmallOrder())return!1;let gt=G(H,et.toRawBytes(),J.toRawBytes(),S);return et.add(J.multiplyUnsafe(gt)).subtract(bt).clearCofactor().equals(v.ZERO)}return E._setWindowSize(8),{CURVE:t,getPublicKey:F,sign:Q,verify:R,ExtendedPoint:v,utils:{getExtendedPublicKey:U,randomPrivateKey:()=>s(r.BYTES),precompute(k=8,S=v.BASE){return S._setWindowSize(k),S.multiply(BigInt(3)),S}}}}var xi=BigInt(0),Pc=BigInt(1);function Gg(e){return pe(e,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...e})}function Ll(e){let t=Gg(e),{P:r}=t,n=x=>ht(x,r),i=t.montgomeryBits,o=Math.ceil(i/8),s=t.nByteLength,a=t.adjustScalarBytes||(x=>x),c=t.powPminus2||(x=>_c(x,r-BigInt(2),r));function u(x,D,v){let E=n(x*(D-v));return D=n(D-E),v=n(v+E),[D,v]}function f(x){if(typeof x=="bigint"&&xi<=x&&x<r)return x;throw new Error("Expected valid scalar 0 < scalar < CURVE.P")}let l=(t.a-BigInt(2))/BigInt(4);function d(x,D){let v=f(x),E=f(D),C=v,B=Pc,O=xi,K=v,U=Pc,F=xi,G;for(let I=BigInt(i-1);I>=xi;I--){let R=E>>I&Pc;F^=R,G=u(F,B,K),B=G[0],K=G[1],G=u(F,O,U),O=G[0],U=G[1],F=R;let _=B+O,k=n(_*_),S=B-O,P=n(S*S),M=k-P,H=K+U,Z=K-U,j=n(Z*_),it=n(H*S),J=j+it,et=j-it;K=n(J*J),U=n(C*n(et*et)),B=n(k*P),O=n(M*(k+n(l*M)))}G=u(F,B,K),B=G[0],K=G[1],G=u(F,O,U),O=G[0],U=G[1];let Q=c(O);return n(B*Q)}function y(x){return er(n(x),o)}function h(x){let D=Et("u coordinate",x,o);return s===o&&(D[s-1]&=127),Ce(D)}function p(x){let D=Et("scalar",x);if(D.length!==o&&D.length!==s)throw new Error(`Expected ${o} or ${s} bytes, got ${D.length}`);return Ce(a(D))}function m(x,D){let v=h(D),E=p(x),C=d(v,E);if(C===xi)throw new Error("Invalid private or public key received");return y(C)}let g=y(t.Gu);function b(x){return m(x,g)}return{scalarMult:m,scalarMultBase:b,getSharedSecret:(x,D)=>m(x,D),getPublicKey:x=>b(x),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:g}}var bi=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Nl=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),HD=BigInt(0),Wg=BigInt(1),Uc=BigInt(2),$g=BigInt(5),Pl=BigInt(10),Yg=BigInt(20),Xg=BigInt(40),Ul=BigInt(80);function Ol(e){let t=bi,n=e*e%t*e%t,i=St(n,Uc,t)*n%t,o=St(i,Wg,t)*e%t,s=St(o,$g,t)*o%t,a=St(s,Pl,t)*s%t,c=St(a,Yg,t)*a%t,u=St(c,Xg,t)*c%t,f=St(u,Ul,t)*u%t,l=St(f,Ul,t)*u%t,d=St(l,Pl,t)*s%t;return{pow_p_5_8:St(d,Uc,t)*e%t,b2:n}}function Kl(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function Zg(e,t){let r=bi,n=ht(t*t*t,r),i=ht(n*n*t,r),o=Ol(e*i).pow_p_5_8,s=ht(e*n*o,r),a=ht(t*s*s,r),c=s,u=ht(s*Nl,r),f=a===e,l=a===ht(-e,r),d=a===ht(-e*Nl,r);return f&&(s=c),(l||d)&&(s=u),Tl(s,r)&&(s=ht(-s,r)),{isValid:f||l,value:s}}var nr=$o(bi,void 0,!0),Oc={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:nr,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Dc,randomBytes:Yr,adjustScalarBytes:Kl,uvRatio:Zg},Ln=Zo(Oc);function Ml(e,t,r){if(t.length>255)throw new Error("Context is too big");return Fo(Ec("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,t.length]),t,e)}var qD=Zo({...Oc,domain:Ml}),zD=Zo({...Oc,domain:Ml,prehash:Dc}),wi=Ll({P:bi,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{let t=bi,{pow_p_5_8:r,b2:n}=Ol(e);return ht(St(r,BigInt(3),t)*n,t)},adjustScalarBytes:Kl,randomBytes:Yr});var Qg=(nr.ORDER+BigInt(3))/BigInt(8),GD=nr.pow(Uc,Qg),WD=nr.sqrt(nr.neg(nr.ONE)),$D=(nr.ORDER-BigInt(5))/BigInt(8),YD=BigInt(486662);var XD=_l(nr,nr.neg(BigInt(486664)));var ZD=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),QD=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),jD=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),JD=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var tC=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Qo=class extends kn{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,yi(t);let n=vr(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 _n(this),this.iHash.update(t),this}digestInto(t){_n(this),vc(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()}},Nn=(e,t,r)=>new Qo(e,t).update(r).digest();Nn.create=(e,t)=>new Qo(e,t);function Vl(e,t,r){return yi(e),r===void 0&&(r=new Uint8Array(e.outputLen)),Nn(e,vr(r),vr(t))}var Kc=new Uint8Array([0]),Fl=new Uint8Array;function Hl(e,t,r,n=32){if(yi(e),Oo(n),n>255*e.outputLen)throw new Error("Length should be <= 255*HashLen");let i=Math.ceil(n/e.outputLen);r===void 0&&(r=Fl);let o=new Uint8Array(i*e.outputLen),s=Nn.create(e,t),a=s._cloneInto(),c=new Uint8Array(s.outputLen);for(let u=0;u<i;u++)Kc[0]=u+1,a.update(u===0?Fl:c).update(r).update(Kc).digestInto(c),o.set(c,e.outputLen*u),s._cloneInto(a);return s.destroy(),a.destroy(),c.fill(0),Kc.fill(0),o.slice(0,n)}var jg=(e,t,r)=>e&t^~e&r,Jg=(e,t,r)=>e&t^e&r^t&r,tx=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]),Dr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Cr=new Uint32Array(64),Mc=class extends Rn{constructor(){super(64,32,8,!1),this.A=Dr[0]|0,this.B=Dr[1]|0,this.C=Dr[2]|0,this.D=Dr[3]|0,this.E=Dr[4]|0,this.F=Dr[5]|0,this.G=Dr[6]|0,this.H=Dr[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)Cr[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let d=Cr[l-15],y=Cr[l-2],h=De(d,7)^De(d,18)^d>>>3,p=De(y,17)^De(y,19)^y>>>10;Cr[l]=p+Cr[l-7]+h+Cr[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 d=De(a,6)^De(a,11)^De(a,25),y=f+d+jg(a,c,u)+tx[l]+Cr[l]|0,p=(De(n,2)^De(n,13)^De(n,22))+Jg(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(){Cr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Pn=Vo(()=>new Mc);var Fc={hashSHA256(e){return Pn(e.subarray())},getHKDF(e,t){let r=Vl(Pn,t,e),i=Hl(Pn,r,void 0,96),o=i.subarray(0,32),s=i.subarray(32,64),a=i.subarray(64,96);return[o,s,a]},generateX25519KeyPair(){let e=wi.utils.randomPrivateKey();return{publicKey:wi.getPublicKey(e),privateKey:e}},generateX25519KeyPairFromSeed(e){return{publicKey:wi.getPublicKey(e),privateKey:e}},generateX25519SharedKey(e,t){return wi.getSharedSecret(e.subarray(),t.subarray())},chaCha20Poly1305Encrypt(e,t,r,n){return wc(n,t,r).encrypt(e.subarray())},chaCha20Poly1305Decrypt(e,t,r,n,i){return wc(n,t,r).decrypt(e.subarray(),i)}};var ql=Fc;var Un=e=>{let t=Vt(2);return new DataView(t.buffer,t.byteOffset,t.byteLength).setUint16(0,e,!1),t};Un.bytes=2;var vi=e=>{if(e.length<2)throw RangeError("Could not decode int16BE");return e instanceof Uint8Array?new DataView(e.buffer,e.byteOffset,e.byteLength).getUint16(0,!1):e.getUint16(0)};vi.bytes=2;function zl(e){return new Bt(e.ne,e.ciphertext)}function Gl(e){return new Bt(e.ne,e.ns,e.ciphertext)}function Wl(e){return new Bt(e.ns,e.ciphertext)}function $l(e){if(e.length<32)throw new Error("Cannot decode stage 0 MessageBuffer: length less than 32 bytes.");return{ne:e.subarray(0,32),ciphertext:e.subarray(32,e.length),ns:ot(0)}}function Yl(e){if(e.length<80)throw new Error("Cannot decode stage 1 MessageBuffer: length less than 80 bytes.");return{ne:e.subarray(0,32),ns:e.subarray(32,80),ciphertext:e.subarray(80,e.length)}}function Xl(e){if(e.length<48)throw new Error("Cannot decode stage 2 MessageBuffer: length less than 48 bytes.");return{ne:ot(0),ns:e.subarray(0,48),ciphertext:e.subarray(48,e.length)}}var Ql=16;function jl(e,t){return async function*(r){for await(let n of r)for(let i=0;i<n.length;i+=65519){let o=i+65519;o>n.length&&(o=n.length);let s;n instanceof Uint8Array?s=e.encrypt(n.subarray(i,o),e.session):s=e.encrypt(n.sublist(i,o),e.session),t?.encryptedPackets.increment(),yield new Bt(Un(s.byteLength),s)}}}function Jl(e,t){return async function*(r){for await(let n of r)for(let i=0;i<n.length;i+=65535){let o=i+65535;if(o>n.length&&(o=n.length),o-Ql<i)throw new Error("Invalid chunk");let s=n.sublist(i,o),a=n.subarray(i,o-Ql),{plaintext:c,valid:u}=e.decrypt(s,e.session,a);if(!u)throw t?.decryptErrors.increment(),new Error("Failed to validate decrypted chunk");t?.decryptedPackets.increment(),yield c}}}var Si=class e extends Error{code;constructor(t="Unexpected Peer"){super(t),this.code=e.code}static code="ERR_UNEXPECTED_PEER"},Qr=class e extends Error{code;constructor(t="Invalid crypto exchange"){super(t),this.code=e.code}static code="ERR_INVALID_CRYPTO_EXCHANGE"};var HI=Jt(Bi(),1),qI=Jt(yd(),1);var ev=Jt(xt(),1);var h0={};ft(h0,{Ed25519PrivateKey:()=>nn,Ed25519PublicKey:()=>_i,generateKeyPair:()=>Iw,generateKeyPairFromSeed:()=>Ad,unmarshalEd25519PrivateKey:()=>Cw,unmarshalEd25519PublicKey:()=>Bw});var jC=Jt(Mt(),1),JC=Jt(hs(),1),md=Jt(xt(),1);function _e(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=Ct([new Uint8Array(t-r.length),r])}return at(r,"base64url")}function he(e){let t=gd(e);return new md.default.jsbn.BigInteger(at(t,"base16"),16)}function gd(e,t){let r=wt(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=Ct([new Uint8Array(t-r.length),r])}return r}function ge(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var Vn=32,ar=64,ms=32;function xd(){let e=Ln.utils.randomPrivateKey(),t=Ln.getPublicKey(e);return{privateKey:Ed(e,t),publicKey:t}}function bd(e){if(e.length!==ms)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=Ln.getPublicKey(t);return{privateKey:Ed(t,r),publicKey:r}}function wd(e,t){let r=e.subarray(0,ms);return Ln.sign(t instanceof Uint8Array?t:t.subarray(),r)}function vd(e,t,r){return Ln.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}function Ed(e,t){let r=new Uint8Array(ar);for(let n=0;n<ms;n++)r[n]=e[n],r[ms+n]=t[n];return r}var ue={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 u0={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function f0(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=ue.get();r*=8;async function c(l,d){let y=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),p={name:t,iv:h};typeof d=="string"&&(d=wt(d));let m;if(d.length===0){m=await a.subtle.importKey("jwk",u0,{name:"AES-GCM"},!0,["encrypt"]);try{let b={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},x=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,x,{name:t,length:r},!0,["encrypt"])}catch{m=await a.subtle.importKey("jwk",u0,{name:"AES-GCM"},!0,["encrypt"])}}else{let b={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},x=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,x,{name:t,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(p,m,l);return Ct([y,p.iv,new Uint8Array(g)])}async function u(l,d){let y=l.subarray(0,o),h=l.subarray(o,o+n),p=l.subarray(o+n),m={name:t,iv:h};typeof d=="string"&&(d=wt(d));let g;if(d.length===0)try{let x={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},D=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,D,{name:t,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",u0,{name:"AES-GCM"},!0,["decrypt"])}else{let x={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},D=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,D,{name:t,length:r},!0,["decrypt"])}let b=await a.subtle.decrypt(m,g,p);return new Uint8Array(b)}return{encrypt:c,decrypt:u}}async function Hn(e,t){let n=await f0().encrypt(e,t);return Zi.encode(n)}var _t;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(_t||(_t={}));var l0;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(l0||(l0={}));(function(e){e.codec=()=>qr(l0)})(_t||(_t={}));var qe;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),_t.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=_t.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})(qe||(qe={}));var ze;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),_t.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=_t.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})(ze||(ze={}));var _i=class{_key;constructor(t){this._key=qn(t,Vn)}verify(t,r){return vd(this._key,r,t)}marshal(){return this._key}get bytes(){return qe.encode({Type:_t.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Ot(this.bytes,t.bytes)}hash(){let t=Xt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}},nn=class{_key;_publicKey;constructor(t,r){this._key=qn(t,ar),this._publicKey=qn(r,Vn)}sign(t){return wd(this._key,t)}get public(){return new _i(this._publicKey)}marshal(){return this._key}get bytes(){return ze.encode({Type:_t.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Ot(this.bytes,t.bytes)}async hash(){let t=Xt.digest(this.bytes),r;return ge(t)?{bytes:r}=await t:r=t.bytes,r}async id(){let t=dr.digest(this.public.bytes);return Lt.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return Hn(this.bytes,t);throw new W(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Cw(e){if(e.length>ar){e=qn(e,ar+Vn);let n=e.subarray(0,ar),i=e.subarray(ar,e.length);return new nn(n,i)}e=qn(e,ar);let t=e.subarray(0,ar),r=e.subarray(Vn);return new nn(t,r)}function Bw(e){return e=qn(e,Vn),new _i(e)}async function Iw(){let{privateKey:e,publicKey:t}=xd();return new nn(e,t)}async function Ad(e){let{privateKey:t,publicKey:r}=bd(e);return new nn(t,r)}function qn(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new W(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var Tw={"P-256":256,"P-384":384,"P-521":521},_w=Object.keys(Tw),DB=_w.join(" / ");var g0={};ft(g0,{MAX_KEY_SIZE:()=>Ni,RsaPrivateKey:()=>zn,RsaPublicKey:()=>Li,fromJwk:()=>Vw,generateKeyPair:()=>Hw,unmarshalRsaPrivateKey:()=>Mw,unmarshalRsaPublicKey:()=>Fw});var Ri=Jt(xt(),1);var uI=Jt(Td(),1);function xs(e){if(isNaN(e)||e<=0)throw new W("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Yr(e)}var GB=Jt(ys(),1),y0=Jt(xt(),1);function _d(e,t){return t.map(r=>he(e[r]))}function kd(e){return y0.default.pki.setRsaPrivateKey(..._d(e,["n","e","d","p","q","dp","dq","qi"]))}function Rd(e){return y0.default.pki.setRsaPublicKey(..._d(e,["n","e"]))}var sn={};ft(sn,{jwkToPkcs1:()=>Nw,jwkToPkix:()=>Uw,pkcs1ToJwk:()=>Lw,pkixToJwk:()=>Pw});var YB=Jt(Bi(),1),XB=Jt(ys(),1);var cr=Jt(xt(),1);function Lw(e){let t=cr.default.asn1.fromDer(at(e,"ascii")),r=cr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:_e(r.n),e:_e(r.e),d:_e(r.d),p:_e(r.p),q:_e(r.q),dp:_e(r.dP),dq:_e(r.dQ),qi:_e(r.qInv),alg:"RS256"}}function Nw(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 W("JWK was missing components","ERR_INVALID_PARAMETERS");let t=cr.default.pki.privateKeyToAsn1({n:he(e.n),e:he(e.e),d:he(e.d),p:he(e.p),q:he(e.q),dP:he(e.dp),dQ:he(e.dq),qInv:he(e.qi)});return wt(cr.default.asn1.toDer(t).getBytes(),"ascii")}function Pw(e){let t=cr.default.asn1.fromDer(at(e,"ascii")),r=cr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:_e(r.n),e:_e(r.e)}}function Uw(e){if(e.n==null||e.e==null)throw new W("JWK was missing components","ERR_INVALID_PARAMETERS");let t=cr.default.pki.publicKeyToAsn1({n:he(e.n),e:he(e.e)});return wt(cr.default.asn1.toDer(t).getBytes(),"ascii")}async function Ld(e){let t=await ue.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 Ud(t);return{privateKey:r[0],publicKey:r[1]}}async function m0(e){let r=[await ue.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Ow(e)],n=await Ud({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Nd(e,t){let r=await ue.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await ue.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Pd(e,t,r){let n=await ue.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return ue.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r instanceof Uint8Array?r:r.subarray())}async function Ud(e){if(e.privateKey==null||e.publicKey==null)throw new W("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([ue.get().subtle.exportKey("jwk",e.privateKey),ue.get().subtle.exportKey("jwk",e.publicKey)])}async function Ow(e){return ue.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 Od(e,t,r,n){let i=t?Rd(e):kd(e),o=at(r instanceof Uint8Array?r:r.subarray(),"ascii"),s=n(o,i);return wt(s,"ascii")}function Kd(e,t){return Od(e,!0,t,(r,n)=>n.encrypt(r))}function Md(e,t){return Od(e,!1,t,(r,n)=>n.decrypt(r))}function bs(e){if(e.kty!=="RSA")throw new W("invalid key type","ERR_INVALID_KEY_TYPE");if(e.n==null)throw new W("invalid key modulus","ERR_INVALID_KEY_MODULUS");return wt(e.n,"base64url").length*8}var Ni=8192,Li=class{_key;constructor(t){this._key=t}verify(t,r){return Pd(this._key,r,t)}marshal(){return sn.jwkToPkix(this._key)}get bytes(){return qe.encode({Type:_t.RSA,Data:this.marshal()}).subarray()}encrypt(t){return Kd(this._key,t)}equals(t){return Ot(this.bytes,t.bytes)}hash(){let t=Xt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}},zn=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return xs(16)}sign(t){return Nd(this._key,t)}get public(){if(this._publicKey==null)throw new W("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Li(this._publicKey)}decrypt(t){return Md(this._key,t)}marshal(){return sn.jwkToPkcs1(this._key)}get bytes(){return ze.encode({Type:_t.RSA,Data:this.marshal()}).subarray()}equals(t){return Ot(this.bytes,t.bytes)}hash(){let t=Xt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return at(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new Ri.default.util.ByteBuffer(this.marshal()),i=Ri.default.asn1.fromDer(n),o=Ri.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Ri.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return Hn(this.bytes,t);throw new W(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Mw(e){let t=sn.pkcs1ToJwk(e);if(bs(t)>Ni)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await m0(t);return new zn(r.privateKey,r.publicKey)}function Fw(e){let t=sn.pkixToJwk(e);if(bs(t)>Ni)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Li(t)}async function Vw(e){if(bs(e)>Ni)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await m0(e);return new zn(t.privateKey,t.publicKey)}async function Hw(e){if(e>Ni)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await Ld(e);return new zn(t.privateKey,t.publicKey)}var v0={};ft(v0,{Secp256k1PrivateKey:()=>Ui,Secp256k1PublicKey:()=>Pi,generateKeyPair:()=>tv,unmarshalSecp256k1PrivateKey:()=>jw,unmarshalSecp256k1PublicKey:()=>Jw});function qw(e){let t=gi(e);pe(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:zw,hexToBytes:Gw}=Go,an={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){let{Err:t}=an;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:zw(n),l:e.subarray(r+2)}},toSig(e){let{Err:t}=an,r=typeof e=="string"?Gw(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}=an._parseInt(r.subarray(2)),{d:s,l:a}=an._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}`}},ur=BigInt(0),xe=BigInt(1),mI=BigInt(2),Fd=BigInt(3),gI=BigInt(4);function Ww(e){let t=qw(e),{Fp:r}=t,n=t.toBytes||((h,p,m)=>{let g=p.toAffine();return rr(Uint8Array.from([4]),r.toBytes(g.x),r.toBytes(g.y))}),i=t.fromBytes||(h=>{let p=h.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(h){let{a:p,b:m}=t,g=r.sqr(h),b=r.mul(g,h);return r.add(r.add(b,r.mul(h,p)),m)}if(!r.eql(r.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function s(h){return typeof h=="bigint"&&ur<h&&h<t.n}function a(h){if(!s(h))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(h){let{allowedPrivateKeyLengths:p,nByteLength:m,wrapPrivateKey:g,n:b}=t;if(p&&typeof h!="bigint"){if(h instanceof Uint8Array&&(h=Je(h)),typeof h!="string"||!p.includes(h.length))throw new Error("Invalid key");h=h.padStart(m*2,"0")}let x;try{x=typeof h=="bigint"?h:tr(Et("private key",h,m))}catch{throw new Error(`private key must be ${m} bytes, hex or bigint, not ${typeof h}`)}return g&&(x=ht(x,b)),a(x),x}let u=new Map;function f(h){if(!(h 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 b=x=>r.eql(x,r.ZERO);return b(m)&&b(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,b)=>g.toAffine(m[b])).map(l.fromAffine)}static fromHex(p){let m=l.fromAffine(i(Et("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),b=o(p);if(!r.eql(g,b))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:b}=this,{px:x,py:D,pz:v}=p,E=r.eql(r.mul(m,v),r.mul(x,b)),C=r.eql(r.mul(g,v),r.mul(D,b));return E&&C}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:m}=t,g=r.mul(m,Fd),{px:b,py:x,pz:D}=this,v=r.ZERO,E=r.ZERO,C=r.ZERO,B=r.mul(b,b),O=r.mul(x,x),K=r.mul(D,D),U=r.mul(b,x);return U=r.add(U,U),C=r.mul(b,D),C=r.add(C,C),v=r.mul(p,C),E=r.mul(g,K),E=r.add(v,E),v=r.sub(O,E),E=r.add(O,E),E=r.mul(v,E),v=r.mul(U,v),C=r.mul(g,C),K=r.mul(p,K),U=r.sub(B,K),U=r.mul(p,U),U=r.add(U,C),C=r.add(B,B),B=r.add(C,B),B=r.add(B,K),B=r.mul(B,U),E=r.add(E,B),K=r.mul(x,D),K=r.add(K,K),B=r.mul(K,U),v=r.sub(v,B),C=r.mul(K,O),C=r.add(C,C),C=r.add(C,C),new l(v,E,C)}add(p){f(p);let{px:m,py:g,pz:b}=this,{px:x,py:D,pz:v}=p,E=r.ZERO,C=r.ZERO,B=r.ZERO,O=t.a,K=r.mul(t.b,Fd),U=r.mul(m,x),F=r.mul(g,D),G=r.mul(b,v),Q=r.add(m,g),I=r.add(x,D);Q=r.mul(Q,I),I=r.add(U,F),Q=r.sub(Q,I),I=r.add(m,b);let R=r.add(x,v);return I=r.mul(I,R),R=r.add(U,G),I=r.sub(I,R),R=r.add(g,b),E=r.add(D,v),R=r.mul(R,E),E=r.add(F,G),R=r.sub(R,E),B=r.mul(O,I),E=r.mul(K,G),B=r.add(E,B),E=r.sub(F,B),B=r.add(F,B),C=r.mul(E,B),F=r.add(U,U),F=r.add(F,U),G=r.mul(O,G),I=r.mul(K,I),F=r.add(F,G),G=r.sub(U,G),G=r.mul(O,G),I=r.add(I,G),U=r.mul(F,I),C=r.add(C,U),U=r.mul(R,I),E=r.mul(Q,E),E=r.sub(E,U),U=r.mul(Q,F),B=r.mul(R,B),B=r.add(B,U),new l(E,C,B)}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(b=>b.pz));return m.map((b,x)=>b.toAffine(g[x])).map(l.fromAffine)})}multiplyUnsafe(p){let m=l.ZERO;if(p===ur)return m;if(a(p),p===xe)return this;let{endo:g}=t;if(!g)return y.unsafeLadder(this,p);let{k1neg:b,k1:x,k2neg:D,k2:v}=g.splitScalar(p),E=m,C=m,B=this;for(;x>ur||v>ur;)x&xe&&(E=E.add(B)),v&xe&&(C=C.add(B)),B=B.double(),x>>=xe,v>>=xe;return b&&(E=E.negate()),D&&(C=C.negate()),C=new l(r.mul(C.px,g.beta),C.py,C.pz),E.add(C)}multiply(p){a(p);let m=p,g,b,{endo:x}=t;if(x){let{k1neg:D,k1:v,k2neg:E,k2:C}=x.splitScalar(m),{p:B,f:O}=this.wNAF(v),{p:K,f:U}=this.wNAF(C);B=y.constTimeNegate(D,B),K=y.constTimeNegate(E,K),K=new l(r.mul(K.px,x.beta),K.py,K.pz),g=B.add(K),b=O.add(U)}else{let{p:D,f:v}=this.wNAF(m);g=D,b=v}return l.normalizeZ([g,b])[0]}multiplyAndAddUnsafe(p,m,g){let b=l.BASE,x=(v,E)=>E===ur||E===xe||!v.equals(b)?v.multiplyUnsafe(E):v.multiply(E),D=x(this,m).add(x(p,g));return D.is0()?void 0:D}toAffine(p){let{px:m,py:g,pz:b}=this,x=this.is0();p==null&&(p=x?r.ONE:r.inv(b));let D=r.mul(m,p),v=r.mul(g,p),E=r.mul(b,p);if(x)return{x:r.ZERO,y:r.ZERO};if(!r.eql(E,r.ONE))throw new Error("invZ was invalid");return{x:D,y:v}}isTorsionFree(){let{h:p,isTorsionFree:m}=t;if(p===xe)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===xe?this:m?m(l,this):this.multiplyUnsafe(t.h)}toRawBytes(p=!0){return this.assertValidity(),n(l,this,p)}toHex(p=!0){return Je(this.toRawBytes(p))}}l.BASE=new l(t.Gx,t.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let d=t.nBitLength,y=Yo(l,t.endo?Math.ceil(d/2):d);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function $w(e){let t=gi(e);return pe(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Vd(e){let t=$w(e),{Fp:r,n}=t,i=r.BYTES+1,o=2*r.BYTES+1;function s(I){return ur<I&&I<r.ORDER}function a(I){return ht(I,n)}function c(I){return Wo(I,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:d}=Ww({...t,toBytes(I,R,_){let k=R.toAffine(),S=r.toBytes(k.x),P=rr;return _?P(Uint8Array.from([R.hasEvenY()?2:3]),S):P(Uint8Array.from([4]),S,r.toBytes(k.y))},fromBytes(I){let R=I.length,_=I[0],k=I.subarray(1);if(R===i&&(_===2||_===3)){let S=tr(k);if(!s(S))throw new Error("Point is not on curve");let P=l(S),M=r.sqrt(P),H=(M&xe)===xe;return(_&1)===1!==H&&(M=r.neg(M)),{x:S,y:M}}else if(R===o&&_===4){let S=r.fromBytes(k.subarray(0,r.BYTES)),P=r.fromBytes(k.subarray(r.BYTES,2*r.BYTES));return{x:S,y:P}}else throw new Error(`Point of length ${R} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),y=I=>Je(Ar(I,t.nByteLength));function h(I){let R=n>>xe;return I>R}function p(I){return h(I)?a(-I):I}let m=(I,R,_)=>tr(I.slice(R,_));class g{constructor(R,_,k){this.r=R,this.s=_,this.recovery=k,this.assertValidity()}static fromCompact(R){let _=t.nByteLength;return R=Et("compactSignature",R,_*2),new g(m(R,0,_),m(R,_,2*_))}static fromDER(R){let{r:_,s:k}=an.toSig(Et("DER",R));return new g(_,k)}assertValidity(){if(!d(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!d(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(R){return new g(this.r,this.s,R)}recoverPublicKey(R){let{r:_,s:k,recovery:S}=this,P=C(Et("msgHash",R));if(S==null||![0,1,2,3].includes(S))throw new Error("recovery id invalid");let M=S===2||S===3?_+t.n:_;if(M>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let H=S&1?"03":"02",Z=u.fromHex(H+y(M)),j=c(M),it=a(-P*j),J=a(k*j),et=u.BASE.multiplyAndAddUnsafe(Z,it,J);if(!et)throw new Error("point at infinify");return et.assertValidity(),et}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Xr(this.toDERHex())}toDERHex(){return an.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Xr(this.toCompactHex())}toCompactHex(){return y(this.r)+y(this.s)}}let b={isValidPrivateKey(I){try{return f(I),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let I=Lc(t.n);return Rl(t.randomBytes(I),t.n)},precompute(I=8,R=u.BASE){return R._setWindowSize(I),R.multiply(BigInt(3)),R}};function x(I,R=!0){return u.fromPrivateKey(I).toRawBytes(R)}function D(I){let R=I instanceof Uint8Array,_=typeof I=="string",k=(R||_)&&I.length;return R?k===i||k===o:_?k===2*i||k===2*o:I instanceof u}function v(I,R,_=!0){if(D(I))throw new Error("first arg must be private key");if(!D(R))throw new Error("second arg must be public key");return u.fromHex(R).multiply(f(I)).toRawBytes(_)}let E=t.bits2int||function(I){let R=tr(I),_=I.length*8-t.nBitLength;return _>0?R>>BigInt(_):R},C=t.bits2int_modN||function(I){return a(E(I))},B=mi(t.nBitLength);function O(I){if(typeof I!="bigint")throw new Error("bigint expected");if(!(ur<=I&&I<B))throw new Error(`bigint expected < 2^${t.nBitLength}`);return Ar(I,t.nByteLength)}function K(I,R,_=U){if(["recovered","canonical"].some(gt=>gt in _))throw new Error("sign() legacy options not supported");let{hash:k,randomBytes:S}=t,{lowS:P,prehash:M,extraEntropy:H}=_;P==null&&(P=!0),I=Et("msgHash",I),M&&(I=Et("prehashed msgHash",k(I)));let Z=C(I),j=f(R),it=[O(j),O(Z)];if(H!=null){let gt=H===!0?S(r.BYTES):H;it.push(Et("extraEntropy",gt))}let J=rr(...it),et=Z;function bt(gt){let $t=E(gt);if(!d($t))return;let Yt=c($t),Ft=u.BASE.multiply($t).toAffine(),jt=a(Ft.x);if(jt===ur)return;let We=a(Yt*a(et+jt*j));if(We===ur)return;let Lr=(Ft.x===jt?0:2)|Number(Ft.y&xe),ti=We;return P&&h(We)&&(ti=p(We),Lr^=1),new g(jt,ti,Lr)}return{seed:J,k2sig:bt}}let U={lowS:t.lowS,prehash:!1},F={lowS:t.lowS,prehash:!1};function G(I,R,_=U){let{seed:k,k2sig:S}=K(I,R,_),P=t;return Ic(P.hash.outputLen,P.nByteLength,P.hmac)(k,S)}u.BASE._setWindowSize(8);function Q(I,R,_,k=F){let S=I;if(R=Et("msgHash",R),_=Et("publicKey",_),"strict"in k)throw new Error("options.strict was renamed to lowS");let{lowS:P,prehash:M}=k,H,Z;try{if(typeof S=="string"||S instanceof Uint8Array)try{H=g.fromDER(S)}catch(Ft){if(!(Ft instanceof an.Err))throw Ft;H=g.fromCompact(S)}else if(typeof S=="object"&&typeof S.r=="bigint"&&typeof S.s=="bigint"){let{r:Ft,s:jt}=S;H=new g(Ft,jt)}else throw new Error("PARSE");Z=u.fromHex(_)}catch(Ft){if(Ft.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(P&&H.hasHighS())return!1;M&&(R=t.hash(R));let{r:j,s:it}=H,J=C(R),et=c(it),bt=a(J*et),gt=a(j*et),$t=u.BASE.multiplyAndAddUnsafe(Z,bt,gt)?.toAffine();return $t?a($t.x)===j:!1}return{CURVE:t,getPublicKey:x,getSharedSecret:v,sign:G,verify:Q,ProjectivePoint:u,Signature:g,utils:b}}function Yw(e){return{hash:e,hmac:(t,...r)=>Nn(e,t,Fo(...r)),randomBytes:Yr}}function Hd(e,t){let r=n=>Vd({...e,...Yw(n)});return Object.freeze({...r(t),create:r})}var Gd=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),qd=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Xw=BigInt(1),x0=BigInt(2),zd=(e,t)=>(e+t/x0)/t;function Zw(e){let t=Gd,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=St(f,r,t)*f%t,d=St(l,r,t)*f%t,y=St(d,x0,t)*u%t,h=St(y,i,t)*y%t,p=St(h,o,t)*h%t,m=St(p,a,t)*p%t,g=St(m,c,t)*m%t,b=St(g,a,t)*p%t,x=St(b,r,t)*f%t,D=St(x,s,t)*h%t,v=St(D,n,t)*u%t,E=St(v,x0,t);if(!b0.eql(b0.sqr(E),e))throw new Error("Cannot find square root");return E}var b0=$o(Gd,void 0,void 0,{sqrt:Zw}),ke=Hd({a:BigInt(0),b:BigInt(7),Fp:b0,n:qd,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=qd,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Xw*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=zd(o*e,t),c=zd(-n*e,t),u=ht(e-a*r-c*i,t),f=ht(-a*n-c*o,t),l=u>s,d=f>s;if(l&&(u=t-u),d&&(f=t-f),u>s||f>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:u,k2neg:d,k2:f}}}},Pn),CI=BigInt(0);var BI=ke.ProjectivePoint;function Wd(){return ke.utils.randomPrivateKey()}function $d(e,t){let r=Xt.digest(t instanceof Uint8Array?t:t.subarray());if(ge(r))return r.then(({digest:n})=>ke.sign(n,e).toDERRawBytes()).catch(n=>{throw new W(String(n),"ERR_INVALID_INPUT")});try{return ke.sign(r.digest,e).toDERRawBytes()}catch(n){throw new W(String(n),"ERR_INVALID_INPUT")}}function Yd(e,t,r){let n=Xt.digest(r instanceof Uint8Array?r:r.subarray());if(ge(n))return n.then(({digest:i})=>ke.verify(t,i,e)).catch(i=>{throw new W(String(i),"ERR_INVALID_INPUT")});try{return ke.verify(t,n.digest,e)}catch(i){throw new W(String(i),"ERR_INVALID_INPUT")}}function Xd(e){return ke.ProjectivePoint.fromHex(e).toRawBytes(!0)}function Zd(e){try{ke.getPublicKey(e,!0)}catch(t){throw new W(String(t),"ERR_INVALID_PRIVATE_KEY")}}function w0(e){try{ke.ProjectivePoint.fromHex(e)}catch(t){throw new W(String(t),"ERR_INVALID_PUBLIC_KEY")}}function Qd(e){try{return ke.getPublicKey(e,!0)}catch(t){throw new W(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Pi=class{_key;constructor(t){w0(t),this._key=t}verify(t,r){return Yd(this._key,r,t)}marshal(){return Xd(this._key)}get bytes(){return qe.encode({Type:_t.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Ot(this.bytes,t.bytes)}async hash(){let t=Xt.digest(this.bytes),r;return ge(t)?{bytes:r}=await t:r=t.bytes,r}},Ui=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r??Qd(t),Zd(this._key),w0(this._publicKey)}sign(t){return $d(this._key,t)}get public(){return new Pi(this._publicKey)}marshal(){return this._key}get bytes(){return ze.encode({Type:_t.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Ot(this.bytes,t.bytes)}hash(){let t=Xt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return at(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return Hn(this.bytes,t);throw new W(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function jw(e){return new Ui(e)}function Jw(e){return new Pi(e)}async function tv(){let e=Wd();return new Ui(e)}var cn={rsa:g0,ed25519:h0,secp256k1:v0};function jd(e){let t=Object.keys(cn).join(" / ");return new W(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Jd(e){let t=qe.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case _t.RSA:return cn.rsa.unmarshalRsaPublicKey(r);case _t.Ed25519:return cn.ed25519.unmarshalEd25519PublicKey(r);case _t.Secp256k1:return cn.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw jd(t.Type??"unknown")}}async function tp(e){let t=ze.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case _t.RSA:return cn.rsa.unmarshalRsaPrivateKey(r);case _t.Ed25519:return cn.ed25519.unmarshalEd25519PrivateKey(r);case _t.Secp256k1:return cn.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw jd(t.Type??"RSA")}}var ws;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.webtransportCerthashes!=null)for(let o of r.webtransportCerthashes)n.uint32(10),n.bytes(o);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={webtransportCerthashes:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:{i.webtransportCerthashes.push(r.bytes());break}default:{r.skipType(s&7);break}}}return i})),t),e.encode=r=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})(ws||(ws={}));var Oi;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.identityKey!=null&&r.identityKey.byteLength>0&&(n.uint32(10),n.bytes(r.identityKey)),r.identitySig!=null&&r.identitySig.byteLength>0&&(n.uint32(18),n.bytes(r.identitySig)),r.extensions!=null&&(n.uint32(34),ws.codec().encode(r.extensions,n)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={identityKey:ot(0),identitySig:ot(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:{i.identityKey=r.bytes();break}case 2:{i.identitySig=r.bytes();break}case 4:{i.extensions=ws.codec().decode(r,r.uint32());break}default:{r.skipType(s&7);break}}}return i})),t),e.encode=r=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})(Oi||(Oi={}));async function ep(e,t,r){let n=await nv(e,rp(t));if(e.publicKey==null)throw new Error("PublicKey was missing from local PeerId");return rv(e.publicKey,n,r)}function rv(e,t,r){return Oi.encode({identityKey:e,identitySig:t,extensions:r??{webtransportCerthashes:[]}}).subarray()}async function nv(e,t){if(e.privateKey==null)throw new Error("PrivateKey was missing from PeerId");return(await tp(e.privateKey)).sign(t)}async function E0(e){return fa(e.identityKey)}function S0(e){return Oi.decode(e)}function rp(e){let t=wt("noise-libp2p-static-key:");return e instanceof Uint8Array?Ct([t,e],t.length+e.length):(e.prepend(t),e)}async function A0(e,t,r){let n=await fa(t.identityKey);if(!n.equals(r))throw new Error(`Payload identity key ${n.toString()} does not match expected remote peer ${r.toString()}`);let i=rp(e);if(n.publicKey==null)throw new Error("PublicKey was missing from PeerId");if(t.identitySig==null)throw new Error("Signature was missing from message");if(!await Jd(n.publicKey).verify(i,t.identitySig))throw new Error("Static key doesn't match to peer that signed payload!");return n}function Ki(e){return!(!(e instanceof Uint8Array)&&!En(e)||e.byteLength!==32)}var iv=0,ov=4294967295,sv="Cipherstate has reached maximum n, a new handshake must be performed",vs=class{n;bytes;view;constructor(t=iv){this.n=t,this.bytes=ot(12),this.view=new DataView(this.bytes.buffer,this.bytes.byteOffset,this.bytes.byteLength),this.view.setUint32(4,t,!0)}increment(){this.n++,this.view.setUint32(4,this.n,!0)}getBytes(){return this.bytes}getUint64(){return this.n}assertValue(){if(this.n>ov)throw new Error(sv)}};var Es=class{crypto;log;constructor(t,r){this.log=t.logger.forComponent("libp2p:noise:abstract-handshake"),this.crypto=r}encryptWithAd(t,r,n){let i=this.encrypt(t.k,t.n,r,n);return t.n.increment(),i}decryptWithAd(t,r,n,i){let{plaintext:o,valid:s}=this.decrypt(t.k,t.n,r,n,i);return s&&t.n.increment(),{plaintext:o,valid:s}}hasKey(t){return!this.isEmptyKey(t.k)}createEmptyKey(){return ot(32)}isEmptyKey(t){let r=this.createEmptyKey();return Ot(r,t)}encrypt(t,r,n,i){return r.assertValue(),this.crypto.chaCha20Poly1305Encrypt(i,r.getBytes(),n,t)}encryptAndHash(t,r){let n;return this.hasKey(t.cs)?n=this.encryptWithAd(t.cs,t.h,r):n=r,this.mixHash(t,n),n}decrypt(t,r,n,i,o){r.assertValue();let s=this.crypto.chaCha20Poly1305Decrypt(i,r.getBytes(),n,t,o);return s?{plaintext:s,valid:!0}:{plaintext:ot(0),valid:!1}}decryptAndHash(t,r){let n,i=!0;return this.hasKey(t.cs)?{plaintext:n,valid:i}=this.decryptWithAd(t.cs,t.h,r):n=r,this.mixHash(t,r),{plaintext:n,valid:i}}dh(t,r){try{let n=this.crypto.generateX25519SharedKey(t,r);return n.length===32?n:n.subarray(0,32)}catch(n){let i=n;return this.log.error("error deriving shared key",i),ot(32)}}mixHash(t,r){t.h=this.getHash(t.h,r)}getHash(t,r){return this.crypto.hashSHA256(new Bt(t,r))}mixKey(t,r){let[n,i]=this.crypto.getHKDF(t.ck,r);t.cs=this.initializeKey(i),t.ck=n}initializeKey(t){return{k:t,n:new vs}}initializeSymmetric(t){let r=wt(t,"utf-8"),n=this.hashProtocolName(r),i=n,o=this.createEmptyKey();return{cs:this.initializeKey(o),ck:i,h:n}}hashProtocolName(t){if(t.length<=32){let r=ot(32);return r.set(t),r}else return this.getHash(t,ot(0))}split(t){let[r,n]=this.crypto.getHKDF(t.ck,ot(0)),i=this.initializeKey(r),o=this.initializeKey(n);return{cs1:i,cs2:o}}writeMessageRegular(t,r){let n=this.encryptWithAd(t,ot(0),r),i=this.createEmptyKey(),o=ot(0);return{ne:i,ns:o,ciphertext:n}}readMessageRegular(t,r){return this.decryptWithAd(t,ot(0),r.ciphertext)}};var Ss=class extends Es{initializeInitiator(t,r,n,i){let o="Noise_XX_25519_ChaChaPoly_SHA256",s=this.initializeSymmetric(o);this.mixHash(s,t);let a=ot(32);return{ss:s,s:r,rs:n,psk:i,re:a}}initializeResponder(t,r,n,i){let o="Noise_XX_25519_ChaChaPoly_SHA256",s=this.initializeSymmetric(o);this.mixHash(s,t);let a=ot(32);return{ss:s,s:r,rs:n,psk:i,re:a}}writeMessageA(t,r,n){let i=ot(0);n!==void 0?t.e=n:t.e=this.crypto.generateX25519KeyPair();let o=t.e.publicKey;this.mixHash(t.ss,o);let s=this.encryptAndHash(t.ss,r);return{ne:o,ns:i,ciphertext:s}}writeMessageB(t,r){t.e=this.crypto.generateX25519KeyPair();let n=t.e.publicKey;this.mixHash(t.ss,n),this.mixKey(t.ss,this.dh(t.e.privateKey,t.re));let i=t.s.publicKey,o=this.encryptAndHash(t.ss,i);this.mixKey(t.ss,this.dh(t.s.privateKey,t.re));let s=this.encryptAndHash(t.ss,r);return{ne:n,ns:o,ciphertext:s}}writeMessageC(t,r){let n=t.s.publicKey,i=this.encryptAndHash(t.ss,n);this.mixKey(t.ss,this.dh(t.s.privateKey,t.re));let o=this.encryptAndHash(t.ss,r),a={ne:this.createEmptyKey(),ns:i,ciphertext:o},{cs1:c,cs2:u}=this.split(t.ss);return{h:t.ss.h,messageBuffer:a,cs1:c,cs2:u}}readMessageA(t,r){return Ki(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),this.decryptAndHash(t.ss,r.ciphertext)}readMessageB(t,r){if(Ki(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),!t.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(t.ss,this.dh(t.e.privateKey,t.re));let{plaintext:n,valid:i}=this.decryptAndHash(t.ss,r.ns);i&&Ki(n)&&(t.rs=n),this.mixKey(t.ss,this.dh(t.e.privateKey,t.rs));let{plaintext:o,valid:s}=this.decryptAndHash(t.ss,r.ciphertext);return{plaintext:o,valid:i&&s}}readMessageC(t,r){let{plaintext:n,valid:i}=this.decryptAndHash(t.ss,r.ns);if(i&&Ki(n)&&(t.rs=n),!t.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(t.ss,this.dh(t.e.privateKey,t.rs));let{plaintext:o,valid:s}=this.decryptAndHash(t.ss,r.ciphertext),{cs1:a,cs2:c}=this.split(t.ss);return{h:t.ss.h,plaintext:o,valid:i&&s,cs1:a,cs2:c}}initSession(t,r,n){let i=this.createEmptyKey(),o=ot(32),s;return t?s=this.initializeInitiator(r,n,o,i):s=this.initializeResponder(r,n,o,i),{hs:s,i:t,mc:0}}sendMessage(t,r,n){let i;if(t.mc===0)i=this.writeMessageA(t.hs,r,n);else if(t.mc===1)i=this.writeMessageB(t.hs,r);else if(t.mc===2){let{h:o,messageBuffer:s,cs1:a,cs2:c}=this.writeMessageC(t.hs,r);i=s,t.h=o,t.cs1=a,t.cs2=c}else if(t.mc>2)if(t.i){if(!t.cs1)throw new Error("CS1 (cipher state) is not defined");i=this.writeMessageRegular(t.cs1,r)}else{if(!t.cs2)throw new Error("CS2 (cipher state) is not defined");i=this.writeMessageRegular(t.cs2,r)}else throw new Error("Session invalid.");return t.mc++,i}recvMessage(t,r){let n=ot(0),i=!1;if(t.mc===0)({plaintext:n,valid:i}=this.readMessageA(t.hs,r));else if(t.mc===1)({plaintext:n,valid:i}=this.readMessageB(t.hs,r));else if(t.mc===2){let{h:o,plaintext:s,valid:a,cs1:c,cs2:u}=this.readMessageC(t.hs,r);n=s,i=a,t.h=o,t.cs1=c,t.cs2=u}return t.mc++,{plaintext:n,valid:i}}};function np(e,t){!t.enabled||!In||(t(`LOCAL_STATIC_PUBLIC_KEY ${at(e.publicKey,"hex")}`),t(`LOCAL_STATIC_PRIVATE_KEY ${at(e.privateKey,"hex")}`))}function D0(e,t){!t.enabled||!In||(e?(t(`LOCAL_PUBLIC_EPHEMERAL_KEY ${at(e.publicKey,"hex")}`),t(`LOCAL_PRIVATE_EPHEMERAL_KEY ${at(e.privateKey,"hex")}`)):t("Missing local ephemeral keys."))}function ip(e,t){!t.enabled||!In||t(`REMOTE_STATIC_PUBLIC_KEY ${at(e.subarray(),"hex")}`)}function C0(e,t){!t.enabled||!In||t(`REMOTE_EPHEMERAL_PUBLIC_KEY ${at(e.subarray(),"hex")}`)}function op(e,t){!t.enabled||!In||(e.cs1&&e.cs2?(t(`CIPHER_STATE_1 ${e.cs1.n.getUint64()} ${at(e.cs1.k,"hex")}`),t(`CIPHER_STATE_2 ${e.cs2.n.getUint64()} ${at(e.cs2.k,"hex")}`)):t("Missing cipher state."))}var As=class{isInitiator;session;remotePeer;remoteExtensions={webtransportCerthashes:[]};payload;connection;xx;staticKeypair;prologue;log;constructor(t,r,n,i,o,s,a,c,u){this.log=t.logger.forComponent("libp2p:noise:xxhandshake"),this.isInitiator=r,this.payload=n,this.prologue=i,this.staticKeypair=s,this.connection=a,c&&(this.remotePeer=c),this.xx=u??new Ss(t,o),this.session=this.xx.initSession(this.isInitiator,this.prologue,this.staticKeypair)}async propose(){if(np(this.session.hs.s,this.log),this.isInitiator){this.log.trace("Stage 0 - Initiator starting to send first message.");let t=this.xx.sendMessage(this.session,ot(0));await this.connection.write(zl(t)),this.log.trace("Stage 0 - Initiator finished sending first message."),D0(this.session.hs.e,this.log)}else{this.log.trace("Stage 0 - Responder waiting to receive first message...");let t=$l((await this.connection.read()).subarray()),{valid:r}=this.xx.recvMessage(this.session,t);if(!r)throw new Qr("xx handshake stage 0 validation fail");this.log.trace("Stage 0 - Responder received first message."),C0(this.session.hs.re,this.log)}}async exchange(){if(this.isInitiator){this.log.trace("Stage 1 - Initiator waiting to receive first message from responder...");let t=Yl((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new Qr("xx handshake stage 1 validation fail");this.log.trace("Stage 1 - Initiator received the message."),C0(this.session.hs.re,this.log),ip(this.session.hs.rs,this.log),this.log.trace("Initiator going to check remote's signature...");try{let i=S0(r);this.remotePeer=this.remotePeer||await E0(i),await A0(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new Si(`Error occurred while verifying signed payload: ${o.message}`)}this.log.trace("All good with the signature!")}else{this.log.trace("Stage 1 - Responder sending out first message with signed payload and static key.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(Gl(t)),this.log.trace("Stage 1 - Responder sent the second handshake message with signed payload."),D0(this.session.hs.e,this.log)}}async finish(){if(this.isInitiator){this.log.trace("Stage 2 - Initiator sending third handshake message.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(Wl(t)),this.log.trace("Stage 2 - Initiator sent message with signed payload.")}else{this.log.trace("Stage 2 - Responder waiting for third handshake message...");let t=Xl((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new Qr("xx handshake stage 2 validation fail");this.log.trace("Stage 2 - Responder received the message, finished handshake.");try{let i=S0(r);this.remotePeer=this.remotePeer||await E0(i),await A0(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new Si(`Error occurred while verifying signed payload: ${o.message}`)}}op(this.session,this.log)}encrypt(t,r){let n=this.getCS(r);return this.xx.encryptWithAd(n,ot(0),t)}decrypt(t,r,n){let i=this.getCS(r,!1);return this.xx.decryptWithAd(i,ot(0),t,n)}getRemoteStaticKey(){return this.session.hs.rs}getCS(t,r=!0){if(!t.cs1||!t.cs2)throw new Qr("Handshake not completed properly, cipher state does not exist.");return this.isInitiator?r?t.cs1:t.cs2:r?t.cs2:t.cs1}setRemoteNoiseExtension(t){t&&(this.remoteExtensions=t)}};function sp(e){return{xxHandshakeSuccesses:e.registerCounter("libp2p_noise_xxhandshake_successes_total",{help:"Total count of noise xxHandshakes successes_"}),xxHandshakeErrors:e.registerCounter("libp2p_noise_xxhandshake_error_total",{help:"Total count of noise xxHandshakes errors"}),encryptedPackets:e.registerCounter("libp2p_noise_encrypted_packets_total",{help:"Total count of noise encrypted packets successfully"}),decryptedPackets:e.registerCounter("libp2p_noise_decrypted_packets_total",{help:"Total count of noise decrypted packets"}),decryptErrors:e.registerCounter("libp2p_noise_decrypt_errors_total",{help:"Total count of noise decrypt errors"})}}var Ds=class{protocol="/noise";crypto;prologue;staticKeys;extensions;metrics;components;constructor(t,r={}){let{staticNoiseKey:n,extensions:i,crypto:o,prologueBytes:s}=r,{metrics:a}=t;this.components=t,this.crypto=o??ql,this.extensions=i,this.metrics=a?sp(a):void 0,n?this.staticKeys=this.crypto.generateX25519KeyPairFromSeed(n):this.staticKeys=this.crypto.generateX25519KeyPair(),this.prologue=s??ot(0)}async secureOutbound(t,r,n){let i=pi(r,{lengthEncoder:Un,lengthDecoder:vi,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!0,localPeer:t,remotePeer:n}),s=await this.createSecureConnection(i,o);return r.source=s.source,r.sink=s.sink,{conn:r,remoteExtensions:o.remoteExtensions,remotePeer:o.remotePeer}}async secureInbound(t,r,n){let i=pi(r,{lengthEncoder:Un,lengthDecoder:vi,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!1,localPeer:t,remotePeer:n}),s=await this.createSecureConnection(i,o);return r.source=s.source,r.sink=s.sink,{conn:r,remotePeer:o.remotePeer,remoteExtensions:o.remoteExtensions}}async performHandshake(t){let r=await ep(t.localPeer,this.staticKeys.publicKey,this.extensions);return this.performXXHandshake(t,r)}async performXXHandshake(t,r){let{isInitiator:n,remotePeer:i,connection:o}=t,s=new As(this.components,n,r,this.prologue,this.crypto,this.staticKeys,o,i);try{await s.propose(),await s.exchange(),await s.finish(),this.metrics?.xxHandshakeSuccesses.increment()}catch(a){if(this.metrics?.xxHandshakeErrors.increment(),a instanceof Error)throw a.message=`Error occurred during XX handshake: ${a.message}`,a}return s}async createSecureConnection(t,r){let[n,i]=ol(),o=t.unwrap();return await al(n,jl(r,this.metrics),o,s=>Fr(s,{lengthDecoder:vi}),Jl(r,this.metrics),n),i}};function ap(e={}){return t=>new Ds(t,e)}var O1=Jt(ru(),1);var _1=Jt(ru(),1);var nu=Object.values(Ne).map(e=>e.decoder).reduce((e,t)=>e.or(t));function k1(e,t){let r=e.getConfiguration().certificates?.at(0);if(r==null||r.getFingerprints==null){t.log.trace("fetching fingerprint from local SDP");let i=e.localDescription;return i==null?void 0:dE(i.sdp)}if(t.log.trace("fetching fingerprint from local certificate"),r.getFingerprints().length===0)return;let n=r.getFingerprints()[0].value;if(n==null)throw Fa("","no fingerprint on local certificate");return n}var hE=/^a=fingerprint:(?:\w+-[0-9]+)\s(?<fingerprint>(:?[0-9a-fA-F]{2})+)$/m;function dE(e){return e.match(hE)?.groups?.fingerprint}function pE(e){for(let t of e.protoNames())if(t.startsWith("ip"))return t.toUpperCase();return"IP6"}function Os(e){let r=e.stringTuples().filter(n=>n[0]===N1).map(n=>n[1])[0];if(r===void 0||r==="")throw fo(`Couldn't find a certhash component of multiaddr: ${e.toString()}`);return r}function iu(e){let t=nu.decode(e);return _1.decode(t)}function yE(e){let t=iu(Os(e)),r=ou(t.name),n=t.digest.reduce((o,s)=>o+s.toString(16).padStart(2,"0"),""),i=n.match(/.{1,2}/g);if(i==null)throw Fa(n,e.toString());return[`${r.toUpperCase()} ${i.join(":").toUpperCase()}`,n]}function ou(e){switch(e){case"sha1":return"sha-1";case"sha2-256":return"sha-256";case"sha2-512":return"sha-512";default:throw yf(e)}}function mE(e,t){let{host:r,port:n}=e.toOptions(),i=pE(e),[o]=yE(e);return`v=0
29
+ `});var q1=lt(()=>{H1();Fs();Pr();uu();ji()});var hu,cR,z1=lt(()=>{g1();x1();b1();w1();v1();tu();E1();nu();S1();D1();N1();O1();K1();M1();q1();hu={...Y0,...X0,...Z0,...Q0,...j0,...J0,...eu,...ru,...iu,...ou},cR={...fu,...lu}});function ii(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}var zs=lt(()=>{});function Gs(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?ii(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var du=lt(()=>{zs()});function W1(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var G1,pu,RE,Ws,yu=lt(()=>{z1();du();G1=W1("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),pu=W1("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=Gs(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),RE={utf8:G1,"utf-8":G1,hex:hu.base16,latin1:pu,ascii:pu,binary:pu,...hu},Ws=RE});var $1={};ct($1,{toString:()=>LE});function LE(e,t="utf8"){let r=Ws[t];if(!r)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)}var Y1=lt(()=>{yu()});var X1={};ct(X1,{fromString:()=>NE});function NE(e,t="utf8"){let r=Ws[t];if(!r)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ii(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var Z1=lt(()=>{yu();zs()});var Q1={};ct(Q1,{concat:()=>PE});function PE(e,t){t||(t=e.reduce((i,o)=>i+o.length,0));let r=Gs(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return ii(r)}var j1=lt(()=>{du();zs()});var gu=ot((vR,i2)=>{"use strict";var J1=Zp(),oi=a1(),{names:to}=u1(),{toString:$s}=(Y1(),ro($1)),{fromString:UE}=(Z1(),ro(X1)),{concat:OE}=(j1(),ro(Q1)),si={};for(let e in to){let t=e;si[to[t]]=t}Object.freeze(si);function KE(e){if(!(e instanceof Uint8Array))throw new Error("must be passed a Uint8Array");return $s(e,"base16")}function ME(e){return UE(e,"base16")}function FE(e){if(!(e instanceof Uint8Array))throw new Error("must be passed a Uint8Array");return $s(J1.encode("base58btc",e)).slice(1)}function VE(e){let t=e instanceof Uint8Array?$s(e):e;return J1.decode("z"+t)}function t2(e){if(!(e instanceof Uint8Array))throw new Error("multihash must be a Uint8Array");if(e.length<2)throw new Error("multihash too short. must be > 2 bytes.");let t=oi.decode(e);if(!r2(t))throw new Error(`multihash unknown function code: 0x${t.toString(16)}`);e=e.slice(oi.decode.bytes);let r=oi.decode(e);if(r<0)throw new Error(`multihash invalid length: ${r}`);if(e=e.slice(oi.decode.bytes),e.length!==r)throw new Error(`multihash length inconsistent: 0x${$s(e,"base16")}`);return{code:t,name:si[t],length:r,digest:e}}function HE(e,t,r){if(!e||t===void 0)throw new Error("multihash encode requires at least two args: digest, code");let n=e2(t);if(!(e instanceof Uint8Array))throw new Error("digest should be a Uint8Array");if(r==null&&(r=e.length),r&&e.length!==r)throw new Error("digest length should be equal to specified length.");let i=oi.encode(n),o=oi.encode(r);return OE([i,o,e],i.length+o.length+e.length)}function e2(e){let t=e;if(typeof e=="string"){if(to[e]===void 0)throw new Error(`Unrecognized hash function named: ${e}`);t=to[e]}if(typeof t!="number")throw new Error(`Hash function code should be a number. Got: ${t}`);if(si[t]===void 0&&!mu(t))throw new Error(`Unrecognized function code: ${t}`);return t}function mu(e){return e>0&&e<16}function r2(e){return!!(mu(e)||si[e])}function n2(e){t2(e)}function qE(e){return n2(e),e.subarray(0,2)}i2.exports={names:to,codes:si,toHexString:KE,fromHexString:ME,toB58String:FE,fromB58String:VE,decode:t2,encode:HE,coerceCode:e2,isAppCode:mu,validate:n2,prefix:qE,isValidCode:r2}});var JE={};ct(JE,{webRTC:()=>jE,webRTCDirect:()=>QE});var e3=Symbol.for("@libp2p/connection");var n3=Symbol.for("@libp2p/content-routing");var s3=Symbol.for("@libp2p/peer-discovery");var _u=Symbol.for("@libp2p/peer-id");var u3=Symbol.for("@libp2p/peer-routing");var ku;(function(e){e.Accept="accept",e.Ignore="ignore",e.Reject="reject"})(ku||(ku={}));var no=Symbol.for("@libp2p/transport");var Ru;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(Ru||(Ru={}));var W=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var io=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 C2(t,r))}},Qs=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},C2=globalThis.CustomEvent??Qs;var Lu=(e,...t)=>{try{[...t]}catch{}};var ra={};ct(ra,{base58btc:()=>kt,base58flickr:()=>R2});function B2(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(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,m=0,g=0,b=h.length;g!==b&&h[g]===0;)g++,p++;for(var x=(b-g)*f+1>>>0,D=new Uint8Array(x);g!==b;){for(var v=h[g],E=0,C=x-1;(v!==0||E<m)&&C!==-1;C--,E++)v+=256*D[C]>>>0,D[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=E,g++}for(var B=x-m;B!==x&&D[B]===0;)B++;for(var O=c.repeat(p);B<x;++B)O+=e.charAt(D[B]);return O}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var m=0,g=0;h[p]===c;)m++,p++;for(var b=(h.length-p)*u+1>>>0,x=new Uint8Array(b);h[p];){var D=r[h.charCodeAt(p)];if(D===255)return;for(var v=0,E=b-1;(D!==0||v<g)&&E!==-1;E--,v++)D+=a*x[E]>>>0,x[E]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");g=v,p++}if(h[p]!==" "){for(var C=b-g;C!==b&&x[C]===0;)C++;for(var B=new Uint8Array(m+(b-C)),O=m;C!==b;)B[O++]=x[C++];return B}}}function y(h){var p=d(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:y}}var T2=B2,I2=T2,Nu=I2;var G3=new Uint8Array(0);var Pu=(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},Ye=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 Uu=e=>new TextEncoder().encode(e),Ou=e=>new TextDecoder().decode(e);var js=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")}},Js=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 Mu(this,t)}},ta=class{constructor(t){this.decoders=t}or(t){return Mu(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`)}},Mu=(e,t)=>new ta({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),ea=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new js(t,r,n),this.decoder=new Js(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},gn=({name:e,prefix:t,encode:r,decode:n})=>new ea(e,t,r,n),mr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=Nu(r,t);return gn({prefix:e,name:t,encode:n,decode:o=>Ye(i(o))})},_2=(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},k2=(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},It=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>gn({prefix:t,name:e,encode(i){return k2(i,n,r)},decode(i){return _2(i,n,r,e)}});var kt=mr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),R2=mr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var na={};ct(na,{base10:()=>L2});var L2=mr({prefix:"9",name:"base10",alphabet:"0123456789"});var ia={};ct(ia,{base16:()=>N2,base16upper:()=>P2});var N2=It({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),P2=It({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var oa={};ct(oa,{base2:()=>U2});var U2=It({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var sa={};ct(sa,{base256emoji:()=>V2});var Fu=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}"),O2=Fu.reduce((e,t,r)=>(e[r]=t,e),[]),K2=Fu.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function M2(e){return e.reduce((t,r)=>(t+=O2[r],t),"")}function F2(e){let t=[];for(let r of e){let n=K2[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var V2=gn({prefix:"\u{1F680}",name:"base256emoji",encode:M2,decode:F2});var aa={};ct(aa,{base32:()=>Xe,base32hex:()=>G2,base32hexpad:()=>$2,base32hexpadupper:()=>Y2,base32hexupper:()=>W2,base32pad:()=>q2,base32padupper:()=>z2,base32upper:()=>H2,base32z:()=>X2});var Xe=It({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),H2=It({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),q2=It({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),z2=It({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),G2=It({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),W2=It({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),$2=It({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Y2=It({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),X2=It({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ca={};ct(ca,{base36:()=>Z2,base36upper:()=>Q2});var Z2=mr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Q2=mr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var fa={};ct(fa,{base64:()=>oo,base64pad:()=>j2,base64url:()=>ua,base64urlpad:()=>J2});var oo=It({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),j2=It({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),ua=It({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),J2=It({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var la={};ct(la,{base8:()=>ty});var ty=It({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ha={};ct(ha,{identity:()=>ey});var ey=gn({prefix:"\0",name:"identity",encode:e=>Ou(e),decode:e=>Uu(e)});var s4=new TextEncoder,a4=new TextDecoder;var pa={};ct(pa,{identity:()=>gr});var iy=qu,Vu=128,oy=127,sy=~oy,ay=Math.pow(2,31);function qu(e,t,r){t=t||[],r=r||0;for(var n=r;e>=ay;)t[r++]=e&255|Vu,e/=128;for(;e&sy;)t[r++]=e&255|Vu,e>>>=7;return t[r]=e|0,qu.bytes=r-n+1,t}var cy=da,uy=128,Hu=127;function da(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw da.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&Hu)<<i:(s&Hu)*Math.pow(2,i),i+=7}while(s>=uy);return da.bytes=o-n,r}var fy=Math.pow(2,7),ly=Math.pow(2,14),hy=Math.pow(2,21),dy=Math.pow(2,28),py=Math.pow(2,35),yy=Math.pow(2,42),my=Math.pow(2,49),gy=Math.pow(2,56),xy=Math.pow(2,63),by=function(e){return e<fy?1:e<ly?2:e<hy?3:e<dy?4:e<py?5:e<yy?6:e<my?7:e<gy?8:e<xy?9:10},wy={encode:iy,decode:cy,encodingLength:by},vy=wy,ci=vy;var ui=(e,t=0)=>[ci.decode(e,t),ci.decode.bytes],xn=(e,t,r=0)=>(ci.encode(e,t,r),t),bn=e=>ci.encodingLength(e);var Pe=(e,t)=>{let r=t.byteLength,n=bn(e),i=n+bn(r),o=new Uint8Array(i+r);return xn(e,o,0),xn(r,o,n),o.set(t,i),new wn(e,r,t,o)},Kr=e=>{let t=Ye(e),[r,n]=ui(t),[i,o]=ui(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new wn(r,i,s,t)},zu=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Pu(e.bytes,r.bytes)}},wn=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var Gu=0,Ey="identity",Wu=Ye,Sy=e=>Pe(Gu,Wu(e)),gr={code:Gu,name:Ey,encode:Wu,digest:Sy};var ga={};ct(ga,{sha256:()=>Wt,sha512:()=>Ay});var ma=({name:e,code:t,encode:r})=>new ya(e,t,r),ya=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?Pe(this.code,r):r.then(n=>Pe(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Yu=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Wt=ma({name:"sha2-256",code:18,encode:Yu("SHA-256")}),Ay=ma({name:"sha2-512",code:19,encode:Yu("SHA-512")});var Xu=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return Cy(r,xa(e),t||kt.encoder);default:return By(r,xa(e),t||Xe.encoder)}};var Zu=new WeakMap,xa=e=>{let t=Zu.get(e);if(t==null){let r=new Map;return Zu.set(e,r),r}return t},we=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!==fi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Ty)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=Pe(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&&zu(t.multihash,n.multihash)}toString(t){return Xu(this,t)}toJSON(){return{"/":Xu(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||Qu(n,i,o.bytes))}else if(r[Iy]===!0){let{version:n,multihash:i,code:o}=r,s=Kr(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!==fi)throw new Error(`Version 0 CID must use dag-pb (code: ${fi}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=Qu(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,fi,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=Ye(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 wn(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,d]=ui(t.subarray(r));return r+=d,l},i=n(),o=fi;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]=Dy(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 xa(o).set(n,t),o}},Dy=(e,t)=>{switch(e[0]){case"Q":{let r=t||kt;return[kt.prefix,r.decode(`${kt.prefix}${e}`)]}case kt.prefix:{let r=t||kt;return[kt.prefix,r.decode(e)]}case Xe.prefix:{let r=t||Xe;return[Xe.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)]}}},Cy=(e,t,r)=>{let{prefix:n}=r;if(n!==kt.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},By=(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},fi=112,Ty=18,Qu=(e,t,r)=>{let n=bn(e),i=n+bn(t),o=new Uint8Array(i+r.byteLength);return xn(e,o,0),xn(t,o,n),o.set(r,i),o},Iy=Symbol.for("@ipld/js-cid/CID");var Qt={...ha,...oa,...la,...na,...ia,...aa,...ca,...ra,...fa,...sa},S4={...ga,...pa};function jt(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 _y=Symbol.for("nodejs.util.inspect.custom"),ju=Object.values(Qt).map(e=>e.decoder).reduce((e,t)=>e.or(t),Qt.identity.decoder),Ju=114,ba=36,wa=37,li=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()})`}[_u]=!0;toString(){return this.string==null&&(this.string=kt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return we.createV1(Ju,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return jt(this.multihash.bytes,t);if(typeof t=="string")return Fr(t).equals(this);if(t?.multihash?.bytes!=null)return jt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[_y](){return`PeerId(${this.toString()})`}},vn=class extends li{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},En=class extends li{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},Sn=class extends li{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function Fr(e,t){if(t=t??ju,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=Kr(kt.decode(`z${e}`));return e.startsWith("12D")?new En({multihash:r}):e.startsWith("16U")?new Sn({multihash:r}):new vn({multihash:r})}return ky(ju.decode(e))}function ky(e){try{let t=Kr(e);if(t.code===gr.code){if(t.digest.length===ba)return new En({multihash:t});if(t.digest.length===wa)return new Sn({multihash:t})}if(t.code===Wt.code)return new vn({multihash:t})}catch{return Ry(we.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function Ry(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==Ju)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===Wt.code)return new vn({multihash:e.multihash});if(t.code===gr.code){if(t.digest.length===ba)return new En({multihash:e.multihash});if(t.digest.length===wa)return new Sn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function va(e,t){return e.length===ba?new En({multihash:Pe(gr.code,e),privateKey:t}):e.length===wa?new Sn({multihash:Pe(gr.code,e),privateKey:t}):new vn({multihash:await Wt.digest(e),publicKey:e,privateKey:t})}function tf(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 ao(e=0){return globalThis.Buffer?.allocUnsafe!=null?An(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))),Ea=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=ao(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Ny={utf8:ef,"utf-8":ef,hex:Qt.base16,latin1:Ea,ascii:Ea,binary:Ea,...Qt},co=Ny;function ie(e,t="utf8"){let r=co[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 nf(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function of(e=0){return globalThis.Buffer?.allocUnsafe!=null?nf(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var Py=Math.pow(2,7),Uy=Math.pow(2,14),Oy=Math.pow(2,21),Sa=Math.pow(2,28),Aa=Math.pow(2,35),Da=Math.pow(2,42),Ca=Math.pow(2,49),ht=128,Jt=127;function te(e){if(e<Py)return 1;if(e<Uy)return 2;if(e<Oy)return 3;if(e<Sa)return 4;if(e<Aa)return 5;if(e<Da)return 6;if(e<Ca)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Ky(e,t,r=0){switch(te(e)){case 8:t[r++]=e&255|ht,e/=128;case 7:t[r++]=e&255|ht,e/=128;case 6:t[r++]=e&255|ht,e/=128;case 5:t[r++]=e&255|ht,e/=128;case 4:t[r++]=e&255|ht,e>>>=7;case 3:t[r++]=e&255|ht,e>>>=7;case 2:t[r++]=e&255|ht,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function My(e,t,r=0){switch(te(e)){case 8:t.set(r++,e&255|ht),e/=128;case 7:t.set(r++,e&255|ht),e/=128;case 6:t.set(r++,e&255|ht),e/=128;case 5:t.set(r++,e&255|ht),e/=128;case 4:t.set(r++,e&255|ht),e>>>=7;case 3:t.set(r++,e&255|ht),e>>>=7;case 2:t.set(r++,e&255|ht),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function Fy(e,t){let r=e[t],n=0;if(n+=r&Jt,r<ht||(r=e[t+1],n+=(r&Jt)<<7,r<ht)||(r=e[t+2],n+=(r&Jt)<<14,r<ht)||(r=e[t+3],n+=(r&Jt)<<21,r<ht)||(r=e[t+4],n+=(r&Jt)*Sa,r<ht)||(r=e[t+5],n+=(r&Jt)*Aa,r<ht)||(r=e[t+6],n+=(r&Jt)*Da,r<ht)||(r=e[t+7],n+=(r&Jt)*Ca,r<ht))return n;throw new RangeError("Could not decode varint")}function Vy(e,t){let r=e.get(t),n=0;if(n+=r&Jt,r<ht||(r=e.get(t+1),n+=(r&Jt)<<7,r<ht)||(r=e.get(t+2),n+=(r&Jt)<<14,r<ht)||(r=e.get(t+3),n+=(r&Jt)<<21,r<ht)||(r=e.get(t+4),n+=(r&Jt)*Sa,r<ht)||(r=e.get(t+5),n+=(r&Jt)*Aa,r<ht)||(r=e.get(t+6),n+=(r&Jt)*Da,r<ht)||(r=e.get(t+7),n+=(r&Jt)*Ca,r<ht))return n;throw new RangeError("Could not decode varint")}function xr(e,t,r=0){return t==null&&(t=of(te(e))),t instanceof Uint8Array?Ky(e,t,r):My(e,t,r)}function ve(e,t=0){return e instanceof Uint8Array?Fy(e,t):Vy(e,t)}function Ze(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=ao(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return An(r)}var uo=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 d=Number.parseInt(l,t);if(!Number.isNaN(d))return d});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 sf=45,Hy=15,Dn=new uo;function Ba(e){if(!(e.length>Hy))return Dn.new(e).parseWith(()=>Dn.readIPv4Addr())}function Ta(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>sf))return Dn.new(e).parseWith(()=>Dn.readIPv6Addr())}function fo(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>sf))return Dn.new(e).parseWith(()=>Dn.readIPAddr())}var oS=parseInt("0xFFFF",16),sS=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Ia(e,t="utf8"){let r=co[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 lo(e){return!!Ba(e)}function ho(e){return!!Ta(e)}function po(e){return!!fo(e)}var uf=lo,$y=ho,_a=function(e){let t=0;if(e=e.toString().trim(),uf(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if($y(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=uf(r[n]),s;o&&(s=_a(r[n]),r[n]=ie(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,ie(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")},ff=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 Cn={},ka={},Xy=[[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"]];Xy.forEach(e=>{let t=Zy(...e);ka[t.code]=t,Cn[t.name]=t});function Zy(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function dt(e){if(typeof e=="number"){if(ka[e]!=null)return ka[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(Cn[e]!=null)return Cn[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var WS=dt("ip4"),$S=dt("ip6"),YS=dt("ipcidr");function La(e,t){switch(dt(e).code){case 4:case 41:return jy(t);case 42:return df(t);case 6:case 273:case 33:case 132:return yf(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return df(t);case 421:return rm(t);case 444:return pf(t);case 445:return pf(t);case 466:return em(t);default:return ie(t,"base16")}}function Na(e,t){switch(dt(e).code){case 4:return lf(t);case 41:return lf(t);case 42:return hf(t);case 6:case 273:case 33:case 132:return Pa(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return hf(t);case 421:return Jy(t);case 444:return nm(t);case 445:return im(t);case 466:return tm(t);default:return Ia(t,"base16")}}var Ra=Object.values(Qt).map(e=>e.decoder),Qy=function(){let e=Ra[0].or(Ra[1]);return Ra.slice(2).forEach(t=>e=e.or(t)),e}();function lf(e){if(!po(e))throw new Error("invalid ip address");return _a(e)}function jy(e){let t=ff(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!po(t))throw new Error("invalid ip address");return t}function Pa(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function yf(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function hf(e){let t=Ia(e),r=Uint8Array.from(xr(t.length));return Ze([r,t],r.length+t.length)}function df(e){let t=ve(e);if(e=e.slice(te(t)),e.length!==t)throw new Error("inconsistent lengths");return ie(e)}function Jy(e){let t;e[0]==="Q"||e[0]==="1"?t=Kr(kt.decode(`z${e}`)).bytes:t=we.parse(e).multihash.bytes;let r=Uint8Array.from(xr(t.length));return Ze([r,t],r.length+t.length)}function tm(e){let t=Qy.decode(e),r=Uint8Array.from(xr(t.length));return Ze([r,t],r.length+t.length)}function em(e){let t=ve(e),r=e.slice(te(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+ie(r,"base64url")}function rm(e){let t=ve(e),r=e.slice(te(t));if(r.length!==t)throw new Error("inconsistent lengths");return ie(r,"base58btc")}function nm(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=Xe.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=Pa(n);return Ze([r,i],r.length+i.length)}function im(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=Xe.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=Pa(n);return Ze([r,i],r.length+i.length)}function pf(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=ie(t,"base32"),i=yf(r);return`${n}:${i}`}function mf(e){e=Ua(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=dt(s);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw xf("invalid address: "+e);if(a.path===!0){n=Ua(i.slice(o).join("/")),t.push([a.code,Na(a.code,n)]),r.push([a.code,n]);break}let c=Na(a.code,i[o]);t.push([a.code,c]),r.push([a.code,La(a.code,c)])}return{string:gf(r),bytes:Ka(t),tuples:t,stringTuples:r,path:n}}function Oa(e){let t=[],r=[],n=null,i=0;for(;i<e.length;){let o=ve(e,i),s=te(o),a=dt(o),c=om(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 xf("Invalid address Uint8Array: "+ie(e,"base16"));t.push([o,u]);let f=La(o,u);if(r.push([o,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(e),string:gf(r),tuples:t,stringTuples:r,path:n}}function gf(e){let t=[];return e.map(r=>{let n=dt(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Ua(t.join("/"))}function Ka(e){return Ze(e.map(t=>{let r=dt(t[0]),n=Uint8Array.from(xr(r.code));return t.length>1&&t[1]!=null&&(n=Ze([n,t[1]])),n}))}function om(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=ve(t instanceof Uint8Array?t:Uint8Array.from(t));return r+te(r)}}function Ua(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function xf(e){return new Error("Error parsing address: "+e)}var sm=Symbol.for("nodejs.util.inspect.custom"),Ma=Symbol.for("@multiformats/js-multiaddr/multiaddr"),am=[dt("dns").code,dt("dns4").code,dt("dns6").code,dt("dnsaddr").code],yo=class e{bytes;#t;#e;#r;#n;[Ma]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=Oa(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=mf(t)}else if(wf(t))r=Oa(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=dt("tcp"),a=dt("udp"),c=dt("ip4"),u=dt("ip6"),f=dt("dns6"),l=dt("ip6zone");for(let[y,h]of this.stringTuples())y===l.code&&(o=`%${h??""}`),am.includes(y)&&(r=s.name,i=443,n=`${h??""}${o}`,t=y===f.code?6:4),(y===s.code||y===a.code)&&(r=dt(y).name,i=parseInt(h??"")),(y===c.code||y===u.code)&&(r=dt(y).name,n=`${h??""}${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({},dt(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>dt(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(Ka(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,i])=>{n===Cn.p2p.code&&t.push([n,i]),n===Cn["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?ie(kt.decode(`z${n}`),"base58btc"):ie(we.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return tf(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=bf.get(r.name);if(n==null)throw new W(`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)}[sm](){return`Multiaddr(${this.#t})`}};var bf=new Map;function wf(e){return!!e?.[Ma]}function Qe(e){return new yo(e)}var cm=e=>e.toString().split("/").slice(1),di=e=>({match:t=>t.length<1?!1:e(t[0])?t.slice(1):!1,pattern:"fn"}),Rt=e=>({match:t=>di(r=>r===e).match(t),pattern:e}),xo=()=>({match:e=>di(t=>typeof t=="string").match(e),pattern:"{string}"}),vf=()=>({match:e=>di(t=>!isNaN(parseInt(t))).match(e),pattern:"{number}"}),de=()=>({match:e=>{if(e.length<2||e[0]!=="p2p"&&e[0]!=="ipfs")return!1;if(e[1].startsWith("Q")||e[1].startsWith("1"))try{kt.decode(`z${e[1]}`)}catch{return!1}else return!1;return e.slice(2)},pattern:"/p2p/{peerid}"}),mo=()=>({match:e=>{if(e.length<2||e[0]!=="certhash")return!1;try{ua.decode(e[1])}catch{return!1}return e.slice(2)},pattern:"/certhash/{certhash}"}),Ue=e=>({match:t=>{let r=e.match(t);return r===!1?t:r},pattern:`optional(${e.pattern})`}),Oe=(...e)=>({match:t=>{let r;for(let n of e){let i=n.match(t);i!==!1&&(r==null||i.length<r.length)&&(r=i)}return r??!1},pattern:`or(${e.map(t=>t.pattern).join(", ")})`}),Lt=(...e)=>({match:t=>{for(let r of e){let n=r.match(t);if(n===!1)return!1;t=n}return t},pattern:`and(${e.map(t=>t.pattern).join(", ")})`});function Mt(...e){function t(i){let o=cm(i);for(let s of e){let a=s.match(o);if(a===!1)return!1;o=a}return o}function r(i){return t(i)!==!1}function n(i){let o=t(i);return o===!1?!1:o.length===0}return{matches:r,exactMatch:n}}var Va=Lt(Rt("dns4"),xo()),Ha=Lt(Rt("dns6"),xo()),qa=Lt(Rt("dnsaddr"),xo()),Ef=Lt(Rt("dns"),xo()),S5=Mt(Va),A5=Mt(Ha),D5=Mt(qa),C5=Mt(Oe(Ef,qa,Va,Ha)),Sf=Lt(Rt("ip4"),di(lo)),Af=Lt(Rt("ip6"),di(ho)),Df=Oe(Sf,Af),pi=Oe(Df,Ef,Va,Ha,qa),B5=Mt(pi),T5=Mt(Sf),I5=Mt(Af),_5=Mt(Df),bo=Lt(pi,Rt("tcp"),vf()),yi=Lt(pi,Rt("udp"),vf()),um=Oe(bo,yi),k5=Mt(bo),R5=Mt(yi),za=Lt(yi,Rt("quic")),wo=Lt(yi,Rt("quic-v1")),fm=Oe(za,wo),L5=Mt(za),N5=Mt(wo),Fa=Oe(pi,bo,yi,za,wo),Cf=Oe(Lt(Fa,Rt("ws"),Ue(de()))),P5=Mt(Cf),Bf=Oe(Lt(Fa,Rt("wss"),Ue(de())),Lt(Fa,Rt("tls"),Rt("ws"),Ue(de()))),U5=Mt(Bf),Tf=Lt(um,Rt("webrtc-direct"),mo(),Ue(mo()),Ue(de())),If=Mt(Tf),_f=Lt(wo,Rt("webtransport"),mo(),mo(),Ue(de())),O5=Mt(_f),go=Oe(Cf,Bf,Lt(bo,Ue(de())),Lt(fm,Ue(de())),Lt(pi,Ue(de())),Tf,_f,de()),K5=Mt(go),lm=Lt(go,Rt("p2p-circuit"),de()),M5=Mt(lm),hm=Oe(Lt(go,Rt("p2p-circuit"),Rt("webrtc"),de()),Lt(go,Rt("webrtc"),Ue(de())),Rt("webrtc")),kf=Mt(hm);var fe;(function(e){e.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",e.ERR_DATA_CHANNEL="ERR_DATA_CHANNEL",e.ERR_CONNECTION_CLOSED="ERR_CONNECTION_CLOSED",e.ERR_HASH_NOT_SUPPORTED="ERR_HASH_NOT_SUPPORTED",e.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",e.ERR_INVALID_FINGERPRINT="ERR_INVALID_FINGERPRINT",e.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",e.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",e.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",e.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS"})(fe||(fe={}));var br=class extends W{constructor(t,r){super(`WebRTC transport error: ${t}`,r??""),this.name="WebRTCTransportError"}};var Ga=class extends br{constructor(t,r){super(`[stream: ${t}] data channel error: ${r}`,fe.ERR_DATA_CHANNEL),this.name="WebRTC/DataChannelError"}};function Qa(e,t){return new Ga(e,t)}var Wa=class extends br{constructor(t){super(`There was a problem with the Multiaddr which was passed in: ${t}`,fe.ERR_INVALID_MULTIADDR),this.name="WebRTC/InappropriateMultiaddrError"}};function vo(e){return new Wa(e)}var $a=class extends br{constructor(t){super(`There was a problem with a provided argument: ${t}`,fe.ERR_INVALID_PARAMETERS),this.name="WebRTC/InvalidArgumentError"}};function mi(e){return new $a(e)}var Ya=class extends br{constructor(t,r){super(`Invalid fingerprint "${t}" within ${r}`,fe.ERR_INVALID_FINGERPRINT),this.name="WebRTC/InvalidFingerprintError"}};function ja(e,t){return new Ya(e,t)}var Xa=class extends br{constructor(t){super(`A method (${t}) was called though it has been intentionally left unimplemented.`,fe.ERR_NOT_IMPLEMENTED),this.name="WebRTC/UnimplementedError"}};function Rf(e){return new Xa(e)}var Za=class extends br{constructor(t){super(`unsupported hash algorithm: ${t}`,fe.ERR_HASH_NOT_SUPPORTED),this.name="WebRTC/UnsupportedHashAlgorithmError"}};function Lf(e){return new Za(e)}var Nf=function(e,t,r){if(r||arguments.length===2)for(var n=0,i=t.length,o;n<i;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},dm=function(){function e(t,r,n){this.name=t,this.version=r,this.os=n,this.type="browser"}return e}();var pm=function(){function e(t){this.version=t,this.type="node",this.name="node",this.os=process.platform}return e}();var ym=function(){function e(t,r,n,i){this.name=t,this.version=r,this.os=n,this.bot=i,this.type="bot-device"}return e}();var mm=function(){function e(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return e}();var gm=function(){function e(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return e}();var xm=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,bm=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,Pf=3,wm=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["pie",/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],["pie",/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],["netfront",/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FB[AS]V\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["curl",/^curl\/([0-9\.]+)$/],["searchbot",xm]],Uf=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Windows CE",/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function Kf(e){return e?Of(e):typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new gm:typeof navigator<"u"?Of(navigator.userAgent):Sm()}function vm(e){return e!==""&&wm.reduce(function(t,r){var n=r[0],i=r[1];if(t)return t;var o=i.exec(e);return!!o&&[n,o]},!1)}function Of(e){var t=vm(e);if(!t)return null;var r=t[0],n=t[1];if(r==="searchbot")return new mm;var i=n[1]&&n[1].split(".").join("_").split("_").slice(0,3);i?i.length<Pf&&(i=Nf(Nf([],i,!0),Am(Pf-i.length),!0)):i=[];var o=i.join("."),s=Em(e),a=bm.exec(e);return a&&a[1]?new ym(r,o,s,a[1]):new dm(r,o,s)}function Em(e){for(var t=0,r=Uf.length;t<r;t++){var n=Uf[t],i=n[0],o=n[1],s=o.exec(e);if(s)return i}return null}function Sm(){var e=typeof process<"u"&&process.version;return e?new pm(process.version.slice(1)):null}function Am(e){for(var t=[],r=0;r<e;r++)t.push("0");return t}function Ut(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var Bn=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},Ja=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Mf=e=>globalThis.DOMException===void 0?new Ja(e):new DOMException(e),Ff=e=>{let t=e.reason===void 0?Mf("This operation was aborted."):e.reason;return t instanceof Error?t:Mf(t)};function Vr(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:d}=t;d.aborted&&f(Ff(d)),d.addEventListener("abort",()=>{f(Ff(d))})}if(r===Number.POSITIVE_INFINITY){e.then(u,f);return}let l=new Bn;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(d){f(d)}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(d){f(d)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}var Vf=Kf(),gi=Vf!=null&&Vf.name==="firefox",Eo=async function*(){},So=async e=>{},Dm=30*1e3;function Hf(e,t,r=Dm,n){e.readyState==="open"&&Promise.resolve().then(async()=>{if(e.bufferedAmount>0){n.log("%s drain channel with %d buffered bytes",t,e.bufferedAmount);let i=Ut(),o=!1;e.bufferedAmountLowThreshold=0;let s=()=>{o||(n.log("%s drain channel closed before drain",t),i.resolve())};e.addEventListener("close",s,{once:!0}),e.addEventListener("bufferedamountlow",()=>{o=!0,e.removeEventListener("close",s),i.resolve()}),await Vr(i.promise,{milliseconds:r})}}).then(async()=>{e.readyState==="open"&&e.close()}).catch(i=>{n.log.error("error closing outbound stream",i)})}var Hr=class{log;peerConnection;remoteAddr;timeline;metrics;source=Eo();sink=So;constructor(t,r){this.log=t.logger.forComponent("libp2p:webrtc:maconn"),this.remoteAddr=r.remoteAddr,this.timeline=r.timeline,this.peerConnection=r.peerConnection;let n=this.peerConnection.connectionState;this.peerConnection.onconnectionstatechange=()=>{this.log.trace("peer connection state change",this.peerConnection.connectionState,"initial state",n),(this.peerConnection.connectionState==="disconnected"||this.peerConnection.connectionState==="failed"||this.peerConnection.connectionState==="closed")&&(this.timeline.close=Date.now())}}async close(t){this.log.trace("closing connection"),this.peerConnection.close(),this.timeline.close=Date.now(),this.metrics?.increment({close:!0})}abort(t){this.log.error("closing connection due to error",t),this.peerConnection.close(),this.timeline.close=Date.now(),this.metrics?.increment({abort:!0})}};var Ao=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},Tn=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new Ao(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new Ao(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var tc=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function wr(e={}){return Cm(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},e)}function Cm(e,t){t=t??{};let r=t.onEnd,n=new Tn,i,o,s,a=Ut(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((m,g)=>{o=b=>{o=null,n.push(b);try{m(e(n))}catch(x){g(x)}return i}}):e(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Ut()})}},u=m=>o!=null?o(m):(n.push(m),i),f=m=>(n=new Tn,o!=null?o({error:m}):(n.push({error:m}),i)),l=m=>{if(s)return i;if(t?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:m})},d=m=>s?i:(s=!0,m!=null?f(m):u({done:!0})),y=()=>(n=new Tn,d(),{done:!0}),h=m=>(d(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:y,throw:h,push:l,end:d,get readableLength(){return n.size},onEmpty:async m=>{let g=m?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let b,x;g!=null&&(b=new Promise((D,v)=>{x=()=>{v(new tc)},g.addEventListener("abort",x)}));try{await Promise.race([a.promise,b])}finally{x!=null&&g!=null&&g?.removeEventListener("abort",x)}}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(m){return p.throw(m),r!=null&&(r(m),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(m){return p.end(m),r!=null&&(r(m),r=void 0),i},get readableLength(){return p.readableLength},onEmpty:m=>p.onEmpty(m)},i}var Do=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 vr(e,t,r){if(t==null)return e;if(t.aborted)return Promise.reject(new Do(r?.errorMessage,r?.errorCode));let n,i=new Do(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)}}function xi(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function je(e=0){return globalThis.Buffer?.alloc!=null?xi(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function bi(e=0){return globalThis.Buffer?.allocUnsafe!=null?xi(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function ec(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=bi(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return xi(r)}function qf(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 Gf=Symbol.for("@achingbrain/uint8arraylist");function zf(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 In(e){return!!e?.[Gf]}var At=class e{bufs;length;[Gf]=!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(In(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(In(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=zf(this.bufs,t);return r.buf[r.index]}set(t,r){let n=zf(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(In(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 ec(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:ec(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(!In(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 d=u;d>=0;d--){let y=this.get(l+d);if(n[d]!==y){f=Math.max(1,d-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=bi(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=je(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=je(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=je(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=bi(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=je(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=je(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=je(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=je(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=je(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(!qf(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 Wf(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function $f(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}function Yf(e,t){let r=Wf(e).return?.();$f(r)&&r.catch(n=>{t.error("could not cause iterator to return",n)})}var Bm="ERR_STREAM_RESET",Tm="ERR_SINK_INVALID_STATE",Im=5e3;function rc(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var Co=class{id;direction;timeline;protocol;metadata;source;status;readStatus;writeStatus;log;sinkController;sinkEnd;closed;endErr;streamSource;onEnd;onCloseRead;onCloseWrite;onReset;onAbort;sendCloseWriteTimeout;constructor(t){this.sinkController=new AbortController,this.sinkEnd=Ut(),this.closed=Ut(),this.log=t.log,this.status="open",this.readStatus="ready",this.writeStatus="ready",this.id=t.id,this.metadata=t.metadata??{},this.direction=t.direction,this.timeline={open:Date.now()},this.sendCloseWriteTimeout=t.sendCloseWriteTimeout??Im,this.onEnd=t.onEnd,this.onCloseRead=t?.onCloseRead,this.onCloseWrite=t?.onCloseWrite,this.onReset=t?.onReset,this.onAbort=t?.onAbort,this.source=this.streamSource=wr({onEnd:r=>{r!=null?this.log.trace("source ended with error",r):this.log.trace("source ended"),this.onSourceEnd(r)}}),this.sink=this.sink.bind(this)}async sink(t){if(this.writeStatus!=="ready")throw new W(`writable end state is "${this.writeStatus}" not "ready"`,Tm);try{this.writeStatus="writing";let r={signal:this.sinkController.signal};if(this.direction==="outbound"){let i=this.sendNewStream(r);rc(i)&&await i}let n=()=>{Yf(t,this.log)};try{this.sinkController.signal.addEventListener("abort",n),this.log.trace("sink reading from source");for await(let i of t){i=i instanceof Uint8Array?new At(i):i;let o=this.sendData(i,r);rc(o)&&await o}}finally{this.sinkController.signal.removeEventListener("abort",n)}this.log.trace('sink finished reading from source, write status is "%s"',this.writeStatus),this.writeStatus==="writing"&&(this.writeStatus="closing",this.log.trace("send close write to remote"),await this.sendCloseWrite({signal:AbortSignal.timeout(this.sendCloseWriteTimeout)}),this.writeStatus="closed"),this.onSinkEnd()}catch(r){throw this.log.trace("sink ended with error, calling abort with error",r),this.abort(r),r}finally{this.log.trace("resolve sink end"),this.sinkEnd.resolve()}}onSourceEnd(t){this.timeline.closeRead==null&&(this.timeline.closeRead=Date.now(),this.readStatus="closed",t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseRead?.(),this.timeline.closeWrite!=null?(this.log.trace("source and sink ended"),this.timeline.close=Date.now(),this.status!=="aborted"&&this.status!=="reset"&&(this.status="closed"),this.onEnd!=null&&this.onEnd(this.endErr),this.closed.resolve()):this.log.trace("source ended, waiting for sink to end"))}onSinkEnd(t){this.timeline.closeWrite==null&&(this.timeline.closeWrite=Date.now(),this.writeStatus="closed",t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseWrite?.(),this.timeline.closeRead!=null?(this.log.trace("sink and source ended"),this.timeline.close=Date.now(),this.status!=="aborted"&&this.status!=="reset"&&(this.status="closed"),this.onEnd!=null&&this.onEnd(this.endErr),this.closed.resolve()):this.log.trace("sink ended, waiting for source to end"))}async close(t){this.log.trace("closing gracefully"),this.status="closing",await Promise.all([this.closeRead(t),this.closeWrite(t)]),await vr(this.closed.promise,t?.signal),this.status="closed",this.log.trace("closed gracefully")}async closeRead(t={}){if(this.readStatus==="closing"||this.readStatus==="closed")return;this.log.trace('closing readable end of stream with starting read status "%s"',this.readStatus);let r=this.readStatus;this.readStatus="closing",this.status!=="reset"&&this.status!=="aborted"&&this.timeline.closeRead==null&&(this.log.trace("send close read to remote"),await this.sendCloseRead(t)),r==="ready"&&(this.log.trace("ending internal source queue with %d queued bytes",this.streamSource.readableLength),this.streamSource.end()),this.log.trace("closed readable end of stream")}async closeWrite(t={}){this.writeStatus==="closing"||this.writeStatus==="closed"||(this.log.trace('closing writable end of stream with starting write status "%s"',this.writeStatus),this.writeStatus==="ready"&&(this.log.trace("sink was never sunk, sink an empty array"),await vr(this.sink([]),t.signal)),this.writeStatus==="writing"&&await new Promise((r,n)=>{queueMicrotask(()=>{this.log.trace("aborting source passed to .sink"),this.sinkController.abort(),vr(this.sinkEnd.promise,t.signal).then(r,n)})}),this.writeStatus="closed",this.log.trace("closed writable end of stream"))}abort(t){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;this.log("abort with error",t),this.log("try to send reset to remote");let r=this.sendReset();rc(r)&&r.catch(n=>{this.log.error("error sending reset message",n)}),this.status="aborted",this.timeline.abort=Date.now(),this._closeSinkAndSource(t),this.onAbort?.(t)}reset(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;let t=new W("stream reset",Bm);this.status="reset",this.timeline.reset=Date.now(),this._closeSinkAndSource(t),this.onReset?.()}_closeSinkAndSource(t){this._closeSink(t),this._closeSource(t)}_closeSink(t){this.writeStatus==="writing"&&(this.log.trace("end sink source"),this.sinkController.abort()),this.onSinkEnd(t)}_closeSource(t){this.readStatus!=="closing"&&this.readStatus!=="closed"&&(this.log.trace("ending source with %d bytes to be read by consumer",this.streamSource.readableLength),this.readStatus="closing",this.streamSource.end(t))}remoteCloseWrite(){if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("received remote close write but local source is already closed");return}this.log.trace("remote close write"),this._closeSource()}remoteCloseRead(){if(this.writeStatus==="closing"||this.writeStatus==="closed"){this.log("received remote close read but local sink is already closed");return}this.log.trace("remote close read"),this._closeSink()}destroy(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset"){this.log("received destroy but we are already closed");return}this.log.trace("stream destroyed"),this._closeSinkAndSource()}sourcePush(t){this.streamSource.push(t)}sourceReadableLength(){return this.streamSource.readableLength}};function Xf(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Zf(e=0){return globalThis.Buffer?.allocUnsafe!=null?Xf(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Bo(e){return e[Symbol.asyncIterator]!=null}var To=e=>{let t=te(e),r=Zf(t);return xr(e,r),To.bytes=t,r};To.bytes=0;function Er(e,t){t=t??{};let r=t.lengthEncoder??To;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return Bo(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}Er.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??To;return new At(r(e.byteLength),e)};var _n=Zt(Jf(),1);var km=8,Rm=1024*1024*4,qr;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(qr||(qr={}));var nc=e=>{let t=ve(e);return nc.bytes=te(t),t};nc.bytes=0;function zr(e,t){let r=new At,n=qr.LENGTH,i=-1,o=t?.lengthDecoder??nc,s=t?.maxLengthLength??km,a=t?.maxDataLength??Rm;function*c(){for(;r.byteLength>0;){if(n===qr.LENGTH)try{if(i=o(r),i<0)throw(0,_n.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,_n.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=qr.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,_n.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===qr.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(u),yield u,n=qr.LENGTH}}}return Bo(e)?async function*(){for await(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,_n.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,_n.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}zr.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 zr(n,{...t??{},onLength:o=>{r=o}})};var Lm=e=>{let t=e.on||e.addListener||e.addEventListener,r=e.off||e.removeListener||e.removeEventListener;if(!t||!r)throw new TypeError("Emitter is not compatible");return{addListener:t.bind(e),removeListener:r.bind(e)}};function Nm(e,t,r){let n,i=new Promise((o,s)=>{if(r={rejectionEvents:["error"],multiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[t].flat(),c=[],{addListener:u,removeListener:f}=Lm(e),l=(...y)=>{let h=r.multiArgs?y:y[0];r.filter&&!r.filter(h)||(c.push(h),r.count===c.length&&(n(),o(c)))},d=y=>{n(),s(y)};n=()=>{for(let y of a)f(y,l);for(let y of r.rejectionEvents)f(y,d)};for(let y of a)u(y,l);for(let y of r.rejectionEvents)u(y,d);r.signal&&r.signal.addEventListener("abort",()=>{d(r.signal.reason)},{once:!0}),r.resolveImmediately&&o(c)});if(i.cancel=n,typeof r.timeout=="number"){let o=Vr(i,{milliseconds:r.timeout});return o.cancel=n,o}return i}function ic(e,t,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=Nm(e,t,r),i=n.then(o=>o[0]);return i.cancel=n.cancel,i}var oc=new Float32Array([-0]),Sr=new Uint8Array(oc.buffer);function el(e,t,r){oc[0]=e,t[r]=Sr[0],t[r+1]=Sr[1],t[r+2]=Sr[2],t[r+3]=Sr[3]}function rl(e,t){return Sr[0]=e[t],Sr[1]=e[t+1],Sr[2]=e[t+2],Sr[3]=e[t+3],oc[0]}var sc=new Float64Array([-0]),ee=new Uint8Array(sc.buffer);function nl(e,t,r){sc[0]=e,t[r]=ee[0],t[r+1]=ee[1],t[r+2]=ee[2],t[r+3]=ee[3],t[r+4]=ee[4],t[r+5]=ee[5],t[r+6]=ee[6],t[r+7]=ee[7]}function il(e,t){return ee[0]=e[t],ee[1]=e[t+1],ee[2]=e[t+2],ee[3]=e[t+3],ee[4]=e[t+4],ee[5]=e[t+5],ee[6]=e[t+6],ee[7]=e[t+7],sc[0]}var Pm=BigInt(Number.MAX_SAFE_INTEGER),Um=BigInt(Number.MIN_SAFE_INTEGER),oe=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 Gr;if(t<Pm&&t>Um)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>ol&&(i=0n,++n>ol&&(n=0n))),new e(Number(i),Number(n))}static fromNumber(t){if(t===0)return Gr;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):Gr}},Gr=new oe(0,0);Gr.toBigInt=function(){return 0n};Gr.zzEncode=Gr.zzDecode=function(){return this};Gr.length=function(){return 1};var ol=4294967296n;function sl(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 al(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 ac(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 Ee(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function Io(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var cc=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,Ee(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 Ee(this,4);return Io(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Ee(this,4);return Io(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Ee(this,4);let t=rl(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Ee(this,4);let t=il(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 Ee(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return al(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Ee(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Ee(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 oe(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 Ee(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 Ee(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 Ee(this,8);let t=Io(this.buf,this.pos+=4),r=Io(this.buf,this.pos+=4);return new oe(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 uc(e){return new cc(e instanceof Uint8Array?e:e.subarray())}function Se(e,t){let r=uc(e);return t.decode(r)}function _o(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Wr(e=0){return globalThis.Buffer?.allocUnsafe!=null?_o(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function fl(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var ul=fl("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),fc=fl("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=Wr(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Om={utf8:ul,"utf-8":ul,hex:Qt.base16,latin1:fc,ascii:fc,binary:fc,...Qt},ll=Om;function hl(e,t="utf8"){let r=ll[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?_o(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function lc(e){let t=e??8192,r=t>>>1,n,i=t;return function(s){if(s<1||s>r)return Wr(s);i+s>t&&(n=Wr(t),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var $r=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function hc(){}var pc=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Km=lc();function Mm(e){return globalThis.Buffer!=null?Wr(e):Km(e)}var Ei=class{len;head;tail;states;constructor(){this.len=0,this.head=new $r(hc,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new $r(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new yc((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(wi,10,oe.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=oe.fromBigInt(t);return this._push(wi,r.length(),r)}uint64Number(t){let r=oe.fromNumber(t);return this._push(wi,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=oe.fromBigInt(t).zzEncode();return this._push(wi,r.length(),r)}sint64Number(t){let r=oe.fromNumber(t).zzEncode();return this._push(wi,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(dc,1,t?1:0)}fixed32(t){return this._push(vi,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=oe.fromBigInt(t);return this._push(vi,4,r.lo)._push(vi,4,r.hi)}fixed64Number(t){let r=oe.fromNumber(t);return this._push(vi,4,r.lo)._push(vi,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(el,4,t)}double(t){return this._push(nl,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(dc,1,0):this.uint32(r)._push(Vm,r,t)}string(t){let r=sl(t);return r!==0?this.uint32(r)._push(ac,r,t):this._push(dc,1,0)}fork(){return this.states=new pc(this),this.head=this.tail=new $r(hc,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 $r(hc,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=Mm(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function dc(e,t,r){t[r]=e&255}function Fm(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var yc=class extends $r{next;constructor(t,r){super(Fm,t,r),this.next=void 0}};function wi(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 vi(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 Vm(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(Ei.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(Hm,t,e),this},Ei.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(qm,t,e),this});function Hm(e,t,r){t.set(e,r)}function qm(e,t,r){e.length<40?ac(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(hl(e),r)}function mc(){return new Ei}function Ae(e,t){let r=mc();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var kn;(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"})(kn||(kn={}));function ko(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Yr(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 ko("enum",kn.VARINT,r,n)}function De(e,t){return ko("message",kn.LENGTH_DELIMITED,e,t)}var se;(function(e){let t;(function(i){i.FIN="FIN",i.STOP_SENDING="STOP_SENDING",i.RESET="RESET",i.FIN_ACK="FIN_ACK"})(t=e.Flag||(e.Flag={}));let r;(function(i){i[i.FIN=0]="FIN",i[i.STOP_SENDING=1]="STOP_SENDING",i[i.RESET=2]="RESET",i[i.FIN_ACK=3]="FIN_ACK"})(r||(r={})),function(i){i.codec=()=>Yr(r)}(t=e.Flag||(e.Flag={}));let n;e.codec=()=>(n==null&&(n=De((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.flag!=null&&(o.uint32(8),e.Flag.codec().encode(i.flag,o)),i.message!=null&&(o.uint32(18),o.bytes(i.message)),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.flag=e.Flag.codec().decode(i);break;case 2:s.message=i.bytes();break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>Ae(i,e.codec()),e.decode=i=>Se(i,e.codec())})(se||(se={}));var zm=16*1024*1024,Gm=30*1e3,Wm=5,$m=2,Ym=16*1024,Xm=5e3,Zm=5e3,gc=class extends Co{channel;incomingData;maxBufferedAmount;bufferedAmountLowEventTimeout;maxMessageSize;receiveFinAck;finAckTimeout;openTimeout;constructor(t){let r=t.onEnd;switch(t.onEnd=i=>{this.log.trace("readable and writeable ends closed",this.status),Promise.resolve(async()=>{if(!(this.timeline.abort!=null||this.timeline.reset!==null))try{await Vr(this.receiveFinAck.promise,{milliseconds:this.finAckTimeout})}catch(o){this.log.error("error receiving FIN_ACK",o)}}).then(()=>{this.incomingData.end(),r?.(i)}).catch(o=>{this.log.error("error ending stream",o)})},super(t),this.channel=t.channel,this.channel.binaryType="arraybuffer",this.incomingData=wr(),this.bufferedAmountLowEventTimeout=t.bufferedAmountLowEventTimeout??Gm,this.maxBufferedAmount=t.maxBufferedAmount??zm,this.maxMessageSize=(t.maxMessageSize??Ym)-Wm-$m,this.receiveFinAck=Ut(),this.finAckTimeout=t.closeTimeout??Xm,this.openTimeout=t.openTimeout??Zm,this.channel.readyState){case"open":this.timeline.open=new Date().getTime();break;case"closed":case"closing":(this.timeline.close===void 0||this.timeline.close===0)&&(this.timeline.close=Date.now());break;case"connecting":break;default:throw this.log.error("unknown datachannel state %s",this.channel.readyState),new W("Unknown datachannel state","ERR_INVALID_STATE")}this.channel.onopen=i=>{this.timeline.open=new Date().getTime()},this.channel.onclose=i=>{this.receiveFinAck.resolve(),this.close().catch(o=>{this.log.error("error closing stream after channel closed",o)})},this.channel.onerror=i=>{let o=i.error;this.abort(o)},this.channel.onmessage=async i=>{let{data:o}=i;o===null||o.byteLength===0||this.incomingData.push(new Uint8Array(o,0,o.byteLength))};let n=this;Promise.resolve().then(async()=>{for await(let i of zr(this.incomingData)){let o=n.processIncomingProtobuf(i);o!=null&&n.sourcePush(new At(o))}}).catch(i=>{this.log.error("error processing incoming data channel messages",i)})}sendNewStream(){}async _sendMessage(t,r=!0){if(r&&this.channel.bufferedAmount>this.maxBufferedAmount)try{this.log('channel buffer is %d, wait for "bufferedamountlow" event',this.channel.bufferedAmount),await ic(this.channel,"bufferedamountlow",{timeout:this.bufferedAmountLowEventTimeout})}catch(n){throw n instanceof Bn?new W(`Timed out waiting for DataChannel buffer to clear after ${this.bufferedAmountLowEventTimeout}ms`,"ERR_BUFFER_CLEAR_TIMEOUT"):n}if(this.channel.readyState==="closed"||this.channel.readyState==="closing")throw new W(`Invalid datachannel state - ${this.channel.readyState}`,"ERR_INVALID_STATE");this.channel.readyState!=="open"&&(this.log('channel state is "%s" and not "open", waiting for "open" event before sending data',this.channel.readyState),await ic(this.channel,"open",{timeout:this.openTimeout}),this.log('channel state is now "%s", sending data',this.channel.readyState)),this.channel.send(t.subarray())}async sendData(t){for(t=t.sublist();t.byteLength>0;){let r=Math.min(t.byteLength,this.maxMessageSize),n=t.subarray(0,r),i=se.encode({message:n}),o=Er.single(i);await this._sendMessage(o),t.consume(r)}}async sendReset(){await this._sendFlag(se.Flag.RESET)}async sendCloseWrite(t){if(await this._sendFlag(se.Flag.FIN)){this.log.trace("awaiting FIN_ACK");try{await vr(this.receiveFinAck.promise,t?.signal,{errorMessage:"sending close-write was aborted before FIN_ACK was received",errorCode:"ERR_FIN_ACK_NOT_RECEIVED"})}catch(n){this.log.error("failed to await FIN_ACK",n)}}else this.log.trace("sending FIN failed, not awaiting FIN_ACK");this.receiveFinAck.resolve()}async sendCloseRead(){await this._sendFlag(se.Flag.STOP_SENDING)}processIncomingProtobuf(t){let r=se.decode(t);if(r.flag!==void 0&&(this.log.trace('incoming flag %s, write status "%s", read status "%s"',r.flag,this.writeStatus,this.readStatus),r.flag===se.Flag.FIN&&(this.remoteCloseWrite(),this.log.trace("sending FIN_ACK"),this._sendFlag(se.Flag.FIN_ACK).catch(n=>{this.log.error("error sending FIN_ACK immediately",n)})),r.flag===se.Flag.RESET&&this.reset(),r.flag===se.Flag.STOP_SENDING&&this.remoteCloseRead(),r.flag===se.Flag.FIN_ACK&&(this.log.trace("received FIN_ACK"),this.receiveFinAck.resolve())),this.readStatus==="ready")return r.message}async _sendFlag(t){if(this.channel.readyState!=="open")return this.log.trace('not sending flag %s because channel is "%s" and not "open"',this.channel.readyState,t.toString()),!1;this.log.trace("sending flag %s",t.toString());let r=se.encode({flag:t}),n=Er.single(r);try{return await this._sendMessage(n,!1),!0}catch(i){this.log.error("could not send flag %s",t.toString(),i)}return!1}};function Rn(e){let{channel:t,direction:r}=e;return new gc({id:r==="inbound"?`i${t.id}`:`r${t.id}`,log:e.logger.forComponent(`libp2p:webrtc:stream:${r}:${t.id}`),...e})}var dl="/webrtc",Xr=class{protocol;peerConnection;bufferedStreams=[];metrics;dataChannelOptions;components;log;constructor(t,r){this.components=t,this.peerConnection=r.peerConnection,this.metrics=r.metrics,this.protocol=r.protocol??dl,this.dataChannelOptions=r.dataChannelOptions??{},this.log=t.logger.forComponent("libp2p:webrtc:datachannelmuxerfactory"),this.peerConnection.ondatachannel=({channel:n})=>{if(this.log.trace('incoming early datachannel with channel id %d and label "%s"',n.id),n.label==="init"){this.log.trace("closing early init channel"),n.close();return}let i={},o=Rn({channel:n,direction:"inbound",onEnd:s=>{i.onEnd(s)},logger:t.logger,...this.dataChannelOptions});i.stream=o,i.channel=n,i.onEnd=()=>{this.bufferedStreams=this.bufferedStreams.filter(s=>s.stream.id!==o.id)},this.bufferedStreams.push(i)}}createStreamMuxer(t){return new xc(this.components,{...t,peerConnection:this.peerConnection,dataChannelOptions:this.dataChannelOptions,metrics:this.metrics,streams:this.bufferedStreams,protocol:this.protocol})}},xc=class{init;streams;protocol;log;peerConnection;dataChannelOptions;metrics;logger;constructor(t,r){this.init=r,this.log=t.logger.forComponent("libp2p:webrtc:muxer"),this.logger=t.logger,this.streams=r.streams.map(n=>n.stream),this.peerConnection=r.peerConnection,this.protocol=r.protocol??dl,this.metrics=r.metrics,this.dataChannelOptions=r.dataChannelOptions??{},this.peerConnection.ondatachannel=({channel:n})=>{if(this.log.trace("incoming datachannel with channel id %d",n.id),n.label==="init"){this.log.trace("closing init channel"),n.close();return}let i=Rn({channel:n,direction:"inbound",onEnd:()=>{this.log("incoming channel %s ended with state %s",n.id,n.readyState),this.#t(i,n)},logger:this.logger,...this.dataChannelOptions});this.streams.push(i),this.metrics?.increment({incoming_stream:!0}),r?.onIncomingStream?.(i)},this.init.streams.length>0&&queueMicrotask(()=>{this.init.streams.forEach(n=>{n.onEnd=()=>{this.log("incoming early channel %s ended with state %s",n.channel.id,n.channel.readyState),this.#t(n.stream,n.channel)},this.metrics?.increment({incoming_stream:!0}),this.init?.onIncomingStream?.(n.stream)})})}#t(t,r){this.log.trace("stream %s %s %s onEnd",t.direction,t.id,t.protocol),Hf(r,`${t.direction} ${t.id} ${t.protocol}`,this.dataChannelOptions.drainTimeout,{log:this.log}),this.streams=this.streams.filter(n=>n.id!==t.id),this.metrics?.increment({stream_end:!0}),this.init?.onStreamEnd?.(t)}async close(t){try{await Promise.all(this.streams.map(async r=>r.close(t)))}catch(r){this.abort(r)}}abort(t){for(let r of this.streams)r.abort(t)}source=Eo();sink=So;newStream(){let t=this.peerConnection.createDataChannel("");this.log.trace("opened outgoing datachannel with channel id %s",t.id);let r=Rn({channel:t,direction:"outbound",onEnd:()=>{this.log("outgoing channel %s ended with state %s",t.id,t.readyState),this.#t(r,t)},logger:this.logger,...this.dataChannelOptions});return this.streams.push(r),this.metrics?.increment({outgoing_stream:!0}),r}};var Ln=globalThis.RTCPeerConnection,Ro=globalThis.RTCSessionDescription,pl=globalThis.RTCIceCandidate;var bc=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=Ut(),this.haveNext=Ut()}[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=Ut(),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=Ut(),await vr(this.needNext.promise,r?.signal,r)}};function yl(){return new bc}var Lo=class extends Error{code;constructor(t,r){super(t),this.code=r}},wc=class extends Lo{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function ml(e,t){let r=yl();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 At;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((f,l)=>{c=()=>{l(new wc("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:l,value:d}=await Promise.race([n.next(),u]);return l===!0?new At:d}for(;i.byteLength<s;){let{value:l,done:d}=await Promise.race([n.next(),u]);if(d===!0)throw new Lo("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}}}var No=class extends Error{code;constructor(t,r){super(t),this.code=r}},gl=e=>ve(e);gl.bytes=0;function Si(e,t={}){let r=ml(e,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=te(t.maxDataLength)),{read:async i=>{let o=-1,s=new At,a=t?.lengthDecoder??gl;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 No("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(t?.maxDataLength!=null&&o>t.maxDataLength)throw new No("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(Er.single(i,t),o)},writeV:async(i,o)=>{let s=new At(...i.map(a=>Er.single(a,t)));await r.write(s,o)},unwrap:()=>r.unwrap()}}function Po(e,t){let r=Si(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 ae;(function(e){let t;(function(i){i.SDP_OFFER="SDP_OFFER",i.SDP_ANSWER="SDP_ANSWER",i.ICE_CANDIDATE="ICE_CANDIDATE"})(t=e.Type||(e.Type={}));let r;(function(i){i[i.SDP_OFFER=0]="SDP_OFFER",i[i.SDP_ANSWER=1]="SDP_ANSWER",i[i.ICE_CANDIDATE=2]="ICE_CANDIDATE"})(r||(r={})),function(i){i.codec=()=>Yr(r)}(t=e.Type||(e.Type={}));let n;e.codec=()=>(n==null&&(n=De((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.type!=null&&(o.uint32(8),e.Type.codec().encode(i.type,o)),i.data!=null&&(o.uint32(18),o.string(i.data)),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.data=i.string();break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>Ae(i,e.codec()),e.decode=i=>Se(i,e.codec())})(ae||(ae={}));var Uo=async(e,t,r)=>{try{let n=Ut();for(jm(e,n);;){let i=await Promise.race([n.promise,t.read({signal:r.signal})]);if(i==null)break;if(i.type!==ae.Type.ICE_CANDIDATE)throw new W("ICE candidate message expected","ERR_NOT_ICE_CANDIDATE");let o=JSON.parse(i.data??"null");if(o===""||o===null){r.log.trace("end-of-candidates received");continue}let s=new pl(o);r.log.trace("%s received new ICE candidate",r.direction,s);try{await e.addIceCandidate(s)}catch(a){r.log.error("%s bad candidate received",r.direction,o,a)}}}catch(n){if(r.log.error("%s error parsing ICE candidate",r.direction,n),r.signal?.aborted===!0)throw n}};function Qm(e){return gi?e.iceConnectionState:e.connectionState}function jm(e,t){e[gi?"oniceconnectionstatechange":"onconnectionstatechange"]=r=>{switch(Qm(e)){case"connected":t.resolve();break;case"failed":case"disconnected":case"closed":t.reject(new W("RTCPeerConnection was closed","ERR_CONNECTION_CLOSED_BEFORE_CONNECTED"));break;default:break}}}async function xl({peerConnection:e,signal:t,metrics:r,multiaddr:n,connectionManager:i,transportManager:o,log:s}){let{baseAddr:a}=bl(n);r?.dialerEvents.increment({open:!0}),s.trace("dialing base address: %a",a);let c=a.getPeerId();if(c==null)throw new W("Relay peer was missing","ERR_INVALID_ADDRESS");let u=i.getConnections(Fr(c)),f,l=!1;u.length===0?(f=await o.dial(a,{signal:t}),l=!0):f=u[0];try{let d=await f.newStream(Oo,{signal:t,runOnTransientConnection:!0}),y=Po(d).pb(ae);try{let h=e.createDataChannel("init");e.onicecandidate=({candidate:b})=>{let x=JSON.stringify(b?.toJSON()??null);s.trace("initiator sending ICE candidate %s",x),y.write({type:ae.Type.ICE_CANDIDATE,data:x},{signal:t}).catch(D=>{s.error("error sending ICE candidate",D)})},e.onicecandidateerror=b=>{s.error("initiator ICE candidate error",b)};let p=await e.createOffer().catch(b=>{throw s.error("could not execute createOffer",b),new W("Failed to set createOffer","ERR_SDP_HANDSHAKE_FAILED")});s.trace("initiator send SDP offer %s",p.sdp),await y.write({type:ae.Type.SDP_OFFER,data:p.sdp},{signal:t}),await e.setLocalDescription(p).catch(b=>{throw s.error("could not execute setLocalDescription",b),new W("Failed to set localDescription","ERR_SDP_HANDSHAKE_FAILED")});let m=await y.read({signal:t});if(m.type!==ae.Type.SDP_ANSWER)throw new W("Remote should send an SDP answer","ERR_SDP_HANDSHAKE_FAILED");s.trace("initiator receive SDP answer %s",m.data);let g=new Ro({type:"answer",sdp:m.data});return await e.setRemoteDescription(g).catch(b=>{throw s.error("could not execute setRemoteDescription",b),new W("Failed to set remoteDescription","ERR_SDP_HANDSHAKE_FAILED")}),s.trace("initiator read candidates until connected"),await Uo(e,y,{direction:"initiator",signal:t,log:s}),s.trace("initiator connected, closing init channel"),h.close(),s.trace("initiator closing signalling stream"),await y.unwrap().unwrap().close({signal:t}),s.trace("initiator connected to remote address %s",n),{remoteAddress:n}}catch(h){throw e.close(),d.abort(h),h}finally{e.onicecandidate=null,e.onicecandidateerror=null}}finally{if(l)try{await f.close({signal:t})}catch(d){f.abort(d)}}}var Jm=q("dns4"),tg=q("dns6"),eg=q("dnsaddr"),Zr=Nt(q("dns"),eg,Jm,tg),Fo=Nt(q("ip4"),q("ip6")),Nn=Nt(X(Fo,q("tcp")),X(Zr,q("tcp"))),Vo=X(Fo,q("udp")),rg=X(Vo,q("utp")),ng=X(Vo,q("quic")),ig=X(Vo,q("quic-v1")),vc=Nt(X(Nn,q("ws")),X(Zr,q("ws"))),Ko=Nt(X(vc,q("p2p")),vc),Ec=Nt(X(Nn,q("wss")),X(Zr,q("wss")),X(Nn,q("tls"),q("ws")),X(Zr,q("tls"),q("ws"))),Mo=Nt(X(Ec,q("p2p")),Ec),Sc=Nt(X(Nn,q("http")),X(Fo,q("http")),X(Zr,q("http"))),Ac=Nt(X(Nn,q("https")),X(Fo,q("https")),X(Zr,q("https"))),wl=X(Vo,q("webrtc-direct"),q("certhash")),Sl=Nt(X(wl,q("p2p")),wl),vl=X(ig,q("webtransport"),q("certhash"),q("certhash")),Al=Nt(X(vl,q("p2p")),vl),Dl=Nt(X(Ko,q("p2p-webrtc-star"),q("p2p")),X(Mo,q("p2p-webrtc-star"),q("p2p")),X(Ko,q("p2p-webrtc-star")),X(Mo,q("p2p-webrtc-star"))),xD=Nt(X(Ko,q("p2p-websocket-star"),q("p2p")),X(Mo,q("p2p-websocket-star"),q("p2p")),X(Ko,q("p2p-websocket-star")),X(Mo,q("p2p-websocket-star"))),Cl=Nt(X(Sc,q("p2p-webrtc-direct"),q("p2p")),X(Ac,q("p2p-webrtc-direct"),q("p2p")),X(Sc,q("p2p-webrtc-direct")),X(Ac,q("p2p-webrtc-direct"))),Qr=Nt(vc,Ec,Sc,Ac,Dl,Cl,Nn,rg,ng,Zr,Sl,Al),bD=Nt(X(Qr,q("p2p-stardust"),q("p2p")),X(Qr,q("p2p-stardust"))),Ar=Nt(X(Qr,q("p2p")),Dl,Cl,Sl,Al,q("p2p")),El=Nt(X(Ar,q("p2p-circuit"),Ar),X(Ar,q("p2p-circuit")),X(q("p2p-circuit"),Ar),X(Qr,q("p2p-circuit")),X(q("p2p-circuit"),Qr),q("p2p-circuit")),Bl=()=>Nt(X(El,Bl),El),Je=Bl(),wD=Nt(X(Je,Ar,Je),X(Ar,Je),X(Je,Ar),Je,Ar);var vD=Nt(X(Je,q("webrtc"),q("p2p")),X(Je,q("webrtc")),X(Qr,q("webrtc"),q("p2p")),X(Qr,q("webrtc")),q("webrtc"));function Tl(e){function t(r){let n;try{n=Qe(r)}catch{return!1}let i=e(n.protoNames());return i===null?!1:i===!0||i===!1?i:i.length===0}return t}function X(...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:Tl(t),partialMatch:t}}function Nt(...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:Tl(t),partialMatch:t}}function q(e){let t=e;function r(i){let o;try{o=Qe(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 Ho=class extends io{peerId;transportManager;shutdownController;constructor(t,r){super(),this.peerId=t.peerId,this.transportManager=t.transportManager,this.shutdownController=r.shutdownController}async listen(){this.safeDispatchEvent("listening",{})}getAddrs(){return this.transportManager.getListeners().filter(t=>t!==this).map(t=>t.getAddrs().filter(r=>Je.matches(r)).map(r=>r.encapsulate(`/webrtc/p2p/${this.peerId}`))).flat()}async close(){this.shutdownController.abort(),this.safeDispatchEvent("close",{})}};async function Il({peerConnection:e,stream:t,signal:r,connection:n,log:i}){i.trace("new inbound signaling stream");let o=Po(t).pb(ae);try{e.onicecandidate=({candidate:f})=>{let l=JSON.stringify(f?.toJSON()??null);i.trace("recipient sending ICE candidate %s",l),o.write({type:ae.Type.ICE_CANDIDATE,data:l},{signal:r}).catch(d=>{i.error("error sending ICE candidate",d)})};let a=await o.read({signal:r});if(a.type!==ae.Type.SDP_OFFER)throw new W(`expected message type SDP_OFFER, received: ${a.type??"undefined"} `,"ERR_SDP_HANDSHAKE_FAILED");i.trace("recipient receive SDP offer %s",a.data);let c=new Ro({type:"offer",sdp:a.data});await e.setRemoteDescription(c).catch(f=>{throw i.error("could not execute setRemoteDescription",f),new W("Failed to set remoteDescription","ERR_SDP_HANDSHAKE_FAILED")});let u=await e.createAnswer().catch(f=>{throw i.error("could not execute createAnswer",f),new W("Failed to create answer","ERR_SDP_HANDSHAKE_FAILED")});i.trace("recipient send SDP answer %s",u.sdp),await o.write({type:ae.Type.SDP_ANSWER,data:u.sdp},{signal:r}),await e.setLocalDescription(u).catch(f=>{throw i.error("could not execute setLocalDescription",f),new W("Failed to set localDescription","ERR_SDP_HANDSHAKE_FAILED")}),i.trace("recipient read candidates until connected"),await Uo(e,o,{direction:"recipient",signal:r,log:i})}catch(a){if(e.connectionState!=="connected")throw i.error("error while handling signaling stream from peer %a",n.remoteAddr,a),e.close(),a;i("error while handling signaling stream from peer %a, ignoring as the RTCPeerConnection is already connected",n.remoteAddr,a)}let s=Qe(`/webrtc/p2p/${n.remoteAddr.getPeerId()}`);return i.trace("recipient connected to remote address %s",s),{remoteAddress:s}}var og="/webrtc",sg="/p2p-circuit",Oo="/webrtc-signaling/0.0.1",ag=30*1e3,qo=class{components;init;log;_started=!1;metrics;shutdownController;constructor(t,r={}){this.components=t,this.init=r,this.log=t.logger.forComponent("libp2p:webrtc"),this.shutdownController=new AbortController,Lu(1/0,this.shutdownController.signal),t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_webrtc_dialer_events_total",{label:"event",help:"Total count of WebRTC dialer events by type"}),listenerEvents:t.metrics.registerCounterGroup("libp2p_webrtc_listener_events_total",{label:"event",help:"Total count of WebRTC listener events by type"})})}isStarted(){return this._started}async start(){await this.components.registrar.handle(Oo,t=>{this._onProtocol(t).catch(r=>{this.log.error("failed to handle incoming connect from %p",t.connection.remotePeer,r)})},{runOnTransientConnection:!0}),this._started=!0}async stop(){await this.components.registrar.unhandle(Oo),this._started=!1}createListener(t){return new Ho(this.components,{shutdownController:this.shutdownController})}[Symbol.toStringTag]="@libp2p/webrtc";[no]=!0;filter(t){return t.filter(kf.exactMatch)}async dial(t,r){this.log.trace("dialing address: %a",t);let n=new Ln(this.init.rtcConfiguration),i=new Xr(this.components,{peerConnection:n,dataChannelOptions:this.init.dataChannel}),{remoteAddress:o}=await xl({peerConnection:n,multiaddr:t,dataChannelOptions:this.init.dataChannel,signal:r.signal,connectionManager:this.components.connectionManager,transportManager:this.components.transportManager,log:this.log}),s=new Hr(this.components,{peerConnection:n,timeline:{open:Date.now()},remoteAddr:o,metrics:this.metrics?.dialerEvents}),a=await r.upgrader.upgradeOutbound(s,{skipProtection:!0,skipEncryption:!0,muxerFactory:i});return this._closeOnShutdown(n,s),a}async _onProtocol({connection:t,stream:r}){let n=AbortSignal.timeout(this.init.inboundConnectionTimeout??ag),i=new Ln(this.init.rtcConfiguration),o=new Xr(this.components,{peerConnection:i,dataChannelOptions:this.init.dataChannel});try{let{remoteAddress:s}=await Il({peerConnection:i,connection:t,stream:r,signal:n,log:this.log}),a=new Hr(this.components,{peerConnection:i,timeline:{open:new Date().getTime()},remoteAddr:s,metrics:this.metrics?.listenerEvents});this._closeOnShutdown(i,a),await this.components.upgrader.upgradeInbound(a,{skipEncryption:!0,skipProtection:!0,muxerFactory:o}),await r.close({signal:n})}catch(s){throw r.abort(s),s}}_closeOnShutdown(t,r){let n=()=>{r.close().catch(i=>{this.log.error("could not close WebRTCMultiaddrConnection",i)})};this.shutdownController.signal.addEventListener("abort",n),t.addEventListener("close",()=>{this.shutdownController.signal.removeEventListener("abort",n)})}};function bl(e){let t=e.toString().split(og+"/");if(t.length!==2)throw new W("webrtc protocol was not present in multiaddr",fe.ERR_INVALID_MULTIADDR);if(!t[0].includes(sg))throw new W("p2p-circuit protocol was not present in multiaddr",fe.ERR_INVALID_MULTIADDR);let r=Qe(t[0]),i=Qe("/"+t[1]).getPeerId();if(i==null)throw new W("destination peer id was missing",fe.ERR_INVALID_MULTIADDR);let o=r.protos().pop();if(o===void 0)throw new W("invalid multiaddr",fe.ERR_INVALID_MULTIADDR);return o.name!=="p2p"&&(r=r.encapsulate(`/p2p/${i}`)),{baseAddr:r,peerId:Fr(i)}}function Dc(){let e=Ut(),t=!1;return{sink:async r=>{if(t)throw new Error("already piped");t=!0,e.resolve(r)},source:async function*(){yield*await e.promise}()}}function _l(){let e=Dc(),t=Dc();return[{source:e.source,sink:t.sink},{source:t.source,sink:e.sink}]}function cg(e){return e[Symbol.asyncIterator]!=null}function ug(...e){let t=[];for(let r of e)cg(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=wr({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var kl=ug;function Rl(e,...t){if(e==null)throw new Error("Empty pipeline");if(Cc(e)){let n=e;e=()=>n.source}else if(Nl(e)||Ll(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&Cc(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)Cc(r[n])&&(r[n]=lg(r[n]));return fg(...r)}var fg=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},Ll=e=>e?.[Symbol.asyncIterator]!=null,Nl=e=>e?.[Symbol.iterator]!=null,Cc=e=>e==null?!1:e.sink!=null&&e.source!=null,lg=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=wr({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=e.source;if(Ll(o))i=async function*(){yield*o,n.end()};else if(Nl(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return kl(n,i())}return e.source};function tr(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function pt(e=0){return globalThis.Buffer?.alloc!=null?tr(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function jr(e=0){return globalThis.Buffer?.allocUnsafe!=null?tr(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var Pn=!!globalThis.process?.env?.DUMP_SESSION_KEYS;var er=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4));function Pl(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}var Ul=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),hg=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!hg)throw new Error("Non little-endian hardware is not supported");function zo(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Go(e){if(typeof e=="string")e=zo(e);else if(Pl(e))e=e.slice();else throw new Error(`expected Uint8Array, got ${typeof e}`);return e}var dg=e=>Object.prototype.toString.call(e)==="[object Object]"&&e.constructor===Object;function Ol(e,t){if(t!==void 0&&(typeof t!="object"||!dg(t)))throw new Error("options must be object or undefined");return Object.assign(e,t)}function Jr(e,t){if(!Pl(e))throw new Error("Uint8Array expected");if(typeof t=="number"&&e.length!==t)throw new Error(`Uint8Array length ${t} expected`)}function Kl(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}var Bc=(e,t)=>(Object.assign(t,e),t);function Tc(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)}function Wo(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`wrong positive integer: ${e}`)}function Ic(e){if(typeof e!="boolean")throw new Error(`boolean expected, not ${e}`)}function pg(e){return e!=null&&typeof e=="object"&&(e instanceof Uint8Array||e.constructor.name==="Uint8Array")}function Un(e,...t){if(!pg(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function _c(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 Ml(e,t){Un(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var $t=(e,t)=>e[t++]&255|(e[t++]&255)<<8,kc=class{constructor(t){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,t=Go(t),Jr(t,32);let r=$t(t,0),n=$t(t,2),i=$t(t,4),o=$t(t,6),s=$t(t,8),a=$t(t,10),c=$t(t,12),u=$t(t,14);this.r[0]=r&8191,this.r[1]=(r>>>13|n<<3)&8191,this.r[2]=(n>>>10|i<<6)&7939,this.r[3]=(i>>>7|o<<9)&8191,this.r[4]=(o>>>4|s<<12)&255,this.r[5]=s>>>1&8190,this.r[6]=(s>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|u<<8)&8191,this.r[9]=u>>>5&127;for(let f=0;f<8;f++)this.pad[f]=$t(t,16+2*f)}process(t,r,n=!1){let i=n?0:2048,{h:o,r:s}=this,a=s[0],c=s[1],u=s[2],f=s[3],l=s[4],d=s[5],y=s[6],h=s[7],p=s[8],m=s[9],g=$t(t,r+0),b=$t(t,r+2),x=$t(t,r+4),D=$t(t,r+6),v=$t(t,r+8),E=$t(t,r+10),C=$t(t,r+12),B=$t(t,r+14),O=o[0]+(g&8191),K=o[1]+((g>>>13|b<<3)&8191),U=o[2]+((b>>>10|x<<6)&8191),F=o[3]+((x>>>7|D<<9)&8191),G=o[4]+((D>>>4|v<<12)&8191),Q=o[5]+(v>>>1&8191),T=o[6]+((v>>>14|E<<2)&8191),R=o[7]+((E>>>11|C<<5)&8191),_=o[8]+((C>>>8|B<<8)&8191),k=o[9]+(B>>>5|i),S=0,P=S+O*a+K*(5*m)+U*(5*p)+F*(5*h)+G*(5*y);S=P>>>13,P&=8191,P+=Q*(5*d)+T*(5*l)+R*(5*f)+_*(5*u)+k*(5*c),S+=P>>>13,P&=8191;let M=S+O*c+K*a+U*(5*m)+F*(5*p)+G*(5*h);S=M>>>13,M&=8191,M+=Q*(5*y)+T*(5*d)+R*(5*l)+_*(5*f)+k*(5*u),S+=M>>>13,M&=8191;let H=S+O*u+K*c+U*a+F*(5*m)+G*(5*p);S=H>>>13,H&=8191,H+=Q*(5*h)+T*(5*y)+R*(5*d)+_*(5*l)+k*(5*f),S+=H>>>13,H&=8191;let Z=S+O*f+K*u+U*c+F*a+G*(5*m);S=Z>>>13,Z&=8191,Z+=Q*(5*p)+T*(5*h)+R*(5*y)+_*(5*d)+k*(5*l),S+=Z>>>13,Z&=8191;let j=S+O*l+K*f+U*u+F*c+G*a;S=j>>>13,j&=8191,j+=Q*(5*m)+T*(5*p)+R*(5*h)+_*(5*y)+k*(5*d),S+=j>>>13,j&=8191;let it=S+O*d+K*l+U*f+F*u+G*c;S=it>>>13,it&=8191,it+=Q*a+T*(5*m)+R*(5*p)+_*(5*h)+k*(5*y),S+=it>>>13,it&=8191;let J=S+O*y+K*d+U*l+F*f+G*u;S=J>>>13,J&=8191,J+=Q*c+T*a+R*(5*m)+_*(5*p)+k*(5*h),S+=J>>>13,J&=8191;let et=S+O*h+K*y+U*d+F*l+G*f;S=et>>>13,et&=8191,et+=Q*u+T*c+R*a+_*(5*m)+k*(5*p),S+=et>>>13,et&=8191;let xt=S+O*p+K*h+U*y+F*d+G*l;S=xt>>>13,xt&=8191,xt+=Q*f+T*u+R*c+_*a+k*(5*m),S+=xt>>>13,xt&=8191;let mt=S+O*m+K*p+U*h+F*y+G*d;S=mt>>>13,mt&=8191,mt+=Q*l+T*f+R*u+_*c+k*a,S+=mt>>>13,mt&=8191,S=(S<<2)+S|0,S=S+P|0,P=S&8191,S=S>>>13,M+=S,o[0]=P,o[1]=M,o[2]=H,o[3]=Z,o[4]=j,o[5]=it,o[6]=J,o[7]=et,o[8]=xt,o[9]=mt}finalize(){let{h:t,pad:r}=this,n=new Uint16Array(10),i=t[1]>>>13;t[1]&=8191;for(let a=2;a<10;a++)t[a]+=i,i=t[a]>>>13,t[a]&=8191;t[0]+=i*5,i=t[0]>>>13,t[0]&=8191,t[1]+=i,i=t[1]>>>13,t[1]&=8191,t[2]+=i,n[0]=t[0]+5,i=n[0]>>>13,n[0]&=8191;for(let a=1;a<10;a++)n[a]=t[a]+i,i=n[a]>>>13,n[a]&=8191;n[9]-=8192;let o=(i^1)-1;for(let a=0;a<10;a++)n[a]&=o;o=~o;for(let a=0;a<10;a++)t[a]=t[a]&o|n[a];t[0]=(t[0]|t[1]<<13)&65535,t[1]=(t[1]>>>3|t[2]<<10)&65535,t[2]=(t[2]>>>6|t[3]<<7)&65535,t[3]=(t[3]>>>9|t[4]<<4)&65535,t[4]=(t[4]>>>12|t[5]<<1|t[6]<<14)&65535,t[5]=(t[6]>>>2|t[7]<<11)&65535,t[6]=(t[7]>>>5|t[8]<<8)&65535,t[7]=(t[8]>>>8|t[9]<<5)&65535;let s=t[0]+r[0];t[0]=s&65535;for(let a=1;a<8;a++)s=(t[a]+r[a]|0)+(s>>>16)|0,t[a]=s&65535}update(t){_c(this);let{buffer:r,blockLen:n}=this;t=Go(t);let i=t.length;for(let o=0;o<i;){let s=Math.min(n-this.pos,i-o);if(s===n){for(;n<=i-o;o+=n)this.process(t,o);continue}r.set(t.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===n&&(this.process(r,0,!1),this.pos=0)}return this}destroy(){this.h.fill(0),this.r.fill(0),this.buffer.fill(0),this.pad.fill(0)}digestInto(t){_c(this),Ml(t,this),this.finished=!0;let{buffer:r,h:n}=this,{pos:i}=this;if(i){for(r[i++]=1;i<16;i++)r[i]=0;this.process(r,0,!0)}this.finalize();let o=0;for(let s=0;s<8;s++)t[o++]=n[s]>>>0,t[o++]=n[s]>>>8;return t}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}};function yg(e){let t=(n,i)=>e(i).update(Go(n)).digest(),r=e(new Uint8Array(32));return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}var Fl=yg(e=>new kc(e));var mg=zo("expand 16-byte k"),gg=zo("expand 32-byte k"),xg=er(mg),bg=er(gg);function $(e,t){return e<<t|e>>>32-t}function Rc(e){return e.byteOffset%4===0}var $o=64,wg=16,Hl=2**32-1,Vl=new Uint32Array;function vg(e,t,r,n,i,o,s,a){let c=i.length,u=new Uint8Array($o),f=er(u),l=Rc(i)&&Rc(o),d=l?er(i):Vl,y=l?er(o):Vl;for(let h=0;h<c;s++){if(e(t,r,n,f,s,a),s>=Hl)throw new Error("arx: counter overflow");let p=Math.min($o,c-h);if(l&&p===$o){let m=h/4;if(h%4!==0)throw new Error("arx: invalid block position");for(let g=0,b;g<wg;g++)b=m+g,y[b]=d[b]^f[g];h+=$o;continue}for(let m=0,g;m<p;m++)g=h+m,o[g]=i[g]^u[m];h+=p}}function Lc(e,t){let{allowShortKeys:r,extendNonceFn:n,counterLength:i,counterRight:o,rounds:s}=Ol({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!="function")throw new Error("core must be a function");return Wo(i),Wo(s),Ic(o),Ic(r),(a,c,u,f,l=0)=>{Un(a),Un(c),Un(u);let d=u.length;if(f||(f=new Uint8Array(d)),Un(f),Wo(l),l<0||l>=Hl)throw new Error("arx: counter overflow");if(f.length<d)throw new Error(`arx: output (${f.length}) is shorter than data (${d})`);let y=[],h=a.length,p,m;if(h===32)p=a.slice(),y.push(p),m=bg;else if(h===16&&r)p=new Uint8Array(32),p.set(a),p.set(a,16),m=xg,y.push(p);else throw new Error(`arx: invalid 32-byte key, got length=${h}`);Rc(c)||(c=c.slice(),y.push(c));let g=er(p);if(n){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");n(m,g,er(c.subarray(0,16)),g),c=c.subarray(16)}let b=16-i;if(b!==c.length)throw new Error(`arx: nonce must be ${b} or 16 bytes`);if(b!==12){let D=new Uint8Array(12);D.set(c,o?0:12-c.length),c=D,y.push(c)}let x=er(c);for(vg(e,m,g,x,u,f,l,s);y.length>0;)y.pop().fill(0);return f}}function Gl(e,t,r,n,i,o=20){let s=e[0],a=e[1],c=e[2],u=e[3],f=t[0],l=t[1],d=t[2],y=t[3],h=t[4],p=t[5],m=t[6],g=t[7],b=i,x=r[0],D=r[1],v=r[2],E=s,C=a,B=c,O=u,K=f,U=l,F=d,G=y,Q=h,T=p,R=m,_=g,k=b,S=x,P=D,M=v;for(let Z=0;Z<o;Z+=2)E=E+K|0,k=$(k^E,16),Q=Q+k|0,K=$(K^Q,12),E=E+K|0,k=$(k^E,8),Q=Q+k|0,K=$(K^Q,7),C=C+U|0,S=$(S^C,16),T=T+S|0,U=$(U^T,12),C=C+U|0,S=$(S^C,8),T=T+S|0,U=$(U^T,7),B=B+F|0,P=$(P^B,16),R=R+P|0,F=$(F^R,12),B=B+F|0,P=$(P^B,8),R=R+P|0,F=$(F^R,7),O=O+G|0,M=$(M^O,16),_=_+M|0,G=$(G^_,12),O=O+G|0,M=$(M^O,8),_=_+M|0,G=$(G^_,7),E=E+U|0,M=$(M^E,16),R=R+M|0,U=$(U^R,12),E=E+U|0,M=$(M^E,8),R=R+M|0,U=$(U^R,7),C=C+F|0,k=$(k^C,16),_=_+k|0,F=$(F^_,12),C=C+F|0,k=$(k^C,8),_=_+k|0,F=$(F^_,7),B=B+G|0,S=$(S^B,16),Q=Q+S|0,G=$(G^Q,12),B=B+G|0,S=$(S^B,8),Q=Q+S|0,G=$(G^Q,7),O=O+K|0,P=$(P^O,16),T=T+P|0,K=$(K^T,12),O=O+K|0,P=$(P^O,8),T=T+P|0,K=$(K^T,7);let H=0;n[H++]=s+E|0,n[H++]=a+C|0,n[H++]=c+B|0,n[H++]=u+O|0,n[H++]=f+K|0,n[H++]=l+U|0,n[H++]=d+F|0,n[H++]=y+G|0,n[H++]=h+Q|0,n[H++]=p+T|0,n[H++]=m+R|0,n[H++]=g+_|0,n[H++]=b+k|0,n[H++]=x+S|0,n[H++]=D+P|0,n[H++]=v+M|0}function Eg(e,t,r,n){let i=e[0],o=e[1],s=e[2],a=e[3],c=t[0],u=t[1],f=t[2],l=t[3],d=t[4],y=t[5],h=t[6],p=t[7],m=r[0],g=r[1],b=r[2],x=r[3];for(let v=0;v<20;v+=2)i=i+c|0,m=$(m^i,16),d=d+m|0,c=$(c^d,12),i=i+c|0,m=$(m^i,8),d=d+m|0,c=$(c^d,7),o=o+u|0,g=$(g^o,16),y=y+g|0,u=$(u^y,12),o=o+u|0,g=$(g^o,8),y=y+g|0,u=$(u^y,7),s=s+f|0,b=$(b^s,16),h=h+b|0,f=$(f^h,12),s=s+f|0,b=$(b^s,8),h=h+b|0,f=$(f^h,7),a=a+l|0,x=$(x^a,16),p=p+x|0,l=$(l^p,12),a=a+l|0,x=$(x^a,8),p=p+x|0,l=$(l^p,7),i=i+u|0,x=$(x^i,16),h=h+x|0,u=$(u^h,12),i=i+u|0,x=$(x^i,8),h=h+x|0,u=$(u^h,7),o=o+f|0,m=$(m^o,16),p=p+m|0,f=$(f^p,12),o=o+f|0,m=$(m^o,8),p=p+m|0,f=$(f^p,7),s=s+l|0,g=$(g^s,16),d=d+g|0,l=$(l^d,12),s=s+l|0,g=$(g^s,8),d=d+g|0,l=$(l^d,7),a=a+c|0,b=$(b^a,16),y=y+b|0,c=$(c^y,12),a=a+c|0,b=$(b^a,8),y=y+b|0,c=$(c^y,7);let D=0;n[D++]=i,n[D++]=o,n[D++]=s,n[D++]=a,n[D++]=m,n[D++]=g,n[D++]=b,n[D++]=x}var Sg=Lc(Gl,{counterRight:!1,counterLength:4,allowShortKeys:!1}),Ag=Lc(Gl,{counterRight:!1,counterLength:8,extendNonceFn:Eg,allowShortKeys:!1});var Dg=new Uint8Array(16),ql=(e,t)=>{e.update(t);let r=t.length%16;r&&e.update(Dg.subarray(r))},Cg=new Uint8Array(32);function zl(e,t,r,n,i){let o=e(t,r,Cg),s=Fl.create(o);i&&ql(s,i),ql(s,n);let a=new Uint8Array(16),c=Ul(a);Tc(c,0,BigInt(i?i.length:0),!0),Tc(c,8,BigInt(n.length),!0),s.update(a);let u=s.digest();return o.fill(0),u}var Wl=e=>(t,r,n)=>(Jr(t,32),Jr(r),{encrypt:(o,s)=>{let a=o.length,c=a+16;s?Jr(s,c):s=new Uint8Array(c),e(t,r,o,s,1);let u=zl(e,t,r,s.subarray(0,-16),n);return s.set(u,a),s},decrypt:(o,s)=>{let a=o.length,c=a-16;if(a<16)throw new Error("encrypted data must be at least 16 bytes");s?Jr(s,c):s=new Uint8Array(c);let u=o.subarray(0,-16),f=o.subarray(-16),l=zl(e,t,r,u,n);if(!Kl(f,l))throw new Error("invalid tag");return e(t,r,u,s,1),s}}),Nc=Bc({blockSize:64,nonceLength:12,tagLength:16},Wl(Sg)),gC=Bc({blockSize:64,nonceLength:24,tagLength:16},Wl(Ag));function Yo(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Bg(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function Pc(e,...t){if(!Bg(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 Ai(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Yo(e.outputLen),Yo(e.blockLen)}function On(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 $l(e,t){Pc(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Xo=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Yl(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}var Zo=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),Ce=(e,t)=>e<<32-t|e>>>t,Tg=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Tg)throw new Error("Non little-endian hardware is not supported");function Uc(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Dr(e){if(typeof e=="string"&&(e=Uc(e)),!Yl(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function Qo(...e){let t=0;for(let n=0;n<e.length;n++){let i=e[n];if(!Yl(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 Kn=class{clone(){return this._cloneInto()}},EC={}.toString;function jo(e){let t=n=>e().update(Dr(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function tn(e=32){if(Xo&&typeof Xo.getRandomValues=="function")return Xo.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function Ig(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 Kn{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=Zo(this.buffer)}update(t){On(this);let{view:r,buffer:n,blockLen:i}=this;t=Dr(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=Zo(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){On(this),$l(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;Ig(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=Zo(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 Jo=BigInt(4294967295),Oc=BigInt(32);function Xl(e,t=!1){return t?{h:Number(e&Jo),l:Number(e>>Oc&Jo)}:{h:Number(e>>Oc&Jo)|0,l:Number(e&Jo)|0}}function _g(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}=Xl(e[i],t);[r[i],n[i]]=[o,s]}return[r,n]}var kg=(e,t)=>BigInt(e>>>0)<<Oc|BigInt(t>>>0),Rg=(e,t,r)=>e>>>r,Lg=(e,t,r)=>e<<32-r|t>>>r,Ng=(e,t,r)=>e>>>r|t<<32-r,Pg=(e,t,r)=>e<<32-r|t>>>r,Ug=(e,t,r)=>e<<64-r|t>>>r-32,Og=(e,t,r)=>e>>>r-32|t<<64-r,Kg=(e,t)=>t,Mg=(e,t)=>e,Fg=(e,t,r)=>e<<r|t>>>32-r,Vg=(e,t,r)=>t<<r|e>>>32-r,Hg=(e,t,r)=>t<<r-32|e>>>64-r,qg=(e,t,r)=>e<<r-32|t>>>64-r;function zg(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var Gg=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Wg=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,$g=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Yg=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,Xg=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),Zg=(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0;var Qg={fromBig:Xl,split:_g,toBig:kg,shrSH:Rg,shrSL:Lg,rotrSH:Ng,rotrSL:Pg,rotrBH:Ug,rotrBL:Og,rotr32H:Kg,rotr32L:Mg,rotlSH:Fg,rotlSL:Vg,rotlBH:Hg,rotlBL:qg,add:zg,add3L:Gg,add3H:Wg,add4L:$g,add4H:Yg,add5H:Zg,add5L:Xg},rt=Qg;var[jg,Jg]=rt.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))),Cr=new Uint32Array(80),Br=new Uint32Array(80),Kc=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:d,Gh:y,Gl:h,Hh:p,Hl:m}=this;return[t,r,n,i,o,s,a,c,u,f,l,d,y,h,p,m]}set(t,r,n,i,o,s,a,c,u,f,l,d,y,h,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=d|0,this.Gh=y|0,this.Gl=h|0,this.Hh=p|0,this.Hl=m|0}process(t,r){for(let x=0;x<16;x++,r+=4)Cr[x]=t.getUint32(r),Br[x]=t.getUint32(r+=4);for(let x=16;x<80;x++){let D=Cr[x-15]|0,v=Br[x-15]|0,E=rt.rotrSH(D,v,1)^rt.rotrSH(D,v,8)^rt.shrSH(D,v,7),C=rt.rotrSL(D,v,1)^rt.rotrSL(D,v,8)^rt.shrSL(D,v,7),B=Cr[x-2]|0,O=Br[x-2]|0,K=rt.rotrSH(B,O,19)^rt.rotrBH(B,O,61)^rt.shrSH(B,O,6),U=rt.rotrSL(B,O,19)^rt.rotrBL(B,O,61)^rt.shrSL(B,O,6),F=rt.add4L(C,U,Br[x-7],Br[x-16]),G=rt.add4H(F,E,K,Cr[x-7],Cr[x-16]);Cr[x]=G|0,Br[x]=F|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:d,Fh:y,Fl:h,Gh:p,Gl:m,Hh:g,Hl:b}=this;for(let x=0;x<80;x++){let D=rt.rotrSH(l,d,14)^rt.rotrSH(l,d,18)^rt.rotrBH(l,d,41),v=rt.rotrSL(l,d,14)^rt.rotrSL(l,d,18)^rt.rotrBL(l,d,41),E=l&y^~l&p,C=d&h^~d&m,B=rt.add5L(b,v,C,Jg[x],Br[x]),O=rt.add5H(B,g,D,E,jg[x],Cr[x]),K=B|0,U=rt.rotrSH(n,i,28)^rt.rotrBH(n,i,34)^rt.rotrBH(n,i,39),F=rt.rotrSL(n,i,28)^rt.rotrBL(n,i,34)^rt.rotrBL(n,i,39),G=n&o^n&a^o&a,Q=i&s^i&c^s&c;g=p|0,b=m|0,p=y|0,m=h|0,y=l|0,h=d|0,{h:l,l:d}=rt.add(u|0,f|0,O|0,K|0),u=a|0,f=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let T=rt.add3L(K,F,Q);n=rt.add3H(T,O,U,G),i=T|0}({h:n,l:i}=rt.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=rt.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=rt.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=rt.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:d}=rt.add(this.Eh|0,this.El|0,l|0,d|0),{h:y,l:h}=rt.add(this.Fh|0,this.Fl|0,y|0,h|0),{h:p,l:m}=rt.add(this.Gh|0,this.Gl|0,p|0,m|0),{h:g,l:b}=rt.add(this.Hh|0,this.Hl|0,g|0,b|0),this.set(n,i,o,s,a,c,u,f,l,d,y,h,p,m,g,b)}roundClean(){Cr.fill(0),Br.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 Mc=jo(()=>new Kc);var es={};ct(es,{bitGet:()=>sx,bitLen:()=>ox,bitMask:()=>Di,bitSet:()=>ax,bytesToHex:()=>nr,bytesToNumberBE:()=>ir,bytesToNumberLE:()=>Te,concatBytes:()=>sr,createHmacDrbg:()=>Hc,ensureBytes:()=>wt,equalBytes:()=>nx,hexToBytes:()=>en,hexToNumber:()=>Vc,isBytes:()=>Be,numberToBytesBE:()=>Tr,numberToBytesLE:()=>or,numberToHexUnpadded:()=>Jl,numberToVarBytesBE:()=>rx,utf8ToBytes:()=>ix,validateObject:()=>pe});var jl=BigInt(0),ts=BigInt(1),tx=BigInt(2);function Be(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}var ex=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function nr(e){if(!Be(e))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=ex[e[r]];return t}function Jl(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Vc(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}var rr={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function Zl(e){if(e>=rr._0&&e<=rr._9)return e-rr._0;if(e>=rr._A&&e<=rr._F)return e-(rr._A-10);if(e>=rr._a&&e<=rr._f)return e-(rr._a-10)}function en(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=Zl(e.charCodeAt(o)),a=Zl(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 ir(e){return Vc(nr(e))}function Te(e){if(!Be(e))throw new Error("Uint8Array expected");return Vc(nr(Uint8Array.from(e).reverse()))}function Tr(e,t){return en(e.toString(16).padStart(t*2,"0"))}function or(e,t){return Tr(e,t).reverse()}function rx(e){return en(Jl(e))}function wt(e,t,r){let n;if(typeof t=="string")try{n=en(t)}catch(o){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${o}`)}else if(Be(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 sr(...e){let t=0;for(let i=0;i<e.length;i++){let o=e[i];if(!Be(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 nx(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 ix(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function ox(e){let t;for(t=0;e>jl;e>>=ts,t+=1);return t}function sx(e,t){return e>>BigInt(t)&ts}var ax=(e,t,r)=>e|(r?ts:jl)<<BigInt(t),Di=e=>(tx<<BigInt(e-1))-ts,Fc=e=>new Uint8Array(e),Ql=e=>Uint8Array.from(e);function Hc(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=Fc(e),i=Fc(e),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=Fc())=>{i=a(Ql([0]),l),n=a(),l.length!==0&&(i=a(Ql([1]),l),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,d=[];for(;l<t;){n=a();let y=n.slice();d.push(y),l+=n.length}return sr(...d)};return(l,d)=>{s(),c(l);let y;for(;!(y=d(u()));)c();return s(),y}}var cx={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"||Be(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 pe(e,t,r={}){let n=(i,o,s)=>{let a=cx[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 Ft=BigInt(0),Dt=BigInt(1),rn=BigInt(2),ux=BigInt(3),qc=BigInt(4),th=BigInt(5),eh=BigInt(8),fx=BigInt(9),lx=BigInt(16);function ft(e,t){let r=e%t;return r>=Ft?r:t+r}function zc(e,t,r){if(r<=Ft||t<Ft)throw new Error("Expected power/modulo > 0");if(r===Dt)return Ft;let n=Dt;for(;t>Ft;)t&Dt&&(n=n*e%r),e=e*e%r,t>>=Dt;return n}function vt(e,t,r){let n=e;for(;t-- >Ft;)n*=n,n%=r;return n}function rs(e,t){if(e===Ft||t<=Ft)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=ft(e,t),n=t,i=Ft,o=Dt,s=Dt,a=Ft;for(;r!==Ft;){let u=n/r,f=n%r,l=i-s*u,d=o-a*u;n=r,r=f,i=s,o=a,s=l,a=d}if(n!==Dt)throw new Error("invert: does not exist");return ft(i,t)}function hx(e){let t=(e-Dt)/rn,r,n,i;for(r=e-Dt,n=0;r%rn===Ft;r/=rn,n++);for(i=rn;i<e&&zc(i,t,e)!==e-Dt;i++);if(n===1){let s=(e+Dt)/qc;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+Dt)/rn;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),d=a.pow(c,r);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let y=1;for(let p=a.sqr(d);y<u&&!a.eql(p,a.ONE);y++)p=a.sqr(p);let h=a.pow(f,Dt<<BigInt(u-y-1));f=a.sqr(h),l=a.mul(l,h),d=a.mul(d,f),u=y}return l}}function dx(e){if(e%qc===ux){let t=(e+Dt)/qc;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%eh===th){let t=(e-th)/eh;return function(n,i){let o=n.mul(i,rn),s=n.pow(o,t),a=n.mul(i,s),c=n.mul(n.mul(a,rn),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%lx,hx(e)}var rh=(e,t)=>(ft(e,t)&Dt)===Dt,px=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Gc(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=px.reduce((n,i)=>(n[i]="function",n),t);return pe(e,r)}function yx(e,t,r){if(r<Ft)throw new Error("Expected power > 0");if(r===Ft)return e.ONE;if(r===Dt)return t;let n=e.ONE,i=t;for(;r>Ft;)r&Dt&&(n=e.mul(n,i)),i=e.sqr(i),r>>=Dt;return n}function mx(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 Wc(e,t){let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function ns(e,t,r=!1,n={}){if(e<=Ft)throw new Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:i,nByteLength:o}=Wc(e,t);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=dx(e),a=Object.freeze({ORDER:e,BITS:i,BYTES:o,MASK:Di(i),ZERO:Ft,ONE:Dt,create:c=>ft(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Ft<=c&&c<e},is0:c=>c===Ft,isOdd:c=>(c&Dt)===Dt,neg:c=>ft(-c,e),eql:(c,u)=>c===u,sqr:c=>ft(c*c,e),add:(c,u)=>ft(c+u,e),sub:(c,u)=>ft(c-u,e),mul:(c,u)=>ft(c*u,e),pow:(c,u)=>yx(a,c,u),div:(c,u)=>ft(c*rs(u,e),e),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>rs(c,e),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>mx(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>r?or(c,o):Tr(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?Te(c):ir(c)}});return Object.freeze(a)}function nh(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 ih(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 $c(e){let t=ih(e);return t+Math.ceil(t/2)}function oh(e,t,r=!1){let n=e.length,i=ih(t),o=$c(t);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?ir(e):Te(e),a=ft(s,t-Dt)+Dt;return r?or(a,i):Tr(a,i)}var xx=BigInt(0),Yc=BigInt(1);function is(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>xx;)o&Yc&&(s=s.add(a)),a=a.double(),o>>=Yc;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 d=1;d<a;d++)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),d=2**i,y=BigInt(i);for(let h=0;h<a;h++){let p=h*c,m=Number(s&l);s>>=y,m>c&&(m-=d,s+=Yc);let g=p,b=p+Math.abs(m)-1,x=h%2!==0,D=m<0;m===0?f=f.add(r(x,o[g])):u=u.add(r(D,o[b]))}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 Ci(e){return Gc(e.Fp),pe(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Wc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Ie=BigInt(0),le=BigInt(1),os=BigInt(2),bx=BigInt(8),wx={zip215:!0};function vx(e){let t=Ci(e);return pe(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function ss(e){let t=vx(e),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=t,u=os<<BigInt(a*8)-le,f=r.create,l=t.uvRatio||((k,S)=>{try{return{isValid:!0,value:r.sqrt(k*r.inv(S))}}catch{return{isValid:!1,value:Ie}}}),d=t.adjustScalarBytes||(k=>k),y=t.domain||((k,S,P)=>{if(S.length||P)throw new Error("Contexts/pre-hash are not supported");return k}),h=k=>typeof k=="bigint"&&Ie<k,p=(k,S)=>h(k)&&h(S)&&k<S,m=k=>k===Ie||p(k,u);function g(k,S){if(p(k,S))return k;throw new Error(`Expected valid scalar < ${S}, got ${typeof k} ${k}`)}function b(k){return k===Ie?k:g(k,n)}let x=new Map;function D(k){if(!(k instanceof v))throw new Error("ExtendedPoint expected")}class v{constructor(S,P,M,H){if(this.ex=S,this.ey=P,this.ez=M,this.et=H,!m(S))throw new Error("x required");if(!m(P))throw new Error("y required");if(!m(M))throw new Error("z required");if(!m(H))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(S){if(S instanceof v)throw new Error("extended point not allowed");let{x:P,y:M}=S||{};if(!m(P)||!m(M))throw new Error("invalid affine point");return new v(P,M,le,f(P*M))}static normalizeZ(S){let P=r.invertBatch(S.map(M=>M.ez));return S.map((M,H)=>M.toAffine(P[H])).map(v.fromAffine)}_setWindowSize(S){this._WINDOW_SIZE=S,x.delete(this)}assertValidity(){let{a:S,d:P}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:M,ey:H,ez:Z,et:j}=this,it=f(M*M),J=f(H*H),et=f(Z*Z),xt=f(et*et),mt=f(it*S),zt=f(et*f(mt+J)),Gt=f(xt+f(P*f(it*J)));if(zt!==Gt)throw new Error("bad point: equation left != right (1)");let Kt=f(M*H),Xt=f(Z*j);if(Kt!==Xt)throw new Error("bad point: equation left != right (2)")}equals(S){D(S);let{ex:P,ey:M,ez:H}=this,{ex:Z,ey:j,ez:it}=S,J=f(P*it),et=f(Z*H),xt=f(M*it),mt=f(j*H);return J===et&&xt===mt}is0(){return this.equals(v.ZERO)}negate(){return new v(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:S}=t,{ex:P,ey:M,ez:H}=this,Z=f(P*P),j=f(M*M),it=f(os*f(H*H)),J=f(S*Z),et=P+M,xt=f(f(et*et)-Z-j),mt=J+j,zt=mt-it,Gt=J-j,Kt=f(xt*zt),Xt=f(mt*Gt),$e=f(xt*Gt),Or=f(zt*mt);return new v(Kt,Xt,Or,$e)}add(S){D(S);let{a:P,d:M}=t,{ex:H,ey:Z,ez:j,et:it}=this,{ex:J,ey:et,ez:xt,et:mt}=S;if(P===BigInt(-1)){let Eu=f((Z-H)*(et+J)),Su=f((Z+H)*(et-J)),Zs=f(Su-Eu);if(Zs===Ie)return this.double();let Au=f(j*os*mt),Du=f(it*os*xt),Cu=Du+Au,Bu=Su+Eu,Tu=Du-Au,g2=f(Cu*Zs),x2=f(Bu*Tu),b2=f(Cu*Tu),w2=f(Zs*Bu);return new v(g2,x2,w2,b2)}let zt=f(H*J),Gt=f(Z*et),Kt=f(it*M*mt),Xt=f(j*xt),$e=f((H+Z)*(J+et)-zt-Gt),Or=Xt-Kt,ai=Xt+Kt,vu=f(Gt-P*zt),d2=f($e*Or),p2=f(ai*vu),y2=f($e*vu),m2=f(Or*ai);return new v(d2,p2,m2,y2)}subtract(S){return this.add(S.negate())}wNAF(S){return B.wNAFCached(this,x,S,v.normalizeZ)}multiply(S){let{p:P,f:M}=this.wNAF(g(S,n));return v.normalizeZ([P,M])[0]}multiplyUnsafe(S){let P=b(S);return P===Ie?C:this.equals(C)||P===le?this:this.equals(E)?this.wNAF(P).p:B.unsafeLadder(this,P)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return B.unsafeLadder(this,n).is0()}toAffine(S){let{ex:P,ey:M,ez:H}=this,Z=this.is0();S==null&&(S=Z?bx:r.inv(H));let j=f(P*S),it=f(M*S),J=f(H*S);if(Z)return{x:Ie,y:le};if(J!==le)throw new Error("invZ was invalid");return{x:j,y:it}}clearCofactor(){let{h:S}=t;return S===le?this:this.multiplyUnsafe(S)}static fromHex(S,P=!1){let{d:M,a:H}=t,Z=r.BYTES;S=wt("pointHex",S,Z);let j=S.slice(),it=S[Z-1];j[Z-1]=it&-129;let J=Te(j);J===Ie||(P?g(J,u):g(J,r.ORDER));let et=f(J*J),xt=f(et-le),mt=f(M*et-H),{isValid:zt,value:Gt}=l(xt,mt);if(!zt)throw new Error("Point.fromHex: invalid y coordinate");let Kt=(Gt&le)===le,Xt=(it&128)!==0;if(!P&&Gt===Ie&&Xt)throw new Error("Point.fromHex: x=0 and x_0=1");return Xt!==Kt&&(Gt=f(-Gt)),v.fromAffine({x:Gt,y:J})}static fromPrivateKey(S){return U(S).point}toRawBytes(){let{x:S,y:P}=this.toAffine(),M=or(P,r.BYTES);return M[M.length-1]|=S&le?128:0,M}toHex(){return nr(this.toRawBytes())}}v.BASE=new v(t.Gx,t.Gy,le,f(t.Gx*t.Gy)),v.ZERO=new v(Ie,le,le,Ie);let{BASE:E,ZERO:C}=v,B=is(v,a*8);function O(k){return ft(k,n)}function K(k){return O(Te(k))}function U(k){let S=a;k=wt("private key",k,S);let P=wt("hashed private key",o(k),2*S),M=d(P.slice(0,S)),H=P.slice(S,2*S),Z=K(M),j=E.multiply(Z),it=j.toRawBytes();return{head:M,prefix:H,scalar:Z,point:j,pointBytes:it}}function F(k){return U(k).pointBytes}function G(k=new Uint8Array,...S){let P=sr(...S);return K(o(y(P,wt("context",k),!!i)))}function Q(k,S,P={}){k=wt("message",k),i&&(k=i(k));let{prefix:M,scalar:H,pointBytes:Z}=U(S),j=G(P.context,M,k),it=E.multiply(j).toRawBytes(),J=G(P.context,it,Z,k),et=O(j+J*H);b(et);let xt=sr(it,or(et,r.BYTES));return wt("result",xt,a*2)}let T=wx;function R(k,S,P,M=T){let{context:H,zip215:Z}=M,j=r.BYTES;k=wt("signature",k,2*j),S=wt("message",S),i&&(S=i(S));let it=Te(k.slice(j,2*j)),J,et,xt;try{J=v.fromHex(P,Z),et=v.fromHex(k.slice(0,j),Z),xt=E.multiplyUnsafe(it)}catch{return!1}if(!Z&&J.isSmallOrder())return!1;let mt=G(H,et.toRawBytes(),J.toRawBytes(),S);return et.add(J.multiplyUnsafe(mt)).subtract(xt).clearCofactor().equals(v.ZERO)}return E._setWindowSize(8),{CURVE:t,getPublicKey:F,sign:Q,verify:R,ExtendedPoint:v,utils:{getExtendedPublicKey:U,randomPrivateKey:()=>s(r.BYTES),precompute(k=8,S=v.BASE){return S._setWindowSize(k),S.multiply(BigInt(3)),S}}}}var Bi=BigInt(0),Xc=BigInt(1);function Ex(e){return pe(e,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...e})}function sh(e){let t=Ex(e),{P:r}=t,n=x=>ft(x,r),i=t.montgomeryBits,o=Math.ceil(i/8),s=t.nByteLength,a=t.adjustScalarBytes||(x=>x),c=t.powPminus2||(x=>zc(x,r-BigInt(2),r));function u(x,D,v){let E=n(x*(D-v));return D=n(D-E),v=n(v+E),[D,v]}function f(x){if(typeof x=="bigint"&&Bi<=x&&x<r)return x;throw new Error("Expected valid scalar 0 < scalar < CURVE.P")}let l=(t.a-BigInt(2))/BigInt(4);function d(x,D){let v=f(x),E=f(D),C=v,B=Xc,O=Bi,K=v,U=Xc,F=Bi,G;for(let T=BigInt(i-1);T>=Bi;T--){let R=E>>T&Xc;F^=R,G=u(F,B,K),B=G[0],K=G[1],G=u(F,O,U),O=G[0],U=G[1],F=R;let _=B+O,k=n(_*_),S=B-O,P=n(S*S),M=k-P,H=K+U,Z=K-U,j=n(Z*_),it=n(H*S),J=j+it,et=j-it;K=n(J*J),U=n(C*n(et*et)),B=n(k*P),O=n(M*(k+n(l*M)))}G=u(F,B,K),B=G[0],K=G[1],G=u(F,O,U),O=G[0],U=G[1];let Q=c(O);return n(B*Q)}function y(x){return or(n(x),o)}function h(x){let D=wt("u coordinate",x,o);return s===32&&(D[31]&=127),Te(D)}function p(x){let D=wt("scalar",x),v=D.length;if(v!==o&&v!==s)throw new Error(`Expected ${o} or ${s} bytes, got ${v}`);return Te(a(D))}function m(x,D){let v=h(D),E=p(x),C=d(v,E);if(C===Bi)throw new Error("Invalid private or public key received");return y(C)}let g=y(t.Gu);function b(x){return m(x,g)}return{scalarMult:m,scalarMultBase:b,getSharedSecret:(x,D)=>m(x,D),getPublicKey:x=>b(x),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:g}}var Ti=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),ah=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),YC=BigInt(0),Sx=BigInt(1),Zc=BigInt(2),Ax=BigInt(5),ch=BigInt(10),Dx=BigInt(20),Cx=BigInt(40),uh=BigInt(80);function fh(e){let t=Ti,n=e*e%t*e%t,i=vt(n,Zc,t)*n%t,o=vt(i,Sx,t)*e%t,s=vt(o,Ax,t)*o%t,a=vt(s,ch,t)*s%t,c=vt(a,Dx,t)*a%t,u=vt(c,Cx,t)*c%t,f=vt(u,uh,t)*u%t,l=vt(f,uh,t)*u%t,d=vt(l,ch,t)*s%t;return{pow_p_5_8:vt(d,Zc,t)*e%t,b2:n}}function lh(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function Bx(e,t){let r=Ti,n=ft(t*t*t,r),i=ft(n*n*t,r),o=fh(e*i).pow_p_5_8,s=ft(e*n*o,r),a=ft(t*s*s,r),c=s,u=ft(s*ah,r),f=a===e,l=a===ft(-e,r),d=a===ft(-e*ah,r);return f&&(s=c),(l||d)&&(s=u),rh(s,r)&&(s=ft(-s,r)),{isValid:f||l,value:s}}var ar=ns(Ti,void 0,!0),Qc={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:ar,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Mc,randomBytes:tn,adjustScalarBytes:lh,uvRatio:Bx},Fn=ss(Qc);function hh(e,t,r){if(t.length>255)throw new Error("Context is too big");return Qo(Uc("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,t.length]),t,e)}var XC=ss({...Qc,domain:hh}),ZC=ss({...Qc,domain:hh,prehash:Mc}),Ii=sh({P:Ti,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{let t=Ti,{pow_p_5_8:r,b2:n}=fh(e);return ft(vt(r,BigInt(3),t)*n,t)},adjustScalarBytes:lh,randomBytes:tn});var Tx=(ar.ORDER+BigInt(3))/BigInt(8),QC=ar.pow(Zc,Tx),jC=ar.sqrt(ar.neg(ar.ONE)),JC=(ar.ORDER-BigInt(5))/BigInt(8),tB=BigInt(486662);var eB=nh(ar,ar.neg(BigInt(486664)));var rB=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),nB=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),iB=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),oB=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var sB=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var as=class extends Kn{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,Ai(t);let n=Dr(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 On(this),this.iHash.update(t),this}digestInto(t){On(this),Pc(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()}},Vn=(e,t,r)=>new as(e,t).update(r).digest();Vn.create=(e,t)=>new as(e,t);function ph(e,t,r){return Ai(e),r===void 0&&(r=new Uint8Array(e.outputLen)),Vn(e,Dr(r),Dr(t))}var jc=new Uint8Array([0]),dh=new Uint8Array;function yh(e,t,r,n=32){if(Ai(e),Yo(n),n>255*e.outputLen)throw new Error("Length should be <= 255*HashLen");let i=Math.ceil(n/e.outputLen);r===void 0&&(r=dh);let o=new Uint8Array(i*e.outputLen),s=Vn.create(e,t),a=s._cloneInto(),c=new Uint8Array(s.outputLen);for(let u=0;u<i;u++)jc[0]=u+1,a.update(u===0?dh:c).update(r).update(jc).digestInto(c),o.set(c,e.outputLen*u),s._cloneInto(a);return s.destroy(),a.destroy(),c.fill(0),jc.fill(0),o.slice(0,n)}var Ix=(e,t,r)=>e&t^~e&r,_x=(e,t,r)=>e&t^e&r^t&r,kx=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]),Ir=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),_r=new Uint32Array(64),Jc=class extends Mn{constructor(){super(64,32,8,!1),this.A=Ir[0]|0,this.B=Ir[1]|0,this.C=Ir[2]|0,this.D=Ir[3]|0,this.E=Ir[4]|0,this.F=Ir[5]|0,this.G=Ir[6]|0,this.H=Ir[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)_r[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let d=_r[l-15],y=_r[l-2],h=Ce(d,7)^Ce(d,18)^d>>>3,p=Ce(y,17)^Ce(y,19)^y>>>10;_r[l]=p+_r[l-7]+h+_r[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 d=Ce(a,6)^Ce(a,11)^Ce(a,25),y=f+d+Ix(a,c,u)+kx[l]+_r[l]|0,p=(Ce(n,2)^Ce(n,13)^Ce(n,22))+_x(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(){_r.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Hn=jo(()=>new Jc);var t0={hashSHA256(e){return Hn(e.subarray())},getHKDF(e,t){let r=ph(Hn,t,e),i=yh(Hn,r,void 0,96),o=i.subarray(0,32),s=i.subarray(32,64),a=i.subarray(64,96);return[o,s,a]},generateX25519KeyPair(){let e=Ii.utils.randomPrivateKey();return{publicKey:Ii.getPublicKey(e),privateKey:e}},generateX25519KeyPairFromSeed(e){return{publicKey:Ii.getPublicKey(e),privateKey:e}},generateX25519SharedKey(e,t){return Ii.getSharedSecret(e.subarray(),t.subarray())},chaCha20Poly1305Encrypt(e,t,r,n){return Nc(n,t,r).encrypt(e.subarray())},chaCha20Poly1305Decrypt(e,t,r,n,i){return Nc(n,t,r).decrypt(e.subarray(),i)}};var mh=t0;var qn=e=>{let t=jr(2);return new DataView(t.buffer,t.byteOffset,t.byteLength).setUint16(0,e,!1),t};qn.bytes=2;var _i=e=>{if(e.length<2)throw RangeError("Could not decode int16BE");return e instanceof Uint8Array?new DataView(e.buffer,e.byteOffset,e.byteLength).getUint16(0,!1):e.getUint16(0)};_i.bytes=2;function gh(e){return new At(e.ne,e.ciphertext)}function xh(e){return new At(e.ne,e.ns,e.ciphertext)}function bh(e){return new At(e.ns,e.ciphertext)}function wh(e){if(e.length<32)throw new Error("Cannot decode stage 0 MessageBuffer: length less than 32 bytes.");return{ne:e.subarray(0,32),ciphertext:e.subarray(32,e.length),ns:pt(0)}}function vh(e){if(e.length<80)throw new Error("Cannot decode stage 1 MessageBuffer: length less than 80 bytes.");return{ne:e.subarray(0,32),ns:e.subarray(32,80),ciphertext:e.subarray(80,e.length)}}function Eh(e){if(e.length<48)throw new Error("Cannot decode stage 2 MessageBuffer: length less than 48 bytes.");return{ne:pt(0),ns:e.subarray(0,48),ciphertext:e.subarray(48,e.length)}}var Ah=16;function Dh(e,t){return async function*(r){for await(let n of r)for(let i=0;i<n.length;i+=65519){let o=i+65519;o>n.length&&(o=n.length);let s;n instanceof Uint8Array?s=e.encrypt(n.subarray(i,o),e.session):s=e.encrypt(n.sublist(i,o),e.session),t?.encryptedPackets.increment(),yield new At(qn(s.byteLength),s)}}}function Ch(e,t){return async function*(r){for await(let n of r)for(let i=0;i<n.length;i+=65535){let o=i+65535;if(o>n.length&&(o=n.length),o-Ah<i)throw new Error("Invalid chunk");let s=n.sublist(i,o),a=n.subarray(i,o-Ah),{plaintext:c,valid:u}=e.decrypt(s,e.session,a);if(!u)throw t?.decryptErrors.increment(),new Error("Failed to validate decrypted chunk");t?.decryptedPackets.increment(),yield c}}}var Ri=class e extends Error{code;constructor(t="Unexpected Peer"){super(t),this.code=e.code}static code="ERR_UNEXPECTED_PEER"},nn=class e extends Error{code;constructor(t="Invalid crypto exchange"){super(t),this.code=e.code}static code="ERR_INVALID_CRYPTO_EXCHANGE"};var o_=Zt(Ui(),1),s_=Zt(Hd(),1);var Lv=Zt(gt(),1);function zd(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var qd=zd("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),S0=zd("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=jr(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),rv={utf8:qd,"utf-8":qd,hex:Qt.base16,latin1:S0,ascii:S0,binary:S0,...Qt},Cs=rv;function Pt(e,t="utf8"){let r=Cs[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?tr(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var B0={};ct(B0,{Ed25519PrivateKey:()=>fn,Ed25519PublicKey:()=>Mi,generateKeyPair:()=>sv,generateKeyPairFromSeed:()=>Jd,unmarshalEd25519PrivateKey:()=>iv,unmarshalEd25519PublicKey:()=>ov});var yT=Zt(Ot(),1),mT=Zt(Es(),1),Gd=Zt(gt(),1);function ge(e,t){if(globalThis.Buffer!=null)return tr(globalThis.Buffer.concat(e,t));t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=jr(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return tr(r)}function Tt(e,t="utf8"){let r=Cs[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 Re(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=ge([new Uint8Array(t-r.length),r])}return Tt(r,"base64url")}function he(e){let t=Wd(e);return new Gd.default.jsbn.BigInteger(Tt(t,"base16"),16)}function Wd(e,t){let r=Pt(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=ge([new Uint8Array(t-r.length),r])}return r}function xe(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var Yn=32,lr=64,Bs=32;function $d(){let e=Fn.utils.randomPrivateKey(),t=Fn.getPublicKey(e);return{privateKey:Qd(e,t),publicKey:t}}function Yd(e){if(e.length!==Bs)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=Fn.getPublicKey(t);return{privateKey:Qd(t,r),publicKey:r}}function Xd(e,t){let r=e.subarray(0,Bs);return Fn.sign(t instanceof Uint8Array?t:t.subarray(),r)}function Zd(e,t,r){return Fn.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}function Qd(e,t){let r=new Uint8Array(lr);for(let n=0;n<Bs;n++)r[n]=e[n],r[Bs+n]=t[n];return r}var ue={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 A0={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function D0(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=ue.get();r*=8;async function c(l,d){let y=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),p={name:t,iv:h};typeof d=="string"&&(d=Pt(d));let m;if(d.length===0){m=await a.subtle.importKey("jwk",A0,{name:"AES-GCM"},!0,["encrypt"]);try{let b={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},x=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,x,{name:t,length:r},!0,["encrypt"])}catch{m=await a.subtle.importKey("jwk",A0,{name:"AES-GCM"},!0,["encrypt"])}}else{let b={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},x=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,x,{name:t,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(p,m,l);return ge([y,p.iv,new Uint8Array(g)])}async function u(l,d){let y=l.subarray(0,o),h=l.subarray(o,o+n),p=l.subarray(o+n),m={name:t,iv:h};typeof d=="string"&&(d=Pt(d));let g;if(d.length===0)try{let x={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},D=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,D,{name:t,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",A0,{name:"AES-GCM"},!0,["decrypt"])}else{let x={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},D=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,D,{name:t,length:r},!0,["decrypt"])}let b=await a.subtle.decrypt(m,g,p);return new Uint8Array(b)}return{encrypt:c,decrypt:u}}async function Xn(e,t){let n=await D0().encrypt(e,t);return oo.encode(n)}var Bt;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(Bt||(Bt={}));var C0;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(C0||(C0={}));(function(e){e.codec=()=>Yr(C0)})(Bt||(Bt={}));var ze;(function(e){let t;e.codec=()=>(t==null&&(t=De((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Bt.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=Bt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Ae(r,e.codec()),e.decode=r=>Se(r,e.codec())})(ze||(ze={}));var Ge;(function(e){let t;e.codec=()=>(t==null&&(t=De((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Bt.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=Bt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Ae(r,e.codec()),e.decode=r=>Se(r,e.codec())})(Ge||(Ge={}));var Mi=class{_key;constructor(t){this._key=Zn(t,Yn)}verify(t,r){return Zd(this._key,r,t)}marshal(){return this._key}get bytes(){return ze.encode({Type:Bt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return jt(this.bytes,t.bytes)}hash(){let t=Wt.digest(this.bytes);return xe(t)?t.then(({bytes:r})=>r):t.bytes}},fn=class{_key;_publicKey;constructor(t,r){this._key=Zn(t,lr),this._publicKey=Zn(r,Yn)}sign(t){return Xd(this._key,t)}get public(){return new Mi(this._publicKey)}marshal(){return this._key}get bytes(){return Ge.encode({Type:Bt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return jt(this.bytes,t.bytes)}async hash(){let t=Wt.digest(this.bytes),r;return xe(t)?{bytes:r}=await t:r=t.bytes,r}async id(){let t=gr.digest(this.public.bytes);return kt.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return Xn(this.bytes,t);throw new W(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function iv(e){if(e.length>lr){e=Zn(e,lr+Yn);let n=e.subarray(0,lr),i=e.subarray(lr,e.length);return new fn(n,i)}e=Zn(e,lr);let t=e.subarray(0,lr),r=e.subarray(Yn);return new fn(t,r)}function ov(e){return e=Zn(e,Yn),new Mi(e)}async function sv(){let{privateKey:e,publicKey:t}=$d();return new fn(e,t)}async function Jd(e){let{privateKey:t,publicKey:r}=Yd(e);return new fn(t,r)}function Zn(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new W(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var av={"P-256":256,"P-384":384,"P-521":521},cv=Object.keys(av),HT=cv.join(" / ");var R0={};ct(R0,{MAX_KEY_SIZE:()=>qi,RsaPrivateKey:()=>Qn,RsaPublicKey:()=>Hi,fromJwk:()=>bv,generateKeyPair:()=>wv,unmarshalRsaPrivateKey:()=>gv,unmarshalRsaPublicKey:()=>xv});var Vi=Zt(gt(),1);var CI=Zt(ip(),1);function Is(e){if(isNaN(e)||e<=0)throw new W("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return tn(e)}var cI=Zt(Ds(),1),_0=Zt(gt(),1);function op(e,t){return t.map(r=>he(e[r]))}function sp(e){return _0.default.pki.setRsaPrivateKey(...op(e,["n","e","d","p","q","dp","dq","qi"]))}function ap(e){return _0.default.pki.setRsaPublicKey(...op(e,["n","e"]))}var hn={};ct(hn,{jwkToPkcs1:()=>hv,jwkToPkix:()=>pv,pkcs1ToJwk:()=>lv,pkixToJwk:()=>dv});var lI=Zt(Ui(),1),hI=Zt(Ds(),1);var hr=Zt(gt(),1);function lv(e){let t=hr.default.asn1.fromDer(Tt(e,"ascii")),r=hr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:Re(r.n),e:Re(r.e),d:Re(r.d),p:Re(r.p),q:Re(r.q),dp:Re(r.dP),dq:Re(r.dQ),qi:Re(r.qInv),alg:"RS256"}}function hv(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 W("JWK was missing components","ERR_INVALID_PARAMETERS");let t=hr.default.pki.privateKeyToAsn1({n:he(e.n),e:he(e.e),d:he(e.d),p:he(e.p),q:he(e.q),dP:he(e.dp),dQ:he(e.dq),qInv:he(e.qi)});return Pt(hr.default.asn1.toDer(t).getBytes(),"ascii")}function dv(e){let t=hr.default.asn1.fromDer(Tt(e,"ascii")),r=hr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:Re(r.n),e:Re(r.e)}}function pv(e){if(e.n==null||e.e==null)throw new W("JWK was missing components","ERR_INVALID_PARAMETERS");let t=hr.default.pki.publicKeyToAsn1({n:he(e.n),e:he(e.e)});return Pt(hr.default.asn1.toDer(t).getBytes(),"ascii")}async function cp(e){let t=await ue.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 lp(t);return{privateKey:r[0],publicKey:r[1]}}async function k0(e){let r=[await ue.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await yv(e)],n=await lp({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function up(e,t){let r=await ue.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await ue.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function fp(e,t,r){let n=await ue.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return ue.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r instanceof Uint8Array?r:r.subarray())}async function lp(e){if(e.privateKey==null||e.publicKey==null)throw new W("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([ue.get().subtle.exportKey("jwk",e.privateKey),ue.get().subtle.exportKey("jwk",e.publicKey)])}async function yv(e){return ue.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 hp(e,t,r,n){let i=t?ap(e):sp(e),o=Tt(r instanceof Uint8Array?r:r.subarray(),"ascii"),s=n(o,i);return Pt(s,"ascii")}function dp(e,t){return hp(e,!0,t,(r,n)=>n.encrypt(r))}function pp(e,t){return hp(e,!1,t,(r,n)=>n.decrypt(r))}function _s(e){if(e.kty!=="RSA")throw new W("invalid key type","ERR_INVALID_KEY_TYPE");if(e.n==null)throw new W("invalid key modulus","ERR_INVALID_KEY_MODULUS");return Pt(e.n,"base64url").length*8}var qi=8192,Hi=class{_key;constructor(t){this._key=t}verify(t,r){return fp(this._key,r,t)}marshal(){return hn.jwkToPkix(this._key)}get bytes(){return ze.encode({Type:Bt.RSA,Data:this.marshal()}).subarray()}encrypt(t){return dp(this._key,t)}equals(t){return jt(this.bytes,t.bytes)}hash(){let t=Wt.digest(this.bytes);return xe(t)?t.then(({bytes:r})=>r):t.bytes}},Qn=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return Is(16)}sign(t){return up(this._key,t)}get public(){if(this._publicKey==null)throw new W("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Hi(this._publicKey)}decrypt(t){return pp(this._key,t)}marshal(){return hn.jwkToPkcs1(this._key)}get bytes(){return Ge.encode({Type:Bt.RSA,Data:this.marshal()}).subarray()}equals(t){return jt(this.bytes,t.bytes)}hash(){let t=Wt.digest(this.bytes);return xe(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return Tt(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new Vi.default.util.ByteBuffer(this.marshal()),i=Vi.default.asn1.fromDer(n),o=Vi.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Vi.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return Xn(this.bytes,t);throw new W(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function gv(e){let t=hn.pkcs1ToJwk(e);if(_s(t)>qi)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await k0(t);return new Qn(r.privateKey,r.publicKey)}function xv(e){let t=hn.pkixToJwk(e);if(_s(t)>qi)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Hi(t)}async function bv(e){if(_s(e)>qi)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await k0(e);return new Qn(t.privateKey,t.publicKey)}async function wv(e){if(e>qi)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await cp(e);return new Qn(t.privateKey,t.publicKey)}var U0={};ct(U0,{Secp256k1PrivateKey:()=>Gi,Secp256k1PublicKey:()=>zi,generateKeyPair:()=>Rv,unmarshalSecp256k1PrivateKey:()=>_v,unmarshalSecp256k1PublicKey:()=>kv});function vv(e){let t=Ci(e);pe(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:Ev,hexToBytes:Sv}=es,dn={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){let{Err:t}=dn;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:Ev(n),l:e.subarray(r+2)}},toSig(e){let{Err:t}=dn,r=typeof e=="string"?Sv(e):e;if(!Be(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}=dn._parseInt(r.subarray(2)),{d:s,l:a}=dn._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}`}},dr=BigInt(0),be=BigInt(1),LI=BigInt(2),yp=BigInt(3),NI=BigInt(4);function Av(e){let t=vv(e),{Fp:r}=t,n=t.toBytes||((h,p,m)=>{let g=p.toAffine();return sr(Uint8Array.from([4]),r.toBytes(g.x),r.toBytes(g.y))}),i=t.fromBytes||(h=>{let p=h.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(h){let{a:p,b:m}=t,g=r.sqr(h),b=r.mul(g,h);return r.add(r.add(b,r.mul(h,p)),m)}if(!r.eql(r.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function s(h){return typeof h=="bigint"&&dr<h&&h<t.n}function a(h){if(!s(h))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(h){let{allowedPrivateKeyLengths:p,nByteLength:m,wrapPrivateKey:g,n:b}=t;if(p&&typeof h!="bigint"){if(Be(h)&&(h=nr(h)),typeof h!="string"||!p.includes(h.length))throw new Error("Invalid key");h=h.padStart(m*2,"0")}let x;try{x=typeof h=="bigint"?h:ir(wt("private key",h,m))}catch{throw new Error(`private key must be ${m} bytes, hex or bigint, not ${typeof h}`)}return g&&(x=ft(x,b)),a(x),x}let u=new Map;function f(h){if(!(h 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 b=x=>r.eql(x,r.ZERO);return b(m)&&b(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,b)=>g.toAffine(m[b])).map(l.fromAffine)}static fromHex(p){let m=l.fromAffine(i(wt("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),b=o(p);if(!r.eql(g,b))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:b}=this,{px:x,py:D,pz:v}=p,E=r.eql(r.mul(m,v),r.mul(x,b)),C=r.eql(r.mul(g,v),r.mul(D,b));return E&&C}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:m}=t,g=r.mul(m,yp),{px:b,py:x,pz:D}=this,v=r.ZERO,E=r.ZERO,C=r.ZERO,B=r.mul(b,b),O=r.mul(x,x),K=r.mul(D,D),U=r.mul(b,x);return U=r.add(U,U),C=r.mul(b,D),C=r.add(C,C),v=r.mul(p,C),E=r.mul(g,K),E=r.add(v,E),v=r.sub(O,E),E=r.add(O,E),E=r.mul(v,E),v=r.mul(U,v),C=r.mul(g,C),K=r.mul(p,K),U=r.sub(B,K),U=r.mul(p,U),U=r.add(U,C),C=r.add(B,B),B=r.add(C,B),B=r.add(B,K),B=r.mul(B,U),E=r.add(E,B),K=r.mul(x,D),K=r.add(K,K),B=r.mul(K,U),v=r.sub(v,B),C=r.mul(K,O),C=r.add(C,C),C=r.add(C,C),new l(v,E,C)}add(p){f(p);let{px:m,py:g,pz:b}=this,{px:x,py:D,pz:v}=p,E=r.ZERO,C=r.ZERO,B=r.ZERO,O=t.a,K=r.mul(t.b,yp),U=r.mul(m,x),F=r.mul(g,D),G=r.mul(b,v),Q=r.add(m,g),T=r.add(x,D);Q=r.mul(Q,T),T=r.add(U,F),Q=r.sub(Q,T),T=r.add(m,b);let R=r.add(x,v);return T=r.mul(T,R),R=r.add(U,G),T=r.sub(T,R),R=r.add(g,b),E=r.add(D,v),R=r.mul(R,E),E=r.add(F,G),R=r.sub(R,E),B=r.mul(O,T),E=r.mul(K,G),B=r.add(E,B),E=r.sub(F,B),B=r.add(F,B),C=r.mul(E,B),F=r.add(U,U),F=r.add(F,U),G=r.mul(O,G),T=r.mul(K,T),F=r.add(F,G),G=r.sub(U,G),G=r.mul(O,G),T=r.add(T,G),U=r.mul(F,T),C=r.add(C,U),U=r.mul(R,T),E=r.mul(Q,E),E=r.sub(E,U),U=r.mul(Q,F),B=r.mul(R,B),B=r.add(B,U),new l(E,C,B)}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(b=>b.pz));return m.map((b,x)=>b.toAffine(g[x])).map(l.fromAffine)})}multiplyUnsafe(p){let m=l.ZERO;if(p===dr)return m;if(a(p),p===be)return this;let{endo:g}=t;if(!g)return y.unsafeLadder(this,p);let{k1neg:b,k1:x,k2neg:D,k2:v}=g.splitScalar(p),E=m,C=m,B=this;for(;x>dr||v>dr;)x&be&&(E=E.add(B)),v&be&&(C=C.add(B)),B=B.double(),x>>=be,v>>=be;return b&&(E=E.negate()),D&&(C=C.negate()),C=new l(r.mul(C.px,g.beta),C.py,C.pz),E.add(C)}multiply(p){a(p);let m=p,g,b,{endo:x}=t;if(x){let{k1neg:D,k1:v,k2neg:E,k2:C}=x.splitScalar(m),{p:B,f:O}=this.wNAF(v),{p:K,f:U}=this.wNAF(C);B=y.constTimeNegate(D,B),K=y.constTimeNegate(E,K),K=new l(r.mul(K.px,x.beta),K.py,K.pz),g=B.add(K),b=O.add(U)}else{let{p:D,f:v}=this.wNAF(m);g=D,b=v}return l.normalizeZ([g,b])[0]}multiplyAndAddUnsafe(p,m,g){let b=l.BASE,x=(v,E)=>E===dr||E===be||!v.equals(b)?v.multiplyUnsafe(E):v.multiply(E),D=x(this,m).add(x(p,g));return D.is0()?void 0:D}toAffine(p){let{px:m,py:g,pz:b}=this,x=this.is0();p==null&&(p=x?r.ONE:r.inv(b));let D=r.mul(m,p),v=r.mul(g,p),E=r.mul(b,p);if(x)return{x:r.ZERO,y:r.ZERO};if(!r.eql(E,r.ONE))throw new Error("invZ was invalid");return{x:D,y:v}}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 nr(this.toRawBytes(p))}}l.BASE=new l(t.Gx,t.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let d=t.nBitLength,y=is(l,t.endo?Math.ceil(d/2):d);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function Dv(e){let t=Ci(e);return pe(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function mp(e){let t=Dv(e),{Fp:r,n}=t,i=r.BYTES+1,o=2*r.BYTES+1;function s(T){return dr<T&&T<r.ORDER}function a(T){return ft(T,n)}function c(T){return rs(T,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:d}=Av({...t,toBytes(T,R,_){let k=R.toAffine(),S=r.toBytes(k.x),P=sr;return _?P(Uint8Array.from([R.hasEvenY()?2:3]),S):P(Uint8Array.from([4]),S,r.toBytes(k.y))},fromBytes(T){let R=T.length,_=T[0],k=T.subarray(1);if(R===i&&(_===2||_===3)){let S=ir(k);if(!s(S))throw new Error("Point is not on curve");let P=l(S),M=r.sqrt(P),H=(M&be)===be;return(_&1)===1!==H&&(M=r.neg(M)),{x:S,y:M}}else if(R===o&&_===4){let S=r.fromBytes(k.subarray(0,r.BYTES)),P=r.fromBytes(k.subarray(r.BYTES,2*r.BYTES));return{x:S,y:P}}else throw new Error(`Point of length ${R} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),y=T=>nr(Tr(T,t.nByteLength));function h(T){let R=n>>be;return T>R}function p(T){return h(T)?a(-T):T}let m=(T,R,_)=>ir(T.slice(R,_));class g{constructor(R,_,k){this.r=R,this.s=_,this.recovery=k,this.assertValidity()}static fromCompact(R){let _=t.nByteLength;return R=wt("compactSignature",R,_*2),new g(m(R,0,_),m(R,_,2*_))}static fromDER(R){let{r:_,s:k}=dn.toSig(wt("DER",R));return new g(_,k)}assertValidity(){if(!d(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!d(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(R){return new g(this.r,this.s,R)}recoverPublicKey(R){let{r:_,s:k,recovery:S}=this,P=C(wt("msgHash",R));if(S==null||![0,1,2,3].includes(S))throw new Error("recovery id invalid");let M=S===2||S===3?_+t.n:_;if(M>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let H=S&1?"03":"02",Z=u.fromHex(H+y(M)),j=c(M),it=a(-P*j),J=a(k*j),et=u.BASE.multiplyAndAddUnsafe(Z,it,J);if(!et)throw new Error("point at infinify");return et.assertValidity(),et}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return en(this.toDERHex())}toDERHex(){return dn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return en(this.toCompactHex())}toCompactHex(){return y(this.r)+y(this.s)}}let b={isValidPrivateKey(T){try{return f(T),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let T=$c(t.n);return oh(t.randomBytes(T),t.n)},precompute(T=8,R=u.BASE){return R._setWindowSize(T),R.multiply(BigInt(3)),R}};function x(T,R=!0){return u.fromPrivateKey(T).toRawBytes(R)}function D(T){let R=Be(T),_=typeof T=="string",k=(R||_)&&T.length;return R?k===i||k===o:_?k===2*i||k===2*o:T instanceof u}function v(T,R,_=!0){if(D(T))throw new Error("first arg must be private key");if(!D(R))throw new Error("second arg must be public key");return u.fromHex(R).multiply(f(T)).toRawBytes(_)}let E=t.bits2int||function(T){let R=ir(T),_=T.length*8-t.nBitLength;return _>0?R>>BigInt(_):R},C=t.bits2int_modN||function(T){return a(E(T))},B=Di(t.nBitLength);function O(T){if(typeof T!="bigint")throw new Error("bigint expected");if(!(dr<=T&&T<B))throw new Error(`bigint expected < 2^${t.nBitLength}`);return Tr(T,t.nByteLength)}function K(T,R,_=U){if(["recovered","canonical"].some(mt=>mt in _))throw new Error("sign() legacy options not supported");let{hash:k,randomBytes:S}=t,{lowS:P,prehash:M,extraEntropy:H}=_;P==null&&(P=!0),T=wt("msgHash",T),M&&(T=wt("prehashed msgHash",k(T)));let Z=C(T),j=f(R),it=[O(j),O(Z)];if(H!=null){let mt=H===!0?S(r.BYTES):H;it.push(wt("extraEntropy",mt))}let J=sr(...it),et=Z;function xt(mt){let zt=E(mt);if(!d(zt))return;let Gt=c(zt),Kt=u.BASE.multiply(zt).toAffine(),Xt=a(Kt.x);if(Xt===dr)return;let $e=a(Gt*a(et+Xt*j));if($e===dr)return;let Or=(Kt.x===Xt?0:2)|Number(Kt.y&be),ai=$e;return P&&h($e)&&(ai=p($e),Or^=1),new g(Xt,ai,Or)}return{seed:J,k2sig:xt}}let U={lowS:t.lowS,prehash:!1},F={lowS:t.lowS,prehash:!1};function G(T,R,_=U){let{seed:k,k2sig:S}=K(T,R,_),P=t;return Hc(P.hash.outputLen,P.nByteLength,P.hmac)(k,S)}u.BASE._setWindowSize(8);function Q(T,R,_,k=F){let S=T;if(R=wt("msgHash",R),_=wt("publicKey",_),"strict"in k)throw new Error("options.strict was renamed to lowS");let{lowS:P,prehash:M}=k,H,Z;try{if(typeof S=="string"||Be(S))try{H=g.fromDER(S)}catch(Kt){if(!(Kt instanceof dn.Err))throw Kt;H=g.fromCompact(S)}else if(typeof S=="object"&&typeof S.r=="bigint"&&typeof S.s=="bigint"){let{r:Kt,s:Xt}=S;H=new g(Kt,Xt)}else throw new Error("PARSE");Z=u.fromHex(_)}catch(Kt){if(Kt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(P&&H.hasHighS())return!1;M&&(R=t.hash(R));let{r:j,s:it}=H,J=C(R),et=c(it),xt=a(J*et),mt=a(j*et),zt=u.BASE.multiplyAndAddUnsafe(Z,xt,mt)?.toAffine();return zt?a(zt.x)===j:!1}return{CURVE:t,getPublicKey:x,getSharedSecret:v,sign:G,verify:Q,ProjectivePoint:u,Signature:g,utils:b}}function Cv(e){return{hash:e,hmac:(t,...r)=>Vn(e,t,Qo(...r)),randomBytes:tn}}function gp(e,t){let r=n=>mp({...e,...Cv(n)});return Object.freeze({...r(t),create:r})}var wp=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),xp=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Bv=BigInt(1),L0=BigInt(2),bp=(e,t)=>(e+t/L0)/t;function Tv(e){let t=wp,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=vt(f,r,t)*f%t,d=vt(l,r,t)*f%t,y=vt(d,L0,t)*u%t,h=vt(y,i,t)*y%t,p=vt(h,o,t)*h%t,m=vt(p,a,t)*p%t,g=vt(m,c,t)*m%t,b=vt(g,a,t)*p%t,x=vt(b,r,t)*f%t,D=vt(x,s,t)*h%t,v=vt(D,n,t)*u%t,E=vt(v,L0,t);if(!N0.eql(N0.sqr(E),e))throw new Error("Cannot find square root");return E}var N0=ns(wp,void 0,void 0,{sqrt:Tv}),Le=gp({a:BigInt(0),b:BigInt(7),Fp:N0,n:xp,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=xp,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Bv*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=bp(o*e,t),c=bp(-n*e,t),u=ft(e-a*r-c*i,t),f=ft(-a*n-c*o,t),l=u>s,d=f>s;if(l&&(u=t-u),d&&(f=t-f),u>s||f>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:u,k2neg:d,k2:f}}}},Hn),qI=BigInt(0);var zI=Le.ProjectivePoint;function vp(){return Le.utils.randomPrivateKey()}function Ep(e,t){let r=Wt.digest(t instanceof Uint8Array?t:t.subarray());if(xe(r))return r.then(({digest:n})=>Le.sign(n,e).toDERRawBytes()).catch(n=>{throw new W(String(n),"ERR_INVALID_INPUT")});try{return Le.sign(r.digest,e).toDERRawBytes()}catch(n){throw new W(String(n),"ERR_INVALID_INPUT")}}function Sp(e,t,r){let n=Wt.digest(r instanceof Uint8Array?r:r.subarray());if(xe(n))return n.then(({digest:i})=>Le.verify(t,i,e)).catch(i=>{throw new W(String(i),"ERR_INVALID_INPUT")});try{return Le.verify(t,n.digest,e)}catch(i){throw new W(String(i),"ERR_INVALID_INPUT")}}function Ap(e){return Le.ProjectivePoint.fromHex(e).toRawBytes(!0)}function Dp(e){try{Le.getPublicKey(e,!0)}catch(t){throw new W(String(t),"ERR_INVALID_PRIVATE_KEY")}}function P0(e){try{Le.ProjectivePoint.fromHex(e)}catch(t){throw new W(String(t),"ERR_INVALID_PUBLIC_KEY")}}function Cp(e){try{return Le.getPublicKey(e,!0)}catch(t){throw new W(String(t),"ERR_INVALID_PRIVATE_KEY")}}var zi=class{_key;constructor(t){P0(t),this._key=t}verify(t,r){return Sp(this._key,r,t)}marshal(){return Ap(this._key)}get bytes(){return ze.encode({Type:Bt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return jt(this.bytes,t.bytes)}async hash(){let t=Wt.digest(this.bytes),r;return xe(t)?{bytes:r}=await t:r=t.bytes,r}},Gi=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r??Cp(t),Dp(this._key),P0(this._publicKey)}sign(t){return Ep(this._key,t)}get public(){return new zi(this._publicKey)}marshal(){return this._key}get bytes(){return Ge.encode({Type:Bt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return jt(this.bytes,t.bytes)}hash(){let t=Wt.digest(this.bytes);return xe(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return Tt(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return Xn(this.bytes,t);throw new W(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function _v(e){return new Gi(e)}function kv(e){return new zi(e)}async function Rv(){let e=vp();return new Gi(e)}var pn={rsa:R0,ed25519:B0,secp256k1:U0};function Bp(e){let t=Object.keys(pn).join(" / ");return new W(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Tp(e){let t=ze.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Bt.RSA:return pn.rsa.unmarshalRsaPublicKey(r);case Bt.Ed25519:return pn.ed25519.unmarshalEd25519PublicKey(r);case Bt.Secp256k1:return pn.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Bp(t.Type??"unknown")}}async function Ip(e){let t=Ge.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Bt.RSA:return pn.rsa.unmarshalRsaPrivateKey(r);case Bt.Ed25519:return pn.ed25519.unmarshalEd25519PrivateKey(r);case Bt.Secp256k1:return pn.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Bp(t.Type??"RSA")}}var ks;(function(e){let t;e.codec=()=>(t==null&&(t=De((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.webtransportCerthashes!=null)for(let o of r.webtransportCerthashes)n.uint32(10),n.bytes(o);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={webtransportCerthashes:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:{i.webtransportCerthashes.push(r.bytes());break}default:{r.skipType(s&7);break}}}return i})),t),e.encode=r=>Ae(r,e.codec()),e.decode=r=>Se(r,e.codec())})(ks||(ks={}));var Wi;(function(e){let t;e.codec=()=>(t==null&&(t=De((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.identityKey!=null&&r.identityKey.byteLength>0&&(n.uint32(10),n.bytes(r.identityKey)),r.identitySig!=null&&r.identitySig.byteLength>0&&(n.uint32(18),n.bytes(r.identitySig)),r.extensions!=null&&(n.uint32(34),ks.codec().encode(r.extensions,n)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={identityKey:pt(0),identitySig:pt(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:{i.identityKey=r.bytes();break}case 2:{i.identitySig=r.bytes();break}case 4:{i.extensions=ks.codec().decode(r,r.uint32());break}default:{r.skipType(s&7);break}}}return i})),t),e.encode=r=>Ae(r,e.codec()),e.decode=r=>Se(r,e.codec())})(Wi||(Wi={}));async function _p(e,t,r){let n=await Pv(e,kp(t));if(e.publicKey==null)throw new Error("PublicKey was missing from local PeerId");return Nv(e.publicKey,n,r)}function Nv(e,t,r){return Wi.encode({identityKey:e,identitySig:t,extensions:r??{webtransportCerthashes:[]}}).subarray()}async function Pv(e,t){if(e.privateKey==null)throw new Error("PrivateKey was missing from PeerId");return(await Ip(e.privateKey)).sign(t)}async function O0(e){return va(e.identityKey)}function K0(e){return Wi.decode(e)}function kp(e){let t=Pt("noise-libp2p-static-key:");return e instanceof Uint8Array?ge([t,e],t.length+e.length):(e.prepend(t),e)}async function M0(e,t,r){let n=await va(t.identityKey);if(!n.equals(r))throw new Error(`Payload identity key ${n.toString()} does not match expected remote peer ${r.toString()}`);let i=kp(e);if(n.publicKey==null)throw new Error("PublicKey was missing from PeerId");if(t.identitySig==null)throw new Error("Signature was missing from message");if(!await Tp(n.publicKey).verify(i,t.identitySig))throw new Error("Static key doesn't match to peer that signed payload!");return n}function $i(e){return!(!(e instanceof Uint8Array)&&!In(e)||e.byteLength!==32)}var Uv=0,Ov=4294967295,Kv="Cipherstate has reached maximum n, a new handshake must be performed",Rs=class{n;bytes;view;constructor(t=Uv){this.n=t,this.bytes=pt(12),this.view=new DataView(this.bytes.buffer,this.bytes.byteOffset,this.bytes.byteLength),this.view.setUint32(4,t,!0)}increment(){this.n++,this.view.setUint32(4,this.n,!0)}getBytes(){return this.bytes}getUint64(){return this.n}assertValue(){if(this.n>Ov)throw new Error(Kv)}};var Ls=class{crypto;log;constructor(t,r){this.log=t.logger.forComponent("libp2p:noise:abstract-handshake"),this.crypto=r}encryptWithAd(t,r,n){let i=this.encrypt(t.k,t.n,r,n);return t.n.increment(),i}decryptWithAd(t,r,n,i){let{plaintext:o,valid:s}=this.decrypt(t.k,t.n,r,n,i);return s&&t.n.increment(),{plaintext:o,valid:s}}hasKey(t){return!this.isEmptyKey(t.k)}createEmptyKey(){return pt(32)}isEmptyKey(t){let r=this.createEmptyKey();return jt(r,t)}encrypt(t,r,n,i){return r.assertValue(),this.crypto.chaCha20Poly1305Encrypt(i,r.getBytes(),n,t)}encryptAndHash(t,r){let n;return this.hasKey(t.cs)?n=this.encryptWithAd(t.cs,t.h,r):n=r,this.mixHash(t,n),n}decrypt(t,r,n,i,o){r.assertValue();let s=this.crypto.chaCha20Poly1305Decrypt(i,r.getBytes(),n,t,o);return s?{plaintext:s,valid:!0}:{plaintext:pt(0),valid:!1}}decryptAndHash(t,r){let n,i=!0;return this.hasKey(t.cs)?{plaintext:n,valid:i}=this.decryptWithAd(t.cs,t.h,r):n=r,this.mixHash(t,r),{plaintext:n,valid:i}}dh(t,r){try{let n=this.crypto.generateX25519SharedKey(t,r);return n.length===32?n:n.subarray(0,32)}catch(n){let i=n;return this.log.error("error deriving shared key",i),pt(32)}}mixHash(t,r){t.h=this.getHash(t.h,r)}getHash(t,r){return this.crypto.hashSHA256(new At(t,r))}mixKey(t,r){let[n,i]=this.crypto.getHKDF(t.ck,r);t.cs=this.initializeKey(i),t.ck=n}initializeKey(t){return{k:t,n:new Rs}}initializeSymmetric(t){let r=Pt(t,"utf-8"),n=this.hashProtocolName(r),i=n,o=this.createEmptyKey();return{cs:this.initializeKey(o),ck:i,h:n}}hashProtocolName(t){if(t.length<=32){let r=pt(32);return r.set(t),r}else return this.getHash(t,pt(0))}split(t){let[r,n]=this.crypto.getHKDF(t.ck,pt(0)),i=this.initializeKey(r),o=this.initializeKey(n);return{cs1:i,cs2:o}}writeMessageRegular(t,r){let n=this.encryptWithAd(t,pt(0),r),i=this.createEmptyKey(),o=pt(0);return{ne:i,ns:o,ciphertext:n}}readMessageRegular(t,r){return this.decryptWithAd(t,pt(0),r.ciphertext)}};var Ns=class extends Ls{initializeInitiator(t,r,n,i){let o="Noise_XX_25519_ChaChaPoly_SHA256",s=this.initializeSymmetric(o);this.mixHash(s,t);let a=pt(32);return{ss:s,s:r,rs:n,psk:i,re:a}}initializeResponder(t,r,n,i){let o="Noise_XX_25519_ChaChaPoly_SHA256",s=this.initializeSymmetric(o);this.mixHash(s,t);let a=pt(32);return{ss:s,s:r,rs:n,psk:i,re:a}}writeMessageA(t,r,n){let i=pt(0);n!==void 0?t.e=n:t.e=this.crypto.generateX25519KeyPair();let o=t.e.publicKey;this.mixHash(t.ss,o);let s=this.encryptAndHash(t.ss,r);return{ne:o,ns:i,ciphertext:s}}writeMessageB(t,r){t.e=this.crypto.generateX25519KeyPair();let n=t.e.publicKey;this.mixHash(t.ss,n),this.mixKey(t.ss,this.dh(t.e.privateKey,t.re));let i=t.s.publicKey,o=this.encryptAndHash(t.ss,i);this.mixKey(t.ss,this.dh(t.s.privateKey,t.re));let s=this.encryptAndHash(t.ss,r);return{ne:n,ns:o,ciphertext:s}}writeMessageC(t,r){let n=t.s.publicKey,i=this.encryptAndHash(t.ss,n);this.mixKey(t.ss,this.dh(t.s.privateKey,t.re));let o=this.encryptAndHash(t.ss,r),a={ne:this.createEmptyKey(),ns:i,ciphertext:o},{cs1:c,cs2:u}=this.split(t.ss);return{h:t.ss.h,messageBuffer:a,cs1:c,cs2:u}}readMessageA(t,r){return $i(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),this.decryptAndHash(t.ss,r.ciphertext)}readMessageB(t,r){if($i(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),!t.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(t.ss,this.dh(t.e.privateKey,t.re));let{plaintext:n,valid:i}=this.decryptAndHash(t.ss,r.ns);i&&$i(n)&&(t.rs=n),this.mixKey(t.ss,this.dh(t.e.privateKey,t.rs));let{plaintext:o,valid:s}=this.decryptAndHash(t.ss,r.ciphertext);return{plaintext:o,valid:i&&s}}readMessageC(t,r){let{plaintext:n,valid:i}=this.decryptAndHash(t.ss,r.ns);if(i&&$i(n)&&(t.rs=n),!t.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(t.ss,this.dh(t.e.privateKey,t.rs));let{plaintext:o,valid:s}=this.decryptAndHash(t.ss,r.ciphertext),{cs1:a,cs2:c}=this.split(t.ss);return{h:t.ss.h,plaintext:o,valid:i&&s,cs1:a,cs2:c}}initSession(t,r,n){let i=this.createEmptyKey(),o=pt(32),s;return t?s=this.initializeInitiator(r,n,o,i):s=this.initializeResponder(r,n,o,i),{hs:s,i:t,mc:0}}sendMessage(t,r,n){let i;if(t.mc===0)i=this.writeMessageA(t.hs,r,n);else if(t.mc===1)i=this.writeMessageB(t.hs,r);else if(t.mc===2){let{h:o,messageBuffer:s,cs1:a,cs2:c}=this.writeMessageC(t.hs,r);i=s,t.h=o,t.cs1=a,t.cs2=c}else if(t.mc>2)if(t.i){if(!t.cs1)throw new Error("CS1 (cipher state) is not defined");i=this.writeMessageRegular(t.cs1,r)}else{if(!t.cs2)throw new Error("CS2 (cipher state) is not defined");i=this.writeMessageRegular(t.cs2,r)}else throw new Error("Session invalid.");return t.mc++,i}recvMessage(t,r){let n=pt(0),i=!1;if(t.mc===0)({plaintext:n,valid:i}=this.readMessageA(t.hs,r));else if(t.mc===1)({plaintext:n,valid:i}=this.readMessageB(t.hs,r));else if(t.mc===2){let{h:o,plaintext:s,valid:a,cs1:c,cs2:u}=this.readMessageC(t.hs,r);n=s,i=a,t.h=o,t.cs1=c,t.cs2=u}return t.mc++,{plaintext:n,valid:i}}};function Rp(e,t){!t.enabled||!Pn||(t(`LOCAL_STATIC_PUBLIC_KEY ${Tt(e.publicKey,"hex")}`),t(`LOCAL_STATIC_PRIVATE_KEY ${Tt(e.privateKey,"hex")}`))}function F0(e,t){!t.enabled||!Pn||(e?(t(`LOCAL_PUBLIC_EPHEMERAL_KEY ${Tt(e.publicKey,"hex")}`),t(`LOCAL_PRIVATE_EPHEMERAL_KEY ${Tt(e.privateKey,"hex")}`)):t("Missing local ephemeral keys."))}function Lp(e,t){!t.enabled||!Pn||t(`REMOTE_STATIC_PUBLIC_KEY ${Tt(e.subarray(),"hex")}`)}function V0(e,t){!t.enabled||!Pn||t(`REMOTE_EPHEMERAL_PUBLIC_KEY ${Tt(e.subarray(),"hex")}`)}function Np(e,t){!t.enabled||!Pn||(e.cs1&&e.cs2?(t(`CIPHER_STATE_1 ${e.cs1.n.getUint64()} ${Tt(e.cs1.k,"hex")}`),t(`CIPHER_STATE_2 ${e.cs2.n.getUint64()} ${Tt(e.cs2.k,"hex")}`)):t("Missing cipher state."))}var Ps=class{isInitiator;session;remotePeer;remoteExtensions={webtransportCerthashes:[]};payload;connection;xx;staticKeypair;prologue;log;constructor(t,r,n,i,o,s,a,c,u){this.log=t.logger.forComponent("libp2p:noise:xxhandshake"),this.isInitiator=r,this.payload=n,this.prologue=i,this.staticKeypair=s,this.connection=a,c&&(this.remotePeer=c),this.xx=u??new Ns(t,o),this.session=this.xx.initSession(this.isInitiator,this.prologue,this.staticKeypair)}async propose(){if(Rp(this.session.hs.s,this.log),this.isInitiator){this.log.trace("Stage 0 - Initiator starting to send first message.");let t=this.xx.sendMessage(this.session,pt(0));await this.connection.write(gh(t)),this.log.trace("Stage 0 - Initiator finished sending first message."),F0(this.session.hs.e,this.log)}else{this.log.trace("Stage 0 - Responder waiting to receive first message...");let t=wh((await this.connection.read()).subarray()),{valid:r}=this.xx.recvMessage(this.session,t);if(!r)throw new nn("xx handshake stage 0 validation fail");this.log.trace("Stage 0 - Responder received first message."),V0(this.session.hs.re,this.log)}}async exchange(){if(this.isInitiator){this.log.trace("Stage 1 - Initiator waiting to receive first message from responder...");let t=vh((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new nn("xx handshake stage 1 validation fail");this.log.trace("Stage 1 - Initiator received the message."),V0(this.session.hs.re,this.log),Lp(this.session.hs.rs,this.log),this.log.trace("Initiator going to check remote's signature...");try{let i=K0(r);this.remotePeer=this.remotePeer||await O0(i),await M0(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new Ri(`Error occurred while verifying signed payload: ${o.message}`)}this.log.trace("All good with the signature!")}else{this.log.trace("Stage 1 - Responder sending out first message with signed payload and static key.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(xh(t)),this.log.trace("Stage 1 - Responder sent the second handshake message with signed payload."),F0(this.session.hs.e,this.log)}}async finish(){if(this.isInitiator){this.log.trace("Stage 2 - Initiator sending third handshake message.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(bh(t)),this.log.trace("Stage 2 - Initiator sent message with signed payload.")}else{this.log.trace("Stage 2 - Responder waiting for third handshake message...");let t=Eh((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new nn("xx handshake stage 2 validation fail");this.log.trace("Stage 2 - Responder received the message, finished handshake.");try{let i=K0(r);this.remotePeer=this.remotePeer||await O0(i),await M0(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new Ri(`Error occurred while verifying signed payload: ${o.message}`)}}Np(this.session,this.log)}encrypt(t,r){let n=this.getCS(r);return this.xx.encryptWithAd(n,pt(0),t)}decrypt(t,r,n){let i=this.getCS(r,!1);return this.xx.decryptWithAd(i,pt(0),t,n)}getRemoteStaticKey(){return this.session.hs.rs}getCS(t,r=!0){if(!t.cs1||!t.cs2)throw new nn("Handshake not completed properly, cipher state does not exist.");return this.isInitiator?r?t.cs1:t.cs2:r?t.cs2:t.cs1}setRemoteNoiseExtension(t){t&&(this.remoteExtensions=t)}};function Pp(e){return{xxHandshakeSuccesses:e.registerCounter("libp2p_noise_xxhandshake_successes_total",{help:"Total count of noise xxHandshakes successes_"}),xxHandshakeErrors:e.registerCounter("libp2p_noise_xxhandshake_error_total",{help:"Total count of noise xxHandshakes errors"}),encryptedPackets:e.registerCounter("libp2p_noise_encrypted_packets_total",{help:"Total count of noise encrypted packets successfully"}),decryptedPackets:e.registerCounter("libp2p_noise_decrypted_packets_total",{help:"Total count of noise decrypted packets"}),decryptErrors:e.registerCounter("libp2p_noise_decrypt_errors_total",{help:"Total count of noise decrypt errors"})}}var Us=class{protocol="/noise";crypto;prologue;staticKeys;extensions;metrics;components;constructor(t,r={}){let{staticNoiseKey:n,extensions:i,crypto:o,prologueBytes:s}=r,{metrics:a}=t;this.components=t,this.crypto=o??mh,this.extensions=i,this.metrics=a?Pp(a):void 0,n?this.staticKeys=this.crypto.generateX25519KeyPairFromSeed(n):this.staticKeys=this.crypto.generateX25519KeyPair(),this.prologue=s??pt(0)}async secureOutbound(t,r,n){let i=Si(r,{lengthEncoder:qn,lengthDecoder:_i,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!0,localPeer:t,remotePeer:n}),s=await this.createSecureConnection(i,o);return r.source=s.source,r.sink=s.sink,{conn:r,remoteExtensions:o.remoteExtensions,remotePeer:o.remotePeer}}async secureInbound(t,r,n){let i=Si(r,{lengthEncoder:qn,lengthDecoder:_i,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!1,localPeer:t,remotePeer:n}),s=await this.createSecureConnection(i,o);return r.source=s.source,r.sink=s.sink,{conn:r,remotePeer:o.remotePeer,remoteExtensions:o.remoteExtensions}}async performHandshake(t){let r=await _p(t.localPeer,this.staticKeys.publicKey,this.extensions);return this.performXXHandshake(t,r)}async performXXHandshake(t,r){let{isInitiator:n,remotePeer:i,connection:o}=t,s=new Ps(this.components,n,r,this.prologue,this.crypto,this.staticKeys,o,i);try{await s.propose(),await s.exchange(),await s.finish(),this.metrics?.xxHandshakeSuccesses.increment()}catch(a){if(this.metrics?.xxHandshakeErrors.increment(),a instanceof Error)throw a.message=`Error occurred during XX handshake: ${a.message}`,a}return s}async createSecureConnection(t,r){let[n,i]=_l(),o=t.unwrap();return await Rl(n,Dh(r,this.metrics),o,s=>zr(s,{lengthDecoder:_i}),Ch(r,this.metrics),n),i}};function Up(e={}){return t=>new Us(t,e)}var h2=Zt(gu(),1);var o2=Zt(gu(),1);var xu=Object.values(Qt).map(e=>e.decoder).reduce((e,t)=>e.or(t));function s2(e,t){let r=e.getConfiguration().certificates?.at(0);if(r==null||r.getFingerprints==null){t.log.trace("fetching fingerprint from local SDP");let i=e.localDescription;return i==null?void 0:GE(i.sdp)}if(t.log.trace("fetching fingerprint from local certificate"),r.getFingerprints().length===0)return;let n=r.getFingerprints()[0].value;if(n==null)throw ja("","no fingerprint on local certificate");return n}var zE=/^a=fingerprint:(?:\w+-[0-9]+)\s(?<fingerprint>(:?[0-9a-fA-F]{2})+)$/m;function GE(e){return e.match(zE)?.groups?.fingerprint}function WE(e){for(let t of e.protoNames())if(t.startsWith("ip"))return t.toUpperCase();return"IP6"}function Ys(e){let r=e.stringTuples().filter(n=>n[0]===u2).map(n=>n[1])[0];if(r===void 0||r==="")throw vo(`Couldn't find a certhash component of multiaddr: ${e.toString()}`);return r}function bu(e){let t=xu.decode(e);return o2.decode(t)}function $E(e){let t=bu(Ys(e)),r=wu(t.name),n=t.digest.reduce((o,s)=>o+s.toString(16).padStart(2,"0"),""),i=n.match(/.{1,2}/g);if(i==null)throw ja(n,e.toString());return[`${r.toUpperCase()} ${i.join(":").toUpperCase()}`,n]}function wu(e){switch(e){case"sha1":return"sha-1";case"sha2-256":return"sha-256";case"sha2-512":return"sha-512";default:throw Lf(e)}}function YE(e,t){let{host:r,port:n}=e.toOptions(),i=WE(e),[o]=$E(e);return`v=0
30
30
  o=- 0 0 IN ${i} ${r}
31
31
  s=-
32
32
  c=IN ${i} ${r}
@@ -41,11 +41,11 @@ a=fingerprint:${o}
41
41
  a=sctp-port:5000
42
42
  a=max-message-size:16384
43
43
  a=candidate:1467250027 1 UDP 1467250027 ${r} ${n} typ host\r
44
- `}function R1(e,t){return{type:"answer",sdp:mE(e,t)}}function L1(e,t){if(e.sdp===void 0)throw ui("Can't munge a missing SDP");return e.sdp=e.sdp.replace(/\na=ice-ufrag:[^\n]*\n/,`
44
+ `}function a2(e,t){return{type:"answer",sdp:YE(e,t)}}function c2(e,t){if(e.sdp===void 0)throw mi("Can't munge a missing SDP");return e.sdp=e.sdp.replace(/\na=ice-ufrag:[^\n]*\n/,`
45
45
  a=ice-ufrag:`+t+`
46
46
  `).replace(/\na=ice-pwd:[^\n]*\n/,`
47
47
  a=ice-pwd:`+t+`
48
- `),e}var P1=Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),U1=e=>[...Array(e)].map(()=>P1.at(Math.floor(Math.random()*P1.length))).join("");var xE=1e4,Ek=yt("webrtc-direct").code,N1=yt("certhash").code,Ks=class{log;metrics;components;init;constructor(t,r={}){this.log=t.logger.forComponent("libp2p:webrtc-direct"),this.components=t,this.init=r,t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_webrtc-direct_dialer_events_total",{label:"event",help:"Total count of WebRTC-direct dial events by type"})})}async dial(t,r){let n=await this._connect(t,r);return this.log("dialing address: %a",t),n}createListener(t){throw pf("WebRTCTransport.createListener")}filter(t){return t.filter(lf.exactMatch)}[Symbol.toStringTag]="@libp2p/webrtc-direct";[Yi]=!0;async _connect(t,r){let n=new AbortController,i=n.signal,o=t.getPeerId();if(o===null)throw fo("we need to have the remote's PeerId");let s=Ur(o),a=iu(Os(t)),c=await Cn.generateCertificate({name:"ECDSA",namedCurve:"P-256",hash:ou(a.name)}),u=new Cn({certificates:[c]});try{let f=new Promise((B,O)=>{let K=u.createDataChannel("",{negotiated:!0,id:0}),U=setTimeout(()=>{let F=`Data channel was never opened: state: ${K.readyState}`;this.log.error(F),this.metrics?.dialerEvents.increment({open_error:!0}),O(Ma("data",F))},xE);K.onopen=F=>{clearTimeout(U),B(K)},K.onerror=F=>{clearTimeout(U);let Q=`Error opening a data channel for handshaking: ${F.target?.toString()??"not specified"}`;this.log.error(Q),this.metrics?.dialerEvents.increment({unknown_error:!0}),O(Ma("data",Q))}}),l="libp2p+webrtc+v1/"+U1(32),d=await u.createOffer(),y=L1(d,l);await u.setLocalDescription(y);let h=R1(t,l);await u.setRemoteDescription(h);let p=await f,m=this.components.peerId,g=this.generateNoisePrologue(u,a.code,t),b=ap({prologueBytes:g})(this.components),x=Dn({channel:p,direction:"inbound",logger:this.components.logger,...this.init.dataChannel??{}}),D={...x,sink:x.sink.bind(x),source:async function*(){for await(let B of x.source)for(let O of B)yield O}()},v=new Kr(this.components,{peerConnection:u,remoteAddr:t,timeline:{open:Date.now()},metrics:this.metrics?.dialerEvents}),E=fi?"iceconnectionstatechange":"connectionstatechange";u.addEventListener(E,()=>{switch(u.connectionState){case"failed":case"disconnected":case"closed":v.close().catch(B=>{this.log.error("error closing connection",B)}).finally(()=>{n.abort()});break;default:break}},{signal:i}),this.metrics?.dialerEvents.increment({peer_connection:!0});let C=new zr(this.components,{peerConnection:u,metrics:this.metrics?.dialerEvents,dataChannelOptions:this.init.dataChannel});return await b.secureInbound(m,D,s),await r.upgrader.upgradeOutbound(v,{skipProtection:!0,skipEncryption:!0,muxerFactory:C})}catch(f){throw u.close(),f}}generateNoisePrologue(t,r,n){if(t.getConfiguration().certificates?.length===0)throw ui("no local certificate");let i=k1(t,{log:this.log});if(i==null)throw ui("no local fingerprint found");let o=i.trim().toLowerCase().replaceAll(":",""),s=wt(o,"hex"),a=O1.encode(s,r),c=nu.decode(Os(n)),u=wt("libp2p-webrtc-noise:");return Ct([u,a,c])}};function bE(e){return t=>new Ks(t,e)}function wE(e){return t=>new Ro(t,e)}return $i(vE);})();
48
+ `),e}var f2=Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),l2=e=>[...Array(e)].map(()=>f2.at(Math.floor(Math.random()*f2.length))).join("");var ZE=1e4,MR=dt("webrtc-direct").code,u2=dt("certhash").code,Xs=class{log;metrics;components;init;constructor(t,r={}){this.log=t.logger.forComponent("libp2p:webrtc-direct"),this.components=t,this.init=r,t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_webrtc-direct_dialer_events_total",{label:"event",help:"Total count of WebRTC-direct dial events by type"})})}async dial(t,r){let n=await this._connect(t,r);return this.log("dialing address: %a",t),n}createListener(t){throw Rf("WebRTCTransport.createListener")}filter(t){return t.filter(If.exactMatch)}[Symbol.toStringTag]="@libp2p/webrtc-direct";[no]=!0;async _connect(t,r){let n=new AbortController,i=n.signal,o=t.getPeerId();if(o===null)throw vo("we need to have the remote's PeerId");let s=Fr(o),a=bu(Ys(t)),c=await Ln.generateCertificate({name:"ECDSA",namedCurve:"P-256",hash:wu(a.name)}),u=new Ln({certificates:[c]});try{let f=new Promise((B,O)=>{let K=u.createDataChannel("",{negotiated:!0,id:0}),U=setTimeout(()=>{let F=`Data channel was never opened: state: ${K.readyState}`;this.log.error(F),this.metrics?.dialerEvents.increment({open_error:!0}),O(Qa("data",F))},ZE);K.onopen=F=>{clearTimeout(U),B(K)},K.onerror=F=>{clearTimeout(U);let Q=`Error opening a data channel for handshaking: ${F.target?.toString()??"not specified"}`;this.log.error(Q),this.metrics?.dialerEvents.increment({unknown_error:!0}),O(Qa("data",Q))}}),l="libp2p+webrtc+v1/"+l2(32),d=await u.createOffer(),y=c2(d,l);await u.setLocalDescription(y);let h=a2(t,l);await u.setRemoteDescription(h);let p=await f,m=this.components.peerId,g=this.generateNoisePrologue(u,a.code,t),b=Up({prologueBytes:g})(this.components),x=Rn({channel:p,direction:"inbound",logger:this.components.logger,...this.init.dataChannel??{}}),D={...x,sink:x.sink.bind(x),source:async function*(){for await(let B of x.source)for(let O of B)yield O}()},v=new Hr(this.components,{peerConnection:u,remoteAddr:t,timeline:{open:Date.now()},metrics:this.metrics?.dialerEvents}),E=gi?"iceconnectionstatechange":"connectionstatechange";u.addEventListener(E,()=>{switch(u.connectionState){case"failed":case"disconnected":case"closed":v.close().catch(B=>{this.log.error("error closing connection",B)}).finally(()=>{n.abort()});break;default:break}},{signal:i}),this.metrics?.dialerEvents.increment({peer_connection:!0});let C=new Xr(this.components,{peerConnection:u,metrics:this.metrics?.dialerEvents,dataChannelOptions:this.init.dataChannel});return await b.secureInbound(m,D,s),await r.upgrader.upgradeOutbound(v,{skipProtection:!0,skipEncryption:!0,muxerFactory:C})}catch(f){throw u.close(),f}}generateNoisePrologue(t,r,n){if(t.getConfiguration().certificates?.length===0)throw mi("no local certificate");let i=s2(t,{log:this.log});if(i==null)throw mi("no local fingerprint found");let o=i.trim().toLowerCase().replaceAll(":",""),s=Pt(o,"hex"),a=h2.encode(s,r),c=xu.decode(Ys(n)),u=Pt("libp2p-webrtc-noise:");return ge([u,a,c])}};function QE(e){return t=>new Xs(t,e)}function jE(e){return t=>new qo(t,e)}return ro(JE);})();
49
49
  /*! Bundled license information:
50
50
 
51
51
  @noble/ciphers/esm/utils.js: