Files
my-dev-server2/vscode-server-linux-x64-web/extensions/ms-vscode.js-debug-companion/out/extension.js
mol 263cb5ef03
Some checks failed
continuous-integration/drone/push Build is failing
test
2024-07-06 22:23:31 +08:00

13 lines
94 KiB
JavaScript

"use strict";var Ji=Object.create;var Be=Object.defineProperty;var eo=Object.getOwnPropertyDescriptor;var to=Object.getOwnPropertyNames;var ro=Object.getPrototypeOf,so=Object.prototype.hasOwnProperty;var d=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),no=(t,e)=>{for(var r in e)Be(t,r,{get:e[r],enumerable:!0})},Lr=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of to(e))!so.call(t,n)&&n!==r&&Be(t,n,{get:()=>e[n],enumerable:!(s=eo(e,n))||s.enumerable});return t};var C=(t,e,r)=>(r=t!=null?Ji(ro(t)):{},Lr(e||!t||!t.__esModule?Be(r,"default",{value:t,enumerable:!0}):r,t)),io=t=>Lr(Be({},"__esModule",{value:!0}),t);var Mr=d((uu,Br)=>{"use strict";var{Duplex:oo}=require("stream");function qr(t){t.emit("close")}function ao(){!this.destroyed&&this._writableState.finished&&this.destroy()}function Nr(t){this.removeListener("error",Nr),this.destroy(),this.listenerCount("error")===0&&this.emit("error",t)}function co(t,e){let r=!0,s=new oo({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return t.on("message",function(i,o){let a=!o&&s._readableState.objectMode?i.toString():i;s.push(a)||t.pause()}),t.once("error",function(i){s.destroyed||(r=!1,s.destroy(i))}),t.once("close",function(){s.destroyed||s.push(null)}),s._destroy=function(n,i){if(t.readyState===t.CLOSED){i(n),process.nextTick(qr,s);return}let o=!1;t.once("error",function(c){o=!0,i(c)}),t.once("close",function(){o||i(n),process.nextTick(qr,s)}),r&&t.terminate()},s._final=function(n){if(t.readyState===t.CONNECTING){t.once("open",function(){s._final(n)});return}t._socket!==null&&(t._socket._writableState.finished?(n(),s._readableState.endEmitted&&s.destroy()):(t._socket.once("finish",function(){n()}),t.close()))},s._read=function(){t.isPaused&&t.resume()},s._write=function(n,i,o){if(t.readyState===t.CONNECTING){t.once("open",function(){s._write(n,i,o)});return}t.send(n,o)},s.on("end",ao),s.on("error",Nr),s}Br.exports=co});var $=d((fu,Fr)=>{"use strict";Fr.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 me=d((du,Fe)=>{"use strict";var{EMPTY_BUFFER:lo}=$(),Rt=Buffer[Symbol.species];function uo(t,e){if(t.length===0)return lo;if(t.length===1)return t[0];let r=Buffer.allocUnsafe(e),s=0;for(let n=0;n<t.length;n++){let i=t[n];r.set(i,s),s+=i.length}return s<e?new Rt(r.buffer,r.byteOffset,s):r}function Dr(t,e,r,s,n){for(let i=0;i<n;i++)r[s+i]=t[i]^e[i&3]}function $r(t,e){for(let r=0;r<t.length;r++)t[r]^=e[r&3]}function fo(t){return t.length===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.length)}function Lt(t){if(Lt.readOnly=!0,Buffer.isBuffer(t))return t;let e;return t instanceof ArrayBuffer?e=new Rt(t):ArrayBuffer.isView(t)?e=new Rt(t.buffer,t.byteOffset,t.byteLength):(e=Buffer.from(t),Lt.readOnly=!1),e}Fe.exports={concat:uo,mask:Dr,toArrayBuffer:fo,toBuffer:Lt,unmask:$r};if(!process.env.WS_NO_BUFFER_UTIL)try{let t=require("bufferutil");Fe.exports.mask=function(e,r,s,n,i){i<48?Dr(e,r,s,n,i):t.mask(e,r,s,n,i)},Fe.exports.unmask=function(e,r){e.length<32?$r(e,r):t.unmask(e,r)}}catch{}});var Wr=d((hu,Gr)=>{"use strict";var Ur=Symbol("kDone"),qt=Symbol("kRun"),Nt=class{constructor(e){this[Ur]=()=>{this.pending--,this[qt]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[qt]()}[qt](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[Ur])}}};Gr.exports=Nt});var ye=d((pu,zr)=>{"use strict";var ge=require("zlib"),jr=me(),ho=Wr(),{kStatusCode:Vr}=$(),po=Buffer[Symbol.species],mo=Buffer.from([0,0,255,255]),Ue=Symbol("permessage-deflate"),N=Symbol("total-length"),_e=Symbol("callback"),U=Symbol("buffers"),$e=Symbol("error"),De,Bt=class{constructor(e,r,s){if(this._maxPayload=s|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!r,this._deflate=null,this._inflate=null,this.params=null,!De){let n=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;De=new ho(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[_e];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let r=this._options,s=e.find(n=>!(r.serverNoContextTakeover===!1&&n.server_no_context_takeover||n.server_max_window_bits&&(r.serverMaxWindowBits===!1||typeof r.serverMaxWindowBits=="number"&&r.serverMaxWindowBits>n.server_max_window_bits)||typeof r.clientMaxWindowBits=="number"&&!n.client_max_window_bits));if(!s)throw new Error("None of the extension offers can be accepted");return r.serverNoContextTakeover&&(s.server_no_context_takeover=!0),r.clientNoContextTakeover&&(s.client_no_context_takeover=!0),typeof r.serverMaxWindowBits=="number"&&(s.server_max_window_bits=r.serverMaxWindowBits),typeof r.clientMaxWindowBits=="number"?s.client_max_window_bits=r.clientMaxWindowBits:(s.client_max_window_bits===!0||r.clientMaxWindowBits===!1)&&delete s.client_max_window_bits,s}acceptAsClient(e){let r=e[0];if(this._options.clientNoContextTakeover===!1&&r.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!r.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(r.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&r.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return r}normalizeParams(e){return e.forEach(r=>{Object.keys(r).forEach(s=>{let n=r[s];if(n.length>1)throw new Error(`Parameter "${s}" must have only a single value`);if(n=n[0],s==="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 "${s}": ${n}`);n=i}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${s}": ${n}`)}else if(s==="server_max_window_bits"){let i=+n;if(!Number.isInteger(i)||i<8||i>15)throw new TypeError(`Invalid value for parameter "${s}": ${n}`);n=i}else if(s==="client_no_context_takeover"||s==="server_no_context_takeover"){if(n!==!0)throw new TypeError(`Invalid value for parameter "${s}": ${n}`)}else throw new Error(`Unknown parameter "${s}"`);r[s]=n})}),e}decompress(e,r,s){De.add(n=>{this._decompress(e,r,(i,o)=>{n(),s(i,o)})})}compress(e,r,s){De.add(n=>{this._compress(e,r,(i,o)=>{n(),s(i,o)})})}_decompress(e,r,s){let n=this._isServer?"client":"server";if(!this._inflate){let i=`${n}_max_window_bits`,o=typeof this.params[i]!="number"?ge.Z_DEFAULT_WINDOWBITS:this.params[i];this._inflate=ge.createInflateRaw({...this._options.zlibInflateOptions,windowBits:o}),this._inflate[Ue]=this,this._inflate[N]=0,this._inflate[U]=[],this._inflate.on("error",_o),this._inflate.on("data",Hr)}this._inflate[_e]=s,this._inflate.write(e),r&&this._inflate.write(mo),this._inflate.flush(()=>{let i=this._inflate[$e];if(i){this._inflate.close(),this._inflate=null,s(i);return}let o=jr.concat(this._inflate[U],this._inflate[N]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[N]=0,this._inflate[U]=[],r&&this.params[`${n}_no_context_takeover`]&&this._inflate.reset()),s(null,o)})}_compress(e,r,s){let n=this._isServer?"server":"client";if(!this._deflate){let i=`${n}_max_window_bits`,o=typeof this.params[i]!="number"?ge.Z_DEFAULT_WINDOWBITS:this.params[i];this._deflate=ge.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:o}),this._deflate[N]=0,this._deflate[U]=[],this._deflate.on("data",go)}this._deflate[_e]=s,this._deflate.write(e),this._deflate.flush(ge.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let i=jr.concat(this._deflate[U],this._deflate[N]);r&&(i=new po(i.buffer,i.byteOffset,i.length-4)),this._deflate[_e]=null,this._deflate[N]=0,this._deflate[U]=[],r&&this.params[`${n}_no_context_takeover`]&&this._deflate.reset(),s(null,i)})}};zr.exports=Bt;function go(t){this[U].push(t),this[N]+=t.length}function Hr(t){if(this[N]+=t.length,this[Ue]._maxPayload<1||this[N]<=this[Ue]._maxPayload){this[U].push(t);return}this[$e]=new RangeError("Max payload size exceeded"),this[$e].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[$e][Vr]=1009,this.removeListener("data",Hr),this.reset()}function _o(t){this[Ue]._inflate=null,t[Vr]=1007,this[_e](t)}});var xe=d((mu,Ge)=>{"use strict";var{isUtf8:Kr}=require("buffer"),yo=[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 xo(t){return t>=1e3&&t<=1014&&t!==1004&&t!==1005&&t!==1006||t>=3e3&&t<=4999}function Mt(t){let e=t.length,r=0;for(;r<e;)if(!(t[r]&128))r++;else if((t[r]&224)===192){if(r+1===e||(t[r+1]&192)!==128||(t[r]&254)===192)return!1;r+=2}else if((t[r]&240)===224){if(r+2>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||t[r]===224&&(t[r+1]&224)===128||t[r]===237&&(t[r+1]&224)===160)return!1;r+=3}else if((t[r]&248)===240){if(r+3>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||(t[r+3]&192)!==128||t[r]===240&&(t[r+1]&240)===128||t[r]===244&&t[r+1]>143||t[r]>244)return!1;r+=4}else return!1;return!0}Ge.exports={isValidStatusCode:xo,isValidUTF8:Mt,tokenChars:yo};if(Kr)Ge.exports.isValidUTF8=function(t){return t.length<24?Mt(t):Kr(t)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let t=require("utf-8-validate");Ge.exports.isValidUTF8=function(e){return e.length<32?Mt(e):t(e)}}catch{}});var Ut=d((gu,ts)=>{"use strict";var{Writable:wo}=require("stream"),Xr=ye(),{BINARY_TYPES:So,EMPTY_BUFFER:Yr,kStatusCode:vo,kWebSocket:bo}=$(),{concat:Ft,toArrayBuffer:Eo,unmask:Co}=me(),{isValidStatusCode:Po,isValidUTF8:Qr}=xe(),We=Buffer[Symbol.species],we=0,Zr=1,Jr=2,es=3,Dt=4,Oo=5,$t=class extends wo{constructor(e={}){super(),this._binaryType=e.binaryType||So[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[bo]=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=we,this._loop=!1}_write(e,r,s){if(this._opcode===8&&this._state==we)return s();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(s)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let s=this._buffers[0];return this._buffers[0]=new We(s.buffer,s.byteOffset+e,s.length-e),new We(s.buffer,s.byteOffset,e)}let r=Buffer.allocUnsafe(e);do{let s=this._buffers[0],n=r.length-e;e>=s.length?r.set(this._buffers.shift(),n):(r.set(new Uint8Array(s.buffer,s.byteOffset,e),n),this._buffers[0]=new We(s.buffer,s.byteOffset+e,s.length-e)),e-=s.length}while(e>0);return r}startLoop(e){let r;this._loop=!0;do switch(this._state){case we:r=this.getInfo();break;case Zr:r=this.getPayloadLength16();break;case Jr:r=this.getPayloadLength64();break;case es:this.getMask();break;case Dt:r=this.getData(e);break;default:this._loop=!1;return}while(this._loop);e(r)}getInfo(){if(this._bufferedBytes<2){this._loop=!1;return}let e=this.consume(2);if(e[0]&48)return this._loop=!1,w(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");let r=(e[0]&64)===64;if(r&&!this._extensions[Xr.extensionName])return this._loop=!1,w(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(r)return this._loop=!1,w(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(!this._fragmented)return this._loop=!1,w(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,w(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");this._compressed=r}else if(this._opcode>7&&this._opcode<11){if(!this._fin)return this._loop=!1,w(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");if(r)return this._loop=!1,w(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1)return this._loop=!1,w(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH")}else return this._loop=!1,w(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,w(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK")}else if(this._masked)return this._loop=!1,w(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");if(this._payloadLength===126)this._state=Zr;else if(this._payloadLength===127)this._state=Jr;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),r=e.readUInt32BE(0);return r>Math.pow(2,53-32)-1?(this._loop=!1,w(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH")):(this._payloadLength=r*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,w(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");this._masked?this._state=es:this._state=Dt}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=Dt}getData(e){let r=Yr;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}r=this.consume(this._payloadLength),this._masked&&this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3]&&Co(r,this._mask)}if(this._opcode>7)return this.controlMessage(r);if(this._compressed){this._state=Oo,this.decompress(r,e);return}return r.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(r)),this.dataMessage()}decompress(e,r){this._extensions[Xr.extensionName].decompress(e,this._fin,(n,i)=>{if(n)return r(n);if(i.length){if(this._messageLength+=i.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return r(w(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._fragments.push(i)}let o=this.dataMessage();if(o)return r(o);this.startLoop(r)})}dataMessage(){if(this._fin){let e=this._messageLength,r=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let s;this._binaryType==="nodebuffer"?s=Ft(r,e):this._binaryType==="arraybuffer"?s=Eo(Ft(r,e)):s=r,this.emit("message",s,!0)}else{let s=Ft(r,e);if(!this._skipUTF8Validation&&!Qr(s))return this._loop=!1,w(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");this.emit("message",s,!1)}}this._state=we}controlMessage(e){if(this._opcode===8)if(this._loop=!1,e.length===0)this.emit("conclude",1005,Yr),this.end();else{let r=e.readUInt16BE(0);if(!Po(r))return w(RangeError,`invalid status code ${r}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");let s=new We(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!Qr(s))return w(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");this.emit("conclude",r,s),this.end()}else this._opcode===9?this.emit("ping",e):this.emit("pong",e);this._state=we}};ts.exports=$t;function w(t,e,r,s,n){let i=new t(r?`Invalid WebSocket frame: ${e}`:e);return Error.captureStackTrace(i,w),i.code=n,i[vo]=s,i}});var Wt=d((xu,ns)=>{"use strict";var _u=require("net"),yu=require("tls"),{randomFillSync:ko}=require("crypto"),rs=ye(),{EMPTY_BUFFER:To}=$(),{isValidStatusCode:Io}=xe(),{mask:ss,toBuffer:Q}=me(),I=Symbol("kByteLength"),Ao=Buffer.alloc(4),Gt=class t{constructor(e,r,s){this._extensions=r||{},s&&(this._generateMask=s,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,r){let s,n=!1,i=2,o=!1;r.mask&&(s=r.maskBuffer||Ao,r.generateMask?r.generateMask(s):ko(s,0,4),o=(s[0]|s[1]|s[2]|s[3])===0,i=6);let a;typeof e=="string"?(!r.mask||o)&&r[I]!==void 0?a=r[I]:(e=Buffer.from(e),a=e.length):(a=e.length,n=r.mask&&r.readOnly&&!o);let c=a;a>=65536?(i+=8,c=127):a>125&&(i+=2,c=126);let l=Buffer.allocUnsafe(n?a+i:i);return l[0]=r.fin?r.opcode|128:r.opcode,r.rsv1&&(l[0]|=64),l[1]=c,c===126?l.writeUInt16BE(a,2):c===127&&(l[2]=l[3]=0,l.writeUIntBE(a,4,6)),r.mask?(l[1]|=128,l[i-4]=s[0],l[i-3]=s[1],l[i-2]=s[2],l[i-1]=s[3],o?[l,e]:n?(ss(e,s,l,i,a),[l]):(ss(e,s,e,0,a),[l,e])):[l,e]}close(e,r,s,n){let i;if(e===void 0)i=To;else{if(typeof e!="number"||!Io(e))throw new TypeError("First argument must be a valid error code number");if(r===void 0||!r.length)i=Buffer.allocUnsafe(2),i.writeUInt16BE(e,0);else{let a=Buffer.byteLength(r);if(a>123)throw new RangeError("The message must not be greater than 123 bytes");i=Buffer.allocUnsafe(2+a),i.writeUInt16BE(e,0),typeof r=="string"?i.write(r,2):i.set(r,2)}}let o={[I]:i.length,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._deflating?this.enqueue([this.dispatch,i,!1,o,n]):this.sendFrame(t.frame(i,o),n)}ping(e,r,s){let n,i;if(typeof e=="string"?(n=Buffer.byteLength(e),i=!1):(e=Q(e),n=e.length,i=Q.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[I]:n,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:9,readOnly:i,rsv1:!1};this._deflating?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(t.frame(e,o),s)}pong(e,r,s){let n,i;if(typeof e=="string"?(n=Buffer.byteLength(e),i=!1):(e=Q(e),n=e.length,i=Q.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[I]:n,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:10,readOnly:i,rsv1:!1};this._deflating?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(t.frame(e,o),s)}send(e,r,s){let n=this._extensions[rs.extensionName],i=r.binary?2:1,o=r.compress,a,c;if(typeof e=="string"?(a=Buffer.byteLength(e),c=!1):(e=Q(e),a=e.length,c=Q.readOnly),this._firstFragment?(this._firstFragment=!1,o&&n&&n.params[n._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(o=a>=n._threshold),this._compress=o):(o=!1,i=0),r.fin&&(this._firstFragment=!0),n){let l={[I]:a,fin:r.fin,generateMask:this._generateMask,mask:r.mask,maskBuffer:this._maskBuffer,opcode:i,readOnly:c,rsv1:o};this._deflating?this.enqueue([this.dispatch,e,this._compress,l,s]):this.dispatch(e,this._compress,l,s)}else this.sendFrame(t.frame(e,{[I]:a,fin:r.fin,generateMask:this._generateMask,mask:r.mask,maskBuffer:this._maskBuffer,opcode:i,readOnly:c,rsv1:!1}),s)}dispatch(e,r,s,n){if(!r){this.sendFrame(t.frame(e,s),n);return}let i=this._extensions[rs.extensionName];this._bufferedBytes+=s[I],this._deflating=!0,i.compress(e,s.fin,(o,a)=>{if(this._socket.destroyed){let c=new Error("The socket was closed while data was being compressed");typeof n=="function"&&n(c);for(let l=0;l<this._queue.length;l++){let u=this._queue[l],f=u[u.length-1];typeof f=="function"&&f(c)}return}this._bufferedBytes-=s[I],this._deflating=!1,s.readOnly=!1,this.sendFrame(t.frame(a,s),n),this.dequeue()})}dequeue(){for(;!this._deflating&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][I],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][I],this._queue.push(e)}sendFrame(e,r){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],r),this._socket.uncork()):this._socket.write(e[0],r)}};ns.exports=Gt});var hs=d((wu,ds)=>{"use strict";var{kForOnEventAttribute:Se,kListener:jt}=$(),is=Symbol("kCode"),os=Symbol("kData"),as=Symbol("kError"),cs=Symbol("kMessage"),ls=Symbol("kReason"),Z=Symbol("kTarget"),us=Symbol("kType"),fs=Symbol("kWasClean"),B=class{constructor(e){this[Z]=null,this[us]=e}get target(){return this[Z]}get type(){return this[us]}};Object.defineProperty(B.prototype,"target",{enumerable:!0});Object.defineProperty(B.prototype,"type",{enumerable:!0});var V=class extends B{constructor(e,r={}){super(e),this[is]=r.code===void 0?0:r.code,this[ls]=r.reason===void 0?"":r.reason,this[fs]=r.wasClean===void 0?!1:r.wasClean}get code(){return this[is]}get reason(){return this[ls]}get wasClean(){return this[fs]}};Object.defineProperty(V.prototype,"code",{enumerable:!0});Object.defineProperty(V.prototype,"reason",{enumerable:!0});Object.defineProperty(V.prototype,"wasClean",{enumerable:!0});var J=class extends B{constructor(e,r={}){super(e),this[as]=r.error===void 0?null:r.error,this[cs]=r.message===void 0?"":r.message}get error(){return this[as]}get message(){return this[cs]}};Object.defineProperty(J.prototype,"error",{enumerable:!0});Object.defineProperty(J.prototype,"message",{enumerable:!0});var ve=class extends B{constructor(e,r={}){super(e),this[os]=r.data===void 0?null:r.data}get data(){return this[os]}};Object.defineProperty(ve.prototype,"data",{enumerable:!0});var Ro={addEventListener(t,e,r={}){for(let n of this.listeners(t))if(!r[Se]&&n[jt]===e&&!n[Se])return;let s;if(t==="message")s=function(i,o){let a=new ve("message",{data:o?i:i.toString()});a[Z]=this,je(e,this,a)};else if(t==="close")s=function(i,o){let a=new V("close",{code:i,reason:o.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});a[Z]=this,je(e,this,a)};else if(t==="error")s=function(i){let o=new J("error",{error:i,message:i.message});o[Z]=this,je(e,this,o)};else if(t==="open")s=function(){let i=new B("open");i[Z]=this,je(e,this,i)};else return;s[Se]=!!r[Se],s[jt]=e,r.once?this.once(t,s):this.on(t,s)},removeEventListener(t,e){for(let r of this.listeners(t))if(r[jt]===e&&!r[Se]){this.removeListener(t,r);break}}};ds.exports={CloseEvent:V,ErrorEvent:J,Event:B,EventTarget:Ro,MessageEvent:ve};function je(t,e,r){typeof t=="object"&&t.handleEvent?t.handleEvent.call(t,r):t.call(e,r)}});var Vt=d((Su,ps)=>{"use strict";var{tokenChars:be}=xe();function R(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function Lo(t){let e=Object.create(null),r=Object.create(null),s=!1,n=!1,i=!1,o,a,c=-1,l=-1,u=-1,f=0;for(;f<t.length;f++)if(l=t.charCodeAt(f),o===void 0)if(u===-1&&be[l]===1)c===-1&&(c=f);else if(f!==0&&(l===32||l===9))u===-1&&c!==-1&&(u=f);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${f}`);u===-1&&(u=f);let g=t.slice(c,u);l===44?(R(e,g,r),r=Object.create(null)):o=g,c=u=-1}else throw new SyntaxError(`Unexpected character at index ${f}`);else if(a===void 0)if(u===-1&&be[l]===1)c===-1&&(c=f);else if(l===32||l===9)u===-1&&c!==-1&&(u=f);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${f}`);u===-1&&(u=f),R(r,t.slice(c,u),!0),l===44&&(R(e,o,r),r=Object.create(null),o=void 0),c=u=-1}else if(l===61&&c!==-1&&u===-1)a=t.slice(c,f),c=u=-1;else throw new SyntaxError(`Unexpected character at index ${f}`);else if(n){if(be[l]!==1)throw new SyntaxError(`Unexpected character at index ${f}`);c===-1?c=f:s||(s=!0),n=!1}else if(i)if(be[l]===1)c===-1&&(c=f);else if(l===34&&c!==-1)i=!1,u=f;else if(l===92)n=!0;else throw new SyntaxError(`Unexpected character at index ${f}`);else if(l===34&&t.charCodeAt(f-1)===61)i=!0;else if(u===-1&&be[l]===1)c===-1&&(c=f);else if(c!==-1&&(l===32||l===9))u===-1&&(u=f);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${f}`);u===-1&&(u=f);let g=t.slice(c,u);s&&(g=g.replace(/\\/g,""),s=!1),R(r,a,g),l===44&&(R(e,o,r),r=Object.create(null),o=void 0),a=void 0,c=u=-1}else throw new SyntaxError(`Unexpected character at index ${f}`);if(c===-1||i||l===32||l===9)throw new SyntaxError("Unexpected end of input");u===-1&&(u=f);let p=t.slice(c,u);return o===void 0?R(e,p,r):(a===void 0?R(r,p,!0):s?R(r,a,p.replace(/\\/g,"")):R(r,a,p),R(e,o,r)),e}function qo(t){return Object.keys(t).map(e=>{let r=t[e];return Array.isArray(r)||(r=[r]),r.map(s=>[e].concat(Object.keys(s).map(n=>{let i=s[n];return Array.isArray(i)||(i=[i]),i.map(o=>o===!0?n:`${n}=${o}`).join("; ")})).join("; ")).join(", ")}).join(", ")}ps.exports={format:qo,parse:Lo}});var Yt=d((bu,Cs)=>{"use strict";var No=require("events"),Bo=require("https"),Mo=require("http"),_s=require("net"),Fo=require("tls"),{randomBytes:Do,createHash:$o}=require("crypto"),{Readable:vu}=require("stream"),{URL:Ht}=require("url"),G=ye(),Uo=Ut(),Go=Wt(),{BINARY_TYPES:ms,EMPTY_BUFFER:Ve,GUID:Wo,kForOnEventAttribute:zt,kListener:jo,kStatusCode:Vo,kWebSocket:v,NOOP:ys}=$(),{EventTarget:{addEventListener:Ho,removeEventListener:zo}}=hs(),{format:Ko,parse:Xo}=Vt(),{toBuffer:Yo}=me(),Qo=30*1e3,xs=Symbol("kAborted"),Kt=[8,13],M=["CONNECTING","OPEN","CLOSING","CLOSED"],Zo=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,x=class t extends No{constructor(e,r,s){super(),this._binaryType=ms[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=Ve,this._closeTimer=null,this._extensions={},this._paused=!1,this._protocol="",this._readyState=t.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,r===void 0?r=[]:Array.isArray(r)||(typeof r=="object"&&r!==null?(s=r,r=[]):r=[r]),ws(this,e,r,s)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(e){ms.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,r,s){let n=new Uo({binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation});this._sender=new Go(e,this._extensions,s.generateMask),this._receiver=n,this._socket=e,n[v]=this,e[v]=this,n.on("conclude",ta),n.on("drain",ra),n.on("error",sa),n.on("message",na),n.on("ping",ia),n.on("pong",oa),e.setTimeout(0),e.setNoDelay(),r.length>0&&e.unshift(r),e.on("close",vs),e.on("data",ze),e.on("end",bs),e.on("error",Es),this._readyState=t.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[G.extensionName]&&this._extensions[G.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,r){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){let s="WebSocket was closed before the connection was established";P(this,this._req,s);return}if(this.readyState===t.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=t.CLOSING,this._sender.close(e,r,!this._isServer,s=>{s||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),Qo)}}pause(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(s=e,e=r=void 0):typeof r=="function"&&(s=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Xt(this,e,s);return}r===void 0&&(r=!this._isServer),this._sender.ping(e||Ve,r,s)}pong(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(s=e,e=r=void 0):typeof r=="function"&&(s=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Xt(this,e,s);return}r===void 0&&(r=!this._isServer),this._sender.pong(e||Ve,r,s)}resume(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof r=="function"&&(s=r,r={}),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Xt(this,e,s);return}let n={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...r};this._extensions[G.extensionName]||(n.compress=!1),this._sender.send(e||Ve,n,s)}terminate(){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){let e="WebSocket was closed before the connection was established";P(this,this._req,e);return}this._socket&&(this._readyState=t.CLOSING,this._socket.destroy())}}};Object.defineProperty(x,"CONNECTING",{enumerable:!0,value:M.indexOf("CONNECTING")});Object.defineProperty(x.prototype,"CONNECTING",{enumerable:!0,value:M.indexOf("CONNECTING")});Object.defineProperty(x,"OPEN",{enumerable:!0,value:M.indexOf("OPEN")});Object.defineProperty(x.prototype,"OPEN",{enumerable:!0,value:M.indexOf("OPEN")});Object.defineProperty(x,"CLOSING",{enumerable:!0,value:M.indexOf("CLOSING")});Object.defineProperty(x.prototype,"CLOSING",{enumerable:!0,value:M.indexOf("CLOSING")});Object.defineProperty(x,"CLOSED",{enumerable:!0,value:M.indexOf("CLOSED")});Object.defineProperty(x.prototype,"CLOSED",{enumerable:!0,value:M.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(t=>{Object.defineProperty(x.prototype,t,{enumerable:!0})});["open","error","close","message"].forEach(t=>{Object.defineProperty(x.prototype,`on${t}`,{enumerable:!0,get(){for(let e of this.listeners(t))if(e[zt])return e[jo];return null},set(e){for(let r of this.listeners(t))if(r[zt]){this.removeListener(t,r);break}typeof e=="function"&&this.addEventListener(t,e,{[zt]:!0})}})});x.prototype.addEventListener=Ho;x.prototype.removeEventListener=zo;Cs.exports=x;function ws(t,e,r,s){let n={protocolVersion:Kt[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...s,createConnection:void 0,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(!Kt.includes(n.protocolVersion))throw new RangeError(`Unsupported protocol version: ${n.protocolVersion} (supported versions: ${Kt.join(", ")})`);let i;if(e instanceof Ht)i=e,t._url=e.href;else{try{i=new Ht(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}t._url=e}let o=i.protocol==="wss:",a=i.protocol==="ws+unix:",c;if(i.protocol!=="ws:"&&!o&&!a?c=`The URL's protocol must be one of "ws:", "wss:", or "ws+unix:"`:a&&!i.pathname?c="The URL's pathname is empty":i.hash&&(c="The URL contains a fragment identifier"),c){let h=new SyntaxError(c);if(t._redirects===0)throw h;He(t,h);return}let l=o?443:80,u=Do(16).toString("base64"),f=o?Bo.request:Mo.request,p=new Set,g;if(n.createConnection=o?ea:Jo,n.defaultPort=n.defaultPort||l,n.port=i.port||l,n.host=i.hostname.startsWith("[")?i.hostname.slice(1,-1):i.hostname,n.headers={...n.headers,"Sec-WebSocket-Version":n.protocolVersion,"Sec-WebSocket-Key":u,Connection:"Upgrade",Upgrade:"websocket"},n.path=i.pathname+i.search,n.timeout=n.handshakeTimeout,n.perMessageDeflate&&(g=new G(n.perMessageDeflate!==!0?n.perMessageDeflate:{},!1,n.maxPayload),n.headers["Sec-WebSocket-Extensions"]=Ko({[G.extensionName]:g.offer()})),r.length){for(let h of r){if(typeof h!="string"||!Zo.test(h)||p.has(h))throw new SyntaxError("An invalid or duplicated subprotocol was specified");p.add(h)}n.headers["Sec-WebSocket-Protocol"]=r.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}`),a){let h=n.path.split(":");n.socketPath=h[0],n.path=h[1]}let m;if(n.followRedirects){if(t._redirects===0){t._originalIpc=a,t._originalSecure=o,t._originalHostOrSocketPath=a?n.socketPath:i.host;let h=s&&s.headers;if(s={...s,headers:{}},h)for(let[y,T]of Object.entries(h))s.headers[y.toLowerCase()]=T}else if(t.listenerCount("redirect")===0){let h=a?t._originalIpc?n.socketPath===t._originalHostOrSocketPath:!1:t._originalIpc?!1:i.host===t._originalHostOrSocketPath;(!h||t._originalSecure&&!o)&&(delete n.headers.authorization,delete n.headers.cookie,h||delete n.headers.host,n.auth=void 0)}n.auth&&!s.headers.authorization&&(s.headers.authorization="Basic "+Buffer.from(n.auth).toString("base64")),m=t._req=f(n),t._redirects&&t.emit("redirect",t.url,m)}else m=t._req=f(n);n.timeout&&m.on("timeout",()=>{P(t,m,"Opening handshake has timed out")}),m.on("error",h=>{m===null||m[xs]||(m=t._req=null,He(t,h))}),m.on("response",h=>{let y=h.headers.location,T=h.statusCode;if(y&&n.followRedirects&&T>=300&&T<400){if(++t._redirects>n.maxRedirects){P(t,m,"Maximum redirects exceeded");return}m.abort();let q;try{q=new Ht(y,e)}catch{let A=new SyntaxError(`Invalid URL: ${y}`);He(t,A);return}ws(t,q,r,s)}else t.emit("unexpected-response",m,h)||P(t,m,`Unexpected server response: ${h.statusCode}`)}),m.on("upgrade",(h,y,T)=>{if(t.emit("upgrade",h),t.readyState!==x.CONNECTING)return;if(m=t._req=null,h.headers.upgrade.toLowerCase()!=="websocket"){P(t,y,"Invalid Upgrade header");return}let q=$o("sha1").update(u+Wo).digest("base64");if(h.headers["sec-websocket-accept"]!==q){P(t,y,"Invalid Sec-WebSocket-Accept header");return}let j=h.headers["sec-websocket-protocol"],A;if(j!==void 0?p.size?p.has(j)||(A="Server sent an invalid subprotocol"):A="Server sent a subprotocol but none was requested":p.size&&(A="Server sent no subprotocol"),A){P(t,y,A);return}j&&(t._protocol=j);let de=h.headers["sec-websocket-extensions"];if(de!==void 0){if(!g){P(t,y,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let Y;try{Y=Xo(de)}catch{P(t,y,"Invalid Sec-WebSocket-Extensions header");return}let he=Object.keys(Y);if(he.length!==1||he[0]!==G.extensionName){P(t,y,"Server indicated an extension that was not requested");return}try{g.accept(Y[G.extensionName])}catch{P(t,y,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[G.extensionName]=g}t.setSocket(y,T,{generateMask:n.generateMask,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation})}),n.finishRequest?n.finishRequest(m,t):m.end()}function He(t,e){t._readyState=x.CLOSING,t.emit("error",e),t.emitClose()}function Jo(t){return t.path=t.socketPath,_s.connect(t)}function ea(t){return t.path=void 0,!t.servername&&t.servername!==""&&(t.servername=_s.isIP(t.host)?"":t.host),Fo.connect(t)}function P(t,e,r){t._readyState=x.CLOSING;let s=new Error(r);Error.captureStackTrace(s,P),e.setHeader?(e[xs]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(He,t,s)):(e.destroy(s),e.once("error",t.emit.bind(t,"error")),e.once("close",t.emitClose.bind(t)))}function Xt(t,e,r){if(e){let s=Yo(e).length;t._socket?t._sender._bufferedBytes+=s:t._bufferedAmount+=s}if(r){let s=new Error(`WebSocket is not open: readyState ${t.readyState} (${M[t.readyState]})`);process.nextTick(r,s)}}function ta(t,e){let r=this[v];r._closeFrameReceived=!0,r._closeMessage=e,r._closeCode=t,r._socket[v]!==void 0&&(r._socket.removeListener("data",ze),process.nextTick(Ss,r._socket),t===1005?r.close():r.close(t,e))}function ra(){let t=this[v];t.isPaused||t._socket.resume()}function sa(t){let e=this[v];e._socket[v]!==void 0&&(e._socket.removeListener("data",ze),process.nextTick(Ss,e._socket),e.close(t[Vo])),e.emit("error",t)}function gs(){this[v].emitClose()}function na(t,e){this[v].emit("message",t,e)}function ia(t){let e=this[v];e.pong(t,!e._isServer,ys),e.emit("ping",t)}function oa(t){this[v].emit("pong",t)}function Ss(t){t.resume()}function vs(){let t=this[v];this.removeListener("close",vs),this.removeListener("data",ze),this.removeListener("end",bs),t._readyState=x.CLOSING;let e;!this._readableState.endEmitted&&!t._closeFrameReceived&&!t._receiver._writableState.errorEmitted&&(e=t._socket.read())!==null&&t._receiver.write(e),t._receiver.end(),this[v]=void 0,clearTimeout(t._closeTimer),t._receiver._writableState.finished||t._receiver._writableState.errorEmitted?t.emitClose():(t._receiver.on("error",gs),t._receiver.on("finish",gs))}function ze(t){this[v]._receiver.write(t)||this.pause()}function bs(){let t=this[v];t._readyState=x.CLOSING,t._receiver.end(),this.end()}function Es(){let t=this[v];this.removeListener("error",Es),this.on("error",ys),t&&(t._readyState=x.CLOSING,this.destroy())}});var Os=d((Eu,Ps)=>{"use strict";var{tokenChars:aa}=xe();function ca(t){let e=new Set,r=-1,s=-1,n=0;for(n;n<t.length;n++){let o=t.charCodeAt(n);if(s===-1&&aa[o]===1)r===-1&&(r=n);else if(n!==0&&(o===32||o===9))s===-1&&r!==-1&&(s=n);else if(o===44){if(r===-1)throw new SyntaxError(`Unexpected character at index ${n}`);s===-1&&(s=n);let a=t.slice(r,s);if(e.has(a))throw new SyntaxError(`The "${a}" subprotocol is duplicated`);e.add(a),r=s=-1}else throw new SyntaxError(`Unexpected character at index ${n}`)}if(r===-1||s!==-1)throw new SyntaxError("Unexpected end of input");let i=t.slice(r,n);if(e.has(i))throw new SyntaxError(`The "${i}" subprotocol is duplicated`);return e.add(i),e}Ps.exports={parse:ca}});var qs=d((ku,Ls)=>{"use strict";var la=require("events"),Ke=require("http"),Cu=require("https"),Pu=require("net"),Ou=require("tls"),{createHash:ua}=require("crypto"),ks=Vt(),H=ye(),fa=Os(),da=Yt(),{GUID:ha,kWebSocket:pa}=$(),ma=/^[+/0-9A-Za-z]{22}==$/,Ts=0,Is=1,Rs=2,Qt=class extends la{constructor(e,r){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:da,...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=Ke.createServer((s,n)=>{let i=Ke.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,r)):e.server&&(this._server=e.server),this._server){let s=this.emit.bind(this,"connection");this._removeListeners=ga(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(n,i,o)=>{this.handleUpgrade(n,i,o,s)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=Ts}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===Rs){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(Ee,this);return}if(e&&this.once("close",e),this._state!==Is)if(this._state=Is,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(Ee,this):process.nextTick(Ee,this);else{let r=this._server;this._removeListeners(),this._removeListeners=this._server=null,r.close(()=>{Ee(this)})}}shouldHandle(e){if(this.options.path){let r=e.url.indexOf("?");if((r!==-1?e.url.slice(0,r):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,r,s,n){r.on("error",As);let i=e.headers["sec-websocket-key"],o=+e.headers["sec-websocket-version"];if(e.method!=="GET"){z(this,e,r,405,"Invalid HTTP method");return}if(e.headers.upgrade.toLowerCase()!=="websocket"){z(this,e,r,400,"Invalid Upgrade header");return}if(!i||!ma.test(i)){z(this,e,r,400,"Missing or invalid Sec-WebSocket-Key header");return}if(o!==8&&o!==13){z(this,e,r,400,"Missing or invalid Sec-WebSocket-Version header");return}if(!this.shouldHandle(e)){Ce(r,400);return}let a=e.headers["sec-websocket-protocol"],c=new Set;if(a!==void 0)try{c=fa.parse(a)}catch{z(this,e,r,400,"Invalid Sec-WebSocket-Protocol header");return}let l=e.headers["sec-websocket-extensions"],u={};if(this.options.perMessageDeflate&&l!==void 0){let f=new H(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let p=ks.parse(l);p[H.extensionName]&&(f.accept(p[H.extensionName]),u[H.extensionName]=f)}catch{z(this,e,r,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let f={origin:e.headers[`${o===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(f,(p,g,m,h)=>{if(!p)return Ce(r,g||401,m,h);this.completeUpgrade(u,i,c,e,r,s,n)});return}if(!this.options.verifyClient(f))return Ce(r,401)}this.completeUpgrade(u,i,c,e,r,s,n)}completeUpgrade(e,r,s,n,i,o,a){if(!i.readable||!i.writable)return i.destroy();if(i[pa])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>Ts)return Ce(i,503);let l=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${ua("sha1").update(r+ha).digest("base64")}`],u=new this.options.WebSocket(null);if(s.size){let f=this.options.handleProtocols?this.options.handleProtocols(s,n):s.values().next().value;f&&(l.push(`Sec-WebSocket-Protocol: ${f}`),u._protocol=f)}if(e[H.extensionName]){let f=e[H.extensionName].params,p=ks.format({[H.extensionName]:[f]});l.push(`Sec-WebSocket-Extensions: ${p}`),u._extensions=e}this.emit("headers",l,n),i.write(l.concat(`\r
`).join(`\r
`)),i.removeListener("error",As),u.setSocket(i,o,{maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(u),u.on("close",()=>{this.clients.delete(u),this._shouldEmitClose&&!this.clients.size&&process.nextTick(Ee,this)})),a(u,n)}};Ls.exports=Qt;function ga(t,e){for(let r of Object.keys(e))t.on(r,e[r]);return function(){for(let s of Object.keys(e))t.removeListener(s,e[s])}}function Ee(t){t._state=Rs,t.emit("close")}function As(){this.destroy()}function Ce(t,e,r,s){r=r||Ke.STATUS_CODES[e],s={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(r),...s},t.once("finish",t.destroy),t.end(`HTTP/1.1 ${e} ${Ke.STATUS_CODES[e]}\r
`+Object.keys(s).map(n=>`${n}: ${s[n]}`).join(`\r
`)+`\r
\r
`+r)}function z(t,e,r,s,n){if(t.listenerCount("wsClientError")){let i=new Error(n);Error.captureStackTrace(i,z),t.emit("wsClientError",i,r,e)}else Ce(r,s,n)}});var Gs=d((qu,Us)=>{"use strict";var{Transform:va}=require("stream"),{StringDecoder:ba}=require("string_decoder"),W=Symbol("last"),Qe=Symbol("decoder");function Ea(t,e,r){let s;if(this.overflow){if(s=this[Qe].write(t).split(this.matcher),s.length===1)return r();s.shift(),this.overflow=!1}else this[W]+=this[Qe].write(t),s=this[W].split(this.matcher);this[W]=s.pop();for(let n=0;n<s.length;n++)try{$s(this,this.mapper(s[n]))}catch(i){return r(i)}if(this.overflow=this[W].length>this.maxLength,this.overflow&&!this.skipOverflow){r(new Error("maximum buffer reached"));return}r()}function Ca(t){if(this[W]+=this[Qe].end(),this[W])try{$s(this,this.mapper(this[W]))}catch(e){return t(e)}t()}function $s(t,e){e!==void 0&&t.push(e)}function Ds(t){return t}function Pa(t,e,r){switch(t=t||/\r?\n/,e=e||Ds,r=r||{},arguments.length){case 1:typeof t=="function"?(e=t,t=/\r?\n/):typeof t=="object"&&!(t instanceof RegExp)&&!t[Symbol.split]&&(r=t,t=/\r?\n/);break;case 2:typeof t=="function"?(r=e,e=t,t=/\r?\n/):typeof e=="object"&&(r=e,e=Ds)}r=Object.assign({},r),r.autoDestroy=!0,r.transform=Ea,r.flush=Ca,r.readableObjectMode=!0;let s=new va(r);return s[W]="",s[Qe]=new ba("utf8"),s.matcher=t,s.mapper=e,s.maxLength=r.maxLength,s.skipOverflow=r.skipOverflow||!1,s.overflow=!1,s._destroy=function(n,i){this._writableState.errorEmitted=!1,i(n)},s}Us.exports=Pa});var F=d(b=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.findWindowsCandidates=b.sort=b.preferredEdgePath=b.preferredFirefoxPath=b.preferredChromePath=b.escapeRegexSpecialChars=b.canAccess=void 0;var Ta=require("path");async function ke({access:t},e){if(!e)return!1;try{return await t(e),!0}catch{return!1}}b.canAccess=ke;var Ia="/\\.?*()^${}|[]+";function Aa(t,e){let r=Ia.split("").filter(n=>!e||e.indexOf(n)<0).join("").replace(/[\\\]]/g,"\\$&"),s=new RegExp(`[${r}]`,"g");return t.replace(s,"\\$&")}b.escapeRegexSpecialChars=Aa;async function Ra(t,e){if(await ke(t,e.CHROME_PATH))return e.CHROME_PATH}b.preferredChromePath=Ra;async function La(t,e){if(await ke(t,e.FIREFOX_PATH))return e.FIREFOX_PATH}b.preferredFirefoxPath=La;async function qa(t,e){if(await ke(t,e.EDGE_PATH))return e.EDGE_PATH}b.preferredEdgePath=qa;function Na(t,e){return[...t].filter(s=>!!s).map(s=>{let n=e.find(i=>i.regex.test(s));return n?{path:s,weight:n.weight,quality:n.quality}:{path:s,weight:10,quality:"dev"}}).sort((s,n)=>n.weight-s.weight).map(s=>({path:s.path,quality:s.quality}))}b.sort=Na;async function Ba(t,e,r){let s=[t.LOCALAPPDATA,t.PROGRAMFILES,t["PROGRAMFILES(X86)"]].filter(i=>!!i),n=[];for(let i of s)for(let o of r){let a=Ta.win32.join(i,o.name);n.push(ke(e,a).then(c=>c?{path:a,quality:o.type}:void 0))}return(await Promise.all(n)).filter(i=>!!i)}b.findWindowsCandidates=Ba});var rt=d(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.DarwinFinderBase=void 0;var Ma=require("path"),Fa=require("fs"),er=F(),Xs=/( \(0x[a-f0-9]+\))/,tr=class{constructor(e=process.env,r=Fa.promises,s=s){this.env=e,this.fs=r,this.execa=s,this.lsRegisterCommand="/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump",this.wellKnownPaths=[]}async findWhere(e){for(let r of this.wellKnownPaths)if(e(r)&&await(0,er.canAccess)(this.fs,r.path))return r;return(await this.findAll()).find(e)}findAll(){var e;return(e=this.foundAll)!==null&&e!==void 0||(this.foundAll=this.findAllInner()),this.foundAll}async findLaunchRegisteredApps(e,r,s){let{stdout:n}=await this.execa.command(`${this.lsRegisterCommand} | awk 'tolower($0) ~ /${e.toLowerCase()}${Xs.source}?$/ { $1=""; print $0 }'`,{shell:!0,stdio:"pipe"}),i=[...r,...n.split(`
`).map(c=>c.trim().replace(Xs,""))].filter(c=>!!c),o=this.getPreferredPath();o&&i.push(o);let a=new Set;for(let c of i)for(let l of s){let u=Ma.posix.join(c.trim(),l);try{await this.fs.access(u),a.add(u)}catch{}}return a}createPriorities(e){let r=this.env.HOME&&(0,er.escapeRegexSpecialChars)(this.env.HOME),s=this.getPreferredPath(),n=e.reduce((i,o)=>[...i,{regex:new RegExp(`^/Applications/.*${o.name}`),weight:o.weight+100,quality:o.quality},{regex:new RegExp(`^${r}/Applications/.*${o.name}`),weight:o.weight,quality:o.quality},{regex:new RegExp(`^/Volumes/.*${o.name}`),weight:o.weight-100,quality:o.quality}],[]);return s&&n.unshift({regex:new RegExp((0,er.escapeRegexSpecialChars)(s)),weight:151,quality:"custom"}),n}};tt.DarwinFinderBase=tr});var Ys=d(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.DarwinChromeBrowserFinder=void 0;var Da=F(),$a=rt(),rr=class extends $a.DarwinFinderBase{constructor(){super(...arguments),this.wellKnownPaths=[{path:"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",quality:"stable"},{path:"/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary",quality:"canary"},{path:"/Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta",quality:"beta"},{path:"/Applications/Google Chrome Dev.app/Contents/MacOS/Google Chrome Dev",quality:"dev"}]}async findAllInner(){let e=["/Contents/MacOS/Google Chrome Canary","/Contents/MacOS/Google Chrome Beta","/Contents/MacOS/Google Chrome Dev","/Contents/MacOS/Google Chrome"],r=["/Applications/Google Chrome.app","/Applications/Google Chrome Canary.app"],s=await this.findLaunchRegisteredApps("google chrome[A-Za-z() ]*.app",r,e);return(0,Da.sort)(s,this.createPriorities([{name:"Chrome.app",weight:0,quality:"stable"},{name:"Chrome Canary.app",weight:1,quality:"canary"},{name:"Chrome Beta.app",weight:2,quality:"beta"},{name:"Chrome Dev.app",weight:3,quality:"dev"}]))}getPreferredPath(){return this.env.CHROME_PATH}};st.DarwinChromeBrowserFinder=rr});var Qs=d(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.DarwinEdgeBrowserFinder=void 0;var Ua=F(),Ga=rt(),sr=class extends Ga.DarwinFinderBase{constructor(){super(...arguments),this.wellKnownPaths=[{path:"/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge",quality:"stable"},{path:"/Applications/Microsoft Edge Canary.app/Contents/MacOS/Microsoft Edge Canary",quality:"canary"},{path:"/Applications/Microsoft Edge Beta.app/Contents/MacOS/Microsoft Edge Beta",quality:"beta"},{path:"/Applications/Microsoft Edge Dev.app/Contents/MacOS/Microsoft Edge Dev",quality:"dev"}]}async findAllInner(){let e=["/Contents/MacOS/Microsoft Edge Canary","/Contents/MacOS/Microsoft Edge Beta","/Contents/MacOS/Microsoft Edge Dev","/Contents/MacOS/Microsoft Edge"],r=["/Applications/Microsoft Edge.app"],s=await this.findLaunchRegisteredApps("Microsoft Edge[A-Za-z ]*.app",r,e);return(0,Ua.sort)(s,this.createPriorities([{name:"Microsoft Edge.app",weight:0,quality:"stable"},{name:"Microsoft Edge Canary.app",weight:1,quality:"canary"},{name:"Microsoft Edge Beta.app",weight:2,quality:"beta"},{name:"Microsoft Edge Dev.app",weight:3,quality:"dev"}]))}getPreferredPath(){return this.env.EDGE_PATH}};nt.DarwinEdgeBrowserFinder=sr});var Zs=d(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.DarwinFirefoxBrowserFinder=void 0;var Wa=F(),ja=rt(),nr=class extends ja.DarwinFinderBase{constructor(){super(...arguments),this.wellKnownPaths=[{path:"/Applications/Firefox.app/Contents/MacOS/firefox",quality:"stable"},{path:"/Applications/Firefox Developer Edition.app/Contents/MacOS/firefox",quality:"dev"},{path:"/Applications/Firefox Nightly.app/Contents/MacOS/firefox",quality:"canary"}]}async findAllInner(){let e=["/Contents/MacOS/firefox"],r=["/Applications/Firefox.app"],s=await this.findLaunchRegisteredApps("Firefox[A-Za-z ]*.app",r,e);return(0,Wa.sort)(s,this.createPriorities([{name:"Firefox.app",weight:0,quality:"stable"},{name:"Firefox Nightly.app",weight:1,quality:"canary"},{name:"Firefox Developer Edition.app",weight:2,quality:"dev"}]))}getPreferredPath(){return this.env.FIREFOX_PATH}};it.DarwinFirefoxBrowserFinder=nr});var at=d(ot=>{"use strict";Object.defineProperty(ot,"__esModule",{value:!0});ot.LinuxChromeBrowserFinder=void 0;var Va=require("path"),te=F(),ir=require("child_process"),Ha=require("os"),za=require("fs"),Js=/\r?\n/,or=class{constructor(e=process.env,r=za.promises){this.env=e,this.fs=r,this.pathEnvironmentVar="CHROME_PATH",this.priorities=[{regex:/chrome-wrapper$/,weight:54,quality:"custom"},{regex:/google-chrome-dev$/,weight:53,quality:"dev"},{regex:/google-chrome-canary$/,weight:52,quality:"canary"},{regex:/google-chrome-unstable$/,weight:51,quality:"canary"},{regex:/google-chrome-canary$/,weight:51,quality:"canary"},{regex:/google-chrome-stable$/,weight:50,quality:"stable"},{regex:/google-chrome$/,weight:49,quality:"stable"},{regex:/chromium-browser$/,weight:48,quality:"custom"},{regex:/chromium$/,weight:47,quality:"custom"}],this.executablesOnPath=["google-chrome-unstable","google-chrome-dev","google-chrome-beta","google-chrome-canary","google-chrome-stable","google-chrome","chromium-browser","chromium"]}async findWhere(e){return(await this.findAll()).find(e)}async findAll(){let e=new Set,r=this.env[this.pathEnvironmentVar];r&&await(0,te.canAccess)(this.fs,r)&&e.add(r),[Va.posix.join((0,Ha.homedir)(),".local/share/applications/"),"/usr/share/applications/","/usr/bin"].forEach(o=>{for(let a in this.findChromeExecutables(o))e.add(a)}),await Promise.all(this.executablesOnPath.map(async o=>{try{let a=(0,ir.execFileSync)("which",[o],{stdio:"pipe"}).toString().split(Js)[0];await(0,te.canAccess)(this.fs,a)&&e.add(a)}catch{}}));let i=r?[{regex:new RegExp((0,te.escapeRegexSpecialChars)(r)),weight:101,quality:"custom"}].concat(this.priorities):this.priorities;return(0,te.sort)(e,i)}async findChromeExecutables(e){let r=/(^[^ ]+).*/,s=`^Exec=/.*/(${this.executablesOnPath.join("|")})-.*`,n=[];if(await(0,te.canAccess)(this.fs,e)){let i;try{i=(0,ir.execSync)(`grep -ER "${s}" ${e} | awk -F '=' '{print $2}'`)}catch{i=(0,ir.execSync)(`grep -Er "${s}" ${e} | awk -F '=' '{print $2}'`)}let o=i.toString().split(Js).map(a=>a.replace(r,"$1"));await Promise.all(o.map(async a=>{await(0,te.canAccess)(this.fs,a)&&n.push(a)}))}return n}};ot.LinuxChromeBrowserFinder=or});var en=d(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.LinuxEdgeBrowserFinder=void 0;var Ka=at(),ar=class extends Ka.LinuxChromeBrowserFinder{constructor(){super(...arguments),this.pathEnvironmentVar="EDGE_PATH",this.executablesOnPath=["microsoft-edge-dev","microsoft-edge-beta","microsoft-edge-stable","microsoft-edge"],this.priorities=[{regex:/microsoft-edge\-wrapper$/,weight:52,quality:"custom"},{regex:/microsoft-edge\-dev$/,weight:51,quality:"dev"},{regex:/microsoft-edge\-beta$/,weight:51,quality:"beta"},{regex:/microsoft-edge\-stable$/,weight:50,quality:"stable"},{regex:/microsoft-edge$/,weight:49,quality:"stable"}]}};ct.LinuxEdgeBrowserFinder=ar});var tn=d(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.LinuxFirefoxBrowserFinder=void 0;var Xa=at(),cr=class extends Xa.LinuxChromeBrowserFinder{constructor(){super(...arguments),this.pathEnvironmentVar="FIREFOX_PATH",this.executablesOnPath=["firefox-aurora","firefox-dev","firefox-developer","firefox-trunk","firefox-nightly","firefox"],this.priorities=[{regex:/firefox\-aurora$/,weight:51,quality:"dev"},{regex:/firefox\-dev$/,weight:51,quality:"dev"},{regex:/firefox\-developer$/,weight:51,quality:"dev"},{regex:/firefox\-trunk'$/,weight:50,quality:"canary"},{regex:/firefox\-nightly'$/,weight:50,quality:"canary"},{regex:/firefox$/,weight:49,quality:"stable"}]}};lt.LinuxFirefoxBrowserFinder=cr});var sn=d(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.WindowsChromeBrowserFinder=void 0;var Ya=require("path"),rn=F(),Qa=require("fs"),lr=class{constructor(e=process.env,r=Qa.promises){this.env=e,this.fs=r}async findWhere(e){return(await this.findAll()).find(e)}async findAll(){let e=Ya.win32.sep,r=[{name:`${e}Google${e}Chrome Dev${e}Application${e}chrome.exe`,type:"dev"},{name:`${e}Google${e}Chrome SxS${e}Application${e}chrome.exe`,type:"canary"},{name:`${e}Google${e}Chrome Beta${e}Application${e}chrome.exe`,type:"beta"},{name:`${e}Google${e}Chrome${e}Application${e}chrome.exe`,type:"stable"}],s=await(0,rn.findWindowsCandidates)(this.env,this.fs,r),n=await(0,rn.preferredChromePath)(this.fs,this.env);return n&&s.unshift({path:n,quality:"custom"}),s}};ut.WindowsChromeBrowserFinder=lr});var on=d(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.WindowsEdgeBrowserFinder=void 0;var E=require("path"),Za=require("fs"),nn=F(),ur=class{constructor(e=process.env,r=Za.promises){this.env=e,this.fs=r}async findWhere(e){return(await this.findAll()).find(e)}async findAll(){let e=[{name:`${E.sep}Microsoft${E.sep}Edge SxS${E.sep}Application${E.sep}msedge.exe`,type:"canary"},{name:`${E.sep}Microsoft${E.sep}Edge Dev${E.sep}Application${E.sep}msedge.exe`,type:"dev"},{name:`${E.sep}Microsoft${E.sep}Edge Beta${E.sep}Application${E.sep}msedge.exe`,type:"beta"},{name:`${E.sep}Microsoft${E.sep}Edge${E.sep}Application${E.sep}msedge.exe`,type:"stable"}],r=await(0,nn.findWindowsCandidates)(this.env,this.fs,e),s=await(0,nn.preferredEdgePath)(this.fs,this.env);return s&&r.unshift({path:s,quality:"custom"}),r}};ft.WindowsEdgeBrowserFinder=ur});var cn=d(dt=>{"use strict";Object.defineProperty(dt,"__esModule",{value:!0});dt.WindowsFirefoxBrowserFinder=void 0;var Ja=require("path"),an=F(),ec=require("fs"),fr=class{constructor(e=process.env,r=ec.promises){this.env=e,this.fs=r}async findWhere(e){return(await this.findAll()).find(e)}async findAll(){let e=Ja.win32.sep,r=[{name:`${e}Firefox Developer Edition${e}firefox.exe`,type:"dev"},{name:`${e}Firefox Nightly${e}firefox.exe`,type:"canary"},{name:`${e}Mozilla Firefox${e}firefox.exe`,type:"stable"}],s=await(0,an.findWindowsCandidates)(this.env,this.fs,r),n=await(0,an.preferredFirefoxPath)(this.fs,this.env);return n&&s.unshift({path:n,quality:"custom"}),s}};dt.WindowsFirefoxBrowserFinder=fr});var ln=d(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.FirefoxBrowserFinder=k.EdgeBrowserFinder=k.ChromeBrowserFinder=k.isQuality=k.allQualities=void 0;var tc=Ys(),rc=Qs(),sc=Zs(),nc=at(),ic=en(),oc=tn(),ac=sn(),cc=on(),lc=cn(),uc={canary:null,stable:null,beta:null,dev:null,custom:null};k.allQualities=new Set(Object.keys(uc));var fc=t=>k.allQualities.has(t);k.isQuality=fc;k.ChromeBrowserFinder=process.platform==="win32"?ac.WindowsChromeBrowserFinder:process.platform==="darwin"?tc.DarwinChromeBrowserFinder:nc.LinuxChromeBrowserFinder;k.EdgeBrowserFinder=process.platform==="win32"?cc.WindowsEdgeBrowserFinder:process.platform==="darwin"?rc.DarwinEdgeBrowserFinder:ic.LinuxEdgeBrowserFinder;k.FirefoxBrowserFinder=process.platform==="win32"?lc.WindowsFirefoxBrowserFinder:process.platform==="darwin"?sc.DarwinFirefoxBrowserFinder:oc.LinuxFirefoxBrowserFinder});var pn=d((tf,hn)=>{"use strict";hn.exports=dn;dn.sync=hc;var un=require("fs");function dc(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var s=0;s<r.length;s++){var n=r[s].toLowerCase();if(n&&t.substr(-n.length).toLowerCase()===n)return!0}return!1}function fn(t,e,r){return!t.isSymbolicLink()&&!t.isFile()?!1:dc(e,r)}function dn(t,e,r){un.stat(t,function(s,n){r(s,s?!1:fn(n,t,e))})}function hc(t,e){return fn(un.statSync(t),t,e)}});var xn=d((rf,yn)=>{"use strict";yn.exports=gn;gn.sync=pc;var mn=require("fs");function gn(t,e,r){mn.stat(t,function(s,n){r(s,s?!1:_n(n,e))})}function pc(t,e){return _n(mn.statSync(t),e)}function _n(t,e){return t.isFile()&&mc(t,e)}function mc(t,e){var r=t.mode,s=t.uid,n=t.gid,i=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),c=parseInt("010",8),l=parseInt("001",8),u=a|c,f=r&l||r&c&&n===o||r&a&&s===i||r&u&&i===0;return f}});var Sn=d((nf,wn)=>{"use strict";var sf=require("fs"),ht;process.platform==="win32"||global.TESTING_WINDOWS?ht=pn():ht=xn();wn.exports=dr;dr.sync=gc;function dr(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(s,n){dr(t,e||{},function(i,o){i?n(i):s(o)})})}ht(t,e||{},function(s,n){s&&(s.code==="EACCES"||e&&e.ignoreErrors)&&(s=null,n=!1),r(s,n)})}function gc(t,e){try{return ht.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var kn=d((of,On)=>{"use strict";var re=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",vn=require("path"),_c=re?";":":",bn=Sn(),En=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),Cn=(t,e)=>{let r=e.colon||_c,s=t.match(/\//)||re&&t.match(/\\/)?[""]:[...re?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],n=re?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",i=re?n.split(r):[""];return re&&t.indexOf(".")!==-1&&i[0]!==""&&i.unshift(""),{pathEnv:s,pathExt:i,pathExtExe:n}},Pn=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:s,pathExt:n,pathExtExe:i}=Cn(t,e),o=[],a=l=>new Promise((u,f)=>{if(l===s.length)return e.all&&o.length?u(o):f(En(t));let p=s[l],g=/^".*"$/.test(p)?p.slice(1,-1):p,m=vn.join(g,t),h=!g&&/^\.[\\\/]/.test(t)?t.slice(0,2)+m:m;u(c(h,l,0))}),c=(l,u,f)=>new Promise((p,g)=>{if(f===n.length)return p(a(u+1));let m=n[f];bn(l+m,{pathExt:i},(h,y)=>{if(!h&&y)if(e.all)o.push(l+m);else return p(l+m);return p(c(l,u,f+1))})});return r?a(0).then(l=>r(null,l),r):a(0)},yc=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:s,pathExtExe:n}=Cn(t,e),i=[];for(let o=0;o<r.length;o++){let a=r[o],c=/^".*"$/.test(a)?a.slice(1,-1):a,l=vn.join(c,t),u=!c&&/^\.[\\\/]/.test(t)?t.slice(0,2)+l:l;for(let f=0;f<s.length;f++){let p=u+s[f];try{if(bn.sync(p,{pathExt:n}))if(e.all)i.push(p);else return p}catch{}}}if(e.all&&i.length)return i;if(e.nothrow)return null;throw En(t)};On.exports=Pn;Pn.sync=yc});var pr=d((af,hr)=>{"use strict";var Tn=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(s=>s.toUpperCase()==="PATH")||"Path"};hr.exports=Tn;hr.exports.default=Tn});var Ln=d((cf,Rn)=>{"use strict";var In=require("path"),xc=kn(),wc=pr();function An(t,e){let r=t.options.env||process.env,s=process.cwd(),n=t.options.cwd!=null,i=n&&process.chdir!==void 0&&!process.chdir.disabled;if(i)try{process.chdir(t.options.cwd)}catch{}let o;try{o=xc.sync(t.command,{path:r[wc({env:r})],pathExt:e?In.delimiter:void 0})}catch{}finally{i&&process.chdir(s)}return o&&(o=In.resolve(n?t.options.cwd:"",o)),o}function Sc(t){return An(t)||An(t,!0)}Rn.exports=Sc});var qn=d((lf,gr)=>{"use strict";var mr=/([()\][%!^"`<>&|;, *?])/g;function vc(t){return t=t.replace(mr,"^$1"),t}function bc(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(mr,"^$1"),e&&(t=t.replace(mr,"^$1")),t}gr.exports.command=vc;gr.exports.argument=bc});var Bn=d((uf,Nn)=>{"use strict";Nn.exports=/^#!(.*)/});var Fn=d((ff,Mn)=>{"use strict";var Ec=Bn();Mn.exports=(t="")=>{let e=t.match(Ec);if(!e)return null;let[r,s]=e[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?s:s?`${n} ${s}`:n}});var $n=d((df,Dn)=>{"use strict";var _r=require("fs"),Cc=Fn();function Pc(t){let r=Buffer.alloc(150),s;try{s=_r.openSync(t,"r"),_r.readSync(s,r,0,150,0),_r.closeSync(s)}catch{}return Cc(r.toString())}Dn.exports=Pc});var jn=d((hf,Wn)=>{"use strict";var Oc=require("path"),Un=Ln(),Gn=qn(),kc=$n(),Tc=process.platform==="win32",Ic=/\.(?:com|exe)$/i,Ac=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Rc(t){t.file=Un(t);let e=t.file&&kc(t.file);return e?(t.args.unshift(t.file),t.command=e,Un(t)):t.file}function Lc(t){if(!Tc)return t;let e=Rc(t),r=!Ic.test(e);if(t.options.forceShell||r){let s=Ac.test(e);t.command=Oc.normalize(t.command),t.command=Gn.command(t.command),t.args=t.args.map(i=>Gn.argument(i,s));let n=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${n}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function qc(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let s={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?s:Lc(s)}Wn.exports=qc});var zn=d((pf,Hn)=>{"use strict";var yr=process.platform==="win32";function xr(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function Nc(t,e){if(!yr)return;let r=t.emit;t.emit=function(s,n){if(s==="exit"){let i=Vn(n,e,"spawn");if(i)return r.call(t,"error",i)}return r.apply(t,arguments)}}function Vn(t,e){return yr&&t===1&&!e.file?xr(e.original,"spawn"):null}function Bc(t,e){return yr&&t===1&&!e.file?xr(e.original,"spawnSync"):null}Hn.exports={hookChildProcess:Nc,verifyENOENT:Vn,verifyENOENTSync:Bc,notFoundError:xr}});var Yn=d((mf,se)=>{"use strict";var Kn=require("child_process"),wr=jn(),Sr=zn();function Xn(t,e,r){let s=wr(t,e,r),n=Kn.spawn(s.command,s.args,s.options);return Sr.hookChildProcess(n,s),n}function Mc(t,e,r){let s=wr(t,e,r),n=Kn.spawnSync(s.command,s.args,s.options);return n.error=n.error||Sr.verifyENOENTSync(n.status,s),n}se.exports=Xn;se.exports.spawn=Xn;se.exports.sync=Mc;se.exports._parse=wr;se.exports._enoent=Sr});var Zn=d((gf,Qn)=>{"use strict";Qn.exports=t=>{let e=typeof t=="string"?`
`:`
`.charCodeAt(),r=typeof t=="string"?"\r":"\r".charCodeAt();return t[t.length-1]===e&&(t=t.slice(0,t.length-1)),t[t.length-1]===r&&(t=t.slice(0,t.length-1)),t}});var ti=d((_f,Ie)=>{"use strict";var Te=require("path"),Jn=pr(),ei=t=>{t={cwd:process.cwd(),path:process.env[Jn()],execPath:process.execPath,...t};let e,r=Te.resolve(t.cwd),s=[];for(;e!==r;)s.push(Te.join(r,"node_modules/.bin")),e=r,r=Te.resolve(r,"..");let n=Te.resolve(t.cwd,t.execPath,"..");return s.push(n),s.concat(t.path).join(Te.delimiter)};Ie.exports=ei;Ie.exports.default=ei;Ie.exports.env=t=>{t={env:process.env,...t};let e={...t.env},r=Jn({env:e});return t.path=e[r],e[r]=Ie.exports(t),e}});var si=d((yf,vr)=>{"use strict";var ri=(t,e)=>{for(let r of Reflect.ownKeys(e))Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t};vr.exports=ri;vr.exports.default=ri});var ii=d((xf,mt)=>{"use strict";var Fc=si(),pt=new WeakMap,ni=(t,e={})=>{if(typeof t!="function")throw new TypeError("Expected a function");let r,s=0,n=t.displayName||t.name||"<anonymous>",i=function(...o){if(pt.set(i,++s),s===1)r=t.apply(this,o),t=null;else if(e.throw===!0)throw new Error(`Function \`${n}\` can only be called once`);return r};return Fc(i,t),pt.set(i,s),i};mt.exports=ni;mt.exports.default=ni;mt.exports.callCount=t=>{if(!pt.has(t))throw new Error(`The given function \`${t.name}\` is not wrapped by the \`onetime\` package`);return pt.get(t)}});var oi=d(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.SIGNALS=void 0;var Dc=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}];gt.SIGNALS=Dc});var br=d(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.SIGRTMAX=ne.getRealtimeSignals=void 0;var $c=function(){let t=ci-ai+1;return Array.from({length:t},Uc)};ne.getRealtimeSignals=$c;var Uc=function(t,e){return{name:`SIGRT${e+1}`,number:ai+e,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}},ai=34,ci=64;ne.SIGRTMAX=ci});var li=d(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.getSignals=void 0;var Gc=require("os"),Wc=oi(),jc=br(),Vc=function(){let t=(0,jc.getRealtimeSignals)();return[...Wc.SIGNALS,...t].map(Hc)};_t.getSignals=Vc;var Hc=function({name:t,number:e,description:r,action:s,forced:n=!1,standard:i}){let{signals:{[t]:o}}=Gc.constants,a=o!==void 0;return{name:t,number:a?o:e,description:r,supported:a,action:s,forced:n,standard:i}}});var fi=d(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});ie.signalsByNumber=ie.signalsByName=void 0;var zc=require("os"),ui=li(),Kc=br(),Xc=function(){return(0,ui.getSignals)().reduce(Yc,{})},Yc=function(t,{name:e,number:r,description:s,supported:n,action:i,forced:o,standard:a}){return{...t,[e]:{name:e,number:r,description:s,supported:n,action:i,forced:o,standard:a}}},Qc=Xc();ie.signalsByName=Qc;var Zc=function(){let t=(0,ui.getSignals)(),e=Kc.SIGRTMAX+1,r=Array.from({length:e},(s,n)=>Jc(n,t));return Object.assign({},...r)},Jc=function(t,e){let r=el(t,e);if(r===void 0)return{};let{name:s,description:n,supported:i,action:o,forced:a,standard:c}=r;return{[t]:{name:s,number:t,description:n,supported:i,action:o,forced:a,standard:c}}},el=function(t,e){let r=e.find(({name:s})=>zc.constants.signals[s]===t);return r!==void 0?r:e.find(s=>s.number===t)},tl=Zc();ie.signalsByNumber=tl});var hi=d((Ef,di)=>{"use strict";var{signalsByName:rl}=fi(),sl=({timedOut:t,timeout:e,errorCode:r,signal:s,signalDescription:n,exitCode:i,isCanceled:o})=>t?`timed out after ${e} milliseconds`:o?"was canceled":r!==void 0?`failed with ${r}`:s!==void 0?`was killed with ${s} (${n})`:i!==void 0?`failed with exit code ${i}`:"failed",nl=({stdout:t,stderr:e,all:r,error:s,signal:n,exitCode:i,command:o,escapedCommand:a,timedOut:c,isCanceled:l,killed:u,parsed:{options:{timeout:f}}})=>{i=i===null?void 0:i,n=n===null?void 0:n;let p=n===void 0?void 0:rl[n].description,g=s&&s.code,h=`Command ${sl({timedOut:c,timeout:f,errorCode:g,signal:n,signalDescription:p,exitCode:i,isCanceled:l})}: ${o}`,y=Object.prototype.toString.call(s)==="[object Error]",T=y?`${h}
${s.message}`:h,q=[T,e,t].filter(Boolean).join(`
`);return y?(s.originalMessage=s.message,s.message=q):s=new Error(q),s.shortMessage=T,s.command=o,s.escapedCommand=a,s.exitCode=i,s.signal=n,s.signalDescription=p,s.stdout=t,s.stderr=e,r!==void 0&&(s.all=r),"bufferedData"in s&&delete s.bufferedData,s.failed=!0,s.timedOut=!!c,s.isCanceled=l,s.killed=u&&!c,s};di.exports=nl});var mi=d((Cf,Er)=>{"use strict";var yt=["stdin","stdout","stderr"],il=t=>yt.some(e=>t[e]!==void 0),pi=t=>{if(!t)return;let{stdio:e}=t;if(e===void 0)return yt.map(s=>t[s]);if(il(t))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${yt.map(s=>`\`${s}\``).join(", ")}`);if(typeof e=="string")return e;if(!Array.isArray(e))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof e}\``);let r=Math.max(e.length,yt.length);return Array.from({length:r},(s,n)=>e[n])};Er.exports=pi;Er.exports.node=t=>{let e=pi(t);return e==="ipc"?"ipc":e===void 0||typeof e=="string"?[e,e,e,"ipc"]:e.includes("ipc")?e:[...e,"ipc"]}});var gi=d((Pf,xt)=>{"use strict";xt.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&xt.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&xt.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var Si=d((Of,ce)=>{"use strict";var _=global.process,K=function(t){return t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function"};K(_)?(_i=require("assert"),oe=gi(),yi=/^win/i.test(_.platform),Ae=require("events"),typeof Ae!="function"&&(Ae=Ae.EventEmitter),_.__signal_exit_emitter__?S=_.__signal_exit_emitter__:(S=_.__signal_exit_emitter__=new Ae,S.count=0,S.emitted={}),S.infinite||(S.setMaxListeners(1/0),S.infinite=!0),ce.exports=function(t,e){if(!K(global.process))return function(){};_i.equal(typeof t,"function","a callback must be provided for exit handler"),ae===!1&&Cr();var r="exit";e&&e.alwaysLast&&(r="afterexit");var s=function(){S.removeListener(r,t),S.listeners("exit").length===0&&S.listeners("afterexit").length===0&&wt()};return S.on(r,t),s},wt=function(){!ae||!K(global.process)||(ae=!1,oe.forEach(function(e){try{_.removeListener(e,St[e])}catch{}}),_.emit=vt,_.reallyExit=Pr,S.count-=1)},ce.exports.unload=wt,X=function(e,r,s){S.emitted[e]||(S.emitted[e]=!0,S.emit(e,r,s))},St={},oe.forEach(function(t){St[t]=function(){if(K(global.process)){var r=_.listeners(t);r.length===S.count&&(wt(),X("exit",null,t),X("afterexit",null,t),yi&&t==="SIGHUP"&&(t="SIGINT"),_.kill(_.pid,t))}}}),ce.exports.signals=function(){return oe},ae=!1,Cr=function(){ae||!K(global.process)||(ae=!0,S.count+=1,oe=oe.filter(function(e){try{return _.on(e,St[e]),!0}catch{return!1}}),_.emit=wi,_.reallyExit=xi)},ce.exports.load=Cr,Pr=_.reallyExit,xi=function(e){K(global.process)&&(_.exitCode=e||0,X("exit",_.exitCode,null),X("afterexit",_.exitCode,null),Pr.call(_,_.exitCode))},vt=_.emit,wi=function(e,r){if(e==="exit"&&K(global.process)){r!==void 0&&(_.exitCode=r);var s=vt.apply(this,arguments);return X("exit",_.exitCode,null),X("afterexit",_.exitCode,null),s}else return vt.apply(this,arguments)}):ce.exports=function(){return function(){}};var _i,oe,yi,Ae,S,wt,X,St,ae,Cr,Pr,xi,vt,wi});var bi=d((kf,vi)=>{"use strict";var ol=require("os"),al=Si(),cl=1e3*5,ll=(t,e="SIGTERM",r={})=>{let s=t(e);return ul(t,e,r,s),s},ul=(t,e,r,s)=>{if(!fl(e,r,s))return;let n=hl(r),i=setTimeout(()=>{t("SIGKILL")},n);i.unref&&i.unref()},fl=(t,{forceKillAfterTimeout:e},r)=>dl(t)&&e!==!1&&r,dl=t=>t===ol.constants.signals.SIGTERM||typeof t=="string"&&t.toUpperCase()==="SIGTERM",hl=({forceKillAfterTimeout:t=!0})=>{if(t===!0)return cl;if(!Number.isFinite(t)||t<0)throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${t}\` (${typeof t})`);return t},pl=(t,e)=>{t.kill()&&(e.isCanceled=!0)},ml=(t,e,r)=>{t.kill(e),r(Object.assign(new Error("Timed out"),{timedOut:!0,signal:e}))},gl=(t,{timeout:e,killSignal:r="SIGTERM"},s)=>{if(e===0||e===void 0)return s;let n,i=new Promise((a,c)=>{n=setTimeout(()=>{ml(t,r,c)},e)}),o=s.finally(()=>{clearTimeout(n)});return Promise.race([i,o])},_l=({timeout:t})=>{if(t!==void 0&&(!Number.isFinite(t)||t<0))throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${t}\` (${typeof t})`)},yl=async(t,{cleanup:e,detached:r},s)=>{if(!e||r)return s;let n=al(()=>{t.kill()});return s.finally(()=>{n()})};vi.exports={spawnedKill:ll,spawnedCancel:pl,setupTimeout:gl,validateTimeout:_l,setExitHandler:yl}});var Ci=d((Tf,Ei)=>{"use strict";var L=t=>t!==null&&typeof t=="object"&&typeof t.pipe=="function";L.writable=t=>L(t)&&t.writable!==!1&&typeof t._write=="function"&&typeof t._writableState=="object";L.readable=t=>L(t)&&t.readable!==!1&&typeof t._read=="function"&&typeof t._readableState=="object";L.duplex=t=>L.writable(t)&&L.readable(t);L.transform=t=>L.duplex(t)&&typeof t._transform=="function"&&typeof t._transformState=="object";Ei.exports=L});var Oi=d((If,Pi)=>{"use strict";var{PassThrough:xl}=require("stream");Pi.exports=t=>{t={...t};let{array:e}=t,{encoding:r}=t,s=r==="buffer",n=!1;e?n=!(r||s):r=r||"utf8",s&&(r=null);let i=new xl({objectMode:n});r&&i.setEncoding(r);let o=0,a=[];return i.on("data",c=>{a.push(c),n?o=a.length:o+=c.length}),i.getBufferedValue=()=>e?a:s?Buffer.concat(a,o):a.join(""),i.getBufferedLength=()=>o,i}});var ki=d((Af,Re)=>{"use strict";var{constants:wl}=require("buffer"),Sl=require("stream"),{promisify:vl}=require("util"),bl=Oi(),El=vl(Sl.pipeline),bt=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function Or(t,e){if(!t)throw new Error("Expected a stream");e={maxBuffer:1/0,...e};let{maxBuffer:r}=e,s=bl(e);return await new Promise((n,i)=>{let o=a=>{a&&s.getBufferedLength()<=wl.MAX_LENGTH&&(a.bufferedData=s.getBufferedValue()),i(a)};(async()=>{try{await El(t,s),n()}catch(a){o(a)}})(),s.on("data",()=>{s.getBufferedLength()>r&&o(new bt)})}),s.getBufferedValue()}Re.exports=Or;Re.exports.buffer=(t,e)=>Or(t,{...e,encoding:"buffer"});Re.exports.array=(t,e)=>Or(t,{...e,array:!0});Re.exports.MaxBufferError=bt});var Ii=d((Rf,Ti)=>{"use strict";var{PassThrough:Cl}=require("stream");Ti.exports=function(){var t=[],e=new Cl({objectMode:!0});return e.setMaxListeners(0),e.add=r,e.isEmpty=s,e.on("unpipe",n),Array.prototype.slice.call(arguments).forEach(r),e;function r(i){return Array.isArray(i)?(i.forEach(r),this):(t.push(i),i.once("end",n.bind(null,i)),i.once("error",e.emit.bind(e,"error")),i.pipe(e,{end:!1}),this)}function s(){return t.length==0}function n(i){t=t.filter(function(o){return o!==i}),!t.length&&e.readable&&e.end()}}});var qi=d((Lf,Li)=>{"use strict";var Ri=Ci(),Ai=ki(),Pl=Ii(),Ol=(t,e)=>{e===void 0||t.stdin===void 0||(Ri(e)?e.pipe(t.stdin):t.stdin.end(e))},kl=(t,{all:e})=>{if(!e||!t.stdout&&!t.stderr)return;let r=Pl();return t.stdout&&r.add(t.stdout),t.stderr&&r.add(t.stderr),r},kr=async(t,e)=>{if(t){t.destroy();try{return await e}catch(r){return r.bufferedData}}},Tr=(t,{encoding:e,buffer:r,maxBuffer:s})=>{if(!(!t||!r))return e?Ai(t,{encoding:e,maxBuffer:s}):Ai.buffer(t,{maxBuffer:s})},Tl=async({stdout:t,stderr:e,all:r},{encoding:s,buffer:n,maxBuffer:i},o)=>{let a=Tr(t,{encoding:s,buffer:n,maxBuffer:i}),c=Tr(e,{encoding:s,buffer:n,maxBuffer:i}),l=Tr(r,{encoding:s,buffer:n,maxBuffer:i*2});try{return await Promise.all([o,a,c,l])}catch(u){return Promise.all([{error:u,signal:u.signal,timedOut:u.timedOut},kr(t,a),kr(e,c),kr(r,l)])}},Il=({input:t})=>{if(Ri(t))throw new TypeError("The `input` option cannot be a stream in sync mode")};Li.exports={handleInput:Ol,makeAllStream:kl,getSpawnedResult:Tl,validateInputSync:Il}});var Bi=d((qf,Ni)=>{"use strict";var Al=(async()=>{})().constructor.prototype,Rl=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(Al,t)]),Ll=(t,e)=>{for(let[r,s]of Rl){let n=typeof e=="function"?(...i)=>Reflect.apply(s.value,e(),i):s.value.bind(e);Reflect.defineProperty(t,r,{...s,value:n})}return t},ql=t=>new Promise((e,r)=>{t.on("exit",(s,n)=>{e({exitCode:s,signal:n})}),t.on("error",s=>{r(s)}),t.stdin&&t.stdin.on("error",s=>{r(s)})});Ni.exports={mergePromise:Ll,getSpawnedPromise:ql}});var Di=d((Nf,Fi)=>{"use strict";var Mi=(t,e=[])=>Array.isArray(e)?[t,...e]:[t],Nl=/^[\w.-]+$/,Bl=/"/g,Ml=t=>typeof t!="string"||Nl.test(t)?t:`"${t.replace(Bl,'\\"')}"`,Fl=(t,e)=>Mi(t,e).join(" "),Dl=(t,e)=>Mi(t,e).map(r=>Ml(r)).join(" "),$l=/ +/g,Ul=t=>{let e=[];for(let r of t.trim().split($l)){let s=e[e.length-1];s&&s.endsWith("\\")?e[e.length-1]=`${s.slice(0,-1)} ${r}`:e.push(r)}return e};Fi.exports={joinCommand:Fl,getEscapedCommand:Dl,parseCommand:Ul}});var Hi=d((Bf,le)=>{"use strict";var Gl=require("path"),Ir=require("child_process"),Wl=Yn(),jl=Zn(),Vl=ti(),Hl=ii(),Et=hi(),Ui=mi(),{spawnedKill:zl,spawnedCancel:Kl,setupTimeout:Xl,validateTimeout:Yl,setExitHandler:Ql}=bi(),{handleInput:Zl,getSpawnedResult:Jl,makeAllStream:eu,validateInputSync:tu}=qi(),{mergePromise:$i,getSpawnedPromise:ru}=Bi(),{joinCommand:Gi,parseCommand:Wi,getEscapedCommand:ji}=Di(),su=1e3*1e3*100,nu=({env:t,extendEnv:e,preferLocal:r,localDir:s,execPath:n})=>{let i=e?{...process.env,...t}:t;return r?Vl.env({env:i,cwd:s,execPath:n}):i},Vi=(t,e,r={})=>{let s=Wl._parse(t,e,r);return t=s.command,e=s.args,r=s.options,r={maxBuffer:su,buffer:!0,stripFinalNewline:!0,extendEnv:!0,preferLocal:!1,localDir:r.cwd||process.cwd(),execPath:process.execPath,encoding:"utf8",reject:!0,cleanup:!0,all:!1,windowsHide:!0,...r},r.env=nu(r),r.stdio=Ui(r),process.platform==="win32"&&Gl.basename(t,".exe")==="cmd"&&e.unshift("/q"),{file:t,args:e,options:r,parsed:s}},Le=(t,e,r)=>typeof e!="string"&&!Buffer.isBuffer(e)?r===void 0?void 0:"":t.stripFinalNewline?jl(e):e,Ct=(t,e,r)=>{let s=Vi(t,e,r),n=Gi(t,e),i=ji(t,e);Yl(s.options);let o;try{o=Ir.spawn(s.file,s.args,s.options)}catch(g){let m=new Ir.ChildProcess,h=Promise.reject(Et({error:g,stdout:"",stderr:"",all:"",command:n,escapedCommand:i,parsed:s,timedOut:!1,isCanceled:!1,killed:!1}));return $i(m,h)}let a=ru(o),c=Xl(o,s.options,a),l=Ql(o,s.options,c),u={isCanceled:!1};o.kill=zl.bind(null,o.kill.bind(o)),o.cancel=Kl.bind(null,o,u);let p=Hl(async()=>{let[{error:g,exitCode:m,signal:h,timedOut:y},T,q,j]=await Jl(o,s.options,l),A=Le(s.options,T),de=Le(s.options,q),Y=Le(s.options,j);if(g||m!==0||h!==null){let he=Et({error:g,exitCode:m,signal:h,stdout:A,stderr:de,all:Y,command:n,escapedCommand:i,parsed:s,timedOut:y,isCanceled:u.isCanceled,killed:o.killed});if(!s.options.reject)return he;throw he}return{command:n,escapedCommand:i,exitCode:0,stdout:A,stderr:de,all:Y,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}});return Zl(o,s.options.input),o.all=eu(o,s.options),$i(o,p)};le.exports=Ct;le.exports.sync=(t,e,r)=>{let s=Vi(t,e,r),n=Gi(t,e),i=ji(t,e);tu(s.options);let o;try{o=Ir.spawnSync(s.file,s.args,s.options)}catch(l){throw Et({error:l,stdout:"",stderr:"",all:"",command:n,escapedCommand:i,parsed:s,timedOut:!1,isCanceled:!1,killed:!1})}let a=Le(s.options,o.stdout,o.error),c=Le(s.options,o.stderr,o.error);if(o.error||o.status!==0||o.signal!==null){let l=Et({stdout:a,stderr:c,error:o.error,signal:o.signal,exitCode:o.status,command:n,escapedCommand:i,parsed:s,timedOut:o.error&&o.error.code==="ETIMEDOUT",isCanceled:!1,killed:o.signal!==null});if(!s.options.reject)return l;throw l}return{command:n,escapedCommand:i,exitCode:0,stdout:a,stderr:c,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}};le.exports.command=(t,e)=>{let[r,...s]=Wi(t);return Ct(r,s,e)};le.exports.commandSync=(t,e)=>{let[r,...s]=Wi(t);return Ct.sync(r,s,e)};le.exports.node=(t,e,r={})=>{e&&!Array.isArray(e)&&typeof e=="object"&&(r=e,e=[]);let s=Ui.node(r),n=process.execArgv.filter(a=>!a.startsWith("--inspect")),{nodePath:i=process.execPath,nodeOptions:o=n}=r;return Ct(i,[...o,t,...Array.isArray(e)?e:[]],{...r,stdin:void 0,stdout:void 0,stderr:void 0,stdio:s,shell:!1})}});var au={};no(au,{activate:()=>iu,deactivate:()=>ou});module.exports=io(au);var Qi=require("os"),fe=C(require("vscode"));var Ks=C(require("vscode"));var Bs=require("child_process");var Me=C(require("node:stream"),1);function pe(t,e,r){typeof r>"u"&&(r=e,e=t,t=void 0),Me.default.Duplex.call(this,t),typeof r.read!="function"&&(r=new Me.default.Readable(t).wrap(r)),this._writable=e,this._readable=r,this._waiting=!1,e.once("finish",()=>{this.end()}),this.once("finish",()=>{e.end()}),r.on("readable",()=>{this._waiting&&(this._waiting=!1,this._read())}),r.once("end",()=>{this.push(null)}),(!t||typeof t.bubbleErrors>"u"||t.bubbleErrors)&&(e.on("error",s=>{this.emit("error",s)}),r.on("error",s=>{this.emit("error",s)}))}pe.prototype=Object.create(Me.default.Duplex.prototype,{constructor:{value:pe}});pe.prototype._write=function(t,e,r){this._writable.write(t,e,r)};pe.prototype._read=function(){let t,e=0;for(;(t=this._readable.read())!==null;)this.push(t),e++;e===0&&(this._waiting=!0)};function At(t,e,r){return new pe(t,e,r)}var Ms=require("http"),Fs=require("url"),Zt=require("vscode");var _a=C(Mr(),1),ya=C(Ut(),1),xa=C(Wt(),1),Ns=C(Yt(),1),wa=C(qs(),1);var Pe=Ns.default;var Xe=class{constructor(){this.qOrFn=[]}push(e){typeof this.qOrFn=="function"?this.qOrFn(e):this.qOrFn.push(e)}connect(e){if(typeof this.qOrFn=="function")throw new Error("Already connected");let r=this.qOrFn;this.qOrFn=e;for(let s of r)e(s)}},Ye=class{constructor(){this.errorEmitter=new Zt.EventEmitter;this.onError=this.errorEmitter.event;this.closeEmitter=new Zt.EventEmitter;this.onClose=this.closeEmitter.event;this.disposed=!1;this.fromSocketQueue=new Xe;this.fromBrowserQueue=new Xe;this.onClose(()=>this.dispose()),this.onError(()=>this.dispose())}attachSocket(e,r,s,n){let i=new Fs.URL(`ws://${e}:${r}${s}`),o=Date.now()+5e3;n?this.attachSocketWsl(i,n,o):this.attachSocketLoop(i,o)}attachChild(e){if(this.disposed){e.dispose();return}this.browserProcess=e,e.onClose(()=>this.closeEmitter.fire()),e.onError(r=>this.errorEmitter.fire(r)),e.onMessage(r=>this.fromBrowserQueue.push(r)),this.fromSocketQueue.connect(r=>e.send(r))}dispose(){this.disposed||(this.browserProcess?.dispose(),this.socket?.close(),this.disposed=!0)}attachSocketWsl(e,r,s){let n=new Ms.Agent;n.createConnection=(o,a)=>{let c=(0,Bs.spawn)("wsl.exe",["-d",r.distro,"-u",r.user,"--",r.execPath,"-e",`'s=net.connect(${e.port});s.pipe(process.stdout);process.stdin.pipe(s)'`]);c.on("error",a),c.on("spawn",()=>{a(null,Sa(At(c.stdin,c.stdout)))})};let i=new Pe(e,{agent:n});this.setupSocket(i,e,s)}attachSocketLoop(e,r){if(this.disposed)return;let s=new Pe(e,{perMessageDeflate:!0});this.setupSocket(s,e,r)}setupSocket(e,r,s){e.on("open",()=>{if(this.disposed){e.close();return}this.socket=e,this.socket.on("close",()=>this.closeEmitter.fire()),this.socket.on("message",n=>this.fromSocketQueue.push(n)),this.fromBrowserQueue.connect(n=>e.send(n))}),e.on("error",n=>{this.socket===e||Date.now()>s?this.errorEmitter.fire(n):setTimeout(()=>this.attachSocketLoop(r,s),100)})}},Sa=t=>{let e=t;return Object.assign(t,{bufferSize:0,bytesRead:0,bytesWritten:0,connecting:!1,localAddress:"127.0.0.1",localPort:1,remoteAddress:"127.0.0.1",remoteFamily:"tcp",remotePort:1,address:()=>({address:"127.0.0.1",family:"tcp",port:1}),unref:()=>e,ref:()=>e,connect:(s,n,i)=>(i&&setImmediate(i),e),setKeepAlive:()=>e,setNoDelay:()=>e,setTimeout:(s,n)=>(n?.(),e)})};var Hs=C(Gs()),O=require("vscode");var Vs=C(require("http")),ee=require("url");async function Jt(t,e){try{return await Oa(t,e)}catch(r){if(e.isCancellationRequested)throw new Error(`Could not connect to debug target at ${t}: ${r}`);return await new Promise(s=>setTimeout(s,200)),Jt(t,e)}}async function Oa(t,e){let r=await Ws((0,ee.resolve)(t,"/json/version"),e);if(r?.webSocketDebuggerUrl)return js(t,r.webSocketDebuggerUrl);let s=await Ws((0,ee.resolve)(t,"/json/list"),e);if(s?.length)return js(t,s[0].webSocketDebuggerUrl);throw new Error("Could not find any debuggable target")}async function Ws(t,e){return JSON.parse(await ka(t,e))}function ka(t,e){let r=[];return new Promise((s,n)=>{let i=Vs.request(t,{headers:{host:"localhost"}},o=>{r.push(e.onCancellationRequested(()=>o.destroy()));let a="";o.setEncoding("utf8"),o.on("data",c=>a+=c),o.on("end",()=>s(a)),o.on("error",n)});r.push(e.onCancellationRequested(()=>{i.destroy(),n(new Error(`Cancelled GET ${t}`))})),i.on("error",n),i.end()}).finally(()=>r.forEach(s=>s.dispose()))}function js(t,e){let r=new ee.URL(t),s=new ee.URL(e);return s.host=r.host,s.toString()}var zs=async t=>{t.exitCode||await Promise.race([new Promise(e=>t.on("exit",e)),new Promise(e=>setTimeout(e,1e3))])},Ze=class{constructor(e){this.process=e;this.errorEmitter=new O.EventEmitter;this.closeEmitter=new O.EventEmitter;this.messageEmitter=new O.EventEmitter;this.onError=this.errorEmitter.event;this.onClose=this.closeEmitter.event;this.onMessage=this.messageEmitter.event;if(this.process.stdio.length<5)throw new Error("Insufficient fd number on child process");e.on("error",r=>this.errorEmitter.fire(r)),e.on("exit",()=>this.closeEmitter.fire()),e.stdio[4].pipe((0,Hs.default)("\0")).on("data",r=>this.messageEmitter.fire(r)).resume()}send(e){let r=this.process.stdio[3];if(e instanceof Uint8Array)r.write(e);else if(e instanceof ArrayBuffer)r.write(new Uint8Array(e));else for(let s of e)r.write(s);r.write("\0")}async dispose(){await zs(this.process),this.process.kill()}},Oe=class t{constructor(e){this.ws=e;this.errorEmitter=new O.EventEmitter;this.closeEmitter=new O.EventEmitter;this.messageEmitter=new O.EventEmitter;this.onError=this.errorEmitter.event;this.onClose=this.closeEmitter.event;this.onMessage=this.messageEmitter.event;e.on("error",r=>this.errorEmitter.fire(r)),e.on("close",()=>this.closeEmitter.fire()),e.on("message",r=>this.messageEmitter.fire(r))}static async create(e,r){let s=new O.CancellationTokenSource;setTimeout(()=>s.cancel(),10*1e3);let n=await Jt(`http://${e}:${r}`,s.token),i=new Pe(n,[],{headers:{host:"localhost"},perMessageDeflate:!1,maxPayload:256*1024*1024,followRedirects:!0});return await new Promise((o,a)=>{i.addEventListener("open",()=>o(new t(i))),i.addEventListener("error",c=>a(c.error))})}send(e){this.ws.send(e.toString())}async dispose(){await new Promise(e=>{this.ws.on("close",e),this.ws.close()})}},Je=class t{constructor(e,r){this.process=e;this.attach=r;this.errorEmitter=new O.EventEmitter;this.closeEmitter=new O.EventEmitter;this.messageEmitter=new O.EventEmitter;this.onError=this.errorEmitter.event;this.onClose=this.closeEmitter.event;this.onMessage=this.messageEmitter.event;e.on("error",s=>this.errorEmitter.fire(s)),e.on("close",()=>this.closeEmitter.fire()),r.onError(s=>this.errorEmitter.fire(s)),r.onClose(()=>this.closeEmitter.fire()),r.onMessage(s=>this.messageEmitter.fire(s))}static async create(e,r){let s=new O.CancellationTokenSource;setTimeout(()=>s.cancel(),10*1e3);try{let n=await Oe.create("localhost",r);return new t(e,n)}catch(n){throw e.kill(),n}}send(e){this.attach.send(e)}async dispose(){this.attach.dispose(),await zs(this.process),this.process.kill()}};var et=class{constructor(e){this.spawn=e;this.sessions=new Map}async create(e){let r=new Ye;this.sessions.set(e.launchId,r),r.onClose(()=>this.sessions.delete(e.launchId)),r.onError(s=>{Ks.window.showErrorMessage(`Error running browser: ${s.message||s.stack}`),this.sessions.delete(e.launchId)}),await Promise.all([this.addChildSocket(r,e),e.attach?this.addChildAttach(r,e.attach):this.addChildBrowser(r,e)])}destroy(e){this.sessions.get(e)?.dispose(),this.sessions.delete(e)}dispose(){for(let e of this.sessions.values())e.dispose();this.sessions.clear()}async addChildSocket(e,r){let[s,n]=r.proxyUri.split(":");e.attachSocket(s,Number(n),r.path,r.wslInfo)}async addChildBrowser(e,r){let s=await this.spawn.launch(r);e.attachChild(s)}async addChildAttach(e,r){let s=await Oe.create(r.host,r.port);e.attachChild(s)}};var D=C(ln()),Pt=require("child_process"),Ot=C(Hi()),kt=require("fs"),Yi=require("path"),qe=C(require("vscode"));var ue=class extends Error{};var zi=require("fs");async function Ar(t){try{return await zi.promises.access(t),!0}catch{return!1}}var Ki="--remote-debugging-port=",Xi="--remote-debugging-port=",Rr="availableBrowsers_",Tt=class{constructor(e,r){this.storagePath=e;this.context=r;this.finders={edge:new D.EdgeBrowserFinder(process.env,kt.promises,Ot.default),chrome:new D.ChromeBrowserFinder(process.env,kt.promises,Ot.default),firefox:new D.FirefoxBrowserFinder(process.env,kt.promises,Ot.default)}}async findBrowserPath(e,r){if(r!=="*"&&!(0,D.isQuality)(r))return r;if(!this.finders.hasOwnProperty(e))throw new ue(`Browser type "${e}" is not supported.`);let s=this.context.globalState.get(Rr+e)||await this.finders[e].findAll(),n=r==="*"?s.find(i=>i.quality==="stable")??s[0]:s.find(i=>i.quality===r);if(!n)throw await this.context.globalState.update(Rr+e,void 0),r==="stable"&&!s.length?new ue(qe.l10n.t('Unable to find a {0} installation on your system. Try installing it, or providing an absolute path to the browser in the "runtimeExecutable" in your launch.json.',e)):new ue(qe.l10n.t('Unable to find {0} version {1}. Available auto-discovered versions are: {2}. You can set the "runtimeExecutable" in your launch.json to one of these, or provide an absolute path to the browser executable.',e,r,JSON.stringify([...new Set(s)])));return await this.context.globalState.update(Rr+e,s),n.path}async findBrowserByExe(e,r){return r==="*"?(await e.findWhere(n=>n.quality==="stable")||(await e.findAll())[0])?.path:(0,D.isQuality)(r)?(await e.findWhere(s=>s.quality===r))?.path:r}async getUserDataDir(e){let r=e.params.userDataDir;if(r===!1)return;let s=(0,Yi.join)(this.storagePath,e.browserArgs?.includes("--headless")?".headless-profile":".profile");return r===!0||!await Ar(r)?s:r}async launchBrowserOnly(e,r){let s=await this.findBrowserPath(e,"*");(0,Pt.spawn)(s,[r],{detached:!0,stdio:"ignore"}).on("error",n=>{qe.window.showErrorMessage(`Error running browser: ${n.message||n.stack}`)})}async launch(e){let r=await this.findBrowserPath(e.type,e.params.runtimeExecutable),s=e.browserArgs.slice(),n=await this.getUserDataDir(e);n!==void 0&&s.unshift(`--user-data-dir=${n}`);let i=e.params.cwd||e.params.webRoot;(!i||!await Ar(i))&&(i=process.cwd());let o=s.find(c=>c.startsWith(Ki))?.slice(Ki.length);if(!o)return new Ze((0,Pt.spawn)(r,s,{detached:process.platform!=="win32",env:{...process.env,GDK_PIXBUF_MODULEDIR:void 0,GDK_PIXBUF_MODULE_FILE:void 0,ELECTRON_RUN_AS_NODE:void 0,...e.params.env},stdio:["ignore","ignore","ignore","pipe","pipe"],cwd:i}));s.includes(Xi)||s.unshift(Xi);let a=(0,Pt.spawn)(r,s,{detached:process.platform!=="win32",env:{ELECTRON_RUN_AS_NODE:void 0,...e.params.env},stdio:"ignore",cwd:i});return await Je.create(a,Number(o))}};var Ne;function iu(t){let e=new Tt(t.storageUri?.fsPath??(0,Qi.tmpdir)(),t);Ne=new et(e),t.subscriptions.push(fe.commands.registerCommand("js-debug-companion.launchAndAttach",r=>{Ne?.create(r).catch(s=>fe.window.showErrorMessage(s.message))}),fe.commands.registerCommand("js-debug-companion.kill",({launchId:r})=>{Ne?.destroy(r)}),fe.commands.registerCommand("js-debug-companion.launch",({browserType:r,URL:s})=>{e.launchBrowserOnly(r,s)}))}function ou(){Ne?.dispose(),Ne=void 0}0&&(module.exports={activate,deactivate});