@termiq/cli 1.11.3 → 1.11.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/bin.js +27 -25
  2. package/package.json +4 -1
package/dist/bin.js CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
- "use strict";var qd=Object.create;var Oo=Object.defineProperty;var Wd=Object.getOwnPropertyDescriptor;var Hd=Object.getOwnPropertyNames;var Vd=Object.getPrototypeOf,Kd=Object.prototype.hasOwnProperty;var Mt=(r,e)=>()=>(r&&(e=r(r=0)),e);var F=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),zd=(r,e)=>{for(var t in e)Oo(r,t,{get:e[t],enumerable:!0})},$d=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Hd(e))!Kd.call(r,s)&&s!==t&&Oo(r,s,{get:()=>e[s],enumerable:!(n=Wd(e,s))||n.enumerable});return r};var ue=(r,e,t)=>(t=r!=null?qd(Vd(r)):{},$d(e||!r||!r.__esModule?Oo(t,"default",{value:r,enumerable:!0}):t,r));var Hs=F(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.generateCorrelationId=Xd;es.runWithCorrelation=Jd;es.getCurrentCorrelationId=Zd;var Yd=require("async_hooks");function Xd(){let r=new Uint8Array(4),e=globalThis.crypto;if(e?.getRandomValues)e.getRandomValues(r);else for(let t=0;t<4;t++)r[t]=Math.floor(Math.random()*256);return"c-"+Array.from(r,t=>t.toString(16).padStart(2,"0")).join("")}var cf=new Yd.AsyncLocalStorage;function Jd(r,e){return cf.run(r,e)}function Zd(){return cf.getStore()}});var uf=F(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.LOG_LEVELS=void 0;yn.shouldLog=ep;yn.formatLogLine=tp;var Qd=Hs();yn.LOG_LEVELS=["silent","error","warn","info","debug"];var ff={silent:0,error:1,warn:2,info:3,debug:4};function ep(r,e){return ff[r]<=ff[e]}function tp(r,e,t,n){let s={ts:new Date().toISOString(),level:r,src:e,msg:t},i=(0,Qd.getCurrentCorrelationId)();i&&(s.cid=i);let a=n;a.length>0&&typeof a[0]=="object"&&a[0]!==null&&!(a[0]instanceof Error)&&!Array.isArray(a[0])&&(s.ctx=a[0],a=a.slice(1));let c=[...a].reverse().find(u=>u instanceof Error);c&&(s.err={message:c.message,stack:c.stack,name:c.name},a=a.filter(u=>u!==c)),a.length>0&&(s.args=a);try{return JSON.stringify(s)}catch{return JSON.stringify({ts:s.ts,level:r,src:e,msg:t,_unserializable:!0})}}});var lf=F(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.formatLogLine=Sr.shouldLog=Sr.LOG_LEVELS=void 0;var ko=uf();Object.defineProperty(Sr,"LOG_LEVELS",{enumerable:!0,get:function(){return ko.LOG_LEVELS}});Object.defineProperty(Sr,"shouldLog",{enumerable:!0,get:function(){return ko.shouldLog}});Object.defineProperty(Sr,"formatLogLine",{enumerable:!0,get:function(){return ko.formatLogLine}})});var hf=F(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.CircularBuffer=void 0;var Ro=class{buffer=[];totalSize=0;maxSize;constructor(e=100){this.maxSize=e*1024}append(e){for(this.buffer.push(e),this.totalSize+=e.length;this.totalSize>this.maxSize&&this.buffer.length>1;){let t=this.buffer.shift();t&&(this.totalSize-=t.length)}}getContent(){return this.buffer.join("")}getLastBytes(e){let t=this.getContent();return t.length<=e?t:t.slice(-e)}getSize(){return this.totalSize}clear(){this.buffer=[],this.totalSize=0}};Vs.CircularBuffer=Ro});var zs=F(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.getApiUrl=rp;Ks.getWsUrl=np;function rp(r){return`${r.getServerUrl()}/api`}function np(r){let e=r.getServerUrl();return e.startsWith("https://")?e.replace(/^https:\/\//,"wss://"):e.replace(/^http:\/\//,"ws://")}});var pf=F(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.getCurrentCorrelationId=gt.runWithCorrelation=gt.generateCorrelationId=gt.getWsUrl=gt.getApiUrl=gt.CircularBuffer=void 0;var sp=hf();Object.defineProperty(gt,"CircularBuffer",{enumerable:!0,get:function(){return sp.CircularBuffer}});var df=zs();Object.defineProperty(gt,"getApiUrl",{enumerable:!0,get:function(){return df.getApiUrl}});Object.defineProperty(gt,"getWsUrl",{enumerable:!0,get:function(){return df.getWsUrl}});var Po=Hs();Object.defineProperty(gt,"generateCorrelationId",{enumerable:!0,get:function(){return Po.generateCorrelationId}});Object.defineProperty(gt,"runWithCorrelation",{enumerable:!0,get:function(){return Po.runWithCorrelation}});Object.defineProperty(gt,"getCurrentCorrelationId",{enumerable:!0,get:function(){return Po.getCurrentCorrelationId}})});var mf=F(gf=>{"use strict";Object.defineProperty(gf,"__esModule",{value:!0})});var yf=F(_f=>{"use strict";Object.defineProperty(_f,"__esModule",{value:!0})});var vf=F($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.PLAN_LIMITS=void 0;$s.PLAN_LIMITS={free:{maxAgents:1,maxTerminals:2,maxTeamMembers:1,historyDays:1},basic:{maxAgents:3,maxTerminals:10,maxTeamMembers:1,historyDays:7},pro:{maxAgents:10,maxTerminals:50,maxTeamMembers:5,historyDays:30}}});var wf=F(Ef=>{"use strict";Object.defineProperty(Ef,"__esModule",{value:!0})});var bf=F(Kt=>{"use strict";var ip=Kt&&Kt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),Gs=Kt&&Kt.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&ip(e,r,t)};Object.defineProperty(Kt,"__esModule",{value:!0});Gs(mf(),Kt);Gs(yf(),Kt);Gs(vf(),Kt);Gs(wf(),Kt)});var xf=F(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.API_VERSION=Ot.WS_NAMESPACES=Ot.TIMEOUTS=Ot.STATUS_PATTERNS=Ot.TERMINAL_STATUSES=void 0;Ot.TERMINAL_STATUSES={idle:{label:"Idle",color:"gray",icon:"\u25CF"},working:{label:"Working",color:"blue",icon:"\u27F3"},waiting:{label:"Awaiting input",color:"orange",icon:"\u26A0"},completed:{label:"Completed",color:"green",icon:"\u2713"},error:{label:"Error",color:"red",icon:"\u2715"},offline:{label:"Offline",color:"black",icon:"\u26AB"}};Ot.STATUS_PATTERNS={idle:[/[❯$]\s*$/,/>\s*$/],waiting:[/\[Y\/n\]/i,/\(y\/N\)/i,/Continue\?/i,/proceed\?/i],completed:[/✓/,/Done/,/Completed/,/Success/],error:[/Error/,/Failed/,/✕/,/Exception/]};Ot.TIMEOUTS={HEARTBEAT_INTERVAL:3e4,OFFLINE_THRESHOLD:6e4,DEVICE_CODE_EXPIRY:9e5,DEVICE_CODE_POLL_INTERVAL:5e3};Ot.WS_NAMESPACES={AGENT:"/agent",CLIENT:"/client"};Ot.API_VERSION="v1"});var Sf=F(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.isMultiRecipientPayload=op;Ys.isEncryptedPayload=ap;function op(r){return typeof r=="object"&&r!==null&&"v"in r&&r.v===2&&"recipients"in r&&Array.isArray(r.recipients)}function ap(r){if(typeof r!="object"||r===null||!("encrypted"in r))return!1;let e=r.encrypted;if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.v=="number"&&typeof t.sid=="string"&&typeof t.n=="string"&&typeof t.c=="string"}});var Ao=F((eE,Xs)=>{(function(r){"use strict";var e=function(f){var h,l=new Float64Array(16);if(f)for(h=0;h<f.length;h++)l[h]=f[h];return l},t=function(){throw new Error("no PRNG")},n=new Uint8Array(16),s=new Uint8Array(32);s[0]=9;var i=e(),a=e([1]),c=e([56129,1]),u=e([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),d=e([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),g=e([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),m=e([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),y=e([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function w(f,h,l,o){f[h]=l>>24&255,f[h+1]=l>>16&255,f[h+2]=l>>8&255,f[h+3]=l&255,f[h+4]=o>>24&255,f[h+5]=o>>16&255,f[h+6]=o>>8&255,f[h+7]=o&255}function S(f,h,l,o,p){var v,E=0;for(v=0;v<p;v++)E|=f[h+v]^l[o+v];return(1&E-1>>>8)-1}function T(f,h,l,o){return S(f,h,l,o,16)}function V(f,h,l,o){return S(f,h,l,o,32)}function ge(f,h,l,o){for(var p=o[0]&255|(o[1]&255)<<8|(o[2]&255)<<16|(o[3]&255)<<24,v=l[0]&255|(l[1]&255)<<8|(l[2]&255)<<16|(l[3]&255)<<24,E=l[4]&255|(l[5]&255)<<8|(l[6]&255)<<16|(l[7]&255)<<24,O=l[8]&255|(l[9]&255)<<8|(l[10]&255)<<16|(l[11]&255)<<24,M=l[12]&255|(l[13]&255)<<8|(l[14]&255)<<16|(l[15]&255)<<24,Y=o[4]&255|(o[5]&255)<<8|(o[6]&255)<<16|(o[7]&255)<<24,q=h[0]&255|(h[1]&255)<<8|(h[2]&255)<<16|(h[3]&255)<<24,Ce=h[4]&255|(h[5]&255)<<8|(h[6]&255)<<16|(h[7]&255)<<24,K=h[8]&255|(h[9]&255)<<8|(h[10]&255)<<16|(h[11]&255)<<24,te=h[12]&255|(h[13]&255)<<8|(h[14]&255)<<16|(h[15]&255)<<24,re=o[8]&255|(o[9]&255)<<8|(o[10]&255)<<16|(o[11]&255)<<24,le=l[16]&255|(l[17]&255)<<8|(l[18]&255)<<16|(l[19]&255)<<24,fe=l[20]&255|(l[21]&255)<<8|(l[22]&255)<<16|(l[23]&255)<<24,ne=l[24]&255|(l[25]&255)<<8|(l[26]&255)<<16|(l[27]&255)<<24,ae=l[28]&255|(l[29]&255)<<8|(l[30]&255)<<16|(l[31]&255)<<24,se=o[12]&255|(o[13]&255)<<8|(o[14]&255)<<16|(o[15]&255)<<24,z=p,X=v,H=E,$=O,G=M,U=Y,b=q,x=Ce,I=K,C=te,k=re,D=le,Q=fe,he=ne,pe=ae,de=se,_,ye=0;ye<20;ye+=2)_=z+Q|0,G^=_<<7|_>>>25,_=G+z|0,I^=_<<9|_>>>23,_=I+G|0,Q^=_<<13|_>>>19,_=Q+I|0,z^=_<<18|_>>>14,_=U+X|0,C^=_<<7|_>>>25,_=C+U|0,he^=_<<9|_>>>23,_=he+C|0,X^=_<<13|_>>>19,_=X+he|0,U^=_<<18|_>>>14,_=k+b|0,pe^=_<<7|_>>>25,_=pe+k|0,H^=_<<9|_>>>23,_=H+pe|0,b^=_<<13|_>>>19,_=b+H|0,k^=_<<18|_>>>14,_=de+D|0,$^=_<<7|_>>>25,_=$+de|0,x^=_<<9|_>>>23,_=x+$|0,D^=_<<13|_>>>19,_=D+x|0,de^=_<<18|_>>>14,_=z+$|0,X^=_<<7|_>>>25,_=X+z|0,H^=_<<9|_>>>23,_=H+X|0,$^=_<<13|_>>>19,_=$+H|0,z^=_<<18|_>>>14,_=U+G|0,b^=_<<7|_>>>25,_=b+U|0,x^=_<<9|_>>>23,_=x+b|0,G^=_<<13|_>>>19,_=G+x|0,U^=_<<18|_>>>14,_=k+C|0,D^=_<<7|_>>>25,_=D+k|0,I^=_<<9|_>>>23,_=I+D|0,C^=_<<13|_>>>19,_=C+I|0,k^=_<<18|_>>>14,_=de+pe|0,Q^=_<<7|_>>>25,_=Q+de|0,he^=_<<9|_>>>23,_=he+Q|0,pe^=_<<13|_>>>19,_=pe+he|0,de^=_<<18|_>>>14;z=z+p|0,X=X+v|0,H=H+E|0,$=$+O|0,G=G+M|0,U=U+Y|0,b=b+q|0,x=x+Ce|0,I=I+K|0,C=C+te|0,k=k+re|0,D=D+le|0,Q=Q+fe|0,he=he+ne|0,pe=pe+ae|0,de=de+se|0,f[0]=z>>>0&255,f[1]=z>>>8&255,f[2]=z>>>16&255,f[3]=z>>>24&255,f[4]=X>>>0&255,f[5]=X>>>8&255,f[6]=X>>>16&255,f[7]=X>>>24&255,f[8]=H>>>0&255,f[9]=H>>>8&255,f[10]=H>>>16&255,f[11]=H>>>24&255,f[12]=$>>>0&255,f[13]=$>>>8&255,f[14]=$>>>16&255,f[15]=$>>>24&255,f[16]=G>>>0&255,f[17]=G>>>8&255,f[18]=G>>>16&255,f[19]=G>>>24&255,f[20]=U>>>0&255,f[21]=U>>>8&255,f[22]=U>>>16&255,f[23]=U>>>24&255,f[24]=b>>>0&255,f[25]=b>>>8&255,f[26]=b>>>16&255,f[27]=b>>>24&255,f[28]=x>>>0&255,f[29]=x>>>8&255,f[30]=x>>>16&255,f[31]=x>>>24&255,f[32]=I>>>0&255,f[33]=I>>>8&255,f[34]=I>>>16&255,f[35]=I>>>24&255,f[36]=C>>>0&255,f[37]=C>>>8&255,f[38]=C>>>16&255,f[39]=C>>>24&255,f[40]=k>>>0&255,f[41]=k>>>8&255,f[42]=k>>>16&255,f[43]=k>>>24&255,f[44]=D>>>0&255,f[45]=D>>>8&255,f[46]=D>>>16&255,f[47]=D>>>24&255,f[48]=Q>>>0&255,f[49]=Q>>>8&255,f[50]=Q>>>16&255,f[51]=Q>>>24&255,f[52]=he>>>0&255,f[53]=he>>>8&255,f[54]=he>>>16&255,f[55]=he>>>24&255,f[56]=pe>>>0&255,f[57]=pe>>>8&255,f[58]=pe>>>16&255,f[59]=pe>>>24&255,f[60]=de>>>0&255,f[61]=de>>>8&255,f[62]=de>>>16&255,f[63]=de>>>24&255}function J(f,h,l,o){for(var p=o[0]&255|(o[1]&255)<<8|(o[2]&255)<<16|(o[3]&255)<<24,v=l[0]&255|(l[1]&255)<<8|(l[2]&255)<<16|(l[3]&255)<<24,E=l[4]&255|(l[5]&255)<<8|(l[6]&255)<<16|(l[7]&255)<<24,O=l[8]&255|(l[9]&255)<<8|(l[10]&255)<<16|(l[11]&255)<<24,M=l[12]&255|(l[13]&255)<<8|(l[14]&255)<<16|(l[15]&255)<<24,Y=o[4]&255|(o[5]&255)<<8|(o[6]&255)<<16|(o[7]&255)<<24,q=h[0]&255|(h[1]&255)<<8|(h[2]&255)<<16|(h[3]&255)<<24,Ce=h[4]&255|(h[5]&255)<<8|(h[6]&255)<<16|(h[7]&255)<<24,K=h[8]&255|(h[9]&255)<<8|(h[10]&255)<<16|(h[11]&255)<<24,te=h[12]&255|(h[13]&255)<<8|(h[14]&255)<<16|(h[15]&255)<<24,re=o[8]&255|(o[9]&255)<<8|(o[10]&255)<<16|(o[11]&255)<<24,le=l[16]&255|(l[17]&255)<<8|(l[18]&255)<<16|(l[19]&255)<<24,fe=l[20]&255|(l[21]&255)<<8|(l[22]&255)<<16|(l[23]&255)<<24,ne=l[24]&255|(l[25]&255)<<8|(l[26]&255)<<16|(l[27]&255)<<24,ae=l[28]&255|(l[29]&255)<<8|(l[30]&255)<<16|(l[31]&255)<<24,se=o[12]&255|(o[13]&255)<<8|(o[14]&255)<<16|(o[15]&255)<<24,z=p,X=v,H=E,$=O,G=M,U=Y,b=q,x=Ce,I=K,C=te,k=re,D=le,Q=fe,he=ne,pe=ae,de=se,_,ye=0;ye<20;ye+=2)_=z+Q|0,G^=_<<7|_>>>25,_=G+z|0,I^=_<<9|_>>>23,_=I+G|0,Q^=_<<13|_>>>19,_=Q+I|0,z^=_<<18|_>>>14,_=U+X|0,C^=_<<7|_>>>25,_=C+U|0,he^=_<<9|_>>>23,_=he+C|0,X^=_<<13|_>>>19,_=X+he|0,U^=_<<18|_>>>14,_=k+b|0,pe^=_<<7|_>>>25,_=pe+k|0,H^=_<<9|_>>>23,_=H+pe|0,b^=_<<13|_>>>19,_=b+H|0,k^=_<<18|_>>>14,_=de+D|0,$^=_<<7|_>>>25,_=$+de|0,x^=_<<9|_>>>23,_=x+$|0,D^=_<<13|_>>>19,_=D+x|0,de^=_<<18|_>>>14,_=z+$|0,X^=_<<7|_>>>25,_=X+z|0,H^=_<<9|_>>>23,_=H+X|0,$^=_<<13|_>>>19,_=$+H|0,z^=_<<18|_>>>14,_=U+G|0,b^=_<<7|_>>>25,_=b+U|0,x^=_<<9|_>>>23,_=x+b|0,G^=_<<13|_>>>19,_=G+x|0,U^=_<<18|_>>>14,_=k+C|0,D^=_<<7|_>>>25,_=D+k|0,I^=_<<9|_>>>23,_=I+D|0,C^=_<<13|_>>>19,_=C+I|0,k^=_<<18|_>>>14,_=de+pe|0,Q^=_<<7|_>>>25,_=Q+de|0,he^=_<<9|_>>>23,_=he+Q|0,pe^=_<<13|_>>>19,_=pe+he|0,de^=_<<18|_>>>14;f[0]=z>>>0&255,f[1]=z>>>8&255,f[2]=z>>>16&255,f[3]=z>>>24&255,f[4]=U>>>0&255,f[5]=U>>>8&255,f[6]=U>>>16&255,f[7]=U>>>24&255,f[8]=k>>>0&255,f[9]=k>>>8&255,f[10]=k>>>16&255,f[11]=k>>>24&255,f[12]=de>>>0&255,f[13]=de>>>8&255,f[14]=de>>>16&255,f[15]=de>>>24&255,f[16]=b>>>0&255,f[17]=b>>>8&255,f[18]=b>>>16&255,f[19]=b>>>24&255,f[20]=x>>>0&255,f[21]=x>>>8&255,f[22]=x>>>16&255,f[23]=x>>>24&255,f[24]=I>>>0&255,f[25]=I>>>8&255,f[26]=I>>>16&255,f[27]=I>>>24&255,f[28]=C>>>0&255,f[29]=C>>>8&255,f[30]=C>>>16&255,f[31]=C>>>24&255}function A(f,h,l,o){ge(f,h,l,o)}function R(f,h,l,o){J(f,h,l,o)}var ee=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function j(f,h,l,o,p,v,E){var O=new Uint8Array(16),M=new Uint8Array(64),Y,q;for(q=0;q<16;q++)O[q]=0;for(q=0;q<8;q++)O[q]=v[q];for(;p>=64;){for(A(M,O,E,ee),q=0;q<64;q++)f[h+q]=l[o+q]^M[q];for(Y=1,q=8;q<16;q++)Y=Y+(O[q]&255)|0,O[q]=Y&255,Y>>>=8;p-=64,h+=64,o+=64}if(p>0)for(A(M,O,E,ee),q=0;q<p;q++)f[h+q]=l[o+q]^M[q];return 0}function Z(f,h,l,o,p){var v=new Uint8Array(16),E=new Uint8Array(64),O,M;for(M=0;M<16;M++)v[M]=0;for(M=0;M<8;M++)v[M]=o[M];for(;l>=64;){for(A(E,v,p,ee),M=0;M<64;M++)f[h+M]=E[M];for(O=1,M=8;M<16;M++)O=O+(v[M]&255)|0,v[M]=O&255,O>>>=8;l-=64,h+=64}if(l>0)for(A(E,v,p,ee),M=0;M<l;M++)f[h+M]=E[M];return 0}function ce(f,h,l,o,p){var v=new Uint8Array(32);R(v,o,p,ee);for(var E=new Uint8Array(8),O=0;O<8;O++)E[O]=o[O+16];return Z(f,h,l,E,v)}function ie(f,h,l,o,p,v,E){var O=new Uint8Array(32);R(O,v,E,ee);for(var M=new Uint8Array(8),Y=0;Y<8;Y++)M[Y]=v[Y+16];return j(f,h,l,o,p,M,O)}var _e=function(f){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var h,l,o,p,v,E,O,M;h=f[0]&255|(f[1]&255)<<8,this.r[0]=h&8191,l=f[2]&255|(f[3]&255)<<8,this.r[1]=(h>>>13|l<<3)&8191,o=f[4]&255|(f[5]&255)<<8,this.r[2]=(l>>>10|o<<6)&7939,p=f[6]&255|(f[7]&255)<<8,this.r[3]=(o>>>7|p<<9)&8191,v=f[8]&255|(f[9]&255)<<8,this.r[4]=(p>>>4|v<<12)&255,this.r[5]=v>>>1&8190,E=f[10]&255|(f[11]&255)<<8,this.r[6]=(v>>>14|E<<2)&8191,O=f[12]&255|(f[13]&255)<<8,this.r[7]=(E>>>11|O<<5)&8065,M=f[14]&255|(f[15]&255)<<8,this.r[8]=(O>>>8|M<<8)&8191,this.r[9]=M>>>5&127,this.pad[0]=f[16]&255|(f[17]&255)<<8,this.pad[1]=f[18]&255|(f[19]&255)<<8,this.pad[2]=f[20]&255|(f[21]&255)<<8,this.pad[3]=f[22]&255|(f[23]&255)<<8,this.pad[4]=f[24]&255|(f[25]&255)<<8,this.pad[5]=f[26]&255|(f[27]&255)<<8,this.pad[6]=f[28]&255|(f[29]&255)<<8,this.pad[7]=f[30]&255|(f[31]&255)<<8};_e.prototype.blocks=function(f,h,l){for(var o=this.fin?0:2048,p,v,E,O,M,Y,q,Ce,K,te,re,le,fe,ne,ae,se,z,X,H,$=this.h[0],G=this.h[1],U=this.h[2],b=this.h[3],x=this.h[4],I=this.h[5],C=this.h[6],k=this.h[7],D=this.h[8],Q=this.h[9],he=this.r[0],pe=this.r[1],de=this.r[2],_=this.r[3],ye=this.r[4],Oe=this.r[5],ke=this.r[6],me=this.r[7],be=this.r[8],xe=this.r[9];l>=16;)p=f[h+0]&255|(f[h+1]&255)<<8,$+=p&8191,v=f[h+2]&255|(f[h+3]&255)<<8,G+=(p>>>13|v<<3)&8191,E=f[h+4]&255|(f[h+5]&255)<<8,U+=(v>>>10|E<<6)&8191,O=f[h+6]&255|(f[h+7]&255)<<8,b+=(E>>>7|O<<9)&8191,M=f[h+8]&255|(f[h+9]&255)<<8,x+=(O>>>4|M<<12)&8191,I+=M>>>1&8191,Y=f[h+10]&255|(f[h+11]&255)<<8,C+=(M>>>14|Y<<2)&8191,q=f[h+12]&255|(f[h+13]&255)<<8,k+=(Y>>>11|q<<5)&8191,Ce=f[h+14]&255|(f[h+15]&255)<<8,D+=(q>>>8|Ce<<8)&8191,Q+=Ce>>>5|o,K=0,te=K,te+=$*he,te+=G*(5*xe),te+=U*(5*be),te+=b*(5*me),te+=x*(5*ke),K=te>>>13,te&=8191,te+=I*(5*Oe),te+=C*(5*ye),te+=k*(5*_),te+=D*(5*de),te+=Q*(5*pe),K+=te>>>13,te&=8191,re=K,re+=$*pe,re+=G*he,re+=U*(5*xe),re+=b*(5*be),re+=x*(5*me),K=re>>>13,re&=8191,re+=I*(5*ke),re+=C*(5*Oe),re+=k*(5*ye),re+=D*(5*_),re+=Q*(5*de),K+=re>>>13,re&=8191,le=K,le+=$*de,le+=G*pe,le+=U*he,le+=b*(5*xe),le+=x*(5*be),K=le>>>13,le&=8191,le+=I*(5*me),le+=C*(5*ke),le+=k*(5*Oe),le+=D*(5*ye),le+=Q*(5*_),K+=le>>>13,le&=8191,fe=K,fe+=$*_,fe+=G*de,fe+=U*pe,fe+=b*he,fe+=x*(5*xe),K=fe>>>13,fe&=8191,fe+=I*(5*be),fe+=C*(5*me),fe+=k*(5*ke),fe+=D*(5*Oe),fe+=Q*(5*ye),K+=fe>>>13,fe&=8191,ne=K,ne+=$*ye,ne+=G*_,ne+=U*de,ne+=b*pe,ne+=x*he,K=ne>>>13,ne&=8191,ne+=I*(5*xe),ne+=C*(5*be),ne+=k*(5*me),ne+=D*(5*ke),ne+=Q*(5*Oe),K+=ne>>>13,ne&=8191,ae=K,ae+=$*Oe,ae+=G*ye,ae+=U*_,ae+=b*de,ae+=x*pe,K=ae>>>13,ae&=8191,ae+=I*he,ae+=C*(5*xe),ae+=k*(5*be),ae+=D*(5*me),ae+=Q*(5*ke),K+=ae>>>13,ae&=8191,se=K,se+=$*ke,se+=G*Oe,se+=U*ye,se+=b*_,se+=x*de,K=se>>>13,se&=8191,se+=I*pe,se+=C*he,se+=k*(5*xe),se+=D*(5*be),se+=Q*(5*me),K+=se>>>13,se&=8191,z=K,z+=$*me,z+=G*ke,z+=U*Oe,z+=b*ye,z+=x*_,K=z>>>13,z&=8191,z+=I*de,z+=C*pe,z+=k*he,z+=D*(5*xe),z+=Q*(5*be),K+=z>>>13,z&=8191,X=K,X+=$*be,X+=G*me,X+=U*ke,X+=b*Oe,X+=x*ye,K=X>>>13,X&=8191,X+=I*_,X+=C*de,X+=k*pe,X+=D*he,X+=Q*(5*xe),K+=X>>>13,X&=8191,H=K,H+=$*xe,H+=G*be,H+=U*me,H+=b*ke,H+=x*Oe,K=H>>>13,H&=8191,H+=I*ye,H+=C*_,H+=k*de,H+=D*pe,H+=Q*he,K+=H>>>13,H&=8191,K=(K<<2)+K|0,K=K+te|0,te=K&8191,K=K>>>13,re+=K,$=te,G=re,U=le,b=fe,x=ne,I=ae,C=se,k=z,D=X,Q=H,h+=16,l-=16;this.h[0]=$,this.h[1]=G,this.h[2]=U,this.h[3]=b,this.h[4]=x,this.h[5]=I,this.h[6]=C,this.h[7]=k,this.h[8]=D,this.h[9]=Q},_e.prototype.finish=function(f,h){var l=new Uint16Array(10),o,p,v,E;if(this.leftover){for(E=this.leftover,this.buffer[E++]=1;E<16;E++)this.buffer[E]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(o=this.h[1]>>>13,this.h[1]&=8191,E=2;E<10;E++)this.h[E]+=o,o=this.h[E]>>>13,this.h[E]&=8191;for(this.h[0]+=o*5,o=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=o,o=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=o,l[0]=this.h[0]+5,o=l[0]>>>13,l[0]&=8191,E=1;E<10;E++)l[E]=this.h[E]+o,o=l[E]>>>13,l[E]&=8191;for(l[9]-=8192,p=(o^1)-1,E=0;E<10;E++)l[E]&=p;for(p=~p,E=0;E<10;E++)this.h[E]=this.h[E]&p|l[E];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,v=this.h[0]+this.pad[0],this.h[0]=v&65535,E=1;E<8;E++)v=(this.h[E]+this.pad[E]|0)+(v>>>16)|0,this.h[E]=v&65535;f[h+0]=this.h[0]>>>0&255,f[h+1]=this.h[0]>>>8&255,f[h+2]=this.h[1]>>>0&255,f[h+3]=this.h[1]>>>8&255,f[h+4]=this.h[2]>>>0&255,f[h+5]=this.h[2]>>>8&255,f[h+6]=this.h[3]>>>0&255,f[h+7]=this.h[3]>>>8&255,f[h+8]=this.h[4]>>>0&255,f[h+9]=this.h[4]>>>8&255,f[h+10]=this.h[5]>>>0&255,f[h+11]=this.h[5]>>>8&255,f[h+12]=this.h[6]>>>0&255,f[h+13]=this.h[6]>>>8&255,f[h+14]=this.h[7]>>>0&255,f[h+15]=this.h[7]>>>8&255},_e.prototype.update=function(f,h,l){var o,p;if(this.leftover){for(p=16-this.leftover,p>l&&(p=l),o=0;o<p;o++)this.buffer[this.leftover+o]=f[h+o];if(l-=p,h+=p,this.leftover+=p,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(l>=16&&(p=l-l%16,this.blocks(f,h,p),h+=p,l-=p),l){for(o=0;o<l;o++)this.buffer[this.leftover+o]=f[h+o];this.leftover+=l}};function Ye(f,h,l,o,p,v){var E=new _e(v);return E.update(l,o,p),E.finish(f,h),0}function Je(f,h,l,o,p,v){var E=new Uint8Array(16);return Ye(E,0,l,o,p,v),T(f,h,E,0)}function ve(f,h,l,o,p){var v;if(l<32)return-1;for(ie(f,0,h,0,l,o,p),Ye(f,16,f,32,l-32,f),v=0;v<16;v++)f[v]=0;return 0}function He(f,h,l,o,p){var v,E=new Uint8Array(32);if(l<32||(ce(E,0,32,o,p),Je(h,16,h,32,l-32,E)!==0))return-1;for(ie(f,0,h,0,l,o,p),v=0;v<32;v++)f[v]=0;return 0}function Fe(f,h){var l;for(l=0;l<16;l++)f[l]=h[l]|0}function Qe(f){var h,l,o=1;for(h=0;h<16;h++)l=f[h]+o+65535,o=Math.floor(l/65536),f[h]=l-o*65536;f[0]+=o-1+37*(o-1)}function Ve(f,h,l){for(var o,p=~(l-1),v=0;v<16;v++)o=p&(f[v]^h[v]),f[v]^=o,h[v]^=o}function Pe(f,h){var l,o,p,v=e(),E=e();for(l=0;l<16;l++)E[l]=h[l];for(Qe(E),Qe(E),Qe(E),o=0;o<2;o++){for(v[0]=E[0]-65517,l=1;l<15;l++)v[l]=E[l]-65535-(v[l-1]>>16&1),v[l-1]&=65535;v[15]=E[15]-32767-(v[14]>>16&1),p=v[15]>>16&1,v[14]&=65535,Ve(E,v,1-p)}for(l=0;l<16;l++)f[2*l]=E[l]&255,f[2*l+1]=E[l]>>8}function tt(f,h){var l=new Uint8Array(32),o=new Uint8Array(32);return Pe(l,f),Pe(o,h),V(l,0,o,0)}function W(f){var h=new Uint8Array(32);return Pe(h,f),h[0]&1}function we(f,h){var l;for(l=0;l<16;l++)f[l]=h[2*l]+(h[2*l+1]<<8);f[15]&=32767}function P(f,h,l){for(var o=0;o<16;o++)f[o]=h[o]+l[o]}function B(f,h,l){for(var o=0;o<16;o++)f[o]=h[o]-l[o]}function L(f,h,l){var o,p,v=0,E=0,O=0,M=0,Y=0,q=0,Ce=0,K=0,te=0,re=0,le=0,fe=0,ne=0,ae=0,se=0,z=0,X=0,H=0,$=0,G=0,U=0,b=0,x=0,I=0,C=0,k=0,D=0,Q=0,he=0,pe=0,de=0,_=l[0],ye=l[1],Oe=l[2],ke=l[3],me=l[4],be=l[5],xe=l[6],Xe=l[7],Ae=l[8],ze=l[9],$e=l[10],Ge=l[11],et=l[12],ot=l[13],at=l[14],ct=l[15];o=h[0],v+=o*_,E+=o*ye,O+=o*Oe,M+=o*ke,Y+=o*me,q+=o*be,Ce+=o*xe,K+=o*Xe,te+=o*Ae,re+=o*ze,le+=o*$e,fe+=o*Ge,ne+=o*et,ae+=o*ot,se+=o*at,z+=o*ct,o=h[1],E+=o*_,O+=o*ye,M+=o*Oe,Y+=o*ke,q+=o*me,Ce+=o*be,K+=o*xe,te+=o*Xe,re+=o*Ae,le+=o*ze,fe+=o*$e,ne+=o*Ge,ae+=o*et,se+=o*ot,z+=o*at,X+=o*ct,o=h[2],O+=o*_,M+=o*ye,Y+=o*Oe,q+=o*ke,Ce+=o*me,K+=o*be,te+=o*xe,re+=o*Xe,le+=o*Ae,fe+=o*ze,ne+=o*$e,ae+=o*Ge,se+=o*et,z+=o*ot,X+=o*at,H+=o*ct,o=h[3],M+=o*_,Y+=o*ye,q+=o*Oe,Ce+=o*ke,K+=o*me,te+=o*be,re+=o*xe,le+=o*Xe,fe+=o*Ae,ne+=o*ze,ae+=o*$e,se+=o*Ge,z+=o*et,X+=o*ot,H+=o*at,$+=o*ct,o=h[4],Y+=o*_,q+=o*ye,Ce+=o*Oe,K+=o*ke,te+=o*me,re+=o*be,le+=o*xe,fe+=o*Xe,ne+=o*Ae,ae+=o*ze,se+=o*$e,z+=o*Ge,X+=o*et,H+=o*ot,$+=o*at,G+=o*ct,o=h[5],q+=o*_,Ce+=o*ye,K+=o*Oe,te+=o*ke,re+=o*me,le+=o*be,fe+=o*xe,ne+=o*Xe,ae+=o*Ae,se+=o*ze,z+=o*$e,X+=o*Ge,H+=o*et,$+=o*ot,G+=o*at,U+=o*ct,o=h[6],Ce+=o*_,K+=o*ye,te+=o*Oe,re+=o*ke,le+=o*me,fe+=o*be,ne+=o*xe,ae+=o*Xe,se+=o*Ae,z+=o*ze,X+=o*$e,H+=o*Ge,$+=o*et,G+=o*ot,U+=o*at,b+=o*ct,o=h[7],K+=o*_,te+=o*ye,re+=o*Oe,le+=o*ke,fe+=o*me,ne+=o*be,ae+=o*xe,se+=o*Xe,z+=o*Ae,X+=o*ze,H+=o*$e,$+=o*Ge,G+=o*et,U+=o*ot,b+=o*at,x+=o*ct,o=h[8],te+=o*_,re+=o*ye,le+=o*Oe,fe+=o*ke,ne+=o*me,ae+=o*be,se+=o*xe,z+=o*Xe,X+=o*Ae,H+=o*ze,$+=o*$e,G+=o*Ge,U+=o*et,b+=o*ot,x+=o*at,I+=o*ct,o=h[9],re+=o*_,le+=o*ye,fe+=o*Oe,ne+=o*ke,ae+=o*me,se+=o*be,z+=o*xe,X+=o*Xe,H+=o*Ae,$+=o*ze,G+=o*$e,U+=o*Ge,b+=o*et,x+=o*ot,I+=o*at,C+=o*ct,o=h[10],le+=o*_,fe+=o*ye,ne+=o*Oe,ae+=o*ke,se+=o*me,z+=o*be,X+=o*xe,H+=o*Xe,$+=o*Ae,G+=o*ze,U+=o*$e,b+=o*Ge,x+=o*et,I+=o*ot,C+=o*at,k+=o*ct,o=h[11],fe+=o*_,ne+=o*ye,ae+=o*Oe,se+=o*ke,z+=o*me,X+=o*be,H+=o*xe,$+=o*Xe,G+=o*Ae,U+=o*ze,b+=o*$e,x+=o*Ge,I+=o*et,C+=o*ot,k+=o*at,D+=o*ct,o=h[12],ne+=o*_,ae+=o*ye,se+=o*Oe,z+=o*ke,X+=o*me,H+=o*be,$+=o*xe,G+=o*Xe,U+=o*Ae,b+=o*ze,x+=o*$e,I+=o*Ge,C+=o*et,k+=o*ot,D+=o*at,Q+=o*ct,o=h[13],ae+=o*_,se+=o*ye,z+=o*Oe,X+=o*ke,H+=o*me,$+=o*be,G+=o*xe,U+=o*Xe,b+=o*Ae,x+=o*ze,I+=o*$e,C+=o*Ge,k+=o*et,D+=o*ot,Q+=o*at,he+=o*ct,o=h[14],se+=o*_,z+=o*ye,X+=o*Oe,H+=o*ke,$+=o*me,G+=o*be,U+=o*xe,b+=o*Xe,x+=o*Ae,I+=o*ze,C+=o*$e,k+=o*Ge,D+=o*et,Q+=o*ot,he+=o*at,pe+=o*ct,o=h[15],z+=o*_,X+=o*ye,H+=o*Oe,$+=o*ke,G+=o*me,U+=o*be,b+=o*xe,x+=o*Xe,I+=o*Ae,C+=o*ze,k+=o*$e,D+=o*Ge,Q+=o*et,he+=o*ot,pe+=o*at,de+=o*ct,v+=38*X,E+=38*H,O+=38*$,M+=38*G,Y+=38*U,q+=38*b,Ce+=38*x,K+=38*I,te+=38*C,re+=38*k,le+=38*D,fe+=38*Q,ne+=38*he,ae+=38*pe,se+=38*de,p=1,o=v+p+65535,p=Math.floor(o/65536),v=o-p*65536,o=E+p+65535,p=Math.floor(o/65536),E=o-p*65536,o=O+p+65535,p=Math.floor(o/65536),O=o-p*65536,o=M+p+65535,p=Math.floor(o/65536),M=o-p*65536,o=Y+p+65535,p=Math.floor(o/65536),Y=o-p*65536,o=q+p+65535,p=Math.floor(o/65536),q=o-p*65536,o=Ce+p+65535,p=Math.floor(o/65536),Ce=o-p*65536,o=K+p+65535,p=Math.floor(o/65536),K=o-p*65536,o=te+p+65535,p=Math.floor(o/65536),te=o-p*65536,o=re+p+65535,p=Math.floor(o/65536),re=o-p*65536,o=le+p+65535,p=Math.floor(o/65536),le=o-p*65536,o=fe+p+65535,p=Math.floor(o/65536),fe=o-p*65536,o=ne+p+65535,p=Math.floor(o/65536),ne=o-p*65536,o=ae+p+65535,p=Math.floor(o/65536),ae=o-p*65536,o=se+p+65535,p=Math.floor(o/65536),se=o-p*65536,o=z+p+65535,p=Math.floor(o/65536),z=o-p*65536,v+=p-1+37*(p-1),p=1,o=v+p+65535,p=Math.floor(o/65536),v=o-p*65536,o=E+p+65535,p=Math.floor(o/65536),E=o-p*65536,o=O+p+65535,p=Math.floor(o/65536),O=o-p*65536,o=M+p+65535,p=Math.floor(o/65536),M=o-p*65536,o=Y+p+65535,p=Math.floor(o/65536),Y=o-p*65536,o=q+p+65535,p=Math.floor(o/65536),q=o-p*65536,o=Ce+p+65535,p=Math.floor(o/65536),Ce=o-p*65536,o=K+p+65535,p=Math.floor(o/65536),K=o-p*65536,o=te+p+65535,p=Math.floor(o/65536),te=o-p*65536,o=re+p+65535,p=Math.floor(o/65536),re=o-p*65536,o=le+p+65535,p=Math.floor(o/65536),le=o-p*65536,o=fe+p+65535,p=Math.floor(o/65536),fe=o-p*65536,o=ne+p+65535,p=Math.floor(o/65536),ne=o-p*65536,o=ae+p+65535,p=Math.floor(o/65536),ae=o-p*65536,o=se+p+65535,p=Math.floor(o/65536),se=o-p*65536,o=z+p+65535,p=Math.floor(o/65536),z=o-p*65536,v+=p-1+37*(p-1),f[0]=v,f[1]=E,f[2]=O,f[3]=M,f[4]=Y,f[5]=q,f[6]=Ce,f[7]=K,f[8]=te,f[9]=re,f[10]=le,f[11]=fe,f[12]=ne,f[13]=ae,f[14]=se,f[15]=z}function oe(f,h){L(f,h,h)}function Ie(f,h){var l=e(),o;for(o=0;o<16;o++)l[o]=h[o];for(o=253;o>=0;o--)oe(l,l),o!==2&&o!==4&&L(l,l,h);for(o=0;o<16;o++)f[o]=l[o]}function lt(f,h){var l=e(),o;for(o=0;o<16;o++)l[o]=h[o];for(o=250;o>=0;o--)oe(l,l),o!==1&&L(l,l,h);for(o=0;o<16;o++)f[o]=l[o]}function vt(f,h,l){var o=new Uint8Array(32),p=new Float64Array(80),v,E,O=e(),M=e(),Y=e(),q=e(),Ce=e(),K=e();for(E=0;E<31;E++)o[E]=h[E];for(o[31]=h[31]&127|64,o[0]&=248,we(p,l),E=0;E<16;E++)M[E]=p[E],q[E]=O[E]=Y[E]=0;for(O[0]=q[0]=1,E=254;E>=0;--E)v=o[E>>>3]>>>(E&7)&1,Ve(O,M,v),Ve(Y,q,v),P(Ce,O,Y),B(O,O,Y),P(Y,M,q),B(M,M,q),oe(q,Ce),oe(K,O),L(O,Y,O),L(Y,M,Ce),P(Ce,O,Y),B(O,O,Y),oe(M,O),B(Y,q,K),L(O,Y,c),P(O,O,q),L(Y,Y,O),L(O,q,K),L(q,M,p),oe(M,Ce),Ve(O,M,v),Ve(Y,q,v);for(E=0;E<16;E++)p[E+16]=O[E],p[E+32]=Y[E],p[E+48]=M[E],p[E+64]=q[E];var te=p.subarray(32),re=p.subarray(16);return Ie(te,te),L(re,re,te),Pe(f,re),0}function Et(f,h){return vt(f,h,s)}function wt(f,h){return t(h,32),Et(f,h)}function ir(f,h,l){var o=new Uint8Array(32);return vt(o,l,h),R(f,n,o,ee)}var br=ve,Wr=He;function xr(f,h,l,o,p,v){var E=new Uint8Array(32);return ir(E,p,v),br(f,h,l,o,E)}function gn(f,h,l,o,p,v){var E=new Uint8Array(32);return ir(E,p,v),Wr(f,h,l,o,E)}var Ls=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Qc(f,h,l,o){for(var p=new Int32Array(16),v=new Int32Array(16),E,O,M,Y,q,Ce,K,te,re,le,fe,ne,ae,se,z,X,H,$,G,U,b,x,I,C,k,D,Q=f[0],he=f[1],pe=f[2],de=f[3],_=f[4],ye=f[5],Oe=f[6],ke=f[7],me=h[0],be=h[1],xe=h[2],Xe=h[3],Ae=h[4],ze=h[5],$e=h[6],Ge=h[7],et=0;o>=128;){for(G=0;G<16;G++)U=8*G+et,p[G]=l[U+0]<<24|l[U+1]<<16|l[U+2]<<8|l[U+3],v[G]=l[U+4]<<24|l[U+5]<<16|l[U+6]<<8|l[U+7];for(G=0;G<80;G++)if(E=Q,O=he,M=pe,Y=de,q=_,Ce=ye,K=Oe,te=ke,re=me,le=be,fe=xe,ne=Xe,ae=Ae,se=ze,z=$e,X=Ge,b=ke,x=Ge,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=(_>>>14|Ae<<18)^(_>>>18|Ae<<14)^(Ae>>>9|_<<23),x=(Ae>>>14|_<<18)^(Ae>>>18|_<<14)^(_>>>9|Ae<<23),I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,b=_&ye^~_&Oe,x=Ae&ze^~Ae&$e,I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,b=Ls[G*2],x=Ls[G*2+1],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,b=p[G%16],x=v[G%16],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,H=k&65535|D<<16,$=I&65535|C<<16,b=H,x=$,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=(Q>>>28|me<<4)^(me>>>2|Q<<30)^(me>>>7|Q<<25),x=(me>>>28|Q<<4)^(Q>>>2|me<<30)^(Q>>>7|me<<25),I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,b=Q&he^Q&pe^he&pe,x=me&be^me&xe^be&xe,I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,te=k&65535|D<<16,X=I&65535|C<<16,b=Y,x=ne,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=H,x=$,I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,Y=k&65535|D<<16,ne=I&65535|C<<16,he=E,pe=O,de=M,_=Y,ye=q,Oe=Ce,ke=K,Q=te,be=re,xe=le,Xe=fe,Ae=ne,ze=ae,$e=se,Ge=z,me=X,G%16===15)for(U=0;U<16;U++)b=p[U],x=v[U],I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=p[(U+9)%16],x=v[(U+9)%16],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,H=p[(U+1)%16],$=v[(U+1)%16],b=(H>>>1|$<<31)^(H>>>8|$<<24)^H>>>7,x=($>>>1|H<<31)^($>>>8|H<<24)^($>>>7|H<<25),I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,H=p[(U+14)%16],$=v[(U+14)%16],b=(H>>>19|$<<13)^($>>>29|H<<3)^H>>>6,x=($>>>19|H<<13)^(H>>>29|$<<3)^($>>>6|H<<26),I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,p[U]=k&65535|D<<16,v[U]=I&65535|C<<16;b=Q,x=me,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=f[0],x=h[0],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,f[0]=Q=k&65535|D<<16,h[0]=me=I&65535|C<<16,b=he,x=be,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=f[1],x=h[1],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,f[1]=he=k&65535|D<<16,h[1]=be=I&65535|C<<16,b=pe,x=xe,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=f[2],x=h[2],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,f[2]=pe=k&65535|D<<16,h[2]=xe=I&65535|C<<16,b=de,x=Xe,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=f[3],x=h[3],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,f[3]=de=k&65535|D<<16,h[3]=Xe=I&65535|C<<16,b=_,x=Ae,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=f[4],x=h[4],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,f[4]=_=k&65535|D<<16,h[4]=Ae=I&65535|C<<16,b=ye,x=ze,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=f[5],x=h[5],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,f[5]=ye=k&65535|D<<16,h[5]=ze=I&65535|C<<16,b=Oe,x=$e,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=f[6],x=h[6],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,f[6]=Oe=k&65535|D<<16,h[6]=$e=I&65535|C<<16,b=ke,x=Ge,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=f[7],x=h[7],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,f[7]=ke=k&65535|D<<16,h[7]=Ge=I&65535|C<<16,et+=128,o-=128}return o}function Hr(f,h,l){var o=new Int32Array(8),p=new Int32Array(8),v=new Uint8Array(256),E,O=l;for(o[0]=1779033703,o[1]=3144134277,o[2]=1013904242,o[3]=2773480762,o[4]=1359893119,o[5]=2600822924,o[6]=528734635,o[7]=1541459225,p[0]=4089235720,p[1]=2227873595,p[2]=4271175723,p[3]=1595750129,p[4]=2917565137,p[5]=725511199,p[6]=4215389547,p[7]=327033209,Qc(o,p,h,l),l%=128,E=0;E<l;E++)v[E]=h[O-l+E];for(v[l]=128,l=256-128*(l<112?1:0),v[l-9]=0,w(v,l-8,O/536870912|0,O<<3),Qc(o,p,v,l),E=0;E<8;E++)w(f,8*E,o[E],p[E]);return 0}function Ns(f,h){var l=e(),o=e(),p=e(),v=e(),E=e(),O=e(),M=e(),Y=e(),q=e();B(l,f[1],f[0]),B(q,h[1],h[0]),L(l,l,q),P(o,f[0],f[1]),P(q,h[0],h[1]),L(o,o,q),L(p,f[3],h[3]),L(p,p,d),L(v,f[2],h[2]),P(v,v,v),B(E,o,l),B(O,v,p),P(M,v,p),P(Y,o,l),L(f[0],E,O),L(f[1],Y,M),L(f[2],M,O),L(f[3],E,Y)}function ef(f,h,l){var o;for(o=0;o<4;o++)Ve(f[o],h[o],l)}function _o(f,h){var l=e(),o=e(),p=e();Ie(p,h[2]),L(l,h[0],p),L(o,h[1],p),Pe(f,o),f[31]^=W(l)<<7}function yo(f,h,l){var o,p;for(Fe(f[0],i),Fe(f[1],a),Fe(f[2],a),Fe(f[3],i),p=255;p>=0;--p)o=l[p/8|0]>>(p&7)&1,ef(f,h,o),Ns(h,f),Ns(f,f),ef(f,h,o)}function Ds(f,h){var l=[e(),e(),e(),e()];Fe(l[0],g),Fe(l[1],m),Fe(l[2],a),L(l[3],g,m),yo(f,l,h)}function vo(f,h,l){var o=new Uint8Array(64),p=[e(),e(),e(),e()],v;for(l||t(h,32),Hr(o,h,32),o[0]&=248,o[31]&=127,o[31]|=64,Ds(p,o),_o(f,p),v=0;v<32;v++)h[v+32]=f[v];return 0}var Fs=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function Eo(f,h){var l,o,p,v;for(o=63;o>=32;--o){for(l=0,p=o-32,v=o-12;p<v;++p)h[p]+=l-16*h[o]*Fs[p-(o-32)],l=Math.floor((h[p]+128)/256),h[p]-=l*256;h[p]+=l,h[o]=0}for(l=0,p=0;p<32;p++)h[p]+=l-(h[31]>>4)*Fs[p],l=h[p]>>8,h[p]&=255;for(p=0;p<32;p++)h[p]-=l*Fs[p];for(o=0;o<32;o++)h[o+1]+=h[o]>>8,f[o]=h[o]&255}function wo(f){var h=new Float64Array(64),l;for(l=0;l<64;l++)h[l]=f[l];for(l=0;l<64;l++)f[l]=0;Eo(f,h)}function tf(f,h,l,o){var p=new Uint8Array(64),v=new Uint8Array(64),E=new Uint8Array(64),O,M,Y=new Float64Array(64),q=[e(),e(),e(),e()];Hr(p,o,32),p[0]&=248,p[31]&=127,p[31]|=64;var Ce=l+64;for(O=0;O<l;O++)f[64+O]=h[O];for(O=0;O<32;O++)f[32+O]=p[32+O];for(Hr(E,f.subarray(32),l+32),wo(E),Ds(q,E),_o(f,q),O=32;O<64;O++)f[O]=o[O];for(Hr(v,f,l+64),wo(v),O=0;O<64;O++)Y[O]=0;for(O=0;O<32;O++)Y[O]=E[O];for(O=0;O<32;O++)for(M=0;M<32;M++)Y[O+M]+=v[O]*p[M];return Eo(f.subarray(32),Y),Ce}function Md(f,h){var l=e(),o=e(),p=e(),v=e(),E=e(),O=e(),M=e();return Fe(f[2],a),we(f[1],h),oe(p,f[1]),L(v,p,u),B(p,p,f[2]),P(v,f[2],v),oe(E,v),oe(O,E),L(M,O,E),L(l,M,p),L(l,l,v),lt(l,l),L(l,l,p),L(l,l,v),L(l,l,v),L(f[0],l,v),oe(o,f[0]),L(o,o,v),tt(o,p)&&L(f[0],f[0],y),oe(o,f[0]),L(o,o,v),tt(o,p)?-1:(W(f[0])===h[31]>>7&&B(f[0],i,f[0]),L(f[3],f[0],f[1]),0)}function bo(f,h,l,o){var p,v=new Uint8Array(32),E=new Uint8Array(64),O=[e(),e(),e(),e()],M=[e(),e(),e(),e()];if(l<64||Md(M,o))return-1;for(p=0;p<l;p++)f[p]=h[p];for(p=0;p<32;p++)f[p+32]=o[p];if(Hr(E,f,l),wo(E),yo(O,M,E),Ds(M,h.subarray(32)),Ns(O,M),_o(v,O),l-=64,V(h,0,v,0)){for(p=0;p<l;p++)f[p]=0;return-1}for(p=0;p<l;p++)f[p]=h[p+64];return l}var xo=32,Ms=24,Gn=32,mn=16,Yn=32,Bs=32,Xn=32,Jn=32,So=32,rf=Ms,Bd=Gn,jd=mn,or=64,Vr=32,_n=64,To=32,Co=64;r.lowlevel={crypto_core_hsalsa20:R,crypto_stream_xor:ie,crypto_stream:ce,crypto_stream_salsa20_xor:j,crypto_stream_salsa20:Z,crypto_onetimeauth:Ye,crypto_onetimeauth_verify:Je,crypto_verify_16:T,crypto_verify_32:V,crypto_secretbox:ve,crypto_secretbox_open:He,crypto_scalarmult:vt,crypto_scalarmult_base:Et,crypto_box_beforenm:ir,crypto_box_afternm:br,crypto_box:xr,crypto_box_open:gn,crypto_box_keypair:wt,crypto_hash:Hr,crypto_sign:tf,crypto_sign_keypair:vo,crypto_sign_open:bo,crypto_secretbox_KEYBYTES:xo,crypto_secretbox_NONCEBYTES:Ms,crypto_secretbox_ZEROBYTES:Gn,crypto_secretbox_BOXZEROBYTES:mn,crypto_scalarmult_BYTES:Yn,crypto_scalarmult_SCALARBYTES:Bs,crypto_box_PUBLICKEYBYTES:Xn,crypto_box_SECRETKEYBYTES:Jn,crypto_box_BEFORENMBYTES:So,crypto_box_NONCEBYTES:rf,crypto_box_ZEROBYTES:Bd,crypto_box_BOXZEROBYTES:jd,crypto_sign_BYTES:or,crypto_sign_PUBLICKEYBYTES:Vr,crypto_sign_SECRETKEYBYTES:_n,crypto_sign_SEEDBYTES:To,crypto_hash_BYTES:Co,gf:e,D:u,L:Fs,pack25519:Pe,unpack25519:we,M:L,A:P,S:oe,Z:B,pow2523:lt,add:Ns,set25519:Fe,modL:Eo,scalarmult:yo,scalarbase:Ds};function nf(f,h){if(f.length!==xo)throw new Error("bad key size");if(h.length!==Ms)throw new Error("bad nonce size")}function Ud(f,h){if(f.length!==Xn)throw new Error("bad public key size");if(h.length!==Jn)throw new Error("bad secret key size")}function bt(){for(var f=0;f<arguments.length;f++)if(!(arguments[f]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function sf(f){for(var h=0;h<f.length;h++)f[h]=0}r.randomBytes=function(f){var h=new Uint8Array(f);return t(h,f),h},r.secretbox=function(f,h,l){bt(f,h,l),nf(l,h);for(var o=new Uint8Array(Gn+f.length),p=new Uint8Array(o.length),v=0;v<f.length;v++)o[v+Gn]=f[v];return ve(p,o,o.length,h,l),p.subarray(mn)},r.secretbox.open=function(f,h,l){bt(f,h,l),nf(l,h);for(var o=new Uint8Array(mn+f.length),p=new Uint8Array(o.length),v=0;v<f.length;v++)o[v+mn]=f[v];return o.length<32||He(p,o,o.length,h,l)!==0?null:p.subarray(Gn)},r.secretbox.keyLength=xo,r.secretbox.nonceLength=Ms,r.secretbox.overheadLength=mn,r.scalarMult=function(f,h){if(bt(f,h),f.length!==Bs)throw new Error("bad n size");if(h.length!==Yn)throw new Error("bad p size");var l=new Uint8Array(Yn);return vt(l,f,h),l},r.scalarMult.base=function(f){if(bt(f),f.length!==Bs)throw new Error("bad n size");var h=new Uint8Array(Yn);return Et(h,f),h},r.scalarMult.scalarLength=Bs,r.scalarMult.groupElementLength=Yn,r.box=function(f,h,l,o){var p=r.box.before(l,o);return r.secretbox(f,h,p)},r.box.before=function(f,h){bt(f,h),Ud(f,h);var l=new Uint8Array(So);return ir(l,f,h),l},r.box.after=r.secretbox,r.box.open=function(f,h,l,o){var p=r.box.before(l,o);return r.secretbox.open(f,h,p)},r.box.open.after=r.secretbox.open,r.box.keyPair=function(){var f=new Uint8Array(Xn),h=new Uint8Array(Jn);return wt(f,h),{publicKey:f,secretKey:h}},r.box.keyPair.fromSecretKey=function(f){if(bt(f),f.length!==Jn)throw new Error("bad secret key size");var h=new Uint8Array(Xn);return Et(h,f),{publicKey:h,secretKey:new Uint8Array(f)}},r.box.publicKeyLength=Xn,r.box.secretKeyLength=Jn,r.box.sharedKeyLength=So,r.box.nonceLength=rf,r.box.overheadLength=r.secretbox.overheadLength,r.sign=function(f,h){if(bt(f,h),h.length!==_n)throw new Error("bad secret key size");var l=new Uint8Array(or+f.length);return tf(l,f,f.length,h),l},r.sign.open=function(f,h){if(bt(f,h),h.length!==Vr)throw new Error("bad public key size");var l=new Uint8Array(f.length),o=bo(l,f,f.length,h);if(o<0)return null;for(var p=new Uint8Array(o),v=0;v<p.length;v++)p[v]=l[v];return p},r.sign.detached=function(f,h){for(var l=r.sign(f,h),o=new Uint8Array(or),p=0;p<o.length;p++)o[p]=l[p];return o},r.sign.detached.verify=function(f,h,l){if(bt(f,h,l),h.length!==or)throw new Error("bad signature size");if(l.length!==Vr)throw new Error("bad public key size");var o=new Uint8Array(or+f.length),p=new Uint8Array(or+f.length),v;for(v=0;v<or;v++)o[v]=h[v];for(v=0;v<f.length;v++)o[v+or]=f[v];return bo(p,o,o.length,l)>=0},r.sign.keyPair=function(){var f=new Uint8Array(Vr),h=new Uint8Array(_n);return vo(f,h),{publicKey:f,secretKey:h}},r.sign.keyPair.fromSecretKey=function(f){if(bt(f),f.length!==_n)throw new Error("bad secret key size");for(var h=new Uint8Array(Vr),l=0;l<h.length;l++)h[l]=f[32+l];return{publicKey:h,secretKey:new Uint8Array(f)}},r.sign.keyPair.fromSeed=function(f){if(bt(f),f.length!==To)throw new Error("bad seed size");for(var h=new Uint8Array(Vr),l=new Uint8Array(_n),o=0;o<32;o++)l[o]=f[o];return vo(h,l,!0),{publicKey:h,secretKey:l}},r.sign.publicKeyLength=Vr,r.sign.secretKeyLength=_n,r.sign.seedLength=To,r.sign.signatureLength=or,r.hash=function(f){bt(f);var h=new Uint8Array(Co);return Hr(h,f,f.length),h},r.hash.hashLength=Co,r.verify=function(f,h){return bt(f,h),f.length===0||h.length===0||f.length!==h.length?!1:S(f,0,h,0,f.length)===0},r.setPRNG=function(f){t=f},(function(){var f=typeof self<"u"?self.crypto||self.msCrypto:null;if(f&&f.getRandomValues){var h=65536;r.setPRNG(function(l,o){var p,v=new Uint8Array(o);for(p=0;p<o;p+=h)f.getRandomValues(v.subarray(p,p+Math.min(o-p,h)));for(p=0;p<o;p++)l[p]=v[p];sf(v)})}else typeof require<"u"&&(f=require("crypto"),f&&f.randomBytes&&r.setPRNG(function(l,o){var p,v=f.randomBytes(o);for(p=0;p<o;p++)l[p]=v[p];sf(v)}))})()})(typeof Xs<"u"&&Xs.exports?Xs.exports:self.nacl=self.nacl||{})});var Io=F((Tf,Js)=>{(function(r,e){"use strict";typeof Js<"u"&&Js.exports?Js.exports=e():(r.nacl||(r.nacl={}),r.nacl.util=e())})(Tf,function(){"use strict";var r={};function e(t){if(!/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/.test(t))throw new TypeError("invalid encoding")}return r.decodeUTF8=function(t){if(typeof t!="string")throw new TypeError("expected string");var n,s=unescape(encodeURIComponent(t)),i=new Uint8Array(s.length);for(n=0;n<s.length;n++)i[n]=s.charCodeAt(n);return i},r.encodeUTF8=function(t){var n,s=[];for(n=0;n<t.length;n++)s.push(String.fromCharCode(t[n]));return decodeURIComponent(escape(s.join("")))},typeof atob>"u"?typeof Buffer.from<"u"?(r.encodeBase64=function(t){return Buffer.from(t).toString("base64")},r.decodeBase64=function(t){return e(t),new Uint8Array(Array.prototype.slice.call(Buffer.from(t,"base64"),0))}):(r.encodeBase64=function(t){return new Buffer(t).toString("base64")},r.decodeBase64=function(t){return e(t),new Uint8Array(Array.prototype.slice.call(new Buffer(t,"base64"),0))}):(r.encodeBase64=function(t){var n,s=[],i=t.length;for(n=0;n<i;n++)s.push(String.fromCharCode(t[n]));return btoa(s.join(""))},r.decodeBase64=function(t){e(t);var n,s=atob(t),i=new Uint8Array(s.length);for(n=0;n<s.length;n++)i[n]=s.charCodeAt(n);return i}),r})});var Cf=F(Cr=>{"use strict";var cp=Cr&&Cr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Cr,"__esModule",{value:!0});Cr.encrypt=fp;Cr.decrypt=up;Cr.encryptBinary=lp;Cr.decryptBinary=hp;var fr=cp(Ao()),Tr=Io();function fp(r,e,t){let n=fr.default.randomBytes(fr.default.secretbox.nonceLength),s=new TextEncoder().encode(r),i=fr.default.secretbox(s,n,e);return{v:1,sid:t,n:(0,Tr.encodeBase64)(n),c:(0,Tr.encodeBase64)(i)}}function up(r,e){if(r.v!==1)throw new Error(`Unsupported encryption version: ${r.v}`);let t=(0,Tr.decodeBase64)(r.n),n=(0,Tr.decodeBase64)(r.c);if(t.length!==fr.default.secretbox.nonceLength)throw new Error(`Invalid nonce length: ${t.length}`);let s=fr.default.secretbox.open(n,t,e);if(!s)throw new Error("Decryption failed: invalid ciphertext or wrong key");return new TextDecoder().decode(s)}function lp(r,e,t){let n=fr.default.randomBytes(fr.default.secretbox.nonceLength),s=fr.default.secretbox(r,n,e);return{v:1,sid:t,n:(0,Tr.encodeBase64)(n),c:(0,Tr.encodeBase64)(s)}}function hp(r,e){if(r.v!==1)throw new Error(`Unsupported encryption version: ${r.v}`);let t=(0,Tr.decodeBase64)(r.n),n=(0,Tr.decodeBase64)(r.c),s=fr.default.secretbox.open(n,t,e);if(!s)throw new Error("Decryption failed: invalid ciphertext or wrong key");return s}});var Of=F(zt=>{"use strict";var dp=zt&&zt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(zt,"__esModule",{value:!0});zt.generateKeyPair=pp;zt.deriveSharedSecret=gp;zt.isValidPublicKey=mp;zt.clearKey=_p;zt.keyToBase64=yp;zt.base64ToKey=vp;var ts=dp(Ao()),Kr=Io();function pp(){let r=ts.default.box.keyPair();return{publicKey:(0,Kr.encodeBase64)(r.publicKey),secretKey:(0,Kr.encodeBase64)(r.secretKey)}}function gp(r,e){let t=(0,Kr.decodeBase64)(r),n=(0,Kr.decodeBase64)(e);if(t.length!==ts.default.box.publicKeyLength)throw new Error(`Invalid public key length: ${t.length}`);if(n.length!==ts.default.box.secretKeyLength)throw new Error(`Invalid secret key length: ${n.length}`);return ts.default.box.before(t,n)}function mp(r){try{return(0,Kr.decodeBase64)(r).length===ts.default.box.publicKeyLength}catch{return!1}}function _p(r){r.fill(0)}function yp(r){return(0,Kr.encodeBase64)(r)}function vp(r){return(0,Kr.decodeBase64)(r)}});var Rf=F(Me=>{"use strict";Object.defineProperty(Me,"__esModule",{value:!0});Me.base64ToKey=Me.keyToBase64=Me.clearKey=Me.isValidPublicKey=Me.deriveSharedSecret=Me.generateKeyPair=Me.decryptBinary=Me.encryptBinary=Me.decrypt=Me.encrypt=Me.isMultiRecipientPayload=Me.isEncryptedPayload=void 0;var kf=Sf();Object.defineProperty(Me,"isEncryptedPayload",{enumerable:!0,get:function(){return kf.isEncryptedPayload}});Object.defineProperty(Me,"isMultiRecipientPayload",{enumerable:!0,get:function(){return kf.isMultiRecipientPayload}});var Zs=Cf();Object.defineProperty(Me,"encrypt",{enumerable:!0,get:function(){return Zs.encrypt}});Object.defineProperty(Me,"decrypt",{enumerable:!0,get:function(){return Zs.decrypt}});Object.defineProperty(Me,"encryptBinary",{enumerable:!0,get:function(){return Zs.encryptBinary}});Object.defineProperty(Me,"decryptBinary",{enumerable:!0,get:function(){return Zs.decryptBinary}});var vn=Of();Object.defineProperty(Me,"generateKeyPair",{enumerable:!0,get:function(){return vn.generateKeyPair}});Object.defineProperty(Me,"deriveSharedSecret",{enumerable:!0,get:function(){return vn.deriveSharedSecret}});Object.defineProperty(Me,"isValidPublicKey",{enumerable:!0,get:function(){return vn.isValidPublicKey}});Object.defineProperty(Me,"clearKey",{enumerable:!0,get:function(){return vn.clearKey}});Object.defineProperty(Me,"keyToBase64",{enumerable:!0,get:function(){return vn.keyToBase64}});Object.defineProperty(Me,"base64ToKey",{enumerable:!0,get:function(){return vn.base64ToKey}})});var Pf=F(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.MIN_CLIENT_VERSION=xt.PROTOCOL_VERSION_MINOR=xt.PROTOCOL_VERSION_MAJOR=xt.PROTOCOL_VERSION=void 0;xt.isCompatibleVersion=Ep;xt.compareVersions=wp;xt.PROTOCOL_VERSION="2.0";xt.PROTOCOL_VERSION_MAJOR=2;xt.PROTOCOL_VERSION_MINOR=0;xt.MIN_CLIENT_VERSION="2.0";function Ep(r){let[e]=r.split(".").map(Number);return e===xt.PROTOCOL_VERSION_MAJOR}function wp(r,e){let[t,n]=r.split(".").map(Number),[s,i]=e.split(".").map(Number);return t!==s?t<s?-1:1:n!==i?n<i?-1:1:0}});var Af=F($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});$t.SERVER_CAPABILITIES=$t.DEFAULT_CLIENT_CAPABILITIES=$t.Capability=void 0;$t.hasCapability=bp;$t.negotiateCapabilities=xp;var rs;(function(r){r.FILE_TRANSFER="file-transfer",r.RELIABLE_MESSAGING="reliable-messaging",r.COMPRESSION="compression",r.E2E_ENCRYPTION="e2e-encryption",r.PRIORITY_QUEUES="priority-queues",r.OFFLINE_QUEUE="offline-queue",r.MULTI_DEVICE="multi-device",r.TERMINAL_EVENTS="terminal-events",r.E2E_PRIVACY="e2e-privacy"})(rs||($t.Capability=rs={}));$t.DEFAULT_CLIENT_CAPABILITIES=[rs.E2E_ENCRYPTION,rs.TERMINAL_EVENTS];$t.SERVER_CAPABILITIES=Object.values(rs);function bp(r,e){return r.includes(e)}function xp(r,e){return r.filter(t=>e.includes(t))}});var If=F(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.DEFAULT_PRIORITY=ur.PRIORITY_NAMES=ur.Priority=void 0;ur.comparePriority=Sp;var zr;(function(r){r[r.CRITICAL=0]="CRITICAL",r[r.HIGH=1]="HIGH",r[r.NORMAL=2]="NORMAL",r[r.LOW=3]="LOW"})(zr||(ur.Priority=zr={}));ur.PRIORITY_NAMES={[zr.CRITICAL]:"CRITICAL",[zr.HIGH]:"HIGH",[zr.NORMAL]:"NORMAL",[zr.LOW]:"LOW"};ur.DEFAULT_PRIORITY=zr.NORMAL;function Sp(r,e){return r-e}});var Lf=F(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.DEFAULT_RELIABILITY=Gt.RELIABILITY_NAMES=Gt.Reliability=void 0;Gt.requiresAck=Tp;Gt.requiresBuffer=Cp;var Or;(function(r){r[r.FIRE_FORGET=0]="FIRE_FORGET",r[r.BUFFERED=1]="BUFFERED",r[r.GUARANTEED=2]="GUARANTEED"})(Or||(Gt.Reliability=Or={}));Gt.RELIABILITY_NAMES={[Or.FIRE_FORGET]:"FIRE_FORGET",[Or.BUFFERED]:"BUFFERED",[Or.GUARANTEED]:"GUARANTEED"};Gt.DEFAULT_RELIABILITY=Or.FIRE_FORGET;function Tp(r){return r===Or.GUARANTEED}function Cp(r){return r>=Or.BUFFERED}});var Nf=F(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.createMessage=Op;function Op(r,e,t={}){return{id:crypto.randomUUID(),type:r,payload:e,priority:t.priority??2,reliability:t.reliability??0,seq:t.seq,timestamp:new Date().toISOString()}}});var Df=F($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});$r.TerminalEventType=void 0;$r.deriveStatusFromEvent=kp;$r.shouldTriggerPushNotification=Rp;$r.getPushNotificationMessage=Pp;var ht;(function(r){r.SESSION_START="session_start",r.SESSION_END="session_end",r.MESSAGE="message",r.TOOL_START="tool_start",r.TOOL_END="tool_end",r.WAITING_INPUT="waiting_input",r.ERROR="error"})(ht||($r.TerminalEventType=ht={}));function kp(r){switch(r.type){case ht.SESSION_START:case ht.TOOL_START:case ht.MESSAGE:return"working";case ht.WAITING_INPUT:return"waiting";case ht.SESSION_END:return r.status==="success"?"completed":"error";case ht.ERROR:return r.severity==="fatal"?"error":"working";case ht.TOOL_END:return r.status==="error"?"error":"working";default:return"idle"}}function Rp(r){switch(r.type){case ht.WAITING_INPUT:return!0;case ht.SESSION_END:return!0;case ht.ERROR:return r.severity!=="warning";default:return!1}}function Pp(r,e){switch(r.type){case ht.WAITING_INPUT:return{title:`${e}: Input Required`,body:r.question.slice(0,100)};case ht.SESSION_END:{let t=r;return t.status==="success"?{title:`${e}: Task Completed`,body:t.summary||"Session finished successfully"}:{title:`${e}: Task Failed`,body:t.summary||"Session ended with error"}}case ht.ERROR:{let t=r;return t.severity==="warning"?null:{title:`${e}: Error`,body:t.message.slice(0,100)}}default:return null}}});var Bf=F(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.TransferDirection=Ue.TransferStatus=Ue.CHUNK_TTL_SECONDS=Ue.TRANSFER_TTL_SECONDS=Ue.MAX_RETRIES=Ue.ACK_TIMEOUT_MS=Ue.WINDOW_SIZE=Ue.DEFAULT_MAX_FILE_SIZE=Ue.CHUNK_SIZE=void 0;Ue.calculateTotalChunks=Ap;Ue.getMissingChunks=Ip;Ue.isTransferComplete=Lp;Ue.CHUNK_SIZE=64*1024;Ue.DEFAULT_MAX_FILE_SIZE=100*1024*1024;Ue.WINDOW_SIZE=10;Ue.ACK_TIMEOUT_MS=3e4;Ue.MAX_RETRIES=3;Ue.TRANSFER_TTL_SECONDS=1440*60;Ue.CHUNK_TTL_SECONDS=1440*60;var Ff;(function(r){r.PENDING="pending",r.ACTIVE="active",r.PAUSED="paused",r.COMPLETED="completed",r.FAILED="failed",r.CANCELLED="cancelled",r.EXPIRED="expired"})(Ff||(Ue.TransferStatus=Ff={}));var Mf;(function(r){r.DOWNLOAD="download",r.UPLOAD="upload"})(Mf||(Ue.TransferDirection=Mf={}));function Ap(r,e=Ue.CHUNK_SIZE){return Math.ceil(r/e)}function Ip(r,e){let t=new Set(e),n=[];for(let s=0;s<r;s++)t.has(s)||n.push(s);return n}function Lp(r,e){return e.length===r}});var jf=F(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.ERROR_MESSAGES=lr.ErrorCode=void 0;lr.createError=Np;lr.isRetryableError=Dp;var Re;(function(r){r.AUTH_FAILED="E001",r.TOKEN_EXPIRED="E002",r.TOKEN_INVALID="E003",r.NOT_FOUND="E011",r.ALREADY_EXISTS="E012",r.ACCESS_DENIED="E021",r.FORBIDDEN="E022",r.RATE_LIMITED="E031",r.TOO_MANY_CONNECTIONS="E032",r.QUOTA_EXCEEDED="E041",r.FILE_TOO_LARGE="E042",r.QUEUE_FULL="E043",r.TRANSFERS_LIMIT="E044",r.TRANSFER_FAILED="E051",r.TRANSFER_EXPIRED="E052",r.TRANSFER_CANCELLED="E053",r.CHECKSUM_MISMATCH="E054",r.CHUNK_MISSING="E055",r.INVALID_MESSAGE="E061",r.UNSUPPORTED_VERSION="E062",r.CAPABILITY_REQUIRED="E063",r.INVALID_STATE="E071",r.TIMEOUT="E072",r.CONNECTION_LOST="E073",r.INTERNAL_ERROR="E091",r.SERVICE_UNAVAILABLE="E092"})(Re||(lr.ErrorCode=Re={}));lr.ERROR_MESSAGES={[Re.AUTH_FAILED]:"Authentication failed",[Re.TOKEN_EXPIRED]:"Token expired",[Re.TOKEN_INVALID]:"Invalid token",[Re.NOT_FOUND]:"Resource not found",[Re.ALREADY_EXISTS]:"Resource already exists",[Re.ACCESS_DENIED]:"Access denied",[Re.FORBIDDEN]:"Operation forbidden",[Re.RATE_LIMITED]:"Rate limit exceeded",[Re.TOO_MANY_CONNECTIONS]:"Too many connections",[Re.QUOTA_EXCEEDED]:"Plan quota exceeded",[Re.FILE_TOO_LARGE]:"File size exceeds limit",[Re.QUEUE_FULL]:"Message queue is full",[Re.TRANSFERS_LIMIT]:"Daily transfers limit reached",[Re.TRANSFER_FAILED]:"File transfer failed",[Re.TRANSFER_EXPIRED]:"Transfer expired",[Re.TRANSFER_CANCELLED]:"Transfer cancelled",[Re.CHECKSUM_MISMATCH]:"File checksum mismatch",[Re.CHUNK_MISSING]:"Chunk missing or corrupted",[Re.INVALID_MESSAGE]:"Invalid message format",[Re.UNSUPPORTED_VERSION]:"Unsupported protocol version",[Re.CAPABILITY_REQUIRED]:"Required capability not supported",[Re.INVALID_STATE]:"Invalid state for this operation",[Re.TIMEOUT]:"Operation timed out",[Re.CONNECTION_LOST]:"Connection lost",[Re.INTERNAL_ERROR]:"Internal server error",[Re.SERVICE_UNAVAILABLE]:"Service temporarily unavailable"};function Np(r,e={}){return{code:r,message:e.message||lr.ERROR_MESSAGES[r],details:e.details,retryable:e.retryable??!1,retryAfter:e.retryAfter}}function Dp(r){return[Re.RATE_LIMITED,Re.TIMEOUT,Re.CONNECTION_LOST,Re.SERVICE_UNAVAILABLE].includes(r)}});var Hf=F(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.FileEntryType=St.DiffBase=St.FileViewType=St.FileChangeType=void 0;St.getLanguageFromPath=Fp;St.parseUnifiedDiff=Mp;St.createSimpleDiff=Bp;var kr;(function(r){r.CREATE="create",r.MODIFY="modify",r.DELETE="delete"})(kr||(St.FileChangeType=kr={}));var Uf;(function(r){r.CONTENT="content",r.DIFF="diff"})(Uf||(St.FileViewType=Uf={}));var qf;(function(r){r.GIT="git",r.PREVIOUS="previous"})(qf||(St.DiffBase=qf={}));function Fp(r){let e=r.split(".").pop()?.toLowerCase(),t={js:"javascript",jsx:"javascript",ts:"typescript",tsx:"typescript",mjs:"javascript",cjs:"javascript",html:"html",htm:"html",css:"css",scss:"scss",sass:"scss",less:"less",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",toml:"toml",md:"markdown",mdx:"markdown",env:"plaintext",gitignore:"plaintext",dockerignore:"plaintext",sh:"bash",bash:"bash",zsh:"bash",fish:"bash",py:"python",pyw:"python",pyi:"python",go:"go",rs:"rust",java:"java",kt:"kotlin",kts:"kotlin",c:"c",h:"c",cpp:"cpp",cc:"cpp",cxx:"cpp",hpp:"cpp",sql:"sql",graphql:"graphql",gql:"graphql",prisma:"prisma",dockerfile:"dockerfile"},n=r.split("/").pop()?.toLowerCase()||"";return{dockerfile:"dockerfile",makefile:"makefile",".gitignore":"plaintext",".env":"plaintext",".env.local":"plaintext",".env.development":"plaintext",".env.production":"plaintext"}[n]||t[e||""]||"plaintext"}function Mp(r,e){let t=r.split(`
3
- `),n=[],s=0,i=0,a=null,c=0,u=0;for(let g of t){if(g.startsWith("diff ")||g.startsWith("index ")||g.startsWith("---")||g.startsWith("+++"))continue;let m=g.match(/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@/);if(m){a&&n.push(a);let y=parseInt(m[1],10),w=parseInt(m[2]||"1",10),S=parseInt(m[3],10),T=parseInt(m[4]||"1",10);a={oldStart:y,oldLines:w,newStart:S,newLines:T,lines:[]},c=y,u=S;continue}a&&(g.startsWith("+")?(a.lines.push({type:"add",content:g.slice(1),oldLineNumber:null,newLineNumber:u++}),s++):g.startsWith("-")?(a.lines.push({type:"remove",content:g.slice(1),oldLineNumber:c++,newLineNumber:null}),i++):(g.startsWith(" ")||g==="")&&a.lines.push({type:"context",content:g.startsWith(" ")?g.slice(1):g,oldLineNumber:c++,newLineNumber:u++}))}a&&n.push(a);let d;return i===0&&s>0&&n.length===1&&n[0].oldLines===0?d=kr.CREATE:s===0&&i>0&&n.length===1&&n[0].newLines===0?d=kr.DELETE:d=kr.MODIFY,{path:e,changeType:d,hunks:n,additions:s,deletions:i,isBinary:!1}}function Bp(r,e,t){let n=r.split(`
2
+ "use strict";var Vd=Object.create;var Oo=Object.defineProperty;var Kd=Object.getOwnPropertyDescriptor;var $d=Object.getOwnPropertyNames;var zd=Object.getPrototypeOf,Gd=Object.prototype.hasOwnProperty;var Mt=(r,e)=>()=>(r&&(e=r(r=0)),e);var F=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Yd=(r,e)=>{for(var t in e)Oo(r,t,{get:e[t],enumerable:!0})},Xd=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of $d(e))!Gd.call(r,s)&&s!==t&&Oo(r,s,{get:()=>e[s],enumerable:!(n=Kd(e,s))||n.enumerable});return r};var ue=(r,e,t)=>(t=r!=null?Vd(zd(r)):{},Xd(e||!r||!r.__esModule?Oo(t,"default",{value:r,enumerable:!0}):t,r));var Hs=F(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.generateCorrelationId=Qd;es.runWithCorrelation=ep;es.getCurrentCorrelationId=tp;var Zd=require("async_hooks");function Qd(){let r=new Uint8Array(4),e=globalThis.crypto;if(e?.getRandomValues)e.getRandomValues(r);else for(let t=0;t<4;t++)r[t]=Math.floor(Math.random()*256);return"c-"+Array.from(r,t=>t.toString(16).padStart(2,"0")).join("")}var ff=new Zd.AsyncLocalStorage;function ep(r,e){return ff.run(r,e)}function tp(){return ff.getStore()}});var lf=F(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.LOG_LEVELS=void 0;yn.shouldLog=np;yn.formatLogLine=sp;var rp=Hs();yn.LOG_LEVELS=["silent","error","warn","info","debug"];var uf={silent:0,error:1,warn:2,info:3,debug:4};function np(r,e){return uf[r]<=uf[e]}function sp(r,e,t,n){let s={ts:new Date().toISOString(),level:r,src:e,msg:t},i=(0,rp.getCurrentCorrelationId)();i&&(s.cid=i);let a=n;a.length>0&&typeof a[0]=="object"&&a[0]!==null&&!(a[0]instanceof Error)&&!Array.isArray(a[0])&&(s.ctx=a[0],a=a.slice(1));let c=[...a].reverse().find(u=>u instanceof Error);c&&(s.err={message:c.message,stack:c.stack,name:c.name},a=a.filter(u=>u!==c)),a.length>0&&(s.args=a);try{return JSON.stringify(s)}catch{return JSON.stringify({ts:s.ts,level:r,src:e,msg:t,_unserializable:!0})}}});var hf=F(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.formatLogLine=Sr.shouldLog=Sr.LOG_LEVELS=void 0;var ko=lf();Object.defineProperty(Sr,"LOG_LEVELS",{enumerable:!0,get:function(){return ko.LOG_LEVELS}});Object.defineProperty(Sr,"shouldLog",{enumerable:!0,get:function(){return ko.shouldLog}});Object.defineProperty(Sr,"formatLogLine",{enumerable:!0,get:function(){return ko.formatLogLine}})});var df=F(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.CircularBuffer=void 0;var Ro=class{buffer=[];totalSize=0;maxSize;constructor(e=100){this.maxSize=e*1024}append(e){for(this.buffer.push(e),this.totalSize+=e.length;this.totalSize>this.maxSize&&this.buffer.length>1;){let t=this.buffer.shift();t&&(this.totalSize-=t.length)}}getContent(){return this.buffer.join("")}getLastBytes(e){let t=this.getContent();return t.length<=e?t:t.slice(-e)}getSize(){return this.totalSize}clear(){this.buffer=[],this.totalSize=0}};Vs.CircularBuffer=Ro});var $s=F(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.getApiUrl=ip;Ks.getWsUrl=op;function ip(r){return`${r.getServerUrl()}/api`}function op(r){let e=r.getServerUrl();return e.startsWith("https://")?e.replace(/^https:\/\//,"wss://"):e.replace(/^http:\/\//,"ws://")}});var gf=F(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.getCurrentCorrelationId=gt.runWithCorrelation=gt.generateCorrelationId=gt.getWsUrl=gt.getApiUrl=gt.CircularBuffer=void 0;var ap=df();Object.defineProperty(gt,"CircularBuffer",{enumerable:!0,get:function(){return ap.CircularBuffer}});var pf=$s();Object.defineProperty(gt,"getApiUrl",{enumerable:!0,get:function(){return pf.getApiUrl}});Object.defineProperty(gt,"getWsUrl",{enumerable:!0,get:function(){return pf.getWsUrl}});var Po=Hs();Object.defineProperty(gt,"generateCorrelationId",{enumerable:!0,get:function(){return Po.generateCorrelationId}});Object.defineProperty(gt,"runWithCorrelation",{enumerable:!0,get:function(){return Po.runWithCorrelation}});Object.defineProperty(gt,"getCurrentCorrelationId",{enumerable:!0,get:function(){return Po.getCurrentCorrelationId}})});var _f=F(mf=>{"use strict";Object.defineProperty(mf,"__esModule",{value:!0})});var vf=F(yf=>{"use strict";Object.defineProperty(yf,"__esModule",{value:!0})});var Ef=F(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.PLAN_LIMITS=void 0;zs.PLAN_LIMITS={free:{maxAgents:1,maxTerminals:2,maxTeamMembers:1,historyDays:1},basic:{maxAgents:3,maxTerminals:10,maxTeamMembers:1,historyDays:7},pro:{maxAgents:10,maxTerminals:50,maxTeamMembers:5,historyDays:30}}});var bf=F(wf=>{"use strict";Object.defineProperty(wf,"__esModule",{value:!0})});var xf=F(Kt=>{"use strict";var cp=Kt&&Kt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),Gs=Kt&&Kt.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&cp(e,r,t)};Object.defineProperty(Kt,"__esModule",{value:!0});Gs(_f(),Kt);Gs(vf(),Kt);Gs(Ef(),Kt);Gs(bf(),Kt)});var Sf=F(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.API_VERSION=Ot.WS_NAMESPACES=Ot.TIMEOUTS=Ot.STATUS_PATTERNS=Ot.TERMINAL_STATUSES=void 0;Ot.TERMINAL_STATUSES={idle:{label:"Idle",color:"gray",icon:"\u25CF"},working:{label:"Working",color:"blue",icon:"\u27F3"},waiting:{label:"Awaiting input",color:"orange",icon:"\u26A0"},completed:{label:"Completed",color:"green",icon:"\u2713"},error:{label:"Error",color:"red",icon:"\u2715"},offline:{label:"Offline",color:"black",icon:"\u26AB"}};Ot.STATUS_PATTERNS={idle:[/[❯$]\s*$/,/>\s*$/],waiting:[/\[Y\/n\]/i,/\(y\/N\)/i,/Continue\?/i,/proceed\?/i],completed:[/✓/,/Done/,/Completed/,/Success/],error:[/Error/,/Failed/,/✕/,/Exception/]};Ot.TIMEOUTS={HEARTBEAT_INTERVAL:3e4,OFFLINE_THRESHOLD:6e4,DEVICE_CODE_EXPIRY:9e5,DEVICE_CODE_POLL_INTERVAL:5e3};Ot.WS_NAMESPACES={AGENT:"/agent",CLIENT:"/client"};Ot.API_VERSION="v1"});var Tf=F(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.isMultiRecipientPayload=fp;Ys.isEncryptedPayload=up;function fp(r){return typeof r=="object"&&r!==null&&"v"in r&&r.v===2&&"recipients"in r&&Array.isArray(r.recipients)}function up(r){if(typeof r!="object"||r===null||!("encrypted"in r))return!1;let e=r.encrypted;if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.v=="number"&&typeof t.sid=="string"&&typeof t.n=="string"&&typeof t.c=="string"}});var Ao=F((nE,Xs)=>{(function(r){"use strict";var e=function(f){var h,l=new Float64Array(16);if(f)for(h=0;h<f.length;h++)l[h]=f[h];return l},t=function(){throw new Error("no PRNG")},n=new Uint8Array(16),s=new Uint8Array(32);s[0]=9;var i=e(),a=e([1]),c=e([56129,1]),u=e([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),d=e([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),g=e([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),m=e([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),y=e([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function w(f,h,l,o){f[h]=l>>24&255,f[h+1]=l>>16&255,f[h+2]=l>>8&255,f[h+3]=l&255,f[h+4]=o>>24&255,f[h+5]=o>>16&255,f[h+6]=o>>8&255,f[h+7]=o&255}function S(f,h,l,o,p){var v,E=0;for(v=0;v<p;v++)E|=f[h+v]^l[o+v];return(1&E-1>>>8)-1}function T(f,h,l,o){return S(f,h,l,o,16)}function V(f,h,l,o){return S(f,h,l,o,32)}function ge(f,h,l,o){for(var p=o[0]&255|(o[1]&255)<<8|(o[2]&255)<<16|(o[3]&255)<<24,v=l[0]&255|(l[1]&255)<<8|(l[2]&255)<<16|(l[3]&255)<<24,E=l[4]&255|(l[5]&255)<<8|(l[6]&255)<<16|(l[7]&255)<<24,O=l[8]&255|(l[9]&255)<<8|(l[10]&255)<<16|(l[11]&255)<<24,M=l[12]&255|(l[13]&255)<<8|(l[14]&255)<<16|(l[15]&255)<<24,Y=o[4]&255|(o[5]&255)<<8|(o[6]&255)<<16|(o[7]&255)<<24,q=h[0]&255|(h[1]&255)<<8|(h[2]&255)<<16|(h[3]&255)<<24,Ce=h[4]&255|(h[5]&255)<<8|(h[6]&255)<<16|(h[7]&255)<<24,K=h[8]&255|(h[9]&255)<<8|(h[10]&255)<<16|(h[11]&255)<<24,te=h[12]&255|(h[13]&255)<<8|(h[14]&255)<<16|(h[15]&255)<<24,re=o[8]&255|(o[9]&255)<<8|(o[10]&255)<<16|(o[11]&255)<<24,le=l[16]&255|(l[17]&255)<<8|(l[18]&255)<<16|(l[19]&255)<<24,fe=l[20]&255|(l[21]&255)<<8|(l[22]&255)<<16|(l[23]&255)<<24,ne=l[24]&255|(l[25]&255)<<8|(l[26]&255)<<16|(l[27]&255)<<24,ae=l[28]&255|(l[29]&255)<<8|(l[30]&255)<<16|(l[31]&255)<<24,se=o[12]&255|(o[13]&255)<<8|(o[14]&255)<<16|(o[15]&255)<<24,$=p,X=v,H=E,z=O,G=M,U=Y,b=q,x=Ce,I=K,C=te,k=re,D=le,Q=fe,he=ne,pe=ae,de=se,_,ye=0;ye<20;ye+=2)_=$+Q|0,G^=_<<7|_>>>25,_=G+$|0,I^=_<<9|_>>>23,_=I+G|0,Q^=_<<13|_>>>19,_=Q+I|0,$^=_<<18|_>>>14,_=U+X|0,C^=_<<7|_>>>25,_=C+U|0,he^=_<<9|_>>>23,_=he+C|0,X^=_<<13|_>>>19,_=X+he|0,U^=_<<18|_>>>14,_=k+b|0,pe^=_<<7|_>>>25,_=pe+k|0,H^=_<<9|_>>>23,_=H+pe|0,b^=_<<13|_>>>19,_=b+H|0,k^=_<<18|_>>>14,_=de+D|0,z^=_<<7|_>>>25,_=z+de|0,x^=_<<9|_>>>23,_=x+z|0,D^=_<<13|_>>>19,_=D+x|0,de^=_<<18|_>>>14,_=$+z|0,X^=_<<7|_>>>25,_=X+$|0,H^=_<<9|_>>>23,_=H+X|0,z^=_<<13|_>>>19,_=z+H|0,$^=_<<18|_>>>14,_=U+G|0,b^=_<<7|_>>>25,_=b+U|0,x^=_<<9|_>>>23,_=x+b|0,G^=_<<13|_>>>19,_=G+x|0,U^=_<<18|_>>>14,_=k+C|0,D^=_<<7|_>>>25,_=D+k|0,I^=_<<9|_>>>23,_=I+D|0,C^=_<<13|_>>>19,_=C+I|0,k^=_<<18|_>>>14,_=de+pe|0,Q^=_<<7|_>>>25,_=Q+de|0,he^=_<<9|_>>>23,_=he+Q|0,pe^=_<<13|_>>>19,_=pe+he|0,de^=_<<18|_>>>14;$=$+p|0,X=X+v|0,H=H+E|0,z=z+O|0,G=G+M|0,U=U+Y|0,b=b+q|0,x=x+Ce|0,I=I+K|0,C=C+te|0,k=k+re|0,D=D+le|0,Q=Q+fe|0,he=he+ne|0,pe=pe+ae|0,de=de+se|0,f[0]=$>>>0&255,f[1]=$>>>8&255,f[2]=$>>>16&255,f[3]=$>>>24&255,f[4]=X>>>0&255,f[5]=X>>>8&255,f[6]=X>>>16&255,f[7]=X>>>24&255,f[8]=H>>>0&255,f[9]=H>>>8&255,f[10]=H>>>16&255,f[11]=H>>>24&255,f[12]=z>>>0&255,f[13]=z>>>8&255,f[14]=z>>>16&255,f[15]=z>>>24&255,f[16]=G>>>0&255,f[17]=G>>>8&255,f[18]=G>>>16&255,f[19]=G>>>24&255,f[20]=U>>>0&255,f[21]=U>>>8&255,f[22]=U>>>16&255,f[23]=U>>>24&255,f[24]=b>>>0&255,f[25]=b>>>8&255,f[26]=b>>>16&255,f[27]=b>>>24&255,f[28]=x>>>0&255,f[29]=x>>>8&255,f[30]=x>>>16&255,f[31]=x>>>24&255,f[32]=I>>>0&255,f[33]=I>>>8&255,f[34]=I>>>16&255,f[35]=I>>>24&255,f[36]=C>>>0&255,f[37]=C>>>8&255,f[38]=C>>>16&255,f[39]=C>>>24&255,f[40]=k>>>0&255,f[41]=k>>>8&255,f[42]=k>>>16&255,f[43]=k>>>24&255,f[44]=D>>>0&255,f[45]=D>>>8&255,f[46]=D>>>16&255,f[47]=D>>>24&255,f[48]=Q>>>0&255,f[49]=Q>>>8&255,f[50]=Q>>>16&255,f[51]=Q>>>24&255,f[52]=he>>>0&255,f[53]=he>>>8&255,f[54]=he>>>16&255,f[55]=he>>>24&255,f[56]=pe>>>0&255,f[57]=pe>>>8&255,f[58]=pe>>>16&255,f[59]=pe>>>24&255,f[60]=de>>>0&255,f[61]=de>>>8&255,f[62]=de>>>16&255,f[63]=de>>>24&255}function J(f,h,l,o){for(var p=o[0]&255|(o[1]&255)<<8|(o[2]&255)<<16|(o[3]&255)<<24,v=l[0]&255|(l[1]&255)<<8|(l[2]&255)<<16|(l[3]&255)<<24,E=l[4]&255|(l[5]&255)<<8|(l[6]&255)<<16|(l[7]&255)<<24,O=l[8]&255|(l[9]&255)<<8|(l[10]&255)<<16|(l[11]&255)<<24,M=l[12]&255|(l[13]&255)<<8|(l[14]&255)<<16|(l[15]&255)<<24,Y=o[4]&255|(o[5]&255)<<8|(o[6]&255)<<16|(o[7]&255)<<24,q=h[0]&255|(h[1]&255)<<8|(h[2]&255)<<16|(h[3]&255)<<24,Ce=h[4]&255|(h[5]&255)<<8|(h[6]&255)<<16|(h[7]&255)<<24,K=h[8]&255|(h[9]&255)<<8|(h[10]&255)<<16|(h[11]&255)<<24,te=h[12]&255|(h[13]&255)<<8|(h[14]&255)<<16|(h[15]&255)<<24,re=o[8]&255|(o[9]&255)<<8|(o[10]&255)<<16|(o[11]&255)<<24,le=l[16]&255|(l[17]&255)<<8|(l[18]&255)<<16|(l[19]&255)<<24,fe=l[20]&255|(l[21]&255)<<8|(l[22]&255)<<16|(l[23]&255)<<24,ne=l[24]&255|(l[25]&255)<<8|(l[26]&255)<<16|(l[27]&255)<<24,ae=l[28]&255|(l[29]&255)<<8|(l[30]&255)<<16|(l[31]&255)<<24,se=o[12]&255|(o[13]&255)<<8|(o[14]&255)<<16|(o[15]&255)<<24,$=p,X=v,H=E,z=O,G=M,U=Y,b=q,x=Ce,I=K,C=te,k=re,D=le,Q=fe,he=ne,pe=ae,de=se,_,ye=0;ye<20;ye+=2)_=$+Q|0,G^=_<<7|_>>>25,_=G+$|0,I^=_<<9|_>>>23,_=I+G|0,Q^=_<<13|_>>>19,_=Q+I|0,$^=_<<18|_>>>14,_=U+X|0,C^=_<<7|_>>>25,_=C+U|0,he^=_<<9|_>>>23,_=he+C|0,X^=_<<13|_>>>19,_=X+he|0,U^=_<<18|_>>>14,_=k+b|0,pe^=_<<7|_>>>25,_=pe+k|0,H^=_<<9|_>>>23,_=H+pe|0,b^=_<<13|_>>>19,_=b+H|0,k^=_<<18|_>>>14,_=de+D|0,z^=_<<7|_>>>25,_=z+de|0,x^=_<<9|_>>>23,_=x+z|0,D^=_<<13|_>>>19,_=D+x|0,de^=_<<18|_>>>14,_=$+z|0,X^=_<<7|_>>>25,_=X+$|0,H^=_<<9|_>>>23,_=H+X|0,z^=_<<13|_>>>19,_=z+H|0,$^=_<<18|_>>>14,_=U+G|0,b^=_<<7|_>>>25,_=b+U|0,x^=_<<9|_>>>23,_=x+b|0,G^=_<<13|_>>>19,_=G+x|0,U^=_<<18|_>>>14,_=k+C|0,D^=_<<7|_>>>25,_=D+k|0,I^=_<<9|_>>>23,_=I+D|0,C^=_<<13|_>>>19,_=C+I|0,k^=_<<18|_>>>14,_=de+pe|0,Q^=_<<7|_>>>25,_=Q+de|0,he^=_<<9|_>>>23,_=he+Q|0,pe^=_<<13|_>>>19,_=pe+he|0,de^=_<<18|_>>>14;f[0]=$>>>0&255,f[1]=$>>>8&255,f[2]=$>>>16&255,f[3]=$>>>24&255,f[4]=U>>>0&255,f[5]=U>>>8&255,f[6]=U>>>16&255,f[7]=U>>>24&255,f[8]=k>>>0&255,f[9]=k>>>8&255,f[10]=k>>>16&255,f[11]=k>>>24&255,f[12]=de>>>0&255,f[13]=de>>>8&255,f[14]=de>>>16&255,f[15]=de>>>24&255,f[16]=b>>>0&255,f[17]=b>>>8&255,f[18]=b>>>16&255,f[19]=b>>>24&255,f[20]=x>>>0&255,f[21]=x>>>8&255,f[22]=x>>>16&255,f[23]=x>>>24&255,f[24]=I>>>0&255,f[25]=I>>>8&255,f[26]=I>>>16&255,f[27]=I>>>24&255,f[28]=C>>>0&255,f[29]=C>>>8&255,f[30]=C>>>16&255,f[31]=C>>>24&255}function A(f,h,l,o){ge(f,h,l,o)}function R(f,h,l,o){J(f,h,l,o)}var ee=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function j(f,h,l,o,p,v,E){var O=new Uint8Array(16),M=new Uint8Array(64),Y,q;for(q=0;q<16;q++)O[q]=0;for(q=0;q<8;q++)O[q]=v[q];for(;p>=64;){for(A(M,O,E,ee),q=0;q<64;q++)f[h+q]=l[o+q]^M[q];for(Y=1,q=8;q<16;q++)Y=Y+(O[q]&255)|0,O[q]=Y&255,Y>>>=8;p-=64,h+=64,o+=64}if(p>0)for(A(M,O,E,ee),q=0;q<p;q++)f[h+q]=l[o+q]^M[q];return 0}function Z(f,h,l,o,p){var v=new Uint8Array(16),E=new Uint8Array(64),O,M;for(M=0;M<16;M++)v[M]=0;for(M=0;M<8;M++)v[M]=o[M];for(;l>=64;){for(A(E,v,p,ee),M=0;M<64;M++)f[h+M]=E[M];for(O=1,M=8;M<16;M++)O=O+(v[M]&255)|0,v[M]=O&255,O>>>=8;l-=64,h+=64}if(l>0)for(A(E,v,p,ee),M=0;M<l;M++)f[h+M]=E[M];return 0}function ce(f,h,l,o,p){var v=new Uint8Array(32);R(v,o,p,ee);for(var E=new Uint8Array(8),O=0;O<8;O++)E[O]=o[O+16];return Z(f,h,l,E,v)}function ie(f,h,l,o,p,v,E){var O=new Uint8Array(32);R(O,v,E,ee);for(var M=new Uint8Array(8),Y=0;Y<8;Y++)M[Y]=v[Y+16];return j(f,h,l,o,p,M,O)}var _e=function(f){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var h,l,o,p,v,E,O,M;h=f[0]&255|(f[1]&255)<<8,this.r[0]=h&8191,l=f[2]&255|(f[3]&255)<<8,this.r[1]=(h>>>13|l<<3)&8191,o=f[4]&255|(f[5]&255)<<8,this.r[2]=(l>>>10|o<<6)&7939,p=f[6]&255|(f[7]&255)<<8,this.r[3]=(o>>>7|p<<9)&8191,v=f[8]&255|(f[9]&255)<<8,this.r[4]=(p>>>4|v<<12)&255,this.r[5]=v>>>1&8190,E=f[10]&255|(f[11]&255)<<8,this.r[6]=(v>>>14|E<<2)&8191,O=f[12]&255|(f[13]&255)<<8,this.r[7]=(E>>>11|O<<5)&8065,M=f[14]&255|(f[15]&255)<<8,this.r[8]=(O>>>8|M<<8)&8191,this.r[9]=M>>>5&127,this.pad[0]=f[16]&255|(f[17]&255)<<8,this.pad[1]=f[18]&255|(f[19]&255)<<8,this.pad[2]=f[20]&255|(f[21]&255)<<8,this.pad[3]=f[22]&255|(f[23]&255)<<8,this.pad[4]=f[24]&255|(f[25]&255)<<8,this.pad[5]=f[26]&255|(f[27]&255)<<8,this.pad[6]=f[28]&255|(f[29]&255)<<8,this.pad[7]=f[30]&255|(f[31]&255)<<8};_e.prototype.blocks=function(f,h,l){for(var o=this.fin?0:2048,p,v,E,O,M,Y,q,Ce,K,te,re,le,fe,ne,ae,se,$,X,H,z=this.h[0],G=this.h[1],U=this.h[2],b=this.h[3],x=this.h[4],I=this.h[5],C=this.h[6],k=this.h[7],D=this.h[8],Q=this.h[9],he=this.r[0],pe=this.r[1],de=this.r[2],_=this.r[3],ye=this.r[4],Oe=this.r[5],ke=this.r[6],me=this.r[7],be=this.r[8],xe=this.r[9];l>=16;)p=f[h+0]&255|(f[h+1]&255)<<8,z+=p&8191,v=f[h+2]&255|(f[h+3]&255)<<8,G+=(p>>>13|v<<3)&8191,E=f[h+4]&255|(f[h+5]&255)<<8,U+=(v>>>10|E<<6)&8191,O=f[h+6]&255|(f[h+7]&255)<<8,b+=(E>>>7|O<<9)&8191,M=f[h+8]&255|(f[h+9]&255)<<8,x+=(O>>>4|M<<12)&8191,I+=M>>>1&8191,Y=f[h+10]&255|(f[h+11]&255)<<8,C+=(M>>>14|Y<<2)&8191,q=f[h+12]&255|(f[h+13]&255)<<8,k+=(Y>>>11|q<<5)&8191,Ce=f[h+14]&255|(f[h+15]&255)<<8,D+=(q>>>8|Ce<<8)&8191,Q+=Ce>>>5|o,K=0,te=K,te+=z*he,te+=G*(5*xe),te+=U*(5*be),te+=b*(5*me),te+=x*(5*ke),K=te>>>13,te&=8191,te+=I*(5*Oe),te+=C*(5*ye),te+=k*(5*_),te+=D*(5*de),te+=Q*(5*pe),K+=te>>>13,te&=8191,re=K,re+=z*pe,re+=G*he,re+=U*(5*xe),re+=b*(5*be),re+=x*(5*me),K=re>>>13,re&=8191,re+=I*(5*ke),re+=C*(5*Oe),re+=k*(5*ye),re+=D*(5*_),re+=Q*(5*de),K+=re>>>13,re&=8191,le=K,le+=z*de,le+=G*pe,le+=U*he,le+=b*(5*xe),le+=x*(5*be),K=le>>>13,le&=8191,le+=I*(5*me),le+=C*(5*ke),le+=k*(5*Oe),le+=D*(5*ye),le+=Q*(5*_),K+=le>>>13,le&=8191,fe=K,fe+=z*_,fe+=G*de,fe+=U*pe,fe+=b*he,fe+=x*(5*xe),K=fe>>>13,fe&=8191,fe+=I*(5*be),fe+=C*(5*me),fe+=k*(5*ke),fe+=D*(5*Oe),fe+=Q*(5*ye),K+=fe>>>13,fe&=8191,ne=K,ne+=z*ye,ne+=G*_,ne+=U*de,ne+=b*pe,ne+=x*he,K=ne>>>13,ne&=8191,ne+=I*(5*xe),ne+=C*(5*be),ne+=k*(5*me),ne+=D*(5*ke),ne+=Q*(5*Oe),K+=ne>>>13,ne&=8191,ae=K,ae+=z*Oe,ae+=G*ye,ae+=U*_,ae+=b*de,ae+=x*pe,K=ae>>>13,ae&=8191,ae+=I*he,ae+=C*(5*xe),ae+=k*(5*be),ae+=D*(5*me),ae+=Q*(5*ke),K+=ae>>>13,ae&=8191,se=K,se+=z*ke,se+=G*Oe,se+=U*ye,se+=b*_,se+=x*de,K=se>>>13,se&=8191,se+=I*pe,se+=C*he,se+=k*(5*xe),se+=D*(5*be),se+=Q*(5*me),K+=se>>>13,se&=8191,$=K,$+=z*me,$+=G*ke,$+=U*Oe,$+=b*ye,$+=x*_,K=$>>>13,$&=8191,$+=I*de,$+=C*pe,$+=k*he,$+=D*(5*xe),$+=Q*(5*be),K+=$>>>13,$&=8191,X=K,X+=z*be,X+=G*me,X+=U*ke,X+=b*Oe,X+=x*ye,K=X>>>13,X&=8191,X+=I*_,X+=C*de,X+=k*pe,X+=D*he,X+=Q*(5*xe),K+=X>>>13,X&=8191,H=K,H+=z*xe,H+=G*be,H+=U*me,H+=b*ke,H+=x*Oe,K=H>>>13,H&=8191,H+=I*ye,H+=C*_,H+=k*de,H+=D*pe,H+=Q*he,K+=H>>>13,H&=8191,K=(K<<2)+K|0,K=K+te|0,te=K&8191,K=K>>>13,re+=K,z=te,G=re,U=le,b=fe,x=ne,I=ae,C=se,k=$,D=X,Q=H,h+=16,l-=16;this.h[0]=z,this.h[1]=G,this.h[2]=U,this.h[3]=b,this.h[4]=x,this.h[5]=I,this.h[6]=C,this.h[7]=k,this.h[8]=D,this.h[9]=Q},_e.prototype.finish=function(f,h){var l=new Uint16Array(10),o,p,v,E;if(this.leftover){for(E=this.leftover,this.buffer[E++]=1;E<16;E++)this.buffer[E]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(o=this.h[1]>>>13,this.h[1]&=8191,E=2;E<10;E++)this.h[E]+=o,o=this.h[E]>>>13,this.h[E]&=8191;for(this.h[0]+=o*5,o=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=o,o=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=o,l[0]=this.h[0]+5,o=l[0]>>>13,l[0]&=8191,E=1;E<10;E++)l[E]=this.h[E]+o,o=l[E]>>>13,l[E]&=8191;for(l[9]-=8192,p=(o^1)-1,E=0;E<10;E++)l[E]&=p;for(p=~p,E=0;E<10;E++)this.h[E]=this.h[E]&p|l[E];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,v=this.h[0]+this.pad[0],this.h[0]=v&65535,E=1;E<8;E++)v=(this.h[E]+this.pad[E]|0)+(v>>>16)|0,this.h[E]=v&65535;f[h+0]=this.h[0]>>>0&255,f[h+1]=this.h[0]>>>8&255,f[h+2]=this.h[1]>>>0&255,f[h+3]=this.h[1]>>>8&255,f[h+4]=this.h[2]>>>0&255,f[h+5]=this.h[2]>>>8&255,f[h+6]=this.h[3]>>>0&255,f[h+7]=this.h[3]>>>8&255,f[h+8]=this.h[4]>>>0&255,f[h+9]=this.h[4]>>>8&255,f[h+10]=this.h[5]>>>0&255,f[h+11]=this.h[5]>>>8&255,f[h+12]=this.h[6]>>>0&255,f[h+13]=this.h[6]>>>8&255,f[h+14]=this.h[7]>>>0&255,f[h+15]=this.h[7]>>>8&255},_e.prototype.update=function(f,h,l){var o,p;if(this.leftover){for(p=16-this.leftover,p>l&&(p=l),o=0;o<p;o++)this.buffer[this.leftover+o]=f[h+o];if(l-=p,h+=p,this.leftover+=p,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(l>=16&&(p=l-l%16,this.blocks(f,h,p),h+=p,l-=p),l){for(o=0;o<l;o++)this.buffer[this.leftover+o]=f[h+o];this.leftover+=l}};function Ye(f,h,l,o,p,v){var E=new _e(v);return E.update(l,o,p),E.finish(f,h),0}function Je(f,h,l,o,p,v){var E=new Uint8Array(16);return Ye(E,0,l,o,p,v),T(f,h,E,0)}function ve(f,h,l,o,p){var v;if(l<32)return-1;for(ie(f,0,h,0,l,o,p),Ye(f,16,f,32,l-32,f),v=0;v<16;v++)f[v]=0;return 0}function He(f,h,l,o,p){var v,E=new Uint8Array(32);if(l<32||(ce(E,0,32,o,p),Je(h,16,h,32,l-32,E)!==0))return-1;for(ie(f,0,h,0,l,o,p),v=0;v<32;v++)f[v]=0;return 0}function Fe(f,h){var l;for(l=0;l<16;l++)f[l]=h[l]|0}function Qe(f){var h,l,o=1;for(h=0;h<16;h++)l=f[h]+o+65535,o=Math.floor(l/65536),f[h]=l-o*65536;f[0]+=o-1+37*(o-1)}function Ve(f,h,l){for(var o,p=~(l-1),v=0;v<16;v++)o=p&(f[v]^h[v]),f[v]^=o,h[v]^=o}function Pe(f,h){var l,o,p,v=e(),E=e();for(l=0;l<16;l++)E[l]=h[l];for(Qe(E),Qe(E),Qe(E),o=0;o<2;o++){for(v[0]=E[0]-65517,l=1;l<15;l++)v[l]=E[l]-65535-(v[l-1]>>16&1),v[l-1]&=65535;v[15]=E[15]-32767-(v[14]>>16&1),p=v[15]>>16&1,v[14]&=65535,Ve(E,v,1-p)}for(l=0;l<16;l++)f[2*l]=E[l]&255,f[2*l+1]=E[l]>>8}function tt(f,h){var l=new Uint8Array(32),o=new Uint8Array(32);return Pe(l,f),Pe(o,h),V(l,0,o,0)}function W(f){var h=new Uint8Array(32);return Pe(h,f),h[0]&1}function we(f,h){var l;for(l=0;l<16;l++)f[l]=h[2*l]+(h[2*l+1]<<8);f[15]&=32767}function P(f,h,l){for(var o=0;o<16;o++)f[o]=h[o]+l[o]}function B(f,h,l){for(var o=0;o<16;o++)f[o]=h[o]-l[o]}function L(f,h,l){var o,p,v=0,E=0,O=0,M=0,Y=0,q=0,Ce=0,K=0,te=0,re=0,le=0,fe=0,ne=0,ae=0,se=0,$=0,X=0,H=0,z=0,G=0,U=0,b=0,x=0,I=0,C=0,k=0,D=0,Q=0,he=0,pe=0,de=0,_=l[0],ye=l[1],Oe=l[2],ke=l[3],me=l[4],be=l[5],xe=l[6],Xe=l[7],Ae=l[8],$e=l[9],ze=l[10],Ge=l[11],et=l[12],ot=l[13],at=l[14],ct=l[15];o=h[0],v+=o*_,E+=o*ye,O+=o*Oe,M+=o*ke,Y+=o*me,q+=o*be,Ce+=o*xe,K+=o*Xe,te+=o*Ae,re+=o*$e,le+=o*ze,fe+=o*Ge,ne+=o*et,ae+=o*ot,se+=o*at,$+=o*ct,o=h[1],E+=o*_,O+=o*ye,M+=o*Oe,Y+=o*ke,q+=o*me,Ce+=o*be,K+=o*xe,te+=o*Xe,re+=o*Ae,le+=o*$e,fe+=o*ze,ne+=o*Ge,ae+=o*et,se+=o*ot,$+=o*at,X+=o*ct,o=h[2],O+=o*_,M+=o*ye,Y+=o*Oe,q+=o*ke,Ce+=o*me,K+=o*be,te+=o*xe,re+=o*Xe,le+=o*Ae,fe+=o*$e,ne+=o*ze,ae+=o*Ge,se+=o*et,$+=o*ot,X+=o*at,H+=o*ct,o=h[3],M+=o*_,Y+=o*ye,q+=o*Oe,Ce+=o*ke,K+=o*me,te+=o*be,re+=o*xe,le+=o*Xe,fe+=o*Ae,ne+=o*$e,ae+=o*ze,se+=o*Ge,$+=o*et,X+=o*ot,H+=o*at,z+=o*ct,o=h[4],Y+=o*_,q+=o*ye,Ce+=o*Oe,K+=o*ke,te+=o*me,re+=o*be,le+=o*xe,fe+=o*Xe,ne+=o*Ae,ae+=o*$e,se+=o*ze,$+=o*Ge,X+=o*et,H+=o*ot,z+=o*at,G+=o*ct,o=h[5],q+=o*_,Ce+=o*ye,K+=o*Oe,te+=o*ke,re+=o*me,le+=o*be,fe+=o*xe,ne+=o*Xe,ae+=o*Ae,se+=o*$e,$+=o*ze,X+=o*Ge,H+=o*et,z+=o*ot,G+=o*at,U+=o*ct,o=h[6],Ce+=o*_,K+=o*ye,te+=o*Oe,re+=o*ke,le+=o*me,fe+=o*be,ne+=o*xe,ae+=o*Xe,se+=o*Ae,$+=o*$e,X+=o*ze,H+=o*Ge,z+=o*et,G+=o*ot,U+=o*at,b+=o*ct,o=h[7],K+=o*_,te+=o*ye,re+=o*Oe,le+=o*ke,fe+=o*me,ne+=o*be,ae+=o*xe,se+=o*Xe,$+=o*Ae,X+=o*$e,H+=o*ze,z+=o*Ge,G+=o*et,U+=o*ot,b+=o*at,x+=o*ct,o=h[8],te+=o*_,re+=o*ye,le+=o*Oe,fe+=o*ke,ne+=o*me,ae+=o*be,se+=o*xe,$+=o*Xe,X+=o*Ae,H+=o*$e,z+=o*ze,G+=o*Ge,U+=o*et,b+=o*ot,x+=o*at,I+=o*ct,o=h[9],re+=o*_,le+=o*ye,fe+=o*Oe,ne+=o*ke,ae+=o*me,se+=o*be,$+=o*xe,X+=o*Xe,H+=o*Ae,z+=o*$e,G+=o*ze,U+=o*Ge,b+=o*et,x+=o*ot,I+=o*at,C+=o*ct,o=h[10],le+=o*_,fe+=o*ye,ne+=o*Oe,ae+=o*ke,se+=o*me,$+=o*be,X+=o*xe,H+=o*Xe,z+=o*Ae,G+=o*$e,U+=o*ze,b+=o*Ge,x+=o*et,I+=o*ot,C+=o*at,k+=o*ct,o=h[11],fe+=o*_,ne+=o*ye,ae+=o*Oe,se+=o*ke,$+=o*me,X+=o*be,H+=o*xe,z+=o*Xe,G+=o*Ae,U+=o*$e,b+=o*ze,x+=o*Ge,I+=o*et,C+=o*ot,k+=o*at,D+=o*ct,o=h[12],ne+=o*_,ae+=o*ye,se+=o*Oe,$+=o*ke,X+=o*me,H+=o*be,z+=o*xe,G+=o*Xe,U+=o*Ae,b+=o*$e,x+=o*ze,I+=o*Ge,C+=o*et,k+=o*ot,D+=o*at,Q+=o*ct,o=h[13],ae+=o*_,se+=o*ye,$+=o*Oe,X+=o*ke,H+=o*me,z+=o*be,G+=o*xe,U+=o*Xe,b+=o*Ae,x+=o*$e,I+=o*ze,C+=o*Ge,k+=o*et,D+=o*ot,Q+=o*at,he+=o*ct,o=h[14],se+=o*_,$+=o*ye,X+=o*Oe,H+=o*ke,z+=o*me,G+=o*be,U+=o*xe,b+=o*Xe,x+=o*Ae,I+=o*$e,C+=o*ze,k+=o*Ge,D+=o*et,Q+=o*ot,he+=o*at,pe+=o*ct,o=h[15],$+=o*_,X+=o*ye,H+=o*Oe,z+=o*ke,G+=o*me,U+=o*be,b+=o*xe,x+=o*Xe,I+=o*Ae,C+=o*$e,k+=o*ze,D+=o*Ge,Q+=o*et,he+=o*ot,pe+=o*at,de+=o*ct,v+=38*X,E+=38*H,O+=38*z,M+=38*G,Y+=38*U,q+=38*b,Ce+=38*x,K+=38*I,te+=38*C,re+=38*k,le+=38*D,fe+=38*Q,ne+=38*he,ae+=38*pe,se+=38*de,p=1,o=v+p+65535,p=Math.floor(o/65536),v=o-p*65536,o=E+p+65535,p=Math.floor(o/65536),E=o-p*65536,o=O+p+65535,p=Math.floor(o/65536),O=o-p*65536,o=M+p+65535,p=Math.floor(o/65536),M=o-p*65536,o=Y+p+65535,p=Math.floor(o/65536),Y=o-p*65536,o=q+p+65535,p=Math.floor(o/65536),q=o-p*65536,o=Ce+p+65535,p=Math.floor(o/65536),Ce=o-p*65536,o=K+p+65535,p=Math.floor(o/65536),K=o-p*65536,o=te+p+65535,p=Math.floor(o/65536),te=o-p*65536,o=re+p+65535,p=Math.floor(o/65536),re=o-p*65536,o=le+p+65535,p=Math.floor(o/65536),le=o-p*65536,o=fe+p+65535,p=Math.floor(o/65536),fe=o-p*65536,o=ne+p+65535,p=Math.floor(o/65536),ne=o-p*65536,o=ae+p+65535,p=Math.floor(o/65536),ae=o-p*65536,o=se+p+65535,p=Math.floor(o/65536),se=o-p*65536,o=$+p+65535,p=Math.floor(o/65536),$=o-p*65536,v+=p-1+37*(p-1),p=1,o=v+p+65535,p=Math.floor(o/65536),v=o-p*65536,o=E+p+65535,p=Math.floor(o/65536),E=o-p*65536,o=O+p+65535,p=Math.floor(o/65536),O=o-p*65536,o=M+p+65535,p=Math.floor(o/65536),M=o-p*65536,o=Y+p+65535,p=Math.floor(o/65536),Y=o-p*65536,o=q+p+65535,p=Math.floor(o/65536),q=o-p*65536,o=Ce+p+65535,p=Math.floor(o/65536),Ce=o-p*65536,o=K+p+65535,p=Math.floor(o/65536),K=o-p*65536,o=te+p+65535,p=Math.floor(o/65536),te=o-p*65536,o=re+p+65535,p=Math.floor(o/65536),re=o-p*65536,o=le+p+65535,p=Math.floor(o/65536),le=o-p*65536,o=fe+p+65535,p=Math.floor(o/65536),fe=o-p*65536,o=ne+p+65535,p=Math.floor(o/65536),ne=o-p*65536,o=ae+p+65535,p=Math.floor(o/65536),ae=o-p*65536,o=se+p+65535,p=Math.floor(o/65536),se=o-p*65536,o=$+p+65535,p=Math.floor(o/65536),$=o-p*65536,v+=p-1+37*(p-1),f[0]=v,f[1]=E,f[2]=O,f[3]=M,f[4]=Y,f[5]=q,f[6]=Ce,f[7]=K,f[8]=te,f[9]=re,f[10]=le,f[11]=fe,f[12]=ne,f[13]=ae,f[14]=se,f[15]=$}function oe(f,h){L(f,h,h)}function Ie(f,h){var l=e(),o;for(o=0;o<16;o++)l[o]=h[o];for(o=253;o>=0;o--)oe(l,l),o!==2&&o!==4&&L(l,l,h);for(o=0;o<16;o++)f[o]=l[o]}function lt(f,h){var l=e(),o;for(o=0;o<16;o++)l[o]=h[o];for(o=250;o>=0;o--)oe(l,l),o!==1&&L(l,l,h);for(o=0;o<16;o++)f[o]=l[o]}function vt(f,h,l){var o=new Uint8Array(32),p=new Float64Array(80),v,E,O=e(),M=e(),Y=e(),q=e(),Ce=e(),K=e();for(E=0;E<31;E++)o[E]=h[E];for(o[31]=h[31]&127|64,o[0]&=248,we(p,l),E=0;E<16;E++)M[E]=p[E],q[E]=O[E]=Y[E]=0;for(O[0]=q[0]=1,E=254;E>=0;--E)v=o[E>>>3]>>>(E&7)&1,Ve(O,M,v),Ve(Y,q,v),P(Ce,O,Y),B(O,O,Y),P(Y,M,q),B(M,M,q),oe(q,Ce),oe(K,O),L(O,Y,O),L(Y,M,Ce),P(Ce,O,Y),B(O,O,Y),oe(M,O),B(Y,q,K),L(O,Y,c),P(O,O,q),L(Y,Y,O),L(O,q,K),L(q,M,p),oe(M,Ce),Ve(O,M,v),Ve(Y,q,v);for(E=0;E<16;E++)p[E+16]=O[E],p[E+32]=Y[E],p[E+48]=M[E],p[E+64]=q[E];var te=p.subarray(32),re=p.subarray(16);return Ie(te,te),L(re,re,te),Pe(f,re),0}function Et(f,h){return vt(f,h,s)}function wt(f,h){return t(h,32),Et(f,h)}function ir(f,h,l){var o=new Uint8Array(32);return vt(o,l,h),R(f,n,o,ee)}var br=ve,Wr=He;function xr(f,h,l,o,p,v){var E=new Uint8Array(32);return ir(E,p,v),br(f,h,l,o,E)}function gn(f,h,l,o,p,v){var E=new Uint8Array(32);return ir(E,p,v),Wr(f,h,l,o,E)}var Ls=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function ef(f,h,l,o){for(var p=new Int32Array(16),v=new Int32Array(16),E,O,M,Y,q,Ce,K,te,re,le,fe,ne,ae,se,$,X,H,z,G,U,b,x,I,C,k,D,Q=f[0],he=f[1],pe=f[2],de=f[3],_=f[4],ye=f[5],Oe=f[6],ke=f[7],me=h[0],be=h[1],xe=h[2],Xe=h[3],Ae=h[4],$e=h[5],ze=h[6],Ge=h[7],et=0;o>=128;){for(G=0;G<16;G++)U=8*G+et,p[G]=l[U+0]<<24|l[U+1]<<16|l[U+2]<<8|l[U+3],v[G]=l[U+4]<<24|l[U+5]<<16|l[U+6]<<8|l[U+7];for(G=0;G<80;G++)if(E=Q,O=he,M=pe,Y=de,q=_,Ce=ye,K=Oe,te=ke,re=me,le=be,fe=xe,ne=Xe,ae=Ae,se=$e,$=ze,X=Ge,b=ke,x=Ge,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=(_>>>14|Ae<<18)^(_>>>18|Ae<<14)^(Ae>>>9|_<<23),x=(Ae>>>14|_<<18)^(Ae>>>18|_<<14)^(_>>>9|Ae<<23),I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,b=_&ye^~_&Oe,x=Ae&$e^~Ae&ze,I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,b=Ls[G*2],x=Ls[G*2+1],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,b=p[G%16],x=v[G%16],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,H=k&65535|D<<16,z=I&65535|C<<16,b=H,x=z,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=(Q>>>28|me<<4)^(me>>>2|Q<<30)^(me>>>7|Q<<25),x=(me>>>28|Q<<4)^(Q>>>2|me<<30)^(Q>>>7|me<<25),I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,b=Q&he^Q&pe^he&pe,x=me&be^me&xe^be&xe,I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,te=k&65535|D<<16,X=I&65535|C<<16,b=Y,x=ne,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=H,x=z,I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,Y=k&65535|D<<16,ne=I&65535|C<<16,he=E,pe=O,de=M,_=Y,ye=q,Oe=Ce,ke=K,Q=te,be=re,xe=le,Xe=fe,Ae=ne,$e=ae,ze=se,Ge=$,me=X,G%16===15)for(U=0;U<16;U++)b=p[U],x=v[U],I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=p[(U+9)%16],x=v[(U+9)%16],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,H=p[(U+1)%16],z=v[(U+1)%16],b=(H>>>1|z<<31)^(H>>>8|z<<24)^H>>>7,x=(z>>>1|H<<31)^(z>>>8|H<<24)^(z>>>7|H<<25),I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,H=p[(U+14)%16],z=v[(U+14)%16],b=(H>>>19|z<<13)^(z>>>29|H<<3)^H>>>6,x=(z>>>19|H<<13)^(H>>>29|z<<3)^(z>>>6|H<<26),I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,p[U]=k&65535|D<<16,v[U]=I&65535|C<<16;b=Q,x=me,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=f[0],x=h[0],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,f[0]=Q=k&65535|D<<16,h[0]=me=I&65535|C<<16,b=he,x=be,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=f[1],x=h[1],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,f[1]=he=k&65535|D<<16,h[1]=be=I&65535|C<<16,b=pe,x=xe,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=f[2],x=h[2],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,f[2]=pe=k&65535|D<<16,h[2]=xe=I&65535|C<<16,b=de,x=Xe,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=f[3],x=h[3],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,f[3]=de=k&65535|D<<16,h[3]=Xe=I&65535|C<<16,b=_,x=Ae,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=f[4],x=h[4],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,f[4]=_=k&65535|D<<16,h[4]=Ae=I&65535|C<<16,b=ye,x=$e,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=f[5],x=h[5],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,f[5]=ye=k&65535|D<<16,h[5]=$e=I&65535|C<<16,b=Oe,x=ze,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=f[6],x=h[6],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,f[6]=Oe=k&65535|D<<16,h[6]=ze=I&65535|C<<16,b=ke,x=Ge,I=x&65535,C=x>>>16,k=b&65535,D=b>>>16,b=f[7],x=h[7],I+=x&65535,C+=x>>>16,k+=b&65535,D+=b>>>16,C+=I>>>16,k+=C>>>16,D+=k>>>16,f[7]=ke=k&65535|D<<16,h[7]=Ge=I&65535|C<<16,et+=128,o-=128}return o}function Hr(f,h,l){var o=new Int32Array(8),p=new Int32Array(8),v=new Uint8Array(256),E,O=l;for(o[0]=1779033703,o[1]=3144134277,o[2]=1013904242,o[3]=2773480762,o[4]=1359893119,o[5]=2600822924,o[6]=528734635,o[7]=1541459225,p[0]=4089235720,p[1]=2227873595,p[2]=4271175723,p[3]=1595750129,p[4]=2917565137,p[5]=725511199,p[6]=4215389547,p[7]=327033209,ef(o,p,h,l),l%=128,E=0;E<l;E++)v[E]=h[O-l+E];for(v[l]=128,l=256-128*(l<112?1:0),v[l-9]=0,w(v,l-8,O/536870912|0,O<<3),ef(o,p,v,l),E=0;E<8;E++)w(f,8*E,o[E],p[E]);return 0}function Ns(f,h){var l=e(),o=e(),p=e(),v=e(),E=e(),O=e(),M=e(),Y=e(),q=e();B(l,f[1],f[0]),B(q,h[1],h[0]),L(l,l,q),P(o,f[0],f[1]),P(q,h[0],h[1]),L(o,o,q),L(p,f[3],h[3]),L(p,p,d),L(v,f[2],h[2]),P(v,v,v),B(E,o,l),B(O,v,p),P(M,v,p),P(Y,o,l),L(f[0],E,O),L(f[1],Y,M),L(f[2],M,O),L(f[3],E,Y)}function tf(f,h,l){var o;for(o=0;o<4;o++)Ve(f[o],h[o],l)}function _o(f,h){var l=e(),o=e(),p=e();Ie(p,h[2]),L(l,h[0],p),L(o,h[1],p),Pe(f,o),f[31]^=W(l)<<7}function yo(f,h,l){var o,p;for(Fe(f[0],i),Fe(f[1],a),Fe(f[2],a),Fe(f[3],i),p=255;p>=0;--p)o=l[p/8|0]>>(p&7)&1,tf(f,h,o),Ns(h,f),Ns(f,f),tf(f,h,o)}function Ds(f,h){var l=[e(),e(),e(),e()];Fe(l[0],g),Fe(l[1],m),Fe(l[2],a),L(l[3],g,m),yo(f,l,h)}function vo(f,h,l){var o=new Uint8Array(64),p=[e(),e(),e(),e()],v;for(l||t(h,32),Hr(o,h,32),o[0]&=248,o[31]&=127,o[31]|=64,Ds(p,o),_o(f,p),v=0;v<32;v++)h[v+32]=f[v];return 0}var Fs=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function Eo(f,h){var l,o,p,v;for(o=63;o>=32;--o){for(l=0,p=o-32,v=o-12;p<v;++p)h[p]+=l-16*h[o]*Fs[p-(o-32)],l=Math.floor((h[p]+128)/256),h[p]-=l*256;h[p]+=l,h[o]=0}for(l=0,p=0;p<32;p++)h[p]+=l-(h[31]>>4)*Fs[p],l=h[p]>>8,h[p]&=255;for(p=0;p<32;p++)h[p]-=l*Fs[p];for(o=0;o<32;o++)h[o+1]+=h[o]>>8,f[o]=h[o]&255}function wo(f){var h=new Float64Array(64),l;for(l=0;l<64;l++)h[l]=f[l];for(l=0;l<64;l++)f[l]=0;Eo(f,h)}function rf(f,h,l,o){var p=new Uint8Array(64),v=new Uint8Array(64),E=new Uint8Array(64),O,M,Y=new Float64Array(64),q=[e(),e(),e(),e()];Hr(p,o,32),p[0]&=248,p[31]&=127,p[31]|=64;var Ce=l+64;for(O=0;O<l;O++)f[64+O]=h[O];for(O=0;O<32;O++)f[32+O]=p[32+O];for(Hr(E,f.subarray(32),l+32),wo(E),Ds(q,E),_o(f,q),O=32;O<64;O++)f[O]=o[O];for(Hr(v,f,l+64),wo(v),O=0;O<64;O++)Y[O]=0;for(O=0;O<32;O++)Y[O]=E[O];for(O=0;O<32;O++)for(M=0;M<32;M++)Y[O+M]+=v[O]*p[M];return Eo(f.subarray(32),Y),Ce}function Ud(f,h){var l=e(),o=e(),p=e(),v=e(),E=e(),O=e(),M=e();return Fe(f[2],a),we(f[1],h),oe(p,f[1]),L(v,p,u),B(p,p,f[2]),P(v,f[2],v),oe(E,v),oe(O,E),L(M,O,E),L(l,M,p),L(l,l,v),lt(l,l),L(l,l,p),L(l,l,v),L(l,l,v),L(f[0],l,v),oe(o,f[0]),L(o,o,v),tt(o,p)&&L(f[0],f[0],y),oe(o,f[0]),L(o,o,v),tt(o,p)?-1:(W(f[0])===h[31]>>7&&B(f[0],i,f[0]),L(f[3],f[0],f[1]),0)}function bo(f,h,l,o){var p,v=new Uint8Array(32),E=new Uint8Array(64),O=[e(),e(),e(),e()],M=[e(),e(),e(),e()];if(l<64||Ud(M,o))return-1;for(p=0;p<l;p++)f[p]=h[p];for(p=0;p<32;p++)f[p+32]=o[p];if(Hr(E,f,l),wo(E),yo(O,M,E),Ds(M,h.subarray(32)),Ns(O,M),_o(v,O),l-=64,V(h,0,v,0)){for(p=0;p<l;p++)f[p]=0;return-1}for(p=0;p<l;p++)f[p]=h[p+64];return l}var xo=32,Ms=24,Gn=32,mn=16,Yn=32,Bs=32,Xn=32,Jn=32,So=32,nf=Ms,qd=Gn,Wd=mn,or=64,Vr=32,_n=64,To=32,Co=64;r.lowlevel={crypto_core_hsalsa20:R,crypto_stream_xor:ie,crypto_stream:ce,crypto_stream_salsa20_xor:j,crypto_stream_salsa20:Z,crypto_onetimeauth:Ye,crypto_onetimeauth_verify:Je,crypto_verify_16:T,crypto_verify_32:V,crypto_secretbox:ve,crypto_secretbox_open:He,crypto_scalarmult:vt,crypto_scalarmult_base:Et,crypto_box_beforenm:ir,crypto_box_afternm:br,crypto_box:xr,crypto_box_open:gn,crypto_box_keypair:wt,crypto_hash:Hr,crypto_sign:rf,crypto_sign_keypair:vo,crypto_sign_open:bo,crypto_secretbox_KEYBYTES:xo,crypto_secretbox_NONCEBYTES:Ms,crypto_secretbox_ZEROBYTES:Gn,crypto_secretbox_BOXZEROBYTES:mn,crypto_scalarmult_BYTES:Yn,crypto_scalarmult_SCALARBYTES:Bs,crypto_box_PUBLICKEYBYTES:Xn,crypto_box_SECRETKEYBYTES:Jn,crypto_box_BEFORENMBYTES:So,crypto_box_NONCEBYTES:nf,crypto_box_ZEROBYTES:qd,crypto_box_BOXZEROBYTES:Wd,crypto_sign_BYTES:or,crypto_sign_PUBLICKEYBYTES:Vr,crypto_sign_SECRETKEYBYTES:_n,crypto_sign_SEEDBYTES:To,crypto_hash_BYTES:Co,gf:e,D:u,L:Fs,pack25519:Pe,unpack25519:we,M:L,A:P,S:oe,Z:B,pow2523:lt,add:Ns,set25519:Fe,modL:Eo,scalarmult:yo,scalarbase:Ds};function sf(f,h){if(f.length!==xo)throw new Error("bad key size");if(h.length!==Ms)throw new Error("bad nonce size")}function Hd(f,h){if(f.length!==Xn)throw new Error("bad public key size");if(h.length!==Jn)throw new Error("bad secret key size")}function bt(){for(var f=0;f<arguments.length;f++)if(!(arguments[f]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function of(f){for(var h=0;h<f.length;h++)f[h]=0}r.randomBytes=function(f){var h=new Uint8Array(f);return t(h,f),h},r.secretbox=function(f,h,l){bt(f,h,l),sf(l,h);for(var o=new Uint8Array(Gn+f.length),p=new Uint8Array(o.length),v=0;v<f.length;v++)o[v+Gn]=f[v];return ve(p,o,o.length,h,l),p.subarray(mn)},r.secretbox.open=function(f,h,l){bt(f,h,l),sf(l,h);for(var o=new Uint8Array(mn+f.length),p=new Uint8Array(o.length),v=0;v<f.length;v++)o[v+mn]=f[v];return o.length<32||He(p,o,o.length,h,l)!==0?null:p.subarray(Gn)},r.secretbox.keyLength=xo,r.secretbox.nonceLength=Ms,r.secretbox.overheadLength=mn,r.scalarMult=function(f,h){if(bt(f,h),f.length!==Bs)throw new Error("bad n size");if(h.length!==Yn)throw new Error("bad p size");var l=new Uint8Array(Yn);return vt(l,f,h),l},r.scalarMult.base=function(f){if(bt(f),f.length!==Bs)throw new Error("bad n size");var h=new Uint8Array(Yn);return Et(h,f),h},r.scalarMult.scalarLength=Bs,r.scalarMult.groupElementLength=Yn,r.box=function(f,h,l,o){var p=r.box.before(l,o);return r.secretbox(f,h,p)},r.box.before=function(f,h){bt(f,h),Hd(f,h);var l=new Uint8Array(So);return ir(l,f,h),l},r.box.after=r.secretbox,r.box.open=function(f,h,l,o){var p=r.box.before(l,o);return r.secretbox.open(f,h,p)},r.box.open.after=r.secretbox.open,r.box.keyPair=function(){var f=new Uint8Array(Xn),h=new Uint8Array(Jn);return wt(f,h),{publicKey:f,secretKey:h}},r.box.keyPair.fromSecretKey=function(f){if(bt(f),f.length!==Jn)throw new Error("bad secret key size");var h=new Uint8Array(Xn);return Et(h,f),{publicKey:h,secretKey:new Uint8Array(f)}},r.box.publicKeyLength=Xn,r.box.secretKeyLength=Jn,r.box.sharedKeyLength=So,r.box.nonceLength=nf,r.box.overheadLength=r.secretbox.overheadLength,r.sign=function(f,h){if(bt(f,h),h.length!==_n)throw new Error("bad secret key size");var l=new Uint8Array(or+f.length);return rf(l,f,f.length,h),l},r.sign.open=function(f,h){if(bt(f,h),h.length!==Vr)throw new Error("bad public key size");var l=new Uint8Array(f.length),o=bo(l,f,f.length,h);if(o<0)return null;for(var p=new Uint8Array(o),v=0;v<p.length;v++)p[v]=l[v];return p},r.sign.detached=function(f,h){for(var l=r.sign(f,h),o=new Uint8Array(or),p=0;p<o.length;p++)o[p]=l[p];return o},r.sign.detached.verify=function(f,h,l){if(bt(f,h,l),h.length!==or)throw new Error("bad signature size");if(l.length!==Vr)throw new Error("bad public key size");var o=new Uint8Array(or+f.length),p=new Uint8Array(or+f.length),v;for(v=0;v<or;v++)o[v]=h[v];for(v=0;v<f.length;v++)o[v+or]=f[v];return bo(p,o,o.length,l)>=0},r.sign.keyPair=function(){var f=new Uint8Array(Vr),h=new Uint8Array(_n);return vo(f,h),{publicKey:f,secretKey:h}},r.sign.keyPair.fromSecretKey=function(f){if(bt(f),f.length!==_n)throw new Error("bad secret key size");for(var h=new Uint8Array(Vr),l=0;l<h.length;l++)h[l]=f[32+l];return{publicKey:h,secretKey:new Uint8Array(f)}},r.sign.keyPair.fromSeed=function(f){if(bt(f),f.length!==To)throw new Error("bad seed size");for(var h=new Uint8Array(Vr),l=new Uint8Array(_n),o=0;o<32;o++)l[o]=f[o];return vo(h,l,!0),{publicKey:h,secretKey:l}},r.sign.publicKeyLength=Vr,r.sign.secretKeyLength=_n,r.sign.seedLength=To,r.sign.signatureLength=or,r.hash=function(f){bt(f);var h=new Uint8Array(Co);return Hr(h,f,f.length),h},r.hash.hashLength=Co,r.verify=function(f,h){return bt(f,h),f.length===0||h.length===0||f.length!==h.length?!1:S(f,0,h,0,f.length)===0},r.setPRNG=function(f){t=f},(function(){var f=typeof self<"u"?self.crypto||self.msCrypto:null;if(f&&f.getRandomValues){var h=65536;r.setPRNG(function(l,o){var p,v=new Uint8Array(o);for(p=0;p<o;p+=h)f.getRandomValues(v.subarray(p,p+Math.min(o-p,h)));for(p=0;p<o;p++)l[p]=v[p];of(v)})}else typeof require<"u"&&(f=require("crypto"),f&&f.randomBytes&&r.setPRNG(function(l,o){var p,v=f.randomBytes(o);for(p=0;p<o;p++)l[p]=v[p];of(v)}))})()})(typeof Xs<"u"&&Xs.exports?Xs.exports:self.nacl=self.nacl||{})});var Io=F((Cf,Js)=>{(function(r,e){"use strict";typeof Js<"u"&&Js.exports?Js.exports=e():(r.nacl||(r.nacl={}),r.nacl.util=e())})(Cf,function(){"use strict";var r={};function e(t){if(!/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/.test(t))throw new TypeError("invalid encoding")}return r.decodeUTF8=function(t){if(typeof t!="string")throw new TypeError("expected string");var n,s=unescape(encodeURIComponent(t)),i=new Uint8Array(s.length);for(n=0;n<s.length;n++)i[n]=s.charCodeAt(n);return i},r.encodeUTF8=function(t){var n,s=[];for(n=0;n<t.length;n++)s.push(String.fromCharCode(t[n]));return decodeURIComponent(escape(s.join("")))},typeof atob>"u"?typeof Buffer.from<"u"?(r.encodeBase64=function(t){return Buffer.from(t).toString("base64")},r.decodeBase64=function(t){return e(t),new Uint8Array(Array.prototype.slice.call(Buffer.from(t,"base64"),0))}):(r.encodeBase64=function(t){return new Buffer(t).toString("base64")},r.decodeBase64=function(t){return e(t),new Uint8Array(Array.prototype.slice.call(new Buffer(t,"base64"),0))}):(r.encodeBase64=function(t){var n,s=[],i=t.length;for(n=0;n<i;n++)s.push(String.fromCharCode(t[n]));return btoa(s.join(""))},r.decodeBase64=function(t){e(t);var n,s=atob(t),i=new Uint8Array(s.length);for(n=0;n<s.length;n++)i[n]=s.charCodeAt(n);return i}),r})});var Of=F(Cr=>{"use strict";var lp=Cr&&Cr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Cr,"__esModule",{value:!0});Cr.encrypt=hp;Cr.decrypt=dp;Cr.encryptBinary=pp;Cr.decryptBinary=gp;var fr=lp(Ao()),Tr=Io();function hp(r,e,t){let n=fr.default.randomBytes(fr.default.secretbox.nonceLength),s=new TextEncoder().encode(r),i=fr.default.secretbox(s,n,e);return{v:1,sid:t,n:(0,Tr.encodeBase64)(n),c:(0,Tr.encodeBase64)(i)}}function dp(r,e){if(r.v!==1)throw new Error(`Unsupported encryption version: ${r.v}`);let t=(0,Tr.decodeBase64)(r.n),n=(0,Tr.decodeBase64)(r.c);if(t.length!==fr.default.secretbox.nonceLength)throw new Error(`Invalid nonce length: ${t.length}`);let s=fr.default.secretbox.open(n,t,e);if(!s)throw new Error("Decryption failed: invalid ciphertext or wrong key");return new TextDecoder().decode(s)}function pp(r,e,t){let n=fr.default.randomBytes(fr.default.secretbox.nonceLength),s=fr.default.secretbox(r,n,e);return{v:1,sid:t,n:(0,Tr.encodeBase64)(n),c:(0,Tr.encodeBase64)(s)}}function gp(r,e){if(r.v!==1)throw new Error(`Unsupported encryption version: ${r.v}`);let t=(0,Tr.decodeBase64)(r.n),n=(0,Tr.decodeBase64)(r.c),s=fr.default.secretbox.open(n,t,e);if(!s)throw new Error("Decryption failed: invalid ciphertext or wrong key");return s}});var kf=F($t=>{"use strict";var mp=$t&&$t.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty($t,"__esModule",{value:!0});$t.generateKeyPair=_p;$t.deriveSharedSecret=yp;$t.isValidPublicKey=vp;$t.clearKey=Ep;$t.keyToBase64=wp;$t.base64ToKey=bp;var ts=mp(Ao()),Kr=Io();function _p(){let r=ts.default.box.keyPair();return{publicKey:(0,Kr.encodeBase64)(r.publicKey),secretKey:(0,Kr.encodeBase64)(r.secretKey)}}function yp(r,e){let t=(0,Kr.decodeBase64)(r),n=(0,Kr.decodeBase64)(e);if(t.length!==ts.default.box.publicKeyLength)throw new Error(`Invalid public key length: ${t.length}`);if(n.length!==ts.default.box.secretKeyLength)throw new Error(`Invalid secret key length: ${n.length}`);return ts.default.box.before(t,n)}function vp(r){try{return(0,Kr.decodeBase64)(r).length===ts.default.box.publicKeyLength}catch{return!1}}function Ep(r){r.fill(0)}function wp(r){return(0,Kr.encodeBase64)(r)}function bp(r){return(0,Kr.decodeBase64)(r)}});var Pf=F(Me=>{"use strict";Object.defineProperty(Me,"__esModule",{value:!0});Me.base64ToKey=Me.keyToBase64=Me.clearKey=Me.isValidPublicKey=Me.deriveSharedSecret=Me.generateKeyPair=Me.decryptBinary=Me.encryptBinary=Me.decrypt=Me.encrypt=Me.isMultiRecipientPayload=Me.isEncryptedPayload=void 0;var Rf=Tf();Object.defineProperty(Me,"isEncryptedPayload",{enumerable:!0,get:function(){return Rf.isEncryptedPayload}});Object.defineProperty(Me,"isMultiRecipientPayload",{enumerable:!0,get:function(){return Rf.isMultiRecipientPayload}});var Zs=Of();Object.defineProperty(Me,"encrypt",{enumerable:!0,get:function(){return Zs.encrypt}});Object.defineProperty(Me,"decrypt",{enumerable:!0,get:function(){return Zs.decrypt}});Object.defineProperty(Me,"encryptBinary",{enumerable:!0,get:function(){return Zs.encryptBinary}});Object.defineProperty(Me,"decryptBinary",{enumerable:!0,get:function(){return Zs.decryptBinary}});var vn=kf();Object.defineProperty(Me,"generateKeyPair",{enumerable:!0,get:function(){return vn.generateKeyPair}});Object.defineProperty(Me,"deriveSharedSecret",{enumerable:!0,get:function(){return vn.deriveSharedSecret}});Object.defineProperty(Me,"isValidPublicKey",{enumerable:!0,get:function(){return vn.isValidPublicKey}});Object.defineProperty(Me,"clearKey",{enumerable:!0,get:function(){return vn.clearKey}});Object.defineProperty(Me,"keyToBase64",{enumerable:!0,get:function(){return vn.keyToBase64}});Object.defineProperty(Me,"base64ToKey",{enumerable:!0,get:function(){return vn.base64ToKey}})});var Af=F(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.MIN_CLIENT_VERSION=xt.PROTOCOL_VERSION_MINOR=xt.PROTOCOL_VERSION_MAJOR=xt.PROTOCOL_VERSION=void 0;xt.isCompatibleVersion=xp;xt.compareVersions=Sp;xt.PROTOCOL_VERSION="2.0";xt.PROTOCOL_VERSION_MAJOR=2;xt.PROTOCOL_VERSION_MINOR=0;xt.MIN_CLIENT_VERSION="2.0";function xp(r){let[e]=r.split(".").map(Number);return e===xt.PROTOCOL_VERSION_MAJOR}function Sp(r,e){let[t,n]=r.split(".").map(Number),[s,i]=e.split(".").map(Number);return t!==s?t<s?-1:1:n!==i?n<i?-1:1:0}});var If=F(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.SERVER_CAPABILITIES=zt.DEFAULT_CLIENT_CAPABILITIES=zt.Capability=void 0;zt.hasCapability=Tp;zt.negotiateCapabilities=Cp;var rs;(function(r){r.FILE_TRANSFER="file-transfer",r.RELIABLE_MESSAGING="reliable-messaging",r.COMPRESSION="compression",r.E2E_ENCRYPTION="e2e-encryption",r.PRIORITY_QUEUES="priority-queues",r.OFFLINE_QUEUE="offline-queue",r.MULTI_DEVICE="multi-device",r.TERMINAL_EVENTS="terminal-events",r.E2E_PRIVACY="e2e-privacy"})(rs||(zt.Capability=rs={}));zt.DEFAULT_CLIENT_CAPABILITIES=[rs.E2E_ENCRYPTION,rs.TERMINAL_EVENTS];zt.SERVER_CAPABILITIES=Object.values(rs);function Tp(r,e){return r.includes(e)}function Cp(r,e){return r.filter(t=>e.includes(t))}});var Lf=F(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.DEFAULT_PRIORITY=ur.PRIORITY_NAMES=ur.Priority=void 0;ur.comparePriority=Op;var $r;(function(r){r[r.CRITICAL=0]="CRITICAL",r[r.HIGH=1]="HIGH",r[r.NORMAL=2]="NORMAL",r[r.LOW=3]="LOW"})($r||(ur.Priority=$r={}));ur.PRIORITY_NAMES={[$r.CRITICAL]:"CRITICAL",[$r.HIGH]:"HIGH",[$r.NORMAL]:"NORMAL",[$r.LOW]:"LOW"};ur.DEFAULT_PRIORITY=$r.NORMAL;function Op(r,e){return r-e}});var Nf=F(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.DEFAULT_RELIABILITY=Gt.RELIABILITY_NAMES=Gt.Reliability=void 0;Gt.requiresAck=kp;Gt.requiresBuffer=Rp;var Or;(function(r){r[r.FIRE_FORGET=0]="FIRE_FORGET",r[r.BUFFERED=1]="BUFFERED",r[r.GUARANTEED=2]="GUARANTEED"})(Or||(Gt.Reliability=Or={}));Gt.RELIABILITY_NAMES={[Or.FIRE_FORGET]:"FIRE_FORGET",[Or.BUFFERED]:"BUFFERED",[Or.GUARANTEED]:"GUARANTEED"};Gt.DEFAULT_RELIABILITY=Or.FIRE_FORGET;function kp(r){return r===Or.GUARANTEED}function Rp(r){return r>=Or.BUFFERED}});var Df=F(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.createMessage=Pp;function Pp(r,e,t={}){return{id:crypto.randomUUID(),type:r,payload:e,priority:t.priority??2,reliability:t.reliability??0,seq:t.seq,timestamp:new Date().toISOString()}}});var Ff=F(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.TerminalEventType=void 0;zr.deriveStatusFromEvent=Ap;zr.shouldTriggerPushNotification=Ip;zr.getPushNotificationMessage=Lp;var ht;(function(r){r.SESSION_START="session_start",r.SESSION_END="session_end",r.MESSAGE="message",r.TOOL_START="tool_start",r.TOOL_END="tool_end",r.WAITING_INPUT="waiting_input",r.ERROR="error"})(ht||(zr.TerminalEventType=ht={}));function Ap(r){switch(r.type){case ht.SESSION_START:case ht.TOOL_START:case ht.MESSAGE:return"working";case ht.WAITING_INPUT:return"waiting";case ht.SESSION_END:return r.status==="success"?"completed":"error";case ht.ERROR:return r.severity==="fatal"?"error":"working";case ht.TOOL_END:return r.status==="error"?"error":"working";default:return"idle"}}function Ip(r){switch(r.type){case ht.WAITING_INPUT:return!0;case ht.SESSION_END:return!0;case ht.ERROR:return r.severity!=="warning";default:return!1}}function Lp(r,e){switch(r.type){case ht.WAITING_INPUT:return{title:`${e}: Input Required`,body:r.question.slice(0,100)};case ht.SESSION_END:{let t=r;return t.status==="success"?{title:`${e}: Task Completed`,body:t.summary||"Session finished successfully"}:{title:`${e}: Task Failed`,body:t.summary||"Session ended with error"}}case ht.ERROR:{let t=r;return t.severity==="warning"?null:{title:`${e}: Error`,body:t.message.slice(0,100)}}default:return null}}});var jf=F(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.TransferDirection=Ue.TransferStatus=Ue.CHUNK_TTL_SECONDS=Ue.TRANSFER_TTL_SECONDS=Ue.MAX_RETRIES=Ue.ACK_TIMEOUT_MS=Ue.WINDOW_SIZE=Ue.DEFAULT_MAX_FILE_SIZE=Ue.CHUNK_SIZE=void 0;Ue.calculateTotalChunks=Np;Ue.getMissingChunks=Dp;Ue.isTransferComplete=Fp;Ue.CHUNK_SIZE=64*1024;Ue.DEFAULT_MAX_FILE_SIZE=100*1024*1024;Ue.WINDOW_SIZE=10;Ue.ACK_TIMEOUT_MS=3e4;Ue.MAX_RETRIES=3;Ue.TRANSFER_TTL_SECONDS=1440*60;Ue.CHUNK_TTL_SECONDS=1440*60;var Mf;(function(r){r.PENDING="pending",r.ACTIVE="active",r.PAUSED="paused",r.COMPLETED="completed",r.FAILED="failed",r.CANCELLED="cancelled",r.EXPIRED="expired"})(Mf||(Ue.TransferStatus=Mf={}));var Bf;(function(r){r.DOWNLOAD="download",r.UPLOAD="upload"})(Bf||(Ue.TransferDirection=Bf={}));function Np(r,e=Ue.CHUNK_SIZE){return Math.ceil(r/e)}function Dp(r,e){let t=new Set(e),n=[];for(let s=0;s<r;s++)t.has(s)||n.push(s);return n}function Fp(r,e){return e.length===r}});var Uf=F(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.ERROR_MESSAGES=lr.ErrorCode=void 0;lr.createError=Mp;lr.isRetryableError=Bp;var Re;(function(r){r.AUTH_FAILED="E001",r.TOKEN_EXPIRED="E002",r.TOKEN_INVALID="E003",r.NOT_FOUND="E011",r.ALREADY_EXISTS="E012",r.ACCESS_DENIED="E021",r.FORBIDDEN="E022",r.RATE_LIMITED="E031",r.TOO_MANY_CONNECTIONS="E032",r.QUOTA_EXCEEDED="E041",r.FILE_TOO_LARGE="E042",r.QUEUE_FULL="E043",r.TRANSFERS_LIMIT="E044",r.TRANSFER_FAILED="E051",r.TRANSFER_EXPIRED="E052",r.TRANSFER_CANCELLED="E053",r.CHECKSUM_MISMATCH="E054",r.CHUNK_MISSING="E055",r.INVALID_MESSAGE="E061",r.UNSUPPORTED_VERSION="E062",r.CAPABILITY_REQUIRED="E063",r.INVALID_STATE="E071",r.TIMEOUT="E072",r.CONNECTION_LOST="E073",r.INTERNAL_ERROR="E091",r.SERVICE_UNAVAILABLE="E092"})(Re||(lr.ErrorCode=Re={}));lr.ERROR_MESSAGES={[Re.AUTH_FAILED]:"Authentication failed",[Re.TOKEN_EXPIRED]:"Token expired",[Re.TOKEN_INVALID]:"Invalid token",[Re.NOT_FOUND]:"Resource not found",[Re.ALREADY_EXISTS]:"Resource already exists",[Re.ACCESS_DENIED]:"Access denied",[Re.FORBIDDEN]:"Operation forbidden",[Re.RATE_LIMITED]:"Rate limit exceeded",[Re.TOO_MANY_CONNECTIONS]:"Too many connections",[Re.QUOTA_EXCEEDED]:"Plan quota exceeded",[Re.FILE_TOO_LARGE]:"File size exceeds limit",[Re.QUEUE_FULL]:"Message queue is full",[Re.TRANSFERS_LIMIT]:"Daily transfers limit reached",[Re.TRANSFER_FAILED]:"File transfer failed",[Re.TRANSFER_EXPIRED]:"Transfer expired",[Re.TRANSFER_CANCELLED]:"Transfer cancelled",[Re.CHECKSUM_MISMATCH]:"File checksum mismatch",[Re.CHUNK_MISSING]:"Chunk missing or corrupted",[Re.INVALID_MESSAGE]:"Invalid message format",[Re.UNSUPPORTED_VERSION]:"Unsupported protocol version",[Re.CAPABILITY_REQUIRED]:"Required capability not supported",[Re.INVALID_STATE]:"Invalid state for this operation",[Re.TIMEOUT]:"Operation timed out",[Re.CONNECTION_LOST]:"Connection lost",[Re.INTERNAL_ERROR]:"Internal server error",[Re.SERVICE_UNAVAILABLE]:"Service temporarily unavailable"};function Mp(r,e={}){return{code:r,message:e.message||lr.ERROR_MESSAGES[r],details:e.details,retryable:e.retryable??!1,retryAfter:e.retryAfter}}function Bp(r){return[Re.RATE_LIMITED,Re.TIMEOUT,Re.CONNECTION_LOST,Re.SERVICE_UNAVAILABLE].includes(r)}});var Vf=F(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.FileEntryType=St.DiffBase=St.FileViewType=St.FileChangeType=void 0;St.getLanguageFromPath=jp;St.parseUnifiedDiff=Up;St.createSimpleDiff=qp;var kr;(function(r){r.CREATE="create",r.MODIFY="modify",r.DELETE="delete"})(kr||(St.FileChangeType=kr={}));var qf;(function(r){r.CONTENT="content",r.DIFF="diff"})(qf||(St.FileViewType=qf={}));var Wf;(function(r){r.GIT="git",r.PREVIOUS="previous"})(Wf||(St.DiffBase=Wf={}));function jp(r){let e=r.split(".").pop()?.toLowerCase(),t={js:"javascript",jsx:"javascript",ts:"typescript",tsx:"typescript",mjs:"javascript",cjs:"javascript",html:"html",htm:"html",css:"css",scss:"scss",sass:"scss",less:"less",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",toml:"toml",md:"markdown",mdx:"markdown",env:"plaintext",gitignore:"plaintext",dockerignore:"plaintext",sh:"bash",bash:"bash",zsh:"bash",fish:"bash",py:"python",pyw:"python",pyi:"python",go:"go",rs:"rust",java:"java",kt:"kotlin",kts:"kotlin",c:"c",h:"c",cpp:"cpp",cc:"cpp",cxx:"cpp",hpp:"cpp",sql:"sql",graphql:"graphql",gql:"graphql",prisma:"prisma",dockerfile:"dockerfile"},n=r.split("/").pop()?.toLowerCase()||"";return{dockerfile:"dockerfile",makefile:"makefile",".gitignore":"plaintext",".env":"plaintext",".env.local":"plaintext",".env.development":"plaintext",".env.production":"plaintext"}[n]||t[e||""]||"plaintext"}function Up(r,e){let t=r.split(`
3
+ `),n=[],s=0,i=0,a=null,c=0,u=0;for(let g of t){if(g.startsWith("diff ")||g.startsWith("index ")||g.startsWith("---")||g.startsWith("+++"))continue;let m=g.match(/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@/);if(m){a&&n.push(a);let y=parseInt(m[1],10),w=parseInt(m[2]||"1",10),S=parseInt(m[3],10),T=parseInt(m[4]||"1",10);a={oldStart:y,oldLines:w,newStart:S,newLines:T,lines:[]},c=y,u=S;continue}a&&(g.startsWith("+")?(a.lines.push({type:"add",content:g.slice(1),oldLineNumber:null,newLineNumber:u++}),s++):g.startsWith("-")?(a.lines.push({type:"remove",content:g.slice(1),oldLineNumber:c++,newLineNumber:null}),i++):(g.startsWith(" ")||g==="")&&a.lines.push({type:"context",content:g.startsWith(" ")?g.slice(1):g,oldLineNumber:c++,newLineNumber:u++}))}a&&n.push(a);let d;return i===0&&s>0&&n.length===1&&n[0].oldLines===0?d=kr.CREATE:s===0&&i>0&&n.length===1&&n[0].newLines===0?d=kr.DELETE:d=kr.MODIFY,{path:e,changeType:d,hunks:n,additions:s,deletions:i,isBinary:!1}}function qp(r,e,t){let n=r.split(`
4
4
  `),s=e.split(`
5
- `),i=[],a=0,c=0,u=Math.max(n.length,s.length);for(let g=0;g<u;g++){let m=n[g],y=s[g];m===y?m!==void 0&&i.push({type:"context",content:m,oldLineNumber:g+1,newLineNumber:g+1}):(m!==void 0&&(i.push({type:"remove",content:m,oldLineNumber:g+1,newLineNumber:null}),c++),y!==void 0&&(i.push({type:"add",content:y,oldLineNumber:null,newLineNumber:g+1}),a++))}let d;return r===""?d=kr.CREATE:e===""?d=kr.DELETE:d=kr.MODIFY,{path:t,changeType:d,hunks:[{oldStart:1,oldLines:n.length,newStart:1,newLines:s.length,lines:i}],additions:a,deletions:c,isBinary:!1}}var Wf;(function(r){r.FILE="file",r.DIRECTORY="directory"})(Wf||(St.FileEntryType=Wf={}))});var Vf=F(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.createSimpleDiff=N.parseUnifiedDiff=N.getLanguageFromPath=N.FileEntryType=N.DiffBase=N.FileViewType=N.FileChangeType=N.isRetryableError=N.createError=N.ERROR_MESSAGES=N.ErrorCode=N.isTransferComplete=N.getMissingChunks=N.calculateTotalChunks=N.TransferDirection=N.TransferStatus=N.CHUNK_TTL_SECONDS=N.TRANSFER_TTL_SECONDS=N.MAX_RETRIES=N.ACK_TIMEOUT_MS=N.WINDOW_SIZE=N.DEFAULT_MAX_FILE_SIZE=N.CHUNK_SIZE=N.getPushNotificationMessage=N.shouldTriggerPushNotification=N.deriveStatusFromEvent=N.TerminalEventType=N.createMessage=N.requiresBuffer=N.requiresAck=N.DEFAULT_RELIABILITY=N.RELIABILITY_NAMES=N.Reliability=N.comparePriority=N.DEFAULT_PRIORITY=N.PRIORITY_NAMES=N.Priority=N.negotiateCapabilities=N.hasCapability=N.SERVER_CAPABILITIES=N.DEFAULT_CLIENT_CAPABILITIES=N.Capability=N.compareVersions=N.isCompatibleVersion=N.MIN_CLIENT_VERSION=N.PROTOCOL_VERSION_MINOR=N.PROTOCOL_VERSION_MAJOR=N.PROTOCOL_VERSION=void 0;var En=Pf();Object.defineProperty(N,"PROTOCOL_VERSION",{enumerable:!0,get:function(){return En.PROTOCOL_VERSION}});Object.defineProperty(N,"PROTOCOL_VERSION_MAJOR",{enumerable:!0,get:function(){return En.PROTOCOL_VERSION_MAJOR}});Object.defineProperty(N,"PROTOCOL_VERSION_MINOR",{enumerable:!0,get:function(){return En.PROTOCOL_VERSION_MINOR}});Object.defineProperty(N,"MIN_CLIENT_VERSION",{enumerable:!0,get:function(){return En.MIN_CLIENT_VERSION}});Object.defineProperty(N,"isCompatibleVersion",{enumerable:!0,get:function(){return En.isCompatibleVersion}});Object.defineProperty(N,"compareVersions",{enumerable:!0,get:function(){return En.compareVersions}});var ns=Af();Object.defineProperty(N,"Capability",{enumerable:!0,get:function(){return ns.Capability}});Object.defineProperty(N,"DEFAULT_CLIENT_CAPABILITIES",{enumerable:!0,get:function(){return ns.DEFAULT_CLIENT_CAPABILITIES}});Object.defineProperty(N,"SERVER_CAPABILITIES",{enumerable:!0,get:function(){return ns.SERVER_CAPABILITIES}});Object.defineProperty(N,"hasCapability",{enumerable:!0,get:function(){return ns.hasCapability}});Object.defineProperty(N,"negotiateCapabilities",{enumerable:!0,get:function(){return ns.negotiateCapabilities}});var Qs=If();Object.defineProperty(N,"Priority",{enumerable:!0,get:function(){return Qs.Priority}});Object.defineProperty(N,"PRIORITY_NAMES",{enumerable:!0,get:function(){return Qs.PRIORITY_NAMES}});Object.defineProperty(N,"DEFAULT_PRIORITY",{enumerable:!0,get:function(){return Qs.DEFAULT_PRIORITY}});Object.defineProperty(N,"comparePriority",{enumerable:!0,get:function(){return Qs.comparePriority}});var ss=Lf();Object.defineProperty(N,"Reliability",{enumerable:!0,get:function(){return ss.Reliability}});Object.defineProperty(N,"RELIABILITY_NAMES",{enumerable:!0,get:function(){return ss.RELIABILITY_NAMES}});Object.defineProperty(N,"DEFAULT_RELIABILITY",{enumerable:!0,get:function(){return ss.DEFAULT_RELIABILITY}});Object.defineProperty(N,"requiresAck",{enumerable:!0,get:function(){return ss.requiresAck}});Object.defineProperty(N,"requiresBuffer",{enumerable:!0,get:function(){return ss.requiresBuffer}});var jp=Nf();Object.defineProperty(N,"createMessage",{enumerable:!0,get:function(){return jp.createMessage}});var ei=Df();Object.defineProperty(N,"TerminalEventType",{enumerable:!0,get:function(){return ei.TerminalEventType}});Object.defineProperty(N,"deriveStatusFromEvent",{enumerable:!0,get:function(){return ei.deriveStatusFromEvent}});Object.defineProperty(N,"shouldTriggerPushNotification",{enumerable:!0,get:function(){return ei.shouldTriggerPushNotification}});Object.defineProperty(N,"getPushNotificationMessage",{enumerable:!0,get:function(){return ei.getPushNotificationMessage}});var kt=Bf();Object.defineProperty(N,"CHUNK_SIZE",{enumerable:!0,get:function(){return kt.CHUNK_SIZE}});Object.defineProperty(N,"DEFAULT_MAX_FILE_SIZE",{enumerable:!0,get:function(){return kt.DEFAULT_MAX_FILE_SIZE}});Object.defineProperty(N,"WINDOW_SIZE",{enumerable:!0,get:function(){return kt.WINDOW_SIZE}});Object.defineProperty(N,"ACK_TIMEOUT_MS",{enumerable:!0,get:function(){return kt.ACK_TIMEOUT_MS}});Object.defineProperty(N,"MAX_RETRIES",{enumerable:!0,get:function(){return kt.MAX_RETRIES}});Object.defineProperty(N,"TRANSFER_TTL_SECONDS",{enumerable:!0,get:function(){return kt.TRANSFER_TTL_SECONDS}});Object.defineProperty(N,"CHUNK_TTL_SECONDS",{enumerable:!0,get:function(){return kt.CHUNK_TTL_SECONDS}});Object.defineProperty(N,"TransferStatus",{enumerable:!0,get:function(){return kt.TransferStatus}});Object.defineProperty(N,"TransferDirection",{enumerable:!0,get:function(){return kt.TransferDirection}});Object.defineProperty(N,"calculateTotalChunks",{enumerable:!0,get:function(){return kt.calculateTotalChunks}});Object.defineProperty(N,"getMissingChunks",{enumerable:!0,get:function(){return kt.getMissingChunks}});Object.defineProperty(N,"isTransferComplete",{enumerable:!0,get:function(){return kt.isTransferComplete}});var ti=jf();Object.defineProperty(N,"ErrorCode",{enumerable:!0,get:function(){return ti.ErrorCode}});Object.defineProperty(N,"ERROR_MESSAGES",{enumerable:!0,get:function(){return ti.ERROR_MESSAGES}});Object.defineProperty(N,"createError",{enumerable:!0,get:function(){return ti.createError}});Object.defineProperty(N,"isRetryableError",{enumerable:!0,get:function(){return ti.isRetryableError}});var Gr=Hf();Object.defineProperty(N,"FileChangeType",{enumerable:!0,get:function(){return Gr.FileChangeType}});Object.defineProperty(N,"FileViewType",{enumerable:!0,get:function(){return Gr.FileViewType}});Object.defineProperty(N,"DiffBase",{enumerable:!0,get:function(){return Gr.DiffBase}});Object.defineProperty(N,"FileEntryType",{enumerable:!0,get:function(){return Gr.FileEntryType}});Object.defineProperty(N,"getLanguageFromPath",{enumerable:!0,get:function(){return Gr.getLanguageFromPath}});Object.defineProperty(N,"parseUnifiedDiff",{enumerable:!0,get:function(){return Gr.parseUnifiedDiff}});Object.defineProperty(N,"createSimpleDiff",{enumerable:!0,get:function(){return Gr.createSimpleDiff}})});var Rr=F(Yt=>{"use strict";var Up=Yt&&Yt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),ri=Yt&&Yt.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Up(e,r,t)};Object.defineProperty(Yt,"__esModule",{value:!0});ri(bf(),Yt);ri(xf(),Yt);ri(Rf(),Yt);ri(Vf(),Yt)});var zf=F(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});ni.CryptoService=void 0;var ft=Rr(),qp=3600*1e3,Kf=10,No=class{storage;logger;sessions=new Map;agentSessions=new Map;keyPair=null;publicKeyKey;secretKeyKey;keyVersionKey;constructor(e,t,n,s){this.storage=e,this.logger=t;let i=`termiq.${n}.${s}`;this.publicKeyKey=`${i}.crypto.publicKey`,this.secretKeyKey=`${i}.crypto.secretKey`,this.keyVersionKey=`${i}.crypto.keyVersion`,this.logger.info("CryptoService namespace",n,s)}async initialize(){let e=await this.storage.get(this.publicKeyKey),t=await this.storage.get(this.secretKeyKey);e&&t?(this.keyPair={publicKey:e,secretKey:t},this.logger.info("Loaded existing identity key pair")):await this.generateIdentityKeyPair()}async generateIdentityKeyPair(){this.logger.info("Generating new identity key pair"),this.keyPair=(0,ft.generateKeyPair)(),await this.storage.set(this.publicKeyKey,this.keyPair.publicKey),await this.storage.set(this.secretKeyKey,this.keyPair.secretKey);let e=await this.getKeyVersion();return await this.storage.set(this.keyVersionKey,String(e+1)),this.logger.info("Identity key pair generated and stored"),this.keyPair}async getPublicKey(){return this.keyPair?this.keyPair.publicKey:await this.storage.get(this.publicKeyKey)||null}async getKeyVersion(){let e=await this.storage.get(this.keyVersionKey);return e?parseInt(e,10):1}async handleKeyExchange(e,t,n){if(!this.keyPair&&(this.logger.warn("Key pair missing, attempting re-initialization"),await this.initialize(),!this.keyPair))return this.logger.error("No identity key pair available after re-initialization"),!1;this.logger.info("Starting key exchange",e,n);try{let s=this.sessions.get(e);s||(s=new Map,this.sessions.set(e,s));let i=(0,ft.deriveSharedSecret)(t,this.keyPair.secretKey),a={terminalId:e,clientPublicKey:t,sharedSecret:i,createdAt:Date.now(),sessionId:n};return s.set(n,a),this.logger.info("Key exchange completed",e,n,"total:",s.size),!0}catch(s){return this.logger.error("Key exchange failed",s),!1}}encryptOutput(e,t){let n=this.sessions.get(e);if(!n||n.size===0)return null;try{if(n.size===1){let i=n.values().next().value;return i?(0,ft.encrypt)(t,i.sharedSecret,i.sessionId):null}let s=[];for(let i of n.values()){let a=(0,ft.encrypt)(t,i.sharedSecret,i.sessionId);s.push({sid:a.sid,n:a.n,c:a.c})}return{v:2,recipients:s}}catch(s){return this.logger.error("Encryption failed",s),null}}decryptInput(e,t){let n=this.sessions.get(e);if(!n)return this.logger.error("No sessions for terminal",e),null;let s=n.get(t.sid);if(!s)return this.logger.error("No session for sessionId",t.sid),null;try{return(0,ft.decrypt)(t,s.sharedSecret)}catch(i){return this.logger.error("Decryption failed",i),null}}hasSession(e){let t=this.sessions.get(e);return t!==void 0&&t.size>0}removeSession(e,t){let n=this.sessions.get(e);if(n)if(t){let s=n.get(t);s&&((0,ft.clearKey)(s.sharedSecret),n.delete(t),this.logger.info("Session removed",e,t)),n.size===0&&this.sessions.delete(e)}else{for(let s of n.values())(0,ft.clearKey)(s.sharedSecret);this.sessions.delete(e),this.logger.debug("All sessions removed for terminal",e)}}clearAllSessions(){for(let e of this.sessions.values())for(let t of e.values())(0,ft.clearKey)(t.sharedSecret);this.sessions.clear(),this.logger.debug("All sessions cleared")}cleanupStaleSessions(e){let t=this.sessions.get(e);if(!t||t.size===0)return;let n=Date.now(),s=[];for(let[i,a]of t)n-a.createdAt>qp&&s.push(i);for(let i of s){let a=t.get(i);a&&((0,ft.clearKey)(a.sharedSecret),t.delete(i))}if(t.size>Kf){let a=Array.from(t.entries()).sort((c,u)=>c[1].createdAt-u[1].createdAt).slice(0,t.size-Kf);for(let[,c]of a)(0,ft.clearKey)(c.sharedSecret),t.delete(c.sessionId)}t.size===0&&this.sessions.delete(e)}cleanupAllStaleSessions(){for(let e of this.sessions.keys())this.cleanupStaleSessions(e)}getSessionInfo(){let e=[];for(let[t,n]of this.sessions.entries())for(let s of n.values())e.push({terminalId:t,createdAt:s.createdAt,sessionId:s.sessionId});return e}async handleAgentKeyExchange(e,t){if(!this.keyPair&&(this.logger.warn("Key pair missing for agent key exchange"),await this.initialize(),!this.keyPair))return this.logger.error("No identity key pair available for agent key exchange"),!1;try{let n=this.agentSessions.get(t);n&&(this.logger.info("Rekeying existing agent session",t),(0,ft.clearKey)(n.sharedSecret));let s=(0,ft.deriveSharedSecret)(e,this.keyPair.secretKey),i={sessionId:t,clientPublicKey:e,sharedSecret:s,createdAt:Date.now()};return this.agentSessions.set(t,i),this.logger.info("Agent key exchange completed",t,"total:",this.agentSessions.size),!0}catch(n){return this.logger.error("Agent key exchange failed",n),!1}}removeAgentSession(e){let t=this.agentSessions.get(e);t&&((0,ft.clearKey)(t.sharedSecret),this.agentSessions.delete(e),this.logger.info("Agent session removed",e))}hasAgentSessions(){return this.agentSessions.size>0}encryptWorkspaceInfo(e){if(this.agentSessions.size===0)return null;let t=JSON.stringify(e),n=this.encryptForAllAgentSessions(t);return n?{encrypted:n}:null}encryptTerminalInfo(e){if(this.agentSessions.size===0)return null;let t=JSON.stringify(e),n=this.encryptForAllAgentSessions(t);return n?{encrypted:n}:null}encryptPromptInfo(e){if(this.agentSessions.size===0)return null;let t=JSON.stringify(e),n=this.encryptForAllAgentSessions(t);return n?{encrypted:n}:null}encryptForAllAgentSessions(e){if(this.agentSessions.size===0)return null;try{if(this.agentSessions.size===1){let n=this.agentSessions.values().next().value;return n?(0,ft.encrypt)(e,n.sharedSecret,n.sessionId):null}let t=[];for(let n of this.agentSessions.values()){let s=(0,ft.encrypt)(e,n.sharedSecret,n.sessionId);t.push({sid:s.sid,n:s.n,c:s.c})}return{v:2,recipients:t}}catch(t){return this.logger.error("Encryption for agent sessions failed",t),null}}clearAllAgentSessions(){for(let e of this.agentSessions.values())(0,ft.clearKey)(e.sharedSecret);this.agentSessions.clear(),this.logger.debug("All agent sessions cleared")}async deleteKeys(){await this.storage.delete(this.publicKeyKey),await this.storage.delete(this.secretKeyKey),await this.storage.delete(this.keyVersionKey),this.keyPair=null,this.clearAllSessions(),this.clearAllAgentSessions(),this.logger.info("All crypto keys deleted")}};ni.CryptoService=No});var $f=F(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});si.AuthService=void 0;var is=zs(),Do=class{storage;cryptoService;machineId;config;logger;notification;browser;pollingAbortController=null;tokenKey;refreshTokenKey;agentIdKey;constructor(e,t,n,s,i,a,c,u,d){this.storage=e,this.cryptoService=t,this.machineId=n,this.config=s,this.logger=i,this.notification=a,this.browser=c;let g=`termiq.${u}.${d}`;this.tokenKey=`${g}.accessToken`,this.refreshTokenKey=`${g}.refreshToken`,this.agentIdKey=`${g}.agentId`,this.logger.info("AuthService namespace",u,d)}cancelPolling(){this.pollingAbortController&&(this.logger.info("Cancelling active polling"),this.pollingAbortController.abort(),this.pollingAbortController=null)}async startDeviceCodeFlow(){this.cancelPolling();let e=(0,is.getApiUrl)(this.config),t=await this.machineId.getMachineId(),n=this.machineId.getMachineName(),s=await this.cryptoService.getPublicKey();s||(await this.cryptoService.generateIdentityKeyPair(),s=await this.cryptoService.getPublicKey()),this.logger.info("Starting device code flow",t,n);let i=await fetch(`${e}/auth/device/code`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({machineId:t,machineName:n,publicKey:s})});if(!i.ok){let a=await i.text();throw new Error(`Failed to get device code: ${a}`)}return i.json()}async pollForToken(e){this.cancelPolling();let t=(0,is.getApiUrl)(this.config),n=5e3,s=60;this.pollingAbortController=new AbortController;let i=this.pollingAbortController.signal;this.logger.info("Starting token polling");for(let a=0;a<s;a++){if(i.aborted)return this.logger.info("Polling was cancelled"),null;if(await this.sleep(n),i.aborted)return this.logger.info("Polling was cancelled"),null;try{let c=await fetch(`${t}/auth/device/poll`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:e}),signal:i});if(!c.ok){if(c.status===403)try{let d=await c.json();if(d.error==="AGENT_LIMIT_EXCEEDED")return this.logger.warn("Agent limit exceeded",String(d.current),"/",String(d.max)),this.notification.warn(`Agent limit reached (${d.current}/${d.max}). Upgrade your plan to add more devices.`),null}catch{}this.logger.warn("Poll request failed",String(c.status));continue}let u=await c.json();if(u.status==="success"&&u.accessToken)return this.logger.info("Token received successfully"),this.pollingAbortController=null,await this.saveTokens(u),u;if(u.status==="expired")return this.logger.warn("Device code expired"),null;if(u.status==="limit_exceeded")return this.logger.warn("Agent limit exceeded",String(u.current),"/",String(u.max)),this.notification.warn(`Agent limit reached (${u.current}/${u.max}). Remove an old agent or upgrade your plan.`),null;this.logger.debug("Token pending, continuing poll",String(a))}catch(c){if(i.aborted)return this.logger.info("Polling was cancelled"),null;let u=c instanceof Error?c.message:String(c);this.logger.warn(`Poll error: ${u}`)}}return this.logger.warn("Polling timed out"),this.pollingAbortController=null,null}async loginWithApiKey(e){let t=(0,is.getApiUrl)(this.config),n=await this.machineId.getMachineId(),s=this.machineId.getMachineName(),i=await this.cryptoService.getPublicKey();i||(await this.cryptoService.generateIdentityKeyPair(),i=await this.cryptoService.getPublicKey()),this.logger.info("Logging in with API key");try{let a=await fetch(`${t}/auth/api-key/login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:e,machineId:n,machineName:s,publicKey:i})});if(!a.ok){let u=await a.text();return this.logger.error("API key login failed",u),!1}let c=await a.json();return c.accessToken?(await this.saveTokens(c),this.logger.info("API key login successful"),!0):!1}catch(a){return this.logger.error("API key login error",a),!1}}async hasValidToken(){let e=await this.storage.get(this.tokenKey);if(!e)return!1;try{let n=JSON.parse(Buffer.from(e.split(".")[1],"base64").toString()).exp*1e3;return Date.now()<n}catch{return!1}}async getAccessToken(){return await this.storage.get(this.tokenKey)||null}async getAgentId(){return await this.storage.get(this.agentIdKey)||null}async refreshAccessToken(){let e=await this.storage.get(this.refreshTokenKey);if(!e)return this.logger.debug("No refresh token available"),null;let t=(0,is.getApiUrl)(this.config);try{this.logger.info("Refreshing access token");let n=await fetch(`${t}/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:e})});if(!n.ok)return this.logger.warn("Token refresh failed",String(n.status)),n.status===401&&await this.storage.delete(this.refreshTokenKey),null;let s=await n.json();return await this.storage.set(this.tokenKey,s.accessToken),await this.storage.set(this.refreshTokenKey,s.refreshToken),this.logger.info("Access token refreshed successfully"),s.accessToken}catch(n){return this.logger.warn("Token refresh error",n),null}}async logout(){this.logger.info("Logging out"),this.cancelPolling(),await this.storage.delete(this.tokenKey),await this.storage.delete(this.refreshTokenKey),await this.storage.delete(this.agentIdKey),await this.cryptoService.deleteKeys()}async saveTokens(e){e.accessToken&&await this.storage.set(this.tokenKey,e.accessToken),e.refreshToken&&await this.storage.set(this.refreshTokenKey,e.refreshToken),e.agentId&&await this.storage.set(this.agentIdKey,e.agentId)}async getLimits(){let e=await this.getAccessToken();if(!e)return this.logger.warn("Cannot fetch limits: no access token"),null;let t=(0,is.getApiUrl)(this.config);try{let n=await fetch(`${t}/users/me/limits`,{headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"}});return n.ok?await n.json():(this.logger.error("Failed to fetch limits",String(n.status)),null)}catch(n){let s=n instanceof Error?n.message:String(n);return this.logger.error(`Error fetching limits: ${s}`),null}}async openUrl(e){await this.browser.openUrl(e)}async canCreateTerminal(){let e=await this.getLimits();return e?e.terminals.unlimited?{allowed:!0,limits:e}:e.terminals.current>=e.terminals.max?{allowed:!1,reason:`Terminal limit reached (${e.terminals.current}/${e.terminals.max}). Upgrade your plan to create more terminals.`,limits:e}:{allowed:!0,limits:e}:{allowed:!0}}sleep(e){return new Promise(t=>setTimeout(t,e))}};si.AuthService=Do});var Gf=F(oi=>{"use strict";Object.defineProperty(oi,"__esModule",{value:!0});oi.StatusDetector=void 0;var ii={working:[/✶/,/⠋|⠙|⠹|⠸|⠼|⠴|⠦|⠧|⠇|⠏/],idle:[/[❯$#>]\s*$/,/^\s*\d+\s*[❯$#>]\s*$/,/\(base\)\s*[❯$#>]\s*$/,/\)\s*[❯$#>]\s*$/],waiting:[/\[Y\/n\]/i,/\[y\/N\]/i,/\(y\/n\)/i,/\(yes\/no\)/i,/Continue\?/i,/Proceed\?/i,/Are you sure\?/i,/Confirm\?/i,/Press Enter to continue/i,/Press any key/i,/\[Enter\]/i,/Do you want to/i,/Would you like to/i,/Shall I/i,/^\s*\d+[.)]\s+.+$/m,/Select.*:/i,/Choose.*:/i,/Which.*\?/i,/Какой вариант/i,/Выберите/i],completed:[/✓\s*(Done|Complete|Success|Finished)/i,/\[done\]/i,/\[success\]/i,/completed successfully/i,/Build succeeded/i,/All tests passed/i],error:[/✕\s*(Error|Failed|Failure)/i,/\[error\]/i,/\[failed\]/i,/Error:/i,/Exception:/i,/FATAL:/i,/Build failed/i,/Tests failed/i,/command not found/i,/Permission denied/i,/No such file or directory/i]},os={IDLE_TIMEOUT_MS:5e3,DEBOUNCE_MS:500,BUFFER_SIZE:2e3,WORKING_TIMEOUT_MS:3e4},Fo=class{states=new Map;onStatusChange;constructor(e){this.onStatusChange=e}startTracking(e){if(this.states.has(e))return;let t={status:"idle",lastUpdate:Date.now(),lastOutput:Date.now(),outputBuffer:"",pendingUpdate:null,workingTimeout:null};this.states.set(e,t),this.emitStatus(e,"idle")}stopTracking(e){let t=this.states.get(e);t&&(t.pendingUpdate&&clearTimeout(t.pendingUpdate),t.workingTimeout&&clearTimeout(t.workingTimeout)),this.states.delete(e)}processOutput(e,t){let n=this.states.get(e);if(!n)return;n.lastOutput=Date.now(),n.outputBuffer+=t,n.outputBuffer.length>os.BUFFER_SIZE&&(n.outputBuffer=n.outputBuffer.slice(-os.BUFFER_SIZE));let s=this.analyzeOutput(n.outputBuffer);s&&this.scheduleStatusUpdate(e,s),this.resetWorkingTimeout(e,n)}onCommandStart(e){let t=this.states.get(e);t&&(t.outputBuffer="",this.scheduleStatusUpdate(e,"working"),this.resetWorkingTimeout(e,t))}onCommandEnd(e,t){let n=this.states.get(e);if(!n)return;n.workingTimeout&&(clearTimeout(n.workingTimeout),n.workingTimeout=null);let s;if(t!==void 0&&t!==0)s="error";else{let i=this.analyzeOutput(n.outputBuffer);i==="waiting"?s="waiting":i==="error"?s="error":i==="completed"?s="completed":s="idle"}this.scheduleStatusUpdate(e,s),(s==="completed"||s==="error")&&setTimeout(()=>{let i=this.states.get(e);i&&(i.status==="completed"||i.status==="error")&&this.scheduleStatusUpdate(e,"idle")},os.IDLE_TIMEOUT_MS)}analyzeOutput(e){let t=e.split(`
5
+ `),i=[],a=0,c=0,u=Math.max(n.length,s.length);for(let g=0;g<u;g++){let m=n[g],y=s[g];m===y?m!==void 0&&i.push({type:"context",content:m,oldLineNumber:g+1,newLineNumber:g+1}):(m!==void 0&&(i.push({type:"remove",content:m,oldLineNumber:g+1,newLineNumber:null}),c++),y!==void 0&&(i.push({type:"add",content:y,oldLineNumber:null,newLineNumber:g+1}),a++))}let d;return r===""?d=kr.CREATE:e===""?d=kr.DELETE:d=kr.MODIFY,{path:t,changeType:d,hunks:[{oldStart:1,oldLines:n.length,newStart:1,newLines:s.length,lines:i}],additions:a,deletions:c,isBinary:!1}}var Hf;(function(r){r.FILE="file",r.DIRECTORY="directory"})(Hf||(St.FileEntryType=Hf={}))});var Kf=F(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.createSimpleDiff=N.parseUnifiedDiff=N.getLanguageFromPath=N.FileEntryType=N.DiffBase=N.FileViewType=N.FileChangeType=N.isRetryableError=N.createError=N.ERROR_MESSAGES=N.ErrorCode=N.isTransferComplete=N.getMissingChunks=N.calculateTotalChunks=N.TransferDirection=N.TransferStatus=N.CHUNK_TTL_SECONDS=N.TRANSFER_TTL_SECONDS=N.MAX_RETRIES=N.ACK_TIMEOUT_MS=N.WINDOW_SIZE=N.DEFAULT_MAX_FILE_SIZE=N.CHUNK_SIZE=N.getPushNotificationMessage=N.shouldTriggerPushNotification=N.deriveStatusFromEvent=N.TerminalEventType=N.createMessage=N.requiresBuffer=N.requiresAck=N.DEFAULT_RELIABILITY=N.RELIABILITY_NAMES=N.Reliability=N.comparePriority=N.DEFAULT_PRIORITY=N.PRIORITY_NAMES=N.Priority=N.negotiateCapabilities=N.hasCapability=N.SERVER_CAPABILITIES=N.DEFAULT_CLIENT_CAPABILITIES=N.Capability=N.compareVersions=N.isCompatibleVersion=N.MIN_CLIENT_VERSION=N.PROTOCOL_VERSION_MINOR=N.PROTOCOL_VERSION_MAJOR=N.PROTOCOL_VERSION=void 0;var En=Af();Object.defineProperty(N,"PROTOCOL_VERSION",{enumerable:!0,get:function(){return En.PROTOCOL_VERSION}});Object.defineProperty(N,"PROTOCOL_VERSION_MAJOR",{enumerable:!0,get:function(){return En.PROTOCOL_VERSION_MAJOR}});Object.defineProperty(N,"PROTOCOL_VERSION_MINOR",{enumerable:!0,get:function(){return En.PROTOCOL_VERSION_MINOR}});Object.defineProperty(N,"MIN_CLIENT_VERSION",{enumerable:!0,get:function(){return En.MIN_CLIENT_VERSION}});Object.defineProperty(N,"isCompatibleVersion",{enumerable:!0,get:function(){return En.isCompatibleVersion}});Object.defineProperty(N,"compareVersions",{enumerable:!0,get:function(){return En.compareVersions}});var ns=If();Object.defineProperty(N,"Capability",{enumerable:!0,get:function(){return ns.Capability}});Object.defineProperty(N,"DEFAULT_CLIENT_CAPABILITIES",{enumerable:!0,get:function(){return ns.DEFAULT_CLIENT_CAPABILITIES}});Object.defineProperty(N,"SERVER_CAPABILITIES",{enumerable:!0,get:function(){return ns.SERVER_CAPABILITIES}});Object.defineProperty(N,"hasCapability",{enumerable:!0,get:function(){return ns.hasCapability}});Object.defineProperty(N,"negotiateCapabilities",{enumerable:!0,get:function(){return ns.negotiateCapabilities}});var Qs=Lf();Object.defineProperty(N,"Priority",{enumerable:!0,get:function(){return Qs.Priority}});Object.defineProperty(N,"PRIORITY_NAMES",{enumerable:!0,get:function(){return Qs.PRIORITY_NAMES}});Object.defineProperty(N,"DEFAULT_PRIORITY",{enumerable:!0,get:function(){return Qs.DEFAULT_PRIORITY}});Object.defineProperty(N,"comparePriority",{enumerable:!0,get:function(){return Qs.comparePriority}});var ss=Nf();Object.defineProperty(N,"Reliability",{enumerable:!0,get:function(){return ss.Reliability}});Object.defineProperty(N,"RELIABILITY_NAMES",{enumerable:!0,get:function(){return ss.RELIABILITY_NAMES}});Object.defineProperty(N,"DEFAULT_RELIABILITY",{enumerable:!0,get:function(){return ss.DEFAULT_RELIABILITY}});Object.defineProperty(N,"requiresAck",{enumerable:!0,get:function(){return ss.requiresAck}});Object.defineProperty(N,"requiresBuffer",{enumerable:!0,get:function(){return ss.requiresBuffer}});var Wp=Df();Object.defineProperty(N,"createMessage",{enumerable:!0,get:function(){return Wp.createMessage}});var ei=Ff();Object.defineProperty(N,"TerminalEventType",{enumerable:!0,get:function(){return ei.TerminalEventType}});Object.defineProperty(N,"deriveStatusFromEvent",{enumerable:!0,get:function(){return ei.deriveStatusFromEvent}});Object.defineProperty(N,"shouldTriggerPushNotification",{enumerable:!0,get:function(){return ei.shouldTriggerPushNotification}});Object.defineProperty(N,"getPushNotificationMessage",{enumerable:!0,get:function(){return ei.getPushNotificationMessage}});var kt=jf();Object.defineProperty(N,"CHUNK_SIZE",{enumerable:!0,get:function(){return kt.CHUNK_SIZE}});Object.defineProperty(N,"DEFAULT_MAX_FILE_SIZE",{enumerable:!0,get:function(){return kt.DEFAULT_MAX_FILE_SIZE}});Object.defineProperty(N,"WINDOW_SIZE",{enumerable:!0,get:function(){return kt.WINDOW_SIZE}});Object.defineProperty(N,"ACK_TIMEOUT_MS",{enumerable:!0,get:function(){return kt.ACK_TIMEOUT_MS}});Object.defineProperty(N,"MAX_RETRIES",{enumerable:!0,get:function(){return kt.MAX_RETRIES}});Object.defineProperty(N,"TRANSFER_TTL_SECONDS",{enumerable:!0,get:function(){return kt.TRANSFER_TTL_SECONDS}});Object.defineProperty(N,"CHUNK_TTL_SECONDS",{enumerable:!0,get:function(){return kt.CHUNK_TTL_SECONDS}});Object.defineProperty(N,"TransferStatus",{enumerable:!0,get:function(){return kt.TransferStatus}});Object.defineProperty(N,"TransferDirection",{enumerable:!0,get:function(){return kt.TransferDirection}});Object.defineProperty(N,"calculateTotalChunks",{enumerable:!0,get:function(){return kt.calculateTotalChunks}});Object.defineProperty(N,"getMissingChunks",{enumerable:!0,get:function(){return kt.getMissingChunks}});Object.defineProperty(N,"isTransferComplete",{enumerable:!0,get:function(){return kt.isTransferComplete}});var ti=Uf();Object.defineProperty(N,"ErrorCode",{enumerable:!0,get:function(){return ti.ErrorCode}});Object.defineProperty(N,"ERROR_MESSAGES",{enumerable:!0,get:function(){return ti.ERROR_MESSAGES}});Object.defineProperty(N,"createError",{enumerable:!0,get:function(){return ti.createError}});Object.defineProperty(N,"isRetryableError",{enumerable:!0,get:function(){return ti.isRetryableError}});var Gr=Vf();Object.defineProperty(N,"FileChangeType",{enumerable:!0,get:function(){return Gr.FileChangeType}});Object.defineProperty(N,"FileViewType",{enumerable:!0,get:function(){return Gr.FileViewType}});Object.defineProperty(N,"DiffBase",{enumerable:!0,get:function(){return Gr.DiffBase}});Object.defineProperty(N,"FileEntryType",{enumerable:!0,get:function(){return Gr.FileEntryType}});Object.defineProperty(N,"getLanguageFromPath",{enumerable:!0,get:function(){return Gr.getLanguageFromPath}});Object.defineProperty(N,"parseUnifiedDiff",{enumerable:!0,get:function(){return Gr.parseUnifiedDiff}});Object.defineProperty(N,"createSimpleDiff",{enumerable:!0,get:function(){return Gr.createSimpleDiff}})});var Rr=F(Yt=>{"use strict";var Hp=Yt&&Yt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),ri=Yt&&Yt.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Hp(e,r,t)};Object.defineProperty(Yt,"__esModule",{value:!0});ri(xf(),Yt);ri(Sf(),Yt);ri(Pf(),Yt);ri(Kf(),Yt)});var zf=F(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});ni.CryptoService=void 0;var ft=Rr(),Vp=3600*1e3,$f=10,No=class{storage;logger;sessions=new Map;agentSessions=new Map;keyPair=null;publicKeyKey;secretKeyKey;keyVersionKey;constructor(e,t,n,s){this.storage=e,this.logger=t;let i=`termiq.${n}.${s}`;this.publicKeyKey=`${i}.crypto.publicKey`,this.secretKeyKey=`${i}.crypto.secretKey`,this.keyVersionKey=`${i}.crypto.keyVersion`,this.logger.info("CryptoService namespace",n,s)}async initialize(){let e=await this.storage.get(this.publicKeyKey),t=await this.storage.get(this.secretKeyKey);e&&t?(this.keyPair={publicKey:e,secretKey:t},this.logger.info("Loaded existing identity key pair")):await this.generateIdentityKeyPair()}async generateIdentityKeyPair(){this.logger.info("Generating new identity key pair"),this.keyPair=(0,ft.generateKeyPair)(),await this.storage.set(this.publicKeyKey,this.keyPair.publicKey),await this.storage.set(this.secretKeyKey,this.keyPair.secretKey);let e=await this.getKeyVersion();return await this.storage.set(this.keyVersionKey,String(e+1)),this.logger.info("Identity key pair generated and stored"),this.keyPair}async getPublicKey(){return this.keyPair?this.keyPair.publicKey:await this.storage.get(this.publicKeyKey)||null}async getKeyVersion(){let e=await this.storage.get(this.keyVersionKey);return e?parseInt(e,10):1}async handleKeyExchange(e,t,n){if(!this.keyPair&&(this.logger.warn("Key pair missing, attempting re-initialization"),await this.initialize(),!this.keyPair))return this.logger.error("No identity key pair available after re-initialization"),!1;this.logger.info("Starting key exchange",e,n);try{let s=this.sessions.get(e);s||(s=new Map,this.sessions.set(e,s));let i=(0,ft.deriveSharedSecret)(t,this.keyPair.secretKey),a={terminalId:e,clientPublicKey:t,sharedSecret:i,createdAt:Date.now(),sessionId:n};return s.set(n,a),this.logger.info("Key exchange completed",e,n,"total:",s.size),!0}catch(s){return this.logger.error("Key exchange failed",s),!1}}encryptOutput(e,t){let n=this.sessions.get(e);if(!n||n.size===0)return null;try{if(n.size===1){let i=n.values().next().value;return i?(0,ft.encrypt)(t,i.sharedSecret,i.sessionId):null}let s=[];for(let i of n.values()){let a=(0,ft.encrypt)(t,i.sharedSecret,i.sessionId);s.push({sid:a.sid,n:a.n,c:a.c})}return{v:2,recipients:s}}catch(s){return this.logger.error("Encryption failed",s),null}}decryptInput(e,t){let n=this.sessions.get(e);if(!n)return this.logger.error("No sessions for terminal",e),null;let s=n.get(t.sid);if(!s)return this.logger.error("No session for sessionId",t.sid),null;try{return(0,ft.decrypt)(t,s.sharedSecret)}catch(i){return this.logger.error("Decryption failed",i),null}}hasSession(e){let t=this.sessions.get(e);return t!==void 0&&t.size>0}removeSession(e,t){let n=this.sessions.get(e);if(n)if(t){let s=n.get(t);s&&((0,ft.clearKey)(s.sharedSecret),n.delete(t),this.logger.info("Session removed",e,t)),n.size===0&&this.sessions.delete(e)}else{for(let s of n.values())(0,ft.clearKey)(s.sharedSecret);this.sessions.delete(e),this.logger.debug("All sessions removed for terminal",e)}}clearAllSessions(){for(let e of this.sessions.values())for(let t of e.values())(0,ft.clearKey)(t.sharedSecret);this.sessions.clear(),this.logger.debug("All sessions cleared")}cleanupStaleSessions(e){let t=this.sessions.get(e);if(!t||t.size===0)return;let n=Date.now(),s=[];for(let[i,a]of t)n-a.createdAt>Vp&&s.push(i);for(let i of s){let a=t.get(i);a&&((0,ft.clearKey)(a.sharedSecret),t.delete(i))}if(t.size>$f){let a=Array.from(t.entries()).sort((c,u)=>c[1].createdAt-u[1].createdAt).slice(0,t.size-$f);for(let[,c]of a)(0,ft.clearKey)(c.sharedSecret),t.delete(c.sessionId)}t.size===0&&this.sessions.delete(e)}cleanupAllStaleSessions(){for(let e of this.sessions.keys())this.cleanupStaleSessions(e)}getSessionInfo(){let e=[];for(let[t,n]of this.sessions.entries())for(let s of n.values())e.push({terminalId:t,createdAt:s.createdAt,sessionId:s.sessionId});return e}async handleAgentKeyExchange(e,t){if(!this.keyPair&&(this.logger.warn("Key pair missing for agent key exchange"),await this.initialize(),!this.keyPair))return this.logger.error("No identity key pair available for agent key exchange"),!1;try{let n=this.agentSessions.get(t);n&&(this.logger.info("Rekeying existing agent session",t),(0,ft.clearKey)(n.sharedSecret));let s=(0,ft.deriveSharedSecret)(e,this.keyPair.secretKey),i={sessionId:t,clientPublicKey:e,sharedSecret:s,createdAt:Date.now()};return this.agentSessions.set(t,i),this.logger.info("Agent key exchange completed",t,"total:",this.agentSessions.size),!0}catch(n){return this.logger.error("Agent key exchange failed",n),!1}}removeAgentSession(e){let t=this.agentSessions.get(e);t&&((0,ft.clearKey)(t.sharedSecret),this.agentSessions.delete(e),this.logger.info("Agent session removed",e))}hasAgentSessions(){return this.agentSessions.size>0}encryptWorkspaceInfo(e){if(this.agentSessions.size===0)return null;let t=JSON.stringify(e),n=this.encryptForAllAgentSessions(t);return n?{encrypted:n}:null}encryptTerminalInfo(e){if(this.agentSessions.size===0)return null;let t=JSON.stringify(e),n=this.encryptForAllAgentSessions(t);return n?{encrypted:n}:null}encryptPromptInfo(e){if(this.agentSessions.size===0)return null;let t=JSON.stringify(e),n=this.encryptForAllAgentSessions(t);return n?{encrypted:n}:null}encryptForAllAgentSessions(e){if(this.agentSessions.size===0)return null;try{if(this.agentSessions.size===1){let n=this.agentSessions.values().next().value;return n?(0,ft.encrypt)(e,n.sharedSecret,n.sessionId):null}let t=[];for(let n of this.agentSessions.values()){let s=(0,ft.encrypt)(e,n.sharedSecret,n.sessionId);t.push({sid:s.sid,n:s.n,c:s.c})}return{v:2,recipients:t}}catch(t){return this.logger.error("Encryption for agent sessions failed",t),null}}clearAllAgentSessions(){for(let e of this.agentSessions.values())(0,ft.clearKey)(e.sharedSecret);this.agentSessions.clear(),this.logger.debug("All agent sessions cleared")}async deleteKeys(){await this.storage.delete(this.publicKeyKey),await this.storage.delete(this.secretKeyKey),await this.storage.delete(this.keyVersionKey),this.keyPair=null,this.clearAllSessions(),this.clearAllAgentSessions(),this.logger.info("All crypto keys deleted")}};ni.CryptoService=No});var Gf=F(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});si.AuthService=void 0;var is=$s(),Do=class{storage;cryptoService;machineId;config;logger;notification;browser;pollingAbortController=null;tokenKey;refreshTokenKey;agentIdKey;constructor(e,t,n,s,i,a,c,u,d){this.storage=e,this.cryptoService=t,this.machineId=n,this.config=s,this.logger=i,this.notification=a,this.browser=c;let g=`termiq.${u}.${d}`;this.tokenKey=`${g}.accessToken`,this.refreshTokenKey=`${g}.refreshToken`,this.agentIdKey=`${g}.agentId`,this.logger.info("AuthService namespace",u,d)}cancelPolling(){this.pollingAbortController&&(this.logger.info("Cancelling active polling"),this.pollingAbortController.abort(),this.pollingAbortController=null)}async startDeviceCodeFlow(){this.cancelPolling();let e=(0,is.getApiUrl)(this.config),t=await this.machineId.getMachineId(),n=this.machineId.getMachineName(),s=await this.cryptoService.getPublicKey();s||(await this.cryptoService.generateIdentityKeyPair(),s=await this.cryptoService.getPublicKey()),this.logger.info("Starting device code flow",t,n);let i=await fetch(`${e}/auth/device/code`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({machineId:t,machineName:n,publicKey:s})});if(!i.ok){let a=await i.text();throw new Error(`Failed to get device code: ${a}`)}return i.json()}async pollForToken(e){this.cancelPolling();let t=(0,is.getApiUrl)(this.config),n=5e3,s=60;this.pollingAbortController=new AbortController;let i=this.pollingAbortController.signal;this.logger.info("Starting token polling");for(let a=0;a<s;a++){if(i.aborted)return this.logger.info("Polling was cancelled"),null;if(await this.sleep(n),i.aborted)return this.logger.info("Polling was cancelled"),null;try{let c=await fetch(`${t}/auth/device/poll`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:e}),signal:i});if(!c.ok){if(c.status===403)try{let d=await c.json();if(d.error==="AGENT_LIMIT_EXCEEDED")return this.logger.warn("Agent limit exceeded",String(d.current),"/",String(d.max)),this.notification.warn(`Agent limit reached (${d.current}/${d.max}). Upgrade your plan to add more devices.`),null}catch{}this.logger.warn("Poll request failed",String(c.status));continue}let u=await c.json();if(u.status==="success"&&u.accessToken)return this.logger.info("Token received successfully"),this.pollingAbortController=null,await this.saveTokens(u),u;if(u.status==="expired")return this.logger.warn("Device code expired"),null;if(u.status==="limit_exceeded")return this.logger.warn("Agent limit exceeded",String(u.current),"/",String(u.max)),this.notification.warn(`Agent limit reached (${u.current}/${u.max}). Remove an old agent or upgrade your plan.`),null;this.logger.debug("Token pending, continuing poll",String(a))}catch(c){if(i.aborted)return this.logger.info("Polling was cancelled"),null;let u=c instanceof Error?c.message:String(c);this.logger.warn(`Poll error: ${u}`)}}return this.logger.warn("Polling timed out"),this.pollingAbortController=null,null}async loginWithApiKey(e){let t=(0,is.getApiUrl)(this.config),n=await this.machineId.getMachineId(),s=this.machineId.getMachineName(),i=await this.cryptoService.getPublicKey();i||(await this.cryptoService.generateIdentityKeyPair(),i=await this.cryptoService.getPublicKey()),this.logger.info("Logging in with API key");try{let a=await fetch(`${t}/auth/api-key/login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:e,machineId:n,machineName:s,publicKey:i})});if(!a.ok){let u=await a.text();return this.logger.error("API key login failed",u),!1}let c=await a.json();return c.accessToken?(await this.saveTokens(c),this.logger.info("API key login successful"),!0):!1}catch(a){return this.logger.error("API key login error",a),!1}}async hasValidToken(){let e=await this.storage.get(this.tokenKey);if(!e)return!1;try{let n=JSON.parse(Buffer.from(e.split(".")[1],"base64").toString()).exp*1e3;return Date.now()<n}catch{return!1}}async getAccessToken(){return await this.storage.get(this.tokenKey)||null}async getAgentId(){return await this.storage.get(this.agentIdKey)||null}async refreshAccessToken(){let e=await this.storage.get(this.refreshTokenKey);if(!e)return this.logger.debug("No refresh token available"),null;let t=(0,is.getApiUrl)(this.config);try{this.logger.info("Refreshing access token");let n=await fetch(`${t}/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:e})});if(!n.ok)return this.logger.warn("Token refresh failed",String(n.status)),n.status===401&&await this.storage.delete(this.refreshTokenKey),null;let s=await n.json();return await this.storage.set(this.tokenKey,s.accessToken),await this.storage.set(this.refreshTokenKey,s.refreshToken),this.logger.info("Access token refreshed successfully"),s.accessToken}catch(n){return this.logger.warn("Token refresh error",n),null}}async logout(){this.logger.info("Logging out"),this.cancelPolling(),await this.storage.delete(this.tokenKey),await this.storage.delete(this.refreshTokenKey),await this.storage.delete(this.agentIdKey),await this.cryptoService.deleteKeys()}async saveTokens(e){e.accessToken&&await this.storage.set(this.tokenKey,e.accessToken),e.refreshToken&&await this.storage.set(this.refreshTokenKey,e.refreshToken),e.agentId&&await this.storage.set(this.agentIdKey,e.agentId)}async getLimits(){let e=await this.getAccessToken();if(!e)return this.logger.warn("Cannot fetch limits: no access token"),null;let t=(0,is.getApiUrl)(this.config);try{let n=await fetch(`${t}/users/me/limits`,{headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"}});return n.ok?await n.json():(this.logger.error("Failed to fetch limits",String(n.status)),null)}catch(n){let s=n instanceof Error?n.message:String(n);return this.logger.error(`Error fetching limits: ${s}`),null}}async openUrl(e){await this.browser.openUrl(e)}async canCreateTerminal(){let e=await this.getLimits();return e?e.terminals.unlimited?{allowed:!0,limits:e}:e.terminals.current>=e.terminals.max?{allowed:!1,reason:`Terminal limit reached (${e.terminals.current}/${e.terminals.max}). Upgrade your plan to create more terminals.`,limits:e}:{allowed:!0,limits:e}:{allowed:!0}}sleep(e){return new Promise(t=>setTimeout(t,e))}};si.AuthService=Do});var Yf=F(oi=>{"use strict";Object.defineProperty(oi,"__esModule",{value:!0});oi.StatusDetector=void 0;var ii={working:[/✶/,/⠋|⠙|⠹|⠸|⠼|⠴|⠦|⠧|⠇|⠏/],idle:[/[❯$#>]\s*$/,/^\s*\d+\s*[❯$#>]\s*$/,/\(base\)\s*[❯$#>]\s*$/,/\)\s*[❯$#>]\s*$/],waiting:[/\[Y\/n\]/i,/\[y\/N\]/i,/\(y\/n\)/i,/\(yes\/no\)/i,/Continue\?/i,/Proceed\?/i,/Are you sure\?/i,/Confirm\?/i,/Press Enter to continue/i,/Press any key/i,/\[Enter\]/i,/Do you want to/i,/Would you like to/i,/Shall I/i,/^\s*\d+[.)]\s+.+$/m,/Select.*:/i,/Choose.*:/i,/Which.*\?/i,/Какой вариант/i,/Выберите/i],completed:[/✓\s*(Done|Complete|Success|Finished)/i,/\[done\]/i,/\[success\]/i,/completed successfully/i,/Build succeeded/i,/All tests passed/i],error:[/✕\s*(Error|Failed|Failure)/i,/\[error\]/i,/\[failed\]/i,/Error:/i,/Exception:/i,/FATAL:/i,/Build failed/i,/Tests failed/i,/command not found/i,/Permission denied/i,/No such file or directory/i]},os={IDLE_TIMEOUT_MS:5e3,DEBOUNCE_MS:500,BUFFER_SIZE:2e3,WORKING_TIMEOUT_MS:3e4},Fo=class{states=new Map;onStatusChange;constructor(e){this.onStatusChange=e}startTracking(e){if(this.states.has(e))return;let t={status:"idle",lastUpdate:Date.now(),lastOutput:Date.now(),outputBuffer:"",pendingUpdate:null,workingTimeout:null};this.states.set(e,t),this.emitStatus(e,"idle")}stopTracking(e){let t=this.states.get(e);t&&(t.pendingUpdate&&clearTimeout(t.pendingUpdate),t.workingTimeout&&clearTimeout(t.workingTimeout)),this.states.delete(e)}processOutput(e,t){let n=this.states.get(e);if(!n)return;n.lastOutput=Date.now(),n.outputBuffer+=t,n.outputBuffer.length>os.BUFFER_SIZE&&(n.outputBuffer=n.outputBuffer.slice(-os.BUFFER_SIZE));let s=this.analyzeOutput(n.outputBuffer);s&&this.scheduleStatusUpdate(e,s),this.resetWorkingTimeout(e,n)}onCommandStart(e){let t=this.states.get(e);t&&(t.outputBuffer="",this.scheduleStatusUpdate(e,"working"),this.resetWorkingTimeout(e,t))}onCommandEnd(e,t){let n=this.states.get(e);if(!n)return;n.workingTimeout&&(clearTimeout(n.workingTimeout),n.workingTimeout=null);let s;if(t!==void 0&&t!==0)s="error";else{let i=this.analyzeOutput(n.outputBuffer);i==="waiting"?s="waiting":i==="error"?s="error":i==="completed"?s="completed":s="idle"}this.scheduleStatusUpdate(e,s),(s==="completed"||s==="error")&&setTimeout(()=>{let i=this.states.get(e);i&&(i.status==="completed"||i.status==="error")&&this.scheduleStatusUpdate(e,"idle")},os.IDLE_TIMEOUT_MS)}analyzeOutput(e){let t=e.split(`
6
6
  `).slice(-10),n=t.join(`
7
7
  `),s=t[t.length-1]||"";for(let i of ii.waiting)if(i.test(n))return"waiting";for(let i of ii.working)if(i.test(s))return"working";for(let i of ii.completed)if(i.test(n))return"completed";for(let i of ii.idle)if(i.test(s))return"idle";return null}detectPrompt(e){let s=this.normalizeBuffer(this.stripAnsi(e)).split(`
8
8
  `).slice(-20),i=s.join(`
@@ -12,25 +12,25 @@
12
12
  `).replace(/\r/g,`
13
13
  `).replace(/\n{3,}/g,`
14
14
 
15
- `)}scheduleStatusUpdate(e,t){let n=this.states.get(e);n&&n.status!==t&&(n.pendingUpdate&&clearTimeout(n.pendingUpdate),n.pendingUpdate=setTimeout(()=>{this.emitStatus(e,t),n.pendingUpdate=null},os.DEBOUNCE_MS))}emitStatus(e,t){let n=this.states.get(e);if(!n||n.status===t)return;n.status=t,n.lastUpdate=Date.now();let s;t==="waiting"&&(s=this.detectPrompt(n.outputBuffer)||void 0),this.onStatusChange(e,t,s)}resetWorkingTimeout(e,t){t.workingTimeout&&clearTimeout(t.workingTimeout),t.status==="working"&&(t.workingTimeout=setTimeout(()=>{let n=this.states.get(e);n&&n.status==="working"&&(this.analyzeOutput(n.outputBuffer)==="waiting"?this.emitStatus(e,"waiting"):this.onStatusChange(e,"working",void 0))},os.WORKING_TIMEOUT_MS))}forceStatus(e,t){this.emitStatus(e,t)}getStatus(e){return this.states.get(e)?.status??null}dispose(){for(let e of this.states.keys())this.stopTracking(e)}};oi.StatusDetector=Fo});var Jf=F((yE,Xf)=>{var wn=require("fs"),Yf=require("url"),Wp=require("child_process").spawn;Xf.exports=Mo;Mo.XMLHttpRequest=Mo;function Mo(r){"use strict";r=r||{};var e=this,t=require("http"),n=require("https"),s,i,a={},c=!1,u={"User-Agent":"node-XMLHttpRequest",Accept:"*/*"},d=Object.assign({},u),g=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","content-transfer-encoding","cookie","cookie2","date","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"],m=["TRACE","TRACK","CONNECT"],y=!1,w=!1,S=!1,T={};this.UNSENT=0,this.OPENED=1,this.HEADERS_RECEIVED=2,this.LOADING=3,this.DONE=4,this.readyState=this.UNSENT,this.onreadystatechange=null,this.responseText="",this.responseXML="",this.response=Buffer.alloc(0),this.status=null,this.statusText=null;var V=function(A){return c||A&&g.indexOf(A.toLowerCase())===-1},ge=function(A){return A&&m.indexOf(A)===-1};this.open=function(A,R,ee,j,Z){if(this.abort(),w=!1,S=!1,!ge(A))throw new Error("SecurityError: Request method not allowed");a={method:A,url:R.toString(),async:typeof ee!="boolean"?!0:ee,user:j||null,password:Z||null},J(this.OPENED)},this.setDisableHeaderCheck=function(A){c=A},this.setRequestHeader=function(A,R){if(this.readyState!=this.OPENED)throw new Error("INVALID_STATE_ERR: setRequestHeader can only be called when state is OPEN");if(!V(A))return console.warn('Refused to set unsafe header "'+A+'"'),!1;if(y)throw new Error("INVALID_STATE_ERR: send flag is true");return d[A]=R,!0},this.getResponseHeader=function(A){return typeof A=="string"&&this.readyState>this.OPENED&&i.headers[A.toLowerCase()]&&!w?i.headers[A.toLowerCase()]:null},this.getAllResponseHeaders=function(){if(this.readyState<this.HEADERS_RECEIVED||w)return"";var A="";for(var R in i.headers)R!=="set-cookie"&&R!=="set-cookie2"&&(A+=R+": "+i.headers[R]+`\r
16
- `);return A.substr(0,A.length-2)},this.getRequestHeader=function(A){return typeof A=="string"&&d[A]?d[A]:""},this.send=function(A){if(this.readyState!=this.OPENED)throw new Error("INVALID_STATE_ERR: connection must be opened before send() is called");if(y)throw new Error("INVALID_STATE_ERR: send has already been called");var R=!1,ee=!1,j=Yf.parse(a.url),Z;switch(j.protocol){case"https:":R=!0;case"http:":Z=j.hostname;break;case"file:":ee=!0;break;case void 0:case"":Z="localhost";break;default:throw new Error("Protocol not supported.")}if(ee){if(a.method!=="GET")throw new Error("XMLHttpRequest: Only GET method is supported");if(a.async)wn.readFile(unescape(j.pathname),function(L,oe){L?e.handleError(L,L.errno||-1):(e.status=200,e.responseText=oe.toString("utf8"),e.response=oe,J(e.DONE))});else try{this.response=wn.readFileSync(unescape(j.pathname)),this.responseText=this.response.toString("utf8"),this.status=200,J(e.DONE)}catch(L){this.handleError(L,L.errno||-1)}return}var ce=j.port||(R?443:80),ie=j.pathname+(j.search?j.search:"");if(d.Host=Z,R&&ce===443||ce===80||(d.Host+=":"+j.port),a.user){typeof a.password>"u"&&(a.password="");var _e=new Buffer(a.user+":"+a.password);d.Authorization="Basic "+_e.toString("base64")}if(a.method==="GET"||a.method==="HEAD")A=null;else if(A){d["Content-Length"]=Buffer.isBuffer(A)?A.length:Buffer.byteLength(A);var Ye=Object.keys(d);Ye.some(function(L){return L.toLowerCase()==="content-type"})||(d["Content-Type"]="text/plain;charset=UTF-8")}else a.method==="POST"&&(d["Content-Length"]=0);var Je=r.agent||!1,ve={host:Z,port:ce,path:ie,method:a.method,headers:d,agent:Je};if(R&&(ve.pfx=r.pfx,ve.key=r.key,ve.passphrase=r.passphrase,ve.cert=r.cert,ve.ca=r.ca,ve.ciphers=r.ciphers,ve.rejectUnauthorized=r.rejectUnauthorized!==!1),w=!1,a.async){var He=R?n.request:t.request;y=!0,e.dispatchEvent("readystatechange");var Fe=function(L){if(i=L,i.statusCode===302||i.statusCode===303||i.statusCode===307){a.url=i.headers.location;var oe=Yf.parse(a.url);Z=oe.hostname;var Ie={hostname:oe.hostname,port:oe.port,path:oe.path,method:i.statusCode===303?"GET":a.method,headers:d};R&&(Ie.pfx=r.pfx,Ie.key=r.key,Ie.passphrase=r.passphrase,Ie.cert=r.cert,Ie.ca=r.ca,Ie.ciphers=r.ciphers,Ie.rejectUnauthorized=r.rejectUnauthorized!==!1),s=He(Ie,Fe).on("error",Qe),s.end();return}J(e.HEADERS_RECEIVED),e.status=i.statusCode,i.on("data",function(lt){if(lt){var vt=Buffer.from(lt);e.response=Buffer.concat([e.response,vt])}y&&J(e.LOADING)}),i.on("end",function(){y&&(y=!1,J(e.DONE),e.responseText=e.response.toString("utf8"))}),i.on("error",function(lt){e.handleError(lt)})},Qe=function(L){if(s.reusedSocket&&L.code==="ECONNRESET")return He(ve,Fe).on("error",Qe);e.handleError(L)};s=He(ve,Fe).on("error",Qe),r.autoUnref&&s.on("socket",L=>{L.unref()}),A&&s.write(A),s.end(),e.dispatchEvent("loadstart")}else{var Ve=".node-xmlhttprequest-content-"+process.pid,Pe=".node-xmlhttprequest-sync-"+process.pid;wn.writeFileSync(Pe,"","utf8");for(var tt="var http = require('http'), https = require('https'), fs = require('fs');var doRequest = http"+(R?"s":"")+".request;var options = "+JSON.stringify(ve)+";var responseText = '';var responseData = Buffer.alloc(0);var req = doRequest(options, function(response) {response.on('data', function(chunk) { var data = Buffer.from(chunk); responseText += data.toString('utf8'); responseData = Buffer.concat([responseData, data]);});response.on('end', function() {fs.writeFileSync('"+Ve+"', JSON.stringify({err: null, data: {statusCode: response.statusCode, headers: response.headers, text: responseText, data: responseData.toString('base64')}}), 'utf8');fs.unlinkSync('"+Pe+"');});response.on('error', function(error) {fs.writeFileSync('"+Ve+"', 'NODE-XMLHTTPREQUEST-ERROR:' + JSON.stringify(error), 'utf8');fs.unlinkSync('"+Pe+"');});}).on('error', function(error) {fs.writeFileSync('"+Ve+"', 'NODE-XMLHTTPREQUEST-ERROR:' + JSON.stringify(error), 'utf8');fs.unlinkSync('"+Pe+"');});"+(A?"req.write('"+JSON.stringify(A).slice(1,-1).replace(/'/g,"\\'")+"');":"")+"req.end();",W=Wp(process.argv[0],["-e",tt]),we;wn.existsSync(Pe););if(e.responseText=wn.readFileSync(Ve,"utf8"),W.stdin.end(),wn.unlinkSync(Ve),e.responseText.match(/^NODE-XMLHTTPREQUEST-ERROR:/)){var P=JSON.parse(e.responseText.replace(/^NODE-XMLHTTPREQUEST-ERROR:/,""));e.handleError(P,503)}else{e.status=e.responseText.replace(/^NODE-XMLHTTPREQUEST-STATUS:([0-9]*),.*/,"$1");var B=JSON.parse(e.responseText.replace(/^NODE-XMLHTTPREQUEST-STATUS:[0-9]*,(.*)/,"$1"));i={statusCode:e.status,headers:B.data.headers},e.responseText=B.data.text,e.response=Buffer.from(B.data.data,"base64"),J(e.DONE,!0)}}},this.handleError=function(A,R){this.status=R||0,this.statusText=A,this.responseText=A.stack,w=!0,J(this.DONE)},this.abort=function(){s&&(s.abort(),s=null),d=Object.assign({},u),this.responseText="",this.responseXML="",this.response=Buffer.alloc(0),w=S=!0,this.readyState!==this.UNSENT&&(this.readyState!==this.OPENED||y)&&this.readyState!==this.DONE&&(y=!1,J(this.DONE)),this.readyState=this.UNSENT},this.addEventListener=function(A,R){A in T||(T[A]=[]),T[A].push(R)},this.removeEventListener=function(A,R){A in T&&(T[A]=T[A].filter(function(ee){return ee!==R}))},this.dispatchEvent=function(A){if(typeof e["on"+A]=="function"&&(this.readyState===this.DONE&&a.async?setTimeout(function(){e["on"+A]()},0):e["on"+A]()),A in T)for(let R=0,ee=T[A].length;R<ee;R++)this.readyState===this.DONE?setTimeout(function(){T[A][R].call(e)},0):T[A][R].call(e)};var J=function(A){if(!(e.readyState===A||e.readyState===e.UNSENT&&S)&&(e.readyState=A,(a.async||e.readyState<e.OPENED||e.readyState===e.DONE)&&e.dispatchEvent("readystatechange"),e.readyState===e.DONE)){let R;S?R="abort":w?R="error":R="load",e.dispatchEvent(R),e.dispatchEvent("loadend")}}}});var ai=F(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.ERROR_PACKET=Pr.PACKET_TYPES_REVERSE=Pr.PACKET_TYPES=void 0;var Xt=Object.create(null);Pr.PACKET_TYPES=Xt;Xt.open="0";Xt.close="1";Xt.ping="2";Xt.pong="3";Xt.message="4";Xt.upgrade="5";Xt.noop="6";var Zf=Object.create(null);Pr.PACKET_TYPES_REVERSE=Zf;Object.keys(Xt).forEach(r=>{Zf[Xt[r]]=r});var Hp={type:"error",data:"parser error"};Pr.ERROR_PACKET=Hp});var eu=F(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.encodePacket=void 0;bn.encodePacketToBinary=zp;var Vp=ai(),Kp=({type:r,data:e},t,n)=>e instanceof ArrayBuffer||ArrayBuffer.isView(e)?n(t?e:"b"+Qf(e,!0).toString("base64")):n(Vp.PACKET_TYPES[r]+(e||""));bn.encodePacket=Kp;var Qf=(r,e)=>Buffer.isBuffer(r)||r instanceof Uint8Array&&!e?r:r instanceof ArrayBuffer?Buffer.from(r):Buffer.from(r.buffer,r.byteOffset,r.byteLength),Bo;function zp(r,e){if(r.data instanceof ArrayBuffer||ArrayBuffer.isView(r.data))return e(Qf(r.data,!1));(0,bn.encodePacket)(r,!0,t=>{Bo||(Bo=new TextEncoder),e(Bo.encode(t))})}});var ru=F(fi=>{"use strict";Object.defineProperty(fi,"__esModule",{value:!0});fi.decodePacket=void 0;var ci=ai(),$p=(r,e)=>{if(typeof r!="string")return{type:"message",data:tu(r,e)};let t=r.charAt(0);if(t==="b"){let n=Buffer.from(r.substring(1),"base64");return{type:"message",data:tu(n,e)}}return ci.PACKET_TYPES_REVERSE[t]?r.length>1?{type:ci.PACKET_TYPES_REVERSE[t],data:r.substring(1)}:{type:ci.PACKET_TYPES_REVERSE[t]}:ci.ERROR_PACKET};fi.decodePacket=$p;var tu=(r,e)=>e==="arraybuffer"?r instanceof ArrayBuffer?r:Buffer.isBuffer(r)?r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength):r.buffer:Buffer.isBuffer(r)?r:Buffer.from(r)});var xn=F(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.decodePayload=mt.decodePacket=mt.encodePayload=mt.encodePacket=mt.protocol=void 0;mt.createPacketEncoderStream=Xp;mt.createPacketDecoderStream=Jp;var Uo=eu();Object.defineProperty(mt,"encodePacket",{enumerable:!0,get:function(){return Uo.encodePacket}});var qo=ru();Object.defineProperty(mt,"decodePacket",{enumerable:!0,get:function(){return qo.decodePacket}});var nu=ai(),su="",Gp=(r,e)=>{let t=r.length,n=new Array(t),s=0;r.forEach((i,a)=>{(0,Uo.encodePacket)(i,!1,c=>{n[a]=c,++s===t&&e(n.join(su))})})};mt.encodePayload=Gp;var Yp=(r,e)=>{let t=r.split(su),n=[];for(let s=0;s<t.length;s++){let i=(0,qo.decodePacket)(t[s],e);if(n.push(i),i.type==="error")break}return n};mt.decodePayload=Yp;function Xp(){return new TransformStream({transform(r,e){(0,Uo.encodePacketToBinary)(r,t=>{let n=t.length,s;if(n<126)s=new Uint8Array(1),new DataView(s.buffer).setUint8(0,n);else if(n<65536){s=new Uint8Array(3);let i=new DataView(s.buffer);i.setUint8(0,126),i.setUint16(1,n)}else{s=new Uint8Array(9);let i=new DataView(s.buffer);i.setUint8(0,127),i.setBigUint64(1,BigInt(n))}r.data&&typeof r.data!="string"&&(s[0]|=128),e.enqueue(s),e.enqueue(t)})}})}var jo;function ui(r){return r.reduce((e,t)=>e+t.length,0)}function li(r,e){if(r[0].length===e)return r.shift();let t=new Uint8Array(e),n=0;for(let s=0;s<e;s++)t[s]=r[0][n++],n===r[0].length&&(r.shift(),n=0);return r.length&&n<r[0].length&&(r[0]=r[0].slice(n)),t}function Jp(r,e){jo||(jo=new TextDecoder);let t=[],n=0,s=-1,i=!1;return new TransformStream({transform(a,c){for(t.push(a);;){if(n===0){if(ui(t)<1)break;let u=li(t,1);i=(u[0]&128)===128,s=u[0]&127,s<126?n=3:s===126?n=1:n=2}else if(n===1){if(ui(t)<2)break;let u=li(t,2);s=new DataView(u.buffer,u.byteOffset,u.length).getUint16(0),n=3}else if(n===2){if(ui(t)<8)break;let u=li(t,8),d=new DataView(u.buffer,u.byteOffset,u.length),g=d.getUint32(0);if(g>Math.pow(2,21)-1){c.enqueue(nu.ERROR_PACKET);break}s=g*Math.pow(2,32)+d.getUint32(4),n=3}else{if(ui(t)<s)break;let u=li(t,s);c.enqueue((0,qo.decodePacket)(i?u:jo.decode(u),e)),n=0}if(s===0||s>r){c.enqueue(nu.ERROR_PACKET);break}}}})}mt.protocol=4});var Yr=F(iu=>{iu.Emitter=dt;function dt(r){if(r)return Zp(r)}function Zp(r){for(var e in dt.prototype)r[e]=dt.prototype[e];return r}dt.prototype.on=dt.prototype.addEventListener=function(r,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+r]=this._callbacks["$"+r]||[]).push(e),this};dt.prototype.once=function(r,e){function t(){this.off(r,t),e.apply(this,arguments)}return t.fn=e,this.on(r,t),this};dt.prototype.off=dt.prototype.removeListener=dt.prototype.removeAllListeners=dt.prototype.removeEventListener=function(r,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+r];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+r],this;for(var n,s=0;s<t.length;s++)if(n=t[s],n===e||n.fn===e){t.splice(s,1);break}return t.length===0&&delete this._callbacks["$"+r],this};dt.prototype.emit=function(r){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),t=this._callbacks["$"+r],n=1;n<arguments.length;n++)e[n-1]=arguments[n];if(t){t=t.slice(0);for(var n=0,s=t.length;n<s;++n)t[n].apply(this,e)}return this};dt.prototype.emitReserved=dt.prototype.emit;dt.prototype.listeners=function(r){return this._callbacks=this._callbacks||{},this._callbacks["$"+r]||[]};dt.prototype.hasListeners=function(r){return!!this.listeners(r).length}});var Xr=F(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.CookieJar=Rt.defaultBinaryType=Rt.globalThisShim=Rt.nextTick=void 0;Rt.createCookieJar=Qp;Rt.parse=ou;Rt.nextTick=process.nextTick;Rt.globalThisShim=global;Rt.defaultBinaryType="nodebuffer";function Qp(){return new hi}function ou(r){let e=r.split("; "),t=e[0].indexOf("=");if(t===-1)return;let n=e[0].substring(0,t).trim();if(!n.length)return;let s=e[0].substring(t+1).trim();s.charCodeAt(0)===34&&(s=s.slice(1,-1));let i={name:n,value:s};for(let a=1;a<e.length;a++){let c=e[a].split("=");if(c.length!==2)continue;let u=c[0].trim(),d=c[1].trim();switch(u){case"Expires":i.expires=new Date(d);break;case"Max-Age":let g=new Date;g.setUTCSeconds(g.getUTCSeconds()+parseInt(d,10)),i.expires=g;break;default:}}return i}var hi=class{constructor(){this._cookies=new Map}parseCookies(e){e&&e.forEach(t=>{let n=ou(t);n&&this._cookies.set(n.name,n)})}get cookies(){let e=Date.now();return this._cookies.forEach((t,n)=>{var s;((s=t.expires)===null||s===void 0?void 0:s.getTime())<e&&this._cookies.delete(n)}),this._cookies.entries()}addCookies(e){let t=[];for(let[n,s]of this.cookies)t.push(`${n}=${s.value}`);t.length&&(e.setDisableHeaderCheck(!0),e.setRequestHeader("cookie",t.join("; ")))}appendCookies(e){for(let[t,n]of this.cookies)e.append("cookie",`${t}=${n.value}`)}};Rt.CookieJar=hi});var Jr=F(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.pick=eg;Sn.installTimerFunctions=ng;Sn.byteLength=ig;Sn.randomString=ag;var Ar=Xr();function eg(r,...e){return e.reduce((t,n)=>(r.hasOwnProperty(n)&&(t[n]=r[n]),t),{})}var tg=Ar.globalThisShim.setTimeout,rg=Ar.globalThisShim.clearTimeout;function ng(r,e){e.useNativeTimers?(r.setTimeoutFn=tg.bind(Ar.globalThisShim),r.clearTimeoutFn=rg.bind(Ar.globalThisShim)):(r.setTimeoutFn=Ar.globalThisShim.setTimeout.bind(Ar.globalThisShim),r.clearTimeoutFn=Ar.globalThisShim.clearTimeout.bind(Ar.globalThisShim))}var sg=1.33;function ig(r){return typeof r=="string"?og(r):Math.ceil((r.byteLength||r.size)*sg)}function og(r){let e=0,t=0;for(let n=0,s=r.length;n<s;n++)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:e<55296||e>=57344?t+=3:(n++,t+=4);return t}function ag(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}});var Wo=F(di=>{"use strict";Object.defineProperty(di,"__esModule",{value:!0});di.encode=cg;di.decode=fg;function cg(r){let e="";for(let t in r)r.hasOwnProperty(t)&&(e.length&&(e+="&"),e+=encodeURIComponent(t)+"="+encodeURIComponent(r[t]));return e}function fg(r){let e={},t=r.split("&");for(let n=0,s=t.length;n<s;n++){let i=t[n].split("=");e[decodeURIComponent(i[0])]=decodeURIComponent(i[1])}return e}});var cu=F((OE,au)=>{var Tn=1e3,Cn=Tn*60,On=Cn*60,Zr=On*24,ug=Zr*7,lg=Zr*365.25;au.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return hg(r);if(t==="number"&&isFinite(r))return e.long?pg(r):dg(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function hg(r){if(r=String(r),!(r.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(e){var t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*lg;case"weeks":case"week":case"w":return t*ug;case"days":case"day":case"d":return t*Zr;case"hours":case"hour":case"hrs":case"hr":case"h":return t*On;case"minutes":case"minute":case"mins":case"min":case"m":return t*Cn;case"seconds":case"second":case"secs":case"sec":case"s":return t*Tn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function dg(r){var e=Math.abs(r);return e>=Zr?Math.round(r/Zr)+"d":e>=On?Math.round(r/On)+"h":e>=Cn?Math.round(r/Cn)+"m":e>=Tn?Math.round(r/Tn)+"s":r+"ms"}function pg(r){var e=Math.abs(r);return e>=Zr?pi(r,e,Zr,"day"):e>=On?pi(r,e,On,"hour"):e>=Cn?pi(r,e,Cn,"minute"):e>=Tn?pi(r,e,Tn,"second"):r+" ms"}function pi(r,e,t,n){var s=e>=t*1.5;return Math.round(r/t)+" "+n+(s?"s":"")}});var Ho=F((kE,fu)=>{function gg(r){t.debug=t,t.default=t,t.coerce=u,t.disable=a,t.enable=s,t.enabled=c,t.humanize=cu(),t.destroy=d,Object.keys(r).forEach(g=>{t[g]=r[g]}),t.names=[],t.skips=[],t.formatters={};function e(g){let m=0;for(let y=0;y<g.length;y++)m=(m<<5)-m+g.charCodeAt(y),m|=0;return t.colors[Math.abs(m)%t.colors.length]}t.selectColor=e;function t(g){let m,y=null,w,S;function T(...V){if(!T.enabled)return;let ge=T,J=Number(new Date),A=J-(m||J);ge.diff=A,ge.prev=m,ge.curr=J,m=J,V[0]=t.coerce(V[0]),typeof V[0]!="string"&&V.unshift("%O");let R=0;V[0]=V[0].replace(/%([a-zA-Z%])/g,(j,Z)=>{if(j==="%%")return"%";R++;let ce=t.formatters[Z];if(typeof ce=="function"){let ie=V[R];j=ce.call(ge,ie),V.splice(R,1),R--}return j}),t.formatArgs.call(ge,V),(ge.log||t.log).apply(ge,V)}return T.namespace=g,T.useColors=t.useColors(),T.color=t.selectColor(g),T.extend=n,T.destroy=t.destroy,Object.defineProperty(T,"enabled",{enumerable:!0,configurable:!1,get:()=>y!==null?y:(w!==t.namespaces&&(w=t.namespaces,S=t.enabled(g)),S),set:V=>{y=V}}),typeof t.init=="function"&&t.init(T),T}function n(g,m){let y=t(this.namespace+(typeof m>"u"?":":m)+g);return y.log=this.log,y}function s(g){t.save(g),t.namespaces=g,t.names=[],t.skips=[];let m=(typeof g=="string"?g:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let y of m)y[0]==="-"?t.skips.push(y.slice(1)):t.names.push(y)}function i(g,m){let y=0,w=0,S=-1,T=0;for(;y<g.length;)if(w<m.length&&(m[w]===g[y]||m[w]==="*"))m[w]==="*"?(S=w,T=y,w++):(y++,w++);else if(S!==-1)w=S+1,T++,y=T;else return!1;for(;w<m.length&&m[w]==="*";)w++;return w===m.length}function a(){let g=[...t.names,...t.skips.map(m=>"-"+m)].join(",");return t.enable(""),g}function c(g){for(let m of t.skips)if(i(g,m))return!1;for(let m of t.names)if(i(g,m))return!0;return!1}function u(g){return g instanceof Error?g.stack||g.message:g}function d(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}fu.exports=gg});var uu=F((_t,gi)=>{_t.formatArgs=_g;_t.save=yg;_t.load=vg;_t.useColors=mg;_t.storage=Eg();_t.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();_t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function mg(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let r;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(r=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(r[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function _g(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+gi.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,s=>{s!=="%%"&&(t++,s==="%c"&&(n=t))}),r.splice(n,0,e)}_t.log=console.debug||console.log||(()=>{});function yg(r){try{r?_t.storage.setItem("debug",r):_t.storage.removeItem("debug")}catch{}}function vg(){let r;try{r=_t.storage.getItem("debug")||_t.storage.getItem("DEBUG")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Eg(){try{return localStorage}catch{}}gi.exports=Ho()(_t);var{formatters:wg}=gi.exports;wg.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var hu=F((RE,lu)=>{"use strict";lu.exports=(r,e=process.argv)=>{let t=r.startsWith("-")?"":r.length===1?"-":"--",n=e.indexOf(t+r),s=e.indexOf("--");return n!==-1&&(s===-1||n<s)}});var gu=F((PE,pu)=>{"use strict";var bg=require("os"),du=require("tty"),Pt=hu(),{env:rt}=process,Ir;Pt("no-color")||Pt("no-colors")||Pt("color=false")||Pt("color=never")?Ir=0:(Pt("color")||Pt("colors")||Pt("color=true")||Pt("color=always"))&&(Ir=1);"FORCE_COLOR"in rt&&(rt.FORCE_COLOR==="true"?Ir=1:rt.FORCE_COLOR==="false"?Ir=0:Ir=rt.FORCE_COLOR.length===0?1:Math.min(parseInt(rt.FORCE_COLOR,10),3));function Vo(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function Ko(r,e){if(Ir===0)return 0;if(Pt("color=16m")||Pt("color=full")||Pt("color=truecolor"))return 3;if(Pt("color=256"))return 2;if(r&&!e&&Ir===void 0)return 0;let t=Ir||0;if(rt.TERM==="dumb")return t;if(process.platform==="win32"){let n=bg.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in rt)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in rt)||rt.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in rt)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(rt.TEAMCITY_VERSION)?1:0;if(rt.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in rt){let n=parseInt((rt.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(rt.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(rt.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(rt.TERM)||"COLORTERM"in rt?1:t}function xg(r){let e=Ko(r,r&&r.isTTY);return Vo(e)}pu.exports={supportsColor:xg,stdout:Vo(Ko(!0,du.isatty(1))),stderr:Vo(Ko(!0,du.isatty(2)))}});var _u=F((nt,_i)=>{var Sg=require("tty"),mi=require("util");nt.init=Ag;nt.log=kg;nt.formatArgs=Cg;nt.save=Rg;nt.load=Pg;nt.useColors=Tg;nt.destroy=mi.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");nt.colors=[6,2,3,4,5,1];try{let r=gu();r&&(r.stderr||r).level>=2&&(nt.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}nt.inspectOpts=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(s,i)=>i.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),r[t]=n,r},{});function Tg(){return"colors"in nt.inspectOpts?!!nt.inspectOpts.colors:Sg.isatty(process.stderr.fd)}function Cg(r){let{namespace:e,useColors:t}=this;if(t){let n=this.color,s="\x1B[3"+(n<8?n:"8;5;"+n),i=` ${s};1m${e} \x1B[0m`;r[0]=i+r[0].split(`
15
+ `)}scheduleStatusUpdate(e,t){let n=this.states.get(e);n&&n.status!==t&&(n.pendingUpdate&&clearTimeout(n.pendingUpdate),n.pendingUpdate=setTimeout(()=>{this.emitStatus(e,t),n.pendingUpdate=null},os.DEBOUNCE_MS))}emitStatus(e,t){let n=this.states.get(e);if(!n||n.status===t)return;n.status=t,n.lastUpdate=Date.now();let s;t==="waiting"&&(s=this.detectPrompt(n.outputBuffer)||void 0),this.onStatusChange(e,t,s)}resetWorkingTimeout(e,t){t.workingTimeout&&clearTimeout(t.workingTimeout),t.status==="working"&&(t.workingTimeout=setTimeout(()=>{let n=this.states.get(e);n&&n.status==="working"&&(this.analyzeOutput(n.outputBuffer)==="waiting"?this.emitStatus(e,"waiting"):this.onStatusChange(e,"working",void 0))},os.WORKING_TIMEOUT_MS))}forceStatus(e,t){this.emitStatus(e,t)}getStatus(e){return this.states.get(e)?.status??null}dispose(){for(let e of this.states.keys())this.stopTracking(e)}};oi.StatusDetector=Fo});var Zf=F((wE,Jf)=>{var wn=require("fs"),Xf=require("url"),Kp=require("child_process").spawn;Jf.exports=Mo;Mo.XMLHttpRequest=Mo;function Mo(r){"use strict";r=r||{};var e=this,t=require("http"),n=require("https"),s,i,a={},c=!1,u={"User-Agent":"node-XMLHttpRequest",Accept:"*/*"},d=Object.assign({},u),g=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","content-transfer-encoding","cookie","cookie2","date","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"],m=["TRACE","TRACK","CONNECT"],y=!1,w=!1,S=!1,T={};this.UNSENT=0,this.OPENED=1,this.HEADERS_RECEIVED=2,this.LOADING=3,this.DONE=4,this.readyState=this.UNSENT,this.onreadystatechange=null,this.responseText="",this.responseXML="",this.response=Buffer.alloc(0),this.status=null,this.statusText=null;var V=function(A){return c||A&&g.indexOf(A.toLowerCase())===-1},ge=function(A){return A&&m.indexOf(A)===-1};this.open=function(A,R,ee,j,Z){if(this.abort(),w=!1,S=!1,!ge(A))throw new Error("SecurityError: Request method not allowed");a={method:A,url:R.toString(),async:typeof ee!="boolean"?!0:ee,user:j||null,password:Z||null},J(this.OPENED)},this.setDisableHeaderCheck=function(A){c=A},this.setRequestHeader=function(A,R){if(this.readyState!=this.OPENED)throw new Error("INVALID_STATE_ERR: setRequestHeader can only be called when state is OPEN");if(!V(A))return console.warn('Refused to set unsafe header "'+A+'"'),!1;if(y)throw new Error("INVALID_STATE_ERR: send flag is true");return d[A]=R,!0},this.getResponseHeader=function(A){return typeof A=="string"&&this.readyState>this.OPENED&&i.headers[A.toLowerCase()]&&!w?i.headers[A.toLowerCase()]:null},this.getAllResponseHeaders=function(){if(this.readyState<this.HEADERS_RECEIVED||w)return"";var A="";for(var R in i.headers)R!=="set-cookie"&&R!=="set-cookie2"&&(A+=R+": "+i.headers[R]+`\r
16
+ `);return A.substr(0,A.length-2)},this.getRequestHeader=function(A){return typeof A=="string"&&d[A]?d[A]:""},this.send=function(A){if(this.readyState!=this.OPENED)throw new Error("INVALID_STATE_ERR: connection must be opened before send() is called");if(y)throw new Error("INVALID_STATE_ERR: send has already been called");var R=!1,ee=!1,j=Xf.parse(a.url),Z;switch(j.protocol){case"https:":R=!0;case"http:":Z=j.hostname;break;case"file:":ee=!0;break;case void 0:case"":Z="localhost";break;default:throw new Error("Protocol not supported.")}if(ee){if(a.method!=="GET")throw new Error("XMLHttpRequest: Only GET method is supported");if(a.async)wn.readFile(unescape(j.pathname),function(L,oe){L?e.handleError(L,L.errno||-1):(e.status=200,e.responseText=oe.toString("utf8"),e.response=oe,J(e.DONE))});else try{this.response=wn.readFileSync(unescape(j.pathname)),this.responseText=this.response.toString("utf8"),this.status=200,J(e.DONE)}catch(L){this.handleError(L,L.errno||-1)}return}var ce=j.port||(R?443:80),ie=j.pathname+(j.search?j.search:"");if(d.Host=Z,R&&ce===443||ce===80||(d.Host+=":"+j.port),a.user){typeof a.password>"u"&&(a.password="");var _e=new Buffer(a.user+":"+a.password);d.Authorization="Basic "+_e.toString("base64")}if(a.method==="GET"||a.method==="HEAD")A=null;else if(A){d["Content-Length"]=Buffer.isBuffer(A)?A.length:Buffer.byteLength(A);var Ye=Object.keys(d);Ye.some(function(L){return L.toLowerCase()==="content-type"})||(d["Content-Type"]="text/plain;charset=UTF-8")}else a.method==="POST"&&(d["Content-Length"]=0);var Je=r.agent||!1,ve={host:Z,port:ce,path:ie,method:a.method,headers:d,agent:Je};if(R&&(ve.pfx=r.pfx,ve.key=r.key,ve.passphrase=r.passphrase,ve.cert=r.cert,ve.ca=r.ca,ve.ciphers=r.ciphers,ve.rejectUnauthorized=r.rejectUnauthorized!==!1),w=!1,a.async){var He=R?n.request:t.request;y=!0,e.dispatchEvent("readystatechange");var Fe=function(L){if(i=L,i.statusCode===302||i.statusCode===303||i.statusCode===307){a.url=i.headers.location;var oe=Xf.parse(a.url);Z=oe.hostname;var Ie={hostname:oe.hostname,port:oe.port,path:oe.path,method:i.statusCode===303?"GET":a.method,headers:d};R&&(Ie.pfx=r.pfx,Ie.key=r.key,Ie.passphrase=r.passphrase,Ie.cert=r.cert,Ie.ca=r.ca,Ie.ciphers=r.ciphers,Ie.rejectUnauthorized=r.rejectUnauthorized!==!1),s=He(Ie,Fe).on("error",Qe),s.end();return}J(e.HEADERS_RECEIVED),e.status=i.statusCode,i.on("data",function(lt){if(lt){var vt=Buffer.from(lt);e.response=Buffer.concat([e.response,vt])}y&&J(e.LOADING)}),i.on("end",function(){y&&(y=!1,J(e.DONE),e.responseText=e.response.toString("utf8"))}),i.on("error",function(lt){e.handleError(lt)})},Qe=function(L){if(s.reusedSocket&&L.code==="ECONNRESET")return He(ve,Fe).on("error",Qe);e.handleError(L)};s=He(ve,Fe).on("error",Qe),r.autoUnref&&s.on("socket",L=>{L.unref()}),A&&s.write(A),s.end(),e.dispatchEvent("loadstart")}else{var Ve=".node-xmlhttprequest-content-"+process.pid,Pe=".node-xmlhttprequest-sync-"+process.pid;wn.writeFileSync(Pe,"","utf8");for(var tt="var http = require('http'), https = require('https'), fs = require('fs');var doRequest = http"+(R?"s":"")+".request;var options = "+JSON.stringify(ve)+";var responseText = '';var responseData = Buffer.alloc(0);var req = doRequest(options, function(response) {response.on('data', function(chunk) { var data = Buffer.from(chunk); responseText += data.toString('utf8'); responseData = Buffer.concat([responseData, data]);});response.on('end', function() {fs.writeFileSync('"+Ve+"', JSON.stringify({err: null, data: {statusCode: response.statusCode, headers: response.headers, text: responseText, data: responseData.toString('base64')}}), 'utf8');fs.unlinkSync('"+Pe+"');});response.on('error', function(error) {fs.writeFileSync('"+Ve+"', 'NODE-XMLHTTPREQUEST-ERROR:' + JSON.stringify(error), 'utf8');fs.unlinkSync('"+Pe+"');});}).on('error', function(error) {fs.writeFileSync('"+Ve+"', 'NODE-XMLHTTPREQUEST-ERROR:' + JSON.stringify(error), 'utf8');fs.unlinkSync('"+Pe+"');});"+(A?"req.write('"+JSON.stringify(A).slice(1,-1).replace(/'/g,"\\'")+"');":"")+"req.end();",W=Kp(process.argv[0],["-e",tt]),we;wn.existsSync(Pe););if(e.responseText=wn.readFileSync(Ve,"utf8"),W.stdin.end(),wn.unlinkSync(Ve),e.responseText.match(/^NODE-XMLHTTPREQUEST-ERROR:/)){var P=JSON.parse(e.responseText.replace(/^NODE-XMLHTTPREQUEST-ERROR:/,""));e.handleError(P,503)}else{e.status=e.responseText.replace(/^NODE-XMLHTTPREQUEST-STATUS:([0-9]*),.*/,"$1");var B=JSON.parse(e.responseText.replace(/^NODE-XMLHTTPREQUEST-STATUS:[0-9]*,(.*)/,"$1"));i={statusCode:e.status,headers:B.data.headers},e.responseText=B.data.text,e.response=Buffer.from(B.data.data,"base64"),J(e.DONE,!0)}}},this.handleError=function(A,R){this.status=R||0,this.statusText=A,this.responseText=A.stack,w=!0,J(this.DONE)},this.abort=function(){s&&(s.abort(),s=null),d=Object.assign({},u),this.responseText="",this.responseXML="",this.response=Buffer.alloc(0),w=S=!0,this.readyState!==this.UNSENT&&(this.readyState!==this.OPENED||y)&&this.readyState!==this.DONE&&(y=!1,J(this.DONE)),this.readyState=this.UNSENT},this.addEventListener=function(A,R){A in T||(T[A]=[]),T[A].push(R)},this.removeEventListener=function(A,R){A in T&&(T[A]=T[A].filter(function(ee){return ee!==R}))},this.dispatchEvent=function(A){if(typeof e["on"+A]=="function"&&(this.readyState===this.DONE&&a.async?setTimeout(function(){e["on"+A]()},0):e["on"+A]()),A in T)for(let R=0,ee=T[A].length;R<ee;R++)this.readyState===this.DONE?setTimeout(function(){T[A][R].call(e)},0):T[A][R].call(e)};var J=function(A){if(!(e.readyState===A||e.readyState===e.UNSENT&&S)&&(e.readyState=A,(a.async||e.readyState<e.OPENED||e.readyState===e.DONE)&&e.dispatchEvent("readystatechange"),e.readyState===e.DONE)){let R;S?R="abort":w?R="error":R="load",e.dispatchEvent(R),e.dispatchEvent("loadend")}}}});var ai=F(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.ERROR_PACKET=Pr.PACKET_TYPES_REVERSE=Pr.PACKET_TYPES=void 0;var Xt=Object.create(null);Pr.PACKET_TYPES=Xt;Xt.open="0";Xt.close="1";Xt.ping="2";Xt.pong="3";Xt.message="4";Xt.upgrade="5";Xt.noop="6";var Qf=Object.create(null);Pr.PACKET_TYPES_REVERSE=Qf;Object.keys(Xt).forEach(r=>{Qf[Xt[r]]=r});var $p={type:"error",data:"parser error"};Pr.ERROR_PACKET=$p});var tu=F(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.encodePacket=void 0;bn.encodePacketToBinary=Yp;var zp=ai(),Gp=({type:r,data:e},t,n)=>e instanceof ArrayBuffer||ArrayBuffer.isView(e)?n(t?e:"b"+eu(e,!0).toString("base64")):n(zp.PACKET_TYPES[r]+(e||""));bn.encodePacket=Gp;var eu=(r,e)=>Buffer.isBuffer(r)||r instanceof Uint8Array&&!e?r:r instanceof ArrayBuffer?Buffer.from(r):Buffer.from(r.buffer,r.byteOffset,r.byteLength),Bo;function Yp(r,e){if(r.data instanceof ArrayBuffer||ArrayBuffer.isView(r.data))return e(eu(r.data,!1));(0,bn.encodePacket)(r,!0,t=>{Bo||(Bo=new TextEncoder),e(Bo.encode(t))})}});var nu=F(fi=>{"use strict";Object.defineProperty(fi,"__esModule",{value:!0});fi.decodePacket=void 0;var ci=ai(),Xp=(r,e)=>{if(typeof r!="string")return{type:"message",data:ru(r,e)};let t=r.charAt(0);if(t==="b"){let n=Buffer.from(r.substring(1),"base64");return{type:"message",data:ru(n,e)}}return ci.PACKET_TYPES_REVERSE[t]?r.length>1?{type:ci.PACKET_TYPES_REVERSE[t],data:r.substring(1)}:{type:ci.PACKET_TYPES_REVERSE[t]}:ci.ERROR_PACKET};fi.decodePacket=Xp;var ru=(r,e)=>e==="arraybuffer"?r instanceof ArrayBuffer?r:Buffer.isBuffer(r)?r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength):r.buffer:Buffer.isBuffer(r)?r:Buffer.from(r)});var xn=F(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.decodePayload=mt.decodePacket=mt.encodePayload=mt.encodePacket=mt.protocol=void 0;mt.createPacketEncoderStream=Qp;mt.createPacketDecoderStream=eg;var Uo=tu();Object.defineProperty(mt,"encodePacket",{enumerable:!0,get:function(){return Uo.encodePacket}});var qo=nu();Object.defineProperty(mt,"decodePacket",{enumerable:!0,get:function(){return qo.decodePacket}});var su=ai(),iu="",Jp=(r,e)=>{let t=r.length,n=new Array(t),s=0;r.forEach((i,a)=>{(0,Uo.encodePacket)(i,!1,c=>{n[a]=c,++s===t&&e(n.join(iu))})})};mt.encodePayload=Jp;var Zp=(r,e)=>{let t=r.split(iu),n=[];for(let s=0;s<t.length;s++){let i=(0,qo.decodePacket)(t[s],e);if(n.push(i),i.type==="error")break}return n};mt.decodePayload=Zp;function Qp(){return new TransformStream({transform(r,e){(0,Uo.encodePacketToBinary)(r,t=>{let n=t.length,s;if(n<126)s=new Uint8Array(1),new DataView(s.buffer).setUint8(0,n);else if(n<65536){s=new Uint8Array(3);let i=new DataView(s.buffer);i.setUint8(0,126),i.setUint16(1,n)}else{s=new Uint8Array(9);let i=new DataView(s.buffer);i.setUint8(0,127),i.setBigUint64(1,BigInt(n))}r.data&&typeof r.data!="string"&&(s[0]|=128),e.enqueue(s),e.enqueue(t)})}})}var jo;function ui(r){return r.reduce((e,t)=>e+t.length,0)}function li(r,e){if(r[0].length===e)return r.shift();let t=new Uint8Array(e),n=0;for(let s=0;s<e;s++)t[s]=r[0][n++],n===r[0].length&&(r.shift(),n=0);return r.length&&n<r[0].length&&(r[0]=r[0].slice(n)),t}function eg(r,e){jo||(jo=new TextDecoder);let t=[],n=0,s=-1,i=!1;return new TransformStream({transform(a,c){for(t.push(a);;){if(n===0){if(ui(t)<1)break;let u=li(t,1);i=(u[0]&128)===128,s=u[0]&127,s<126?n=3:s===126?n=1:n=2}else if(n===1){if(ui(t)<2)break;let u=li(t,2);s=new DataView(u.buffer,u.byteOffset,u.length).getUint16(0),n=3}else if(n===2){if(ui(t)<8)break;let u=li(t,8),d=new DataView(u.buffer,u.byteOffset,u.length),g=d.getUint32(0);if(g>Math.pow(2,21)-1){c.enqueue(su.ERROR_PACKET);break}s=g*Math.pow(2,32)+d.getUint32(4),n=3}else{if(ui(t)<s)break;let u=li(t,s);c.enqueue((0,qo.decodePacket)(i?u:jo.decode(u),e)),n=0}if(s===0||s>r){c.enqueue(su.ERROR_PACKET);break}}}})}mt.protocol=4});var Yr=F(ou=>{ou.Emitter=dt;function dt(r){if(r)return tg(r)}function tg(r){for(var e in dt.prototype)r[e]=dt.prototype[e];return r}dt.prototype.on=dt.prototype.addEventListener=function(r,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+r]=this._callbacks["$"+r]||[]).push(e),this};dt.prototype.once=function(r,e){function t(){this.off(r,t),e.apply(this,arguments)}return t.fn=e,this.on(r,t),this};dt.prototype.off=dt.prototype.removeListener=dt.prototype.removeAllListeners=dt.prototype.removeEventListener=function(r,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+r];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+r],this;for(var n,s=0;s<t.length;s++)if(n=t[s],n===e||n.fn===e){t.splice(s,1);break}return t.length===0&&delete this._callbacks["$"+r],this};dt.prototype.emit=function(r){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),t=this._callbacks["$"+r],n=1;n<arguments.length;n++)e[n-1]=arguments[n];if(t){t=t.slice(0);for(var n=0,s=t.length;n<s;++n)t[n].apply(this,e)}return this};dt.prototype.emitReserved=dt.prototype.emit;dt.prototype.listeners=function(r){return this._callbacks=this._callbacks||{},this._callbacks["$"+r]||[]};dt.prototype.hasListeners=function(r){return!!this.listeners(r).length}});var Xr=F(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.CookieJar=Rt.defaultBinaryType=Rt.globalThisShim=Rt.nextTick=void 0;Rt.createCookieJar=rg;Rt.parse=au;Rt.nextTick=process.nextTick;Rt.globalThisShim=global;Rt.defaultBinaryType="nodebuffer";function rg(){return new hi}function au(r){let e=r.split("; "),t=e[0].indexOf("=");if(t===-1)return;let n=e[0].substring(0,t).trim();if(!n.length)return;let s=e[0].substring(t+1).trim();s.charCodeAt(0)===34&&(s=s.slice(1,-1));let i={name:n,value:s};for(let a=1;a<e.length;a++){let c=e[a].split("=");if(c.length!==2)continue;let u=c[0].trim(),d=c[1].trim();switch(u){case"Expires":i.expires=new Date(d);break;case"Max-Age":let g=new Date;g.setUTCSeconds(g.getUTCSeconds()+parseInt(d,10)),i.expires=g;break;default:}}return i}var hi=class{constructor(){this._cookies=new Map}parseCookies(e){e&&e.forEach(t=>{let n=au(t);n&&this._cookies.set(n.name,n)})}get cookies(){let e=Date.now();return this._cookies.forEach((t,n)=>{var s;((s=t.expires)===null||s===void 0?void 0:s.getTime())<e&&this._cookies.delete(n)}),this._cookies.entries()}addCookies(e){let t=[];for(let[n,s]of this.cookies)t.push(`${n}=${s.value}`);t.length&&(e.setDisableHeaderCheck(!0),e.setRequestHeader("cookie",t.join("; ")))}appendCookies(e){for(let[t,n]of this.cookies)e.append("cookie",`${t}=${n.value}`)}};Rt.CookieJar=hi});var Jr=F(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.pick=ng;Sn.installTimerFunctions=og;Sn.byteLength=cg;Sn.randomString=ug;var Ar=Xr();function ng(r,...e){return e.reduce((t,n)=>(r.hasOwnProperty(n)&&(t[n]=r[n]),t),{})}var sg=Ar.globalThisShim.setTimeout,ig=Ar.globalThisShim.clearTimeout;function og(r,e){e.useNativeTimers?(r.setTimeoutFn=sg.bind(Ar.globalThisShim),r.clearTimeoutFn=ig.bind(Ar.globalThisShim)):(r.setTimeoutFn=Ar.globalThisShim.setTimeout.bind(Ar.globalThisShim),r.clearTimeoutFn=Ar.globalThisShim.clearTimeout.bind(Ar.globalThisShim))}var ag=1.33;function cg(r){return typeof r=="string"?fg(r):Math.ceil((r.byteLength||r.size)*ag)}function fg(r){let e=0,t=0;for(let n=0,s=r.length;n<s;n++)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:e<55296||e>=57344?t+=3:(n++,t+=4);return t}function ug(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}});var Wo=F(di=>{"use strict";Object.defineProperty(di,"__esModule",{value:!0});di.encode=lg;di.decode=hg;function lg(r){let e="";for(let t in r)r.hasOwnProperty(t)&&(e.length&&(e+="&"),e+=encodeURIComponent(t)+"="+encodeURIComponent(r[t]));return e}function hg(r){let e={},t=r.split("&");for(let n=0,s=t.length;n<s;n++){let i=t[n].split("=");e[decodeURIComponent(i[0])]=decodeURIComponent(i[1])}return e}});var fu=F((PE,cu)=>{var Tn=1e3,Cn=Tn*60,On=Cn*60,Zr=On*24,dg=Zr*7,pg=Zr*365.25;cu.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return gg(r);if(t==="number"&&isFinite(r))return e.long?_g(r):mg(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function gg(r){if(r=String(r),!(r.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(e){var t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*pg;case"weeks":case"week":case"w":return t*dg;case"days":case"day":case"d":return t*Zr;case"hours":case"hour":case"hrs":case"hr":case"h":return t*On;case"minutes":case"minute":case"mins":case"min":case"m":return t*Cn;case"seconds":case"second":case"secs":case"sec":case"s":return t*Tn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function mg(r){var e=Math.abs(r);return e>=Zr?Math.round(r/Zr)+"d":e>=On?Math.round(r/On)+"h":e>=Cn?Math.round(r/Cn)+"m":e>=Tn?Math.round(r/Tn)+"s":r+"ms"}function _g(r){var e=Math.abs(r);return e>=Zr?pi(r,e,Zr,"day"):e>=On?pi(r,e,On,"hour"):e>=Cn?pi(r,e,Cn,"minute"):e>=Tn?pi(r,e,Tn,"second"):r+" ms"}function pi(r,e,t,n){var s=e>=t*1.5;return Math.round(r/t)+" "+n+(s?"s":"")}});var Ho=F((AE,uu)=>{function yg(r){t.debug=t,t.default=t,t.coerce=u,t.disable=a,t.enable=s,t.enabled=c,t.humanize=fu(),t.destroy=d,Object.keys(r).forEach(g=>{t[g]=r[g]}),t.names=[],t.skips=[],t.formatters={};function e(g){let m=0;for(let y=0;y<g.length;y++)m=(m<<5)-m+g.charCodeAt(y),m|=0;return t.colors[Math.abs(m)%t.colors.length]}t.selectColor=e;function t(g){let m,y=null,w,S;function T(...V){if(!T.enabled)return;let ge=T,J=Number(new Date),A=J-(m||J);ge.diff=A,ge.prev=m,ge.curr=J,m=J,V[0]=t.coerce(V[0]),typeof V[0]!="string"&&V.unshift("%O");let R=0;V[0]=V[0].replace(/%([a-zA-Z%])/g,(j,Z)=>{if(j==="%%")return"%";R++;let ce=t.formatters[Z];if(typeof ce=="function"){let ie=V[R];j=ce.call(ge,ie),V.splice(R,1),R--}return j}),t.formatArgs.call(ge,V),(ge.log||t.log).apply(ge,V)}return T.namespace=g,T.useColors=t.useColors(),T.color=t.selectColor(g),T.extend=n,T.destroy=t.destroy,Object.defineProperty(T,"enabled",{enumerable:!0,configurable:!1,get:()=>y!==null?y:(w!==t.namespaces&&(w=t.namespaces,S=t.enabled(g)),S),set:V=>{y=V}}),typeof t.init=="function"&&t.init(T),T}function n(g,m){let y=t(this.namespace+(typeof m>"u"?":":m)+g);return y.log=this.log,y}function s(g){t.save(g),t.namespaces=g,t.names=[],t.skips=[];let m=(typeof g=="string"?g:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let y of m)y[0]==="-"?t.skips.push(y.slice(1)):t.names.push(y)}function i(g,m){let y=0,w=0,S=-1,T=0;for(;y<g.length;)if(w<m.length&&(m[w]===g[y]||m[w]==="*"))m[w]==="*"?(S=w,T=y,w++):(y++,w++);else if(S!==-1)w=S+1,T++,y=T;else return!1;for(;w<m.length&&m[w]==="*";)w++;return w===m.length}function a(){let g=[...t.names,...t.skips.map(m=>"-"+m)].join(",");return t.enable(""),g}function c(g){for(let m of t.skips)if(i(g,m))return!1;for(let m of t.names)if(i(g,m))return!0;return!1}function u(g){return g instanceof Error?g.stack||g.message:g}function d(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}uu.exports=yg});var lu=F((_t,gi)=>{_t.formatArgs=Eg;_t.save=wg;_t.load=bg;_t.useColors=vg;_t.storage=xg();_t.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();_t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function vg(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let r;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(r=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(r[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Eg(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+gi.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,s=>{s!=="%%"&&(t++,s==="%c"&&(n=t))}),r.splice(n,0,e)}_t.log=console.debug||console.log||(()=>{});function wg(r){try{r?_t.storage.setItem("debug",r):_t.storage.removeItem("debug")}catch{}}function bg(){let r;try{r=_t.storage.getItem("debug")||_t.storage.getItem("DEBUG")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function xg(){try{return localStorage}catch{}}gi.exports=Ho()(_t);var{formatters:Sg}=gi.exports;Sg.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var du=F((IE,hu)=>{"use strict";hu.exports=(r,e=process.argv)=>{let t=r.startsWith("-")?"":r.length===1?"-":"--",n=e.indexOf(t+r),s=e.indexOf("--");return n!==-1&&(s===-1||n<s)}});var mu=F((LE,gu)=>{"use strict";var Tg=require("os"),pu=require("tty"),Pt=du(),{env:rt}=process,Ir;Pt("no-color")||Pt("no-colors")||Pt("color=false")||Pt("color=never")?Ir=0:(Pt("color")||Pt("colors")||Pt("color=true")||Pt("color=always"))&&(Ir=1);"FORCE_COLOR"in rt&&(rt.FORCE_COLOR==="true"?Ir=1:rt.FORCE_COLOR==="false"?Ir=0:Ir=rt.FORCE_COLOR.length===0?1:Math.min(parseInt(rt.FORCE_COLOR,10),3));function Vo(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function Ko(r,e){if(Ir===0)return 0;if(Pt("color=16m")||Pt("color=full")||Pt("color=truecolor"))return 3;if(Pt("color=256"))return 2;if(r&&!e&&Ir===void 0)return 0;let t=Ir||0;if(rt.TERM==="dumb")return t;if(process.platform==="win32"){let n=Tg.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in rt)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in rt)||rt.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in rt)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(rt.TEAMCITY_VERSION)?1:0;if(rt.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in rt){let n=parseInt((rt.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(rt.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(rt.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(rt.TERM)||"COLORTERM"in rt?1:t}function Cg(r){let e=Ko(r,r&&r.isTTY);return Vo(e)}gu.exports={supportsColor:Cg,stdout:Vo(Ko(!0,pu.isatty(1))),stderr:Vo(Ko(!0,pu.isatty(2)))}});var yu=F((nt,_i)=>{var Og=require("tty"),mi=require("util");nt.init=Ng;nt.log=Ag;nt.formatArgs=Rg;nt.save=Ig;nt.load=Lg;nt.useColors=kg;nt.destroy=mi.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");nt.colors=[6,2,3,4,5,1];try{let r=mu();r&&(r.stderr||r).level>=2&&(nt.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}nt.inspectOpts=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(s,i)=>i.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),r[t]=n,r},{});function kg(){return"colors"in nt.inspectOpts?!!nt.inspectOpts.colors:Og.isatty(process.stderr.fd)}function Rg(r){let{namespace:e,useColors:t}=this;if(t){let n=this.color,s="\x1B[3"+(n<8?n:"8;5;"+n),i=` ${s};1m${e} \x1B[0m`;r[0]=i+r[0].split(`
17
17
  `).join(`
18
- `+i),r.push(s+"m+"+_i.exports.humanize(this.diff)+"\x1B[0m")}else r[0]=Og()+e+" "+r[0]}function Og(){return nt.inspectOpts.hideDate?"":new Date().toISOString()+" "}function kg(...r){return process.stderr.write(mi.formatWithOptions(nt.inspectOpts,...r)+`
19
- `)}function Rg(r){r?process.env.DEBUG=r:delete process.env.DEBUG}function Pg(){return process.env.DEBUG}function Ag(r){r.inspectOpts={};let e=Object.keys(nt.inspectOpts);for(let t=0;t<e.length;t++)r.inspectOpts[e[t]]=nt.inspectOpts[e[t]]}_i.exports=Ho()(nt);var{formatters:mu}=_i.exports;mu.o=function(r){return this.inspectOpts.colors=this.useColors,mi.inspect(r,this.inspectOpts).split(`
20
- `).map(e=>e.trim()).join(" ")};mu.O=function(r){return this.inspectOpts.colors=this.useColors,mi.inspect(r,this.inspectOpts)}});var At=F((AE,zo)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?zo.exports=uu():zo.exports=_u()});var as=F(Lr=>{"use strict";var Ig=Lr&&Lr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Lr,"__esModule",{value:!0});Lr.Transport=Lr.TransportError=void 0;var Lg=xn(),Ng=Yr(),Dg=Jr(),Fg=Wo(),Mg=Ig(At()),Bg=(0,Mg.default)("engine.io-client:transport"),yi=class extends Error{constructor(e,t,n){super(e),this.description=t,this.context=n,this.type="TransportError"}};Lr.TransportError=yi;var $o=class extends Ng.Emitter{constructor(e){super(),this.writable=!1,(0,Dg.installTimerFunctions)(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}onError(e,t,n){return super.emitReserved("error",new yi(e,t,n)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(e){this.readyState==="open"?this.write(e):Bg("transport is not open, discarding packets")}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){let t=(0,Lg.decodePacket)(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){let e=this.opts.hostname;return e.indexOf(":")===-1?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(this.opts.port)!==443||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(e){let t=(0,Fg.encode)(e);return t.length?"?"+t:""}};Lr.Transport=$o});var Yo=F(kn=>{"use strict";var jg=kn&&kn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(kn,"__esModule",{value:!0});kn.Polling=void 0;var Ug=as(),qg=Jr(),yu=xn(),Wg=jg(At()),Bt=(0,Wg.default)("engine.io-client:polling"),Go=class extends Ug.Transport{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(e){this.readyState="pausing";let t=()=>{Bt("paused"),this.readyState="paused",e()};if(this._polling||!this.writable){let n=0;this._polling&&(Bt("we are currently polling - waiting to pause"),n++,this.once("pollComplete",function(){Bt("pre-pause polling complete"),--n||t()})),this.writable||(Bt("we are currently writing - waiting to pause"),n++,this.once("drain",function(){Bt("pre-pause writing complete"),--n||t()}))}else t()}_poll(){Bt("polling"),this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){Bt("polling got data %s",e);let t=n=>{if(this.readyState==="opening"&&n.type==="open"&&this.onOpen(),n.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(n)};(0,yu.decodePayload)(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"?this._poll():Bt('ignoring poll - transport state "%s"',this.readyState))}doClose(){let e=()=>{Bt("writing close packet"),this.write([{type:"close"}])};this.readyState==="open"?(Bt("transport open - closing"),e()):(Bt("transport not open - deferring close"),this.once("open",e))}write(e){this.writable=!1,(0,yu.encodePayload)(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){let e=this.opts.secure?"https":"http",t=this.query||{};return this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=(0,qg.randomString)()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}};kn.Polling=Go});var Eu=F(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.hasCORS=void 0;var vu=!1;try{vu=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}vi.hasCORS=vu});var Zo=F(Jt=>{"use strict";var Hg=Jt&&Jt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Jt,"__esModule",{value:!0});Jt.XHR=Jt.Request=Jt.BaseXHR=void 0;var Vg=Yo(),Kg=Yr(),wu=Jr(),xu=Xr(),zg=Eu(),$g=Hg(At()),Xo=(0,$g.default)("engine.io-client:polling");function Gg(){}var Ei=class extends Vg.Polling{constructor(e){if(super(e),typeof location<"u"){let t=location.protocol==="https:",n=location.port;n||(n=t?"443":"80"),this.xd=typeof location<"u"&&e.hostname!==location.hostname||n!==e.port}}doWrite(e,t){let n=this.request({method:"POST",data:e});n.on("success",t),n.on("error",(s,i)=>{this.onError("xhr post error",s,i)})}doPoll(){Xo("xhr poll");let e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(t,n)=>{this.onError("xhr poll error",t,n)}),this.pollXhr=e}};Jt.BaseXHR=Ei;var hr=class r extends Kg.Emitter{constructor(e,t,n){super(),this.createRequest=e,(0,wu.installTimerFunctions)(this,n),this._opts=n,this._method=n.method||"GET",this._uri=t,this._data=n.data!==void 0?n.data:null,this._create()}_create(){var e;let t=(0,wu.pick)(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this._opts.xd;let n=this._xhr=this.createRequest(t);try{Xo("xhr open %s: %s",this._method,this._uri),n.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0);for(let s in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(s)&&n.setRequestHeader(s,this._opts.extraHeaders[s])}}catch{}if(this._method==="POST")try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{n.setRequestHeader("Accept","*/*")}catch{}(e=this._opts.cookieJar)===null||e===void 0||e.addCookies(n),"withCredentials"in n&&(n.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(n.timeout=this._opts.requestTimeout),n.onreadystatechange=()=>{var s;n.readyState===3&&((s=this._opts.cookieJar)===null||s===void 0||s.parseCookies(n.getResponseHeader("set-cookie"))),n.readyState===4&&(n.status===200||n.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof n.status=="number"?n.status:0)},0))},Xo("xhr data %s",this._data),n.send(this._data)}catch(s){this.setTimeoutFn(()=>{this._onError(s)},0);return}typeof document<"u"&&(this._index=r.requestsCount++,r.requests[this._index]=this)}_onError(e){this.emitReserved("error",e,this._xhr),this._cleanup(!0)}_cleanup(e){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=Gg,e)try{this._xhr.abort()}catch{}typeof document<"u"&&delete r.requests[this._index],this._xhr=null}}_onLoad(){let e=this._xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}};Jt.Request=hr;hr.requestsCount=0;hr.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",bu);else if(typeof addEventListener=="function"){let r="onpagehide"in xu.globalThisShim?"pagehide":"unload";addEventListener(r,bu,!1)}}function bu(){for(let r in hr.requests)hr.requests.hasOwnProperty(r)&&hr.requests[r].abort()}var Yg=(function(){let r=Su({xdomain:!1});return r&&r.responseType!==null})(),Jo=class extends Ei{constructor(e){super(e);let t=e&&e.forceBase64;this.supportsBinary=Yg&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new hr(Su,this.uri(),e)}};Jt.XHR=Jo;function Su(r){let e=r.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||zg.hasCORS))return new XMLHttpRequest}catch{}if(!e)try{return new xu.globalThisShim[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}});var ea=F(Zt=>{"use strict";var Xg=Zt&&Zt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),Jg=Zt&&Zt.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),Zg=Zt&&Zt.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&Xg(e,r,t);return Jg(e,r),e};Object.defineProperty(Zt,"__esModule",{value:!0});Zt.XHR=void 0;var Tu=Zg(Jf()),Cu=Zo(),Qg=Tu.default||Tu,Qo=class extends Cu.BaseXHR{request(e={}){var t;return Object.assign(e,{xd:this.xd,cookieJar:(t=this.socket)===null||t===void 0?void 0:t._cookieJar},this.opts),new Cu.Request(n=>new Qg(n),this.uri(),e)}};Zt.XHR=Qo});var dr=F((ME,Ru)=>{"use strict";var Ou=["nodebuffer","arraybuffer","fragments"],ku=typeof Blob<"u";ku&&Ou.push("blob");Ru.exports={BINARY_TYPES:Ou,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:ku,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var cs=F((BE,wi)=>{"use strict";var{EMPTY_BUFFER:em}=dr(),ta=Buffer[Symbol.species];function tm(r,e){if(r.length===0)return em;if(r.length===1)return r[0];let t=Buffer.allocUnsafe(e),n=0;for(let s=0;s<r.length;s++){let i=r[s];t.set(i,n),n+=i.length}return n<e?new ta(t.buffer,t.byteOffset,n):t}function Pu(r,e,t,n,s){for(let i=0;i<s;i++)t[n+i]=r[i]^e[i&3]}function Au(r,e){for(let t=0;t<r.length;t++)r[t]^=e[t&3]}function rm(r){return r.length===r.buffer.byteLength?r.buffer:r.buffer.slice(r.byteOffset,r.byteOffset+r.length)}function ra(r){if(ra.readOnly=!0,Buffer.isBuffer(r))return r;let e;return r instanceof ArrayBuffer?e=new ta(r):ArrayBuffer.isView(r)?e=new ta(r.buffer,r.byteOffset,r.byteLength):(e=Buffer.from(r),ra.readOnly=!1),e}wi.exports={concat:tm,mask:Pu,toArrayBuffer:rm,toBuffer:ra,unmask:Au};if(!process.env.WS_NO_BUFFER_UTIL)try{let r=require("bufferutil");wi.exports.mask=function(e,t,n,s,i){i<48?Pu(e,t,n,s,i):r.mask(e,t,n,s,i)},wi.exports.unmask=function(e,t){e.length<32?Au(e,t):r.unmask(e,t)}}catch{}});var Nu=F((jE,Lu)=>{"use strict";var Iu=Symbol("kDone"),na=Symbol("kRun"),sa=class{constructor(e){this[Iu]=()=>{this.pending--,this[na]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[na]()}[na](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[Iu])}}};Lu.exports=sa});var us=F((UE,Bu)=>{"use strict";var fs=require("zlib"),Du=cs(),nm=Nu(),{kStatusCode:Fu}=dr(),sm=Buffer[Symbol.species],im=Buffer.from([0,0,255,255]),xi=Symbol("permessage-deflate"),pr=Symbol("total-length"),Rn=Symbol("callback"),Nr=Symbol("buffers"),Pn=Symbol("error"),bi,ia=class{constructor(e,t,n){if(this._maxPayload=n|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!bi){let s=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;bi=new nm(s)}}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[Rn];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,n=e.find(s=>!(t.serverNoContextTakeover===!1&&s.server_no_context_takeover||s.server_max_window_bits&&(t.serverMaxWindowBits===!1||typeof t.serverMaxWindowBits=="number"&&t.serverMaxWindowBits>s.server_max_window_bits)||typeof t.clientMaxWindowBits=="number"&&!s.client_max_window_bits));if(!n)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(n.server_no_context_takeover=!0),t.clientNoContextTakeover&&(n.client_no_context_takeover=!0),typeof t.serverMaxWindowBits=="number"&&(n.server_max_window_bits=t.serverMaxWindowBits),typeof t.clientMaxWindowBits=="number"?n.client_max_window_bits=t.clientMaxWindowBits:(n.client_max_window_bits===!0||t.clientMaxWindowBits===!1)&&delete n.client_max_window_bits,n}acceptAsClient(e){let t=e[0];if(this._options.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!t.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(t.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return t}normalizeParams(e){return e.forEach(t=>{Object.keys(t).forEach(n=>{let s=t[n];if(s.length>1)throw new Error(`Parameter "${n}" must have only a single value`);if(s=s[0],n==="client_max_window_bits"){if(s!==!0){let i=+s;if(!Number.isInteger(i)||i<8||i>15)throw new TypeError(`Invalid value for parameter "${n}": ${s}`);s=i}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${n}": ${s}`)}else if(n==="server_max_window_bits"){let i=+s;if(!Number.isInteger(i)||i<8||i>15)throw new TypeError(`Invalid value for parameter "${n}": ${s}`);s=i}else if(n==="client_no_context_takeover"||n==="server_no_context_takeover"){if(s!==!0)throw new TypeError(`Invalid value for parameter "${n}": ${s}`)}else throw new Error(`Unknown parameter "${n}"`);t[n]=s})}),e}decompress(e,t,n){bi.add(s=>{this._decompress(e,t,(i,a)=>{s(),n(i,a)})})}compress(e,t,n){bi.add(s=>{this._compress(e,t,(i,a)=>{s(),n(i,a)})})}_decompress(e,t,n){let s=this._isServer?"client":"server";if(!this._inflate){let i=`${s}_max_window_bits`,a=typeof this.params[i]!="number"?fs.Z_DEFAULT_WINDOWBITS:this.params[i];this._inflate=fs.createInflateRaw({...this._options.zlibInflateOptions,windowBits:a}),this._inflate[xi]=this,this._inflate[pr]=0,this._inflate[Nr]=[],this._inflate.on("error",am),this._inflate.on("data",Mu)}this._inflate[Rn]=n,this._inflate.write(e),t&&this._inflate.write(im),this._inflate.flush(()=>{let i=this._inflate[Pn];if(i){this._inflate.close(),this._inflate=null,n(i);return}let a=Du.concat(this._inflate[Nr],this._inflate[pr]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[pr]=0,this._inflate[Nr]=[],t&&this.params[`${s}_no_context_takeover`]&&this._inflate.reset()),n(null,a)})}_compress(e,t,n){let s=this._isServer?"server":"client";if(!this._deflate){let i=`${s}_max_window_bits`,a=typeof this.params[i]!="number"?fs.Z_DEFAULT_WINDOWBITS:this.params[i];this._deflate=fs.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:a}),this._deflate[pr]=0,this._deflate[Nr]=[],this._deflate.on("data",om)}this._deflate[Rn]=n,this._deflate.write(e),this._deflate.flush(fs.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let i=Du.concat(this._deflate[Nr],this._deflate[pr]);t&&(i=new sm(i.buffer,i.byteOffset,i.length-4)),this._deflate[Rn]=null,this._deflate[pr]=0,this._deflate[Nr]=[],t&&this.params[`${s}_no_context_takeover`]&&this._deflate.reset(),n(null,i)})}};Bu.exports=ia;function om(r){this[Nr].push(r),this[pr]+=r.length}function Mu(r){if(this[pr]+=r.length,this[xi]._maxPayload<1||this[pr]<=this[xi]._maxPayload){this[Nr].push(r);return}this[Pn]=new RangeError("Max payload size exceeded"),this[Pn].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[Pn][Fu]=1009,this.removeListener("data",Mu),this.reset()}function am(r){if(this[xi]._inflate=null,this[Pn]){this[Rn](this[Pn]);return}r[Fu]=1007,this[Rn](r)}});var An=F((qE,Si)=>{"use strict";var{isUtf8:ju}=require("buffer"),{hasBlob:cm}=dr(),fm=[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 um(r){return r>=1e3&&r<=1014&&r!==1004&&r!==1005&&r!==1006||r>=3e3&&r<=4999}function oa(r){let e=r.length,t=0;for(;t<e;)if((r[t]&128)===0)t++;else if((r[t]&224)===192){if(t+1===e||(r[t+1]&192)!==128||(r[t]&254)===192)return!1;t+=2}else if((r[t]&240)===224){if(t+2>=e||(r[t+1]&192)!==128||(r[t+2]&192)!==128||r[t]===224&&(r[t+1]&224)===128||r[t]===237&&(r[t+1]&224)===160)return!1;t+=3}else if((r[t]&248)===240){if(t+3>=e||(r[t+1]&192)!==128||(r[t+2]&192)!==128||(r[t+3]&192)!==128||r[t]===240&&(r[t+1]&240)===128||r[t]===244&&r[t+1]>143||r[t]>244)return!1;t+=4}else return!1;return!0}function lm(r){return cm&&typeof r=="object"&&typeof r.arrayBuffer=="function"&&typeof r.type=="string"&&typeof r.stream=="function"&&(r[Symbol.toStringTag]==="Blob"||r[Symbol.toStringTag]==="File")}Si.exports={isBlob:lm,isValidStatusCode:um,isValidUTF8:oa,tokenChars:fm};if(ju)Si.exports.isValidUTF8=function(r){return r.length<24?oa(r):ju(r)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let r=require("utf-8-validate");Si.exports.isValidUTF8=function(e){return e.length<32?oa(e):r(e)}}catch{}});var la=F((WE,zu)=>{"use strict";var{Writable:hm}=require("stream"),Uu=us(),{BINARY_TYPES:dm,EMPTY_BUFFER:qu,kStatusCode:pm,kWebSocket:gm}=dr(),{concat:aa,toArrayBuffer:mm,unmask:_m}=cs(),{isValidStatusCode:ym,isValidUTF8:Wu}=An(),Ti=Buffer[Symbol.species],It=0,Hu=1,Vu=2,Ku=3,ca=4,fa=5,Ci=6,ua=class extends hm{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||dm[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[gm]=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._errored=!1,this._loop=!1,this._state=It}_write(e,t,n){if(this._opcode===8&&this._state==It)return n();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(n)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let n=this._buffers[0];return this._buffers[0]=new Ti(n.buffer,n.byteOffset+e,n.length-e),new Ti(n.buffer,n.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let n=this._buffers[0],s=t.length-e;e>=n.length?t.set(this._buffers.shift(),s):(t.set(new Uint8Array(n.buffer,n.byteOffset,e),s),this._buffers[0]=new Ti(n.buffer,n.byteOffset+e,n.length-e)),e-=n.length}while(e>0);return t}startLoop(e){this._loop=!0;do switch(this._state){case It:this.getInfo(e);break;case Hu:this.getPayloadLength16(e);break;case Vu:this.getPayloadLength64(e);break;case Ku:this.getMask();break;case ca:this.getData(e);break;case fa:case Ci:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((t[0]&48)!==0){let s=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(s);return}let n=(t[0]&64)===64;if(n&&!this._extensions[Uu.extensionName]){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(this._fin=(t[0]&128)===128,this._opcode=t[0]&15,this._payloadLength=t[1]&127,this._opcode===0){if(n){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(!this._fragmented){let s=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let s=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}this._compressed=n}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let s=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(s);return}if(n){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let s=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(s);return}}else{let s=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(t[1]&128)===128,this._isServer){if(!this._masked){let s=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(s);return}}else if(this._masked){let s=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(s);return}this._payloadLength===126?this._state=Hu:this._payloadLength===127?this._state=Vu:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),n=t.readUInt32BE(0);if(n>Math.pow(2,21)-1){let s=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(s);return}this._payloadLength=n*Math.pow(2,32)+t.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let t=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(t);return}this._masked?this._state=Ku:this._state=ca}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=ca}getData(e){let t=qu;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&_m(t,this._mask)}if(this._opcode>7){this.controlMessage(t,e);return}if(this._compressed){this._state=fa,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[Uu.extensionName].decompress(e,this._fin,(s,i)=>{if(s)return t(s);if(i.length){if(this._messageLength+=i.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let a=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");t(a);return}this._fragments.push(i)}this.dataMessage(t),this._state===It&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=It;return}let t=this._messageLength,n=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let s;this._binaryType==="nodebuffer"?s=aa(n,t):this._binaryType==="arraybuffer"?s=mm(aa(n,t)):this._binaryType==="blob"?s=new Blob(n):s=n,this._allowSynchronousEvents?(this.emit("message",s,!0),this._state=It):(this._state=Ci,setImmediate(()=>{this.emit("message",s,!0),this._state=It,this.startLoop(e)}))}else{let s=aa(n,t);if(!this._skipUTF8Validation&&!Wu(s)){let i=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(i);return}this._state===fa||this._allowSynchronousEvents?(this.emit("message",s,!1),this._state=It):(this._state=Ci,setImmediate(()=>{this.emit("message",s,!1),this._state=It,this.startLoop(e)}))}}controlMessage(e,t){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,qu),this.end();else{let n=e.readUInt16BE(0);if(!ym(n)){let i=this.createError(RangeError,`invalid status code ${n}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");t(i);return}let s=new Ti(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!Wu(s)){let i=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");t(i);return}this._loop=!1,this.emit("conclude",n,s),this.end()}this._state=It;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=It):(this._state=Ci,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=It,this.startLoop(t)}))}createError(e,t,n,s,i){this._loop=!1,this._errored=!0;let a=new e(n?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(a,this.createError),a.code=i,a[pm]=s,a}};zu.exports=ua});var pa=F((VE,Yu)=>{"use strict";var{Duplex:HE}=require("stream"),{randomFillSync:vm}=require("crypto"),$u=us(),{EMPTY_BUFFER:Em,kWebSocket:wm,NOOP:bm}=dr(),{isBlob:In,isValidStatusCode:xm}=An(),{mask:Gu,toBuffer:Qr}=cs(),Lt=Symbol("kByteLength"),Sm=Buffer.alloc(4),Oi=8*1024,en,Ln=Oi,jt=0,Tm=1,Cm=2,ha=class r{constructor(e,t,n){this._extensions=t||{},n&&(this._generateMask=n,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=jt,this.onerror=bm,this[wm]=void 0}static frame(e,t){let n,s=!1,i=2,a=!1;t.mask&&(n=t.maskBuffer||Sm,t.generateMask?t.generateMask(n):(Ln===Oi&&(en===void 0&&(en=Buffer.alloc(Oi)),vm(en,0,Oi),Ln=0),n[0]=en[Ln++],n[1]=en[Ln++],n[2]=en[Ln++],n[3]=en[Ln++]),a=(n[0]|n[1]|n[2]|n[3])===0,i=6);let c;typeof e=="string"?(!t.mask||a)&&t[Lt]!==void 0?c=t[Lt]:(e=Buffer.from(e),c=e.length):(c=e.length,s=t.mask&&t.readOnly&&!a);let u=c;c>=65536?(i+=8,u=127):c>125&&(i+=2,u=126);let d=Buffer.allocUnsafe(s?c+i:i);return d[0]=t.fin?t.opcode|128:t.opcode,t.rsv1&&(d[0]|=64),d[1]=u,u===126?d.writeUInt16BE(c,2):u===127&&(d[2]=d[3]=0,d.writeUIntBE(c,4,6)),t.mask?(d[1]|=128,d[i-4]=n[0],d[i-3]=n[1],d[i-2]=n[2],d[i-1]=n[3],a?[d,e]:s?(Gu(e,n,d,i,c),[d]):(Gu(e,n,e,0,c),[d,e])):[d,e]}close(e,t,n,s){let i;if(e===void 0)i=Em;else{if(typeof e!="number"||!xm(e))throw new TypeError("First argument must be a valid error code number");if(t===void 0||!t.length)i=Buffer.allocUnsafe(2),i.writeUInt16BE(e,0);else{let c=Buffer.byteLength(t);if(c>123)throw new RangeError("The message must not be greater than 123 bytes");i=Buffer.allocUnsafe(2+c),i.writeUInt16BE(e,0),typeof t=="string"?i.write(t,2):i.set(t,2)}}let a={[Lt]:i.length,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==jt?this.enqueue([this.dispatch,i,!1,a,s]):this.sendFrame(r.frame(i,a),s)}ping(e,t,n){let s,i;if(typeof e=="string"?(s=Buffer.byteLength(e),i=!1):In(e)?(s=e.size,i=!1):(e=Qr(e),s=e.length,i=Qr.readOnly),s>125)throw new RangeError("The data size must not be greater than 125 bytes");let a={[Lt]:s,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:i,rsv1:!1};In(e)?this._state!==jt?this.enqueue([this.getBlobData,e,!1,a,n]):this.getBlobData(e,!1,a,n):this._state!==jt?this.enqueue([this.dispatch,e,!1,a,n]):this.sendFrame(r.frame(e,a),n)}pong(e,t,n){let s,i;if(typeof e=="string"?(s=Buffer.byteLength(e),i=!1):In(e)?(s=e.size,i=!1):(e=Qr(e),s=e.length,i=Qr.readOnly),s>125)throw new RangeError("The data size must not be greater than 125 bytes");let a={[Lt]:s,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:i,rsv1:!1};In(e)?this._state!==jt?this.enqueue([this.getBlobData,e,!1,a,n]):this.getBlobData(e,!1,a,n):this._state!==jt?this.enqueue([this.dispatch,e,!1,a,n]):this.sendFrame(r.frame(e,a),n)}send(e,t,n){let s=this._extensions[$u.extensionName],i=t.binary?2:1,a=t.compress,c,u;typeof e=="string"?(c=Buffer.byteLength(e),u=!1):In(e)?(c=e.size,u=!1):(e=Qr(e),c=e.length,u=Qr.readOnly),this._firstFragment?(this._firstFragment=!1,a&&s&&s.params[s._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(a=c>=s._threshold),this._compress=a):(a=!1,i=0),t.fin&&(this._firstFragment=!0);let d={[Lt]:c,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:i,readOnly:u,rsv1:a};In(e)?this._state!==jt?this.enqueue([this.getBlobData,e,this._compress,d,n]):this.getBlobData(e,this._compress,d,n):this._state!==jt?this.enqueue([this.dispatch,e,this._compress,d,n]):this.dispatch(e,this._compress,d,n)}getBlobData(e,t,n,s){this._bufferedBytes+=n[Lt],this._state=Cm,e.arrayBuffer().then(i=>{if(this._socket.destroyed){let c=new Error("The socket was closed while the blob was being read");process.nextTick(da,this,c,s);return}this._bufferedBytes-=n[Lt];let a=Qr(i);t?this.dispatch(a,t,n,s):(this._state=jt,this.sendFrame(r.frame(a,n),s),this.dequeue())}).catch(i=>{process.nextTick(Om,this,i,s)})}dispatch(e,t,n,s){if(!t){this.sendFrame(r.frame(e,n),s);return}let i=this._extensions[$u.extensionName];this._bufferedBytes+=n[Lt],this._state=Tm,i.compress(e,n.fin,(a,c)=>{if(this._socket.destroyed){let u=new Error("The socket was closed while data was being compressed");da(this,u,s);return}this._bufferedBytes-=n[Lt],this._state=jt,n.readOnly=!1,this.sendFrame(r.frame(c,n),s),this.dequeue()})}dequeue(){for(;this._state===jt&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][Lt],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][Lt],this._queue.push(e)}sendFrame(e,t){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}};Yu.exports=ha;function da(r,e,t){typeof t=="function"&&t(e);for(let n=0;n<r._queue.length;n++){let s=r._queue[n],i=s[s.length-1];typeof i=="function"&&i(e)}}function Om(r,e,t){da(r,e,t),r.onerror(e)}});var sl=F((KE,nl)=>{"use strict";var{kForOnEventAttribute:ls,kListener:ga}=dr(),Xu=Symbol("kCode"),Ju=Symbol("kData"),Zu=Symbol("kError"),Qu=Symbol("kMessage"),el=Symbol("kReason"),Nn=Symbol("kTarget"),tl=Symbol("kType"),rl=Symbol("kWasClean"),gr=class{constructor(e){this[Nn]=null,this[tl]=e}get target(){return this[Nn]}get type(){return this[tl]}};Object.defineProperty(gr.prototype,"target",{enumerable:!0});Object.defineProperty(gr.prototype,"type",{enumerable:!0});var tn=class extends gr{constructor(e,t={}){super(e),this[Xu]=t.code===void 0?0:t.code,this[el]=t.reason===void 0?"":t.reason,this[rl]=t.wasClean===void 0?!1:t.wasClean}get code(){return this[Xu]}get reason(){return this[el]}get wasClean(){return this[rl]}};Object.defineProperty(tn.prototype,"code",{enumerable:!0});Object.defineProperty(tn.prototype,"reason",{enumerable:!0});Object.defineProperty(tn.prototype,"wasClean",{enumerable:!0});var Dn=class extends gr{constructor(e,t={}){super(e),this[Zu]=t.error===void 0?null:t.error,this[Qu]=t.message===void 0?"":t.message}get error(){return this[Zu]}get message(){return this[Qu]}};Object.defineProperty(Dn.prototype,"error",{enumerable:!0});Object.defineProperty(Dn.prototype,"message",{enumerable:!0});var hs=class extends gr{constructor(e,t={}){super(e),this[Ju]=t.data===void 0?null:t.data}get data(){return this[Ju]}};Object.defineProperty(hs.prototype,"data",{enumerable:!0});var km={addEventListener(r,e,t={}){for(let s of this.listeners(r))if(!t[ls]&&s[ga]===e&&!s[ls])return;let n;if(r==="message")n=function(i,a){let c=new hs("message",{data:a?i:i.toString()});c[Nn]=this,ki(e,this,c)};else if(r==="close")n=function(i,a){let c=new tn("close",{code:i,reason:a.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});c[Nn]=this,ki(e,this,c)};else if(r==="error")n=function(i){let a=new Dn("error",{error:i,message:i.message});a[Nn]=this,ki(e,this,a)};else if(r==="open")n=function(){let i=new gr("open");i[Nn]=this,ki(e,this,i)};else return;n[ls]=!!t[ls],n[ga]=e,t.once?this.once(r,n):this.on(r,n)},removeEventListener(r,e){for(let t of this.listeners(r))if(t[ga]===e&&!t[ls]){this.removeListener(r,t);break}}};nl.exports={CloseEvent:tn,ErrorEvent:Dn,Event:gr,EventTarget:km,MessageEvent:hs};function ki(r,e,t){typeof r=="object"&&r.handleEvent?r.handleEvent.call(r,t):r.call(e,t)}});var ma=F((zE,il)=>{"use strict";var{tokenChars:ds}=An();function Qt(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}function Rm(r){let e=Object.create(null),t=Object.create(null),n=!1,s=!1,i=!1,a,c,u=-1,d=-1,g=-1,m=0;for(;m<r.length;m++)if(d=r.charCodeAt(m),a===void 0)if(g===-1&&ds[d]===1)u===-1&&(u=m);else if(m!==0&&(d===32||d===9))g===-1&&u!==-1&&(g=m);else if(d===59||d===44){if(u===-1)throw new SyntaxError(`Unexpected character at index ${m}`);g===-1&&(g=m);let w=r.slice(u,g);d===44?(Qt(e,w,t),t=Object.create(null)):a=w,u=g=-1}else throw new SyntaxError(`Unexpected character at index ${m}`);else if(c===void 0)if(g===-1&&ds[d]===1)u===-1&&(u=m);else if(d===32||d===9)g===-1&&u!==-1&&(g=m);else if(d===59||d===44){if(u===-1)throw new SyntaxError(`Unexpected character at index ${m}`);g===-1&&(g=m),Qt(t,r.slice(u,g),!0),d===44&&(Qt(e,a,t),t=Object.create(null),a=void 0),u=g=-1}else if(d===61&&u!==-1&&g===-1)c=r.slice(u,m),u=g=-1;else throw new SyntaxError(`Unexpected character at index ${m}`);else if(s){if(ds[d]!==1)throw new SyntaxError(`Unexpected character at index ${m}`);u===-1?u=m:n||(n=!0),s=!1}else if(i)if(ds[d]===1)u===-1&&(u=m);else if(d===34&&u!==-1)i=!1,g=m;else if(d===92)s=!0;else throw new SyntaxError(`Unexpected character at index ${m}`);else if(d===34&&r.charCodeAt(m-1)===61)i=!0;else if(g===-1&&ds[d]===1)u===-1&&(u=m);else if(u!==-1&&(d===32||d===9))g===-1&&(g=m);else if(d===59||d===44){if(u===-1)throw new SyntaxError(`Unexpected character at index ${m}`);g===-1&&(g=m);let w=r.slice(u,g);n&&(w=w.replace(/\\/g,""),n=!1),Qt(t,c,w),d===44&&(Qt(e,a,t),t=Object.create(null),a=void 0),c=void 0,u=g=-1}else throw new SyntaxError(`Unexpected character at index ${m}`);if(u===-1||i||d===32||d===9)throw new SyntaxError("Unexpected end of input");g===-1&&(g=m);let y=r.slice(u,g);return a===void 0?Qt(e,y,t):(c===void 0?Qt(t,y,!0):n?Qt(t,c,y.replace(/\\/g,"")):Qt(t,c,y),Qt(e,a,t)),e}function Pm(r){return Object.keys(r).map(e=>{let t=r[e];return Array.isArray(t)||(t=[t]),t.map(n=>[e].concat(Object.keys(n).map(s=>{let i=n[s];return Array.isArray(i)||(i=[i]),i.map(a=>a===!0?s:`${s}=${a}`).join("; ")})).join("; ")).join(", ")}).join(", ")}il.exports={format:Pm,parse:Rm}});var Ii=F((YE,_l)=>{"use strict";var Am=require("events"),Im=require("https"),Lm=require("http"),cl=require("net"),Nm=require("tls"),{randomBytes:Dm,createHash:Fm}=require("crypto"),{Duplex:$E,Readable:GE}=require("stream"),{URL:_a}=require("url"),Dr=us(),Mm=la(),Bm=pa(),{isBlob:jm}=An(),{BINARY_TYPES:ol,EMPTY_BUFFER:Ri,GUID:Um,kForOnEventAttribute:ya,kListener:qm,kStatusCode:Wm,kWebSocket:st,NOOP:fl}=dr(),{EventTarget:{addEventListener:Hm,removeEventListener:Vm}}=sl(),{format:Km,parse:zm}=ma(),{toBuffer:$m}=cs(),Gm=30*1e3,ul=Symbol("kAborted"),va=[8,13],mr=["CONNECTING","OPEN","CLOSING","CLOSED"],Ym=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,qe=class r extends Am{constructor(e,t,n){super(),this._binaryType=ol[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=Ri,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=r.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,t===void 0?t=[]:Array.isArray(t)||(typeof t=="object"&&t!==null?(n=t,t=[]):t=[t]),ll(this,e,t,n)):(this._autoPong=n.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){ol.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,n){let s=new Mm({allowSynchronousEvents:n.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation}),i=new Bm(e,this._extensions,n.generateMask);this._receiver=s,this._sender=i,this._socket=e,s[st]=this,i[st]=this,e[st]=this,s.on("conclude",Zm),s.on("drain",Qm),s.on("error",e0),s.on("message",t0),s.on("ping",r0),s.on("pong",n0),i.onerror=s0,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",pl),e.on("data",Ai),e.on("end",gl),e.on("error",ml),this._readyState=r.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=r.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Dr.extensionName]&&this._extensions[Dr.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=r.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==r.CLOSED){if(this.readyState===r.CONNECTING){Tt(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===r.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=r.CLOSING,this._sender.close(e,t,!this._isServer,n=>{n||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),dl(this)}}pause(){this.readyState===r.CONNECTING||this.readyState===r.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,t,n){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(n=e,e=t=void 0):typeof t=="function"&&(n=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){Ea(this,e,n);return}t===void 0&&(t=!this._isServer),this._sender.ping(e||Ri,t,n)}pong(e,t,n){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(n=e,e=t=void 0):typeof t=="function"&&(n=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){Ea(this,e,n);return}t===void 0&&(t=!this._isServer),this._sender.pong(e||Ri,t,n)}resume(){this.readyState===r.CONNECTING||this.readyState===r.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,n){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"&&(n=t,t={}),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){Ea(this,e,n);return}let s={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[Dr.extensionName]||(s.compress=!1),this._sender.send(e||Ri,s,n)}terminate(){if(this.readyState!==r.CLOSED){if(this.readyState===r.CONNECTING){Tt(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=r.CLOSING,this._socket.destroy())}}};Object.defineProperty(qe,"CONNECTING",{enumerable:!0,value:mr.indexOf("CONNECTING")});Object.defineProperty(qe.prototype,"CONNECTING",{enumerable:!0,value:mr.indexOf("CONNECTING")});Object.defineProperty(qe,"OPEN",{enumerable:!0,value:mr.indexOf("OPEN")});Object.defineProperty(qe.prototype,"OPEN",{enumerable:!0,value:mr.indexOf("OPEN")});Object.defineProperty(qe,"CLOSING",{enumerable:!0,value:mr.indexOf("CLOSING")});Object.defineProperty(qe.prototype,"CLOSING",{enumerable:!0,value:mr.indexOf("CLOSING")});Object.defineProperty(qe,"CLOSED",{enumerable:!0,value:mr.indexOf("CLOSED")});Object.defineProperty(qe.prototype,"CLOSED",{enumerable:!0,value:mr.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(r=>{Object.defineProperty(qe.prototype,r,{enumerable:!0})});["open","error","close","message"].forEach(r=>{Object.defineProperty(qe.prototype,`on${r}`,{enumerable:!0,get(){for(let e of this.listeners(r))if(e[ya])return e[qm];return null},set(e){for(let t of this.listeners(r))if(t[ya]){this.removeListener(r,t);break}typeof e=="function"&&this.addEventListener(r,e,{[ya]:!0})}})});qe.prototype.addEventListener=Hm;qe.prototype.removeEventListener=Vm;_l.exports=qe;function ll(r,e,t,n){let s={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:va[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...n,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(r._autoPong=s.autoPong,!va.includes(s.protocolVersion))throw new RangeError(`Unsupported protocol version: ${s.protocolVersion} (supported versions: ${va.join(", ")})`);let i;if(e instanceof _a)i=e;else try{i=new _a(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}i.protocol==="http:"?i.protocol="ws:":i.protocol==="https:"&&(i.protocol="wss:"),r._url=i.href;let a=i.protocol==="wss:",c=i.protocol==="ws+unix:",u;if(i.protocol!=="ws:"&&!a&&!c?u=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:c&&!i.pathname?u="The URL's pathname is empty":i.hash&&(u="The URL contains a fragment identifier"),u){let T=new SyntaxError(u);if(r._redirects===0)throw T;Pi(r,T);return}let d=a?443:80,g=Dm(16).toString("base64"),m=a?Im.request:Lm.request,y=new Set,w;if(s.createConnection=s.createConnection||(a?Jm:Xm),s.defaultPort=s.defaultPort||d,s.port=i.port||d,s.host=i.hostname.startsWith("[")?i.hostname.slice(1,-1):i.hostname,s.headers={...s.headers,"Sec-WebSocket-Version":s.protocolVersion,"Sec-WebSocket-Key":g,Connection:"Upgrade",Upgrade:"websocket"},s.path=i.pathname+i.search,s.timeout=s.handshakeTimeout,s.perMessageDeflate&&(w=new Dr(s.perMessageDeflate!==!0?s.perMessageDeflate:{},!1,s.maxPayload),s.headers["Sec-WebSocket-Extensions"]=Km({[Dr.extensionName]:w.offer()})),t.length){for(let T of t){if(typeof T!="string"||!Ym.test(T)||y.has(T))throw new SyntaxError("An invalid or duplicated subprotocol was specified");y.add(T)}s.headers["Sec-WebSocket-Protocol"]=t.join(",")}if(s.origin&&(s.protocolVersion<13?s.headers["Sec-WebSocket-Origin"]=s.origin:s.headers.Origin=s.origin),(i.username||i.password)&&(s.auth=`${i.username}:${i.password}`),c){let T=s.path.split(":");s.socketPath=T[0],s.path=T[1]}let S;if(s.followRedirects){if(r._redirects===0){r._originalIpc=c,r._originalSecure=a,r._originalHostOrSocketPath=c?s.socketPath:i.host;let T=n&&n.headers;if(n={...n,headers:{}},T)for(let[V,ge]of Object.entries(T))n.headers[V.toLowerCase()]=ge}else if(r.listenerCount("redirect")===0){let T=c?r._originalIpc?s.socketPath===r._originalHostOrSocketPath:!1:r._originalIpc?!1:i.host===r._originalHostOrSocketPath;(!T||r._originalSecure&&!a)&&(delete s.headers.authorization,delete s.headers.cookie,T||delete s.headers.host,s.auth=void 0)}s.auth&&!n.headers.authorization&&(n.headers.authorization="Basic "+Buffer.from(s.auth).toString("base64")),S=r._req=m(s),r._redirects&&r.emit("redirect",r.url,S)}else S=r._req=m(s);s.timeout&&S.on("timeout",()=>{Tt(r,S,"Opening handshake has timed out")}),S.on("error",T=>{S===null||S[ul]||(S=r._req=null,Pi(r,T))}),S.on("response",T=>{let V=T.headers.location,ge=T.statusCode;if(V&&s.followRedirects&&ge>=300&&ge<400){if(++r._redirects>s.maxRedirects){Tt(r,S,"Maximum redirects exceeded");return}S.abort();let J;try{J=new _a(V,e)}catch{let R=new SyntaxError(`Invalid URL: ${V}`);Pi(r,R);return}ll(r,J,t,n)}else r.emit("unexpected-response",S,T)||Tt(r,S,`Unexpected server response: ${T.statusCode}`)}),S.on("upgrade",(T,V,ge)=>{if(r.emit("upgrade",T),r.readyState!==qe.CONNECTING)return;S=r._req=null;let J=T.headers.upgrade;if(J===void 0||J.toLowerCase()!=="websocket"){Tt(r,V,"Invalid Upgrade header");return}let A=Fm("sha1").update(g+Um).digest("base64");if(T.headers["sec-websocket-accept"]!==A){Tt(r,V,"Invalid Sec-WebSocket-Accept header");return}let R=T.headers["sec-websocket-protocol"],ee;if(R!==void 0?y.size?y.has(R)||(ee="Server sent an invalid subprotocol"):ee="Server sent a subprotocol but none was requested":y.size&&(ee="Server sent no subprotocol"),ee){Tt(r,V,ee);return}R&&(r._protocol=R);let j=T.headers["sec-websocket-extensions"];if(j!==void 0){if(!w){Tt(r,V,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let Z;try{Z=zm(j)}catch{Tt(r,V,"Invalid Sec-WebSocket-Extensions header");return}let ce=Object.keys(Z);if(ce.length!==1||ce[0]!==Dr.extensionName){Tt(r,V,"Server indicated an extension that was not requested");return}try{w.accept(Z[Dr.extensionName])}catch{Tt(r,V,"Invalid Sec-WebSocket-Extensions header");return}r._extensions[Dr.extensionName]=w}r.setSocket(V,ge,{allowSynchronousEvents:s.allowSynchronousEvents,generateMask:s.generateMask,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation})}),s.finishRequest?s.finishRequest(S,r):S.end()}function Pi(r,e){r._readyState=qe.CLOSING,r._errorEmitted=!0,r.emit("error",e),r.emitClose()}function Xm(r){return r.path=r.socketPath,cl.connect(r)}function Jm(r){return r.path=void 0,!r.servername&&r.servername!==""&&(r.servername=cl.isIP(r.host)?"":r.host),Nm.connect(r)}function Tt(r,e,t){r._readyState=qe.CLOSING;let n=new Error(t);Error.captureStackTrace(n,Tt),e.setHeader?(e[ul]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(Pi,r,n)):(e.destroy(n),e.once("error",r.emit.bind(r,"error")),e.once("close",r.emitClose.bind(r)))}function Ea(r,e,t){if(e){let n=jm(e)?e.size:$m(e).length;r._socket?r._sender._bufferedBytes+=n:r._bufferedAmount+=n}if(t){let n=new Error(`WebSocket is not open: readyState ${r.readyState} (${mr[r.readyState]})`);process.nextTick(t,n)}}function Zm(r,e){let t=this[st];t._closeFrameReceived=!0,t._closeMessage=e,t._closeCode=r,t._socket[st]!==void 0&&(t._socket.removeListener("data",Ai),process.nextTick(hl,t._socket),r===1005?t.close():t.close(r,e))}function Qm(){let r=this[st];r.isPaused||r._socket.resume()}function e0(r){let e=this[st];e._socket[st]!==void 0&&(e._socket.removeListener("data",Ai),process.nextTick(hl,e._socket),e.close(r[Wm])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",r))}function al(){this[st].emitClose()}function t0(r,e){this[st].emit("message",r,e)}function r0(r){let e=this[st];e._autoPong&&e.pong(r,!this._isServer,fl),e.emit("ping",r)}function n0(r){this[st].emit("pong",r)}function hl(r){r.resume()}function s0(r){let e=this[st];e.readyState!==qe.CLOSED&&(e.readyState===qe.OPEN&&(e._readyState=qe.CLOSING,dl(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",r)))}function dl(r){r._closeTimer=setTimeout(r._socket.destroy.bind(r._socket),Gm)}function pl(){let r=this[st];this.removeListener("close",pl),this.removeListener("data",Ai),this.removeListener("end",gl),r._readyState=qe.CLOSING;let e;!this._readableState.endEmitted&&!r._closeFrameReceived&&!r._receiver._writableState.errorEmitted&&(e=r._socket.read())!==null&&r._receiver.write(e),r._receiver.end(),this[st]=void 0,clearTimeout(r._closeTimer),r._receiver._writableState.finished||r._receiver._writableState.errorEmitted?r.emitClose():(r._receiver.on("error",al),r._receiver.on("finish",al))}function Ai(r){this[st]._receiver.write(r)||this.pause()}function gl(){let r=this[st];r._readyState=qe.CLOSING,r._receiver.end(),this.end()}function ml(){let r=this[st];this.removeListener("error",ml),this.on("error",fl),r&&(r._readyState=qe.CLOSING,this.destroy())}});var wl=F((JE,El)=>{"use strict";var XE=Ii(),{Duplex:i0}=require("stream");function yl(r){r.emit("close")}function o0(){!this.destroyed&&this._writableState.finished&&this.destroy()}function vl(r){this.removeListener("error",vl),this.destroy(),this.listenerCount("error")===0&&this.emit("error",r)}function a0(r,e){let t=!0,n=new i0({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return r.on("message",function(i,a){let c=!a&&n._readableState.objectMode?i.toString():i;n.push(c)||r.pause()}),r.once("error",function(i){n.destroyed||(t=!1,n.destroy(i))}),r.once("close",function(){n.destroyed||n.push(null)}),n._destroy=function(s,i){if(r.readyState===r.CLOSED){i(s),process.nextTick(yl,n);return}let a=!1;r.once("error",function(u){a=!0,i(u)}),r.once("close",function(){a||i(s),process.nextTick(yl,n)}),t&&r.terminate()},n._final=function(s){if(r.readyState===r.CONNECTING){r.once("open",function(){n._final(s)});return}r._socket!==null&&(r._socket._writableState.finished?(s(),n._readableState.endEmitted&&n.destroy()):(r._socket.once("finish",function(){s()}),r.close()))},n._read=function(){r.isPaused&&r.resume()},n._write=function(s,i,a){if(r.readyState===r.CONNECTING){r.once("open",function(){n._write(s,i,a)});return}r.send(s,a)},n.on("end",o0),n.on("error",vl),n}El.exports=a0});var xl=F((ZE,bl)=>{"use strict";var{tokenChars:c0}=An();function f0(r){let e=new Set,t=-1,n=-1,s=0;for(s;s<r.length;s++){let a=r.charCodeAt(s);if(n===-1&&c0[a]===1)t===-1&&(t=s);else if(s!==0&&(a===32||a===9))n===-1&&t!==-1&&(n=s);else if(a===44){if(t===-1)throw new SyntaxError(`Unexpected character at index ${s}`);n===-1&&(n=s);let c=r.slice(t,n);if(e.has(c))throw new SyntaxError(`The "${c}" subprotocol is duplicated`);e.add(c),t=n=-1}else throw new SyntaxError(`Unexpected character at index ${s}`)}if(t===-1||n!==-1)throw new SyntaxError("Unexpected end of input");let i=r.slice(t,s);if(e.has(i))throw new SyntaxError(`The "${i}" subprotocol is duplicated`);return e.add(i),e}bl.exports={parse:f0}});var Pl=F((ew,Rl)=>{"use strict";var u0=require("events"),Li=require("http"),{Duplex:QE}=require("stream"),{createHash:l0}=require("crypto"),Sl=ma(),rn=us(),h0=xl(),d0=Ii(),{GUID:p0,kWebSocket:g0}=dr(),m0=/^[+/0-9A-Za-z]{22}==$/,Tl=0,Cl=1,kl=2,wa=class extends u0{constructor(e,t){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,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:d0,...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=Li.createServer((n,s)=>{let i=Li.STATUS_CODES[426];s.writeHead(426,{"Content-Length":i.length,"Content-Type":"text/plain"}),s.end(i)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){let n=this.emit.bind(this,"connection");this._removeListeners=_0(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(s,i,a)=>{this.handleUpgrade(s,i,a,n)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=Tl}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===kl){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(ps,this);return}if(e&&this.once("close",e),this._state!==Cl)if(this._state=Cl,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(ps,this):process.nextTick(ps,this);else{let t=this._server;this._removeListeners(),this._removeListeners=this._server=null,t.close(()=>{ps(this)})}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((t!==-1?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,n,s){t.on("error",Ol);let i=e.headers["sec-websocket-key"],a=e.headers.upgrade,c=+e.headers["sec-websocket-version"];if(e.method!=="GET"){nn(this,e,t,405,"Invalid HTTP method");return}if(a===void 0||a.toLowerCase()!=="websocket"){nn(this,e,t,400,"Invalid Upgrade header");return}if(i===void 0||!m0.test(i)){nn(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");return}if(c!==13&&c!==8){nn(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){gs(t,400);return}let u=e.headers["sec-websocket-protocol"],d=new Set;if(u!==void 0)try{d=h0.parse(u)}catch{nn(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let g=e.headers["sec-websocket-extensions"],m={};if(this.options.perMessageDeflate&&g!==void 0){let y=new rn(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let w=Sl.parse(g);w[rn.extensionName]&&(y.accept(w[rn.extensionName]),m[rn.extensionName]=y)}catch{nn(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let y={origin:e.headers[`${c===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(y,(w,S,T,V)=>{if(!w)return gs(t,S||401,T,V);this.completeUpgrade(m,i,d,e,t,n,s)});return}if(!this.options.verifyClient(y))return gs(t,401)}this.completeUpgrade(m,i,d,e,t,n,s)}completeUpgrade(e,t,n,s,i,a,c){if(!i.readable||!i.writable)return i.destroy();if(i[g0])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>Tl)return gs(i,503);let d=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${l0("sha1").update(t+p0).digest("base64")}`],g=new this.options.WebSocket(null,void 0,this.options);if(n.size){let m=this.options.handleProtocols?this.options.handleProtocols(n,s):n.values().next().value;m&&(d.push(`Sec-WebSocket-Protocol: ${m}`),g._protocol=m)}if(e[rn.extensionName]){let m=e[rn.extensionName].params,y=Sl.format({[rn.extensionName]:[m]});d.push(`Sec-WebSocket-Extensions: ${y}`),g._extensions=e}this.emit("headers",d,s),i.write(d.concat(`\r
18
+ `+i),r.push(s+"m+"+_i.exports.humanize(this.diff)+"\x1B[0m")}else r[0]=Pg()+e+" "+r[0]}function Pg(){return nt.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Ag(...r){return process.stderr.write(mi.formatWithOptions(nt.inspectOpts,...r)+`
19
+ `)}function Ig(r){r?process.env.DEBUG=r:delete process.env.DEBUG}function Lg(){return process.env.DEBUG}function Ng(r){r.inspectOpts={};let e=Object.keys(nt.inspectOpts);for(let t=0;t<e.length;t++)r.inspectOpts[e[t]]=nt.inspectOpts[e[t]]}_i.exports=Ho()(nt);var{formatters:_u}=_i.exports;_u.o=function(r){return this.inspectOpts.colors=this.useColors,mi.inspect(r,this.inspectOpts).split(`
20
+ `).map(e=>e.trim()).join(" ")};_u.O=function(r){return this.inspectOpts.colors=this.useColors,mi.inspect(r,this.inspectOpts)}});var At=F((NE,$o)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?$o.exports=lu():$o.exports=yu()});var as=F(Lr=>{"use strict";var Dg=Lr&&Lr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Lr,"__esModule",{value:!0});Lr.Transport=Lr.TransportError=void 0;var Fg=xn(),Mg=Yr(),Bg=Jr(),jg=Wo(),Ug=Dg(At()),qg=(0,Ug.default)("engine.io-client:transport"),yi=class extends Error{constructor(e,t,n){super(e),this.description=t,this.context=n,this.type="TransportError"}};Lr.TransportError=yi;var zo=class extends Mg.Emitter{constructor(e){super(),this.writable=!1,(0,Bg.installTimerFunctions)(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}onError(e,t,n){return super.emitReserved("error",new yi(e,t,n)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(e){this.readyState==="open"?this.write(e):qg("transport is not open, discarding packets")}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){let t=(0,Fg.decodePacket)(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){let e=this.opts.hostname;return e.indexOf(":")===-1?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(this.opts.port)!==443||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(e){let t=(0,jg.encode)(e);return t.length?"?"+t:""}};Lr.Transport=zo});var Yo=F(kn=>{"use strict";var Wg=kn&&kn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(kn,"__esModule",{value:!0});kn.Polling=void 0;var Hg=as(),Vg=Jr(),vu=xn(),Kg=Wg(At()),Bt=(0,Kg.default)("engine.io-client:polling"),Go=class extends Hg.Transport{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(e){this.readyState="pausing";let t=()=>{Bt("paused"),this.readyState="paused",e()};if(this._polling||!this.writable){let n=0;this._polling&&(Bt("we are currently polling - waiting to pause"),n++,this.once("pollComplete",function(){Bt("pre-pause polling complete"),--n||t()})),this.writable||(Bt("we are currently writing - waiting to pause"),n++,this.once("drain",function(){Bt("pre-pause writing complete"),--n||t()}))}else t()}_poll(){Bt("polling"),this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){Bt("polling got data %s",e);let t=n=>{if(this.readyState==="opening"&&n.type==="open"&&this.onOpen(),n.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(n)};(0,vu.decodePayload)(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"?this._poll():Bt('ignoring poll - transport state "%s"',this.readyState))}doClose(){let e=()=>{Bt("writing close packet"),this.write([{type:"close"}])};this.readyState==="open"?(Bt("transport open - closing"),e()):(Bt("transport not open - deferring close"),this.once("open",e))}write(e){this.writable=!1,(0,vu.encodePayload)(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){let e=this.opts.secure?"https":"http",t=this.query||{};return this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=(0,Vg.randomString)()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}};kn.Polling=Go});var wu=F(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.hasCORS=void 0;var Eu=!1;try{Eu=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}vi.hasCORS=Eu});var Zo=F(Jt=>{"use strict";var $g=Jt&&Jt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Jt,"__esModule",{value:!0});Jt.XHR=Jt.Request=Jt.BaseXHR=void 0;var zg=Yo(),Gg=Yr(),bu=Jr(),Su=Xr(),Yg=wu(),Xg=$g(At()),Xo=(0,Xg.default)("engine.io-client:polling");function Jg(){}var Ei=class extends zg.Polling{constructor(e){if(super(e),typeof location<"u"){let t=location.protocol==="https:",n=location.port;n||(n=t?"443":"80"),this.xd=typeof location<"u"&&e.hostname!==location.hostname||n!==e.port}}doWrite(e,t){let n=this.request({method:"POST",data:e});n.on("success",t),n.on("error",(s,i)=>{this.onError("xhr post error",s,i)})}doPoll(){Xo("xhr poll");let e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(t,n)=>{this.onError("xhr poll error",t,n)}),this.pollXhr=e}};Jt.BaseXHR=Ei;var hr=class r extends Gg.Emitter{constructor(e,t,n){super(),this.createRequest=e,(0,bu.installTimerFunctions)(this,n),this._opts=n,this._method=n.method||"GET",this._uri=t,this._data=n.data!==void 0?n.data:null,this._create()}_create(){var e;let t=(0,bu.pick)(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this._opts.xd;let n=this._xhr=this.createRequest(t);try{Xo("xhr open %s: %s",this._method,this._uri),n.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0);for(let s in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(s)&&n.setRequestHeader(s,this._opts.extraHeaders[s])}}catch{}if(this._method==="POST")try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{n.setRequestHeader("Accept","*/*")}catch{}(e=this._opts.cookieJar)===null||e===void 0||e.addCookies(n),"withCredentials"in n&&(n.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(n.timeout=this._opts.requestTimeout),n.onreadystatechange=()=>{var s;n.readyState===3&&((s=this._opts.cookieJar)===null||s===void 0||s.parseCookies(n.getResponseHeader("set-cookie"))),n.readyState===4&&(n.status===200||n.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof n.status=="number"?n.status:0)},0))},Xo("xhr data %s",this._data),n.send(this._data)}catch(s){this.setTimeoutFn(()=>{this._onError(s)},0);return}typeof document<"u"&&(this._index=r.requestsCount++,r.requests[this._index]=this)}_onError(e){this.emitReserved("error",e,this._xhr),this._cleanup(!0)}_cleanup(e){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=Jg,e)try{this._xhr.abort()}catch{}typeof document<"u"&&delete r.requests[this._index],this._xhr=null}}_onLoad(){let e=this._xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}};Jt.Request=hr;hr.requestsCount=0;hr.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",xu);else if(typeof addEventListener=="function"){let r="onpagehide"in Su.globalThisShim?"pagehide":"unload";addEventListener(r,xu,!1)}}function xu(){for(let r in hr.requests)hr.requests.hasOwnProperty(r)&&hr.requests[r].abort()}var Zg=(function(){let r=Tu({xdomain:!1});return r&&r.responseType!==null})(),Jo=class extends Ei{constructor(e){super(e);let t=e&&e.forceBase64;this.supportsBinary=Zg&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new hr(Tu,this.uri(),e)}};Jt.XHR=Jo;function Tu(r){let e=r.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||Yg.hasCORS))return new XMLHttpRequest}catch{}if(!e)try{return new Su.globalThisShim[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}});var ea=F(Zt=>{"use strict";var Qg=Zt&&Zt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),em=Zt&&Zt.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),tm=Zt&&Zt.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&Qg(e,r,t);return em(e,r),e};Object.defineProperty(Zt,"__esModule",{value:!0});Zt.XHR=void 0;var Cu=tm(Zf()),Ou=Zo(),rm=Cu.default||Cu,Qo=class extends Ou.BaseXHR{request(e={}){var t;return Object.assign(e,{xd:this.xd,cookieJar:(t=this.socket)===null||t===void 0?void 0:t._cookieJar},this.opts),new Ou.Request(n=>new rm(n),this.uri(),e)}};Zt.XHR=Qo});var dr=F((UE,Pu)=>{"use strict";var ku=["nodebuffer","arraybuffer","fragments"],Ru=typeof Blob<"u";Ru&&ku.push("blob");Pu.exports={BINARY_TYPES:ku,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:Ru,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var cs=F((qE,wi)=>{"use strict";var{EMPTY_BUFFER:nm}=dr(),ta=Buffer[Symbol.species];function sm(r,e){if(r.length===0)return nm;if(r.length===1)return r[0];let t=Buffer.allocUnsafe(e),n=0;for(let s=0;s<r.length;s++){let i=r[s];t.set(i,n),n+=i.length}return n<e?new ta(t.buffer,t.byteOffset,n):t}function Au(r,e,t,n,s){for(let i=0;i<s;i++)t[n+i]=r[i]^e[i&3]}function Iu(r,e){for(let t=0;t<r.length;t++)r[t]^=e[t&3]}function im(r){return r.length===r.buffer.byteLength?r.buffer:r.buffer.slice(r.byteOffset,r.byteOffset+r.length)}function ra(r){if(ra.readOnly=!0,Buffer.isBuffer(r))return r;let e;return r instanceof ArrayBuffer?e=new ta(r):ArrayBuffer.isView(r)?e=new ta(r.buffer,r.byteOffset,r.byteLength):(e=Buffer.from(r),ra.readOnly=!1),e}wi.exports={concat:sm,mask:Au,toArrayBuffer:im,toBuffer:ra,unmask:Iu};if(!process.env.WS_NO_BUFFER_UTIL)try{let r=require("bufferutil");wi.exports.mask=function(e,t,n,s,i){i<48?Au(e,t,n,s,i):r.mask(e,t,n,s,i)},wi.exports.unmask=function(e,t){e.length<32?Iu(e,t):r.unmask(e,t)}}catch{}});var Du=F((WE,Nu)=>{"use strict";var Lu=Symbol("kDone"),na=Symbol("kRun"),sa=class{constructor(e){this[Lu]=()=>{this.pending--,this[na]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[na]()}[na](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[Lu])}}};Nu.exports=sa});var us=F((HE,ju)=>{"use strict";var fs=require("zlib"),Fu=cs(),om=Du(),{kStatusCode:Mu}=dr(),am=Buffer[Symbol.species],cm=Buffer.from([0,0,255,255]),xi=Symbol("permessage-deflate"),pr=Symbol("total-length"),Rn=Symbol("callback"),Nr=Symbol("buffers"),Pn=Symbol("error"),bi,ia=class{constructor(e,t,n){if(this._maxPayload=n|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!bi){let s=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;bi=new om(s)}}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[Rn];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,n=e.find(s=>!(t.serverNoContextTakeover===!1&&s.server_no_context_takeover||s.server_max_window_bits&&(t.serverMaxWindowBits===!1||typeof t.serverMaxWindowBits=="number"&&t.serverMaxWindowBits>s.server_max_window_bits)||typeof t.clientMaxWindowBits=="number"&&!s.client_max_window_bits));if(!n)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(n.server_no_context_takeover=!0),t.clientNoContextTakeover&&(n.client_no_context_takeover=!0),typeof t.serverMaxWindowBits=="number"&&(n.server_max_window_bits=t.serverMaxWindowBits),typeof t.clientMaxWindowBits=="number"?n.client_max_window_bits=t.clientMaxWindowBits:(n.client_max_window_bits===!0||t.clientMaxWindowBits===!1)&&delete n.client_max_window_bits,n}acceptAsClient(e){let t=e[0];if(this._options.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!t.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(t.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return t}normalizeParams(e){return e.forEach(t=>{Object.keys(t).forEach(n=>{let s=t[n];if(s.length>1)throw new Error(`Parameter "${n}" must have only a single value`);if(s=s[0],n==="client_max_window_bits"){if(s!==!0){let i=+s;if(!Number.isInteger(i)||i<8||i>15)throw new TypeError(`Invalid value for parameter "${n}": ${s}`);s=i}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${n}": ${s}`)}else if(n==="server_max_window_bits"){let i=+s;if(!Number.isInteger(i)||i<8||i>15)throw new TypeError(`Invalid value for parameter "${n}": ${s}`);s=i}else if(n==="client_no_context_takeover"||n==="server_no_context_takeover"){if(s!==!0)throw new TypeError(`Invalid value for parameter "${n}": ${s}`)}else throw new Error(`Unknown parameter "${n}"`);t[n]=s})}),e}decompress(e,t,n){bi.add(s=>{this._decompress(e,t,(i,a)=>{s(),n(i,a)})})}compress(e,t,n){bi.add(s=>{this._compress(e,t,(i,a)=>{s(),n(i,a)})})}_decompress(e,t,n){let s=this._isServer?"client":"server";if(!this._inflate){let i=`${s}_max_window_bits`,a=typeof this.params[i]!="number"?fs.Z_DEFAULT_WINDOWBITS:this.params[i];this._inflate=fs.createInflateRaw({...this._options.zlibInflateOptions,windowBits:a}),this._inflate[xi]=this,this._inflate[pr]=0,this._inflate[Nr]=[],this._inflate.on("error",um),this._inflate.on("data",Bu)}this._inflate[Rn]=n,this._inflate.write(e),t&&this._inflate.write(cm),this._inflate.flush(()=>{let i=this._inflate[Pn];if(i){this._inflate.close(),this._inflate=null,n(i);return}let a=Fu.concat(this._inflate[Nr],this._inflate[pr]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[pr]=0,this._inflate[Nr]=[],t&&this.params[`${s}_no_context_takeover`]&&this._inflate.reset()),n(null,a)})}_compress(e,t,n){let s=this._isServer?"server":"client";if(!this._deflate){let i=`${s}_max_window_bits`,a=typeof this.params[i]!="number"?fs.Z_DEFAULT_WINDOWBITS:this.params[i];this._deflate=fs.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:a}),this._deflate[pr]=0,this._deflate[Nr]=[],this._deflate.on("data",fm)}this._deflate[Rn]=n,this._deflate.write(e),this._deflate.flush(fs.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let i=Fu.concat(this._deflate[Nr],this._deflate[pr]);t&&(i=new am(i.buffer,i.byteOffset,i.length-4)),this._deflate[Rn]=null,this._deflate[pr]=0,this._deflate[Nr]=[],t&&this.params[`${s}_no_context_takeover`]&&this._deflate.reset(),n(null,i)})}};ju.exports=ia;function fm(r){this[Nr].push(r),this[pr]+=r.length}function Bu(r){if(this[pr]+=r.length,this[xi]._maxPayload<1||this[pr]<=this[xi]._maxPayload){this[Nr].push(r);return}this[Pn]=new RangeError("Max payload size exceeded"),this[Pn].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[Pn][Mu]=1009,this.removeListener("data",Bu),this.reset()}function um(r){if(this[xi]._inflate=null,this[Pn]){this[Rn](this[Pn]);return}r[Mu]=1007,this[Rn](r)}});var An=F((VE,Si)=>{"use strict";var{isUtf8:Uu}=require("buffer"),{hasBlob:lm}=dr(),hm=[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 dm(r){return r>=1e3&&r<=1014&&r!==1004&&r!==1005&&r!==1006||r>=3e3&&r<=4999}function oa(r){let e=r.length,t=0;for(;t<e;)if((r[t]&128)===0)t++;else if((r[t]&224)===192){if(t+1===e||(r[t+1]&192)!==128||(r[t]&254)===192)return!1;t+=2}else if((r[t]&240)===224){if(t+2>=e||(r[t+1]&192)!==128||(r[t+2]&192)!==128||r[t]===224&&(r[t+1]&224)===128||r[t]===237&&(r[t+1]&224)===160)return!1;t+=3}else if((r[t]&248)===240){if(t+3>=e||(r[t+1]&192)!==128||(r[t+2]&192)!==128||(r[t+3]&192)!==128||r[t]===240&&(r[t+1]&240)===128||r[t]===244&&r[t+1]>143||r[t]>244)return!1;t+=4}else return!1;return!0}function pm(r){return lm&&typeof r=="object"&&typeof r.arrayBuffer=="function"&&typeof r.type=="string"&&typeof r.stream=="function"&&(r[Symbol.toStringTag]==="Blob"||r[Symbol.toStringTag]==="File")}Si.exports={isBlob:pm,isValidStatusCode:dm,isValidUTF8:oa,tokenChars:hm};if(Uu)Si.exports.isValidUTF8=function(r){return r.length<24?oa(r):Uu(r)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let r=require("utf-8-validate");Si.exports.isValidUTF8=function(e){return e.length<32?oa(e):r(e)}}catch{}});var la=F((KE,zu)=>{"use strict";var{Writable:gm}=require("stream"),qu=us(),{BINARY_TYPES:mm,EMPTY_BUFFER:Wu,kStatusCode:_m,kWebSocket:ym}=dr(),{concat:aa,toArrayBuffer:vm,unmask:Em}=cs(),{isValidStatusCode:wm,isValidUTF8:Hu}=An(),Ti=Buffer[Symbol.species],It=0,Vu=1,Ku=2,$u=3,ca=4,fa=5,Ci=6,ua=class extends gm{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||mm[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[ym]=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._errored=!1,this._loop=!1,this._state=It}_write(e,t,n){if(this._opcode===8&&this._state==It)return n();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(n)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let n=this._buffers[0];return this._buffers[0]=new Ti(n.buffer,n.byteOffset+e,n.length-e),new Ti(n.buffer,n.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let n=this._buffers[0],s=t.length-e;e>=n.length?t.set(this._buffers.shift(),s):(t.set(new Uint8Array(n.buffer,n.byteOffset,e),s),this._buffers[0]=new Ti(n.buffer,n.byteOffset+e,n.length-e)),e-=n.length}while(e>0);return t}startLoop(e){this._loop=!0;do switch(this._state){case It:this.getInfo(e);break;case Vu:this.getPayloadLength16(e);break;case Ku:this.getPayloadLength64(e);break;case $u:this.getMask();break;case ca:this.getData(e);break;case fa:case Ci:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((t[0]&48)!==0){let s=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(s);return}let n=(t[0]&64)===64;if(n&&!this._extensions[qu.extensionName]){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(this._fin=(t[0]&128)===128,this._opcode=t[0]&15,this._payloadLength=t[1]&127,this._opcode===0){if(n){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(!this._fragmented){let s=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let s=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}this._compressed=n}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let s=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(s);return}if(n){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let s=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(s);return}}else{let s=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(t[1]&128)===128,this._isServer){if(!this._masked){let s=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(s);return}}else if(this._masked){let s=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(s);return}this._payloadLength===126?this._state=Vu:this._payloadLength===127?this._state=Ku:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),n=t.readUInt32BE(0);if(n>Math.pow(2,21)-1){let s=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(s);return}this._payloadLength=n*Math.pow(2,32)+t.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let t=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(t);return}this._masked?this._state=$u:this._state=ca}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=ca}getData(e){let t=Wu;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&Em(t,this._mask)}if(this._opcode>7){this.controlMessage(t,e);return}if(this._compressed){this._state=fa,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[qu.extensionName].decompress(e,this._fin,(s,i)=>{if(s)return t(s);if(i.length){if(this._messageLength+=i.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let a=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");t(a);return}this._fragments.push(i)}this.dataMessage(t),this._state===It&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=It;return}let t=this._messageLength,n=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let s;this._binaryType==="nodebuffer"?s=aa(n,t):this._binaryType==="arraybuffer"?s=vm(aa(n,t)):this._binaryType==="blob"?s=new Blob(n):s=n,this._allowSynchronousEvents?(this.emit("message",s,!0),this._state=It):(this._state=Ci,setImmediate(()=>{this.emit("message",s,!0),this._state=It,this.startLoop(e)}))}else{let s=aa(n,t);if(!this._skipUTF8Validation&&!Hu(s)){let i=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(i);return}this._state===fa||this._allowSynchronousEvents?(this.emit("message",s,!1),this._state=It):(this._state=Ci,setImmediate(()=>{this.emit("message",s,!1),this._state=It,this.startLoop(e)}))}}controlMessage(e,t){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,Wu),this.end();else{let n=e.readUInt16BE(0);if(!wm(n)){let i=this.createError(RangeError,`invalid status code ${n}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");t(i);return}let s=new Ti(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!Hu(s)){let i=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");t(i);return}this._loop=!1,this.emit("conclude",n,s),this.end()}this._state=It;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=It):(this._state=Ci,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=It,this.startLoop(t)}))}createError(e,t,n,s,i){this._loop=!1,this._errored=!0;let a=new e(n?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(a,this.createError),a.code=i,a[_m]=s,a}};zu.exports=ua});var pa=F((zE,Xu)=>{"use strict";var{Duplex:$E}=require("stream"),{randomFillSync:bm}=require("crypto"),Gu=us(),{EMPTY_BUFFER:xm,kWebSocket:Sm,NOOP:Tm}=dr(),{isBlob:In,isValidStatusCode:Cm}=An(),{mask:Yu,toBuffer:Qr}=cs(),Lt=Symbol("kByteLength"),Om=Buffer.alloc(4),Oi=8*1024,en,Ln=Oi,jt=0,km=1,Rm=2,ha=class r{constructor(e,t,n){this._extensions=t||{},n&&(this._generateMask=n,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=jt,this.onerror=Tm,this[Sm]=void 0}static frame(e,t){let n,s=!1,i=2,a=!1;t.mask&&(n=t.maskBuffer||Om,t.generateMask?t.generateMask(n):(Ln===Oi&&(en===void 0&&(en=Buffer.alloc(Oi)),bm(en,0,Oi),Ln=0),n[0]=en[Ln++],n[1]=en[Ln++],n[2]=en[Ln++],n[3]=en[Ln++]),a=(n[0]|n[1]|n[2]|n[3])===0,i=6);let c;typeof e=="string"?(!t.mask||a)&&t[Lt]!==void 0?c=t[Lt]:(e=Buffer.from(e),c=e.length):(c=e.length,s=t.mask&&t.readOnly&&!a);let u=c;c>=65536?(i+=8,u=127):c>125&&(i+=2,u=126);let d=Buffer.allocUnsafe(s?c+i:i);return d[0]=t.fin?t.opcode|128:t.opcode,t.rsv1&&(d[0]|=64),d[1]=u,u===126?d.writeUInt16BE(c,2):u===127&&(d[2]=d[3]=0,d.writeUIntBE(c,4,6)),t.mask?(d[1]|=128,d[i-4]=n[0],d[i-3]=n[1],d[i-2]=n[2],d[i-1]=n[3],a?[d,e]:s?(Yu(e,n,d,i,c),[d]):(Yu(e,n,e,0,c),[d,e])):[d,e]}close(e,t,n,s){let i;if(e===void 0)i=xm;else{if(typeof e!="number"||!Cm(e))throw new TypeError("First argument must be a valid error code number");if(t===void 0||!t.length)i=Buffer.allocUnsafe(2),i.writeUInt16BE(e,0);else{let c=Buffer.byteLength(t);if(c>123)throw new RangeError("The message must not be greater than 123 bytes");i=Buffer.allocUnsafe(2+c),i.writeUInt16BE(e,0),typeof t=="string"?i.write(t,2):i.set(t,2)}}let a={[Lt]:i.length,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==jt?this.enqueue([this.dispatch,i,!1,a,s]):this.sendFrame(r.frame(i,a),s)}ping(e,t,n){let s,i;if(typeof e=="string"?(s=Buffer.byteLength(e),i=!1):In(e)?(s=e.size,i=!1):(e=Qr(e),s=e.length,i=Qr.readOnly),s>125)throw new RangeError("The data size must not be greater than 125 bytes");let a={[Lt]:s,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:i,rsv1:!1};In(e)?this._state!==jt?this.enqueue([this.getBlobData,e,!1,a,n]):this.getBlobData(e,!1,a,n):this._state!==jt?this.enqueue([this.dispatch,e,!1,a,n]):this.sendFrame(r.frame(e,a),n)}pong(e,t,n){let s,i;if(typeof e=="string"?(s=Buffer.byteLength(e),i=!1):In(e)?(s=e.size,i=!1):(e=Qr(e),s=e.length,i=Qr.readOnly),s>125)throw new RangeError("The data size must not be greater than 125 bytes");let a={[Lt]:s,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:i,rsv1:!1};In(e)?this._state!==jt?this.enqueue([this.getBlobData,e,!1,a,n]):this.getBlobData(e,!1,a,n):this._state!==jt?this.enqueue([this.dispatch,e,!1,a,n]):this.sendFrame(r.frame(e,a),n)}send(e,t,n){let s=this._extensions[Gu.extensionName],i=t.binary?2:1,a=t.compress,c,u;typeof e=="string"?(c=Buffer.byteLength(e),u=!1):In(e)?(c=e.size,u=!1):(e=Qr(e),c=e.length,u=Qr.readOnly),this._firstFragment?(this._firstFragment=!1,a&&s&&s.params[s._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(a=c>=s._threshold),this._compress=a):(a=!1,i=0),t.fin&&(this._firstFragment=!0);let d={[Lt]:c,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:i,readOnly:u,rsv1:a};In(e)?this._state!==jt?this.enqueue([this.getBlobData,e,this._compress,d,n]):this.getBlobData(e,this._compress,d,n):this._state!==jt?this.enqueue([this.dispatch,e,this._compress,d,n]):this.dispatch(e,this._compress,d,n)}getBlobData(e,t,n,s){this._bufferedBytes+=n[Lt],this._state=Rm,e.arrayBuffer().then(i=>{if(this._socket.destroyed){let c=new Error("The socket was closed while the blob was being read");process.nextTick(da,this,c,s);return}this._bufferedBytes-=n[Lt];let a=Qr(i);t?this.dispatch(a,t,n,s):(this._state=jt,this.sendFrame(r.frame(a,n),s),this.dequeue())}).catch(i=>{process.nextTick(Pm,this,i,s)})}dispatch(e,t,n,s){if(!t){this.sendFrame(r.frame(e,n),s);return}let i=this._extensions[Gu.extensionName];this._bufferedBytes+=n[Lt],this._state=km,i.compress(e,n.fin,(a,c)=>{if(this._socket.destroyed){let u=new Error("The socket was closed while data was being compressed");da(this,u,s);return}this._bufferedBytes-=n[Lt],this._state=jt,n.readOnly=!1,this.sendFrame(r.frame(c,n),s),this.dequeue()})}dequeue(){for(;this._state===jt&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][Lt],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][Lt],this._queue.push(e)}sendFrame(e,t){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}};Xu.exports=ha;function da(r,e,t){typeof t=="function"&&t(e);for(let n=0;n<r._queue.length;n++){let s=r._queue[n],i=s[s.length-1];typeof i=="function"&&i(e)}}function Pm(r,e,t){da(r,e,t),r.onerror(e)}});var il=F((GE,sl)=>{"use strict";var{kForOnEventAttribute:ls,kListener:ga}=dr(),Ju=Symbol("kCode"),Zu=Symbol("kData"),Qu=Symbol("kError"),el=Symbol("kMessage"),tl=Symbol("kReason"),Nn=Symbol("kTarget"),rl=Symbol("kType"),nl=Symbol("kWasClean"),gr=class{constructor(e){this[Nn]=null,this[rl]=e}get target(){return this[Nn]}get type(){return this[rl]}};Object.defineProperty(gr.prototype,"target",{enumerable:!0});Object.defineProperty(gr.prototype,"type",{enumerable:!0});var tn=class extends gr{constructor(e,t={}){super(e),this[Ju]=t.code===void 0?0:t.code,this[tl]=t.reason===void 0?"":t.reason,this[nl]=t.wasClean===void 0?!1:t.wasClean}get code(){return this[Ju]}get reason(){return this[tl]}get wasClean(){return this[nl]}};Object.defineProperty(tn.prototype,"code",{enumerable:!0});Object.defineProperty(tn.prototype,"reason",{enumerable:!0});Object.defineProperty(tn.prototype,"wasClean",{enumerable:!0});var Dn=class extends gr{constructor(e,t={}){super(e),this[Qu]=t.error===void 0?null:t.error,this[el]=t.message===void 0?"":t.message}get error(){return this[Qu]}get message(){return this[el]}};Object.defineProperty(Dn.prototype,"error",{enumerable:!0});Object.defineProperty(Dn.prototype,"message",{enumerable:!0});var hs=class extends gr{constructor(e,t={}){super(e),this[Zu]=t.data===void 0?null:t.data}get data(){return this[Zu]}};Object.defineProperty(hs.prototype,"data",{enumerable:!0});var Am={addEventListener(r,e,t={}){for(let s of this.listeners(r))if(!t[ls]&&s[ga]===e&&!s[ls])return;let n;if(r==="message")n=function(i,a){let c=new hs("message",{data:a?i:i.toString()});c[Nn]=this,ki(e,this,c)};else if(r==="close")n=function(i,a){let c=new tn("close",{code:i,reason:a.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});c[Nn]=this,ki(e,this,c)};else if(r==="error")n=function(i){let a=new Dn("error",{error:i,message:i.message});a[Nn]=this,ki(e,this,a)};else if(r==="open")n=function(){let i=new gr("open");i[Nn]=this,ki(e,this,i)};else return;n[ls]=!!t[ls],n[ga]=e,t.once?this.once(r,n):this.on(r,n)},removeEventListener(r,e){for(let t of this.listeners(r))if(t[ga]===e&&!t[ls]){this.removeListener(r,t);break}}};sl.exports={CloseEvent:tn,ErrorEvent:Dn,Event:gr,EventTarget:Am,MessageEvent:hs};function ki(r,e,t){typeof r=="object"&&r.handleEvent?r.handleEvent.call(r,t):r.call(e,t)}});var ma=F((YE,ol)=>{"use strict";var{tokenChars:ds}=An();function Qt(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}function Im(r){let e=Object.create(null),t=Object.create(null),n=!1,s=!1,i=!1,a,c,u=-1,d=-1,g=-1,m=0;for(;m<r.length;m++)if(d=r.charCodeAt(m),a===void 0)if(g===-1&&ds[d]===1)u===-1&&(u=m);else if(m!==0&&(d===32||d===9))g===-1&&u!==-1&&(g=m);else if(d===59||d===44){if(u===-1)throw new SyntaxError(`Unexpected character at index ${m}`);g===-1&&(g=m);let w=r.slice(u,g);d===44?(Qt(e,w,t),t=Object.create(null)):a=w,u=g=-1}else throw new SyntaxError(`Unexpected character at index ${m}`);else if(c===void 0)if(g===-1&&ds[d]===1)u===-1&&(u=m);else if(d===32||d===9)g===-1&&u!==-1&&(g=m);else if(d===59||d===44){if(u===-1)throw new SyntaxError(`Unexpected character at index ${m}`);g===-1&&(g=m),Qt(t,r.slice(u,g),!0),d===44&&(Qt(e,a,t),t=Object.create(null),a=void 0),u=g=-1}else if(d===61&&u!==-1&&g===-1)c=r.slice(u,m),u=g=-1;else throw new SyntaxError(`Unexpected character at index ${m}`);else if(s){if(ds[d]!==1)throw new SyntaxError(`Unexpected character at index ${m}`);u===-1?u=m:n||(n=!0),s=!1}else if(i)if(ds[d]===1)u===-1&&(u=m);else if(d===34&&u!==-1)i=!1,g=m;else if(d===92)s=!0;else throw new SyntaxError(`Unexpected character at index ${m}`);else if(d===34&&r.charCodeAt(m-1)===61)i=!0;else if(g===-1&&ds[d]===1)u===-1&&(u=m);else if(u!==-1&&(d===32||d===9))g===-1&&(g=m);else if(d===59||d===44){if(u===-1)throw new SyntaxError(`Unexpected character at index ${m}`);g===-1&&(g=m);let w=r.slice(u,g);n&&(w=w.replace(/\\/g,""),n=!1),Qt(t,c,w),d===44&&(Qt(e,a,t),t=Object.create(null),a=void 0),c=void 0,u=g=-1}else throw new SyntaxError(`Unexpected character at index ${m}`);if(u===-1||i||d===32||d===9)throw new SyntaxError("Unexpected end of input");g===-1&&(g=m);let y=r.slice(u,g);return a===void 0?Qt(e,y,t):(c===void 0?Qt(t,y,!0):n?Qt(t,c,y.replace(/\\/g,"")):Qt(t,c,y),Qt(e,a,t)),e}function Lm(r){return Object.keys(r).map(e=>{let t=r[e];return Array.isArray(t)||(t=[t]),t.map(n=>[e].concat(Object.keys(n).map(s=>{let i=n[s];return Array.isArray(i)||(i=[i]),i.map(a=>a===!0?s:`${s}=${a}`).join("; ")})).join("; ")).join(", ")}).join(", ")}ol.exports={format:Lm,parse:Im}});var Ii=F((ZE,yl)=>{"use strict";var Nm=require("events"),Dm=require("https"),Fm=require("http"),fl=require("net"),Mm=require("tls"),{randomBytes:Bm,createHash:jm}=require("crypto"),{Duplex:XE,Readable:JE}=require("stream"),{URL:_a}=require("url"),Dr=us(),Um=la(),qm=pa(),{isBlob:Wm}=An(),{BINARY_TYPES:al,EMPTY_BUFFER:Ri,GUID:Hm,kForOnEventAttribute:ya,kListener:Vm,kStatusCode:Km,kWebSocket:st,NOOP:ul}=dr(),{EventTarget:{addEventListener:$m,removeEventListener:zm}}=il(),{format:Gm,parse:Ym}=ma(),{toBuffer:Xm}=cs(),Jm=30*1e3,ll=Symbol("kAborted"),va=[8,13],mr=["CONNECTING","OPEN","CLOSING","CLOSED"],Zm=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,qe=class r extends Nm{constructor(e,t,n){super(),this._binaryType=al[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=Ri,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=r.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,t===void 0?t=[]:Array.isArray(t)||(typeof t=="object"&&t!==null?(n=t,t=[]):t=[t]),hl(this,e,t,n)):(this._autoPong=n.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){al.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,n){let s=new Um({allowSynchronousEvents:n.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation}),i=new qm(e,this._extensions,n.generateMask);this._receiver=s,this._sender=i,this._socket=e,s[st]=this,i[st]=this,e[st]=this,s.on("conclude",t0),s.on("drain",r0),s.on("error",n0),s.on("message",s0),s.on("ping",i0),s.on("pong",o0),i.onerror=a0,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",gl),e.on("data",Ai),e.on("end",ml),e.on("error",_l),this._readyState=r.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=r.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Dr.extensionName]&&this._extensions[Dr.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=r.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==r.CLOSED){if(this.readyState===r.CONNECTING){Tt(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===r.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=r.CLOSING,this._sender.close(e,t,!this._isServer,n=>{n||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),pl(this)}}pause(){this.readyState===r.CONNECTING||this.readyState===r.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,t,n){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(n=e,e=t=void 0):typeof t=="function"&&(n=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){Ea(this,e,n);return}t===void 0&&(t=!this._isServer),this._sender.ping(e||Ri,t,n)}pong(e,t,n){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(n=e,e=t=void 0):typeof t=="function"&&(n=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){Ea(this,e,n);return}t===void 0&&(t=!this._isServer),this._sender.pong(e||Ri,t,n)}resume(){this.readyState===r.CONNECTING||this.readyState===r.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,n){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"&&(n=t,t={}),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){Ea(this,e,n);return}let s={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[Dr.extensionName]||(s.compress=!1),this._sender.send(e||Ri,s,n)}terminate(){if(this.readyState!==r.CLOSED){if(this.readyState===r.CONNECTING){Tt(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=r.CLOSING,this._socket.destroy())}}};Object.defineProperty(qe,"CONNECTING",{enumerable:!0,value:mr.indexOf("CONNECTING")});Object.defineProperty(qe.prototype,"CONNECTING",{enumerable:!0,value:mr.indexOf("CONNECTING")});Object.defineProperty(qe,"OPEN",{enumerable:!0,value:mr.indexOf("OPEN")});Object.defineProperty(qe.prototype,"OPEN",{enumerable:!0,value:mr.indexOf("OPEN")});Object.defineProperty(qe,"CLOSING",{enumerable:!0,value:mr.indexOf("CLOSING")});Object.defineProperty(qe.prototype,"CLOSING",{enumerable:!0,value:mr.indexOf("CLOSING")});Object.defineProperty(qe,"CLOSED",{enumerable:!0,value:mr.indexOf("CLOSED")});Object.defineProperty(qe.prototype,"CLOSED",{enumerable:!0,value:mr.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(r=>{Object.defineProperty(qe.prototype,r,{enumerable:!0})});["open","error","close","message"].forEach(r=>{Object.defineProperty(qe.prototype,`on${r}`,{enumerable:!0,get(){for(let e of this.listeners(r))if(e[ya])return e[Vm];return null},set(e){for(let t of this.listeners(r))if(t[ya]){this.removeListener(r,t);break}typeof e=="function"&&this.addEventListener(r,e,{[ya]:!0})}})});qe.prototype.addEventListener=$m;qe.prototype.removeEventListener=zm;yl.exports=qe;function hl(r,e,t,n){let s={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:va[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...n,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(r._autoPong=s.autoPong,!va.includes(s.protocolVersion))throw new RangeError(`Unsupported protocol version: ${s.protocolVersion} (supported versions: ${va.join(", ")})`);let i;if(e instanceof _a)i=e;else try{i=new _a(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}i.protocol==="http:"?i.protocol="ws:":i.protocol==="https:"&&(i.protocol="wss:"),r._url=i.href;let a=i.protocol==="wss:",c=i.protocol==="ws+unix:",u;if(i.protocol!=="ws:"&&!a&&!c?u=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:c&&!i.pathname?u="The URL's pathname is empty":i.hash&&(u="The URL contains a fragment identifier"),u){let T=new SyntaxError(u);if(r._redirects===0)throw T;Pi(r,T);return}let d=a?443:80,g=Bm(16).toString("base64"),m=a?Dm.request:Fm.request,y=new Set,w;if(s.createConnection=s.createConnection||(a?e0:Qm),s.defaultPort=s.defaultPort||d,s.port=i.port||d,s.host=i.hostname.startsWith("[")?i.hostname.slice(1,-1):i.hostname,s.headers={...s.headers,"Sec-WebSocket-Version":s.protocolVersion,"Sec-WebSocket-Key":g,Connection:"Upgrade",Upgrade:"websocket"},s.path=i.pathname+i.search,s.timeout=s.handshakeTimeout,s.perMessageDeflate&&(w=new Dr(s.perMessageDeflate!==!0?s.perMessageDeflate:{},!1,s.maxPayload),s.headers["Sec-WebSocket-Extensions"]=Gm({[Dr.extensionName]:w.offer()})),t.length){for(let T of t){if(typeof T!="string"||!Zm.test(T)||y.has(T))throw new SyntaxError("An invalid or duplicated subprotocol was specified");y.add(T)}s.headers["Sec-WebSocket-Protocol"]=t.join(",")}if(s.origin&&(s.protocolVersion<13?s.headers["Sec-WebSocket-Origin"]=s.origin:s.headers.Origin=s.origin),(i.username||i.password)&&(s.auth=`${i.username}:${i.password}`),c){let T=s.path.split(":");s.socketPath=T[0],s.path=T[1]}let S;if(s.followRedirects){if(r._redirects===0){r._originalIpc=c,r._originalSecure=a,r._originalHostOrSocketPath=c?s.socketPath:i.host;let T=n&&n.headers;if(n={...n,headers:{}},T)for(let[V,ge]of Object.entries(T))n.headers[V.toLowerCase()]=ge}else if(r.listenerCount("redirect")===0){let T=c?r._originalIpc?s.socketPath===r._originalHostOrSocketPath:!1:r._originalIpc?!1:i.host===r._originalHostOrSocketPath;(!T||r._originalSecure&&!a)&&(delete s.headers.authorization,delete s.headers.cookie,T||delete s.headers.host,s.auth=void 0)}s.auth&&!n.headers.authorization&&(n.headers.authorization="Basic "+Buffer.from(s.auth).toString("base64")),S=r._req=m(s),r._redirects&&r.emit("redirect",r.url,S)}else S=r._req=m(s);s.timeout&&S.on("timeout",()=>{Tt(r,S,"Opening handshake has timed out")}),S.on("error",T=>{S===null||S[ll]||(S=r._req=null,Pi(r,T))}),S.on("response",T=>{let V=T.headers.location,ge=T.statusCode;if(V&&s.followRedirects&&ge>=300&&ge<400){if(++r._redirects>s.maxRedirects){Tt(r,S,"Maximum redirects exceeded");return}S.abort();let J;try{J=new _a(V,e)}catch{let R=new SyntaxError(`Invalid URL: ${V}`);Pi(r,R);return}hl(r,J,t,n)}else r.emit("unexpected-response",S,T)||Tt(r,S,`Unexpected server response: ${T.statusCode}`)}),S.on("upgrade",(T,V,ge)=>{if(r.emit("upgrade",T),r.readyState!==qe.CONNECTING)return;S=r._req=null;let J=T.headers.upgrade;if(J===void 0||J.toLowerCase()!=="websocket"){Tt(r,V,"Invalid Upgrade header");return}let A=jm("sha1").update(g+Hm).digest("base64");if(T.headers["sec-websocket-accept"]!==A){Tt(r,V,"Invalid Sec-WebSocket-Accept header");return}let R=T.headers["sec-websocket-protocol"],ee;if(R!==void 0?y.size?y.has(R)||(ee="Server sent an invalid subprotocol"):ee="Server sent a subprotocol but none was requested":y.size&&(ee="Server sent no subprotocol"),ee){Tt(r,V,ee);return}R&&(r._protocol=R);let j=T.headers["sec-websocket-extensions"];if(j!==void 0){if(!w){Tt(r,V,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let Z;try{Z=Ym(j)}catch{Tt(r,V,"Invalid Sec-WebSocket-Extensions header");return}let ce=Object.keys(Z);if(ce.length!==1||ce[0]!==Dr.extensionName){Tt(r,V,"Server indicated an extension that was not requested");return}try{w.accept(Z[Dr.extensionName])}catch{Tt(r,V,"Invalid Sec-WebSocket-Extensions header");return}r._extensions[Dr.extensionName]=w}r.setSocket(V,ge,{allowSynchronousEvents:s.allowSynchronousEvents,generateMask:s.generateMask,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation})}),s.finishRequest?s.finishRequest(S,r):S.end()}function Pi(r,e){r._readyState=qe.CLOSING,r._errorEmitted=!0,r.emit("error",e),r.emitClose()}function Qm(r){return r.path=r.socketPath,fl.connect(r)}function e0(r){return r.path=void 0,!r.servername&&r.servername!==""&&(r.servername=fl.isIP(r.host)?"":r.host),Mm.connect(r)}function Tt(r,e,t){r._readyState=qe.CLOSING;let n=new Error(t);Error.captureStackTrace(n,Tt),e.setHeader?(e[ll]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(Pi,r,n)):(e.destroy(n),e.once("error",r.emit.bind(r,"error")),e.once("close",r.emitClose.bind(r)))}function Ea(r,e,t){if(e){let n=Wm(e)?e.size:Xm(e).length;r._socket?r._sender._bufferedBytes+=n:r._bufferedAmount+=n}if(t){let n=new Error(`WebSocket is not open: readyState ${r.readyState} (${mr[r.readyState]})`);process.nextTick(t,n)}}function t0(r,e){let t=this[st];t._closeFrameReceived=!0,t._closeMessage=e,t._closeCode=r,t._socket[st]!==void 0&&(t._socket.removeListener("data",Ai),process.nextTick(dl,t._socket),r===1005?t.close():t.close(r,e))}function r0(){let r=this[st];r.isPaused||r._socket.resume()}function n0(r){let e=this[st];e._socket[st]!==void 0&&(e._socket.removeListener("data",Ai),process.nextTick(dl,e._socket),e.close(r[Km])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",r))}function cl(){this[st].emitClose()}function s0(r,e){this[st].emit("message",r,e)}function i0(r){let e=this[st];e._autoPong&&e.pong(r,!this._isServer,ul),e.emit("ping",r)}function o0(r){this[st].emit("pong",r)}function dl(r){r.resume()}function a0(r){let e=this[st];e.readyState!==qe.CLOSED&&(e.readyState===qe.OPEN&&(e._readyState=qe.CLOSING,pl(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",r)))}function pl(r){r._closeTimer=setTimeout(r._socket.destroy.bind(r._socket),Jm)}function gl(){let r=this[st];this.removeListener("close",gl),this.removeListener("data",Ai),this.removeListener("end",ml),r._readyState=qe.CLOSING;let e;!this._readableState.endEmitted&&!r._closeFrameReceived&&!r._receiver._writableState.errorEmitted&&(e=r._socket.read())!==null&&r._receiver.write(e),r._receiver.end(),this[st]=void 0,clearTimeout(r._closeTimer),r._receiver._writableState.finished||r._receiver._writableState.errorEmitted?r.emitClose():(r._receiver.on("error",cl),r._receiver.on("finish",cl))}function Ai(r){this[st]._receiver.write(r)||this.pause()}function ml(){let r=this[st];r._readyState=qe.CLOSING,r._receiver.end(),this.end()}function _l(){let r=this[st];this.removeListener("error",_l),this.on("error",ul),r&&(r._readyState=qe.CLOSING,this.destroy())}});var bl=F((ew,wl)=>{"use strict";var QE=Ii(),{Duplex:c0}=require("stream");function vl(r){r.emit("close")}function f0(){!this.destroyed&&this._writableState.finished&&this.destroy()}function El(r){this.removeListener("error",El),this.destroy(),this.listenerCount("error")===0&&this.emit("error",r)}function u0(r,e){let t=!0,n=new c0({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return r.on("message",function(i,a){let c=!a&&n._readableState.objectMode?i.toString():i;n.push(c)||r.pause()}),r.once("error",function(i){n.destroyed||(t=!1,n.destroy(i))}),r.once("close",function(){n.destroyed||n.push(null)}),n._destroy=function(s,i){if(r.readyState===r.CLOSED){i(s),process.nextTick(vl,n);return}let a=!1;r.once("error",function(u){a=!0,i(u)}),r.once("close",function(){a||i(s),process.nextTick(vl,n)}),t&&r.terminate()},n._final=function(s){if(r.readyState===r.CONNECTING){r.once("open",function(){n._final(s)});return}r._socket!==null&&(r._socket._writableState.finished?(s(),n._readableState.endEmitted&&n.destroy()):(r._socket.once("finish",function(){s()}),r.close()))},n._read=function(){r.isPaused&&r.resume()},n._write=function(s,i,a){if(r.readyState===r.CONNECTING){r.once("open",function(){n._write(s,i,a)});return}r.send(s,a)},n.on("end",f0),n.on("error",El),n}wl.exports=u0});var Sl=F((tw,xl)=>{"use strict";var{tokenChars:l0}=An();function h0(r){let e=new Set,t=-1,n=-1,s=0;for(s;s<r.length;s++){let a=r.charCodeAt(s);if(n===-1&&l0[a]===1)t===-1&&(t=s);else if(s!==0&&(a===32||a===9))n===-1&&t!==-1&&(n=s);else if(a===44){if(t===-1)throw new SyntaxError(`Unexpected character at index ${s}`);n===-1&&(n=s);let c=r.slice(t,n);if(e.has(c))throw new SyntaxError(`The "${c}" subprotocol is duplicated`);e.add(c),t=n=-1}else throw new SyntaxError(`Unexpected character at index ${s}`)}if(t===-1||n!==-1)throw new SyntaxError("Unexpected end of input");let i=r.slice(t,s);if(e.has(i))throw new SyntaxError(`The "${i}" subprotocol is duplicated`);return e.add(i),e}xl.exports={parse:h0}});var Al=F((nw,Pl)=>{"use strict";var d0=require("events"),Li=require("http"),{Duplex:rw}=require("stream"),{createHash:p0}=require("crypto"),Tl=ma(),rn=us(),g0=Sl(),m0=Ii(),{GUID:_0,kWebSocket:y0}=dr(),v0=/^[+/0-9A-Za-z]{22}==$/,Cl=0,Ol=1,Rl=2,wa=class extends d0{constructor(e,t){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,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:m0,...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=Li.createServer((n,s)=>{let i=Li.STATUS_CODES[426];s.writeHead(426,{"Content-Length":i.length,"Content-Type":"text/plain"}),s.end(i)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){let n=this.emit.bind(this,"connection");this._removeListeners=E0(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(s,i,a)=>{this.handleUpgrade(s,i,a,n)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=Cl}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===Rl){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(ps,this);return}if(e&&this.once("close",e),this._state!==Ol)if(this._state=Ol,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(ps,this):process.nextTick(ps,this);else{let t=this._server;this._removeListeners(),this._removeListeners=this._server=null,t.close(()=>{ps(this)})}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((t!==-1?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,n,s){t.on("error",kl);let i=e.headers["sec-websocket-key"],a=e.headers.upgrade,c=+e.headers["sec-websocket-version"];if(e.method!=="GET"){nn(this,e,t,405,"Invalid HTTP method");return}if(a===void 0||a.toLowerCase()!=="websocket"){nn(this,e,t,400,"Invalid Upgrade header");return}if(i===void 0||!v0.test(i)){nn(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");return}if(c!==13&&c!==8){nn(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){gs(t,400);return}let u=e.headers["sec-websocket-protocol"],d=new Set;if(u!==void 0)try{d=g0.parse(u)}catch{nn(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let g=e.headers["sec-websocket-extensions"],m={};if(this.options.perMessageDeflate&&g!==void 0){let y=new rn(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let w=Tl.parse(g);w[rn.extensionName]&&(y.accept(w[rn.extensionName]),m[rn.extensionName]=y)}catch{nn(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let y={origin:e.headers[`${c===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(y,(w,S,T,V)=>{if(!w)return gs(t,S||401,T,V);this.completeUpgrade(m,i,d,e,t,n,s)});return}if(!this.options.verifyClient(y))return gs(t,401)}this.completeUpgrade(m,i,d,e,t,n,s)}completeUpgrade(e,t,n,s,i,a,c){if(!i.readable||!i.writable)return i.destroy();if(i[y0])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>Cl)return gs(i,503);let d=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${p0("sha1").update(t+_0).digest("base64")}`],g=new this.options.WebSocket(null,void 0,this.options);if(n.size){let m=this.options.handleProtocols?this.options.handleProtocols(n,s):n.values().next().value;m&&(d.push(`Sec-WebSocket-Protocol: ${m}`),g._protocol=m)}if(e[rn.extensionName]){let m=e[rn.extensionName].params,y=Tl.format({[rn.extensionName]:[m]});d.push(`Sec-WebSocket-Extensions: ${y}`),g._extensions=e}this.emit("headers",d,s),i.write(d.concat(`\r
21
21
  `).join(`\r
22
- `)),i.removeListener("error",Ol),g.setSocket(i,a,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(g),g.on("close",()=>{this.clients.delete(g),this._shouldEmitClose&&!this.clients.size&&process.nextTick(ps,this)})),c(g,s)}};Rl.exports=wa;function _0(r,e){for(let t of Object.keys(e))r.on(t,e[t]);return function(){for(let n of Object.keys(e))r.removeListener(n,e[n])}}function ps(r){r._state=kl,r.emit("close")}function Ol(){this.destroy()}function gs(r,e,t,n){t=t||Li.STATUS_CODES[e],n={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(t),...n},r.once("finish",r.destroy),r.end(`HTTP/1.1 ${e} ${Li.STATUS_CODES[e]}\r
22
+ `)),i.removeListener("error",kl),g.setSocket(i,a,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(g),g.on("close",()=>{this.clients.delete(g),this._shouldEmitClose&&!this.clients.size&&process.nextTick(ps,this)})),c(g,s)}};Pl.exports=wa;function E0(r,e){for(let t of Object.keys(e))r.on(t,e[t]);return function(){for(let n of Object.keys(e))r.removeListener(n,e[n])}}function ps(r){r._state=Rl,r.emit("close")}function kl(){this.destroy()}function gs(r,e,t,n){t=t||Li.STATUS_CODES[e],n={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(t),...n},r.once("finish",r.destroy),r.end(`HTTP/1.1 ${e} ${Li.STATUS_CODES[e]}\r
23
23
  `+Object.keys(n).map(s=>`${s}: ${n[s]}`).join(`\r
24
24
  `)+`\r
25
25
  \r
26
- `+t)}function nn(r,e,t,n,s,i){if(r.listenerCount("wsClientError")){let a=new Error(s);Error.captureStackTrace(a,nn),r.emit("wsClientError",a,t,e)}else gs(t,n,s,i)}});var Il=F((tw,Al)=>{"use strict";var _r=Ii();_r.createWebSocketStream=wl();_r.Server=Pl();_r.Receiver=la();_r.Sender=pa();_r.WebSocket=_r;_r.WebSocketServer=_r.Server;Al.exports=_r});var Ta=F(Fr=>{"use strict";var y0=Fr&&Fr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Fr,"__esModule",{value:!0});Fr.WS=Fr.BaseWS=void 0;var v0=as(),Ll=Jr(),E0=xn(),xa=Xr(),w0=y0(At()),b0=(0,w0.default)("engine.io-client:websocket"),Nl=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative",Ni=class extends v0.Transport{get name(){return"websocket"}doOpen(){let e=this.uri(),t=this.opts.protocols,n=Nl?{}:(0,Ll.pick)(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,n)}catch(s){return this.emitReserved("error",s)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let n=e[t],s=t===e.length-1;(0,E0.encodePacket)(n,this.supportsBinary,i=>{try{this.doWrite(n,i)}catch{b0("websocket closed before onclose event")}s&&(0,xa.nextTick)(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){let e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=(0,Ll.randomString)()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}};Fr.BaseWS=Ni;var ba=xa.globalThisShim.WebSocket||xa.globalThisShim.MozWebSocket,Sa=class extends Ni{createSocket(e,t,n){return Nl?new ba(e,t,n):t?new ba(e,t):new ba(e)}doWrite(e,t){this.ws.send(t)}};Fr.WS=Sa});var Oa=F(er=>{"use strict";var x0=er&&er.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),S0=er&&er.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),T0=er&&er.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&x0(e,r,t);return S0(e,r),e};Object.defineProperty(er,"__esModule",{value:!0});er.WS=void 0;var C0=T0(Il()),O0=Ta(),Ca=class extends O0.BaseWS{createSocket(e,t,n){var s;if(!((s=this.socket)===null||s===void 0)&&s._cookieJar){n.headers=n.headers||{},n.headers.cookie=typeof n.headers.cookie=="string"?[n.headers.cookie]:n.headers.cookie||[];for(let[i,a]of this.socket._cookieJar.cookies)n.headers.cookie.push(`${i}=${a.value}`)}return new C0.WebSocket(e,t,n)}doWrite(e,t){let n={};e.options&&(n.compress=e.options.compress),this.opts.perMessageDeflate&&(typeof t=="string"?Buffer.byteLength(t):t.length)<this.opts.perMessageDeflate.threshold&&(n.compress=!1),this.ws.send(t,n)}};er.WS=Ca});var Ra=F(Fn=>{"use strict";var k0=Fn&&Fn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Fn,"__esModule",{value:!0});Fn.WT=void 0;var R0=as(),P0=Xr(),Dl=xn(),A0=k0(At()),ms=(0,A0.default)("engine.io-client:webtransport"),ka=class extends R0.Transport{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved("error",e)}this._transport.closed.then(()=>{ms("transport closed gracefully"),this.onClose()}).catch(e=>{ms("transport closed due to %s",e),this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{let t=(0,Dl.createPacketDecoderStream)(Number.MAX_SAFE_INTEGER,this.socket.binaryType),n=e.readable.pipeThrough(t).getReader(),s=(0,Dl.createPacketEncoderStream)();s.readable.pipeTo(e.writable),this._writer=s.writable.getWriter();let i=()=>{n.read().then(({done:c,value:u})=>{if(c){ms("session is closed");return}ms("received chunk: %o",u),this.onPacket(u),i()}).catch(c=>{ms("an error occurred while reading: %s",c)})};i();let a={type:"open"};this.query.sid&&(a.data=`{"sid":"${this.query.sid}"}`),this._writer.write(a).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let n=e[t],s=t===e.length-1;this._writer.write(n).then(()=>{s&&(0,P0.nextTick)(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}};Fn.WT=ka});var Pa=F(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.transports=void 0;var I0=ea(),L0=Oa(),N0=Ra();Di.transports={websocket:L0.WS,webtransport:N0.WT,polling:I0.XHR}});var Ia=F(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.parse=M0;var D0=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,F0=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function M0(r){if(r.length>8e3)throw"URI too long";let e=r,t=r.indexOf("["),n=r.indexOf("]");t!=-1&&n!=-1&&(r=r.substring(0,t)+r.substring(t,n).replace(/:/g,";")+r.substring(n,r.length));let s=D0.exec(r||""),i={},a=14;for(;a--;)i[F0[a]]=s[a]||"";return t!=-1&&n!=-1&&(i.source=e,i.host=i.host.substring(1,i.host.length-1).replace(/;/g,":"),i.authority=i.authority.replace("[","").replace("]","").replace(/;/g,":"),i.ipv6uri=!0),i.pathNames=B0(i,i.path),i.queryKey=j0(i,i.query),i}function B0(r,e){let t=/\/{2,9}/g,n=e.replace(t,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&n.splice(0,1),e.slice(-1)=="/"&&n.splice(n.length-1,1),n}function j0(r,e){let t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(n,s,i){s&&(t[s]=i)}),t}});var Fa=F(tr=>{"use strict";var U0=tr&&tr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(tr,"__esModule",{value:!0});tr.Socket=tr.SocketWithUpgrade=tr.SocketWithoutUpgrade=void 0;var q0=Pa(),Fl=Jr(),W0=Wo(),Ml=Ia(),H0=Yr(),Bl=xn(),La=Xr(),V0=U0(At()),Ne=(0,V0.default)("engine.io-client:socket"),Na=typeof addEventListener=="function"&&typeof removeEventListener=="function",_s=[];Na&&addEventListener("offline",()=>{Ne("closing %d connection(s) because the network was lost",_s.length),_s.forEach(r=>r())},!1);var sn=class r extends H0.Emitter{constructor(e,t){if(super(),this.binaryType=La.defaultBinaryType,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,e&&typeof e=="object"&&(t=e,e=null),e){let n=(0,Ml.parse)(e);t.hostname=n.host,t.secure=n.protocol==="https"||n.protocol==="wss",t.port=n.port,n.query&&(t.query=n.query)}else t.host&&(t.hostname=(0,Ml.parse)(t.host).host);(0,Fl.installTimerFunctions)(this,t),this.secure=t.secure!=null?t.secure:typeof location<"u"&&location.protocol==="https:",t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=t.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},t.transports.forEach(n=>{let s=n.prototype.name;this.transports.push(s),this._transportsByName[s]=n}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=(0,W0.decode)(this.opts.query)),Na&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(Ne("adding listener for the 'offline' event"),this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},_s.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=(0,La.createCookieJar)()),this._open()}createTransport(e){Ne('creating transport "%s"',e);let t=Object.assign({},this.opts.query);t.EIO=Bl.protocol,t.transport=e,this.id&&(t.sid=this.id);let n=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return Ne("options: %j",n),new this._transportsByName[e](n)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}let e=this.opts.rememberUpgrade&&r.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";let t=this.createTransport(e);t.open(),this.setTransport(t)}setTransport(e){Ne("setting transport %s",e.name),this.transport&&(Ne("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=e,e.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",t=>this._onClose("transport close",t))}onOpen(){Ne("socket open"),this.readyState="open",r.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(e){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(Ne('socket receive: type "%s", data "%s"',e.type,e.data),this.emitReserved("packet",e),this.emitReserved("heartbeat"),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":let t=new Error("server error");t.code=e.data,this._onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data);break}else Ne('packet received with socket readyState "%s"',this.readyState)}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this._pingInterval=e.pingInterval,this._pingTimeout=e.pingTimeout,this._maxPayload=e.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);let e=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+e,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},e),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){let e=this._getWritablePackets();Ne("flushing %d packets in socket",e.length),this.transport.send(e),this._prevBufferLen=e.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let n=0;n<this.writeBuffer.length;n++){let s=this.writeBuffer[n].data;if(s&&(t+=(0,Fl.byteLength)(s)),n>0&&t>this._maxPayload)return Ne("only send %d out of %d packets",n,this.writeBuffer.length),this.writeBuffer.slice(0,n);t+=2}return Ne("payload size is %d (max: %d)",t,this._maxPayload),this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;let e=Date.now()>this._pingTimeoutTime;return e&&(Ne("throttled timer detected, scheduling connection close"),this._pingTimeoutTime=0,(0,La.nextTick)(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),e}write(e,t,n){return this._sendPacket("message",e,t,n),this}send(e,t,n){return this._sendPacket("message",e,t,n),this}_sendPacket(e,t,n,s){if(typeof t=="function"&&(s=t,t=void 0),typeof n=="function"&&(s=n,n=null),this.readyState==="closing"||this.readyState==="closed")return;n=n||{},n.compress=n.compress!==!1;let i={type:e,data:t,options:n};this.emitReserved("packetCreate",i),this.writeBuffer.push(i),s&&this.once("flush",s),this.flush()}close(){let e=()=>{this._onClose("forced close"),Ne("socket closing - telling transport to close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},n=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?n():e()}):this.upgrading?n():e()),this}_onError(e){if(Ne("socket error %j",e),r.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return Ne("trying next transport"),this.transports.shift(),this._open();this.emitReserved("error",e),this._onClose("transport error",e)}_onClose(e,t){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(Ne('socket close with reason: "%s"',e),this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),Na&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){let n=_s.indexOf(this._offlineEventListener);n!==-1&&(Ne("removing listener for the 'offline' event"),_s.splice(n,1))}this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this._prevBufferLen=0}}};tr.SocketWithoutUpgrade=sn;sn.protocol=Bl.protocol;var Fi=class extends sn{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade){Ne("starting upgrade probes");for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}}_probe(e){Ne('probing transport "%s"',e);let t=this.createTransport(e),n=!1;sn.priorWebsocketSuccess=!1;let s=()=>{n||(Ne('probe transport "%s" opened',e),t.send([{type:"ping",data:"probe"}]),t.once("packet",m=>{if(!n)if(m.type==="pong"&&m.data==="probe"){if(Ne('probe transport "%s" pong',e),this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;sn.priorWebsocketSuccess=t.name==="websocket",Ne('pausing current transport "%s"',this.transport.name),this.transport.pause(()=>{n||this.readyState!=="closed"&&(Ne("changing transport and sending upgrade packet"),g(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{Ne('probe transport "%s" failed',e);let y=new Error("probe error");y.transport=t.name,this.emitReserved("upgradeError",y)}}))};function i(){n||(n=!0,g(),t.close(),t=null)}let a=m=>{let y=new Error("probe error: "+m);y.transport=t.name,i(),Ne('probe transport "%s" failed because of error: %s',e,m),this.emitReserved("upgradeError",y)};function c(){a("transport closed")}function u(){a("socket closed")}function d(m){t&&m.name!==t.name&&(Ne('"%s" works - aborting "%s"',m.name,t.name),i())}let g=()=>{t.removeListener("open",s),t.removeListener("error",a),t.removeListener("close",c),this.off("close",u),this.off("upgrading",d)};t.once("open",s),t.once("error",a),t.once("close",c),this.once("close",u),this.once("upgrading",d),this._upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{n||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){let t=[];for(let n=0;n<e.length;n++)~this.transports.indexOf(e[n])&&t.push(e[n]);return t}};tr.SocketWithUpgrade=Fi;var Da=class extends Fi{constructor(e,t={}){let n=typeof e=="object"?e:t;(!n.transports||n.transports&&typeof n.transports[0]=="string")&&(n.transports=(n.transports||["polling","websocket","webtransport"]).map(s=>q0.transports[s]).filter(s=>!!s)),super(e,n)}};tr.Socket=Da});var jl=F(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.Fetch=void 0;var K0=Yo(),Ma=class extends K0.Polling{doPoll(){this._fetch().then(e=>{if(!e.ok)return this.onError("fetch read error",e.status,e);e.text().then(t=>this.onData(t))}).catch(e=>{this.onError("fetch read error",e)})}doWrite(e,t){this._fetch(e).then(n=>{if(!n.ok)return this.onError("fetch write error",n.status,n);t()}).catch(n=>{this.onError("fetch write error",n)})}_fetch(e){var t;let n=e!==void 0,s=new Headers(this.opts.extraHeaders);return n&&s.set("content-type","text/plain;charset=UTF-8"),(t=this.socket._cookieJar)===null||t===void 0||t.appendCookies(s),fetch(this.uri(),{method:n?"POST":"GET",body:n?e:null,headers:s,credentials:this.opts.withCredentials?"include":"omit"}).then(i=>{var a;return(a=this.socket._cookieJar)===null||a===void 0||a.parseCookies(i.headers.getSetCookie()),i})}};Mi.Fetch=Ma});var Bi=F(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.WebTransport=Se.WebSocket=Se.NodeWebSocket=Se.XHR=Se.NodeXHR=Se.Fetch=Se.nextTick=Se.parse=Se.installTimerFunctions=Se.transports=Se.TransportError=Se.Transport=Se.protocol=Se.SocketWithUpgrade=Se.SocketWithoutUpgrade=Se.Socket=void 0;var Ul=Fa();Object.defineProperty(Se,"Socket",{enumerable:!0,get:function(){return Ul.Socket}});var ql=Fa();Object.defineProperty(Se,"SocketWithoutUpgrade",{enumerable:!0,get:function(){return ql.SocketWithoutUpgrade}});Object.defineProperty(Se,"SocketWithUpgrade",{enumerable:!0,get:function(){return ql.SocketWithUpgrade}});Se.protocol=Ul.Socket.protocol;var Wl=as();Object.defineProperty(Se,"Transport",{enumerable:!0,get:function(){return Wl.Transport}});Object.defineProperty(Se,"TransportError",{enumerable:!0,get:function(){return Wl.TransportError}});var z0=Pa();Object.defineProperty(Se,"transports",{enumerable:!0,get:function(){return z0.transports}});var $0=Jr();Object.defineProperty(Se,"installTimerFunctions",{enumerable:!0,get:function(){return $0.installTimerFunctions}});var G0=Ia();Object.defineProperty(Se,"parse",{enumerable:!0,get:function(){return G0.parse}});var Y0=Xr();Object.defineProperty(Se,"nextTick",{enumerable:!0,get:function(){return Y0.nextTick}});var X0=jl();Object.defineProperty(Se,"Fetch",{enumerable:!0,get:function(){return X0.Fetch}});var J0=ea();Object.defineProperty(Se,"NodeXHR",{enumerable:!0,get:function(){return J0.XHR}});var Z0=Zo();Object.defineProperty(Se,"XHR",{enumerable:!0,get:function(){return Z0.XHR}});var Q0=Oa();Object.defineProperty(Se,"NodeWebSocket",{enumerable:!0,get:function(){return Q0.WS}});var e_=Ta();Object.defineProperty(Se,"WebSocket",{enumerable:!0,get:function(){return e_.WS}});var t_=Ra();Object.defineProperty(Se,"WebTransport",{enumerable:!0,get:function(){return t_.WT}})});var Vl=F(ys=>{"use strict";var r_=ys&&ys.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ys,"__esModule",{value:!0});ys.url=i_;var n_=Bi(),s_=r_(At()),Hl=(0,s_.default)("socket.io-client:url");function i_(r,e="",t){let n=r;t=t||typeof location<"u"&&location,r==null&&(r=t.protocol+"//"+t.host),typeof r=="string"&&(r.charAt(0)==="/"&&(r.charAt(1)==="/"?r=t.protocol+r:r=t.host+r),/^(https?|wss?):\/\//.test(r)||(Hl("protocol-less url %s",r),typeof t<"u"?r=t.protocol+"//"+r:r="https://"+r),Hl("parse %s",r),n=(0,n_.parse)(r)),n.port||(/^(http|ws)$/.test(n.protocol)?n.port="80":/^(http|ws)s$/.test(n.protocol)&&(n.port="443")),n.path=n.path||"/";let i=n.host.indexOf(":")!==-1?"["+n.host+"]":n.host;return n.id=n.protocol+"://"+i+":"+n.port+e,n.href=n.protocol+"://"+i+(t&&t.port===n.port?"":":"+n.port),n}});var Ba=F(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.isBinary=zl;Ui.hasBinary=ji;var o_=typeof ArrayBuffer=="function",a_=r=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(r):r.buffer instanceof ArrayBuffer,Kl=Object.prototype.toString,c_=typeof Blob=="function"||typeof Blob<"u"&&Kl.call(Blob)==="[object BlobConstructor]",f_=typeof File=="function"||typeof File<"u"&&Kl.call(File)==="[object FileConstructor]";function zl(r){return o_&&(r instanceof ArrayBuffer||a_(r))||c_&&r instanceof Blob||f_&&r instanceof File}function ji(r,e){if(!r||typeof r!="object")return!1;if(Array.isArray(r)){for(let t=0,n=r.length;t<n;t++)if(ji(r[t]))return!0;return!1}if(zl(r))return!0;if(r.toJSON&&typeof r.toJSON=="function"&&arguments.length===1)return ji(r.toJSON(),!0);for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)&&ji(r[t]))return!0;return!1}});var $l=F(qi=>{"use strict";Object.defineProperty(qi,"__esModule",{value:!0});qi.deconstructPacket=l_;qi.reconstructPacket=h_;var u_=Ba();function l_(r){let e=[],t=r.data,n=r;return n.data=ja(t,e),n.attachments=e.length,{packet:n,buffers:e}}function ja(r,e){if(!r)return r;if((0,u_.isBinary)(r)){let t={_placeholder:!0,num:e.length};return e.push(r),t}else if(Array.isArray(r)){let t=new Array(r.length);for(let n=0;n<r.length;n++)t[n]=ja(r[n],e);return t}else if(typeof r=="object"&&!(r instanceof Date)){let t={};for(let n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=ja(r[n],e));return t}return r}function h_(r,e){return r.data=Ua(r.data,e),delete r.attachments,r}function Ua(r,e){if(!r)return r;if(r&&r._placeholder===!0){if(typeof r.num=="number"&&r.num>=0&&r.num<e.length)return e[r.num];throw new Error("illegal attachments")}else if(Array.isArray(r))for(let t=0;t<r.length;t++)r[t]=Ua(r[t],e);else if(typeof r=="object")for(let t in r)Object.prototype.hasOwnProperty.call(r,t)&&(r[t]=Ua(r[t],e));return r}});var Hi=F(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.Decoder=Ut.Encoder=Ut.PacketType=Ut.protocol=void 0;Ut.isPacketValid=v_;var d_=Yr(),Gl=$l(),Yl=Ba(),p_=At(),qa=(0,p_.default)("socket.io-parser"),Xl=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];Ut.protocol=5;var Le;(function(r){r[r.CONNECT=0]="CONNECT",r[r.DISCONNECT=1]="DISCONNECT",r[r.EVENT=2]="EVENT",r[r.ACK=3]="ACK",r[r.CONNECT_ERROR=4]="CONNECT_ERROR",r[r.BINARY_EVENT=5]="BINARY_EVENT",r[r.BINARY_ACK=6]="BINARY_ACK"})(Le||(Ut.PacketType=Le={}));var Wa=class{constructor(e){this.replacer=e}encode(e){return qa("encoding packet %j",e),(e.type===Le.EVENT||e.type===Le.ACK)&&(0,Yl.hasBinary)(e)?this.encodeAsBinary({type:e.type===Le.EVENT?Le.BINARY_EVENT:Le.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=""+e.type;return(e.type===Le.BINARY_EVENT||e.type===Le.BINARY_ACK)&&(t+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(t+=e.nsp+","),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),qa("encoded %j as %s",e,t),t}encodeAsBinary(e){let t=(0,Gl.deconstructPacket)(e),n=this.encodeAsString(t.packet),s=t.buffers;return s.unshift(n),s}};Ut.Encoder=Wa;var Ha=class r extends d_.Emitter{constructor(e){super(),this.reviver=e}add(e){let t;if(typeof e=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);let n=t.type===Le.BINARY_EVENT;n||t.type===Le.BINARY_ACK?(t.type=n?Le.EVENT:Le.ACK,this.reconstructor=new Va(t),t.attachments===0&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else if((0,Yl.isBinary)(e)||e.base64)if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+e)}decodeString(e){let t=0,n={type:Number(e.charAt(0))};if(Le[n.type]===void 0)throw new Error("unknown packet type "+n.type);if(n.type===Le.BINARY_EVENT||n.type===Le.BINARY_ACK){let i=t+1;for(;e.charAt(++t)!=="-"&&t!=e.length;);let a=e.substring(i,t);if(a!=Number(a)||e.charAt(t)!=="-")throw new Error("Illegal attachments");n.attachments=Number(a)}if(e.charAt(t+1)==="/"){let i=t+1;for(;++t&&!(e.charAt(t)===","||t===e.length););n.nsp=e.substring(i,t)}else n.nsp="/";let s=e.charAt(t+1);if(s!==""&&Number(s)==s){let i=t+1;for(;++t;){let a=e.charAt(t);if(a==null||Number(a)!=a){--t;break}if(t===e.length)break}n.id=Number(e.substring(i,t+1))}if(e.charAt(++t)){let i=this.tryParse(e.substr(t));if(r.isPayloadValid(n.type,i))n.data=i;else throw new Error("invalid payload")}return qa("decoded %s as %j",e,n),n}tryParse(e){try{return JSON.parse(e,this.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case Le.CONNECT:return Wi(t);case Le.DISCONNECT:return t===void 0;case Le.CONNECT_ERROR:return typeof t=="string"||Wi(t);case Le.EVENT:case Le.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&Xl.indexOf(t[0])===-1);case Le.ACK:case Le.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}};Ut.Decoder=Ha;var Va=class{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){let t=(0,Gl.reconstructPacket)(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function g_(r){return typeof r=="string"}var m_=Number.isInteger||function(r){return typeof r=="number"&&isFinite(r)&&Math.floor(r)===r};function __(r){return r===void 0||m_(r)}function Wi(r){return Object.prototype.toString.call(r)==="[object Object]"}function y_(r,e){switch(r){case Le.CONNECT:return e===void 0||Wi(e);case Le.DISCONNECT:return e===void 0;case Le.EVENT:return Array.isArray(e)&&(typeof e[0]=="number"||typeof e[0]=="string"&&Xl.indexOf(e[0])===-1);case Le.ACK:return Array.isArray(e);case Le.CONNECT_ERROR:return typeof e=="string"||Wi(e);default:return!1}}function v_(r){return g_(r.nsp)&&__(r.id)&&y_(r.type,r.data)}});var za=F(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.on=E_;function E_(r,e,t){return r.on(e,t),function(){r.off(e,t)}}});var Ga=F(Mn=>{"use strict";var w_=Mn&&Mn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Mn,"__esModule",{value:!0});Mn.Socket=void 0;var qt=Hi(),Vi=za(),b_=Yr(),x_=w_(At()),Ze=(0,x_.default)("socket.io-client:socket"),S_=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),$a=class extends b_.Emitter{constructor(e,t,n){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,n&&n.auth&&(this.auth=n.auth),this._opts=Object.assign({},n),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;let e=this.io;this.subs=[(0,Vi.on)(e,"open",this.onopen.bind(this)),(0,Vi.on)(e,"packet",this.onpacket.bind(this)),(0,Vi.on)(e,"error",this.onerror.bind(this)),(0,Vi.on)(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){var n,s,i;if(S_.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;let a={type:qt.PacketType.EVENT,data:t};if(a.options={},a.options.compress=this.flags.compress!==!1,typeof t[t.length-1]=="function"){let g=this.ids++;Ze("emitting packet with ack id %d",g);let m=t.pop();this._registerAckCallback(g,m),a.id=g}let c=(s=(n=this.io.engine)===null||n===void 0?void 0:n.transport)===null||s===void 0?void 0:s.writable,u=this.connected&&!(!((i=this.io.engine)===null||i===void 0)&&i._hasPingExpired());return this.flags.volatile&&!c?Ze("discard packet as the transport is not currently writable"):u?(this.notifyOutgoingListeners(a),this.packet(a)):this.sendBuffer.push(a),this.flags={},this}_registerAckCallback(e,t){var n;let s=(n=this.flags.timeout)!==null&&n!==void 0?n:this._opts.ackTimeout;if(s===void 0){this.acks[e]=t;return}let i=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let c=0;c<this.sendBuffer.length;c++)this.sendBuffer[c].id===e&&(Ze("removing packet with ack id %d from the buffer",e),this.sendBuffer.splice(c,1));Ze("event with ack id %d has timed out after %d ms",e,s),t.call(this,new Error("operation has timed out"))},s),a=(...c)=>{this.io.clearTimeoutFn(i),t.apply(this,c)};a.withError=!0,this.acks[e]=a}emitWithAck(e,...t){return new Promise((n,s)=>{let i=(a,c)=>a?s(a):n(c);i.withError=!0,t.push(i),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]=="function"&&(t=e.pop());let n={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((s,...i)=>n!==this._queue[0]?Ze("packet [%d] already acknowledged",n.id):(s!==null?n.tryCount>this._opts.retries&&(Ze("packet [%d] is discarded after %d tries",n.id,n.tryCount),this._queue.shift(),t&&t(s)):(Ze("packet [%d] was successfully sent",n.id),this._queue.shift(),t&&t(null,...i)),n.pending=!1,this._drainQueue())),this._queue.push(n),this._drainQueue()}_drainQueue(e=!1){if(Ze("draining queue"),!this.connected||this._queue.length===0)return;let t=this._queue[0];if(t.pending&&!e){Ze("packet [%d] has already been sent and is waiting for an ack",t.id);return}t.pending=!0,t.tryCount++,Ze("sending packet [%d] (try n\xB0%d)",t.id,t.tryCount),this.flags=t.flags,this.emit.apply(this,t.args)}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){Ze("transport is open - connecting"),typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:qt.PacketType.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){Ze("close (%s)",e),this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(n=>String(n.id)===e)){let n=this.acks[e];delete this.acks[e],n.withError&&n.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case qt.PacketType.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case qt.PacketType.EVENT:case qt.PacketType.BINARY_EVENT:this.onevent(e);break;case qt.PacketType.ACK:case qt.PacketType.BINARY_ACK:this.onack(e);break;case qt.PacketType.DISCONNECT:this.ondisconnect();break;case qt.PacketType.CONNECT_ERROR:this.destroy();let n=new Error(e.data.message);n.data=e.data.data,this.emitReserved("connect_error",n);break}}onevent(e){let t=e.data||[];Ze("emitting event %j",t),e.id!=null&&(Ze("attaching ack callback to event"),t.push(this.ack(e.id))),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){let t=this._anyListeners.slice();for(let n of t)n.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){let t=this,n=!1;return function(...s){n||(n=!0,Ze("sending ack %j",s),t.packet({type:qt.PacketType.ACK,id:e,data:s}))}}onack(e){let t=this.acks[e.id];if(typeof t!="function"){Ze("bad ack %s",e.id);return}delete this.acks[e.id],Ze("calling ack %s with %j",e.id,e.data),t.withError&&e.data.unshift(null),t.apply(this,e.data)}onconnect(e,t){Ze("socket connected with id %s",e),this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this._drainQueue(!0),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){Ze("server disconnect (%s)",this.nsp),this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&(Ze("performing disconnect (%s)",this.nsp),this.packet({type:qt.PacketType.DISCONNECT})),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){let t=this._anyListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){let t=this._anyOutgoingListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let t=this._anyOutgoingListeners.slice();for(let n of t)n.apply(this,e.data)}}};Mn.Socket=$a});var Jl=F(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.Backoff=Bn;function Bn(r){r=r||{},this.ms=r.min||100,this.max=r.max||1e4,this.factor=r.factor||2,this.jitter=r.jitter>0&&r.jitter<=1?r.jitter:0,this.attempts=0}Bn.prototype.duration=function(){var r=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),t=Math.floor(e*this.jitter*r);r=(Math.floor(e*10)&1)==0?r-t:r+t}return Math.min(r,this.max)|0};Bn.prototype.reset=function(){this.attempts=0};Bn.prototype.setMin=function(r){this.ms=r};Bn.prototype.setMax=function(r){this.max=r};Bn.prototype.setJitter=function(r){this.jitter=r}});var Zl=F(Nt=>{"use strict";var T_=Nt&&Nt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),C_=Nt&&Nt.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),O_=Nt&&Nt.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&T_(e,r,t);return C_(e,r),e},k_=Nt&&Nt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Nt,"__esModule",{value:!0});Nt.Manager=void 0;var Xa=Bi(),R_=Ga(),P_=O_(Hi()),on=za(),A_=Jl(),I_=Yr(),L_=k_(At()),it=(0,L_.default)("socket.io-client:manager"),Ja=class extends I_.Emitter{constructor(e,t){var n;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(t=e,e=void 0),t=t||{},t.path=t.path||"/socket.io",this.opts=t,(0,Xa.installTimerFunctions)(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((n=t.randomizationFactor)!==null&&n!==void 0?n:.5),this.backoff=new A_.Backoff({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState="closed",this.uri=e;let s=t.parser||P_;this.encoder=new s.Encoder,this.decoder=new s.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(it("readyState %s",this._readyState),~this._readyState.indexOf("open"))return this;it("opening %s",this.uri),this.engine=new Xa.Socket(this.uri,this.opts);let t=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;let s=(0,on.on)(t,"open",function(){n.onopen(),e&&e()}),i=c=>{it("error"),this.cleanup(),this._readyState="closed",this.emitReserved("error",c),e?e(c):this.maybeReconnectOnOpen()},a=(0,on.on)(t,"error",i);if(this._timeout!==!1){let c=this._timeout;it("connect attempt will timeout after %d",c);let u=this.setTimeoutFn(()=>{it("connect attempt timed out after %d",c),s(),i(new Error("timeout")),t.close()},c);this.opts.autoUnref&&u.unref(),this.subs.push(()=>{this.clearTimeoutFn(u)})}return this.subs.push(s),this.subs.push(a),this}connect(e){return this.open(e)}onopen(){it("open"),this.cleanup(),this._readyState="open",this.emitReserved("open");let e=this.engine;this.subs.push((0,on.on)(e,"ping",this.onping.bind(this)),(0,on.on)(e,"data",this.ondata.bind(this)),(0,on.on)(e,"error",this.onerror.bind(this)),(0,on.on)(e,"close",this.onclose.bind(this)),(0,on.on)(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){(0,Xa.nextTick)(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){it("error",e),this.emitReserved("error",e)}socket(e,t){let n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new R_.Socket(this,e,t),this.nsps[e]=n),n}_destroy(e){let t=Object.keys(this.nsps);for(let n of t)if(this.nsps[n].active){it("socket %s is still active, skipping close",n);return}this._close()}_packet(e){it("writing packet %j",e);let t=this.encoder.encode(e);for(let n=0;n<t.length;n++)this.engine.write(t[n],e.options)}cleanup(){it("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){it("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,t){var n;it("closed due to %s",e),this.cleanup(),(n=this.engine)===null||n===void 0||n.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;let e=this;if(this.backoff.attempts>=this._reconnectionAttempts)it("reconnect failed"),this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{let t=this.backoff.duration();it("will wait %dms before reconnect attempt",t),this._reconnecting=!0;let n=this.setTimeoutFn(()=>{e.skipReconnect||(it("attempting reconnect"),this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(s=>{s?(it("reconnect attempt error"),e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",s)):(it("reconnect success"),e.onreconnect())}))},t);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}}onreconnect(){let e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}};Nt.Manager=Ja});var rh=F((Be,th)=>{"use strict";var N_=Be&&Be.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Be,"__esModule",{value:!0});Be.WebTransport=Be.WebSocket=Be.NodeWebSocket=Be.XHR=Be.NodeXHR=Be.Fetch=Be.Socket=Be.Manager=Be.protocol=void 0;Be.io=an;Be.connect=an;Be.default=an;var D_=Vl(),Ki=Zl();Object.defineProperty(Be,"Manager",{enumerable:!0,get:function(){return Ki.Manager}});var eh=Ga();Object.defineProperty(Be,"Socket",{enumerable:!0,get:function(){return eh.Socket}});var F_=N_(At()),Ql=(0,F_.default)("socket.io-client"),vs={};function an(r,e){typeof r=="object"&&(e=r,r=void 0),e=e||{};let t=(0,D_.url)(r,e.path||"/socket.io"),n=t.source,s=t.id,i=t.path,a=vs[s]&&i in vs[s].nsps,c=e.forceNew||e["force new connection"]||e.multiplex===!1||a,u;return c?(Ql("ignoring socket cache for %s",n),u=new Ki.Manager(n,e)):(vs[s]||(Ql("new io instance for %s",n),vs[s]=new Ki.Manager(n,e)),u=vs[s]),t.query&&!e.query&&(e.query=t.queryKey),u.socket(t.path,e)}Object.assign(an,{Manager:Ki.Manager,Socket:eh.Socket,io:an,connect:an});var M_=Hi();Object.defineProperty(Be,"protocol",{enumerable:!0,get:function(){return M_.protocol}});var jn=Bi();Object.defineProperty(Be,"Fetch",{enumerable:!0,get:function(){return jn.Fetch}});Object.defineProperty(Be,"NodeXHR",{enumerable:!0,get:function(){return jn.NodeXHR}});Object.defineProperty(Be,"XHR",{enumerable:!0,get:function(){return jn.XHR}});Object.defineProperty(Be,"NodeWebSocket",{enumerable:!0,get:function(){return jn.NodeWebSocket}});Object.defineProperty(Be,"WebSocket",{enumerable:!0,get:function(){return jn.WebSocket}});Object.defineProperty(Be,"WebTransport",{enumerable:!0,get:function(){return jn.WebTransport}});th.exports=an});var oh=F(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.WebSocketService=void 0;var B_=rh(),nh=Rr(),sh=zs(),ih=Hs(),Za=class{authService;cryptoService;config;logger;notification;deviceId;platform;socket=null;inputHandler=null;createTerminalHandler=null;getBufferHandler=null;redrawHandler=null;resizeHandler=null;reconnectHandlers=[];authFailureHandler=null;fileViewRequestHandler=null;fileListRequestHandler=null;fileDownloadRequestHandler=null;statusChangeHandler=null;agentNameSyncHandler=null;clientAttachedHandler=null;clientDetachedHandler=null;agentId=null;hasConnectedOnce=!1;isRemoteRename=!1;negotiatedCapabilities=[];HEARTBEAT_INTERVAL=3e4;HEARTBEAT_TIMEOUT=1e4;heartbeatTimer=null;pongTimer=null;lastPongTime=0;isManualDisconnect=!1;reconnectAttempts=0;reconnectTimer=null;networkCheckTimer=null;isOnline=!0;lastNetworkCheck=0;rekeyingTerminals=new Set;outputBuffer=new Map;OUTPUT_BUFFER_MAX_SIZE=1e3;RECONNECT_BASE_DELAY=1e3;RECONNECT_MAX_DELAY=3e4;RECONNECT_JITTER=.2;NETWORK_CHECK_INTERVAL=5e3;constructor(e,t,n,s,i,a,c="vscode"){this.authService=e,this.cryptoService=t,this.config=n,this.logger=s,this.notification=i,this.deviceId=a,this.platform=c}async connect(){let e=await this.authService.getAccessToken();if(!e)throw new Error("No access token available");this.isManualDisconnect=!1,this.stopReconnect(),this.reconnectAttempts=0,this.agentId=await this.authService.getAgentId();let t=(0,sh.getWsUrl)(this.config);this.logger.info("Connecting to WebSocket",t),this.statusChangeHandler?.("connecting");let n=await this.cryptoService.getPublicKey();return new Promise((s,i)=>{this.socket=(0,B_.io)(`${t}/agent`,{auth:{token:e,protocolVersion:nh.PROTOCOL_VERSION,deviceId:this.deviceId,platform:this.platform,capabilities:nh.DEFAULT_CLIENT_CAPABILITIES,publicKey:n},transports:["websocket"],reconnection:!1}),this.socket.on("connect",()=>{if(this.logger.info("WebSocket connected"),this.reconnectAttempts=0,this.statusChangeHandler?.("connected",this.agentId??void 0),this.startHeartbeat(),this.cryptoService.cleanupAllStaleSessions(),this.hasConnectedOnce){this.logger.info("Reconnected - triggering workspace re-registration");for(let a of this.reconnectHandlers)a()}else this.hasConnectedOnce=!0,s()}),this.socket.on("error",a=>{this.logger.error(`Server error [${a.code}]: ${a.message}`),a.code==="E401"&&(this.logger.warn("Auth failure (E401)"),this.authFailureHandler?.())}),this.socket.on("disconnect",a=>{this.logger.warn("WebSocket disconnected",a),this.stopHeartbeat(),this.statusChangeHandler?.("disconnected"),this.isManualDisconnect||(a==="transport close"?(this.logger.info("Transport close - attempting immediate reconnect"),this.attemptReconnect(!0)):this.scheduleReconnect())}),this.socket.on("protocol:info",a=>{this.logger.info("Protocol info received",a.protocolVersion),this.negotiatedCapabilities=a.negotiatedCapabilities,a.agentName&&this.config.getAgentName()!==a.agentName&&(this.isRemoteRename=!0,this.config.setAgentName(a.agentName).then(()=>{setTimeout(()=>{this.isRemoteRename=!1},100)}),this.agentNameSyncHandler?.(a.agentName),this.logger.info("Agent name synced from server",a.agentName))}),this.socket.on("pong",()=>{this.lastPongTime=Date.now(),this.clearPongTimeout(),this.logger.debug("Heartbeat pong received")}),this.socket.on("connect_error",a=>{this.logger.error("WebSocket connection error",a),this.statusChangeHandler?.("error"),this.hasConnectedOnce||i(a),this.scheduleReconnect()}),this.socket.on("terminal:input",a=>{this.handleTerminalInput(a)}),this.socket.on("crypto:keyExchange",async(a,c)=>{this.logger.info("Received key exchange request",a.terminalId,a.sessionId),this.rekeyingTerminals.add(a.terminalId),this.outputBuffer.set(a.terminalId,[]);try{if(await this.cryptoService.handleKeyExchange(a.terminalId,a.clientPublicKey,a.sessionId)){let d=await this.cryptoService.getPublicKey();c?.({success:!0,agentPublicKey:d||void 0}),this.flushOutputBuffer(a.terminalId)}else c?.({success:!1,error:"Key exchange failed"})}catch(u){this.logger.error("Key exchange error",u),c?.({success:!1,error:String(u)})}finally{this.rekeyingTerminals.delete(a.terminalId),this.outputBuffer.delete(a.terminalId)}}),this.socket.on("crypto:sessionCleanup",a=>{this.cryptoService.removeSession(a.terminalId,a.sessionId)}),this.socket.on("agent:keyExchangeRequest",async a=>{try{let c=await this.cryptoService.handleAgentKeyExchange(a.clientPublicKey,a.sessionId),u={agentId:a.agentId,sessionId:a.sessionId,ok:c,error:c?void 0:"Key exchange failed"};this.socket?.emit("agent:keyExchangeAck",u)}catch(c){this.logger.error("Agent key exchange error",c);let u={agentId:a.agentId,sessionId:a.sessionId,ok:!1,error:String(c)};this.socket?.emit("agent:keyExchangeAck",u)}}),this.socket.on("agent:sessionEnd",a=>{this.cryptoService.removeAgentSession(a.sessionId)}),this.socket.on("agent:renamed",a=>{this.logger.info("Agent renamed from web client",a.name),this.isRemoteRename=!0,this.config.setAgentName(a.name).then(()=>{setTimeout(()=>{this.isRemoteRename=!1},100)}),this.agentNameSyncHandler?.(a.name)}),this.socket.on("terminal:createRequest",a=>{this.createTerminalHandler?.(a.name)}),this.socket.on("terminal:getBuffer",(a,c)=>{if(!this.getBufferHandler){c?.({success:!1,error:"Buffer handler not set"});return}let u=this.getBufferHandler(a.terminalId);if(u===null){c?.({success:!1,error:"Terminal not found"});return}let d=this.cryptoService.encryptOutput(a.terminalId,u);c?.(d?{success:!0,encrypted:d}:{success:!0,data:u}),this.redrawHandler?.(a.terminalId)}),this.socket.on("terminal:resize",a=>{this.resizeHandler?.(a.terminalId,a.cols,a.rows)}),this.socket.on("workspace:clientAttached",a=>{this.clientAttachedHandler?.(a)}),this.socket.on("workspace:clientDetached",a=>{this.clientDetachedHandler?.(a)}),this.socket.on("file:view",a=>{this.fileViewRequestHandler?.(a.terminalId,a.request)}),this.socket.on("file:list",a=>{this.fileListRequestHandler?.(a.terminalId,a.request)}),this.socket.on("file:download:request",a=>{this.fileDownloadRequestHandler?.(a.terminalId,a.path,a.requestId)})})}disconnect(){this.isManualDisconnect=!0,this.hasConnectedOnce=!1,this.stopReconnect(),this.stopHeartbeat(),this.cryptoService.clearAllSessions(),this.socket&&(this.logger.info("Disconnecting WebSocket"),this.socket.disconnect(),this.socket=null)}softDisconnect(){this.stopReconnect(),this.stopHeartbeat(),this.socket&&(this.logger.info("Soft disconnecting WebSocket (for reconnect)"),this.socket.disconnect(),this.socket=null)}getStatus(){return{connected:this.socket?.connected??!1,agentId:this.agentId}}onInput(e){this.inputHandler=e}onCreateTerminalRequest(e){this.createTerminalHandler=e}onGetBufferRequest(e){this.getBufferHandler=e}onRedrawRequest(e){this.redrawHandler=e}onResizeRequest(e){this.resizeHandler=e}onReconnect(e){this.reconnectHandlers.push(e)}onAuthFailure(e){this.authFailureHandler=e}onFileViewRequest(e){this.fileViewRequestHandler=e}onFileListRequest(e){this.fileListRequestHandler=e}onFileDownloadRequest(e){this.fileDownloadRequestHandler=e}onStatusChange(e){this.statusChangeHandler=e}onAgentNameSync(e){this.agentNameSyncHandler=e}onClientAttached(e){this.clientAttachedHandler=e}onClientDetached(e){this.clientDetachedHandler=e}async registerWorkspace(e){return this.emit("workspace:register",e)}async unregisterWorkspace(e){await this.emit("workspace:unregister",{instanceId:e})}async terminalCreated(e){return this.emit("terminal:created",e)}async terminalClosed(e){this.cryptoService.removeSession(e.terminalId),await this.emit("terminal:closed",e)}terminalNotFound(e){this.socket?.emit("terminal:notFound",{terminalId:e})}sendOutput(e,t,n){if(!this.socket?.connected)return;if(this.rekeyingTerminals.has(t)){let a=this.outputBuffer.get(t);a&&a.length<this.OUTPUT_BUFFER_MAX_SIZE&&a.push({instanceId:e,data:n});return}let s=this.cryptoService.encryptOutput(t,n),i={instanceId:e,terminalId:t,...s?{encrypted:s}:{data:n}};this.socket?.emit("terminal:output",i)}flushOutputBuffer(e){let t=this.outputBuffer.get(e);if(!(!t||t.length===0)){this.logger.info("Flushing output buffer after rekey",e,String(t.length));for(let{instanceId:n,data:s}of t){let i=this.cryptoService.encryptOutput(e,s),a={instanceId:n,terminalId:e,...i?{encrypted:i}:{data:s}};this.socket?.emit("terminal:output",a)}}}async updateStatus(e){await this.emit("terminal:status",e)}sendTerminalEvent(e,t,n){let s={instanceId:e,terminalId:t,event:n};this.socket?.emit("terminal:event",s)}hasCapability(e){return this.negotiatedCapabilities.includes(e)}sendFileChangedEvent(e,t,n){let s={instanceId:e,terminalId:t,event:n};this.socket?.emit("file:changed",s)}sendFileListResponse(e,t){let n={instanceId:e,response:t};this.socket?.emit("file:list:response",n)}sendAgentRename(e){this.socket?.emit("agent:rename",{name:e})}isRemoteRenameInProgress(){return this.isRemoteRename}getSocket(){return this.socket}emit(e,t){let n=(0,ih.generateCorrelationId)(),s=t&&typeof t=="object"&&!Array.isArray(t)?{...t,_cid:n}:t;return(0,ih.runWithCorrelation)(n,()=>new Promise((i,a)=>{if(!this.socket?.connected){a(new Error("WebSocket not connected"));return}this.socket.emit(e,s,c=>{c.success?i(c):a(new Error(c.error||"Unknown error"))})}))}startHeartbeat(){this.stopHeartbeat(),this.lastPongTime=Date.now(),this.heartbeatTimer=setInterval(()=>{if(!this.socket?.connected){this.stopHeartbeat();return}if(Date.now()-this.lastPongTime>this.HEARTBEAT_INTERVAL+this.HEARTBEAT_TIMEOUT){this.logger.warn("Heartbeat timeout"),this.socket.disconnect();return}this.socket.emit("ping"),this.pongTimer=setTimeout(()=>{this.logger.warn("Pong timeout - server not responding"),this.statusChangeHandler?.("error")},this.HEARTBEAT_TIMEOUT)},this.HEARTBEAT_INTERVAL)}stopHeartbeat(){this.heartbeatTimer&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),this.clearPongTimeout()}clearPongTimeout(){this.pongTimer&&(clearTimeout(this.pongTimer),this.pongTimer=null)}handleTerminalInput(e){let t;if(e.encrypted){let n=this.cryptoService.decryptInput(e.terminalId,e.encrypted);if(!n){this.logger.error("Failed to decrypt terminal input",e.terminalId);return}t=n}else if(e.data)t=Buffer.from(e.data,"base64").toString("utf8");else{this.logger.error("Invalid terminal input payload");return}this.inputHandler?.(e.terminalId,t,e.dbTerminalId)}hasE2ESession(e){return this.cryptoService.hasSession(e)}getReconnectDelay(){let e=Math.min(this.RECONNECT_BASE_DELAY*Math.pow(2,this.reconnectAttempts),this.RECONNECT_MAX_DELAY),t=1+(Math.random()*2-1)*this.RECONNECT_JITTER;return Math.floor(e*t)}scheduleReconnect(){if(this.isManualDisconnect)return;this.stopReconnect();let e=this.getReconnectDelay();if(this.logger.info("Scheduling reconnect",String(this.reconnectAttempts+1),"delay:",String(e)),!this.isOnline){this.statusChangeHandler?.("disconnected"),this.startNetworkCheck();return}this.statusChangeHandler?.("connecting"),this.reconnectTimer=setTimeout(()=>{this.attemptReconnect()},e)}async attemptReconnect(e=!1){if(this.isManualDisconnect||this.socket?.connected)return;let t=await this.authService.hasValidToken();if(!t){if(this.logger.info("Access token expired, attempting refresh"),!await this.authService.refreshAccessToken()){this.logger.info("Token refresh failed, stopping reconnect"),this.stopReconnect(),this.statusChangeHandler?.("disconnected"),this.notification.warn("Session expired. Please log in again."),this.authFailureHandler?.();return}t=!0}this.reconnectAttempts++;try{if(this.socket&&(this.socket.disconnect(),this.socket=null),!e&&!await this.checkNetwork()){this.isOnline=!1,this.scheduleReconnect();return}this.isOnline=!0,await this.connect(),this.reconnectAttempts=0}catch(n){this.logger.warn("Reconnect failed",n),this.statusChangeHandler?.("error"),this.scheduleReconnect()}}stopReconnect(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.stopNetworkCheck()}async checkNetwork(){let e=Date.now();if(e-this.lastNetworkCheck<1e3)return this.isOnline;this.lastNetworkCheck=e;try{let t=`${(0,sh.getApiUrl)(this.config)}/health`,n=new AbortController,s=setTimeout(()=>n.abort(),5e3),i=await fetch(t,{method:"GET",signal:n.signal});return clearTimeout(s),this.logger.debug("Network check OK",String(i.status)),!0}catch{return this.logger.debug("Network check failed (offline)"),!1}}startNetworkCheck(){this.stopNetworkCheck(),this.networkCheckTimer=setInterval(async()=>{if(this.isManualDisconnect){this.stopNetworkCheck();return}if(this.socket?.connected){this.stopNetworkCheck();return}let e=await this.checkNetwork();e&&!this.isOnline?(this.logger.info("Network restored! Triggering immediate reconnect"),this.isOnline=!0,this.stopNetworkCheck(),this.reconnectAttempts=0,this.attemptReconnect()):e&&this.isOnline?(this.stopNetworkCheck(),this.attemptReconnect()):e||(this.isOnline=!1)},this.NETWORK_CHECK_INTERVAL)}stopNetworkCheck(){this.networkCheckTimer&&(clearInterval(this.networkCheckTimer),this.networkCheckTimer=null)}};zi.WebSocketService=Za});var ch=F(rr=>{"use strict";var j_=rr&&rr.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),U_=rr&&rr.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),ec=rr&&rr.__importStar||(function(){var r=function(e){return r=Object.getOwnPropertyNames||function(t){var n=[];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(n[n.length]=s);return n},r(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=r(e),s=0;s<n.length;s++)n[s]!=="default"&&j_(t,e,n[s]);return U_(t,e),t}})();Object.defineProperty(rr,"__esModule",{value:!0});rr.FileTransferService=void 0;var $i=ec(require("fs")),q_=ec(require("path")),ah=ec(require("crypto")),je=Rr(),Qa=class{socket=null;activeTransfers=new Map;instanceId="";logger;fallbackDir;constructor(e,t="/tmp"){this.logger=e,this.fallbackDir=t}attach(e,t){this.socket=e,this.instanceId=t,this.setupEventHandlers(),this.logger.info("FileTransferService attached")}detach(){this.socket=null;for(let[e]of this.activeTransfers)this.cancelTransfer(e,"Disconnected");this.logger.info("FileTransferService detached")}async sendFile(e,t,n,s,i){let a=$i.readFileSync(t),c=t.split("/").pop()||"file";return this.initAndSendChunks(e,a,c,{mimeType:this.getMimeType(c),requestId:i,onProgress:n,onComplete:s})}async sendBuffer(e,t,n,s,i){return this.initAndSendChunks(e,t,n,{mimeType:s,purpose:i?.purpose,viewMetadata:i?.viewMetadata,requestId:i?.requestId,onProgress:i?.onProgress,onComplete:i?.onComplete})}async initAndSendChunks(e,t,n,s){if(!this.socket)throw new Error("Socket not connected");let i=t.length,a=(0,je.calculateTotalChunks)(i),c=this.calculateChecksum(t),u=ah.randomUUID(),d={id:u,terminalId:e,filename:n,size:i,totalChunks:a,direction:je.TransferDirection.DOWNLOAD,status:je.TransferStatus.PENDING,deliveredChunks:new Set,pendingChunks:new Map,checksum:c,checksumAlgorithm:"sha256",onProgress:s.onProgress?(m,y)=>s.onProgress(u,m,y):void 0,onComplete:s.onComplete?(m,y)=>s.onComplete(u,m,y):void 0,ackTimeouts:new Map};d.chunks=[];for(let m=0;m<a;m++){let y=m*je.CHUNK_SIZE,w=Math.min(y+je.CHUNK_SIZE,i);d.chunks.push(t.subarray(y,w))}this.activeTransfers.set(u,d);let g={transferId:u,terminalId:e,filename:n,size:i,totalChunks:a,mimeType:s.mimeType||"application/octet-stream",checksum:c,direction:je.TransferDirection.DOWNLOAD,instanceId:this.instanceId};return s.requestId&&(g.requestId=s.requestId),s.purpose&&(g.purpose=s.purpose),s.viewMetadata&&(g.viewMetadata=s.viewMetadata),new Promise((m,y)=>{this.socket.emit("file:init",g,w=>{w.accepted?(d.status=je.TransferStatus.ACTIVE,this.startSendingChunks(u),m(u)):(this.activeTransfers.delete(u),y(new Error(w.error||"Transfer rejected")))})})}async receiveFile(e,t,n,s,i,a,c,u="sha256",d,g){let m={id:e,terminalId:t,filename:n,filePath:c,size:s,totalChunks:i,direction:je.TransferDirection.UPLOAD,status:je.TransferStatus.ACTIVE,deliveredChunks:new Set,pendingChunks:new Map,chunks:new Array(i).fill(null),checksum:a,checksumAlgorithm:u,onProgress:d?(y,w)=>d(e,y,w):void 0,onComplete:g?(y,w)=>g(e,y,w):void 0,ackTimeouts:new Map};this.activeTransfers.set(e,m)}cancelTransfer(e,t){let n=this.activeTransfers.get(e);if(n){for(let s of n.ackTimeouts.values())clearTimeout(s);if(n.status=je.TransferStatus.CANCELLED,n.onComplete?.(!1,t),this.socket){let s={transferId:e,reason:t};this.socket.emit("file:cancel",s)}this.activeTransfers.delete(e)}}async resumeTransfer(e){let t=this.activeTransfers.get(e);!t||!this.socket||this.socket.emit("file:sync",{transferId:e},n=>{if(n.status===je.TransferStatus.EXPIRED){t.onComplete?.(!1,"Transfer expired"),this.activeTransfers.delete(e);return}if(n.deliveredChunks)for(let s of n.deliveredChunks)t.deliveredChunks.add(s);if(t.direction===je.TransferDirection.DOWNLOAD&&n.missingChunks){t.status=je.TransferStatus.ACTIVE;for(let s of n.missingChunks)this.sendChunk(t,s)}})}getTransferStatus(e){return this.activeTransfers.get(e)?.status??null}getTransferProgress(e){let t=this.activeTransfers.get(e);return t?{delivered:t.deliveredChunks.size,total:t.totalChunks}:null}setupEventHandlers(){this.socket&&(this.socket.on("file:chunk",e=>{this.handleIncomingChunk(e)}),this.socket.on("file:chunk:ack",e=>{this.handleChunkAck(e)}),this.socket.on("file:complete",e=>{this.handleComplete(e)}),this.socket.on("file:progress",e=>{this.handleProgress(e)}),this.socket.on("file:init",(e,t)=>{this.handleIncomingFileInit(e,t)}),this.socket.on("file:cancel",e=>{let t=this.activeTransfers.get(e.transferId);if(t){for(let n of t.ackTimeouts.values())clearTimeout(n);t.status=je.TransferStatus.CANCELLED,t.onComplete?.(!1,e.reason||"Cancelled by remote"),this.activeTransfers.delete(e.transferId)}}))}startSendingChunks(e){let t=this.activeTransfers.get(e);if(!(!t||!t.chunks))for(let n=0;n<Math.min(je.WINDOW_SIZE,t.totalChunks);n++)t.deliveredChunks.has(n)||this.sendChunk(t,n)}sendChunk(e,t){if(!this.socket||!e.chunks)return;let n=e.chunks[t];if(!n)return;let s=e.pendingChunks.get(t),i={seq:t,data:n,retries:s?s.retries:0,sentAt:Date.now()};e.pendingChunks.set(t,i);let a={transferId:e.id,seq:t,data:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength)};this.socket.emit("file:chunk",a,u=>{u&&!u.success&&this.cancelTransfer(e.id,u.error||"Server rejected chunk")});let c=setTimeout(()=>{this.handleAckTimeout(e.id,t)},je.ACK_TIMEOUT_MS);e.ackTimeouts.set(t,c)}handleChunkAck(e){let t=this.activeTransfers.get(e.transferId);if(!t||t.status===je.TransferStatus.COMPLETED)return;let n=t.ackTimeouts.get(e.seq);n&&(clearTimeout(n),t.ackTimeouts.delete(e.seq)),t.deliveredChunks.add(e.seq),t.pendingChunks.delete(e.seq),t.onProgress?.(t.deliveredChunks.size,t.totalChunks);let s=e.seq+je.WINDOW_SIZE;s<t.totalChunks&&!t.deliveredChunks.has(s)&&this.sendChunk(t,s),t.deliveredChunks.size===t.totalChunks&&this.finishSending(t)}handleAckTimeout(e,t){let n=this.activeTransfers.get(e);if(!n)return;let s=n.pendingChunks.get(t);s&&(s.retries<je.MAX_RETRIES?(s.retries++,this.sendChunk(n,t)):this.cancelTransfer(e,"Max retries exceeded"))}finishSending(e){if(!this.socket)return;e.status=je.TransferStatus.COMPLETED;let t={transferId:e.id,checksum:e.checksum};this.socket.emit("file:end",t)}handleIncomingChunk(e){let t=this.activeTransfers.get(e.transferId);if(!(!t||!t.chunks)){if(t.chunks[e.seq]=Buffer.from(e.data),t.deliveredChunks.add(e.seq),this.socket){let n={transferId:e.transferId,seq:e.seq};this.socket.emit("file:chunk:ack",n)}t.onProgress?.(t.deliveredChunks.size,t.totalChunks),t.deliveredChunks.size===t.totalChunks&&this.finishReceiving(t)}}finishReceiving(e){if(!e.chunks||!e.filePath)return;let t=Buffer.concat(e.chunks);if(this.calculateChecksum(t,e.checksumAlgorithm)!==e.checksum){e.status=je.TransferStatus.FAILED,e.onComplete?.(!1,"Checksum mismatch"),this.socket&&this.socket.emit("file:complete",{transferId:e.id,success:!1,error:"Checksum mismatch"});return}try{let s=q_.dirname(e.filePath);$i.existsSync(s)||$i.mkdirSync(s,{recursive:!0}),$i.writeFileSync(e.filePath,t),e.status=je.TransferStatus.COMPLETED,e.onComplete?.(!0),this.socket&&this.socket.emit("file:complete",{transferId:e.id,success:!0})}catch(s){let i=s instanceof Error?s.message:String(s);e.status=je.TransferStatus.FAILED,e.onComplete?.(!1,`Failed to save file: ${i}`),this.socket&&this.socket.emit("file:complete",{transferId:e.id,success:!1,error:`Failed to save file: ${i}`})}this.activeTransfers.delete(e.id)}handleComplete(e){let t=this.activeTransfers.get(e.transferId);if(t){e.success?(t.status=je.TransferStatus.COMPLETED,t.onComplete?.(!0)):(t.status=je.TransferStatus.FAILED,t.onComplete?.(!1,e.error));for(let n of t.ackTimeouts.values())clearTimeout(n);this.activeTransfers.delete(e.transferId)}}handleProgress(e){let t=this.activeTransfers.get(e.transferId);t&&t.onProgress?.(e.deliveredChunks,e.totalChunks)}handleIncomingFileInit(e,t){let s=`${e.targetPath||this.fallbackDir}/${e.filename}`;this.receiveFile(e.transferId,e.terminalId,e.filename,e.size,e.totalChunks,e.checksum,s,e.checksumAlgorithm||"sha256").then(()=>t({accepted:!0})).catch(i=>t({accepted:!1,error:i.message}))}calculateChecksum(e,t="sha256"){return t==="fnv1a"?this.fnv1aHash(e):ah.createHash("sha256").update(e).digest("hex")}fnv1aHash(e){let t=2166136261;for(let s=0;s<e.length;s++)t^=e[s],t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0").repeat(8)}getMimeType(e){let t=e.split(".").pop()?.toLowerCase();return{txt:"text/plain",json:"application/json",js:"application/javascript",ts:"application/typescript",html:"text/html",css:"text/css",md:"text/markdown",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",pdf:"application/pdf",zip:"application/zip",tar:"application/x-tar",gz:"application/gzip"}[t||""]||"application/octet-stream"}};rr.FileTransferService=Qa});var ac=F((Ew,Xi)=>{function lh(r){return Array.isArray(r)?r:[r]}var W_=void 0,rc="",fh=" ",tc="\\",H_=/^\s+$/,V_=/(?:[^\\]|^)\\$/,K_=/^\\!/,z_=/^\\#/,$_=/\r?\n/g,G_=/^\.{0,2}\/|^\.{1,2}$/,Y_=/\/$/,Un="/",hh="node-ignore";typeof Symbol<"u"&&(hh=Symbol.for("node-ignore"));var dh=hh,qn=(r,e,t)=>(Object.defineProperty(r,e,{value:t}),t),X_=/([0-z])-([0-z])/g,ph=()=>!1,J_=r=>r.replace(X_,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:rc),Z_=r=>{let{length:e}=r;return r.slice(0,e-e%2)},Q_=[[/^\uFEFF/,()=>rc],[/((?:\\\\)*?)(\\?\s+)$/,(r,e,t)=>e+(t.indexOf("\\")===0?fh:rc)],[/(\\+?)\s/g,(r,e)=>{let{length:t}=e;return e.slice(0,t-t%2)+fh}],[/[\\$.|*+(){^]/g,r=>`\\${r}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(r,e,t)=>e+6<t.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(r,e,t)=>{let n=t.replace(/\\\*/g,"[^\\/]*");return e+n}],[/\\\\\\(?=[$.|*+(){^])/g,()=>tc],[/\\\\/g,()=>tc],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(r,e,t,n,s)=>e===tc?`\\[${t}${Z_(n)}${s}`:s==="]"&&n.length%2===0?`[${J_(t)}${n}]`:"[]"],[/(?:[^*])$/,r=>/\/$/.test(r)?`${r}$`:`${r}(?=$|\\/$)`]],ey=/(^|\\\/)?\\\*$/,Es="regex",Gi="checkRegex",uh="_",ty={[Es](r,e){return`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`},[Gi](r,e){return`${e?`${e}[^/]*`:"[^/]*"}(?=$|\\/$)`}},ry=r=>Q_.reduce((e,[t,n])=>e.replace(t,n.bind(r)),r),Yi=r=>typeof r=="string",ny=r=>r&&Yi(r)&&!H_.test(r)&&!V_.test(r)&&r.indexOf("#")!==0,sy=r=>r.split($_).filter(Boolean),nc=class{constructor(e,t,n,s,i,a){this.pattern=e,this.mark=t,this.negative=i,qn(this,"body",n),qn(this,"ignoreCase",s),qn(this,"regexPrefix",a)}get regex(){let e=uh+Es;return this[e]?this[e]:this._make(Es,e)}get checkRegex(){let e=uh+Gi;return this[e]?this[e]:this._make(Gi,e)}_make(e,t){let n=this.regexPrefix.replace(ey,ty[e]),s=this.ignoreCase?new RegExp(n,"i"):new RegExp(n);return qn(this,t,s)}},iy=({pattern:r,mark:e},t)=>{let n=!1,s=r;s.indexOf("!")===0&&(n=!0,s=s.substr(1)),s=s.replace(K_,"!").replace(z_,"#");let i=ry(s);return new nc(r,e,s,t,n,i)},sc=class{constructor(e){this._ignoreCase=e,this._rules=[]}_add(e){if(e&&e[dh]){this._rules=this._rules.concat(e._rules._rules),this._added=!0;return}if(Yi(e)&&(e={pattern:e}),ny(e.pattern)){let t=iy(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,lh(Yi(e)?sy(e):e).forEach(this._add,this),this._added}test(e,t,n){let s=!1,i=!1,a;this._rules.forEach(u=>{let{negative:d}=u;i===d&&s!==i||d&&!s&&!i&&!t||!u[n].test(e)||(s=!d,i=d,a=d?W_:u)});let c={ignored:s,unignored:i};return a&&(c.rule=a),c}},oy=(r,e)=>{throw new e(r)},yr=(r,e,t)=>Yi(r)?r?yr.isNotRelative(r)?t(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:t("path must not be empty",TypeError):t(`path must be a string, but got \`${e}\``,TypeError),gh=r=>G_.test(r);yr.isNotRelative=gh;yr.convert=r=>r;var ic=class{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){qn(this,dh,!0),this._rules=new sc(t),this._strictPathCheck=!n,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(e){return this._rules.add(e)&&this._initCache(),this}addPattern(e){return this.add(e)}_test(e,t,n,s){let i=e&&yr.convert(e);return yr(i,e,this._strictPathCheck?oy:ph),this._t(i,t,n,s)}checkIgnore(e){if(!Y_.test(e))return this.test(e);let t=e.split(Un).filter(Boolean);if(t.pop(),t.length){let n=this._t(t.join(Un)+Un,this._testCache,!0,t);if(n.ignored)return n}return this._rules.test(e,!1,Gi)}_t(e,t,n,s){if(e in t)return t[e];if(s||(s=e.split(Un).filter(Boolean)),s.pop(),!s.length)return t[e]=this._rules.test(e,n,Es);let i=this._t(s.join(Un)+Un,t,n,s);return t[e]=i.ignored?i:this._rules.test(e,n,Es)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return lh(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},oc=r=>new ic(r),ay=r=>yr(r&&yr.convert(r),r,ph),mh=()=>{let r=t=>/^\\\\\?\\/.test(t)||/["<>|\u0000-\u001F]+/u.test(t)?t:t.replace(/\\/g,"/");yr.convert=r;let e=/^[a-z]:\//i;yr.isNotRelative=t=>e.test(t)||gh(t)};typeof process<"u"&&process.platform==="win32"&&mh();Xi.exports=oc;oc.default=oc;Xi.exports.isPathValid=ay;qn(Xi.exports,Symbol.for("setupWindows"),mh)});var yh=F(Dt=>{"use strict";var cy=Dt&&Dt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),fy=Dt&&Dt.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),_h=Dt&&Dt.__importStar||(function(){var r=function(e){return r=Object.getOwnPropertyNames||function(t){var n=[];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(n[n.length]=s);return n},r(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=r(e),s=0;s<n.length;s++)n[s]!=="default"&&cy(t,e,n[s]);return fy(t,e),t}})(),uy=Dt&&Dt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Dt,"__esModule",{value:!0});Dt.FileListService=void 0;var ws=_h(require("path")),cc=_h(require("fs/promises")),ly=uy(ac()),fc=Rr(),hy=["node_modules",".pnpm","vendor",".git","dist","build","out",".next",".nuxt",".output",".cache",".turbo",".idea",".vscode",".DS_Store","Thumbs.db"],uc=class{ignoreFilter;workspaceRoot;onResponseCallback=null;logger;constructor(e,t){this.logger=e,this.workspaceRoot=t,this.ignoreFilter=(0,ly.default)(),this.ignoreFilter.add(hy),this.workspaceRoot&&this.loadGitignore(),this.logger.info("FileListService initialized",t||"null")}async loadGitignore(){if(!this.workspaceRoot)return;let e=ws.join(this.workspaceRoot,".gitignore");try{let t=await cc.readFile(e,"utf-8");this.ignoreFilter.add(t)}catch{}}onResponse(e){this.onResponseCallback=e}async handleListRequest(e){if(!this.workspaceRoot){this.sendResponse({requestId:e.requestId,path:e.path,entries:[],error:"No workspace root"});return}try{let t=this.resolvePath(e.path),n=await this.listDirectory(t,e.path);this.sendResponse({requestId:e.requestId,path:e.path,entries:n})}catch(t){this.logger.error("Failed to list directory",String(t)),this.sendResponse({requestId:e.requestId,path:e.path,entries:[],error:t instanceof Error?t.message:"Unknown error"})}}async listDirectory(e,t){let n=await cc.readdir(e,{withFileTypes:!0}),s=[];for(let i of n){let a=t==="."||t===""?i.name:ws.join(t,i.name);if(this.shouldHide(a,i.isDirectory()))continue;let c=ws.join(e,i.name),u={name:i.name,path:a,type:i.isDirectory()?fc.FileEntryType.DIRECTORY:fc.FileEntryType.FILE};if(!i.isDirectory())try{let d=await cc.stat(c);u.size=d.size,u.modified=d.mtime.toISOString()}catch{}s.push(u)}return s.sort((i,a)=>i.type!==a.type?i.type===fc.FileEntryType.DIRECTORY?-1:1:i.name.localeCompare(a.name))}shouldHide(e,t){let n=e.split(ws.sep).join("/"),s=t?`${n}/`:n;return this.ignoreFilter.ignores(s)}resolvePath(e){if(!this.workspaceRoot)throw new Error("No workspace root");if(e==="."||e==="")return this.workspaceRoot;let t=ws.join(this.workspaceRoot,e);if(!t.startsWith(this.workspaceRoot))throw new Error("Path outside workspace");return t}sendResponse(e){this.onResponseCallback?.(e)}dispose(){this.onResponseCallback=null}};Dt.FileListService=uc});var Eh=F(nr=>{"use strict";var dy=nr&&nr.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),py=nr&&nr.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),vh=nr&&nr.__importStar||(function(){var r=function(e){return r=Object.getOwnPropertyNames||function(t){var n=[];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(n[n.length]=s);return n},r(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=r(e),s=0;s<n.length;s++)n[s]!=="default"&&dy(t,e,n[s]);return py(t,e),t}})();Object.defineProperty(nr,"__esModule",{value:!0});nr.FileTrackerService=void 0;var lc=vh(require("path")),cn=vh(require("fs/promises")),gy=require("child_process"),my=require("util"),Wt=Rr(),hc=(0,my.promisify)(gy.exec),dc={toolStart:/⏺\s*(Write|Edit|NotebookEdit)\s*\(\s*(?:file_path|notebook_path)\s*=\s*"([^"]+)"/,toolSuccess:/[✓✔]\s*(?:Wrote|Edited|Updated|Created)\s+([^\s\n]+)/,toolError:/[✗✘]\s*(?:Failed|Error)/i},pc=class{trackedFiles=new Map;pendingToolCalls=new Map;outputBuffers=new Map;workspaceRoot;onFileChangedCallback=null;onFileViewTransferCallback=null;logger;constructor(e,t){this.logger=e,this.workspaceRoot=t}onFileChanged(e){this.onFileChangedCallback=e}onFileViewTransfer(e){this.onFileViewTransferCallback=e}async processOutput(e,t){let n=this.outputBuffers.get(e)||"";n+=t,n.length>10240&&(n=n.slice(-10240)),this.outputBuffers.set(e,n);try{await this.parseToolCalls(e,n)}catch(s){this.logger.error("Error parsing tool calls",s)}}async parseToolCalls(e,t){let n=this.stripAnsi(t),s=n.match(dc.toolStart);if(s){let a=s[1],c=s[2],u=`${a}_${Date.now()}_${c}`;this.pendingToolCalls.has(u)||await this.handleToolStart(e,u,a,{file_path:c})}let i=n.match(dc.toolSuccess);if(i){let a=i[1];for(let[c,u]of this.pendingToolCalls)if(u.filePath===a||a.endsWith(u.filePath)||u.filePath.endsWith(a)){await this.handleToolEnd(e,c,u.toolName,"success");break}}if(dc.toolError.test(n))for(let[a,c]of this.pendingToolCalls)await this.handleToolEnd(e,a,c.toolName,"error")}stripAnsi(e){return e.replace(/\x1b\[[0-9;?]*[a-zA-Z]/g,"").replace(/\x1b\][^\x07]*\x07/g,"").replace(/\x1b[()][AB012]/g,"").replace(/\x1b[=>]/g,"").replace(/\x1b[78DMEHc]/g,"")}async handleToolStart(e,t,n,s){if(!this.isFileModifyingTool(n))return;let i=this.extractFilePath(n,s);if(!i)return;let a=this.resolveFilePath(i),c={toolId:t,toolName:n,filePath:i,timestamp:new Date().toISOString()};this.pendingToolCalls.set(t,c);let u;try{u=await cn.readFile(a,"utf-8")}catch{u=void 0}let d={path:i,changeType:u===void 0?Wt.FileChangeType.CREATE:Wt.FileChangeType.MODIFY,toolName:n,toolId:t,timestamp:c.timestamp,previousContent:u},g=this.trackedFiles.get(e)||[];g.push(d),this.trackedFiles.set(e,g)}async handleToolEnd(e,t,n,s){if(!this.isFileModifyingTool(n)||!this.pendingToolCalls.get(t))return;if(this.pendingToolCalls.delete(t),s==="error"){let g=this.trackedFiles.get(e)||[],m=g.findIndex(y=>y.toolId===t);m!==-1&&g.splice(m,1);return}let c=(this.trackedFiles.get(e)||[]).find(g=>g.toolId===t);if(!c)return;let u=this.resolveFilePath(c.path);try{let g=await cn.stat(u);c.size=g.size}catch{c.changeType=Wt.FileChangeType.DELETE,c.size=void 0}let d={path:c.path,changeType:c.changeType,timestamp:new Date().toISOString(),source:"tool-call",toolName:c.toolName,toolId:c.toolId,size:c.size};this.onFileChangedCallback?.(e,d)}async handleViewRequest(e,t){let n=this.resolveFilePath(t.path),s=this.getViewableMimeType(t.path);if(s&&this.onFileViewTransferCallback){try{let a=await cn.readFile(n),c={requestId:t.requestId,path:t.path,viewType:"content",mimeType:s};this.onFileViewTransferCallback(e,Buffer.from(a),c)}catch(a){let c={requestId:t.requestId,path:t.path,viewType:"content",mimeType:s,error:a instanceof Error?a.message:"Unknown error"};this.onFileViewTransferCallback(e,Buffer.alloc(0),c)}return}let i;try{t.type===Wt.FileViewType.CONTENT?i=await this.getFileContent(t,n):i=await this.getFileDiff(e,t,n)}catch(a){i={requestId:t.requestId,path:t.path,type:t.type,error:a instanceof Error?a.message:"Unknown error"}}if(this.onFileViewTransferCallback){let a={requestId:t.requestId,path:t.path,viewType:i.type===Wt.FileViewType.CONTENT?"content":"diff",language:i.language,truncated:i.truncated,error:i.error},c=Buffer.from(i.content||"","utf-8");this.onFileViewTransferCallback(e,c,a)}}getViewableMimeType(e){let t=e.split(".").pop()?.toLowerCase();return{png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",pdf:"application/pdf"}[t||""]||null}async getFileContent(e,t){let n=e.maxSize||1048576,s=await cn.stat(t),i=await cn.readFile(t,"utf-8"),a=!1,c=i;return i.length>n&&(c=i.slice(0,n),a=!0),{requestId:e.requestId,path:e.path,type:Wt.FileViewType.CONTENT,content:c,language:(0,Wt.getLanguageFromPath)(e.path),size:s.size,truncated:a}}async getFileDiff(e,t,n){let s=t.diffBase||Wt.DiffBase.GIT,i;return s===Wt.DiffBase.GIT?i=await this.getGitDiff(n):i=await this.getPreviousDiff(e,t.path,n),{requestId:t.requestId,path:t.path,type:Wt.FileViewType.DIFF,content:i,language:"diff"}}async getGitDiff(e){if(!this.workspaceRoot)throw new Error("No workspace root");try{let{stdout:t}=await hc(`git diff --cached -- "${e}"`,{cwd:this.workspaceRoot});if(t.trim())return t;let{stdout:n}=await hc(`git diff -- "${e}"`,{cwd:this.workspaceRoot});if(n.trim())return n;let{stdout:s}=await hc(`git status --porcelain -- "${e}"`,{cwd:this.workspaceRoot});if(s.startsWith("??")||s.startsWith("A ")){let a=(await cn.readFile(e,"utf-8")).split(`
26
+ `+t)}function nn(r,e,t,n,s,i){if(r.listenerCount("wsClientError")){let a=new Error(s);Error.captureStackTrace(a,nn),r.emit("wsClientError",a,t,e)}else gs(t,n,s,i)}});var Ll=F((sw,Il)=>{"use strict";var _r=Ii();_r.createWebSocketStream=bl();_r.Server=Al();_r.Receiver=la();_r.Sender=pa();_r.WebSocket=_r;_r.WebSocketServer=_r.Server;Il.exports=_r});var Ta=F(Fr=>{"use strict";var w0=Fr&&Fr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Fr,"__esModule",{value:!0});Fr.WS=Fr.BaseWS=void 0;var b0=as(),Nl=Jr(),x0=xn(),xa=Xr(),S0=w0(At()),T0=(0,S0.default)("engine.io-client:websocket"),Dl=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative",Ni=class extends b0.Transport{get name(){return"websocket"}doOpen(){let e=this.uri(),t=this.opts.protocols,n=Dl?{}:(0,Nl.pick)(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,n)}catch(s){return this.emitReserved("error",s)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let n=e[t],s=t===e.length-1;(0,x0.encodePacket)(n,this.supportsBinary,i=>{try{this.doWrite(n,i)}catch{T0("websocket closed before onclose event")}s&&(0,xa.nextTick)(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){let e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=(0,Nl.randomString)()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}};Fr.BaseWS=Ni;var ba=xa.globalThisShim.WebSocket||xa.globalThisShim.MozWebSocket,Sa=class extends Ni{createSocket(e,t,n){return Dl?new ba(e,t,n):t?new ba(e,t):new ba(e)}doWrite(e,t){this.ws.send(t)}};Fr.WS=Sa});var Oa=F(er=>{"use strict";var C0=er&&er.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),O0=er&&er.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),k0=er&&er.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&C0(e,r,t);return O0(e,r),e};Object.defineProperty(er,"__esModule",{value:!0});er.WS=void 0;var R0=k0(Ll()),P0=Ta(),Ca=class extends P0.BaseWS{createSocket(e,t,n){var s;if(!((s=this.socket)===null||s===void 0)&&s._cookieJar){n.headers=n.headers||{},n.headers.cookie=typeof n.headers.cookie=="string"?[n.headers.cookie]:n.headers.cookie||[];for(let[i,a]of this.socket._cookieJar.cookies)n.headers.cookie.push(`${i}=${a.value}`)}return new R0.WebSocket(e,t,n)}doWrite(e,t){let n={};e.options&&(n.compress=e.options.compress),this.opts.perMessageDeflate&&(typeof t=="string"?Buffer.byteLength(t):t.length)<this.opts.perMessageDeflate.threshold&&(n.compress=!1),this.ws.send(t,n)}};er.WS=Ca});var Ra=F(Fn=>{"use strict";var A0=Fn&&Fn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Fn,"__esModule",{value:!0});Fn.WT=void 0;var I0=as(),L0=Xr(),Fl=xn(),N0=A0(At()),ms=(0,N0.default)("engine.io-client:webtransport"),ka=class extends I0.Transport{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved("error",e)}this._transport.closed.then(()=>{ms("transport closed gracefully"),this.onClose()}).catch(e=>{ms("transport closed due to %s",e),this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{let t=(0,Fl.createPacketDecoderStream)(Number.MAX_SAFE_INTEGER,this.socket.binaryType),n=e.readable.pipeThrough(t).getReader(),s=(0,Fl.createPacketEncoderStream)();s.readable.pipeTo(e.writable),this._writer=s.writable.getWriter();let i=()=>{n.read().then(({done:c,value:u})=>{if(c){ms("session is closed");return}ms("received chunk: %o",u),this.onPacket(u),i()}).catch(c=>{ms("an error occurred while reading: %s",c)})};i();let a={type:"open"};this.query.sid&&(a.data=`{"sid":"${this.query.sid}"}`),this._writer.write(a).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let n=e[t],s=t===e.length-1;this._writer.write(n).then(()=>{s&&(0,L0.nextTick)(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}};Fn.WT=ka});var Pa=F(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.transports=void 0;var D0=ea(),F0=Oa(),M0=Ra();Di.transports={websocket:F0.WS,webtransport:M0.WT,polling:D0.XHR}});var Ia=F(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.parse=U0;var B0=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,j0=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function U0(r){if(r.length>8e3)throw"URI too long";let e=r,t=r.indexOf("["),n=r.indexOf("]");t!=-1&&n!=-1&&(r=r.substring(0,t)+r.substring(t,n).replace(/:/g,";")+r.substring(n,r.length));let s=B0.exec(r||""),i={},a=14;for(;a--;)i[j0[a]]=s[a]||"";return t!=-1&&n!=-1&&(i.source=e,i.host=i.host.substring(1,i.host.length-1).replace(/;/g,":"),i.authority=i.authority.replace("[","").replace("]","").replace(/;/g,":"),i.ipv6uri=!0),i.pathNames=q0(i,i.path),i.queryKey=W0(i,i.query),i}function q0(r,e){let t=/\/{2,9}/g,n=e.replace(t,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&n.splice(0,1),e.slice(-1)=="/"&&n.splice(n.length-1,1),n}function W0(r,e){let t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(n,s,i){s&&(t[s]=i)}),t}});var Fa=F(tr=>{"use strict";var H0=tr&&tr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(tr,"__esModule",{value:!0});tr.Socket=tr.SocketWithUpgrade=tr.SocketWithoutUpgrade=void 0;var V0=Pa(),Ml=Jr(),K0=Wo(),Bl=Ia(),$0=Yr(),jl=xn(),La=Xr(),z0=H0(At()),De=(0,z0.default)("engine.io-client:socket"),Na=typeof addEventListener=="function"&&typeof removeEventListener=="function",_s=[];Na&&addEventListener("offline",()=>{De("closing %d connection(s) because the network was lost",_s.length),_s.forEach(r=>r())},!1);var sn=class r extends $0.Emitter{constructor(e,t){if(super(),this.binaryType=La.defaultBinaryType,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,e&&typeof e=="object"&&(t=e,e=null),e){let n=(0,Bl.parse)(e);t.hostname=n.host,t.secure=n.protocol==="https"||n.protocol==="wss",t.port=n.port,n.query&&(t.query=n.query)}else t.host&&(t.hostname=(0,Bl.parse)(t.host).host);(0,Ml.installTimerFunctions)(this,t),this.secure=t.secure!=null?t.secure:typeof location<"u"&&location.protocol==="https:",t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=t.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},t.transports.forEach(n=>{let s=n.prototype.name;this.transports.push(s),this._transportsByName[s]=n}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=(0,K0.decode)(this.opts.query)),Na&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(De("adding listener for the 'offline' event"),this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},_s.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=(0,La.createCookieJar)()),this._open()}createTransport(e){De('creating transport "%s"',e);let t=Object.assign({},this.opts.query);t.EIO=jl.protocol,t.transport=e,this.id&&(t.sid=this.id);let n=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return De("options: %j",n),new this._transportsByName[e](n)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}let e=this.opts.rememberUpgrade&&r.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";let t=this.createTransport(e);t.open(),this.setTransport(t)}setTransport(e){De("setting transport %s",e.name),this.transport&&(De("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=e,e.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",t=>this._onClose("transport close",t))}onOpen(){De("socket open"),this.readyState="open",r.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(e){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(De('socket receive: type "%s", data "%s"',e.type,e.data),this.emitReserved("packet",e),this.emitReserved("heartbeat"),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":let t=new Error("server error");t.code=e.data,this._onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data);break}else De('packet received with socket readyState "%s"',this.readyState)}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this._pingInterval=e.pingInterval,this._pingTimeout=e.pingTimeout,this._maxPayload=e.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);let e=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+e,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},e),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){let e=this._getWritablePackets();De("flushing %d packets in socket",e.length),this.transport.send(e),this._prevBufferLen=e.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let n=0;n<this.writeBuffer.length;n++){let s=this.writeBuffer[n].data;if(s&&(t+=(0,Ml.byteLength)(s)),n>0&&t>this._maxPayload)return De("only send %d out of %d packets",n,this.writeBuffer.length),this.writeBuffer.slice(0,n);t+=2}return De("payload size is %d (max: %d)",t,this._maxPayload),this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;let e=Date.now()>this._pingTimeoutTime;return e&&(De("throttled timer detected, scheduling connection close"),this._pingTimeoutTime=0,(0,La.nextTick)(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),e}write(e,t,n){return this._sendPacket("message",e,t,n),this}send(e,t,n){return this._sendPacket("message",e,t,n),this}_sendPacket(e,t,n,s){if(typeof t=="function"&&(s=t,t=void 0),typeof n=="function"&&(s=n,n=null),this.readyState==="closing"||this.readyState==="closed")return;n=n||{},n.compress=n.compress!==!1;let i={type:e,data:t,options:n};this.emitReserved("packetCreate",i),this.writeBuffer.push(i),s&&this.once("flush",s),this.flush()}close(){let e=()=>{this._onClose("forced close"),De("socket closing - telling transport to close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},n=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?n():e()}):this.upgrading?n():e()),this}_onError(e){if(De("socket error %j",e),r.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return De("trying next transport"),this.transports.shift(),this._open();this.emitReserved("error",e),this._onClose("transport error",e)}_onClose(e,t){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(De('socket close with reason: "%s"',e),this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),Na&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){let n=_s.indexOf(this._offlineEventListener);n!==-1&&(De("removing listener for the 'offline' event"),_s.splice(n,1))}this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this._prevBufferLen=0}}};tr.SocketWithoutUpgrade=sn;sn.protocol=jl.protocol;var Fi=class extends sn{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade){De("starting upgrade probes");for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}}_probe(e){De('probing transport "%s"',e);let t=this.createTransport(e),n=!1;sn.priorWebsocketSuccess=!1;let s=()=>{n||(De('probe transport "%s" opened',e),t.send([{type:"ping",data:"probe"}]),t.once("packet",m=>{if(!n)if(m.type==="pong"&&m.data==="probe"){if(De('probe transport "%s" pong',e),this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;sn.priorWebsocketSuccess=t.name==="websocket",De('pausing current transport "%s"',this.transport.name),this.transport.pause(()=>{n||this.readyState!=="closed"&&(De("changing transport and sending upgrade packet"),g(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{De('probe transport "%s" failed',e);let y=new Error("probe error");y.transport=t.name,this.emitReserved("upgradeError",y)}}))};function i(){n||(n=!0,g(),t.close(),t=null)}let a=m=>{let y=new Error("probe error: "+m);y.transport=t.name,i(),De('probe transport "%s" failed because of error: %s',e,m),this.emitReserved("upgradeError",y)};function c(){a("transport closed")}function u(){a("socket closed")}function d(m){t&&m.name!==t.name&&(De('"%s" works - aborting "%s"',m.name,t.name),i())}let g=()=>{t.removeListener("open",s),t.removeListener("error",a),t.removeListener("close",c),this.off("close",u),this.off("upgrading",d)};t.once("open",s),t.once("error",a),t.once("close",c),this.once("close",u),this.once("upgrading",d),this._upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{n||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){let t=[];for(let n=0;n<e.length;n++)~this.transports.indexOf(e[n])&&t.push(e[n]);return t}};tr.SocketWithUpgrade=Fi;var Da=class extends Fi{constructor(e,t={}){let n=typeof e=="object"?e:t;(!n.transports||n.transports&&typeof n.transports[0]=="string")&&(n.transports=(n.transports||["polling","websocket","webtransport"]).map(s=>V0.transports[s]).filter(s=>!!s)),super(e,n)}};tr.Socket=Da});var Ul=F(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.Fetch=void 0;var G0=Yo(),Ma=class extends G0.Polling{doPoll(){this._fetch().then(e=>{if(!e.ok)return this.onError("fetch read error",e.status,e);e.text().then(t=>this.onData(t))}).catch(e=>{this.onError("fetch read error",e)})}doWrite(e,t){this._fetch(e).then(n=>{if(!n.ok)return this.onError("fetch write error",n.status,n);t()}).catch(n=>{this.onError("fetch write error",n)})}_fetch(e){var t;let n=e!==void 0,s=new Headers(this.opts.extraHeaders);return n&&s.set("content-type","text/plain;charset=UTF-8"),(t=this.socket._cookieJar)===null||t===void 0||t.appendCookies(s),fetch(this.uri(),{method:n?"POST":"GET",body:n?e:null,headers:s,credentials:this.opts.withCredentials?"include":"omit"}).then(i=>{var a;return(a=this.socket._cookieJar)===null||a===void 0||a.parseCookies(i.headers.getSetCookie()),i})}};Mi.Fetch=Ma});var Bi=F(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.WebTransport=Se.WebSocket=Se.NodeWebSocket=Se.XHR=Se.NodeXHR=Se.Fetch=Se.nextTick=Se.parse=Se.installTimerFunctions=Se.transports=Se.TransportError=Se.Transport=Se.protocol=Se.SocketWithUpgrade=Se.SocketWithoutUpgrade=Se.Socket=void 0;var ql=Fa();Object.defineProperty(Se,"Socket",{enumerable:!0,get:function(){return ql.Socket}});var Wl=Fa();Object.defineProperty(Se,"SocketWithoutUpgrade",{enumerable:!0,get:function(){return Wl.SocketWithoutUpgrade}});Object.defineProperty(Se,"SocketWithUpgrade",{enumerable:!0,get:function(){return Wl.SocketWithUpgrade}});Se.protocol=ql.Socket.protocol;var Hl=as();Object.defineProperty(Se,"Transport",{enumerable:!0,get:function(){return Hl.Transport}});Object.defineProperty(Se,"TransportError",{enumerable:!0,get:function(){return Hl.TransportError}});var Y0=Pa();Object.defineProperty(Se,"transports",{enumerable:!0,get:function(){return Y0.transports}});var X0=Jr();Object.defineProperty(Se,"installTimerFunctions",{enumerable:!0,get:function(){return X0.installTimerFunctions}});var J0=Ia();Object.defineProperty(Se,"parse",{enumerable:!0,get:function(){return J0.parse}});var Z0=Xr();Object.defineProperty(Se,"nextTick",{enumerable:!0,get:function(){return Z0.nextTick}});var Q0=Ul();Object.defineProperty(Se,"Fetch",{enumerable:!0,get:function(){return Q0.Fetch}});var e_=ea();Object.defineProperty(Se,"NodeXHR",{enumerable:!0,get:function(){return e_.XHR}});var t_=Zo();Object.defineProperty(Se,"XHR",{enumerable:!0,get:function(){return t_.XHR}});var r_=Oa();Object.defineProperty(Se,"NodeWebSocket",{enumerable:!0,get:function(){return r_.WS}});var n_=Ta();Object.defineProperty(Se,"WebSocket",{enumerable:!0,get:function(){return n_.WS}});var s_=Ra();Object.defineProperty(Se,"WebTransport",{enumerable:!0,get:function(){return s_.WT}})});var Kl=F(ys=>{"use strict";var i_=ys&&ys.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ys,"__esModule",{value:!0});ys.url=c_;var o_=Bi(),a_=i_(At()),Vl=(0,a_.default)("socket.io-client:url");function c_(r,e="",t){let n=r;t=t||typeof location<"u"&&location,r==null&&(r=t.protocol+"//"+t.host),typeof r=="string"&&(r.charAt(0)==="/"&&(r.charAt(1)==="/"?r=t.protocol+r:r=t.host+r),/^(https?|wss?):\/\//.test(r)||(Vl("protocol-less url %s",r),typeof t<"u"?r=t.protocol+"//"+r:r="https://"+r),Vl("parse %s",r),n=(0,o_.parse)(r)),n.port||(/^(http|ws)$/.test(n.protocol)?n.port="80":/^(http|ws)s$/.test(n.protocol)&&(n.port="443")),n.path=n.path||"/";let i=n.host.indexOf(":")!==-1?"["+n.host+"]":n.host;return n.id=n.protocol+"://"+i+":"+n.port+e,n.href=n.protocol+"://"+i+(t&&t.port===n.port?"":":"+n.port),n}});var Ba=F(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.isBinary=zl;Ui.hasBinary=ji;var f_=typeof ArrayBuffer=="function",u_=r=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(r):r.buffer instanceof ArrayBuffer,$l=Object.prototype.toString,l_=typeof Blob=="function"||typeof Blob<"u"&&$l.call(Blob)==="[object BlobConstructor]",h_=typeof File=="function"||typeof File<"u"&&$l.call(File)==="[object FileConstructor]";function zl(r){return f_&&(r instanceof ArrayBuffer||u_(r))||l_&&r instanceof Blob||h_&&r instanceof File}function ji(r,e){if(!r||typeof r!="object")return!1;if(Array.isArray(r)){for(let t=0,n=r.length;t<n;t++)if(ji(r[t]))return!0;return!1}if(zl(r))return!0;if(r.toJSON&&typeof r.toJSON=="function"&&arguments.length===1)return ji(r.toJSON(),!0);for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)&&ji(r[t]))return!0;return!1}});var Gl=F(qi=>{"use strict";Object.defineProperty(qi,"__esModule",{value:!0});qi.deconstructPacket=p_;qi.reconstructPacket=g_;var d_=Ba();function p_(r){let e=[],t=r.data,n=r;return n.data=ja(t,e),n.attachments=e.length,{packet:n,buffers:e}}function ja(r,e){if(!r)return r;if((0,d_.isBinary)(r)){let t={_placeholder:!0,num:e.length};return e.push(r),t}else if(Array.isArray(r)){let t=new Array(r.length);for(let n=0;n<r.length;n++)t[n]=ja(r[n],e);return t}else if(typeof r=="object"&&!(r instanceof Date)){let t={};for(let n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=ja(r[n],e));return t}return r}function g_(r,e){return r.data=Ua(r.data,e),delete r.attachments,r}function Ua(r,e){if(!r)return r;if(r&&r._placeholder===!0){if(typeof r.num=="number"&&r.num>=0&&r.num<e.length)return e[r.num];throw new Error("illegal attachments")}else if(Array.isArray(r))for(let t=0;t<r.length;t++)r[t]=Ua(r[t],e);else if(typeof r=="object")for(let t in r)Object.prototype.hasOwnProperty.call(r,t)&&(r[t]=Ua(r[t],e));return r}});var Hi=F(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.Decoder=Ut.Encoder=Ut.PacketType=Ut.protocol=void 0;Ut.isPacketValid=b_;var m_=Yr(),Yl=Gl(),Xl=Ba(),__=At(),qa=(0,__.default)("socket.io-parser"),Jl=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];Ut.protocol=5;var Le;(function(r){r[r.CONNECT=0]="CONNECT",r[r.DISCONNECT=1]="DISCONNECT",r[r.EVENT=2]="EVENT",r[r.ACK=3]="ACK",r[r.CONNECT_ERROR=4]="CONNECT_ERROR",r[r.BINARY_EVENT=5]="BINARY_EVENT",r[r.BINARY_ACK=6]="BINARY_ACK"})(Le||(Ut.PacketType=Le={}));var Wa=class{constructor(e){this.replacer=e}encode(e){return qa("encoding packet %j",e),(e.type===Le.EVENT||e.type===Le.ACK)&&(0,Xl.hasBinary)(e)?this.encodeAsBinary({type:e.type===Le.EVENT?Le.BINARY_EVENT:Le.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=""+e.type;return(e.type===Le.BINARY_EVENT||e.type===Le.BINARY_ACK)&&(t+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(t+=e.nsp+","),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),qa("encoded %j as %s",e,t),t}encodeAsBinary(e){let t=(0,Yl.deconstructPacket)(e),n=this.encodeAsString(t.packet),s=t.buffers;return s.unshift(n),s}};Ut.Encoder=Wa;var Ha=class r extends m_.Emitter{constructor(e){super(),this.reviver=e}add(e){let t;if(typeof e=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);let n=t.type===Le.BINARY_EVENT;n||t.type===Le.BINARY_ACK?(t.type=n?Le.EVENT:Le.ACK,this.reconstructor=new Va(t),t.attachments===0&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else if((0,Xl.isBinary)(e)||e.base64)if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+e)}decodeString(e){let t=0,n={type:Number(e.charAt(0))};if(Le[n.type]===void 0)throw new Error("unknown packet type "+n.type);if(n.type===Le.BINARY_EVENT||n.type===Le.BINARY_ACK){let i=t+1;for(;e.charAt(++t)!=="-"&&t!=e.length;);let a=e.substring(i,t);if(a!=Number(a)||e.charAt(t)!=="-")throw new Error("Illegal attachments");n.attachments=Number(a)}if(e.charAt(t+1)==="/"){let i=t+1;for(;++t&&!(e.charAt(t)===","||t===e.length););n.nsp=e.substring(i,t)}else n.nsp="/";let s=e.charAt(t+1);if(s!==""&&Number(s)==s){let i=t+1;for(;++t;){let a=e.charAt(t);if(a==null||Number(a)!=a){--t;break}if(t===e.length)break}n.id=Number(e.substring(i,t+1))}if(e.charAt(++t)){let i=this.tryParse(e.substr(t));if(r.isPayloadValid(n.type,i))n.data=i;else throw new Error("invalid payload")}return qa("decoded %s as %j",e,n),n}tryParse(e){try{return JSON.parse(e,this.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case Le.CONNECT:return Wi(t);case Le.DISCONNECT:return t===void 0;case Le.CONNECT_ERROR:return typeof t=="string"||Wi(t);case Le.EVENT:case Le.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&Jl.indexOf(t[0])===-1);case Le.ACK:case Le.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}};Ut.Decoder=Ha;var Va=class{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){let t=(0,Yl.reconstructPacket)(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function y_(r){return typeof r=="string"}var v_=Number.isInteger||function(r){return typeof r=="number"&&isFinite(r)&&Math.floor(r)===r};function E_(r){return r===void 0||v_(r)}function Wi(r){return Object.prototype.toString.call(r)==="[object Object]"}function w_(r,e){switch(r){case Le.CONNECT:return e===void 0||Wi(e);case Le.DISCONNECT:return e===void 0;case Le.EVENT:return Array.isArray(e)&&(typeof e[0]=="number"||typeof e[0]=="string"&&Jl.indexOf(e[0])===-1);case Le.ACK:return Array.isArray(e);case Le.CONNECT_ERROR:return typeof e=="string"||Wi(e);default:return!1}}function b_(r){return y_(r.nsp)&&E_(r.id)&&w_(r.type,r.data)}});var $a=F(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.on=x_;function x_(r,e,t){return r.on(e,t),function(){r.off(e,t)}}});var Ga=F(Mn=>{"use strict";var S_=Mn&&Mn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Mn,"__esModule",{value:!0});Mn.Socket=void 0;var qt=Hi(),Vi=$a(),T_=Yr(),C_=S_(At()),Ze=(0,C_.default)("socket.io-client:socket"),O_=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),za=class extends T_.Emitter{constructor(e,t,n){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,n&&n.auth&&(this.auth=n.auth),this._opts=Object.assign({},n),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;let e=this.io;this.subs=[(0,Vi.on)(e,"open",this.onopen.bind(this)),(0,Vi.on)(e,"packet",this.onpacket.bind(this)),(0,Vi.on)(e,"error",this.onerror.bind(this)),(0,Vi.on)(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){var n,s,i;if(O_.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;let a={type:qt.PacketType.EVENT,data:t};if(a.options={},a.options.compress=this.flags.compress!==!1,typeof t[t.length-1]=="function"){let g=this.ids++;Ze("emitting packet with ack id %d",g);let m=t.pop();this._registerAckCallback(g,m),a.id=g}let c=(s=(n=this.io.engine)===null||n===void 0?void 0:n.transport)===null||s===void 0?void 0:s.writable,u=this.connected&&!(!((i=this.io.engine)===null||i===void 0)&&i._hasPingExpired());return this.flags.volatile&&!c?Ze("discard packet as the transport is not currently writable"):u?(this.notifyOutgoingListeners(a),this.packet(a)):this.sendBuffer.push(a),this.flags={},this}_registerAckCallback(e,t){var n;let s=(n=this.flags.timeout)!==null&&n!==void 0?n:this._opts.ackTimeout;if(s===void 0){this.acks[e]=t;return}let i=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let c=0;c<this.sendBuffer.length;c++)this.sendBuffer[c].id===e&&(Ze("removing packet with ack id %d from the buffer",e),this.sendBuffer.splice(c,1));Ze("event with ack id %d has timed out after %d ms",e,s),t.call(this,new Error("operation has timed out"))},s),a=(...c)=>{this.io.clearTimeoutFn(i),t.apply(this,c)};a.withError=!0,this.acks[e]=a}emitWithAck(e,...t){return new Promise((n,s)=>{let i=(a,c)=>a?s(a):n(c);i.withError=!0,t.push(i),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]=="function"&&(t=e.pop());let n={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((s,...i)=>n!==this._queue[0]?Ze("packet [%d] already acknowledged",n.id):(s!==null?n.tryCount>this._opts.retries&&(Ze("packet [%d] is discarded after %d tries",n.id,n.tryCount),this._queue.shift(),t&&t(s)):(Ze("packet [%d] was successfully sent",n.id),this._queue.shift(),t&&t(null,...i)),n.pending=!1,this._drainQueue())),this._queue.push(n),this._drainQueue()}_drainQueue(e=!1){if(Ze("draining queue"),!this.connected||this._queue.length===0)return;let t=this._queue[0];if(t.pending&&!e){Ze("packet [%d] has already been sent and is waiting for an ack",t.id);return}t.pending=!0,t.tryCount++,Ze("sending packet [%d] (try n\xB0%d)",t.id,t.tryCount),this.flags=t.flags,this.emit.apply(this,t.args)}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){Ze("transport is open - connecting"),typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:qt.PacketType.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){Ze("close (%s)",e),this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(n=>String(n.id)===e)){let n=this.acks[e];delete this.acks[e],n.withError&&n.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case qt.PacketType.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case qt.PacketType.EVENT:case qt.PacketType.BINARY_EVENT:this.onevent(e);break;case qt.PacketType.ACK:case qt.PacketType.BINARY_ACK:this.onack(e);break;case qt.PacketType.DISCONNECT:this.ondisconnect();break;case qt.PacketType.CONNECT_ERROR:this.destroy();let n=new Error(e.data.message);n.data=e.data.data,this.emitReserved("connect_error",n);break}}onevent(e){let t=e.data||[];Ze("emitting event %j",t),e.id!=null&&(Ze("attaching ack callback to event"),t.push(this.ack(e.id))),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){let t=this._anyListeners.slice();for(let n of t)n.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){let t=this,n=!1;return function(...s){n||(n=!0,Ze("sending ack %j",s),t.packet({type:qt.PacketType.ACK,id:e,data:s}))}}onack(e){let t=this.acks[e.id];if(typeof t!="function"){Ze("bad ack %s",e.id);return}delete this.acks[e.id],Ze("calling ack %s with %j",e.id,e.data),t.withError&&e.data.unshift(null),t.apply(this,e.data)}onconnect(e,t){Ze("socket connected with id %s",e),this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this._drainQueue(!0),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){Ze("server disconnect (%s)",this.nsp),this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&(Ze("performing disconnect (%s)",this.nsp),this.packet({type:qt.PacketType.DISCONNECT})),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){let t=this._anyListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){let t=this._anyOutgoingListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let t=this._anyOutgoingListeners.slice();for(let n of t)n.apply(this,e.data)}}};Mn.Socket=za});var Zl=F(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.Backoff=Bn;function Bn(r){r=r||{},this.ms=r.min||100,this.max=r.max||1e4,this.factor=r.factor||2,this.jitter=r.jitter>0&&r.jitter<=1?r.jitter:0,this.attempts=0}Bn.prototype.duration=function(){var r=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),t=Math.floor(e*this.jitter*r);r=(Math.floor(e*10)&1)==0?r-t:r+t}return Math.min(r,this.max)|0};Bn.prototype.reset=function(){this.attempts=0};Bn.prototype.setMin=function(r){this.ms=r};Bn.prototype.setMax=function(r){this.max=r};Bn.prototype.setJitter=function(r){this.jitter=r}});var Ql=F(Nt=>{"use strict";var k_=Nt&&Nt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),R_=Nt&&Nt.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),P_=Nt&&Nt.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&k_(e,r,t);return R_(e,r),e},A_=Nt&&Nt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Nt,"__esModule",{value:!0});Nt.Manager=void 0;var Xa=Bi(),I_=Ga(),L_=P_(Hi()),on=$a(),N_=Zl(),D_=Yr(),F_=A_(At()),it=(0,F_.default)("socket.io-client:manager"),Ja=class extends D_.Emitter{constructor(e,t){var n;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(t=e,e=void 0),t=t||{},t.path=t.path||"/socket.io",this.opts=t,(0,Xa.installTimerFunctions)(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((n=t.randomizationFactor)!==null&&n!==void 0?n:.5),this.backoff=new N_.Backoff({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState="closed",this.uri=e;let s=t.parser||L_;this.encoder=new s.Encoder,this.decoder=new s.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(it("readyState %s",this._readyState),~this._readyState.indexOf("open"))return this;it("opening %s",this.uri),this.engine=new Xa.Socket(this.uri,this.opts);let t=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;let s=(0,on.on)(t,"open",function(){n.onopen(),e&&e()}),i=c=>{it("error"),this.cleanup(),this._readyState="closed",this.emitReserved("error",c),e?e(c):this.maybeReconnectOnOpen()},a=(0,on.on)(t,"error",i);if(this._timeout!==!1){let c=this._timeout;it("connect attempt will timeout after %d",c);let u=this.setTimeoutFn(()=>{it("connect attempt timed out after %d",c),s(),i(new Error("timeout")),t.close()},c);this.opts.autoUnref&&u.unref(),this.subs.push(()=>{this.clearTimeoutFn(u)})}return this.subs.push(s),this.subs.push(a),this}connect(e){return this.open(e)}onopen(){it("open"),this.cleanup(),this._readyState="open",this.emitReserved("open");let e=this.engine;this.subs.push((0,on.on)(e,"ping",this.onping.bind(this)),(0,on.on)(e,"data",this.ondata.bind(this)),(0,on.on)(e,"error",this.onerror.bind(this)),(0,on.on)(e,"close",this.onclose.bind(this)),(0,on.on)(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){(0,Xa.nextTick)(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){it("error",e),this.emitReserved("error",e)}socket(e,t){let n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new I_.Socket(this,e,t),this.nsps[e]=n),n}_destroy(e){let t=Object.keys(this.nsps);for(let n of t)if(this.nsps[n].active){it("socket %s is still active, skipping close",n);return}this._close()}_packet(e){it("writing packet %j",e);let t=this.encoder.encode(e);for(let n=0;n<t.length;n++)this.engine.write(t[n],e.options)}cleanup(){it("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){it("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,t){var n;it("closed due to %s",e),this.cleanup(),(n=this.engine)===null||n===void 0||n.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;let e=this;if(this.backoff.attempts>=this._reconnectionAttempts)it("reconnect failed"),this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{let t=this.backoff.duration();it("will wait %dms before reconnect attempt",t),this._reconnecting=!0;let n=this.setTimeoutFn(()=>{e.skipReconnect||(it("attempting reconnect"),this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(s=>{s?(it("reconnect attempt error"),e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",s)):(it("reconnect success"),e.onreconnect())}))},t);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}}onreconnect(){let e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}};Nt.Manager=Ja});var nh=F((Be,rh)=>{"use strict";var M_=Be&&Be.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Be,"__esModule",{value:!0});Be.WebTransport=Be.WebSocket=Be.NodeWebSocket=Be.XHR=Be.NodeXHR=Be.Fetch=Be.Socket=Be.Manager=Be.protocol=void 0;Be.io=an;Be.connect=an;Be.default=an;var B_=Kl(),Ki=Ql();Object.defineProperty(Be,"Manager",{enumerable:!0,get:function(){return Ki.Manager}});var th=Ga();Object.defineProperty(Be,"Socket",{enumerable:!0,get:function(){return th.Socket}});var j_=M_(At()),eh=(0,j_.default)("socket.io-client"),vs={};function an(r,e){typeof r=="object"&&(e=r,r=void 0),e=e||{};let t=(0,B_.url)(r,e.path||"/socket.io"),n=t.source,s=t.id,i=t.path,a=vs[s]&&i in vs[s].nsps,c=e.forceNew||e["force new connection"]||e.multiplex===!1||a,u;return c?(eh("ignoring socket cache for %s",n),u=new Ki.Manager(n,e)):(vs[s]||(eh("new io instance for %s",n),vs[s]=new Ki.Manager(n,e)),u=vs[s]),t.query&&!e.query&&(e.query=t.queryKey),u.socket(t.path,e)}Object.assign(an,{Manager:Ki.Manager,Socket:th.Socket,io:an,connect:an});var U_=Hi();Object.defineProperty(Be,"protocol",{enumerable:!0,get:function(){return U_.protocol}});var jn=Bi();Object.defineProperty(Be,"Fetch",{enumerable:!0,get:function(){return jn.Fetch}});Object.defineProperty(Be,"NodeXHR",{enumerable:!0,get:function(){return jn.NodeXHR}});Object.defineProperty(Be,"XHR",{enumerable:!0,get:function(){return jn.XHR}});Object.defineProperty(Be,"NodeWebSocket",{enumerable:!0,get:function(){return jn.NodeWebSocket}});Object.defineProperty(Be,"WebSocket",{enumerable:!0,get:function(){return jn.WebSocket}});Object.defineProperty(Be,"WebTransport",{enumerable:!0,get:function(){return jn.WebTransport}});rh.exports=an});var ah=F($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.WebSocketService=void 0;var q_=nh(),sh=Rr(),ih=$s(),oh=Hs(),Za=class{authService;cryptoService;config;logger;notification;deviceId;platform;socket=null;inputHandler=null;createTerminalHandler=null;getBufferHandler=null;redrawHandler=null;resizeHandler=null;reconnectHandlers=[];authFailureHandler=null;fileViewRequestHandler=null;fileListRequestHandler=null;fileDownloadRequestHandler=null;statusChangeHandler=null;agentNameSyncHandler=null;clientAttachedHandler=null;clientDetachedHandler=null;agentId=null;hasConnectedOnce=!1;isRemoteRename=!1;negotiatedCapabilities=[];HEARTBEAT_INTERVAL=3e4;HEARTBEAT_TIMEOUT=1e4;heartbeatTimer=null;pongTimer=null;lastPongTime=0;isManualDisconnect=!1;reconnectAttempts=0;reconnectTimer=null;networkCheckTimer=null;isOnline=!0;lastNetworkCheck=0;rekeyingTerminals=new Set;outputBuffer=new Map;OUTPUT_BUFFER_MAX_SIZE=1e3;RECONNECT_BASE_DELAY=1e3;RECONNECT_MAX_DELAY=3e4;RECONNECT_JITTER=.2;NETWORK_CHECK_INTERVAL=5e3;constructor(e,t,n,s,i,a,c="vscode"){this.authService=e,this.cryptoService=t,this.config=n,this.logger=s,this.notification=i,this.deviceId=a,this.platform=c}async connect(){let e=await this.authService.getAccessToken();if(!e)throw new Error("No access token available");this.isManualDisconnect=!1,this.stopReconnect(),this.reconnectAttempts=0,this.agentId=await this.authService.getAgentId();let t=(0,ih.getWsUrl)(this.config);this.logger.info("Connecting to WebSocket",t),this.statusChangeHandler?.("connecting");let n=await this.cryptoService.getPublicKey();return new Promise((s,i)=>{this.socket=(0,q_.io)(`${t}/agent`,{auth:{token:e,protocolVersion:sh.PROTOCOL_VERSION,deviceId:this.deviceId,platform:this.platform,capabilities:sh.DEFAULT_CLIENT_CAPABILITIES,publicKey:n},transports:["websocket"],reconnection:!1}),this.socket.on("connect",()=>{if(this.logger.info("WebSocket connected"),this.reconnectAttempts=0,this.statusChangeHandler?.("connected",this.agentId??void 0),this.startHeartbeat(),this.cryptoService.cleanupAllStaleSessions(),this.hasConnectedOnce){this.logger.info("Reconnected - triggering workspace re-registration");for(let a of this.reconnectHandlers)a()}else this.hasConnectedOnce=!0,s()}),this.socket.on("error",a=>{this.logger.error(`Server error [${a.code}]: ${a.message}`),a.code==="E401"&&(this.logger.warn("Auth failure (E401)"),this.authFailureHandler?.())}),this.socket.on("disconnect",a=>{this.logger.warn("WebSocket disconnected",a),this.stopHeartbeat(),this.statusChangeHandler?.("disconnected"),this.isManualDisconnect||(a==="transport close"?(this.logger.info("Transport close - attempting immediate reconnect"),this.attemptReconnect(!0)):this.scheduleReconnect())}),this.socket.on("protocol:info",a=>{this.logger.info("Protocol info received",a.protocolVersion),this.negotiatedCapabilities=a.negotiatedCapabilities,a.agentName&&this.config.getAgentName()!==a.agentName&&(this.isRemoteRename=!0,this.config.setAgentName(a.agentName).then(()=>{setTimeout(()=>{this.isRemoteRename=!1},100)}),this.agentNameSyncHandler?.(a.agentName),this.logger.info("Agent name synced from server",a.agentName))}),this.socket.on("pong",()=>{this.lastPongTime=Date.now(),this.clearPongTimeout(),this.logger.debug("Heartbeat pong received")}),this.socket.on("connect_error",a=>{this.logger.error("WebSocket connection error",a),this.statusChangeHandler?.("error"),this.hasConnectedOnce||i(a),this.scheduleReconnect()}),this.socket.on("terminal:input",a=>{this.handleTerminalInput(a)}),this.socket.on("crypto:keyExchange",async(a,c)=>{this.logger.info("Received key exchange request",a.terminalId,a.sessionId),this.rekeyingTerminals.add(a.terminalId),this.outputBuffer.set(a.terminalId,[]);try{if(await this.cryptoService.handleKeyExchange(a.terminalId,a.clientPublicKey,a.sessionId)){let d=await this.cryptoService.getPublicKey();c?.({success:!0,agentPublicKey:d||void 0}),this.flushOutputBuffer(a.terminalId)}else c?.({success:!1,error:"Key exchange failed"})}catch(u){this.logger.error("Key exchange error",u),c?.({success:!1,error:String(u)})}finally{this.rekeyingTerminals.delete(a.terminalId),this.outputBuffer.delete(a.terminalId)}}),this.socket.on("crypto:sessionCleanup",a=>{this.cryptoService.removeSession(a.terminalId,a.sessionId)}),this.socket.on("agent:keyExchangeRequest",async a=>{try{let c=await this.cryptoService.handleAgentKeyExchange(a.clientPublicKey,a.sessionId),u={agentId:a.agentId,sessionId:a.sessionId,ok:c,error:c?void 0:"Key exchange failed"};this.socket?.emit("agent:keyExchangeAck",u)}catch(c){this.logger.error("Agent key exchange error",c);let u={agentId:a.agentId,sessionId:a.sessionId,ok:!1,error:String(c)};this.socket?.emit("agent:keyExchangeAck",u)}}),this.socket.on("agent:sessionEnd",a=>{this.cryptoService.removeAgentSession(a.sessionId)}),this.socket.on("agent:renamed",a=>{this.logger.info("Agent renamed from web client",a.name),this.isRemoteRename=!0,this.config.setAgentName(a.name).then(()=>{setTimeout(()=>{this.isRemoteRename=!1},100)}),this.agentNameSyncHandler?.(a.name)}),this.socket.on("terminal:createRequest",a=>{this.createTerminalHandler?.(a.name)}),this.socket.on("terminal:getBuffer",(a,c)=>{if(!this.getBufferHandler){c?.({success:!1,error:"Buffer handler not set"});return}let u=this.getBufferHandler(a.terminalId);if(u===null){c?.({success:!1,error:"Terminal not found"});return}let d=this.cryptoService.encryptOutput(a.terminalId,u);c?.(d?{success:!0,encrypted:d}:{success:!0,data:u}),this.redrawHandler?.(a.terminalId)}),this.socket.on("terminal:resize",a=>{this.resizeHandler?.(a.terminalId,a.cols,a.rows)}),this.socket.on("workspace:clientAttached",a=>{this.clientAttachedHandler?.(a)}),this.socket.on("workspace:clientDetached",a=>{this.clientDetachedHandler?.(a)}),this.socket.on("file:view",a=>{this.fileViewRequestHandler?.(a.terminalId,a.request)}),this.socket.on("file:list",a=>{this.fileListRequestHandler?.(a.terminalId,a.request)}),this.socket.on("file:download:request",a=>{this.fileDownloadRequestHandler?.(a.terminalId,a.path,a.requestId)})})}disconnect(){this.isManualDisconnect=!0,this.hasConnectedOnce=!1,this.stopReconnect(),this.stopHeartbeat(),this.cryptoService.clearAllSessions(),this.socket&&(this.logger.info("Disconnecting WebSocket"),this.socket.disconnect(),this.socket=null)}softDisconnect(){this.stopReconnect(),this.stopHeartbeat(),this.socket&&(this.logger.info("Soft disconnecting WebSocket (for reconnect)"),this.socket.disconnect(),this.socket=null)}getStatus(){return{connected:this.socket?.connected??!1,agentId:this.agentId}}onInput(e){this.inputHandler=e}onCreateTerminalRequest(e){this.createTerminalHandler=e}onGetBufferRequest(e){this.getBufferHandler=e}onRedrawRequest(e){this.redrawHandler=e}onResizeRequest(e){this.resizeHandler=e}onReconnect(e){this.reconnectHandlers.push(e)}onAuthFailure(e){this.authFailureHandler=e}onFileViewRequest(e){this.fileViewRequestHandler=e}onFileListRequest(e){this.fileListRequestHandler=e}onFileDownloadRequest(e){this.fileDownloadRequestHandler=e}onStatusChange(e){this.statusChangeHandler=e}onAgentNameSync(e){this.agentNameSyncHandler=e}onClientAttached(e){this.clientAttachedHandler=e}onClientDetached(e){this.clientDetachedHandler=e}async registerWorkspace(e){return this.emit("workspace:register",e)}async unregisterWorkspace(e){await this.emit("workspace:unregister",{instanceId:e})}async terminalCreated(e){return this.emit("terminal:created",e)}async terminalClosed(e){this.cryptoService.removeSession(e.terminalId),await this.emit("terminal:closed",e)}terminalNotFound(e){this.socket?.emit("terminal:notFound",{terminalId:e})}sendOutput(e,t,n){if(!this.socket?.connected)return;if(this.rekeyingTerminals.has(t)){let a=this.outputBuffer.get(t);a&&a.length<this.OUTPUT_BUFFER_MAX_SIZE&&a.push({instanceId:e,data:n});return}let s=this.cryptoService.encryptOutput(t,n),i={instanceId:e,terminalId:t,...s?{encrypted:s}:{data:n}};this.socket?.emit("terminal:output",i)}flushOutputBuffer(e){let t=this.outputBuffer.get(e);if(!(!t||t.length===0)){this.logger.info("Flushing output buffer after rekey",e,String(t.length));for(let{instanceId:n,data:s}of t){let i=this.cryptoService.encryptOutput(e,s),a={instanceId:n,terminalId:e,...i?{encrypted:i}:{data:s}};this.socket?.emit("terminal:output",a)}}}async updateStatus(e){await this.emit("terminal:status",e)}sendTerminalEvent(e,t,n){let s={instanceId:e,terminalId:t,event:n};this.socket?.emit("terminal:event",s)}hasCapability(e){return this.negotiatedCapabilities.includes(e)}sendFileChangedEvent(e,t,n){let s={instanceId:e,terminalId:t,event:n};this.socket?.emit("file:changed",s)}sendFileListResponse(e,t){let n={instanceId:e,response:t};this.socket?.emit("file:list:response",n)}sendAgentRename(e){this.socket?.emit("agent:rename",{name:e})}isRemoteRenameInProgress(){return this.isRemoteRename}getSocket(){return this.socket}emit(e,t){let n=(0,oh.generateCorrelationId)(),s=t&&typeof t=="object"&&!Array.isArray(t)?{...t,_cid:n}:t;return(0,oh.runWithCorrelation)(n,()=>new Promise((i,a)=>{if(!this.socket?.connected){a(new Error("WebSocket not connected"));return}this.socket.emit(e,s,c=>{c.success?i(c):a(new Error(c.error||"Unknown error"))})}))}startHeartbeat(){this.stopHeartbeat(),this.lastPongTime=Date.now(),this.heartbeatTimer=setInterval(()=>{if(!this.socket?.connected){this.stopHeartbeat();return}if(Date.now()-this.lastPongTime>this.HEARTBEAT_INTERVAL+this.HEARTBEAT_TIMEOUT){this.logger.warn("Heartbeat timeout"),this.socket.disconnect();return}this.socket.emit("ping"),this.pongTimer=setTimeout(()=>{this.logger.warn("Pong timeout - server not responding"),this.statusChangeHandler?.("error")},this.HEARTBEAT_TIMEOUT)},this.HEARTBEAT_INTERVAL)}stopHeartbeat(){this.heartbeatTimer&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),this.clearPongTimeout()}clearPongTimeout(){this.pongTimer&&(clearTimeout(this.pongTimer),this.pongTimer=null)}handleTerminalInput(e){let t;if(e.encrypted){let n=this.cryptoService.decryptInput(e.terminalId,e.encrypted);if(!n){this.logger.error("Failed to decrypt terminal input",e.terminalId);return}t=n}else if(e.data)t=Buffer.from(e.data,"base64").toString("utf8");else{this.logger.error("Invalid terminal input payload");return}this.inputHandler?.(e.terminalId,t,e.dbTerminalId)}hasE2ESession(e){return this.cryptoService.hasSession(e)}getReconnectDelay(){let e=Math.min(this.RECONNECT_BASE_DELAY*Math.pow(2,this.reconnectAttempts),this.RECONNECT_MAX_DELAY),t=1+(Math.random()*2-1)*this.RECONNECT_JITTER;return Math.floor(e*t)}scheduleReconnect(){if(this.isManualDisconnect)return;this.stopReconnect();let e=this.getReconnectDelay();if(this.logger.info("Scheduling reconnect",String(this.reconnectAttempts+1),"delay:",String(e)),!this.isOnline){this.statusChangeHandler?.("disconnected"),this.startNetworkCheck();return}this.statusChangeHandler?.("connecting"),this.reconnectTimer=setTimeout(()=>{this.attemptReconnect()},e)}async attemptReconnect(e=!1){if(this.isManualDisconnect||this.socket?.connected)return;let t=await this.authService.hasValidToken();if(!t){if(this.logger.info("Access token expired, attempting refresh"),!await this.authService.refreshAccessToken()){this.logger.info("Token refresh failed, stopping reconnect"),this.stopReconnect(),this.statusChangeHandler?.("disconnected"),this.notification.warn("Session expired. Please log in again."),this.authFailureHandler?.();return}t=!0}this.reconnectAttempts++;try{if(this.socket&&(this.socket.disconnect(),this.socket=null),!e&&!await this.checkNetwork()){this.isOnline=!1,this.scheduleReconnect();return}this.isOnline=!0,await this.connect(),this.reconnectAttempts=0}catch(n){this.logger.warn("Reconnect failed",n),this.statusChangeHandler?.("error"),this.scheduleReconnect()}}stopReconnect(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.stopNetworkCheck()}async checkNetwork(){let e=Date.now();if(e-this.lastNetworkCheck<1e3)return this.isOnline;this.lastNetworkCheck=e;try{let t=`${(0,ih.getApiUrl)(this.config)}/health`,n=new AbortController,s=setTimeout(()=>n.abort(),5e3),i=await fetch(t,{method:"GET",signal:n.signal});return clearTimeout(s),this.logger.debug("Network check OK",String(i.status)),!0}catch{return this.logger.debug("Network check failed (offline)"),!1}}startNetworkCheck(){this.stopNetworkCheck(),this.networkCheckTimer=setInterval(async()=>{if(this.isManualDisconnect){this.stopNetworkCheck();return}if(this.socket?.connected){this.stopNetworkCheck();return}let e=await this.checkNetwork();e&&!this.isOnline?(this.logger.info("Network restored! Triggering immediate reconnect"),this.isOnline=!0,this.stopNetworkCheck(),this.reconnectAttempts=0,this.attemptReconnect()):e&&this.isOnline?(this.stopNetworkCheck(),this.attemptReconnect()):e||(this.isOnline=!1)},this.NETWORK_CHECK_INTERVAL)}stopNetworkCheck(){this.networkCheckTimer&&(clearInterval(this.networkCheckTimer),this.networkCheckTimer=null)}};$i.WebSocketService=Za});var fh=F(rr=>{"use strict";var W_=rr&&rr.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),H_=rr&&rr.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),ec=rr&&rr.__importStar||(function(){var r=function(e){return r=Object.getOwnPropertyNames||function(t){var n=[];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(n[n.length]=s);return n},r(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=r(e),s=0;s<n.length;s++)n[s]!=="default"&&W_(t,e,n[s]);return H_(t,e),t}})();Object.defineProperty(rr,"__esModule",{value:!0});rr.FileTransferService=void 0;var zi=ec(require("fs")),V_=ec(require("path")),ch=ec(require("crypto")),je=Rr(),Qa=class{socket=null;activeTransfers=new Map;instanceId="";logger;fallbackDir;constructor(e,t="/tmp"){this.logger=e,this.fallbackDir=t}attach(e,t){this.socket=e,this.instanceId=t,this.setupEventHandlers(),this.logger.info("FileTransferService attached")}detach(){this.socket=null;for(let[e]of this.activeTransfers)this.cancelTransfer(e,"Disconnected");this.logger.info("FileTransferService detached")}async sendFile(e,t,n,s,i){let a=zi.readFileSync(t),c=t.split("/").pop()||"file";return this.initAndSendChunks(e,a,c,{mimeType:this.getMimeType(c),requestId:i,onProgress:n,onComplete:s})}async sendBuffer(e,t,n,s,i){return this.initAndSendChunks(e,t,n,{mimeType:s,purpose:i?.purpose,viewMetadata:i?.viewMetadata,requestId:i?.requestId,onProgress:i?.onProgress,onComplete:i?.onComplete})}async initAndSendChunks(e,t,n,s){if(!this.socket)throw new Error("Socket not connected");let i=t.length,a=(0,je.calculateTotalChunks)(i),c=this.calculateChecksum(t),u=ch.randomUUID(),d={id:u,terminalId:e,filename:n,size:i,totalChunks:a,direction:je.TransferDirection.DOWNLOAD,status:je.TransferStatus.PENDING,deliveredChunks:new Set,pendingChunks:new Map,checksum:c,checksumAlgorithm:"sha256",onProgress:s.onProgress?(m,y)=>s.onProgress(u,m,y):void 0,onComplete:s.onComplete?(m,y)=>s.onComplete(u,m,y):void 0,ackTimeouts:new Map};d.chunks=[];for(let m=0;m<a;m++){let y=m*je.CHUNK_SIZE,w=Math.min(y+je.CHUNK_SIZE,i);d.chunks.push(t.subarray(y,w))}this.activeTransfers.set(u,d);let g={transferId:u,terminalId:e,filename:n,size:i,totalChunks:a,mimeType:s.mimeType||"application/octet-stream",checksum:c,direction:je.TransferDirection.DOWNLOAD,instanceId:this.instanceId};return s.requestId&&(g.requestId=s.requestId),s.purpose&&(g.purpose=s.purpose),s.viewMetadata&&(g.viewMetadata=s.viewMetadata),new Promise((m,y)=>{this.socket.emit("file:init",g,w=>{w.accepted?(d.status=je.TransferStatus.ACTIVE,this.startSendingChunks(u),m(u)):(this.activeTransfers.delete(u),y(new Error(w.error||"Transfer rejected")))})})}async receiveFile(e,t,n,s,i,a,c,u="sha256",d,g){let m={id:e,terminalId:t,filename:n,filePath:c,size:s,totalChunks:i,direction:je.TransferDirection.UPLOAD,status:je.TransferStatus.ACTIVE,deliveredChunks:new Set,pendingChunks:new Map,chunks:new Array(i).fill(null),checksum:a,checksumAlgorithm:u,onProgress:d?(y,w)=>d(e,y,w):void 0,onComplete:g?(y,w)=>g(e,y,w):void 0,ackTimeouts:new Map};this.activeTransfers.set(e,m)}cancelTransfer(e,t){let n=this.activeTransfers.get(e);if(n){for(let s of n.ackTimeouts.values())clearTimeout(s);if(n.status=je.TransferStatus.CANCELLED,n.onComplete?.(!1,t),this.socket){let s={transferId:e,reason:t};this.socket.emit("file:cancel",s)}this.activeTransfers.delete(e)}}async resumeTransfer(e){let t=this.activeTransfers.get(e);!t||!this.socket||this.socket.emit("file:sync",{transferId:e},n=>{if(n.status===je.TransferStatus.EXPIRED){t.onComplete?.(!1,"Transfer expired"),this.activeTransfers.delete(e);return}if(n.deliveredChunks)for(let s of n.deliveredChunks)t.deliveredChunks.add(s);if(t.direction===je.TransferDirection.DOWNLOAD&&n.missingChunks){t.status=je.TransferStatus.ACTIVE;for(let s of n.missingChunks)this.sendChunk(t,s)}})}getTransferStatus(e){return this.activeTransfers.get(e)?.status??null}getTransferProgress(e){let t=this.activeTransfers.get(e);return t?{delivered:t.deliveredChunks.size,total:t.totalChunks}:null}setupEventHandlers(){this.socket&&(this.socket.on("file:chunk",e=>{this.handleIncomingChunk(e)}),this.socket.on("file:chunk:ack",e=>{this.handleChunkAck(e)}),this.socket.on("file:complete",e=>{this.handleComplete(e)}),this.socket.on("file:progress",e=>{this.handleProgress(e)}),this.socket.on("file:init",(e,t)=>{this.handleIncomingFileInit(e,t)}),this.socket.on("file:cancel",e=>{let t=this.activeTransfers.get(e.transferId);if(t){for(let n of t.ackTimeouts.values())clearTimeout(n);t.status=je.TransferStatus.CANCELLED,t.onComplete?.(!1,e.reason||"Cancelled by remote"),this.activeTransfers.delete(e.transferId)}}))}startSendingChunks(e){let t=this.activeTransfers.get(e);if(!(!t||!t.chunks))for(let n=0;n<Math.min(je.WINDOW_SIZE,t.totalChunks);n++)t.deliveredChunks.has(n)||this.sendChunk(t,n)}sendChunk(e,t){if(!this.socket||!e.chunks)return;let n=e.chunks[t];if(!n)return;let s=e.pendingChunks.get(t),i={seq:t,data:n,retries:s?s.retries:0,sentAt:Date.now()};e.pendingChunks.set(t,i);let a={transferId:e.id,seq:t,data:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength)};this.socket.emit("file:chunk",a,u=>{u&&!u.success&&this.cancelTransfer(e.id,u.error||"Server rejected chunk")});let c=setTimeout(()=>{this.handleAckTimeout(e.id,t)},je.ACK_TIMEOUT_MS);e.ackTimeouts.set(t,c)}handleChunkAck(e){let t=this.activeTransfers.get(e.transferId);if(!t||t.status===je.TransferStatus.COMPLETED)return;let n=t.ackTimeouts.get(e.seq);n&&(clearTimeout(n),t.ackTimeouts.delete(e.seq)),t.deliveredChunks.add(e.seq),t.pendingChunks.delete(e.seq),t.onProgress?.(t.deliveredChunks.size,t.totalChunks);let s=e.seq+je.WINDOW_SIZE;s<t.totalChunks&&!t.deliveredChunks.has(s)&&this.sendChunk(t,s),t.deliveredChunks.size===t.totalChunks&&this.finishSending(t)}handleAckTimeout(e,t){let n=this.activeTransfers.get(e);if(!n)return;let s=n.pendingChunks.get(t);s&&(s.retries<je.MAX_RETRIES?(s.retries++,this.sendChunk(n,t)):this.cancelTransfer(e,"Max retries exceeded"))}finishSending(e){if(!this.socket)return;e.status=je.TransferStatus.COMPLETED;let t={transferId:e.id,checksum:e.checksum};this.socket.emit("file:end",t)}handleIncomingChunk(e){let t=this.activeTransfers.get(e.transferId);if(!(!t||!t.chunks)){if(t.chunks[e.seq]=Buffer.from(e.data),t.deliveredChunks.add(e.seq),this.socket){let n={transferId:e.transferId,seq:e.seq};this.socket.emit("file:chunk:ack",n)}t.onProgress?.(t.deliveredChunks.size,t.totalChunks),t.deliveredChunks.size===t.totalChunks&&this.finishReceiving(t)}}finishReceiving(e){if(!e.chunks||!e.filePath)return;let t=Buffer.concat(e.chunks);if(this.calculateChecksum(t,e.checksumAlgorithm)!==e.checksum){e.status=je.TransferStatus.FAILED,e.onComplete?.(!1,"Checksum mismatch"),this.socket&&this.socket.emit("file:complete",{transferId:e.id,success:!1,error:"Checksum mismatch"});return}try{let s=V_.dirname(e.filePath);zi.existsSync(s)||zi.mkdirSync(s,{recursive:!0}),zi.writeFileSync(e.filePath,t),e.status=je.TransferStatus.COMPLETED,e.onComplete?.(!0),this.socket&&this.socket.emit("file:complete",{transferId:e.id,success:!0})}catch(s){let i=s instanceof Error?s.message:String(s);e.status=je.TransferStatus.FAILED,e.onComplete?.(!1,`Failed to save file: ${i}`),this.socket&&this.socket.emit("file:complete",{transferId:e.id,success:!1,error:`Failed to save file: ${i}`})}this.activeTransfers.delete(e.id)}handleComplete(e){let t=this.activeTransfers.get(e.transferId);if(t){e.success?(t.status=je.TransferStatus.COMPLETED,t.onComplete?.(!0)):(t.status=je.TransferStatus.FAILED,t.onComplete?.(!1,e.error));for(let n of t.ackTimeouts.values())clearTimeout(n);this.activeTransfers.delete(e.transferId)}}handleProgress(e){let t=this.activeTransfers.get(e.transferId);t&&t.onProgress?.(e.deliveredChunks,e.totalChunks)}handleIncomingFileInit(e,t){let s=`${e.targetPath||this.fallbackDir}/${e.filename}`;this.receiveFile(e.transferId,e.terminalId,e.filename,e.size,e.totalChunks,e.checksum,s,e.checksumAlgorithm||"sha256").then(()=>t({accepted:!0})).catch(i=>t({accepted:!1,error:i.message}))}calculateChecksum(e,t="sha256"){return t==="fnv1a"?this.fnv1aHash(e):ch.createHash("sha256").update(e).digest("hex")}fnv1aHash(e){let t=2166136261;for(let s=0;s<e.length;s++)t^=e[s],t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0").repeat(8)}getMimeType(e){let t=e.split(".").pop()?.toLowerCase();return{txt:"text/plain",json:"application/json",js:"application/javascript",ts:"application/typescript",html:"text/html",css:"text/css",md:"text/markdown",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",pdf:"application/pdf",zip:"application/zip",tar:"application/x-tar",gz:"application/gzip"}[t||""]||"application/octet-stream"}};rr.FileTransferService=Qa});var ac=F((xw,Xi)=>{function hh(r){return Array.isArray(r)?r:[r]}var K_=void 0,rc="",uh=" ",tc="\\",$_=/^\s+$/,z_=/(?:[^\\]|^)\\$/,G_=/^\\!/,Y_=/^\\#/,X_=/\r?\n/g,J_=/^\.{0,2}\/|^\.{1,2}$/,Z_=/\/$/,Un="/",dh="node-ignore";typeof Symbol<"u"&&(dh=Symbol.for("node-ignore"));var ph=dh,qn=(r,e,t)=>(Object.defineProperty(r,e,{value:t}),t),Q_=/([0-z])-([0-z])/g,gh=()=>!1,ey=r=>r.replace(Q_,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:rc),ty=r=>{let{length:e}=r;return r.slice(0,e-e%2)},ry=[[/^\uFEFF/,()=>rc],[/((?:\\\\)*?)(\\?\s+)$/,(r,e,t)=>e+(t.indexOf("\\")===0?uh:rc)],[/(\\+?)\s/g,(r,e)=>{let{length:t}=e;return e.slice(0,t-t%2)+uh}],[/[\\$.|*+(){^]/g,r=>`\\${r}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(r,e,t)=>e+6<t.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(r,e,t)=>{let n=t.replace(/\\\*/g,"[^\\/]*");return e+n}],[/\\\\\\(?=[$.|*+(){^])/g,()=>tc],[/\\\\/g,()=>tc],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(r,e,t,n,s)=>e===tc?`\\[${t}${ty(n)}${s}`:s==="]"&&n.length%2===0?`[${ey(t)}${n}]`:"[]"],[/(?:[^*])$/,r=>/\/$/.test(r)?`${r}$`:`${r}(?=$|\\/$)`]],ny=/(^|\\\/)?\\\*$/,Es="regex",Gi="checkRegex",lh="_",sy={[Es](r,e){return`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`},[Gi](r,e){return`${e?`${e}[^/]*`:"[^/]*"}(?=$|\\/$)`}},iy=r=>ry.reduce((e,[t,n])=>e.replace(t,n.bind(r)),r),Yi=r=>typeof r=="string",oy=r=>r&&Yi(r)&&!$_.test(r)&&!z_.test(r)&&r.indexOf("#")!==0,ay=r=>r.split(X_).filter(Boolean),nc=class{constructor(e,t,n,s,i,a){this.pattern=e,this.mark=t,this.negative=i,qn(this,"body",n),qn(this,"ignoreCase",s),qn(this,"regexPrefix",a)}get regex(){let e=lh+Es;return this[e]?this[e]:this._make(Es,e)}get checkRegex(){let e=lh+Gi;return this[e]?this[e]:this._make(Gi,e)}_make(e,t){let n=this.regexPrefix.replace(ny,sy[e]),s=this.ignoreCase?new RegExp(n,"i"):new RegExp(n);return qn(this,t,s)}},cy=({pattern:r,mark:e},t)=>{let n=!1,s=r;s.indexOf("!")===0&&(n=!0,s=s.substr(1)),s=s.replace(G_,"!").replace(Y_,"#");let i=iy(s);return new nc(r,e,s,t,n,i)},sc=class{constructor(e){this._ignoreCase=e,this._rules=[]}_add(e){if(e&&e[ph]){this._rules=this._rules.concat(e._rules._rules),this._added=!0;return}if(Yi(e)&&(e={pattern:e}),oy(e.pattern)){let t=cy(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,hh(Yi(e)?ay(e):e).forEach(this._add,this),this._added}test(e,t,n){let s=!1,i=!1,a;this._rules.forEach(u=>{let{negative:d}=u;i===d&&s!==i||d&&!s&&!i&&!t||!u[n].test(e)||(s=!d,i=d,a=d?K_:u)});let c={ignored:s,unignored:i};return a&&(c.rule=a),c}},fy=(r,e)=>{throw new e(r)},yr=(r,e,t)=>Yi(r)?r?yr.isNotRelative(r)?t(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:t("path must not be empty",TypeError):t(`path must be a string, but got \`${e}\``,TypeError),mh=r=>J_.test(r);yr.isNotRelative=mh;yr.convert=r=>r;var ic=class{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){qn(this,ph,!0),this._rules=new sc(t),this._strictPathCheck=!n,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(e){return this._rules.add(e)&&this._initCache(),this}addPattern(e){return this.add(e)}_test(e,t,n,s){let i=e&&yr.convert(e);return yr(i,e,this._strictPathCheck?fy:gh),this._t(i,t,n,s)}checkIgnore(e){if(!Z_.test(e))return this.test(e);let t=e.split(Un).filter(Boolean);if(t.pop(),t.length){let n=this._t(t.join(Un)+Un,this._testCache,!0,t);if(n.ignored)return n}return this._rules.test(e,!1,Gi)}_t(e,t,n,s){if(e in t)return t[e];if(s||(s=e.split(Un).filter(Boolean)),s.pop(),!s.length)return t[e]=this._rules.test(e,n,Es);let i=this._t(s.join(Un)+Un,t,n,s);return t[e]=i.ignored?i:this._rules.test(e,n,Es)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return hh(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},oc=r=>new ic(r),uy=r=>yr(r&&yr.convert(r),r,gh),_h=()=>{let r=t=>/^\\\\\?\\/.test(t)||/["<>|\u0000-\u001F]+/u.test(t)?t:t.replace(/\\/g,"/");yr.convert=r;let e=/^[a-z]:\//i;yr.isNotRelative=t=>e.test(t)||mh(t)};typeof process<"u"&&process.platform==="win32"&&_h();Xi.exports=oc;oc.default=oc;Xi.exports.isPathValid=uy;qn(Xi.exports,Symbol.for("setupWindows"),_h)});var vh=F(Dt=>{"use strict";var ly=Dt&&Dt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),hy=Dt&&Dt.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),yh=Dt&&Dt.__importStar||(function(){var r=function(e){return r=Object.getOwnPropertyNames||function(t){var n=[];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(n[n.length]=s);return n},r(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=r(e),s=0;s<n.length;s++)n[s]!=="default"&&ly(t,e,n[s]);return hy(t,e),t}})(),dy=Dt&&Dt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Dt,"__esModule",{value:!0});Dt.FileListService=void 0;var ws=yh(require("path")),cc=yh(require("fs/promises")),py=dy(ac()),fc=Rr(),gy=["node_modules",".pnpm","vendor",".git","dist","build","out",".next",".nuxt",".output",".cache",".turbo",".idea",".vscode",".DS_Store","Thumbs.db"],uc=class{ignoreFilter;workspaceRoot;onResponseCallback=null;logger;constructor(e,t){this.logger=e,this.workspaceRoot=t,this.ignoreFilter=(0,py.default)(),this.ignoreFilter.add(gy),this.workspaceRoot&&this.loadGitignore(),this.logger.info("FileListService initialized",t||"null")}async loadGitignore(){if(!this.workspaceRoot)return;let e=ws.join(this.workspaceRoot,".gitignore");try{let t=await cc.readFile(e,"utf-8");this.ignoreFilter.add(t)}catch{}}onResponse(e){this.onResponseCallback=e}async handleListRequest(e){if(!this.workspaceRoot){this.sendResponse({requestId:e.requestId,path:e.path,entries:[],error:"No workspace root"});return}try{let t=this.resolvePath(e.path),n=await this.listDirectory(t,e.path);this.sendResponse({requestId:e.requestId,path:e.path,entries:n})}catch(t){this.logger.error("Failed to list directory",String(t)),this.sendResponse({requestId:e.requestId,path:e.path,entries:[],error:t instanceof Error?t.message:"Unknown error"})}}async listDirectory(e,t){let n=await cc.readdir(e,{withFileTypes:!0}),s=[];for(let i of n){let a=t==="."||t===""?i.name:ws.join(t,i.name);if(this.shouldHide(a,i.isDirectory()))continue;let c=ws.join(e,i.name),u={name:i.name,path:a,type:i.isDirectory()?fc.FileEntryType.DIRECTORY:fc.FileEntryType.FILE};if(!i.isDirectory())try{let d=await cc.stat(c);u.size=d.size,u.modified=d.mtime.toISOString()}catch{}s.push(u)}return s.sort((i,a)=>i.type!==a.type?i.type===fc.FileEntryType.DIRECTORY?-1:1:i.name.localeCompare(a.name))}shouldHide(e,t){let n=e.split(ws.sep).join("/"),s=t?`${n}/`:n;return this.ignoreFilter.ignores(s)}resolvePath(e){if(!this.workspaceRoot)throw new Error("No workspace root");if(e==="."||e==="")return this.workspaceRoot;let t=ws.join(this.workspaceRoot,e);if(!t.startsWith(this.workspaceRoot))throw new Error("Path outside workspace");return t}sendResponse(e){this.onResponseCallback?.(e)}dispose(){this.onResponseCallback=null}};Dt.FileListService=uc});var wh=F(nr=>{"use strict";var my=nr&&nr.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),_y=nr&&nr.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),Eh=nr&&nr.__importStar||(function(){var r=function(e){return r=Object.getOwnPropertyNames||function(t){var n=[];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(n[n.length]=s);return n},r(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=r(e),s=0;s<n.length;s++)n[s]!=="default"&&my(t,e,n[s]);return _y(t,e),t}})();Object.defineProperty(nr,"__esModule",{value:!0});nr.FileTrackerService=void 0;var lc=Eh(require("path")),cn=Eh(require("fs/promises")),yy=require("child_process"),vy=require("util"),Wt=Rr(),hc=(0,vy.promisify)(yy.exec),dc={toolStart:/⏺\s*(Write|Edit|NotebookEdit)\s*\(\s*(?:file_path|notebook_path)\s*=\s*"([^"]+)"/,toolSuccess:/[✓✔]\s*(?:Wrote|Edited|Updated|Created)\s+([^\s\n]+)/,toolError:/[✗✘]\s*(?:Failed|Error)/i},pc=class{trackedFiles=new Map;pendingToolCalls=new Map;outputBuffers=new Map;workspaceRoot;onFileChangedCallback=null;onFileViewTransferCallback=null;logger;constructor(e,t){this.logger=e,this.workspaceRoot=t}onFileChanged(e){this.onFileChangedCallback=e}onFileViewTransfer(e){this.onFileViewTransferCallback=e}async processOutput(e,t){let n=this.outputBuffers.get(e)||"";n+=t,n.length>10240&&(n=n.slice(-10240)),this.outputBuffers.set(e,n);try{await this.parseToolCalls(e,n)}catch(s){this.logger.error("Error parsing tool calls",s)}}async parseToolCalls(e,t){let n=this.stripAnsi(t),s=n.match(dc.toolStart);if(s){let a=s[1],c=s[2],u=`${a}_${Date.now()}_${c}`;this.pendingToolCalls.has(u)||await this.handleToolStart(e,u,a,{file_path:c})}let i=n.match(dc.toolSuccess);if(i){let a=i[1];for(let[c,u]of this.pendingToolCalls)if(u.filePath===a||a.endsWith(u.filePath)||u.filePath.endsWith(a)){await this.handleToolEnd(e,c,u.toolName,"success");break}}if(dc.toolError.test(n))for(let[a,c]of this.pendingToolCalls)await this.handleToolEnd(e,a,c.toolName,"error")}stripAnsi(e){return e.replace(/\x1b\[[0-9;?]*[a-zA-Z]/g,"").replace(/\x1b\][^\x07]*\x07/g,"").replace(/\x1b[()][AB012]/g,"").replace(/\x1b[=>]/g,"").replace(/\x1b[78DMEHc]/g,"")}async handleToolStart(e,t,n,s){if(!this.isFileModifyingTool(n))return;let i=this.extractFilePath(n,s);if(!i)return;let a=this.resolveFilePath(i),c={toolId:t,toolName:n,filePath:i,timestamp:new Date().toISOString()};this.pendingToolCalls.set(t,c);let u;try{u=await cn.readFile(a,"utf-8")}catch{u=void 0}let d={path:i,changeType:u===void 0?Wt.FileChangeType.CREATE:Wt.FileChangeType.MODIFY,toolName:n,toolId:t,timestamp:c.timestamp,previousContent:u},g=this.trackedFiles.get(e)||[];g.push(d),this.trackedFiles.set(e,g)}async handleToolEnd(e,t,n,s){if(!this.isFileModifyingTool(n)||!this.pendingToolCalls.get(t))return;if(this.pendingToolCalls.delete(t),s==="error"){let g=this.trackedFiles.get(e)||[],m=g.findIndex(y=>y.toolId===t);m!==-1&&g.splice(m,1);return}let c=(this.trackedFiles.get(e)||[]).find(g=>g.toolId===t);if(!c)return;let u=this.resolveFilePath(c.path);try{let g=await cn.stat(u);c.size=g.size}catch{c.changeType=Wt.FileChangeType.DELETE,c.size=void 0}let d={path:c.path,changeType:c.changeType,timestamp:new Date().toISOString(),source:"tool-call",toolName:c.toolName,toolId:c.toolId,size:c.size};this.onFileChangedCallback?.(e,d)}async handleViewRequest(e,t){let n=this.resolveFilePath(t.path),s=this.getViewableMimeType(t.path);if(s&&this.onFileViewTransferCallback){try{let a=await cn.readFile(n),c={requestId:t.requestId,path:t.path,viewType:"content",mimeType:s};this.onFileViewTransferCallback(e,Buffer.from(a),c)}catch(a){let c={requestId:t.requestId,path:t.path,viewType:"content",mimeType:s,error:a instanceof Error?a.message:"Unknown error"};this.onFileViewTransferCallback(e,Buffer.alloc(0),c)}return}let i;try{t.type===Wt.FileViewType.CONTENT?i=await this.getFileContent(t,n):i=await this.getFileDiff(e,t,n)}catch(a){i={requestId:t.requestId,path:t.path,type:t.type,error:a instanceof Error?a.message:"Unknown error"}}if(this.onFileViewTransferCallback){let a={requestId:t.requestId,path:t.path,viewType:i.type===Wt.FileViewType.CONTENT?"content":"diff",language:i.language,truncated:i.truncated,error:i.error},c=Buffer.from(i.content||"","utf-8");this.onFileViewTransferCallback(e,c,a)}}getViewableMimeType(e){let t=e.split(".").pop()?.toLowerCase();return{png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",pdf:"application/pdf"}[t||""]||null}async getFileContent(e,t){let n=e.maxSize||1048576,s=await cn.stat(t),i=await cn.readFile(t,"utf-8"),a=!1,c=i;return i.length>n&&(c=i.slice(0,n),a=!0),{requestId:e.requestId,path:e.path,type:Wt.FileViewType.CONTENT,content:c,language:(0,Wt.getLanguageFromPath)(e.path),size:s.size,truncated:a}}async getFileDiff(e,t,n){let s=t.diffBase||Wt.DiffBase.GIT,i;return s===Wt.DiffBase.GIT?i=await this.getGitDiff(n):i=await this.getPreviousDiff(e,t.path,n),{requestId:t.requestId,path:t.path,type:Wt.FileViewType.DIFF,content:i,language:"diff"}}async getGitDiff(e){if(!this.workspaceRoot)throw new Error("No workspace root");try{let{stdout:t}=await hc(`git diff --cached -- "${e}"`,{cwd:this.workspaceRoot});if(t.trim())return t;let{stdout:n}=await hc(`git diff -- "${e}"`,{cwd:this.workspaceRoot});if(n.trim())return n;let{stdout:s}=await hc(`git status --porcelain -- "${e}"`,{cwd:this.workspaceRoot});if(s.startsWith("??")||s.startsWith("A ")){let a=(await cn.readFile(e,"utf-8")).split(`
27
27
  `),c=lc.relative(this.workspaceRoot,e);return[`diff --git a/${c} b/${c}`,"new file mode 100644","--- /dev/null",`+++ b/${c}`,`@@ -0,0 +1,${a.length} @@`,...a.map(u=>`+${u}`)].join(`
28
28
  `)}return"(no changes)"}catch{throw new Error("Git not available")}}async getPreviousDiff(e,t,n){let a=(this.trackedFiles.get(e)||[]).find(d=>d.path===t&&d.previousContent!==void 0)?.previousContent||"",c;try{c=await cn.readFile(n,"utf-8")}catch{c=""}let u=(0,Wt.createSimpleDiff)(a,c,t);return this.diffContentToUnifiedText(u)}diffContentToUnifiedText(e){let t=[];t.push(`--- a/${e.path}`),t.push(`+++ b/${e.path}`);for(let n of e.hunks){t.push(`@@ -${n.oldStart},${n.oldLines} +${n.newStart},${n.newLines} @@`);for(let s of n.lines)switch(s.type){case"add":t.push(`+${s.content}`);break;case"remove":t.push(`-${s.content}`);break;case"context":t.push(` ${s.content}`);break}}return t.join(`
29
- `)}clearTerminal(e){this.trackedFiles.delete(e),this.outputBuffers.delete(e)}getChangedFiles(e){return(this.trackedFiles.get(e)||[]).map(n=>({path:n.path,changeType:n.changeType,timestamp:n.timestamp,source:"tool-call",toolName:n.toolName,toolId:n.toolId,size:n.size}))}isFileModifyingTool(e){return["Write","Edit","NotebookEdit"].includes(e)}extractFilePath(e,t){return t?e==="Write"||e==="Edit"?t.file_path||null:e==="NotebookEdit"&&t.notebook_path||null:null}resolveFilePath(e){return lc.isAbsolute(e)?e:this.workspaceRoot?lc.join(this.workspaceRoot,e):e}dispose(){this.trackedFiles.clear(),this.pendingToolCalls.clear(),this.onFileChangedCallback=null,this.onFileViewTransferCallback=null}};nr.FileTrackerService=pc});var wh=F(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.FileTrackerService=ut.FileListService=ut.FileTransferService=ut.WebSocketService=ut.StatusDetector=ut.AuthService=ut.CryptoService=void 0;var _y=zf();Object.defineProperty(ut,"CryptoService",{enumerable:!0,get:function(){return _y.CryptoService}});var yy=$f();Object.defineProperty(ut,"AuthService",{enumerable:!0,get:function(){return yy.AuthService}});var vy=Gf();Object.defineProperty(ut,"StatusDetector",{enumerable:!0,get:function(){return vy.StatusDetector}});var Ey=oh();Object.defineProperty(ut,"WebSocketService",{enumerable:!0,get:function(){return Ey.WebSocketService}});var wy=ch();Object.defineProperty(ut,"FileTransferService",{enumerable:!0,get:function(){return wy.FileTransferService}});var by=yh();Object.defineProperty(ut,"FileListService",{enumerable:!0,get:function(){return by.FileListService}});var xy=Eh();Object.defineProperty(ut,"FileTrackerService",{enumerable:!0,get:function(){return xy.FileTrackerService}})});var bs=F(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.FileTrackerService=Te.FileListService=Te.FileTransferService=Te.WebSocketService=Te.StatusDetector=Te.AuthService=Te.CryptoService=Te.getCurrentCorrelationId=Te.runWithCorrelation=Te.generateCorrelationId=Te.getWsUrl=Te.getApiUrl=Te.CircularBuffer=Te.formatLogLine=Te.shouldLog=Te.LOG_LEVELS=void 0;var gc=lf();Object.defineProperty(Te,"LOG_LEVELS",{enumerable:!0,get:function(){return gc.LOG_LEVELS}});Object.defineProperty(Te,"shouldLog",{enumerable:!0,get:function(){return gc.shouldLog}});Object.defineProperty(Te,"formatLogLine",{enumerable:!0,get:function(){return gc.formatLogLine}});var Wn=pf();Object.defineProperty(Te,"CircularBuffer",{enumerable:!0,get:function(){return Wn.CircularBuffer}});Object.defineProperty(Te,"getApiUrl",{enumerable:!0,get:function(){return Wn.getApiUrl}});Object.defineProperty(Te,"getWsUrl",{enumerable:!0,get:function(){return Wn.getWsUrl}});Object.defineProperty(Te,"generateCorrelationId",{enumerable:!0,get:function(){return Wn.generateCorrelationId}});Object.defineProperty(Te,"runWithCorrelation",{enumerable:!0,get:function(){return Wn.runWithCorrelation}});Object.defineProperty(Te,"getCurrentCorrelationId",{enumerable:!0,get:function(){return Wn.getCurrentCorrelationId}});var fn=wh();Object.defineProperty(Te,"CryptoService",{enumerable:!0,get:function(){return fn.CryptoService}});Object.defineProperty(Te,"AuthService",{enumerable:!0,get:function(){return fn.AuthService}});Object.defineProperty(Te,"StatusDetector",{enumerable:!0,get:function(){return fn.StatusDetector}});Object.defineProperty(Te,"WebSocketService",{enumerable:!0,get:function(){return fn.WebSocketService}});Object.defineProperty(Te,"FileTransferService",{enumerable:!0,get:function(){return fn.FileTransferService}});Object.defineProperty(Te,"FileListService",{enumerable:!0,get:function(){return fn.FileListService}});Object.defineProperty(Te,"FileTrackerService",{enumerable:!0,get:function(){return fn.FileTrackerService}})});var vc=F((Ss,yc)=>{(function(r,e){typeof Ss=="object"&&typeof yc=="object"?yc.exports=e(require("child_process"),require("crypto")):typeof define=="function"&&define.amd?define(["child_process","crypto"],e):typeof Ss=="object"?Ss["electron-machine-id"]=e(require("child_process"),require("crypto")):r["electron-machine-id"]=e(r.child_process,r.crypto)})(Ss,function(r,e){return(function(t){function n(i){if(s[i])return s[i].exports;var a=s[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}var s={};return n.m=t,n.c=s,n.p="",n(0)})([function(t,n,s){t.exports=s(34)},function(t,n,s){var i=s(29)("wks"),a=s(33),c=s(2).Symbol,u=typeof c=="function",d=t.exports=function(g){return i[g]||(i[g]=u&&c[g]||(u?c:a)("Symbol."+g))};d.store=i},function(t,n){var s=t.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();typeof __g=="number"&&(__g=s)},function(t,n,s){var i=s(9);t.exports=function(a){if(!i(a))throw TypeError(a+" is not an object!");return a}},function(t,n,s){t.exports=!s(24)(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7})},function(t,n,s){var i=s(12),a=s(17);t.exports=s(4)?function(c,u,d){return i.f(c,u,a(1,d))}:function(c,u,d){return c[u]=d,c}},function(t,n){var s=t.exports={version:"2.4.0"};typeof __e=="number"&&(__e=s)},function(t,n,s){var i=s(14);t.exports=function(a,c,u){if(i(a),c===void 0)return a;switch(u){case 1:return function(d){return a.call(c,d)};case 2:return function(d,g){return a.call(c,d,g)};case 3:return function(d,g,m){return a.call(c,d,g,m)}}return function(){return a.apply(c,arguments)}}},function(t,n){var s={}.hasOwnProperty;t.exports=function(i,a){return s.call(i,a)}},function(t,n){t.exports=function(s){return typeof s=="object"?s!==null:typeof s=="function"}},function(t,n){t.exports={}},function(t,n){var s={}.toString;t.exports=function(i){return s.call(i).slice(8,-1)}},function(t,n,s){var i=s(3),a=s(26),c=s(32),u=Object.defineProperty;n.f=s(4)?Object.defineProperty:function(d,g,m){if(i(d),g=c(g,!0),i(m),a)try{return u(d,g,m)}catch{}if("get"in m||"set"in m)throw TypeError("Accessors not supported!");return"value"in m&&(d[g]=m.value),d}},function(t,n,s){var i=s(42),a=s(15);t.exports=function(c){return i(a(c))}},function(t,n){t.exports=function(s){if(typeof s!="function")throw TypeError(s+" is not a function!");return s}},function(t,n){t.exports=function(s){if(s==null)throw TypeError("Can't call method on "+s);return s}},function(t,n,s){var i=s(9),a=s(2).document,c=i(a)&&i(a.createElement);t.exports=function(u){return c?a.createElement(u):{}}},function(t,n){t.exports=function(s,i){return{enumerable:!(1&s),configurable:!(2&s),writable:!(4&s),value:i}}},function(t,n,s){var i=s(12).f,a=s(8),c=s(1)("toStringTag");t.exports=function(u,d,g){u&&!a(u=g?u:u.prototype,c)&&i(u,c,{configurable:!0,value:d})}},function(t,n,s){var i=s(29)("keys"),a=s(33);t.exports=function(c){return i[c]||(i[c]=a(c))}},function(t,n){var s=Math.ceil,i=Math.floor;t.exports=function(a){return isNaN(a=+a)?0:(a>0?i:s)(a)}},function(t,n,s){var i=s(11),a=s(1)("toStringTag"),c=i((function(){return arguments})())=="Arguments",u=function(d,g){try{return d[g]}catch{}};t.exports=function(d){var g,m,y;return d===void 0?"Undefined":d===null?"Null":typeof(m=u(g=Object(d),a))=="string"?m:c?i(g):(y=i(g))=="Object"&&typeof g.callee=="function"?"Arguments":y}},function(t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,n,s){var i=s(2),a=s(6),c=s(7),u=s(5),d="prototype",g=function(m,y,w){var S,T,V,ge=m&g.F,J=m&g.G,A=m&g.S,R=m&g.P,ee=m&g.B,j=m&g.W,Z=J?a:a[y]||(a[y]={}),ce=Z[d],ie=J?i:A?i[y]:(i[y]||{})[d];J&&(w=y);for(S in w)T=!ge&&ie&&ie[S]!==void 0,T&&S in Z||(V=T?ie[S]:w[S],Z[S]=J&&typeof ie[S]!="function"?w[S]:ee&&T?c(V,i):j&&ie[S]==V?(function(_e){var Ye=function(Je,ve,He){if(this instanceof _e){switch(arguments.length){case 0:return new _e;case 1:return new _e(Je);case 2:return new _e(Je,ve)}return new _e(Je,ve,He)}return _e.apply(this,arguments)};return Ye[d]=_e[d],Ye})(V):R&&typeof V=="function"?c(Function.call,V):V,R&&((Z.virtual||(Z.virtual={}))[S]=V,m&g.R&&ce&&!ce[S]&&u(ce,S,V)))};g.F=1,g.G=2,g.S=4,g.P=8,g.B=16,g.W=32,g.U=64,g.R=128,t.exports=g},function(t,n){t.exports=function(s){try{return!!s()}catch{return!0}}},function(t,n,s){t.exports=s(2).document&&document.documentElement},function(t,n,s){t.exports=!s(4)&&!s(24)(function(){return Object.defineProperty(s(16)("div"),"a",{get:function(){return 7}}).a!=7})},function(t,n,s){"use strict";var i=s(28),a=s(23),c=s(57),u=s(5),d=s(8),g=s(10),m=s(45),y=s(18),w=s(52),S=s(1)("iterator"),T=!([].keys&&"next"in[].keys()),V="@@iterator",ge="keys",J="values",A=function(){return this};t.exports=function(R,ee,j,Z,ce,ie,_e){m(j,ee,Z);var Ye,Je,ve,He=function(B){if(!T&&B in Pe)return Pe[B];switch(B){case ge:return function(){return new j(this,B)};case J:return function(){return new j(this,B)}}return function(){return new j(this,B)}},Fe=ee+" Iterator",Qe=ce==J,Ve=!1,Pe=R.prototype,tt=Pe[S]||Pe[V]||ce&&Pe[ce],W=tt||He(ce),we=ce?Qe?He("entries"):W:void 0,P=ee=="Array"&&Pe.entries||tt;if(P&&(ve=w(P.call(new R)),ve!==Object.prototype&&(y(ve,Fe,!0),i||d(ve,S)||u(ve,S,A))),Qe&&tt&&tt.name!==J&&(Ve=!0,W=function(){return tt.call(this)}),i&&!_e||!T&&!Ve&&Pe[S]||u(Pe,S,W),g[ee]=W,g[Fe]=A,ce)if(Ye={values:Qe?W:He(J),keys:ie?W:He(ge),entries:we},_e)for(Je in Ye)Je in Pe||c(Pe,Je,Ye[Je]);else a(a.P+a.F*(T||Ve),ee,Ye);return Ye}},function(t,n){t.exports=!0},function(t,n,s){var i=s(2),a="__core-js_shared__",c=i[a]||(i[a]={});t.exports=function(u){return c[u]||(c[u]={})}},function(t,n,s){var i,a,c,u=s(7),d=s(41),g=s(25),m=s(16),y=s(2),w=y.process,S=y.setImmediate,T=y.clearImmediate,V=y.MessageChannel,ge=0,J={},A="onreadystatechange",R=function(){var j=+this;if(J.hasOwnProperty(j)){var Z=J[j];delete J[j],Z()}},ee=function(j){R.call(j.data)};S&&T||(S=function(j){for(var Z=[],ce=1;arguments.length>ce;)Z.push(arguments[ce++]);return J[++ge]=function(){d(typeof j=="function"?j:Function(j),Z)},i(ge),ge},T=function(j){delete J[j]},s(11)(w)=="process"?i=function(j){w.nextTick(u(R,j,1))}:V?(a=new V,c=a.port2,a.port1.onmessage=ee,i=u(c.postMessage,c,1)):y.addEventListener&&typeof postMessage=="function"&&!y.importScripts?(i=function(j){y.postMessage(j+"","*")},y.addEventListener("message",ee,!1)):i=A in m("script")?function(j){g.appendChild(m("script"))[A]=function(){g.removeChild(this),R.call(j)}}:function(j){setTimeout(u(R,j,1),0)}),t.exports={set:S,clear:T}},function(t,n,s){var i=s(20),a=Math.min;t.exports=function(c){return c>0?a(i(c),9007199254740991):0}},function(t,n,s){var i=s(9);t.exports=function(a,c){if(!i(a))return a;var u,d;if(c&&typeof(u=a.toString)=="function"&&!i(d=u.call(a))||typeof(u=a.valueOf)=="function"&&!i(d=u.call(a))||!c&&typeof(u=a.toString)=="function"&&!i(d=u.call(a)))return d;throw TypeError("Can't convert object to primitive value")}},function(t,n){var s=0,i=Math.random();t.exports=function(a){return"Symbol(".concat(a===void 0?"":a,")_",(++s+i).toString(36))}},function(t,n,s){"use strict";function i(A){return A&&A.__esModule?A:{default:A}}function a(){return process.platform!=="win32"?"":process.arch==="ia32"&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"}function c(A){return(0,S.createHash)("sha256").update(A).digest("hex")}function u(A){switch(V){case"darwin":return A.split("IOPlatformUUID")[1].split(`
30
- `)[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return A.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":return A.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"freebsd":return A.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw new Error("Unsupported platform: "+process.platform)}}function d(A){var R=u((0,w.execSync)(J[V]).toString());return A?R:c(R)}function g(A){return new y.default(function(R,ee){return(0,w.exec)(J[V],{},function(j,Z,ce){if(j)return ee(new Error("Error while obtaining machine id: "+j.stack));var ie=u(Z.toString());return R(A?ie:c(ie))})})}Object.defineProperty(n,"__esModule",{value:!0});var m=s(35),y=i(m);n.machineIdSync=d,n.machineId=g;var w=s(70),S=s(71),T=process,V=T.platform,ge={native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"},J={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:ge[a()]+"\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",linux:"( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",freebsd:"kenv -q smbios.system.uuid || sysctl -n kern.hostuuid"}},function(t,n,s){t.exports={default:s(36),__esModule:!0}},function(t,n,s){s(66),s(68),s(69),s(67),t.exports=s(6).Promise},function(t,n){t.exports=function(){}},function(t,n){t.exports=function(s,i,a,c){if(!(s instanceof i)||c!==void 0&&c in s)throw TypeError(a+": incorrect invocation!");return s}},function(t,n,s){var i=s(13),a=s(31),c=s(62);t.exports=function(u){return function(d,g,m){var y,w=i(d),S=a(w.length),T=c(m,S);if(u&&g!=g){for(;S>T;)if(y=w[T++],y!=y)return!0}else for(;S>T;T++)if((u||T in w)&&w[T]===g)return u||T||0;return!u&&-1}}},function(t,w,s){var i=s(7),a=s(44),c=s(43),u=s(3),d=s(31),g=s(64),m={},y={},w=t.exports=function(S,T,V,ge,J){var A,R,ee,j,Z=J?function(){return S}:g(S),ce=i(V,ge,T?2:1),ie=0;if(typeof Z!="function")throw TypeError(S+" is not iterable!");if(c(Z)){for(A=d(S.length);A>ie;ie++)if(j=T?ce(u(R=S[ie])[0],R[1]):ce(S[ie]),j===m||j===y)return j}else for(ee=Z.call(S);!(R=ee.next()).done;)if(j=a(ee,ce,R.value,T),j===m||j===y)return j};w.BREAK=m,w.RETURN=y},function(t,n){t.exports=function(s,i,a){var c=a===void 0;switch(i.length){case 0:return c?s():s.call(a);case 1:return c?s(i[0]):s.call(a,i[0]);case 2:return c?s(i[0],i[1]):s.call(a,i[0],i[1]);case 3:return c?s(i[0],i[1],i[2]):s.call(a,i[0],i[1],i[2]);case 4:return c?s(i[0],i[1],i[2],i[3]):s.call(a,i[0],i[1],i[2],i[3])}return s.apply(a,i)}},function(t,n,s){var i=s(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return i(a)=="String"?a.split(""):Object(a)}},function(t,n,s){var i=s(10),a=s(1)("iterator"),c=Array.prototype;t.exports=function(u){return u!==void 0&&(i.Array===u||c[a]===u)}},function(t,n,s){var i=s(3);t.exports=function(a,c,u,d){try{return d?c(i(u)[0],u[1]):c(u)}catch(m){var g=a.return;throw g!==void 0&&i(g.call(a)),m}}},function(t,n,s){"use strict";var i=s(49),a=s(17),c=s(18),u={};s(5)(u,s(1)("iterator"),function(){return this}),t.exports=function(d,g,m){d.prototype=i(u,{next:a(1,m)}),c(d,g+" Iterator")}},function(t,n,s){var i=s(1)("iterator"),a=!1;try{var c=[7][i]();c.return=function(){a=!0},Array.from(c,function(){throw 2})}catch{}t.exports=function(u,d){if(!d&&!a)return!1;var g=!1;try{var m=[7],y=m[i]();y.next=function(){return{done:g=!0}},m[i]=function(){return y},u(m)}catch{}return g}},function(t,n){t.exports=function(s,i){return{value:i,done:!!s}}},function(t,n,s){var i=s(2),a=s(30).set,c=i.MutationObserver||i.WebKitMutationObserver,u=i.process,d=i.Promise,g=s(11)(u)=="process";t.exports=function(){var m,y,w,S=function(){var J,A;for(g&&(J=u.domain)&&J.exit();m;){A=m.fn,m=m.next;try{A()}catch(R){throw m?w():y=void 0,R}}y=void 0,J&&J.enter()};if(g)w=function(){u.nextTick(S)};else if(c){var T=!0,V=document.createTextNode("");new c(S).observe(V,{characterData:!0}),w=function(){V.data=T=!T}}else if(d&&d.resolve){var ge=d.resolve();w=function(){ge.then(S)}}else w=function(){a.call(i,S)};return function(J){var A={fn:J,next:void 0};y&&(y.next=A),m||(m=A,w()),y=A}}},function(t,n,s){var i=s(3),a=s(50),c=s(22),u=s(19)("IE_PROTO"),d=function(){},g="prototype",m=function(){var y,w=s(16)("iframe"),S=c.length,T=">";for(w.style.display="none",s(25).appendChild(w),w.src="javascript:",y=w.contentWindow.document,y.open(),y.write("<script>document.F=Object</script"+T),y.close(),m=y.F;S--;)delete m[g][c[S]];return m()};t.exports=Object.create||function(y,w){var S;return y!==null?(d[g]=i(y),S=new d,d[g]=null,S[u]=y):S=m(),w===void 0?S:a(S,w)}},function(t,n,s){var i=s(12),a=s(3),c=s(54);t.exports=s(4)?Object.defineProperties:function(u,d){a(u);for(var g,m=c(d),y=m.length,w=0;y>w;)i.f(u,g=m[w++],d[g]);return u}},function(t,n,s){var i=s(55),a=s(17),c=s(13),u=s(32),d=s(8),g=s(26),m=Object.getOwnPropertyDescriptor;n.f=s(4)?m:function(y,w){if(y=c(y),w=u(w,!0),g)try{return m(y,w)}catch{}if(d(y,w))return a(!i.f.call(y,w),y[w])}},function(t,n,s){var i=s(8),a=s(63),c=s(19)("IE_PROTO"),u=Object.prototype;t.exports=Object.getPrototypeOf||function(d){return d=a(d),i(d,c)?d[c]:typeof d.constructor=="function"&&d instanceof d.constructor?d.constructor.prototype:d instanceof Object?u:null}},function(t,n,s){var i=s(8),a=s(13),c=s(39)(!1),u=s(19)("IE_PROTO");t.exports=function(d,g){var m,y=a(d),w=0,S=[];for(m in y)m!=u&&i(y,m)&&S.push(m);for(;g.length>w;)i(y,m=g[w++])&&(~c(S,m)||S.push(m));return S}},function(t,n,s){var i=s(53),a=s(22);t.exports=Object.keys||function(c){return i(c,a)}},function(t,n){n.f={}.propertyIsEnumerable},function(t,n,s){var i=s(5);t.exports=function(a,c,u){for(var d in c)u&&a[d]?a[d]=c[d]:i(a,d,c[d]);return a}},function(t,n,s){t.exports=s(5)},function(t,n,s){var i=s(9),a=s(3),c=function(u,d){if(a(u),!i(d)&&d!==null)throw TypeError(d+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?(function(u,d,g){try{g=s(7)(Function.call,s(51).f(Object.prototype,"__proto__").set,2),g(u,[]),d=!(u instanceof Array)}catch{d=!0}return function(m,y){return c(m,y),d?m.__proto__=y:g(m,y),m}})({},!1):void 0),check:c}},function(t,n,s){"use strict";var i=s(2),a=s(6),c=s(12),u=s(4),d=s(1)("species");t.exports=function(g){var m=typeof a[g]=="function"?a[g]:i[g];u&&m&&!m[d]&&c.f(m,d,{configurable:!0,get:function(){return this}})}},function(t,n,s){var i=s(3),a=s(14),c=s(1)("species");t.exports=function(u,d){var g,m=i(u).constructor;return m===void 0||(g=i(m)[c])==null?d:a(g)}},function(t,n,s){var i=s(20),a=s(15);t.exports=function(c){return function(u,d){var g,m,y=String(a(u)),w=i(d),S=y.length;return w<0||w>=S?c?"":void 0:(g=y.charCodeAt(w),g<55296||g>56319||w+1===S||(m=y.charCodeAt(w+1))<56320||m>57343?c?y.charAt(w):g:c?y.slice(w,w+2):(g-55296<<10)+(m-56320)+65536)}}},function(t,n,s){var i=s(20),a=Math.max,c=Math.min;t.exports=function(u,d){return u=i(u),u<0?a(u+d,0):c(u,d)}},function(t,n,s){var i=s(15);t.exports=function(a){return Object(i(a))}},function(t,n,s){var i=s(21),a=s(1)("iterator"),c=s(10);t.exports=s(6).getIteratorMethod=function(u){if(u!=null)return u[a]||u["@@iterator"]||c[i(u)]}},function(t,n,s){"use strict";var i=s(37),a=s(47),c=s(10),u=s(13);t.exports=s(27)(Array,"Array",function(d,g){this._t=u(d),this._i=0,this._k=g},function(){var d=this._t,g=this._k,m=this._i++;return!d||m>=d.length?(this._t=void 0,a(1)):g=="keys"?a(0,m):g=="values"?a(0,d[m]):a(0,[m,d[m]])},"values"),c.Arguments=c.Array,i("keys"),i("values"),i("entries")},function(t,n){},function(t,n,s){"use strict";var i,a,c,u=s(28),d=s(2),g=s(7),m=s(21),y=s(23),w=s(9),S=(s(3),s(14)),T=s(38),V=s(40),ge=(s(58).set,s(60)),J=s(30).set,A=s(48)(),R="Promise",ee=d.TypeError,Z=d.process,j=d[R],Z=d.process,ce=m(Z)=="process",ie=function(){},_e=!!(function(){try{var P=j.resolve(1),B=(P.constructor={})[s(1)("species")]=function(L){L(ie,ie)};return(ce||typeof PromiseRejectionEvent=="function")&&P.then(ie)instanceof B}catch{}})(),Ye=function(P,B){return P===B||P===j&&B===c},Je=function(P){var B;return!(!w(P)||typeof(B=P.then)!="function")&&B},ve=function(P){return Ye(j,P)?new He(P):new a(P)},He=a=function(P){var B,L;this.promise=new P(function(oe,Ie){if(B!==void 0||L!==void 0)throw ee("Bad Promise constructor");B=oe,L=Ie}),this.resolve=S(B),this.reject=S(L)},Fe=function(P){try{P()}catch(B){return{error:B}}},Qe=function(P,B){if(!P._n){P._n=!0;var L=P._c;A(function(){for(var oe=P._v,Ie=P._s==1,lt=0,vt=function(Et){var wt,ir,br=Ie?Et.ok:Et.fail,Wr=Et.resolve,xr=Et.reject,gn=Et.domain;try{br?(Ie||(P._h==2&&tt(P),P._h=1),br===!0?wt=oe:(gn&&gn.enter(),wt=br(oe),gn&&gn.exit()),wt===Et.promise?xr(ee("Promise-chain cycle")):(ir=Je(wt))?ir.call(wt,Wr,xr):Wr(wt)):xr(oe)}catch(Ls){xr(Ls)}};L.length>lt;)vt(L[lt++]);P._c=[],P._n=!1,B&&!P._h&&Ve(P)})}},Ve=function(P){J.call(d,function(){var B,L,oe,Ie=P._v;if(Pe(P)&&(B=Fe(function(){ce?Z.emit("unhandledRejection",Ie,P):(L=d.onunhandledrejection)?L({promise:P,reason:Ie}):(oe=d.console)&&oe.error&&oe.error("Unhandled promise rejection",Ie)}),P._h=ce||Pe(P)?2:1),P._a=void 0,B)throw B.error})},Pe=function(P){if(P._h==1)return!1;for(var B,L=P._a||P._c,oe=0;L.length>oe;)if(B=L[oe++],B.fail||!Pe(B.promise))return!1;return!0},tt=function(P){J.call(d,function(){var B;ce?Z.emit("rejectionHandled",P):(B=d.onrejectionhandled)&&B({promise:P,reason:P._v})})},W=function(P){var B=this;B._d||(B._d=!0,B=B._w||B,B._v=P,B._s=2,B._a||(B._a=B._c.slice()),Qe(B,!0))},we=function(P){var B,L=this;if(!L._d){L._d=!0,L=L._w||L;try{if(L===P)throw ee("Promise can't be resolved itself");(B=Je(P))?A(function(){var oe={_w:L,_d:!1};try{B.call(P,g(we,oe,1),g(W,oe,1))}catch(Ie){W.call(oe,Ie)}}):(L._v=P,L._s=1,Qe(L,!1))}catch(oe){W.call({_w:L,_d:!1},oe)}}};_e||(j=function(P){T(this,j,R,"_h"),S(P),i.call(this);try{P(g(we,this,1),g(W,this,1))}catch(B){W.call(this,B)}},i=function(P){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},i.prototype=s(56)(j.prototype,{then:function(P,B){var L=ve(ge(this,j));return L.ok=typeof P!="function"||P,L.fail=typeof B=="function"&&B,L.domain=ce?Z.domain:void 0,this._c.push(L),this._a&&this._a.push(L),this._s&&Qe(this,!1),L.promise},catch:function(P){return this.then(void 0,P)}}),He=function(){var P=new i;this.promise=P,this.resolve=g(we,P,1),this.reject=g(W,P,1)}),y(y.G+y.W+y.F*!_e,{Promise:j}),s(18)(j,R),s(59)(R),c=s(6)[R],y(y.S+y.F*!_e,R,{reject:function(P){var B=ve(this),L=B.reject;return L(P),B.promise}}),y(y.S+y.F*(u||!_e),R,{resolve:function(P){if(P instanceof j&&Ye(P.constructor,this))return P;var B=ve(this),L=B.resolve;return L(P),B.promise}}),y(y.S+y.F*!(_e&&s(46)(function(P){j.all(P).catch(ie)})),R,{all:function(P){var B=this,L=ve(B),oe=L.resolve,Ie=L.reject,lt=Fe(function(){var vt=[],Et=0,wt=1;V(P,!1,function(ir){var br=Et++,Wr=!1;vt.push(void 0),wt++,B.resolve(ir).then(function(xr){Wr||(Wr=!0,vt[br]=xr,--wt||oe(vt))},Ie)}),--wt||oe(vt)});return lt&&Ie(lt.error),L.promise},race:function(P){var B=this,L=ve(B),oe=L.reject,Ie=Fe(function(){V(P,!1,function(lt){B.resolve(lt).then(L.resolve,oe)})});return Ie&&oe(Ie.error),L.promise}})},function(t,n,s){"use strict";var i=s(61)(!0);s(27)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,c=this._t,u=this._i;return u>=c.length?{value:void 0,done:!0}:(a=i(c,u),this._i+=a.length,{value:a,done:!1})})},function(t,n,s){s(65);for(var i=s(2),a=s(5),c=s(10),u=s(1)("toStringTag"),d=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],g=0;g<5;g++){var m=d[g],y=i[m],w=y&&y.prototype;w&&!w[u]&&a(w,u,m),c[m]=c.Array}},function(t,n){t.exports=require("child_process")},function(t,n){t.exports=require("crypto")}])})});function ky(){try{return wc.default.statSync("/.dockerenv"),!0}catch{return!1}}function Ry(){try{return wc.default.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function bc(){return Ec===void 0&&(Ec=ky()||Ry()),Ec}var wc,Ec,Ch=Mt(()=>{wc=ue(require("node:fs"),1)});function Hn(){return xc===void 0&&(xc=Py()||bc()),xc}var Oh,xc,Py,Sc=Mt(()=>{Oh=ue(require("node:fs"),1);Ch();Py=()=>{try{return Oh.default.statSync("/run/.containerenv"),!0}catch{return!1}}});var Tc,Rh,Ph,kh,Br,Cc=Mt(()=>{Tc=ue(require("node:process"),1),Rh=ue(require("node:os"),1),Ph=ue(require("node:fs"),1);Sc();kh=()=>{if(Tc.default.platform!=="linux")return!1;if(Rh.default.release().toLowerCase().includes("microsoft"))return!Hn();try{return Ph.default.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!Hn():!1}catch{return!1}},Br=Tc.default.env.__IS_WSL_TEST__?kh:kh()});var Oc,Os,Ay,Iy,kc,Ah=Mt(()=>{Oc=ue(require("node:process"),1),Os=ue(require("node:fs/promises"),1);Cc();Cc();Ay=(()=>{let r="/mnt/",e;return async function(){if(e)return e;let t="/etc/wsl.conf",n=!1;try{await Os.default.access(t,Os.constants.F_OK),n=!0}catch{}if(!n)return r;let s=await Os.default.readFile(t,{encoding:"utf8"}),i=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(s);return i?(e=i.groups.mountPoint.trim(),e=e.endsWith("/")?e:`${e}/`,e):r}})(),Iy=async()=>`${await Ay()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`,kc=async()=>Br?Iy():`${Oc.default.env.SYSTEMROOT||Oc.default.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`});function jr(r,e,t){let n=s=>Object.defineProperty(r,e,{value:s,enumerable:!0,writable:!0});return Object.defineProperty(r,e,{configurable:!0,enumerable:!0,get(){let s=t();return n(s),s},set(s){n(s)}}),r}var Ih=Mt(()=>{});async function Rc(){if(Nh.default.platform!=="darwin")throw new Error("macOS only");let{stdout:r}=await Ly("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),t=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(r)?.groups.id??"com.apple.Safari";return t==="com.apple.safari"?"com.apple.Safari":t}var Lh,Nh,Dh,Ly,Fh=Mt(()=>{Lh=require("node:util"),Nh=ue(require("node:process"),1),Dh=require("node:child_process"),Ly=(0,Lh.promisify)(Dh.execFile)});async function jh(r,{humanReadableOutput:e=!0,signal:t}={}){if(Mh.default.platform!=="darwin")throw new Error("macOS only");let n=e?[]:["-ss"],s={};t&&(s.signal=t);let{stdout:i}=await Ny("osascript",["-e",r,n],s);return i.trim()}var Mh,Bh,Pc,Ny,Uh=Mt(()=>{Mh=ue(require("node:process"),1),Bh=require("node:util"),Pc=require("node:child_process"),Ny=(0,Bh.promisify)(Pc.execFile)});async function Ac(r){return jh(`tell application "Finder" to set app_path to application file id "${r}" as string
31
- tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}var qh=Mt(()=>{Uh()});async function Lc(r=Dy){let{stdout:e}=await r("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),t=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(e);if(!t)throw new Ic(`Cannot find Windows browser in stdout: ${JSON.stringify(e)}`);let{id:n}=t.groups,s=n.lastIndexOf("."),i=n.lastIndexOf("-"),a=s===-1?void 0:n.slice(0,s),c=i===-1?void 0:n.slice(0,i);return Zi[n]??Zi[a]??Zi[c]??{name:n,id:n}}var Wh,Hh,Dy,Zi,qw,Ic,Vh=Mt(()=>{Wh=require("node:util"),Hh=require("node:child_process"),Dy=(0,Wh.promisify)(Hh.execFile),Zi={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},qw=new Map(Object.entries(Zi)),Ic=class extends Error{}});async function Nc(){if(Qi.default.platform==="darwin"){let r=await Rc();return{name:await Ac(r),id:r}}if(Qi.default.platform==="linux"){let{stdout:r}=await Fy("xdg-mime",["query","default","x-scheme-handler/http"]),e=r.trim();return{name:My(e.replace(/.desktop$/,"").replace("-"," ")),id:e}}if(Qi.default.platform==="win32")return Lc();throw new Error("Only macOS, Linux, and Windows are supported")}var Kh,Qi,zh,Fy,My,$h=Mt(()=>{Kh=require("node:util"),Qi=ue(require("node:process"),1),zh=require("node:child_process");Fh();qh();Vh();Fy=(0,Kh.promisify)(zh.execFile),My=r=>r.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,e=>e.toUpperCase())});var ed={};zd(ed,{apps:()=>Ur,default:()=>Wy,openApp:()=>qy});async function jy(){let r=await kc(),e=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,t=Mc.Buffer.from(e,"utf16le").toString("base64"),{stdout:n}=await By(r,["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand",t],{encoding:"utf8"}),s=n.trim(),i={ChromeHTML:"com.google.chrome",BraveHTML:"com.brave.Browser",MSEdgeHTM:"com.microsoft.edge",FirefoxURL:"org.mozilla.firefox"};return i[s]?{id:i[s]}:{}}function Jh(r){if(typeof r=="string"||Array.isArray(r))return r;let{[Yh]:e}=r;if(!e)throw new Error(`${Yh} is not supported`);return e}function to({[Vn]:r},{wsl:e}){if(e&&Br)return Jh(e);if(!r)throw new Error(`${Vn} is not supported`);return Jh(r)}var Fc,Mc,Bc,Zh,Qh,jc,eo,Hy,By,Dc,Gh,Vn,Yh,Xh,ks,Uy,qy,Ur,Wy,td=Mt(()=>{Fc=ue(require("node:process"),1),Mc=require("node:buffer"),Bc=ue(require("node:path"),1),Zh=require("node:url"),Qh=require("node:util"),jc=ue(require("node:child_process"),1),eo=ue(require("node:fs/promises"),1);Ah();Ih();$h();Sc();Hy={},By=(0,Qh.promisify)(jc.default.execFile),Dc=Bc.default.dirname((0,Zh.fileURLToPath)(Hy.url)),Gh=Bc.default.join(Dc,"xdg-open"),{platform:Vn,arch:Yh}=Fc.default;Xh=async(r,e)=>{let t;for(let n of r)try{return await e(n)}catch(s){t=s}throw t},ks=async r=>{if(r={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...r},Array.isArray(r.app))return Xh(r.app,c=>ks({...r,app:c}));let{name:e,arguments:t=[]}=r.app??{};if(t=[...t],Array.isArray(e))return Xh(e,c=>ks({...r,app:{name:c,arguments:t}}));if(e==="browser"||e==="browserPrivate"){let c={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.Browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge"},u={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},d=Br?await jy():await Nc();if(d.id in c){let g=c[d.id];return e==="browserPrivate"&&t.push(u[g]),ks({...r,app:{name:Ur[g],arguments:t}})}throw new Error(`${d.name} is not supported as a default browser`)}let n,s=[],i={};if(Vn==="darwin")n="open",r.wait&&s.push("--wait-apps"),r.background&&s.push("--background"),r.newInstance&&s.push("--new"),e&&s.push("-a",e);else if(Vn==="win32"||Br&&!Hn()&&!e){n=await kc(),s.push("-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"),Br||(i.windowsVerbatimArguments=!0);let c=["Start"];r.wait&&c.push("-Wait"),e?(c.push(`"\`"${e}\`""`),r.target&&t.push(r.target)):r.target&&c.push(`"${r.target}"`),t.length>0&&(t=t.map(u=>`"\`"${u}\`""`),c.push("-ArgumentList",t.join(","))),r.target=Mc.Buffer.from(c.join(" "),"utf16le").toString("base64")}else{if(e)n=e;else{let c=!Dc||Dc==="/",u=!1;try{await eo.default.access(Gh,eo.constants.X_OK),u=!0}catch{}n=Fc.default.versions.electron??(Vn==="android"||c||!u)?"xdg-open":Gh}t.length>0&&s.push(...t),r.wait||(i.stdio="ignore",i.detached=!0)}Vn==="darwin"&&t.length>0&&s.push("--args",...t),r.target&&s.push(r.target);let a=jc.default.spawn(n,s,i);return r.wait?new Promise((c,u)=>{a.once("error",u),a.once("close",d=>{if(!r.allowNonzeroExitCode&&d>0){u(new Error(`Exited with code ${d}`));return}c(a)})}):(a.unref(),a)},Uy=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a `target`");return ks({...e,target:r})},qy=(r,e)=>{if(typeof r!="string"&&!Array.isArray(r))throw new TypeError("Expected a valid `name`");let{arguments:t=[]}=e??{};if(t!=null&&!Array.isArray(t))throw new TypeError("Expected `appArguments` as Array type");return ks({...e,app:{name:r,arguments:t}})};Ur={};jr(Ur,"chrome",()=>to({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));jr(Ur,"brave",()=>to({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}}));jr(Ur,"firefox",()=>to({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));jr(Ur,"edge",()=>to({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));jr(Ur,"browser",()=>"browser");jr(Ur,"browserPrivate",()=>"browserPrivate");Wy=Uy});var ar=ue(require("fs")),qs=ue(require("path"));var of=ue(require("os")),af=ue(require("path")),js=ue(require("fs"));function Us(){let r=af.join(of.homedir(),".termiq");return js.existsSync(r)||js.mkdirSync(r,{recursive:!0,mode:448}),r}var Zn=class{filePath;data={};constructor(){this.filePath=qs.join(Us(),"credentials"),this.load()}async get(e){return this.data[e]}async set(e,t){this.data[e]=t,this.save()}async delete(e){delete this.data[e],this.save()}load(){try{if(ar.existsSync(this.filePath)){let e=ar.readFileSync(this.filePath,"utf-8");this.data=JSON.parse(e)}}catch{this.data={}}}save(){let e=qs.dirname(this.filePath);ar.existsSync(e)||ar.mkdirSync(e,{recursive:!0,mode:448}),ar.writeFileSync(this.filePath,JSON.stringify(this.data,null,2),{mode:384})}};var cr=ue(require("fs")),Ws=ue(require("path"));var Gd={serverUrl:"https://termiq.io",agentName:""},Qn=class{config;filePath;constructor(e){this.filePath=Ws.join(Us(),"config.json"),this.config={...Gd,...this.loadFromFile(),...e}}getServerUrl(){return this.config.serverUrl}getAgentName(){return this.config.agentName}isAutoConnect(){return!0}async setAgentName(e){this.config.agentName=e,this.saveToFile()}loadFromFile(){try{if(cr.existsSync(this.filePath)){let e=cr.readFileSync(this.filePath,"utf-8");return JSON.parse(e)}}catch{}return{}}saveToFile(){let e=Ws.dirname(this.filePath);cr.existsSync(e)||cr.mkdirSync(e,{recursive:!0,mode:448}),cr.writeFileSync(this.filePath,JSON.stringify(this.config,null,2))}};var pt=ue(require("fs")),_c=ue(require("path")),xh=ue(require("os")),Ji=ue(bs()),Sy="cli",mc=_c.join(xh.homedir(),".termiq","logs"),Mr=_c.join(mc,"cli.log"),Ty=5*1024*1024,bh=3;function Cy(){try{if(!pt.existsSync(Mr)||pt.statSync(Mr).size<Ty)return;for(let e=bh-1;e>=1;e--){let t=`${Mr}.${e}`,n=`${Mr}.${e+1}`;pt.existsSync(t)&&(e+1>bh?pt.unlinkSync(t):pt.renameSync(t,n))}pt.renameSync(Mr,`${Mr}.1`)}catch{}}function Oy(r){try{pt.existsSync(mc)||pt.mkdirSync(mc,{recursive:!0}),Cy(),pt.appendFileSync(Mr,r+`
32
- `,{encoding:"utf8"})}catch{}}var xs=class{level;toFile;constructor(e="silent",t=!1){typeof e=="boolean"?this.level=e?"info":"silent":this.level=e,this.toFile=t}static getLogFilePath(){return Mr}write(e,t,n){if(!(0,Ji.shouldLog)(e,this.level))return;let s=(0,Ji.formatLogLine)(e,Sy,t,n);this.toFile?Oy(s):process.stderr.write(s+`
33
- `)}info(e,...t){this.write("info",e,t)}warn(e,...t){this.write("warn",e,t)}error(e,...t){this.write("error",e,t)}debug(e,...t){this.write("debug",e,t)}};var Sh=ue(require("os")),Th=ue(vc()),Ts=class{cachedId=null;name;constructor(e){this.name=e||Sh.hostname()||"CLI"}async getMachineId(){if(this.cachedId)return this.cachedId;try{this.cachedId=(0,Th.machineIdSync)()}catch{this.cachedId=`cli_${Date.now()}_${Math.random().toString(36).slice(2,9)}`}return this.cachedId}getMachineName(){return this.name}};var Cs=class{constructor(e){this.logger=e}info(e){this.logger.info("Notification",{message:e})}warn(e){this.logger.warn("Notification",{message:e})}error(e){this.logger.error("Notification",{message:e})}};var Rs=class{async openUrl(e){let{default:t}=await Promise.resolve().then(()=>(td(),ed));await t(e)}};var rd=ue(require("fs")),Uc=ue(require("path"));function ro(r){let e=r?[r]:[Uc.join(__dirname,"..","package.json"),Uc.join(__dirname,"..","..","package.json")];for(let t of e)try{let n=JSON.parse(rd.readFileSync(t,"utf8"));if(typeof n.version=="string"&&n.version.length>0)return n.version}catch{}return"unknown"}function nd(r,e){for(let t=0;t<r.length;t++){let n=r[t];if(n.startsWith("-")){e.has(n)&&t++;continue}return n}}var sd=new Set(["--cid","--token","--server","--log-level"]);var Ad=ue(require("path")),yt=ue(bs());var id=ue(require("os")),od=ue(require("node-pty")),ad=ue(bs()),no=class r{ptyProcess=null;outputBuffer=new ad.CircularBuffer(100);logger;onOutput=null;onExit=null;preWriteHook=null;onResize=null;sigwinchEnabled=!0;sigwinchListener=null;desiredCols=null;desiredRows=null;resizeWatcher=null;static RESIZE_WATCH_INTERVAL_MS=500;reservedBottomRows=0;constructor(e){this.logger=e}spawn(e,t=0){let n=process.env.SHELL||(id.platform()==="win32"?"powershell.exe":"/bin/bash"),s=process.stdout.columns||80,i=process.stdout.rows||24,a=Math.max(1,i-t);this.reservedBottomRows=t,this.ptyProcess=od.spawn(n,[],{name:"xterm-256color",cols:s,rows:a,cwd:e,env:process.env}),this.onResize?.(s,a);let c=`cli_${this.ptyProcess.pid}`;return this.ptyProcess.onData(u=>{this.preWriteHook?.(u),process.stdout.write(u),this.outputBuffer.append(u),this.onOutput?.(u)}),this.ptyProcess.onExit(({exitCode:u})=>{this.logger.info("Shell exited",String(u)),this.onExit?.(u)}),process.stdin.isTTY&&process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.on("data",u=>{this.ptyProcess?.write(u.toString())}),this.sigwinchListener=()=>{let u=process.stdout.columns||80,d=Math.max(1,(process.stdout.rows||24)-this.reservedBottomRows);if(!this.sigwinchEnabled){this.logger.info("Local resize ignored (PWA viewers attached)",{cols:u,rows:d});return}this.logger.info("Local resize applied",{cols:u,rows:d}),this.ptyProcess?.resize(u,d),this.onResize?.(u,d)},process.platform==="win32"?process.stdout.on("resize",this.sigwinchListener):process.on("SIGWINCH",this.sigwinchListener),this.logger.info("Shell spawned",n,c),c}write(e){this.ptyProcess?.write(e)}resize(e,t){this.desiredCols=e,this.desiredRows=t,this.ptyProcess?.resize(e,t),this.onResize?.(e,t)}setSigwinchEnabled(e){this.sigwinchEnabled!==e&&(this.sigwinchEnabled=e,this.logger.info("SIGWINCH listener",{enabled:e}),e?this.stopResizeWatcher():this.startResizeWatcher())}startResizeWatcher(){this.stopResizeWatcher(),this.resizeWatcher=setInterval(()=>{if(!this.ptyProcess||this.desiredCols===null||this.desiredRows===null)return;let e=this.ptyProcess.cols,t=this.ptyProcess.rows;e===this.desiredCols&&t===this.desiredRows||(this.logger.info("Pty size drift detected, restoring",{actualCols:e,actualRows:t,desiredCols:this.desiredCols,desiredRows:this.desiredRows}),this.ptyProcess.resize(this.desiredCols,this.desiredRows))},r.RESIZE_WATCH_INTERVAL_MS)}stopResizeWatcher(){this.resizeWatcher&&(clearInterval(this.resizeWatcher),this.resizeWatcher=null)}getBuffer(){return this.outputBuffer.getContent()}getLastBytes(e){return this.outputBuffer.getLastBytes(e)}setOnOutput(e){this.onOutput=e}setPreWriteHook(e){this.preWriteHook=e}setOnResize(e){this.onResize=e}setOnExit(e){this.onExit=e}kill(){this.ptyProcess?.kill(),this.ptyProcess=null}dispose(){this.kill(),this.stopResizeWatcher(),this.sigwinchListener&&(process.platform==="win32"?process.stdout.removeListener("resize",this.sigwinchListener):process.removeListener("SIGWINCH",this.sigwinchListener),this.sigwinchListener=null),process.stdin.isTTY&&process.stdin.setRawMode(!1),process.stdin.pause()}};var qr=ue(require("path")),zn=ue(require("fs"));var xd=require("node:events"),Sd=require("node:fs"),lo=require("node:fs/promises"),Ee=ue(require("node:path"),1);var vr=require("node:fs/promises"),Er=require("node:path"),ld=require("node:stream"),Ct={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},qc={root:".",fileFilter:r=>!0,directoryFilter:r=>!0,type:Ct.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(qc);var hd="READDIRP_RECURSIVE_ERROR",Vy=new Set(["ENOENT","EPERM","EACCES","ELOOP",hd]),cd=[Ct.DIR_TYPE,Ct.EVERYTHING_TYPE,Ct.FILE_DIR_TYPE,Ct.FILE_TYPE],Ky=new Set([Ct.DIR_TYPE,Ct.EVERYTHING_TYPE,Ct.FILE_DIR_TYPE]),zy=new Set([Ct.EVERYTHING_TYPE,Ct.FILE_DIR_TYPE,Ct.FILE_TYPE]),$y=r=>Vy.has(r.code),Gy=process.platform==="win32",fd=r=>!0,ud=r=>{if(r===void 0)return fd;if(typeof r=="function")return r;if(typeof r=="string"){let e=r.trim();return t=>t.basename===e}if(Array.isArray(r)){let e=r.map(t=>t.trim());return t=>e.some(n=>t.basename===n)}return fd},Wc=class extends ld.Readable{parents;reading;parent;_stat;_maxDepth;_wantsDir;_wantsFile;_wantsEverything;_root;_isDirent;_statsProp;_rdOptions;_fileFilter;_directoryFilter;constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark});let t={...qc,...e},{root:n,type:s}=t;this._fileFilter=ud(t.fileFilter),this._directoryFilter=ud(t.directoryFilter);let i=t.lstat?vr.lstat:vr.stat;Gy?this._stat=a=>i(a,{bigint:!0}):this._stat=i,this._maxDepth=t.depth!=null&&Number.isSafeInteger(t.depth)?t.depth:qc.depth,this._wantsDir=s?Ky.has(s):!1,this._wantsFile=s?zy.has(s):!1,this._wantsEverything=s===Ct.EVERYTHING_TYPE,this._root=(0,Er.resolve)(n),this._isDirent=!t.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(n,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let t=this.parent,n=t&&t.files;if(n&&n.length>0){let{path:s,depth:i}=t,a=n.splice(0,e).map(u=>this._formatEntry(u,s)),c=await Promise.all(a);for(let u of c){if(!u)continue;if(this.destroyed)return;let d=await this._getEntryType(u);d==="directory"&&this._directoryFilter(u)?(i<=this._maxDepth&&this.parents.push(this._exploreDir(u.fullPath,i+1)),this._wantsDir&&(this.push(u),e--)):(d==="file"||this._includeAsFile(u))&&this._fileFilter(u)&&this._wantsFile&&(this.push(u),e--)}}else{let s=this.parents.pop();if(!s){this.push(null);break}if(this.parent=await s,this.destroyed)return}}}catch(t){this.destroy(t)}finally{this.reading=!1}}}async _exploreDir(e,t){let n;try{n=await(0,vr.readdir)(e,this._rdOptions)}catch(s){this._onError(s)}return{files:n,depth:t,path:e}}async _formatEntry(e,t){let n,s=this._isDirent?e.name:e;try{let i=(0,Er.resolve)((0,Er.join)(t,s));n={path:(0,Er.relative)(this._root,i),fullPath:i,basename:s},n[this._statsProp]=this._isDirent?e:await this._stat(i)}catch(i){this._onError(i);return}return n}_onError(e){$y(e)&&!this.destroyed?this.emit("warn",e):this.destroy(e)}async _getEntryType(e){if(!e&&this._statsProp in e)return"";let t=e[this._statsProp];if(t.isFile())return"file";if(t.isDirectory())return"directory";if(t&&t.isSymbolicLink()){let n=e.fullPath;try{let s=await(0,vr.realpath)(n),i=await(0,vr.lstat)(s);if(i.isFile())return"file";if(i.isDirectory()){let a=s.length;if(n.startsWith(s)&&n.substr(a,1)===Er.sep){let c=new Error(`Circular symlink detected: "${n}" points to "${s}"`);return c.code=hd,this._onError(c)}return"directory"}}catch(s){return this._onError(s),""}}}_includeAsFile(e){let t=e&&e[this._statsProp];return t&&this._wantsEverything&&!t.isDirectory()}};function dd(r,e={}){let t=e.entryType||e.type;if(t==="both"&&(t=Ct.FILE_DIR_TYPE),t&&(e.type=t),r){if(typeof r!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(t&&!cd.includes(t))throw new Error(`readdirp: Invalid type passed. Use one of ${cd.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return e.root=r,new Wc(e)}var ln=require("node:fs"),Vt=require("node:fs/promises"),gd=require("node:os"),We=ue(require("node:path"),1),Yy="data",Kc="end",md="close",co=()=>{};var fo=process.platform,zc=fo==="win32",Xy=fo==="darwin",Jy=fo==="linux",Zy=fo==="freebsd",_d=(0,gd.type)()==="OS400",Ke={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},Ht=Ke,Qy="watch",ev={lstat:Vt.lstat,stat:Vt.stat},un="listeners",so="errHandlers",Kn="rawEmitters",tv=[un,so,Kn],rv=new Set(["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]),nv=r=>rv.has(We.extname(r).slice(1).toLowerCase()),Vc=(r,e)=>{r instanceof Set?r.forEach(e):e(r)},Ps=(r,e,t)=>{let n=r[e];n instanceof Set||(r[e]=n=new Set([n])),n.add(t)},sv=r=>e=>{let t=r[e];t instanceof Set?t.clear():delete r[e]},As=(r,e,t)=>{let n=r[e];n instanceof Set?n.delete(t):n===t&&delete r[e]},yd=r=>r instanceof Set?r.size===0:!r,io=new Map;function pd(r,e,t,n,s){let i=(a,c)=>{t(r),s(a,c,{watchedPath:r}),c&&r!==c&&oo(We.resolve(r,c),un,We.join(r,c))};try{return(0,ln.watch)(r,{persistent:e.persistent},i)}catch(a){n(a);return}}var oo=(r,e,t,n,s)=>{let i=io.get(r);i&&Vc(i[e],a=>{a(t,n,s)})},iv=(r,e,t,n)=>{let{listener:s,errHandler:i,rawEmitter:a}=n,c=io.get(e),u;if(!t.persistent)return u=pd(r,t,s,i,a),u?u.close.bind(u):void 0;if(c)Ps(c,un,s),Ps(c,so,i),Ps(c,Kn,a);else{if(u=pd(r,t,oo.bind(null,e,un),i,oo.bind(null,e,Kn)),!u)return;u.on(Ht.ERROR,async d=>{let g=oo.bind(null,e,so);if(c&&(c.watcherUnusable=!0),zc&&d.code==="EPERM")try{await(await(0,Vt.open)(r,"r")).close(),g(d)}catch{}else g(d)}),c={listeners:s,errHandlers:i,rawEmitters:a,watcher:u},io.set(e,c)}return()=>{As(c,un,s),As(c,so,i),As(c,Kn,a),yd(c.listeners)&&(c.watcher.close(),io.delete(e),tv.forEach(sv(c)),c.watcher=void 0,Object.freeze(c))}},Hc=new Map,ov=(r,e,t,n)=>{let{listener:s,rawEmitter:i}=n,a=Hc.get(e),c=a&&a.options;return c&&(c.persistent<t.persistent||c.interval>t.interval)&&((0,ln.unwatchFile)(e),a=void 0),a?(Ps(a,un,s),Ps(a,Kn,i)):(a={listeners:s,rawEmitters:i,options:t,watcher:(0,ln.watchFile)(e,t,(u,d)=>{Vc(a.rawEmitters,m=>{m(Ht.CHANGE,e,{curr:u,prev:d})});let g=u.mtimeMs;(u.size!==d.size||g>d.mtimeMs||g===0)&&Vc(a.listeners,m=>m(r,u))})},Hc.set(e,a)),()=>{As(a,un,s),As(a,Kn,i),yd(a.listeners)&&(Hc.delete(e),(0,ln.unwatchFile)(e),a.options=a.watcher=void 0,Object.freeze(a))}},ao=class{fsw;_boundHandleError;constructor(e){this.fsw=e,this._boundHandleError=t=>e._handleError(t)}_watchWithNodeFs(e,t){let n=this.fsw.options,s=We.dirname(e),i=We.basename(e);this.fsw._getWatchedDir(s).add(i);let c=We.resolve(e),u={persistent:n.persistent};t||(t=co);let d;if(n.usePolling){let g=n.interval!==n.binaryInterval;u.interval=g&&nv(i)?n.binaryInterval:n.interval,d=ov(e,c,u,{listener:t,rawEmitter:this.fsw._emitRaw})}else d=iv(e,c,u,{listener:t,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return d}_handleFile(e,t,n){if(this.fsw.closed)return;let s=We.dirname(e),i=We.basename(e),a=this.fsw._getWatchedDir(s),c=t;if(a.has(i))return;let u=async(g,m)=>{if(this.fsw._throttle(Qy,e,5)){if(!m||m.mtimeMs===0)try{let y=await(0,Vt.stat)(e);if(this.fsw.closed)return;let w=y.atimeMs,S=y.mtimeMs;if((!w||w<=S||S!==c.mtimeMs)&&this.fsw._emit(Ht.CHANGE,e,y),(Xy||Jy||Zy)&&c.ino!==y.ino){this.fsw._closeFile(g),c=y;let T=this._watchWithNodeFs(e,u);T&&this.fsw._addPathCloser(g,T)}else c=y}catch{this.fsw._remove(s,i)}else if(a.has(i)){let y=m.atimeMs,w=m.mtimeMs;(!y||y<=w||w!==c.mtimeMs)&&this.fsw._emit(Ht.CHANGE,e,m),c=m}}},d=this._watchWithNodeFs(e,u);if(!(n&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(Ht.ADD,e,0))return;this.fsw._emit(Ht.ADD,e,t)}return d}async _handleSymlink(e,t,n,s){if(this.fsw.closed)return;let i=e.fullPath,a=this.fsw._getWatchedDir(t);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let c;try{c=await(0,Vt.realpath)(n)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(a.has(s)?this.fsw._symlinkPaths.get(i)!==c&&(this.fsw._symlinkPaths.set(i,c),this.fsw._emit(Ht.CHANGE,n,e.stats)):(a.add(s),this.fsw._symlinkPaths.set(i,c),this.fsw._emit(Ht.ADD,n,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(i))return!0;this.fsw._symlinkPaths.set(i,!0)}_handleRead(e,t,n,s,i,a,c){e=We.join(e,"");let u=s?`${e}:${s}`:e;if(c=this.fsw._throttle("readdir",u,1e3),!c)return;let d=this.fsw._getWatchedDir(n.path),g=new Set,m=this.fsw._readdirp(e,{fileFilter:y=>n.filterPath(y),directoryFilter:y=>n.filterDir(y)});if(m)return m.on(Yy,async y=>{if(this.fsw.closed){m=void 0;return}let w=y.path,S=We.join(e,w);if(g.add(w),!(y.stats.isSymbolicLink()&&await this._handleSymlink(y,e,S,w))){if(this.fsw.closed){m=void 0;return}(w===s||!s&&!d.has(w))&&(this.fsw._incrReadyCount(),S=We.join(i,We.relative(i,S)),this._addToNodeFs(S,t,n,a+1))}}).on(Ht.ERROR,this._boundHandleError),new Promise((y,w)=>{if(!m)return w();m.once(Kc,()=>{if(this.fsw.closed){m=void 0;return}let S=c?c.clear():!1;y(void 0),d.getChildren().filter(T=>T!==e&&!g.has(T)).forEach(T=>{this.fsw._remove(e,T)}),m=void 0,S&&this._handleRead(e,!1,n,s,i,a,c)})})}async _handleDir(e,t,n,s,i,a,c){let u=this.fsw._getWatchedDir(We.dirname(e)),d=u.has(We.basename(e));!(n&&this.fsw.options.ignoreInitial)&&!i&&!d&&this.fsw._emit(Ht.ADD_DIR,e,t),u.add(We.basename(e)),this.fsw._getWatchedDir(e);let g,m,y=this.fsw.options.depth;if((y==null||s<=y)&&!this.fsw._symlinkPaths.has(c)){if(!i&&(await this._handleRead(e,n,a,i,e,s,g),this.fsw.closed))return;m=this._watchWithNodeFs(e,(w,S)=>{S&&S.mtimeMs===0||this._handleRead(w,!1,a,i,e,s,g)})}return m}async _addToNodeFs(e,t,n,s,i){let a=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return a(),!1;let c=this.fsw._getWatchHelpers(e);n&&(c.filterPath=u=>n.filterPath(u),c.filterDir=u=>n.filterDir(u));try{let u=await ev[c.statMethod](c.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(c.watchPath,u))return a(),!1;let d=this.fsw.options.followSymlinks,g;if(u.isDirectory()){let m=We.resolve(e),y=d?await(0,Vt.realpath)(e):e;if(this.fsw.closed||(g=await this._handleDir(c.watchPath,u,t,s,i,c,y),this.fsw.closed))return;m!==y&&y!==void 0&&this.fsw._symlinkPaths.set(m,y)}else if(u.isSymbolicLink()){let m=d?await(0,Vt.realpath)(e):e;if(this.fsw.closed)return;let y=We.dirname(c.watchPath);if(this.fsw._getWatchedDir(y).add(c.watchPath),this.fsw._emit(Ht.ADD,c.watchPath,u),g=await this._handleDir(y,u,t,s,e,c,m),this.fsw.closed)return;m!==void 0&&this.fsw._symlinkPaths.set(We.resolve(e),m)}else g=this._handleFile(c.watchPath,u,t);return a(),g&&this.fsw._addPathCloser(e,g),!1}catch(u){if(this.fsw._handleError(u))return a(),e}}};var $c="/",av="//",Td=".",cv="..",fv="string",uv=/\\/g,Cd=/\/\//g,lv=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,hv=/^\.[/\\]/;function uo(r){return Array.isArray(r)?r:[r]}var Gc=r=>typeof r=="object"&&r!==null&&!(r instanceof RegExp);function dv(r){return typeof r=="function"?r:typeof r=="string"?e=>r===e:r instanceof RegExp?e=>r.test(e):typeof r=="object"&&r!==null?e=>{if(r.path===e)return!0;if(r.recursive){let t=Ee.relative(r.path,e);return t?!t.startsWith("..")&&!Ee.isAbsolute(t):!1}return!1}:()=>!1}function pv(r){if(typeof r!="string")throw new Error("string expected");r=Ee.normalize(r),r=r.replace(/\\/g,"/");let e=!1;return r.startsWith("//")&&(e=!0),r=r.replace(Cd,"/"),e&&(r="/"+r),r}function vd(r,e,t){let n=pv(e);for(let s=0;s<r.length;s++){let i=r[s];if(i(n,t))return!0}return!1}function gv(r,e){if(r==null)throw new TypeError("anymatch: specify first argument");let n=uo(r).map(s=>dv(s));return e==null?(s,i)=>vd(n,s,i):vd(n,e)}var Ed=r=>{let e=uo(r).flat();if(!e.every(t=>typeof t===fv))throw new TypeError(`Non-string provided as watch path: ${e}`);return e.map(Od)},wd=r=>{let e=r.replace(uv,$c),t=!1;return e.startsWith(av)&&(t=!0),e=e.replace(Cd,$c),t&&(e=$c+e),e},Od=r=>wd(Ee.normalize(wd(r))),bd=(r="")=>e=>typeof e=="string"?Od(Ee.isAbsolute(e)?e:Ee.join(r,e)):e,mv=(r,e)=>Ee.isAbsolute(r)?r:Ee.join(e,r),_v=Object.freeze(new Set),Yc=class{path;_removeWatcher;items;constructor(e,t){this.path=e,this._removeWatcher=t,this.items=new Set}add(e){let{items:t}=this;t&&e!==Td&&e!==cv&&t.add(e)}async remove(e){let{items:t}=this;if(!t||(t.delete(e),t.size>0))return;let n=this.path;try{await(0,lo.readdir)(n)}catch{this._removeWatcher&&this._removeWatcher(Ee.dirname(n),Ee.basename(n))}}has(e){let{items:t}=this;if(t)return t.has(e)}getChildren(){let{items:e}=this;return e?[...e.values()]:[]}dispose(){this.items.clear(),this.path="",this._removeWatcher=co,this.items=_v,Object.freeze(this)}},yv="stat",vv="lstat",Xc=class{fsw;path;watchPath;fullWatchPath;dirParts;followSymlinks;statMethod;constructor(e,t,n){this.fsw=n;let s=e;this.path=e=e.replace(hv,""),this.watchPath=s,this.fullWatchPath=Ee.resolve(s),this.dirParts=[],this.dirParts.forEach(i=>{i.length>1&&i.pop()}),this.followSymlinks=t,this.statMethod=t?yv:vv}entryPath(e){return Ee.join(this.watchPath,Ee.relative(this.watchPath,e.fullPath))}filterPath(e){let{stats:t}=e;if(t&&t.isSymbolicLink())return this.filterDir(e);let n=this.entryPath(e);return this.fsw._isntIgnored(n,t)&&this.fsw._hasReadPermissions(t)}filterDir(e){return this.fsw._isntIgnored(this.entryPath(e),e.stats)}},Jc=class extends xd.EventEmitter{closed;options;_closers;_ignoredPaths;_throttled;_streams;_symlinkPaths;_watched;_pendingWrites;_pendingUnlinks;_readyCount;_emitReady;_closePromise;_userIgnored;_readyEmitted;_emitRaw;_boundRemove;_nodeFsHandler;constructor(e={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let t=e.awaitWriteFinish,n={stabilityThreshold:2e3,pollInterval:100},s={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...e,ignored:e.ignored?uo(e.ignored):uo([]),awaitWriteFinish:t===!0?n:typeof t=="object"?{...n,...t}:!1};_d&&(s.usePolling=!0),s.atomic===void 0&&(s.atomic=!s.usePolling);let i=process.env.CHOKIDAR_USEPOLLING;if(i!==void 0){let u=i.toLowerCase();u==="false"||u==="0"?s.usePolling=!1:u==="true"||u==="1"?s.usePolling=!0:s.usePolling=!!u}let a=process.env.CHOKIDAR_INTERVAL;a&&(s.interval=Number.parseInt(a,10));let c=0;this._emitReady=()=>{c++,c>=this._readyCount&&(this._emitReady=co,this._readyEmitted=!0,process.nextTick(()=>this.emit(Ke.READY)))},this._emitRaw=(...u)=>this.emit(Ke.RAW,...u),this._boundRemove=this._remove.bind(this),this.options=s,this._nodeFsHandler=new ao(this),Object.freeze(s)}_addIgnoredPath(e){if(Gc(e)){for(let t of this._ignoredPaths)if(Gc(t)&&t.path===e.path&&t.recursive===e.recursive)return}this._ignoredPaths.add(e)}_removeIgnoredPath(e){if(this._ignoredPaths.delete(e),typeof e=="string")for(let t of this._ignoredPaths)Gc(t)&&t.path===e&&this._ignoredPaths.delete(t)}add(e,t,n){let{cwd:s}=this.options;this.closed=!1,this._closePromise=void 0;let i=Ed(e);return s&&(i=i.map(a=>mv(a,s))),i.forEach(a=>{this._removeIgnoredPath(a)}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=i.length,Promise.all(i.map(async a=>{let c=await this._nodeFsHandler._addToNodeFs(a,!n,void 0,0,t);return c&&this._emitReady(),c})).then(a=>{this.closed||a.forEach(c=>{c&&this.add(Ee.dirname(c),Ee.basename(t||c))})}),this}unwatch(e){if(this.closed)return this;let t=Ed(e),{cwd:n}=this.options;return t.forEach(s=>{!Ee.isAbsolute(s)&&!this._closers.has(s)&&(n&&(s=Ee.join(n,s)),s=Ee.resolve(s)),this._closePath(s),this._addIgnoredPath(s),this._watched.has(s)&&this._addIgnoredPath({path:s,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let e=[];return this._closers.forEach(t=>t.forEach(n=>{let s=n();s instanceof Promise&&e.push(s)})),this._streams.forEach(t=>t.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(t=>t.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=e.length?Promise.all(e).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((t,n)=>{let i=(this.options.cwd?Ee.relative(this.options.cwd,n):n)||Td;e[i]=t.getChildren().sort()}),e}emitWithAll(e,t){this.emit(e,...t),e!==Ke.ERROR&&this.emit(Ke.ALL,e,...t)}async _emit(e,t,n){if(this.closed)return;let s=this.options;zc&&(t=Ee.normalize(t)),s.cwd&&(t=Ee.relative(s.cwd,t));let i=[t];n!=null&&i.push(n);let a=s.awaitWriteFinish,c;if(a&&(c=this._pendingWrites.get(t)))return c.lastChange=new Date,this;if(s.atomic){if(e===Ke.UNLINK)return this._pendingUnlinks.set(t,[e,...i]),setTimeout(()=>{this._pendingUnlinks.forEach((u,d)=>{this.emit(...u),this.emit(Ke.ALL,...u),this._pendingUnlinks.delete(d)})},typeof s.atomic=="number"?s.atomic:100),this;e===Ke.ADD&&this._pendingUnlinks.has(t)&&(e=Ke.CHANGE,this._pendingUnlinks.delete(t))}if(a&&(e===Ke.ADD||e===Ke.CHANGE)&&this._readyEmitted){let u=(d,g)=>{d?(e=Ke.ERROR,i[0]=d,this.emitWithAll(e,i)):g&&(i.length>1?i[1]=g:i.push(g),this.emitWithAll(e,i))};return this._awaitWriteFinish(t,a.stabilityThreshold,e,u),this}if(e===Ke.CHANGE&&!this._throttle(Ke.CHANGE,t,50))return this;if(s.alwaysStat&&n===void 0&&(e===Ke.ADD||e===Ke.ADD_DIR||e===Ke.CHANGE)){let u=s.cwd?Ee.join(s.cwd,t):t,d;try{d=await(0,lo.stat)(u)}catch{}if(!d||this.closed)return;i.push(d)}return this.emitWithAll(e,i),this}_handleError(e){let t=e&&e.code;return e&&t!=="ENOENT"&&t!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||t!=="EPERM"&&t!=="EACCES")&&this.emit(Ke.ERROR,e),e||this.closed}_throttle(e,t,n){this._throttled.has(e)||this._throttled.set(e,new Map);let s=this._throttled.get(e);if(!s)throw new Error("invalid throttle");let i=s.get(t);if(i)return i.count++,!1;let a,c=()=>{let d=s.get(t),g=d?d.count:0;return s.delete(t),clearTimeout(a),d&&clearTimeout(d.timeoutObject),g};a=setTimeout(c,n);let u={timeoutObject:a,clear:c,count:0};return s.set(t,u),u}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,t,n,s){let i=this.options.awaitWriteFinish;if(typeof i!="object")return;let a=i.pollInterval,c,u=e;this.options.cwd&&!Ee.isAbsolute(e)&&(u=Ee.join(this.options.cwd,e));let d=new Date,g=this._pendingWrites;function m(y){(0,Sd.stat)(u,(w,S)=>{if(w||!g.has(e)){w&&w.code!=="ENOENT"&&s(w);return}let T=Number(new Date);y&&S.size!==y.size&&(g.get(e).lastChange=T);let V=g.get(e);T-V.lastChange>=t?(g.delete(e),s(void 0,S)):c=setTimeout(m,a,S)})}g.has(e)||(g.set(e,{lastChange:d,cancelWait:()=>(g.delete(e),clearTimeout(c),n)}),c=setTimeout(m,a))}_isIgnored(e,t){if(this.options.atomic&&lv.test(e))return!0;if(!this._userIgnored){let{cwd:n}=this.options,i=(this.options.ignored||[]).map(bd(n)),c=[...[...this._ignoredPaths].map(bd(n)),...i];this._userIgnored=gv(c,void 0)}return this._userIgnored(e,t)}_isntIgnored(e,t){return!this._isIgnored(e,t)}_getWatchHelpers(e){return new Xc(e,this.options.followSymlinks,this)}_getWatchedDir(e){let t=Ee.resolve(e);return this._watched.has(t)||this._watched.set(t,new Yc(t,this._boundRemove)),this._watched.get(t)}_hasReadPermissions(e){return this.options.ignorePermissionErrors?!0:!!(Number(e.mode)&256)}_remove(e,t,n){let s=Ee.join(e,t),i=Ee.resolve(s);if(n=n??(this._watched.has(s)||this._watched.has(i)),!this._throttle("remove",s,100))return;!n&&this._watched.size===1&&this.add(e,t,!0),this._getWatchedDir(s).getChildren().forEach(y=>this._remove(s,y));let u=this._getWatchedDir(e),d=u.has(t);u.remove(t),this._symlinkPaths.has(i)&&this._symlinkPaths.delete(i);let g=s;if(this.options.cwd&&(g=Ee.relative(this.options.cwd,s)),this.options.awaitWriteFinish&&this._pendingWrites.has(g)&&this._pendingWrites.get(g).cancelWait()===Ke.ADD)return;this._watched.delete(s),this._watched.delete(i);let m=n?Ke.UNLINK_DIR:Ke.UNLINK;d&&!this._isIgnored(s)&&this._emit(m,s),this._closePath(s)}_closePath(e){this._closeFile(e);let t=Ee.dirname(e);this._getWatchedDir(t).remove(Ee.basename(e))}_closeFile(e){let t=this._closers.get(e);t&&(t.forEach(n=>n()),this._closers.delete(e))}_addPathCloser(e,t){if(!t)return;let n=this._closers.get(e);n||(n=[],this._closers.set(e,n)),n.push(t)}_readdirp(e,t){if(this.closed)return;let n={type:Ke.ALL,alwaysStat:!0,lstat:!0,...t,depth:0},s=dd(e,n);return this._streams.add(s),s.once(md,()=>{s=void 0}),s.once(Kc,()=>{s&&(this._streams.delete(s),s=void 0)}),s}};function kd(r,e={}){let t=new Jc(e);return t.add(r),t}var Rd=ue(ac()),sr=ue(Rr()),Ev=["**/node_modules/**","**/.git/**","**/dist/**","**/.next/**","**/.turbo/**","**/.cache/**","**/coverage/**","**/*.log"],wv=300,ho=class{watcher=null;ignoreFilter;workspaceRoot;logger;onFileChangedCallback=null;pendingEvents=new Map;pendingTypes=new Map;constructor(e,t){this.logger=e,this.workspaceRoot=t,this.ignoreFilter=(0,Rd.default)(),this.initializeIgnoreFilter()}initializeIgnoreFilter(){this.ignoreFilter.add(Ev);let e=qr.join(this.workspaceRoot,".gitignore");try{if(zn.existsSync(e)){let t=zn.readFileSync(e,"utf-8");this.ignoreFilter.add(t)}}catch{}}onFileChanged(e){this.onFileChangedCallback=e}start(){this.watcher||(this.watcher=kd(this.workspaceRoot,{ignored:e=>{let t=qr.relative(this.workspaceRoot,e);if(!t||t===".")return!1;let n=t.split(qr.sep).join("/");return this.ignoreFilter.ignores(n)},persistent:!0,ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:200,pollInterval:50}}),this.watcher.on("add",e=>this.handleEvent(e,sr.FileChangeType.CREATE)),this.watcher.on("change",e=>this.handleEvent(e,sr.FileChangeType.MODIFY)),this.watcher.on("unlink",e=>this.handleEvent(e,sr.FileChangeType.DELETE)),this.watcher.on("error",e=>this.logger.error("File watcher error",e)),this.logger.info("File watcher started"))}stop(){this.watcher?.close(),this.watcher=null;for(let e of this.pendingEvents.values())clearTimeout(e);this.pendingEvents.clear(),this.pendingTypes.clear()}handleEvent(e,t){let n=qr.relative(this.workspaceRoot,e);if(!n)return;let s=this.pendingEvents.get(n);s&&clearTimeout(s);let i=this.pendingTypes.get(n);this.pendingTypes.set(n,this.mergeTypes(i,t));let a=setTimeout(()=>{this.emit(n,this.pendingTypes.get(n)||t),this.pendingEvents.delete(n),this.pendingTypes.delete(n)},wv);this.pendingEvents.set(n,a)}mergeTypes(e,t){return e?t===sr.FileChangeType.DELETE||e===sr.FileChangeType.DELETE?sr.FileChangeType.DELETE:e===sr.FileChangeType.CREATE?sr.FileChangeType.CREATE:t:t}emit(e,t){let n={path:e,changeType:t,timestamp:new Date().toISOString(),source:"watcher"};if(t!==sr.FileChangeType.DELETE)try{let s=qr.join(this.workspaceRoot,e),i=zn.statSync(s);n.size=i.size}catch{}this.onFileChangedCallback?.(n)}dispose(){this.stop(),this.onFileChangedCallback=null}};var bv={online:!1,viewerCount:0},po=class r{enabled=!1;state={...bv};altScreenActive=!1;logger;refreshTimer=null;static REFRESH_INTERVAL_MS=1e3;constructor(e){this.logger=e}reservedRows(){return this.enabled&&process.stdout.isTTY?1:0}enable(){if(!process.stdout.isTTY){this.logger.warn("StatusLine: stdout is not a TTY, cannot enable");return}this.enabled=!0,this.installScrollRegion(),this.startRefreshTimer(),this.logger.info("StatusLine enabled")}startRefreshTimer(){this.stopRefreshTimer(),this.refreshTimer=setInterval(()=>{!this.enabled||this.altScreenActive||this.render()},r.REFRESH_INTERVAL_MS)}stopRefreshTimer(){this.refreshTimer&&(clearInterval(this.refreshTimer),this.refreshTimer=null)}installScrollRegion(){let e=process.stdout.rows;!e||e<2||(process.stdout.write(`\x1B[1;${e-1}r`),process.stdout.write("\x1B[1;1H"))}resetScrollRegion(){process.stdout.write("\x1B[r")}update(e){this.state={...this.state,...e},this.render()}render(){if(!this.enabled||this.altScreenActive)return;let e=process.stdout.rows;if(!e||e<2)return;let t=this.formatLine(),n=`\x1B[1;${e-1}r\x1B7\x1B[${e};1H\x1B[2K${t}\x1B8`;process.stdout.write(n)}clear(){if(!this.enabled)return;let e=process.stdout.rows;!e||e<2||process.stdout.write(`\x1B7\x1B[${e};1H\x1B[2K\x1B8`)}disable(){this.enabled&&(this.stopRefreshTimer(),this.clear(),this.resetScrollRegion(),this.enabled=!1)}inspectPtyOutput(e){if(this.enabled){if(e.includes("\x1B[?1049h")||e.includes("\x1B[?47h")){this.altScreenActive=!0;return}(e.includes("\x1B[?1049l")||e.includes("\x1B[?47l"))&&(this.altScreenActive=!1,this.render())}}getState(){return this.state}isEnabled(){return this.enabled}isAltScreenActive(){return this.altScreenActive}formatLine(){let e=[];if(e.push(this.state.online?"\u25CF online":"\u25CB offline"),this.state.viewerCount>0){let t=this.state.viewerCount===1?"1 viewer":`${this.state.viewerCount} viewers`;e.push(t)}else e.push("no viewers");return this.state.agentName&&e.push(this.state.agentName),this.state.ptyCols&&this.state.ptyRows&&e.push(`${this.state.ptyCols}\xD7${this.state.ptyRows}`)," "+e.join(" \xB7 ")+" "}};async function go(r,e,t,n){if(n)return process.stderr.write(`Logging in with API key...
29
+ `)}clearTerminal(e){this.trackedFiles.delete(e),this.outputBuffers.delete(e)}getChangedFiles(e){return(this.trackedFiles.get(e)||[]).map(n=>({path:n.path,changeType:n.changeType,timestamp:n.timestamp,source:"tool-call",toolName:n.toolName,toolId:n.toolId,size:n.size}))}isFileModifyingTool(e){return["Write","Edit","NotebookEdit"].includes(e)}extractFilePath(e,t){return t?e==="Write"||e==="Edit"?t.file_path||null:e==="NotebookEdit"&&t.notebook_path||null:null}resolveFilePath(e){return lc.isAbsolute(e)?e:this.workspaceRoot?lc.join(this.workspaceRoot,e):e}dispose(){this.trackedFiles.clear(),this.pendingToolCalls.clear(),this.onFileChangedCallback=null,this.onFileViewTransferCallback=null}};nr.FileTrackerService=pc});var bh=F(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.FileTrackerService=ut.FileListService=ut.FileTransferService=ut.WebSocketService=ut.StatusDetector=ut.AuthService=ut.CryptoService=void 0;var Ey=zf();Object.defineProperty(ut,"CryptoService",{enumerable:!0,get:function(){return Ey.CryptoService}});var wy=Gf();Object.defineProperty(ut,"AuthService",{enumerable:!0,get:function(){return wy.AuthService}});var by=Yf();Object.defineProperty(ut,"StatusDetector",{enumerable:!0,get:function(){return by.StatusDetector}});var xy=ah();Object.defineProperty(ut,"WebSocketService",{enumerable:!0,get:function(){return xy.WebSocketService}});var Sy=fh();Object.defineProperty(ut,"FileTransferService",{enumerable:!0,get:function(){return Sy.FileTransferService}});var Ty=vh();Object.defineProperty(ut,"FileListService",{enumerable:!0,get:function(){return Ty.FileListService}});var Cy=wh();Object.defineProperty(ut,"FileTrackerService",{enumerable:!0,get:function(){return Cy.FileTrackerService}})});var bs=F(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.FileTrackerService=Te.FileListService=Te.FileTransferService=Te.WebSocketService=Te.StatusDetector=Te.AuthService=Te.CryptoService=Te.getCurrentCorrelationId=Te.runWithCorrelation=Te.generateCorrelationId=Te.getWsUrl=Te.getApiUrl=Te.CircularBuffer=Te.formatLogLine=Te.shouldLog=Te.LOG_LEVELS=void 0;var gc=hf();Object.defineProperty(Te,"LOG_LEVELS",{enumerable:!0,get:function(){return gc.LOG_LEVELS}});Object.defineProperty(Te,"shouldLog",{enumerable:!0,get:function(){return gc.shouldLog}});Object.defineProperty(Te,"formatLogLine",{enumerable:!0,get:function(){return gc.formatLogLine}});var Wn=gf();Object.defineProperty(Te,"CircularBuffer",{enumerable:!0,get:function(){return Wn.CircularBuffer}});Object.defineProperty(Te,"getApiUrl",{enumerable:!0,get:function(){return Wn.getApiUrl}});Object.defineProperty(Te,"getWsUrl",{enumerable:!0,get:function(){return Wn.getWsUrl}});Object.defineProperty(Te,"generateCorrelationId",{enumerable:!0,get:function(){return Wn.generateCorrelationId}});Object.defineProperty(Te,"runWithCorrelation",{enumerable:!0,get:function(){return Wn.runWithCorrelation}});Object.defineProperty(Te,"getCurrentCorrelationId",{enumerable:!0,get:function(){return Wn.getCurrentCorrelationId}});var fn=bh();Object.defineProperty(Te,"CryptoService",{enumerable:!0,get:function(){return fn.CryptoService}});Object.defineProperty(Te,"AuthService",{enumerable:!0,get:function(){return fn.AuthService}});Object.defineProperty(Te,"StatusDetector",{enumerable:!0,get:function(){return fn.StatusDetector}});Object.defineProperty(Te,"WebSocketService",{enumerable:!0,get:function(){return fn.WebSocketService}});Object.defineProperty(Te,"FileTransferService",{enumerable:!0,get:function(){return fn.FileTransferService}});Object.defineProperty(Te,"FileListService",{enumerable:!0,get:function(){return fn.FileListService}});Object.defineProperty(Te,"FileTrackerService",{enumerable:!0,get:function(){return fn.FileTrackerService}})});var vc=F((Ss,yc)=>{(function(r,e){typeof Ss=="object"&&typeof yc=="object"?yc.exports=e(require("child_process"),require("crypto")):typeof define=="function"&&define.amd?define(["child_process","crypto"],e):typeof Ss=="object"?Ss["electron-machine-id"]=e(require("child_process"),require("crypto")):r["electron-machine-id"]=e(r.child_process,r.crypto)})(Ss,function(r,e){return(function(t){function n(i){if(s[i])return s[i].exports;var a=s[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}var s={};return n.m=t,n.c=s,n.p="",n(0)})([function(t,n,s){t.exports=s(34)},function(t,n,s){var i=s(29)("wks"),a=s(33),c=s(2).Symbol,u=typeof c=="function",d=t.exports=function(g){return i[g]||(i[g]=u&&c[g]||(u?c:a)("Symbol."+g))};d.store=i},function(t,n){var s=t.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();typeof __g=="number"&&(__g=s)},function(t,n,s){var i=s(9);t.exports=function(a){if(!i(a))throw TypeError(a+" is not an object!");return a}},function(t,n,s){t.exports=!s(24)(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7})},function(t,n,s){var i=s(12),a=s(17);t.exports=s(4)?function(c,u,d){return i.f(c,u,a(1,d))}:function(c,u,d){return c[u]=d,c}},function(t,n){var s=t.exports={version:"2.4.0"};typeof __e=="number"&&(__e=s)},function(t,n,s){var i=s(14);t.exports=function(a,c,u){if(i(a),c===void 0)return a;switch(u){case 1:return function(d){return a.call(c,d)};case 2:return function(d,g){return a.call(c,d,g)};case 3:return function(d,g,m){return a.call(c,d,g,m)}}return function(){return a.apply(c,arguments)}}},function(t,n){var s={}.hasOwnProperty;t.exports=function(i,a){return s.call(i,a)}},function(t,n){t.exports=function(s){return typeof s=="object"?s!==null:typeof s=="function"}},function(t,n){t.exports={}},function(t,n){var s={}.toString;t.exports=function(i){return s.call(i).slice(8,-1)}},function(t,n,s){var i=s(3),a=s(26),c=s(32),u=Object.defineProperty;n.f=s(4)?Object.defineProperty:function(d,g,m){if(i(d),g=c(g,!0),i(m),a)try{return u(d,g,m)}catch{}if("get"in m||"set"in m)throw TypeError("Accessors not supported!");return"value"in m&&(d[g]=m.value),d}},function(t,n,s){var i=s(42),a=s(15);t.exports=function(c){return i(a(c))}},function(t,n){t.exports=function(s){if(typeof s!="function")throw TypeError(s+" is not a function!");return s}},function(t,n){t.exports=function(s){if(s==null)throw TypeError("Can't call method on "+s);return s}},function(t,n,s){var i=s(9),a=s(2).document,c=i(a)&&i(a.createElement);t.exports=function(u){return c?a.createElement(u):{}}},function(t,n){t.exports=function(s,i){return{enumerable:!(1&s),configurable:!(2&s),writable:!(4&s),value:i}}},function(t,n,s){var i=s(12).f,a=s(8),c=s(1)("toStringTag");t.exports=function(u,d,g){u&&!a(u=g?u:u.prototype,c)&&i(u,c,{configurable:!0,value:d})}},function(t,n,s){var i=s(29)("keys"),a=s(33);t.exports=function(c){return i[c]||(i[c]=a(c))}},function(t,n){var s=Math.ceil,i=Math.floor;t.exports=function(a){return isNaN(a=+a)?0:(a>0?i:s)(a)}},function(t,n,s){var i=s(11),a=s(1)("toStringTag"),c=i((function(){return arguments})())=="Arguments",u=function(d,g){try{return d[g]}catch{}};t.exports=function(d){var g,m,y;return d===void 0?"Undefined":d===null?"Null":typeof(m=u(g=Object(d),a))=="string"?m:c?i(g):(y=i(g))=="Object"&&typeof g.callee=="function"?"Arguments":y}},function(t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,n,s){var i=s(2),a=s(6),c=s(7),u=s(5),d="prototype",g=function(m,y,w){var S,T,V,ge=m&g.F,J=m&g.G,A=m&g.S,R=m&g.P,ee=m&g.B,j=m&g.W,Z=J?a:a[y]||(a[y]={}),ce=Z[d],ie=J?i:A?i[y]:(i[y]||{})[d];J&&(w=y);for(S in w)T=!ge&&ie&&ie[S]!==void 0,T&&S in Z||(V=T?ie[S]:w[S],Z[S]=J&&typeof ie[S]!="function"?w[S]:ee&&T?c(V,i):j&&ie[S]==V?(function(_e){var Ye=function(Je,ve,He){if(this instanceof _e){switch(arguments.length){case 0:return new _e;case 1:return new _e(Je);case 2:return new _e(Je,ve)}return new _e(Je,ve,He)}return _e.apply(this,arguments)};return Ye[d]=_e[d],Ye})(V):R&&typeof V=="function"?c(Function.call,V):V,R&&((Z.virtual||(Z.virtual={}))[S]=V,m&g.R&&ce&&!ce[S]&&u(ce,S,V)))};g.F=1,g.G=2,g.S=4,g.P=8,g.B=16,g.W=32,g.U=64,g.R=128,t.exports=g},function(t,n){t.exports=function(s){try{return!!s()}catch{return!0}}},function(t,n,s){t.exports=s(2).document&&document.documentElement},function(t,n,s){t.exports=!s(4)&&!s(24)(function(){return Object.defineProperty(s(16)("div"),"a",{get:function(){return 7}}).a!=7})},function(t,n,s){"use strict";var i=s(28),a=s(23),c=s(57),u=s(5),d=s(8),g=s(10),m=s(45),y=s(18),w=s(52),S=s(1)("iterator"),T=!([].keys&&"next"in[].keys()),V="@@iterator",ge="keys",J="values",A=function(){return this};t.exports=function(R,ee,j,Z,ce,ie,_e){m(j,ee,Z);var Ye,Je,ve,He=function(B){if(!T&&B in Pe)return Pe[B];switch(B){case ge:return function(){return new j(this,B)};case J:return function(){return new j(this,B)}}return function(){return new j(this,B)}},Fe=ee+" Iterator",Qe=ce==J,Ve=!1,Pe=R.prototype,tt=Pe[S]||Pe[V]||ce&&Pe[ce],W=tt||He(ce),we=ce?Qe?He("entries"):W:void 0,P=ee=="Array"&&Pe.entries||tt;if(P&&(ve=w(P.call(new R)),ve!==Object.prototype&&(y(ve,Fe,!0),i||d(ve,S)||u(ve,S,A))),Qe&&tt&&tt.name!==J&&(Ve=!0,W=function(){return tt.call(this)}),i&&!_e||!T&&!Ve&&Pe[S]||u(Pe,S,W),g[ee]=W,g[Fe]=A,ce)if(Ye={values:Qe?W:He(J),keys:ie?W:He(ge),entries:we},_e)for(Je in Ye)Je in Pe||c(Pe,Je,Ye[Je]);else a(a.P+a.F*(T||Ve),ee,Ye);return Ye}},function(t,n){t.exports=!0},function(t,n,s){var i=s(2),a="__core-js_shared__",c=i[a]||(i[a]={});t.exports=function(u){return c[u]||(c[u]={})}},function(t,n,s){var i,a,c,u=s(7),d=s(41),g=s(25),m=s(16),y=s(2),w=y.process,S=y.setImmediate,T=y.clearImmediate,V=y.MessageChannel,ge=0,J={},A="onreadystatechange",R=function(){var j=+this;if(J.hasOwnProperty(j)){var Z=J[j];delete J[j],Z()}},ee=function(j){R.call(j.data)};S&&T||(S=function(j){for(var Z=[],ce=1;arguments.length>ce;)Z.push(arguments[ce++]);return J[++ge]=function(){d(typeof j=="function"?j:Function(j),Z)},i(ge),ge},T=function(j){delete J[j]},s(11)(w)=="process"?i=function(j){w.nextTick(u(R,j,1))}:V?(a=new V,c=a.port2,a.port1.onmessage=ee,i=u(c.postMessage,c,1)):y.addEventListener&&typeof postMessage=="function"&&!y.importScripts?(i=function(j){y.postMessage(j+"","*")},y.addEventListener("message",ee,!1)):i=A in m("script")?function(j){g.appendChild(m("script"))[A]=function(){g.removeChild(this),R.call(j)}}:function(j){setTimeout(u(R,j,1),0)}),t.exports={set:S,clear:T}},function(t,n,s){var i=s(20),a=Math.min;t.exports=function(c){return c>0?a(i(c),9007199254740991):0}},function(t,n,s){var i=s(9);t.exports=function(a,c){if(!i(a))return a;var u,d;if(c&&typeof(u=a.toString)=="function"&&!i(d=u.call(a))||typeof(u=a.valueOf)=="function"&&!i(d=u.call(a))||!c&&typeof(u=a.toString)=="function"&&!i(d=u.call(a)))return d;throw TypeError("Can't convert object to primitive value")}},function(t,n){var s=0,i=Math.random();t.exports=function(a){return"Symbol(".concat(a===void 0?"":a,")_",(++s+i).toString(36))}},function(t,n,s){"use strict";function i(A){return A&&A.__esModule?A:{default:A}}function a(){return process.platform!=="win32"?"":process.arch==="ia32"&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"}function c(A){return(0,S.createHash)("sha256").update(A).digest("hex")}function u(A){switch(V){case"darwin":return A.split("IOPlatformUUID")[1].split(`
30
+ `)[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return A.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":return A.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"freebsd":return A.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw new Error("Unsupported platform: "+process.platform)}}function d(A){var R=u((0,w.execSync)(J[V]).toString());return A?R:c(R)}function g(A){return new y.default(function(R,ee){return(0,w.exec)(J[V],{},function(j,Z,ce){if(j)return ee(new Error("Error while obtaining machine id: "+j.stack));var ie=u(Z.toString());return R(A?ie:c(ie))})})}Object.defineProperty(n,"__esModule",{value:!0});var m=s(35),y=i(m);n.machineIdSync=d,n.machineId=g;var w=s(70),S=s(71),T=process,V=T.platform,ge={native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"},J={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:ge[a()]+"\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",linux:"( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",freebsd:"kenv -q smbios.system.uuid || sysctl -n kern.hostuuid"}},function(t,n,s){t.exports={default:s(36),__esModule:!0}},function(t,n,s){s(66),s(68),s(69),s(67),t.exports=s(6).Promise},function(t,n){t.exports=function(){}},function(t,n){t.exports=function(s,i,a,c){if(!(s instanceof i)||c!==void 0&&c in s)throw TypeError(a+": incorrect invocation!");return s}},function(t,n,s){var i=s(13),a=s(31),c=s(62);t.exports=function(u){return function(d,g,m){var y,w=i(d),S=a(w.length),T=c(m,S);if(u&&g!=g){for(;S>T;)if(y=w[T++],y!=y)return!0}else for(;S>T;T++)if((u||T in w)&&w[T]===g)return u||T||0;return!u&&-1}}},function(t,w,s){var i=s(7),a=s(44),c=s(43),u=s(3),d=s(31),g=s(64),m={},y={},w=t.exports=function(S,T,V,ge,J){var A,R,ee,j,Z=J?function(){return S}:g(S),ce=i(V,ge,T?2:1),ie=0;if(typeof Z!="function")throw TypeError(S+" is not iterable!");if(c(Z)){for(A=d(S.length);A>ie;ie++)if(j=T?ce(u(R=S[ie])[0],R[1]):ce(S[ie]),j===m||j===y)return j}else for(ee=Z.call(S);!(R=ee.next()).done;)if(j=a(ee,ce,R.value,T),j===m||j===y)return j};w.BREAK=m,w.RETURN=y},function(t,n){t.exports=function(s,i,a){var c=a===void 0;switch(i.length){case 0:return c?s():s.call(a);case 1:return c?s(i[0]):s.call(a,i[0]);case 2:return c?s(i[0],i[1]):s.call(a,i[0],i[1]);case 3:return c?s(i[0],i[1],i[2]):s.call(a,i[0],i[1],i[2]);case 4:return c?s(i[0],i[1],i[2],i[3]):s.call(a,i[0],i[1],i[2],i[3])}return s.apply(a,i)}},function(t,n,s){var i=s(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return i(a)=="String"?a.split(""):Object(a)}},function(t,n,s){var i=s(10),a=s(1)("iterator"),c=Array.prototype;t.exports=function(u){return u!==void 0&&(i.Array===u||c[a]===u)}},function(t,n,s){var i=s(3);t.exports=function(a,c,u,d){try{return d?c(i(u)[0],u[1]):c(u)}catch(m){var g=a.return;throw g!==void 0&&i(g.call(a)),m}}},function(t,n,s){"use strict";var i=s(49),a=s(17),c=s(18),u={};s(5)(u,s(1)("iterator"),function(){return this}),t.exports=function(d,g,m){d.prototype=i(u,{next:a(1,m)}),c(d,g+" Iterator")}},function(t,n,s){var i=s(1)("iterator"),a=!1;try{var c=[7][i]();c.return=function(){a=!0},Array.from(c,function(){throw 2})}catch{}t.exports=function(u,d){if(!d&&!a)return!1;var g=!1;try{var m=[7],y=m[i]();y.next=function(){return{done:g=!0}},m[i]=function(){return y},u(m)}catch{}return g}},function(t,n){t.exports=function(s,i){return{value:i,done:!!s}}},function(t,n,s){var i=s(2),a=s(30).set,c=i.MutationObserver||i.WebKitMutationObserver,u=i.process,d=i.Promise,g=s(11)(u)=="process";t.exports=function(){var m,y,w,S=function(){var J,A;for(g&&(J=u.domain)&&J.exit();m;){A=m.fn,m=m.next;try{A()}catch(R){throw m?w():y=void 0,R}}y=void 0,J&&J.enter()};if(g)w=function(){u.nextTick(S)};else if(c){var T=!0,V=document.createTextNode("");new c(S).observe(V,{characterData:!0}),w=function(){V.data=T=!T}}else if(d&&d.resolve){var ge=d.resolve();w=function(){ge.then(S)}}else w=function(){a.call(i,S)};return function(J){var A={fn:J,next:void 0};y&&(y.next=A),m||(m=A,w()),y=A}}},function(t,n,s){var i=s(3),a=s(50),c=s(22),u=s(19)("IE_PROTO"),d=function(){},g="prototype",m=function(){var y,w=s(16)("iframe"),S=c.length,T=">";for(w.style.display="none",s(25).appendChild(w),w.src="javascript:",y=w.contentWindow.document,y.open(),y.write("<script>document.F=Object</script"+T),y.close(),m=y.F;S--;)delete m[g][c[S]];return m()};t.exports=Object.create||function(y,w){var S;return y!==null?(d[g]=i(y),S=new d,d[g]=null,S[u]=y):S=m(),w===void 0?S:a(S,w)}},function(t,n,s){var i=s(12),a=s(3),c=s(54);t.exports=s(4)?Object.defineProperties:function(u,d){a(u);for(var g,m=c(d),y=m.length,w=0;y>w;)i.f(u,g=m[w++],d[g]);return u}},function(t,n,s){var i=s(55),a=s(17),c=s(13),u=s(32),d=s(8),g=s(26),m=Object.getOwnPropertyDescriptor;n.f=s(4)?m:function(y,w){if(y=c(y),w=u(w,!0),g)try{return m(y,w)}catch{}if(d(y,w))return a(!i.f.call(y,w),y[w])}},function(t,n,s){var i=s(8),a=s(63),c=s(19)("IE_PROTO"),u=Object.prototype;t.exports=Object.getPrototypeOf||function(d){return d=a(d),i(d,c)?d[c]:typeof d.constructor=="function"&&d instanceof d.constructor?d.constructor.prototype:d instanceof Object?u:null}},function(t,n,s){var i=s(8),a=s(13),c=s(39)(!1),u=s(19)("IE_PROTO");t.exports=function(d,g){var m,y=a(d),w=0,S=[];for(m in y)m!=u&&i(y,m)&&S.push(m);for(;g.length>w;)i(y,m=g[w++])&&(~c(S,m)||S.push(m));return S}},function(t,n,s){var i=s(53),a=s(22);t.exports=Object.keys||function(c){return i(c,a)}},function(t,n){n.f={}.propertyIsEnumerable},function(t,n,s){var i=s(5);t.exports=function(a,c,u){for(var d in c)u&&a[d]?a[d]=c[d]:i(a,d,c[d]);return a}},function(t,n,s){t.exports=s(5)},function(t,n,s){var i=s(9),a=s(3),c=function(u,d){if(a(u),!i(d)&&d!==null)throw TypeError(d+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?(function(u,d,g){try{g=s(7)(Function.call,s(51).f(Object.prototype,"__proto__").set,2),g(u,[]),d=!(u instanceof Array)}catch{d=!0}return function(m,y){return c(m,y),d?m.__proto__=y:g(m,y),m}})({},!1):void 0),check:c}},function(t,n,s){"use strict";var i=s(2),a=s(6),c=s(12),u=s(4),d=s(1)("species");t.exports=function(g){var m=typeof a[g]=="function"?a[g]:i[g];u&&m&&!m[d]&&c.f(m,d,{configurable:!0,get:function(){return this}})}},function(t,n,s){var i=s(3),a=s(14),c=s(1)("species");t.exports=function(u,d){var g,m=i(u).constructor;return m===void 0||(g=i(m)[c])==null?d:a(g)}},function(t,n,s){var i=s(20),a=s(15);t.exports=function(c){return function(u,d){var g,m,y=String(a(u)),w=i(d),S=y.length;return w<0||w>=S?c?"":void 0:(g=y.charCodeAt(w),g<55296||g>56319||w+1===S||(m=y.charCodeAt(w+1))<56320||m>57343?c?y.charAt(w):g:c?y.slice(w,w+2):(g-55296<<10)+(m-56320)+65536)}}},function(t,n,s){var i=s(20),a=Math.max,c=Math.min;t.exports=function(u,d){return u=i(u),u<0?a(u+d,0):c(u,d)}},function(t,n,s){var i=s(15);t.exports=function(a){return Object(i(a))}},function(t,n,s){var i=s(21),a=s(1)("iterator"),c=s(10);t.exports=s(6).getIteratorMethod=function(u){if(u!=null)return u[a]||u["@@iterator"]||c[i(u)]}},function(t,n,s){"use strict";var i=s(37),a=s(47),c=s(10),u=s(13);t.exports=s(27)(Array,"Array",function(d,g){this._t=u(d),this._i=0,this._k=g},function(){var d=this._t,g=this._k,m=this._i++;return!d||m>=d.length?(this._t=void 0,a(1)):g=="keys"?a(0,m):g=="values"?a(0,d[m]):a(0,[m,d[m]])},"values"),c.Arguments=c.Array,i("keys"),i("values"),i("entries")},function(t,n){},function(t,n,s){"use strict";var i,a,c,u=s(28),d=s(2),g=s(7),m=s(21),y=s(23),w=s(9),S=(s(3),s(14)),T=s(38),V=s(40),ge=(s(58).set,s(60)),J=s(30).set,A=s(48)(),R="Promise",ee=d.TypeError,Z=d.process,j=d[R],Z=d.process,ce=m(Z)=="process",ie=function(){},_e=!!(function(){try{var P=j.resolve(1),B=(P.constructor={})[s(1)("species")]=function(L){L(ie,ie)};return(ce||typeof PromiseRejectionEvent=="function")&&P.then(ie)instanceof B}catch{}})(),Ye=function(P,B){return P===B||P===j&&B===c},Je=function(P){var B;return!(!w(P)||typeof(B=P.then)!="function")&&B},ve=function(P){return Ye(j,P)?new He(P):new a(P)},He=a=function(P){var B,L;this.promise=new P(function(oe,Ie){if(B!==void 0||L!==void 0)throw ee("Bad Promise constructor");B=oe,L=Ie}),this.resolve=S(B),this.reject=S(L)},Fe=function(P){try{P()}catch(B){return{error:B}}},Qe=function(P,B){if(!P._n){P._n=!0;var L=P._c;A(function(){for(var oe=P._v,Ie=P._s==1,lt=0,vt=function(Et){var wt,ir,br=Ie?Et.ok:Et.fail,Wr=Et.resolve,xr=Et.reject,gn=Et.domain;try{br?(Ie||(P._h==2&&tt(P),P._h=1),br===!0?wt=oe:(gn&&gn.enter(),wt=br(oe),gn&&gn.exit()),wt===Et.promise?xr(ee("Promise-chain cycle")):(ir=Je(wt))?ir.call(wt,Wr,xr):Wr(wt)):xr(oe)}catch(Ls){xr(Ls)}};L.length>lt;)vt(L[lt++]);P._c=[],P._n=!1,B&&!P._h&&Ve(P)})}},Ve=function(P){J.call(d,function(){var B,L,oe,Ie=P._v;if(Pe(P)&&(B=Fe(function(){ce?Z.emit("unhandledRejection",Ie,P):(L=d.onunhandledrejection)?L({promise:P,reason:Ie}):(oe=d.console)&&oe.error&&oe.error("Unhandled promise rejection",Ie)}),P._h=ce||Pe(P)?2:1),P._a=void 0,B)throw B.error})},Pe=function(P){if(P._h==1)return!1;for(var B,L=P._a||P._c,oe=0;L.length>oe;)if(B=L[oe++],B.fail||!Pe(B.promise))return!1;return!0},tt=function(P){J.call(d,function(){var B;ce?Z.emit("rejectionHandled",P):(B=d.onrejectionhandled)&&B({promise:P,reason:P._v})})},W=function(P){var B=this;B._d||(B._d=!0,B=B._w||B,B._v=P,B._s=2,B._a||(B._a=B._c.slice()),Qe(B,!0))},we=function(P){var B,L=this;if(!L._d){L._d=!0,L=L._w||L;try{if(L===P)throw ee("Promise can't be resolved itself");(B=Je(P))?A(function(){var oe={_w:L,_d:!1};try{B.call(P,g(we,oe,1),g(W,oe,1))}catch(Ie){W.call(oe,Ie)}}):(L._v=P,L._s=1,Qe(L,!1))}catch(oe){W.call({_w:L,_d:!1},oe)}}};_e||(j=function(P){T(this,j,R,"_h"),S(P),i.call(this);try{P(g(we,this,1),g(W,this,1))}catch(B){W.call(this,B)}},i=function(P){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},i.prototype=s(56)(j.prototype,{then:function(P,B){var L=ve(ge(this,j));return L.ok=typeof P!="function"||P,L.fail=typeof B=="function"&&B,L.domain=ce?Z.domain:void 0,this._c.push(L),this._a&&this._a.push(L),this._s&&Qe(this,!1),L.promise},catch:function(P){return this.then(void 0,P)}}),He=function(){var P=new i;this.promise=P,this.resolve=g(we,P,1),this.reject=g(W,P,1)}),y(y.G+y.W+y.F*!_e,{Promise:j}),s(18)(j,R),s(59)(R),c=s(6)[R],y(y.S+y.F*!_e,R,{reject:function(P){var B=ve(this),L=B.reject;return L(P),B.promise}}),y(y.S+y.F*(u||!_e),R,{resolve:function(P){if(P instanceof j&&Ye(P.constructor,this))return P;var B=ve(this),L=B.resolve;return L(P),B.promise}}),y(y.S+y.F*!(_e&&s(46)(function(P){j.all(P).catch(ie)})),R,{all:function(P){var B=this,L=ve(B),oe=L.resolve,Ie=L.reject,lt=Fe(function(){var vt=[],Et=0,wt=1;V(P,!1,function(ir){var br=Et++,Wr=!1;vt.push(void 0),wt++,B.resolve(ir).then(function(xr){Wr||(Wr=!0,vt[br]=xr,--wt||oe(vt))},Ie)}),--wt||oe(vt)});return lt&&Ie(lt.error),L.promise},race:function(P){var B=this,L=ve(B),oe=L.reject,Ie=Fe(function(){V(P,!1,function(lt){B.resolve(lt).then(L.resolve,oe)})});return Ie&&oe(Ie.error),L.promise}})},function(t,n,s){"use strict";var i=s(61)(!0);s(27)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,c=this._t,u=this._i;return u>=c.length?{value:void 0,done:!0}:(a=i(c,u),this._i+=a.length,{value:a,done:!1})})},function(t,n,s){s(65);for(var i=s(2),a=s(5),c=s(10),u=s(1)("toStringTag"),d=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],g=0;g<5;g++){var m=d[g],y=i[m],w=y&&y.prototype;w&&!w[u]&&a(w,u,m),c[m]=c.Array}},function(t,n){t.exports=require("child_process")},function(t,n){t.exports=require("crypto")}])})});function Ay(){try{return wc.default.statSync("/.dockerenv"),!0}catch{return!1}}function Iy(){try{return wc.default.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function bc(){return Ec===void 0&&(Ec=Ay()||Iy()),Ec}var wc,Ec,Oh=Mt(()=>{wc=ue(require("node:fs"),1)});function Hn(){return xc===void 0&&(xc=Ly()||bc()),xc}var kh,xc,Ly,Sc=Mt(()=>{kh=ue(require("node:fs"),1);Oh();Ly=()=>{try{return kh.default.statSync("/run/.containerenv"),!0}catch{return!1}}});var Tc,Ph,Ah,Rh,Br,Cc=Mt(()=>{Tc=ue(require("node:process"),1),Ph=ue(require("node:os"),1),Ah=ue(require("node:fs"),1);Sc();Rh=()=>{if(Tc.default.platform!=="linux")return!1;if(Ph.default.release().toLowerCase().includes("microsoft"))return!Hn();try{return Ah.default.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!Hn():!1}catch{return!1}},Br=Tc.default.env.__IS_WSL_TEST__?Rh:Rh()});var Oc,Os,Ny,Dy,kc,Ih=Mt(()=>{Oc=ue(require("node:process"),1),Os=ue(require("node:fs/promises"),1);Cc();Cc();Ny=(()=>{let r="/mnt/",e;return async function(){if(e)return e;let t="/etc/wsl.conf",n=!1;try{await Os.default.access(t,Os.constants.F_OK),n=!0}catch{}if(!n)return r;let s=await Os.default.readFile(t,{encoding:"utf8"}),i=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(s);return i?(e=i.groups.mountPoint.trim(),e=e.endsWith("/")?e:`${e}/`,e):r}})(),Dy=async()=>`${await Ny()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`,kc=async()=>Br?Dy():`${Oc.default.env.SYSTEMROOT||Oc.default.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`});function jr(r,e,t){let n=s=>Object.defineProperty(r,e,{value:s,enumerable:!0,writable:!0});return Object.defineProperty(r,e,{configurable:!0,enumerable:!0,get(){let s=t();return n(s),s},set(s){n(s)}}),r}var Lh=Mt(()=>{});async function Rc(){if(Dh.default.platform!=="darwin")throw new Error("macOS only");let{stdout:r}=await Fy("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),t=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(r)?.groups.id??"com.apple.Safari";return t==="com.apple.safari"?"com.apple.Safari":t}var Nh,Dh,Fh,Fy,Mh=Mt(()=>{Nh=require("node:util"),Dh=ue(require("node:process"),1),Fh=require("node:child_process"),Fy=(0,Nh.promisify)(Fh.execFile)});async function Uh(r,{humanReadableOutput:e=!0,signal:t}={}){if(Bh.default.platform!=="darwin")throw new Error("macOS only");let n=e?[]:["-ss"],s={};t&&(s.signal=t);let{stdout:i}=await My("osascript",["-e",r,n],s);return i.trim()}var Bh,jh,Pc,My,qh=Mt(()=>{Bh=ue(require("node:process"),1),jh=require("node:util"),Pc=require("node:child_process"),My=(0,jh.promisify)(Pc.execFile)});async function Ac(r){return Uh(`tell application "Finder" to set app_path to application file id "${r}" as string
31
+ tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}var Wh=Mt(()=>{qh()});async function Lc(r=By){let{stdout:e}=await r("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),t=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(e);if(!t)throw new Ic(`Cannot find Windows browser in stdout: ${JSON.stringify(e)}`);let{id:n}=t.groups,s=n.lastIndexOf("."),i=n.lastIndexOf("-"),a=s===-1?void 0:n.slice(0,s),c=i===-1?void 0:n.slice(0,i);return Zi[n]??Zi[a]??Zi[c]??{name:n,id:n}}var Hh,Vh,By,Zi,Vw,Ic,Kh=Mt(()=>{Hh=require("node:util"),Vh=require("node:child_process"),By=(0,Hh.promisify)(Vh.execFile),Zi={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},Vw=new Map(Object.entries(Zi)),Ic=class extends Error{}});async function Nc(){if(Qi.default.platform==="darwin"){let r=await Rc();return{name:await Ac(r),id:r}}if(Qi.default.platform==="linux"){let{stdout:r}=await jy("xdg-mime",["query","default","x-scheme-handler/http"]),e=r.trim();return{name:Uy(e.replace(/.desktop$/,"").replace("-"," ")),id:e}}if(Qi.default.platform==="win32")return Lc();throw new Error("Only macOS, Linux, and Windows are supported")}var $h,Qi,zh,jy,Uy,Gh=Mt(()=>{$h=require("node:util"),Qi=ue(require("node:process"),1),zh=require("node:child_process");Mh();Wh();Kh();jy=(0,$h.promisify)(zh.execFile),Uy=r=>r.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,e=>e.toUpperCase())});var td={};Yd(td,{apps:()=>Ur,default:()=>Ky,openApp:()=>Vy});async function Wy(){let r=await kc(),e=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,t=Mc.Buffer.from(e,"utf16le").toString("base64"),{stdout:n}=await qy(r,["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand",t],{encoding:"utf8"}),s=n.trim(),i={ChromeHTML:"com.google.chrome",BraveHTML:"com.brave.Browser",MSEdgeHTM:"com.microsoft.edge",FirefoxURL:"org.mozilla.firefox"};return i[s]?{id:i[s]}:{}}function Zh(r){if(typeof r=="string"||Array.isArray(r))return r;let{[Xh]:e}=r;if(!e)throw new Error(`${Xh} is not supported`);return e}function to({[Vn]:r},{wsl:e}){if(e&&Br)return Zh(e);if(!r)throw new Error(`${Vn} is not supported`);return Zh(r)}var Fc,Mc,Bc,Qh,ed,jc,eo,$y,qy,Dc,Yh,Vn,Xh,Jh,ks,Hy,Vy,Ur,Ky,rd=Mt(()=>{Fc=ue(require("node:process"),1),Mc=require("node:buffer"),Bc=ue(require("node:path"),1),Qh=require("node:url"),ed=require("node:util"),jc=ue(require("node:child_process"),1),eo=ue(require("node:fs/promises"),1);Ih();Lh();Gh();Sc();$y={},qy=(0,ed.promisify)(jc.default.execFile),Dc=Bc.default.dirname((0,Qh.fileURLToPath)($y.url)),Yh=Bc.default.join(Dc,"xdg-open"),{platform:Vn,arch:Xh}=Fc.default;Jh=async(r,e)=>{let t;for(let n of r)try{return await e(n)}catch(s){t=s}throw t},ks=async r=>{if(r={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...r},Array.isArray(r.app))return Jh(r.app,c=>ks({...r,app:c}));let{name:e,arguments:t=[]}=r.app??{};if(t=[...t],Array.isArray(e))return Jh(e,c=>ks({...r,app:{name:c,arguments:t}}));if(e==="browser"||e==="browserPrivate"){let c={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.Browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge"},u={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},d=Br?await Wy():await Nc();if(d.id in c){let g=c[d.id];return e==="browserPrivate"&&t.push(u[g]),ks({...r,app:{name:Ur[g],arguments:t}})}throw new Error(`${d.name} is not supported as a default browser`)}let n,s=[],i={};if(Vn==="darwin")n="open",r.wait&&s.push("--wait-apps"),r.background&&s.push("--background"),r.newInstance&&s.push("--new"),e&&s.push("-a",e);else if(Vn==="win32"||Br&&!Hn()&&!e){n=await kc(),s.push("-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"),Br||(i.windowsVerbatimArguments=!0);let c=["Start"];r.wait&&c.push("-Wait"),e?(c.push(`"\`"${e}\`""`),r.target&&t.push(r.target)):r.target&&c.push(`"${r.target}"`),t.length>0&&(t=t.map(u=>`"\`"${u}\`""`),c.push("-ArgumentList",t.join(","))),r.target=Mc.Buffer.from(c.join(" "),"utf16le").toString("base64")}else{if(e)n=e;else{let c=!Dc||Dc==="/",u=!1;try{await eo.default.access(Yh,eo.constants.X_OK),u=!0}catch{}n=Fc.default.versions.electron??(Vn==="android"||c||!u)?"xdg-open":Yh}t.length>0&&s.push(...t),r.wait||(i.stdio="ignore",i.detached=!0)}Vn==="darwin"&&t.length>0&&s.push("--args",...t),r.target&&s.push(r.target);let a=jc.default.spawn(n,s,i);return r.wait?new Promise((c,u)=>{a.once("error",u),a.once("close",d=>{if(!r.allowNonzeroExitCode&&d>0){u(new Error(`Exited with code ${d}`));return}c(a)})}):(a.unref(),a)},Hy=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a `target`");return ks({...e,target:r})},Vy=(r,e)=>{if(typeof r!="string"&&!Array.isArray(r))throw new TypeError("Expected a valid `name`");let{arguments:t=[]}=e??{};if(t!=null&&!Array.isArray(t))throw new TypeError("Expected `appArguments` as Array type");return ks({...e,app:{name:r,arguments:t}})};Ur={};jr(Ur,"chrome",()=>to({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));jr(Ur,"brave",()=>to({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}}));jr(Ur,"firefox",()=>to({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));jr(Ur,"edge",()=>to({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));jr(Ur,"browser",()=>"browser");jr(Ur,"browserPrivate",()=>"browserPrivate");Ky=Hy});var ar=ue(require("fs")),qs=ue(require("path"));var af=ue(require("os")),cf=ue(require("path")),js=ue(require("fs"));function Us(){let r=cf.join(af.homedir(),".termiq");return js.existsSync(r)||js.mkdirSync(r,{recursive:!0,mode:448}),r}var Zn=class{filePath;data={};constructor(){this.filePath=qs.join(Us(),"credentials"),this.load()}async get(e){return this.data[e]}async set(e,t){this.data[e]=t,this.save()}async delete(e){delete this.data[e],this.save()}load(){try{if(ar.existsSync(this.filePath)){let e=ar.readFileSync(this.filePath,"utf-8");this.data=JSON.parse(e)}}catch{this.data={}}}save(){let e=qs.dirname(this.filePath);ar.existsSync(e)||ar.mkdirSync(e,{recursive:!0,mode:448}),ar.writeFileSync(this.filePath,JSON.stringify(this.data,null,2),{mode:384})}};var cr=ue(require("fs")),Ws=ue(require("path"));var Jd={serverUrl:"https://termiq.io",agentName:""},Qn=class{config;filePath;constructor(e){this.filePath=Ws.join(Us(),"config.json"),this.config={...Jd,...this.loadFromFile(),...e}}getServerUrl(){return this.config.serverUrl}getAgentName(){return this.config.agentName}isAutoConnect(){return!0}async setAgentName(e){this.config.agentName=e,this.saveToFile()}loadFromFile(){try{if(cr.existsSync(this.filePath)){let e=cr.readFileSync(this.filePath,"utf-8");return JSON.parse(e)}}catch{}return{}}saveToFile(){let e=Ws.dirname(this.filePath);cr.existsSync(e)||cr.mkdirSync(e,{recursive:!0,mode:448}),cr.writeFileSync(this.filePath,JSON.stringify(this.config,null,2))}};var pt=ue(require("fs")),_c=ue(require("path")),Sh=ue(require("os")),Ji=ue(bs()),Oy="cli",mc=_c.join(Sh.homedir(),".termiq","logs"),Mr=_c.join(mc,"cli.log"),ky=5*1024*1024,xh=3;function Ry(){try{if(!pt.existsSync(Mr)||pt.statSync(Mr).size<ky)return;for(let e=xh-1;e>=1;e--){let t=`${Mr}.${e}`,n=`${Mr}.${e+1}`;pt.existsSync(t)&&(e+1>xh?pt.unlinkSync(t):pt.renameSync(t,n))}pt.renameSync(Mr,`${Mr}.1`)}catch{}}function Py(r){try{pt.existsSync(mc)||pt.mkdirSync(mc,{recursive:!0}),Ry(),pt.appendFileSync(Mr,r+`
32
+ `,{encoding:"utf8"})}catch{}}var xs=class{level;toFile;constructor(e="silent",t=!1){typeof e=="boolean"?this.level=e?"info":"silent":this.level=e,this.toFile=t}static getLogFilePath(){return Mr}write(e,t,n){if(!(0,Ji.shouldLog)(e,this.level))return;let s=(0,Ji.formatLogLine)(e,Oy,t,n);this.toFile?Py(s):process.stderr.write(s+`
33
+ `)}info(e,...t){this.write("info",e,t)}warn(e,...t){this.write("warn",e,t)}error(e,...t){this.write("error",e,t)}debug(e,...t){this.write("debug",e,t)}};var Th=ue(require("os")),Ch=ue(vc()),Ts=class{cachedId=null;name;constructor(e){this.name=e||Th.hostname()||"CLI"}async getMachineId(){if(this.cachedId)return this.cachedId;try{this.cachedId=(0,Ch.machineIdSync)()}catch{this.cachedId=`cli_${Date.now()}_${Math.random().toString(36).slice(2,9)}`}return this.cachedId}getMachineName(){return this.name}};var Cs=class{constructor(e){this.logger=e}info(e){this.logger.info("Notification",{message:e})}warn(e){this.logger.warn("Notification",{message:e})}error(e){this.logger.error("Notification",{message:e})}};var Rs=class{async openUrl(e){let{default:t}=await Promise.resolve().then(()=>(rd(),td));await t(e)}};var nd=ue(require("fs")),Uc=ue(require("path"));function ro(r){let e=r?[r]:[Uc.join(__dirname,"..","package.json"),Uc.join(__dirname,"..","..","package.json")];for(let t of e)try{let n=JSON.parse(nd.readFileSync(t,"utf8"));if(typeof n.version=="string"&&n.version.length>0)return n.version}catch{}return"unknown"}function sd(r,e){for(let t=0;t<r.length;t++){let n=r[t];if(n.startsWith("-")){e.has(n)&&t++;continue}return n}}var qc=new Set(["--cid","--token","--server","--log-level"]),id=new Set(["--help","-h","--version","-V","--verbose","-v","--watch","-w","--log-to-file","--statusline"]);function od(r,e,t){for(let n=0;n<r.length;n++){let s=r[n];if(!s.startsWith("-"))continue;let i=s.includes("=")?s.slice(0,s.indexOf("=")):s;if(e.has(i)||t.has(i)){e.has(i)&&!s.includes("=")&&n++;continue}return s}}var Ld=ue(require("path")),yt=ue(bs());var ad=ue(require("os")),cd=ue(require("node-pty")),fd=ue(bs()),no=class r{ptyProcess=null;outputBuffer=new fd.CircularBuffer(100);logger;onOutput=null;onExit=null;preWriteHook=null;onResize=null;sigwinchEnabled=!0;sigwinchListener=null;desiredCols=null;desiredRows=null;rebroadcastTimers=[];static REBROADCAST_DELAYS_MS=[50,200,500];reservedBottomRows=0;constructor(e){this.logger=e}spawn(e,t=0){let n=process.env.SHELL||(ad.platform()==="win32"?"powershell.exe":"/bin/bash"),s=process.stdout.columns||80,i=process.stdout.rows||24,a=Math.max(1,i-t);this.reservedBottomRows=t,this.ptyProcess=cd.spawn(n,[],{name:"xterm-256color",cols:s,rows:a,cwd:e,env:process.env}),this.onResize?.(s,a);let c=`cli_${this.ptyProcess.pid}`;return this.ptyProcess.onData(u=>{this.preWriteHook?.(u),process.stdout.write(u),this.outputBuffer.append(u),this.onOutput?.(u)}),this.ptyProcess.onExit(({exitCode:u})=>{this.logger.info("Shell exited",String(u)),this.onExit?.(u)}),process.stdin.isTTY&&process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.on("data",u=>{this.ptyProcess?.write(u.toString())}),this.sigwinchListener=()=>{let u=process.stdout.columns||80,d=Math.max(1,(process.stdout.rows||24)-this.reservedBottomRows);if(!this.sigwinchEnabled){this.logger.info("Local resize ignored (PWA viewers attached)",{cols:u,rows:d});return}this.logger.info("Local resize applied",{cols:u,rows:d}),this.ptyProcess?.resize(u,d),this.onResize?.(u,d)},process.platform==="win32"?process.stdout.on("resize",this.sigwinchListener):process.on("SIGWINCH",this.sigwinchListener),this.logger.info("Shell spawned",n,c),c}write(e){this.ptyProcess?.write(e)}resize(e,t){this.desiredCols=e,this.desiredRows=t,this.ptyProcess?.resize(e,t),this.onResize?.(e,t),this.cancelRebroadcast();for(let n of r.REBROADCAST_DELAYS_MS)this.rebroadcastTimers.push(setTimeout(()=>{this.ptyProcess&&(this.desiredCols!==e||this.desiredRows!==t||this.ptyProcess.resize(e,t))},n))}cancelRebroadcast(){for(let e of this.rebroadcastTimers)clearTimeout(e);this.rebroadcastTimers=[]}setSigwinchEnabled(e){this.sigwinchEnabled!==e&&(this.sigwinchEnabled=e,this.logger.info("SIGWINCH listener",{enabled:e}))}getBuffer(){return this.outputBuffer.getContent()}getLastBytes(e){return this.outputBuffer.getLastBytes(e)}setOnOutput(e){this.onOutput=e}setPreWriteHook(e){this.preWriteHook=e}setOnResize(e){this.onResize=e}setOnExit(e){this.onExit=e}kill(){this.ptyProcess?.kill(),this.ptyProcess=null}dispose(){this.kill(),this.cancelRebroadcast(),this.sigwinchListener&&(process.platform==="win32"?process.stdout.removeListener("resize",this.sigwinchListener):process.removeListener("SIGWINCH",this.sigwinchListener),this.sigwinchListener=null),process.stdin.isTTY&&process.stdin.setRawMode(!1),process.stdin.pause()}};var qr=ue(require("path")),$n=ue(require("fs"));var Td=require("node:events"),Cd=require("node:fs"),lo=require("node:fs/promises"),Ee=ue(require("node:path"),1);var vr=require("node:fs/promises"),Er=require("node:path"),dd=require("node:stream"),Ct={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},Wc={root:".",fileFilter:r=>!0,directoryFilter:r=>!0,type:Ct.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(Wc);var pd="READDIRP_RECURSIVE_ERROR",zy=new Set(["ENOENT","EPERM","EACCES","ELOOP",pd]),ud=[Ct.DIR_TYPE,Ct.EVERYTHING_TYPE,Ct.FILE_DIR_TYPE,Ct.FILE_TYPE],Gy=new Set([Ct.DIR_TYPE,Ct.EVERYTHING_TYPE,Ct.FILE_DIR_TYPE]),Yy=new Set([Ct.EVERYTHING_TYPE,Ct.FILE_DIR_TYPE,Ct.FILE_TYPE]),Xy=r=>zy.has(r.code),Jy=process.platform==="win32",ld=r=>!0,hd=r=>{if(r===void 0)return ld;if(typeof r=="function")return r;if(typeof r=="string"){let e=r.trim();return t=>t.basename===e}if(Array.isArray(r)){let e=r.map(t=>t.trim());return t=>e.some(n=>t.basename===n)}return ld},Hc=class extends dd.Readable{parents;reading;parent;_stat;_maxDepth;_wantsDir;_wantsFile;_wantsEverything;_root;_isDirent;_statsProp;_rdOptions;_fileFilter;_directoryFilter;constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark});let t={...Wc,...e},{root:n,type:s}=t;this._fileFilter=hd(t.fileFilter),this._directoryFilter=hd(t.directoryFilter);let i=t.lstat?vr.lstat:vr.stat;Jy?this._stat=a=>i(a,{bigint:!0}):this._stat=i,this._maxDepth=t.depth!=null&&Number.isSafeInteger(t.depth)?t.depth:Wc.depth,this._wantsDir=s?Gy.has(s):!1,this._wantsFile=s?Yy.has(s):!1,this._wantsEverything=s===Ct.EVERYTHING_TYPE,this._root=(0,Er.resolve)(n),this._isDirent=!t.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(n,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let t=this.parent,n=t&&t.files;if(n&&n.length>0){let{path:s,depth:i}=t,a=n.splice(0,e).map(u=>this._formatEntry(u,s)),c=await Promise.all(a);for(let u of c){if(!u)continue;if(this.destroyed)return;let d=await this._getEntryType(u);d==="directory"&&this._directoryFilter(u)?(i<=this._maxDepth&&this.parents.push(this._exploreDir(u.fullPath,i+1)),this._wantsDir&&(this.push(u),e--)):(d==="file"||this._includeAsFile(u))&&this._fileFilter(u)&&this._wantsFile&&(this.push(u),e--)}}else{let s=this.parents.pop();if(!s){this.push(null);break}if(this.parent=await s,this.destroyed)return}}}catch(t){this.destroy(t)}finally{this.reading=!1}}}async _exploreDir(e,t){let n;try{n=await(0,vr.readdir)(e,this._rdOptions)}catch(s){this._onError(s)}return{files:n,depth:t,path:e}}async _formatEntry(e,t){let n,s=this._isDirent?e.name:e;try{let i=(0,Er.resolve)((0,Er.join)(t,s));n={path:(0,Er.relative)(this._root,i),fullPath:i,basename:s},n[this._statsProp]=this._isDirent?e:await this._stat(i)}catch(i){this._onError(i);return}return n}_onError(e){Xy(e)&&!this.destroyed?this.emit("warn",e):this.destroy(e)}async _getEntryType(e){if(!e&&this._statsProp in e)return"";let t=e[this._statsProp];if(t.isFile())return"file";if(t.isDirectory())return"directory";if(t&&t.isSymbolicLink()){let n=e.fullPath;try{let s=await(0,vr.realpath)(n),i=await(0,vr.lstat)(s);if(i.isFile())return"file";if(i.isDirectory()){let a=s.length;if(n.startsWith(s)&&n.substr(a,1)===Er.sep){let c=new Error(`Circular symlink detected: "${n}" points to "${s}"`);return c.code=pd,this._onError(c)}return"directory"}}catch(s){return this._onError(s),""}}}_includeAsFile(e){let t=e&&e[this._statsProp];return t&&this._wantsEverything&&!t.isDirectory()}};function gd(r,e={}){let t=e.entryType||e.type;if(t==="both"&&(t=Ct.FILE_DIR_TYPE),t&&(e.type=t),r){if(typeof r!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(t&&!ud.includes(t))throw new Error(`readdirp: Invalid type passed. Use one of ${ud.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return e.root=r,new Hc(e)}var ln=require("node:fs"),Vt=require("node:fs/promises"),_d=require("node:os"),We=ue(require("node:path"),1),Zy="data",$c="end",yd="close",co=()=>{};var fo=process.platform,zc=fo==="win32",Qy=fo==="darwin",ev=fo==="linux",tv=fo==="freebsd",vd=(0,_d.type)()==="OS400",Ke={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},Ht=Ke,rv="watch",nv={lstat:Vt.lstat,stat:Vt.stat},un="listeners",so="errHandlers",Kn="rawEmitters",sv=[un,so,Kn],iv=new Set(["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]),ov=r=>iv.has(We.extname(r).slice(1).toLowerCase()),Kc=(r,e)=>{r instanceof Set?r.forEach(e):e(r)},Ps=(r,e,t)=>{let n=r[e];n instanceof Set||(r[e]=n=new Set([n])),n.add(t)},av=r=>e=>{let t=r[e];t instanceof Set?t.clear():delete r[e]},As=(r,e,t)=>{let n=r[e];n instanceof Set?n.delete(t):n===t&&delete r[e]},Ed=r=>r instanceof Set?r.size===0:!r,io=new Map;function md(r,e,t,n,s){let i=(a,c)=>{t(r),s(a,c,{watchedPath:r}),c&&r!==c&&oo(We.resolve(r,c),un,We.join(r,c))};try{return(0,ln.watch)(r,{persistent:e.persistent},i)}catch(a){n(a);return}}var oo=(r,e,t,n,s)=>{let i=io.get(r);i&&Kc(i[e],a=>{a(t,n,s)})},cv=(r,e,t,n)=>{let{listener:s,errHandler:i,rawEmitter:a}=n,c=io.get(e),u;if(!t.persistent)return u=md(r,t,s,i,a),u?u.close.bind(u):void 0;if(c)Ps(c,un,s),Ps(c,so,i),Ps(c,Kn,a);else{if(u=md(r,t,oo.bind(null,e,un),i,oo.bind(null,e,Kn)),!u)return;u.on(Ht.ERROR,async d=>{let g=oo.bind(null,e,so);if(c&&(c.watcherUnusable=!0),zc&&d.code==="EPERM")try{await(await(0,Vt.open)(r,"r")).close(),g(d)}catch{}else g(d)}),c={listeners:s,errHandlers:i,rawEmitters:a,watcher:u},io.set(e,c)}return()=>{As(c,un,s),As(c,so,i),As(c,Kn,a),Ed(c.listeners)&&(c.watcher.close(),io.delete(e),sv.forEach(av(c)),c.watcher=void 0,Object.freeze(c))}},Vc=new Map,fv=(r,e,t,n)=>{let{listener:s,rawEmitter:i}=n,a=Vc.get(e),c=a&&a.options;return c&&(c.persistent<t.persistent||c.interval>t.interval)&&((0,ln.unwatchFile)(e),a=void 0),a?(Ps(a,un,s),Ps(a,Kn,i)):(a={listeners:s,rawEmitters:i,options:t,watcher:(0,ln.watchFile)(e,t,(u,d)=>{Kc(a.rawEmitters,m=>{m(Ht.CHANGE,e,{curr:u,prev:d})});let g=u.mtimeMs;(u.size!==d.size||g>d.mtimeMs||g===0)&&Kc(a.listeners,m=>m(r,u))})},Vc.set(e,a)),()=>{As(a,un,s),As(a,Kn,i),Ed(a.listeners)&&(Vc.delete(e),(0,ln.unwatchFile)(e),a.options=a.watcher=void 0,Object.freeze(a))}},ao=class{fsw;_boundHandleError;constructor(e){this.fsw=e,this._boundHandleError=t=>e._handleError(t)}_watchWithNodeFs(e,t){let n=this.fsw.options,s=We.dirname(e),i=We.basename(e);this.fsw._getWatchedDir(s).add(i);let c=We.resolve(e),u={persistent:n.persistent};t||(t=co);let d;if(n.usePolling){let g=n.interval!==n.binaryInterval;u.interval=g&&ov(i)?n.binaryInterval:n.interval,d=fv(e,c,u,{listener:t,rawEmitter:this.fsw._emitRaw})}else d=cv(e,c,u,{listener:t,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return d}_handleFile(e,t,n){if(this.fsw.closed)return;let s=We.dirname(e),i=We.basename(e),a=this.fsw._getWatchedDir(s),c=t;if(a.has(i))return;let u=async(g,m)=>{if(this.fsw._throttle(rv,e,5)){if(!m||m.mtimeMs===0)try{let y=await(0,Vt.stat)(e);if(this.fsw.closed)return;let w=y.atimeMs,S=y.mtimeMs;if((!w||w<=S||S!==c.mtimeMs)&&this.fsw._emit(Ht.CHANGE,e,y),(Qy||ev||tv)&&c.ino!==y.ino){this.fsw._closeFile(g),c=y;let T=this._watchWithNodeFs(e,u);T&&this.fsw._addPathCloser(g,T)}else c=y}catch{this.fsw._remove(s,i)}else if(a.has(i)){let y=m.atimeMs,w=m.mtimeMs;(!y||y<=w||w!==c.mtimeMs)&&this.fsw._emit(Ht.CHANGE,e,m),c=m}}},d=this._watchWithNodeFs(e,u);if(!(n&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(Ht.ADD,e,0))return;this.fsw._emit(Ht.ADD,e,t)}return d}async _handleSymlink(e,t,n,s){if(this.fsw.closed)return;let i=e.fullPath,a=this.fsw._getWatchedDir(t);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let c;try{c=await(0,Vt.realpath)(n)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(a.has(s)?this.fsw._symlinkPaths.get(i)!==c&&(this.fsw._symlinkPaths.set(i,c),this.fsw._emit(Ht.CHANGE,n,e.stats)):(a.add(s),this.fsw._symlinkPaths.set(i,c),this.fsw._emit(Ht.ADD,n,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(i))return!0;this.fsw._symlinkPaths.set(i,!0)}_handleRead(e,t,n,s,i,a,c){e=We.join(e,"");let u=s?`${e}:${s}`:e;if(c=this.fsw._throttle("readdir",u,1e3),!c)return;let d=this.fsw._getWatchedDir(n.path),g=new Set,m=this.fsw._readdirp(e,{fileFilter:y=>n.filterPath(y),directoryFilter:y=>n.filterDir(y)});if(m)return m.on(Zy,async y=>{if(this.fsw.closed){m=void 0;return}let w=y.path,S=We.join(e,w);if(g.add(w),!(y.stats.isSymbolicLink()&&await this._handleSymlink(y,e,S,w))){if(this.fsw.closed){m=void 0;return}(w===s||!s&&!d.has(w))&&(this.fsw._incrReadyCount(),S=We.join(i,We.relative(i,S)),this._addToNodeFs(S,t,n,a+1))}}).on(Ht.ERROR,this._boundHandleError),new Promise((y,w)=>{if(!m)return w();m.once($c,()=>{if(this.fsw.closed){m=void 0;return}let S=c?c.clear():!1;y(void 0),d.getChildren().filter(T=>T!==e&&!g.has(T)).forEach(T=>{this.fsw._remove(e,T)}),m=void 0,S&&this._handleRead(e,!1,n,s,i,a,c)})})}async _handleDir(e,t,n,s,i,a,c){let u=this.fsw._getWatchedDir(We.dirname(e)),d=u.has(We.basename(e));!(n&&this.fsw.options.ignoreInitial)&&!i&&!d&&this.fsw._emit(Ht.ADD_DIR,e,t),u.add(We.basename(e)),this.fsw._getWatchedDir(e);let g,m,y=this.fsw.options.depth;if((y==null||s<=y)&&!this.fsw._symlinkPaths.has(c)){if(!i&&(await this._handleRead(e,n,a,i,e,s,g),this.fsw.closed))return;m=this._watchWithNodeFs(e,(w,S)=>{S&&S.mtimeMs===0||this._handleRead(w,!1,a,i,e,s,g)})}return m}async _addToNodeFs(e,t,n,s,i){let a=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return a(),!1;let c=this.fsw._getWatchHelpers(e);n&&(c.filterPath=u=>n.filterPath(u),c.filterDir=u=>n.filterDir(u));try{let u=await nv[c.statMethod](c.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(c.watchPath,u))return a(),!1;let d=this.fsw.options.followSymlinks,g;if(u.isDirectory()){let m=We.resolve(e),y=d?await(0,Vt.realpath)(e):e;if(this.fsw.closed||(g=await this._handleDir(c.watchPath,u,t,s,i,c,y),this.fsw.closed))return;m!==y&&y!==void 0&&this.fsw._symlinkPaths.set(m,y)}else if(u.isSymbolicLink()){let m=d?await(0,Vt.realpath)(e):e;if(this.fsw.closed)return;let y=We.dirname(c.watchPath);if(this.fsw._getWatchedDir(y).add(c.watchPath),this.fsw._emit(Ht.ADD,c.watchPath,u),g=await this._handleDir(y,u,t,s,e,c,m),this.fsw.closed)return;m!==void 0&&this.fsw._symlinkPaths.set(We.resolve(e),m)}else g=this._handleFile(c.watchPath,u,t);return a(),g&&this.fsw._addPathCloser(e,g),!1}catch(u){if(this.fsw._handleError(u))return a(),e}}};var Gc="/",uv="//",Od=".",lv="..",hv="string",dv=/\\/g,kd=/\/\//g,pv=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,gv=/^\.[/\\]/;function uo(r){return Array.isArray(r)?r:[r]}var Yc=r=>typeof r=="object"&&r!==null&&!(r instanceof RegExp);function mv(r){return typeof r=="function"?r:typeof r=="string"?e=>r===e:r instanceof RegExp?e=>r.test(e):typeof r=="object"&&r!==null?e=>{if(r.path===e)return!0;if(r.recursive){let t=Ee.relative(r.path,e);return t?!t.startsWith("..")&&!Ee.isAbsolute(t):!1}return!1}:()=>!1}function _v(r){if(typeof r!="string")throw new Error("string expected");r=Ee.normalize(r),r=r.replace(/\\/g,"/");let e=!1;return r.startsWith("//")&&(e=!0),r=r.replace(kd,"/"),e&&(r="/"+r),r}function wd(r,e,t){let n=_v(e);for(let s=0;s<r.length;s++){let i=r[s];if(i(n,t))return!0}return!1}function yv(r,e){if(r==null)throw new TypeError("anymatch: specify first argument");let n=uo(r).map(s=>mv(s));return e==null?(s,i)=>wd(n,s,i):wd(n,e)}var bd=r=>{let e=uo(r).flat();if(!e.every(t=>typeof t===hv))throw new TypeError(`Non-string provided as watch path: ${e}`);return e.map(Rd)},xd=r=>{let e=r.replace(dv,Gc),t=!1;return e.startsWith(uv)&&(t=!0),e=e.replace(kd,Gc),t&&(e=Gc+e),e},Rd=r=>xd(Ee.normalize(xd(r))),Sd=(r="")=>e=>typeof e=="string"?Rd(Ee.isAbsolute(e)?e:Ee.join(r,e)):e,vv=(r,e)=>Ee.isAbsolute(r)?r:Ee.join(e,r),Ev=Object.freeze(new Set),Xc=class{path;_removeWatcher;items;constructor(e,t){this.path=e,this._removeWatcher=t,this.items=new Set}add(e){let{items:t}=this;t&&e!==Od&&e!==lv&&t.add(e)}async remove(e){let{items:t}=this;if(!t||(t.delete(e),t.size>0))return;let n=this.path;try{await(0,lo.readdir)(n)}catch{this._removeWatcher&&this._removeWatcher(Ee.dirname(n),Ee.basename(n))}}has(e){let{items:t}=this;if(t)return t.has(e)}getChildren(){let{items:e}=this;return e?[...e.values()]:[]}dispose(){this.items.clear(),this.path="",this._removeWatcher=co,this.items=Ev,Object.freeze(this)}},wv="stat",bv="lstat",Jc=class{fsw;path;watchPath;fullWatchPath;dirParts;followSymlinks;statMethod;constructor(e,t,n){this.fsw=n;let s=e;this.path=e=e.replace(gv,""),this.watchPath=s,this.fullWatchPath=Ee.resolve(s),this.dirParts=[],this.dirParts.forEach(i=>{i.length>1&&i.pop()}),this.followSymlinks=t,this.statMethod=t?wv:bv}entryPath(e){return Ee.join(this.watchPath,Ee.relative(this.watchPath,e.fullPath))}filterPath(e){let{stats:t}=e;if(t&&t.isSymbolicLink())return this.filterDir(e);let n=this.entryPath(e);return this.fsw._isntIgnored(n,t)&&this.fsw._hasReadPermissions(t)}filterDir(e){return this.fsw._isntIgnored(this.entryPath(e),e.stats)}},Zc=class extends Td.EventEmitter{closed;options;_closers;_ignoredPaths;_throttled;_streams;_symlinkPaths;_watched;_pendingWrites;_pendingUnlinks;_readyCount;_emitReady;_closePromise;_userIgnored;_readyEmitted;_emitRaw;_boundRemove;_nodeFsHandler;constructor(e={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let t=e.awaitWriteFinish,n={stabilityThreshold:2e3,pollInterval:100},s={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...e,ignored:e.ignored?uo(e.ignored):uo([]),awaitWriteFinish:t===!0?n:typeof t=="object"?{...n,...t}:!1};vd&&(s.usePolling=!0),s.atomic===void 0&&(s.atomic=!s.usePolling);let i=process.env.CHOKIDAR_USEPOLLING;if(i!==void 0){let u=i.toLowerCase();u==="false"||u==="0"?s.usePolling=!1:u==="true"||u==="1"?s.usePolling=!0:s.usePolling=!!u}let a=process.env.CHOKIDAR_INTERVAL;a&&(s.interval=Number.parseInt(a,10));let c=0;this._emitReady=()=>{c++,c>=this._readyCount&&(this._emitReady=co,this._readyEmitted=!0,process.nextTick(()=>this.emit(Ke.READY)))},this._emitRaw=(...u)=>this.emit(Ke.RAW,...u),this._boundRemove=this._remove.bind(this),this.options=s,this._nodeFsHandler=new ao(this),Object.freeze(s)}_addIgnoredPath(e){if(Yc(e)){for(let t of this._ignoredPaths)if(Yc(t)&&t.path===e.path&&t.recursive===e.recursive)return}this._ignoredPaths.add(e)}_removeIgnoredPath(e){if(this._ignoredPaths.delete(e),typeof e=="string")for(let t of this._ignoredPaths)Yc(t)&&t.path===e&&this._ignoredPaths.delete(t)}add(e,t,n){let{cwd:s}=this.options;this.closed=!1,this._closePromise=void 0;let i=bd(e);return s&&(i=i.map(a=>vv(a,s))),i.forEach(a=>{this._removeIgnoredPath(a)}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=i.length,Promise.all(i.map(async a=>{let c=await this._nodeFsHandler._addToNodeFs(a,!n,void 0,0,t);return c&&this._emitReady(),c})).then(a=>{this.closed||a.forEach(c=>{c&&this.add(Ee.dirname(c),Ee.basename(t||c))})}),this}unwatch(e){if(this.closed)return this;let t=bd(e),{cwd:n}=this.options;return t.forEach(s=>{!Ee.isAbsolute(s)&&!this._closers.has(s)&&(n&&(s=Ee.join(n,s)),s=Ee.resolve(s)),this._closePath(s),this._addIgnoredPath(s),this._watched.has(s)&&this._addIgnoredPath({path:s,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let e=[];return this._closers.forEach(t=>t.forEach(n=>{let s=n();s instanceof Promise&&e.push(s)})),this._streams.forEach(t=>t.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(t=>t.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=e.length?Promise.all(e).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((t,n)=>{let i=(this.options.cwd?Ee.relative(this.options.cwd,n):n)||Od;e[i]=t.getChildren().sort()}),e}emitWithAll(e,t){this.emit(e,...t),e!==Ke.ERROR&&this.emit(Ke.ALL,e,...t)}async _emit(e,t,n){if(this.closed)return;let s=this.options;zc&&(t=Ee.normalize(t)),s.cwd&&(t=Ee.relative(s.cwd,t));let i=[t];n!=null&&i.push(n);let a=s.awaitWriteFinish,c;if(a&&(c=this._pendingWrites.get(t)))return c.lastChange=new Date,this;if(s.atomic){if(e===Ke.UNLINK)return this._pendingUnlinks.set(t,[e,...i]),setTimeout(()=>{this._pendingUnlinks.forEach((u,d)=>{this.emit(...u),this.emit(Ke.ALL,...u),this._pendingUnlinks.delete(d)})},typeof s.atomic=="number"?s.atomic:100),this;e===Ke.ADD&&this._pendingUnlinks.has(t)&&(e=Ke.CHANGE,this._pendingUnlinks.delete(t))}if(a&&(e===Ke.ADD||e===Ke.CHANGE)&&this._readyEmitted){let u=(d,g)=>{d?(e=Ke.ERROR,i[0]=d,this.emitWithAll(e,i)):g&&(i.length>1?i[1]=g:i.push(g),this.emitWithAll(e,i))};return this._awaitWriteFinish(t,a.stabilityThreshold,e,u),this}if(e===Ke.CHANGE&&!this._throttle(Ke.CHANGE,t,50))return this;if(s.alwaysStat&&n===void 0&&(e===Ke.ADD||e===Ke.ADD_DIR||e===Ke.CHANGE)){let u=s.cwd?Ee.join(s.cwd,t):t,d;try{d=await(0,lo.stat)(u)}catch{}if(!d||this.closed)return;i.push(d)}return this.emitWithAll(e,i),this}_handleError(e){let t=e&&e.code;return e&&t!=="ENOENT"&&t!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||t!=="EPERM"&&t!=="EACCES")&&this.emit(Ke.ERROR,e),e||this.closed}_throttle(e,t,n){this._throttled.has(e)||this._throttled.set(e,new Map);let s=this._throttled.get(e);if(!s)throw new Error("invalid throttle");let i=s.get(t);if(i)return i.count++,!1;let a,c=()=>{let d=s.get(t),g=d?d.count:0;return s.delete(t),clearTimeout(a),d&&clearTimeout(d.timeoutObject),g};a=setTimeout(c,n);let u={timeoutObject:a,clear:c,count:0};return s.set(t,u),u}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,t,n,s){let i=this.options.awaitWriteFinish;if(typeof i!="object")return;let a=i.pollInterval,c,u=e;this.options.cwd&&!Ee.isAbsolute(e)&&(u=Ee.join(this.options.cwd,e));let d=new Date,g=this._pendingWrites;function m(y){(0,Cd.stat)(u,(w,S)=>{if(w||!g.has(e)){w&&w.code!=="ENOENT"&&s(w);return}let T=Number(new Date);y&&S.size!==y.size&&(g.get(e).lastChange=T);let V=g.get(e);T-V.lastChange>=t?(g.delete(e),s(void 0,S)):c=setTimeout(m,a,S)})}g.has(e)||(g.set(e,{lastChange:d,cancelWait:()=>(g.delete(e),clearTimeout(c),n)}),c=setTimeout(m,a))}_isIgnored(e,t){if(this.options.atomic&&pv.test(e))return!0;if(!this._userIgnored){let{cwd:n}=this.options,i=(this.options.ignored||[]).map(Sd(n)),c=[...[...this._ignoredPaths].map(Sd(n)),...i];this._userIgnored=yv(c,void 0)}return this._userIgnored(e,t)}_isntIgnored(e,t){return!this._isIgnored(e,t)}_getWatchHelpers(e){return new Jc(e,this.options.followSymlinks,this)}_getWatchedDir(e){let t=Ee.resolve(e);return this._watched.has(t)||this._watched.set(t,new Xc(t,this._boundRemove)),this._watched.get(t)}_hasReadPermissions(e){return this.options.ignorePermissionErrors?!0:!!(Number(e.mode)&256)}_remove(e,t,n){let s=Ee.join(e,t),i=Ee.resolve(s);if(n=n??(this._watched.has(s)||this._watched.has(i)),!this._throttle("remove",s,100))return;!n&&this._watched.size===1&&this.add(e,t,!0),this._getWatchedDir(s).getChildren().forEach(y=>this._remove(s,y));let u=this._getWatchedDir(e),d=u.has(t);u.remove(t),this._symlinkPaths.has(i)&&this._symlinkPaths.delete(i);let g=s;if(this.options.cwd&&(g=Ee.relative(this.options.cwd,s)),this.options.awaitWriteFinish&&this._pendingWrites.has(g)&&this._pendingWrites.get(g).cancelWait()===Ke.ADD)return;this._watched.delete(s),this._watched.delete(i);let m=n?Ke.UNLINK_DIR:Ke.UNLINK;d&&!this._isIgnored(s)&&this._emit(m,s),this._closePath(s)}_closePath(e){this._closeFile(e);let t=Ee.dirname(e);this._getWatchedDir(t).remove(Ee.basename(e))}_closeFile(e){let t=this._closers.get(e);t&&(t.forEach(n=>n()),this._closers.delete(e))}_addPathCloser(e,t){if(!t)return;let n=this._closers.get(e);n||(n=[],this._closers.set(e,n)),n.push(t)}_readdirp(e,t){if(this.closed)return;let n={type:Ke.ALL,alwaysStat:!0,lstat:!0,...t,depth:0},s=gd(e,n);return this._streams.add(s),s.once(yd,()=>{s=void 0}),s.once($c,()=>{s&&(this._streams.delete(s),s=void 0)}),s}};function Pd(r,e={}){let t=new Zc(e);return t.add(r),t}var Ad=ue(ac()),sr=ue(Rr()),xv=["**/node_modules/**","**/.git/**","**/dist/**","**/.next/**","**/.turbo/**","**/.cache/**","**/coverage/**","**/*.log"],Sv=300,ho=class{watcher=null;ignoreFilter;workspaceRoot;logger;onFileChangedCallback=null;pendingEvents=new Map;pendingTypes=new Map;constructor(e,t){this.logger=e,this.workspaceRoot=t,this.ignoreFilter=(0,Ad.default)(),this.initializeIgnoreFilter()}initializeIgnoreFilter(){this.ignoreFilter.add(xv);let e=qr.join(this.workspaceRoot,".gitignore");try{if($n.existsSync(e)){let t=$n.readFileSync(e,"utf-8");this.ignoreFilter.add(t)}}catch{}}onFileChanged(e){this.onFileChangedCallback=e}start(){this.watcher||(this.watcher=Pd(this.workspaceRoot,{ignored:e=>{let t=qr.relative(this.workspaceRoot,e);if(!t||t===".")return!1;let n=t.split(qr.sep).join("/");return this.ignoreFilter.ignores(n)},persistent:!0,ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:200,pollInterval:50}}),this.watcher.on("add",e=>this.handleEvent(e,sr.FileChangeType.CREATE)),this.watcher.on("change",e=>this.handleEvent(e,sr.FileChangeType.MODIFY)),this.watcher.on("unlink",e=>this.handleEvent(e,sr.FileChangeType.DELETE)),this.watcher.on("error",e=>this.logger.error("File watcher error",e)),this.logger.info("File watcher started"))}stop(){this.watcher?.close(),this.watcher=null;for(let e of this.pendingEvents.values())clearTimeout(e);this.pendingEvents.clear(),this.pendingTypes.clear()}handleEvent(e,t){let n=qr.relative(this.workspaceRoot,e);if(!n)return;let s=this.pendingEvents.get(n);s&&clearTimeout(s);let i=this.pendingTypes.get(n);this.pendingTypes.set(n,this.mergeTypes(i,t));let a=setTimeout(()=>{this.emit(n,this.pendingTypes.get(n)||t),this.pendingEvents.delete(n),this.pendingTypes.delete(n)},Sv);this.pendingEvents.set(n,a)}mergeTypes(e,t){return e?t===sr.FileChangeType.DELETE||e===sr.FileChangeType.DELETE?sr.FileChangeType.DELETE:e===sr.FileChangeType.CREATE?sr.FileChangeType.CREATE:t:t}emit(e,t){let n={path:e,changeType:t,timestamp:new Date().toISOString(),source:"watcher"};if(t!==sr.FileChangeType.DELETE)try{let s=qr.join(this.workspaceRoot,e),i=$n.statSync(s);n.size=i.size}catch{}this.onFileChangedCallback?.(n)}dispose(){this.stop(),this.onFileChangedCallback=null}};var Tv={online:!1,viewerCount:0},po=class r{enabled=!1;state={...Tv};altScreenActive=!1;logger;refreshTimer=null;static REFRESH_INTERVAL_MS=1e3;constructor(e){this.logger=e}reservedRows(){return this.enabled&&process.stdout.isTTY?1:0}enable(){if(!process.stdout.isTTY){this.logger.warn("StatusLine: stdout is not a TTY, cannot enable");return}this.enabled=!0,this.installScrollRegion(),this.startRefreshTimer(),this.logger.info("StatusLine enabled")}startRefreshTimer(){this.stopRefreshTimer(),this.refreshTimer=setInterval(()=>{!this.enabled||this.altScreenActive||this.render()},r.REFRESH_INTERVAL_MS)}stopRefreshTimer(){this.refreshTimer&&(clearInterval(this.refreshTimer),this.refreshTimer=null)}installScrollRegion(){let e=process.stdout.rows;!e||e<2||(process.stdout.write(`\x1B[1;${e-1}r`),process.stdout.write("\x1B[1;1H"))}resetScrollRegion(){process.stdout.write("\x1B[r")}update(e){this.state={...this.state,...e},this.render()}render(){if(!this.enabled||this.altScreenActive)return;let e=process.stdout.rows;if(!e||e<2)return;let t=this.formatLine(),n=`\x1B[1;${e-1}r\x1B7\x1B[${e};1H\x1B[2K${t}\x1B8`;process.stdout.write(n)}clear(){if(!this.enabled)return;let e=process.stdout.rows;!e||e<2||process.stdout.write(`\x1B7\x1B[${e};1H\x1B[2K\x1B8`)}disable(){this.enabled&&(this.stopRefreshTimer(),this.clear(),this.resetScrollRegion(),this.enabled=!1)}inspectPtyOutput(e){if(this.enabled){if(e.includes("\x1B[?1049h")||e.includes("\x1B[?47h")){this.altScreenActive=!0;return}(e.includes("\x1B[?1049l")||e.includes("\x1B[?47l"))&&(this.altScreenActive=!1,this.render())}}getState(){return this.state}isEnabled(){return this.enabled}isAltScreenActive(){return this.altScreenActive}formatLine(){let e=[];if(e.push(this.state.online?"\u25CF online":"\u25CB offline"),this.state.viewerCount>0){let t=this.state.viewerCount===1?"1 viewer":`${this.state.viewerCount} viewers`;e.push(t)}else e.push("no viewers");return this.state.agentName&&e.push(this.state.agentName),this.state.ptyCols&&this.state.ptyRows&&e.push(`${this.state.ptyCols}\xD7${this.state.ptyRows}`)," "+e.join(" \xB7 ")+" "}};async function go(r,e,t,n){if(n)return process.stderr.write(`Logging in with API key...
34
34
  `),await r.loginWithApiKey(n)?(process.stderr.write(`Login successful.
35
35
  `),!0):(process.stderr.write(`Login failed. Check your API key.
36
36
  `),!1);try{let s=await r.startDeviceCodeFlow();process.stderr.write(`
@@ -43,19 +43,19 @@ tell application "System Events" to get value of property list item "CFBundleNam
43
43
  `),!0):(process.stderr.write(` Login failed or expired.
44
44
 
45
45
  `),!1)}catch(s){return t.error("Login error",s),process.stderr.write(`Login error: ${s instanceof Error?s.message:String(s)}
46
- `),!1}}var $n=ue(Rr());function xv(r){switch(r){case"numbered-choice":return"select";case"free-input":return"input";default:return"confirmation"}}function Pd(r,e,t){let n=new Date().toISOString();switch(r){case"working":return e==="idle"?{type:$n.TerminalEventType.SESSION_START,timestamp:n}:null;case"waiting":return{type:$n.TerminalEventType.WAITING_INPUT,timestamp:n,promptType:xv(t?.type),question:t?.question||"Confirm action?",options:t?.choices?.map(s=>s.label)};case"completed":return{type:$n.TerminalEventType.SESSION_END,timestamp:n,status:"success"};case"error":return e==="working"?{type:$n.TerminalEventType.SESSION_END,timestamp:n,status:"error"}:{type:$n.TerminalEventType.ERROR,timestamp:n,severity:"error",message:"Command failed"};default:return null}}async function Id(r){let{storage:e,config:t,logger:n,machineId:s,notification:i,browser:a,cwd:c,watch:u,statusLine:d}=r,g=new po(n);d&&g.enable();let m=t.getServerUrl(),y=new URL(m).host,w=await s.getMachineId(),S=new yt.CryptoService(e,n,y,w);await S.initialize();let T=new yt.AuthService(e,S,s,t,n,i,a,y,w),V=await T.hasValidToken();V||await T.refreshAccessToken()||(process.stderr.write(`Not logged in. Starting login flow...
47
- `),await go(T,a,n)||process.exit(1),V=!0);let ge;try{let{machineIdSync:W}=await Promise.resolve().then(()=>ue(vc()));ge=W()}catch{ge=`cli_${Date.now()}_${Math.random().toString(36).slice(2,9)}`}let J,A=new yt.StatusDetector((W,we,P)=>{if(!R.getStatus().connected)return;let B=J;J=we,R.updateStatus({instanceId:Z,terminalId:W,status:we,prompt:P||void 0,encryptedPrompt:P&&S.encryptPromptInfo(P)||void 0}).catch(()=>{});let L=Pd(we,B,P);L&&R.sendTerminalEvent(Z,W,L)}),R=new yt.WebSocketService(T,S,t,n,i,ge,"cli"),ee=!1;R.onStatusChange(W=>{W==="connected"?(ee?n.info("Reconnected to termiq.io"):(process.stderr.write(`Connected to termiq.io
46
+ `),!1}}var zn=ue(Rr());function Cv(r){switch(r){case"numbered-choice":return"select";case"free-input":return"input";default:return"confirmation"}}function Id(r,e,t){let n=new Date().toISOString();switch(r){case"working":return e==="idle"?{type:zn.TerminalEventType.SESSION_START,timestamp:n}:null;case"waiting":return{type:zn.TerminalEventType.WAITING_INPUT,timestamp:n,promptType:Cv(t?.type),question:t?.question||"Confirm action?",options:t?.choices?.map(s=>s.label)};case"completed":return{type:zn.TerminalEventType.SESSION_END,timestamp:n,status:"success"};case"error":return e==="working"?{type:zn.TerminalEventType.SESSION_END,timestamp:n,status:"error"}:{type:zn.TerminalEventType.ERROR,timestamp:n,severity:"error",message:"Command failed"};default:return null}}async function Nd(r){let{storage:e,config:t,logger:n,machineId:s,notification:i,browser:a,cwd:c,watch:u,statusLine:d}=r,g=new po(n);d&&g.enable();let m=t.getServerUrl(),y=new URL(m).host,w=await s.getMachineId(),S=new yt.CryptoService(e,n,y,w);await S.initialize();let T=new yt.AuthService(e,S,s,t,n,i,a,y,w),V=await T.hasValidToken();V||await T.refreshAccessToken()||(process.stderr.write(`Not logged in. Starting login flow...
47
+ `),await go(T,a,n)||process.exit(1),V=!0);let ge;try{let{machineIdSync:W}=await Promise.resolve().then(()=>ue(vc()));ge=W()}catch{ge=`cli_${Date.now()}_${Math.random().toString(36).slice(2,9)}`}let J,A=new yt.StatusDetector((W,we,P)=>{if(!R.getStatus().connected)return;let B=J;J=we,R.updateStatus({instanceId:Z,terminalId:W,status:we,prompt:P||void 0,encryptedPrompt:P&&S.encryptPromptInfo(P)||void 0}).catch(()=>{});let L=Id(we,B,P);L&&R.sendTerminalEvent(Z,W,L)}),R=new yt.WebSocketService(T,S,t,n,i,ge,"cli"),ee=!1;R.onStatusChange(W=>{W==="connected"?(ee?n.info("Reconnected to termiq.io"):(process.stderr.write(`Connected to termiq.io
48
48
  `),ee=!0),g.update({online:!0})):W==="disconnected"&&(n.info("Disconnected from termiq.io (will retry)"),g.update({online:!1}))}),R.onAuthFailure(()=>{process.stderr.write(`Session expired. Please run "termiq login" again.
49
49
  `),tt(),process.exit(1)});try{await R.connect()}catch(W){process.stderr.write(`Connection failed: ${W instanceof Error?W.message:String(W)}
50
- `),process.exit(1)}let j=Ad.basename(c),Z=`cli_${Date.now()}`,ce=S.encryptWorkspaceInfo({name:j,path:c});await R.registerWorkspace({instanceId:Z,name:ce?void 0:j,path:ce?void 0:c,encryptedInfo:ce||void 0});let ie=new no(n);ie.setPreWriteHook(W=>g.inspectPtyOutput(W)),ie.setOnResize((W,we)=>{g.update({ptyCols:W,ptyRows:we})});let _e=ie.spawn(c,g.reservedRows()),Ye=`CLI: ${j}`,Je=process.env.SHELL||"/bin/bash",ve=S.encryptTerminalInfo({name:Ye,command:Je,cwd:c});await R.terminalCreated({instanceId:Z,terminalId:_e,name:ve?void 0:Ye,command:ve?void 0:Je,cwd:ve?void 0:c,encryptedInfo:ve||void 0});let He=new yt.FileTransferService(n),Fe=new yt.FileTrackerService(n,c),Qe=new yt.FileListService(n,c),Ve=u?new ho(n,c):null,Pe=R.getSocket();Pe&&He.attach(Pe,Z),Fe.onFileChanged((W,we)=>{R.sendFileChangedEvent(Z,W,we)}),Fe.onFileViewTransfer(async(W,we,P)=>{try{await He.sendBuffer(W,we,P.path.split("/").pop()||"view",P.mimeType||"text/plain",{purpose:"view",viewMetadata:P})}catch(B){n.error("File view transfer failed",B)}}),R.onFileViewRequest((W,we)=>{Fe.handleViewRequest(W,we)}),R.onFileListRequest((W,we)=>{Qe.handleListRequest(we)}),Qe.onResponse(W=>{R.sendFileListResponse(Z,W)}),R.onFileDownloadRequest(async(W,we,P)=>{try{await He.sendFile(W,we,void 0,void 0,P)}catch(B){n.error("File download failed",B)}}),Ve&&(Ve.onFileChanged(W=>{R.sendFileChangedEvent(Z,_e,W)}),Ve.start()),A.startTracking(_e),ie.setOnOutput(W=>{R.sendOutput(Z,_e,W),A.processOutput(_e,W),Fe.processOutput(_e,W)}),R.onInput((W,we)=>{W===_e&&ie.write(we)}),R.onResizeRequest((W,we,P)=>{W===_e&&(n.info("Remote resize received",{terminalId:W,cols:we,rows:P}),ie.resize(we,P))}),R.onClientAttached(({clientCount:W})=>{ie.setSigwinchEnabled(!1),g.update({viewerCount:W})}),R.onClientDetached(({clientCount:W})=>{W===0&&ie.setSigwinchEnabled(!0),g.update({viewerCount:W})}),R.onGetBufferRequest(W=>W===_e?ie.getBuffer():null),R.onRedrawRequest(W=>{if(W===_e){let we=process.stdout.columns||80,P=process.stdout.rows||24;ie.resize(we,P)}}),R.onReconnect(async()=>{try{await R.registerWorkspace({instanceId:Z,name:ce?void 0:j,path:ce?void 0:c,encryptedInfo:ce||void 0}),await R.terminalCreated({instanceId:Z,terminalId:_e,name:ve?void 0:Ye,command:ve?void 0:Je,cwd:ve?void 0:c,encryptedInfo:ve||void 0});let W=R.getSocket();W&&He.attach(W,Z)}catch(W){n.error("Failed to re-register on reconnect",W)}});function tt(){Ve?.dispose(),He.detach(),Fe.dispose(),Qe.dispose(),A.stopTracking(_e),A.dispose(),R.terminalClosed({instanceId:Z,terminalId:_e}).catch(()=>{}),R.unregisterWorkspace(Z).catch(()=>{}),R.disconnect(),ie.dispose()}ie.setOnExit(()=>{g.disable(),process.stderr.write(`Session ended.
50
+ `),process.exit(1)}let j=Ld.basename(c),Z=`cli_${Date.now()}`,ce=S.encryptWorkspaceInfo({name:j,path:c});await R.registerWorkspace({instanceId:Z,name:ce?void 0:j,path:ce?void 0:c,encryptedInfo:ce||void 0});let ie=new no(n);ie.setPreWriteHook(W=>g.inspectPtyOutput(W)),ie.setOnResize((W,we)=>{g.update({ptyCols:W,ptyRows:we})});let _e=ie.spawn(c,g.reservedRows()),Ye=`CLI: ${j}`,Je=process.env.SHELL||"/bin/bash",ve=S.encryptTerminalInfo({name:Ye,command:Je,cwd:c});await R.terminalCreated({instanceId:Z,terminalId:_e,name:ve?void 0:Ye,command:ve?void 0:Je,cwd:ve?void 0:c,encryptedInfo:ve||void 0});let He=new yt.FileTransferService(n),Fe=new yt.FileTrackerService(n,c),Qe=new yt.FileListService(n,c),Ve=u?new ho(n,c):null,Pe=R.getSocket();Pe&&He.attach(Pe,Z),Fe.onFileChanged((W,we)=>{R.sendFileChangedEvent(Z,W,we)}),Fe.onFileViewTransfer(async(W,we,P)=>{try{await He.sendBuffer(W,we,P.path.split("/").pop()||"view",P.mimeType||"text/plain",{purpose:"view",viewMetadata:P})}catch(B){n.error("File view transfer failed",B)}}),R.onFileViewRequest((W,we)=>{Fe.handleViewRequest(W,we)}),R.onFileListRequest((W,we)=>{Qe.handleListRequest(we)}),Qe.onResponse(W=>{R.sendFileListResponse(Z,W)}),R.onFileDownloadRequest(async(W,we,P)=>{try{await He.sendFile(W,we,void 0,void 0,P)}catch(B){n.error("File download failed",B)}}),Ve&&(Ve.onFileChanged(W=>{R.sendFileChangedEvent(Z,_e,W)}),Ve.start()),A.startTracking(_e),ie.setOnOutput(W=>{R.sendOutput(Z,_e,W),A.processOutput(_e,W),Fe.processOutput(_e,W)}),R.onInput((W,we)=>{W===_e&&ie.write(we)}),R.onResizeRequest((W,we,P)=>{W===_e&&(n.info("Remote resize received",{terminalId:W,cols:we,rows:P}),ie.resize(we,P))}),R.onClientAttached(({clientCount:W})=>{ie.setSigwinchEnabled(!1),g.update({viewerCount:W})}),R.onClientDetached(({clientCount:W})=>{W===0&&ie.setSigwinchEnabled(!0),g.update({viewerCount:W})}),R.onGetBufferRequest(W=>W===_e?ie.getBuffer():null),R.onRedrawRequest(W=>{if(W===_e){let we=process.stdout.columns||80,P=process.stdout.rows||24;ie.resize(we,P)}}),R.onReconnect(async()=>{try{await R.registerWorkspace({instanceId:Z,name:ce?void 0:j,path:ce?void 0:c,encryptedInfo:ce||void 0}),await R.terminalCreated({instanceId:Z,terminalId:_e,name:ve?void 0:Ye,command:ve?void 0:Je,cwd:ve?void 0:c,encryptedInfo:ve||void 0});let W=R.getSocket();W&&He.attach(W,Z)}catch(W){n.error("Failed to re-register on reconnect",W)}});function tt(){Ve?.dispose(),He.detach(),Fe.dispose(),Qe.dispose(),A.stopTracking(_e),A.dispose(),R.terminalClosed({instanceId:Z,terminalId:_e}).catch(()=>{}),R.unregisterWorkspace(Z).catch(()=>{}),R.disconnect(),ie.dispose()}ie.setOnExit(()=>{g.disable(),process.stderr.write(`Session ended.
51
51
  `),tt(),process.exit(0)}),process.on("SIGINT",()=>{g.disable(),process.stderr.write(`Session ended.
52
52
  `),tt(),process.exit(0)}),process.on("SIGTERM",()=>{g.disable(),process.stderr.write(`Session ended.
53
- `),tt(),process.exit(0)})}async function Ld(r){await r.logout(),process.stderr.write(`Logged out.
54
- `)}async function Nd(r){let e=await r.hasValidToken(),t=await r.getAgentId();e?(process.stderr.write(`Status: logged in
53
+ `),tt(),process.exit(0)})}async function Dd(r){await r.logout(),process.stderr.write(`Logged out.
54
+ `)}async function Fd(r){let e=await r.hasValidToken(),t=await r.getAgentId();e?(process.stderr.write(`Status: logged in
55
55
  `),t&&process.stderr.write(`Agent ID: ${t}
56
56
  `)):(process.stderr.write(`Status: not logged in
57
57
  `),process.stderr.write(`Run 'termiq login' to authenticate.
58
- `))}var Ft=ue(bs()),De=process.argv.slice(2);(De.includes("--help")||De.includes("-h"))&&(process.stderr.write(`
58
+ `))}var Ft=ue(bs()),Ne=process.argv.slice(2);(Ne.includes("--help")||Ne.includes("-h"))&&(process.stderr.write(`
59
59
  termiq v${ro()} \u2014 Access terminals from anywhere
60
60
 
61
61
  Usage:
@@ -80,12 +80,14 @@ tell application "System Events" to get value of property list item "CFBundleNam
80
80
  Environment:
81
81
  TERMIQ_TOKEN API key (equivalent to --token)
82
82
 
83
- `),process.exit(0));(De.includes("--version")||De.includes("-V"))&&(process.stdout.write(`${ro()}
84
- `),process.exit(0));var Dd=nd(De,sd)??"start",Sv=De.includes("--verbose")||De.includes("-v"),Tv=De.includes("--watch")||De.includes("-w"),Cv=De.includes("--log-to-file"),Ov=De.includes("--statusline"),kv=De.find(r=>r.startsWith("--token="))?.split("=")[1]||(De.includes("--token")?De[De.indexOf("--token")+1]:void 0),Fd=De.find(r=>r.startsWith("--server="))?.split("=")[1]||(De.includes("--server")?De[De.indexOf("--server")+1]:void 0),Zc=De.find(r=>r.startsWith("--log-level="))?.split("=")[1]||(De.includes("--log-level")?De[De.indexOf("--log-level")+1]:void 0),Rv=["silent","error","warn","info","debug"],Pv=Zc&&Rv.includes(Zc)?Zc:Sv?"info":"silent",Av=De.find(r=>r.startsWith("--cid="))?.split("=")[1]||(De.includes("--cid")?De[De.indexOf("--cid")+1]:void 0),Iv=Av||(0,Ft.generateCorrelationId)(),Lv=process.env.TERMIQ_TOKEN,wr=new xs(Pv,Cv),hn=new Zn,dn=new Qn(Fd?{serverUrl:Fd}:void 0),pn=new Ts,mo=new Cs(wr),Is=new Rs;async function Nv(){switch(Dd){case"start":case void 0:{await Id({storage:hn,config:dn,logger:wr,machineId:pn,notification:mo,browser:Is,cwd:process.cwd(),watch:Tv,statusLine:Ov});break}case"login":{let r=new URL(dn.getServerUrl()).host,e=await pn.getMachineId(),t=new Ft.CryptoService(hn,wr,r,e);await t.initialize();let n=new Ft.AuthService(hn,t,pn,dn,wr,mo,Is,r,e),s=await go(n,Is,wr,kv||Lv);process.exit(s?0:1);break}case"logout":{let r=new URL(dn.getServerUrl()).host,e=await pn.getMachineId(),t=new Ft.CryptoService(hn,wr,r,e);await t.initialize();let n=new Ft.AuthService(hn,t,pn,dn,wr,mo,Is,r,e);await Ld(n),process.exit(0);break}case"status":{let r=new URL(dn.getServerUrl()).host,e=await pn.getMachineId(),t=new Ft.CryptoService(hn,wr,r,e);await t.initialize();let n=new Ft.AuthService(hn,t,pn,dn,wr,mo,Is,r,e);await Nd(n),process.exit(0);break}case"version":{process.stdout.write(`${ro()}
83
+ `),process.exit(0));(Ne.includes("--version")||Ne.includes("-V"))&&(process.stdout.write(`${ro()}
84
+ `),process.exit(0));var Md=od(Ne,qc,id);Md&&(process.stderr.write(`Unknown flag: ${Md}
85
+ Run 'termiq --help' for usage.
86
+ `),process.exit(1));var Bd=sd(Ne,qc)??"start",Ov=Ne.includes("--verbose")||Ne.includes("-v"),kv=Ne.includes("--watch")||Ne.includes("-w"),Rv=Ne.includes("--log-to-file"),Pv=Ne.includes("--statusline"),Av=Ne.find(r=>r.startsWith("--token="))?.split("=")[1]||(Ne.includes("--token")?Ne[Ne.indexOf("--token")+1]:void 0),jd=Ne.find(r=>r.startsWith("--server="))?.split("=")[1]||(Ne.includes("--server")?Ne[Ne.indexOf("--server")+1]:void 0),Qc=Ne.find(r=>r.startsWith("--log-level="))?.split("=")[1]||(Ne.includes("--log-level")?Ne[Ne.indexOf("--log-level")+1]:void 0),Iv=["silent","error","warn","info","debug"],Lv=Qc&&Iv.includes(Qc)?Qc:Ov?"info":"silent",Nv=Ne.find(r=>r.startsWith("--cid="))?.split("=")[1]||(Ne.includes("--cid")?Ne[Ne.indexOf("--cid")+1]:void 0),Dv=Nv||(0,Ft.generateCorrelationId)(),Fv=process.env.TERMIQ_TOKEN,wr=new xs(Lv,Rv),hn=new Zn,dn=new Qn(jd?{serverUrl:jd}:void 0),pn=new Ts,mo=new Cs(wr),Is=new Rs;async function Mv(){switch(Bd){case"start":case void 0:{await Nd({storage:hn,config:dn,logger:wr,machineId:pn,notification:mo,browser:Is,cwd:process.cwd(),watch:kv,statusLine:Pv});break}case"login":{let r=new URL(dn.getServerUrl()).host,e=await pn.getMachineId(),t=new Ft.CryptoService(hn,wr,r,e);await t.initialize();let n=new Ft.AuthService(hn,t,pn,dn,wr,mo,Is,r,e),s=await go(n,Is,wr,Av||Fv);process.exit(s?0:1);break}case"logout":{let r=new URL(dn.getServerUrl()).host,e=await pn.getMachineId(),t=new Ft.CryptoService(hn,wr,r,e);await t.initialize();let n=new Ft.AuthService(hn,t,pn,dn,wr,mo,Is,r,e);await Dd(n),process.exit(0);break}case"status":{let r=new URL(dn.getServerUrl()).host,e=await pn.getMachineId(),t=new Ft.CryptoService(hn,wr,r,e);await t.initialize();let n=new Ft.AuthService(hn,t,pn,dn,wr,mo,Is,r,e);await Fd(n),process.exit(0);break}case"version":{process.stdout.write(`${ro()}
85
87
  `),process.exit(0);break}case"help":{process.stderr.write(`Run 'termiq --help' for full usage.
86
- `),process.exit(0);break}default:process.stderr.write(`Unknown command: ${Dd}
88
+ `),process.exit(0);break}default:process.stderr.write(`Unknown command: ${Bd}
87
89
  Run 'termiq --help' for usage.
88
- `),process.exit(1)}}(0,Ft.runWithCorrelation)(Iv,()=>Nv().catch(r=>{process.stderr.write(`Fatal error: ${r instanceof Error?r.message:String(r)}
90
+ `),process.exit(1)}}(0,Ft.runWithCorrelation)(Dv,()=>Mv().catch(r=>{process.stderr.write(`Fatal error: ${r instanceof Error?r.message:String(r)}
89
91
  `),process.exit(1)}));
90
92
  /*! Bundled license information:
91
93