@overlayed/app 0.24.3 → 0.24.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.
- package/dist/index.js +1 -1
- package/dist/siege.d.ts +102 -102
- package/dist/siege.js +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -2,4 +2,4 @@ import{createRequire as e}from"node:module";import{Type as t,type as n}from"arkt
|
|
|
2
2
|
`:`
|
|
3
3
|
`)+n,i=r+1,r=e.indexOf(`
|
|
4
4
|
`,i)}while(r!==-1);return a+=e.slice(i),a}const{stdout:Le,stderr:Re}=Pe,w=Symbol(`GENERATOR`),T=Symbol(`STYLER`),E=Symbol(`IS_EMPTY`),ze=[`ansi`,`ansi`,`ansi256`,`ansi16m`],D=Object.create(null),Be=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let n=Le?Le.level:0;e.level=t.level===void 0?n:t.level},Ve=e=>{let t=(...e)=>e.join(` `);return Be(t,e),Object.setPrototypeOf(t,O.prototype),t};function O(e){return Ve(e)}Object.setPrototypeOf(O.prototype,Function.prototype);for(let[e,t]of Object.entries(b))D[e]={get(){let n=A(this,k(t.open,t.close,this[T]),this[E]);return Object.defineProperty(this,e,{value:n}),n}};D.visible={get(){let e=A(this,this[T],!0);return Object.defineProperty(this,`visible`,{value:e}),e}};const He=(e,t,n,...r)=>e===`rgb`?t===`ansi16m`?b[n].ansi16m(...r):t===`ansi256`?b[n].ansi256(b.rgbToAnsi256(...r)):b[n].ansi(b.rgbToAnsi(...r)):e===`hex`?He(`rgb`,t,n,...b.hexToRgb(...r)):b[n][e](...r);for(let e of[`rgb`,`hex`,`ansi256`]){D[e]={get(){let{level:t}=this;return function(...n){let r=k(He(e,ze[t],`color`,...n),b.color.close,this[T]);return A(this,r,this[E])}}};let t=`bg`+e[0].toUpperCase()+e.slice(1);D[t]={get(){let{level:t}=this;return function(...n){let r=k(He(e,ze[t],`bgColor`,...n),b.bgColor.close,this[T]);return A(this,r,this[E])}}}}const Ue=Object.defineProperties(()=>{},{...D,level:{enumerable:!0,get(){return this[w].level},set(e){this[w].level=e}}}),k=(e,t,n)=>{let r,i;return n===void 0?(r=e,i=t):(r=n.openAll+e,i=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:i,parent:n}},A=(e,t,n)=>{let r=(...e)=>We(r,e.length===1?``+e[0]:e.join(` `));return Object.setPrototypeOf(r,Ue),r[w]=e,r[T]=t,r[E]=n,r},We=(e,t)=>{if(e.level<=0||!t)return e[E]?``:t;let n=e[T];if(n===void 0)return t;let{openAll:r,closeAll:i}=n;if(t.includes(`\x1B`))for(;n!==void 0;)t=Fe(t,n.close,n.open),n=n.parent;let a=t.indexOf(`
|
|
5
|
-
`);return a!==-1&&(t=Ie(t,i,r,a)),r+t+i};Object.defineProperties(O.prototype,D);const Ge=O();O({level:Re?Re.level:0});var j=Ge,M=class{emitter;constructor(){this.emitter=r()}on(e,t){v(e).forEach(e=>{this.emitter.on(e,t)})}off(e,t){v(e).forEach(e=>{this.emitter.off(e,t)})}emit(e,t){v(e).forEach(e=>{this.emitter.emit(e,t)})}removeAllListeners(){this.emitter.all.clear()}},Ke=class{listeners;constructor(){this.listeners=new Map}on(e,t){v(e).forEach(e=>{let n=this.listeners.get(e)||new Set;n.add(t),this.listeners.set(e,n)})}off(e,t){v(e).forEach(e=>{let n=this.listeners.get(e);n&&n.delete(t)})}async emit(e,...t){let n=v(e).flatMap(e=>{let t=this.listeners.get(e)||new Set,n=this.listeners.get(`*`)||new Set;return[...Array.from(t),...Array.from(n)]});return n.length===0?[]:await Promise.all(n.map(async n=>{try{let e=n(...t);return e instanceof Promise?await e:e}catch(t){console.error(`Error in event listener for ${String(e)}:`,t);return}}))}removeAllListeners(){this.listeners.clear()}};function N(e,...t){return class extends e{static _instance;static getInstance(){return this._instance||=new e(...t),this._instance}static clearInstance(){this._instance=void 0}}}const P=N(class extends M{destroy(){this.removeAllListeners()}fatal(e,t,n){this.emit(`fatal`,{code:t,message:e,data:n,timestamp:Date.now()})}error(e,t,n){this.emit(`error`,{code:t,message:e,data:n,timestamp:Date.now()})}warn(e,t,n){this.emit(`warning`,{code:t,message:e,data:n,timestamp:Date.now()})}});var qe=class{data;_schema;_defaultValue;_path;constructor(e){let{schema:t,default:n,path:r}=e;this._schema=t,this._defaultValue=n,this._path=r}set(e){let t=this._schema[`~standard`].validate(e);if(t instanceof Promise)throw Error(`StructuredConfigFile does not support async validation`);if(t.issues){this.reportInvalidConfigFile(t.issues);return}this.data=this.onBeforeSave(e),this.save(e)}get(){return this.data?this.data:this.load()}getKey(e){return this.get()[e]}save(e){let t=this.onBeforeSave(e);try{d(this.getFilePath()),i.writeFileSync(this.getFilePath(),JSON.stringify(t,void 0,2))}catch{return}return this.data=t}load(){if(!this.fileExists(this.getFilePath())||!this.canReadWriteFile(this.getFilePath())){this.save(this._defaultValue);let e=this.onAfterLoad(this._defaultValue);return this.data=e,e}try{let e=i.readFileSync(this.getFilePath(),`utf8`),t=this.onAfterLoad(this.parseStoredData(e));return this.data=t,t}catch{return this.data=this._defaultValue}}onBeforeSave(e){return e}onAfterLoad(e){return e}getFilePath(){return this._path}parseStoredData(e){try{let t=n(`string.json.parse`).to(`object`)(e);if(t instanceof n.errors)return this._defaultValue;let r=this._schema[`~standard`].validate(t);if(r instanceof Promise)throw Error(`StructuredConfigFile does not support async validation`);return r.issues?this.migrate(t,this._defaultValue):this.migrate(r.value,this._defaultValue)}catch{return this._defaultValue}}canReadWriteFile(e){try{return i.accessSync(e,i.constants.R_OK|i.constants.W_OK),!0}catch{return!1}}fileExists(e){try{return i.accessSync(e,i.constants.F_OK),!0}catch{return!1}}migrate(e,t){let n={...e};for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(r in e?e[r]!==null&&t[r]!==null&&typeof e[r]==`object`&&typeof t[r]==`object`&&!Array.isArray(e[r])&&!Array.isArray(t[r])?n[r]=this.migrate(e[r],t[r]):Array.isArray(t[r])&&(n[r]=e[r]):n[r]=t[r]);return n}reportInvalidConfigFile(e){P.getInstance().error(`Invalid config file`,`INVALID_CONFIG_FILE`,{issues:e.map(e=>e.message),filePath:this._path,data:this.data})}};function Je(e,t,n){return typeof e!=`object`||!e?String(e):e instanceof Error?JSON.stringify(e,Object.getOwnPropertyNames(e),n):e instanceof Map?JSON.stringify(Object.fromEntries(e.entries()),t,n):e instanceof Set?JSON.stringify(Array.from(e),t,n):JSON.stringify(e,t,n)}var Ye=class e extends M{stream;logPath;baseFileName;currentDate;rotationCheckInterval;isRotating=!1;constructor(e,t){super(),this.logPath=e,this.baseFileName=t.replace(`.log`,``),this.currentDate=this.getDateString(new Date),this.ensureLogDirectory(),this.ensureLogFile(),this.stream=this.createStream(),this.rotationCheckInterval=this.startRotationCheck(),this.cleanupOldLogs()}static scope(t,n){return new e(t,n)}log(...e){this.write(`log`,...e)}error(...e){this.write(`error`,...e)}warn(...e){this.write(`warn`,...e)}info(...e){this.write(`info`,...e)}debug(...e){this.write(`debug`,...e)}async close(){clearInterval(this.rotationCheckInterval),await new Promise(e=>{this.stream.end(()=>e())})}getCurrentFileName(){return this.getFileName(this.currentDate)}static getMessageElements(e,...t){let n=new Date,r=n.toISOString().replace(`T`,` `).replace(/\.\d+Z$/,``)+`.${n.getMilliseconds().toString().padStart(3,`0`)}`,i=t.map(e=>Je(e)).join(` `);return{timestamp:r,level:e,message:i}}getFileName(e){return`${this.baseFileName}-${e}.log`}ensureLogDirectory(){try{s(this.logPath,{recursive:!0})}catch(e){throw console.error(`Failed to create log directory ${this.logPath}:`,e),e}}ensureLogFile(){let e=f(this.logPath,this.getFileName(this.currentDate));if(!o(e))try{u(e,``,`utf8`)}catch(t){throw console.error(`Failed to create log file ${e}:`,t),t}}getDateString(e){return e.toISOString().split(`T`)[0]}createStream(){let e=f(this.logPath,this.getFileName(this.currentDate));return a(e,{flags:`a`,encoding:`utf8`})}async rotateLogs(){if(this.isRotating)return;this.isRotating=!0;let e=this.getDateString(new Date);e!==this.currentDate&&await new Promise(t=>{this.stream.end(()=>{this.currentDate=e,this.stream=this.createStream(),this.cleanupOldLogs(),t()})}),this.isRotating=!1}startRotationCheck(){return setInterval(()=>this.rotateLogs(),6e4)}cleanupOldLogs(){let e=c(this.logPath),t=new Date;t.setDate(t.getDate()-7),e.filter(e=>e.startsWith(this.baseFileName)&&e.endsWith(`.log`)).filter(e=>{let n=e.replace(`${this.baseFileName}-`,``).replace(`.log`,``);return new Date(n)<t}).forEach(e=>{try{l(f(this.logPath,e))}catch(t){console.error(`Failed to delete old log file ${e}:`,t)}})}write(t,...n){let{timestamp:r,message:i}=e.getMessageElements(t,...n),a=`[${r}] [${t}] ${i}\n`;this.stream.write(a,e=>{e?this.emit(`error`,e):this.emit(`write`,a)})}};const F=()=>p.join(process.env.APPDATA??``,`overlayed`),Xe=()=>p.join(F(),`logs`),Ze=e=>p.join(F(),`apps`,e),Qe=e=>p.join(Ze(e),`logs`),$e=()=>p.join(F(),`meta.json`);var et=class{fileLogger;path;appId;messageQueue=new Ce;fileName;_debug=!1;silent=!1;constructor(e){this.fileName=e}init(e,t=!1,n=!1){this.appId=e,this._debug=t,this.silent=n,this.path=Qe(e),this.fileLogger=new Ye(this.path,this.fileName),this.messageQueue.flush().forEach(e=>{this.fileLogger?.[e.type](...e.args)})}scope(e){if(!this.appId||!this.path)throw Error(`Logger not initialized`);let t=`[${e}]`;return{scope:e=>this.scope(e),error:(...e)=>this.error(t,...e),warn:(...e)=>this.warn(t,...e),info:(...e)=>this.info(t,...e),log:(...e)=>this.log(t,...e),debug:(...e)=>this.debug(t,...e)}}error(...e){this.handle(`error`,...e)}warn(...e){this.handle(`warn`,...e)}info(...e){this.handle(`log`,...e)}debug(...e){this._debug&&this.handle(`debug`,...e)}log(...e){this.handle(`log`,...e)}handle(e,...t){this.logToConsole(e,...t),this.fileLogger?this.fileLogger[e](...t):this.messageQueue.add({type:e,args:t})}logToConsole(e,...t){let n={error:j.red,warn:j.yellow,debug:j.blue,log:j.white};if(this.silent&&!this._debug)return;let{timestamp:r,message:i}=Ye.getMessageElements(e,...t),a=console[e],o=n[e];a(`${j.gray(r)} ${o(i)}`)}};const I=N(et,`overlayed.log`);var tt=class extends re{blob;chunkSizeMb;maxConcurrent;shouldStop=!1;constructor(e,t){super(),this.blob=e,this.chunkSizeMb=t.chunkSizeMb,this.maxConcurrent=t.maxConcurrent??3}get totalChunks(){return Math.ceil(this.blob.size/(this.chunkSizeMb*1024*1024))}async chunk(e){let t=this.chunkSizeMb*1024*1024,n=this.totalChunks;if(n===0)return;let r=new Map,i=new Set,a=new Set,o=[];for(let e=0;e<n;e++)o.push(e);let s=async n=>{let s=n*t,c=Math.min(s+t,this.blob.size),l=this.blob.slice(s,c);try{await e(l,n),a.add(n),this.emit(`chunkComplete`,n),i.delete(n)}catch(e){let t=r.get(n)||0;t<5?(r.set(n,t+1),await new Promise(e=>setTimeout(e,(t+1)*1e3)),o.push(n)):(a.add(n),this.emit(`error`,e),this.shouldStop=!0,i.delete(n))}},c=[],l=async()=>{for(;(o.length>0||i.size>0)&&!this.shouldStop;){if(o.length===0){await new Promise(e=>setTimeout(e,10));continue}let e=o.shift();a.has(e)||i.has(e)||(i.add(e),await s(e))}};for(let e=0;e<this.maxConcurrent;e++)c.push(l());await Promise.all(c)}};function nt(e,t){let{recursive:n}=rt(t);return oe(e)?n?it(e).map(t=>[e,t]):le(e).map(t=>[e,t]):[]}function rt(e){return{recursive:e?.recursive??!0}}function it(e){return le(e,{withFileTypes:!0}).flatMap(t=>{let n=p.join(e,t.name);return t.isDirectory()?it(n):[n]})}function at(e){return e}const{PipeEventServer:ot,PipeEventClient:st,PipeEventBase:ct,ProcessMonitor:lt,Process:ut,HardwareInterface:dt}=e(import.meta.url)(`@overlayed/app/dist/native-interface/build/overlayed_native_interface_x64.node`),ft=ot,L=N(class extends M{server=null;_hasConnection=!1;pipeId;get hasConnection(){return this._hasConnection}constructor(e){super(),this.pipeId=e,this.init()}destroy(){this.server&&=(this._hasConnection=!1,this.server?.removeAllListeners(),null)}init(){this.server=new ft(this.pipeId,{clientCount:1,access:1}),this.server.on(`event`,e=>{try{let t=JSON.parse(e);this.emit(`data`,[t])}catch(e){this.emit(`error`,e)}}),this.server.on(`connected`,()=>{this._hasConnection=!0}),this.server.on(`disconnected`,()=>{this._hasConnection=!1})}},`stats-cc`),{RenderInterface:pt,renderHookPath:mt}=e(import.meta.url)(`@overlayed/app/dist/render-interface/build/overlayed_render_interface_x64.node`),ht=pt;let gt=function(e){return e[e.LeftButton=1]=`LeftButton`,e[e.RightButton=2]=`RightButton`,e[e.Cancel=3]=`Cancel`,e[e.MiddleButton=4]=`MiddleButton`,e[e.ExtraButton1=5]=`ExtraButton1`,e[e.ExtraButton2=6]=`ExtraButton2`,e[e.Back=8]=`Back`,e[e.Tab=9]=`Tab`,e[e.Clear=12]=`Clear`,e[e.Return=13]=`Return`,e[e.Shift=16]=`Shift`,e[e.Control=17]=`Control`,e[e.Menu=18]=`Menu`,e[e.Pause=19]=`Pause`,e[e.CapsLock=20]=`CapsLock`,e[e.Kana=21]=`Kana`,e[e.Hangeul=21]=`Hangeul`,e[e.Hangul=21]=`Hangul`,e[e.Junja=23]=`Junja`,e[e.Final=24]=`Final`,e[e.Hanja=25]=`Hanja`,e[e.Kanji=25]=`Kanji`,e[e.Escape=27]=`Escape`,e[e.Convert=28]=`Convert`,e[e.NonConvert=29]=`NonConvert`,e[e.Accept=30]=`Accept`,e[e.ModeChange=31]=`ModeChange`,e[e.Space=32]=`Space`,e[e.Prior=33]=`Prior`,e[e.Next=34]=`Next`,e[e.End=35]=`End`,e[e.Home=36]=`Home`,e[e.Left=37]=`Left`,e[e.Up=38]=`Up`,e[e.Right=39]=`Right`,e[e.Down=40]=`Down`,e[e.Select=41]=`Select`,e[e.Print=42]=`Print`,e[e.Execute=43]=`Execute`,e[e.Snapshot=44]=`Snapshot`,e[e.Insert=45]=`Insert`,e[e.Delete=46]=`Delete`,e[e.Help=47]=`Help`,e[e.N0=48]=`N0`,e[e.N1=49]=`N1`,e[e.N2=50]=`N2`,e[e.N3=51]=`N3`,e[e.N4=52]=`N4`,e[e.N5=53]=`N5`,e[e.N6=54]=`N6`,e[e.N7=55]=`N7`,e[e.N8=56]=`N8`,e[e.N9=57]=`N9`,e[e.A=65]=`A`,e[e.B=66]=`B`,e[e.C=67]=`C`,e[e.D=68]=`D`,e[e.E=69]=`E`,e[e.F=70]=`F`,e[e.G=71]=`G`,e[e.H=72]=`H`,e[e.I=73]=`I`,e[e.J=74]=`J`,e[e.K=75]=`K`,e[e.L=76]=`L`,e[e.M=77]=`M`,e[e.N=78]=`N`,e[e.O=79]=`O`,e[e.P=80]=`P`,e[e.Q=81]=`Q`,e[e.R=82]=`R`,e[e.S=83]=`S`,e[e.T=84]=`T`,e[e.U=85]=`U`,e[e.V=86]=`V`,e[e.W=87]=`W`,e[e.X=88]=`X`,e[e.Y=89]=`Y`,e[e.Z=90]=`Z`,e[e.LeftWindows=91]=`LeftWindows`,e[e.RightWindows=92]=`RightWindows`,e[e.Application=93]=`Application`,e[e.Sleep=95]=`Sleep`,e[e.Numpad0=96]=`Numpad0`,e[e.Numpad1=97]=`Numpad1`,e[e.Numpad2=98]=`Numpad2`,e[e.Numpad3=99]=`Numpad3`,e[e.Numpad4=100]=`Numpad4`,e[e.Numpad5=101]=`Numpad5`,e[e.Numpad6=102]=`Numpad6`,e[e.Numpad7=103]=`Numpad7`,e[e.Numpad8=104]=`Numpad8`,e[e.Numpad9=105]=`Numpad9`,e[e.Multiply=106]=`Multiply`,e[e.Add=107]=`Add`,e[e.Separator=108]=`Separator`,e[e.Subtract=109]=`Subtract`,e[e.Decimal=110]=`Decimal`,e[e.Divide=111]=`Divide`,e[e.F1=112]=`F1`,e[e.F2=113]=`F2`,e[e.F3=114]=`F3`,e[e.F4=115]=`F4`,e[e.F5=116]=`F5`,e[e.F6=117]=`F6`,e[e.F7=118]=`F7`,e[e.F8=119]=`F8`,e[e.F9=120]=`F9`,e[e.F10=121]=`F10`,e[e.F11=122]=`F11`,e[e.F12=123]=`F12`,e[e.F13=124]=`F13`,e[e.F14=125]=`F14`,e[e.F15=126]=`F15`,e[e.F16=127]=`F16`,e[e.F17=128]=`F17`,e[e.F18=129]=`F18`,e[e.F19=130]=`F19`,e[e.F20=131]=`F20`,e[e.F21=132]=`F21`,e[e.F22=133]=`F22`,e[e.F23=134]=`F23`,e[e.F24=135]=`F24`,e[e.NumLock=144]=`NumLock`,e[e.ScrollLock=145]=`ScrollLock`,e[e.NEC_Equal=146]=`NEC_Equal`,e[e.Fujitsu_Jisho=146]=`Fujitsu_Jisho`,e[e.Fujitsu_Masshou=147]=`Fujitsu_Masshou`,e[e.Fujitsu_Touroku=148]=`Fujitsu_Touroku`,e[e.Fujitsu_Loya=149]=`Fujitsu_Loya`,e[e.Fujitsu_Roya=150]=`Fujitsu_Roya`,e[e.LeftShift=160]=`LeftShift`,e[e.RightShift=161]=`RightShift`,e[e.LeftControl=162]=`LeftControl`,e[e.RightControl=163]=`RightControl`,e[e.LeftMenu=164]=`LeftMenu`,e[e.RightMenu=165]=`RightMenu`,e[e.BrowserBack=166]=`BrowserBack`,e[e.BrowserForward=167]=`BrowserForward`,e[e.BrowserRefresh=168]=`BrowserRefresh`,e[e.BrowserStop=169]=`BrowserStop`,e[e.BrowserSearch=170]=`BrowserSearch`,e[e.BrowserFavorites=171]=`BrowserFavorites`,e[e.BrowserHome=172]=`BrowserHome`,e[e.VolumeMute=173]=`VolumeMute`,e[e.VolumeDown=174]=`VolumeDown`,e[e.VolumeUp=175]=`VolumeUp`,e[e.MediaNextTrack=176]=`MediaNextTrack`,e[e.MediaPrevTrack=177]=`MediaPrevTrack`,e[e.MediaStop=178]=`MediaStop`,e[e.MediaPlayPause=179]=`MediaPlayPause`,e[e.LaunchMail=180]=`LaunchMail`,e[e.LaunchMediaSelect=181]=`LaunchMediaSelect`,e[e.LaunchApplication1=182]=`LaunchApplication1`,e[e.LaunchApplication2=183]=`LaunchApplication2`,e[e.OEM1=186]=`OEM1`,e[e.OEMPlus=187]=`OEMPlus`,e[e.OEMComma=188]=`OEMComma`,e[e.OEMMinus=189]=`OEMMinus`,e[e.OEMPeriod=190]=`OEMPeriod`,e[e.OEM2=191]=`OEM2`,e[e.OEM3=192]=`OEM3`,e[e.OEM4=219]=`OEM4`,e[e.OEM5=220]=`OEM5`,e[e.OEM6=221]=`OEM6`,e[e.OEM7=222]=`OEM7`,e[e.OEM8=223]=`OEM8`,e[e.OEMAX=225]=`OEMAX`,e[e.OEM102=226]=`OEM102`,e[e.ICOHelp=227]=`ICOHelp`,e[e.ICO00=228]=`ICO00`,e[e.ProcessKey=229]=`ProcessKey`,e[e.ICOClear=230]=`ICOClear`,e[e.Packet=231]=`Packet`,e[e.OEMReset=233]=`OEMReset`,e[e.OEMJump=234]=`OEMJump`,e[e.OEMPA1=235]=`OEMPA1`,e[e.OEMPA2=236]=`OEMPA2`,e[e.OEMPA3=237]=`OEMPA3`,e[e.OEMWSCtrl=238]=`OEMWSCtrl`,e[e.OEMCUSel=239]=`OEMCUSel`,e[e.OEMATTN=240]=`OEMATTN`,e[e.OEMFinish=241]=`OEMFinish`,e[e.OEMCopy=242]=`OEMCopy`,e[e.OEMAuto=243]=`OEMAuto`,e[e.OEMENLW=244]=`OEMENLW`,e[e.OEMBackTab=245]=`OEMBackTab`,e[e.ATTN=246]=`ATTN`,e[e.CRSel=247]=`CRSel`,e[e.EXSel=248]=`EXSel`,e[e.EREOF=249]=`EREOF`,e[e.Play=250]=`Play`,e[e.Zoom=251]=`Zoom`,e[e.Noname=252]=`Noname`,e[e.PA1=253]=`PA1`,e[e.OEMClear=254]=`OEMClear`,e}({});var _t=class{logger;initialized=!1;constructor(e){this.logger=I.getInstance().scope(e)}init(){this.logger.log(`Initializing`),this.initialized=!0}destroy(){this.logger.log(`Destroying`),this.initialized=!1}},R=class extends M{logger;initialized=!1;constructor(e){super(),this.logger=I.getInstance().scope(e)}init(){this.logger.log(`Initializing`),this.initialized=!0}destroy(){this.logger.log(`Destroying`),this.initialized=!1,this.removeAllListeners()}},vt=class extends Ke{logger;initialized=!1;constructor(e){super(),this.logger=I.getInstance().scope(e)}init(){this.logger.log(`Initializing`),this.initialized=!0}destroy(){this.logger.log(`Destroying`),this.initialized=!1,this.removeAllListeners()}};const z=de.create({baseURL:`https://updater.stats.cc`,headers:{Accept:`application/json`,"Accept-Encoding":`gzip, deflate, br`}});let yt;function bt(e){yt=e}z.interceptors.request.use(e=>{let t=yt?.();return t?(e.headers??={},e.headers.Authorization=t,e):e});const B=de.create({baseURL:`https://api.overlayed.gg`,headers:{Accept:`application/json`,"Accept-Encoding":`gzip, deflate, br`}});B.interceptors.request.use(e=>(e.headers??={},e));function xt(e,t){if(t<=0)throw Error(`Chunk size must be greater than 0`);if(e.length===0)return[];let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function St(e){return e}function Ct(e){return e?t=>(e(t),t):St}const wt=Ct();function Tt(e){return B.get(`/v1/public/applications/${e}`)}function Et(e,t,n){return z.get(`/v1/native/${Ot(e)}/version.txt`,{params:{channel:t},responseType:`text`,headers:{"X-App-Version":kt(n,t)}})}function Dt(e,t,n){return z.get(`/v1/native/${Ot(e)}/files`,{params:{channel:t},responseType:`arraybuffer`,headers:{"X-App-Version":kt(n,t)}})}function Ot(e){return e===`01JXPFK6YQ3N00N2Y9JHFNG55D`||e===`01JZEBPGHT5M4Y6SGY4P7Q9EZT`?`siege-game-module`:e}function kt(e,t){return`desktop-application/${e} (channel=${t})`}function At(){return B.get(`/v1/public/raven/config`)}function jt(e,t){return B.get(`/v1/public/raven/games/${e}/builds/${t}`)}function Mt(e,t){return B.post(`/v1/public/raven/games/${e}/builds/upload`,null,{params:t})}function Nt(e,t){let n=new FormData;return n.append(`file`,t.chunk),B.patch(`/v1/public/raven/games/${e}/builds/upload`,n,{params:t})}function Pt(e){let t=Date.now(),n=e.messages.map(e=>Ft(t,e)),r=xt(n,250),i=Promise.all(r.map(async t=>B.post(`/v1/public/cortex/events`,{...e,messages:t})));return i.catch(e=>{let t=e?.response?.data||e?.message||e;console.error(`Failed to submit cortex events`,t)}),i}function Ft(e,t){let n=e-t.created_at.getTime(),r=Math.max(0,Math.floor(n/1e3));return{properties:t.properties,type:t.type,seconds_offset:r}}function It(e){return e instanceof Error&&(e.name===`XiorError`||e.name===`XiorTimeoutError`)}function Lt(e){return!!(e&&`kind`in e.data&&`message`in e.data)}let Rt;function zt(e){Rt=e}const V=N(class extends R{UPDATE_CHECK_INTERVAL_MS=1e3*60*5;targetDir;updateInterval;constructor(){super(`NativeModuleManager`),this.targetDir=p.join(F(),`resources`),this.logger.log(`Target directory`,this.targetDir)}async initWithDlls(e){super.init(),await g.mkdir(this.targetDir,{recursive:!0}),await this.checkForUpdates(e),clearInterval(this.updateInterval),this.updateInterval=setInterval(()=>this.checkForUpdates(e),this.UPDATE_CHECK_INTERVAL_MS)}destroy(){this.updateInterval&&=(clearInterval(this.updateInterval),void 0),super.destroy()}async getCurrentVersion(e){try{let t=p.join(this.targetDir,e,`version.txt`);return this.logger.log(`Version Path`,t),await g.readFile(t,`utf-8`)}catch{return null}}getTargetPath(e){return p.join(this.targetDir,e)}getTargetVersionPath(e,t){return p.join(this.getTargetPath(e),t)}async checkForUpdates(e){let t=global.OVERLAYED.APP_BUILD_CHANNEL;if(this.logger.log(`Checking for updates`),!t){this.logger.error(`Invalid VITE_BUILD_CHANNEL`);return}await Rt?.();for(let n of e)try{let{data:e}=await Et(n,t,global.OVERLAYED.APP_VERSION),r=await this.getCurrentVersion(n);this.logger.log(`${n} > Update Check. current: ${r}, latest: ${e}`);let i=e!==r;this.logger.log(`${n} > Update found: ${r} -> ${e}`),await this.downloadAndExtractDll(n,e,t,i),this.logger.log(`${n} > Downloaded and extracted`),i&&(this.logger.log(`${n} > Cleaning up versions older than ${e}`),await this.cleanupOldVersions(n,e)),this.emit(`dllUpdated`,{identifier:n,version:e})}catch(e){this.logger.error(`${n} > Error checking/updating`,e)}}async downloadAndExtractDll(e,t,n,r){let{data:i}=await Dt(e,n,global.OVERLAYED.APP_VERSION),a=this.getTargetPath(e),o=this.getTargetVersionPath(e,t);await g.mkdir(o,{recursive:!0});let s=new _;await s.loadAsync(i);let c=Object.keys(s.files).map(async t=>{let n=s.files[t];if(n&&!n.dir){let i=p.join(o,t);if(!r)try{await g.access(i,g.constants.F_OK);return}catch{this.logger.warn(`${e} > File missing, re-downloading: ${i}`)}let a=await n.async(`nodebuffer`);await g.writeFile(i,a)}});await Promise.all(c);let l=p.join(a,`version.txt`);this.logger.log(`Saving version file`,l),await g.writeFile(l,t)}async cleanupOldVersions(e,t){let n=p.join(this.targetDir,e),r=await g.readdir(n,{withFileTypes:!0});for(let e of r)e.isDirectory()&&e.name!==t&&await g.rm(p.join(n,e.name),{recursive:!0,force:!0})}}),H=N(class extends R{REFETCH_INTERVAL=1e3*60*5;FAILED_REFETCH_INTERVAL=1e3*30;_ravenConfig;_executableToGameMap=new Map;_executablesArray=[];_refetchIntervalHandler=null;_failedRefetchTimeoutHandler=null;constructor(){super(`RavenManager`)}init(){super.init(),this.fetchRavenConfig(),this._refetchIntervalHandler=setInterval(()=>{this._failedRefetchTimeoutHandler&&=(clearTimeout(this._failedRefetchTimeoutHandler),null),this.fetchRavenConfig()},this.REFETCH_INTERVAL)}getExecutableData(e){return this._executableToGameMap.get(e.toLowerCase())??null}get executables(){return this._executablesArray}get executablesMap(){return this._executableToGameMap}destroy(){this._refetchIntervalHandler&&clearInterval(this._refetchIntervalHandler),this._failedRefetchTimeoutHandler&&clearTimeout(this._failedRefetchTimeoutHandler),V.getInstance().destroy(),super.destroy()}async fetchRavenConfig(){try{this._ravenConfig={games:(await At()).data.games},this.resetState();let e=new Set;for(let t of this._ravenConfig.games){for(let e of t.executables){let n=e.toLowerCase();this._executableToGameMap.set(n,t),this._executablesArray.push(n)}t.modules.forEach(t=>e.add(t))}await V.getInstance().initWithDlls(Array.from(e)),this.logger.log(`Raven updated, monitoring ${this._executableToGameMap.size} executables`),this.emit(`executablesUpdated`,{executables:this.executables,map:this._executableToGameMap})}catch(e){this.logger.error(`Failed to fetch Raven config`,e),this._failedRefetchTimeoutHandler=setTimeout(()=>this.fetchRavenConfig(),this.FAILED_REFETCH_INTERVAL)}}resetState(){this._executableToGameMap.clear(),this._executablesArray=[]}}),{PipeEventServer:Bt,PipeEventClient:Vt,PipeEventBase:Ht,ProcessMonitor:Ut,Process:Wt,HardwareInterface:Gt}=e(import.meta.url)(`@overlayed/app/dist/native-interface/build/overlayed_native_interface_x64.node`),Kt=Gt,qt=Ut,Jt=Wt,U=N(class extends R{_processMonitor;_processes=new Map;boundOnRavenManagerExecutablesUpdated=this.onRavenManagerExecutablesUpdated.bind(this);constructor(){super(`ProcessManager`),this._processMonitor=new qt}get hasAnyActiveProcesses(){return this.activeProcesses.length>0}get activeProcesses(){return Array.from(this._processes.values()).flat().filter(e=>!e.destroyedAt)}init(){super.init(),H.getInstance().on(`executablesUpdated`,this.boundOnRavenManagerExecutablesUpdated),this._processMonitor.on(`create`,e=>{this.logger.log(`Process created`,e),this.addProcess(e),this.logger.log(`Active Process Count: ${this._processes.size}`),this.emit(`create`,{process:e})}),this._processMonitor.on(`destroy`,e=>{this.logger.log(`Process destroyed`,e),this.deleteProcess(e),this.logger.log(`Active Process Count: ${this._processes.size}`),this.emit(`destroy`,{process:e})})}destroy(){H.getInstance().off(`executablesUpdated`,this.boundOnRavenManagerExecutablesUpdated),this._processes.clear(),this._processMonitor.removeAllListeners(),super.destroy()}isProcessRunning(e){return this._processes.get(e)?.some(e=>!e.destroyedAt)??!1}onRavenManagerExecutablesUpdated(e){this.logger.log(`Monitoring ${e.executables.length} processes`),e.executables.forEach(e=>{this._processMonitor.registerProcess(e)})}addProcess(e){if(!e.name)return;let t=this._processes.get(e.name);if(!t){this._processes.set(e.name,[e]);return}this._processes.set(e.name,t.concat(e))}deleteProcess(e){if(!e.name)return;let t=this._processes.get(e.name)?.filter(t=>t.id!==e.id)??[];t.length===0?this._processes.delete(e.name):this._processes.set(e.name,t)}});var Yt=class{_instance;_resolution;boundOnResolutionChanged=this.onResolutionChanged.bind(this);constructor(e){this._instance=e,this._resolution={width:0,height:0},this._instance.on(`resolution`,this.boundOnResolutionChanged)}destroy(){this._instance.off(`resolution`,this.boundOnResolutionChanged)}get instance(){return this._instance}get resolution(){return this._resolution}onResolutionChanged(e,t){this._resolution={width:e,height:t}}};const W=N(class{interfaces={};constructor(){}createInterface(e){return this.interfaces[e]||(this.interfaces[e]=new Yt(new ht(e,{access:1}))),this.interfaces[e]}getInterface(e){return this.interfaces[e]?this.interfaces[e]:this.createInterface(e)}}),G=N(class{options;eventQueue;meta=null;constructor(e){this.options=this.resolveOptions(e),this.eventQueue=new Ce,this.setupFlushInterval()}track(e,t){this.eventQueue.add({type:e,properties:t,created_at:new Date})}flush(){let e=Array.from(this.eventQueue.flush()).concat({type:`ping`,properties:{},created_at:new Date});if(!this.meta)throw Error(`Tried to flush Cortex events before meta was set`);try{Pt({...this.meta,messages:e})}catch{}return e}setupFlushInterval(){setInterval(()=>{this.flush()},this.options.batchIntervalSeconds*1e3)}resolveOptions(e){return{batchIntervalSeconds:e?.batchIntervalSeconds??15}}}),Xt=e(import.meta.url).resolve(`@overlayed/app/dist/render-interface/build/overlayed_render_hook_x64.dll`),K=N(class extends vt{boundOnProcessCreate=this.onProcessCreate.bind(this);boundOnProcessDestroy=this.onProcessDestroy.bind(this);subscribedGames=new Set;_activeReadyRavenGames=new Set;get isInGame(){return this._activeReadyRavenGames.size>0}constructor(){super(`GameLaunchManager`)}setSubscribedGames(e){this.subscribedGames=new Set(e)}init(){super.init(),W.getInstance().createInterface(`OGG_SIEGE`),U.getInstance().on(`create`,this.boundOnProcessCreate),U.getInstance().on(`destroy`,this.boundOnProcessDestroy)}destroy(){U.getInstance().off(`create`,this.boundOnProcessCreate),U.getInstance().off(`destroy`,this.boundOnProcessDestroy),super.destroy()}async onProcessCreate({process:e}){let t=this.getRavenGame(e);if(!t)return;if(this.subscribedGames.size===0){this.logger.warn(`No subscribed games, skipping`);return}if(G.getInstance().track(`game_launch`,{game:t.identifier}),!this.subscribedGames.has(t.identifier)&&!this.subscribedGames.has(`*`))return;let n=new AbortController;if(await this.emit(`gameLaunch`,{game:t.identifier,reject:()=>n.abort()}),n.signal.aborted)return;let r=Jt.currentProcess;if(this.logger.log(`Game Launched`,t),this.logger.log(`Process is elevated: `,e.isElevated),this.logger.log(`Current process is elevated: `,r.isElevated),e.isElevated&&!r.isElevated){P.getInstance().fatal(`Game is elevated but the App is not`,`ELEVATION_MISMATCH`,{appElevated:!!r.isElevated,gameElevated:!!e.isElevated}),this.logger.log(`Game elevated but App is not`,{appElevated:r.isElevated,gameElevated:e.isElevated});return}let i=this.copyDll(Xt);if(i)try{await e.injectDll(i),this.logger.log(`Render Interface Injection Successful`,i)}catch(e){this.logger.error(`Render Interface Injection Failed`,e),this.logger.error(`Render Interface Injection Failed`,{renderInterfacePath:i})}let a=t?.modules.map(async t=>{let n=await V.getInstance().getCurrentVersion(t);if(!n)return this.logger.error(`No version found for DLL`,{identifier:t}),Promise.resolve();let r=V.getInstance().getTargetVersionPath(t,n);this.logger.log(`DLL Path`,r);let i=await this.getDllFiles(r);return this.logger.log(`DLL Files`,i),Promise.all(i.map(async t=>{let n=p.basename(t),i=p.join(r,n);if(!i)return Promise.resolve();this.logger.log(`Injecting: `,i);try{return e.injectDll(i).then(()=>{this.logger.log(`Injection Successful`,i)}).catch(e=>{this.logger.error(`Injection Failed [1]`,{targetPath:i},e)})}catch(e){return this.logger.error(`Injection Failed [2]`,{targetPath:i},e),Promise.reject(e)}}))});await Promise.allSettled(a),this._activeReadyRavenGames.add(t.identifier),this.logger.debug(`Active ready raven games`,Array.from(this._activeReadyRavenGames).join(`, `)),this.emit(`gameReadyInternal`,{ravenGame:t,process:e}),this.emit(`gameReady`,{game:t.identifier}),G.getInstance().track(`game_ready`,{game:t.identifier})}copyDll(e){let t=p.basename(e),n=ee(e),r=p.join(F(),`resources`),i=p.join(r,t);this.logger.info(`Copying`,n,`to`,i);try{oe(r)||se(r,{recursive:!0});let e=ce(n);ue(i,e),ie(n,i)}catch(e){return e.code===`EBUSY`?i:(this.logger.error(`Failed to copy`,e),this.logger.error(`Failed to copy`,{originalPath:n,targetPath:i}),!1)}return i}async getDllFiles(e){try{return(await g.readdir(e)).filter(e=>e.endsWith(`.dll`)).map(t=>p.join(e,t))}catch(t){return this.logger.error(`Failed to read DLL directory`,t),this.logger.error(`Failed to read DLL directory`,{dllPath:e}),[]}}onProcessDestroy({process:e}){let t=this.getRavenGame(e);t&&(this._activeReadyRavenGames.delete(t.identifier),this.logger.debug(`Active ready raven games`,Array.from(this._activeReadyRavenGames).join(`, `)),this.emit(`gameCloseInternal`,{ravenGame:t,process:e}),this.emit(`gameClose`,{game:t.identifier}),G.getInstance().track(`game_close`,{game:t.identifier}))}getRavenGame(e){if(!e.name)return;let t=H.getInstance().getExecutableData(e.name);if(!t){this.logger.error(`No raven game found for process`,{process:e});return}return t}}),Zt=N(class extends _t{boundOnGameLaunch=this.onGameLaunch.bind(this);constructor(){super(`GameBuildManager`)}init(){super.init(),K.getInstance().on(`gameReadyInternal`,this.boundOnGameLaunch)}destroy(){K.getInstance().off(`gameReadyInternal`,this.boundOnGameLaunch),super.destroy()}async onGameLaunch(...e){let[{ravenGame:t,process:n}]=e;if(!n.path||!n.name){this.logger.error(`Process path or name not found, could not check for build hash`,void 0,n);return}let r=ce(n.path),i=fe(`sha256`).update(r).digest(`hex`);this.logger.log(`Process Path`,n.path),this.logger.log(`Process Name`,n.name),this.logger.log(`Build Hash`,i);let a=!1;try{a=(await jt(t.identifier,i)).data.upload}catch(e){this.logger.error(`Error checking game build hash`,e);return}if(!a){this.logger.log(`Build hash already exists, skipping upload`);return}let o=new _;o.file(n.name,r);let s=await o.generateAsync({type:`blob`});try{this.logger.log(`Uploading build (size: `,s.size,` bytes)`);let e=new tt(s,{chunkSizeMb:25,maxConcurrent:1}),n=await Mt(t.identifier,{build_hash:i,chunk_count:e.totalChunks,file_size_bytes:s.size});await e.chunk(async(e,r)=>{this.logger.log(`Uploading chunk`,r),await Nt(t.identifier,{chunk:e,build_hash:i,chunk_index:r,upload_token:n.data.upload_token})}),this.logger.log(`Build uploaded successfully`)}catch(e){It(e)?Lt(e.response)?this.logger.error(`Error uploading build hash, api error`,e):this.logger.error(`Error uploading build hash, request error`,e):this.logger.error(`Error uploading build hash, unknown error`,e)}}});function Qt(e=[]){return p.normalize(p.join(Ze(global.OVERLAYED.APPLICATION_ID),...e))}const $t=n({game:`string`,type:`string`,creation_time:`number`}),q=new qe({path:$e(),schema:n({userId:`string | undefined`,sessionId:`string | undefined`,sessionLastUsed:`number | undefined`}),default:{userId:void 0,sessionId:void 0,sessionLastUsed:void 0}});function en(){let e=q.get().userId;if(e)return e;let t=rn();return q.set({...q.get(),userId:t}),t}function tn(){let e=q.get();if(e.sessionId&&typeof e.sessionLastUsed==`number`&&Date.now()-e.sessionLastUsed<=300*1e3)return e.sessionId;let t=crypto.randomUUID();return q.set({...e,sessionId:t,sessionLastUsed:Date.now()}),t}function nn(){try{let e=q.get();q.set({...e,sessionLastUsed:Date.now()})}catch(e){I.getInstance().log(`Failed to update sessionLastUsed`,e)}}function rn(){try{return Kt.generateUniqueIdentifier()}catch{return crypto.randomUUID()}}function J(e,t){return`${e}:${t}`}function an(e,t,n){return e.reduce((e,r)=>{let i=r.key;return e[i]={on(e,n){let r=J(i,e),a=t.get(r)??new Set;a.add(n),t.set(r,a)},onAny(e){let n=J(i,`*`),r=t.get(n)??new Set;r.add(e),t.set(n,r)},off(e,n){let r=J(i,e),a=t.get(r);a&&(a.delete(n),a.size===0&&t.delete(r))},offAny(e){let n=J(i,`*`),r=t.get(n);r&&(r.delete(e),r.size===0&&t.delete(n))},readyForGameEvents:()=>{n.emit(`flushEvents`,i)}},e},{})}function on(){let e=P.getInstance(),t=K.getInstance();return{on:(n,r)=>{switch(n){case`fatal`:e.on(`fatal`,r);break;case`error`:e.on(`error`,r);break;case`warning`:e.on(`warning`,r);break;case`gameLaunch`:t.on(`gameLaunch`,r);break;case`gameClose`:t.on(`gameClose`,r);break;case`gameReady`:t.on(`gameReady`,r);break;default:throw Error(`Event type not implemented ${n}`,{cause:[n,r]})}},off:(n,r)=>{switch(n){case`fatal`:e.off(`fatal`,r);break;case`error`:e.off(`error`,r);break;case`warning`:e.off(`warning`,r);break;case`gameLaunch`:t.off(`gameLaunch`,r);break;case`gameClose`:t.off(`gameClose`,r);break;case`gameReady`:t.off(`gameReady`,r);break;default:throw Error(`Event type not implemented ${n}`,{cause:[n,r]})}}}}var Y=function(e){return e[e.LeftButton=1]=`LeftButton`,e[e.RightButton=2]=`RightButton`,e[e.Cancel=3]=`Cancel`,e[e.MiddleButton=4]=`MiddleButton`,e[e.ExtraButton1=5]=`ExtraButton1`,e[e.ExtraButton2=6]=`ExtraButton2`,e[e.Back=8]=`Back`,e[e.Tab=9]=`Tab`,e[e.Clear=12]=`Clear`,e[e.Return=13]=`Return`,e[e.Shift=16]=`Shift`,e[e.Control=17]=`Control`,e[e.Menu=18]=`Menu`,e[e.Pause=19]=`Pause`,e[e.CapsLock=20]=`CapsLock`,e[e.Kana=21]=`Kana`,e[e.Hangeul=21]=`Hangeul`,e[e.Hangul=21]=`Hangul`,e[e.Junja=23]=`Junja`,e[e.Final=24]=`Final`,e[e.Hanja=25]=`Hanja`,e[e.Kanji=25]=`Kanji`,e[e.Escape=27]=`Escape`,e[e.Convert=28]=`Convert`,e[e.NonConvert=29]=`NonConvert`,e[e.Accept=30]=`Accept`,e[e.ModeChange=31]=`ModeChange`,e[e.Space=32]=`Space`,e[e.Prior=33]=`Prior`,e[e.Next=34]=`Next`,e[e.End=35]=`End`,e[e.Home=36]=`Home`,e[e.Left=37]=`Left`,e[e.Up=38]=`Up`,e[e.Right=39]=`Right`,e[e.Down=40]=`Down`,e[e.Select=41]=`Select`,e[e.Print=42]=`Print`,e[e.Execute=43]=`Execute`,e[e.Snapshot=44]=`Snapshot`,e[e.Insert=45]=`Insert`,e[e.Delete=46]=`Delete`,e[e.Help=47]=`Help`,e[e.N0=48]=`N0`,e[e.N1=49]=`N1`,e[e.N2=50]=`N2`,e[e.N3=51]=`N3`,e[e.N4=52]=`N4`,e[e.N5=53]=`N5`,e[e.N6=54]=`N6`,e[e.N7=55]=`N7`,e[e.N8=56]=`N8`,e[e.N9=57]=`N9`,e[e.A=65]=`A`,e[e.B=66]=`B`,e[e.C=67]=`C`,e[e.D=68]=`D`,e[e.E=69]=`E`,e[e.F=70]=`F`,e[e.G=71]=`G`,e[e.H=72]=`H`,e[e.I=73]=`I`,e[e.J=74]=`J`,e[e.K=75]=`K`,e[e.L=76]=`L`,e[e.M=77]=`M`,e[e.N=78]=`N`,e[e.O=79]=`O`,e[e.P=80]=`P`,e[e.Q=81]=`Q`,e[e.R=82]=`R`,e[e.S=83]=`S`,e[e.T=84]=`T`,e[e.U=85]=`U`,e[e.V=86]=`V`,e[e.W=87]=`W`,e[e.X=88]=`X`,e[e.Y=89]=`Y`,e[e.Z=90]=`Z`,e[e.LeftWindows=91]=`LeftWindows`,e[e.RightWindows=92]=`RightWindows`,e[e.Application=93]=`Application`,e[e.Sleep=95]=`Sleep`,e[e.Numpad0=96]=`Numpad0`,e[e.Numpad1=97]=`Numpad1`,e[e.Numpad2=98]=`Numpad2`,e[e.Numpad3=99]=`Numpad3`,e[e.Numpad4=100]=`Numpad4`,e[e.Numpad5=101]=`Numpad5`,e[e.Numpad6=102]=`Numpad6`,e[e.Numpad7=103]=`Numpad7`,e[e.Numpad8=104]=`Numpad8`,e[e.Numpad9=105]=`Numpad9`,e[e.Multiply=106]=`Multiply`,e[e.Add=107]=`Add`,e[e.Separator=108]=`Separator`,e[e.Subtract=109]=`Subtract`,e[e.Decimal=110]=`Decimal`,e[e.Divide=111]=`Divide`,e[e.F1=112]=`F1`,e[e.F2=113]=`F2`,e[e.F3=114]=`F3`,e[e.F4=115]=`F4`,e[e.F5=116]=`F5`,e[e.F6=117]=`F6`,e[e.F7=118]=`F7`,e[e.F8=119]=`F8`,e[e.F9=120]=`F9`,e[e.F10=121]=`F10`,e[e.F11=122]=`F11`,e[e.F12=123]=`F12`,e[e.F13=124]=`F13`,e[e.F14=125]=`F14`,e[e.F15=126]=`F15`,e[e.F16=127]=`F16`,e[e.F17=128]=`F17`,e[e.F18=129]=`F18`,e[e.F19=130]=`F19`,e[e.F20=131]=`F20`,e[e.F21=132]=`F21`,e[e.F22=133]=`F22`,e[e.F23=134]=`F23`,e[e.F24=135]=`F24`,e[e.NumLock=144]=`NumLock`,e[e.ScrollLock=145]=`ScrollLock`,e[e.NEC_Equal=146]=`NEC_Equal`,e[e.Fujitsu_Jisho=146]=`Fujitsu_Jisho`,e[e.Fujitsu_Masshou=147]=`Fujitsu_Masshou`,e[e.Fujitsu_Touroku=148]=`Fujitsu_Touroku`,e[e.Fujitsu_Loya=149]=`Fujitsu_Loya`,e[e.Fujitsu_Roya=150]=`Fujitsu_Roya`,e[e.LeftShift=160]=`LeftShift`,e[e.RightShift=161]=`RightShift`,e[e.LeftControl=162]=`LeftControl`,e[e.RightControl=163]=`RightControl`,e[e.LeftMenu=164]=`LeftMenu`,e[e.RightMenu=165]=`RightMenu`,e[e.BrowserBack=166]=`BrowserBack`,e[e.BrowserForward=167]=`BrowserForward`,e[e.BrowserRefresh=168]=`BrowserRefresh`,e[e.BrowserStop=169]=`BrowserStop`,e[e.BrowserSearch=170]=`BrowserSearch`,e[e.BrowserFavorites=171]=`BrowserFavorites`,e[e.BrowserHome=172]=`BrowserHome`,e[e.VolumeMute=173]=`VolumeMute`,e[e.VolumeDown=174]=`VolumeDown`,e[e.VolumeUp=175]=`VolumeUp`,e[e.MediaNextTrack=176]=`MediaNextTrack`,e[e.MediaPrevTrack=177]=`MediaPrevTrack`,e[e.MediaStop=178]=`MediaStop`,e[e.MediaPlayPause=179]=`MediaPlayPause`,e[e.LaunchMail=180]=`LaunchMail`,e[e.LaunchMediaSelect=181]=`LaunchMediaSelect`,e[e.LaunchApplication1=182]=`LaunchApplication1`,e[e.LaunchApplication2=183]=`LaunchApplication2`,e[e.OEM1=186]=`OEM1`,e[e.OEMPlus=187]=`OEMPlus`,e[e.OEMComma=188]=`OEMComma`,e[e.OEMMinus=189]=`OEMMinus`,e[e.OEMPeriod=190]=`OEMPeriod`,e[e.OEM2=191]=`OEM2`,e[e.OEM3=192]=`OEM3`,e[e.OEM4=219]=`OEM4`,e[e.OEM5=220]=`OEM5`,e[e.OEM6=221]=`OEM6`,e[e.OEM7=222]=`OEM7`,e[e.OEM8=223]=`OEM8`,e[e.OEMAX=225]=`OEMAX`,e[e.OEM102=226]=`OEM102`,e[e.ICOHelp=227]=`ICOHelp`,e[e.ICO00=228]=`ICO00`,e[e.ProcessKey=229]=`ProcessKey`,e[e.ICOClear=230]=`ICOClear`,e[e.Packet=231]=`Packet`,e[e.OEMReset=233]=`OEMReset`,e[e.OEMJump=234]=`OEMJump`,e[e.OEMPA1=235]=`OEMPA1`,e[e.OEMPA2=236]=`OEMPA2`,e[e.OEMPA3=237]=`OEMPA3`,e[e.OEMWSCtrl=238]=`OEMWSCtrl`,e[e.OEMCUSel=239]=`OEMCUSel`,e[e.OEMATTN=240]=`OEMATTN`,e[e.OEMFinish=241]=`OEMFinish`,e[e.OEMCopy=242]=`OEMCopy`,e[e.OEMAuto=243]=`OEMAuto`,e[e.OEMENLW=244]=`OEMENLW`,e[e.OEMBackTab=245]=`OEMBackTab`,e[e.ATTN=246]=`ATTN`,e[e.CRSel=247]=`CRSel`,e[e.EXSel=248]=`EXSel`,e[e.EREOF=249]=`EREOF`,e[e.Play=250]=`Play`,e[e.Zoom=251]=`Zoom`,e[e.Noname=252]=`Noname`,e[e.PA1=253]=`PA1`,e[e.OEMClear=254]=`OEMClear`,e}(Y||{});const sn=new Map([[Y.LeftButton,`LeftButton`],[Y.RightButton,`RightButton`],[Y.Cancel,`Cancel`],[Y.MiddleButton,`MiddleButton`],[Y.ExtraButton1,`ExtraButton1`],[Y.ExtraButton2,`ExtraButton2`],[Y.Back,`Backspace`],[Y.Tab,`Tab`],[Y.Clear,`Clear`],[Y.Return,`Enter`],[Y.Shift,`ShiftLeft`],[Y.Control,`ControlLeft`],[Y.Menu,`AltLeft`],[Y.Pause,`Pause`],[Y.CapsLock,`CapsLock`],[Y.Kana,`KanaMode`],[Y.Junja,`JunjaMode`],[Y.Final,`Finalize`],[Y.Hanja,`HanjaMode`],[Y.Escape,`Escape`],[Y.Convert,`Convert`],[Y.NonConvert,`NonConvert`],[Y.Accept,`Accept`],[Y.ModeChange,`ModeChange`],[Y.Space,`Space`],[Y.Prior,`PageUp`],[Y.Next,`PageDown`],[Y.End,`End`],[Y.Home,`Home`],[Y.Left,`ArrowLeft`],[Y.Up,`ArrowUp`],[Y.Right,`ArrowRight`],[Y.Down,`ArrowDown`],[Y.Select,`Select`],[Y.Print,`PrintScreen`],[Y.Execute,`Execute`],[Y.Snapshot,`Snapshot`],[Y.Insert,`Insert`],[Y.Delete,`Delete`],[Y.Help,`Help`],[Y.N0,`Digit0`],[Y.N1,`Digit1`],[Y.N2,`Digit2`],[Y.N3,`Digit3`],[Y.N4,`Digit4`],[Y.N5,`Digit5`],[Y.N6,`Digit6`],[Y.N7,`Digit7`],[Y.N8,`Digit8`],[Y.N9,`Digit9`],[Y.A,`KeyA`],[Y.B,`KeyB`],[Y.C,`KeyC`],[Y.D,`KeyD`],[Y.E,`KeyE`],[Y.F,`KeyF`],[Y.G,`KeyG`],[Y.H,`KeyH`],[Y.I,`KeyI`],[Y.J,`KeyJ`],[Y.K,`KeyK`],[Y.L,`KeyL`],[Y.M,`KeyM`],[Y.N,`KeyN`],[Y.O,`KeyO`],[Y.P,`KeyP`],[Y.Q,`KeyQ`],[Y.R,`KeyR`],[Y.S,`KeyS`],[Y.T,`KeyT`],[Y.U,`KeyU`],[Y.V,`KeyV`],[Y.W,`KeyW`],[Y.X,`KeyX`],[Y.Y,`KeyY`],[Y.Z,`KeyZ`],[Y.LeftWindows,`MetaLeft`],[Y.RightWindows,`MetaRight`],[Y.Application,`ContextMenu`],[Y.Sleep,`Sleep`],[Y.Numpad0,`Numpad0`],[Y.Numpad1,`Numpad1`],[Y.Numpad2,`Numpad2`],[Y.Numpad3,`Numpad3`],[Y.Numpad4,`Numpad4`],[Y.Numpad5,`Numpad5`],[Y.Numpad6,`Numpad6`],[Y.Numpad7,`Numpad7`],[Y.Numpad8,`Numpad8`],[Y.Numpad9,`Numpad9`],[Y.Multiply,`NumpadMultiply`],[Y.Add,`NumpadAdd`],[Y.Separator,`NumpadSeparator`],[Y.Subtract,`NumpadSubtract`],[Y.Decimal,`NumpadDecimal`],[Y.Divide,`NumpadDivide`],[Y.F1,`F1`],[Y.F2,`F2`],[Y.F3,`F3`],[Y.F4,`F4`],[Y.F5,`F5`],[Y.F6,`F6`],[Y.F7,`F7`],[Y.F8,`F8`],[Y.F9,`F9`],[Y.F10,`F10`],[Y.F11,`F11`],[Y.F12,`F12`],[Y.F13,`F13`],[Y.F14,`F14`],[Y.F15,`F15`],[Y.F16,`F16`],[Y.F17,`F17`],[Y.F18,`F18`],[Y.F19,`F19`],[Y.F20,`F20`],[Y.F21,`F21`],[Y.F22,`F22`],[Y.F23,`F23`],[Y.F24,`F24`],[Y.NumLock,`NumLock`],[Y.ScrollLock,`ScrollLock`],[Y.NEC_Equal,`NEC_Equal`],[Y.Fujitsu_Masshou,`Fujitsu_Masshou`],[Y.Fujitsu_Touroku,`Fujitsu_Touroku`],[Y.Fujitsu_Loya,`Fujitsu_Loya`],[Y.Fujitsu_Roya,`Fujitsu_Roya`],[Y.LeftShift,`ShiftLeft`],[Y.RightShift,`ShiftRight`],[Y.LeftControl,`ControlLeft`],[Y.RightControl,`ControlRight`],[Y.LeftMenu,`AltLeft`],[Y.RightMenu,`AltRight`],[Y.BrowserBack,`BrowserBack`],[Y.BrowserForward,`BrowserForward`],[Y.BrowserRefresh,`BrowserRefresh`],[Y.BrowserStop,`BrowserStop`],[Y.BrowserSearch,`BrowserSearch`],[Y.BrowserFavorites,`BrowserFavorites`],[Y.BrowserHome,`BrowserHome`],[Y.VolumeMute,`VolumeMute`],[Y.VolumeDown,`VolumeDown`],[Y.VolumeUp,`VolumeUp`],[Y.MediaNextTrack,`MediaTrackNext`],[Y.MediaPrevTrack,`MediaTrackPrevious`],[Y.MediaStop,`MediaStop`],[Y.MediaPlayPause,`MediaPlayPause`],[Y.LaunchMail,`LaunchMail`],[Y.LaunchMediaSelect,`LaunchMediaSelect`],[Y.LaunchApplication1,`LaunchApplication1`],[Y.LaunchApplication2,`LaunchApplication2`],[Y.OEM1,`OEM_1`],[Y.OEMPlus,`Equal`],[Y.OEMComma,`Comma`],[Y.OEMMinus,`Minus`],[Y.OEMPeriod,`Period`],[Y.OEM2,`Slash`],[Y.OEM3,`Backquote`],[Y.OEM4,`BracketLeft`],[Y.OEM5,`Backslash`],[Y.OEM6,`BracketRight`],[Y.OEM7,`Quote`],[Y.OEM8,`IntlRo`],[Y.OEMAX,`OEM_AX`],[Y.OEM102,`IntlBackslash`],[Y.ICOHelp,`ICO_HELP`],[Y.ICO00,`ICO_00`],[Y.ProcessKey,`Process`],[Y.ICOClear,`ICO_CLEAR`],[Y.Packet,`Packet`],[Y.OEMReset,`OEM_Reset`],[Y.OEMJump,`OEM_Jump`],[Y.OEMPA1,`OEM_PA1`],[Y.OEMPA2,`OEM_PA2`],[Y.OEMPA3,`OEM_PA3`],[Y.OEMWSCtrl,`OEM_WS_Ctrl`],[Y.OEMCUSel,`OEM_CU_Sel`],[Y.OEMATTN,`OEM_ATTN`],[Y.OEMFinish,`OEM_Finish`],[Y.OEMCopy,`OEM_Copy`],[Y.OEMAuto,`OEM_Auto`],[Y.OEMENLW,`OEM_ENLW`],[Y.OEMBackTab,`BackTab`],[Y.ATTN,`ATTN`],[Y.CRSel,`CRSel`],[Y.EXSel,`EXSel`],[Y.EREOF,`EREOF`],[Y.Play,`MediaPlay`],[Y.Zoom,`Zoom`],[Y.Noname,`Noname`],[Y.PA1,`PA1`],[Y.OEMClear,`OEM_Clear`]]),cn=new Map(sn.entries().map(([e,t])=>[t,e])),ln=n({"[string]":{keys:`string[]`,mode:n(`'toggle' | 'hold'`).pipe(e=>e??`toggle`)}});var un=class extends R{preferencesKeybindToCallbacks=new Map;pressedKeys=new Set;activeKeybinds=new Set;triggeredToggleKeybinds=new Set;boundHandleKeyboardFocus=this.handleKeyboardFocus.bind(this);boundHandleKeyDown=this.handleKeyDown.bind(this);boundHandleKeyUp=this.handleKeyUp.bind(this);keybindsFile;keybindListeningPaused=!1;constructor(e){super(`KeybindManager`),this.keybindsFile=new qe({path:Qt([`keybinds.json`]),schema:ln,default:e})}init(){super.init();let e=W.getInstance().getInterface(`OGG_SIEGE`);e.instance.on(`keyboardFocus`,this.boundHandleKeyboardFocus),e.instance.on(`keyDown`,this.boundHandleKeyDown),e.instance.on(`keyUp`,this.boundHandleKeyUp)}async onKeybindToggled(e,t){let n=this.preferencesKeybindToCallbacks.get(e)||{};n.toggle=t,this.preferencesKeybindToCallbacks.set(e,n)}async onKeybindDown(e,t){let n=this.preferencesKeybindToCallbacks.get(e)||{};n.down=t,this.preferencesKeybindToCallbacks.set(e,n)}async onKeybindUp(e,t){let n=this.preferencesKeybindToCallbacks.get(e)||{};n.up=t,this.preferencesKeybindToCallbacks.set(e,n)}async updateKeybind(e,t){this.keybindsFile.set({[e]:t})}async updateKeybinds(e){let t=Object.fromEntries(Object.entries(e).filter(([e,t])=>t!==void 0));this.keybindsFile.set({...this.keybindsFile.get(),...t})}getConfig(){return this.keybindsFile.get()}destroy(){let e=W.getInstance().getInterface(`OGG_SIEGE`);e.instance.off(`keyboardFocus`,this.boundHandleKeyboardFocus),e.instance.off(`keyDown`,this.boundHandleKeyDown),e.instance.off(`keyUp`,this.boundHandleKeyUp),super.destroy()}handleKeyDown(e){if(this.keybindListeningPaused)return;let t=sn.get(e.key);if(!t){this.logger.error(`Unknown key down`,e);return}this.pressedKeys.add(t),this.checkKeybindings()}handleKeyboardFocus(){this.pressedKeys.clear(),this.activeKeybinds.clear(),this.triggeredToggleKeybinds.clear()}async handleKeyUp(e){if(this.keybindListeningPaused)return;let t=sn.get(e.key);if(!t)return;this.pressedKeys.delete(t);let n=this.keybindsFile.get();for(let[e]of this.preferencesKeybindToCallbacks.entries())n[e].keys.includes(t)&&this.triggeredToggleKeybinds.delete(e);this.checkKeybindUps()}async checkKeybindUps(){let e=this.keybindsFile.get();for(let[t,n]of this.preferencesKeybindToCallbacks.entries()){if(!n.up)continue;let r=e[t];this.activeKeybinds.has(t)&&r.keys.some(e=>!this.pressedKeys.has(e))&&(this.activeKeybinds.delete(t),n.up(),this.logger.log(`Keybind up triggered`,this.getKeybindToString(r)))}}async checkKeybindings(){let e=this.keybindsFile.get();for(let[t,n]of this.preferencesKeybindToCallbacks.entries()){let r=e[t];if(r.keys.length===this.pressedKeys.size&&r.keys.every(e=>cn.has(e)?this.pressedKeys.has(e):!1)){this.triggerKeybind(r,n,t);return}}for(let[t,n]of this.preferencesKeybindToCallbacks.entries()){let r=e[t];r.keys.every(e=>cn.has(e)?this.pressedKeys.has(e):(this.logger.error(`Unknown key`,e,r),!1))&&this.triggerKeybind(r,n,t)}}triggerKeybind(e,t,n){let r=e.mode;if(r===`toggle`&&t.toggle&&!this.triggeredToggleKeybinds.has(n)){let r=t.toggle();this.triggeredToggleKeybinds.add(n),this.logger.log(r?`Keybind pressed rejected: ${r}`:`Keybind pressed accepted`,this.getKeybindToString(e))}if(r===`hold`&&t.down&&!this.activeKeybinds.has(n)){let r=t.down();r?this.logger.log(`Keybind down rejected: ${r}`,this.getKeybindToString(e)):(this.activeKeybinds.add(n),this.logger.log(`Keybind down accepted`,this.getKeybindToString(e)))}}getKeybindToString(e){return`(${e.keys.join(`+`)}${e.mode?` ${e.mode}`:``})`}};function dn(e){let t=new un(e),n={};for(let r in e)n[r]={on:(e,n)=>{switch(e){case`down`:t.onKeybindDown(r,n);break;case`up`:t.onKeybindUp(r,n);break;case`toggle`:t.onKeybindToggled(r,n);break;default:throw Error(`Event type not implemented ${e}`,{cause:[e,n]})}}};let r={...n,getConfig:()=>t.getConfig(),pauseKeybindListening:()=>{t.keybindListeningPaused=!0},resumeKeybindListening:()=>{t.keybindListeningPaused=!1},updateKeybind:(e,n)=>{t.updateKeybind(e,n)},updateKeybinds:e=>{t.updateKeybinds(e)}};return t.init(),pe.on(`quit`,()=>{t.destroy()}),r}function X(){return W.getInstance().getInterface(`OGG_SIEGE`)}function fn(){let e=K.getInstance(),t=P.getInstance(),n=G.getInstance();n.meta=pn(),e.on([`gameReady`,`gameClose`],()=>{n.meta||=pn(),n.meta.in_game=e.isInGame}),t.on(`fatal`,e=>{n.track(`fatal`,{message:e.message,code:e.code,data:JSON.stringify(e.data)})}),t.on(`error`,e=>{n.track(`error`,{code:e.code,message:e.message,data:JSON.stringify(e.data)})}),t.on(`warning`,e=>{n.track(`warning`,{message:e.message,code:e.code,data:JSON.stringify(e.data)})})}function pn(){return{app_id:global.OVERLAYED.APPLICATION_ID,user_id:en(),app_channel:global.OVERLAYED.APP_BUILD_CHANNEL,app_version:global.OVERLAYED.APP_VERSION,package_version:global.OVERLAYED.PACKAGE_VERSION,frontend_version:global.OVERLAYED.FRONTEND_VERSION,session_id:global.OVERLAYED.sessionId,in_game:!1}}function mn(){function e(e,t){return e.once(`closed`,()=>{e.isDestroyed()||G.getInstance().track(`window_closed`,{url:e.webContents.getURL(),in_game:t})}),e.on(`unresponsive`,()=>{e.isDestroyed()||G.getInstance().track(`window_unresponsive`,{url:e.webContents.getURL(),in_game:t})}),G.getInstance().track(`window_created`,{url:e.webContents.getURL(),in_game:t}),e}return{createWindow:t=>e(new global.OVERLAYED.electron.BrowserWindow(t),!1),createInGameWindow:t=>e(X().instance.newWindowInternal(global.OVERLAYED.electron.BrowserWindow,t),!0),on:(e,t)=>X().instance.on(e,t),off:(e,t)=>X().instance.off(e,t),once:(e,t)=>X().instance.once(e,t),addListener:(e,t)=>X().instance.addListener(e,t),removeListener:(e,t)=>X().instance.removeListener(e,t),removeAllListeners:()=>X().instance.removeAllListeners(),prependListener:(e,t)=>X().instance.prependListener(e,t),prependOnceListener:(e,t)=>X().instance.prependOnceListener(e,t),getActiveGameInfo:()=>{let e=X(),t=L.getInstance();return{resolution:e.resolution,isConnected:t.hasConnection}}}}const hn=N(class extends _t{renderInterface;globalCursorOverrideCount=new Set;globalMouseBlockCount=new Set;globalKeyboardBlockCount=new Set;keyInputBlocks={};constructor(e){super(`OverridesManager`),this.renderInterface=W.getInstance().getInterface(e)}scope(e){return{setGlobalCursorOverride:t=>this.setGlobalCursorOverride(e,t),setGlobalMouseBlock:t=>this.setGlobalMouseBlock(e,t),setGlobalKeyboardBlock:t=>this.setGlobalKeyboardBlock(e,t),setKeyInputBlock:(t,n)=>this.setKeyInputBlock(e,t,n)}}setGlobalCursorOverride(e,t){t?this.globalCursorOverrideCount.add(e):this.globalCursorOverrideCount.delete(e),t&&this.globalCursorOverrideCount.size===1?this.renderInterface.instance.setGlobalCursorOverride(!0):!t&&this.globalCursorOverrideCount.size===0&&this.renderInterface.instance.setGlobalCursorOverride(!1)}setGlobalMouseBlock(e,t){t?this.globalMouseBlockCount.add(e):this.globalMouseBlockCount.delete(e),t&&this.globalMouseBlockCount.size===1?this.renderInterface.instance.setGlobalMouseBlock(!0):!t&&this.globalMouseBlockCount.size===0&&this.renderInterface.instance.setGlobalMouseBlock(!1)}setGlobalKeyboardBlock(e,t){t?this.globalKeyboardBlockCount.add(e):this.globalKeyboardBlockCount.delete(e),t&&this.globalKeyboardBlockCount.size===1?this.renderInterface.instance.setGlobalKeyboardBlock(!0):!t&&this.globalKeyboardBlockCount.size===0&&this.renderInterface.instance.setGlobalKeyboardBlock(!1)}setKeyInputBlock(e,t,n){this.keyInputBlocks[t]||(this.keyInputBlocks[t]=new Set),n?this.keyInputBlocks[t].add(e):this.keyInputBlocks[t].delete(e),n&&this.keyInputBlocks[t].size===1?this.renderInterface.instance.setKeyInputBlock(t,!0):!n&&this.keyInputBlocks[t].size===0&&this.renderInterface.instance.setKeyInputBlock(t,!1)}},`OGG_SIEGE`);function gn(){return{scope:e=>hn.getInstance().scope(e),raw:{setGlobalMouseBlock:e=>X().instance.setGlobalMouseBlock(e),setGlobalKeyboardBlock:e=>X().instance.setGlobalKeyboardBlock(e),setGlobalCursorOverride:e=>X().instance.setGlobalCursorOverride(e),setKeyInputBlock:(e,t)=>X().instance.setKeyInputBlock(e,t),getGlobalMouseBlock:()=>X().instance.getGlobalMouseBlock(),getGlobalKeyboardBlock:()=>X().instance.getGlobalKeyboardBlock(),getGlobalCursorOverride:()=>X().instance.getGlobalCursorOverride(),getKeyInputBlock:e=>X().instance.getKeyInputBlock(e)}}}function _n(){return{track:(e,t)=>{G.getInstance().track(`custom__${String(e)}`,t)}}}var vn=Se(be(((e,t)=>{var n=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),r=n((e,t)=>{var n=new Set([`mouseDown`,`mouseUp`,`pointerDown`,`pointerUp`]),r=new WeakSet;function i(e,t,{allowHosts:i}={}){let{shell:a}=t;if(r.has(e))return;r.add(e);let o=e.webContents;function s(e){return!!(!c(e)||i?.includes(e.host))}function c(e){return new URL(o.getURL()).origin!==e.origin}let l=0;function u(){l=Date.now()}function d(){let e=Date.now()-l,t=e<150;return t||console.warn(`was not recently active`,e),t}if(process.platform===`win32`)for(let t of Object.values({KEYDOWN:256,LBUTTONUP:514,MBUTTONUP:520,RBUTTONUP:517,XBUTTONUP:524,TOUCH:576}))e.hookWindowMessage(t,u);o.on(`input-event`,(e,t)=>{n.has(t.type)&&u()}),o.on(`will-navigate`,(e,t)=>{let n=e.url||t;if(console.log(`will-navigate`,n),!n)return;let r=new URL(n);if(!s(r)){if(!d()){console.log(`blocked navigation`,n),e.preventDefault();return}c(r)&&(console.log(`external navigation`,n),e.preventDefault(),a.openExternal(n))}}),o.session.on(`will-download`,(e,t)=>{let n=t.getURL();/^blob:/.test(n)||e.preventDefault()}),o.setWindowOpenHandler(e=>{console.log(`window-open`,e.url);let{url:t}=e,n=new URL(t);if(!s(n))return d()?(c(n)&&a.openExternal(e.url),{action:`deny`}):(console.log(`blocked navigation`,t),{action:`deny`})})}t.exports=i}),i=n((e,t)=>{var n=new Set([`Mozilla`,`AppleWebKit`,`Chrome`,`Safari`,`Gecko`,`Firefox`,`OPR`,`Edg`,`Version`,`Mobile`,`curl`,`PostmanRuntime`]);async function r(e,t,r){let{webContents:i}=e,a=await i.executeJavaScript(`navigator.userAgent`);a=a.match(/[^\/]+\/[^\s]+( \([^\)]+\))?/g).map(e=>e.trim()).filter(e=>{let[t]=e.split(`/`,1);return n.has(t)}).join(` `),i.setUserAgent(a),t.app.userAgentFallback=a}t.exports=r}),a=r(),o=i();function s(e,t,n={}){a(e,t,n.linkHandler),o(e,t,n.userAgent)}t.exports={setupRevUtils:s,setupLinkHandler:a,setUserAgent:o}}))(),1);function yn(){return{registerWindow:e=>{(0,vn.setupRevUtils)(e,global.OVERLAYED.electron)}}}function bn(e){let t=Qe(global.OVERLAYED.APPLICATION_ID),n=nt(t,{recursive:!0}),r=Xe(),i=nt(r,{recursive:!0});I.getInstance().info(`Logs path: `,t),I.getInstance().info(`Overlayed logs path: `,r);let a=new _;return[...n,...i].forEach(([e,t])=>{I.getInstance().info(`Zipping: `,t);let n=ae(t),r=m(t);a.file(r,n,{compression:`DEFLATE`})}),Object.entries(e?.additionalFiles??{}).forEach(([e,t])=>{I.getInstance().info(`Zipping extra file: `,e),a.file(e,t,{compression:`DEFLATE`})}),a}async function xn(e,t){let n={...e,version:`${global.OVERLAYED.APP_VERSION}@${global.OVERLAYED.APP_BUILD_CHANNEL}`,log_zip:`data:application/zip;base64,${t}`};await fetch(`https://api.stats.cc/v1/overlay/contact`,{method:`POST`,body:JSON.stringify(n),redirect:`follow`,headers:{"Content-Type":`application/json`}})}function Sn(e){let t=new et(`app.log`);return t.init(global.OVERLAYED.APPLICATION_ID,e.debug),{scope:e=>t.scope(e),info:e=>t.info(e),warn:e=>t.warn(e),error:e=>t.error(e),debug:e=>t.debug(e),submitBugReport:async(e,t)=>{G.getInstance().track(`bug_report_submitted`,{version:e.version,category:e.category});let n=await bn(t).generateAsync({type:`base64`});await xn(e,n)}}}const Cn=1e3;function wn(e,t,r,i,a){let o=L.getInstance();function s(e,t){let n=r.get(t);if(!n)r.set(t,[e]);else{if(n.length>=Cn){P.getInstance().warn(`Event buffer full, removing oldest event`,`EVENT_BUFFER_FULL`,{summary:`Event buffer overflow for module ${t}. Buffer size: ${n.length}, max: ${Cn}`});return}n.push(e)}}function c(r){let i=$t(r);if(i instanceof n.errors){G.getInstance().track(`invalid_game_event`,{}),P.getInstance().warn(`Invalid event`,`INVALID_EVENT`,{summary:i.summary});return}let o=e.modules.find(e=>e.key===i.game);if(!o)return;let c=o.events.event,l=c(r);if(l instanceof n.errors){if(`type`in l.byPath)return;G.getInstance().track(`invalid_game_event`,{game:i.game,type:i.type}),P.getInstance().warn(`Invalid event`,`INVALID_EVENT`,{summary:l.summary});return}if(!a[o.key]){s(l,o.key);return}if(l.type===`unsupported_game_version`){let{content:e}=l;G.getInstance().track(`unsupported_game_version`,{game:l.game,hash:e?.hash,version:e?.version})}let u=J(o.key,l.type),d=J(o.key,`*`),f=t.get(u),p=t.get(d),m=[...Array.from(f??[]),...Array.from(p??[])];m.length!==0&&m.forEach(e=>{e(l)})}return i.on(`flushEvents`,e=>{if(a[e])return;a[e]=!0;let t=r.get(e);t&&(I.getInstance().info(`Flushing ${t.length} events for module ${e}`),t.forEach(e=>c(e)),r.delete(e))}),o.on(`data`,e=>e.forEach(c)),o.on(`error`,e=>{P.getInstance().error(`Pipe server error`,`PIPE_SERVER_ERROR`,{error:e})}),o}let Z=!1,Tn={},Q,En=new M,$;function Dn(e){let{init:t=!0,debug:n=!1,silent:r=!0}=e;if(On(e),I.getInstance().init(e.applicationId,n,r),Z)return Q;function i(){if(Z)return;fn();let t=new Map,n=new Map,r=an(e.modules,t,En),a=on(),o=dn(e.keybinds),s=mn(),c=gn(),l=yn(),u=_n(),d=Sn(e);kn(e),wn(e,t,n,En,Tn),Z=!0,Q={...r,...a,ads:l,keybinds:o,windows:s,input:c,cortex:u,hasAnyActiveProcesses:()=>U.getInstance().hasAnyActiveProcesses,hasAnyActiveGames:()=>K.getInstance().isInGame,init:i,log:d,initialized:Z}}return t?(i(),Q):new Proxy({init:i},{get:(e,t)=>{if(t!==`init`&&!Z)throw Error(`overlayed was called before initialized: ${t}`);return t===`init`?e[t]:Q[t]}})}global.OVERLAYED=new Proxy({},{get:()=>{throw Error(`function overlayed was not called`)}});function On(e){global.OVERLAYED={APPLICATION_ID:wt(e.applicationId),APP_BUILD_CHANNEL:e.channel??`alpha`,APP_VERSION:e.version??`0.0.0`,PACKAGE_VERSION:`0.24.3`,FRONTEND_VERSION:`0.0.0`,sessionId:tn(),electron:e.electron}}function kn(e){let t=e.universal?[`*`]:e.modules.map(e=>e.key);K.getInstance().setSubscribedGames(t),Zt.getInstance().init(),K.getInstance().init(),U.getInstance().init(),H.getInstance().init();async function n(){let e=Tt(global.OVERLAYED.APPLICATION_ID).then(e=>e.data),t=en();I.getInstance().log(`userId`,t);let n={...await e,userId:t};return I.getInstance().log(`appInfo`,n),n}let r;global.OVERLAYED.electron.ipcMain.handle(`getAppInfo`,async()=>(r??=n(),r)),G.getInstance().track(`start`,{});try{$&&clearInterval($),$=setInterval(()=>{try{nn()}catch{}},3e4),$.unref()}catch(e){I.getInstance().log(`failed to start sessionLastUsed interval`,e)}pe.on(`quit`,()=>{G.getInstance().track(`electron_quit`,{}),An()}),process.on(`exit`,()=>{G.getInstance().track(`exit`,{}),An()})}async function An(){try{nn()}catch{}try{$&&clearInterval($),$=void 0}catch{}await G.getInstance().flush(),H.getInstance().destroy(),K.getInstance().destroy(),Zt.getInstance().destroy(),U.getInstance().destroy(),W.getInstance().getInterface(`OGG_SIEGE`).destroy(),L.getInstance().destroy(),P.getInstance().destroy()}function jn(e,t){return e+t}export{ht as RenderInterface,gt as VirtualKey,jn as add,at as defineConfig,Dn as overlayed,zt as setFetchLatestTokenCallback,bt as setUpdaterTokenResolver};
|
|
5
|
+
`);return a!==-1&&(t=Ie(t,i,r,a)),r+t+i};Object.defineProperties(O.prototype,D);const Ge=O();O({level:Re?Re.level:0});var j=Ge,M=class{emitter;constructor(){this.emitter=r()}on(e,t){v(e).forEach(e=>{this.emitter.on(e,t)})}off(e,t){v(e).forEach(e=>{this.emitter.off(e,t)})}emit(e,t){v(e).forEach(e=>{this.emitter.emit(e,t)})}removeAllListeners(){this.emitter.all.clear()}},Ke=class{listeners;constructor(){this.listeners=new Map}on(e,t){v(e).forEach(e=>{let n=this.listeners.get(e)||new Set;n.add(t),this.listeners.set(e,n)})}off(e,t){v(e).forEach(e=>{let n=this.listeners.get(e);n&&n.delete(t)})}async emit(e,...t){let n=v(e).flatMap(e=>{let t=this.listeners.get(e)||new Set,n=this.listeners.get(`*`)||new Set;return[...Array.from(t),...Array.from(n)]});return n.length===0?[]:await Promise.all(n.map(async n=>{try{let e=n(...t);return e instanceof Promise?await e:e}catch(t){console.error(`Error in event listener for ${String(e)}:`,t);return}}))}removeAllListeners(){this.listeners.clear()}};function N(e,...t){return class extends e{static _instance;static getInstance(){return this._instance||=new e(...t),this._instance}static clearInstance(){this._instance=void 0}}}const P=N(class extends M{destroy(){this.removeAllListeners()}fatal(e,t,n){this.emit(`fatal`,{code:t,message:e,data:n,timestamp:Date.now()})}error(e,t,n){this.emit(`error`,{code:t,message:e,data:n,timestamp:Date.now()})}warn(e,t,n){this.emit(`warning`,{code:t,message:e,data:n,timestamp:Date.now()})}});var qe=class{data;_schema;_defaultValue;_path;constructor(e){let{schema:t,default:n,path:r}=e;this._schema=t,this._defaultValue=n,this._path=r}set(e){let t=this._schema[`~standard`].validate(e);if(t instanceof Promise)throw Error(`StructuredConfigFile does not support async validation`);if(t.issues){this.reportInvalidConfigFile(t.issues);return}this.data=this.onBeforeSave(e),this.save(e)}get(){return this.data?this.data:this.load()}getKey(e){return this.get()[e]}save(e){let t=this.onBeforeSave(e);try{d(this.getFilePath()),i.writeFileSync(this.getFilePath(),JSON.stringify(t,void 0,2))}catch{return}return this.data=t}load(){if(!this.fileExists(this.getFilePath())||!this.canReadWriteFile(this.getFilePath())){this.save(this._defaultValue);let e=this.onAfterLoad(this._defaultValue);return this.data=e,e}try{let e=i.readFileSync(this.getFilePath(),`utf8`),t=this.onAfterLoad(this.parseStoredData(e));return this.data=t,t}catch{return this.data=this._defaultValue}}onBeforeSave(e){return e}onAfterLoad(e){return e}getFilePath(){return this._path}parseStoredData(e){try{let t=n(`string.json.parse`).to(`object`)(e);if(t instanceof n.errors)return this._defaultValue;let r=this._schema[`~standard`].validate(t);if(r instanceof Promise)throw Error(`StructuredConfigFile does not support async validation`);return r.issues?this.migrate(t,this._defaultValue):this.migrate(r.value,this._defaultValue)}catch{return this._defaultValue}}canReadWriteFile(e){try{return i.accessSync(e,i.constants.R_OK|i.constants.W_OK),!0}catch{return!1}}fileExists(e){try{return i.accessSync(e,i.constants.F_OK),!0}catch{return!1}}migrate(e,t){let n={...e};for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(r in e?e[r]!==null&&t[r]!==null&&typeof e[r]==`object`&&typeof t[r]==`object`&&!Array.isArray(e[r])&&!Array.isArray(t[r])?n[r]=this.migrate(e[r],t[r]):Array.isArray(t[r])&&(n[r]=e[r]):n[r]=t[r]);return n}reportInvalidConfigFile(e){P.getInstance().error(`Invalid config file`,`INVALID_CONFIG_FILE`,{issues:e.map(e=>e.message),filePath:this._path,data:this.data})}};function Je(e,t,n){return typeof e!=`object`||!e?String(e):e instanceof Error?JSON.stringify(e,Object.getOwnPropertyNames(e),n):e instanceof Map?JSON.stringify(Object.fromEntries(e.entries()),t,n):e instanceof Set?JSON.stringify(Array.from(e),t,n):JSON.stringify(e,t,n)}var Ye=class e extends M{stream;logPath;baseFileName;currentDate;rotationCheckInterval;isRotating=!1;constructor(e,t){super(),this.logPath=e,this.baseFileName=t.replace(`.log`,``),this.currentDate=this.getDateString(new Date),this.ensureLogDirectory(),this.ensureLogFile(),this.stream=this.createStream(),this.rotationCheckInterval=this.startRotationCheck(),this.cleanupOldLogs()}static scope(t,n){return new e(t,n)}log(...e){this.write(`log`,...e)}error(...e){this.write(`error`,...e)}warn(...e){this.write(`warn`,...e)}info(...e){this.write(`info`,...e)}debug(...e){this.write(`debug`,...e)}async close(){clearInterval(this.rotationCheckInterval),await new Promise(e=>{this.stream.end(()=>e())})}getCurrentFileName(){return this.getFileName(this.currentDate)}static getMessageElements(e,...t){let n=new Date,r=n.toISOString().replace(`T`,` `).replace(/\.\d+Z$/,``)+`.${n.getMilliseconds().toString().padStart(3,`0`)}`,i=t.map(e=>Je(e)).join(` `);return{timestamp:r,level:e,message:i}}getFileName(e){return`${this.baseFileName}-${e}.log`}ensureLogDirectory(){try{s(this.logPath,{recursive:!0})}catch(e){throw console.error(`Failed to create log directory ${this.logPath}:`,e),e}}ensureLogFile(){let e=f(this.logPath,this.getFileName(this.currentDate));if(!o(e))try{u(e,``,`utf8`)}catch(t){throw console.error(`Failed to create log file ${e}:`,t),t}}getDateString(e){return e.toISOString().split(`T`)[0]}createStream(){let e=f(this.logPath,this.getFileName(this.currentDate));return a(e,{flags:`a`,encoding:`utf8`})}async rotateLogs(){if(this.isRotating)return;this.isRotating=!0;let e=this.getDateString(new Date);e!==this.currentDate&&await new Promise(t=>{this.stream.end(()=>{this.currentDate=e,this.stream=this.createStream(),this.cleanupOldLogs(),t()})}),this.isRotating=!1}startRotationCheck(){return setInterval(()=>this.rotateLogs(),6e4)}cleanupOldLogs(){let e=c(this.logPath),t=new Date;t.setDate(t.getDate()-7),e.filter(e=>e.startsWith(this.baseFileName)&&e.endsWith(`.log`)).filter(e=>{let n=e.replace(`${this.baseFileName}-`,``).replace(`.log`,``);return new Date(n)<t}).forEach(e=>{try{l(f(this.logPath,e))}catch(t){console.error(`Failed to delete old log file ${e}:`,t)}})}write(t,...n){let{timestamp:r,message:i}=e.getMessageElements(t,...n),a=`[${r}] [${t}] ${i}\n`;this.stream.write(a,e=>{e?this.emit(`error`,e):this.emit(`write`,a)})}};const F=()=>p.join(process.env.APPDATA??``,`overlayed`),Xe=()=>p.join(F(),`logs`),Ze=e=>p.join(F(),`apps`,e),Qe=e=>p.join(Ze(e),`logs`),$e=()=>p.join(F(),`meta.json`);var et=class{fileLogger;path;appId;messageQueue=new Ce;fileName;_debug=!1;silent=!1;constructor(e){this.fileName=e}init(e,t=!1,n=!1){this.appId=e,this._debug=t,this.silent=n,this.path=Qe(e),this.fileLogger=new Ye(this.path,this.fileName),this.messageQueue.flush().forEach(e=>{this.fileLogger?.[e.type](...e.args)})}scope(e){if(!this.appId||!this.path)throw Error(`Logger not initialized`);let t=`[${e}]`;return{scope:e=>this.scope(e),error:(...e)=>this.error(t,...e),warn:(...e)=>this.warn(t,...e),info:(...e)=>this.info(t,...e),log:(...e)=>this.log(t,...e),debug:(...e)=>this.debug(t,...e)}}error(...e){this.handle(`error`,...e)}warn(...e){this.handle(`warn`,...e)}info(...e){this.handle(`log`,...e)}debug(...e){this._debug&&this.handle(`debug`,...e)}log(...e){this.handle(`log`,...e)}handle(e,...t){this.logToConsole(e,...t),this.fileLogger?this.fileLogger[e](...t):this.messageQueue.add({type:e,args:t})}logToConsole(e,...t){let n={error:j.red,warn:j.yellow,debug:j.blue,log:j.white};if(this.silent&&!this._debug)return;let{timestamp:r,message:i}=Ye.getMessageElements(e,...t),a=console[e],o=n[e];a(`${j.gray(r)} ${o(i)}`)}};const I=N(et,`overlayed.log`);var tt=class extends re{blob;chunkSizeMb;maxConcurrent;shouldStop=!1;constructor(e,t){super(),this.blob=e,this.chunkSizeMb=t.chunkSizeMb,this.maxConcurrent=t.maxConcurrent??3}get totalChunks(){return Math.ceil(this.blob.size/(this.chunkSizeMb*1024*1024))}async chunk(e){let t=this.chunkSizeMb*1024*1024,n=this.totalChunks;if(n===0)return;let r=new Map,i=new Set,a=new Set,o=[];for(let e=0;e<n;e++)o.push(e);let s=async n=>{let s=n*t,c=Math.min(s+t,this.blob.size),l=this.blob.slice(s,c);try{await e(l,n),a.add(n),this.emit(`chunkComplete`,n),i.delete(n)}catch(e){let t=r.get(n)||0;t<5?(r.set(n,t+1),await new Promise(e=>setTimeout(e,(t+1)*1e3)),o.push(n)):(a.add(n),this.emit(`error`,e),this.shouldStop=!0,i.delete(n))}},c=[],l=async()=>{for(;(o.length>0||i.size>0)&&!this.shouldStop;){if(o.length===0){await new Promise(e=>setTimeout(e,10));continue}let e=o.shift();a.has(e)||i.has(e)||(i.add(e),await s(e))}};for(let e=0;e<this.maxConcurrent;e++)c.push(l());await Promise.all(c)}};function nt(e,t){let{recursive:n}=rt(t);return oe(e)?n?it(e).map(t=>[e,t]):le(e).map(t=>[e,t]):[]}function rt(e){return{recursive:e?.recursive??!0}}function it(e){return le(e,{withFileTypes:!0}).flatMap(t=>{let n=p.join(e,t.name);return t.isDirectory()?it(n):[n]})}function at(e){return e}const{PipeEventServer:ot,PipeEventClient:st,PipeEventBase:ct,ProcessMonitor:lt,Process:ut,HardwareInterface:dt}=e(import.meta.url)(`@overlayed/app/dist/native-interface/build/overlayed_native_interface_x64.node`),ft=ot,L=N(class extends M{server=null;_hasConnection=!1;pipeId;get hasConnection(){return this._hasConnection}constructor(e){super(),this.pipeId=e,this.init()}destroy(){this.server&&=(this._hasConnection=!1,this.server?.removeAllListeners(),null)}init(){this.server=new ft(this.pipeId,{clientCount:1,access:1}),this.server.on(`event`,e=>{try{let t=JSON.parse(e);this.emit(`data`,[t])}catch(e){this.emit(`error`,e)}}),this.server.on(`connected`,()=>{this._hasConnection=!0}),this.server.on(`disconnected`,()=>{this._hasConnection=!1})}},`stats-cc`),{RenderInterface:pt,renderHookPath:mt}=e(import.meta.url)(`@overlayed/app/dist/render-interface/build/overlayed_render_interface_x64.node`),ht=pt;let gt=function(e){return e[e.LeftButton=1]=`LeftButton`,e[e.RightButton=2]=`RightButton`,e[e.Cancel=3]=`Cancel`,e[e.MiddleButton=4]=`MiddleButton`,e[e.ExtraButton1=5]=`ExtraButton1`,e[e.ExtraButton2=6]=`ExtraButton2`,e[e.Back=8]=`Back`,e[e.Tab=9]=`Tab`,e[e.Clear=12]=`Clear`,e[e.Return=13]=`Return`,e[e.Shift=16]=`Shift`,e[e.Control=17]=`Control`,e[e.Menu=18]=`Menu`,e[e.Pause=19]=`Pause`,e[e.CapsLock=20]=`CapsLock`,e[e.Kana=21]=`Kana`,e[e.Hangeul=21]=`Hangeul`,e[e.Hangul=21]=`Hangul`,e[e.Junja=23]=`Junja`,e[e.Final=24]=`Final`,e[e.Hanja=25]=`Hanja`,e[e.Kanji=25]=`Kanji`,e[e.Escape=27]=`Escape`,e[e.Convert=28]=`Convert`,e[e.NonConvert=29]=`NonConvert`,e[e.Accept=30]=`Accept`,e[e.ModeChange=31]=`ModeChange`,e[e.Space=32]=`Space`,e[e.Prior=33]=`Prior`,e[e.Next=34]=`Next`,e[e.End=35]=`End`,e[e.Home=36]=`Home`,e[e.Left=37]=`Left`,e[e.Up=38]=`Up`,e[e.Right=39]=`Right`,e[e.Down=40]=`Down`,e[e.Select=41]=`Select`,e[e.Print=42]=`Print`,e[e.Execute=43]=`Execute`,e[e.Snapshot=44]=`Snapshot`,e[e.Insert=45]=`Insert`,e[e.Delete=46]=`Delete`,e[e.Help=47]=`Help`,e[e.N0=48]=`N0`,e[e.N1=49]=`N1`,e[e.N2=50]=`N2`,e[e.N3=51]=`N3`,e[e.N4=52]=`N4`,e[e.N5=53]=`N5`,e[e.N6=54]=`N6`,e[e.N7=55]=`N7`,e[e.N8=56]=`N8`,e[e.N9=57]=`N9`,e[e.A=65]=`A`,e[e.B=66]=`B`,e[e.C=67]=`C`,e[e.D=68]=`D`,e[e.E=69]=`E`,e[e.F=70]=`F`,e[e.G=71]=`G`,e[e.H=72]=`H`,e[e.I=73]=`I`,e[e.J=74]=`J`,e[e.K=75]=`K`,e[e.L=76]=`L`,e[e.M=77]=`M`,e[e.N=78]=`N`,e[e.O=79]=`O`,e[e.P=80]=`P`,e[e.Q=81]=`Q`,e[e.R=82]=`R`,e[e.S=83]=`S`,e[e.T=84]=`T`,e[e.U=85]=`U`,e[e.V=86]=`V`,e[e.W=87]=`W`,e[e.X=88]=`X`,e[e.Y=89]=`Y`,e[e.Z=90]=`Z`,e[e.LeftWindows=91]=`LeftWindows`,e[e.RightWindows=92]=`RightWindows`,e[e.Application=93]=`Application`,e[e.Sleep=95]=`Sleep`,e[e.Numpad0=96]=`Numpad0`,e[e.Numpad1=97]=`Numpad1`,e[e.Numpad2=98]=`Numpad2`,e[e.Numpad3=99]=`Numpad3`,e[e.Numpad4=100]=`Numpad4`,e[e.Numpad5=101]=`Numpad5`,e[e.Numpad6=102]=`Numpad6`,e[e.Numpad7=103]=`Numpad7`,e[e.Numpad8=104]=`Numpad8`,e[e.Numpad9=105]=`Numpad9`,e[e.Multiply=106]=`Multiply`,e[e.Add=107]=`Add`,e[e.Separator=108]=`Separator`,e[e.Subtract=109]=`Subtract`,e[e.Decimal=110]=`Decimal`,e[e.Divide=111]=`Divide`,e[e.F1=112]=`F1`,e[e.F2=113]=`F2`,e[e.F3=114]=`F3`,e[e.F4=115]=`F4`,e[e.F5=116]=`F5`,e[e.F6=117]=`F6`,e[e.F7=118]=`F7`,e[e.F8=119]=`F8`,e[e.F9=120]=`F9`,e[e.F10=121]=`F10`,e[e.F11=122]=`F11`,e[e.F12=123]=`F12`,e[e.F13=124]=`F13`,e[e.F14=125]=`F14`,e[e.F15=126]=`F15`,e[e.F16=127]=`F16`,e[e.F17=128]=`F17`,e[e.F18=129]=`F18`,e[e.F19=130]=`F19`,e[e.F20=131]=`F20`,e[e.F21=132]=`F21`,e[e.F22=133]=`F22`,e[e.F23=134]=`F23`,e[e.F24=135]=`F24`,e[e.NumLock=144]=`NumLock`,e[e.ScrollLock=145]=`ScrollLock`,e[e.NEC_Equal=146]=`NEC_Equal`,e[e.Fujitsu_Jisho=146]=`Fujitsu_Jisho`,e[e.Fujitsu_Masshou=147]=`Fujitsu_Masshou`,e[e.Fujitsu_Touroku=148]=`Fujitsu_Touroku`,e[e.Fujitsu_Loya=149]=`Fujitsu_Loya`,e[e.Fujitsu_Roya=150]=`Fujitsu_Roya`,e[e.LeftShift=160]=`LeftShift`,e[e.RightShift=161]=`RightShift`,e[e.LeftControl=162]=`LeftControl`,e[e.RightControl=163]=`RightControl`,e[e.LeftMenu=164]=`LeftMenu`,e[e.RightMenu=165]=`RightMenu`,e[e.BrowserBack=166]=`BrowserBack`,e[e.BrowserForward=167]=`BrowserForward`,e[e.BrowserRefresh=168]=`BrowserRefresh`,e[e.BrowserStop=169]=`BrowserStop`,e[e.BrowserSearch=170]=`BrowserSearch`,e[e.BrowserFavorites=171]=`BrowserFavorites`,e[e.BrowserHome=172]=`BrowserHome`,e[e.VolumeMute=173]=`VolumeMute`,e[e.VolumeDown=174]=`VolumeDown`,e[e.VolumeUp=175]=`VolumeUp`,e[e.MediaNextTrack=176]=`MediaNextTrack`,e[e.MediaPrevTrack=177]=`MediaPrevTrack`,e[e.MediaStop=178]=`MediaStop`,e[e.MediaPlayPause=179]=`MediaPlayPause`,e[e.LaunchMail=180]=`LaunchMail`,e[e.LaunchMediaSelect=181]=`LaunchMediaSelect`,e[e.LaunchApplication1=182]=`LaunchApplication1`,e[e.LaunchApplication2=183]=`LaunchApplication2`,e[e.OEM1=186]=`OEM1`,e[e.OEMPlus=187]=`OEMPlus`,e[e.OEMComma=188]=`OEMComma`,e[e.OEMMinus=189]=`OEMMinus`,e[e.OEMPeriod=190]=`OEMPeriod`,e[e.OEM2=191]=`OEM2`,e[e.OEM3=192]=`OEM3`,e[e.OEM4=219]=`OEM4`,e[e.OEM5=220]=`OEM5`,e[e.OEM6=221]=`OEM6`,e[e.OEM7=222]=`OEM7`,e[e.OEM8=223]=`OEM8`,e[e.OEMAX=225]=`OEMAX`,e[e.OEM102=226]=`OEM102`,e[e.ICOHelp=227]=`ICOHelp`,e[e.ICO00=228]=`ICO00`,e[e.ProcessKey=229]=`ProcessKey`,e[e.ICOClear=230]=`ICOClear`,e[e.Packet=231]=`Packet`,e[e.OEMReset=233]=`OEMReset`,e[e.OEMJump=234]=`OEMJump`,e[e.OEMPA1=235]=`OEMPA1`,e[e.OEMPA2=236]=`OEMPA2`,e[e.OEMPA3=237]=`OEMPA3`,e[e.OEMWSCtrl=238]=`OEMWSCtrl`,e[e.OEMCUSel=239]=`OEMCUSel`,e[e.OEMATTN=240]=`OEMATTN`,e[e.OEMFinish=241]=`OEMFinish`,e[e.OEMCopy=242]=`OEMCopy`,e[e.OEMAuto=243]=`OEMAuto`,e[e.OEMENLW=244]=`OEMENLW`,e[e.OEMBackTab=245]=`OEMBackTab`,e[e.ATTN=246]=`ATTN`,e[e.CRSel=247]=`CRSel`,e[e.EXSel=248]=`EXSel`,e[e.EREOF=249]=`EREOF`,e[e.Play=250]=`Play`,e[e.Zoom=251]=`Zoom`,e[e.Noname=252]=`Noname`,e[e.PA1=253]=`PA1`,e[e.OEMClear=254]=`OEMClear`,e}({});var _t=class{logger;initialized=!1;constructor(e){this.logger=I.getInstance().scope(e)}init(){this.logger.log(`Initializing`),this.initialized=!0}destroy(){this.logger.log(`Destroying`),this.initialized=!1}},R=class extends M{logger;initialized=!1;constructor(e){super(),this.logger=I.getInstance().scope(e)}init(){this.logger.log(`Initializing`),this.initialized=!0}destroy(){this.logger.log(`Destroying`),this.initialized=!1,this.removeAllListeners()}},vt=class extends Ke{logger;initialized=!1;constructor(e){super(),this.logger=I.getInstance().scope(e)}init(){this.logger.log(`Initializing`),this.initialized=!0}destroy(){this.logger.log(`Destroying`),this.initialized=!1,this.removeAllListeners()}};const z=de.create({baseURL:`https://updater.stats.cc`,headers:{Accept:`application/json`,"Accept-Encoding":`gzip, deflate, br`}});let yt;function bt(e){yt=e}z.interceptors.request.use(e=>{let t=yt?.();return t?(e.headers??={},e.headers.Authorization=t,e):e});const B=de.create({baseURL:`https://api.overlayed.gg`,headers:{Accept:`application/json`,"Accept-Encoding":`gzip, deflate, br`}});B.interceptors.request.use(e=>(e.headers??={},e));function xt(e,t){if(t<=0)throw Error(`Chunk size must be greater than 0`);if(e.length===0)return[];let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function St(e){return e}function Ct(e){return e?t=>(e(t),t):St}const wt=Ct();function Tt(e){return B.get(`/v1/public/applications/${e}`)}function Et(e,t,n){return z.get(`/v1/native/${Ot(e)}/version.txt`,{params:{channel:t},responseType:`text`,headers:{"X-App-Version":kt(n,t)}})}function Dt(e,t,n){return z.get(`/v1/native/${Ot(e)}/files`,{params:{channel:t},responseType:`arraybuffer`,headers:{"X-App-Version":kt(n,t)}})}function Ot(e){return e===`01JXPFK6YQ3N00N2Y9JHFNG55D`||e===`01JZEBPGHT5M4Y6SGY4P7Q9EZT`?`siege-game-module`:e}function kt(e,t){return`desktop-application/${e} (channel=${t})`}function At(){return B.get(`/v1/public/raven/config`)}function jt(e,t){return B.get(`/v1/public/raven/games/${e}/builds/${t}`)}function Mt(e,t){return B.post(`/v1/public/raven/games/${e}/builds/upload`,null,{params:t})}function Nt(e,t){let n=new FormData;return n.append(`file`,t.chunk),B.patch(`/v1/public/raven/games/${e}/builds/upload`,n,{params:t})}function Pt(e){let t=Date.now(),n=e.messages.map(e=>Ft(t,e)),r=xt(n,250),i=Promise.all(r.map(async t=>B.post(`/v1/public/cortex/events`,{...e,messages:t})));return i.catch(e=>{let t=e?.response?.data||e?.message||e;console.error(`Failed to submit cortex events`,t)}),i}function Ft(e,t){let n=e-t.created_at.getTime(),r=Math.max(0,Math.floor(n/1e3));return{properties:t.properties,type:t.type,seconds_offset:r}}function It(e){return e instanceof Error&&(e.name===`XiorError`||e.name===`XiorTimeoutError`)}function Lt(e){return!!(e&&`kind`in e.data&&`message`in e.data)}let Rt;function zt(e){Rt=e}const V=N(class extends R{UPDATE_CHECK_INTERVAL_MS=1e3*60*5;targetDir;updateInterval;constructor(){super(`NativeModuleManager`),this.targetDir=p.join(F(),`resources`),this.logger.log(`Target directory`,this.targetDir)}async initWithDlls(e){super.init(),await g.mkdir(this.targetDir,{recursive:!0}),await this.checkForUpdates(e),clearInterval(this.updateInterval),this.updateInterval=setInterval(()=>this.checkForUpdates(e),this.UPDATE_CHECK_INTERVAL_MS)}destroy(){this.updateInterval&&=(clearInterval(this.updateInterval),void 0),super.destroy()}async getCurrentVersion(e){try{let t=p.join(this.targetDir,e,`version.txt`);return this.logger.log(`Version Path`,t),await g.readFile(t,`utf-8`)}catch{return null}}getTargetPath(e){return p.join(this.targetDir,e)}getTargetVersionPath(e,t){return p.join(this.getTargetPath(e),t)}async checkForUpdates(e){let t=global.OVERLAYED.APP_BUILD_CHANNEL;if(this.logger.log(`Checking for updates`),!t){this.logger.error(`Invalid VITE_BUILD_CHANNEL`);return}await Rt?.();for(let n of e)try{let{data:e}=await Et(n,t,global.OVERLAYED.APP_VERSION),r=await this.getCurrentVersion(n);this.logger.log(`${n} > Update Check. current: ${r}, latest: ${e}`);let i=e!==r;this.logger.log(`${n} > Update found: ${r} -> ${e}`),await this.downloadAndExtractDll(n,e,t,i),this.logger.log(`${n} > Downloaded and extracted`),i&&(this.logger.log(`${n} > Cleaning up versions older than ${e}`),await this.cleanupOldVersions(n,e)),this.emit(`dllUpdated`,{identifier:n,version:e})}catch(e){this.logger.error(`${n} > Error checking/updating`,e)}}async downloadAndExtractDll(e,t,n,r){let{data:i}=await Dt(e,n,global.OVERLAYED.APP_VERSION),a=this.getTargetPath(e),o=this.getTargetVersionPath(e,t);await g.mkdir(o,{recursive:!0});let s=new _;await s.loadAsync(i);let c=Object.keys(s.files).map(async t=>{let n=s.files[t];if(n&&!n.dir){let i=p.join(o,t);if(!r)try{await g.access(i,g.constants.F_OK);return}catch{this.logger.warn(`${e} > File missing, re-downloading: ${i}`)}let a=await n.async(`nodebuffer`);await g.writeFile(i,a)}});await Promise.all(c);let l=p.join(a,`version.txt`);this.logger.log(`Saving version file`,l),await g.writeFile(l,t)}async cleanupOldVersions(e,t){let n=p.join(this.targetDir,e),r=await g.readdir(n,{withFileTypes:!0});for(let e of r)e.isDirectory()&&e.name!==t&&await g.rm(p.join(n,e.name),{recursive:!0,force:!0})}}),H=N(class extends R{REFETCH_INTERVAL=1e3*60*5;FAILED_REFETCH_INTERVAL=1e3*30;_ravenConfig;_executableToGameMap=new Map;_executablesArray=[];_refetchIntervalHandler=null;_failedRefetchTimeoutHandler=null;constructor(){super(`RavenManager`)}init(){super.init(),this.fetchRavenConfig(),this._refetchIntervalHandler=setInterval(()=>{this._failedRefetchTimeoutHandler&&=(clearTimeout(this._failedRefetchTimeoutHandler),null),this.fetchRavenConfig()},this.REFETCH_INTERVAL)}getExecutableData(e){return this._executableToGameMap.get(e.toLowerCase())??null}get executables(){return this._executablesArray}get executablesMap(){return this._executableToGameMap}destroy(){this._refetchIntervalHandler&&clearInterval(this._refetchIntervalHandler),this._failedRefetchTimeoutHandler&&clearTimeout(this._failedRefetchTimeoutHandler),V.getInstance().destroy(),super.destroy()}async fetchRavenConfig(){try{this._ravenConfig={games:(await At()).data.games},this.resetState();let e=new Set;for(let t of this._ravenConfig.games){for(let e of t.executables){let n=e.toLowerCase();this._executableToGameMap.set(n,t),this._executablesArray.push(n)}t.modules.forEach(t=>e.add(t))}await V.getInstance().initWithDlls(Array.from(e)),this.logger.log(`Raven updated, monitoring ${this._executableToGameMap.size} executables`),this.emit(`executablesUpdated`,{executables:this.executables,map:this._executableToGameMap})}catch(e){this.logger.error(`Failed to fetch Raven config`,e),this._failedRefetchTimeoutHandler=setTimeout(()=>this.fetchRavenConfig(),this.FAILED_REFETCH_INTERVAL)}}resetState(){this._executableToGameMap.clear(),this._executablesArray=[]}}),{PipeEventServer:Bt,PipeEventClient:Vt,PipeEventBase:Ht,ProcessMonitor:Ut,Process:Wt,HardwareInterface:Gt}=e(import.meta.url)(`@overlayed/app/dist/native-interface/build/overlayed_native_interface_x64.node`),Kt=Gt,qt=Ut,Jt=Wt,U=N(class extends R{_processMonitor;_processes=new Map;boundOnRavenManagerExecutablesUpdated=this.onRavenManagerExecutablesUpdated.bind(this);constructor(){super(`ProcessManager`),this._processMonitor=new qt}get hasAnyActiveProcesses(){return this.activeProcesses.length>0}get activeProcesses(){return Array.from(this._processes.values()).flat().filter(e=>!e.destroyedAt)}init(){super.init(),H.getInstance().on(`executablesUpdated`,this.boundOnRavenManagerExecutablesUpdated),this._processMonitor.on(`create`,e=>{this.logger.log(`Process created`,e),this.addProcess(e),this.logger.log(`Active Process Count: ${this._processes.size}`),this.emit(`create`,{process:e})}),this._processMonitor.on(`destroy`,e=>{this.logger.log(`Process destroyed`,e),this.deleteProcess(e),this.logger.log(`Active Process Count: ${this._processes.size}`),this.emit(`destroy`,{process:e})})}destroy(){H.getInstance().off(`executablesUpdated`,this.boundOnRavenManagerExecutablesUpdated),this._processes.clear(),this._processMonitor.removeAllListeners(),super.destroy()}isProcessRunning(e){return this._processes.get(e)?.some(e=>!e.destroyedAt)??!1}onRavenManagerExecutablesUpdated(e){this.logger.log(`Monitoring ${e.executables.length} processes`),e.executables.forEach(e=>{this._processMonitor.registerProcess(e)})}addProcess(e){if(!e.name)return;let t=this._processes.get(e.name);if(!t){this._processes.set(e.name,[e]);return}this._processes.set(e.name,t.concat(e))}deleteProcess(e){if(!e.name)return;let t=this._processes.get(e.name)?.filter(t=>t.id!==e.id)??[];t.length===0?this._processes.delete(e.name):this._processes.set(e.name,t)}});var Yt=class{_instance;_resolution;boundOnResolutionChanged=this.onResolutionChanged.bind(this);constructor(e){this._instance=e,this._resolution={width:0,height:0},this._instance.on(`resolution`,this.boundOnResolutionChanged)}destroy(){this._instance.off(`resolution`,this.boundOnResolutionChanged)}get instance(){return this._instance}get resolution(){return this._resolution}onResolutionChanged(e,t){this._resolution={width:e,height:t}}};const W=N(class{interfaces={};constructor(){}createInterface(e){return this.interfaces[e]||(this.interfaces[e]=new Yt(new ht(e,{access:1}))),this.interfaces[e]}getInterface(e){return this.interfaces[e]?this.interfaces[e]:this.createInterface(e)}}),G=N(class{options;eventQueue;meta=null;constructor(e){this.options=this.resolveOptions(e),this.eventQueue=new Ce,this.setupFlushInterval()}track(e,t){this.eventQueue.add({type:e,properties:t,created_at:new Date})}flush(){let e=Array.from(this.eventQueue.flush()).concat({type:`ping`,properties:{},created_at:new Date});if(!this.meta)throw Error(`Tried to flush Cortex events before meta was set`);try{Pt({...this.meta,messages:e})}catch{}return e}setupFlushInterval(){setInterval(()=>{this.flush()},this.options.batchIntervalSeconds*1e3)}resolveOptions(e){return{batchIntervalSeconds:e?.batchIntervalSeconds??15}}}),Xt=e(import.meta.url).resolve(`@overlayed/app/dist/render-interface/build/overlayed_render_hook_x64.dll`),K=N(class extends vt{boundOnProcessCreate=this.onProcessCreate.bind(this);boundOnProcessDestroy=this.onProcessDestroy.bind(this);subscribedGames=new Set;_activeReadyRavenGames=new Set;get isInGame(){return this._activeReadyRavenGames.size>0}constructor(){super(`GameLaunchManager`)}setSubscribedGames(e){this.subscribedGames=new Set(e)}init(){super.init(),W.getInstance().createInterface(`OGG_SIEGE`),U.getInstance().on(`create`,this.boundOnProcessCreate),U.getInstance().on(`destroy`,this.boundOnProcessDestroy)}destroy(){U.getInstance().off(`create`,this.boundOnProcessCreate),U.getInstance().off(`destroy`,this.boundOnProcessDestroy),super.destroy()}async onProcessCreate({process:e}){let t=this.getRavenGame(e);if(!t)return;if(this.subscribedGames.size===0){this.logger.warn(`No subscribed games, skipping`);return}if(G.getInstance().track(`game_launch`,{game:t.identifier}),!this.subscribedGames.has(t.identifier)&&!this.subscribedGames.has(`*`))return;let n=new AbortController;if(await this.emit(`gameLaunch`,{game:t.identifier,reject:()=>n.abort()}),n.signal.aborted)return;let r=Jt.currentProcess;if(this.logger.log(`Game Launched`,t),this.logger.log(`Process is elevated: `,e.isElevated),this.logger.log(`Current process is elevated: `,r.isElevated),e.isElevated&&!r.isElevated){P.getInstance().fatal(`Game is elevated but the App is not`,`ELEVATION_MISMATCH`,{appElevated:!!r.isElevated,gameElevated:!!e.isElevated}),this.logger.log(`Game elevated but App is not`,{appElevated:r.isElevated,gameElevated:e.isElevated});return}let i=this.copyDll(Xt);if(i)try{await e.injectDll(i),this.logger.log(`Render Interface Injection Successful`,i)}catch(e){this.logger.error(`Render Interface Injection Failed`,e),this.logger.error(`Render Interface Injection Failed`,{renderInterfacePath:i})}let a=t?.modules.map(async t=>{let n=await V.getInstance().getCurrentVersion(t);if(!n)return this.logger.error(`No version found for DLL`,{identifier:t}),Promise.resolve();let r=V.getInstance().getTargetVersionPath(t,n);this.logger.log(`DLL Path`,r);let i=await this.getDllFiles(r);return this.logger.log(`DLL Files`,i),Promise.all(i.map(async t=>{let n=p.basename(t),i=p.join(r,n);if(!i)return Promise.resolve();this.logger.log(`Injecting: `,i);try{return e.injectDll(i).then(()=>{this.logger.log(`Injection Successful`,i)}).catch(e=>{this.logger.error(`Injection Failed [1]`,{targetPath:i},e)})}catch(e){return this.logger.error(`Injection Failed [2]`,{targetPath:i},e),Promise.reject(e)}}))});await Promise.allSettled(a),this._activeReadyRavenGames.add(t.identifier),this.logger.debug(`Active ready raven games`,Array.from(this._activeReadyRavenGames).join(`, `)),this.emit(`gameReadyInternal`,{ravenGame:t,process:e}),this.emit(`gameReady`,{game:t.identifier}),G.getInstance().track(`game_ready`,{game:t.identifier})}copyDll(e){let t=p.basename(e),n=ee(e),r=p.join(F(),`resources`),i=p.join(r,t);this.logger.info(`Copying`,n,`to`,i);try{oe(r)||se(r,{recursive:!0});let e=ce(n);ue(i,e),ie(n,i)}catch(e){return e.code===`EBUSY`?i:(this.logger.error(`Failed to copy`,e),this.logger.error(`Failed to copy`,{originalPath:n,targetPath:i}),!1)}return i}async getDllFiles(e){try{return(await g.readdir(e)).filter(e=>e.endsWith(`.dll`)).map(t=>p.join(e,t))}catch(t){return this.logger.error(`Failed to read DLL directory`,t),this.logger.error(`Failed to read DLL directory`,{dllPath:e}),[]}}onProcessDestroy({process:e}){let t=this.getRavenGame(e);t&&(this._activeReadyRavenGames.delete(t.identifier),this.logger.debug(`Active ready raven games`,Array.from(this._activeReadyRavenGames).join(`, `)),this.emit(`gameCloseInternal`,{ravenGame:t,process:e}),this.emit(`gameClose`,{game:t.identifier}),G.getInstance().track(`game_close`,{game:t.identifier}))}getRavenGame(e){if(!e.name)return;let t=H.getInstance().getExecutableData(e.name);if(!t){this.logger.error(`No raven game found for process`,{process:e});return}return t}}),Zt=N(class extends _t{boundOnGameLaunch=this.onGameLaunch.bind(this);constructor(){super(`GameBuildManager`)}init(){super.init(),K.getInstance().on(`gameReadyInternal`,this.boundOnGameLaunch)}destroy(){K.getInstance().off(`gameReadyInternal`,this.boundOnGameLaunch),super.destroy()}async onGameLaunch(...e){let[{ravenGame:t,process:n}]=e;if(!n.path||!n.name){this.logger.error(`Process path or name not found, could not check for build hash`,void 0,n);return}let r=ce(n.path),i=fe(`sha256`).update(r).digest(`hex`);this.logger.log(`Process Path`,n.path),this.logger.log(`Process Name`,n.name),this.logger.log(`Build Hash`,i);let a=!1;try{a=(await jt(t.identifier,i)).data.upload}catch(e){this.logger.error(`Error checking game build hash`,e);return}if(!a){this.logger.log(`Build hash already exists, skipping upload`);return}let o=new _;o.file(n.name,r);let s=await o.generateAsync({type:`blob`});try{this.logger.log(`Uploading build (size: `,s.size,` bytes)`);let e=new tt(s,{chunkSizeMb:25,maxConcurrent:1}),n=await Mt(t.identifier,{build_hash:i,chunk_count:e.totalChunks,file_size_bytes:s.size});await e.chunk(async(e,r)=>{this.logger.log(`Uploading chunk`,r),await Nt(t.identifier,{chunk:e,build_hash:i,chunk_index:r,upload_token:n.data.upload_token})}),this.logger.log(`Build uploaded successfully`)}catch(e){It(e)?Lt(e.response)?this.logger.error(`Error uploading build hash, api error`,e):this.logger.error(`Error uploading build hash, request error`,e):this.logger.error(`Error uploading build hash, unknown error`,e)}}});function Qt(e=[]){return p.normalize(p.join(Ze(global.OVERLAYED.APPLICATION_ID),...e))}const $t=n({game:`string`,type:`string`,creation_time:`number`}),q=new qe({path:$e(),schema:n({userId:`string | undefined`,sessionId:`string | undefined`,sessionLastUsed:`number | undefined`}),default:{userId:void 0,sessionId:void 0,sessionLastUsed:void 0}});function en(){let e=q.get().userId;if(e)return e;let t=rn();return q.set({...q.get(),userId:t}),t}function tn(){let e=q.get();if(e.sessionId&&typeof e.sessionLastUsed==`number`&&Date.now()-e.sessionLastUsed<=300*1e3)return e.sessionId;let t=crypto.randomUUID();return q.set({...e,sessionId:t,sessionLastUsed:Date.now()}),t}function nn(){try{let e=q.get();q.set({...e,sessionLastUsed:Date.now()})}catch(e){I.getInstance().log(`Failed to update sessionLastUsed`,e)}}function rn(){try{return Kt.generateUniqueIdentifier()}catch{return crypto.randomUUID()}}function J(e,t){return`${e}:${t}`}function an(e,t,n){return e.reduce((e,r)=>{let i=r.key;return e[i]={on(e,n){let r=J(i,e),a=t.get(r)??new Set;a.add(n),t.set(r,a)},onAny(e){let n=J(i,`*`),r=t.get(n)??new Set;r.add(e),t.set(n,r)},off(e,n){let r=J(i,e),a=t.get(r);a&&(a.delete(n),a.size===0&&t.delete(r))},offAny(e){let n=J(i,`*`),r=t.get(n);r&&(r.delete(e),r.size===0&&t.delete(n))},readyForGameEvents:()=>{n.emit(`flushEvents`,i)}},e},{})}function on(){let e=P.getInstance(),t=K.getInstance();return{on:(n,r)=>{switch(n){case`fatal`:e.on(`fatal`,r);break;case`error`:e.on(`error`,r);break;case`warning`:e.on(`warning`,r);break;case`gameLaunch`:t.on(`gameLaunch`,r);break;case`gameClose`:t.on(`gameClose`,r);break;case`gameReady`:t.on(`gameReady`,r);break;default:throw Error(`Event type not implemented ${n}`,{cause:[n,r]})}},off:(n,r)=>{switch(n){case`fatal`:e.off(`fatal`,r);break;case`error`:e.off(`error`,r);break;case`warning`:e.off(`warning`,r);break;case`gameLaunch`:t.off(`gameLaunch`,r);break;case`gameClose`:t.off(`gameClose`,r);break;case`gameReady`:t.off(`gameReady`,r);break;default:throw Error(`Event type not implemented ${n}`,{cause:[n,r]})}}}}var Y=function(e){return e[e.LeftButton=1]=`LeftButton`,e[e.RightButton=2]=`RightButton`,e[e.Cancel=3]=`Cancel`,e[e.MiddleButton=4]=`MiddleButton`,e[e.ExtraButton1=5]=`ExtraButton1`,e[e.ExtraButton2=6]=`ExtraButton2`,e[e.Back=8]=`Back`,e[e.Tab=9]=`Tab`,e[e.Clear=12]=`Clear`,e[e.Return=13]=`Return`,e[e.Shift=16]=`Shift`,e[e.Control=17]=`Control`,e[e.Menu=18]=`Menu`,e[e.Pause=19]=`Pause`,e[e.CapsLock=20]=`CapsLock`,e[e.Kana=21]=`Kana`,e[e.Hangeul=21]=`Hangeul`,e[e.Hangul=21]=`Hangul`,e[e.Junja=23]=`Junja`,e[e.Final=24]=`Final`,e[e.Hanja=25]=`Hanja`,e[e.Kanji=25]=`Kanji`,e[e.Escape=27]=`Escape`,e[e.Convert=28]=`Convert`,e[e.NonConvert=29]=`NonConvert`,e[e.Accept=30]=`Accept`,e[e.ModeChange=31]=`ModeChange`,e[e.Space=32]=`Space`,e[e.Prior=33]=`Prior`,e[e.Next=34]=`Next`,e[e.End=35]=`End`,e[e.Home=36]=`Home`,e[e.Left=37]=`Left`,e[e.Up=38]=`Up`,e[e.Right=39]=`Right`,e[e.Down=40]=`Down`,e[e.Select=41]=`Select`,e[e.Print=42]=`Print`,e[e.Execute=43]=`Execute`,e[e.Snapshot=44]=`Snapshot`,e[e.Insert=45]=`Insert`,e[e.Delete=46]=`Delete`,e[e.Help=47]=`Help`,e[e.N0=48]=`N0`,e[e.N1=49]=`N1`,e[e.N2=50]=`N2`,e[e.N3=51]=`N3`,e[e.N4=52]=`N4`,e[e.N5=53]=`N5`,e[e.N6=54]=`N6`,e[e.N7=55]=`N7`,e[e.N8=56]=`N8`,e[e.N9=57]=`N9`,e[e.A=65]=`A`,e[e.B=66]=`B`,e[e.C=67]=`C`,e[e.D=68]=`D`,e[e.E=69]=`E`,e[e.F=70]=`F`,e[e.G=71]=`G`,e[e.H=72]=`H`,e[e.I=73]=`I`,e[e.J=74]=`J`,e[e.K=75]=`K`,e[e.L=76]=`L`,e[e.M=77]=`M`,e[e.N=78]=`N`,e[e.O=79]=`O`,e[e.P=80]=`P`,e[e.Q=81]=`Q`,e[e.R=82]=`R`,e[e.S=83]=`S`,e[e.T=84]=`T`,e[e.U=85]=`U`,e[e.V=86]=`V`,e[e.W=87]=`W`,e[e.X=88]=`X`,e[e.Y=89]=`Y`,e[e.Z=90]=`Z`,e[e.LeftWindows=91]=`LeftWindows`,e[e.RightWindows=92]=`RightWindows`,e[e.Application=93]=`Application`,e[e.Sleep=95]=`Sleep`,e[e.Numpad0=96]=`Numpad0`,e[e.Numpad1=97]=`Numpad1`,e[e.Numpad2=98]=`Numpad2`,e[e.Numpad3=99]=`Numpad3`,e[e.Numpad4=100]=`Numpad4`,e[e.Numpad5=101]=`Numpad5`,e[e.Numpad6=102]=`Numpad6`,e[e.Numpad7=103]=`Numpad7`,e[e.Numpad8=104]=`Numpad8`,e[e.Numpad9=105]=`Numpad9`,e[e.Multiply=106]=`Multiply`,e[e.Add=107]=`Add`,e[e.Separator=108]=`Separator`,e[e.Subtract=109]=`Subtract`,e[e.Decimal=110]=`Decimal`,e[e.Divide=111]=`Divide`,e[e.F1=112]=`F1`,e[e.F2=113]=`F2`,e[e.F3=114]=`F3`,e[e.F4=115]=`F4`,e[e.F5=116]=`F5`,e[e.F6=117]=`F6`,e[e.F7=118]=`F7`,e[e.F8=119]=`F8`,e[e.F9=120]=`F9`,e[e.F10=121]=`F10`,e[e.F11=122]=`F11`,e[e.F12=123]=`F12`,e[e.F13=124]=`F13`,e[e.F14=125]=`F14`,e[e.F15=126]=`F15`,e[e.F16=127]=`F16`,e[e.F17=128]=`F17`,e[e.F18=129]=`F18`,e[e.F19=130]=`F19`,e[e.F20=131]=`F20`,e[e.F21=132]=`F21`,e[e.F22=133]=`F22`,e[e.F23=134]=`F23`,e[e.F24=135]=`F24`,e[e.NumLock=144]=`NumLock`,e[e.ScrollLock=145]=`ScrollLock`,e[e.NEC_Equal=146]=`NEC_Equal`,e[e.Fujitsu_Jisho=146]=`Fujitsu_Jisho`,e[e.Fujitsu_Masshou=147]=`Fujitsu_Masshou`,e[e.Fujitsu_Touroku=148]=`Fujitsu_Touroku`,e[e.Fujitsu_Loya=149]=`Fujitsu_Loya`,e[e.Fujitsu_Roya=150]=`Fujitsu_Roya`,e[e.LeftShift=160]=`LeftShift`,e[e.RightShift=161]=`RightShift`,e[e.LeftControl=162]=`LeftControl`,e[e.RightControl=163]=`RightControl`,e[e.LeftMenu=164]=`LeftMenu`,e[e.RightMenu=165]=`RightMenu`,e[e.BrowserBack=166]=`BrowserBack`,e[e.BrowserForward=167]=`BrowserForward`,e[e.BrowserRefresh=168]=`BrowserRefresh`,e[e.BrowserStop=169]=`BrowserStop`,e[e.BrowserSearch=170]=`BrowserSearch`,e[e.BrowserFavorites=171]=`BrowserFavorites`,e[e.BrowserHome=172]=`BrowserHome`,e[e.VolumeMute=173]=`VolumeMute`,e[e.VolumeDown=174]=`VolumeDown`,e[e.VolumeUp=175]=`VolumeUp`,e[e.MediaNextTrack=176]=`MediaNextTrack`,e[e.MediaPrevTrack=177]=`MediaPrevTrack`,e[e.MediaStop=178]=`MediaStop`,e[e.MediaPlayPause=179]=`MediaPlayPause`,e[e.LaunchMail=180]=`LaunchMail`,e[e.LaunchMediaSelect=181]=`LaunchMediaSelect`,e[e.LaunchApplication1=182]=`LaunchApplication1`,e[e.LaunchApplication2=183]=`LaunchApplication2`,e[e.OEM1=186]=`OEM1`,e[e.OEMPlus=187]=`OEMPlus`,e[e.OEMComma=188]=`OEMComma`,e[e.OEMMinus=189]=`OEMMinus`,e[e.OEMPeriod=190]=`OEMPeriod`,e[e.OEM2=191]=`OEM2`,e[e.OEM3=192]=`OEM3`,e[e.OEM4=219]=`OEM4`,e[e.OEM5=220]=`OEM5`,e[e.OEM6=221]=`OEM6`,e[e.OEM7=222]=`OEM7`,e[e.OEM8=223]=`OEM8`,e[e.OEMAX=225]=`OEMAX`,e[e.OEM102=226]=`OEM102`,e[e.ICOHelp=227]=`ICOHelp`,e[e.ICO00=228]=`ICO00`,e[e.ProcessKey=229]=`ProcessKey`,e[e.ICOClear=230]=`ICOClear`,e[e.Packet=231]=`Packet`,e[e.OEMReset=233]=`OEMReset`,e[e.OEMJump=234]=`OEMJump`,e[e.OEMPA1=235]=`OEMPA1`,e[e.OEMPA2=236]=`OEMPA2`,e[e.OEMPA3=237]=`OEMPA3`,e[e.OEMWSCtrl=238]=`OEMWSCtrl`,e[e.OEMCUSel=239]=`OEMCUSel`,e[e.OEMATTN=240]=`OEMATTN`,e[e.OEMFinish=241]=`OEMFinish`,e[e.OEMCopy=242]=`OEMCopy`,e[e.OEMAuto=243]=`OEMAuto`,e[e.OEMENLW=244]=`OEMENLW`,e[e.OEMBackTab=245]=`OEMBackTab`,e[e.ATTN=246]=`ATTN`,e[e.CRSel=247]=`CRSel`,e[e.EXSel=248]=`EXSel`,e[e.EREOF=249]=`EREOF`,e[e.Play=250]=`Play`,e[e.Zoom=251]=`Zoom`,e[e.Noname=252]=`Noname`,e[e.PA1=253]=`PA1`,e[e.OEMClear=254]=`OEMClear`,e}(Y||{});const sn=new Map([[Y.LeftButton,`LeftButton`],[Y.RightButton,`RightButton`],[Y.Cancel,`Cancel`],[Y.MiddleButton,`MiddleButton`],[Y.ExtraButton1,`ExtraButton1`],[Y.ExtraButton2,`ExtraButton2`],[Y.Back,`Backspace`],[Y.Tab,`Tab`],[Y.Clear,`Clear`],[Y.Return,`Enter`],[Y.Shift,`ShiftLeft`],[Y.Control,`ControlLeft`],[Y.Menu,`AltLeft`],[Y.Pause,`Pause`],[Y.CapsLock,`CapsLock`],[Y.Kana,`KanaMode`],[Y.Junja,`JunjaMode`],[Y.Final,`Finalize`],[Y.Hanja,`HanjaMode`],[Y.Escape,`Escape`],[Y.Convert,`Convert`],[Y.NonConvert,`NonConvert`],[Y.Accept,`Accept`],[Y.ModeChange,`ModeChange`],[Y.Space,`Space`],[Y.Prior,`PageUp`],[Y.Next,`PageDown`],[Y.End,`End`],[Y.Home,`Home`],[Y.Left,`ArrowLeft`],[Y.Up,`ArrowUp`],[Y.Right,`ArrowRight`],[Y.Down,`ArrowDown`],[Y.Select,`Select`],[Y.Print,`PrintScreen`],[Y.Execute,`Execute`],[Y.Snapshot,`Snapshot`],[Y.Insert,`Insert`],[Y.Delete,`Delete`],[Y.Help,`Help`],[Y.N0,`Digit0`],[Y.N1,`Digit1`],[Y.N2,`Digit2`],[Y.N3,`Digit3`],[Y.N4,`Digit4`],[Y.N5,`Digit5`],[Y.N6,`Digit6`],[Y.N7,`Digit7`],[Y.N8,`Digit8`],[Y.N9,`Digit9`],[Y.A,`KeyA`],[Y.B,`KeyB`],[Y.C,`KeyC`],[Y.D,`KeyD`],[Y.E,`KeyE`],[Y.F,`KeyF`],[Y.G,`KeyG`],[Y.H,`KeyH`],[Y.I,`KeyI`],[Y.J,`KeyJ`],[Y.K,`KeyK`],[Y.L,`KeyL`],[Y.M,`KeyM`],[Y.N,`KeyN`],[Y.O,`KeyO`],[Y.P,`KeyP`],[Y.Q,`KeyQ`],[Y.R,`KeyR`],[Y.S,`KeyS`],[Y.T,`KeyT`],[Y.U,`KeyU`],[Y.V,`KeyV`],[Y.W,`KeyW`],[Y.X,`KeyX`],[Y.Y,`KeyY`],[Y.Z,`KeyZ`],[Y.LeftWindows,`MetaLeft`],[Y.RightWindows,`MetaRight`],[Y.Application,`ContextMenu`],[Y.Sleep,`Sleep`],[Y.Numpad0,`Numpad0`],[Y.Numpad1,`Numpad1`],[Y.Numpad2,`Numpad2`],[Y.Numpad3,`Numpad3`],[Y.Numpad4,`Numpad4`],[Y.Numpad5,`Numpad5`],[Y.Numpad6,`Numpad6`],[Y.Numpad7,`Numpad7`],[Y.Numpad8,`Numpad8`],[Y.Numpad9,`Numpad9`],[Y.Multiply,`NumpadMultiply`],[Y.Add,`NumpadAdd`],[Y.Separator,`NumpadSeparator`],[Y.Subtract,`NumpadSubtract`],[Y.Decimal,`NumpadDecimal`],[Y.Divide,`NumpadDivide`],[Y.F1,`F1`],[Y.F2,`F2`],[Y.F3,`F3`],[Y.F4,`F4`],[Y.F5,`F5`],[Y.F6,`F6`],[Y.F7,`F7`],[Y.F8,`F8`],[Y.F9,`F9`],[Y.F10,`F10`],[Y.F11,`F11`],[Y.F12,`F12`],[Y.F13,`F13`],[Y.F14,`F14`],[Y.F15,`F15`],[Y.F16,`F16`],[Y.F17,`F17`],[Y.F18,`F18`],[Y.F19,`F19`],[Y.F20,`F20`],[Y.F21,`F21`],[Y.F22,`F22`],[Y.F23,`F23`],[Y.F24,`F24`],[Y.NumLock,`NumLock`],[Y.ScrollLock,`ScrollLock`],[Y.NEC_Equal,`NEC_Equal`],[Y.Fujitsu_Masshou,`Fujitsu_Masshou`],[Y.Fujitsu_Touroku,`Fujitsu_Touroku`],[Y.Fujitsu_Loya,`Fujitsu_Loya`],[Y.Fujitsu_Roya,`Fujitsu_Roya`],[Y.LeftShift,`ShiftLeft`],[Y.RightShift,`ShiftRight`],[Y.LeftControl,`ControlLeft`],[Y.RightControl,`ControlRight`],[Y.LeftMenu,`AltLeft`],[Y.RightMenu,`AltRight`],[Y.BrowserBack,`BrowserBack`],[Y.BrowserForward,`BrowserForward`],[Y.BrowserRefresh,`BrowserRefresh`],[Y.BrowserStop,`BrowserStop`],[Y.BrowserSearch,`BrowserSearch`],[Y.BrowserFavorites,`BrowserFavorites`],[Y.BrowserHome,`BrowserHome`],[Y.VolumeMute,`VolumeMute`],[Y.VolumeDown,`VolumeDown`],[Y.VolumeUp,`VolumeUp`],[Y.MediaNextTrack,`MediaTrackNext`],[Y.MediaPrevTrack,`MediaTrackPrevious`],[Y.MediaStop,`MediaStop`],[Y.MediaPlayPause,`MediaPlayPause`],[Y.LaunchMail,`LaunchMail`],[Y.LaunchMediaSelect,`LaunchMediaSelect`],[Y.LaunchApplication1,`LaunchApplication1`],[Y.LaunchApplication2,`LaunchApplication2`],[Y.OEM1,`OEM_1`],[Y.OEMPlus,`Equal`],[Y.OEMComma,`Comma`],[Y.OEMMinus,`Minus`],[Y.OEMPeriod,`Period`],[Y.OEM2,`Slash`],[Y.OEM3,`Backquote`],[Y.OEM4,`BracketLeft`],[Y.OEM5,`Backslash`],[Y.OEM6,`BracketRight`],[Y.OEM7,`Quote`],[Y.OEM8,`IntlRo`],[Y.OEMAX,`OEM_AX`],[Y.OEM102,`IntlBackslash`],[Y.ICOHelp,`ICO_HELP`],[Y.ICO00,`ICO_00`],[Y.ProcessKey,`Process`],[Y.ICOClear,`ICO_CLEAR`],[Y.Packet,`Packet`],[Y.OEMReset,`OEM_Reset`],[Y.OEMJump,`OEM_Jump`],[Y.OEMPA1,`OEM_PA1`],[Y.OEMPA2,`OEM_PA2`],[Y.OEMPA3,`OEM_PA3`],[Y.OEMWSCtrl,`OEM_WS_Ctrl`],[Y.OEMCUSel,`OEM_CU_Sel`],[Y.OEMATTN,`OEM_ATTN`],[Y.OEMFinish,`OEM_Finish`],[Y.OEMCopy,`OEM_Copy`],[Y.OEMAuto,`OEM_Auto`],[Y.OEMENLW,`OEM_ENLW`],[Y.OEMBackTab,`BackTab`],[Y.ATTN,`ATTN`],[Y.CRSel,`CRSel`],[Y.EXSel,`EXSel`],[Y.EREOF,`EREOF`],[Y.Play,`MediaPlay`],[Y.Zoom,`Zoom`],[Y.Noname,`Noname`],[Y.PA1,`PA1`],[Y.OEMClear,`OEM_Clear`]]),cn=new Map(sn.entries().map(([e,t])=>[t,e])),ln=n({"[string]":{keys:`string[]`,mode:n(`'toggle' | 'hold'`).pipe(e=>e??`toggle`)}});var un=class extends R{preferencesKeybindToCallbacks=new Map;pressedKeys=new Set;activeKeybinds=new Set;triggeredToggleKeybinds=new Set;boundHandleKeyboardFocus=this.handleKeyboardFocus.bind(this);boundHandleKeyDown=this.handleKeyDown.bind(this);boundHandleKeyUp=this.handleKeyUp.bind(this);keybindsFile;keybindListeningPaused=!1;constructor(e){super(`KeybindManager`),this.keybindsFile=new qe({path:Qt([`keybinds.json`]),schema:ln,default:e})}init(){super.init();let e=W.getInstance().getInterface(`OGG_SIEGE`);e.instance.on(`keyboardFocus`,this.boundHandleKeyboardFocus),e.instance.on(`keyDown`,this.boundHandleKeyDown),e.instance.on(`keyUp`,this.boundHandleKeyUp)}async onKeybindToggled(e,t){let n=this.preferencesKeybindToCallbacks.get(e)||{};n.toggle=t,this.preferencesKeybindToCallbacks.set(e,n)}async onKeybindDown(e,t){let n=this.preferencesKeybindToCallbacks.get(e)||{};n.down=t,this.preferencesKeybindToCallbacks.set(e,n)}async onKeybindUp(e,t){let n=this.preferencesKeybindToCallbacks.get(e)||{};n.up=t,this.preferencesKeybindToCallbacks.set(e,n)}async updateKeybind(e,t){this.keybindsFile.set({[e]:t})}async updateKeybinds(e){let t=Object.fromEntries(Object.entries(e).filter(([e,t])=>t!==void 0));this.keybindsFile.set({...this.keybindsFile.get(),...t})}getConfig(){return this.keybindsFile.get()}destroy(){let e=W.getInstance().getInterface(`OGG_SIEGE`);e.instance.off(`keyboardFocus`,this.boundHandleKeyboardFocus),e.instance.off(`keyDown`,this.boundHandleKeyDown),e.instance.off(`keyUp`,this.boundHandleKeyUp),super.destroy()}handleKeyDown(e){if(this.keybindListeningPaused)return;let t=sn.get(e.key);if(!t){this.logger.error(`Unknown key down`,e);return}this.pressedKeys.add(t),this.checkKeybindings()}handleKeyboardFocus(){this.pressedKeys.clear(),this.activeKeybinds.clear(),this.triggeredToggleKeybinds.clear()}async handleKeyUp(e){if(this.keybindListeningPaused)return;let t=sn.get(e.key);if(!t)return;this.pressedKeys.delete(t);let n=this.keybindsFile.get();for(let[e]of this.preferencesKeybindToCallbacks.entries())n[e].keys.includes(t)&&this.triggeredToggleKeybinds.delete(e);this.checkKeybindUps()}async checkKeybindUps(){let e=this.keybindsFile.get();for(let[t,n]of this.preferencesKeybindToCallbacks.entries()){if(!n.up)continue;let r=e[t];this.activeKeybinds.has(t)&&r.keys.some(e=>!this.pressedKeys.has(e))&&(this.activeKeybinds.delete(t),n.up(),this.logger.log(`Keybind up triggered`,this.getKeybindToString(r)))}}async checkKeybindings(){let e=this.keybindsFile.get();for(let[t,n]of this.preferencesKeybindToCallbacks.entries()){let r=e[t];if(r.keys.length===this.pressedKeys.size&&r.keys.every(e=>cn.has(e)?this.pressedKeys.has(e):!1)){this.triggerKeybind(r,n,t);return}}for(let[t,n]of this.preferencesKeybindToCallbacks.entries()){let r=e[t];r.keys.every(e=>cn.has(e)?this.pressedKeys.has(e):(this.logger.error(`Unknown key`,e,r),!1))&&this.triggerKeybind(r,n,t)}}triggerKeybind(e,t,n){let r=e.mode;if(r===`toggle`&&t.toggle&&!this.triggeredToggleKeybinds.has(n)){let r=t.toggle();this.triggeredToggleKeybinds.add(n),this.logger.log(r?`Keybind pressed rejected: ${r}`:`Keybind pressed accepted`,this.getKeybindToString(e))}if(r===`hold`&&t.down&&!this.activeKeybinds.has(n)){let r=t.down();r?this.logger.log(`Keybind down rejected: ${r}`,this.getKeybindToString(e)):(this.activeKeybinds.add(n),this.logger.log(`Keybind down accepted`,this.getKeybindToString(e)))}}getKeybindToString(e){return`(${e.keys.join(`+`)}${e.mode?` ${e.mode}`:``})`}};function dn(e){let t=new un(e),n={};for(let r in e)n[r]={on:(e,n)=>{switch(e){case`down`:t.onKeybindDown(r,n);break;case`up`:t.onKeybindUp(r,n);break;case`toggle`:t.onKeybindToggled(r,n);break;default:throw Error(`Event type not implemented ${e}`,{cause:[e,n]})}}};let r={...n,getConfig:()=>t.getConfig(),pauseKeybindListening:()=>{t.keybindListeningPaused=!0},resumeKeybindListening:()=>{t.keybindListeningPaused=!1},updateKeybind:(e,n)=>{t.updateKeybind(e,n)},updateKeybinds:e=>{t.updateKeybinds(e)}};return t.init(),pe.on(`quit`,()=>{t.destroy()}),r}function X(){return W.getInstance().getInterface(`OGG_SIEGE`)}function fn(){let e=K.getInstance(),t=P.getInstance(),n=G.getInstance();n.meta=pn(),e.on([`gameReady`,`gameClose`],()=>{n.meta||=pn(),n.meta.in_game=e.isInGame}),t.on(`fatal`,e=>{n.track(`fatal`,{message:e.message,code:e.code,data:JSON.stringify(e.data)})}),t.on(`error`,e=>{n.track(`error`,{code:e.code,message:e.message,data:JSON.stringify(e.data)})}),t.on(`warning`,e=>{n.track(`warning`,{message:e.message,code:e.code,data:JSON.stringify(e.data)})})}function pn(){return{app_id:global.OVERLAYED.APPLICATION_ID,user_id:en(),app_channel:global.OVERLAYED.APP_BUILD_CHANNEL,app_version:global.OVERLAYED.APP_VERSION,package_version:global.OVERLAYED.PACKAGE_VERSION,frontend_version:global.OVERLAYED.FRONTEND_VERSION,session_id:global.OVERLAYED.sessionId,in_game:!1}}function mn(){function e(e,t){return e.once(`closed`,()=>{e.isDestroyed()||G.getInstance().track(`window_closed`,{url:e.webContents.getURL(),in_game:t})}),e.on(`unresponsive`,()=>{e.isDestroyed()||G.getInstance().track(`window_unresponsive`,{url:e.webContents.getURL(),in_game:t})}),G.getInstance().track(`window_created`,{url:e.webContents.getURL(),in_game:t}),e}return{createWindow:t=>e(new global.OVERLAYED.electron.BrowserWindow(t),!1),createInGameWindow:t=>e(X().instance.newWindowInternal(global.OVERLAYED.electron.BrowserWindow,t),!0),on:(e,t)=>X().instance.on(e,t),off:(e,t)=>X().instance.off(e,t),once:(e,t)=>X().instance.once(e,t),addListener:(e,t)=>X().instance.addListener(e,t),removeListener:(e,t)=>X().instance.removeListener(e,t),removeAllListeners:()=>X().instance.removeAllListeners(),prependListener:(e,t)=>X().instance.prependListener(e,t),prependOnceListener:(e,t)=>X().instance.prependOnceListener(e,t),getActiveGameInfo:()=>{let e=X(),t=L.getInstance();return{resolution:e.resolution,isConnected:t.hasConnection}}}}const hn=N(class extends _t{renderInterface;globalCursorOverrideCount=new Set;globalMouseBlockCount=new Set;globalKeyboardBlockCount=new Set;keyInputBlocks={};constructor(e){super(`OverridesManager`),this.renderInterface=W.getInstance().getInterface(e)}scope(e){return{setGlobalCursorOverride:t=>this.setGlobalCursorOverride(e,t),setGlobalMouseBlock:t=>this.setGlobalMouseBlock(e,t),setGlobalKeyboardBlock:t=>this.setGlobalKeyboardBlock(e,t),setKeyInputBlock:(t,n)=>this.setKeyInputBlock(e,t,n)}}setGlobalCursorOverride(e,t){t?this.globalCursorOverrideCount.add(e):this.globalCursorOverrideCount.delete(e),t&&this.globalCursorOverrideCount.size===1?this.renderInterface.instance.setGlobalCursorOverride(!0):!t&&this.globalCursorOverrideCount.size===0&&this.renderInterface.instance.setGlobalCursorOverride(!1)}setGlobalMouseBlock(e,t){t?this.globalMouseBlockCount.add(e):this.globalMouseBlockCount.delete(e),t&&this.globalMouseBlockCount.size===1?this.renderInterface.instance.setGlobalMouseBlock(!0):!t&&this.globalMouseBlockCount.size===0&&this.renderInterface.instance.setGlobalMouseBlock(!1)}setGlobalKeyboardBlock(e,t){t?this.globalKeyboardBlockCount.add(e):this.globalKeyboardBlockCount.delete(e),t&&this.globalKeyboardBlockCount.size===1?this.renderInterface.instance.setGlobalKeyboardBlock(!0):!t&&this.globalKeyboardBlockCount.size===0&&this.renderInterface.instance.setGlobalKeyboardBlock(!1)}setKeyInputBlock(e,t,n){this.keyInputBlocks[t]||(this.keyInputBlocks[t]=new Set),n?this.keyInputBlocks[t].add(e):this.keyInputBlocks[t].delete(e),n&&this.keyInputBlocks[t].size===1?this.renderInterface.instance.setKeyInputBlock(t,!0):!n&&this.keyInputBlocks[t].size===0&&this.renderInterface.instance.setKeyInputBlock(t,!1)}},`OGG_SIEGE`);function gn(){return{scope:e=>hn.getInstance().scope(e),raw:{setGlobalMouseBlock:e=>X().instance.setGlobalMouseBlock(e),setGlobalKeyboardBlock:e=>X().instance.setGlobalKeyboardBlock(e),setGlobalCursorOverride:e=>X().instance.setGlobalCursorOverride(e),setKeyInputBlock:(e,t)=>X().instance.setKeyInputBlock(e,t),getGlobalMouseBlock:()=>X().instance.getGlobalMouseBlock(),getGlobalKeyboardBlock:()=>X().instance.getGlobalKeyboardBlock(),getGlobalCursorOverride:()=>X().instance.getGlobalCursorOverride(),getKeyInputBlock:e=>X().instance.getKeyInputBlock(e)}}}function _n(){return{track:(e,t)=>{G.getInstance().track(`custom__${String(e)}`,t)}}}var vn=Se(be(((e,t)=>{var n=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),r=n((e,t)=>{var n=new Set([`mouseDown`,`mouseUp`,`pointerDown`,`pointerUp`]),r=new WeakSet;function i(e,t,{allowHosts:i}={}){let{shell:a}=t;if(r.has(e))return;r.add(e);let o=e.webContents;function s(e){return!!(!c(e)||i?.includes(e.host))}function c(e){return new URL(o.getURL()).origin!==e.origin}let l=0;function u(){l=Date.now()}function d(){let e=Date.now()-l,t=e<150;return t||console.warn(`was not recently active`,e),t}if(process.platform===`win32`)for(let t of Object.values({KEYDOWN:256,LBUTTONUP:514,MBUTTONUP:520,RBUTTONUP:517,XBUTTONUP:524,TOUCH:576}))e.hookWindowMessage(t,u);o.on(`input-event`,(e,t)=>{n.has(t.type)&&u()}),o.on(`will-navigate`,(e,t)=>{let n=e.url||t;if(console.log(`will-navigate`,n),!n)return;let r=new URL(n);if(!s(r)){if(!d()){console.log(`blocked navigation`,n),e.preventDefault();return}c(r)&&(console.log(`external navigation`,n),e.preventDefault(),a.openExternal(n))}}),o.session.on(`will-download`,(e,t)=>{let n=t.getURL();/^blob:/.test(n)||e.preventDefault()}),o.setWindowOpenHandler(e=>{console.log(`window-open`,e.url);let{url:t}=e,n=new URL(t);if(!s(n))return d()?(c(n)&&a.openExternal(e.url),{action:`deny`}):(console.log(`blocked navigation`,t),{action:`deny`})})}t.exports=i}),i=n((e,t)=>{var n=new Set([`Mozilla`,`AppleWebKit`,`Chrome`,`Safari`,`Gecko`,`Firefox`,`OPR`,`Edg`,`Version`,`Mobile`,`curl`,`PostmanRuntime`]);async function r(e,t,r){let{webContents:i}=e,a=await i.executeJavaScript(`navigator.userAgent`);a=a.match(/[^\/]+\/[^\s]+( \([^\)]+\))?/g).map(e=>e.trim()).filter(e=>{let[t]=e.split(`/`,1);return n.has(t)}).join(` `),i.setUserAgent(a),t.app.userAgentFallback=a}t.exports=r}),a=r(),o=i();function s(e,t,n={}){a(e,t,n.linkHandler),o(e,t,n.userAgent)}t.exports={setupRevUtils:s,setupLinkHandler:a,setUserAgent:o}}))(),1);function yn(){return{registerWindow:e=>{(0,vn.setupRevUtils)(e,global.OVERLAYED.electron)}}}function bn(e){let t=Qe(global.OVERLAYED.APPLICATION_ID),n=nt(t,{recursive:!0}),r=Xe(),i=nt(r,{recursive:!0});I.getInstance().info(`Logs path: `,t),I.getInstance().info(`Overlayed logs path: `,r);let a=new _;return[...n,...i].forEach(([e,t])=>{I.getInstance().info(`Zipping: `,t);let n=ae(t),r=m(t);a.file(r,n,{compression:`DEFLATE`})}),Object.entries(e?.additionalFiles??{}).forEach(([e,t])=>{I.getInstance().info(`Zipping extra file: `,e),a.file(e,t,{compression:`DEFLATE`})}),a}async function xn(e,t){let n={...e,version:`${global.OVERLAYED.APP_VERSION}@${global.OVERLAYED.APP_BUILD_CHANNEL}`,log_zip:`data:application/zip;base64,${t}`};await fetch(`https://api.stats.cc/v1/overlay/contact`,{method:`POST`,body:JSON.stringify(n),redirect:`follow`,headers:{"Content-Type":`application/json`}})}function Sn(e){let t=new et(`app.log`);return t.init(global.OVERLAYED.APPLICATION_ID,e.debug),{scope:e=>t.scope(e),info:e=>t.info(e),warn:e=>t.warn(e),error:e=>t.error(e),debug:e=>t.debug(e),submitBugReport:async(e,t)=>{G.getInstance().track(`bug_report_submitted`,{version:e.version,category:e.category});let n=await bn(t).generateAsync({type:`base64`});await xn(e,n)}}}const Cn=1e3;function wn(e,t,r,i,a){let o=L.getInstance();function s(e,t){let n=r.get(t);if(!n)r.set(t,[e]);else{if(n.length>=Cn){P.getInstance().warn(`Event buffer full, removing oldest event`,`EVENT_BUFFER_FULL`,{summary:`Event buffer overflow for module ${t}. Buffer size: ${n.length}, max: ${Cn}`});return}n.push(e)}}function c(r){let i=$t(r);if(i instanceof n.errors){G.getInstance().track(`invalid_game_event`,{}),P.getInstance().warn(`Invalid event`,`INVALID_EVENT`,{summary:i.summary});return}let o=e.modules.find(e=>e.key===i.game);if(!o)return;let c=o.events.event,l=c(r);if(l instanceof n.errors){if(`type`in l.byPath)return;G.getInstance().track(`invalid_game_event`,{game:i.game,type:i.type}),P.getInstance().warn(`Invalid event`,`INVALID_EVENT`,{summary:l.summary});return}if(!a[o.key]){s(l,o.key);return}if(l.type===`unsupported_game_version`){let{content:e}=l;G.getInstance().track(`unsupported_game_version`,{game:l.game,hash:e?.hash,version:e?.version})}let u=J(o.key,l.type),d=J(o.key,`*`),f=t.get(u),p=t.get(d),m=[...Array.from(f??[]),...Array.from(p??[])];m.length!==0&&m.forEach(e=>{e(l)})}return i.on(`flushEvents`,e=>{if(a[e])return;a[e]=!0;let t=r.get(e);t&&(I.getInstance().info(`Flushing ${t.length} events for module ${e}`),t.forEach(e=>c(e)),r.delete(e))}),o.on(`data`,e=>e.forEach(c)),o.on(`error`,e=>{P.getInstance().error(`Pipe server error`,`PIPE_SERVER_ERROR`,{error:e})}),o}let Z=!1,Tn={},Q,En=new M,$;function Dn(e){let{init:t=!0,debug:n=!1,silent:r=!0}=e;if(On(e),I.getInstance().init(e.applicationId,n,r),Z)return Q;function i(){if(Z)return;fn();let t=new Map,n=new Map,r=an(e.modules,t,En),a=on(),o=dn(e.keybinds),s=mn(),c=gn(),l=yn(),u=_n(),d=Sn(e);kn(e),wn(e,t,n,En,Tn),Z=!0,Q={...r,...a,ads:l,keybinds:o,windows:s,input:c,cortex:u,hasAnyActiveProcesses:()=>U.getInstance().hasAnyActiveProcesses,hasAnyActiveGames:()=>K.getInstance().isInGame,init:i,log:d,initialized:Z}}return t?(i(),Q):new Proxy({init:i},{get:(e,t)=>{if(t!==`init`&&!Z)throw Error(`overlayed was called before initialized: ${t}`);return t===`init`?e[t]:Q[t]}})}global.OVERLAYED=new Proxy({},{get:()=>{throw Error(`function overlayed was not called`)}});function On(e){global.OVERLAYED={APPLICATION_ID:wt(e.applicationId),APP_BUILD_CHANNEL:e.channel??`alpha`,APP_VERSION:e.version??`0.0.0`,PACKAGE_VERSION:`0.24.4`,FRONTEND_VERSION:`0.0.0`,sessionId:tn(),electron:e.electron}}function kn(e){let t=e.universal?[`*`]:e.modules.map(e=>e.key);K.getInstance().setSubscribedGames(t),Zt.getInstance().init(),K.getInstance().init(),U.getInstance().init(),H.getInstance().init();async function n(){let e=Tt(global.OVERLAYED.APPLICATION_ID).then(e=>e.data),t=en();I.getInstance().log(`userId`,t);let n={...await e,userId:t};return I.getInstance().log(`appInfo`,n),n}let r;global.OVERLAYED.electron.ipcMain.handle(`getAppInfo`,async()=>(r??=n(),r)),G.getInstance().track(`start`,{});try{$&&clearInterval($),$=setInterval(()=>{try{nn()}catch{}},3e4),$.unref()}catch(e){I.getInstance().log(`failed to start sessionLastUsed interval`,e)}pe.on(`quit`,()=>{G.getInstance().track(`electron_quit`,{}),An()}),process.on(`exit`,()=>{G.getInstance().track(`exit`,{}),An()})}async function An(){try{nn()}catch{}try{$&&clearInterval($),$=void 0}catch{}await G.getInstance().flush(),H.getInstance().destroy(),K.getInstance().destroy(),Zt.getInstance().destroy(),U.getInstance().destroy(),W.getInstance().getInterface(`OGG_SIEGE`).destroy(),L.getInstance().destroy(),P.getInstance().destroy()}function jn(e,t){return e+t}export{ht as RenderInterface,gt as VirtualKey,jn as add,at as defineConfig,Dn as overlayed,zt as setFetchLatestTokenCallback,bt as setUpdaterTokenResolver};
|
package/dist/siege.d.ts
CHANGED
|
@@ -104,24 +104,24 @@ declare const SiegeTimeOfDay: Brander<SiegeTimeOfDay>;
|
|
|
104
104
|
//#endregion
|
|
105
105
|
//#region src/consts.d.ts
|
|
106
106
|
declare const SIEGE_BOT_ID = "00000000-0000-0000-0000-000000000000";
|
|
107
|
-
declare const SIEGE_GAME_MODE_PHASES: readonly ["intro", "planning", "prep", "action", "results", "invalid"];
|
|
108
|
-
|
|
109
|
-
|
|
107
|
+
declare const SIEGE_GAME_MODE_PHASES: readonly ["intro", "planning", "prep", "action", "results", "invalid", "first"];
|
|
108
|
+
type SiegeGameModePhase = (typeof SIEGE_GAME_MODE_PHASES)[number] | (string & {});
|
|
109
|
+
declare const SiegeGameModePhaseSchema: arktype_internal_methods_string_ts0.StringType<SiegeGameModePhase, {}>;
|
|
110
110
|
declare const SIEGE_TEAMS: readonly [0, 1];
|
|
111
111
|
declare const SiegeTeamSchema: arktype_internal_methods_number_ts0.NumberType<0 | 1, {}>;
|
|
112
112
|
type SiegeTeam = typeof SiegeTeamSchema.infer;
|
|
113
113
|
declare const SIEGE_SIDES: readonly ["attacker", "defender", "both", "invalid"];
|
|
114
|
-
|
|
115
|
-
|
|
114
|
+
type SiegeSide = (typeof SIEGE_SIDES)[number] | (string & {});
|
|
115
|
+
declare const SiegeSideSchema: arktype_internal_methods_string_ts0.StringType<SiegeSide, {}>;
|
|
116
116
|
declare const SIEGE_PLAYER_LIFE_STATES: readonly ["normal", "overhealed", "low_health", "downed", "dead", "respawning"];
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
declare const SIEGE_DAMAGE_TYPES: readonly ["bullet", "melee", "explosive", "falling", "regeneration", "unknown", "debris", "projectile", "downed", "gas", "thermal_explosion", "melee_gadget", "barbed_wire", "electric", "reinforcement", "frag", "paralyzed", "emp", "break", "cleanup", "interrogation", "melee-finisher", "toxic", "toxic-explosion", "pneumatic", "body-contact", "contact-explosion", "flash", "parasite-spike", "laser", "concussion", "blowtorch", "taser-shield", "reverse-friendly-fire", "self-destroyed", "area-control", "fire", "breach-kick", "break-wall", "blade-mine", "invalid"];
|
|
120
|
-
|
|
121
|
-
|
|
117
|
+
type SiegePlayerLifeState = (typeof SIEGE_PLAYER_LIFE_STATES)[number] | (string & {});
|
|
118
|
+
declare const SiegePlayerLifeStateSchema: arktype_internal_methods_string_ts0.StringType<SiegePlayerLifeState, {}>;
|
|
119
|
+
declare const SIEGE_DAMAGE_TYPES: readonly ["bullet", "melee", "explosive", "falling", "regeneration", "unknown", "debris", "projectile", "downed", "gas", "thermal_explosion", "melee_gadget", "barbed_wire", "electric", "reinforcement", "frag", "paralyzed", "emp", "break", "cleanup", "interrogation", "melee-finisher", "toxic", "toxic-explosion", "pneumatic", "body-contact", "contact-explosion", "flash", "parasite-spike", "laser", "concussion", "blowtorch", "taser-shield", "reverse-friendly-fire", "self-destroyed", "area-control", "fire", "breach-kick", "break-wall", "blade-mine", "melee-pushback", "supressive-fire", "gas-pipe-fire", "invalid"];
|
|
120
|
+
type SiegeDamageType = (typeof SIEGE_DAMAGE_TYPES)[number] | (string & {});
|
|
121
|
+
declare const SiegeDamageTypeSchema: arktype_internal_methods_string_ts0.StringType<SiegeDamageType, {}>;
|
|
122
122
|
declare const SIEGE_DAMAGE_TEAM_TYPES: readonly ["unknown", "enemy", "friendly", "invalid"];
|
|
123
|
-
|
|
124
|
-
|
|
123
|
+
type SiegeDamageTeamType = (typeof SIEGE_DAMAGE_TEAM_TYPES)[number] | (string & {});
|
|
124
|
+
declare const SiegeDamageTeamTypeSchema: arktype_internal_methods_string_ts0.StringType<SiegeDamageTeamType, {}>;
|
|
125
125
|
declare const SIEGE_MATCH_TYPES_TO_ID: Readonly<{
|
|
126
126
|
readonly quickPlay: SiegeMatchType;
|
|
127
127
|
readonly versusAi: SiegeMatchType;
|
|
@@ -685,11 +685,11 @@ declare function module(): {
|
|
|
685
685
|
segment_size: number;
|
|
686
686
|
segment_index: number;
|
|
687
687
|
team_0: {
|
|
688
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
688
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
689
689
|
state: SiegeRoundState;
|
|
690
690
|
};
|
|
691
691
|
team_1: {
|
|
692
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
692
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
693
693
|
state: SiegeRoundState;
|
|
694
694
|
};
|
|
695
695
|
}[];
|
|
@@ -722,7 +722,7 @@ declare function module(): {
|
|
|
722
722
|
content: {
|
|
723
723
|
index: number;
|
|
724
724
|
team: 0 | 1;
|
|
725
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
725
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
726
726
|
operator_name: {
|
|
727
727
|
id: SiegeOperatorNameId;
|
|
728
728
|
value: string;
|
|
@@ -739,11 +739,11 @@ declare function module(): {
|
|
|
739
739
|
segment_size: number;
|
|
740
740
|
segment_index: number;
|
|
741
741
|
team_0: {
|
|
742
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
742
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
743
743
|
state: SiegeRoundState;
|
|
744
744
|
};
|
|
745
745
|
team_1: {
|
|
746
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
746
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
747
747
|
state: SiegeRoundState;
|
|
748
748
|
};
|
|
749
749
|
};
|
|
@@ -754,15 +754,15 @@ declare function module(): {
|
|
|
754
754
|
remaining_health: number;
|
|
755
755
|
pre_damage_health: number;
|
|
756
756
|
max_health: number;
|
|
757
|
-
damage_type: "unknown" | "invalid" | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine";
|
|
758
|
-
damage_team_type: "unknown" | "invalid" | "enemy" | "friendly";
|
|
757
|
+
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
758
|
+
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
759
759
|
damage_item_id: SiegeItemObjectId | null;
|
|
760
760
|
damage_time: number;
|
|
761
761
|
}[];
|
|
762
762
|
players: {
|
|
763
763
|
player_id: SiegePlayerId;
|
|
764
764
|
final_health: number;
|
|
765
|
-
final_life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
765
|
+
final_life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
766
766
|
operator_name: {
|
|
767
767
|
id: SiegeOperatorNameId;
|
|
768
768
|
value: string;
|
|
@@ -774,7 +774,7 @@ declare function module(): {
|
|
|
774
774
|
type: "phase_changed";
|
|
775
775
|
creation_time: number;
|
|
776
776
|
content: {
|
|
777
|
-
phase: "invalid" | "intro" | "planning" | "prep" | "action" | "results";
|
|
777
|
+
phase: "invalid" | (string & {}) | "intro" | "planning" | "prep" | "action" | "results" | "first";
|
|
778
778
|
};
|
|
779
779
|
} | ((In: {
|
|
780
780
|
game: "siege";
|
|
@@ -788,7 +788,7 @@ declare function module(): {
|
|
|
788
788
|
is_squad_member: boolean;
|
|
789
789
|
is_local_player: boolean;
|
|
790
790
|
username: string;
|
|
791
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
791
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
792
792
|
team: 0 | 1;
|
|
793
793
|
is_privacy_username: boolean;
|
|
794
794
|
has_avatar_hidden: boolean;
|
|
@@ -800,12 +800,12 @@ declare function module(): {
|
|
|
800
800
|
assists: number;
|
|
801
801
|
score: number;
|
|
802
802
|
};
|
|
803
|
-
life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
803
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
804
804
|
ping: number;
|
|
805
805
|
};
|
|
806
806
|
}) => arktype2.Out<{
|
|
807
807
|
content: {
|
|
808
|
-
starting_side: "attacker" | "defender" | "both" | "invalid";
|
|
808
|
+
starting_side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
809
809
|
player_id: SiegePlayerId;
|
|
810
810
|
profile_id: SiegeProfileId;
|
|
811
811
|
is_bot: boolean;
|
|
@@ -813,7 +813,7 @@ declare function module(): {
|
|
|
813
813
|
is_squad_member: boolean;
|
|
814
814
|
is_local_player: boolean;
|
|
815
815
|
username: string;
|
|
816
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
816
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
817
817
|
team: 0 | 1;
|
|
818
818
|
is_privacy_username: boolean;
|
|
819
819
|
has_avatar_hidden: boolean;
|
|
@@ -825,7 +825,7 @@ declare function module(): {
|
|
|
825
825
|
assists: number;
|
|
826
826
|
score: number;
|
|
827
827
|
};
|
|
828
|
-
life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
828
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
829
829
|
ping: number;
|
|
830
830
|
};
|
|
831
831
|
game: "siege";
|
|
@@ -863,7 +863,7 @@ declare function module(): {
|
|
|
863
863
|
creation_time: number;
|
|
864
864
|
content: {
|
|
865
865
|
player_id: SiegePlayerId;
|
|
866
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
866
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
867
867
|
};
|
|
868
868
|
} | {
|
|
869
869
|
game: "siege";
|
|
@@ -921,7 +921,7 @@ declare function module(): {
|
|
|
921
921
|
creation_time: number;
|
|
922
922
|
content: {
|
|
923
923
|
player_id: SiegePlayerId;
|
|
924
|
-
life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
924
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
925
925
|
};
|
|
926
926
|
} | {
|
|
927
927
|
game: "siege";
|
|
@@ -1039,11 +1039,11 @@ declare function module(): {
|
|
|
1039
1039
|
segment_size: number;
|
|
1040
1040
|
segment_index: number;
|
|
1041
1041
|
team_0: {
|
|
1042
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
1042
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1043
1043
|
state: SiegeRoundState;
|
|
1044
1044
|
};
|
|
1045
1045
|
team_1: {
|
|
1046
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
1046
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1047
1047
|
state: SiegeRoundState;
|
|
1048
1048
|
};
|
|
1049
1049
|
}[];
|
|
@@ -1079,7 +1079,7 @@ declare function module(): {
|
|
|
1079
1079
|
content: {
|
|
1080
1080
|
index: number;
|
|
1081
1081
|
team: 0 | 1;
|
|
1082
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
1082
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1083
1083
|
operator_name: {
|
|
1084
1084
|
id: SiegeOperatorNameId;
|
|
1085
1085
|
value: string;
|
|
@@ -1097,11 +1097,11 @@ declare function module(): {
|
|
|
1097
1097
|
segment_size: number;
|
|
1098
1098
|
segment_index: number;
|
|
1099
1099
|
team_0: {
|
|
1100
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
1100
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1101
1101
|
state: SiegeRoundState;
|
|
1102
1102
|
};
|
|
1103
1103
|
team_1: {
|
|
1104
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
1104
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1105
1105
|
state: SiegeRoundState;
|
|
1106
1106
|
};
|
|
1107
1107
|
};
|
|
@@ -1112,15 +1112,15 @@ declare function module(): {
|
|
|
1112
1112
|
remaining_health: number;
|
|
1113
1113
|
pre_damage_health: number;
|
|
1114
1114
|
max_health: number;
|
|
1115
|
-
damage_type: "unknown" | "invalid" | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine";
|
|
1116
|
-
damage_team_type: "unknown" | "invalid" | "enemy" | "friendly";
|
|
1115
|
+
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
1116
|
+
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
1117
1117
|
damage_item_id: SiegeItemObjectId | null;
|
|
1118
1118
|
damage_time: number;
|
|
1119
1119
|
}[];
|
|
1120
1120
|
players: {
|
|
1121
1121
|
player_id: SiegePlayerId;
|
|
1122
1122
|
final_health: number;
|
|
1123
|
-
final_life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1123
|
+
final_life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1124
1124
|
operator_name: {
|
|
1125
1125
|
id: SiegeOperatorNameId;
|
|
1126
1126
|
value: string;
|
|
@@ -1133,7 +1133,7 @@ declare function module(): {
|
|
|
1133
1133
|
type: "phase_changed";
|
|
1134
1134
|
creation_time: number;
|
|
1135
1135
|
content: {
|
|
1136
|
-
phase: "invalid" | "intro" | "planning" | "prep" | "action" | "results";
|
|
1136
|
+
phase: "invalid" | (string & {}) | "intro" | "planning" | "prep" | "action" | "results" | "first";
|
|
1137
1137
|
};
|
|
1138
1138
|
};
|
|
1139
1139
|
player_joined: (In: {
|
|
@@ -1148,7 +1148,7 @@ declare function module(): {
|
|
|
1148
1148
|
is_squad_member: boolean;
|
|
1149
1149
|
is_local_player: boolean;
|
|
1150
1150
|
username: string;
|
|
1151
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
1151
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1152
1152
|
team: 0 | 1;
|
|
1153
1153
|
is_privacy_username: boolean;
|
|
1154
1154
|
has_avatar_hidden: boolean;
|
|
@@ -1160,12 +1160,12 @@ declare function module(): {
|
|
|
1160
1160
|
assists: number;
|
|
1161
1161
|
score: number;
|
|
1162
1162
|
};
|
|
1163
|
-
life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1163
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1164
1164
|
ping: number;
|
|
1165
1165
|
};
|
|
1166
1166
|
}) => arktype2.Out<{
|
|
1167
1167
|
content: {
|
|
1168
|
-
starting_side: "attacker" | "defender" | "both" | "invalid";
|
|
1168
|
+
starting_side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1169
1169
|
player_id: SiegePlayerId;
|
|
1170
1170
|
profile_id: SiegeProfileId;
|
|
1171
1171
|
is_bot: boolean;
|
|
@@ -1173,7 +1173,7 @@ declare function module(): {
|
|
|
1173
1173
|
is_squad_member: boolean;
|
|
1174
1174
|
is_local_player: boolean;
|
|
1175
1175
|
username: string;
|
|
1176
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
1176
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1177
1177
|
team: 0 | 1;
|
|
1178
1178
|
is_privacy_username: boolean;
|
|
1179
1179
|
has_avatar_hidden: boolean;
|
|
@@ -1185,7 +1185,7 @@ declare function module(): {
|
|
|
1185
1185
|
assists: number;
|
|
1186
1186
|
score: number;
|
|
1187
1187
|
};
|
|
1188
|
-
life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1188
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1189
1189
|
ping: number;
|
|
1190
1190
|
};
|
|
1191
1191
|
game: "siege";
|
|
@@ -1227,7 +1227,7 @@ declare function module(): {
|
|
|
1227
1227
|
creation_time: number;
|
|
1228
1228
|
content: {
|
|
1229
1229
|
player_id: SiegePlayerId;
|
|
1230
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
1230
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1231
1231
|
};
|
|
1232
1232
|
};
|
|
1233
1233
|
player_stats_changed: {
|
|
@@ -1292,7 +1292,7 @@ declare function module(): {
|
|
|
1292
1292
|
creation_time: number;
|
|
1293
1293
|
content: {
|
|
1294
1294
|
player_id: SiegePlayerId;
|
|
1295
|
-
life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1295
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1296
1296
|
};
|
|
1297
1297
|
};
|
|
1298
1298
|
player_died: {
|
|
@@ -1384,8 +1384,8 @@ declare const PlayerDamageDataSchema: arktype_internal_methods_object_ts0.Object
|
|
|
1384
1384
|
remaining_health: number;
|
|
1385
1385
|
pre_damage_health: number;
|
|
1386
1386
|
max_health: number;
|
|
1387
|
-
damage_type: "unknown" | "invalid" | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine";
|
|
1388
|
-
damage_team_type: "unknown" | "invalid" | "enemy" | "friendly";
|
|
1387
|
+
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
1388
|
+
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
1389
1389
|
damage_item_id: SiegeItemObjectId | null;
|
|
1390
1390
|
damage_time: number;
|
|
1391
1391
|
}, {}>;
|
|
@@ -1396,11 +1396,11 @@ declare const MatchRoundDataSchema: arktype_internal_methods_object_ts0.ObjectTy
|
|
|
1396
1396
|
segment_size: number;
|
|
1397
1397
|
segment_index: number;
|
|
1398
1398
|
team_0: {
|
|
1399
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
1399
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1400
1400
|
state: SiegeRoundState;
|
|
1401
1401
|
};
|
|
1402
1402
|
team_1: {
|
|
1403
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
1403
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1404
1404
|
state: SiegeRoundState;
|
|
1405
1405
|
};
|
|
1406
1406
|
}, {}>;
|
|
@@ -1420,7 +1420,7 @@ type MapData = typeof MapDataSchema.infer;
|
|
|
1420
1420
|
declare const RoundEndPlayerDataSchema: arktype_internal_methods_object_ts0.ObjectType<{
|
|
1421
1421
|
player_id: SiegePlayerId;
|
|
1422
1422
|
final_health: number;
|
|
1423
|
-
final_life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1423
|
+
final_life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1424
1424
|
operator_name: {
|
|
1425
1425
|
id: SiegeOperatorNameId;
|
|
1426
1426
|
value: string;
|
|
@@ -1434,11 +1434,11 @@ declare const RoundEndDataSchema: arktype_internal_methods_object_ts0.ObjectType
|
|
|
1434
1434
|
segment_size: number;
|
|
1435
1435
|
segment_index: number;
|
|
1436
1436
|
team_0: {
|
|
1437
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
1437
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1438
1438
|
state: SiegeRoundState;
|
|
1439
1439
|
};
|
|
1440
1440
|
team_1: {
|
|
1441
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
1441
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1442
1442
|
state: SiegeRoundState;
|
|
1443
1443
|
};
|
|
1444
1444
|
};
|
|
@@ -1449,15 +1449,15 @@ declare const RoundEndDataSchema: arktype_internal_methods_object_ts0.ObjectType
|
|
|
1449
1449
|
remaining_health: number;
|
|
1450
1450
|
pre_damage_health: number;
|
|
1451
1451
|
max_health: number;
|
|
1452
|
-
damage_type: "unknown" | "invalid" | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine";
|
|
1453
|
-
damage_team_type: "unknown" | "invalid" | "enemy" | "friendly";
|
|
1452
|
+
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
1453
|
+
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
1454
1454
|
damage_item_id: SiegeItemObjectId | null;
|
|
1455
1455
|
damage_time: number;
|
|
1456
1456
|
}[];
|
|
1457
1457
|
players: {
|
|
1458
1458
|
player_id: SiegePlayerId;
|
|
1459
1459
|
final_health: number;
|
|
1460
|
-
final_life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1460
|
+
final_life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1461
1461
|
operator_name: {
|
|
1462
1462
|
id: SiegeOperatorNameId;
|
|
1463
1463
|
value: string;
|
|
@@ -1509,11 +1509,11 @@ declare const MatchStarted: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1509
1509
|
segment_size: number;
|
|
1510
1510
|
segment_index: number;
|
|
1511
1511
|
team_0: {
|
|
1512
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
1512
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1513
1513
|
state: SiegeRoundState;
|
|
1514
1514
|
};
|
|
1515
1515
|
team_1: {
|
|
1516
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
1516
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1517
1517
|
state: SiegeRoundState;
|
|
1518
1518
|
};
|
|
1519
1519
|
}[];
|
|
@@ -1610,7 +1610,7 @@ declare const OperatorBanned: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1610
1610
|
content: {
|
|
1611
1611
|
index: number;
|
|
1612
1612
|
team: 0 | 1;
|
|
1613
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
1613
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1614
1614
|
operator_name: {
|
|
1615
1615
|
id: SiegeOperatorNameId;
|
|
1616
1616
|
value: string;
|
|
@@ -1631,11 +1631,11 @@ declare const RoundEnded: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1631
1631
|
segment_size: number;
|
|
1632
1632
|
segment_index: number;
|
|
1633
1633
|
team_0: {
|
|
1634
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
1634
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1635
1635
|
state: SiegeRoundState;
|
|
1636
1636
|
};
|
|
1637
1637
|
team_1: {
|
|
1638
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
1638
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1639
1639
|
state: SiegeRoundState;
|
|
1640
1640
|
};
|
|
1641
1641
|
};
|
|
@@ -1646,15 +1646,15 @@ declare const RoundEnded: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1646
1646
|
remaining_health: number;
|
|
1647
1647
|
pre_damage_health: number;
|
|
1648
1648
|
max_health: number;
|
|
1649
|
-
damage_type: "unknown" | "invalid" | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine";
|
|
1650
|
-
damage_team_type: "unknown" | "invalid" | "enemy" | "friendly";
|
|
1649
|
+
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
1650
|
+
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
1651
1651
|
damage_item_id: SiegeItemObjectId | null;
|
|
1652
1652
|
damage_time: number;
|
|
1653
1653
|
}[];
|
|
1654
1654
|
players: {
|
|
1655
1655
|
player_id: SiegePlayerId;
|
|
1656
1656
|
final_health: number;
|
|
1657
|
-
final_life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1657
|
+
final_life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1658
1658
|
operator_name: {
|
|
1659
1659
|
id: SiegeOperatorNameId;
|
|
1660
1660
|
value: string;
|
|
@@ -1670,7 +1670,7 @@ declare const PhaseChanged: arktype_internal_methods_object_ts0.ObjectType<{
|
|
|
1670
1670
|
type: "phase_changed";
|
|
1671
1671
|
creation_time: number;
|
|
1672
1672
|
content: {
|
|
1673
|
-
phase: "invalid" | "intro" | "planning" | "prep" | "action" | "results";
|
|
1673
|
+
phase: "invalid" | (string & {}) | "intro" | "planning" | "prep" | "action" | "results" | "first";
|
|
1674
1674
|
};
|
|
1675
1675
|
}, {}>;
|
|
1676
1676
|
type PhaseChangedEvent = typeof PhaseChanged.infer;
|
|
@@ -1688,7 +1688,7 @@ declare const PlayerJoined: arktype_internal_methods_object_ts0.ObjectType<(In:
|
|
|
1688
1688
|
is_squad_member: boolean;
|
|
1689
1689
|
is_local_player: boolean;
|
|
1690
1690
|
username: string;
|
|
1691
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
1691
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1692
1692
|
team: 0 | 1;
|
|
1693
1693
|
is_privacy_username: boolean;
|
|
1694
1694
|
has_avatar_hidden: boolean;
|
|
@@ -1700,12 +1700,12 @@ declare const PlayerJoined: arktype_internal_methods_object_ts0.ObjectType<(In:
|
|
|
1700
1700
|
assists: number;
|
|
1701
1701
|
score: number;
|
|
1702
1702
|
};
|
|
1703
|
-
life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1703
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1704
1704
|
ping: number;
|
|
1705
1705
|
};
|
|
1706
1706
|
}) => arktype2.Out<{
|
|
1707
1707
|
content: {
|
|
1708
|
-
starting_side: "attacker" | "defender" | "both" | "invalid";
|
|
1708
|
+
starting_side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1709
1709
|
player_id: SiegePlayerId;
|
|
1710
1710
|
profile_id: SiegeProfileId;
|
|
1711
1711
|
is_bot: boolean;
|
|
@@ -1713,7 +1713,7 @@ declare const PlayerJoined: arktype_internal_methods_object_ts0.ObjectType<(In:
|
|
|
1713
1713
|
is_squad_member: boolean;
|
|
1714
1714
|
is_local_player: boolean;
|
|
1715
1715
|
username: string;
|
|
1716
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
1716
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1717
1717
|
team: 0 | 1;
|
|
1718
1718
|
is_privacy_username: boolean;
|
|
1719
1719
|
has_avatar_hidden: boolean;
|
|
@@ -1725,7 +1725,7 @@ declare const PlayerJoined: arktype_internal_methods_object_ts0.ObjectType<(In:
|
|
|
1725
1725
|
assists: number;
|
|
1726
1726
|
score: number;
|
|
1727
1727
|
};
|
|
1728
|
-
life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1728
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1729
1729
|
ping: number;
|
|
1730
1730
|
};
|
|
1731
1731
|
game: "siege";
|
|
@@ -1779,7 +1779,7 @@ declare const PlayerSideChanged: arktype_internal_methods_object_ts0.ObjectType<
|
|
|
1779
1779
|
creation_time: number;
|
|
1780
1780
|
content: {
|
|
1781
1781
|
player_id: SiegePlayerId;
|
|
1782
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
1782
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
1783
1783
|
};
|
|
1784
1784
|
}, {}>;
|
|
1785
1785
|
type PlayerSideChangedEvent = typeof PlayerSideChanged.infer;
|
|
@@ -1865,7 +1865,7 @@ declare const PlayerLifeStateChanged: arktype_internal_methods_object_ts0.Object
|
|
|
1865
1865
|
creation_time: number;
|
|
1866
1866
|
content: {
|
|
1867
1867
|
player_id: SiegePlayerId;
|
|
1868
|
-
life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1868
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
1869
1869
|
};
|
|
1870
1870
|
}, {}>;
|
|
1871
1871
|
type PlayerLifeStateChangedEvent = typeof PlayerLifeStateChanged.infer;
|
|
@@ -2001,11 +2001,11 @@ declare const events: arktype2.Module<{
|
|
|
2001
2001
|
segment_size: number;
|
|
2002
2002
|
segment_index: number;
|
|
2003
2003
|
team_0: {
|
|
2004
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
2004
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2005
2005
|
state: SiegeRoundState;
|
|
2006
2006
|
};
|
|
2007
2007
|
team_1: {
|
|
2008
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
2008
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2009
2009
|
state: SiegeRoundState;
|
|
2010
2010
|
};
|
|
2011
2011
|
}[];
|
|
@@ -2038,7 +2038,7 @@ declare const events: arktype2.Module<{
|
|
|
2038
2038
|
content: {
|
|
2039
2039
|
index: number;
|
|
2040
2040
|
team: 0 | 1;
|
|
2041
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
2041
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2042
2042
|
operator_name: {
|
|
2043
2043
|
id: SiegeOperatorNameId;
|
|
2044
2044
|
value: string;
|
|
@@ -2055,11 +2055,11 @@ declare const events: arktype2.Module<{
|
|
|
2055
2055
|
segment_size: number;
|
|
2056
2056
|
segment_index: number;
|
|
2057
2057
|
team_0: {
|
|
2058
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
2058
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2059
2059
|
state: SiegeRoundState;
|
|
2060
2060
|
};
|
|
2061
2061
|
team_1: {
|
|
2062
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
2062
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2063
2063
|
state: SiegeRoundState;
|
|
2064
2064
|
};
|
|
2065
2065
|
};
|
|
@@ -2070,15 +2070,15 @@ declare const events: arktype2.Module<{
|
|
|
2070
2070
|
remaining_health: number;
|
|
2071
2071
|
pre_damage_health: number;
|
|
2072
2072
|
max_health: number;
|
|
2073
|
-
damage_type: "unknown" | "invalid" | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine";
|
|
2074
|
-
damage_team_type: "unknown" | "invalid" | "enemy" | "friendly";
|
|
2073
|
+
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
2074
|
+
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
2075
2075
|
damage_item_id: SiegeItemObjectId | null;
|
|
2076
2076
|
damage_time: number;
|
|
2077
2077
|
}[];
|
|
2078
2078
|
players: {
|
|
2079
2079
|
player_id: SiegePlayerId;
|
|
2080
2080
|
final_health: number;
|
|
2081
|
-
final_life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2081
|
+
final_life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2082
2082
|
operator_name: {
|
|
2083
2083
|
id: SiegeOperatorNameId;
|
|
2084
2084
|
value: string;
|
|
@@ -2090,7 +2090,7 @@ declare const events: arktype2.Module<{
|
|
|
2090
2090
|
type: "phase_changed";
|
|
2091
2091
|
creation_time: number;
|
|
2092
2092
|
content: {
|
|
2093
|
-
phase: "invalid" | "intro" | "planning" | "prep" | "action" | "results";
|
|
2093
|
+
phase: "invalid" | (string & {}) | "intro" | "planning" | "prep" | "action" | "results" | "first";
|
|
2094
2094
|
};
|
|
2095
2095
|
} | ((In: {
|
|
2096
2096
|
game: "siege";
|
|
@@ -2104,7 +2104,7 @@ declare const events: arktype2.Module<{
|
|
|
2104
2104
|
is_squad_member: boolean;
|
|
2105
2105
|
is_local_player: boolean;
|
|
2106
2106
|
username: string;
|
|
2107
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
2107
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2108
2108
|
team: 0 | 1;
|
|
2109
2109
|
is_privacy_username: boolean;
|
|
2110
2110
|
has_avatar_hidden: boolean;
|
|
@@ -2116,12 +2116,12 @@ declare const events: arktype2.Module<{
|
|
|
2116
2116
|
assists: number;
|
|
2117
2117
|
score: number;
|
|
2118
2118
|
};
|
|
2119
|
-
life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2119
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2120
2120
|
ping: number;
|
|
2121
2121
|
};
|
|
2122
2122
|
}) => arktype2.Out<{
|
|
2123
2123
|
content: {
|
|
2124
|
-
starting_side: "attacker" | "defender" | "both" | "invalid";
|
|
2124
|
+
starting_side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2125
2125
|
player_id: SiegePlayerId;
|
|
2126
2126
|
profile_id: SiegeProfileId;
|
|
2127
2127
|
is_bot: boolean;
|
|
@@ -2129,7 +2129,7 @@ declare const events: arktype2.Module<{
|
|
|
2129
2129
|
is_squad_member: boolean;
|
|
2130
2130
|
is_local_player: boolean;
|
|
2131
2131
|
username: string;
|
|
2132
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
2132
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2133
2133
|
team: 0 | 1;
|
|
2134
2134
|
is_privacy_username: boolean;
|
|
2135
2135
|
has_avatar_hidden: boolean;
|
|
@@ -2141,7 +2141,7 @@ declare const events: arktype2.Module<{
|
|
|
2141
2141
|
assists: number;
|
|
2142
2142
|
score: number;
|
|
2143
2143
|
};
|
|
2144
|
-
life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2144
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2145
2145
|
ping: number;
|
|
2146
2146
|
};
|
|
2147
2147
|
game: "siege";
|
|
@@ -2179,7 +2179,7 @@ declare const events: arktype2.Module<{
|
|
|
2179
2179
|
creation_time: number;
|
|
2180
2180
|
content: {
|
|
2181
2181
|
player_id: SiegePlayerId;
|
|
2182
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
2182
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2183
2183
|
};
|
|
2184
2184
|
} | {
|
|
2185
2185
|
game: "siege";
|
|
@@ -2237,7 +2237,7 @@ declare const events: arktype2.Module<{
|
|
|
2237
2237
|
creation_time: number;
|
|
2238
2238
|
content: {
|
|
2239
2239
|
player_id: SiegePlayerId;
|
|
2240
|
-
life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2240
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2241
2241
|
};
|
|
2242
2242
|
} | {
|
|
2243
2243
|
game: "siege";
|
|
@@ -2355,11 +2355,11 @@ declare const events: arktype2.Module<{
|
|
|
2355
2355
|
segment_size: number;
|
|
2356
2356
|
segment_index: number;
|
|
2357
2357
|
team_0: {
|
|
2358
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
2358
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2359
2359
|
state: SiegeRoundState;
|
|
2360
2360
|
};
|
|
2361
2361
|
team_1: {
|
|
2362
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
2362
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2363
2363
|
state: SiegeRoundState;
|
|
2364
2364
|
};
|
|
2365
2365
|
}[];
|
|
@@ -2395,7 +2395,7 @@ declare const events: arktype2.Module<{
|
|
|
2395
2395
|
content: {
|
|
2396
2396
|
index: number;
|
|
2397
2397
|
team: 0 | 1;
|
|
2398
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
2398
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2399
2399
|
operator_name: {
|
|
2400
2400
|
id: SiegeOperatorNameId;
|
|
2401
2401
|
value: string;
|
|
@@ -2413,11 +2413,11 @@ declare const events: arktype2.Module<{
|
|
|
2413
2413
|
segment_size: number;
|
|
2414
2414
|
segment_index: number;
|
|
2415
2415
|
team_0: {
|
|
2416
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
2416
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2417
2417
|
state: SiegeRoundState;
|
|
2418
2418
|
};
|
|
2419
2419
|
team_1: {
|
|
2420
|
-
role: "attacker" | "defender" | "both" | "invalid";
|
|
2420
|
+
role: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2421
2421
|
state: SiegeRoundState;
|
|
2422
2422
|
};
|
|
2423
2423
|
};
|
|
@@ -2428,15 +2428,15 @@ declare const events: arktype2.Module<{
|
|
|
2428
2428
|
remaining_health: number;
|
|
2429
2429
|
pre_damage_health: number;
|
|
2430
2430
|
max_health: number;
|
|
2431
|
-
damage_type: "unknown" | "invalid" | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine";
|
|
2432
|
-
damage_team_type: "unknown" | "invalid" | "enemy" | "friendly";
|
|
2431
|
+
damage_type: "unknown" | "invalid" | (string & {}) | "bullet" | "melee" | "explosive" | "falling" | "regeneration" | "debris" | "projectile" | "downed" | "gas" | "thermal_explosion" | "melee_gadget" | "barbed_wire" | "electric" | "reinforcement" | "frag" | "paralyzed" | "emp" | "break" | "cleanup" | "interrogation" | "melee-finisher" | "toxic" | "toxic-explosion" | "pneumatic" | "body-contact" | "contact-explosion" | "flash" | "parasite-spike" | "laser" | "concussion" | "blowtorch" | "taser-shield" | "reverse-friendly-fire" | "self-destroyed" | "area-control" | "fire" | "breach-kick" | "break-wall" | "blade-mine" | "melee-pushback" | "supressive-fire" | "gas-pipe-fire";
|
|
2432
|
+
damage_team_type: "unknown" | "invalid" | (string & {}) | "enemy" | "friendly";
|
|
2433
2433
|
damage_item_id: SiegeItemObjectId | null;
|
|
2434
2434
|
damage_time: number;
|
|
2435
2435
|
}[];
|
|
2436
2436
|
players: {
|
|
2437
2437
|
player_id: SiegePlayerId;
|
|
2438
2438
|
final_health: number;
|
|
2439
|
-
final_life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2439
|
+
final_life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2440
2440
|
operator_name: {
|
|
2441
2441
|
id: SiegeOperatorNameId;
|
|
2442
2442
|
value: string;
|
|
@@ -2449,7 +2449,7 @@ declare const events: arktype2.Module<{
|
|
|
2449
2449
|
type: "phase_changed";
|
|
2450
2450
|
creation_time: number;
|
|
2451
2451
|
content: {
|
|
2452
|
-
phase: "invalid" | "intro" | "planning" | "prep" | "action" | "results";
|
|
2452
|
+
phase: "invalid" | (string & {}) | "intro" | "planning" | "prep" | "action" | "results" | "first";
|
|
2453
2453
|
};
|
|
2454
2454
|
};
|
|
2455
2455
|
player_joined: (In: {
|
|
@@ -2464,7 +2464,7 @@ declare const events: arktype2.Module<{
|
|
|
2464
2464
|
is_squad_member: boolean;
|
|
2465
2465
|
is_local_player: boolean;
|
|
2466
2466
|
username: string;
|
|
2467
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
2467
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2468
2468
|
team: 0 | 1;
|
|
2469
2469
|
is_privacy_username: boolean;
|
|
2470
2470
|
has_avatar_hidden: boolean;
|
|
@@ -2476,12 +2476,12 @@ declare const events: arktype2.Module<{
|
|
|
2476
2476
|
assists: number;
|
|
2477
2477
|
score: number;
|
|
2478
2478
|
};
|
|
2479
|
-
life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2479
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2480
2480
|
ping: number;
|
|
2481
2481
|
};
|
|
2482
2482
|
}) => arktype2.Out<{
|
|
2483
2483
|
content: {
|
|
2484
|
-
starting_side: "attacker" | "defender" | "both" | "invalid";
|
|
2484
|
+
starting_side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2485
2485
|
player_id: SiegePlayerId;
|
|
2486
2486
|
profile_id: SiegeProfileId;
|
|
2487
2487
|
is_bot: boolean;
|
|
@@ -2489,7 +2489,7 @@ declare const events: arktype2.Module<{
|
|
|
2489
2489
|
is_squad_member: boolean;
|
|
2490
2490
|
is_local_player: boolean;
|
|
2491
2491
|
username: string;
|
|
2492
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
2492
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2493
2493
|
team: 0 | 1;
|
|
2494
2494
|
is_privacy_username: boolean;
|
|
2495
2495
|
has_avatar_hidden: boolean;
|
|
@@ -2501,7 +2501,7 @@ declare const events: arktype2.Module<{
|
|
|
2501
2501
|
assists: number;
|
|
2502
2502
|
score: number;
|
|
2503
2503
|
};
|
|
2504
|
-
life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2504
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2505
2505
|
ping: number;
|
|
2506
2506
|
};
|
|
2507
2507
|
game: "siege";
|
|
@@ -2543,7 +2543,7 @@ declare const events: arktype2.Module<{
|
|
|
2543
2543
|
creation_time: number;
|
|
2544
2544
|
content: {
|
|
2545
2545
|
player_id: SiegePlayerId;
|
|
2546
|
-
side: "attacker" | "defender" | "both" | "invalid";
|
|
2546
|
+
side: "attacker" | "defender" | "both" | "invalid" | (string & {});
|
|
2547
2547
|
};
|
|
2548
2548
|
};
|
|
2549
2549
|
player_stats_changed: {
|
|
@@ -2608,7 +2608,7 @@ declare const events: arktype2.Module<{
|
|
|
2608
2608
|
creation_time: number;
|
|
2609
2609
|
content: {
|
|
2610
2610
|
player_id: SiegePlayerId;
|
|
2611
|
-
life_state: "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2611
|
+
life_state: (string & {}) | "downed" | "normal" | "overhealed" | "low_health" | "dead" | "respawning";
|
|
2612
2612
|
};
|
|
2613
2613
|
};
|
|
2614
2614
|
player_died: {
|
package/dist/siege.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Type as e,scope as t,type as n}from"arktype";function r(e){return e}function i(e){return e}function a(e){return e?t=>(e(t),t):i}const o=a(),s=a(),c=a(),l=a(),u=a(),d=a(),f=a(),ee=a(),p=a(),m=a(),h=a(),g=`00000000-0000-0000-0000-000000000000`,_=[`intro`,`planning`,`prep`,`action`,`results`,`invalid`],v=n(`===`,..._),y=[0,1],b=n(`===`,...y),x=[`attacker`,`defender`,`both`,`invalid`],S=n(`===`,...x),C=[`normal`,`overhealed`,`low_health`,`downed`,`dead`,`respawning`],w=n(`===`,...C),T=`bullet.melee.explosive.falling.regeneration.unknown.debris.projectile.downed.gas.thermal_explosion.melee_gadget.barbed_wire.electric.reinforcement.frag.paralyzed.emp.break.cleanup.interrogation.melee-finisher.toxic.toxic-explosion.pneumatic.body-contact.contact-explosion.flash.parasite-spike.laser.concussion.blowtorch.taser-shield.reverse-friendly-fire.self-destroyed.area-control.fire.breach-kick.break-wall.blade-mine.invalid`.split(`.`),E=n(`===`,...T),D=[`unknown`,`enemy`,`friendly`,`invalid`],O=n(`===`,...D),k=Object.freeze({quickPlay:p(`QUICK PLAY`),versusAi:p(`VERSUS AI`),standard:p(`STANDARD`),ranked:p(`RANKED`)}),te=Object.freeze({[k.quickPlay]:`Quick Play`,[k.versusAi]:`Versus AI`,[k.standard]:`Standard`,[k.ranked]:`Ranked`}),A=Object.freeze({teamDeathmatch:m(`TEAM DEATHMATCH`),goldenGun:m(`GOLDEN GUN`),freeForAll:m(`FREE FOR ALL`),weaponRoulette:m(`WEAPON ROULETTE`),dualFront:m(`DUAL FRONT`),bomb:m(`BOMB`),versusAi:m(`VERSUS AI`),hostage:m(`HOSTAGE`),threeVsThreeSecureArea:m(`3 VS 3 SECURE AREA`),targetDrill:m(`TARGET DRILL`),rengoku:m(`RENGOKU`)}),j=Object.freeze({[A.teamDeathmatch]:`Team Deathmatch`,[A.goldenGun]:`Golden Gun`,[A.freeForAll]:`Free For All`,[A.weaponRoulette]:`Weapon Roulette`,[A.dualFront]:`Dual Front`,[A.bomb]:`Bomb`,[A.versusAi]:`Versus AI`,[A.hostage]:`Hostage`,[A.threeVsThreeSecureArea]:`3v3 Secure Area`,[A.targetDrill]:`Target Drill`,[A.rengoku]:`Rengoku`}),M=Object.freeze({ranked:o(205379),quickMatch:o(138115),customGame:o(62008),versusAi:o(397300),standard:o(393930),arcade:o(320109),siegeCup:o(414089),dualFront:o(420611),showdown:o(305544),trainingGrounds:o(-1),unranked:o(310813),deathmatch:o(420611),rengoku:o(359430),muteProtocol:o(368421),fieldTraining:o(423927)}),N=Object.freeze({[M.quickMatch]:`Quick Match`,[M.ranked]:`Ranked`,[M.customGame]:`Custom Game`,[M.versusAi]:`Versus AI`,[M.standard]:`Standard`,[M.arcade]:`Arcade`,[M.siegeCup]:`Siege Cup`,[M.dualFront]:`Dual Front`,[M.showdown]:`Showdown`,[M.trainingGrounds]:`Training Grounds`,[M.unranked]:`Unranked`,[M.deathmatch]:`Deathmatch`,[M.rengoku]:`Rengoku`,[M.muteProtocol]:`M.U.T.E Protocol`,[M.fieldTraining]:`Field Training`}),P=Object.freeze({glaz:s(62242),blitz:s(62243),buck:s(62244),sledge:s(62245),ash:s(62246),thermite:s(62247),castle:s(62248),rook:s(62249),pulse:s(62250),doc:s(62251),mute:s(62252),smoke:s(62253),recruit:s(62555),thatcher:s(65143),twitch:s(65156),montagne:s(65159),bandit:s(65165),fuze:s(65168),kapkan:s(65171),tachanka:s(65174),jager:s(113049),iq:s(113052),frost:s(186159),blackbeard:s(187249),valkyrie:s(187252),caveira:s(207671),capitao:s(207674),echo:s(209180),hibana:s(209183),mira:s(222172),jackal:s(222182),ying:s(239334),lesion:s(239337),ela:s(254595),zofia:s(254606),dokkaebi:s(273652),vigil:s(273663),finka:s(281457),lion:s(281463),alibi:s(282399),maestro:s(285888),maverick:s(288504),clash:s(288526),nomad:s(293435),kaid:s(293436),gridlock:s(298589),mozzie:s(298616),nokk:s(299657),warden:s(299668),goyo:s(304196),amaru:s(308469),kali:s(310757),wamai:s(310768),oryx:s(317965),iana:s(317976),melusi:s(320062),ace:s(320073),zero:s(328927),aruni:s(328940),flores:s(334086),thunderbird:s(336466),osa:s(344493),thorn:s(349405),azami:s(354314),sens:s(357386),grim:s(365404),solis:s(376836),brava:s(382419),fenrir:s(386388),ram:s(392904),tubarao:s(395594),deimos:s(400504),striker:s(404278),sentry:s(404290),skopos:s(408405),rauora:s(421052),denari:s(2437779699)}),ne=Object.freeze({[P.glaz]:`glaz`,[P.blitz]:`blitz`,[P.buck]:`buck`,[P.sledge]:`sledge`,[P.ash]:`ash`,[P.thermite]:`thermite`,[P.castle]:`castle`,[P.rook]:`rook`,[P.pulse]:`pulse`,[P.doc]:`doc`,[P.mute]:`mute`,[P.smoke]:`smoke`,[P.recruit]:`recruit`,[P.thatcher]:`thatcher`,[P.twitch]:`twitch`,[P.montagne]:`montagne`,[P.bandit]:`bandit`,[P.fuze]:`fuze`,[P.kapkan]:`kapkan`,[P.tachanka]:`tachanka`,[P.jager]:`jager`,[P.iq]:`iq`,[P.frost]:`frost`,[P.blackbeard]:`blackbeard`,[P.valkyrie]:`valkyrie`,[P.caveira]:`caveira`,[P.capitao]:`capitao`,[P.echo]:`echo`,[P.hibana]:`hibana`,[P.mira]:`mira`,[P.jackal]:`jackal`,[P.ying]:`ying`,[P.lesion]:`lesion`,[P.ela]:`ela`,[P.zofia]:`zofia`,[P.dokkaebi]:`dokkaebi`,[P.vigil]:`vigil`,[P.finka]:`finka`,[P.lion]:`lion`,[P.alibi]:`alibi`,[P.maestro]:`maestro`,[P.maverick]:`maverick`,[P.clash]:`clash`,[P.nomad]:`nomad`,[P.kaid]:`kaid`,[P.gridlock]:`gridlock`,[P.mozzie]:`mozzie`,[P.nokk]:`nokk`,[P.warden]:`warden`,[P.goyo]:`goyo`,[P.amaru]:`amaru`,[P.kali]:`kali`,[P.wamai]:`wamai`,[P.oryx]:`oryx`,[P.iana]:`iana`,[P.melusi]:`melusi`,[P.ace]:`ace`,[P.zero]:`zero`,[P.aruni]:`aruni`,[P.flores]:`flores`,[P.thunderbird]:`thunderbird`,[P.osa]:`osa`,[P.thorn]:`thorn`,[P.azami]:`azami`,[P.sens]:`sens`,[P.grim]:`grim`,[P.solis]:`solis`,[P.brava]:`brava`,[P.fenrir]:`fenrir`,[P.ram]:`ram`,[P.tubarao]:`tubarao`,[P.deimos]:`deimos`,[P.striker]:`striker`,[P.sentry]:`sentry`,[P.skopos]:`skopos`,[P.rauora]:`rauora`,[P.denari]:`denari`}),F=Object.freeze({[P.striker]:{name:`Striker`,role:`attacker`},[P.sledge]:{name:`Sledge`,role:`attacker`},[P.thatcher]:{name:`Thatcher`,role:`attacker`},[P.ash]:{name:`Ash`,role:`attacker`},[P.thermite]:{name:`Thermite`,role:`attacker`},[P.twitch]:{name:`Twitch`,role:`attacker`},[P.montagne]:{name:`Montagne`,role:`attacker`},[P.glaz]:{name:`Glaz`,role:`attacker`},[P.fuze]:{name:`Fuze`,role:`attacker`},[P.blitz]:{name:`Blitz`,role:`attacker`},[P.iq]:{name:`IQ`,role:`attacker`},[P.buck]:{name:`Buck`,role:`attacker`},[P.blackbeard]:{name:`Blackbeard`,role:`attacker`},[P.capitao]:{name:`Capitão`,role:`attacker`},[P.hibana]:{name:`Hibana`,role:`attacker`},[P.jackal]:{name:`Jackal`,role:`attacker`},[P.ying]:{name:`Ying`,role:`attacker`},[P.zofia]:{name:`Zofia`,role:`attacker`},[P.dokkaebi]:{name:`Dokkaebi`,role:`attacker`},[P.lion]:{name:`Lion`,role:`attacker`},[P.finka]:{name:`Finka`,role:`attacker`},[P.maverick]:{name:`Maverick`,role:`attacker`},[P.nomad]:{name:`Nomad`,role:`attacker`},[P.gridlock]:{name:`Gridlock`,role:`attacker`},[P.nokk]:{name:`Nøkk`,role:`attacker`},[P.amaru]:{name:`Amaru`,role:`attacker`},[P.kali]:{name:`Kali`,role:`attacker`},[P.iana]:{name:`Iana`,role:`attacker`},[P.ace]:{name:`Ace`,role:`attacker`},[P.zero]:{name:`Zero`,role:`attacker`},[P.flores]:{name:`Flores`,role:`attacker`},[P.osa]:{name:`Osa`,role:`attacker`},[P.sens]:{name:`Sens`,role:`attacker`},[P.grim]:{name:`Grim`,role:`attacker`},[P.brava]:{name:`Brava`,role:`attacker`},[P.ram]:{name:`Ram`,role:`attacker`},[P.deimos]:{name:`Deimos`,role:`attacker`},[P.rauora]:{name:`Rauora`,role:`attacker`},[P.sentry]:{name:`Sentry`,role:`defender`},[P.smoke]:{name:`Smoke`,role:`defender`},[P.mute]:{name:`Mute`,role:`defender`},[P.castle]:{name:`Castle`,role:`defender`},[P.pulse]:{name:`Pulse`,role:`defender`},[P.doc]:{name:`Doc`,role:`defender`},[P.rook]:{name:`Rook`,role:`defender`},[P.kapkan]:{name:`Kapkan`,role:`defender`},[P.tachanka]:{name:`Tachanka`,role:`defender`},[P.jager]:{name:`Jäger`,role:`defender`},[P.bandit]:{name:`Bandit`,role:`defender`},[P.frost]:{name:`Frost`,role:`defender`},[P.valkyrie]:{name:`Valkyrie`,role:`defender`},[P.caveira]:{name:`Caveira`,role:`defender`},[P.echo]:{name:`Echo`,role:`defender`},[P.mira]:{name:`Mira`,role:`defender`},[P.lesion]:{name:`Lesion`,role:`defender`},[P.ela]:{name:`Ela`,role:`defender`},[P.vigil]:{name:`Vigil`,role:`defender`},[P.alibi]:{name:`Alibi`,role:`defender`},[P.maestro]:{name:`Maestro`,role:`defender`},[P.clash]:{name:`Clash`,role:`defender`},[P.kaid]:{name:`Kaid`,role:`defender`},[P.mozzie]:{name:`Mozzie`,role:`defender`},[P.warden]:{name:`Warden`,role:`defender`},[P.goyo]:{name:`Goyo`,role:`defender`},[P.wamai]:{name:`Wamai`,role:`defender`},[P.oryx]:{name:`Oryx`,role:`defender`},[P.melusi]:{name:`Melusi`,role:`defender`},[P.aruni]:{name:`Aruni`,role:`defender`},[P.thunderbird]:{name:`Thunderbird`,role:`defender`},[P.thorn]:{name:`Thorn`,role:`defender`},[P.azami]:{name:`Azami`,role:`defender`},[P.solis]:{name:`Solis`,role:`defender`},[P.fenrir]:{name:`Fenrir`,role:`defender`},[P.tubarao]:{name:`Tubarao`,role:`defender`},[P.skopos]:{name:`Skopós`,role:`defender`},[P.denari]:{name:`Denari`,role:`defender`}}),re=Object.freeze({attacker:Object.entries(F).filter(([e,t])=>t.role===`attacker`).map(([e])=>({...F[s(Number(e))],id:s(Number(e))})),defender:Object.entries(F).filter(([e,t])=>t.role===`defender`).map(([e])=>({...F[s(Number(e))],id:s(Number(e))}))}),I=Object.freeze({favela:c(202283),fortress:c(293334),villa:c(286407),neighborhood:c(333785),themePark:c(229325),stadium:c(338641),outback:c(299162),yacht:c(62226),emeraldPlains:c(358871),chalet:c(62230),coastline:c(217482),bank:c(62228),consulate:c(62227),tower:c(255669),nighthavenLabs:c(375492),presidentialPlane:c(62225),house:c(62221),kafeDostoyevsky:c(62232),border:c(201746),closeQuarter:c(365400),lair:c(396234),herefordBase:c(62223),skyscraper:c(208094),cqbBasics:c(196157),oregon:c(62222),fortTruth:c(307723),kanal:c(62229),stadium2020:c(357300),clubhouse:c(62224),district:c(1193341205),shinden:c(359432),stadiumBravo:c(376421),muteCommTower:c(328922)}),L=Object.freeze({[I.favela]:`Favela`,[I.fortress]:`Fortress`,[I.villa]:`Villa`,[I.neighborhood]:`Neighborhood`,[I.themePark]:`Theme Park`,[I.stadium]:`Stadium`,[I.outback]:`Outback`,[I.yacht]:`Yacht`,[I.emeraldPlains]:`Emerald Plains`,[I.chalet]:`Chalet`,[I.coastline]:`Coastline`,[I.bank]:`Bank`,[I.consulate]:`Consulate`,[I.tower]:`Tower`,[I.nighthavenLabs]:`Nighthaven Labs`,[I.presidentialPlane]:`Presidential Plane`,[I.house]:`House`,[I.kafeDostoyevsky]:`Kafe Dostoyevsky`,[I.border]:`Border`,[I.closeQuarter]:`Close Quarter`,[I.outback]:`Outback`,[I.lair]:`Lair`,[I.herefordBase]:`Hereford Base`,[I.skyscraper]:`Skyscraper`,[I.cqbBasics]:`CQB Basics`,[I.oregon]:`Oregon`,[I.outback]:`Outback`,318512:`Stadium`,[I.fortTruth]:`Fort Truth`,[I.kanal]:`Kanal`,[I.cqbBasics]:`CQB Basics`,[I.stadium2020]:`Stadium 2020`,[I.clubhouse]:`Clubhouse`,[I.district]:`District`,[I.shinden]:`Shinden`,[I.stadiumBravo]:`Stadium Bravo`,[I.muteCommTower]:`M.U.T.E Comm Tower`}),R=Object.freeze({notPlayed:l(0),inProgress:l(1),lost:l(2),enemiesEliminated:l(3),objectiveComplete:l(4),timeRanOut:l(5),enemiesSurrendered:l(6),unknownReason:l(7),matchCancelled:l(8)}),z=Object.freeze({[R.notPlayed]:`Not Played`,[R.inProgress]:`In Progress`,[R.lost]:`Lost`,[R.enemiesEliminated]:`Enemies Eliminated`,[R.objectiveComplete]:`Objective Complete`,[R.timeRanOut]:`Time ran out`,[R.enemiesSurrendered]:`Enemies Surrendered`,[R.unknownReason]:`Unknown Reason`,[R.matchCancelled]:`Match Cancelled`}),B=Object.freeze({day:h(177839),night:h(177840)}),V=Object.freeze({[B.day]:`Day`,[B.night]:`Night`}),H=n({game:`string`,type:`string`,creation_time:`number`}),U=[R.enemiesEliminated,R.objectiveComplete,R.timeRanOut,R.enemiesSurrendered,R.unknownReason];function W(e){return U.includes(e)}const G=[R.notPlayed,R.inProgress];function K(e){return!G.includes(e)}const q=H.and({game:`'siege'`}),J=q.and({type:`'local_player'`,content:{profile_id:r(n.string)}}),Y=()=>n({id:`number`,value:`string`}),X=n({kills:`number`,deaths:`number`,assists:`number`,score:`number`}),ie=n({instigator_player_id:r(n.number),receiver_player_id:r(n.number),damage_amount:`number`,remaining_health:`number`,pre_damage_health:`number`,max_health:`number`,damage_type:E,damage_team_type:O,damage_item_id:r(n.number).or(`null`),damage_time:`number`}),Z=n({index:`number`,rounds_until_next_segment:`number`,segment_size:`number`,segment_index:`number`,team_0:{role:S,state:r(n.number)},team_1:{role:S,state:r(n.number)}}),Q=n({id:`number`,name:Y(),time_of_day:Y()}),ae=n({player_id:r(n.number),final_health:`number`,final_life_state:w,operator_name:Y().or(`null`)}),oe=n({round_data:Z,damage_events:ie.array(),players:ae.array()}),se=q.and({type:`'match_started'`,content:{game_mode:r(n.string),game_type:Y(),match_type:r(n.string),match_id:r(n.string),map:Q,is_round_based:`boolean`,current_round_index:`number`,rounds:Z.array()}}),ce=q.and({type:`'module_loaded'`}),le=q.and({type:`'module_unloaded'`}),ue=q.and({type:`'started_queuing'`,content:{game_mode:r(n.string),game_type:Y(),match_type:r(n.string)}}),de=q.and({type:`'stopped_queuing'`}),fe=q.and({type:`'unsupported_game_version'`,content:{hash:`string | null`,version:`string | null`}}),pe=q.and({type:`'match_ended'`}),me=q.and({type:`'map_changed'`,content:{map:Q}}),he=q.and({type:`'operator_banned'`,content:{index:`number`,team:b,side:S,operator_name:Y().or(`null`)}}),ge=q.and({type:`'round_ended'`,content:oe}),_e=q.and({type:`'phase_changed'`,content:{phase:v}}),ve=q.and({type:`'player_joined'`,content:{player_id:r(n.number),profile_id:r(n.string),is_bot:`boolean`,is_enemy:`boolean`,is_squad_member:`boolean`,is_local_player:`boolean`,username:`string`,side:S,team:b,is_privacy_username:`boolean`,has_avatar_hidden:`boolean`,has_commend_streak:`boolean`,ping_id:`number`,match_stats:X,life_state:w,ping:`number`}}).pipe(e=>({...e,content:{...e.content,starting_side:e.content.side}})),ye=q.and({type:`'player_left'`,content:{player_id:r(n.number)}}),be=q.and({type:`'player_operator_changed'`,content:{player_id:r(n.number),operator_name:Y().or(`null`)}}),xe=q.and({type:`'player_location_changed'`,content:{player_id:r(n.number),location_name:`string`}}),Se=q.and({type:`'player_side_changed'`,content:{player_id:r(n.number),side:S}}),Ce=q.and({type:`'player_stats_changed'`,content:{player_id:r(n.number),match_stats:X}}),we=q.and({type:`'player_ping_updated'`,content:{player_id:r(n.number),ping:`number`}}),Te=q.and({type:`'defuser_planted'`,content:{player_id:r(n.number)}}),Ee=q.and({type:`'defuser_sabotaged'`,content:{player_id:r(n.number)}}),De=q.and({type:`'defuser_picked_up'`,content:{player_id:r(n.number),initial:`boolean`}}),Oe=q.and({type:`'defuser_dropped'`,content:{player_id:r(n.number)}}),ke=q.and({type:`'player_life_state_changed'`,content:{player_id:r(n.number),life_state:w}}),Ae=q.and({type:`'player_died'`,content:{player_id:r(n.number),instigator_player_id:r(n.number)}}),$=q.and({type:`'player_downed'`,content:{player_id:r(n.number),instigator_player_id:r(n.number)}}),je=q.and({type:`'player_ping_id_changed'`,content:{player_id:r(n.number),ping_id:`number`}}),Me=q.and({type:`'player_team_changed'`,content:{player_id:r(n.number),team:b}}),Ne=q.and({type:`'game_log'`,content:{message:`string.json`}}),Pe=t({"#event1":`module_loaded | module_unloaded | unsupported_game_version | local_player | started_queuing | stopped_queuing | match_started | match_ended | map_changed | operator_banned | round_ended | phase_changed | player_joined | player_left | player_operator_changed | player_location_changed | player_side_changed | player_stats_changed`,"#event2":`player_life_state_changed | player_died | player_downed | player_ping_id_changed | player_team_changed | defuser_planted | defuser_sabotaged | defuser_picked_up | defuser_dropped | player_ping_updated | game_log`,event:`event1 | event2`,module_loaded:ce,module_unloaded:le,unsupported_game_version:fe,local_player:J,started_queuing:ue,stopped_queuing:de,match_started:se,match_ended:pe,map_changed:me,operator_banned:he,round_ended:ge,phase_changed:_e,player_joined:ve,player_left:ye,player_operator_changed:be,player_location_changed:xe,player_side_changed:Se,player_stats_changed:Ce,defuser_planted:Te,defuser_sabotaged:Ee,defuser_picked_up:De,defuser_dropped:Oe,player_ping_updated:we,player_life_state_changed:ke,player_died:Ae,player_downed:$,player_ping_id_changed:je,player_team_changed:Me,game_log:Ne}).export();function Fe(){return{key:`siege`,events:Pe}}export{H as BaseEvent,g as SIEGE_BOT_ID,D as SIEGE_DAMAGE_TEAM_TYPES,T as SIEGE_DAMAGE_TYPES,A as SIEGE_GAME_MODES_TO_ID,j as SIEGE_GAME_MODE_LABELS,_ as SIEGE_GAME_MODE_PHASES,M as SIEGE_GAME_MODE_TYPES_TO_ID,N as SIEGE_GAME_MODE_TYPE_LABELS,L as SIEGE_MAP_LABELS,I as SIEGE_MAP_TO_ID,k as SIEGE_MATCH_TYPES_TO_ID,te as SIEGE_MATCH_TYPE_LABELS,ne as SIEGE_OPERATOR_LABELS,F as SIEGE_OPERATOR_META,P as SIEGE_OPERATOR_TO_ID,C as SIEGE_PLAYER_LIFE_STATES,R as SIEGE_ROUND_STATES_TO_ID,z as SIEGE_ROUND_STATE_LABELS,x as SIEGE_SIDES,re as SIEGE_SIDE_OPERATORS,y as SIEGE_TEAMS,V as SIEGE_TIME_OF_DAY_LABELS,B as SIEGE_TIME_OF_DAY_TO_ID,O as SiegeDamageTeamTypeSchema,E as SiegeDamageTypeSchema,m as SiegeGameMode,v as SiegeGameModePhaseSchema,o as SiegeGameModeTypeNameId,ee as SiegeItemObjectId,c as SiegeMapNameId,u as SiegeMatchId,p as SiegeMatchType,s as SiegeOperatorNameId,d as SiegePlayerId,w as SiegePlayerLifeStateSchema,f as SiegeProfileId,l as SiegeRoundState,S as SiegeSideSchema,b as SiegeTeamSchema,h as SiegeTimeOfDay,K as isSiegeRoundStateCompleted,W as isSiegeRoundStateVictory,Fe as module};
|
|
1
|
+
import{Type as e,scope as t,type as n}from"arktype";function r(e){return e}function i(e){return e}function a(e){return e?t=>(e(t),t):i}const o=a(),s=a(),c=a(),l=a(),u=a(),d=a(),f=a(),ee=a(),p=a(),m=a(),h=a(),g=`00000000-0000-0000-0000-000000000000`,_=[`intro`,`planning`,`prep`,`action`,`results`,`invalid`,`first`],v=n(`string`),y=[0,1],b=n(`===`,...y),x=[`attacker`,`defender`,`both`,`invalid`],S=n(`string`),te=[`normal`,`overhealed`,`low_health`,`downed`,`dead`,`respawning`],C=n(`string`),w=`bullet.melee.explosive.falling.regeneration.unknown.debris.projectile.downed.gas.thermal_explosion.melee_gadget.barbed_wire.electric.reinforcement.frag.paralyzed.emp.break.cleanup.interrogation.melee-finisher.toxic.toxic-explosion.pneumatic.body-contact.contact-explosion.flash.parasite-spike.laser.concussion.blowtorch.taser-shield.reverse-friendly-fire.self-destroyed.area-control.fire.breach-kick.break-wall.blade-mine.melee-pushback.supressive-fire.gas-pipe-fire.invalid`.split(`.`),T=n(`string`),ne=[`unknown`,`enemy`,`friendly`,`invalid`],E=n(`string`),D=Object.freeze({quickPlay:p(`QUICK PLAY`),versusAi:p(`VERSUS AI`),standard:p(`STANDARD`),ranked:p(`RANKED`)}),O=Object.freeze({[D.quickPlay]:`Quick Play`,[D.versusAi]:`Versus AI`,[D.standard]:`Standard`,[D.ranked]:`Ranked`}),k=Object.freeze({teamDeathmatch:m(`TEAM DEATHMATCH`),goldenGun:m(`GOLDEN GUN`),freeForAll:m(`FREE FOR ALL`),weaponRoulette:m(`WEAPON ROULETTE`),dualFront:m(`DUAL FRONT`),bomb:m(`BOMB`),versusAi:m(`VERSUS AI`),hostage:m(`HOSTAGE`),threeVsThreeSecureArea:m(`3 VS 3 SECURE AREA`),targetDrill:m(`TARGET DRILL`),rengoku:m(`RENGOKU`)}),re=Object.freeze({[k.teamDeathmatch]:`Team Deathmatch`,[k.goldenGun]:`Golden Gun`,[k.freeForAll]:`Free For All`,[k.weaponRoulette]:`Weapon Roulette`,[k.dualFront]:`Dual Front`,[k.bomb]:`Bomb`,[k.versusAi]:`Versus AI`,[k.hostage]:`Hostage`,[k.threeVsThreeSecureArea]:`3v3 Secure Area`,[k.targetDrill]:`Target Drill`,[k.rengoku]:`Rengoku`}),A=Object.freeze({ranked:o(205379),quickMatch:o(138115),customGame:o(62008),versusAi:o(397300),standard:o(393930),arcade:o(320109),siegeCup:o(414089),dualFront:o(420611),showdown:o(305544),trainingGrounds:o(-1),unranked:o(310813),deathmatch:o(420611),rengoku:o(359430),muteProtocol:o(368421),fieldTraining:o(423927)}),j=Object.freeze({[A.quickMatch]:`Quick Match`,[A.ranked]:`Ranked`,[A.customGame]:`Custom Game`,[A.versusAi]:`Versus AI`,[A.standard]:`Standard`,[A.arcade]:`Arcade`,[A.siegeCup]:`Siege Cup`,[A.dualFront]:`Dual Front`,[A.showdown]:`Showdown`,[A.trainingGrounds]:`Training Grounds`,[A.unranked]:`Unranked`,[A.deathmatch]:`Deathmatch`,[A.rengoku]:`Rengoku`,[A.muteProtocol]:`M.U.T.E Protocol`,[A.fieldTraining]:`Field Training`}),M=Object.freeze({glaz:s(62242),blitz:s(62243),buck:s(62244),sledge:s(62245),ash:s(62246),thermite:s(62247),castle:s(62248),rook:s(62249),pulse:s(62250),doc:s(62251),mute:s(62252),smoke:s(62253),recruit:s(62555),thatcher:s(65143),twitch:s(65156),montagne:s(65159),bandit:s(65165),fuze:s(65168),kapkan:s(65171),tachanka:s(65174),jager:s(113049),iq:s(113052),frost:s(186159),blackbeard:s(187249),valkyrie:s(187252),caveira:s(207671),capitao:s(207674),echo:s(209180),hibana:s(209183),mira:s(222172),jackal:s(222182),ying:s(239334),lesion:s(239337),ela:s(254595),zofia:s(254606),dokkaebi:s(273652),vigil:s(273663),finka:s(281457),lion:s(281463),alibi:s(282399),maestro:s(285888),maverick:s(288504),clash:s(288526),nomad:s(293435),kaid:s(293436),gridlock:s(298589),mozzie:s(298616),nokk:s(299657),warden:s(299668),goyo:s(304196),amaru:s(308469),kali:s(310757),wamai:s(310768),oryx:s(317965),iana:s(317976),melusi:s(320062),ace:s(320073),zero:s(328927),aruni:s(328940),flores:s(334086),thunderbird:s(336466),osa:s(344493),thorn:s(349405),azami:s(354314),sens:s(357386),grim:s(365404),solis:s(376836),brava:s(382419),fenrir:s(386388),ram:s(392904),tubarao:s(395594),deimos:s(400504),striker:s(404278),sentry:s(404290),skopos:s(408405),rauora:s(421052),denari:s(2437779699)}),N=Object.freeze({[M.glaz]:`glaz`,[M.blitz]:`blitz`,[M.buck]:`buck`,[M.sledge]:`sledge`,[M.ash]:`ash`,[M.thermite]:`thermite`,[M.castle]:`castle`,[M.rook]:`rook`,[M.pulse]:`pulse`,[M.doc]:`doc`,[M.mute]:`mute`,[M.smoke]:`smoke`,[M.recruit]:`recruit`,[M.thatcher]:`thatcher`,[M.twitch]:`twitch`,[M.montagne]:`montagne`,[M.bandit]:`bandit`,[M.fuze]:`fuze`,[M.kapkan]:`kapkan`,[M.tachanka]:`tachanka`,[M.jager]:`jager`,[M.iq]:`iq`,[M.frost]:`frost`,[M.blackbeard]:`blackbeard`,[M.valkyrie]:`valkyrie`,[M.caveira]:`caveira`,[M.capitao]:`capitao`,[M.echo]:`echo`,[M.hibana]:`hibana`,[M.mira]:`mira`,[M.jackal]:`jackal`,[M.ying]:`ying`,[M.lesion]:`lesion`,[M.ela]:`ela`,[M.zofia]:`zofia`,[M.dokkaebi]:`dokkaebi`,[M.vigil]:`vigil`,[M.finka]:`finka`,[M.lion]:`lion`,[M.alibi]:`alibi`,[M.maestro]:`maestro`,[M.maverick]:`maverick`,[M.clash]:`clash`,[M.nomad]:`nomad`,[M.kaid]:`kaid`,[M.gridlock]:`gridlock`,[M.mozzie]:`mozzie`,[M.nokk]:`nokk`,[M.warden]:`warden`,[M.goyo]:`goyo`,[M.amaru]:`amaru`,[M.kali]:`kali`,[M.wamai]:`wamai`,[M.oryx]:`oryx`,[M.iana]:`iana`,[M.melusi]:`melusi`,[M.ace]:`ace`,[M.zero]:`zero`,[M.aruni]:`aruni`,[M.flores]:`flores`,[M.thunderbird]:`thunderbird`,[M.osa]:`osa`,[M.thorn]:`thorn`,[M.azami]:`azami`,[M.sens]:`sens`,[M.grim]:`grim`,[M.solis]:`solis`,[M.brava]:`brava`,[M.fenrir]:`fenrir`,[M.ram]:`ram`,[M.tubarao]:`tubarao`,[M.deimos]:`deimos`,[M.striker]:`striker`,[M.sentry]:`sentry`,[M.skopos]:`skopos`,[M.rauora]:`rauora`,[M.denari]:`denari`}),P=Object.freeze({[M.striker]:{name:`Striker`,role:`attacker`},[M.sledge]:{name:`Sledge`,role:`attacker`},[M.thatcher]:{name:`Thatcher`,role:`attacker`},[M.ash]:{name:`Ash`,role:`attacker`},[M.thermite]:{name:`Thermite`,role:`attacker`},[M.twitch]:{name:`Twitch`,role:`attacker`},[M.montagne]:{name:`Montagne`,role:`attacker`},[M.glaz]:{name:`Glaz`,role:`attacker`},[M.fuze]:{name:`Fuze`,role:`attacker`},[M.blitz]:{name:`Blitz`,role:`attacker`},[M.iq]:{name:`IQ`,role:`attacker`},[M.buck]:{name:`Buck`,role:`attacker`},[M.blackbeard]:{name:`Blackbeard`,role:`attacker`},[M.capitao]:{name:`Capitão`,role:`attacker`},[M.hibana]:{name:`Hibana`,role:`attacker`},[M.jackal]:{name:`Jackal`,role:`attacker`},[M.ying]:{name:`Ying`,role:`attacker`},[M.zofia]:{name:`Zofia`,role:`attacker`},[M.dokkaebi]:{name:`Dokkaebi`,role:`attacker`},[M.lion]:{name:`Lion`,role:`attacker`},[M.finka]:{name:`Finka`,role:`attacker`},[M.maverick]:{name:`Maverick`,role:`attacker`},[M.nomad]:{name:`Nomad`,role:`attacker`},[M.gridlock]:{name:`Gridlock`,role:`attacker`},[M.nokk]:{name:`Nøkk`,role:`attacker`},[M.amaru]:{name:`Amaru`,role:`attacker`},[M.kali]:{name:`Kali`,role:`attacker`},[M.iana]:{name:`Iana`,role:`attacker`},[M.ace]:{name:`Ace`,role:`attacker`},[M.zero]:{name:`Zero`,role:`attacker`},[M.flores]:{name:`Flores`,role:`attacker`},[M.osa]:{name:`Osa`,role:`attacker`},[M.sens]:{name:`Sens`,role:`attacker`},[M.grim]:{name:`Grim`,role:`attacker`},[M.brava]:{name:`Brava`,role:`attacker`},[M.ram]:{name:`Ram`,role:`attacker`},[M.deimos]:{name:`Deimos`,role:`attacker`},[M.rauora]:{name:`Rauora`,role:`attacker`},[M.sentry]:{name:`Sentry`,role:`defender`},[M.smoke]:{name:`Smoke`,role:`defender`},[M.mute]:{name:`Mute`,role:`defender`},[M.castle]:{name:`Castle`,role:`defender`},[M.pulse]:{name:`Pulse`,role:`defender`},[M.doc]:{name:`Doc`,role:`defender`},[M.rook]:{name:`Rook`,role:`defender`},[M.kapkan]:{name:`Kapkan`,role:`defender`},[M.tachanka]:{name:`Tachanka`,role:`defender`},[M.jager]:{name:`Jäger`,role:`defender`},[M.bandit]:{name:`Bandit`,role:`defender`},[M.frost]:{name:`Frost`,role:`defender`},[M.valkyrie]:{name:`Valkyrie`,role:`defender`},[M.caveira]:{name:`Caveira`,role:`defender`},[M.echo]:{name:`Echo`,role:`defender`},[M.mira]:{name:`Mira`,role:`defender`},[M.lesion]:{name:`Lesion`,role:`defender`},[M.ela]:{name:`Ela`,role:`defender`},[M.vigil]:{name:`Vigil`,role:`defender`},[M.alibi]:{name:`Alibi`,role:`defender`},[M.maestro]:{name:`Maestro`,role:`defender`},[M.clash]:{name:`Clash`,role:`defender`},[M.kaid]:{name:`Kaid`,role:`defender`},[M.mozzie]:{name:`Mozzie`,role:`defender`},[M.warden]:{name:`Warden`,role:`defender`},[M.goyo]:{name:`Goyo`,role:`defender`},[M.wamai]:{name:`Wamai`,role:`defender`},[M.oryx]:{name:`Oryx`,role:`defender`},[M.melusi]:{name:`Melusi`,role:`defender`},[M.aruni]:{name:`Aruni`,role:`defender`},[M.thunderbird]:{name:`Thunderbird`,role:`defender`},[M.thorn]:{name:`Thorn`,role:`defender`},[M.azami]:{name:`Azami`,role:`defender`},[M.solis]:{name:`Solis`,role:`defender`},[M.fenrir]:{name:`Fenrir`,role:`defender`},[M.tubarao]:{name:`Tubarao`,role:`defender`},[M.skopos]:{name:`Skopós`,role:`defender`},[M.denari]:{name:`Denari`,role:`defender`}}),F=Object.freeze({attacker:Object.entries(P).filter(([e,t])=>t.role===`attacker`).map(([e])=>({...P[s(Number(e))],id:s(Number(e))})),defender:Object.entries(P).filter(([e,t])=>t.role===`defender`).map(([e])=>({...P[s(Number(e))],id:s(Number(e))}))}),I=Object.freeze({favela:c(202283),fortress:c(293334),villa:c(286407),neighborhood:c(333785),themePark:c(229325),stadium:c(338641),outback:c(299162),yacht:c(62226),emeraldPlains:c(358871),chalet:c(62230),coastline:c(217482),bank:c(62228),consulate:c(62227),tower:c(255669),nighthavenLabs:c(375492),presidentialPlane:c(62225),house:c(62221),kafeDostoyevsky:c(62232),border:c(201746),closeQuarter:c(365400),lair:c(396234),herefordBase:c(62223),skyscraper:c(208094),cqbBasics:c(196157),oregon:c(62222),fortTruth:c(307723),kanal:c(62229),stadium2020:c(357300),clubhouse:c(62224),district:c(1193341205),shinden:c(359432),stadiumBravo:c(376421),muteCommTower:c(328922)}),L=Object.freeze({[I.favela]:`Favela`,[I.fortress]:`Fortress`,[I.villa]:`Villa`,[I.neighborhood]:`Neighborhood`,[I.themePark]:`Theme Park`,[I.stadium]:`Stadium`,[I.outback]:`Outback`,[I.yacht]:`Yacht`,[I.emeraldPlains]:`Emerald Plains`,[I.chalet]:`Chalet`,[I.coastline]:`Coastline`,[I.bank]:`Bank`,[I.consulate]:`Consulate`,[I.tower]:`Tower`,[I.nighthavenLabs]:`Nighthaven Labs`,[I.presidentialPlane]:`Presidential Plane`,[I.house]:`House`,[I.kafeDostoyevsky]:`Kafe Dostoyevsky`,[I.border]:`Border`,[I.closeQuarter]:`Close Quarter`,[I.outback]:`Outback`,[I.lair]:`Lair`,[I.herefordBase]:`Hereford Base`,[I.skyscraper]:`Skyscraper`,[I.cqbBasics]:`CQB Basics`,[I.oregon]:`Oregon`,[I.outback]:`Outback`,318512:`Stadium`,[I.fortTruth]:`Fort Truth`,[I.kanal]:`Kanal`,[I.cqbBasics]:`CQB Basics`,[I.stadium2020]:`Stadium 2020`,[I.clubhouse]:`Clubhouse`,[I.district]:`District`,[I.shinden]:`Shinden`,[I.stadiumBravo]:`Stadium Bravo`,[I.muteCommTower]:`M.U.T.E Comm Tower`}),R=Object.freeze({notPlayed:l(0),inProgress:l(1),lost:l(2),enemiesEliminated:l(3),objectiveComplete:l(4),timeRanOut:l(5),enemiesSurrendered:l(6),unknownReason:l(7),matchCancelled:l(8)}),z=Object.freeze({[R.notPlayed]:`Not Played`,[R.inProgress]:`In Progress`,[R.lost]:`Lost`,[R.enemiesEliminated]:`Enemies Eliminated`,[R.objectiveComplete]:`Objective Complete`,[R.timeRanOut]:`Time ran out`,[R.enemiesSurrendered]:`Enemies Surrendered`,[R.unknownReason]:`Unknown Reason`,[R.matchCancelled]:`Match Cancelled`}),B=Object.freeze({day:h(177839),night:h(177840)}),V=Object.freeze({[B.day]:`Day`,[B.night]:`Night`}),H=n({game:`string`,type:`string`,creation_time:`number`}),U=[R.enemiesEliminated,R.objectiveComplete,R.timeRanOut,R.enemiesSurrendered,R.unknownReason];function W(e){return U.includes(e)}const G=[R.notPlayed,R.inProgress];function K(e){return!G.includes(e)}const q=H.and({game:`'siege'`}),J=q.and({type:`'local_player'`,content:{profile_id:r(n.string)}}),Y=()=>n({id:`number`,value:`string`}),X=n({kills:`number`,deaths:`number`,assists:`number`,score:`number`}),ie=n({instigator_player_id:r(n.number),receiver_player_id:r(n.number),damage_amount:`number`,remaining_health:`number`,pre_damage_health:`number`,max_health:`number`,damage_type:T,damage_team_type:E,damage_item_id:r(n.number).or(`null`),damage_time:`number`}),Z=n({index:`number`,rounds_until_next_segment:`number`,segment_size:`number`,segment_index:`number`,team_0:{role:S,state:r(n.number)},team_1:{role:S,state:r(n.number)}}),Q=n({id:`number`,name:Y(),time_of_day:Y()}),ae=n({player_id:r(n.number),final_health:`number`,final_life_state:C,operator_name:Y().or(`null`)}),oe=n({round_data:Z,damage_events:ie.array(),players:ae.array()}),se=q.and({type:`'match_started'`,content:{game_mode:r(n.string),game_type:Y(),match_type:r(n.string),match_id:r(n.string),map:Q,is_round_based:`boolean`,current_round_index:`number`,rounds:Z.array()}}),ce=q.and({type:`'module_loaded'`}),le=q.and({type:`'module_unloaded'`}),$=q.and({type:`'started_queuing'`,content:{game_mode:r(n.string),game_type:Y(),match_type:r(n.string)}}),ue=q.and({type:`'stopped_queuing'`}),de=q.and({type:`'unsupported_game_version'`,content:{hash:`string | null`,version:`string | null`}}),fe=q.and({type:`'match_ended'`}),pe=q.and({type:`'map_changed'`,content:{map:Q}}),me=q.and({type:`'operator_banned'`,content:{index:`number`,team:b,side:S,operator_name:Y().or(`null`)}}),he=q.and({type:`'round_ended'`,content:oe}),ge=q.and({type:`'phase_changed'`,content:{phase:v}}),_e=q.and({type:`'player_joined'`,content:{player_id:r(n.number),profile_id:r(n.string),is_bot:`boolean`,is_enemy:`boolean`,is_squad_member:`boolean`,is_local_player:`boolean`,username:`string`,side:S,team:b,is_privacy_username:`boolean`,has_avatar_hidden:`boolean`,has_commend_streak:`boolean`,ping_id:`number`,match_stats:X,life_state:C,ping:`number`}}).pipe(e=>({...e,content:{...e.content,starting_side:e.content.side}})),ve=q.and({type:`'player_left'`,content:{player_id:r(n.number)}}),ye=q.and({type:`'player_operator_changed'`,content:{player_id:r(n.number),operator_name:Y().or(`null`)}}),be=q.and({type:`'player_location_changed'`,content:{player_id:r(n.number),location_name:`string`}}),xe=q.and({type:`'player_side_changed'`,content:{player_id:r(n.number),side:S}}),Se=q.and({type:`'player_stats_changed'`,content:{player_id:r(n.number),match_stats:X}}),Ce=q.and({type:`'player_ping_updated'`,content:{player_id:r(n.number),ping:`number`}}),we=q.and({type:`'defuser_planted'`,content:{player_id:r(n.number)}}),Te=q.and({type:`'defuser_sabotaged'`,content:{player_id:r(n.number)}}),Ee=q.and({type:`'defuser_picked_up'`,content:{player_id:r(n.number),initial:`boolean`}}),De=q.and({type:`'defuser_dropped'`,content:{player_id:r(n.number)}}),Oe=q.and({type:`'player_life_state_changed'`,content:{player_id:r(n.number),life_state:C}}),ke=q.and({type:`'player_died'`,content:{player_id:r(n.number),instigator_player_id:r(n.number)}}),Ae=q.and({type:`'player_downed'`,content:{player_id:r(n.number),instigator_player_id:r(n.number)}}),je=q.and({type:`'player_ping_id_changed'`,content:{player_id:r(n.number),ping_id:`number`}}),Me=q.and({type:`'player_team_changed'`,content:{player_id:r(n.number),team:b}}),Ne=q.and({type:`'game_log'`,content:{message:`string.json`}}),Pe=t({"#event1":`module_loaded | module_unloaded | unsupported_game_version | local_player | started_queuing | stopped_queuing | match_started | match_ended | map_changed | operator_banned | round_ended | phase_changed | player_joined | player_left | player_operator_changed | player_location_changed | player_side_changed | player_stats_changed`,"#event2":`player_life_state_changed | player_died | player_downed | player_ping_id_changed | player_team_changed | defuser_planted | defuser_sabotaged | defuser_picked_up | defuser_dropped | player_ping_updated | game_log`,event:`event1 | event2`,module_loaded:ce,module_unloaded:le,unsupported_game_version:de,local_player:J,started_queuing:$,stopped_queuing:ue,match_started:se,match_ended:fe,map_changed:pe,operator_banned:me,round_ended:he,phase_changed:ge,player_joined:_e,player_left:ve,player_operator_changed:ye,player_location_changed:be,player_side_changed:xe,player_stats_changed:Se,defuser_planted:we,defuser_sabotaged:Te,defuser_picked_up:Ee,defuser_dropped:De,player_ping_updated:Ce,player_life_state_changed:Oe,player_died:ke,player_downed:Ae,player_ping_id_changed:je,player_team_changed:Me,game_log:Ne}).export();function Fe(){return{key:`siege`,events:Pe}}export{H as BaseEvent,g as SIEGE_BOT_ID,ne as SIEGE_DAMAGE_TEAM_TYPES,w as SIEGE_DAMAGE_TYPES,k as SIEGE_GAME_MODES_TO_ID,re as SIEGE_GAME_MODE_LABELS,_ as SIEGE_GAME_MODE_PHASES,A as SIEGE_GAME_MODE_TYPES_TO_ID,j as SIEGE_GAME_MODE_TYPE_LABELS,L as SIEGE_MAP_LABELS,I as SIEGE_MAP_TO_ID,D as SIEGE_MATCH_TYPES_TO_ID,O as SIEGE_MATCH_TYPE_LABELS,N as SIEGE_OPERATOR_LABELS,P as SIEGE_OPERATOR_META,M as SIEGE_OPERATOR_TO_ID,te as SIEGE_PLAYER_LIFE_STATES,R as SIEGE_ROUND_STATES_TO_ID,z as SIEGE_ROUND_STATE_LABELS,x as SIEGE_SIDES,F as SIEGE_SIDE_OPERATORS,y as SIEGE_TEAMS,V as SIEGE_TIME_OF_DAY_LABELS,B as SIEGE_TIME_OF_DAY_TO_ID,E as SiegeDamageTeamTypeSchema,T as SiegeDamageTypeSchema,m as SiegeGameMode,v as SiegeGameModePhaseSchema,o as SiegeGameModeTypeNameId,ee as SiegeItemObjectId,c as SiegeMapNameId,u as SiegeMatchId,p as SiegeMatchType,s as SiegeOperatorNameId,d as SiegePlayerId,C as SiegePlayerLifeStateSchema,f as SiegeProfileId,l as SiegeRoundState,S as SiegeSideSchema,b as SiegeTeamSchema,h as SiegeTimeOfDay,K as isSiegeRoundStateCompleted,W as isSiegeRoundStateVictory,Fe as module};
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@overlayed/app",
|
|
3
3
|
"author": "overlayed.gg",
|
|
4
4
|
"homepage": "https://overlayed.gg",
|
|
5
|
-
"version": "0.24.
|
|
5
|
+
"version": "0.24.4",
|
|
6
6
|
"description": "Overlayed app",
|
|
7
7
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
8
8
|
"repository": {
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"@overlayed/cortex-client": "0.0.4",
|
|
69
69
|
"@overlayed/events": "0.0.4",
|
|
70
70
|
"@overlayed/native-managers": "0.0.4",
|
|
71
|
-
"@overlayed/siege": "0.0.
|
|
71
|
+
"@overlayed/siege": "0.0.5",
|
|
72
72
|
"@overlayed/utils": "0.0.4",
|
|
73
73
|
"@overlayed/utils-node": "0.0.4"
|
|
74
74
|
},
|