UNPKG

loopso-bridge-sdk

Version:
9 lines 814 kB
(()=>{var a5=Object.create;var Po=Object.defineProperty;var r5=Object.getOwnPropertyDescriptor;var n5=Object.getOwnPropertyNames;var i5=Object.getPrototypeOf,s5=Object.prototype.hasOwnProperty;var o5=(a,e,t)=>e in a?Po(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Q=(a=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(a,{get:(e,t)=>(typeof require!="undefined"?require:e)[t]}):a)(function(a){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+a+'" is not supported')});var p5=(a,e)=>()=>(a&&(e=a(a=0)),e);var ie=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports),x2=(a,e)=>{for(var t in e)Po(a,t,{get:e[t],enumerable:!0})},V4=(a,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of n5(e))!s5.call(a,n)&&n!==t&&Po(a,n,{get:()=>e[n],enumerable:!(r=r5(e,n))||r.enumerable});return a};var ct=(a,e,t)=>(t=a!=null?a5(i5(a)):{},V4(e||!a||!a.__esModule?Po(t,"default",{value:a,enumerable:!0}):t,a)),d5=a=>V4(Po({},"__esModule",{value:!0}),a);var b=(a,e,t)=>(o5(a,typeof e!="symbol"?e+"":e,t),t),g2=(a,e,t)=>{if(!e.has(a))throw TypeError("Cannot "+t)};var l=(a,e,t)=>(g2(a,e,"read from private field"),t?t.call(a):e.get(a)),y=(a,e,t)=>{if(e.has(a))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(a):e.set(a,t)},m=(a,e,t,r)=>(g2(a,e,"write to private field"),r?r.call(a,t):e.set(a,t),t),br=(a,e,t,r)=>({set _(n){m(a,e,n,t)},get _(){return l(a,e,r)}}),E=(a,e,t)=>(g2(a,e,"access private method"),t);var vu=ie((aR,yu)=>{"use strict";var{Duplex:Ih}=Q("stream");function gu(a){a.emit("close")}function _h(){!this.destroyed&&this._writableState.finished&&this.destroy()}function bu(a){this.removeListener("error",bu),this.destroy(),this.listenerCount("error")===0&&this.emit("error",a)}function Ph(a,e){let t=!0,r=new Ih({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return a.on("message",function(i,s){let o=!s&&r._readableState.objectMode?i.toString():i;r.push(o)||a.pause()}),a.once("error",function(i){r.destroyed||(t=!1,r.destroy(i))}),a.once("close",function(){r.destroyed||r.push(null)}),r._destroy=function(n,i){if(a.readyState===a.CLOSED){i(n),process.nextTick(gu,r);return}let s=!1;a.once("error",function(p){s=!0,i(p)}),a.once("close",function(){s||i(n),process.nextTick(gu,r)}),t&&a.terminate()},r._final=function(n){if(a.readyState===a.CONNECTING){a.once("open",function(){r._final(n)});return}a._socket!==null&&(a._socket._writableState.finished?(n(),r._readableState.endEmitted&&r.destroy()):(a._socket.once("finish",function(){n()}),a.close()))},r._read=function(){a.isPaused&&a.resume()},r._write=function(n,i,s){if(a.readyState===a.CONNECTING){a.once("open",function(){r._write(n,i,s)});return}a.send(n,s)},r.on("end",_h),r.on("error",bu),r}yu.exports=Ph});var Y1=ie((rR,wu)=>{"use strict";wu.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var Mu=ie((nR,Fu)=>{var Nu=Q("fs"),qr=Q("path"),Su=Q("os"),Ru=typeof __webpack_require__=="function"?__non_webpack_require__:Q,Fh=process.config&&process.config.variables||{},Mh=!!process.env.PREBUILDS_ONLY,Au=process.versions.modules,n6=Jh()?"electron":kh()?"node-webkit":"node",i6=process.env.npm_config_arch||Su.arch(),s6=process.env.npm_config_platform||Su.platform(),Lu=process.env.LIBC||(Vh(s6)?"musl":"glibc"),o6=process.env.ARM_VERSION||(i6==="arm64"?"8":Fh.arm_version)||"",Bu=(process.versions.uv||"").split(".")[0];Fu.exports=ar;function ar(a){return Ru(ar.resolve(a))}ar.resolve=ar.path=function(a){a=qr.resolve(a||".");try{var e=Ru(qr.join(a,"package.json")).name.toUpperCase().replace(/-/g,"_");process.env[e+"_PREBUILD"]&&(a=process.env[e+"_PREBUILD"])}catch(p){}if(!Mh){var t=Tu(qr.join(a,"build/Release"),Eu);if(t)return t;var r=Tu(qr.join(a,"build/Debug"),Eu);if(r)return r}var n=o(a);if(n)return n;var i=o(qr.dirname(process.execPath));if(i)return i;var s=["platform="+s6,"arch="+i6,"runtime="+n6,"abi="+Au,"uv="+Bu,o6?"armv="+o6:"","libc="+Lu,"node="+process.versions.node,process.versions.electron?"electron="+process.versions.electron:"",typeof __webpack_require__=="function"?"webpack=true":""].filter(Boolean).join(" ");throw new Error("No native build was found for "+s+` loaded from: `+a+` `);function o(p){var d=p6(qr.join(p,"prebuilds")).map(Cu),c=d.filter(Ou(s6,i6)).sort(Du)[0];if(c){var u=qr.join(p,"prebuilds",c.name),h=p6(u).map(Iu),x=h.filter(_u(n6,Au)),v=x.sort(Pu(n6))[0];if(v)return qr.join(u,v.file)}}};function p6(a){try{return Nu.readdirSync(a)}catch(e){return[]}}function Tu(a,e){var t=p6(a).filter(e);return t[0]&&qr.join(a,t[0])}function Eu(a){return/\.node$/.test(a)}function Cu(a){var e=a.split("-");if(e.length===2){var t=e[0],r=e[1].split("+");if(t&&r.length&&r.every(Boolean))return{name:a,platform:t,architectures:r}}}function Ou(a,e){return function(t){return t==null||t.platform!==a?!1:t.architectures.includes(e)}}function Du(a,e){return a.architectures.length-e.architectures.length}function Iu(a){var e=a.split("."),t=e.pop(),r={file:a,specificity:0};if(t==="node"){for(var n=0;n<e.length;n++){var i=e[n];if(i==="node"||i==="electron"||i==="node-webkit")r.runtime=i;else if(i==="napi")r.napi=!0;else if(i.slice(0,3)==="abi")r.abi=i.slice(3);else if(i.slice(0,2)==="uv")r.uv=i.slice(2);else if(i.slice(0,4)==="armv")r.armv=i.slice(4);else if(i==="glibc"||i==="musl")r.libc=i;else continue;r.specificity++}return r}}function _u(a,e){return function(t){return!(t==null||t.runtime!==a&&!Uh(t)||t.abi!==e&&!t.napi||t.uv&&t.uv!==Bu||t.armv&&t.armv!==o6||t.libc&&t.libc!==Lu)}}function Uh(a){return a.runtime==="node"&&a.napi}function Pu(a){return function(e,t){return e.runtime!==t.runtime?e.runtime===a?-1:1:e.abi!==t.abi?e.abi?-1:1:e.specificity!==t.specificity?e.specificity>t.specificity?-1:1:0}}function kh(){return!!(process.versions&&process.versions.nw)}function Jh(){return process.versions&&process.versions.electron||process.env.ELECTRON_RUN_AS_NODE?!0:typeof window!="undefined"&&window.process&&window.process.type==="renderer"}function Vh(a){return a==="linux"&&Nu.existsSync("/etc/alpine-release")}ar.parseTags=Iu;ar.matchTags=_u;ar.compareTags=Pu;ar.parseTuple=Cu;ar.matchTuple=Ou;ar.compareTuples=Du});var l6=ie((sR,d6)=>{typeof process.addon=="function"?d6.exports=process.addon.bind(process):d6.exports=Mu()});var ku=ie((oR,Uu)=>{"use strict";var Gh=(a,e,t,r,n)=>{for(var i=0;i<n;i++)t[r+i]=a[i]^e[i&3]},Xh=(a,e)=>{let t=a.length;for(var r=0;r<t;r++)a[r]^=e[r&3]};Uu.exports={mask:Gh,unmask:Xh}});var Ju=ie((pR,c6)=>{"use strict";try{c6.exports=l6()(__dirname)}catch(a){c6.exports=ku()}});var k0=ie((dR,u6)=>{"use strict";var{EMPTY_BUFFER:Hh}=Y1();function Vu(a,e){if(a.length===0)return Hh;if(a.length===1)return a[0];let t=Buffer.allocUnsafe(e),r=0;for(let n=0;n<a.length;n++){let i=a[n];t.set(i,r),r+=i.length}return r<e?t.slice(0,r):t}function Gu(a,e,t,r,n){for(let i=0;i<n;i++)t[r+i]=a[i]^e[i&3]}function Xu(a,e){for(let t=0;t<a.length;t++)a[t]^=e[t&3]}function Hu(a){return a.byteLength===a.buffer.byteLength?a.buffer:a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength)}function Xd(a){if(Xd.readOnly=!0,Buffer.isBuffer(a))return a;let e;return a instanceof ArrayBuffer?e=Buffer.from(a):ArrayBuffer.isView(a)?e=Buffer.from(a.buffer,a.byteOffset,a.byteLength):(e=Buffer.from(a),Xd.readOnly=!1),e}try{let a=Ju();u6.exports={concat:Vu,mask(e,t,r,n,i){i<48?Gu(e,t,r,n,i):a.mask(e,t,r,n,i)},toArrayBuffer:Hu,toBuffer:Xd,unmask(e,t){e.length<32?Xu(e,t):a.unmask(e,t)}}}catch(a){u6.exports={concat:Vu,mask:Gu,toArrayBuffer:Hu,toBuffer:Xd,unmask:Xu}}});var zu=ie((lR,Zu)=>{"use strict";var Qu=Symbol("kDone"),m6=Symbol("kRun"),f6=class{constructor(e){this[Qu]=()=>{this.pending--,this[m6]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[m6]()}[m6](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[Qu])}}};Zu.exports=f6});var G0=ie((cR,Yu)=>{"use strict";var J0=Q("zlib"),$u=k0(),Qh=zu(),{kStatusCode:Ku}=Y1(),Zh=Buffer.from([0,0,255,255]),Zd=Symbol("permessage-deflate"),e1=Symbol("total-length"),V0=Symbol("callback"),W1=Symbol("buffers"),Qd=Symbol("error"),Hd,h6=class{constructor(e,t,r){if(this._maxPayload=r|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!Hd){let n=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;Hd=new Qh(n)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[V0];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,r=e.find(n=>!(t.serverNoContextTakeover===!1&&n.server_no_context_takeover||n.server_max_window_bits&&(t.serverMaxWindowBits===!1||typeof t.serverMaxWindowBits=="number"&&t.serverMaxWindowBits>n.server_max_window_bits)||typeof t.clientMaxWindowBits=="number"&&!n.client_max_window_bits));if(!r)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(r.server_no_context_takeover=!0),t.clientNoContextTakeover&&(r.client_no_context_takeover=!0),typeof t.serverMaxWindowBits=="number"&&(r.server_max_window_bits=t.serverMaxWindowBits),typeof t.clientMaxWindowBits=="number"?r.client_max_window_bits=t.clientMaxWindowBits:(r.client_max_window_bits===!0||t.clientMaxWindowBits===!1)&&delete r.client_max_window_bits,r}acceptAsClient(e){let t=e[0];if(this._options.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!t.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(t.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return t}normalizeParams(e){return e.forEach(t=>{Object.keys(t).forEach(r=>{let n=t[r];if(n.length>1)throw new Error(`Parameter "${r}" must have only a single value`);if(n=n[0],r==="client_max_window_bits"){if(n!==!0){let i=+n;if(!Number.isInteger(i)||i<8||i>15)throw new TypeError(`Invalid value for parameter "${r}": ${n}`);n=i}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${r}": ${n}`)}else if(r==="server_max_window_bits"){let i=+n;if(!Number.isInteger(i)||i<8||i>15)throw new TypeError(`Invalid value for parameter "${r}": ${n}`);n=i}else if(r==="client_no_context_takeover"||r==="server_no_context_takeover"){if(n!==!0)throw new TypeError(`Invalid value for parameter "${r}": ${n}`)}else throw new Error(`Unknown parameter "${r}"`);t[r]=n})}),e}decompress(e,t,r){Hd.add(n=>{this._decompress(e,t,(i,s)=>{n(),r(i,s)})})}compress(e,t,r){Hd.add(n=>{this._compress(e,t,(i,s)=>{n(),r(i,s)})})}_decompress(e,t,r){let n=this._isServer?"client":"server";if(!this._inflate){let i=`${n}_max_window_bits`,s=typeof this.params[i]!="number"?J0.Z_DEFAULT_WINDOWBITS:this.params[i];this._inflate=J0.createInflateRaw({...this._options.zlibInflateOptions,windowBits:s}),this._inflate[Zd]=this,this._inflate[e1]=0,this._inflate[W1]=[],this._inflate.on("error",$h),this._inflate.on("data",ju)}this._inflate[V0]=r,this._inflate.write(e),t&&this._inflate.write(Zh),this._inflate.flush(()=>{let i=this._inflate[Qd];if(i){this._inflate.close(),this._inflate=null,r(i);return}let s=$u.concat(this._inflate[W1],this._inflate[e1]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[e1]=0,this._inflate[W1]=[],t&&this.params[`${n}_no_context_takeover`]&&this._inflate.reset()),r(null,s)})}_compress(e,t,r){let n=this._isServer?"server":"client";if(!this._deflate){let i=`${n}_max_window_bits`,s=typeof this.params[i]!="number"?J0.Z_DEFAULT_WINDOWBITS:this.params[i];this._deflate=J0.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:s}),this._deflate[e1]=0,this._deflate[W1]=[],this._deflate.on("data",zh)}this._deflate[V0]=r,this._deflate.write(e),this._deflate.flush(J0.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let i=$u.concat(this._deflate[W1],this._deflate[e1]);t&&(i=i.slice(0,i.length-4)),this._deflate[V0]=null,this._deflate[e1]=0,this._deflate[W1]=[],t&&this.params[`${n}_no_context_takeover`]&&this._deflate.reset(),r(null,i)})}};Yu.exports=h6;function zh(a){this[W1].push(a),this[e1]+=a.length}function ju(a){if(this[e1]+=a.length,this[Zd]._maxPayload<1||this[e1]<=this[Zd]._maxPayload){this[W1].push(a);return}this[Qd]=new RangeError("Max payload size exceeded"),this[Qd].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[Qd][Ku]=1009,this.removeListener("data",ju),this.reset()}function $h(a){this[Zd]._inflate=null,a[Ku]=1007,this[V0](a)}});var qu=ie((uR,Wu)=>{"use strict";function Kh(a){let e=a.length,t=0;for(;t<e;)if(!(a[t]&128))t++;else if((a[t]&224)===192){if(t+1===e||(a[t+1]&192)!==128||(a[t]&254)===192)return!1;t+=2}else if((a[t]&240)===224){if(t+2>=e||(a[t+1]&192)!==128||(a[t+2]&192)!==128||a[t]===224&&(a[t+1]&224)===128||a[t]===237&&(a[t+1]&224)===160)return!1;t+=3}else if((a[t]&248)===240){if(t+3>=e||(a[t+1]&192)!==128||(a[t+2]&192)!==128||(a[t+3]&192)!==128||a[t]===240&&(a[t+1]&240)===128||a[t]===244&&a[t+1]>143||a[t]>244)return!1;t+=4}else return!1;return!0}Wu.exports=Kh});var e9=ie((mR,x6)=>{"use strict";try{x6.exports=l6()(__dirname)}catch(a){x6.exports=qu()}});var X0=ie((fR,g6)=>{"use strict";var t9=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function a9(a){return a>=1e3&&a<=1014&&a!==1004&&a!==1005&&a!==1006||a>=3e3&&a<=4999}function r9(a){let e=a.length,t=0;for(;t<e;)if(!(a[t]&128))t++;else if((a[t]&224)===192){if(t+1===e||(a[t+1]&192)!==128||(a[t]&254)===192)return!1;t+=2}else if((a[t]&240)===224){if(t+2>=e||(a[t+1]&192)!==128||(a[t+2]&192)!==128||a[t]===224&&(a[t+1]&224)===128||a[t]===237&&(a[t+1]&224)===160)return!1;t+=3}else if((a[t]&248)===240){if(t+3>=e||(a[t+1]&192)!==128||(a[t+2]&192)!==128||(a[t+3]&192)!==128||a[t]===240&&(a[t+1]&240)===128||a[t]===244&&a[t+1]>143||a[t]>244)return!1;t+=4}else return!1;return!0}try{let a=e9();g6.exports={isValidStatusCode:a9,isValidUTF8(e){return e.length<150?r9(e):a(e)},tokenChars:t9}}catch(a){g6.exports={isValidStatusCode:a9,isValidUTF8:r9,tokenChars:t9}}});var w6=ie((hR,l9)=>{"use strict";var{Writable:jh}=Q("stream"),n9=G0(),{BINARY_TYPES:Yh,EMPTY_BUFFER:i9,kStatusCode:Wh,kWebSocket:qh}=Y1(),{concat:b6,toArrayBuffer:ex,unmask:tx}=k0(),{isValidStatusCode:ax,isValidUTF8:s9}=X0(),H0=0,o9=1,p9=2,d9=3,y6=4,rx=5,v6=class extends jh{constructor(e={}){super(),this._binaryType=e.binaryType||Yh[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[qh]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._state=H0,this._loop=!1}_write(e,t,r){if(this._opcode===8&&this._state==H0)return r();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(r)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let r=this._buffers[0];return this._buffers[0]=r.slice(e),r.slice(0,e)}let t=Buffer.allocUnsafe(e);do{let r=this._buffers[0],n=t.length-e;e>=r.length?t.set(this._buffers.shift(),n):(t.set(new Uint8Array(r.buffer,r.byteOffset,e),n),this._buffers[0]=r.slice(e)),e-=r.length}while(e>0);return t}startLoop(e){let t;this._loop=!0;do switch(this._state){case H0:t=this.getInfo();break;case o9:t=this.getPayloadLength16();break;case p9:t=this.getPayloadLength64();break;case d9:this.getMask();break;case y6:t=this.getData(e);break;default:this._loop=!1;return}while(this._loop);e(t)}getInfo(){if(this._bufferedBytes<2){this._loop=!1;return}let e=this.consume(2);if(e[0]&48)return this._loop=!1,Fe(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");let t=(e[0]&64)===64;if(t&&!this._extensions[n9.extensionName])return this._loop=!1,Fe(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(this._fin=(e[0]&128)===128,this._opcode=e[0]&15,this._payloadLength=e[1]&127,this._opcode===0){if(t)return this._loop=!1,Fe(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(!this._fragmented)return this._loop=!1,Fe(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented)return this._loop=!1,Fe(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");this._compressed=t}else if(this._opcode>7&&this._opcode<11){if(!this._fin)return this._loop=!1,Fe(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");if(t)return this._loop=!1,Fe(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(this._payloadLength>125)return this._loop=!1,Fe(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH")}else return this._loop=!1,Fe(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(e[1]&128)===128,this._isServer){if(!this._masked)return this._loop=!1,Fe(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK")}else if(this._masked)return this._loop=!1,Fe(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");if(this._payloadLength===126)this._state=o9;else if(this._payloadLength===127)this._state=p9;else return this.haveLength()}getPayloadLength16(){if(this._bufferedBytes<2){this._loop=!1;return}return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength()}getPayloadLength64(){if(this._bufferedBytes<8){this._loop=!1;return}let e=this.consume(8),t=e.readUInt32BE(0);return t>Math.pow(2,53-32)-1?(this._loop=!1,Fe(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH")):(this._payloadLength=t*Math.pow(2,32)+e.readUInt32BE(4),this.haveLength())}haveLength(){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return this._loop=!1,Fe(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");this._masked?this._state=d9:this._state=y6}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=y6}getData(e){let t=i9;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3]&&tx(t,this._mask)}if(this._opcode>7)return this.controlMessage(t);if(this._compressed){this._state=rx,this.decompress(t,e);return}return t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage()}decompress(e,t){this._extensions[n9.extensionName].decompress(e,this._fin,(n,i)=>{if(n)return t(n);if(i.length){if(this._messageLength+=i.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return t(Fe(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._fragments.push(i)}let s=this.dataMessage();if(s)return t(s);this.startLoop(t)})}dataMessage(){if(this._fin){let e=this._messageLength,t=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let r;this._binaryType==="nodebuffer"?r=b6(t,e):this._binaryType==="arraybuffer"?r=ex(b6(t,e)):r=t,this.emit("message",r,!0)}else{let r=b6(t,e);if(!this._skipUTF8Validation&&!s9(r))return this._loop=!1,Fe(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");this.emit("message",r,!1)}}this._state=H0}controlMessage(e){if(this._opcode===8)if(this._loop=!1,e.length===0)this.emit("conclude",1005,i9),this.end();else{if(e.length===1)return Fe(RangeError,"invalid payload length 1",!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");{let t=e.readUInt16BE(0);if(!ax(t))return Fe(RangeError,`invalid status code ${t}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");let r=e.slice(2);if(!this._skipUTF8Validation&&!s9(r))return Fe(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");this.emit("conclude",t,r),this.end()}}else this._opcode===9?this.emit("ping",e):this.emit("pong",e);this._state=H0}};l9.exports=v6;function Fe(a,e,t,r,n){let i=new a(t?`Invalid WebSocket frame: ${e}`:e);return Error.captureStackTrace(i,Fe),i.code=n,i[Wh]=r,i}});var A6=ie((bR,m9)=>{"use strict";var xR=Q("net"),gR=Q("tls"),{randomFillSync:nx}=Q("crypto"),c9=G0(),{EMPTY_BUFFER:ix}=Y1(),{isValidStatusCode:sx}=X0(),{mask:u9,toBuffer:qs}=k0(),Ma=Symbol("kByteLength"),ox=Buffer.alloc(4),rr=class{constructor(e,t,r){this._extensions=t||{},r&&(this._generateMask=r,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(e,t){let r,n=!1,i=2,s=!1;t.mask&&(r=t.maskBuffer||ox,t.generateMask?t.generateMask(r):nx(r,0,4),s=(r[0]|r[1]|r[2]|r[3])===0,i=6);let o;typeof e=="string"?(!t.mask||s)&&t[Ma]!==void 0?o=t[Ma]:(e=Buffer.from(e),o=e.length):(o=e.length,n=t.mask&&t.readOnly&&!s);let p=o;o>=65536?(i+=8,p=127):o>125&&(i+=2,p=126);let d=Buffer.allocUnsafe(n?o+i:i);return d[0]=t.fin?t.opcode|128:t.opcode,t.rsv1&&(d[0]|=64),d[1]=p,p===126?d.writeUInt16BE(o,2):p===127&&(d[2]=d[3]=0,d.writeUIntBE(o,4,6)),t.mask?(d[1]|=128,d[i-4]=r[0],d[i-3]=r[1],d[i-2]=r[2],d[i-1]=r[3],s?[d,e]:n?(u9(e,r,d,i,o),[d]):(u9(e,r,e,0,o),[d,e])):[d,e]}close(e,t,r,n){let i;if(e===void 0)i=ix;else{if(typeof e!="number"||!sx(e))throw new TypeError("First argument must be a valid error code number");if(t===void 0||!t.length)i=Buffer.allocUnsafe(2),i.writeUInt16BE(e,0);else{let o=Buffer.byteLength(t);if(o>123)throw new RangeError("The message must not be greater than 123 bytes");i=Buffer.allocUnsafe(2+o),i.writeUInt16BE(e,0),typeof t=="string"?i.write(t,2):i.set(t,2)}}let s={[Ma]:i.length,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._deflating?this.enqueue([this.dispatch,i,!1,s,n]):this.sendFrame(rr.frame(i,s),n)}ping(e,t,r){let n,i;if(typeof e=="string"?(n=Buffer.byteLength(e),i=!1):(e=qs(e),n=e.length,i=qs.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let s={[Ma]:n,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:i,rsv1:!1};this._deflating?this.enqueue([this.dispatch,e,!1,s,r]):this.sendFrame(rr.frame(e,s),r)}pong(e,t,r){let n,i;if(typeof e=="string"?(n=Buffer.byteLength(e),i=!1):(e=qs(e),n=e.length,i=qs.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let s={[Ma]:n,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:i,rsv1:!1};this._deflating?this.enqueue([this.dispatch,e,!1,s,r]):this.sendFrame(rr.frame(e,s),r)}send(e,t,r){let n=this._extensions[c9.extensionName],i=t.binary?2:1,s=t.compress,o,p;if(typeof e=="string"?(o=Buffer.byteLength(e),p=!1):(e=qs(e),o=e.length,p=qs.readOnly),this._firstFragment?(this._firstFragment=!1,s&&n&&n.params[n._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(s=o>=n._threshold),this._compress=s):(s=!1,i=0),t.fin&&(this._firstFragment=!0),n){let d={[Ma]:o,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:i,readOnly:p,rsv1:s};this._deflating?this.enqueue([this.dispatch,e,this._compress,d,r]):this.dispatch(e,this._compress,d,r)}else this.sendFrame(rr.frame(e,{[Ma]:o,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:i,readOnly:p,rsv1:!1}),r)}dispatch(e,t,r,n){if(!t){this.sendFrame(rr.frame(e,r),n);return}let i=this._extensions[c9.extensionName];this._bufferedBytes+=r[Ma],this._deflating=!0,i.compress(e,r.fin,(s,o)=>{if(this._socket.destroyed){let p=new Error("The socket was closed while data was being compressed");typeof n=="function"&&n(p);for(let d=0;d<this._queue.length;d++){let c=this._queue[d],u=c[c.length-1];typeof u=="function"&&u(p)}return}this._bufferedBytes-=r[Ma],this._deflating=!1,r.readOnly=!1,this.sendFrame(rr.frame(o,r),n),this.dequeue()})}dequeue(){for(;!this._deflating&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][Ma],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][Ma],this._queue.push(e)}sendFrame(e,t){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}};m9.exports=rr});var T9=ie((yR,A9)=>{"use strict";var{kForOnEventAttribute:T6,kListener:f9}=Y1(),h9=Symbol("kCode"),x9=Symbol("kData"),g9=Symbol("kError"),b9=Symbol("kMessage"),y9=Symbol("kReason"),eo=Symbol("kTarget"),v9=Symbol("kType"),w9=Symbol("kWasClean"),t1=class{constructor(e){this[eo]=null,this[v9]=e}get target(){return this[eo]}get type(){return this[v9]}};Object.defineProperty(t1.prototype,"target",{enumerable:!0});Object.defineProperty(t1.prototype,"type",{enumerable:!0});var di=class extends t1{constructor(e,t={}){super(e),this[h9]=t.code===void 0?0:t.code,this[y9]=t.reason===void 0?"":t.reason,this[w9]=t.wasClean===void 0?!1:t.wasClean}get code(){return this[h9]}get reason(){return this[y9]}get wasClean(){return this[w9]}};Object.defineProperty(di.prototype,"code",{enumerable:!0});Object.defineProperty(di.prototype,"reason",{enumerable:!0});Object.defineProperty(di.prototype,"wasClean",{enumerable:!0});var to=class extends t1{constructor(e,t={}){super(e),this[g9]=t.error===void 0?null:t.error,this[b9]=t.message===void 0?"":t.message}get error(){return this[g9]}get message(){return this[b9]}};Object.defineProperty(to.prototype,"error",{enumerable:!0});Object.defineProperty(to.prototype,"message",{enumerable:!0});var Q0=class extends t1{constructor(e,t={}){super(e),this[x9]=t.data===void 0?null:t.data}get data(){return this[x9]}};Object.defineProperty(Q0.prototype,"data",{enumerable:!0});var px={addEventListener(a,e,t={}){let r;if(a==="message")r=function(i,s){let o=new Q0("message",{data:s?i:i.toString()});o[eo]=this,e.call(this,o)};else if(a==="close")r=function(i,s){let o=new di("close",{code:i,reason:s.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});o[eo]=this,e.call(this,o)};else if(a==="error")r=function(i){let s=new to("error",{error:i,message:i.message});s[eo]=this,e.call(this,s)};else if(a==="open")r=function(){let i=new t1("open");i[eo]=this,e.call(this,i)};else return;r[T6]=!!t[T6],r[f9]=e,t.once?this.once(a,r):this.on(a,r)},removeEventListener(a,e){for(let t of this.listeners(a))if(t[f9]===e&&!t[T6]){this.removeListener(a,t);break}}};A9.exports={CloseEvent:di,ErrorEvent:to,Event:t1,EventTarget:px,MessageEvent:Q0}});var E6=ie((vR,E9)=>{"use strict";var{tokenChars:Z0}=X0();function nr(a,e,t){a[e]===void 0?a[e]=[t]:a[e].push(t)}function dx(a){let e=Object.create(null),t=Object.create(null),r=!1,n=!1,i=!1,s,o,p=-1,d=-1,c=-1,u=0;for(;u<a.length;u++)if(d=a.charCodeAt(u),s===void 0)if(c===-1&&Z0[d]===1)p===-1&&(p=u);else if(u!==0&&(d===32||d===9))c===-1&&p!==-1&&(c=u);else if(d===59||d===44){if(p===-1)throw new SyntaxError(`Unexpected character at index ${u}`);c===-1&&(c=u);let x=a.slice(p,c);d===44?(nr(e,x,t),t=Object.create(null)):s=x,p=c=-1}else throw new SyntaxError(`Unexpected character at index ${u}`);else if(o===void 0)if(c===-1&&Z0[d]===1)p===-1&&(p=u);else if(d===32||d===9)c===-1&&p!==-1&&(c=u);else if(d===59||d===44){if(p===-1)throw new SyntaxError(`Unexpected character at index ${u}`);c===-1&&(c=u),nr(t,a.slice(p,c),!0),d===44&&(nr(e,s,t),t=Object.create(null),s=void 0),p=c=-1}else if(d===61&&p!==-1&&c===-1)o=a.slice(p,u),p=c=-1;else throw new SyntaxError(`Unexpected character at index ${u}`);else if(n){if(Z0[d]!==1)throw new SyntaxError(`Unexpected character at index ${u}`);p===-1?p=u:r||(r=!0),n=!1}else if(i)if(Z0[d]===1)p===-1&&(p=u);else if(d===34&&p!==-1)i=!1,c=u;else if(d===92)n=!0;else throw new SyntaxError(`Unexpected character at index ${u}`);else if(d===34&&a.charCodeAt(u-1)===61)i=!0;else if(c===-1&&Z0[d]===1)p===-1&&(p=u);else if(p!==-1&&(d===32||d===9))c===-1&&(c=u);else if(d===59||d===44){if(p===-1)throw new SyntaxError(`Unexpected character at index ${u}`);c===-1&&(c=u);let x=a.slice(p,c);r&&(x=x.replace(/\\/g,""),r=!1),nr(t,o,x),d===44&&(nr(e,s,t),t=Object.create(null),s=void 0),o=void 0,p=c=-1}else throw new SyntaxError(`Unexpected character at index ${u}`);if(p===-1||i||d===32||d===9)throw new SyntaxError("Unexpected end of input");c===-1&&(c=u);let h=a.slice(p,c);return s===void 0?nr(e,h,t):(o===void 0?nr(t,h,!0):r?nr(t,o,h.replace(/\\/g,"")):nr(t,o,h),nr(e,s,t)),e}function lx(a){return Object.keys(a).map(e=>{let t=a[e];return Array.isArray(t)||(t=[t]),t.map(r=>[e].concat(Object.keys(r).map(n=>{let i=r[n];return Array.isArray(i)||(i=[i]),i.map(s=>s===!0?n:`${n}=${s}`).join("; ")})).join("; ")).join(", ")}).join(", ")}E9.exports={format:lx,parse:dx}});var C6=ie((AR,_9)=>{"use strict";var cx=Q("events"),ux=Q("https"),mx=Q("http"),R9=Q("net"),fx=Q("tls"),{randomBytes:hx,createHash:xx}=Q("crypto"),{Readable:wR}=Q("stream"),{URL:N6}=Q("url"),q1=G0(),gx=w6(),bx=A6(),{BINARY_TYPES:N9,EMPTY_BUFFER:zd,GUID:yx,kForOnEventAttribute:S6,kListener:vx,kStatusCode:wx,kWebSocket:dt,NOOP:L9}=Y1(),{EventTarget:{addEventListener:Ax,removeEventListener:Tx}}=T9(),{format:Ex,parse:Nx}=E6(),{toBuffer:Sx}=k0(),a1=["CONNECTING","OPEN","CLOSING","CLOSED"],Rx=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,R6=[8,13],Lx=30*1e3,H=class extends cx{constructor(e,t,r){super(),this._binaryType=N9[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=zd,this._closeTimer=null,this._extensions={},this._paused=!1,this._protocol="",this._readyState=H.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,t===void 0?t=[]:Array.isArray(t)||(typeof t=="object"&&t!==null?(r=t,t=[]):t=[t]),B9(this,e,t,r)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(e){N9.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,r){let n=new gx({binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:r.maxPayload,skipUTF8Validation:r.skipUTF8Validation});this._sender=new bx(e,this._extensions,r.generateMask),this._receiver=n,this._socket=e,n[dt]=this,e[dt]=this,n.on("conclude",Ox),n.on("drain",Dx),n.on("error",Ix),n.on("message",_x),n.on("ping",Px),n.on("pong",Fx),e.setTimeout(0),e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",O9),e.on("data",$d),e.on("end",D9),e.on("error",I9),this._readyState=H.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=H.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[q1.extensionName]&&this._extensions[q1.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=H.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==H.CLOSED){if(this.readyState===H.CONNECTING){let r="WebSocket was closed before the connection was established";return sa(this,this._req,r)}if(this.readyState===H.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=H.CLOSING,this._sender.close(e,t,!this._isServer,r=>{r||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),Lx)}}pause(){this.readyState===H.CONNECTING||this.readyState===H.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,t,r){if(this.readyState===H.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(r=e,e=t=void 0):typeof t=="function"&&(r=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==H.OPEN){B6(this,e,r);return}t===void 0&&(t=!this._isServer),this._sender.ping(e||zd,t,r)}pong(e,t,r){if(this.readyState===H.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(r=e,e=t=void 0):typeof t=="function"&&(r=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==H.OPEN){B6(this,e,r);return}t===void 0&&(t=!this._isServer),this._sender.pong(e||zd,t,r)}resume(){this.readyState===H.CONNECTING||this.readyState===H.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,r){if(this.readyState===H.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"&&(r=t,t={}),typeof e=="number"&&(e=e.toString()),this.readyState!==H.OPEN){B6(this,e,r);return}let n={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[q1.extensionName]||(n.compress=!1),this._sender.send(e||zd,n,r)}terminate(){if(this.readyState!==H.CLOSED){if(this.readyState===H.CONNECTING){let e="WebSocket was closed before the connection was established";return sa(this,this._req,e)}this._socket&&(this._readyState=H.CLOSING,this._socket.destroy())}}};Object.defineProperty(H,"CONNECTING",{enumerable:!0,value:a1.indexOf("CONNECTING")});Object.defineProperty(H.prototype,"CONNECTING",{enumerable:!0,value:a1.indexOf("CONNECTING")});Object.defineProperty(H,"OPEN",{enumerable:!0,value:a1.indexOf("OPEN")});Object.defineProperty(H.prototype,"OPEN",{enumerable:!0,value:a1.indexOf("OPEN")});Object.defineProperty(H,"CLOSING",{enumerable:!0,value:a1.indexOf("CLOSING")});Object.defineProperty(H.prototype,"CLOSING",{enumerable:!0,value:a1.indexOf("CLOSING")});Object.defineProperty(H,"CLOSED",{enumerable:!0,value:a1.indexOf("CLOSED")});Object.defineProperty(H.prototype,"CLOSED",{enumerable:!0,value:a1.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(a=>{Object.defineProperty(H.prototype,a,{enumerable:!0})});["open","error","close","message"].forEach(a=>{Object.defineProperty(H.prototype,`on${a}`,{enumerable:!0,get(){for(let e of this.listeners(a))if(e[S6])return e[vx];return null},set(e){for(let t of this.listeners(a))if(t[S6]){this.removeListener(a,t);break}typeof e=="function"&&this.addEventListener(a,e,{[S6]:!0})}})});H.prototype.addEventListener=Ax;H.prototype.removeEventListener=Tx;_9.exports=H;function B9(a,e,t,r){let n={protocolVersion:R6[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...r,createConnection:void 0,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:void 0,host:void 0,path:void 0,port:void 0};if(!R6.includes(n.protocolVersion))throw new RangeError(`Unsupported protocol version: ${n.protocolVersion} (supported versions: ${R6.join(", ")})`);let i;if(e instanceof N6)i=e,a._url=e.href;else{try{i=new N6(e)}catch(g){throw new SyntaxError(`Invalid URL: ${e}`)}a._url=e}let s=i.protocol==="wss:",o=i.protocol==="ws+unix:",p;if(i.protocol!=="ws:"&&!s&&!o?p=`The URL's protocol must be one of "ws:", "wss:", or "ws+unix:"`:o&&!i.pathname?p="The URL's pathname is empty":i.hash&&(p="The URL contains a fragment identifier"),p){let g=new SyntaxError(p);if(a._redirects===0)throw g;L6(a,g);return}let d=s?443:80,c=hx(16).toString("base64"),u=s?ux.get:mx.get,h=new Set,x;if(n.createConnection=s?Cx:Bx,n.defaultPort=n.defaultPort||d,n.port=i.port||d,n.host=i.hostname.startsWith("[")?i.hostname.slice(1,-1):i.hostname,n.headers={"Sec-WebSocket-Version":n.protocolVersion,"Sec-WebSocket-Key":c,Connection:"Upgrade",Upgrade:"websocket",...n.headers},n.path=i.pathname+i.search,n.timeout=n.handshakeTimeout,n.perMessageDeflate&&(x=new q1(n.perMessageDeflate!==!0?n.perMessageDeflate:{},!1,n.maxPayload),n.headers["Sec-WebSocket-Extensions"]=Ex({[q1.extensionName]:x.offer()})),t.length){for(let g of t){if(typeof g!="string"||!Rx.test(g)||h.has(g))throw new SyntaxError("An invalid or duplicated subprotocol was specified");h.add(g)}n.headers["Sec-WebSocket-Protocol"]=t.join(",")}if(n.origin&&(n.protocolVersion<13?n.headers["Sec-WebSocket-Origin"]=n.origin:n.headers.Origin=n.origin),(i.username||i.password)&&(n.auth=`${i.username}:${i.password}`),o){let g=n.path.split(":");n.socketPath=g[0],n.path=g[1]}if(n.followRedirects){if(a._redirects===0){a._originalHost=i.host;let g=r&&r.headers;if(r={...r,headers:{}},g)for(let[w,T]of Object.entries(g))r.headers[w.toLowerCase()]=T}else i.host!==a._originalHost&&(delete n.headers.authorization,delete n.headers.cookie,delete n.headers.host,n.auth=void 0);n.auth&&!r.headers.authorization&&(r.headers.authorization="Basic "+Buffer.from(n.auth).toString("base64"))}let v=a._req=u(n);n.timeout&&v.on("timeout",()=>{sa(a,v,"Opening handshake has timed out")}),v.on("error",g=>{v===null||v.aborted||(v=a._req=null,L6(a,g))}),v.on("response",g=>{let w=g.headers.location,T=g.statusCode;if(w&&n.followRedirects&&T>=300&&T<400){if(++a._redirects>n.maxRedirects){sa(a,v,"Maximum redirects exceeded");return}v.abort();let L;try{L=new N6(w,e)}catch(D){let U=new SyntaxError(`Invalid URL: ${w}`);L6(a,U);return}B9(a,L,t,r)}else a.emit("unexpected-response",v,g)||sa(a,v,`Unexpected server response: ${g.statusCode}`)}),v.on("upgrade",(g,w,T)=>{if(a.emit("upgrade",g),a.readyState!==H.CONNECTING)return;v=a._req=null;let L=xx("sha1").update(c+yx).digest("base64");if(g.headers["sec-websocket-accept"]!==L){sa(a,w,"Invalid Sec-WebSocket-Accept header");return}let D=g.headers["sec-websocket-protocol"],U;if(D!==void 0?h.size?h.has(D)||(U="Server sent an invalid subprotocol"):U="Server sent a subprotocol but none was requested":h.size&&(U="Server sent no subprotocol"),U){sa(a,w,U);return}D&&(a._protocol=D);let B=g.headers["sec-websocket-extensions"];if(B!==void 0){if(!x){sa(a,w,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let O;try{O=Nx(B)}catch(J){sa(a,w,"Invalid Sec-WebSocket-Extensions header");return}let F=Object.keys(O);if(F.length!==1||F[0]!==q1.extensionName){sa(a,w,"Server indicated an extension that was not requested");return}try{x.accept(O[q1.extensionName])}catch(J){sa(a,w,"Invalid Sec-WebSocket-Extensions header");return}a._extensions[q1.extensionName]=x}a.setSocket(w,T,{generateMask:n.generateMask,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation})})}function L6(a,e){a._readyState=H.CLOSING,a.emit("error",e),a.emitClose()}function Bx(a){return a.path=a.socketPath,R9.connect(a)}function Cx(a){return a.path=void 0,!a.servername&&a.servername!==""&&(a.servername=R9.isIP(a.host)?"":a.host),fx.connect(a)}function sa(a,e,t){a._readyState=H.CLOSING;let r=new Error(t);Error.captureStackTrace(r,sa),e.setHeader?(e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),e.once("abort",a.emitClose.bind(a)),a.emit("error",r)):(e.destroy(r),e.once("error",a.emit.bind(a,"error")),e.once("close",a.emitClose.bind(a)))}function B6(a,e,t){if(e){let r=Sx(e).length;a._socket?a._sender._bufferedBytes+=r:a._bufferedAmount+=r}if(t){let r=new Error(`WebSocket is not open: readyState ${a.readyState} (${a1[a.readyState]})`);t(r)}}function Ox(a,e){let t=this[dt];t._closeFrameReceived=!0,t._closeMessage=e,t._closeCode=a,t._socket[dt]!==void 0&&(t._socket.removeListener("data",$d),process.nextTick(C9,t._socket),a===1005?t.close():t.close(a,e))}function Dx(){let a=this[dt];a.isPaused||a._socket.resume()}function Ix(a){let e=this[dt];e._socket[dt]!==void 0&&(e._socket.removeListener("data",$d),process.nextTick(C9,e._socket),e.close(a[wx])),e.emit("error",a)}function S9(){this[dt].emitClose()}function _x(a,e){this[dt].emit("message",a,e)}function Px(a){let e=this[dt];e.pong(a,!e._isServer,L9),e.emit("ping",a)}function Fx(a){this[dt].emit("pong",a)}function C9(a){a.resume()}function O9(){let a=this[dt];this.removeListener("close",O9),this.removeListener("data",$d),this.removeListener("end",D9),a._readyState=H.CLOSING;let e;!this._readableState.endEmitted&&!a._closeFrameReceived&&!a._receiver._writableState.errorEmitted&&(e=a._socket.read())!==null&&a._receiver.write(e),a._receiver.end(),this[dt]=void 0,clearTimeout(a._closeTimer),a._receiver._writableState.finished||a._receiver._writableState.errorEmitted?a.emitClose():(a._receiver.on("error",S9),a._receiver.on("finish",S9))}function $d(a){this[dt]._receiver.write(a)||this.pause()}function D9(){let a=this[dt];a._readyState=H.CLOSING,a._receiver.end(),this.end()}function I9(){let a=this[dt];this.removeListener("error",I9),this.on("error",L9),a&&(a._readyState=H.CLOSING,this.destroy())}});var F9=ie((TR,P9)=>{"use strict";var{tokenChars:Mx}=X0();function Ux(a){let e=new Set,t=-1,r=-1,n=0;for(n;n<a.length;n++){let s=a.charCodeAt(n);if(r===-1&&Mx[s]===1)t===-1&&(t=n);else if(n!==0&&(s===32||s===9))r===-1&&t!==-1&&(r=n);else if(s===44){if(t===-1)throw new SyntaxError(`Unexpected character at index ${n}`);r===-1&&(r=n);let o=a.slice(t,r);if(e.has(o))throw new SyntaxError(`The "${o}" subprotocol is duplicated`);e.add(o),t=r=-1}else throw new SyntaxError(`Unexpected character at index ${n}`)}if(t===-1||r!==-1)throw new SyntaxError("Unexpected end of input");let i=a.slice(t,n);if(e.has(i))throw new SyntaxError(`The "${i}" subprotocol is duplicated`);return e.add(i),e}P9.exports={parse:Ux}});var G9=ie((RR,V9)=>{"use strict";var kx=Q("events"),Kd=Q("http"),ER=Q("https"),NR=Q("net"),SR=Q("tls"),{createHash:Jx}=Q("crypto"),M9=E6(),li=G0(),Vx=F9(),Gx=C6(),{GUID:Xx,kWebSocket:Hx}=Y1(),Qx=/^[+/0-9A-Za-z]{22}==$/,U9=0,k9=1,J9=2,O6=class extends kx{constructor(e,t){if(super(),e={maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:Gx,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=Kd.createServer((r,n)=>{let i=Kd.STATUS_CODES[426];n.writeHead(426,{"Content-Length":i.length,"Content-Type":"text/plain"}),n.end(i)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){let r=this.emit.bind(this,"connection");this._removeListeners=Zx(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(n,i,s)=>{this.handleUpgrade(n,i,s,r)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=U9}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===J9){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(z0,this);return}if(e&&this.once("close",e),this._state!==k9)if(this._state=k9,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(z0,this):process.nextTick(z0,this);else{let t=this._server;this._removeListeners(),this._removeListeners=this._server=null,t.close(()=>{z0(this)})}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((t!==-1?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,r,n){t.on("error",D6);let i=e.headers["sec-websocket-key"]!==void 0?e.headers["sec-websocket-key"]:!1,s=+e.headers["sec-websocket-version"];if(e.method!=="GET"||e.headers.upgrade.toLowerCase()!=="websocket"||!i||!Qx.test(i)||s!==8&&s!==13||!this.shouldHandle(e))return ao(t,400);let o=e.headers["sec-websocket-protocol"],p=new Set;if(o!==void 0)try{p=Vx.parse(o)}catch(u){return ao(t,400)}let d=e.headers["sec-websocket-extensions"],c={};if(this.options.perMessageDeflate&&d!==void 0){let u=new li(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let h=M9.parse(d);h[li.extensionName]&&(u.accept(h[li.extensionName]),c[li.extensionName]=u)}catch(h){return ao(t,400)}}if(this.options.verifyClient){let u={origin:e.headers[`${s===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(u,(h,x,v,g)=>{if(!h)return ao(t,x||401,v,g);this.completeUpgrade(c,i,p,e,t,r,n)});return}if(!this.options.verifyClient(u))return ao(t,401)}this.completeUpgrade(c,i,p,e,t,r,n)}completeUpgrade(e,t,r,n,i,s,o){if(!i.readable||!i.writable)return i.destroy();if(i[Hx])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>U9)return ao(i,503);let d=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${Jx("sha1").update(t+Xx).digest("base64")}`],c=new this.options.WebSocket(null);if(r.size){let u=this.options.handleProtocols?this.options.handleProtocols(r,n):r.values().next().value;u&&(d.push(`Sec-WebSocket-Protocol: ${u}`),c._protocol=u)}if(e[li.extensionName]){let u=e[li.extensionName].params,h=M9.format({[li.extensionName]:[u]});d.push(`Sec-WebSocket-Extensions: ${h}`),c._extensions=e}this.emit("headers",d,n),i.write(d.concat(`\r `).join(`\r `)),i.removeListener("error",D6),c.setSocket(i,s,{maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(c),c.on("close",()=>{this.clients.delete(c),this._shouldEmitClose&&!this.clients.size&&process.nextTick(z0,this)})),o(c,n)}};V9.exports=O6;function Zx(a,e){for(let t of Object.keys(e))a.on(t,e[t]);return function(){for(let r of Object.keys(e))a.removeListener(r,e[r])}}function z0(a){a._state=J9,a.emit("close")}function D6(){this.destroy()}function ao(a,e,t,r){a.writable&&(t=t||Kd.STATUS_CODES[e],r={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(t),...r},a.write(`HTTP/1.1 ${e} ${Kd.STATUS_CODES[e]}\r `+Object.keys(r).map(n=>`${n}: ${r[n]}`).join(`\r `)+`\r \r `+t)),a.removeListener("error",D6),a.destroy()}});var bm=ie((xD,gm)=>{"use strict";var Ae={};gm.exports=Ae;function xm(a){return a<0?-1:1}function ob(a){return a%1===.5&&!(a&1)?Math.floor(a):Math.round(a)}function on(a,e){e.unsigned||--a;let t=e.unsigned?0:-Math.pow(2,a),r=Math.pow(2,a)-1,n=e.moduloBitLength?Math.pow(2,e.moduloBitLength):Math.pow(2,a),i=e.moduloBitLength?Math.pow(2,e.moduloBitLength-1):Math.pow(2,a-1);return function(s,o){o||(o={});let p=+s;if(o.enforceRange){if(!Number.isFinite(p))throw new TypeError("Argument is not a finite number");if(p=xm(p)*Math.floor(Math.abs(p)),p<t||p>r)throw new TypeError("Argument is not in byte range");return p}if(!isNaN(p)&&o.clamp)return p=ob(p),p<t&&(p=t),p>r&&(p=r),p;if(!Number.isFinite(p)||p===0)return 0;if(p=xm(p)*Math.floor(Math.abs(p)),p=p%n,!e.unsigned&&p>=i)return p-n;if(e.unsigned){if(p<0)p+=n;else if(p===-0)return 0}return p}}Ae.void=function(){};Ae.boolean=function(a){return!!a};Ae.byte=on(8,{unsigned:!1});Ae.octet=on(8,{unsigned:!0});Ae.short=on(16,{unsigned:!1});Ae["unsigned short"]=on(16,{unsigned:!0});Ae.long=on(32,{unsigned:!1});Ae["unsigned long"]=on(32,{unsigned:!0});Ae["long long"]=on(32,{unsigned:!1,moduloBitLength:64});Ae["unsigned long long"]=on(32,{unsigned:!0,moduloBitLength:64});Ae.double=function(a){let e=+a;if(!Number.isFinite(e))throw new TypeError("Argument is not a finite floating-point value");return e};Ae["unrestricted double"]=function(a){let e=+a;if(isNaN(e))throw new TypeError("Argument is NaN");return e};Ae.float=Ae.double;Ae["unrestricted float"]=Ae["unrestricted double"];Ae.DOMString=function(a,e){return e||(e={}),e.treatNullAsEmptyString&&a===null?"":String(a)};Ae.ByteString=function(a,e){let t=String(a),r;for(let n=0;(r=t.codePointAt(n))!==void 0;++n)if(r>255)throw new TypeError("Argument is not a valid bytestring");return t};Ae.USVString=function(a){let e=String(a),t=e.length,r=[];for(let n=0;n<t;++n){let i=e.charCodeAt(n);if(i<55296||i>57343)r.push(String.fromCodePoint(i));else if(56320<=i&&i<=57343)r.push(String.fromCodePoint(65533));else if(n===t-1)r.push(String.fromCo