@infernus/core 0.11.0-beta.2 → 0.11.0-beta.3
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/bundle.d.ts +1 -1
- package/dist/bundle.js +1 -1
- package/dist/bundle.mjs +1 -1
- package/package.json +1 -1
package/dist/bundle.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{encodingExists as ra,encode as la,decode as sa}from"iconv-lite";import oa from"pino";import{snakeCase as fe,mapKeys as da,merge as ca,omit as _a,get as $e}from"lodash-unified";import*as _ from"@infernus/streamer";import{Streamer_GetPlayerTickRate as ha,Streamer_SetPlayerTickRate as ua,Streamer_GetChunkTickRate as ze,Streamer_SetChunkTickRate as Je,Streamer_GetVisibleItems as Qe,Streamer_SetVisibleItems as qe,Streamer_GetRadiusMultiplier as et,Streamer_SetRadiusMultiplier as tt,Streamer_ToggleIdleUpdate as ma,Streamer_IsToggleIdleUpdate as pa,Streamer_ToggleCameraUpdate as ga,Streamer_IsToggleCameraUpdate as Sa,Streamer_ToggleItemUpdate as ya,Streamer_IsToggleItemUpdate as Ia,Streamer_GetLastUpdateTime as Pa,Streamer_Update as fa,Streamer_UpdateEx as Aa,Streamer_ToggleItem as Ta,Streamer_IsToggleItem as Ea,Streamer_ToggleAllItems as Ca,Streamer_GetItemInternalID as Da,Streamer_GetItemStreamerID as ba,Streamer_IsItemVisible as Na,Streamer_DestroyAllVisibleItems as va,Streamer_CountVisibleItems as La,Streamer_GetAllVisibleItems as Ra,Streamer_GetTickRate as wa,Streamer_SetTickRate as Oa,Streamer_ToggleChunkStream as Ga,Streamer_IsToggleChunkStream as Ba,Streamer_GetChunkSize as Fa,Streamer_SetChunkSize as ka,Streamer_GetMaxItems as Ma,Streamer_SetMaxItems as xa,Streamer_GetTypePriority as Ha,Streamer_SetTypePriority as Va,Streamer_GetCellDistance as Wa,Streamer_SetCellDistance as Ua,Streamer_GetCellSize as Ka,Streamer_SetCellSize as Za,Streamer_ToggleItemStatic as ja,Streamer_IsToggleItemStatic as Xa,Streamer_ToggleItemInvAreas as Ya,Streamer_IsToggleItemInvAreas as $a,Streamer_ToggleItemCallbacks as za,Streamer_IsToggleItemCallbacks as Ja,Streamer_ToggleErrorCallback as Qa,Streamer_IsToggleErrorCallback as qa,Streamer_AmxUnloadDestroyItems as en,Streamer_ProcessActiveItems as tn,Streamer_GetDistanceToItem as an,Streamer_DestroyAllItems as nn,Streamer_CountItems as rn,Streamer_GetNearbyItems as ln,Streamer_GetItemPos as sn,Streamer_SetItemPos as on,Streamer_GetItemOffset as dn,Streamer_SetItemOffset as cn,Streamer_GetFloatData as _n,Streamer_SetFloatData as hn,Streamer_GetIntData as un,Streamer_SetIntData as mn,Streamer_GetArrayData as pn,Streamer_SetArrayData as gn,Streamer_IsInArrayData as Sn,Streamer_AppendArrayData as yn,Streamer_RemoveArrayData as In,Streamer_GetArrayDataLength as Pn,Streamer_GetUpperBound as fn,MapIconStyles as An,StreamerDistances as oe,CreateDynamicMapIconEx as Tn,CreateDynamicMapIcon as En,DestroyDynamicMapIcon as Cn,IsValidDynamicMapIcon as Dn,StreamerItemTypes as E,CreateDynamicCPEx as bn,CreateDynamicCP as Nn,DestroyDynamicCP as at,IsValidDynamicCP as nt,TogglePlayerDynamicCP as vn,TogglePlayerAllDynamicCPs as Ln,IsPlayerInDynamicCP as Rn,GetPlayerVisibleDynamicCP as wn,CreateDynamicRaceCPEx as On,CreateDynamicRaceCP as Gn,TogglePlayerDynamicRaceCP as Bn,TogglePlayerAllDynamicRaceCPs as Fn,IsPlayerInDynamicRaceCP as kn,GetPlayerVisibleDynamicRaceCP as Mn,DestroyDynamic3DTextLabel as xn,IsValidDynamic3DTextLabel as Hn}from"@infernus/streamer";import{E_STREAMER as Zp,MapIconStyles as jp,MaterialTextSizes as Xp,StreamerAreaTypes as Yp,StreamerDistances as $p,StreamerItemTypes as zp,StreamerMiscellaneous as Jp,StreamerObjectTypes as Qp}from"@infernus/streamer";const s=oa({transport:{target:"pino-pretty",options:{translateTime:"SYS:standard",ignore:"pid,hostname"}}});process.on("uncaughtException",e=>{s.error(e),process.exit(1)}),process.on("unhandledRejection",e=>{if(e instanceof Error){s.warn(e);return}s.warn(new Error(JSON.stringify(e)))});var Vn=Object.defineProperty,Wn=(e,t,a)=>t in e?Vn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ae=(e,t,a)=>(Wn(e,typeof t!="symbol"?t+"":t,a),a);class A{constructor(t,a){this.defaultLocale=t,this.locales=a,Ae(this,"addLocales",n=>{ca(this.locales,A.snakeLocaleKeys(n))}),Ae(this,"removeLocales",(...n)=>{this.locales=_a(this.locales,n)}),Ae(this,"$t",(n,i,r=this.defaultLocale)=>{const l=this.locales[fe(r)],o=$e(this.locales[this.defaultLocale],n),d=$e(l,n,o);if(d===void 0)return s.warn(`[i18n]: cannot find ${r}["${n}"]`),"undefined";if(typeof d!="string")return JSON.stringify(d);let c=d;if(i&&i.length){const u=/%s/i;for(let p=0;p<i.length&&c.match(u)!==null;p++)c=c.replace(u,i[p])}return c}),this.defaultLocale=fe(t),this.locales=A.snakeLocaleKeys(a)}static isValidate(t){ra(t)||(s.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,a){return A.isValidate(a),[...la(t,a),0]}static decodeFromBuf(t,a="utf8"){A.isValidate(a);const n=t instanceof Buffer?t:Buffer.from(t);return sa(n,a)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return da(t,(a,n)=>fe(n))}}const q=new Map;function it(e){q.set(e,[])}function Un(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function Kn(e,...t){const{defaultValue:a=!0,name:n,beforeEach:i,afterEach:r}=e,l=q.get(n);if(!l||!l.length)return+a;const o=i?i(...t):{},d=[];let c=-1;const u=()=>{if(c++,c<l.length){try{const p=l[c]({next:u,...o});return p instanceof Promise&&d.push(p),p}catch(p){const S=JSON.stringify(p),f=`executing event [name:${n},index:${c}] error: ${S}.`;s.error(f)}return a}return r&&(d.length?Promise.allSettled(d).then(()=>r(o)):r(o)),a};return Un(u(),a)}function h(e){const{name:t,identifier:a,isNative:n=!0}=e;if(q.has(t)){const o=`event [name:${t}] error: already defined.`;throw s.error(o),new Error(o)}it(t);function i(...o){return Kn(e,...o)}function r(o){const d=q.get(t).push(o)-1;return()=>{const c=q.get(t)||[],u=c.length-1,p=u<d?u:d;for(let S=p;S>=0;S--)if(c[S]===o){c.splice(S,1);break}}}const l=[r,i];return n&&(a&&samp.registerEvent(t,a),samp.on(t,i)),l}const[Zn]=h({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[jn]=h({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[Xn]=h({name:"OnNpcModeInit"}),[Yn]=h({name:"OnNpcModeExit"}),[$n]=h({name:"OnNpcSpawn"}),[zn]=h({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:A.decodeFromBuf(t)}}}),Jn=Object.freeze({onConnect:Zn,onDisconnect:jn,onModeInit:Xn,onModeExit:Yn,onSpawn:$n,onClientMessage:zn}),Qn=e=>!!samp.callNative("IsValidNickName","s",e),qn=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},ei=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),ti=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),ai=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),ni=e=>!!samp.callNative("IsValidServerRule","s",e),ii=e=>!!samp.callNative("RemoveServerRule","s",e),ri=e=>{samp.callNative("AllowAdminTeleport","i",e)},li=()=>!!samp.callNative("IsAdminTeleportAllowed",""),si=e=>{samp.callNative("AllowInteriorWeapons","i",e)},oi=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),di=()=>!!samp.callNative("AreAllAnimationsEnabled",""),ci=e=>{samp.callNative("EnableAllAnimations","i",e)},_i=e=>samp.callNative("GetConsoleVarAsString","sAi",e,64),hi=e=>samp.callNative("GetConsoleVarAsInt","s",e),ui=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),mi=()=>samp.callNative("GetWeather",""),pi=e=>samp.callNative("GetServerRuleFlags","s",e),gi=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Si=e=>!!samp.callNative("SetModeRestartTime","f",e),yi=()=>samp.callNativeFloat("GetModeRestartTime",""),Ii=(e,t,a)=>samp.callNative("GameTextForAll","sii",e,t,a),Pi=e=>{samp.callNative("HideGameTextForAll","i",e)},fi=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),Ai=()=>samp.callNative("GetMaxPlayers",""),Ti=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),Ei=e=>samp.callNative("SetGameModeText","s",e),Ci=e=>samp.callNative("ShowNameTags","i",e),Di=e=>samp.callNative("ShowPlayerMarkers","i",e),bi=e=>samp.callNative("SetWorldTime","i",e),Ni=()=>samp.callNative("GetWorldTime",""),vi=()=>samp.callNative("EnableVehicleFriendlyFire",""),Li=e=>samp.callNative("SetWeather","i",e),Ri=()=>samp.callNativeFloat("GetGravity",""),wi=e=>samp.callNative("SetGravity","f",e),Oi=(e,t,a,n,i)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,i),Gi=e=>samp.callNative("EnableZoneNames","i",e),Bi=()=>samp.callNative("UsePlayerPedAnims",""),Fi=()=>samp.callNative("DisableInteriorEnterExits",""),ki=e=>samp.callNative("SetNameTagDrawDistance","f",e),Mi=()=>samp.callNative("DisableNameTagLOS",""),xi=e=>samp.callNative("LimitGlobalChatRadius","f",e),Hi=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),Vi=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),Wi=()=>samp.callNative("GetServerTickRate",""),Ui=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),Ki=e=>samp.callNative("EnableStuntBonusForAll","i",e),Zi=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},ji=()=>!!samp.callNative("ChatTextReplacementToggled",""),Xi=e=>samp.callNative("GetWeaponSlot","i",e),Yi=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},rt=()=>samp.callNative("GetAvailableClasses",""),$i=e=>{if(e<rt()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,i=0,r=0,l=0,o=0,d=0,c=0,u=0,p=0,S=0,f=0]=t;return{teamId:a,modelId:n,spawn_x:i,spawn_y:r,spawn_z:l,z_angle:o,weapon1:d,weapon1_ammo:c,weapon2:u,weapon2_ammo:p,weapon3:S,weapon3_ammo:f}},zi=(e,t,a,n,i,r,l,o,d,c,u,p,S)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,i,r,l,o,d,c,u,p,S),Ji=e=>samp.callNative("SetTeamCount","i",e),Qi=(e,t,a,n,i,r,l,o,d,c,u)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,i,r,l,o,d,c,u),qi=(e,t,a,n,i,r,l,o,d,c,u,p)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,i,r,l,o,d,c,u,p),er=(e,t,a,n,i,r,l,o,d,c,u,p,S)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,i,r,l,o,d,c,u,p,S),tr=e=>samp.callNative("SpawnPlayer","i",e),ar=e=>{const[t,a=0,n=0,i=0,r=0,l=0,o=0,d=0,c=0,u=0,p=0,S=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawn_x:n,spawn_y:i,spawn_z:r,z_angle:l,weapon1:o,weapon1_ammo:d,weapon2:c,weapon2_ammo:u,weapon3:p,weapon3_ammo:S}},nr=e=>samp.callNative("NetStats_GetConnectedTime","i",e),ir=e=>samp.callNative("NetStats_MessagesReceived","i",e),rr=e=>samp.callNative("NetStats_BytesReceived","i",e),lr=e=>samp.callNative("NetStats_MessagesSent","i",e),sr=e=>samp.callNative("NetStats_BytesSent","i",e),or=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),dr=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),cr=e=>samp.callNative("NetStats_ConnectionStatus","i",e),_r=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},hr=e=>!!samp.callNative("IsPlayerAdmin","i",e),ur=(e,t)=>samp.callNative("SetPlayerAdmin","ii",e,t),mr=e=>samp.callNative("Kick","i",e),pr=e=>samp.callNative("Ban","i",e),gr=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},Sr=()=>samp.callNative("GetNetworkStats","Si",1024),yr=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Ir=e=>samp.callNative("UnBlockIpAddress","s",e),Pr=e=>samp.callNative("SendRconCommand","s",e),fr=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return A.decodeFromBuf(A.getValidStr(a),t)},Ar=(e,t,a,n,i)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,i),Tr=()=>{samp.callNative("ClearBanList","")},Er=e=>!!samp.callNative("IsBanned","s",e),Cr=e=>samp.callNative("GetPlayerRawIp","i",e),Dr=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},br=e=>{const[t]=samp.callNative("GetPlayerVersion","iSi",e,24);return t},P=e=>{if(typeof e=="number")return e;if(typeof+e=="number"&&!isNaN(+e))return+e;if(e.charAt(0)==="#")return e.length===4?parseInt(e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)+e.charAt(3)+e.charAt(3)+"FF",16):e.length===7?parseInt(e.slice(1,e.length)+"FF",16):e.length===9?parseInt(e.slice(1,e.length),16):255;const t=(e.match(/([0-9])+/g)||[]).map(n=>parseInt(n,10));if(t.length!==4&&t.length!==3)return 255;t.length===3?t.push(255):t[3]=t[3]<1?Math.floor(t[3]*255):255;let a=0;return t.reverse().forEach((n,i)=>{n!==0&&(a+=Math.pow(16,i*2)*n)}),a},Nr=(e,t)=>samp.callNative("TogglePlayerWidescreen","ii",e,t),vr=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Lr=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Rr=e=>samp.callNative("GetPlayerWeather","i",e),wr=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{x_max:t,x_min:a,y_max:n,y_min:i}},Or=e=>samp.callNativeFloat("GetPlayerZAim","i",e),Gr=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},Br=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:i}},Fr=e=>samp.callNative("GetPlayerDialogID","i",e),kr=e=>samp.callNative("GetPlayerSpectateID","i",e),Mr=e=>samp.callNative("GetPlayerSpectateType","i",e),xr=(e,t)=>samp.callNative("SetPlayerGravity","if",e,t),Hr=e=>samp.callNativeFloat("GetPlayerGravity","i",e),Vr=e=>!!samp.callNative("IsPlayerSpawned","i",e),Wr=e=>!!samp.callNative("IsPlayerControllable","i",e),Ur=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),Kr=(e,t)=>samp.callNative("TogglePlayerGhostMode","ii",e,t),Zr=e=>!!samp.callNative("GetPlayerGhostMode","i",e),jr=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),Xr=(e,t)=>samp.callNative("RemovePlayerWeapon","ii",e,t),Yr=e=>samp.callNative("HidePlayerDialog","i",e),$r=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),zr=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),Jr=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),Qr=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),qr=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),el=(e,t,a,n)=>!!samp.callNative("GameTextForPlayer","isii",e,t,a,n),tl=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),al=(e,t,a,n)=>samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),nl=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),il=e=>!!samp.callNative("IsPlayerNPC","i",e),lt=(e,t,a,n)=>samp.callNative("SetPlayerPos","ifff",e,t,a,n),rl=(e,t,a,n)=>samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,n),ll=e=>samp.callNative("GetPlayerPos","iFFF",e),sl=(e,t)=>samp.callNative("SetPlayerFacingAngle","if",e,t),ol=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},dl=(e,t,a,n,i)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,n,i),cl=(e,t,a,n)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,n),_l=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),hl=(e,t)=>samp.callNative("SetPlayerInterior","ii",e,t),ul=e=>samp.callNative("GetPlayerInterior","i",e),ml=(e,t)=>samp.callNative("SetPlayerHealth","if",e,t),pl=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},gl=(e,t)=>samp.callNative("SetPlayerArmour","if",e,t),Sl=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},yl=(e,t,a)=>samp.callNative("SetPlayerAmmo","iii",e,t,a),Il=e=>samp.callNative("GetPlayerAmmo","i",e),Pl=e=>samp.callNative("GetPlayerWeaponState","i",e),fl=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Al=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Tl=e=>samp.callNative("GetPlayerTeam","i",e),El=(e,t)=>samp.callNative("SetPlayerScore","ii",e,t),Cl=e=>samp.callNative("GetPlayerScore","i",e),Dl=e=>samp.callNative("GetPlayerDrunkLevel","i",e),bl=(e,t)=>samp.callNative("SetPlayerDrunkLevel","ii",e,t),Nl=(e,t)=>samp.callNative("SetPlayerColor","ii",e,P(t)),vl=e=>samp.callNative("GetPlayerColor","i",e),Ll=(e,t)=>samp.callNative("SetPlayerSkin","ii",e,t),Rl=e=>samp.callNative("GetPlayerSkin","i",e),wl=(e,t,a)=>samp.callNative("GivePlayerWeapon","iii",e,t,a),Ol=e=>samp.callNative("ResetPlayerWeapons","i",e),Gl=(e,t)=>samp.callNative("SetPlayerArmedWeapon","ii",e,t),Bl=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),Fl=(e,t)=>samp.callNative("GivePlayerMoney","ii",e,t),kl=e=>samp.callNative("ResetPlayerMoney","i",e),Ml=e=>samp.callNative("GetPlayerMoney","i",e),xl=e=>samp.callNative("GetPlayerState","i",e),Hl=e=>samp.callNative("GetPlayerPing","i",e),Vl=e=>samp.callNative("GetPlayerWeapon","i",e),Wl=e=>samp.callNative("GetPlayerKeys","iIII",e),Ul=(e,t,a)=>samp.callNative("SetPlayerTime","iii",e,t,a),Kl=e=>samp.callNative("GetPlayerTime","iII",e),Zl=(e,t)=>samp.callNative("TogglePlayerClock","ii",e,t),jl=(e,t)=>samp.callNative("SetPlayerWeather","ii",e,t),Xl=e=>samp.callNative("ForceClassSelection","i",e),Yl=(e,t)=>samp.callNative("SetPlayerWantedLevel","ii",e,t),$l=e=>samp.callNative("GetPlayerWantedLevel","i",e),zl=(e,t)=>samp.callNative("SetPlayerFightingStyle","ii",e,t),Jl=e=>samp.callNative("GetPlayerFightingStyle","i",e),Ql=(e,t,a,n)=>samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),ql=e=>samp.callNative("GetPlayerVelocity","iFFF",e),es=(e,t,a)=>samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),ts=(e,t,a,n,i,r,l=!1)=>samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,i,r,l),as=e=>samp.callNative("StopAudioStreamForPlayer","i",e),ns=(e,t)=>samp.callNative("SetPlayerShopName","is",e,t),is=(e,t,a)=>samp.callNative("SetPlayerSkillLevel","iii",e,t,a),rs=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),ls=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),ss=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),os=(e,t,a,n,i,r)=>samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,i,r),ds=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),cs=(e,t,a,n,i)=>samp.callNative("SetPlayerChatBubble","isifi",e,t,P(a),n,i),_s=(e,t,a)=>samp.callNative("PutPlayerInVehicle","iii",e,t,a),hs=e=>samp.callNative("GetPlayerVehicleID","i",e),us=e=>samp.callNative("GetPlayerVehicleSeat","i",e),ms=e=>samp.callNative("RemovePlayerFromVehicle","i",e),ps=(e,t)=>samp.callNative("TogglePlayerControllable","ii",e,t),gs=(e,t,a,n,i)=>samp.callNative("PlayerPlaySound","iifff",e,t,a,n,i),Ss=(e,t,a,n,i,r,l,o,d,c)=>samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,i,r,l,o,d,c),ys=(e,t)=>samp.callNative("ClearAnimations","ii",e,t),Is=e=>samp.callNative("GetPlayerAnimationIndex","i",e),Ps=e=>samp.callNative("GetPlayerSpecialAction","i",e),fs=(e,t)=>samp.callNative("SetPlayerSpecialAction","ii",e,t),As=(e,t)=>samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),Ts=(e,t)=>samp.callNative("SetPlayerVirtualWorld","ii",e,t),Es=e=>samp.callNative("GetPlayerVirtualWorld","i",e),Cs=(e,t)=>samp.callNative("EnableStuntBonusForPlayer","ii",e,t),Ds=e=>samp.callNative("GetPlayerCustomSkin","i",e),bs=(e,t,a,n,i,r)=>samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,i,r),Ns=(e,t,a)=>samp.callNative("StartRecordingPlayerData","iis",e,t,a),vs=e=>samp.callNative("StopRecordingPlayerData","i",e),Ls=(e,t)=>samp.callNative("TogglePlayerSpectating","ii",e,t),Rs=(e,t,a)=>samp.callNative("PlayerSpectatePlayer","iii",e,t,a),ws=(e,t,a)=>samp.callNative("PlayerSpectateVehicle","iii",e,t,a),st=e=>!!samp.callNative("IsPlayerConnected","i",e),Os=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),Gs=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),Bs=(e,t,a,n,i)=>samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,i),Fs=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),ks=(e,t,a)=>samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,P(a));function Ms(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const xs=(e,t,a)=>samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),Hs=(e,t,a,n)=>samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),Vs=(e,t,a,n,i)=>samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,i),Ws=e=>samp.callNative("SetCameraBehindPlayer","i",e),Us=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),Ks=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),Zs=e=>samp.callNative("GetPlayerCameraMode","i",e),js=(e,t)=>samp.callNative("EnablePlayerCameraTarget","ii",e,t),Xs=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),Ys=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),$s=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),zs=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),Js=(e,t,a,n,i,r,l,o,d)=>samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,i,r,l,o,d),Qs=(e,t,a,n,i,r,l,o,d)=>samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,i,r,l,o,d),qs=e=>!!samp.callNative("IsPlayerCuffed","i",e),eo=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),to=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),ao=()=>samp.callNative("StopRecordingPlayback",""),no=()=>samp.callNative("PauseRecordingPlayback",""),io=()=>samp.callNative("ResumeRecordingPlayback",""),ro=e=>samp.callNative("GetActorSkin","i",e),lo=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),so=e=>{const[t=0,a=0,n=0,i=0,r=0]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:a,fY:n,fZ:i,fAngle:r}},oo=e=>{const[t=0,a=0,n=0,i=0,r=0,l=0]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:a,fZ:n,fRot:i,color1:r,color2:l}},co=(e,t,a,n,i,r,l,o,d=-2,c=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,i,r,l,o,d,c),_o=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","i",e);return{color1:t,color2:a}},ho=e=>samp.callNative("GetVehiclePaintjob","i",e),uo=e=>samp.callNative("GetVehicleInterior","i",e),mo=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},po=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),go=e=>samp.callNative("GetVehicleRespawnDelay","i",e),So=e=>samp.callNative("GetVehicleCab","i",e),yo=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Io=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Po=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),fo=e=>!!samp.callNative("IsVehicleOccupied","i",e),Ao=e=>samp.callNative("GetVehicleRespawnTick","i",e),To=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Eo=e=>!!samp.callNative("IsVehicleDead","i",e),Co=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),Do=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),bo=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),No=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),vo=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),Lo=e=>samp.callNative("GetVehicleModelCount","i",e),Ro=e=>samp.callNative("GetVehicleLastDriver","i",e),wo=e=>samp.callNative("GetVehicleDriver","i",e),Oo=()=>samp.callNative("GetVehicleModelsUsed",""),Go=e=>samp.callNative("GetVehicleSirenState","i",e),Bo=e=>samp.callNative("GetVehicleLandingGearState","i",e),Fo=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),ko=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),Mo=e=>{const[t=0,a=0,n=0,i=0,r=0,l=0,o=0,d=0,c=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:i,upY:r,upZ:l,atX:o,atY:d,atZ:c}},ot=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,i]}},xo=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),Ho=(e,t,a,n,i,r,l,o,d)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,i,P(r),P(l),o,d),Vo=e=>samp.callNative("DestroyVehicle","i",e),Wo=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),Uo=e=>{const t=samp.callNative("GetVehiclePos","iFFF",e);if(t.length<3)throw new Error("VehicleID "+e+" not found");return{x:t[0],y:t[1],z:t[2]}},Ko=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),Zo=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},jo=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),Xo=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),Yo=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),$o=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),zo=()=>samp.callNative("ManualVehicleEngineAndLights",""),Jo=(e,t,a,n,i,r,l,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,i,r,l,o),Qo=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),qo=e=>samp.callNative("GetVehicleParamsSirenState","i",e),ed=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,i),td=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},ad=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,i),nd=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},id=e=>samp.callNative("SetVehicleToRespawn","i",e),rd=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),ld=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),sd=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),od=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,P(t),P(a)),dd=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),cd=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),_d=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},hd=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),ud=e=>samp.callNative("DetachTrailerFromVehicle","i",e),md=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),pd=e=>samp.callNative("GetVehicleTrailer","i",e),gd=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),Sd=e=>samp.callNative("GetVehicleModel","i",e),yd=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Id=e=>samp.callNative("GetVehicleComponentType","i",e),Pd=e=>samp.callNative("RepairVehicle","i",e),fd=e=>samp.callNative("GetVehicleVelocity","iFFF",e),Ad=(e,t,a,n)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,n),Td=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),Ed=e=>{const t=samp.callNative("GetVehicleDamageStatus","iIIII",e);if(t.length<4)throw new Error("VehicleID "+e+" not found");return{panels:t[0],doors:t[1],lights:t[2],tires:t[3]}},Cd=(e,t,a,n,i)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,i),Dd=(e,t)=>{const a=samp.callNative("GetVehicleModelInfo","iiFFF",e,t);if(a.length<3)throw new Error("ModelID "+e+" not found");return{x:a[0],y:a[1],z:a[2]}},bd=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),Nd=e=>samp.callNative("GetVehicleVirtualWorld","i",e),dt=e=>!!samp.callNative("IsValidVehicle","i",e),vd=(e,t,a,n,i,r,l)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,i,r,l),Ld=(e,t,a,n,i,r,l,o,d)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,i,r,l,o,d),Rd=e=>!!samp.callNative("ShowVehicle","i",e),wd=e=>!!samp.callNative("HideVehicle","i",e),Od=e=>!!samp.callNative("IsVehicleHidden","i",e),Gd=e=>!!samp.callNative("IsPlayerInModShop","i",e),Bd=e=>samp.callNative("GetPlayerSirenState","i",e),Fd=e=>samp.callNative("GetPlayerLandingGearState","i",e),kd=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),Md=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),xd=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),Hd=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:i}},Vd=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),Wd=e=>{const[t=0,a=0,n=0,i=0,r=0,l=0,o=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:n,fNextX:i,fNextY:r,fNextZ:l,fSize:o}},Ud=e=>!!samp.callNative("IsMenuDisabled","i",e),Kd=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),Zd=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),jd=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},Xd=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},Yd=(e,t)=>{const[a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return a},$d=(e,t,a)=>{const[n]=samp.callNative("GetMenuItem","iiiSi",e,t,a,31);return n},zd=(e,t,a,n,i,r)=>samp.callNative("CreateMenu","siffff",e,t,a,n,i,r),Jd=e=>samp.callNative("DestroyMenu","i",e),Qd=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),qd=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),ec=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),tc=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),ac=e=>!!samp.callNative("IsValidMenu","i",e),nc=e=>samp.callNative("DisableMenu","i",e),ic=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),rc=e=>samp.callNative("GetPlayerMenu","i",e),lc=e=>!!samp.callNative("IsValidGangZone","i",e),sc=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),oc=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),dc=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),cc=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),_c=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),hc=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:i}},uc=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},mc=(e,t,a,n)=>samp.callNative("GangZoneCreate","ffff",e,t,a,n),pc=e=>samp.callNative("GangZoneDestroy","i",e),gc=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,P(a)),Sc=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,P(t)),yc=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),Ic=e=>samp.callNative("GangZoneHideForAll","i",e),Pc=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,P(a)),fc=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,P(t)),Ac=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Tc=e=>samp.callNative("GangZoneStopFlashForAll","i",e),Ec=(e,t,a,n,i)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,i),Cc=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),Dc=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),bc=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),Nc=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),vc=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),Lc=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),Rc=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),wc=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),Oc=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),Gc=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),Bc=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),Fc=(e,t)=>{const[a=0,n=0,i=0,r=0]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:a,fMinY:n,fMaxX:i,fMaxY:r}},kc=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},Mc=e=>!!samp.callNative("IsValidTextDraw","i",e),xc=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),Hc=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},Vc=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},Wc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},Uc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},Kc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},Zc=e=>samp.callNative("TextDrawGetColor","i",e),jc=e=>samp.callNative("TextDrawGetBoxColor","i",e),Xc=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),Yc=e=>samp.callNative("TextDrawGetShadow","i",e),$c=e=>samp.callNative("TextDrawGetOutline","i",e),zc=e=>samp.callNative("TextDrawGetFont","i",e),Jc=e=>!!samp.callNative("TextDrawIsBox","i",e),Qc=e=>!!samp.callNative("TextDrawIsProportional","i",e),qc=e=>!!samp.callNative("TextDrawIsSelectable","i",e),e_=e=>samp.callNative("TextDrawGetAlignment","i",e),t_=e=>samp.callNative("TextDrawGetPreviewModel","i",e),a_=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:i}},n_=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},i_=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iis",e,t,a)},r_=(e,t,a)=>samp.callNative("TextDrawCreate","ffs",e,t,a),l_=e=>samp.callNative("TextDrawDestroy","i",e),s_=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),o_=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),d_=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),c_=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,P(t)),__=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),h_=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,P(t)),u_=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),m_=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),p_=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,P(t)),g_=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),S_=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),y_=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),I_=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),P_=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),f_=e=>samp.callNative("TextDrawShowForAll","i",e),A_=e=>samp.callNative("TextDrawHideForAll","i",e),T_=(e,t)=>samp.callNative("TextDrawSetString","is",e,t),E_=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),C_=(e,t,a,n,i=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,i)},D_=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,P(t),P(a)),b_=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,P(t))},N_=e=>{samp.callNative("CancelSelectTextDraw","i",e)},v_=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),L_=(e,t)=>samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024),R_=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},w_=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},O_=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:n}},G_=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:n}},B_=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),F_=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),k_=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),M_=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),x_=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),H_=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),V_=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),W_=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),U_=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),K_=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),Z_=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),j_=(e,t)=>{const[a=0,n=0,i=0,r=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:a,fRotY:n,fRotZ:i,fZoom:r}},X_=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},Y_=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffs",e,t,a,n),$_=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},z_=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),J_=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),Q_=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,P(a)),q_=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),eh=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,P(a)),th=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),ah=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),nh=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,P(a)),ih=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),rh=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),lh=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),sh=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),oh=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),dh=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iis",e,t,a),ch=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),_h=(e,t,a,n,i,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,i,r),hh=(e,t,a,n)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,n),uh=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),mh=e=>!!samp.callNative("BeginObjectSelecting","i",e),ph=e=>!!samp.callNative("EndObjectEditing","i",e),gh=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),Sh=(e,t,a,n,i)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,i),yh=(e,t,a,n,i,r,l)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,i,r,l),Ih=(e,t)=>samp.callNative("RedirectDownload","is",e,t),Ph=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},fh=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},Ah=(e,t)=>{const[a=0,n=0,i=0,r=0,l=0,o=0,d=0,c=0,u=0,p=0,S=0,f=0,T=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:n,fX:i,fY:r,fZ:l,fRotX:o,fRotY:d,fRotZ:c,fScaleX:u,fScaleY:p,fScaleZ:S,materialColor1:f,materialColor2:T}},Th=(e,t,a,n,i,r,l,o,d,c,u,p,S,f,T)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,i,r,l,o,d,c,u,p,S,P(f),P(T)),Eh=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),Ch=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),ct=e=>!!samp.callNative("IsValidCustomModel","i",e),Dh=e=>{if(!ct(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var _t=(e=>(e[e.DOWNLOAD_REQUEST_EMPTY=0]="DOWNLOAD_REQUEST_EMPTY",e[e.DOWNLOAD_REQUEST_MODEL_FILE=1]="DOWNLOAD_REQUEST_MODEL_FILE",e[e.DOWNLOAD_REQUEST_TEXTURE_FILE=2]="DOWNLOAD_REQUEST_TEXTURE_FILE",e))(_t||{}),ht=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(ht||{}),Te=(e=>(e[e.MSGBOX=0]="MSGBOX",e[e.INPUT=1]="INPUT",e[e.LIST=2]="LIST",e[e.PASSWORD=3]="PASSWORD",e[e.TABLIST=4]="TABLIST",e[e.TABLIST_HEADERS=5]="TABLIST_HEADERS",e))(Te||{}),ut=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(ut||{}),mt=(e=>(e[e.NO_ACTION=0]="NO_ACTION",e[e.DISCONNECT_ASAP=1]="DISCONNECT_ASAP",e[e.DISCONNECT_ASAP_SILENTLY=2]="DISCONNECT_ASAP_SILENTLY",e[e.DISCONNECT_ON_NO_ACK=3]="DISCONNECT_ON_NO_ACK",e[e.REQUESTED_CONNECTION=4]="REQUESTED_CONNECTION",e[e.HANDLING_CONNECTION_REQUEST=5]="HANDLING_CONNECTION_REQUEST",e[e.UNVERIFIED_SENDER=6]="UNVERIFIED_SENDER",e[e.SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET=7]="SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET",e[e.CONNECTED=8]="CONNECTED",e))(mt||{}),C=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.VEHICLE_ID=65535]="VEHICLE_ID",e[e.ACTOR_ID=65535]="ACTOR_ID",e[e.OBJECT_ID=65535]="OBJECT_ID",e[e.MENU=-1]="MENU",e[e.TEXT_DRAW=65535]="TEXT_DRAW",e[e.PLAYER_TEXT_DRAW=65535]="PLAYER_TEXT_DRAW",e[e.GANG_ZONE=-1]="GANG_ZONE",e[e._3DTEXT_ID=65535]="_3DTEXT_ID",e[e.PLAYER_3DTEXT_ID=65535]="PLAYER_3DTEXT_ID",e))(C||{}),pt=(e=>(e[e.ACTION=1]="ACTION",e[e.CROUCH=2]="CROUCH",e[e.FIRE=4]="FIRE",e[e.SPRINT=8]="SPRINT",e[e.SECONDARY_ATTACK=16]="SECONDARY_ATTACK",e[e.JUMP=32]="JUMP",e[e.LOOK_RIGHT=64]="LOOK_RIGHT",e[e.HANDBRAKE=128]="HANDBRAKE",e[e.LOOK_LEFT=256]="LOOK_LEFT",e[e.SUBMISSION=512]="SUBMISSION",e[e.LOOK_BEHIND=512]="LOOK_BEHIND",e[e.WALK=1024]="WALK",e[e.ANALOG_UP=2048]="ANALOG_UP",e[e.ANALOG_DOWN=4096]="ANALOG_DOWN",e[e.ANALOG_LEFT=8192]="ANALOG_LEFT",e[e.ANALOG_RIGHT=16384]="ANALOG_RIGHT",e[e.YES=65536]="YES",e[e.NO=131072]="NO",e[e.CTRL_BACK=262144]="CTRL_BACK",e[e.KEY_UP=-128]="KEY_UP",e[e.KEY_DOWN=128]="KEY_DOWN",e[e.KEY_LEFT=-128]="KEY_LEFT",e[e.KEY_RIGHT=128]="KEY_RIGHT",e))(pt||{}),L=(e=>(e[e.MAX_PLAYER_NAME=24]="MAX_PLAYER_NAME",e[e.MAX_PLAYERS=1e3]="MAX_PLAYERS",e[e.MAX_VEHICLES=2e3]="MAX_VEHICLES",e[e.MAX_ACTORS=1e3]="MAX_ACTORS",e[e.MAX_OBJECTS=1e3]="MAX_OBJECTS",e[e.MAX_GANG_ZONES=1024]="MAX_GANG_ZONES",e[e.MAX_TEXT_DRAWS=2048]="MAX_TEXT_DRAWS",e[e.MAX_PLAYER_TEXT_DRAWS=256]="MAX_PLAYER_TEXT_DRAWS",e[e.MAX_MENUS=128]="MAX_MENUS",e[e.MAX_MENU_ROW=12]="MAX_MENU_ROW",e[e.MAX_MENU_COL=2]="MAX_MENU_COL",e[e.MAX_3DTEXT_GLOBAL=1024]="MAX_3DTEXT_GLOBAL",e[e.MAX_3DTEXT_PLAYER=1024]="MAX_3DTEXT_PLAYER",e[e.MAX_PICKUPS=4096]="MAX_PICKUPS",e[e.MAX_PLAYER_ATTACHED_OBJECTS=10]="MAX_PLAYER_ATTACHED_OBJECTS",e[e.MAX_CHATBUBBLE_LENGTH=144]="MAX_CHATBUBBLE_LENGTH",e))(L||{}),gt=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(gt||{}),St=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(St||{}),R=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(R||{}),yt=(e=>(e[e._32x32=10]="_32x32",e[e._64x32=20]="_64x32",e[e._64x64=30]="_64x64",e[e._128x32=40]="_128x32",e[e._128x64=50]="_128x64",e[e._128x128=60]="_128x128",e[e._256x32=70]="_256x32",e[e._256x64=80]="_256x64",e[e._256x128=90]="_256x128",e[e._256x256=100]="_256x256",e[e._512x64=110]="_512x64",e[e._512x128=120]="_512x128",e[e._512x256=130]="_512x256",e[e._512x512=140]="_512x512",e))(yt||{}),It=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(It||{}),Pt=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(Pt||{}),ft=(e=>(e[e.NORMAL=0]="NORMAL",e[e.BOXING=1]="BOXING",e[e.KUNGFU=2]="KUNGFU",e[e.KNEEHEAD=3]="KNEEHEAD",e[e.GRABKICK=4]="GRABKICK",e[e.ELBOW=5]="ELBOW",e))(ft||{}),At=(e=>(e[e.LOCAL=0]="LOCAL",e[e.GLOBAL=1]="GLOBAL",e[e.LOCAL_CHECKPOINT=2]="LOCAL_CHECKPOINT",e[e.GLOBAL_CHECKPOINT=3]="GLOBAL_CHECKPOINT",e))(At||{}),de=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(de||{}),Tt=(e=>(e[e.BEHINDCAR=3]="BEHINDCAR",e[e.FOLLOWPED=4]="FOLLOWPED",e[e.SNIPER=7]="SNIPER",e[e.ROCKETLAUNCHER=8]="ROCKETLAUNCHER",e[e.FIXED=15]="FIXED",e[e._1STPERSON=16]="_1STPERSON",e[e.CAM_ON_A_STRING=18]="CAM_ON_A_STRING",e[e.BEHINDBOAT=22]="BEHINDBOAT",e[e.CAMERA=46]="CAMERA",e[e.ROCKETLAUNCHER_HS=51]="ROCKETLAUNCHER_HS",e[e.AIMWEAPON=53]="AIMWEAPON",e[e.AIMWEAPON_FROMCAR=55]="AIMWEAPON_FROMCAR",e[e.DW_HELI_CHASE=56]="DW_HELI_CHASE",e[e.DW_CAM_MAN=57]="DW_CAM_MAN",e[e.DW_BIRDY=58]="DW_BIRDY",e[e.DW_PLANE_SPOTTER=59]="DW_PLANE_SPOTTER",e[e.DW_PLANECAM1=62]="DW_PLANECAM1",e[e.DW_PLANECAM2=63]="DW_PLANECAM2",e[e.DW_PLANECAM3=64]="DW_PLANECAM3",e))(Tt||{}),ce=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(ce||{}),j=(e=>(e[e.NONE=0]="NONE",e[e.ONFOOT=1]="ONFOOT",e[e.DRIVER=2]="DRIVER",e[e.PASSENGER=3]="PASSENGER",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.ENTER_VEHICLE_DRIVER=5]="ENTER_VEHICLE_DRIVER",e[e.ENTER_VEHICLE_PASSENGER=6]="ENTER_VEHICLE_PASSENGER",e[e.WASTED=7]="WASTED",e[e.SPAWNED=8]="SPAWNED",e[e.SPECTATING=9]="SPECTATING",e))(j||{}),Et=(e=>(e[e.TORSO=3]="TORSO",e[e.GROIN=4]="GROIN",e[e.LEFT_ARM=5]="LEFT_ARM",e[e.RIGHT_ARM=6]="RIGHT_ARM",e[e.LEFT_LEG=7]="LEFT_LEG",e[e.RIGHT_LEG=8]="RIGHT_LEG",e[e.HEAD=9]="HEAD",e))(Et||{}),Ct=(e=>(e[e.Spine=1]="Spine",e[e.Head=2]="Head",e[e.LeftUpperArm=3]="LeftUpperArm",e[e.RightUpperArm=4]="RightUpperArm",e[e.LeftHand=5]="LeftHand",e[e.RightHand=6]="RightHand",e[e.LeftThigh=7]="LeftThigh",e[e.RightThigh=8]="RightThigh",e[e.LeftFoot=9]="LeftFoot",e[e.RightFoot=10]="RightFoot",e[e.RightCalf=11]="RightCalf",e[e.LeftCalf=12]="LeftCalf",e[e.LeftForearm=13]="LeftForearm",e[e.RightForearm=14]="RightForearm",e[e.LeftClavicle=15]="LeftClavicle",e[e.RightClavicle=16]="RightClavicle",e[e.Neck=17]="Neck",e[e.Jaw=18]="Jaw",e))(Ct||{}),Ee=(e=>(e[e.NONE=0]="NONE",e[e.DUCK=1]="DUCK",e[e.USEJETPACK=2]="USEJETPACK",e[e.ENTER_VEHICLE=3]="ENTER_VEHICLE",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.DANCE1=5]="DANCE1",e[e.DANCE2=6]="DANCE2",e[e.DANCE3=7]="DANCE3",e[e.DANCE4=8]="DANCE4",e[e.HANDSUP=10]="HANDSUP",e[e.USECELLPHONE=11]="USECELLPHONE",e[e.SITTING=12]="SITTING",e[e.STOPUSECELLPHONE=13]="STOPUSECELLPHONE",e[e.DRINK_BEER=20]="DRINK_BEER",e[e.SMOKE_CIGGY=21]="SMOKE_CIGGY",e[e.DRINK_WINE=22]="DRINK_WINE",e[e.DRINK_SPRUNK=23]="DRINK_SPRUNK",e[e.CUFFED=24]="CUFFED",e[e.CARRY=25]="CARRY",e[e.PISSING=68]="PISSING",e))(Ee||{}),ee=(e=>(e[e.FONT_0=0]="FONT_0",e[e.FONT_1=1]="FONT_1",e[e.FONT_2=2]="FONT_2",e[e.FONT_3=3]="FONT_3",e[e.SPRITE_DRAW=4]="SPRITE_DRAW",e[e.MODEL_PREVIEW=5]="MODEL_PREVIEW",e[e.BANK=0]="BANK",e[e.STANDARD=1]="STANDARD",e[e.SPACEAGE=2]="SPACEAGE",e[e.HEADING=3]="HEADING",e[e.BECKETT_REGULAR=0]="BECKETT_REGULAR",e[e.AHARONI_BOLD=1]="AHARONI_BOLD",e[e.BANK_GOTHIC=2]="BANK_GOTHIC",e[e.PRICEDOWN=3]="PRICEDOWN",e[e.SPRITE=4]="SPRITE",e[e.PREVIEW=5]="PREVIEW",e))(ee||{}),Dt=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Dt||{}),bt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=-1]="NONE",e[e.SPOILER=0]="SPOILER",e[e.HOOD=1]="HOOD",e[e.ROOF=2]="ROOF",e[e.SIDESKIRT=3]="SIDESKIRT",e[e.LAMPS=4]="LAMPS",e[e.NITRO=5]="NITRO",e[e.EXHAUST=6]="EXHAUST",e[e.WHEELS=7]="WHEELS",e[e.STEREO=8]="STEREO",e[e.HYDRAULICS=9]="HYDRAULICS",e[e.FRONT_BUMPER=10]="FRONT_BUMPER",e[e.REAR_BUMPER=11]="REAR_BUMPER",e[e.VENT_RIGHT=12]="VENT_RIGHT",e[e.VENT_LEFT=13]="VENT_LEFT",e[e.FRONT_BULLBAR=14]="FRONT_BULLBAR",e[e.REAR_BULLBAR=15]="REAR_BULLBAR",e))(bt||{}),Nt=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(Nt||{}),vt=(e=>(e[e.SIZE=1]="SIZE",e[e.FRONTSEAT=2]="FRONTSEAT",e[e.REARSEAT=3]="REARSEAT",e[e.PETROLCAP=4]="PETROLCAP",e[e.WHEELSFRONT=5]="WHEELSFRONT",e[e.WHEELSREAR=6]="WHEELSREAR",e[e.WHEELSMID=7]="WHEELSMID",e[e.FRONT_BUMPER_Z=8]="FRONT_BUMPER_Z",e[e.REAR_BUMPER_Z=9]="REAR_BUMPER_Z",e))(vt||{}),Lt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.REASON_VEHICLE=49]="REASON_VEHICLE",e[e.REASON_DROWN=53]="REASON_DROWN",e[e.REASON_COLLISION=54]="REASON_COLLISION",e[e.REASON_SPLAT=54]="REASON_SPLAT",e[e.REASON_CONNECT=200]="REASON_CONNECT",e[e.REASON_DISCONNECT=200]="REASON_DISCONNECT",e[e.REASON_SUICIDE=255]="REASON_SUICIDE",e[e.FIST=0]="FIST",e[e.BRASSKNUCKLE=1]="BRASSKNUCKLE",e[e.GOLFCLUB=2]="GOLFCLUB",e[e.NITESTICK=3]="NITESTICK",e[e.KNIFE=4]="KNIFE",e[e.BAT=5]="BAT",e[e.SHOVEL=6]="SHOVEL",e[e.POOLSTICK=7]="POOLSTICK",e[e.KATANA=8]="KATANA",e[e.CHAINSAW=9]="CHAINSAW",e[e.DILDO=10]="DILDO",e[e.DILDO2=11]="DILDO2",e[e.VIBRATOR=12]="VIBRATOR",e[e.VIBRATOR2=13]="VIBRATOR2",e[e.FLOWER=14]="FLOWER",e[e.CANE=15]="CANE",e[e.GRENADE=16]="GRENADE",e[e.TEARGAS=17]="TEARGAS",e[e.MOLTOV=18]="MOLTOV",e[e.COLT45=22]="COLT45",e[e.SILENCED=23]="SILENCED",e[e.DEAGLE=24]="DEAGLE",e[e.SHOTGUN=25]="SHOTGUN",e[e.SAWEDOFF=26]="SAWEDOFF",e[e.SHOTGSPA=27]="SHOTGSPA",e[e.UZI=28]="UZI",e[e.MP5=29]="MP5",e[e.AK47=30]="AK47",e[e.M4=31]="M4",e[e.TEC9=32]="TEC9",e[e.RIFLE=33]="RIFLE",e[e.SNIPER=34]="SNIPER",e[e.ROCKETLAUNCHER=35]="ROCKETLAUNCHER",e[e.HEATSEEKER=36]="HEATSEEKER",e[e.FLAMETHROWER=37]="FLAMETHROWER",e[e.MINIGUN=38]="MINIGUN",e[e.SATCHEL=39]="SATCHEL",e[e.BOMB=40]="BOMB",e[e.SPRAYCAN=41]="SPRAYCAN",e[e.FIREEXTINGUISHER=42]="FIREEXTINGUISHER",e[e.CAMERA=43]="CAMERA",e[e.NIGHT_VISION_GOGGLES=44]="NIGHT_VISION_GOGGLES",e[e.THERMAL_GOGGLES=45]="THERMAL_GOGGLES",e[e.PARACHUTE=46]="PARACHUTE",e))(Lt||{}),Rt=(e=>(e[e.PISTOL=0]="PISTOL",e[e.PISTOL_SILENCED=1]="PISTOL_SILENCED",e[e.DESERT_EAGLE=2]="DESERT_EAGLE",e[e.SHOTGUN=3]="SHOTGUN",e[e.SAWNOFF_SHOTGUN=4]="SAWNOFF_SHOTGUN",e[e.SPAS12_SHOTGUN=5]="SPAS12_SHOTGUN",e[e.MICRO_UZI=6]="MICRO_UZI",e[e.MP5=7]="MP5",e[e.AK47=8]="AK47",e[e.M4=9]="M4",e[e.SNIPERRIFLE=10]="SNIPERRIFLE",e))(Rt||{}),wt=(e=>(e[e.NONE=0]="NONE",e[e.PLAYER=1]="PLAYER",e[e.VEHICLE=2]="VEHICLE",e[e.OBJECT=3]="OBJECT",e[e.PLAYER_OBJECT=4]="PLAYER_OBJECT",e))(wt||{}),Ot=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NO_BULLETS=0]="NO_BULLETS",e[e.LAST_BULLET=1]="LAST_BULLET",e[e.MORE_BULLETS=2]="MORE_BULLETS",e[e.RELOADING=3]="RELOADING",e))(Ot||{}),Ce=(e=>(e[e.VEHICLE=49]="VEHICLE",e[e.HELICOPTERBLADES=50]="HELICOPTERBLADES",e[e.EXPLOSION=51]="EXPLOSION",e[e.DROWN=53]="DROWN",e[e.COLLISION=54]="COLLISION",e[e.CONNECT=200]="CONNECT",e[e.DISCONNECT=201]="DISCONNECT",e[e.SUICIDE=255]="SUICIDE",e))(Ce||{}),Gt=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(Gt||{}),bh=Object.defineProperty,Nh=(e,t,a)=>t in e?bh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Bt=(e,t,a)=>(Nh(e,typeof t!="symbol"?t+"":t,a),a);const De=class F{constructor(){}static startRecordingPlayerData(t,a,n){if(t.isRecording)return s.warn("[NpcFunc]: It should be stopped before recording");Ns(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return s.warn("[NpcFunc]: It should be started before stop");vs(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(F.recordStatus>=R.start)return s.warn("[NpcFunc]: The current status cannot be replayed");to(t,a),F.recordStatus=R.start}static stopRecordingPlayback(){if(F.recordStatus<R.start)return s.warn("[NpcFunc]: The current status cannot be stopped");ao(),F.recordStatus=R.none}static pauseRecordingPlayback(){if(F.recordStatus!==R.start)return s.warn("[NpcFunc]: The current status cannot be paused");no(),F.recordStatus=R.pause}static resumeRecordingPlayback(){if(F.recordStatus!==R.pause)return s.warn("[NpcFunc]: The current status cannot be paused");io(),F.recordStatus=R.start}};Bt(De,"recordStatus"),Bt(De,"connectNPC",Vi);let vh=De;const Lh=new Map([["AIRPORT",[{n:"thrw_barl_thrw",d:2}]],["Attractors",[{n:"Stepsit_in",d:1.67},{n:"Stepsit_loop",d:3.33},{n:"Stepsit_out",d:1.67}]],["BAR",[{n:"Barcustom_get",d:3},{n:"Barcustom_loop",d:2},{n:"Barcustom_order",d:3.67},{n:"BARman_idle",d:8.33},{n:"Barserve_bottle",d:3},{n:"Barserve_give",d:2.33},{n:"Barserve_glass",d:3.67},{n:"Barserve_in",d:1.67},{n:"Barserve_loop",d:2.33},{n:"Barserve_order",d:3.67},{n:"dnk_stndF_loop",d:2.33},{n:"dnk_stndM_loop",d:2.33}]],["BASEBALL",[{n:"Bat_1",d:.9},{n:"Bat_2",d:1.13},{n:"Bat_3",d:1.2},{n:"Bat_4",d:1},{n:"Bat_block",d:.47},{n:"Bat_Hit_1",d:.83},{n:"Bat_Hit_2",d:1.07},{n:"Bat_Hit_3",d:1.13},{n:"Bat_IDLE",d:.93},{n:"Bat_M",d:.53},{n:"BAT_PART",d:.53}]],["BD_FIRE",[{n:"BD_Fire1",d:1.83},{n:"BD_Fire2",d:1.67},{n:"BD_Fire3",d:1.83},{n:"BD_GF_Wave",d:5.07},{n:"BD_Panic_01",d:3.33},{n:"BD_Panic_02",d:3.33},{n:"BD_Panic_03",d:3.33},{n:"BD_Panic_04",d:3.33},{n:"BD_Panic_Loop",d:3.33},{n:"Grlfrd_Kiss_03",d:7},{n:"M_smklean_loop",d:5},{n:"Playa_Kiss_03",d:7},{n:"wash_up",d:3}]],["BEACH",[{n:"bather",d:4.2},{n:"Lay_Bac_Loop",d:2.67},{n:"ParkSit_M_loop",d:3.67},{n:"ParkSit_W_loop",d:3.33},{n:"SitnWait_loop_W",d:1.33}]],["benchpress",[{n:"gym_bp_celebrate",d:5},{n:"gym_bp_down",d:1},{n:"gym_bp_getoff",d:8.67},{n:"gym_bp_geton",d:5.33},{n:"gym_bp_up_A",d:2.33},{n:"gym_bp_up_B",d:2.67},{n:"gym_bp_up_smooth",d:1.33}]],["BF_injection",[{n:"BF_getin_LHS",d:1},{n:"BF_getin_RHS",d:1},{n:"BF_getout_LHS",d:1.13},{n:"BF_getout_RHS",d:1.13}]],["BIKED",[{n:"BIKEd_Back",d:.1},{n:"BIKEd_drivebyFT",d:.2},{n:"BIKEd_drivebyLHS",d:.2},{n:"BIKEd_drivebyRHS",d:.2},{n:"BIKEd_Fwd",d:.2},{n:"BIKEd_getoffBACK",d:1.47},{n:"BIKEd_getoffLHS",d:1},{n:"BIKEd_getoffRHS",d:1},{n:"BIKEd_hit",d:.03},{n:"BIKEd_jumponL",d:.97},{n:"BIKEd_jumponR",d:.97},{n:"BIKEd_kick",d:1.07},{n:"BIKEd_Left",d:.1},{n:"BIKEd_passenger",d:.03},{n:"BIKEd_pushes",d:.8},{n:"BIKEd_Ride",d:.03},{n:"BIKEd_Right",d:.1},{n:"BIKEd_shuffle",d:.43},{n:"BIKEd_Still",d:.03}]],["BIKEH",[{n:"BIKEh_Back",d:.1},{n:"BIKEh_drivebyFT",d:.2},{n:"BIKEh_drivebyLHS",d:.2},{n:"BIKEh_drivebyRHS",d:.2},{n:"BIKEh_Fwd",d:.2},{n:"BIKEh_getoffBACK",d:1.7},{n:"BIKEh_getoffLHS",d:.77},{n:"BIKEh_getoffRHS",d:.73},{n:"BIKEh_hit",d:.03},{n:"BIKEh_jumponL",d:1.47},{n:"BIKEh_jumponR",d:1.5},{n:"BIKEh_kick",d:1.07},{n:"BIKEh_Left",d:.13},{n:"BIKEh_passenger",d:.03},{n:"BIKEh_pushes",d:.97},{n:"BIKEh_Ride",d:.03},{n:"BIKEh_Right",d:.13},{n:"BIKEh_Still",d:.03}]],["BIKELEAP",[{n:"bk_blnce_in",d:1.9},{n:"bk_blnce_out",d:1},{n:"bk_jmp",d:.4},{n:"bk_rdy_in",d:.5},{n:"bk_rdy_out",d:.4},{n:"struggle_cesar",d:.47},{n:"struggle_driver",d:.47},{n:"truck_driver",d:.73},{n:"truck_getin",d:2.5}]],["BIKES",[{n:"BIKEs_Back",d:.1},{n:"BIKEs_drivebyFT",d:.2},{n:"BIKEs_drivebyLHS",d:.2},{n:"BIKEs_drivebyRHS",d:.2},{n:"BIKEs_Fwd",d:.2},{n:"BIKEs_getoffBACK",d:2.43},{n:"BIKEs_getoffLHS",d:1.1},{n:"BIKEs_getoffRHS",d:1.1},{n:"BIKEs_hit",d:.03},{n:"BIKEs_jumponL",d:.9},{n:"BIKEs_jumponR",d:.9},{n:"BIKEs_kick",d:1},{n:"BIKEs_Left",d:.1},{n:"BIKEs_passenger",d:.03},{n:"BIKEs_pushes",d:.73},{n:"BIKEs_Ride",d:.03},{n:"BIKEs_Right",d:.1},{n:"BIKEs_Snatch_L",d:.43},{n:"BIKEs_Snatch_R",d:.43},{n:"BIKEs_Still",d:.03}]],["BIKEV",[{n:"BIKEv_Back",d:.17},{n:"BIKEv_drivebyFT",d:.17},{n:"BIKEv_drivebyLHS",d:.23},{n:"BIKEv_drivebyRHS",d:.2},{n:"BIKEv_Fwd",d:.2},{n:"BIKEv_getoffBACK",d:1.7},{n:"BIKEv_getoffLHS",d:.67},{n:"BIKEv_getoffRHS",d:.67},{n:"BIKEv_hit",d:.03},{n:"BIKEv_jumponL",d:.67},{n:"BIKEv_jumponR",d:.67},{n:"BIKEv_kick",d:1},{n:"BIKEv_Left",d:.1},{n:"BIKEv_passenger",d:.03},{n:"BIKEv_pushes",d:.73},{n:"BIKEv_Ride",d:.03},{n:"BIKEv_Right",d:.1},{n:"BIKEv_Still",d:.03}]],["BIKE_DBZ",[{n:"Pass_Driveby_BWD",d:.83},{n:"Pass_Driveby_FWD",d:.83},{n:"Pass_Driveby_LHS",d:.83},{n:"Pass_Driveby_RHS",d:.83}]],["BLOWJOBZ",[{n:"BJ_Car_End_P",d:4.13},{n:"BJ_Car_End_W",d:3.67},{n:"BJ_Car_Loop_P",d:.67},{n:"BJ_Car_Loop_W",d:.67},{n:"BJ_Car_Start_P",d:2.33},{n:"BJ_Car_Start_W",d:2.33},{n:"BJ_Couch_End_P",d:7.67},{n:"BJ_Couch_End_W",d:7.67},{n:"BJ_Couch_Loop_P",d:2},{n:"BJ_Couch_Loop_W",d:2},{n:"BJ_Couch_Start_P",d:5.33},{n:"BJ_Couch_Start_W",d:5.33},{n:"BJ_Stand_End_P",d:4.87},{n:"BJ_Stand_End_W",d:5.33},{n:"BJ_Stand_Loop_P",d:.67},{n:"BJ_Stand_Loop_W",d:.67},{n:"BJ_Stand_Start_P",d:2},{n:"BJ_Stand_Start_W",d:2}]],["BMX",[{n:"BMX_back",d:.1},{n:"BMX_bunnyhop",d:.33},{n:"BMX_drivebyFT",d:.2},{n:"BMX_driveby_LHS",d:.2},{n:"BMX_driveby_RHS",d:.2},{n:"BMX_fwd",d:.13},{n:"BMX_getoffBACK",d:1.37},{n:"BMX_getoffLHS",d:.73},{n:"BMX_getoffRHS",d:.63},{n:"BMX_jumponL",d:.9},{n:"BMX_jumponR",d:.9},{n:"BMX_Left",d:.13},{n:"BMX_pedal",d:.73},{n:"BMX_pushes",d:.8},{n:"BMX_Ride",d:.03},{n:"BMX_Right",d:.13},{n:"BMX_sprint",d:.67},{n:"BMX_still",d:.03}]],["BOMBER",[{n:"BOM_Plant",d:2.67},{n:"BOM_Plant_2Idle",d:1},{n:"BOM_Plant_Crouch_In",d:.8},{n:"BOM_Plant_Crouch_Out",d:.8},{n:"BOM_Plant_In",d:.87},{n:"BOM_Plant_Loop",d:.8}]],["BOX",[{n:"boxhipin",d:6.53},{n:"boxhipup",d:5},{n:"boxshdwn",d:6.1},{n:"boxshup",d:5.2},{n:"bxhipwlk",d:1.5},{n:"bxhwlki",d:.97},{n:"bxshwlk",d:2.5},{n:"bxshwlki",d:.97},{n:"bxwlko",d:.53},{n:"catch_box",d:1.5}]],["BSKTBALL",[{n:"BBALL_def_jump_shot",d:1.17},{n:"BBALL_def_loop",d:1},{n:"BBALL_def_stepL",d:.6},{n:"BBALL_def_stepR",d:.6},{n:"BBALL_Dnk",d:1.4},{n:"BBALL_Dnk_Gli",d:.37},{n:"BBALL_Dnk_Gli_O",d:.37},{n:"BBALL_Dnk_Lnch",d:.2},{n:"BBALL_Dnk_Lnch_O",d:.2},{n:"BBALL_Dnk_Lnd",d:.93},{n:"BBALL_Dnk_O",d:.1},{n:"BBALL_idle",d:2.43},{n:"BBALL_idle2",d:2.67},{n:"BBALL_idle2_O",d:2.67},{n:"BBALL_idleloop",d:.67},{n:"BBALL_idleloop_O",d:.67},{n:"BBALL_idle_O",d:2.43},{n:"BBALL_Jump_Cancel",d:1.07},{n:"BBALL_Jump_Cancel_O",d:1.07},{n:"BBALL_Jump_End",d:.93},{n:"BBALL_Jump_Shot",d:1.67},{n:"BBALL_Jump_Shot_O",d:.67},{n:"BBALL_Net_Dnk_O",d:1.83},{n:"BBALL_pickup",d:1.83},{n:"BBALL_pickup_O",d:1.83},{n:"BBALL_react_miss",d:.8},{n:"BBALL_react_score",d:1.1},{n:"BBALL_run",d:.9},{n:"BBALL_run_O",d:.9},{n:"BBALL_SkidStop_L",d:.5},{n:"BBALL_SkidStop_L_O",d:.5},{n:"BBALL_SkidStop_R",d:.5},{n:"BBALL_SkidStop_R_O",d:.5},{n:"BBALL_walk",d:1.07},{n:"BBALL_WalkStop_L",d:.5},{n:"BBALL_WalkStop_L_O",d:.5},{n:"BBALL_WalkStop_R",d:.5},{n:"BBALL_WalkStop_R_O",d:.5},{n:"BBALL_walk_O",d:1.07},{n:"BBALL_walk_start",d:.2},{n:"BBALL_walk_start_O",d:.2}]],["BUDDY",[{n:"buddy_crouchfire",d:.87},{n:"buddy_crouchreload",d:1.1},{n:"buddy_fire",d:.8},{n:"buddy_fire_poor",d:1.33},{n:"buddy_reload",d:1.3}]],["BUS",[{n:"BUS_close",d:.4},{n:"BUS_getin_LHS",d:.33},{n:"BUS_getin_RHS",d:2.17},{n:"BUS_getout_LHS",d:.8},{n:"BUS_getout_RHS",d:1.87},{n:"BUS_jacked_LHS",d:1.13},{n:"BUS_open",d:1.47},{n:"BUS_open_RHS",d:1.2},{n:"BUS_pullout_LHS",d:.8}]],["CAMERA",[{n:"camcrch_cmon",d:2.33},{n:"camcrch_idleloop",d:2},{n:"camcrch_stay",d:2},{n:"camcrch_to_camstnd",d:1.33},{n:"camstnd_cmon",d:3},{n:"camstnd_idleloop",d:2},{n:"camstnd_lkabt",d:4.33},{n:"camstnd_to_camcrch",d:1},{n:"piccrch_in",d:1.33},{n:"piccrch_out",d:2},{n:"piccrch_take",d:1},{n:"picstnd_in",d:1},{n:"picstnd_out",d:.67},{n:"picstnd_take",d:1}]],["CAR",[{n:"Fixn_Car_Loop",d:5},{n:"Fixn_Car_Out",d:2.33},{n:"flag_drop",d:4.5},{n:"Sit_relaxed",d:.03},{n:"Tap_hand",d:.33},{n:"Tyd2car_bump",d:.83},{n:"Tyd2car_high",d:8},{n:"Tyd2car_low",d:6.67},{n:"Tyd2car_med",d:6.67},{n:"Tyd2car_TurnL",d:1},{n:"Tyd2car_TurnR",d:1}]],["CARRY",[{n:"crry_prtial",d:.03},{n:"liftup",d:1.53},{n:"liftup05",d:.63},{n:"liftup105",d:.67},{n:"putdwn",d:1.13},{n:"putdwn05",d:.67},{n:"putdwn105",d:.53}]],["CAR_CHAT",[{n:"carfone_in",d:6},{n:"carfone_loopA",d:4},{n:"carfone_loopA_to_B",d:1},{n:"carfone_loopB",d:5},{n:"carfone_loopB_to_A",d:.67},{n:"carfone_out",d:3},{n:"CAR_Sc1_BL",d:11.67},{n:"CAR_Sc1_BR",d:11.67},{n:"CAR_Sc1_FL",d:11.67},{n:"CAR_Sc1_FR",d:11.67},{n:"CAR_Sc2_FL",d:5},{n:"CAR_Sc3_BR",d:10.83},{n:"CAR_Sc3_FL",d:10.83},{n:"CAR_Sc3_FR",d:10.83},{n:"CAR_Sc4_BL",d:4.4},{n:"CAR_Sc4_BR",d:6.53},{n:"CAR_Sc4_FL",d:10},{n:"CAR_Sc4_FR",d:10},{n:"car_talkm_in",d:1.67},{n:"car_talkm_loop",d:4.33},{n:"car_talkm_out",d:7.33}]],["CASINO",[{n:"cards_in",d:.67},{n:"cards_loop",d:3.33},{n:"cards_lose",d:3.33},{n:"cards_out",d:.67},{n:"cards_pick_01",d:4.67},{n:"cards_pick_02",d:5.33},{n:"cards_raise",d:1.67},{n:"cards_win",d:3},{n:"dealone",d:.8},{n:"manwinb",d:1.5},{n:"manwind",d:1.67},{n:"Roulette_bet",d:2.33},{n:"Roulette_in",d:.67},{n:"Roulette_loop",d:3.67},{n:"Roulette_lose",d:2.67},{n:"Roulette_out",d:.67},{n:"Roulette_win",d:2.33},{n:"Slot_bet_01",d:4.67},{n:"Slot_bet_02",d:2},{n:"Slot_in",d:3.67},{n:"Slot_lose_out",d:4},{n:"Slot_Plyr",d:1.33},{n:"Slot_wait",d:3.67},{n:"Slot_win_out",d:9.33},{n:"wof",d:1.47}]],["CHAINSAW",[{n:"CSAW_1",d:1},{n:"CSAW_2",d:1.03},{n:"CSAW_3",d:.87},{n:"CSAW_G",d:1.17},{n:"CSAW_Hit_1",d:.83},{n:"CSAW_Hit_2",d:1.07},{n:"CSAW_Hit_3",d:1.13},{n:"csaw_part",d:.13},{n:"IDLE_csaw",d:1.5},{n:"WEAPON_csaw",d:1.33},{n:"WEAPON_csawlo",d:1.9}]],["CHOPPA",[{n:"CHOPPA_back",d:.1},{n:"CHOPPA_bunnyhop",d:.33},{n:"CHOPPA_drivebyFT",d:.2},{n:"CHOPPA_driveby_LHS",d:.2},{n:"CHOPPA_driveby_RHS",d:.2},{n:"CHOPPA_fwd",d:.2},{n:"CHOPPA_getoffBACK",d:1.27},{n:"CHOPPA_getoffLHS",d:.73},{n:"CHOPPA_getoffRHS",d:.63},{n:"CHOPPA_jumponL",d:.7},{n:"CHOPPA_jumponR",d:.8},{n:"CHOPPA_Left",d:.13},{n:"CHOPPA_pedal",d:.73},{n:"CHOPPA_Pushes",d:.8},{n:"CHOPPA_ride",d:.03},{n:"CHOPPA_Right",d:.13},{n:"CHOPPA_sprint",d:.67},{n:"CHOPPA_Still",d:.03}]],["CLOTHES",[{n:"CLO_Buy",d:2.07},{n:"CLO_In",d:4},{n:"CLO_Out",d:2.67},{n:"CLO_Pose_Hat",d:3.33},{n:"CLO_Pose_In",d:3.13},{n:"CLO_Pose_In_O",d:4},{n:"CLO_Pose_Legs",d:3.33},{n:"CLO_Pose_Loop",d:6},{n:"CLO_Pose_Out",d:4},{n:"CLO_Pose_Out_O",d:4},{n:"CLO_Pose_Shoes",d:3.33},{n:"CLO_Pose_Torso",d:3.33},{n:"CLO_Pose_Watch",d:3.33}]],["COACH",[{n:"COACH_inL",d:2.17},{n:"COACH_inR",d:2.2},{n:"COACH_opnL",d:1.2},{n:"COACH_opnR",d:1.2},{n:"COACH_outL",d:1.73},{n:"COACH_outR",d:1.83}]],["COLT45",[{n:"2guns_crouchfire",d:.8},{n:"colt45_crouchfire",d:.8},{n:"colt45_crouchreload",d:1},{n:"colt45_fire",d:.73},{n:"colt45_fire_2hands",d:.87},{n:"colt45_reload",d:.93},{n:"sawnoff_reload",d:.93}]],["COP_AMBIENT",[{n:"Copbrowse_in",d:5},{n:"Copbrowse_loop",d:2.33},{n:"Copbrowse_nod",d:4},{n:"Copbrowse_out",d:2.67},{n:"Copbrowse_shake",d:1.83},{n:"Coplook_in",d:1.33},{n:"Coplook_loop",d:2.67},{n:"Coplook_nod",d:5.33},{n:"Coplook_out",d:.67},{n:"Coplook_shake",d:4},{n:"Coplook_think",d:3.33},{n:"Coplook_watch",d:2}]],["COP_DVBYZ",[{n:"COP_Dvby_B",d:.83},{n:"COP_Dvby_FT",d:.83},{n:"COP_Dvby_L",d:.83},{n:"COP_Dvby_R",d:.83}]],["CRACK",[{n:"Bbalbat_Idle_01",d:6.67},{n:"Bbalbat_Idle_02",d:10},{n:"crckdeth1",d:2.17},{n:"crckdeth2",d:3},{n:"crckdeth3",d:2.17},{n:"crckdeth4",d:1.67},{n:"crckidle1",d:3.5},{n:"crckidle2",d:3.33},{n:"crckidle3",d:3.33},{n:"crckidle4",d:2.67}]],["CRIB",[{n:"CRIB_Console_Loop",d:3},{n:"CRIB_Use_Switch",d:1.17},{n:"PED_Console_Loop",d:3},{n:"PED_Console_Loose",d:3.5},{n:"PED_Console_Win",d:3.5}]],["DAM_JUMP",[{n:"DAM_Dive_Loop",d:1.33},{n:"DAM_Land",d:2.6},{n:"DAM_Launch",d:2.4},{n:"Jump_Roll",d:3.17},{n:"SF_JumpWall",d:3}]],["DANCING",[{n:"bd_clap",d:3.2},{n:"bd_clap1",d:2.63},{n:"dance_loop",d:1.17},{n:"DAN_Down_A",d:1},{n:"DAN_Left_A",d:1},{n:"DAN_Loop_A",d:2},{n:"DAN_Right_A",d:1},{n:"DAN_Up_A",d:1},{n:"dnce_M_a",d:2.13},{n:"dnce_M_b",d:1.93},{n:"dnce_M_c",d:1.93},{n:"dnce_M_d",d:2.43},{n:"dnce_M_e",d:.9}]],["DEALER",[{n:"DEALER_DEAL",d:3.17},{n:"DEALER_IDLE",d:6.67},{n:"DEALER_IDLE_01",d:5},{n:"DEALER_IDLE_02",d:4},{n:"DEALER_IDLE_03",d:4.67},{n:"DRUGS_BUY",d:3.17},{n:"shop_pay",d:4.67}]],["DILDO",[{n:"DILDO_1",d:.97},{n:"DILDO_2",d:1.1},{n:"DILDO_3",d:1.17},{n:"DILDO_block",d:.47},{n:"DILDO_G",d:1.47},{n:"DILDO_Hit_1",d:.77},{n:"DILDO_Hit_2",d:1.03},{n:"DILDO_Hit_3",d:.9},{n:"DILDO_IDLE",d:.87}]],["DODGE",[{n:"Cover_Dive_01",d:6},{n:"Cover_Dive_02",d:6},{n:"Crushed",d:.93},{n:"Crush_Jump",d:3.17}]],["DOZER",[{n:"DOZER_Align_LHS",d:.97},{n:"DOZER_Align_RHS",d:.93},{n:"DOZER_getin_LHS",d:.43},{n:"DOZER_getin_RHS",d:.43},{n:"DOZER_getout_LHS",d:1.07},{n:"DOZER_getout_RHS",d:.77},{n:"DOZER_Jacked_LHS",d:1.27},{n:"DOZER_Jacked_RHS",d:1.07},{n:"DOZER_pullout_LHS",d:.73},{n:"DOZER_pullout_RHS",d:.7}]],["DRIVEBYS",[{n:"Gang_DrivebyLHS",d:.83},{n:"Gang_DrivebyLHS_Bwd",d:.83},{n:"Gang_DrivebyLHS_Fwd",d:.83},{n:"Gang_DrivebyRHS",d:.83},{n:"Gang_DrivebyRHS_Bwd",d:.83},{n:"Gang_DrivebyRHS_Fwd",d:.83},{n:"Gang_DrivebyTop_LHS",d:.83},{n:"Gang_DrivebyTop_RHS",d:.83}]],["FAT",[{n:"FatIdle",d:1.5},{n:"FatIdle_armed",d:1.53},{n:"FatIdle_Csaw",d:1.5},{n:"FatIdle_Rocket",d:1.6},{n:"FatRun",d:.77},{n:"FatRun_armed",d:.77},{n:"FatRun_Csaw",d:.77},{n:"FatRun_Rocket",d:.77},{n:"FatSprint",d:.6},{n:"FatWalk",d:1.17},{n:"FatWalkstart",d:.2},{n:"FatWalkstart_Csaw",d:.2},{n:"FatWalkSt_armed",d:.2},{n:"FatWalkSt_Rocket",d:.2},{n:"FatWalk_armed",d:1.17},{n:"FatWalk_Csaw",d:1.17},{n:"FatWalk_Rocket",d:1.17},{n:"IDLE_tired",d:1.07}]],["FIGHT_B",[{n:"FightB_1",d:.73},{n:"FightB_2",d:1.1},{n:"FightB_3",d:1.2},{n:"FightB_block",d:.47},{n:"FightB_G",d:1.07},{n:"FightB_IDLE",d:.8},{n:"FightB_M",d:.5},{n:"HitB_1",d:.73},{n:"HitB_2",d:.83},{n:"HitB_3",d:1.43}]],["FIGHT_C",[{n:"FightC_1",d:.83},{n:"FightC_2",d:1.03},{n:"FightC_3",d:1},{n:"FightC_block",d:.47},{n:"FightC_blocking",d:3.2},{n:"FightC_G",d:.77},{n:"FightC_IDLE",d:1},{n:"FightC_M",d:.9},{n:"FightC_Spar",d:3.2},{n:"HitC_1",d:.3},{n:"HitC_2",d:.67},{n:"HitC_3",d:.83}]],["FIGHT_D",[{n:"FightD_1",d:.93},{n:"FightD_2",d:1.87},{n:"FightD_3",d:.9},{n:"FightD_block",d:.47},{n:"FightD_G",d:.83},{n:"FightD_IDLE",d:1.53},{n:"FightD_M",d:1.07},{n:"HitD_1",d:.67},{n:"HitD_2",d:1.83},{n:"HitD_3",d:.97}]],["FIGHT_E",[{n:"FightKick",d:.77},{n:"FightKick_B",d:1.03},{n:"Hit_fightkick",d:.5},{n:"Hit_fightkick_B",d:1.13}]],["FINALE",[{n:"FIN_Climb_In",d:2.9},{n:"FIN_Cop1_ClimbOut2",d:6},{n:"FIN_Cop1_Loop",d:2},{n:"FIN_Cop1_Stomp",d:1},{n:"FIN_Hang_L",d:.57},{n:"FIN_Hang_Loop",d:4},{n:"FIN_Hang_R",d:.57},{n:"FIN_Hang_Slip",d:3.33},{n:"FIN_Jump_On",d:5.6},{n:"FIN_Land_Car",d:.67},{n:"FIN_Land_Die",d:2.37},{n:"FIN_LegsUp",d:1},{n:"FIN_LegsUp_L",d:.5},{n:"FIN_LegsUp_Loop",d:1.33},{n:"FIN_LegsUp_R",d:.5},{n:"FIN_Let_Go",d:.17}]],["FINALE2",[{n:"FIN_Cop1_ClimbOut",d:4},{n:"FIN_Cop1_Fall",d:.43},{n:"FIN_Cop1_Loop",d:2},{n:"FIN_Cop1_Shot",d:2.07},{n:"FIN_Cop1_Swing",d:1.17},{n:"FIN_Cop2_ClimbOut",d:5.33},{n:"FIN_Switch_P",d:3.97},{n:"FIN_Switch_S",d:2.17}]],["FLAME",[{n:"FLAME_fire",d:.8}]],["Flowers",[{n:"Flower_attack",d:.8},{n:"Flower_attack_M",d:1.23},{n:"Flower_Hit",d:.83}]],["FOOD",[{n:"EAT_Burger",d:5},{n:"EAT_Chicken",d:5},{n:"EAT_Pizza",d:5},{n:"EAT_Vomit_P",d:8},{n:"EAT_Vomit_SK",d:8},{n:"FF_Dam_Bkw",d:.67},{n:"FF_Dam_Fwd",d:.67},{n:"FF_Dam_Left",d:.67},{n:"FF_Dam_Right",d:.67},{n:"FF_Die_Bkw",d:.67},{n:"FF_Die_Fwd",d:.67},{n:"FF_Die_Left",d:.67},{n:"FF_Die_Right",d:.67},{n:"FF_Sit_Eat1",d:2.83},{n:"FF_Sit_Eat2",d:2.67},{n:"FF_Sit_Eat3",d:2.67},{n:"FF_Sit_In",d:3},{n:"FF_Sit_In_L",d:2},{n:"FF_Sit_In_R",d:2},{n:"FF_Sit_Look",d:8},{n:"FF_Sit_Loop",d:2.67},{n:"FF_Sit_Out_180",d:2.83},{n:"FF_Sit_Out_L_180",d:1.33},{n:"FF_Sit_Out_R_180",d:1.33},{n:"SHP_Thank",d:1.17},{n:"SHP_Tray_In",d:.67},{n:"SHP_Tray_Lift",d:1.67},{n:"SHP_Tray_Lift_In",d:.5},{n:"SHP_Tray_Lift_Loop",d:8},{n:"SHP_Tray_Lift_Out",d:.5},{n:"SHP_Tray_Out",d:.67},{n:"SHP_Tray_Pose",d:.67},{n:"SHP_Tray_Return",d:1.33}]],["Freeweights",[{n:"gym_barbell",d:2.37},{n:"gym_free_A",d:1.93},{n:"gym_free_B",d:2.33},{n:"gym_free_celebrate",d:3.33},{n:"gym_free_down",d:.57},{n:"gym_free_loop",d:.67},{n:"gym_free_pickup",d:3.17},{n:"gym_free_putdown",d:3.17},{n:"gym_free_up_smooth",d:1}]],["GANGS",[{n:"DEALER_DEAL",d:1.17},{n:"DEALER_IDLE",d:2},{n:"drnkbr_prtl",d:2.67},{n:"drnkbr_prtl_F",d:2.67},{n:"DRUGS_BUY",d:1.17},{n:"hndshkaa",d:4},{n:"hndshkba",d:2.33},{n:"hndshkca",d:3.33},{n:"hndshkcb",d:3.33},{n:"hndshkda",d:2},{n:"hndshkea",d:1},{n:"hndshkfa",d:4.17},{n:"hndshkfa_swt",d:4.17},{n:"Invite_No",d:3.33},{n:"Invite_Yes",d:4.33},{n:"leanIDLE",d:1},{n:"leanIN",d:1},{n:"leanOUT",d:1},{n:"prtial_gngtlkA",d:4},{n:"prtial_gngtlkB",d:6.17},{n:"prtial_gngtlkC",d:7.33},{n:"prtial_gngtlkD",d:3},{n:"prtial_gngtlkE",d:2.83},{n:"prtial_gngtlkF",d:5.17},{n:"prtial_gngtlkG",d:7},{n:"prtial_gngtlkH",d:6},{n:"prtial_hndshk_01",d:1.67},{n:"prtial_hndshk_biz_01",d:2.33},{n:"shake_cara",d:1.67},{n:"shake_carK",d:1.27},{n:"shake_carSH",d:1.5},{n:"smkcig_prtl",d:7.5},{n:"smkcig_prtl_F",d:7.5}]],["GFUNK",[{n:"Dance_B1",d:1.27},{n:"Dance_B2",d:1.27},{n:"Dance_B3",d:1.27},{n:"Dance_B4",d:1.27},{n:"Dance_B5",d:1.27},{n:"Dance_B6",d:1.27},{n:"Dance_B7",d:1.27},{n:"Dance_B8",d:1.27},{n:"Dance_B9",d:1.27},{n:"Dance_B10",d:1.27},{n:"Dance_B11",d:1.27},{n:"Dance_B12",d:1.27},{n:"Dance_B13",d:1.27},{n:"Dance_B14",d:1.27},{n:"Dance_B15",d:1.27},{n:"Dance_B16",d:1.27},{n:"Dance_G1",d:1.27},{n:"Dance_G2",d:1.27},{n:"Dance_G3",d:1.27},{n:"Dance_G4",d:1.27},{n:"Dance_G5",d:1.27},{n:"Dance_G6",d:1.27},{n:"Dance_G7",d:1.27},{n:"Dance_G8",d:1.27},{n:"Dance_G9",d:1.27},{n:"Dance_G10",d:1.27},{n:"Dance_G11",d:1.27},{n:"Dance_G12",d:1.27},{n:"Dance_G13",d:1.27},{n:"Dance_G14",d:1.27},{n:"Dance_G15",d:1.27},{n:"Dance_G16",d:1.27},{n:"dance_loop",d:1.17}]],["GHANDS",[{n:"gsign1",d:4.77},{n:"gsign1LH",d:2.73},{n:"gsign2",d:2.13},{n:"gsign2LH",d:2.33},{n:"gsign3",d:4.67},{n:"gsign3LH",d:2},{n:"gsign4",d:4.17},{n:"gsign4LH",d:4.67},{n:"gsign5",d:6.2},{n:"gsign5LH",d:2},{n:"LHGsign1",d:2},{n:"LHGsign2",d:2},{n:"LHGsign3",d:2},{n:"LHGsign4",d:2},{n:"LHGsign5",d:2},{n:"RHGsign1",d:2},{n:"RHGsign2",d:2},{n:"RHGsign3",d:2},{n:"RHGsign4",d:2},{n:"RHGsign5",d:2}]],["GHETTO_DB",[{n:"GDB_Car2_PLY",d:9.5},{n:"GDB_Car2_SMO",d:9.5},{n:"GDB_Car2_SWE",d:9.5},{n:"GDB_Car_PLY",d:13.33},{n:"GDB_Car_RYD",d:13.33},{n:"GDB_Car_SMO",d:13.33},{n:"GDB_Car_SWE",d:13.33}]],["goggles",[{n:"goggles_put_on",d:.8}]],["GRAFFITI",[{n:"graffiti_Chkout",d:4.67},{n:"spraycan_fire",d:2.33}]],["GRAVEYARD",[{n:"mrnF_loop",d:4.67},{n:"mrnM_loop",d:2.67},{n:"prst_loopa",d:4}]],["GRENADE",[{n:"WEAPON_start_throw",d:.2},{n:"WEAPON_throw",d:.87},{n:"WEAPON_throwu",d:.67}]],["GYMNASIUM",[{n:"GYMshadowbox",d:5.1},{n:"gym_bike_celebrate",d:1.93},{n:"gym_bike_fast",d:.4},{n:"gym_bike_faster",d:.4},{n:"gym_bike_getoff",d:1.67},{n:"gym_bike_geton",d:1.67},{n:"gym_bike_pedal",d:.4},{n:"gym_bike_slow",d:.43},{n:"gym_bike_still",d:1.67},{n:"gym_jog_falloff",d:2.17},{n:"gym_shadowbox",d:5.1},{n:"gym_tread_celebrate",d:2.5},{n:"gym_tread_falloff",d:2},{n:"gym_tread_getoff",d:3.33},{n:"gym_tread_geton",d:2.5},{n:"gym_tread_jog",d:.77},{n:"gym_tread_sprint",d:.67},{n:"gym_tread_tired",d:1.33},{n:"gym_tread_walk",d:1.07},{n:"gym_walk_falloff",d:3.33},{n:"Pedals_fast",d:.4},{n:"Pedals_med",d:.4},{n:"Pedals_slow",d:.43},{n:"Pedals_still",d:.43}]],["HAIRCUTS",[{n:"BRB_Beard_01",d:4.5},{n:"BRB_Buy",d:4.17},{n:"BRB_Cut",d:1.7},{n:"BRB_Cut_In",d:.83},{n:"BRB_Cut_Out",d:1.33},{n:"BRB_Hair_01",d:3.83},{n:"BRB_Hair_02",d:4.5},{n:"BRB_In",d:1.33},{n:"BRB_Loop",d:2.67},{n:"BRB_Out",d:.67},{n:"BRB_Sit_In",d:2.07},{n:"BRB_Sit_Loop",d:7},{n:"BRB_Sit_Out",d:3}]],["HEIST9",[{n:"CAS_G2_GasKO",d:3.33},{n:"swt_wllpk_L",d:2.67},{n:"swt_wllpk_L_back",d:.5},{n:"swt_wllpk_R",d:3.67},{n:"swt_wllpk_R_back",d:.43},{n:"swt_wllshoot_in_L",d:1},{n:"swt_wllshoot_in_R",d:1.3},{n:"swt_wllshoot_out_L",d:2},{n:"swt_wllshoot_out_R",d:1.43},{n:"Use_SwipeCard",d:1.17}]],["INT_HOUSE",[{n:"BED_In_L",d:3.33},{n:"BED_In_R",d:3.33},{n:"BED_Loop_L",d:3.33},{n:"BED_Loop_R",d:3.33},{n:"BED_Out_L",d:3.33},{n:"BED_Out_R",d:3.33},{n:"LOU_In",d:1.83},{n:"LOU_Loop",d:3.33},{n:"LOU_Out",d:2},{n:"wash_up",d:3}]],["INT_OFFICE",[{n:"FF_Dam_Fwd",d:.67},{n:"OFF_Sit_2Idle_180",d:2.83},{n:"OFF_Sit_Bored_Loop",d:2.83},{n:"OFF_Sit_Crash",d:3.33},{n:"OFF_Sit_Drink",d:4.17},{n:"OFF_Sit_Idle_Loop",d:2.07},{n:"OFF_Sit_In",d:2.77},{n:"OFF_Sit_Read",d:3.33},{n:"OFF_Sit_Type_Loop",d:3.33},{n:"OFF_Sit_Watch",d:2}]],["INT_SHOP",[{n:"shop_cashier",d:6.67},{n:"shop_in",d:1},{n:"shop_lookA",d:2},{n:"shop_lookB",d:3},{n:"shop_loop",d:2},{n:"shop_out",d:1.33},{n:"shop_pay",d:6.67},{n:"shop_shelf",d:2.33}]],["JST_BUISNESS",[{n:"girl_01",d:3.33},{n:"girl_02",d:11.33},{n:"player_01",d:24.83},{n:"smoke_01",d:25}]],["KART",[{n:"KART_getin_LHS",d:.83},{n:"KART_getin_RHS",d:.83},{n:"KART_getout_LHS",d:.83},{n:"KART_getout_RHS",d:.83}]],["KISSING",[{n:"BD_GF_Wave",d:5.07},{n:"gfwave2",d:2.67},{n:"GF_CarArgue_01",d:5},{n:"GF_CarArgue_02",d:5},{n:"GF_CarSpot",d:5},{n:"GF_StreetArgue_01",d:5},{n:"GF_StreetArgue_02",d:5},{n:"gift_get",d:5.33},{n:"gift_give",d:5.33},{n:"Grlfrd_Kiss_01",d:4.17},{n:"Grlfrd_Kiss_02",d:5.77},{n:"Grlfrd_Kiss_03",d:7},{n:"Playa_Kiss_01",d:5},{n:"Playa_Kiss_02",d:5.77},{n:"Playa_Kiss_03",d:7}]],["KNIFE",[{n:"KILL_Knife_Ped_Damage",d:2.23},{n:"KILL_Knife_Ped_Die",d:1.93},{n:"KILL_Knife_Player",d:2.67},{n:"KILL_Partial",d:.03},{n:"knife_1",d:1},{n:"knife_2",d:.93},{n:"knife_3",d:.87},{n:"Knife_4",d:.9},{n:"knife_block",d:.47},{n:"Knife_G",d:.9},{n:"knife_hit_1",d:.57},{n:"knife_hit_2",d:.63},{n:"knife_hit_3",d:1.6},{n:"knife_IDLE",d:1.3},{n:"knife_part",d:.53},{n:"WEAPON_knifeidle",d:1.3}]],["LAPDAN1",[{n:"LAPDAN_D",d:37.73},{n:"LAPDAN_P",d:37.73}]],["LAPDAN2",[{n:"LAPDAN_D",d:46.83},{n:"LAPDAN_P",d:46.83}]],["LAPDAN3",[{n:"LAPDAN_D",d:51.47},{n:"LAPDAN_P",d:51.47}]],["LOWRIDER",[{n:"F_smklean_loop",d:4},{n:"lrgirl_bdbnce",d:2.67},{n:"lrgirl_hair",d:2.33},{n:"lrgirl_hurry",d:2.83},{n:"lrgirl_idleloop",d:2.17},{n:"lrgirl_idle_to_l0",d:2.17},{n:"lrgirl_l0_bnce",d:.67},{n:"lrgirl_l0_loop",d:2},{n:"lrgirl_l0_to_l1",d:3.67},{n:"lrgirl_l12_to_l0",d:2},{n:"lrgirl_l1_bnce",d:.67},{n:"lrgirl_l1_loop",d:2},{n:"lrgirl_l1_to_l2",d:1.33},{n:"lrgirl_l2_bnce",d:.67},{n:"lrgirl_l2_loop",d:1.5},{n:"lrgirl_l2_to_l3",d:1.5},{n:"lrgirl_l345_to_l1",d:1},{n:"lrgirl_l3_bnce",d:.67},{n:"lrgirl_l3_loop",d:2},{n:"lrgirl_l3_to_l4",d:.67},{n:"lrgirl_l4_bnce",d:.67},{n:"lrgirl_l4_loop",d:2.33},{n:"lrgirl_l4_to_l5",d:1},{n:"lrgirl_l5_bnce",d:.83},{n:"lrgirl_l5_loop",d:1.67},{n:"M_smklean_loop",d:5},{n:"M_smkstnd_loop",d:5.33},{n:"prtial_gngtlkB",d:1.47},{n:"prtial_gngtlkC",d:1.5},{n:"prtial_gngtlkD",d:2.47},{n:"prtial_gngtlkE",d:3},{n:"prtial_gngtlkF",d:2.67},{n:"prtial_gngtlkG",d:2.67},{n:"prtial_gngtlkH",d:3.33},{n:"RAP_A_Loop",d:2.67},{n:"RAP_B_Loop",d:2.67},{n:"RAP_C_Loop",d:3},{n:"Sit_relaxed",d:.03},{n:"Tap_hand",d:.33}]],["MD_CHASE",[{n:"Carhit_Hangon",d:1.53},{n:"Carhit_Tumble",d:2.03},{n:"donutdrop",d:1.5},{n:"Fen_Choppa_L1",d:1.43},{n:"Fen_Choppa_L2",d:1.3},{n:"Fen_Choppa_L3",d:1.3},{n:"Fen_Choppa_R1",d:1.3},{n:"Fen_Choppa_R2",d:1.3},{n:"Fen_Choppa_R3",d:1.3},{n:"Hangon_Stun_loop",d:4.67},{n:"Hangon_Stun_Turn",d:4},{n:"MD_BIKE_2_HANG",d:1.37},{n:"MD_BIKE_Jmp_BL",d:1.1},{n:"MD_BIKE_Jmp_F",d:1},{n:"MD_BIKE_Lnd_BL",d:.9},{n:"MD_BIKE_Lnd_Die_BL",d:1.53},{n:"MD_BIKE_Lnd_Die_F",d:.8},{n:"MD_BIKE_Lnd_F",d:1.17},{n:"MD_BIKE_Lnd_Roll",d:2.7},{n:"MD_BIKE_Lnd_Roll_F",d:1.03},{n:"MD_BIKE_Punch",d:1.83},{n:"MD_BIKE_Punch_F",d:1.83},{n:"MD_BIKE_Shot_F",d:1.33},{n:"MD_HANG_Lnd_Roll",d:2.7},{n:"MD_HANG_Loop",d:1}]],["MD_END",[{n:"END_SC1_PLY",d:5},{n:"END_SC1_RYD",d:5},{n:"END_SC1_SMO",d:5},{n:"END_SC1_SWE",d:5},{n:"END_SC2_PLY",d:9},{n:"END_SC2_RYD",d:9},{n:"END_SC2_SMO",d:9},{n:"END_SC2_SWE",d:9}]],["MEDIC",[{n:"CPR",d:8.33}]],["MISC",[{n:"bitchslap",d:1.17},{n:"BMX_celebrate",d:1.57},{n:"BMX_comeon",d:.77},{n:"bmx_idleloop_01",d:3.33},{n:"bmx_idleloop_02",d:6.67},{n:"bmx_talkleft_in",d:.67},{n:"bmx_talkleft_loop",d:6.67},{n:"bmx_talkleft_out",d:.67},{n:"bmx_talkright_in",d:.67},{n:"bmx_talkright_loop",d:7.33},{n:"bmx_talkright_out",d:.67},{n:"bng_wndw",d:7.33},{n:"bng_wndw_02",d:7.33},{n:"Case_pickup",d:1},{n:"door_jet",d:5.33},{n:"GRAB_L",d:.4},{n:"GRAB_R",d:.4},{n:"Hiker_Pose",d:.33},{n:"Hiker_Pose_L",d:.33},{n:"Idle_Chat_02",d:7.23},{n:"KAT_Throw_K",d:3.33},{n:"KAT_Throw_O",d:3.33},{n:"KAT_Throw_P",d:3.33},{n:"PASS_Rifle_O",d:1.33},{n:"PASS_Rifle_Ped",d:1.33},{n:"PASS_Rifle_Ply",d:1.33},{n:"pickup_box",d:.4},{n:"Plane_door",d:5.33},{n:"Plane_exit",d:5.33},{n:"Plane_hijack",d:5.33},{n:"Plunger_01",d:3.33},{n:"Plyrlean_loop",d:2.67},{n:"plyr_shkhead",d:1.67},{n:"Run_Dive",d:8.27},{n:"Scratchballs_01",d:8.33},{n:"SEAT_LR",d:3.67},{n:"Seat_talk_01",d:3.67},{n:"Seat_talk_02",d:3.33},{n:"SEAT_watch",d:2.33},{n:"smalplane_door",d:6.33},{n:"smlplane_door",d:5.33},{n:"MTB_back",d:.1},{n:"MTB_bunnyhop",d:.33},{n:"MTB_drivebyFT",d:.2},{n:"MTB_driveby_LHS",d:.2},{n:"MTB_driveby_RHS",d:.2},{n:"MTB_fwd",d:.2},{n:"MTB_getoffBACK",d:1.53},{n:"MTB_getoffLHS",d:.73},{n:"MTB_getoffRHS",d:.73},{n:"MTB_jumponL",d:.8},{n:"MTB_jumponR",d:.83},{n:"MTB_Left",d:.13},{n:"MTB_pedal",d:.67},{n:"MTB_pushes",d:.8},{n:"MTB_Ride",d:.03},{n:"MTB_Right",d:.13},{n:"MTB_sprint",d:.8},{n:"MTB_still",d:.03},{n:"MscleWalkst_armed",d:.2},{n:"MscleWalkst_Csaw",d:.2},{n:"Mscle_rckt_run",d:.8},{n:"Mscle_rckt_walkst",d:.2},{n:"Mscle_run_Csaw",d:.8},{n:"MuscleIdle",d:1.5},{n:"MuscleIdle_armed",d:1.5},{n:"MuscleIdle_Csaw",d:1.5},{n:"MuscleIdle_rocket",d:1.5},{n:"MuscleRun",d:.8},{n:"MuscleRun_armed",d:.8},{n:"MuscleSprint",d:.57},{n:"MuscleWalk",d:1.07},{n:"MuscleWalkstart",d:.27},{n:"MuscleWalk_armed",d:1.07},{n:"Musclewalk_Csaw",d:1.07},{n:"Musclewalk_rocket",d:1.07}]],["NEVADA",[{n:"NEVADA_getin",d:1.87},{n:"NEVADA_getout",d:.93}]],["ON_LOOKERS",[{n:"lkaround_in",d:.33},{n:"lkaround_loop",d:7},{n:"lkaround_out",d:.33},{n:"lkup_in",d:1.67},{n:"lkup_loop",d:5.33},{n:"lkup_out",d:1},{n:"lkup_point",d:3.33},{n:"panic_cower",d:6.67},{n:"panic_hide",d:6.33},{n:"panic_in",d:.83},{n:"panic_loop",d:1.67},{n:"panic_out",d:.67},{n:"panic_point",d:6},{n:"panic_shout",d:8.67},{n:"Pointup_in",d:1},{n:"Pointup_loop",d:2.67},{n:"Pointup_out",d:1},{n:"Pointup_shout",d:3},{n:"point_in",d:.5},{n:"point_loop",d:3},{n:"point_out",d:.33},{n:"shout_01",d:2.67},{n:"shout_02",d:4},{n:"shout_in",d:1.67},{n:"shout_loop",d:2},{n:"shout_out",d:.33},{n:"wave_in",d:.83},{n:"wave_loop",d:1.5},{n:"wave_out",d:.83}]],["OTB",[{n:"betslp_in",d:1.33},{n:"betslp_lkabt",d:2.67},{n:"betslp_loop",d:2.67},{n:"betslp_out",d:1},{n:"betslp_tnk",d:5.6},{n:"wtchrace_cmon",d:5},{n:"wtchrace_in",d:1.67},{n:"wtchrace_loop",d:2.67},{n:"wtchrace_lose",d:4},{n:"wtchrace_out",d:1},{n:"wtchrace_win",d:4.33}]],["PARACHUTE",[{n:"FALL_skyDive",d:1.33},{n:"FALL_SkyDive_Accel",d:1.33},{n:"FALL_skyDive_DIE",d:1},{n:"FALL_SkyDive_L",d:1.33},{n:"FALL_SkyDive_R",d:1.33},{n:"PARA_decel",d:2},{n:"PARA_decel_O",d:2},{n:"PARA_float",d:2},{n:"PARA_float_O",d:2},{n:"PARA_Land",d:1.67},{n:"PARA_Land_O",d:2.17},{n:"PARA_Land_Water",d:2.33},{n:"PARA_Land_Water_O",d:2.17},{n:"PARA_open",d:2.83},{n:"PARA_open_O",d:2.33},{n:"PARA_Rip_Land_O",d:.9},{n:"PARA_Rip_Loop_O",d:1},{n:"PARA_Rip_O",d:.23},{n:"PARA_steerL",d:2},{n:"PARA_steerL_O",d:2},{n:"PARA_steerR",d:2},{n:"PARA_steerR_O",d:2}]],["PARK",[{n:"Tai_Chi_in",d:2.17},{n:"Tai_Chi_Loop",d:12},{n:"Tai_Chi_Out",d:.83}]],["PAULNMAC",[{n:"Piss_in",d:9},{n:"Piss_loop",d:6.67},{n:"Piss_out",d:11},{n:"PnM_Argue1_A",d:4.33},{n:"PnM_Argue1_B",d:4.33},{n:"PnM_Argue2_A",d:4.33},{n:"PnM_Argue2_B",d:4.33},{n:"PnM_Loop_A",d:5.33},{n:"PnM_Loop_B",d:5.33},{n:"wank_in",d:7.33},{n:"wank_loop",d:2.67},{n:"wank_out",d:11.67}]],["ped",[{n:"abseil",d:.03},{n:"ARRESTgun",d:.67},{n:"ATM",d:12.17},{n:"BIKE_elbowL",d:.97},{n:"BIKE_elbowR",d:.97},{n:"BIKE_fallR",d:1.63},{n:"BIKE_fall_off",d:1.07},{n:"BIKE_pickupL",d:1.07},{n:"BIKE_pickupR",d:1.07},{n:"BIKE_pullupL",d:1},{n:"BIKE_pullupR",d:1},{n:"bomber",d:.6},{n:"CAR_alignHI_LHS",d:.73},{n:"CAR_alignHI_RHS",d:.73},{n:"CAR_align_LHS",d:.13},{n:"CAR_align_RHS",d:.13},{n:"CAR_closedoorL_LHS",d:.6},{n:"CAR_closedoorL_RHS",d:.4},{n:"CAR_closedoor_LHS",d:.6},{n:"CAR_closedoor_RHS",d:.4},{n:"CAR_close_LHS",d:.73},{n:"CAR_close_RHS",d:.73},{n:"CAR_crawloutRHS",d:2.17},{n:"CAR_dead_LHS",d:.03},{n:"CAR_dead_RHS",d:.03},{n:"CAR_doorlocked_LHS",d:1.33},{n:"CAR_doorlocked_RHS",d:1.27},{n:"CAR_fallout_LHS",d:.57},{n:"CAR_fallout_RHS",d:.57},{n:"CAR_getinL_LHS",d:1},{n:"CAR_getinL_RHS",d:1},{n:"CAR_getin_LHS",d:1},{n:"CAR_getin_RHS",d:1},{n:"CAR_getoutL_LHS",d:.93},{n:"CAR_getoutL_RHS",d:1},{n:"CAR_getout_LHS",d:1.13},{n:"CAR_getout_RHS",d:.8},{n:"car_hookertalk",d:4.3},{n:"CAR_jackedLHS",d:2.9},{n:"CAR_jackedRHS",d:3.43},{n:"CAR_jumpin_LHS",d:1},{n:"CAR_LB",d:.23},{n:"CAR_LB_pro",d:.1},{n:"CAR_LB_weak",d:.23},{n:"CAR_LjackedLHS",d:3.57},{n:"CAR_LjackedRHS",d:3.47},{n:"CAR_Lshuffle_RHS",d:.4},{n:"CAR_Lsit",d:.03},{n:"CAR_open_LHS",d:1.1},{n:"CAR_open_RHS",d:1.1},{n:"CAR_pulloutL_LHS",d:2.93},{n:"CAR_pulloutL_RHS",d:2.93},{n:"CAR_pullout_LHS",d:2.3},{n:"CAR_pullout_RHS",d:2.8},{n:"CAR_Qjacked",d:3.3},{n:"CAR_rolldoor",d:.6},{n:"CAR_rolldoorLO",d:.6},{n:"CAR_rollout_LHS",d:1.63},{n:"CAR_rollout_RHS",d:1.27},{n:"CAR_shuffle_RHS",d:.4},{n:"CAR_sit",d:.03},{n:"CAR_sitp",d:.03},{n:"CAR_sitpLO",d:.03},{n:"CAR_sit_pro",d:.03},{n:"CAR_sit_weak",d:.03},{n:"CAR_tune_radio",d:.63},{n:"CLIMB_idle",d:.8},{n:"CLIMB_jump",d:.57},{n:"CLIMB_jump2fall",d:.03},{n:"CLIMB_jump_B",d:.97},{n:"CLIMB_Pull",d:.87},{n:"CLIMB_Stand",d:.8},{n:"CLIMB_Stand_finish",d:.2},{n:"cower",d:.8},{n:"Crouch_Roll_L",d:.93},{n:"Crouch_Roll_R",d:.93},{n:"DAM_armL_frmBK",d:.83},{n:"DAM_armL_frmFT",d:.83},{n:"DAM_armL_frmLT",d:.67},{n:"DAM_armR_frmBK",d:.83},{n:"DAM_armR_frmFT",d:.5},{n:"DAM_armR_frmRT",d:.27},{n:"DAM_LegL_frmBK",d:.83},{n:"DAM_LegL_frmFT",d:.83},{n:"DAM_LegL_frmLT",d:.83},{n:"DAM_LegR_frmBK",d:.83},{n:"DAM_LegR_frmFT",d:.83},{n:"DAM_LegR_frmRT",d:.83},{n:"DAM_stomach_frmBK",d:.83},{n:"DAM_stomach_frmFT",d:.83},{n:"DAM_stomach_frmLT",d:.83},{n:"DAM_stomach_frmRT",d:.83},{n:"DOOR_LHinge_O",d:1.07},{n:"DOOR_RHinge_O",d:1.07},{n:"DrivebyL_L",d:.2},{n:"DrivebyL_R",d:.2},{n:"Driveby_L",d:.2},{n:"Driveby_R",d:.2},{n:"DRIVE_BOAT",d:.03},{n:"DRIVE_BOAT_back",d:.1},{n:"DRIVE_BOAT_L",d:.1},{n:"DRIVE_BOAT_R",d:.1},{n:"Drive_L",d:.13},{n:"Drive_LO_l",d:.13},{n:"Drive_LO_R",d:.13},{n:"Drive_L_pro",d:.13},{n:"Drive_L_pro_slow",d:.13},{n:"Drive_L_slow",d:.13},{n:"Drive_L_weak",d:.13},{n:"Drive_L_weak_slow",d:.13},{n:"Drive_R",d:.13},{n:"Drive_R_pro",d:.13},{n:"Drive_R_pro_slow",d:.13},{n:"Drive_R_slow",d:.13},{n:"Drive_R_weak",d:.13},{n:"Drive_R_weak_slow",d:.13},{n:"Drive_truck",d:.03},{n:"DRIVE_truck_back",d:.1},{n:"DRIVE_truck_L",d:.13},{n:"DRIVE_truck_R",d:.13},{n:"Drown",d:2.5},{n:"DUCK_cower",d:.8},{n:"endchat_01",d:2},{n:"endchat_02",d:2},{n:"endchat_03",d:2.33},{n:"EV_dive",d:2.33},{n:"EV_step",d:1.07},{n:"facanger",d:.13},{n:"facgum",d:1.03},{n:"facsurp",d:.13},{n:"facsurpm",d:.13},{n:"factalk",d:2.33},{n:"facurios",d:.13},{n:"FALL_back",d:.73},{n:"FALL_collapse",d:1},{n:"FALL_fall",d:.73},{n:"FALL_front",d:.73},{n:"FALL_glide",d:.8},{n:"FALL_land",d:.47},{n:"FALL_skyDive",d:1.33},{n:"Fight2Idle",d:.33},{n:"FightA_1",d:.43},{n:"FightA_2",d:.77},{n:"FightA_3",d:.87},{n:"FightA_block",d:.47},{n:"FightA_G",d:.93},{n:"FightA_M",d:.4},{n:"FIGHTIDLE",d:1.3},{n:"FightShB",d:.47},{n:"FightShF",d:.53},{n:"FightSh_BWD",d:.67},{n:"FightSh_FWD",d:.67},{n:"FightSh_Left",d:.67},{n:"FightSh_Right",d:.67},{n:"flee_lkaround_01",d:2},{n:"FLOOR_hit",d:.37},{n:"FLOOR_hit_f",d:.4},{n:"fucku",d:1.33},{n:"gang_gunstand",d:.03},{n:"gas_cwr",d:1},{n:"getup",d:1.37},{n:"getup_front",d:1.37},{n:"gum_eat",d:5.33},{n:"GunCrouchBwd",d:1},{n:"GunCrouchFwd",d:.73},{n:"GunMove_BWD",d:1.03},{n:"GunMove_FWD",d:1},{n:"GunMove_L",d:1},{n:"GunMove_R",d:1},{n:"Gun_2_IDLE",d:.27},{n:"GUN_BUTT",d:.43},{n:"GUN_BUTT_crouch",d:.43},{n:"Gun_stand",d:.03},{n:"handscower",d:1.93},{n:"handsup",d:.6},{n:"HitA_1",d:.3},{n:"HitA_2",d:.53},{n:"HitA_3",d:.57},{n:"HIT_back",d:.5},{n:"HIT_behind",d:.67},{n:"HIT_front",d:.6},{n:"HIT_GUN_BUTT",d:.5},{n:"HIT_L",d:.7},{n:"HIT_R",d:.6},{n:"HIT_walk",d:.33},{n:"HIT_wall",d:.7},{n:"Idlestance_fat",d:1.67},{n:"idlestance_old",d:2},{n:"IDLE_armed",d:1.47},{n:"IDLE_chat",d:6.67},{n:"IDLE_csaw",d:1.53},{n:"Idle_Gang1",d:1.67},{n:"IDLE_HBHB",d:2.67},{n:"IDLE_ROCKET",d:1.57},{n:"IDLE_stance",d:1.5},{n:"IDLE_taxi",d:.87},{n:"IDLE_tired",d:1},{n:"Jetpack_Idle",d:.03},{n:"JOG_femaleA",d:.77},{n:"JOG_maleA",d:.77},{n:"JUMP_glide",d:.5},{n:"JUMP_land",d:.23},{n:"JUMP_launch",d:.2},{n:"JUMP_launch_R",d:.2},{n:"KART_drive",d:.03},{n:"KART_L",d:.13},{n:"KART_LB",d:.03},{n:"KART_R",d:.13},{n:"KD_left",d:.9},{n:"KD_right",d:.9},{n:"KO_shot_face",d:2.1},{n:"KO_shot_front",d:.57},{n:"KO_shot_stom",d:3.17},{n:"KO_skid_back",d:.97},{n:"KO_skid_front",d:1.13},{n:"KO_spin_L",d:.87},{n:"KO_spin_R",d:.93},{n:"pass_Smoke_in_car",d:1.73},{n:"phone_in",d:2.33},{n:"phone_out",d:2},{n:"phone_talk",d:2},{n:"Player_Sneak",d:1.33},{n:"Player_Sneak_walkstart",d:.3},{n:"roadcross",d:2},{n:"roadcross_female",d:4},{n:"roadcross_gang",d:2},{n:"roadcross_old",d:4},{n:"run_1armed",d:.77},{n:"run_armed",d:.7},{n:"run_civi",d:.73},{n:"run_csaw",d:.7},{n:"run_fat",d:.8},{n:"run_fatold",d:.8},{n:"run_gang1",d:.83},{n:"run_left",d:.67},{n:"run_old",d:.8},{n:"run_player",d:.73},{n:"run_right",d:.67},{n:"run_rocket",d:.77},{n:"Run_stop",d:.87},{n:"Run_stopR",d:.8},{n:"Run_Wuzi",d:.77},{n:"SEAT_down",d:1.5},{n:"SEAT_idle",d:2},{n:"SEAT_up",d:1.17},{n:"SHOT_leftP",d:.3},{n:"SHOT_partial",d:.37},{n:"SHOT_partial_B",d:.33},{n:"SHOT_rightP",d:.33},{n:"Shove_Partial",d:.53},{n:"Smoke_in_car",d:1.73},{n:"sprint_civi",d:.53},{n:"sprint_panic",d:.6},{n:"Sprint_Wuzi",d:.67},{n:"swat_run",d:.67},{n:"Swim_Tread",d:1.3},{n:"Tap_hand",d:.03},{n:"Tap_handP",d:.03},{n:"turn_180",d:.63},{n:"Turn_L",d:.8},{n:"Turn_R",d:.8},{n:"WALK_armed",d:1.07},{n:"WALK_civi",d:1.13},{n:"WALK_csaw",d:1.07},{n:"Walk_DoorPartial",d:.8},{n:"WALK_drunk",d:3.93},{n:"WALK_fat",d:1.33},{n:"WALK_fatold",d:1.17},{n:"WALK_gang1",d:1.4},{n:"WALK_gang2",d:1.4},{n:"WALK_old",d:1.4},{n:"WALK_player",d:1.2},{n:"WALK_rocket",d:1.07},{n:"WALK_shuffle",d:1.2},{n:"WALK_start",d:.27},{n:"WALK_start_armed",d:.2},{n:"WALK_start_csaw",d:.2},{n:"WALK_start_rocket",d:.2},{n:"Walk_Wuzi",d:1.17},{n:"WEAPON_crouch",d:.8},{n:"woman_idlestance",d:5.33},{n:"woman_run",d:.77},{n:"WOMAN_runbusy",d:.67},{n:"WOMAN_runfatold",d:1.2},{n:"woman_runpanic",d:.6},{n:"WOMAN_runsexy",d:.7},{n:"WOMAN_walkbusy",d:1},{n:"WOMAN_walkfatold",d:1.2},{n:"WOMAN_walknorm",d:1.13},{n:"WOMAN_walkold",d:1.2},{n:"WOMAN_walkpro",d:1.33},{n:"WOMAN_walksexy",d:1.17},{n:"WOMAN_walkshop",d:.97},{n:"XPRESSscratch",d:3.97}]],["PLAYER_DVBYS",[{n:"Plyr_DrivebyBwd",d:.83},{n:"Plyr_DrivebyFwd",d:.83},{n:"Plyr_DrivebyLHS",d:.83},{n:"Plyr_DrivebyRHS",d:.83}]],["PLAYIDLES",[{n:"shift",d:3.6},{n:"shldr",d:2.17},{n:"stretch",d:4.6},{n:"strleg",d:3.67},{n:"time",d:5.2}]],["POLICE",[{n:"CopTraf_Away",d:1.47},{n:"CopTraf_Come",d:2.87},{n:"CopTraf_Left",d:2},{n:"CopTraf_Stop",d:2},{n:"COP_getoutcar_LHS",d:.83},{n:"Cop_move_FWD",d:1},{n:"crm_drgbst_01",d:18.57},{n:"Door_Kick",d:1.33},{n:"plc_drgbst_01",d:20.6},{n:"plc_drgbst_02",d:7.57}]],["POOL",[{n:"POOL_ChalkCue",d:4.83},{n:"POOL_Idle_Stance",d:2},{n:"POOL_Long_Shot",d:1.67},{n:"POOL_Long_Shot_O",d:1.67},{n:"POOL_Long_Start",d:.67},{n:"POOL_Long_Start_O",d:.67},{n:"POOL_Med_Shot",d:1.67},{n:"POOL_Med_Shot_O",d:1.67},{n:"POOL_Med_Start",d:.67},{n:"POOL_Med_Start_O",d:.67},{n:"POOL_Place_White",d:2.5},{n:"POOL_Short_Shot",d:1.67},{n:"POOL_Short_Shot_O",d:1.67},{n:"POOL_Short_Start",d:.67},{n:"POOL_Short_Start_O",d:.67},{n:"POOL_Walk",d:1.27},{n:"POOL_Walk_Start",d:.2},{n:"POOL_XLong_Shot",d:1.67},{n:"POOL_XLong_Shot_O",d:1.67},{n:"POOL_XLong_Start",d:.67},{n:"POOL_XLong_Start_O",d:.67}]],["POOR",[{n:"WINWASH_Start",d:.43},{n:"WINWASH_Wash2Beg",d:2.13}]],["PYTHON",[{n:"python_crouchfire",d:1.2},{n:"python_crouchreload",d:1},{n:"python_fire",d:1.17},{n:"python_fire_poor",d:1.47},{n:"python_reload",d:.93}]],["QUAD",[{n:"QUAD_back",d:.1},{n:"QUAD_driveby_FT",d:.2},{n:"QUAD_driveby_LHS",d:.2},{n:"QUAD_driveby_RHS",d:.2},{n:"QUAD_FWD",d:.2},{n:"QUAD_getoff_B",d:1.63},{n:"QUAD_getoff_LHS",d:.67},{n:"QUAD_getoff_RHS",d:.7},{n:"QUAD_geton_LHS",d:.73},{n:"QUAD_geton_RHS",d:.73},{n:"QUAD_hit",d:.03},{n:"QUAD_kick",d:1.13},{n:"QUAD_Left",d:.13},{n:"QUAD_passenger",d:.03},{n:"QUAD_reverse",d:.17},{n:"QUAD_ride",d:.03},{n:"QUAD_Right",d:.13}]],["QUAD_DBZ",[{n:"Pass_Driveby_BWD",d:.83},{n:"Pass_Driveby_FWD",d:.83},{n:"Pass_Driveby_LHS",d:.83},{n:"Pass_Driveby_RHS",d:.83}]],["RAPPING",[{n:"Laugh_01",d:5.33},{n:"RAP_A_IN",d:.83},{n:"RAP_A_Loop",d:2.67},{n:"RAP_A_OUT",d:.33},{n:"RAP_B_IN",d:1},{n:"RAP_B_Loop",d:2.67},{n:"RAP_B_OUT",d:.87},{n:"RAP_C_Loop",d:3}]],["RIFLE",[{n:"RIFLE_crouchfire",d:.87},{n:"RIFLE_crouchload",d:1.27},{n:"RIFLE_fire",d:.8},{n:"RIFLE_fire_poor",d:.8},{n:"RIFLE_load",d:1.4}]],["RIOT",[{n:"RIOT_ANGRY",d:5},{n:"RIOT_ANGRY_B",d:.63},{n:"RIOT_challenge",d:3.23},{n:"RIOT_CHANT",d:1.73},{n:"RIOT_FUKU",d:.67},{n:"RIOT_PUNCHES",d:.67},{n:"RIOT_shout",d:1}]],["ROB_BANK",[{n:"CAT_Safe_End",d:.5},{n:"CAT_Safe_Open",d:3.33},{n:"CAT_Safe_Open_O",d:3.33},{n:"CAT_Safe_Rob",d:1.83},{n:"SHP_HandsUp_Scr",d:.67}]],["ROCKET",[{n:"idle_rocket",d:1.6},{n:"RocketFire",d:.97},{n:"run_rocket",d:.77},{n:"walk_rocket",d:1.07},{n:"WALK_start_rocket",d:.2}]],["RUNNINGMAN",[{n:"Dance_B1",d:.53},{n:"Dance_B2",d:.57},{n:"Dance_B3",d:.53},{n:"Dance_B4",d:.57},{n:"Dance_B5",d:.53},{n:"Dance_B6",d:.57},{n:"Dance_B7",d:.53},{n:"Dance_B8",d:.57},{n:"Dance_B9",d:.53},{n:"Dance_B10",d:.57},{n:"Dance_B11",d:.53},{n:"Dance_B12",d:.57},{n:"Dance_B13",d:.53},{n:"Dance_B14",d:.57},{n:"Dance_B15",d:.53},{n:"Dance_B16",d:.57},{n:"Dance_G1",d:.53},{n:"Dance_G2",d:.57},{n:"Dance_G3",d:.53},{n:"Dance_G4",d:.57},{n:"Dance_G5",d:.53},{n:"Dance_G6",d:.57},{n:"Dance_G7",d:.53},{n:"Dance_G8",d:.57},{n:"Dance_G9",d:.53},{n:"Dance_G10",d:.57},{n:"Dance_G11",d:.53},{n:"Dance_G12",d:.57},{n:"Dance_G13",d:.53},{n:"Dance_G14",d:.57},{n:"Dance_G15",d:.53},{n:"Dance_G16",d:.57},{n:"dance_loop",d:1.17}]],["RUSTLER",[{n:"Plane_align_LHS",d:.73},{n:"Plane_close",d:.4},{n:"Plane_getin",d:.8},{n:"Plane_getout",d:1.57},{n:"Plane_open",d:.7}]],["RYDER",[{n:"RYD_Beckon_01",d:1.23},{n:"RYD_Beckon_02",d:1},{n:"RYD_Beckon_03",d:1.07},{n:"RYD_Die_PT1",d:4},{n:"RYD_Die_PT2",d:7.93},{n:"Van_Crate_L",d:.67},{n:"Van_Crate_R",d:.67},{n:"Van_Fall_L",d:.47},{n:"Van_Fall_R",d:.93},{n:"Van_Lean_L",d:.67},{n:"Van_Lean_R",d:.67},{n:"VAN_PickUp_E",d:1.83},{n:"VAN_PickUp_S",d:1.5},{n:"Van_Stand",d:.67},{n:"Van_Stand_Crate",d:.67},{n:"Van_Throw",d:1.37}]],["SAMP",[{n:"FishingIdle",d:1}]],["SCRATCHING",[{n:"scdldlp",d:.67},{n:"scdlulp",d:.67},{n:"scdrdlp",d:.67},{n:"scdrulp",d:.67},{n:"sclng_l",d:1},{n:"sclng_r",d:1},{n:"scmid_l",d:.47},{n:"scmid_r",d:.47},{n:"scshrtl",d:.2},{n:"scshrtr",d:.2},{n:"sc_ltor",d:.67},{n:"sc_rtol",d:.67}]],["SHAMAL",[{n:"SHAMAL_align",d:.2},{n:"SHAMAL_getin_LHS",d:1.4},{n:"SHAMAL_getout_LHS",d:1.37},{n:"SHAMAL_open",d:.6}]],["SHOP",[{n:"ROB_2Idle",d:1.17},{n:"ROB_Loop",d:2.67},{n:"ROB_Loop_Threat",d:2},{n:"ROB_Shifty",d:5.67},{n:"ROB_StickUp_In",d:.53},{n:"SHP_Duck",d:.67},{n:"SHP_Duck_Aim",d:.33},{n:"SHP_Duck_Fire",d:.83},{n:"SHP_Gun_Aim",d:.63},{n:"SHP_Gun_Duck",d:.5},{n:"SHP_Gun_Fire",d:.87},{n:"SHP_Gun_Grab",d:.87},{n:"SHP_Gun_Threat",d:.83},{n:"SHP_HandsUp_Scr",d:.67},{n:"SHP_Jump_Glide",d:.33},{n:"SHP_Jump_Land",d:.7},{n:"SHP_Jump_Launch",d:.57},{n:"SHP_Rob_GiveCash",d:3.83},{n:"SHP_Rob_HandsUp",d:2.67},{n:"SHP_Rob_React",d:2.67},{n:"SHP_Serve_End",d:5.5},{n:"SHP_Serve_Idle",d:5},{n:"SHP_Serve_Loop",d:4.17},{n:"SHP_Serve_Start",d:1.33},{n:"Smoke_RYD",d:6.67}]],["SHOTGUN",[{n:"shotgun_crouchfire",d:1.47},{n:"shotgun_fire",d:1.47},{n:"shotgun_fire_poor",d:1.5}]],["SILENCED",[{n:"CrouchReload",d:1},{n:"SilenceCrouchfire",d:.93},{n:"Silence_fire",d:.87},{n:"Silence_reload",d:.93}]],["SKATE",[{n:"skate_idle",d:1},{n:"skate_run",d:.83},{n:"skate_sprint",d:.67}]],["SMOKING",[{n:"F_smklean_loop",d:4},{n:"M_smklean_loop",d:5},{n:"M_smkstnd_loop",d:5.33},{n:"M_smk_drag",d:3.67},{n:"M_smk_in",d:6.67},{n:"M_smk_loop",d:3.33},{n:"M_smk_out",d:3},{n:"M_smk_tap",d:3}]],["SNIPER",[{n:"WEAPON_sniper",d:1.47}]],["SnM",[{n:"SnM_Caned_Idle_P",d:2},{n:"SnM_Caned_Idle_W",d:2},{n:"SnM_Caned_P",d:1.33},{n:"SnM_Caned_W",d:1.33},{n:"SnM_Cane_Idle_P",d:2},{n:"SnM_Cane_Idle_W",d:2},{n:"SnM_Cane_P",d:1.33},{n:"SnM_Cane_W",d:1.33},{n:"SpankedP",d:1.33},{n:"SpankedW",d:1.33},{n:"Spanked_IdleP",d:1.33},{n:"Spanked_IdleW",d:1.33},{n:"SpankingP",d:1.33},{n:"SpankingW",d:1.33},{n:"Spanking_endP",d:6.67},{n:"Spanking_endW",d:6.67},{n:"Spanking_IdleP",d:1.33},{n:"Spanking_IdleW",d:1.33},{n:"Spanking_SittingIdleP",d:1.33},{n:"Spanking_SittingIdleW",d:1.33},{n:"Spanking_SittingP",d:1},{n:"Spanking_SittingW",d:1}]],["SPRAYCAN",[{n:"spraycan_fire",d:2.33},{n:"spraycan_full",d:4.5}]],["STRIP",[{n:"PLY_CASH",d:1.67},{n:"PUN_CASH",d:3.33},{n:"PUN_HOLLER",d:5},{n:"PUN_LOOP",d:1.93},{n:"strip_A",d:2.07},{n:"strip_B",d:1},{n:"strip_C",d:.97},{n:"strip_D",d:1.9},{n:"strip_E",d:3.33},{n:"strip_F",d:1.03},{n:"strip_G",d:2.27},{n:"STR_A2B",d:4},{n:"STR_B2A",d:.5},{n:"STR_B2C",d:5},{n:"STR_C1",d:6},{n:"STR_C2",d:6},{n:"STR_C2B",d:1},{n:"STR_Loop_A",d:1},{n:"STR_Loop_B",d:2},{n:"STR_Loop_C",d:3}]],["SUNBATHE",[{n:"batherdown",d:3.93},{n:"batherup",d:12.3},{n:"Lay_Bac_in",d:2.33},{n:"Lay_Bac_out",d:3},{n:"ParkSit_M_IdleA",d:3.33},{n:"ParkSit_M_IdleB",d:2.67},{n:"ParkSit_M_IdleC",d:4.33},{n:"ParkSit_M_in",d:2.33},{n:"ParkSit_M_out",d:2},{n:"ParkSit_W_idleA",d:3.33},{n:"ParkSit_W_idleB",d:5},{n:"ParkSit_W_idleC",d:3},{n:"ParkSit_W_in",d:4},{n:"ParkSit_W_out",d:2.67},{n:"SBATHE_F_LieB2Sit",d:1.67},{n:"SBATHE_F_Out",d:2},{n:"SitnWait_in_W",d:4.67},{n:"SitnWait_out_W",d:2.67}]],["SWAT",[{n:"gnstwall_injurd",d:2},{n:"JMP_Wall1m_180",d:1.17},{n:"Rail_fall",d:3},{n:"Rail_fall_crawl",d:5.67},{n:"swt_breach_01",d:5.47},{n:"swt_breach_02",d:5.33},{n:"swt_breach_03",d:4.3},{n:"swt_go",d:1.67},{n:"swt_lkt",d:3},{n:"swt_sty",d:1.17},{n:"swt_vent_01",d:4.73},{n:"swt_vent_02",d:4.43},{n:"swt_vnt_sht_die",d:.67},{n:"swt_vnt_sht_in",d:1.6},{n:"swt_vnt_sht_loop",d:.27},{n:"swt_wllpk_L",d:2.67},{n:"swt_wllpk_L_back",d:.5},{n:"swt_wllpk_R",d:3.67},{n:"swt_wllpk_R_back",d:.43},{n:"swt_wllshoot_in_L",d:1},{n:"swt_wllshoot_in_R",d:1.3},{n:"swt_wllshoot_out_L",d:2},{n:"swt_wllshoot_out_R",d:1.43}]],["SWEET",[{n:"ho_ass_slapped",d:2},{n:"LaFin_Player",d:26.67},{n:"LaFin_Sweet",d:26.67},{n:"plyr_hndshldr_01",d:4},{n:"sweet_ass_slap",d:2},{n:"sweet_hndshldr_01",d:4},{n:"Sweet_injuredloop",d:2}]],["SWIM",[{n:"Swim_Breast",d:1.3},{n:"SWIM_crawl",d:.9},{n:"Swim_Dive_Under",d:1.07},{n:"Swim_Glide",d:1.47},{n:"Swim_jumpout",d:.33},{n:"Swim_Tread",d:1.3},{n:"Swim_Under",d:1.5}]],["SWORD",[{n:"sword_1",d:.87},{n:"sword_2",d:1.07},{n:"sword_3",d:.8},{n:"sword_4",d:1.1},{n:"sword_block",d:.47},{n:"Sword_Hit_1",d:.83},{n:"Sword_Hit_2",d:1.03},{n:"Sword_Hit_3",d:.87},{n:"sword_IDLE",d:1},{n:"sword_part",d:.67}]],["TANK",[{n:"TANK_align_LHS",d:1.43},{n:"TANK_close_LHS",d:.33},{n:"TANK_doorlocked",d:.53},{n:"TANK_getin_LHS",d:.43},{n:"TANK_getout_LHS",d:1.97},{n:"TANK_open_LHS",d:.3}]],["TATTOOS",[{n:"TAT_ArmL_In_O",d:.83},{n:"TAT_ArmL_In_P",d:.83},{n:"TAT_ArmL_In_T",d:.83},{n:"TAT_ArmL_Out_O",d:.93},{n:"TAT_ArmL_Out_P",d:2.5},{n:"TAT_ArmL_Out_T",d:.93},{n:"TAT_ArmL_Pose_O",d:.83},{n:"TAT_ArmL_Pose_P",d:.83},{n:"TAT_ArmL_Pose_T",d:.83},{n:"TAT_ArmR_In_O",d:.83},{n:"TAT_ArmR_In_P",d:.83},{n:"TAT_ArmR_In_T",d:.83},{n:"TAT_ArmR_Out_O",d:1},{n:"TAT_ArmR_Out_P",d:2.5},{n:"TAT_ArmR_Out_T",d:1},{n:"TAT_ArmR_Pose_O",d:.83},{n:"TAT_ArmR_Pose_P",d:.83},{n:"TAT_ArmR_Pose_T",d:.83},{n:"TAT_Back_In_O",d:.83},{n:"TAT_Back_In_P",d:.83},{n:"TAT_Back_In_T",d:.83},{n:"TAT_Back_Out_O",d:.93},{n:"TAT_Back_Out_P",d:2.5},{n:"TAT_Back_Out_T",d:.93},{n:"TAT_Back_Pose_O",d:.83},{n:"TAT_Back_Pose_P",d:.83},{n:"TAT_Back_Pose_T",d:.83},{n:"TAT_Back_Sit_In_P",d:.83},{n:"TAT_Back_Sit_Loop_P",d:2.67},{n:"TAT_Back_Sit_Out_P",d:.83},{n:"TAT_Bel_In_O",d:.83},{n:"TAT_Bel_In_T",d:.83},{n:"TAT_Bel_Out_O",d:.97},{n:"TAT_Bel_Out_T",d:.97},{n:"TAT_Bel_Pose_O",d:.83},{n:"TAT_Bel_Pose_T",d:.83},{n:"TAT_Che_In_O",d:.83},{n:"TAT_Che_In_P",d:.83},{n:"TAT_Che_In_T",d:.83},{n:"TAT_Che_Out_O",d:.93},{n:"TAT_Che_Out_P",d:2.5},{n:"TAT_Che_Out_T",d:.93},{n:"TAT_Che_Pose_O",d:.83},{n:"TAT_Che_Pose_P",d:.83},{n:"TAT_Che_Pose_T",d:.83},{n:"TAT_Drop_O",d:.5},{n:"TAT_Idle_Loop_O",d:2.67},{n:"TAT_Idle_Loop_T",d:2.67},{n:"TAT_Sit_In_O",d:2.33},{n:"TAT_Sit_In_P",d:2.33},{n:"TAT_Sit_In_T",d:2.33},{n:"TAT_Sit_Loop_O",d:2.67},{n:"TAT_Sit_Loop_P",d:2.67},{n:"TAT_Sit_Loop_T",d:2.67},{n:"TAT_Sit_Out_O",d:2.83},{n:"TAT_Sit_Out_P",d:2.17},{n:"TAT_Sit_Out_T",d:2.83}]],["TEC",[{n:"TEC_crouchfire",d:.97},{n:"TEC_crouchreload",d:1.33},{n:"TEC_fire",d:1.1},{n:"TEC_reload",d:1.5}]],["TRAIN",[{n:"tran_gtup",d:3.17},{n:"tran_hng",d:2.33},{n:"tran_ouch",d:1.17},{n:"tran_stmb",d:2.33}]],["TRUCK",[{n:"TRUCK_ALIGN_LHS",d:.57},{n:"TRUCK_ALIGN_RHS",d:.57},{n:"TRUCK_closedoor_LHS",d:.4},{n:"TRUCK_closedoor_RHS",d:.4},{n:"TRUCK_close_LHS",d:.73},{n:"TRUCK_close_RHS",d:.73},{n:"TRUCK_getin_LHS",d:.6},{n:"TRUCK_getin_RHS",d:.6},{n:"TRUCK_getout_LHS",d:.8},{n:"TRUCK_getout_RHS",d:.8},{n:"TRUCK_jackedLHS",d:1.73},{n:"TRUCK_jackedRHS",d:1.5},{n:"TRUCK_open_LHS",d:.53},{n:"TRUCK_open_RHS",d:.53},{n:"TRUCK_pullout_LHS",d:.9},{n:"TRUCK_pullout_RHS",d:.9},{n:"TRUCK_Shuffle",d:.4}]],["UZI",[{n:"UZI_crouchfire",d:.63},{n:"UZI_crouchreload",d:1.37},{n:"UZI_fire",d:.57},{n:"UZI_fire_poor",d:.53},{n:"UZI_reload",d:1.4}]],["VAN",[{n:"VAN_close_back_LHS",d:.33},{n:"VAN_close_back_RHS",d:.33},{n:"VAN_getin_Back_LHS",d:.6},{n:"VAN_getin_Back_RHS",d:.6},{n:"VAN_getout_back_LHS",d:.63},{n:"VAN_getout_back_RHS",d:.63},{n:"VAN_open_back_LHS",d:.97},{n:"VAN_open_back_RHS",d:.97}]],["VENDING",[{n:"VEND_Drink2_P",d:3.33},{n:"VEND_Drink_P",d:1.33},{n:"vend_eat1_P",d:4.33},{n:"VEND_Eat_P",d:1.67},{n:"VEND_Use",d:2.6},{n:"VEND_Use_pt2",d:.4}]],["VORTEX",[{n:"CAR_jumpin_LHS",d:1},{n:"CAR_jumpin_RHS",d:.93},{n:"vortex_getout_LHS",d:1},{n:"vortex_getout_RHS",d:1}]],["WAYFARER",[{n:"WF_Back",d:.1},{n:"WF_drivebyFT",d:.2},{n:"WF_drivebyLHS",d:.2},{n:"WF_drivebyRHS",d:.2},{n:"WF_Fwd",d:.2},{n:"WF_getoffBACK",d:1.73},{n:"WF_getoffLHS",d:.9},{n:"WF_getoffRHS",d:.9},{n:"WF_hit",d:.03},{n:"WF_jumponL",d:.9},{n:"WF_jumponR",d:.9},{n:"WF_kick",d:1.03},{n:"WF_Left",d:.13},{n:"WF_passenger",d:.03},{n:"WF_pushes",d:.97},{n:"WF_Ride",d:.03},{n:"WF_Right",d:.13},{n:"WF_Still",d:.03}]],["WEAPONS",[{n:"SHP_1H_Lift",d:1},{n:"SHP_1H_Lift_End",d:.33},{n:"SHP_1H_Ret",d:.83},{n:"SHP_1H_Ret_S",d:.33},{n:"SHP_2H_Lift",d:.93},{n:"SHP_2H_Lift_End",d:.33},{n:"SHP_2H_Ret",d:.9},{n:"SHP_2H_Ret_S",d:.33},{n:"SHP_Ar_Lift",d:1},{n:"SHP_Ar_Lift_End",d:.33},{n:"SHP_Ar_Ret",d:1.17},{n:"SHP_Ar_Ret_S",d:.33},{n:"SHP_G_Lift_In",d:.67},{n:"SHP_G_Lift_Out",d:.67},{n:"SHP_Tray_In",d:.67},{n:"SHP_Tray_Out",d:.67},{n:"SHP_Tray_Pose",d:2.67}]],["WOP",[{n:"Dance_B1",d:1.13},{n:"Dance_B2",d:1.17},{n:"Dance_B3",d:1.13},{n:"Dance_B4",d:1.17},{n:"Dance_B5",d:1.13},{n:"Dance_B6",d:1.17},{n:"Dance_B7",d:1.13},{n:"Dance_B8",d:1.17},{n:"Dance_B9",d:1.13},{n:"Dance_B10",d:1.17},{n:"Dance_B11",d:1.13},{n:"Dance_B12",d:1.17},{n:"Dance_B13",d:1.13},{n:"Dance_B14",d:1.17},{n:"Dance_B15",d:1.13},{n:"Dance_B16",d:1.17},{n:"Dance_G1",d:1.13},{n:"Dance_G2",d:1.17},{n:"Dance_G3",d:1.13},{n:"Dance_G4",d:1.17},{n:"Dance_G5",d:1.13},{n:"Dance_G6",d:1.17},{n:"Dance_G7",d:1.13},{n:"Dance_G8",d:1.17},{n:"Dance_G9",d:1.13},{n:"Dance_G10",d:1.17},{n:"Dance_G11",d:1.13},{n:"Dance_G12",d:1.17},{n:"Dance_G13",d:1.13},{n:"Dance_G14",d:1.17},{n:"Dance_G15",d:1.13},{n:"Dance_G16",d:1.17},{n:"dance_loop",d:1.17}]],["WUZI",[{n:"CS_Dead_Guy",d:5.07},{n:"CS_Plyr_pt1",d:3.77},{n:"CS_Plyr_pt2",d:9.67},{n:"CS_Wuzi_pt1",d:3.77},{n:"CS_Wuzi_pt2",d:9.67},{n:"Walkstart_Idle_01",d:3.17},{n:"Wuzi_follow",d:3},{n:"Wuzi_Greet_Plyr",d:4},{n:"Wuzi_Greet_Wuzi",d:4},{n:"Wuzi_grnd_chk",d:4},{n:"Wuzi_stand_loop",d:2.67},{n:"Wuzi_Walk",d:1.17}]]]),Rh=e=>{const t=Lh.get(e);return t===void 0?!1:t},Ft=(e,t)=>{const a=Rh(e);if(a)return a.find(n=>n.n===t)?.d},X=(e,t)=>{const a=t.replace("-","")==="utf8"?e:A.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},kt=(e,t,a)=>{const n=X(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,P(t),n[1])},wh=(e,t,a)=>(e.forEach(n=>kt(n,t,a)),1),Mt=(e,t,a)=>{const n=X(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${n[0]}`,e.id,t,n[1])},Oh=(e,t,a)=>(e.forEach(n=>{Mt(n,t,a)}),1),Gh=(e,t,a)=>{const{charset:n}=e,{style:i,caption:r,info:l,button1:o,button2:d}=a,[c,u]=X(r||"",n),[,p]=X(l||"",n),[,S]=X(o||"",n),[,f]=X(d||"",n);return samp.callNative("ShowPlayerDialog",`iii${c.repeat(4)}`,e.id,t,i,u,p,S,f)},Bh=e=>{const t=samp.callNative("GetPlayerName","iAi",e.id,L.MAX_PLAYER_NAME);return A.decodeFromBuf(A.getValidStr(t),e.charset)},Fh=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,A.encodeToBuf(t,e.charset)),kh=(e,t,a)=>{const n=A.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},Mh=(e,t,a,n,i,r,l,o,d,c,u,p,S,f,T,v)=>{const x=A.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",x,a,n,i,r,l,o,d,c,u,p,S,f,T,v)},xh=(e,t,a,n,i,r,l,o,d,c,u,p,S,f,T,v)=>{const x=A.encodeToBuf(e,v);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",x,t,a,n,i,r,l,o,d,c,u,p,S,f,T,u.length,p.length,S.length,f.length)},Hh=(e,t,a,n)=>{const i=A.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,i)},Vh=(e,t)=>{const a=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return A.decodeFromBuf(A.getValidStr(a),t)},Wh=(e,t,a,n,i,r,l,o,d,c,u)=>{const p=A.encodeToBuf(n,e),S=A.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,p,i,S,l,o,d,c,u)},Uh=(e,t,a)=>{const[n,i,r,l,o,d,c]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),u=A.decodeFromBuf(n,a),p=A.decodeFromBuf(r,a);return{text:u,materialSize:i,fontFace:p,bold:l,fontColor:o,backColor:d,textAlignment:c}},[xt]=h({name:"OnGameModeInit"}),[Ht]=h({name:"OnGameModeExit"}),[Kh]=h({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[Zh]=h({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:A.decodeFromBuf(e)}}}),[jh]=h({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:A.decodeFromBuf(e),password:A.decodeFromBuf(t),success:!!a,ipBuffer:e,passwordBuffer:t}}}),V=[],Y=[],be=e=>{setTimeout(async()=>{try{const t=V.findIndex(n=>n.name===e);if(t===-1)return;const a=V[t];await a.load(),V.splice(t,1),Y.push(a)}catch(t){s.error(`[GameMode]: script ${e} load fail`),s.warn(new Error(JSON.stringify(t)))}})},Ne=e=>{setTimeout(async()=>{try{const t=Y.findIndex(n=>n.name===e);if(t===-1)return;const a=Y[t];await a.unload(),Y.splice(t,1),V.push(a)}catch(t){s.error(`[GameMode]: script ${e} unload fail`),s.warn(new Error(JSON.stringify(t)))}})},Xh=e=>{Ne(e),be(e)};xt(({next:e})=>(V.forEach(t=>be(t.name)),e())),Ht(({next:e})=>(Y.forEach(t=>Ne(t.name)),e()));const Yh=function(e,...t){if(V.some(a=>a===e)||Y.some(a=>a===e)){s.warn("[GameMode]: script has already been applied");return}e.load=e.load.bind(e,...t),V.push(e)};var $h={use(e,...t){return Yh(e,...t),this},loadUseScript:be,reloadUseScript:Xh,unloadUseScript:Ne,supportAllNickname(){for(let e=0;e<=255;e++)this.isNickNameCharacterAllowed(e)||this.allowNickNameCharacter(e,!0)},setWeather(e){return e<0||e>255?(s.error("[GameMode]: The valid weather value is only 0 to 255"),0):Li(e)},setWorldTime(e){return e<0||e>23?(s.error("[GameMode]: The valid hour value is only 0 to 23"),0):bi(e)},getWorldTime:Ni,setTeamCount:Ji,sendRconCommand:Pr,addPlayerClass:Qi,addPlayerClassEx:qi,createExplosion(e,t,a,n,i){return n<0||n>13?(s.error("[GameMode]: The valid explosion type value is only 0 to 13"),0):Oi(e,t,a,n,i)},manualVehicleEngineAndLights:zo,blockIpAddress:yr,unBlockIpAddress:Ir,getServerTickRate:Wi,addSimpleModel(e,t,a,n,i){return this.checkSimpleModel(e,t,a,n,i)?Sh(e,t,a,n,i):0},addSimpleModelTimed(e,t,a,n,i,r,l){return this.checkSimpleModel(e,t,a,n,i,r,l)?yh(e,t,a,n,i,r,l):0},checkSimpleModel(e,t,a,n,i,r,l){return e<-1?(s.error("[GameMode]: AddSimpleModel - Error virtual world"),0):t<0?(s.error("[GameMode]: AddSimpleModel - Error baseId"),0):a>-1e3||a<-3e4?(s.error("[GameMode]: AddSimpleModel - Error newId range"),0):n.trim().length<0?(s.error("[GameMode]: AddSimpleModel - Empty dffName"),0):i.trim().length<0?(s.error("[GameMode]: AddSimpleModel - Empty txdName"),0):r!==void 0&&(r<0||r>23)?(s.error("[GameMode]: AddSimpleModel - Error time on range"),0):l!==void 0&&(l<0||l>23)?(s.error("[GameMode]: AddSimpleModel - Error time off range"),0):1},isValidCustomModel:ct,getCustomModePath:Dh,getConsoleVarAsString(e,t="utf8"){const a=_i(e);return A.decodeFromBuf(A.getValidStr(a),t)},getRestartTime:yi,setRestartTime:Si,allowAdminTeleport:ri,isAdminTeleportAllowed:li,allowInteriorWeapons:si,areInteriorWeaponsAllowed:oi,areAllAnimationsEnabled:di,enableAllAnimations:ci,enableStuntBonusForAll:Ki,enableVehicleFriendlyFire:vi,enableZoneNames:Gi,disableInteriorEnterExits:Fi,setGameModeText:Ei,getGravity:Ri,setGravity:wi,showNameTags:Ci,disableNameTagLOS:Mi,usePlayerPedAnims:Bi,showPlayerMarkers:Di,limitPlayerMarkerRadius:Hi,limitGlobalChatRadius:xi,setNameTagDrawDistance:ki,findModelFileNameFromCRC:Ph,findTextureFileNameFromCRC:fh,getWeaponName:Yi,setObjectsDefaultCameraCollision:gh,vectorSize:Ti,clearBanList:Tr,isBanned:Er,isValidNickName:Qn,allowNickNameCharacter:qn,isNickNameCharacterAllowed:ei,addServerRule:ti,setServerRule:ai,isValidServerRule:ni,removeServerRule:ii,getWeaponSlot:Xi,getAvailableClasses:rt,getPlayerClass:$i,editPlayerClass:zi,toggleChatTextReplacement:Zi,chatTextReplacementToggled:ji,getConsoleVarAsInt:hi,getConsoleVarAsBool:ui,getWeather:mi,getServerRuleFlag:pi,setServerRuleFlags:gi};const D={onInit:xt,onExit:Ht,onIncomingConnection:Kh,onRconCommand:Zh,onRconLoginAttempt:jh,...$h};var zh=Object.defineProperty,Jh=(e,t,a)=>t in e?zh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,w=(e,t,a)=>(Jh(e,typeof t!="symbol"?t+"":t,a),a);const[Vt]=h({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:m.getInstance(e),actionId:t,memAddr:a,data:n}}}),Wt=class je{constructor(t){this.id=t,w(this,"charset","ISO-8859-1"),w(this,"locale","en_US"),w(this,"lastDrunkLevel",0),w(this,"lastFps",0),w(this,"lastUpdateTick",0),w(this,"lastUpdateFpsTick",0),w(this,"isPaused",!1),w(this,"isRecording",!1)}sendClientMessage(t,a){return kt(this,t,a)}static sendClientMessageToAll(t,a){wh(je.getInstances(),t,a)}sendMessageToPlayer(t,a){return Mt(t,this.id,a)}sendMessageToAll(t){return Oh(je.getInstances(),this.id,t)}isNpc(){return il(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return Dl(this.id)}setDrunkLevel(t){if(t<0||t>5e4)return s.error(new Error("[Player]: player's drunk level ranges from 0 to 50000"));bl(this.id,t)}allowTeleport(t){zr(this.id,t)}isTeleportAllowed(){return Jr(this.id)}enableCameraTarget(t){js(this.id,t)}enableStuntBonus(t){Cs(this.id,t)}getInterior(){return ul(this.id)}setInterior(t){return hl(this.id,t)}showNameTag(t,a){xs(this.id,t.id,a)}setColor(t){Nl(this.id,t)}getColor(){return vl(this.id)}setMarker(t,a){ks(this.id,t.id,a)}getMarker(t){return Ms(this.id,t.id)}resetMoney(){return kl(this.id)}getMoney(){return Ml(this.id)}giveMoney(t){return Fl(this.id,t)}resetWeapons(){return Ol(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):tr(this.id)}setHealth(t){return ml(this.id,t)}getHealth(){return pl(this.id)}toggleClock(t){return Zl(this.id,t)}toggleControllable(t){return ps(this.id,t)}toggleSpectating(t){return Ls(this.id,t)}spectatePlayer(t,a=ce.NORMAL){return Rs(this.id,t.id,a)}spectateVehicle(t,a=ce.NORMAL){return ws(this.id,t.id,a)}forceClassSelection(){Xl(this.id)}kick(){mr(this.id)}ban(){pr(this.id)}banEx(t,a){kh(this.id,t,a)}isAdmin(){return hr(this.id)}isInRangeOfPoint(t,a,n,i){return dl(this.id,t,a,n,i)}isStreamedIn(t){return _l(this.id,t.id)}setSkin(t,a=!1){return!a&&(t<0||t>311||t==74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===Ee.DUCK?0:Ll(this.id,t)}getSkin(){return Rl(this.id)}isInAnyVehicle(){return Gs(this.id)}getSpecialAction(){return Ps(this.id)}setSpecialAction(t){return fs(this.id,t)}setScore(t){return El(this.id,t)}getScore(){return Cl(this.id)}getPing(){return Hl(this.id)||0}setPos(t,a,n){return lt(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===j.NONE)return;const[t,a,n]=ll(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===j.SPECTATING}isWasted(){return this.getState()===j.WASTED}getState(){return xl(this.id)}getVersion(){return this.isNpc()?"":br(this.id)}setVirtualWorld(t){return Ts(this.id,t)}getVirtualWorld(){return Es(this.id)}removeFromVehicle(){return ms(this.id)}setWantedLevel(t){return t<0||t>6?(s.error("[Player]: player's wanted level ranges from 0 to 6"),0):Yl(this.id,t)}getWantedLevel(){return $l(this.id)}setFacingAngle(t){return sl(this.id,t)}getFacingAngle(){return ol(this.id)}setWeather(t){if(t<0||t>255){s.warn("[Player]: The valid weather value is only 0 to 255");return}jl(this.id,t)}getWeather(){return Rr(this.id)}setTime(t,a){if(t<0||t>23){s.warn("[Player]: The valid hour value is only 0 to 23");return}if(a<0||a>59){s.warn("[Player]: The valid minute value is only 0 to 59");return}return Ul(this.id,t,a)}getTime(){const[t,a]=Kl(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,i,r){os(this.id,t,a,n,i,r)}setTeam(t){t<0||t>C.NO_TEAM||Al(this.id,t)}getTeam(){return Tl(this.id)}setSkillLevel(t,a){if(a<0||a>999){s.warn("[Player]: The valid skill level is only 0 to 999");return}is(this.id,t,a)}getName(){return Bh(this)}setName(t){return Fh(this,t)}setVelocity(t,a,n){return Ql(this.id,t,a,n)}getVelocity(){const[t,a,n]=ql(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:i}=this.getVelocity();return D.vectorSize(a,n,i)*t}getKeys(){const[t,a,n]=Wl(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return Dr(this.id)}getFightingStyle(){return Jl(this.id)}setFightingStyle(t){zl(this.id,t)}setArmour(t){return gl(this.id,t)}getArmour(){return Sl(this.id)}setCameraBehind(){return Ws(this.id)}setCameraPos(t,a,n){return Hs(this.id,t,a,n)}setCameraLookAt(t,a,n,i){return Vs(this.id,t,a,n,i)}getCameraAspectRatio(){return $s(this.id)}getCameraFrontVector(){const[t,a,n]=Ks(this.id);return{x:t,y:a,z:n}}getCameraMode(){return Zs(this.id)}getCameraPos(){const[t,a,n]=Us(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(t){const a=Ys(this.id);return t.find(n=>n.id===a)}getCameraTargetVehicle(t){const a=Xs(this.id);return t.find(n=>n.id===a)}getCameraZoom(){return zs(this.id)}playAudioStream(t,a=0,n=0,i=0,r=5){let l=!1;return(a!==0||n!==0||i!==0)&&(l=!0),ts(this.id,t,a,n,i,r,l)}stopAudioStream(){as(this.id)}playSound(t,a=0,n=0,i=0){return gs(this.id,t,a,n,i)}static getMaxPlayers(){return Ai()}playCrimeReport(t,a){return a<3||a>22?(s.warn("[Player]: Available crime ids range from 3 to 22"),0):es(this.id,t.id,a)}interpolateCameraPos(t,a,n,i,r,l,o,d=de.CUT){Js(this.id,t,a,n,i,r,l,o,d)}interpolateCameraLookAt(t,a,n,i,r,l,o,d=de.CUT){Qs(this.id,t,a,n,i,r,l,o,d)}createExplosion(t,a,n,i,r){return i<0||i>13?(s.error("[Player]: The valid explosion type value is only 0 to 13"),0):bs(this.id,t,a,n,i,r)}static isConnected(t){return st(t)}isConnected(){return st(this.id)}disableRemoteVehicleCollisions(t){return As(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const a=hs(this.id);return t.find(n=>n.id===a)}getVehicleSeat(){return us(this.id)}getSurfingVehicle(t){const a=rs(this.id);if(a!==C.VEHICLE_ID)return t.find(n=>n.id===a)}applyAnimation(t,a,n=!1,i=!0,r=!0,l=!1,o=!1){const d=Ft(t,a);if(d===void 0)return s.error("[Player]: Invalid anim library or name");Ss(this.id,t,a,4.1,n,i,r,l,n?0:d,o)}clearAnimations(t=!1){ys(this.id,t)}getAnimationIndex(){return Is(this.id)}getAnimationName(){const[t,a]=Ui(this.getAnimationIndex());return{animLib:t,animName:a}}setShopName(t){ns(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(i=>{lt(this.id,t,a,n),setTimeout(()=>i(rl(this.id,t,a,n)))})}setWorldBounds(t,a,n,i){Bs(this.id,t,a,n,i)}clearWorldBounds(){return Fs(this.id)}setChatBubble(t,a,n,i){cs(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return cl(this.id,t,a,n)}getCustomSkin(){return Ds(this.id)}getTargetPlayer(t){const a=fl(this.id);if(a!==C.PLAYER_ID)return t.find(n=>n.id===a)}getLastShotVectors(){const[t,a,n,i,r,l]=ds(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:i,fHitPosY:r,fHitPosZ:l}}getWeapon(){return Vl(this.id)}getWeaponData(t){if(t<0||t>12){s.error("[Player]: weapon slots range from 0 to 12");return}const[a,n]=Bl(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return Pl(this.id)}giveWeapon(t,a){return wl(this.id,t,a)}setAmmo(t,a){return yl(this.id,t,a)}getAmmo(){return Il(this.id)}setArmedWeapon(t){return Gl(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(C.PLAYER_ID,C.PLAYER_ID,Ce.CONNECT)}sendDeathMessage(t,a){fi(t===C.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){al(this.id,t===C.PLAYER_ID?t:t.id,a===C.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,i,r,l,o,d,c,u,p,S){t<0||t>C.NO_TEAM||a<0||a>311||a==74||d<0||u<0||S<0||er(this.id,t,a,n,i,r,l,o,d,c,u,p,S)}redirectDownload(t){return Ih(this.id,t)}sendClientCheck(t,a,n,i){const r=[2,5,69,70,71,72];return r.includes(t)?new Promise((l,o)=>{if(this.isPaused)return o("[Player]: An attempt to check the player client response, but the player paused the game");const d="[Player]: An attempt to check the player client response timed out",c=this.getPing(),u=(c>=200?0:c)+200;let p=null;const S=Vt(({player:f,actionId:T,memAddr:v,data:x,next:se})=>{if(f!==this)return se();p?(clearTimeout(p),p=null,o(d)):l({actionId:T,memAddr:v,data:x});const ia=se();return S(),ia});p=setTimeout(()=>{S(),o(d)},u),Ar(this.id,t,a,n,i)}):s.error(`[Player]: sendClientCheck valid types are ${r.toString()}`)}selectTextDraw(t){b_(this.id,t)}cancelSelectTextDraw(){N_(this.id)}beginObjectSelecting(){mh(this.id)}endObjectEditing(){ph(this.id)}getSurfingObject(t){const a=ls(this.id);if(a!==C.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=ss(this.id);if(a!==C.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return Ch(this.id,t)}editAttachedObject(t){return uh(this.id,t)}setAttachedObject(t,a,n,i=0,r=0,l=0,o=0,d=0,c=0,u=1,p=1,S=1,f=0,T=0){return this.isAttachedObjectSlotUsed(t)?0:Th(this.id,t,a,n,i,r,l,o,d,c,u,p,S,f,T)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?Eh(this.id,t):0}getAnimationFlags(){return samp.callNative("GetPlayerAnimationFlags","i",this.id)}getLastSyncedTrailerID(){return samp.callNative("GetPlayerLastSyncedTrailerID","i",this.id)}getLastSyncedVehicleID(){return samp.callNative("GetPlayerLastSyncedVehicleID","i",this.id)}toggleWidescreen(t){return Nr(this.id,t)}isWidescreenToggled(){return vr(this.id)}getSpawnInfo(){return ar(this.id)}getSkillLevel(t){return Lr(this.id,t)}isCheckpointActive(){return xd(this.id)}getCheckpoint(){return Hd(this.id)}isRaceCheckpointActive(){return Vd(this.id)}getRaceCheckpoint(){return Wd(this.id)}getWorldBounds(){wr(this.id)}isInModShop(){return Gd(this.id)}getSirenState(){return Bd(this.id)}getLandingGearState(){return Fd(this.id)}getHydraReactorAngle(){return kd(this.id)}getTrainSpeed(){return Md(this.id)}getZAim(){return Or(this.id)}getSurfingOffsets(){return Gr(this.id)}getRotationQuat(){return Br(this.id)}getDialogID(){return Fr(this.id)}getSpectateID(){return kr(this.id)}getSpectateType(){return Mr(this.id)}getRawIp(){return Cr(this.id)}setGravity(t){return xr(this.id,t)}getGravity(){return Hr(this.id)}setAdmin(t){return ur(this.id,t)}isSpawned(){return Vr(this.id)}isControllable(){return Wr(this.id)}isCameraTargetEnabled(){return Ur(this.id)}toggleGhostMode(t){return Kr(this.id,t)}getGhostMode(){return Zr(this.id)}getBuildingsRemoved(){return jr(this.id)}getAttachedObject(t){return Ah(this.id,t)}removeWeapon(t){return Xr(this.id,t)}isUsingOfficialClient(){return $r(this.id)}allowWeapons(t){return Qr(this.id,t)}areWeaponsAllowed(){return qr(this.id)}gpci(t=this.charset){return fr(this.id,t)}isCuffed(){return qs(this.id)}isInDriveByMode(){return eo(this.id)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}};w(Wt,"players",new Map);let m=Wt;var Qh=Object.defineProperty,qh=(e,t,a)=>t in e?Qh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,te=(e,t,a)=>(qh(e,typeof t!="symbol"?t+"":t,a),a);const[Ut]=h({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),dialogId:t,response:a,listItem:n,buffer:i}}});Ut(({next:e,player:t,dialogId:a,response:n,listItem:i,buffer:r})=>{const l=ve.waitingQueue.get(t);return!l||l.showId!==a||setTimeout(()=>l.resolve({response:n,listItem:i,buffer:r})),e()});const _e=class N{constructor(t={style:Te.MSGBOX,caption:"",info:"",button1:"",button2:""}){te(this,"id",-1),te(this,"dialog"),this.dialog=t}get style(){return this.dialog.style}set style(t){this.dialog.style=t}get caption(){return this.dialog.caption}set caption(t){this.dialog.caption=t}get info(){return this.dialog.info}set info(t){this.dialog.info=t}get button1(){return this.dialog.button1}set button1(t){this.dialog.button1=t}get button2(){return this.dialog.button2}set button2(t){this.dialog.button2=t}static delDialogTask(t,a=!1){const n=N.waitingQueue.get(t);if(!n)return!1;a&&n.reject("[Dialog]: player timeout does not respond or second request show dialog"),N.waitingQueue.delete(t);const i=N.showingIds.indexOf(n.showId);return i>-1&&N.showingIds.splice(i,1),!0}show(t){return new Promise((a,n)=>{for(N.close(t);(this.id===-1||N.showingIds.includes(this.id))&&N.showingIds.length!==N.max_dialogId;)this.id=Math.floor(Math.random()*(N.max_dialogId+1));if(this.id===-1){n("[Dialog]: The maximum number of dialogs is reached");return}N.showingIds.push(this.id),N.waitingQueue.set(t,{resolve:a,reject:n,showId:this.id}),Gh(t,this.id,this.dialog)}).then(a=>{const{response:n,listItem:i}=a,r=A.decodeFromBuf(a.buffer,t.charset);return Promise.resolve({response:n,listItem:i,inputText:r})}).catch(a=>Promise.reject(a)).finally(()=>N.delDialogTask(t))}static close(t){N.delDialogTask(t,!0),Yr(t.id)}};te(_e,"showingIds",[]),te(_e,"max_dialogId",32767),te(_e,"waitingQueue",new Map);let ve=_e;const[Kt]=h({name:"OnPlayerConnect",beforeEach(e){const t=new m(e);return m.players.set(e,t),ve.close(t),{player:t}}}),[Zt]=h({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:m.players.get(e),reason:t}},afterEach({player:e}){m.players.delete(e.id)}}),[jt]=h({name:"OnPlayerUpdate",beforeEach(e){return{player:m.getInstance(e)}}}),[eu]=h({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=m.getInstance(e);return{player:a,text:A.decodeFromBuf(t,a.charset),buffer:t}}}),[tu]=h({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:m.getInstance(e),enterExit:!!t,interior:a}}}),[au]=h({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:m.getInstance(e),fX:t,fY:a,fZ:n}}}),[nu]=h({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:m.getInstance(e),clickedPlayer:m.getInstance(t),source:a}}}),[iu]=h({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:m.getInstance(e),killer:m.getInstance(t)||C.PLAYER_ID,reason:a}}}),[ru]=h({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),damage:m.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),[lu]=h({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newKeys:t,oldKeys:a}}}),[su]=h({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:m.getInstance(e),classId:t}}}),[ou]=h({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[du]=h({name:"OnPlayerSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[cu]=h({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newState:t,oldState:a}}}),[_u]=h({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[hu]=h({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[uu]=h({name:"OnPlayerTakeDamage",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),damage:m.getInstance(t)||C.PLAYER_ID,amount:a,weapon:n,bodyPart:i}}}),[mu]=h({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:m.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[pu]=h({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:m.getInstance(e),type:t,crc:a}}}),[gu]=h({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:m.getInstance(e),virtualWorld:t}}});let ae=null;const[Su,yu]=h({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[Iu,Pu]=h({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}});Kt(({next:e})=>(!ae&&m.getInstances().length&&(ae=setInterval(()=>{m.getInstances().filter(t=>{const a=t.getState()!==j.NONE;return!t.isPaused&&!t.isNpc()&&a}).forEach(t=>{Date.now()-t.lastUpdateTick>1e3&&(t.isPaused=!0,yu(t,t.lastUpdateTick))})},500)),e())),Zt(({next:e})=>(ae&&m.getInstances().length<=1&&(clearInterval(ae),ae=null),e()));function fu(e){if(!m.isConnected(e.id))return;const t=Date.now();if(t-e.lastUpdateFpsTick>=1e3){const a=e.getDrunkLevel();if(a<100){e.setDrunkLevel(2e3),e.lastDrunkLevel=2e3,e.lastFps=0;return}e.lastUpdateFpsTick=t,e.lastFps=e.lastDrunkLevel-a-1,e.lastDrunkLevel=a}}jt(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,Pu(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,fu(e)}return t()});const $=new Map,Xt=/[^/\s]+/gi,Le={NOT_EXIST:{code:1,msg:"command does not exist"},REJECTED:{code:2,msg:"An event registered through onCommandText returned false"},PERFORMED:{code:3,msg:"An event registered through onCommandPerformed returned false"}},[Au,Tu]=h({name:"OnCommandReceived",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Eu,Cu]=h({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Du,Re]=h({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a){return{player:e,command:t,error:a}}}),[bu]=h({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){return{player:m.getInstance(e),buffer:t}}});function Nu(e){const t=[];let a="";for(let n=0;n<e.length;n++)a+=e[n]+" ",t.push(a.trimEnd());return t.reverse()}bu(({player:e,buffer:t,next:a})=>{const n=A.decodeFromBuf(t,e.charset).match(Xt),i=Nu(n).find(u=>$.get(u)),r=n.join(" ");if(!i)return Re(e,r,Le.NOT_EXIST);const l=Tu(e,r);if(!l)return l;const o=$.get(i),[,d]=o,c=r.replace(i,"").trim().split(" ");return d(e,c)?Cu(e,r)?a():Re(e,r,Le.PERFORMED):Re(e,r,Le.REJECTED)});const Yt={on(e,t){const a=Array.isArray(e)?e:[e],n=a.find(r=>!r.match(Xt));if(n)return console.log(`error command ${n} format`),()=>{};const i=a.map(r=>{const l=r.replaceAll("/","");if(!$.has(l)){const d=h({name:l,isNative:!1,beforeEach(c,u){return{player:c,subcommand:u}}});$.set(l,d)}const[o]=$.get(l);return o(t)});return()=>{i.forEach(r=>r())}},off(e){(Array.isArray(e)?e:[e]).forEach(t=>{$.has(t)&&it(t)})}},we=Object.freeze({onConnect:Kt,onDisconnect:Zt,onPause:Su,onResume:Iu,onUpdate:jt,onText:eu,onEnterExitModShop:tu,onClickMap:au,onClickPlayer:nu,onDeath:iu,onGiveDamage:ru,onKeyStateChange:lu,onRequestClass:su,onRequestSpawn:ou,onSpawn:du,onStateChange:cu,onStreamIn:_u,onStreamOut:hu,onTakeDamage:uu,onInteriorChange:mu,onRequestDownload:pu,onFinishedDownloading:gu,onCheckResponse:Vt,onCommandReceived:Au,onCommandPerformed:Eu,onCommandError:Du,onCommandText:Yt.on,offCommandText:Yt.off,onDialogResponse:Ut}),vu=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],Lu=[[13,18,19,20,21,24],[1,3,4,5,6,7,13,17,19,20,142,143,144,145],[],[],[0,2,7,13,16,17,19,20,21],[0,1,14,18,19,20,21,23],[],[],[],[],[1,3,7,13,17,19,20,21,23,24],[],[],[],[],[1,3,7,17,18,19,23],[],[],[2,6,16,20,21],[],[1,3,4,5,19,21],[0,14,16,18,19,20,21,23],[7,13,17,19,20,21],[],[],[],[1,3,4,5,6,19,21],[],[],[],null,[],[],[],[],[],[1,3,6,7,13,17,19,20,21,22],[],[],[1,3,7,13,17,23,142,143,144,145],[],[],[],[],[],[],null,[],null,null,[],[],null,null,null,[],[],[],[],[],[],null,null,null,[],[],[],[],null,[],[],[],null,null,[],[],[],[6,7,17,18,19,20,21],[4,5,12,13,20,21,22,24],[],[],null,[],[],null,[],[],[],[],[0,2,4,5,6,13,16,18,19,20,24],[],[3,7,14,17,18,19,20,21,23,142,143,144,145],[0,4,5,6,16],null,[],[],[1,2,3,6,7,11,17,19,20,23,142,143],[],[],[],[13,19,20,21,24],[],[],[],[],[],[],[],[],null,null,[],[],[],[],[],[0,2,4,7,15,16,17,18,19,20,21],[2,3,7,16,17,18,19,20,23,142,143,144,145],[1,3,5,6,7,13,17,18,20,23,142,143,144,145],[],[],null,null,null,[],[],[],[1,7,14,15,17,18,20,21],[],[1,3,6,7,11,12,17,18,19,20,23],[],[],[],[],[100,101,106,122,123,124,125,126,127,178,179,180,185],[109,110,113,114,115,116,117,118,119,120,121],[103,104,105,107,108,128,181,182,183,184],null,null,[],[1,4,6,7,17,18,19,20,23,24,142,143,144,145],[],[14,15,18,19,20,21,144,145],[],[],[],[1,2,4,6,7,17,18,19,23,24,142,143,144,145],[0,3,16,18,19,20,21,142,143],[],[1,3,7,11,12,17,18,19,20,23,142,143,144,145],[1,3,4,5,6,18,19,20,23,142,143,144,145],[2,3,5,6,16,18,19,20,21,23],[],[],[],[],[],[],[88,89,90,91,92,93,94,95,163,164,165,166,167,168],[65,66,67,68,69,70,71,72,158,159,160,161,162,173],[26,27,28,29,30,31,32,33,138,139,140,141,169,170],[55,56,57,58,59,60,61,62,63,64,154,155,156,157],[34,35,36,37,38,39,40,41,146,147,148,149,171,172],[],[],[45,46,47,48,49,50,51,52,53,54,150,151,152,153],[],[102,129,130,131,132,133,186,187,188,189],[],null,null,[],[],[],[],[42,43,44,99,174,175,176,177],[134,135,136,137,190,191,192,193],[],[],[],[1,6,7,17,18,20,23],null,[],[],[],[0,1,2,3,6,7,13,14,15,16,17,18,19,20,21,22,23,24,142,143,144,145],null,[],[],[0,4,5,6,7,13,16,17,18,20,24,144,145],null,[],[],[],[],null,[],[],[],[],[4,5,6,7,13,17,18,20,22],[],[],[1,6,7,17,18,19,20,23,24,142,143,144,145],[],[],[],[],[],[],[],[]],Ru=(e,t)=>{if(!Oe(e))return s.error("[vehicleUtils]: Invalid model id"),!1;const a=Lu[e-400];if(a===null)return!1;const n=t-1e3;return vu.includes(n)||a.includes(n)},Oe=e=>e>=400&&e<=611,wu=(e,t)=>{if(t<0||t>2)return!1;const a=new Map([[483,0],[534,2],[535,2],[536,2],[558,2],[559,2],[560,2],[561,2],[562,2],[565,2],[567,2],[575,1],[576,2]]).get(e);return a===void 0?!1:t<=a};var Ou=Object.defineProperty,Gu=(e,t,a)=>t in e?Ou(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,O=(e,t,a)=>(Gu(e,typeof t!="symbol"?t+"":t,a),a);const W=class k{constructor(t,a=!1){O(this,"sourceInfo"),O(this,"isStatic"),O(this,"_id",-1),this.sourceInfo=t,this.isStatic=a}get id(){return this._id}create(t=!1){if(this.id!==-1)return s.warn("[Vehicle]: Unable to create the vehicle again");if(k.createdCount===L.MAX_VEHICLES)return s.warn("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:a,x:n,y:i,z:r,z_angle:l,color:o,respawn_delay:d,addSiren:c}=this.sourceInfo;if(!(!t&&!Oe(a))){if(this.isStatic){if(d===void 0){this._id=vd(a,n,i,r,l,o[0],o[1]);return}this._id=Ld(a,n,i,r,l,o[0],o[1],d||-1,c||!1)}else this._id=Ho(a,n,i,r,l,o[0],o[1],d||-1,c||!1);k.createdCount++,k.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)return s.warn("[Vehicle]: Unable to destroy the vehicle before create");Vo(this.id),k.createdCount--,k.vehicles.delete(this._id),this._id=-1}addComponent(t){return this.id===-1?0:Ru(this.getModel(),t)?ld(this.id,t):(s.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(k.getComponentType(t))===0?(s.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):sd(this.id,t)}getComponentInSlot(t){return yd(this.id,t)}linkToInterior(t){return this.id===-1?0:rd(this.id,t)}setVirtualWorld(t){return this.id===-1?0:bd(this.id,t)}getVirtualWorld(){return this.id===-1?0:Nd(this.id)}repair(){return this.id===-1?0:Pd(this.id)}setPos(t,a,n){return this.id===-1?0:Ko(this.id,t,a,n)}getPos(){if(this.id!==-1)return Uo(this.id)}getHealth(){return this.id===-1?0:_d(this.id)}setHealth(t){return this.id===-1?0:cd(this.id,t)}isPlayerIn(t){return this.id===-1?!1:Os(t.id,this.id)}putPlayerIn(t,a){return this.id===-1||a<0?0:(a>4&&s.warn("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle."),_s(t.id,this.id,a))}getZAngle(){return this.id===-1?0:Zo(this.id)}setZAngle(t){return this.id===-1?0:Yo(this.id,t)}setNumberPlate(t){return this.id===-1?0:t.length<1||t.length>32?(s.error("[Vehicle]: The length of the number plate ranges from 32 characters"),0):/^[a-zA-Z0-9]+$/.test(t)?gd(this.id,t):(s.error("[Vehicle]: number plates only allow letters and numbers"),0)}changeColors(t,a){return this.id===-1?0:od(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:Ad(this.id,t,a,n)}getVelocity(){if(this.id===-1)return;const[t,a,n]=fd(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:i}=this.getVelocity();return D.vectorSize(a,n,i)*t}setAngularVelocity(t,a,n){return this.id===-1?0:Td(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return Ed(this.id)}updateDamageStatus(t,a,n,i){this.id!==-1&&Cd(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return Xo(this.id,t,a,n)}getModel(){return Sd(this.id)}static getModelInfo(t,a){return Dd(t,a)}getModelInfo(t){if(this.id!==-1)return k.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,n,i]=jo(this.id);return{w:t,x:a,y:n,z:i}}setRespawn(){return this.id===-1?0:id(this.id)}isStreamedIn(t){return this.id===-1?!1:Wo(this.id,t.id)}setParamsCarDoors(t,a,n,i){return this.id===-1?0:ed(this.id,t,a,n,i)}setParamsCarWindows(t,a,n,i){return this.id===-1?0:ad(this.id,t,a,n,i)}getParamsCarDoors(){if(this.id!==-1)return td(this.id)}getParamsCarWindows(){if(this.id!==-1)return nd(this.id)}setParamsEx(t,a,n,i,r,l,o){return this.id===-1?0:Jo(this.id,t,a,n,i,r,l,o)}getParamsEx(){if(this.id===-1)return;const[t,a,n,i,r,l,o]=Qo(this.id);return{engine:t,lights:a,alarm:n,doors:i,bonnet:r,boot:l,objective:o}}getParamsSirenState(){return this.id===-1?-2:qo(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:$o(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:md(this.id)}changePaintjob(t){return this.id===-1||!wu(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),dd(this.id,t),1)}attachTrailer(t){return this.id===-1?0:hd(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&ud(this.id)}getTrailer(){if(this.id!==-1)return k.getInstances().find(t=>t.id===pd(this.id))}isValid(){return dt(this.id)}getMatrix(){if(this.id!==-1)return Mo(this.id)}getTrainSpeed(){return this.id===-1?0:ko(this.id)}getHydraReactorAngle(){return this.id===-1?0:Fo(this.id)}getLandingGearState(){return this.id===-1?0:Bo(this.id)}getSirenState(){return this.id===-1?0:Go(this.id)}getDriver(t){if(this.id!==-1)return t.get(wo(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(Ro(this.id))}isSirenEnabled(){return vo(this.id)}toggleSirenEnabled(t){return this.id===-1?0:bo(this.id,t)}setParamsSirenState(t){return this.id===-1?0:No(this.id,t)}isDead(){return this.id===-1?!0:Eo(this.id)}setDead(t){return this.id===-1?!1:Co(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:Do(this.id,t)}getRespawnTick(){return this.id===-1?0:Ao(this.id)}setRespawnTick(t){return this.id===-1?!1:To(this.id,t)}isOccupied(){return this.id===-1?!1:fo(this.id)}hasBeenOccupied(){return this.id===-1?!1:Po(this.id)}getOccupiedTick(){return this.id===-1?0:yo(this.id)}setOccupiedTick(t){return this.id===-1?0:Io(this.id,t)}getCab(){return this.id===-1?0:So(this.id)}getRespawnDelay(){return this.id===-1?0:go(this.id)}setRespawnDelay(t){return this.id===-1?0:po(this.id,t)}getNumberPlate(){return this.id===-1?"":mo(this.id)}getInterior(){return this.id===-1?0:uo(this.id)}getPaintjob(){return this.id===-1?-1:ho(this.id)}getColors(){if(this.id!==-1)return _o(this.id)}setSpawnInfo(t,a,n,i,r,l,o,d=-2,c=-2,u=!1){return this.id===-1||!u&&!Oe(t)?0:co(this.id,t,a,n,i,r,P(l),P(o),d,c)}getSpawnInfo(){if(this.id!==-1)return oo(this.id)}getRandomColorPair(){if(this.id!==-1)return ot(this.getModel())}show(){return this.id===-1?!1:Rd(this.id)}hide(){return this.id===-1?!1:wd(this.id)}isHidden(){return this.id===-1?!1:Od(this.id)}static getRandomColorPair(t){return ot(t)}static isValid(t){return dt(t)}static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}};O(W,"vehicles",new Map),O(W,"createdCount",0),O(W,"getComponentType",Id),O(W,"colorIndexToColor",xo),O(W,"getModelsUsed",Oo),O(W,"getModelCount",Lo);let b=W;D.onExit(({next:e})=>(b.getInstances().forEach(t=>t.destroy()),e()));const[Bu]=h({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:b.getInstance(e),player:m.getInstance(t)}}}),[Fu]=h({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:b.getInstance(e),killer:m.getInstance(t)}}}),[ku]=h({name:"OnVehicleMod",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:b.getInstance(t),componentId:a}}}),[Mu]=h({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:b.getInstance(t),paintjobId:a}}}),[xu]=h({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:m.getInstance(e),vehicle:b.getInstance(t),color:[a,n]}}}),[Hu]=h({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:b.getInstance(t),state:!!a}}}),[Vu]=h({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:b.getInstance(e)}}}),[Wu]=h({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:b.getInstance(e),forPlayer:m.getInstance(t)}}}),[Uu]=h({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:b.getInstance(e),forPlayer:m.getInstance(t)}}}),[Ku]=h({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:b.getInstance(t),isPassenger:!!a}}}),[Zu]=h({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:m.getInstance(e),vehicle:b.getInstance(t)}}}),[ju]=h({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:b.getInstance(e),seatId:t}}}),[Xu]=h({name:"OnNpcExitVehicle"}),[Yu]=h({name:"OnTrailerUpdate",beforeEach(e,t){return{player:m.getInstance(e),vehicle:b.getInstance(t)}}}),$u=Object.freeze({onDamageStatusUpdate:Bu,onDeath:Fu,onMod:ku,onPaintjob:Mu,onRespray:xu,onSirenStateChange:Hu,onSpawn:Vu,onStreamIn:Wu,onStreamOut:Uu,onPlayerEnter:Ku,onPlayerExit:Zu,onNpcEnter:ju,onNpcExit:Xu,onTrailerUpdate:Yu});class zu{constructor(){}static getNetworkStats(){return Sr()}static getPlayerNetworkStats(t){return gr(t.id)}static getBytesReceived(t){return rr(t.id)}static getBytesSent(t){return sr(t.id)}static getConnectionStatus(t){return cr(t.id)}static getConnectedTime(t){return nr(t.id)}static getIpPort(t){return _r(t.id)}static getMessagesReceived(t){return ir(t.id)}static getMessagesRecvPerSecond(t){return or(t.id)}static getMessagesSent(t){return lr(t.id)}static getPacketLossPercent(t){return dr(t.id)}}var Ju=Object.defineProperty,Qu=(e,t,a)=>t in e?Ju(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ge=(e,t,a)=>(Qu(e,typeof t!="symbol"?t+"":t,a),a);class qu{constructor(t,a,n){Ge(this,"_text"),Ge(this,"_time"),Ge(this,"_style"),this._text=t,this._time=a,this._style=n}get text(){return this._text}set text(t){this._text=t}get time(){return this._time}set time(t){this._time=t}get style(){return this._style}set style(t){this._style=t}static hideForAll(t){Pi(t)}static has(t,a){return tl(t.id,a)}forAll(){Ii(this.text,this.time,this.style)}forPlayer(t){el(t.id,this.text,this.time,this.style)}hideForPlayer(t){return nl(t.id,this.style)}}var em=Object.defineProperty,tm=(e,t,a)=>t in e?em(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,G=(e,t,a)=>(tm(e,typeof t!="symbol"?t+"":t,a),a);const $t=class ge{constructor(t,a,n,i,r,l){G(this,"_itemCount",0),G(this,"_id",-1),G(this,"_title"),G(this,"_columns",1),G(this,"_x"),G(this,"_y"),G(this,"_col1width"),G(this,"_col2width"),this._title=t,this.columns=a,this._x=n,this._y=i,this._col1width=r,this._col2width=l}get itemCount(){return this._itemCount}get id(){return this._id}get title(){return this._title}set title(t){this._title=t}get columns(){return this._columns}set columns(t){if(t!==1&&t!==2){s.error("[Menu]: The menu column number interval is between 1 and 2");return}this._columns=t}get x(){return this._x}set x(t){this._x=t}get y(){return this._y}set y(t){this._y=t}get col1width(){return this._col1width}set col1width(t){this._col1width=t}get col2width(){return this._col2width}set col2width(t){this._col2width=t}create(){return this._id!==-1?s.error("[Menu]: Cannot be created twice"):ge.getInstances().length===L.MAX_MENUS?s.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=zd(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),ge.menus.set(this._id,this),this)}destroy(){return this._id===-1?s.error("[Menu]: Cannot destroy before create"):(Jd(this.id),ge.menus.delete(this._id),this._id=-1,this)}addItem(t,a){return this._id===-1?s.error("[Menu]: Cannot addItem before create"):this._itemCount===L.MAX_MENU_ROW?s.error("[Menu]: The maximum number of items allowed to be added has been reached 12"):t!==0&&t!==1?s.error("[Menu]: Wrong number of columns"):(Qd(this.id,t,a),this._itemCount++,this)}setColumnHeader(t,a){return this._id===-1?s.error("[Menu]: Cannot setColumnHeader before create"):t!==0&&t!==1?s.error("[Menu]: Wrong number of columns"):(qd(this.id,t,a),this)}disable(){return this._id===-1?s.error("[Menu]: Cannot disable menu before create"):(nc(this.id),this)}disableRow(t){if(this._id===-1)return s.error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)return s.error("[Menu]: Wrong number of rows");ic(this.id,t)}isValid(){return ac(this.id)}showForPlayer(t){return this._id===-1?s.error("[Menu]: Cannot show menu before create"):ec(this.id,t.id)}hideForPlayer(t){return this._id===-1?s.error("[Menu]: Cannot hide menu before create"):tc(this.id,t.id)}isDisabled(){return this._id===-1?!1:Ud(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:Kd(this.id,t)}getItems(t){return this._id===-1?0:Zd(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:jd(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:Xd(this.id)}getColumnHeader(t){return this._id===-1?s.error("[Menu]: Cannot get column header before create"):Yd(this.id,t)}getItem(t,a){if(this._id===-1)return s.error("[Menu]: Cannot get item before create");if(!(a<0||a>this.getItems(t)-1))return $d(this.id,t,a)}static getInstance(t){return this.menus.get(t)}static getInstances(){return[...this.menus.values()]}static getInstanceByPlayer(t){return this.getInstances().find(a=>a.id===rc(t.id))}};G($t,"menus",new Map);let Be=$t;D.onExit(({next:e})=>(Be.getInstances().forEach(t=>t.destroy()),e()));const[am]=h({name:"OnPlayerExitedMenu",beforeEach(e){return{player:m.getInstance(e)}}}),[nm]=h({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=m.getInstance(e),n=Be.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),im=Object.freeze({onPlayerExited:am,onPlayerSelectedRow:nm});var rm=Object.defineProperty,lm=(e,t,a)=>t in e?rm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,he=(e,t,a)=>(lm(e,typeof t!="symbol"?t+"":t,a),a);const Fe=class Z{constructor(t){he(this,"sourceInfo"),he(this,"_id",-1),this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return s.warn("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(Z.getInstances(!1).length===L.MAX_GANG_ZONES)return s.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:i,maxY:r}=this.sourceInfo;this._id=Ec(t.id,a,n,i,r);const l=we.onDisconnect(({player:o,next:d})=>{d(),o===this.sourceInfo.player&&(this.destroy(),l())});Z.playerGangZones.set(this.id,this)}else{if(Z.getInstances(!0).length===L.MAX_GANG_ZONES)return s.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:i,maxY:r}=this.sourceInfo;this._id=mc(a,n,i,r),Z.globalGangZones.set(this.id,this)}}destroy(){if(this.id===-1)return s.warn("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(Cc(t.id,this.id),Z.playerGangZones.delete(this.id)):(pc(this.id),Z.globalGangZones.delete(this.id)),this._id=-1}showForAll(t){return this.id===-1?s.warn("[GangZone]: Unable to show the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be show for all."):(Sc(this.id,t),this)}showForPlayer(t,a){if(this.id===-1)return s.warn("[GangZone]: Unable to show the gangzone before create");const n=this.sourceInfo.player;if(n)Dc(n.id,this.id,P(t));else if(a)gc(a.id,this.id,t);else return s.warn("[GangZone]: invalid player for show");return this}hideForAll(){return this.id===-1?s.warn("[GangZone]: Unable to hide the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be hide for all."):(Ic(this.id),this)}hideForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to hide the gangzone before create");const a=this.sourceInfo.player;if(a)bc(a.id,this.id);else if(t)yc(t.id,this.id);else return s.warn("[GangZone]: invalid player for hide");return this}flashForAll(t){return this.id===-1?s.warn("[GangZone]: Unable to flash the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be flash for all."):(fc(this.id,t),this)}flashForPlayer(t,a){if(this.id===-1)return s.warn("[GangZone]: Unable to flash the gangzone before create");const n=this.sourceInfo.player;if(n)Nc(n.id,this.id,P(a));else if(t)Pc(t.id,this.id,a);else return s.warn("[GangZone]: invalid player for flash");return this}stopFlashForAll(){return this.id===-1?s.warn("[GangZone]: Unable to stop flash the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be stop flash for all."):(Tc(this.id),this)}stopFlashForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to stop flash the gangzone before create");const a=this.sourceInfo.player;if(a)vc(a.id,this.id);else if(t)Ac(t.id,this.id);else return s.warn("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Lc(t.id,this.id):lc(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Rc(a.id,this.id):sc(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?wc(a.id,this.id):oc(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to get color before create");const a=this.sourceInfo.player;return a?Oc(a.id,this.id):dc(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to get flash color before create");const a=this.sourceInfo.player;return a?Gc(a.id,this.id):cc(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Bc(a.id,this.id):_c(t.id,this.id)}getPos(){if(this.id===-1)return s.warn("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?Fc(t.id,this.id):hc(this.id)}useCheck(t){if(this.id===-1)return s.warn("[GangZone]: Unable to use check before create");const a=this.sourceInfo.player;return a?kc(a.id,this.id,t):uc(this.id,t),this}static getInstance(t,a){return a?this.globalGangZones.get(t):this.playerGangZones.get(t)}static getInstances(t){return t?[...this.globalGangZones.values()]:[...this.playerGangZones.values()]}};he(Fe,"globalGangZones",new Map),he(Fe,"playerGangZones",new Map);let B=Fe;D.onExit(({next:e})=>(B.getInstances(!0).forEach(t=>t.destroy()),B.getInstances(!1).forEach(t=>t.destroy()),e()));const[sm]=h({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:B.getInstance(t,!0)}}}),[om]=h({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:B.getInstance(t,!0)}}}),[dm]=h({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:B.getInstance(t,!1)}}}),[cm]=h({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:B.getInstance(t,!1)}}}),[_m]=h({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:B.getInstance(t,!0)}}}),[hm]=h({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:B.getInstance(t,!1)}}}),um=Object.freeze({onPlayerEnterGlobal:sm,onPlayerLeaveGlobal:om,onPlayerEnterPlayer:dm,onPlayerLeavePlayer:cm,onPlayerClickGlobal:_m,onPlayerClickPlayer:hm}),[U]=h({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[K]=h({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[mm]=h({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});var pm=Object.defineProperty,gm=(e,t,a)=>t in e?pm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,y=(e,t,a)=>(gm(e,typeof t!="symbol"?t+"":t,a),a);class g{constructor(){}static getPlayerTickRate(t){return ha(t.id)}static setPlayerTickRate(t,a=50){return ua(t.id,a)}static getChunkTickRate(t,a=-1){return a instanceof m?ze(t,a.id):ze(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof m?Je(t,a,n.id):Je(t,a,n)}static getVisibleItems(t,a=-1){return a instanceof m?Qe(t,a.id):Qe(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof m?qe(t,a,n.id):qe(t,a,n)}static getRadiusMultiplier(t,a=-1){return a instanceof m?et(t,a.id):et(t,a)}static setRadiusMultiplier(t,a,n=-1){return n instanceof m?tt(t,n.id):tt(t,a,n)}static toggleIdleUpdate(t,a){return ma(t.id,a)}static isToggleIdleUpdate(t){return pa(t.id)}static toggleCameraUpdate(t,a){return ga(t.id,a)}static isToggleCameraUpdate(t){return Sa(t.id)}static toggleItemUpdate(t,a,n){return ya(t.id,a,n)}static isToggleItemUpdate(t,a){return Ia(t.id,a)}static getLastUpdateTime(){return Pa()}static update(t,a=-1){return fa(t.id,a)}static updateEx(t,a,n,i,r,l,o,d,c){return Aa(t.id,a,n,i,r,l,o,d,c)}static toggleItem(t,a,n,i){return Ta(t.id,a,n,i)}static isToggleItem(t,a,n){return Ea(t.id,a,n)}static toggleAllItems(t,a,n,i=[-1]){return Ca(t.id,a,n,i)}static getItemInternalID(t,a,n){return Da(t.id,a,n)}static getItemStreamerID(t,a,n){return ba(t.id,a,n)}static isItemVisible(t,a,n){return Na(t.id,a,n)}static destroyAllVisibleItems(t,a,n=1){return va(t.id,a,n)}static countVisibleItems(t,a,n=1){return La(t.id,a,n)}static getAllVisibleItems(t,a,n){Ra(t.id,a,n)}}y(g,"getTickRate",wa),y(g,"setTickRate",Oa),y(g,"toggleChunkStream",Ga),y(g,"isToggleChunkStream",Ba),y(g,"getChunkSize",Fa),y(g,"setChunkSize",ka),y(g,"getMaxItems",Ma),y(g,"setMaxItems",xa),y(g,"getTypePriority",Ha),y(g,"setTypePriority",Va),y(g,"getCellDistance",Wa),y(g,"setCellDistance",Ua),y(g,"getCellSize",Ka),y(g,"setCellSize",Za),y(g,"toggleItemStatic",ja),y(g,"isToggleItemStatic",Xa),y(g,"toggleItemInvAreas",Ya),y(g,"isToggleItemInvAreas",$a),y(g,"toggleItemCallbacks",za),y(g,"isToggleItemCallbacks",Ja),y(g,"toggleErrorCallback",Qa),y(g,"isToggleErrorCallback",qa),y(g,"amxUnloadDestroyItems",en),y(g,"processActiveItems",tn),y(g,"getDistanceToItem",an),y(g,"destroyAllItems",nn),y(g,"countItems",rn),y(g,"getNearbyItems",ln),y(g,"getItemPos",sn),y(g,"setItemPos",on),y(g,"getItemOffset",dn),y(g,"setItemOffset",cn),y(g,"getFloatData",_n),y(g,"setFloatData",hn),y(g,"getIntData",un),y(g,"setIntData",mn),y(g,"getArrayData",pn),y(g,"setArrayData",gn),y(g,"isInArrayData",Sn),y(g,"appendArrayData",yn),y(g,"removeArrayData",In),y(g,"getArrayDataLength",Pn),y(g,"getUpperBound",fn),y(g,"onPluginError",mm);var Sm=Object.defineProperty,ym=(e,t,a)=>t in e?Sm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ke=(e,t,a)=>(ym(e,typeof t!="symbol"?t+"":t,a),a);const zt=class Se{constructor(t){ke(this,"sourceInfo"),ke(this,"_id",-1),this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return s.warn("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:a,worldId:n,interiorId:i,playerId:r,areaId:l,priority:o}=this.sourceInfo;const{x:d,y:c,z:u,type:p,color:S,extended:f}=this.sourceInfo;return p<0||p>63?s.error("[StreamerMapIcon]: Invalid map icon type"):(t??(t=An.LOCAL),a??(a=oe.MAP_ICON_SD),o??(o=0),f?(typeof n=="number"?n=[-1]:n??(n=[-1]),typeof i=="number"?i=[-1]:i??(i=[-1]),typeof r=="number"?r=[-1]:r??(r=[-1]),typeof l=="number"?l=[-1]:l??(l=[-1]),this._id=Tn(d,c,u,p,P(S),t,a,n,i,r,l,o),Se.mapIcons.set(this._id,this),this):(Array.isArray(n)?n=-1:n??(n=-1),Array.isArray(i)?i=-1:i??(i=-1),Array.isArray(r)?r=-1:r??(r=-1),Array.isArray(l)?l=-1:l??(l=-1),this._id=En(d,c,u,p,P(S),n,i,r,a,t,l,o),Se.mapIcons.set(this._id,this),this))}destroy(){return this.id===-1?s.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(Cn(this.id),Se.mapIcons.delete(this._id),this._id=-1,this)}isValid(){return Dn(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):g.toggleItemCallbacks(E.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,g.isToggleItemCallbacks(E.MAP_ICON,this.id)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}};ke(zt,"mapIcons",new Map);let ue=zt;D.onExit(({next:e})=>(ue.getInstances().forEach(t=>t.destroy()),e()));const[Im,Pm]=h({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[fm,Am]=h({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?Pm(a,ue.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?Am(a,ue.getInstance(t)):n());const Tm=Object.freeze({onStreamIn:Im,onStreamOut:fm});var Em=Object.defineProperty,Cm=(e,t,a)=>t in e?Em(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Me=(e,t,a)=>(Cm(e,typeof t!="symbol"?t+"":t,a),a);const Jt=class Xe{constructor(t){Me(this,"sourceInfo"),Me(this,"_id",-1),this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return s.warn("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:l}=this.sourceInfo;const{type:o,modelId:d,x:c,y:u,z:p,extended:S}=this.sourceInfo;return o<0||o>22?s.error("[StreamerPickup]: Invalid pickup type"):(t??(t=_.StreamerDistances.PICKUP_SD),l??(l=0),S?(typeof a=="number"?a=[-1]:a??(a=[-1]),typeof n=="number"?n=[-1]:n??(n=[-1]),typeof i=="number"?i=[-1]:i??(i=[-1]),typeof r=="number"?r=[-1]:r??(r=[-1]),this._id=_.CreateDynamicPickupEx(d,o,c,u,p,t,a,n,i,r,l)):(Array.isArray(a)?a=-1:a??(a=-1),Array.isArray(n)?n=-1:n??(n=-1),Array.isArray(i)?i=-1:i??(i=-1),Array.isArray(r)?r=-1:r??(r=-1),this._id=_.CreateDynamicPickup(d,o,c,u,p,a,n,i,t,r,l)),Xe.pickups.set(this._id,this),this)}destroy(){return this.id===-1?s.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(_.DestroyDynamicPickup(this.id),Xe.pickups.delete(this.id),this._id=-1,this)}isValid(){return _.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerPickup]: Unable to toggle callbacks before create"):g.toggleItemCallbacks(_.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,g.isToggleItemCallbacks(_.StreamerItemTypes.PICKUP,this.id)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}};Me(Jt,"pickups",new Map);let ne=Jt;D.onExit(({next:e})=>(ne.getInstances().forEach(t=>t.destroy()),e()));const[Dm,bm]=h({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Nm,vm]=h({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?bm(a,ne.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?vm(a,ne.getInstance(t)):n());const[Lm]=h({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:ne.getInstance(t)}}}),Rm=Object.freeze({onPlayerPickUp:Lm,onStreamIn:Dm,onStreamOut:Nm});var wm=Object.defineProperty,Om=(e,t,a)=>t in e?wm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,xe=(e,t,a)=>(Om(e,typeof t!="symbol"?t+"":t,a),a);const Qt=class ye{constructor(t){xe(this,"sourceInfo"),xe(this,"_id",-1),this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return s.warn("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:l}=this.sourceInfo;const{size:o,x:d,y:c,z:u,extended:p}=this.sourceInfo;return o<0?s.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??(t=oe.CP_SD),l??(l=0),p?(typeof a=="number"?a=[-1]:a??(a=[-1]),typeof n=="number"?n=[-1]:n??(n=[-1]),typeof i=="number"?i=[-1]:i??(i=[-1]),typeof r=="number"?r=[-1]:r??(r=[-1]),this._id=bn(d,c,u,o,t,a,n,i,r,l)):(Array.isArray(a)?a=-1:a??(a=-1),Array.isArray(n)?n=-1:n??(n=-1),Array.isArray(i)?i=-1:i??(i=-1),Array.isArray(r)?r=-1:r??(r=-1),this._id=Nn(d,c,u,o,a,n,i,t,r,l)),ye.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?s.warn("[StreamerCheckpoint]: Unable to destroy the checkpoint before create"):(at(this.id),ye.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return nt(this.id)}togglePlayer(t,a){return this.id===-1?s.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(vn(t.id,this.id,a),this)}static togglePlayerAll(t,a){return Ln(t.id,a)}isPlayerIn(t){return this.id===-1?!1:Rn(t.id,this.id)}static getPlayerVisible(t){return ye.checkpoints.get(wn(t.id))}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):g.toggleItemCallbacks(E.CP,this.id,t)}isToggleCallbacks(){return this.id,g.isToggleItemCallbacks(E.CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}};xe(Qt,"checkpoints",new Map);let z=Qt;D.onExit(({next:e})=>(z.checkpoints.forEach(t=>t.destroy()),e()));const[Gm,Bm]=h({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Fm,km]=h({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?Bm(a,z.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?km(a,z.getInstance(t)):n());const[Mm]=h({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:z.getInstance(t)}}}),[xm]=h({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:z.getInstance(t)}}}),Hm=Object.freeze({onPlayerEnter:Mm,onPlayerLeave:xm,onStreamIn:Gm,onStreamOut:Fm});var Vm=Object.defineProperty,Wm=(e,t,a)=>t in e?Vm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,He=(e,t,a)=>(Wm(e,typeof t!="symbol"?t+"":t,a),a);const qt=class Ie{constructor(t){He(this,"sourceInfo"),He(this,"_id",-1),this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return s.warn("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:l}=this.sourceInfo;const{type:o,size:d,x:c,y:u,z:p,nextX:S,nextY:f,nextZ:T,extended:v}=this.sourceInfo;return o<0||o>8?s.error("[StreamerRaceCP]: Invalid type"):d<0?s.error("[StreamerRaceCP]: Invalid size"):(t??(t=oe.RACE_CP_SD),l??(l=0),v?(typeof a=="number"?a=[-1]:a??(a=[-1]),typeof n=="number"?n=[-1]:n??(n=[-1]),typeof i=="number"?i=[-1]:i??(i=[-1]),typeof r=="number"?r=[-1]:r??(r=[-1]),this._id=On(o,c,u,p,S,f,T,d,t,a,n,i,r,l)):(Array.isArray(a)?a=-1:a??(a=-1),Array.isArray(n)?n=-1:n??(n=-1),Array.isArray(i)?i=-1:i??(i=-1),Array.isArray(r)?r=-1:r??(r=-1),this._id=Gn(o,c,u,p,S,f,T,d,a,n,i,t,r,l)),Ie.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?s.warn("[StreamerRaceCP]: Unable to destroy the checkpoint before create"):(at(this.id),Ie.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return nt(this.id)}togglePlayer(t,a){return this.id===-1?s.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(Bn(t.id,this.id,a),this)}static togglePlayerAll(t,a){return Fn(t.id,a)}isPlayerIn(t){return this.id===-1?!1:kn(t.id,this.id)}static getPlayerVisible(t){return Ie.checkpoints.get(Mn(t.id))}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):g.toggleItemCallbacks(E.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,g.isToggleItemCallbacks(E.RACE_CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}};He(qt,"checkpoints",new Map);let J=qt;D.onExit(({next:e})=>(J.getInstances().forEach(t=>t.destroy()),e()));const[Um,Km]=h({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Zm,jm]=h({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?Km(a,J.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?jm(a,J.getInstance(t)):n());const[Xm]=h({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:J.getInstance(t)}}}),[Ym]=h({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:J.getInstance(t)}}}),$m=Object.freeze({onPlayerEnter:Xm,onPlayerLeave:Ym,onStreamIn:Um,onStreamOut:Zm});var zm=Object.defineProperty,Jm=(e,t,a)=>t in e?zm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ve=(e,t,a)=>(Jm(e,typeof t!="symbol"?t+"":t,a),a);const ea=class le{constructor(t){Ve(this,"sourceInfo"),Ve(this,"_id",-1),this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return s.warn("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:l}=this.sourceInfo;const{modelId:o,x:d,y:c,z:u,r:p,invulnerable:S,health:f,extended:T}=this.sourceInfo;return t??(t=_.StreamerDistances.ACTOR_SD),l??(l=0),T?(typeof a=="number"?a=[0]:a??(a=[0]),typeof n=="number"?n=[-1]:n??(n=[-1]),typeof i=="number"?i=[-1]:i??(i=[-1]),typeof r=="number"?r=[-1]:r??(r=[-1]),this._id=_.CreateDynamicActorEx(o,d,c,u,p,S,f,t,a,n,i,r,l)):(Array.isArray(a)?a=0:a??(a=0),Array.isArray(n)?n=-1:n??(n=-1),Array.isArray(i)?i=-1:i??(i=-1),Array.isArray(r)?r=-1:r??(r=-1),this._id=_.CreateDynamicActor(o,d,c,u,p,S,f,a,n,i,t,r,l)),le.actors.set(this.id,this),this}destroy(){return this.id===-1?s.warn("[StreamerActor]: Unable to destroy the actor before create"):(_.DestroyDynamicActor(this.id),le.actors.delete(this.id),this._id=-1,this)}isValid(){return _.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:_.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?s.warn("[StreamerActor]: Unable to get virtual world before create"):_.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?s.warn("[StreamerActor]: Unable to set virtual world before create"):_.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,n=!1,i=!0,r=!0,l=!1){if(this.id===-1)return s.warn("[StreamerActor]: Unable to apply animation before create");const o=Ft(t,a);return o===void 0?s.error("[StreamerActor]: Invalid anim library or name"):_.ApplyDynamicActorAnimation(this.id,t,a,4.1,n,i,r,l,n?0:o)}clearAnimations(){return this.id===-1?s.warn("[StreamerActor]: Unable to clear animation before create"):_.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?s.warn("[StreamerActor]: Unable to get facing angle before create"):_.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?s.warn("[StreamerActor]: Unable to set facing angle before create"):_.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?s.warn("[StreamerActor]: Unable to get pos before create"):_.GetDynamicActorPos(this.id)}setPos(t,a,n){return this.id===-1?s.warn("[StreamerActor]: Unable to set pos before create"):_.SetDynamicActorPos(this.id,t,a,n)}getHealth(){return this.id===-1?s.warn("[StreamerActor]: Unable to get health before create"):_.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?s.warn("[StreamerActor]: Unable to set health before create"):_.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:_.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){return this.id===-1?s.warn("[StreamerActor]: Unable to set invulnerable before create"):_.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=_.GetPlayerTargetDynamicActor(t.id);return le.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=_.GetPlayerCameraTargetDynActor(t.id);return le.actors.get(a)}getSkin(){return this.id===-1?s.warn("[StreamerActor]: Unable to get skin before create"):ro(this.id)}setSkin(t,a=!1){return this.id===-1?s.warn("[StreamerActor]: Unable to set skin before create"):!a&&(t<0||t>311||t==74)?0:lo(this.id,t)}getSpawnInfo(){return this.id===-1?s.warn("[StreamerActor]: Unable to get spawn info before create"):so(this.id)}getAnimation(){return this.id===-1?s.warn("[StreamerActor]: Unable to get animation before create"):_.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerActor]: Unable to toggle callbacks before create"):g.toggleItemCallbacks(_.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,g.isToggleItemCallbacks(_.StreamerItemTypes.ACTOR,this.id)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}};Ve(ea,"actors",new Map);let ie=ea;D.onExit(({next:e})=>(ie.getInstances().forEach(t=>t.destroy()),e()));const[Qm]=h({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:ie.getInstance(e),forPlayer:m.getInstance(t)}}}),[qm]=h({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:ie.getInstance(e),forPlayer:m.getInstance(t)}}}),[ep]=h({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),actor:ie.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),tp=Object.freeze({onStreamIn:Qm,onStreamOut:qm,onPlayerGiveDamage:ep});var ap=Object.defineProperty,np=(e,t,a)=>t in e?ap(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,We=(e,t,a)=>(np(e,typeof t!="symbol"?t+"":t,a),a);const ta=class Ye{constructor(t){We(this,"sourceInfo"),We(this,"_id",-1),this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return s.warn("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:a,testLos:n,streamDistance:i,worldId:r,interiorId:l,playerId:o,areaId:d,priority:c}=this.sourceInfo;const{charset:u,text:p,color:S,drawDistance:f,x:T,y:v,z:x,extended:se}=this.sourceInfo;return t??(t=C.PLAYER_ID),a??(a=C.VEHICLE_ID),i??(i=oe.TEXT_3D_LABEL_SD),n??(n=!1),c??(c=0),se?(typeof r=="number"?r=[-1]:r??(r=[-1]),typeof l=="number"?l=[-1]:l??(l=[-1]),typeof o=="number"?o=[-1]:o??(o=[-1]),typeof d=="number"?d=[-1]:d??(d=[-1]),this._id=xh(p,P(S),T,v,x,f,t,a,n,i,r,l,o,d,c,u||"utf8")):(Array.isArray(r)?r=-1:r??(r=-1),Array.isArray(l)?l=-1:l??(l=-1),Array.isArray(o)?o=-1:o??(o=-1),Array.isArray(d)?d=-1:d??(d=-1),this._id=Mh(u||"utf8",p,P(S),T,v,x,f,t,a,n,r,l,o,i,d,c)),Ye.texts.set(this.id,this),this}destroy(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(xn(this.id),Ye.texts.delete(this.id),this._id=-1,this)}isValid(){return Hn(this.id)}getColor(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to get color before create"):this.sourceInfo.color}getCharset(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to get charset before create"):this.sourceInfo.charset}getText(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to get text before create"):Vh(this.id,this.sourceInfo.charset||"utf8")}updateText(t,a,n=this.sourceInfo.charset){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to update text before create"):(this.sourceInfo.charset=n,Hh(this.id,P(t),a,n||"utf8"))}toggleCallbacks(t=!0){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):g.toggleItemCallbacks(E.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,g.isToggleItemCallbacks(E.TEXT_3D_LABEL,this.id)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}};We(ta,"texts",new Map);let me=ta;D.onExit(({next:e})=>(me.getInstances().forEach(t=>t.destroy()),e()));const[ip,rp]=h({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[lp,sp]=h({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?rp(a,me.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?sp(a,me.getInstance(t)):n());const op=Object.freeze({onStreamIn:ip,onStreamOut:lp});var dp=Object.defineProperty,cp=(e,t,a)=>t in e?dp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ue=(e,t,a)=>(cp(e,typeof t!="symbol"?t+"":t,a),a);const aa=class Pe{constructor(t){Ue(this,"sourceInfo"),Ue(this,"_id",-1),this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return s.warn("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:a,worldId:n,interiorId:i,playerId:r,areaId:l,priority:o}=this.sourceInfo;const{modelId:d,x:c,y:u,z:p,rx:S,ry:f,rz:T,extended:v}=this.sourceInfo;return t??(t=_.StreamerDistances.OBJECT_SD),a??(a=_.StreamerDistances.OBJECT_DD),o??(o=0),v?(typeof n=="number"?n=[-1]:n??(n=[-1]),typeof i=="number"?i=[-1]:i??(i=[-1]),typeof r=="number"?r=[-1]:r??(r=[-1]),typeof l=="number"?l=[-1]:l??(l=[-1]),this._id=_.CreateDynamicObjectEx(d,c,u,p,S,f,T,t,a,n,i,r,l,o)):(Array.isArray(n)?n=-1:n??(n=-1),Array.isArray(i)?i=-1:i??(i=-1),Array.isArray(r)?r=-1:r??(r=-1),Array.isArray(l)?l=-1:l??(l=-1),this._id=_.CreateDynamicObject(d,c,u,p,S,f,T,n,i,r,t,a,l,o)),Pe.objects.set(this._id,this),this}destroy(){return this.id===-1?s.warn("[StreamerObject]: Unable to destroy the object before create"):(_.DestroyDynamicObject(this.id),Pe.objects.delete(this.id),this._id=-1,this)}isValid(){return _.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){return this.id===-1?s.warn("[StreamerObject]: Cannot get position before create"):_.GetDynamicObjectPos(this.id)}setPos(t,a,n){return this.id===-1?s.warn("[StreamerObject]: Cannot set position before create"):_.SetDynamicObjectPos(this.id,t,a,n)}getRot(){return this.id===-1?s.warn("[StreamerObject]: Cannot get rotation before create"):_.GetDynamicObjectRot(this.id)}setRot(t,a,n){return this.id===-1?s.warn("[StreamerObject]: Cannot set rotation before create"):_.SetDynamicObjectRot(this.id,t,a,n)}move(t,a,n,i,r=-1e3,l=-1e3,o=-1e3){return this.id===-1?s.warn("[StreamerObject]: Cannot start moving before create"):i<0?s.warn("[StreamerObject]: speed must not be less than 0"):(i>120*1e3&&s.warn("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional"),this.isMoving()&&this.stop(),_.MoveDynamicObject(this.id,t,a,n,i,r,l,o))}stop(){return this.id===-1?s.warn("[StreamerObject]: Cannot stop moving before create"):_.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:_.IsDynamicObjectMoving(this.id)}attachCamera(t){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachCamera before both are created"):_.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,n,i,r,l,o,d=!0){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachToObject before both are created"):_.AttachDynamicObjectToObject(this.id,t.id,a,n,i,r,l,o,d)}attachToPlayer(t,a,n,i,r,l,o){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):_.AttachDynamicObjectToPlayer(this.id,t.id,a,n,i,r,l,o)}attachToVehicle(t,a,n,i,r,l,o){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):_.AttachDynamicObjectToVehicle(this.id,t.id,a,n,i,r,l,o)}edit(t){return this.id===-1?s.warn("[StreamerObject]: Unable to edit before create"):(t.endObjectEditing(),_.EditDynamicObject(t.id,this.id))}isMaterialUsed(t){return this.id===-1?!1:_.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:_.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,a,n){return this.id===-1?s.warn("[StreamerObject]: Unable to get material before create"):_.GetDynamicObjectMaterial(this.id,t,a,n)}setMaterial(t,a,n,i,r="#000"){return this.id===-1?s.warn("[StreamerObject]: Unable to set material before create"):_.SetDynamicObjectMaterial(this.id,t,a,n,i,P(r))}isMaterialTextUsed(t){return this.id===-1?!1:_.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?_.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){return this.id===-1?s.warn("[StreamerObject]: Unable to get material text before create"):Uh(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,i=_.MaterialTextSizes.SIZE_256x128,r="Arial",l=24,o=1,d="#fff",c="#000",u=0){return this.id===-1?s.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,Wh(t||"utf8",this.id,a,n,i,r,l,o,P(d),P(c),u))}getPlayerCameraTarget(t){const a=_.GetPlayerCameraTargetDynObject(t.id);if(a!==C.OBJECT_ID)return Pe.objects.get(a)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerObject]: Unable to toggle callbacks before create"):g.toggleItemCallbacks(_.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,g.isToggleItemCallbacks(_.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return _.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return _.GetDynamicObjectNoCameraCol(this.id)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}};Ue(aa,"objects",new Map);let H=aa;D.onExit(({next:e})=>(H.getInstances().forEach(t=>t.destroy()),e()));const[_p,hp]=h({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[up,mp]=h({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?hp(a,H.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?mp(a,H.getInstance(t)):n());const[pp]=h({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:H.getInstance(e)}}}),[gp]=h({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,a,n,i,r,l,o,d){return{player:m.getInstance(e),object:H.getInstance(t),response:a,x:n,y:i,z:r,rX:l,rY:o,rZ:d}}}),[Sp]=h({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:m.getInstance(e),object:H.getInstance(t),modelId:a,x:n,y:i,z:r}}}),[yp]=h({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:m.getInstance(e),object:H.getInstance(a),weapon:t,x:n,y:i,z:r}}}),[Ip]=h({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,i,r,l,o,d,c,u,p,S,f){return{player:m.getInstance(e),response:t,index:a,modelId:n,boneId:i,fOffsetX:r,fOffsetY:l,fOffsetZ:o,fRotX:d,fRotY:c,fRotZ:u,fScaleX:p,fScaleY:S,fScaleZ:f}}}),Pp=Object.freeze({onMoved:pp,onPlayerEdit:gp,onPlayerSelect:Sp,onPlayerShoot:yp,onPlayerEditAttached:Ip,onStreamIn:_p,onStreamOut:up});var fp=Object.defineProperty,Ap=(e,t,a)=>t in e?fp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ke=(e,t,a)=>(Ap(e,typeof t!="symbol"?t+"":t,a),a);const na=class M{constructor(t){Ke(this,"sourceInfo"),Ke(this,"_id",-1),this.sourceInfo=t}get type(){return this.sourceInfo.type}get id(){return this._id}create(){if(this.id!==-1)return s.warn("[StreamerArea]: Unable to create area again");let{worldId:t,interiorId:a,playerId:n}=this.sourceInfo;const{type:i,extended:r}=this.sourceInfo;if(r)if(typeof t=="number"?t=[-1]:t??(t=[-1]),typeof a=="number"?a=[-1]:a??(a=[-1]),typeof n=="number"?n=[-1]:n??(n=[-1]),i==="circle"){const{x:l,y:o,size:d}=this.sourceInfo;if(d<0)return s.error("[StreamerArea]: Invalid circle extend size");this._id=_.CreateDynamicCircleEx(l,o,d,t,a,n)}else if(i==="cuboid"){const{minX:l,minY:o,minZ:d,maxX:c,maxY:u,maxZ:p}=this.sourceInfo;this._id=_.CreateDynamicCuboidEx(l,o,d,c,u,p,t,a,n)}else if(i==="cylinder"){const{x:l,y:o,minZ:d,maxZ:c,size:u}=this.sourceInfo;if(u<0)return s.error("[StreamerArea]: Invalid cylinder extend size");this._id=_.CreateDynamicCylinderEx(l,o,d,c,u,t,a,n)}else if(i==="polygon"){const{points:l,minZ:o,maxZ:d}=this.sourceInfo;if(l.length%2!==0)return s.warn("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=_.CreateDynamicPolygonEx(l,o,d,t,a,n)}else if(i==="rectangle"){const{minX:l,minY:o,maxX:d,maxY:c}=this.sourceInfo;this._id=_.CreateDynamicRectangleEx(l,o,d,c,t,a,n)}else{const{x:l,y:o,z:d,size:c}=this.sourceInfo;if(c<0)return s.error("[StreamerArea]: Invalid sphere extended size");this._id=_.CreateDynamicSphereEx(l,o,d,c,t,a,n)}else if(Array.isArray(t)?t=-1:t??(t=-1),Array.isArray(a)?a=-1:a??(a=-1),Array.isArray(n)?n=-1:n??(n=-1),i==="circle"){const{x:l,y:o,size:d}=this.sourceInfo;if(d<0)return s.error("[StreamerArea]: Invalid circle size");this._id=_.CreateDynamicCircle(l,o,d,t,a,n)}else if(i==="cuboid"){const{minX:l,minY:o,minZ:d,maxX:c,maxY:u,maxZ:p}=this.sourceInfo;this._id=_.CreateDynamicCuboid(l,o,d,c,u,p,t,a,n)}else if(i==="cylinder"){const{x:l,y:o,minZ:d,maxZ:c,size:u}=this.sourceInfo;if(u<0)return s.error("[StreamerArea]: Invalid cylinder size");this._id=_.CreateDynamicCylinder(l,o,d,c,u,t,a,n)}else if(i==="polygon"){const{points:l,minZ:o,maxZ:d}=this.sourceInfo;if(l.length%2!==0)return s.warn("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=_.CreateDynamicPolygon(l,o,d,t,a,n)}else if(i==="rectangle"){const{minX:l,minY:o,maxX:d,maxY:c}=this.sourceInfo;this._id=_.CreateDynamicRectangle(l,o,d,c,t,a,n)}else{const{x:l,y:o,z:d,size:c}=this.sourceInfo;if(c<0)return s.error("[StreamerArea]: Invalid sphere size");this._id=_.CreateDynamicSphere(l,o,d,c,t,a,n)}return M.areas.set(this._id,this),this}destroy(){return this.id===-1?s.warn("[StreamerArea]: Unable to destroy the area before create"):(_.DestroyDynamicArea(this.id),M.areas.delete(this.id),this._id=-1,this)}isValid(){return this.id===-1?!1:_.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?s.warn("[StreamerArea]: Unable to get type before create"):_.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return s.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return _.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)return s.warn("[StreamerArea]: Unable to get polygon points number before create");if(this.type==="polygon")return _.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,a=!1){return this.id===-1?!1:_.IsPlayerInDynamicArea(t.id,this.id,a)}static isPlayerInAny(t,a=!1){return _.IsPlayerInAnyDynamicArea(t.id,a)}isAnyPlayerIn(t=!1){return this.id===-1?!1:_.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return _.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t){return M.getPlayerAreasNumber(t)?_.GetPlayerDynamicAreas(t.id).map(a=>M.areas.get(a)):[]}static getPlayerAreasNumber(t){return _.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,n){return this.id===-1?!1:_.IsPointInDynamicArea(this.id,t,a,n)}static isPointInAny(t,a,n){return _.IsPointInAnyDynamicArea(t,a,n)}isLineIn(t,a,n,i,r,l){return this.id===-1?!1:_.IsLineInDynamicArea(this.id,t,a,n,i,r,l)}static isLineInAny(t,a,n,i,r,l){return _.IsLineInAnyDynamicArea(t,a,n,i,r,l)}static getForPoint(t,a,n){return M.getNumberForPoint(t,a,n)?_.GetDynamicAreasForPoint(t,a,n).map(i=>M.getInstance(i)):[]}static getNumberForPoint(t,a,n){return _.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,i,r,l){return M.getNumberForLine(t,a,n,i,r,l)?_.GetDynamicAreasForLine(t,a,n,i,r,l).map(o=>M.areas.get(o)):[]}static getNumberForLine(t,a,n,i,r,l){return _.GetNumberDynamicAreasForLine(t,a,n,i,r,l)}attachToObject(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?s.warn("[StreamerArea]: Unable to toggle attach to object before create"):_.AttachDynamicAreaToObject(this.id,t.id,_.StreamerObjectTypes.DYNAMIC,C.PLAYER_ID,a,n,i)}attachToPlayer(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?s.warn("[StreamerArea]: Unable to toggle attach to player before create"):_.AttachDynamicAreaToPlayer(this.id,t.id,a,n,i)}attachToVehicle(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?s.warn("[StreamerArea]: Unable to toggle attach to vehicle before create"):_.AttachDynamicAreaToVehicle(this.id,t.id,a,n,i)}toggleSpectateMode(t){return this.id===-1?s.warn("[StreamerArea]: Unable to toggle specate mode before create"):_.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:_.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerArea]: Unable to toggle callbacks before create"):g.toggleItemCallbacks(_.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,g.isToggleItemCallbacks(_.StreamerItemTypes.AREA,this.id)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}};Ke(na,"areas",new Map);let Q=na;D.onExit(({next:e})=>(Q.getInstances().forEach(t=>t.destroy()),e()));const[Tp,Ep]=h({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Cp,Dp]=h({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?Ep(a,Q.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?Dp(a,Q.getInstance(t)):n());const[bp]=h({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:Q.getInstance(t)}}}),[Np]=h({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:Q.getInstance(t)}}}),vp=Object.freeze({onStreamIn:Tp,onStreamOut:Cp,onPlayerEnter:bp,onPlayerLeave:Np});var Lp=Object.defineProperty,Rp=(e,t,a)=>t in e?Lp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,pe=(e,t,a)=>(Rp(e,typeof t!="symbol"?t+"":t,a),a);const Ze=class I{constructor(t){pe(this,"sourceInfo"),pe(this,"_id",-1),this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return s.warn("[TextDraw]: Unable to create the textdraw again");const{x:t,y:a,text:n,player:i}=this.sourceInfo;if(i){if(I.getInstances(!1).length===L.MAX_TEXT_DRAWS)return s.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Y_(i.id,t,a,n);const r=we.onDisconnect(({player:l,next:o})=>{const d=o();return l===i&&(this.destroy(),r()),d});I.playerTextDraws.set(this.id,this)}else{if(I.getInstances(!0).length===L.MAX_TEXT_DRAWS)return s.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=r_(t,a,n),I.globalTextDraws.set(this.id,this)}return this}destroy(){if(this.id===-1)return I.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?($_(t.id,this.id),I.playerTextDraws.delete(this.id)):(l_(this.id),I.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return I.beforeCreateWarn("set font");const{player:a}=this.sourceInfo;return a?ih(a.id,this.id,t):g_(this.id,t),this}setColor(t){if(this.id===-1)return I.beforeCreateWarn("set color");const{player:a}=this.sourceInfo;return a?Q_(a.id,this.id,t):c_(this.id,t),this}setBoxColors(t){if(this.id===-1)return I.beforeCreateWarn("set box color");const{player:a}=this.sourceInfo;return a?eh(a.id,this.id,t):h_(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return I.beforeCreateWarn("set background color");const{player:a}=this.sourceInfo;return a?nh(a.id,this.id,t):p_(this.id,t),this}setAlignment(t){if(this.id===-1)return I.beforeCreateWarn("set alignment");const{player:a}=this.sourceInfo;return a?J_(a.id,this.id,t):d_(this.id,t),this}setLetterSize(t,a){if(this.id===-1)return I.beforeCreateWarn("set letter size");const{player:n}=this.sourceInfo;return n?z_(n.id,this.id,t,a):s_(this.id,t,a),this}setOutline(t){if(this.id===-1)return I.beforeCreateWarn("set outline model");if(t<0)return s.warn("[TextDraw]: Invalid outline value");const{player:a}=this.sourceInfo;return a?ah(a.id,this.id,t):m_(this.id,t),this}setPreviewModel(t){if(this.id===-1)return I.beforeCreateWarn("set preview model");this.setFont(ee.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?ch(a.id,this.id,t):E_(this.id,t),this}setPreviewRot(t,a,n,i=1){if(this.id===-1)return I.beforeCreateWarn("set preview rot");this.setFont(ee.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?_h(r.id,this.id,t,a,n,i):C_(this.id,t,a,n,i),this}setPreviewVehColors(t,a){if(this.id===-1)return I.beforeCreateWarn("set preview veh col");this.setFont(ee.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?hh(n.id,this.id,t,a):D_(this.id,t,a),this}setProportional(t=!0){if(this.id===-1)return I.beforeCreateWarn("set Proportional");const{player:a}=this.sourceInfo;return a?rh(a.id,this.id,t):S_(this.id,t),this}setSelectable(t){if(this.id===-1)return I.beforeCreateWarn("set Selectable");const{player:a}=this.sourceInfo;return a?lh(a.id,this.id,t):y_(this.id,t),this}setShadow(t){if(this.id===-1)return I.beforeCreateWarn("set shadow");if(t<0)return s.warn("[TextDraw]: Invalid shadow value");const{player:a}=this.sourceInfo;return a?th(a.id,this.id,t):u_(this.id,t),this}setString(t,a){if(this.id===-1)return I.beforeCreateWarn("set string");if(t.length===0||t.length>1024)return s.warn("[TextDraw]: Invalid text length");const{player:n}=this.sourceInfo;return n?dh(n.id,this.id,t):a?i_(this.id,a.id,t):T_(this.id,t),this}setTextSize(t,a){return this.id===-1?I.beforeCreateWarn("set TextSize"):(o_(this.id,t,a),this)}useBox(t){if(this.id===-1)return I.beforeCreateWarn("set TextSize");const{player:a}=this.sourceInfo;return a?q_(a.id,this.id,t):__(this.id,t),this}static beforeCreateWarn(t){s.warn(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return I.beforeCreateWarn("show");const a=this.sourceInfo.player;if(a)sh(a.id,this.id);else if(t)I_(t.id,this.id);else return s.warn("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return I.beforeCreateWarn("hide");const a=this.sourceInfo.player;if(a)oh(a.id,this.id);else if(t)P_(t.id,this.id);else return s.warn("[TextDraw]: invalid player for hide");return this}showAll(){return this.id===-1?I.beforeCreateWarn("show"):this.sourceInfo.player?s.warn("[TextDraw]: player's textdraw should not be show for all."):(f_(this.id),this)}hideAll(){return this.id===-1?I.beforeCreateWarn("hideAll"):this.sourceInfo.player?s.warn("[TextDraw]: player's textdraw should not be hide for all."):(A_(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?v_(t.id,this.id):Mc(this.id)}isVisibleForPlayer(t){return this.id===-1?!1:xc(t.id,this.id)}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?L_(t.id,this.id):Hc(this.id)}setPos(t,a){if(this.id===-1)return I.beforeCreateWarn("set position");const n=this.sourceInfo.player;return n?R_(n.id,this.id,t,a):Vc(this.id,t,a),this}getLetterSize(){if(this.id===-1)return I.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?w_(t.id,this.id):Wc(this.id)}getTextSize(){if(this.id===-1)return I.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?O_(t.id,this.id):Uc(this.id)}getPos(){if(this.id===-1)return I.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?G_(t.id,this.id):Kc(this.id)}getColor(){if(this.id===-1)return I.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?B_(t.id,this.id):Zc(this.id)}getBoxColor(){if(this.id===-1)return I.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?F_(t.id,this.id):jc(this.id)}getBackgroundColor(){if(this.id===-1)return I.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?k_(t.id,this.id):Xc(this.id)}getShadow(){if(this.id===-1)return I.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?M_(t.id,this.id):Yc(this.id)}getOutline(){if(this.id===-1)return I.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?x_(t.id,this.id):$c(this.id)}getFont(){if(this.id===-1)return I.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?H_(t.id,this.id):zc(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?V_(t.id,this.id):Jc(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?W_(t.id,this.id):Qc(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?U_(t.id,this.id):qc(this.id)}getAlignment(){if(this.id===-1)return I.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?K_(t.id,this.id):e_(this.id)}getPreviewModel(){if(this.id===-1)return I.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?Z_(t.id,this.id):t_(this.id)}getPreviewRot(){if(this.id===-1)return I.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?j_(t.id,this.id):a_(this.id)}getPreviewVehColors(){if(this.id===-1)return I.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?X_(t.id,this.id):n_(this.id)}isGlobal(){return!!this.sourceInfo.player}static getInstance(t,a){return a?this.globalTextDraws.get(t):this.playerTextDraws.get(t)}static getInstances(t){return t?[...this.globalTextDraws.values()]:[...this.playerTextDraws.values()]}};pe(Ze,"globalTextDraws",new Map),pe(Ze,"playerTextDraws",new Map);let re=Ze;D.onExit(({next:e})=>(re.getInstances(!0).forEach(t=>t.destroy()),re.getInstances(!1).forEach(t=>t.destroy()),e()));const[wp]=h({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===C.TEXT_DRAW?t:re.getInstance(t,!0)}}}),[Op]=h({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===C.TEXT_DRAW?t:re.getInstance(t,!1)}}}),Gp=Object.freeze({onPlayerClickGlobal:wp,onPlayerClickPlayer:Op});function Bp(e,t){return(e&t)===t}function Fp(e,t,a){return(e&a)===a&&(t&a)!==a}function kp(e,t){return!!(e&t)}function Mp(e,t,a){return(e&a)!==a&&(t&a)===a}export{_t as ArtworkEnum,Et as BodyPartsEnum,Ct as BoneIdsEnum,wt as BulletHitTypesEnum,de as CameraCutStylesEnum,Tt as CameraModesEnum,bt as CarModTypeEnum,ht as ClickSourcesEnum,mt as ConnectionStatusEnum,Ce as DamageDeathReasonEnum,ve as Dialog,Te as DialogStylesEnum,me as Dynamic3DTextLabel,op as Dynamic3DTextLabelEvent,ie as DynamicActor,tp as DynamicActorEvent,Q as DynamicArea,vp as DynamicAreaEvent,Hm as DynamicCheckPointEvent,z as DynamicCheckpoint,ue as DynamicMapIcon,Tm as DynamicMapIconEvent,H as DynamicObject,Pp as DynamicObjectEvent,ne as DynamicPickup,Rm as DynamicPickupEvent,J as DynamicRaceCP,$m as DynamicRaceCPEvent,R as ERecordStatus,Zp as E_STREAMER,ut as EditResponseTypesEnum,ft as FightingStylesEnum,D as GameMode,qu as GameText,B as GangZone,um as GangZoneEvent,A as I18n,C as InvalidEnum,pt as KeysEnum,L as LimitsEnum,jp as MapIconStyles,At as MapIconStylesEnum,gt as MarkerModesEnum,Xp as MaterialTextSizes,Be as Menu,im as MenuEvent,St as NPCPlaybackEnum,zu as NetStats,vh as Npc,Jn as NpcEvent,It as ObjectMaterialAlignmmentEnum,yt as ObjectMaterialTextSizeEnum,m as Player,we as PlayerEvent,j as PlayerStateEnum,Gt as RecordTypesEnum,Pt as SelectObjectTypesEnum,Ee as SpecialActionsEnum,ce as SpectateModesEnum,g as Streamer,Yp as StreamerAreaTypes,$p as StreamerDistances,zp as StreamerItemTypes,Jp as StreamerMiscellaneous,Qp as StreamerObjectTypes,re as TextDraw,Dt as TextDrawAlignEnum,Gp as TextDrawEvent,ee as TextDrawFontsEnum,b as Vehicle,$u as VehicleEvent,vt as VehicleModelInfoEnum,Nt as VehicleParamsEnum,Lt as WeaponEnum,Rt as WeaponSkillsEnum,Ot as WeaponStatesEnum,h as defineEvent,Bp as isHolding,Fp as isPressed,kp as isPressing,Mp as isReleased,P as rgba};
|
|
1
|
+
import{encodingExists as ra,encode as sa,decode as la}from"iconv-lite";import oa from"pino";import{snakeCase as fe,mapKeys as da,merge as ca,omit as _a,get as $e}from"lodash-unified";import*as _ from"@infernus/streamer";import{Streamer_GetPlayerTickRate as ha,Streamer_SetPlayerTickRate as ua,Streamer_GetChunkTickRate as ze,Streamer_SetChunkTickRate as Je,Streamer_GetVisibleItems as Qe,Streamer_SetVisibleItems as qe,Streamer_GetRadiusMultiplier as et,Streamer_SetRadiusMultiplier as tt,Streamer_ToggleIdleUpdate as ma,Streamer_IsToggleIdleUpdate as pa,Streamer_ToggleCameraUpdate as ga,Streamer_IsToggleCameraUpdate as Sa,Streamer_ToggleItemUpdate as ya,Streamer_IsToggleItemUpdate as Ia,Streamer_GetLastUpdateTime as Pa,Streamer_Update as fa,Streamer_UpdateEx as Aa,Streamer_ToggleItem as Ta,Streamer_IsToggleItem as Ea,Streamer_ToggleAllItems as Ca,Streamer_GetItemInternalID as Da,Streamer_GetItemStreamerID as ba,Streamer_IsItemVisible as Na,Streamer_DestroyAllVisibleItems as va,Streamer_CountVisibleItems as La,Streamer_GetAllVisibleItems as Ra,Streamer_GetTickRate as wa,Streamer_SetTickRate as Oa,Streamer_ToggleChunkStream as Ga,Streamer_IsToggleChunkStream as Ba,Streamer_GetChunkSize as Fa,Streamer_SetChunkSize as ka,Streamer_GetMaxItems as Ma,Streamer_SetMaxItems as xa,Streamer_GetTypePriority as Ha,Streamer_SetTypePriority as Va,Streamer_GetCellDistance as Wa,Streamer_SetCellDistance as Ua,Streamer_GetCellSize as Ka,Streamer_SetCellSize as Za,Streamer_ToggleItemStatic as ja,Streamer_IsToggleItemStatic as Xa,Streamer_ToggleItemInvAreas as Ya,Streamer_IsToggleItemInvAreas as $a,Streamer_ToggleItemCallbacks as za,Streamer_IsToggleItemCallbacks as Ja,Streamer_ToggleErrorCallback as Qa,Streamer_IsToggleErrorCallback as qa,Streamer_AmxUnloadDestroyItems as en,Streamer_ProcessActiveItems as tn,Streamer_GetDistanceToItem as an,Streamer_DestroyAllItems as nn,Streamer_CountItems as rn,Streamer_GetNearbyItems as sn,Streamer_GetItemPos as ln,Streamer_SetItemPos as on,Streamer_GetItemOffset as dn,Streamer_SetItemOffset as cn,Streamer_GetFloatData as _n,Streamer_SetFloatData as hn,Streamer_GetIntData as un,Streamer_SetIntData as mn,Streamer_GetArrayData as pn,Streamer_SetArrayData as gn,Streamer_IsInArrayData as Sn,Streamer_AppendArrayData as yn,Streamer_RemoveArrayData as In,Streamer_GetArrayDataLength as Pn,Streamer_GetUpperBound as fn,MapIconStyles as An,StreamerDistances as oe,CreateDynamicMapIconEx as Tn,CreateDynamicMapIcon as En,DestroyDynamicMapIcon as Cn,IsValidDynamicMapIcon as Dn,StreamerItemTypes as E,CreateDynamicCPEx as bn,CreateDynamicCP as Nn,DestroyDynamicCP as at,IsValidDynamicCP as nt,TogglePlayerDynamicCP as vn,TogglePlayerAllDynamicCPs as Ln,IsPlayerInDynamicCP as Rn,GetPlayerVisibleDynamicCP as wn,CreateDynamicRaceCPEx as On,CreateDynamicRaceCP as Gn,TogglePlayerDynamicRaceCP as Bn,TogglePlayerAllDynamicRaceCPs as Fn,IsPlayerInDynamicRaceCP as kn,GetPlayerVisibleDynamicRaceCP as Mn,DestroyDynamic3DTextLabel as xn,IsValidDynamic3DTextLabel as Hn}from"@infernus/streamer";import{E_STREAMER as Xp,MapIconStyles as Yp,MaterialTextSizes as $p,StreamerAreaTypes as zp,StreamerDistances as Jp,StreamerItemTypes as Qp,StreamerMiscellaneous as qp,StreamerObjectTypes as e1}from"@infernus/streamer";const l=oa({transport:{target:"pino-pretty",options:{translateTime:"SYS:standard",ignore:"pid,hostname"}}});process.on("uncaughtException",e=>{l.error(e),process.exit(1)}),process.on("unhandledRejection",e=>{if(e instanceof Error){l.warn(e);return}l.warn(new Error(JSON.stringify(e)))});var Vn=Object.defineProperty,Wn=(e,t,a)=>t in e?Vn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ae=(e,t,a)=>(Wn(e,typeof t!="symbol"?t+"":t,a),a);class A{constructor(t,a){this.defaultLocale=t,this.locales=a,Ae(this,"addLocales",n=>{ca(this.locales,A.snakeLocaleKeys(n))}),Ae(this,"removeLocales",(...n)=>{this.locales=_a(this.locales,n)}),Ae(this,"$t",(n,i,r=this.defaultLocale)=>{const s=this.locales[fe(r)],o=$e(this.locales[this.defaultLocale],n),d=$e(s,n,o);if(d===void 0)return l.warn(`[i18n]: cannot find ${r}["${n}"]`),"undefined";if(typeof d!="string")return JSON.stringify(d);let c=d;if(i&&i.length){const u=/%s/i;for(let p=0;p<i.length&&c.match(u)!==null;p++)c=c.replace(u,i[p])}return c}),this.defaultLocale=fe(t),this.locales=A.snakeLocaleKeys(a)}static isValidate(t){ra(t)||(l.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,a){return A.isValidate(a),[...sa(t,a),0]}static decodeFromBuf(t,a="utf8"){A.isValidate(a);const n=t instanceof Buffer?t:Buffer.from(t);return la(n,a)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return da(t,(a,n)=>fe(n))}}const q=new Map;function it(e){q.set(e,[])}function Un(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function Kn(e,...t){const{defaultValue:a=!0,name:n,beforeEach:i,afterEach:r}=e,s=q.get(n);if(!s||!s.length)return+a;const o=i?i(...t):{},d=[];let c=-1;const u=()=>{if(c++,c<s.length){try{const p=s[c]({next:u,...o});return p instanceof Promise&&d.push(p),p}catch(p){const S=JSON.stringify(p),f=`executing event [name:${n},index:${c}] error: ${S}.`;l.error(f)}return a}return r&&(d.length?Promise.allSettled(d).then(()=>r(o)):r(o)),a};return Un(u(),a)}function h(e){const{name:t,identifier:a,isNative:n=!0}=e;if(q.has(t)){const o=`event [name:${t}] error: already defined.`;throw l.error(o),new Error(o)}it(t);function i(...o){return Kn(e,...o)}function r(o){const d=q.get(t).push(o)-1;return()=>{const c=q.get(t)||[],u=c.length-1,p=u<d?u:d;for(let S=p;S>=0;S--)if(c[S]===o){c.splice(S,1);break}}}const s=[r,i];return n&&(a&&samp.registerEvent(t,a),samp.on(t,i)),s}const[Zn]=h({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[jn]=h({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[Xn]=h({name:"OnNpcModeInit"}),[Yn]=h({name:"OnNpcModeExit"}),[$n]=h({name:"OnNpcSpawn"}),[zn]=h({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:A.decodeFromBuf(t)}}}),Jn=Object.freeze({onConnect:Zn,onDisconnect:jn,onModeInit:Xn,onModeExit:Yn,onSpawn:$n,onClientMessage:zn}),Qn=e=>!!samp.callNative("IsValidNickName","s",e),qn=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},ei=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),ti=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),ai=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),ni=e=>!!samp.callNative("IsValidServerRule","s",e),ii=e=>!!samp.callNative("RemoveServerRule","s",e),ri=e=>{samp.callNative("AllowAdminTeleport","i",e)},si=()=>!!samp.callNative("IsAdminTeleportAllowed",""),li=e=>{samp.callNative("AllowInteriorWeapons","i",e)},oi=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),di=()=>!!samp.callNative("AreAllAnimationsEnabled",""),ci=e=>{samp.callNative("EnableAllAnimations","i",e)},_i=e=>samp.callNative("GetConsoleVarAsString","sAi",e,64),hi=e=>samp.callNative("GetConsoleVarAsInt","s",e),ui=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),mi=()=>samp.callNative("GetWeather",""),pi=e=>samp.callNative("GetServerRuleFlags","s",e),gi=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Si=e=>!!samp.callNative("SetModeRestartTime","f",e),yi=()=>samp.callNativeFloat("GetModeRestartTime",""),Ii=(e,t,a)=>samp.callNative("GameTextForAll","sii",e,t,a),Pi=e=>{samp.callNative("HideGameTextForAll","i",e)},fi=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),Ai=()=>samp.callNative("GetMaxPlayers",""),Ti=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),Ei=e=>samp.callNative("SetGameModeText","s",e),Ci=e=>samp.callNative("ShowNameTags","i",e),Di=e=>samp.callNative("ShowPlayerMarkers","i",e),bi=e=>samp.callNative("SetWorldTime","i",e),Ni=()=>samp.callNative("GetWorldTime",""),vi=()=>samp.callNative("EnableVehicleFriendlyFire",""),Li=e=>samp.callNative("SetWeather","i",e),Ri=()=>samp.callNativeFloat("GetGravity",""),wi=e=>samp.callNative("SetGravity","f",e),Oi=(e,t,a,n,i)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,i),Gi=e=>samp.callNative("EnableZoneNames","i",e),Bi=()=>samp.callNative("UsePlayerPedAnims",""),Fi=()=>samp.callNative("DisableInteriorEnterExits",""),ki=e=>samp.callNative("SetNameTagDrawDistance","f",e),Mi=()=>samp.callNative("DisableNameTagLOS",""),xi=e=>samp.callNative("LimitGlobalChatRadius","f",e),Hi=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),Vi=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),Wi=()=>samp.callNative("GetServerTickRate",""),Ui=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),Ki=e=>samp.callNative("EnableStuntBonusForAll","i",e),Zi=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},ji=()=>!!samp.callNative("ChatTextReplacementToggled",""),Xi=e=>samp.callNative("GetWeaponSlot","i",e),Yi=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},rt=()=>samp.callNative("GetAvailableClasses",""),$i=e=>{if(e<rt()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,i=0,r=0,s=0,o=0,d=0,c=0,u=0,p=0,S=0,f=0]=t;return{teamId:a,modelId:n,spawn_x:i,spawn_y:r,spawn_z:s,z_angle:o,weapon1:d,weapon1_ammo:c,weapon2:u,weapon2_ammo:p,weapon3:S,weapon3_ammo:f}},zi=(e,t,a,n,i,r,s,o,d,c,u,p,S)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,i,r,s,o,d,c,u,p,S),Ji=e=>samp.callNative("SetTeamCount","i",e),Qi=(e,t,a,n,i,r,s,o,d,c,u)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,i,r,s,o,d,c,u),qi=(e,t,a,n,i,r,s,o,d,c,u,p)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,i,r,s,o,d,c,u,p),er=(e,t,a,n,i,r,s,o,d,c,u,p,S)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,i,r,s,o,d,c,u,p,S),tr=e=>samp.callNative("SpawnPlayer","i",e),ar=e=>{const[t,a=0,n=0,i=0,r=0,s=0,o=0,d=0,c=0,u=0,p=0,S=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawn_x:n,spawn_y:i,spawn_z:r,z_angle:s,weapon1:o,weapon1_ammo:d,weapon2:c,weapon2_ammo:u,weapon3:p,weapon3_ammo:S}},nr=e=>samp.callNative("NetStats_GetConnectedTime","i",e),ir=e=>samp.callNative("NetStats_MessagesReceived","i",e),rr=e=>samp.callNative("NetStats_BytesReceived","i",e),sr=e=>samp.callNative("NetStats_MessagesSent","i",e),lr=e=>samp.callNative("NetStats_BytesSent","i",e),or=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),dr=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),cr=e=>samp.callNative("NetStats_ConnectionStatus","i",e),_r=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},hr=e=>!!samp.callNative("IsPlayerAdmin","i",e),ur=(e,t)=>samp.callNative("SetPlayerAdmin","ii",e,t),mr=e=>samp.callNative("Kick","i",e),pr=e=>samp.callNative("Ban","i",e),gr=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},Sr=()=>samp.callNative("GetNetworkStats","Si",1024),yr=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Ir=e=>samp.callNative("UnBlockIpAddress","s",e),Pr=e=>samp.callNative("SendRconCommand","s",e),fr=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return A.decodeFromBuf(A.getValidStr(a),t)},Ar=(e,t,a,n,i)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,i),Tr=()=>{samp.callNative("ClearBanList","")},Er=e=>!!samp.callNative("IsBanned","s",e),Cr=e=>samp.callNative("GetPlayerRawIp","i",e),Dr=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},br=e=>{const[t]=samp.callNative("GetPlayerVersion","iSi",e,24);return t},P=e=>{if(typeof e=="number")return e;if(typeof+e=="number"&&!isNaN(+e))return+e;if(e.charAt(0)==="#")return e.length===4?parseInt(e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)+e.charAt(3)+e.charAt(3)+"FF",16):e.length===7?parseInt(e.slice(1,e.length)+"FF",16):e.length===9?parseInt(e.slice(1,e.length),16):255;const t=(e.match(/([0-9])+/g)||[]).map(n=>parseInt(n,10));if(t.length!==4&&t.length!==3)return 255;t.length===3?t.push(255):t[3]=t[3]<1?Math.floor(t[3]*255):255;let a=0;return t.reverse().forEach((n,i)=>{n!==0&&(a+=Math.pow(16,i*2)*n)}),a},Nr=(e,t)=>samp.callNative("TogglePlayerWidescreen","ii",e,t),vr=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Lr=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Rr=e=>samp.callNative("GetPlayerWeather","i",e),wr=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{x_max:t,x_min:a,y_max:n,y_min:i}},Or=e=>samp.callNativeFloat("GetPlayerZAim","i",e),Gr=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},Br=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:i}},Fr=e=>samp.callNative("GetPlayerDialogID","i",e),kr=e=>samp.callNative("GetPlayerSpectateID","i",e),Mr=e=>samp.callNative("GetPlayerSpectateType","i",e),xr=(e,t)=>samp.callNative("SetPlayerGravity","if",e,t),Hr=e=>samp.callNativeFloat("GetPlayerGravity","i",e),Vr=e=>!!samp.callNative("IsPlayerSpawned","i",e),Wr=e=>!!samp.callNative("IsPlayerControllable","i",e),Ur=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),Kr=(e,t)=>samp.callNative("TogglePlayerGhostMode","ii",e,t),Zr=e=>!!samp.callNative("GetPlayerGhostMode","i",e),jr=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),Xr=(e,t)=>samp.callNative("RemovePlayerWeapon","ii",e,t),Yr=e=>samp.callNative("HidePlayerDialog","i",e),$r=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),zr=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),Jr=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),Qr=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),qr=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),es=(e,t,a,n)=>!!samp.callNative("GameTextForPlayer","isii",e,t,a,n),ts=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),as=(e,t,a,n)=>samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),ns=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),is=e=>!!samp.callNative("IsPlayerNPC","i",e),st=(e,t,a,n)=>samp.callNative("SetPlayerPos","ifff",e,t,a,n),rs=(e,t,a,n)=>samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,n),ss=e=>samp.callNative("GetPlayerPos","iFFF",e),ls=(e,t)=>samp.callNative("SetPlayerFacingAngle","if",e,t),os=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},ds=(e,t,a,n,i)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,n,i),cs=(e,t,a,n)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,n),_s=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),hs=(e,t)=>samp.callNative("SetPlayerInterior","ii",e,t),us=e=>samp.callNative("GetPlayerInterior","i",e),ms=(e,t)=>samp.callNative("SetPlayerHealth","if",e,t),ps=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},gs=(e,t)=>samp.callNative("SetPlayerArmour","if",e,t),Ss=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},ys=(e,t,a)=>samp.callNative("SetPlayerAmmo","iii",e,t,a),Is=e=>samp.callNative("GetPlayerAmmo","i",e),Ps=e=>samp.callNative("GetPlayerWeaponState","i",e),fs=e=>samp.callNative("GetPlayerTargetPlayer","i",e),As=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Ts=e=>samp.callNative("GetPlayerTeam","i",e),Es=(e,t)=>samp.callNative("SetPlayerScore","ii",e,t),Cs=e=>samp.callNative("GetPlayerScore","i",e),Ds=e=>samp.callNative("GetPlayerDrunkLevel","i",e),bs=(e,t)=>samp.callNative("SetPlayerDrunkLevel","ii",e,t),Ns=(e,t)=>samp.callNative("SetPlayerColor","ii",e,P(t)),vs=e=>samp.callNative("GetPlayerColor","i",e),Ls=(e,t)=>samp.callNative("SetPlayerSkin","ii",e,t),Rs=e=>samp.callNative("GetPlayerSkin","i",e),ws=(e,t,a)=>samp.callNative("GivePlayerWeapon","iii",e,t,a),Os=e=>samp.callNative("ResetPlayerWeapons","i",e),Gs=(e,t)=>samp.callNative("SetPlayerArmedWeapon","ii",e,t),Bs=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),Fs=(e,t)=>samp.callNative("GivePlayerMoney","ii",e,t),ks=e=>samp.callNative("ResetPlayerMoney","i",e),Ms=e=>samp.callNative("GetPlayerMoney","i",e),xs=e=>samp.callNative("GetPlayerState","i",e),Hs=e=>samp.callNative("GetPlayerPing","i",e),Vs=e=>samp.callNative("GetPlayerWeapon","i",e),Ws=e=>samp.callNative("GetPlayerKeys","iIII",e),Us=(e,t,a)=>samp.callNative("SetPlayerTime","iii",e,t,a),Ks=e=>samp.callNative("GetPlayerTime","iII",e),Zs=(e,t)=>samp.callNative("TogglePlayerClock","ii",e,t),js=(e,t)=>samp.callNative("SetPlayerWeather","ii",e,t),Xs=e=>samp.callNative("ForceClassSelection","i",e),Ys=(e,t)=>samp.callNative("SetPlayerWantedLevel","ii",e,t),$s=e=>samp.callNative("GetPlayerWantedLevel","i",e),zs=(e,t)=>samp.callNative("SetPlayerFightingStyle","ii",e,t),Js=e=>samp.callNative("GetPlayerFightingStyle","i",e),Qs=(e,t,a,n)=>samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),qs=e=>samp.callNative("GetPlayerVelocity","iFFF",e),el=(e,t,a)=>samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),tl=(e,t,a,n,i,r,s=!1)=>samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,i,r,s),al=e=>samp.callNative("StopAudioStreamForPlayer","i",e),nl=(e,t)=>samp.callNative("SetPlayerShopName","is",e,t),il=(e,t,a)=>samp.callNative("SetPlayerSkillLevel","iii",e,t,a),rl=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),sl=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),ll=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),ol=(e,t,a,n,i,r)=>samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,i,r),dl=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),cl=(e,t,a,n,i)=>samp.callNative("SetPlayerChatBubble","isifi",e,t,P(a),n,i),_l=(e,t,a)=>samp.callNative("PutPlayerInVehicle","iii",e,t,a),hl=e=>samp.callNative("GetPlayerVehicleID","i",e),ul=e=>samp.callNative("GetPlayerVehicleSeat","i",e),ml=e=>samp.callNative("RemovePlayerFromVehicle","i",e),pl=(e,t)=>samp.callNative("TogglePlayerControllable","ii",e,t),gl=(e,t,a,n,i)=>samp.callNative("PlayerPlaySound","iifff",e,t,a,n,i),Sl=(e,t,a,n,i,r,s,o,d,c)=>samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,i,r,s,o,d,c),yl=(e,t)=>samp.callNative("ClearAnimations","ii",e,t),Il=e=>samp.callNative("GetPlayerAnimationIndex","i",e),Pl=e=>samp.callNative("GetPlayerSpecialAction","i",e),fl=(e,t)=>samp.callNative("SetPlayerSpecialAction","ii",e,t),Al=(e,t)=>samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),Tl=(e,t)=>samp.callNative("SetPlayerVirtualWorld","ii",e,t),El=e=>samp.callNative("GetPlayerVirtualWorld","i",e),Cl=(e,t)=>samp.callNative("EnableStuntBonusForPlayer","ii",e,t),Dl=e=>samp.callNative("GetPlayerCustomSkin","i",e),bl=(e,t,a,n,i,r)=>samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,i,r),Nl=(e,t,a)=>samp.callNative("StartRecordingPlayerData","iis",e,t,a),vl=e=>samp.callNative("StopRecordingPlayerData","i",e),Ll=(e,t)=>samp.callNative("TogglePlayerSpectating","ii",e,t),Rl=(e,t,a)=>samp.callNative("PlayerSpectatePlayer","iii",e,t,a),wl=(e,t,a)=>samp.callNative("PlayerSpectateVehicle","iii",e,t,a),lt=e=>!!samp.callNative("IsPlayerConnected","i",e),Ol=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),Gl=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),Bl=(e,t,a,n,i)=>samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,i),Fl=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),kl=(e,t,a)=>samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,P(a));function Ml(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const xl=(e,t,a)=>samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),Hl=(e,t,a,n)=>samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),Vl=(e,t,a,n,i)=>samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,i),Wl=e=>samp.callNative("SetCameraBehindPlayer","i",e),Ul=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),Kl=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),Zl=e=>samp.callNative("GetPlayerCameraMode","i",e),jl=(e,t)=>samp.callNative("EnablePlayerCameraTarget","ii",e,t),Xl=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),Yl=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),$l=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),zl=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),Jl=(e,t,a,n,i,r,s,o,d)=>samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,i,r,s,o,d),Ql=(e,t,a,n,i,r,s,o,d)=>samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,i,r,s,o,d),ql=e=>!!samp.callNative("IsPlayerCuffed","i",e),eo=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),to=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),ao=()=>samp.callNative("StopRecordingPlayback",""),no=()=>samp.callNative("PauseRecordingPlayback",""),io=()=>samp.callNative("ResumeRecordingPlayback",""),ro=e=>samp.callNative("GetActorSkin","i",e),so=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),lo=e=>{const[t=0,a=0,n=0,i=0,r=0]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:a,fY:n,fZ:i,fAngle:r}},oo=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:a,fZ:n,fRot:i,color1:r,color2:s}},co=(e,t,a,n,i,r,s,o,d=-2,c=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,i,r,s,o,d,c),_o=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","i",e);return{color1:t,color2:a}},ho=e=>samp.callNative("GetVehiclePaintjob","i",e),uo=e=>samp.callNative("GetVehicleInterior","i",e),mo=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},po=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),go=e=>samp.callNative("GetVehicleRespawnDelay","i",e),So=e=>samp.callNative("GetVehicleCab","i",e),yo=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Io=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Po=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),fo=e=>!!samp.callNative("IsVehicleOccupied","i",e),Ao=e=>samp.callNative("GetVehicleRespawnTick","i",e),To=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Eo=e=>!!samp.callNative("IsVehicleDead","i",e),Co=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),Do=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),bo=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),No=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),vo=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),Lo=e=>samp.callNative("GetVehicleModelCount","i",e),Ro=e=>samp.callNative("GetVehicleLastDriver","i",e),wo=e=>samp.callNative("GetVehicleDriver","i",e),Oo=()=>samp.callNative("GetVehicleModelsUsed",""),Go=e=>samp.callNative("GetVehicleSirenState","i",e),Bo=e=>samp.callNative("GetVehicleLandingGearState","i",e),Fo=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),ko=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),Mo=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,o=0,d=0,c=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:i,upY:r,upZ:s,atX:o,atY:d,atZ:c}},ot=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,i]}},xo=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),Ho=(e,t,a,n,i,r,s,o,d)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,i,P(r),P(s),o,d),Vo=e=>samp.callNative("DestroyVehicle","i",e),Wo=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),Uo=e=>{const t=samp.callNative("GetVehiclePos","iFFF",e);if(t.length<3)throw new Error("VehicleID "+e+" not found");return{x:t[0],y:t[1],z:t[2]}},Ko=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),Zo=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},jo=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),Xo=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),Yo=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),$o=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),zo=()=>samp.callNative("ManualVehicleEngineAndLights",""),Jo=(e,t,a,n,i,r,s,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,i,r,s,o),Qo=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),qo=e=>samp.callNative("GetVehicleParamsSirenState","i",e),ed=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,i),td=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},ad=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,i),nd=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},id=e=>samp.callNative("SetVehicleToRespawn","i",e),rd=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),sd=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),ld=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),od=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,P(t),P(a)),dd=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),cd=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),_d=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},hd=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),ud=e=>samp.callNative("DetachTrailerFromVehicle","i",e),md=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),pd=e=>samp.callNative("GetVehicleTrailer","i",e),gd=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),Sd=e=>samp.callNative("GetVehicleModel","i",e),yd=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Id=e=>samp.callNative("GetVehicleComponentType","i",e),Pd=e=>samp.callNative("RepairVehicle","i",e),fd=e=>samp.callNative("GetVehicleVelocity","iFFF",e),Ad=(e,t,a,n)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,n),Td=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),Ed=e=>{const t=samp.callNative("GetVehicleDamageStatus","iIIII",e);if(t.length<4)throw new Error("VehicleID "+e+" not found");return{panels:t[0],doors:t[1],lights:t[2],tires:t[3]}},Cd=(e,t,a,n,i)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,i),Dd=(e,t)=>{const a=samp.callNative("GetVehicleModelInfo","iiFFF",e,t);if(a.length<3)throw new Error("ModelID "+e+" not found");return{x:a[0],y:a[1],z:a[2]}},bd=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),Nd=e=>samp.callNative("GetVehicleVirtualWorld","i",e),dt=e=>!!samp.callNative("IsValidVehicle","i",e),vd=(e,t,a,n,i,r,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,i,r,s),Ld=(e,t,a,n,i,r,s,o,d)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,i,r,s,o,d),Rd=e=>!!samp.callNative("ShowVehicle","i",e),wd=e=>!!samp.callNative("HideVehicle","i",e),Od=e=>!!samp.callNative("IsVehicleHidden","i",e),Gd=e=>!!samp.callNative("IsPlayerInModShop","i",e),Bd=e=>samp.callNative("GetPlayerSirenState","i",e),Fd=e=>samp.callNative("GetPlayerLandingGearState","i",e),kd=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),Md=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),xd=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),Hd=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:i}},Vd=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),Wd=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,o=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:n,fNextX:i,fNextY:r,fNextZ:s,fSize:o}},Ud=e=>!!samp.callNative("IsMenuDisabled","i",e),Kd=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),Zd=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),jd=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},Xd=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},Yd=(e,t)=>{const[a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return a},$d=(e,t,a)=>{const[n]=samp.callNative("GetMenuItem","iiiSi",e,t,a,31);return n},zd=(e,t,a,n,i,r)=>samp.callNative("CreateMenu","siffff",e,t,a,n,i,r),Jd=e=>samp.callNative("DestroyMenu","i",e),Qd=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),qd=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),ec=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),tc=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),ac=e=>!!samp.callNative("IsValidMenu","i",e),nc=e=>samp.callNative("DisableMenu","i",e),ic=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),rc=e=>samp.callNative("GetPlayerMenu","i",e),sc=e=>!!samp.callNative("IsValidGangZone","i",e),lc=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),oc=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),dc=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),cc=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),_c=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),hc=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:i}},uc=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},mc=(e,t,a,n)=>samp.callNative("GangZoneCreate","ffff",e,t,a,n),pc=e=>samp.callNative("GangZoneDestroy","i",e),gc=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,P(a)),Sc=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,P(t)),yc=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),Ic=e=>samp.callNative("GangZoneHideForAll","i",e),Pc=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,P(a)),fc=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,P(t)),Ac=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Tc=e=>samp.callNative("GangZoneStopFlashForAll","i",e),Ec=(e,t,a,n,i)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,i),Cc=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),Dc=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),bc=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),Nc=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),vc=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),Lc=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),Rc=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),wc=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),Oc=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),Gc=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),Bc=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),Fc=(e,t)=>{const[a=0,n=0,i=0,r=0]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:a,fMinY:n,fMaxX:i,fMaxY:r}},kc=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},Mc=e=>!!samp.callNative("IsValidTextDraw","i",e),xc=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),Hc=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},Vc=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},Wc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},Uc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},Kc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},Zc=e=>samp.callNative("TextDrawGetColor","i",e),jc=e=>samp.callNative("TextDrawGetBoxColor","i",e),Xc=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),Yc=e=>samp.callNative("TextDrawGetShadow","i",e),$c=e=>samp.callNative("TextDrawGetOutline","i",e),zc=e=>samp.callNative("TextDrawGetFont","i",e),Jc=e=>!!samp.callNative("TextDrawIsBox","i",e),Qc=e=>!!samp.callNative("TextDrawIsProportional","i",e),qc=e=>!!samp.callNative("TextDrawIsSelectable","i",e),e_=e=>samp.callNative("TextDrawGetAlignment","i",e),t_=e=>samp.callNative("TextDrawGetPreviewModel","i",e),a_=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:i}},n_=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},i_=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iis",e,t,a)},r_=(e,t,a)=>samp.callNative("TextDrawCreate","ffs",e,t,a),s_=e=>samp.callNative("TextDrawDestroy","i",e),l_=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),o_=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),d_=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),c_=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,P(t)),__=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),h_=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,P(t)),u_=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),m_=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),p_=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,P(t)),g_=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),S_=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),y_=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),I_=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),P_=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),f_=e=>samp.callNative("TextDrawShowForAll","i",e),A_=e=>samp.callNative("TextDrawHideForAll","i",e),T_=(e,t)=>samp.callNative("TextDrawSetString","is",e,t),E_=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),C_=(e,t,a,n,i=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,i)},D_=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,P(t),P(a)),b_=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,P(t))},N_=e=>{samp.callNative("CancelSelectTextDraw","i",e)},v_=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),L_=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),R_=(e,t)=>samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024),w_=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},O_=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},G_=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:n}},B_=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:n}},F_=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),k_=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),M_=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),x_=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),H_=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),V_=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),W_=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),U_=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),K_=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),Z_=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),j_=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),X_=(e,t)=>{const[a=0,n=0,i=0,r=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:a,fRotY:n,fRotZ:i,fZoom:r}},Y_=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},$_=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffs",e,t,a,n),z_=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},J_=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),Q_=(e,t,a,n)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,a,n),q_=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),eh=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,P(a)),th=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),ah=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,P(a)),nh=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),ih=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),rh=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,P(a)),sh=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),lh=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),oh=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),dh=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),ch=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),_h=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iis",e,t,a),hh=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),uh=(e,t,a,n,i,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,i,r),mh=(e,t,a,n)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,n),ph=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),gh=e=>!!samp.callNative("BeginObjectSelecting","i",e),Sh=e=>!!samp.callNative("EndObjectEditing","i",e),yh=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),Ih=(e,t,a,n,i)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,i),Ph=(e,t,a,n,i,r,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,i,r,s),fh=(e,t)=>samp.callNative("RedirectDownload","is",e,t),Ah=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},Th=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},Eh=(e,t)=>{const[a=0,n=0,i=0,r=0,s=0,o=0,d=0,c=0,u=0,p=0,S=0,f=0,T=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:n,fX:i,fY:r,fZ:s,fRotX:o,fRotY:d,fRotZ:c,fScaleX:u,fScaleY:p,fScaleZ:S,materialColor1:f,materialColor2:T}},Ch=(e,t,a,n,i,r,s,o,d,c,u,p,S,f,T)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,i,r,s,o,d,c,u,p,S,P(f),P(T)),Dh=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),bh=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),ct=e=>!!samp.callNative("IsValidCustomModel","i",e),Nh=e=>{if(!ct(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var _t=(e=>(e[e.DOWNLOAD_REQUEST_EMPTY=0]="DOWNLOAD_REQUEST_EMPTY",e[e.DOWNLOAD_REQUEST_MODEL_FILE=1]="DOWNLOAD_REQUEST_MODEL_FILE",e[e.DOWNLOAD_REQUEST_TEXTURE_FILE=2]="DOWNLOAD_REQUEST_TEXTURE_FILE",e))(_t||{}),ht=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(ht||{}),Te=(e=>(e[e.MSGBOX=0]="MSGBOX",e[e.INPUT=1]="INPUT",e[e.LIST=2]="LIST",e[e.PASSWORD=3]="PASSWORD",e[e.TABLIST=4]="TABLIST",e[e.TABLIST_HEADERS=5]="TABLIST_HEADERS",e))(Te||{}),ut=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(ut||{}),mt=(e=>(e[e.NO_ACTION=0]="NO_ACTION",e[e.DISCONNECT_ASAP=1]="DISCONNECT_ASAP",e[e.DISCONNECT_ASAP_SILENTLY=2]="DISCONNECT_ASAP_SILENTLY",e[e.DISCONNECT_ON_NO_ACK=3]="DISCONNECT_ON_NO_ACK",e[e.REQUESTED_CONNECTION=4]="REQUESTED_CONNECTION",e[e.HANDLING_CONNECTION_REQUEST=5]="HANDLING_CONNECTION_REQUEST",e[e.UNVERIFIED_SENDER=6]="UNVERIFIED_SENDER",e[e.SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET=7]="SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET",e[e.CONNECTED=8]="CONNECTED",e))(mt||{}),C=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.VEHICLE_ID=65535]="VEHICLE_ID",e[e.ACTOR_ID=65535]="ACTOR_ID",e[e.OBJECT_ID=65535]="OBJECT_ID",e[e.MENU=-1]="MENU",e[e.TEXT_DRAW=65535]="TEXT_DRAW",e[e.PLAYER_TEXT_DRAW=65535]="PLAYER_TEXT_DRAW",e[e.GANG_ZONE=-1]="GANG_ZONE",e[e._3DTEXT_ID=65535]="_3DTEXT_ID",e[e.PLAYER_3DTEXT_ID=65535]="PLAYER_3DTEXT_ID",e))(C||{}),pt=(e=>(e[e.ACTION=1]="ACTION",e[e.CROUCH=2]="CROUCH",e[e.FIRE=4]="FIRE",e[e.SPRINT=8]="SPRINT",e[e.SECONDARY_ATTACK=16]="SECONDARY_ATTACK",e[e.JUMP=32]="JUMP",e[e.LOOK_RIGHT=64]="LOOK_RIGHT",e[e.HANDBRAKE=128]="HANDBRAKE",e[e.LOOK_LEFT=256]="LOOK_LEFT",e[e.SUBMISSION=512]="SUBMISSION",e[e.LOOK_BEHIND=512]="LOOK_BEHIND",e[e.WALK=1024]="WALK",e[e.ANALOG_UP=2048]="ANALOG_UP",e[e.ANALOG_DOWN=4096]="ANALOG_DOWN",e[e.ANALOG_LEFT=8192]="ANALOG_LEFT",e[e.ANALOG_RIGHT=16384]="ANALOG_RIGHT",e[e.YES=65536]="YES",e[e.NO=131072]="NO",e[e.CTRL_BACK=262144]="CTRL_BACK",e[e.KEY_UP=-128]="KEY_UP",e[e.KEY_DOWN=128]="KEY_DOWN",e[e.KEY_LEFT=-128]="KEY_LEFT",e[e.KEY_RIGHT=128]="KEY_RIGHT",e))(pt||{}),L=(e=>(e[e.MAX_PLAYER_NAME=24]="MAX_PLAYER_NAME",e[e.MAX_PLAYERS=1e3]="MAX_PLAYERS",e[e.MAX_VEHICLES=2e3]="MAX_VEHICLES",e[e.MAX_ACTORS=1e3]="MAX_ACTORS",e[e.MAX_OBJECTS=1e3]="MAX_OBJECTS",e[e.MAX_GANG_ZONES=1024]="MAX_GANG_ZONES",e[e.MAX_TEXT_DRAWS=2048]="MAX_TEXT_DRAWS",e[e.MAX_PLAYER_TEXT_DRAWS=256]="MAX_PLAYER_TEXT_DRAWS",e[e.MAX_MENUS=128]="MAX_MENUS",e[e.MAX_MENU_ROW=12]="MAX_MENU_ROW",e[e.MAX_MENU_COL=2]="MAX_MENU_COL",e[e.MAX_3DTEXT_GLOBAL=1024]="MAX_3DTEXT_GLOBAL",e[e.MAX_3DTEXT_PLAYER=1024]="MAX_3DTEXT_PLAYER",e[e.MAX_PICKUPS=4096]="MAX_PICKUPS",e[e.MAX_PLAYER_ATTACHED_OBJECTS=10]="MAX_PLAYER_ATTACHED_OBJECTS",e[e.MAX_CHATBUBBLE_LENGTH=144]="MAX_CHATBUBBLE_LENGTH",e))(L||{}),gt=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(gt||{}),St=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(St||{}),R=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(R||{}),yt=(e=>(e[e._32x32=10]="_32x32",e[e._64x32=20]="_64x32",e[e._64x64=30]="_64x64",e[e._128x32=40]="_128x32",e[e._128x64=50]="_128x64",e[e._128x128=60]="_128x128",e[e._256x32=70]="_256x32",e[e._256x64=80]="_256x64",e[e._256x128=90]="_256x128",e[e._256x256=100]="_256x256",e[e._512x64=110]="_512x64",e[e._512x128=120]="_512x128",e[e._512x256=130]="_512x256",e[e._512x512=140]="_512x512",e))(yt||{}),It=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(It||{}),Pt=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(Pt||{}),ft=(e=>(e[e.NORMAL=0]="NORMAL",e[e.BOXING=1]="BOXING",e[e.KUNGFU=2]="KUNGFU",e[e.KNEEHEAD=3]="KNEEHEAD",e[e.GRABKICK=4]="GRABKICK",e[e.ELBOW=5]="ELBOW",e))(ft||{}),At=(e=>(e[e.LOCAL=0]="LOCAL",e[e.GLOBAL=1]="GLOBAL",e[e.LOCAL_CHECKPOINT=2]="LOCAL_CHECKPOINT",e[e.GLOBAL_CHECKPOINT=3]="GLOBAL_CHECKPOINT",e))(At||{}),de=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(de||{}),Tt=(e=>(e[e.BEHINDCAR=3]="BEHINDCAR",e[e.FOLLOWPED=4]="FOLLOWPED",e[e.SNIPER=7]="SNIPER",e[e.ROCKETLAUNCHER=8]="ROCKETLAUNCHER",e[e.FIXED=15]="FIXED",e[e._1STPERSON=16]="_1STPERSON",e[e.CAM_ON_A_STRING=18]="CAM_ON_A_STRING",e[e.BEHINDBOAT=22]="BEHINDBOAT",e[e.CAMERA=46]="CAMERA",e[e.ROCKETLAUNCHER_HS=51]="ROCKETLAUNCHER_HS",e[e.AIMWEAPON=53]="AIMWEAPON",e[e.AIMWEAPON_FROMCAR=55]="AIMWEAPON_FROMCAR",e[e.DW_HELI_CHASE=56]="DW_HELI_CHASE",e[e.DW_CAM_MAN=57]="DW_CAM_MAN",e[e.DW_BIRDY=58]="DW_BIRDY",e[e.DW_PLANE_SPOTTER=59]="DW_PLANE_SPOTTER",e[e.DW_PLANECAM1=62]="DW_PLANECAM1",e[e.DW_PLANECAM2=63]="DW_PLANECAM2",e[e.DW_PLANECAM3=64]="DW_PLANECAM3",e))(Tt||{}),ce=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(ce||{}),j=(e=>(e[e.NONE=0]="NONE",e[e.ONFOOT=1]="ONFOOT",e[e.DRIVER=2]="DRIVER",e[e.PASSENGER=3]="PASSENGER",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.ENTER_VEHICLE_DRIVER=5]="ENTER_VEHICLE_DRIVER",e[e.ENTER_VEHICLE_PASSENGER=6]="ENTER_VEHICLE_PASSENGER",e[e.WASTED=7]="WASTED",e[e.SPAWNED=8]="SPAWNED",e[e.SPECTATING=9]="SPECTATING",e))(j||{}),Et=(e=>(e[e.TORSO=3]="TORSO",e[e.GROIN=4]="GROIN",e[e.LEFT_ARM=5]="LEFT_ARM",e[e.RIGHT_ARM=6]="RIGHT_ARM",e[e.LEFT_LEG=7]="LEFT_LEG",e[e.RIGHT_LEG=8]="RIGHT_LEG",e[e.HEAD=9]="HEAD",e))(Et||{}),Ct=(e=>(e[e.Spine=1]="Spine",e[e.Head=2]="Head",e[e.LeftUpperArm=3]="LeftUpperArm",e[e.RightUpperArm=4]="RightUpperArm",e[e.LeftHand=5]="LeftHand",e[e.RightHand=6]="RightHand",e[e.LeftThigh=7]="LeftThigh",e[e.RightThigh=8]="RightThigh",e[e.LeftFoot=9]="LeftFoot",e[e.RightFoot=10]="RightFoot",e[e.RightCalf=11]="RightCalf",e[e.LeftCalf=12]="LeftCalf",e[e.LeftForearm=13]="LeftForearm",e[e.RightForearm=14]="RightForearm",e[e.LeftClavicle=15]="LeftClavicle",e[e.RightClavicle=16]="RightClavicle",e[e.Neck=17]="Neck",e[e.Jaw=18]="Jaw",e))(Ct||{}),Ee=(e=>(e[e.NONE=0]="NONE",e[e.DUCK=1]="DUCK",e[e.USEJETPACK=2]="USEJETPACK",e[e.ENTER_VEHICLE=3]="ENTER_VEHICLE",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.DANCE1=5]="DANCE1",e[e.DANCE2=6]="DANCE2",e[e.DANCE3=7]="DANCE3",e[e.DANCE4=8]="DANCE4",e[e.HANDSUP=10]="HANDSUP",e[e.USECELLPHONE=11]="USECELLPHONE",e[e.SITTING=12]="SITTING",e[e.STOPUSECELLPHONE=13]="STOPUSECELLPHONE",e[e.DRINK_BEER=20]="DRINK_BEER",e[e.SMOKE_CIGGY=21]="SMOKE_CIGGY",e[e.DRINK_WINE=22]="DRINK_WINE",e[e.DRINK_SPRUNK=23]="DRINK_SPRUNK",e[e.CUFFED=24]="CUFFED",e[e.CARRY=25]="CARRY",e[e.PISSING=68]="PISSING",e))(Ee||{}),ee=(e=>(e[e.FONT_0=0]="FONT_0",e[e.FONT_1=1]="FONT_1",e[e.FONT_2=2]="FONT_2",e[e.FONT_3=3]="FONT_3",e[e.SPRITE_DRAW=4]="SPRITE_DRAW",e[e.MODEL_PREVIEW=5]="MODEL_PREVIEW",e[e.BANK=0]="BANK",e[e.STANDARD=1]="STANDARD",e[e.SPACEAGE=2]="SPACEAGE",e[e.HEADING=3]="HEADING",e[e.BECKETT_REGULAR=0]="BECKETT_REGULAR",e[e.AHARONI_BOLD=1]="AHARONI_BOLD",e[e.BANK_GOTHIC=2]="BANK_GOTHIC",e[e.PRICEDOWN=3]="PRICEDOWN",e[e.SPRITE=4]="SPRITE",e[e.PREVIEW=5]="PREVIEW",e))(ee||{}),Dt=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Dt||{}),bt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=-1]="NONE",e[e.SPOILER=0]="SPOILER",e[e.HOOD=1]="HOOD",e[e.ROOF=2]="ROOF",e[e.SIDESKIRT=3]="SIDESKIRT",e[e.LAMPS=4]="LAMPS",e[e.NITRO=5]="NITRO",e[e.EXHAUST=6]="EXHAUST",e[e.WHEELS=7]="WHEELS",e[e.STEREO=8]="STEREO",e[e.HYDRAULICS=9]="HYDRAULICS",e[e.FRONT_BUMPER=10]="FRONT_BUMPER",e[e.REAR_BUMPER=11]="REAR_BUMPER",e[e.VENT_RIGHT=12]="VENT_RIGHT",e[e.VENT_LEFT=13]="VENT_LEFT",e[e.FRONT_BULLBAR=14]="FRONT_BULLBAR",e[e.REAR_BULLBAR=15]="REAR_BULLBAR",e))(bt||{}),Nt=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(Nt||{}),vt=(e=>(e[e.SIZE=1]="SIZE",e[e.FRONTSEAT=2]="FRONTSEAT",e[e.REARSEAT=3]="REARSEAT",e[e.PETROLCAP=4]="PETROLCAP",e[e.WHEELSFRONT=5]="WHEELSFRONT",e[e.WHEELSREAR=6]="WHEELSREAR",e[e.WHEELSMID=7]="WHEELSMID",e[e.FRONT_BUMPER_Z=8]="FRONT_BUMPER_Z",e[e.REAR_BUMPER_Z=9]="REAR_BUMPER_Z",e))(vt||{}),Lt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.REASON_VEHICLE=49]="REASON_VEHICLE",e[e.REASON_DROWN=53]="REASON_DROWN",e[e.REASON_COLLISION=54]="REASON_COLLISION",e[e.REASON_SPLAT=54]="REASON_SPLAT",e[e.REASON_CONNECT=200]="REASON_CONNECT",e[e.REASON_DISCONNECT=200]="REASON_DISCONNECT",e[e.REASON_SUICIDE=255]="REASON_SUICIDE",e[e.FIST=0]="FIST",e[e.BRASSKNUCKLE=1]="BRASSKNUCKLE",e[e.GOLFCLUB=2]="GOLFCLUB",e[e.NITESTICK=3]="NITESTICK",e[e.KNIFE=4]="KNIFE",e[e.BAT=5]="BAT",e[e.SHOVEL=6]="SHOVEL",e[e.POOLSTICK=7]="POOLSTICK",e[e.KATANA=8]="KATANA",e[e.CHAINSAW=9]="CHAINSAW",e[e.DILDO=10]="DILDO",e[e.DILDO2=11]="DILDO2",e[e.VIBRATOR=12]="VIBRATOR",e[e.VIBRATOR2=13]="VIBRATOR2",e[e.FLOWER=14]="FLOWER",e[e.CANE=15]="CANE",e[e.GRENADE=16]="GRENADE",e[e.TEARGAS=17]="TEARGAS",e[e.MOLTOV=18]="MOLTOV",e[e.COLT45=22]="COLT45",e[e.SILENCED=23]="SILENCED",e[e.DEAGLE=24]="DEAGLE",e[e.SHOTGUN=25]="SHOTGUN",e[e.SAWEDOFF=26]="SAWEDOFF",e[e.SHOTGSPA=27]="SHOTGSPA",e[e.UZI=28]="UZI",e[e.MP5=29]="MP5",e[e.AK47=30]="AK47",e[e.M4=31]="M4",e[e.TEC9=32]="TEC9",e[e.RIFLE=33]="RIFLE",e[e.SNIPER=34]="SNIPER",e[e.ROCKETLAUNCHER=35]="ROCKETLAUNCHER",e[e.HEATSEEKER=36]="HEATSEEKER",e[e.FLAMETHROWER=37]="FLAMETHROWER",e[e.MINIGUN=38]="MINIGUN",e[e.SATCHEL=39]="SATCHEL",e[e.BOMB=40]="BOMB",e[e.SPRAYCAN=41]="SPRAYCAN",e[e.FIREEXTINGUISHER=42]="FIREEXTINGUISHER",e[e.CAMERA=43]="CAMERA",e[e.NIGHT_VISION_GOGGLES=44]="NIGHT_VISION_GOGGLES",e[e.THERMAL_GOGGLES=45]="THERMAL_GOGGLES",e[e.PARACHUTE=46]="PARACHUTE",e))(Lt||{}),Rt=(e=>(e[e.PISTOL=0]="PISTOL",e[e.PISTOL_SILENCED=1]="PISTOL_SILENCED",e[e.DESERT_EAGLE=2]="DESERT_EAGLE",e[e.SHOTGUN=3]="SHOTGUN",e[e.SAWNOFF_SHOTGUN=4]="SAWNOFF_SHOTGUN",e[e.SPAS12_SHOTGUN=5]="SPAS12_SHOTGUN",e[e.MICRO_UZI=6]="MICRO_UZI",e[e.MP5=7]="MP5",e[e.AK47=8]="AK47",e[e.M4=9]="M4",e[e.SNIPERRIFLE=10]="SNIPERRIFLE",e))(Rt||{}),wt=(e=>(e[e.NONE=0]="NONE",e[e.PLAYER=1]="PLAYER",e[e.VEHICLE=2]="VEHICLE",e[e.OBJECT=3]="OBJECT",e[e.PLAYER_OBJECT=4]="PLAYER_OBJECT",e))(wt||{}),Ot=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NO_BULLETS=0]="NO_BULLETS",e[e.LAST_BULLET=1]="LAST_BULLET",e[e.MORE_BULLETS=2]="MORE_BULLETS",e[e.RELOADING=3]="RELOADING",e))(Ot||{}),Ce=(e=>(e[e.VEHICLE=49]="VEHICLE",e[e.HELICOPTERBLADES=50]="HELICOPTERBLADES",e[e.EXPLOSION=51]="EXPLOSION",e[e.DROWN=53]="DROWN",e[e.COLLISION=54]="COLLISION",e[e.CONNECT=200]="CONNECT",e[e.DISCONNECT=201]="DISCONNECT",e[e.SUICIDE=255]="SUICIDE",e))(Ce||{}),Gt=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(Gt||{}),vh=Object.defineProperty,Lh=(e,t,a)=>t in e?vh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Bt=(e,t,a)=>(Lh(e,typeof t!="symbol"?t+"":t,a),a);const De=class F{constructor(){}static startRecordingPlayerData(t,a,n){if(t.isRecording)return l.warn("[NpcFunc]: It should be stopped before recording");Nl(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return l.warn("[NpcFunc]: It should be started before stop");vl(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(F.recordStatus>=R.start)return l.warn("[NpcFunc]: The current status cannot be replayed");to(t,a),F.recordStatus=R.start}static stopRecordingPlayback(){if(F.recordStatus<R.start)return l.warn("[NpcFunc]: The current status cannot be stopped");ao(),F.recordStatus=R.none}static pauseRecordingPlayback(){if(F.recordStatus!==R.start)return l.warn("[NpcFunc]: The current status cannot be paused");no(),F.recordStatus=R.pause}static resumeRecordingPlayback(){if(F.recordStatus!==R.pause)return l.warn("[NpcFunc]: The current status cannot be paused");io(),F.recordStatus=R.start}};Bt(De,"recordStatus"),Bt(De,"connectNPC",Vi);let Rh=De;const wh=new Map([["AIRPORT",[{n:"thrw_barl_thrw",d:2}]],["Attractors",[{n:"Stepsit_in",d:1.67},{n:"Stepsit_loop",d:3.33},{n:"Stepsit_out",d:1.67}]],["BAR",[{n:"Barcustom_get",d:3},{n:"Barcustom_loop",d:2},{n:"Barcustom_order",d:3.67},{n:"BARman_idle",d:8.33},{n:"Barserve_bottle",d:3},{n:"Barserve_give",d:2.33},{n:"Barserve_glass",d:3.67},{n:"Barserve_in",d:1.67},{n:"Barserve_loop",d:2.33},{n:"Barserve_order",d:3.67},{n:"dnk_stndF_loop",d:2.33},{n:"dnk_stndM_loop",d:2.33}]],["BASEBALL",[{n:"Bat_1",d:.9},{n:"Bat_2",d:1.13},{n:"Bat_3",d:1.2},{n:"Bat_4",d:1},{n:"Bat_block",d:.47},{n:"Bat_Hit_1",d:.83},{n:"Bat_Hit_2",d:1.07},{n:"Bat_Hit_3",d:1.13},{n:"Bat_IDLE",d:.93},{n:"Bat_M",d:.53},{n:"BAT_PART",d:.53}]],["BD_FIRE",[{n:"BD_Fire1",d:1.83},{n:"BD_Fire2",d:1.67},{n:"BD_Fire3",d:1.83},{n:"BD_GF_Wave",d:5.07},{n:"BD_Panic_01",d:3.33},{n:"BD_Panic_02",d:3.33},{n:"BD_Panic_03",d:3.33},{n:"BD_Panic_04",d:3.33},{n:"BD_Panic_Loop",d:3.33},{n:"Grlfrd_Kiss_03",d:7},{n:"M_smklean_loop",d:5},{n:"Playa_Kiss_03",d:7},{n:"wash_up",d:3}]],["BEACH",[{n:"bather",d:4.2},{n:"Lay_Bac_Loop",d:2.67},{n:"ParkSit_M_loop",d:3.67},{n:"ParkSit_W_loop",d:3.33},{n:"SitnWait_loop_W",d:1.33}]],["benchpress",[{n:"gym_bp_celebrate",d:5},{n:"gym_bp_down",d:1},{n:"gym_bp_getoff",d:8.67},{n:"gym_bp_geton",d:5.33},{n:"gym_bp_up_A",d:2.33},{n:"gym_bp_up_B",d:2.67},{n:"gym_bp_up_smooth",d:1.33}]],["BF_injection",[{n:"BF_getin_LHS",d:1},{n:"BF_getin_RHS",d:1},{n:"BF_getout_LHS",d:1.13},{n:"BF_getout_RHS",d:1.13}]],["BIKED",[{n:"BIKEd_Back",d:.1},{n:"BIKEd_drivebyFT",d:.2},{n:"BIKEd_drivebyLHS",d:.2},{n:"BIKEd_drivebyRHS",d:.2},{n:"BIKEd_Fwd",d:.2},{n:"BIKEd_getoffBACK",d:1.47},{n:"BIKEd_getoffLHS",d:1},{n:"BIKEd_getoffRHS",d:1},{n:"BIKEd_hit",d:.03},{n:"BIKEd_jumponL",d:.97},{n:"BIKEd_jumponR",d:.97},{n:"BIKEd_kick",d:1.07},{n:"BIKEd_Left",d:.1},{n:"BIKEd_passenger",d:.03},{n:"BIKEd_pushes",d:.8},{n:"BIKEd_Ride",d:.03},{n:"BIKEd_Right",d:.1},{n:"BIKEd_shuffle",d:.43},{n:"BIKEd_Still",d:.03}]],["BIKEH",[{n:"BIKEh_Back",d:.1},{n:"BIKEh_drivebyFT",d:.2},{n:"BIKEh_drivebyLHS",d:.2},{n:"BIKEh_drivebyRHS",d:.2},{n:"BIKEh_Fwd",d:.2},{n:"BIKEh_getoffBACK",d:1.7},{n:"BIKEh_getoffLHS",d:.77},{n:"BIKEh_getoffRHS",d:.73},{n:"BIKEh_hit",d:.03},{n:"BIKEh_jumponL",d:1.47},{n:"BIKEh_jumponR",d:1.5},{n:"BIKEh_kick",d:1.07},{n:"BIKEh_Left",d:.13},{n:"BIKEh_passenger",d:.03},{n:"BIKEh_pushes",d:.97},{n:"BIKEh_Ride",d:.03},{n:"BIKEh_Right",d:.13},{n:"BIKEh_Still",d:.03}]],["BIKELEAP",[{n:"bk_blnce_in",d:1.9},{n:"bk_blnce_out",d:1},{n:"bk_jmp",d:.4},{n:"bk_rdy_in",d:.5},{n:"bk_rdy_out",d:.4},{n:"struggle_cesar",d:.47},{n:"struggle_driver",d:.47},{n:"truck_driver",d:.73},{n:"truck_getin",d:2.5}]],["BIKES",[{n:"BIKEs_Back",d:.1},{n:"BIKEs_drivebyFT",d:.2},{n:"BIKEs_drivebyLHS",d:.2},{n:"BIKEs_drivebyRHS",d:.2},{n:"BIKEs_Fwd",d:.2},{n:"BIKEs_getoffBACK",d:2.43},{n:"BIKEs_getoffLHS",d:1.1},{n:"BIKEs_getoffRHS",d:1.1},{n:"BIKEs_hit",d:.03},{n:"BIKEs_jumponL",d:.9},{n:"BIKEs_jumponR",d:.9},{n:"BIKEs_kick",d:1},{n:"BIKEs_Left",d:.1},{n:"BIKEs_passenger",d:.03},{n:"BIKEs_pushes",d:.73},{n:"BIKEs_Ride",d:.03},{n:"BIKEs_Right",d:.1},{n:"BIKEs_Snatch_L",d:.43},{n:"BIKEs_Snatch_R",d:.43},{n:"BIKEs_Still",d:.03}]],["BIKEV",[{n:"BIKEv_Back",d:.17},{n:"BIKEv_drivebyFT",d:.17},{n:"BIKEv_drivebyLHS",d:.23},{n:"BIKEv_drivebyRHS",d:.2},{n:"BIKEv_Fwd",d:.2},{n:"BIKEv_getoffBACK",d:1.7},{n:"BIKEv_getoffLHS",d:.67},{n:"BIKEv_getoffRHS",d:.67},{n:"BIKEv_hit",d:.03},{n:"BIKEv_jumponL",d:.67},{n:"BIKEv_jumponR",d:.67},{n:"BIKEv_kick",d:1},{n:"BIKEv_Left",d:.1},{n:"BIKEv_passenger",d:.03},{n:"BIKEv_pushes",d:.73},{n:"BIKEv_Ride",d:.03},{n:"BIKEv_Right",d:.1},{n:"BIKEv_Still",d:.03}]],["BIKE_DBZ",[{n:"Pass_Driveby_BWD",d:.83},{n:"Pass_Driveby_FWD",d:.83},{n:"Pass_Driveby_LHS",d:.83},{n:"Pass_Driveby_RHS",d:.83}]],["BLOWJOBZ",[{n:"BJ_Car_End_P",d:4.13},{n:"BJ_Car_End_W",d:3.67},{n:"BJ_Car_Loop_P",d:.67},{n:"BJ_Car_Loop_W",d:.67},{n:"BJ_Car_Start_P",d:2.33},{n:"BJ_Car_Start_W",d:2.33},{n:"BJ_Couch_End_P",d:7.67},{n:"BJ_Couch_End_W",d:7.67},{n:"BJ_Couch_Loop_P",d:2},{n:"BJ_Couch_Loop_W",d:2},{n:"BJ_Couch_Start_P",d:5.33},{n:"BJ_Couch_Start_W",d:5.33},{n:"BJ_Stand_End_P",d:4.87},{n:"BJ_Stand_End_W",d:5.33},{n:"BJ_Stand_Loop_P",d:.67},{n:"BJ_Stand_Loop_W",d:.67},{n:"BJ_Stand_Start_P",d:2},{n:"BJ_Stand_Start_W",d:2}]],["BMX",[{n:"BMX_back",d:.1},{n:"BMX_bunnyhop",d:.33},{n:"BMX_drivebyFT",d:.2},{n:"BMX_driveby_LHS",d:.2},{n:"BMX_driveby_RHS",d:.2},{n:"BMX_fwd",d:.13},{n:"BMX_getoffBACK",d:1.37},{n:"BMX_getoffLHS",d:.73},{n:"BMX_getoffRHS",d:.63},{n:"BMX_jumponL",d:.9},{n:"BMX_jumponR",d:.9},{n:"BMX_Left",d:.13},{n:"BMX_pedal",d:.73},{n:"BMX_pushes",d:.8},{n:"BMX_Ride",d:.03},{n:"BMX_Right",d:.13},{n:"BMX_sprint",d:.67},{n:"BMX_still",d:.03}]],["BOMBER",[{n:"BOM_Plant",d:2.67},{n:"BOM_Plant_2Idle",d:1},{n:"BOM_Plant_Crouch_In",d:.8},{n:"BOM_Plant_Crouch_Out",d:.8},{n:"BOM_Plant_In",d:.87},{n:"BOM_Plant_Loop",d:.8}]],["BOX",[{n:"boxhipin",d:6.53},{n:"boxhipup",d:5},{n:"boxshdwn",d:6.1},{n:"boxshup",d:5.2},{n:"bxhipwlk",d:1.5},{n:"bxhwlki",d:.97},{n:"bxshwlk",d:2.5},{n:"bxshwlki",d:.97},{n:"bxwlko",d:.53},{n:"catch_box",d:1.5}]],["BSKTBALL",[{n:"BBALL_def_jump_shot",d:1.17},{n:"BBALL_def_loop",d:1},{n:"BBALL_def_stepL",d:.6},{n:"BBALL_def_stepR",d:.6},{n:"BBALL_Dnk",d:1.4},{n:"BBALL_Dnk_Gli",d:.37},{n:"BBALL_Dnk_Gli_O",d:.37},{n:"BBALL_Dnk_Lnch",d:.2},{n:"BBALL_Dnk_Lnch_O",d:.2},{n:"BBALL_Dnk_Lnd",d:.93},{n:"BBALL_Dnk_O",d:.1},{n:"BBALL_idle",d:2.43},{n:"BBALL_idle2",d:2.67},{n:"BBALL_idle2_O",d:2.67},{n:"BBALL_idleloop",d:.67},{n:"BBALL_idleloop_O",d:.67},{n:"BBALL_idle_O",d:2.43},{n:"BBALL_Jump_Cancel",d:1.07},{n:"BBALL_Jump_Cancel_O",d:1.07},{n:"BBALL_Jump_End",d:.93},{n:"BBALL_Jump_Shot",d:1.67},{n:"BBALL_Jump_Shot_O",d:.67},{n:"BBALL_Net_Dnk_O",d:1.83},{n:"BBALL_pickup",d:1.83},{n:"BBALL_pickup_O",d:1.83},{n:"BBALL_react_miss",d:.8},{n:"BBALL_react_score",d:1.1},{n:"BBALL_run",d:.9},{n:"BBALL_run_O",d:.9},{n:"BBALL_SkidStop_L",d:.5},{n:"BBALL_SkidStop_L_O",d:.5},{n:"BBALL_SkidStop_R",d:.5},{n:"BBALL_SkidStop_R_O",d:.5},{n:"BBALL_walk",d:1.07},{n:"BBALL_WalkStop_L",d:.5},{n:"BBALL_WalkStop_L_O",d:.5},{n:"BBALL_WalkStop_R",d:.5},{n:"BBALL_WalkStop_R_O",d:.5},{n:"BBALL_walk_O",d:1.07},{n:"BBALL_walk_start",d:.2},{n:"BBALL_walk_start_O",d:.2}]],["BUDDY",[{n:"buddy_crouchfire",d:.87},{n:"buddy_crouchreload",d:1.1},{n:"buddy_fire",d:.8},{n:"buddy_fire_poor",d:1.33},{n:"buddy_reload",d:1.3}]],["BUS",[{n:"BUS_close",d:.4},{n:"BUS_getin_LHS",d:.33},{n:"BUS_getin_RHS",d:2.17},{n:"BUS_getout_LHS",d:.8},{n:"BUS_getout_RHS",d:1.87},{n:"BUS_jacked_LHS",d:1.13},{n:"BUS_open",d:1.47},{n:"BUS_open_RHS",d:1.2},{n:"BUS_pullout_LHS",d:.8}]],["CAMERA",[{n:"camcrch_cmon",d:2.33},{n:"camcrch_idleloop",d:2},{n:"camcrch_stay",d:2},{n:"camcrch_to_camstnd",d:1.33},{n:"camstnd_cmon",d:3},{n:"camstnd_idleloop",d:2},{n:"camstnd_lkabt",d:4.33},{n:"camstnd_to_camcrch",d:1},{n:"piccrch_in",d:1.33},{n:"piccrch_out",d:2},{n:"piccrch_take",d:1},{n:"picstnd_in",d:1},{n:"picstnd_out",d:.67},{n:"picstnd_take",d:1}]],["CAR",[{n:"Fixn_Car_Loop",d:5},{n:"Fixn_Car_Out",d:2.33},{n:"flag_drop",d:4.5},{n:"Sit_relaxed",d:.03},{n:"Tap_hand",d:.33},{n:"Tyd2car_bump",d:.83},{n:"Tyd2car_high",d:8},{n:"Tyd2car_low",d:6.67},{n:"Tyd2car_med",d:6.67},{n:"Tyd2car_TurnL",d:1},{n:"Tyd2car_TurnR",d:1}]],["CARRY",[{n:"crry_prtial",d:.03},{n:"liftup",d:1.53},{n:"liftup05",d:.63},{n:"liftup105",d:.67},{n:"putdwn",d:1.13},{n:"putdwn05",d:.67},{n:"putdwn105",d:.53}]],["CAR_CHAT",[{n:"carfone_in",d:6},{n:"carfone_loopA",d:4},{n:"carfone_loopA_to_B",d:1},{n:"carfone_loopB",d:5},{n:"carfone_loopB_to_A",d:.67},{n:"carfone_out",d:3},{n:"CAR_Sc1_BL",d:11.67},{n:"CAR_Sc1_BR",d:11.67},{n:"CAR_Sc1_FL",d:11.67},{n:"CAR_Sc1_FR",d:11.67},{n:"CAR_Sc2_FL",d:5},{n:"CAR_Sc3_BR",d:10.83},{n:"CAR_Sc3_FL",d:10.83},{n:"CAR_Sc3_FR",d:10.83},{n:"CAR_Sc4_BL",d:4.4},{n:"CAR_Sc4_BR",d:6.53},{n:"CAR_Sc4_FL",d:10},{n:"CAR_Sc4_FR",d:10},{n:"car_talkm_in",d:1.67},{n:"car_talkm_loop",d:4.33},{n:"car_talkm_out",d:7.33}]],["CASINO",[{n:"cards_in",d:.67},{n:"cards_loop",d:3.33},{n:"cards_lose",d:3.33},{n:"cards_out",d:.67},{n:"cards_pick_01",d:4.67},{n:"cards_pick_02",d:5.33},{n:"cards_raise",d:1.67},{n:"cards_win",d:3},{n:"dealone",d:.8},{n:"manwinb",d:1.5},{n:"manwind",d:1.67},{n:"Roulette_bet",d:2.33},{n:"Roulette_in",d:.67},{n:"Roulette_loop",d:3.67},{n:"Roulette_lose",d:2.67},{n:"Roulette_out",d:.67},{n:"Roulette_win",d:2.33},{n:"Slot_bet_01",d:4.67},{n:"Slot_bet_02",d:2},{n:"Slot_in",d:3.67},{n:"Slot_lose_out",d:4},{n:"Slot_Plyr",d:1.33},{n:"Slot_wait",d:3.67},{n:"Slot_win_out",d:9.33},{n:"wof",d:1.47}]],["CHAINSAW",[{n:"CSAW_1",d:1},{n:"CSAW_2",d:1.03},{n:"CSAW_3",d:.87},{n:"CSAW_G",d:1.17},{n:"CSAW_Hit_1",d:.83},{n:"CSAW_Hit_2",d:1.07},{n:"CSAW_Hit_3",d:1.13},{n:"csaw_part",d:.13},{n:"IDLE_csaw",d:1.5},{n:"WEAPON_csaw",d:1.33},{n:"WEAPON_csawlo",d:1.9}]],["CHOPPA",[{n:"CHOPPA_back",d:.1},{n:"CHOPPA_bunnyhop",d:.33},{n:"CHOPPA_drivebyFT",d:.2},{n:"CHOPPA_driveby_LHS",d:.2},{n:"CHOPPA_driveby_RHS",d:.2},{n:"CHOPPA_fwd",d:.2},{n:"CHOPPA_getoffBACK",d:1.27},{n:"CHOPPA_getoffLHS",d:.73},{n:"CHOPPA_getoffRHS",d:.63},{n:"CHOPPA_jumponL",d:.7},{n:"CHOPPA_jumponR",d:.8},{n:"CHOPPA_Left",d:.13},{n:"CHOPPA_pedal",d:.73},{n:"CHOPPA_Pushes",d:.8},{n:"CHOPPA_ride",d:.03},{n:"CHOPPA_Right",d:.13},{n:"CHOPPA_sprint",d:.67},{n:"CHOPPA_Still",d:.03}]],["CLOTHES",[{n:"CLO_Buy",d:2.07},{n:"CLO_In",d:4},{n:"CLO_Out",d:2.67},{n:"CLO_Pose_Hat",d:3.33},{n:"CLO_Pose_In",d:3.13},{n:"CLO_Pose_In_O",d:4},{n:"CLO_Pose_Legs",d:3.33},{n:"CLO_Pose_Loop",d:6},{n:"CLO_Pose_Out",d:4},{n:"CLO_Pose_Out_O",d:4},{n:"CLO_Pose_Shoes",d:3.33},{n:"CLO_Pose_Torso",d:3.33},{n:"CLO_Pose_Watch",d:3.33}]],["COACH",[{n:"COACH_inL",d:2.17},{n:"COACH_inR",d:2.2},{n:"COACH_opnL",d:1.2},{n:"COACH_opnR",d:1.2},{n:"COACH_outL",d:1.73},{n:"COACH_outR",d:1.83}]],["COLT45",[{n:"2guns_crouchfire",d:.8},{n:"colt45_crouchfire",d:.8},{n:"colt45_crouchreload",d:1},{n:"colt45_fire",d:.73},{n:"colt45_fire_2hands",d:.87},{n:"colt45_reload",d:.93},{n:"sawnoff_reload",d:.93}]],["COP_AMBIENT",[{n:"Copbrowse_in",d:5},{n:"Copbrowse_loop",d:2.33},{n:"Copbrowse_nod",d:4},{n:"Copbrowse_out",d:2.67},{n:"Copbrowse_shake",d:1.83},{n:"Coplook_in",d:1.33},{n:"Coplook_loop",d:2.67},{n:"Coplook_nod",d:5.33},{n:"Coplook_out",d:.67},{n:"Coplook_shake",d:4},{n:"Coplook_think",d:3.33},{n:"Coplook_watch",d:2}]],["COP_DVBYZ",[{n:"COP_Dvby_B",d:.83},{n:"COP_Dvby_FT",d:.83},{n:"COP_Dvby_L",d:.83},{n:"COP_Dvby_R",d:.83}]],["CRACK",[{n:"Bbalbat_Idle_01",d:6.67},{n:"Bbalbat_Idle_02",d:10},{n:"crckdeth1",d:2.17},{n:"crckdeth2",d:3},{n:"crckdeth3",d:2.17},{n:"crckdeth4",d:1.67},{n:"crckidle1",d:3.5},{n:"crckidle2",d:3.33},{n:"crckidle3",d:3.33},{n:"crckidle4",d:2.67}]],["CRIB",[{n:"CRIB_Console_Loop",d:3},{n:"CRIB_Use_Switch",d:1.17},{n:"PED_Console_Loop",d:3},{n:"PED_Console_Loose",d:3.5},{n:"PED_Console_Win",d:3.5}]],["DAM_JUMP",[{n:"DAM_Dive_Loop",d:1.33},{n:"DAM_Land",d:2.6},{n:"DAM_Launch",d:2.4},{n:"Jump_Roll",d:3.17},{n:"SF_JumpWall",d:3}]],["DANCING",[{n:"bd_clap",d:3.2},{n:"bd_clap1",d:2.63},{n:"dance_loop",d:1.17},{n:"DAN_Down_A",d:1},{n:"DAN_Left_A",d:1},{n:"DAN_Loop_A",d:2},{n:"DAN_Right_A",d:1},{n:"DAN_Up_A",d:1},{n:"dnce_M_a",d:2.13},{n:"dnce_M_b",d:1.93},{n:"dnce_M_c",d:1.93},{n:"dnce_M_d",d:2.43},{n:"dnce_M_e",d:.9}]],["DEALER",[{n:"DEALER_DEAL",d:3.17},{n:"DEALER_IDLE",d:6.67},{n:"DEALER_IDLE_01",d:5},{n:"DEALER_IDLE_02",d:4},{n:"DEALER_IDLE_03",d:4.67},{n:"DRUGS_BUY",d:3.17},{n:"shop_pay",d:4.67}]],["DILDO",[{n:"DILDO_1",d:.97},{n:"DILDO_2",d:1.1},{n:"DILDO_3",d:1.17},{n:"DILDO_block",d:.47},{n:"DILDO_G",d:1.47},{n:"DILDO_Hit_1",d:.77},{n:"DILDO_Hit_2",d:1.03},{n:"DILDO_Hit_3",d:.9},{n:"DILDO_IDLE",d:.87}]],["DODGE",[{n:"Cover_Dive_01",d:6},{n:"Cover_Dive_02",d:6},{n:"Crushed",d:.93},{n:"Crush_Jump",d:3.17}]],["DOZER",[{n:"DOZER_Align_LHS",d:.97},{n:"DOZER_Align_RHS",d:.93},{n:"DOZER_getin_LHS",d:.43},{n:"DOZER_getin_RHS",d:.43},{n:"DOZER_getout_LHS",d:1.07},{n:"DOZER_getout_RHS",d:.77},{n:"DOZER_Jacked_LHS",d:1.27},{n:"DOZER_Jacked_RHS",d:1.07},{n:"DOZER_pullout_LHS",d:.73},{n:"DOZER_pullout_RHS",d:.7}]],["DRIVEBYS",[{n:"Gang_DrivebyLHS",d:.83},{n:"Gang_DrivebyLHS_Bwd",d:.83},{n:"Gang_DrivebyLHS_Fwd",d:.83},{n:"Gang_DrivebyRHS",d:.83},{n:"Gang_DrivebyRHS_Bwd",d:.83},{n:"Gang_DrivebyRHS_Fwd",d:.83},{n:"Gang_DrivebyTop_LHS",d:.83},{n:"Gang_DrivebyTop_RHS",d:.83}]],["FAT",[{n:"FatIdle",d:1.5},{n:"FatIdle_armed",d:1.53},{n:"FatIdle_Csaw",d:1.5},{n:"FatIdle_Rocket",d:1.6},{n:"FatRun",d:.77},{n:"FatRun_armed",d:.77},{n:"FatRun_Csaw",d:.77},{n:"FatRun_Rocket",d:.77},{n:"FatSprint",d:.6},{n:"FatWalk",d:1.17},{n:"FatWalkstart",d:.2},{n:"FatWalkstart_Csaw",d:.2},{n:"FatWalkSt_armed",d:.2},{n:"FatWalkSt_Rocket",d:.2},{n:"FatWalk_armed",d:1.17},{n:"FatWalk_Csaw",d:1.17},{n:"FatWalk_Rocket",d:1.17},{n:"IDLE_tired",d:1.07}]],["FIGHT_B",[{n:"FightB_1",d:.73},{n:"FightB_2",d:1.1},{n:"FightB_3",d:1.2},{n:"FightB_block",d:.47},{n:"FightB_G",d:1.07},{n:"FightB_IDLE",d:.8},{n:"FightB_M",d:.5},{n:"HitB_1",d:.73},{n:"HitB_2",d:.83},{n:"HitB_3",d:1.43}]],["FIGHT_C",[{n:"FightC_1",d:.83},{n:"FightC_2",d:1.03},{n:"FightC_3",d:1},{n:"FightC_block",d:.47},{n:"FightC_blocking",d:3.2},{n:"FightC_G",d:.77},{n:"FightC_IDLE",d:1},{n:"FightC_M",d:.9},{n:"FightC_Spar",d:3.2},{n:"HitC_1",d:.3},{n:"HitC_2",d:.67},{n:"HitC_3",d:.83}]],["FIGHT_D",[{n:"FightD_1",d:.93},{n:"FightD_2",d:1.87},{n:"FightD_3",d:.9},{n:"FightD_block",d:.47},{n:"FightD_G",d:.83},{n:"FightD_IDLE",d:1.53},{n:"FightD_M",d:1.07},{n:"HitD_1",d:.67},{n:"HitD_2",d:1.83},{n:"HitD_3",d:.97}]],["FIGHT_E",[{n:"FightKick",d:.77},{n:"FightKick_B",d:1.03},{n:"Hit_fightkick",d:.5},{n:"Hit_fightkick_B",d:1.13}]],["FINALE",[{n:"FIN_Climb_In",d:2.9},{n:"FIN_Cop1_ClimbOut2",d:6},{n:"FIN_Cop1_Loop",d:2},{n:"FIN_Cop1_Stomp",d:1},{n:"FIN_Hang_L",d:.57},{n:"FIN_Hang_Loop",d:4},{n:"FIN_Hang_R",d:.57},{n:"FIN_Hang_Slip",d:3.33},{n:"FIN_Jump_On",d:5.6},{n:"FIN_Land_Car",d:.67},{n:"FIN_Land_Die",d:2.37},{n:"FIN_LegsUp",d:1},{n:"FIN_LegsUp_L",d:.5},{n:"FIN_LegsUp_Loop",d:1.33},{n:"FIN_LegsUp_R",d:.5},{n:"FIN_Let_Go",d:.17}]],["FINALE2",[{n:"FIN_Cop1_ClimbOut",d:4},{n:"FIN_Cop1_Fall",d:.43},{n:"FIN_Cop1_Loop",d:2},{n:"FIN_Cop1_Shot",d:2.07},{n:"FIN_Cop1_Swing",d:1.17},{n:"FIN_Cop2_ClimbOut",d:5.33},{n:"FIN_Switch_P",d:3.97},{n:"FIN_Switch_S",d:2.17}]],["FLAME",[{n:"FLAME_fire",d:.8}]],["Flowers",[{n:"Flower_attack",d:.8},{n:"Flower_attack_M",d:1.23},{n:"Flower_Hit",d:.83}]],["FOOD",[{n:"EAT_Burger",d:5},{n:"EAT_Chicken",d:5},{n:"EAT_Pizza",d:5},{n:"EAT_Vomit_P",d:8},{n:"EAT_Vomit_SK",d:8},{n:"FF_Dam_Bkw",d:.67},{n:"FF_Dam_Fwd",d:.67},{n:"FF_Dam_Left",d:.67},{n:"FF_Dam_Right",d:.67},{n:"FF_Die_Bkw",d:.67},{n:"FF_Die_Fwd",d:.67},{n:"FF_Die_Left",d:.67},{n:"FF_Die_Right",d:.67},{n:"FF_Sit_Eat1",d:2.83},{n:"FF_Sit_Eat2",d:2.67},{n:"FF_Sit_Eat3",d:2.67},{n:"FF_Sit_In",d:3},{n:"FF_Sit_In_L",d:2},{n:"FF_Sit_In_R",d:2},{n:"FF_Sit_Look",d:8},{n:"FF_Sit_Loop",d:2.67},{n:"FF_Sit_Out_180",d:2.83},{n:"FF_Sit_Out_L_180",d:1.33},{n:"FF_Sit_Out_R_180",d:1.33},{n:"SHP_Thank",d:1.17},{n:"SHP_Tray_In",d:.67},{n:"SHP_Tray_Lift",d:1.67},{n:"SHP_Tray_Lift_In",d:.5},{n:"SHP_Tray_Lift_Loop",d:8},{n:"SHP_Tray_Lift_Out",d:.5},{n:"SHP_Tray_Out",d:.67},{n:"SHP_Tray_Pose",d:.67},{n:"SHP_Tray_Return",d:1.33}]],["Freeweights",[{n:"gym_barbell",d:2.37},{n:"gym_free_A",d:1.93},{n:"gym_free_B",d:2.33},{n:"gym_free_celebrate",d:3.33},{n:"gym_free_down",d:.57},{n:"gym_free_loop",d:.67},{n:"gym_free_pickup",d:3.17},{n:"gym_free_putdown",d:3.17},{n:"gym_free_up_smooth",d:1}]],["GANGS",[{n:"DEALER_DEAL",d:1.17},{n:"DEALER_IDLE",d:2},{n:"drnkbr_prtl",d:2.67},{n:"drnkbr_prtl_F",d:2.67},{n:"DRUGS_BUY",d:1.17},{n:"hndshkaa",d:4},{n:"hndshkba",d:2.33},{n:"hndshkca",d:3.33},{n:"hndshkcb",d:3.33},{n:"hndshkda",d:2},{n:"hndshkea",d:1},{n:"hndshkfa",d:4.17},{n:"hndshkfa_swt",d:4.17},{n:"Invite_No",d:3.33},{n:"Invite_Yes",d:4.33},{n:"leanIDLE",d:1},{n:"leanIN",d:1},{n:"leanOUT",d:1},{n:"prtial_gngtlkA",d:4},{n:"prtial_gngtlkB",d:6.17},{n:"prtial_gngtlkC",d:7.33},{n:"prtial_gngtlkD",d:3},{n:"prtial_gngtlkE",d:2.83},{n:"prtial_gngtlkF",d:5.17},{n:"prtial_gngtlkG",d:7},{n:"prtial_gngtlkH",d:6},{n:"prtial_hndshk_01",d:1.67},{n:"prtial_hndshk_biz_01",d:2.33},{n:"shake_cara",d:1.67},{n:"shake_carK",d:1.27},{n:"shake_carSH",d:1.5},{n:"smkcig_prtl",d:7.5},{n:"smkcig_prtl_F",d:7.5}]],["GFUNK",[{n:"Dance_B1",d:1.27},{n:"Dance_B2",d:1.27},{n:"Dance_B3",d:1.27},{n:"Dance_B4",d:1.27},{n:"Dance_B5",d:1.27},{n:"Dance_B6",d:1.27},{n:"Dance_B7",d:1.27},{n:"Dance_B8",d:1.27},{n:"Dance_B9",d:1.27},{n:"Dance_B10",d:1.27},{n:"Dance_B11",d:1.27},{n:"Dance_B12",d:1.27},{n:"Dance_B13",d:1.27},{n:"Dance_B14",d:1.27},{n:"Dance_B15",d:1.27},{n:"Dance_B16",d:1.27},{n:"Dance_G1",d:1.27},{n:"Dance_G2",d:1.27},{n:"Dance_G3",d:1.27},{n:"Dance_G4",d:1.27},{n:"Dance_G5",d:1.27},{n:"Dance_G6",d:1.27},{n:"Dance_G7",d:1.27},{n:"Dance_G8",d:1.27},{n:"Dance_G9",d:1.27},{n:"Dance_G10",d:1.27},{n:"Dance_G11",d:1.27},{n:"Dance_G12",d:1.27},{n:"Dance_G13",d:1.27},{n:"Dance_G14",d:1.27},{n:"Dance_G15",d:1.27},{n:"Dance_G16",d:1.27},{n:"dance_loop",d:1.17}]],["GHANDS",[{n:"gsign1",d:4.77},{n:"gsign1LH",d:2.73},{n:"gsign2",d:2.13},{n:"gsign2LH",d:2.33},{n:"gsign3",d:4.67},{n:"gsign3LH",d:2},{n:"gsign4",d:4.17},{n:"gsign4LH",d:4.67},{n:"gsign5",d:6.2},{n:"gsign5LH",d:2},{n:"LHGsign1",d:2},{n:"LHGsign2",d:2},{n:"LHGsign3",d:2},{n:"LHGsign4",d:2},{n:"LHGsign5",d:2},{n:"RHGsign1",d:2},{n:"RHGsign2",d:2},{n:"RHGsign3",d:2},{n:"RHGsign4",d:2},{n:"RHGsign5",d:2}]],["GHETTO_DB",[{n:"GDB_Car2_PLY",d:9.5},{n:"GDB_Car2_SMO",d:9.5},{n:"GDB_Car2_SWE",d:9.5},{n:"GDB_Car_PLY",d:13.33},{n:"GDB_Car_RYD",d:13.33},{n:"GDB_Car_SMO",d:13.33},{n:"GDB_Car_SWE",d:13.33}]],["goggles",[{n:"goggles_put_on",d:.8}]],["GRAFFITI",[{n:"graffiti_Chkout",d:4.67},{n:"spraycan_fire",d:2.33}]],["GRAVEYARD",[{n:"mrnF_loop",d:4.67},{n:"mrnM_loop",d:2.67},{n:"prst_loopa",d:4}]],["GRENADE",[{n:"WEAPON_start_throw",d:.2},{n:"WEAPON_throw",d:.87},{n:"WEAPON_throwu",d:.67}]],["GYMNASIUM",[{n:"GYMshadowbox",d:5.1},{n:"gym_bike_celebrate",d:1.93},{n:"gym_bike_fast",d:.4},{n:"gym_bike_faster",d:.4},{n:"gym_bike_getoff",d:1.67},{n:"gym_bike_geton",d:1.67},{n:"gym_bike_pedal",d:.4},{n:"gym_bike_slow",d:.43},{n:"gym_bike_still",d:1.67},{n:"gym_jog_falloff",d:2.17},{n:"gym_shadowbox",d:5.1},{n:"gym_tread_celebrate",d:2.5},{n:"gym_tread_falloff",d:2},{n:"gym_tread_getoff",d:3.33},{n:"gym_tread_geton",d:2.5},{n:"gym_tread_jog",d:.77},{n:"gym_tread_sprint",d:.67},{n:"gym_tread_tired",d:1.33},{n:"gym_tread_walk",d:1.07},{n:"gym_walk_falloff",d:3.33},{n:"Pedals_fast",d:.4},{n:"Pedals_med",d:.4},{n:"Pedals_slow",d:.43},{n:"Pedals_still",d:.43}]],["HAIRCUTS",[{n:"BRB_Beard_01",d:4.5},{n:"BRB_Buy",d:4.17},{n:"BRB_Cut",d:1.7},{n:"BRB_Cut_In",d:.83},{n:"BRB_Cut_Out",d:1.33},{n:"BRB_Hair_01",d:3.83},{n:"BRB_Hair_02",d:4.5},{n:"BRB_In",d:1.33},{n:"BRB_Loop",d:2.67},{n:"BRB_Out",d:.67},{n:"BRB_Sit_In",d:2.07},{n:"BRB_Sit_Loop",d:7},{n:"BRB_Sit_Out",d:3}]],["HEIST9",[{n:"CAS_G2_GasKO",d:3.33},{n:"swt_wllpk_L",d:2.67},{n:"swt_wllpk_L_back",d:.5},{n:"swt_wllpk_R",d:3.67},{n:"swt_wllpk_R_back",d:.43},{n:"swt_wllshoot_in_L",d:1},{n:"swt_wllshoot_in_R",d:1.3},{n:"swt_wllshoot_out_L",d:2},{n:"swt_wllshoot_out_R",d:1.43},{n:"Use_SwipeCard",d:1.17}]],["INT_HOUSE",[{n:"BED_In_L",d:3.33},{n:"BED_In_R",d:3.33},{n:"BED_Loop_L",d:3.33},{n:"BED_Loop_R",d:3.33},{n:"BED_Out_L",d:3.33},{n:"BED_Out_R",d:3.33},{n:"LOU_In",d:1.83},{n:"LOU_Loop",d:3.33},{n:"LOU_Out",d:2},{n:"wash_up",d:3}]],["INT_OFFICE",[{n:"FF_Dam_Fwd",d:.67},{n:"OFF_Sit_2Idle_180",d:2.83},{n:"OFF_Sit_Bored_Loop",d:2.83},{n:"OFF_Sit_Crash",d:3.33},{n:"OFF_Sit_Drink",d:4.17},{n:"OFF_Sit_Idle_Loop",d:2.07},{n:"OFF_Sit_In",d:2.77},{n:"OFF_Sit_Read",d:3.33},{n:"OFF_Sit_Type_Loop",d:3.33},{n:"OFF_Sit_Watch",d:2}]],["INT_SHOP",[{n:"shop_cashier",d:6.67},{n:"shop_in",d:1},{n:"shop_lookA",d:2},{n:"shop_lookB",d:3},{n:"shop_loop",d:2},{n:"shop_out",d:1.33},{n:"shop_pay",d:6.67},{n:"shop_shelf",d:2.33}]],["JST_BUISNESS",[{n:"girl_01",d:3.33},{n:"girl_02",d:11.33},{n:"player_01",d:24.83},{n:"smoke_01",d:25}]],["KART",[{n:"KART_getin_LHS",d:.83},{n:"KART_getin_RHS",d:.83},{n:"KART_getout_LHS",d:.83},{n:"KART_getout_RHS",d:.83}]],["KISSING",[{n:"BD_GF_Wave",d:5.07},{n:"gfwave2",d:2.67},{n:"GF_CarArgue_01",d:5},{n:"GF_CarArgue_02",d:5},{n:"GF_CarSpot",d:5},{n:"GF_StreetArgue_01",d:5},{n:"GF_StreetArgue_02",d:5},{n:"gift_get",d:5.33},{n:"gift_give",d:5.33},{n:"Grlfrd_Kiss_01",d:4.17},{n:"Grlfrd_Kiss_02",d:5.77},{n:"Grlfrd_Kiss_03",d:7},{n:"Playa_Kiss_01",d:5},{n:"Playa_Kiss_02",d:5.77},{n:"Playa_Kiss_03",d:7}]],["KNIFE",[{n:"KILL_Knife_Ped_Damage",d:2.23},{n:"KILL_Knife_Ped_Die",d:1.93},{n:"KILL_Knife_Player",d:2.67},{n:"KILL_Partial",d:.03},{n:"knife_1",d:1},{n:"knife_2",d:.93},{n:"knife_3",d:.87},{n:"Knife_4",d:.9},{n:"knife_block",d:.47},{n:"Knife_G",d:.9},{n:"knife_hit_1",d:.57},{n:"knife_hit_2",d:.63},{n:"knife_hit_3",d:1.6},{n:"knife_IDLE",d:1.3},{n:"knife_part",d:.53},{n:"WEAPON_knifeidle",d:1.3}]],["LAPDAN1",[{n:"LAPDAN_D",d:37.73},{n:"LAPDAN_P",d:37.73}]],["LAPDAN2",[{n:"LAPDAN_D",d:46.83},{n:"LAPDAN_P",d:46.83}]],["LAPDAN3",[{n:"LAPDAN_D",d:51.47},{n:"LAPDAN_P",d:51.47}]],["LOWRIDER",[{n:"F_smklean_loop",d:4},{n:"lrgirl_bdbnce",d:2.67},{n:"lrgirl_hair",d:2.33},{n:"lrgirl_hurry",d:2.83},{n:"lrgirl_idleloop",d:2.17},{n:"lrgirl_idle_to_l0",d:2.17},{n:"lrgirl_l0_bnce",d:.67},{n:"lrgirl_l0_loop",d:2},{n:"lrgirl_l0_to_l1",d:3.67},{n:"lrgirl_l12_to_l0",d:2},{n:"lrgirl_l1_bnce",d:.67},{n:"lrgirl_l1_loop",d:2},{n:"lrgirl_l1_to_l2",d:1.33},{n:"lrgirl_l2_bnce",d:.67},{n:"lrgirl_l2_loop",d:1.5},{n:"lrgirl_l2_to_l3",d:1.5},{n:"lrgirl_l345_to_l1",d:1},{n:"lrgirl_l3_bnce",d:.67},{n:"lrgirl_l3_loop",d:2},{n:"lrgirl_l3_to_l4",d:.67},{n:"lrgirl_l4_bnce",d:.67},{n:"lrgirl_l4_loop",d:2.33},{n:"lrgirl_l4_to_l5",d:1},{n:"lrgirl_l5_bnce",d:.83},{n:"lrgirl_l5_loop",d:1.67},{n:"M_smklean_loop",d:5},{n:"M_smkstnd_loop",d:5.33},{n:"prtial_gngtlkB",d:1.47},{n:"prtial_gngtlkC",d:1.5},{n:"prtial_gngtlkD",d:2.47},{n:"prtial_gngtlkE",d:3},{n:"prtial_gngtlkF",d:2.67},{n:"prtial_gngtlkG",d:2.67},{n:"prtial_gngtlkH",d:3.33},{n:"RAP_A_Loop",d:2.67},{n:"RAP_B_Loop",d:2.67},{n:"RAP_C_Loop",d:3},{n:"Sit_relaxed",d:.03},{n:"Tap_hand",d:.33}]],["MD_CHASE",[{n:"Carhit_Hangon",d:1.53},{n:"Carhit_Tumble",d:2.03},{n:"donutdrop",d:1.5},{n:"Fen_Choppa_L1",d:1.43},{n:"Fen_Choppa_L2",d:1.3},{n:"Fen_Choppa_L3",d:1.3},{n:"Fen_Choppa_R1",d:1.3},{n:"Fen_Choppa_R2",d:1.3},{n:"Fen_Choppa_R3",d:1.3},{n:"Hangon_Stun_loop",d:4.67},{n:"Hangon_Stun_Turn",d:4},{n:"MD_BIKE_2_HANG",d:1.37},{n:"MD_BIKE_Jmp_BL",d:1.1},{n:"MD_BIKE_Jmp_F",d:1},{n:"MD_BIKE_Lnd_BL",d:.9},{n:"MD_BIKE_Lnd_Die_BL",d:1.53},{n:"MD_BIKE_Lnd_Die_F",d:.8},{n:"MD_BIKE_Lnd_F",d:1.17},{n:"MD_BIKE_Lnd_Roll",d:2.7},{n:"MD_BIKE_Lnd_Roll_F",d:1.03},{n:"MD_BIKE_Punch",d:1.83},{n:"MD_BIKE_Punch_F",d:1.83},{n:"MD_BIKE_Shot_F",d:1.33},{n:"MD_HANG_Lnd_Roll",d:2.7},{n:"MD_HANG_Loop",d:1}]],["MD_END",[{n:"END_SC1_PLY",d:5},{n:"END_SC1_RYD",d:5},{n:"END_SC1_SMO",d:5},{n:"END_SC1_SWE",d:5},{n:"END_SC2_PLY",d:9},{n:"END_SC2_RYD",d:9},{n:"END_SC2_SMO",d:9},{n:"END_SC2_SWE",d:9}]],["MEDIC",[{n:"CPR",d:8.33}]],["MISC",[{n:"bitchslap",d:1.17},{n:"BMX_celebrate",d:1.57},{n:"BMX_comeon",d:.77},{n:"bmx_idleloop_01",d:3.33},{n:"bmx_idleloop_02",d:6.67},{n:"bmx_talkleft_in",d:.67},{n:"bmx_talkleft_loop",d:6.67},{n:"bmx_talkleft_out",d:.67},{n:"bmx_talkright_in",d:.67},{n:"bmx_talkright_loop",d:7.33},{n:"bmx_talkright_out",d:.67},{n:"bng_wndw",d:7.33},{n:"bng_wndw_02",d:7.33},{n:"Case_pickup",d:1},{n:"door_jet",d:5.33},{n:"GRAB_L",d:.4},{n:"GRAB_R",d:.4},{n:"Hiker_Pose",d:.33},{n:"Hiker_Pose_L",d:.33},{n:"Idle_Chat_02",d:7.23},{n:"KAT_Throw_K",d:3.33},{n:"KAT_Throw_O",d:3.33},{n:"KAT_Throw_P",d:3.33},{n:"PASS_Rifle_O",d:1.33},{n:"PASS_Rifle_Ped",d:1.33},{n:"PASS_Rifle_Ply",d:1.33},{n:"pickup_box",d:.4},{n:"Plane_door",d:5.33},{n:"Plane_exit",d:5.33},{n:"Plane_hijack",d:5.33},{n:"Plunger_01",d:3.33},{n:"Plyrlean_loop",d:2.67},{n:"plyr_shkhead",d:1.67},{n:"Run_Dive",d:8.27},{n:"Scratchballs_01",d:8.33},{n:"SEAT_LR",d:3.67},{n:"Seat_talk_01",d:3.67},{n:"Seat_talk_02",d:3.33},{n:"SEAT_watch",d:2.33},{n:"smalplane_door",d:6.33},{n:"smlplane_door",d:5.33},{n:"MTB_back",d:.1},{n:"MTB_bunnyhop",d:.33},{n:"MTB_drivebyFT",d:.2},{n:"MTB_driveby_LHS",d:.2},{n:"MTB_driveby_RHS",d:.2},{n:"MTB_fwd",d:.2},{n:"MTB_getoffBACK",d:1.53},{n:"MTB_getoffLHS",d:.73},{n:"MTB_getoffRHS",d:.73},{n:"MTB_jumponL",d:.8},{n:"MTB_jumponR",d:.83},{n:"MTB_Left",d:.13},{n:"MTB_pedal",d:.67},{n:"MTB_pushes",d:.8},{n:"MTB_Ride",d:.03},{n:"MTB_Right",d:.13},{n:"MTB_sprint",d:.8},{n:"MTB_still",d:.03},{n:"MscleWalkst_armed",d:.2},{n:"MscleWalkst_Csaw",d:.2},{n:"Mscle_rckt_run",d:.8},{n:"Mscle_rckt_walkst",d:.2},{n:"Mscle_run_Csaw",d:.8},{n:"MuscleIdle",d:1.5},{n:"MuscleIdle_armed",d:1.5},{n:"MuscleIdle_Csaw",d:1.5},{n:"MuscleIdle_rocket",d:1.5},{n:"MuscleRun",d:.8},{n:"MuscleRun_armed",d:.8},{n:"MuscleSprint",d:.57},{n:"MuscleWalk",d:1.07},{n:"MuscleWalkstart",d:.27},{n:"MuscleWalk_armed",d:1.07},{n:"Musclewalk_Csaw",d:1.07},{n:"Musclewalk_rocket",d:1.07}]],["NEVADA",[{n:"NEVADA_getin",d:1.87},{n:"NEVADA_getout",d:.93}]],["ON_LOOKERS",[{n:"lkaround_in",d:.33},{n:"lkaround_loop",d:7},{n:"lkaround_out",d:.33},{n:"lkup_in",d:1.67},{n:"lkup_loop",d:5.33},{n:"lkup_out",d:1},{n:"lkup_point",d:3.33},{n:"panic_cower",d:6.67},{n:"panic_hide",d:6.33},{n:"panic_in",d:.83},{n:"panic_loop",d:1.67},{n:"panic_out",d:.67},{n:"panic_point",d:6},{n:"panic_shout",d:8.67},{n:"Pointup_in",d:1},{n:"Pointup_loop",d:2.67},{n:"Pointup_out",d:1},{n:"Pointup_shout",d:3},{n:"point_in",d:.5},{n:"point_loop",d:3},{n:"point_out",d:.33},{n:"shout_01",d:2.67},{n:"shout_02",d:4},{n:"shout_in",d:1.67},{n:"shout_loop",d:2},{n:"shout_out",d:.33},{n:"wave_in",d:.83},{n:"wave_loop",d:1.5},{n:"wave_out",d:.83}]],["OTB",[{n:"betslp_in",d:1.33},{n:"betslp_lkabt",d:2.67},{n:"betslp_loop",d:2.67},{n:"betslp_out",d:1},{n:"betslp_tnk",d:5.6},{n:"wtchrace_cmon",d:5},{n:"wtchrace_in",d:1.67},{n:"wtchrace_loop",d:2.67},{n:"wtchrace_lose",d:4},{n:"wtchrace_out",d:1},{n:"wtchrace_win",d:4.33}]],["PARACHUTE",[{n:"FALL_skyDive",d:1.33},{n:"FALL_SkyDive_Accel",d:1.33},{n:"FALL_skyDive_DIE",d:1},{n:"FALL_SkyDive_L",d:1.33},{n:"FALL_SkyDive_R",d:1.33},{n:"PARA_decel",d:2},{n:"PARA_decel_O",d:2},{n:"PARA_float",d:2},{n:"PARA_float_O",d:2},{n:"PARA_Land",d:1.67},{n:"PARA_Land_O",d:2.17},{n:"PARA_Land_Water",d:2.33},{n:"PARA_Land_Water_O",d:2.17},{n:"PARA_open",d:2.83},{n:"PARA_open_O",d:2.33},{n:"PARA_Rip_Land_O",d:.9},{n:"PARA_Rip_Loop_O",d:1},{n:"PARA_Rip_O",d:.23},{n:"PARA_steerL",d:2},{n:"PARA_steerL_O",d:2},{n:"PARA_steerR",d:2},{n:"PARA_steerR_O",d:2}]],["PARK",[{n:"Tai_Chi_in",d:2.17},{n:"Tai_Chi_Loop",d:12},{n:"Tai_Chi_Out",d:.83}]],["PAULNMAC",[{n:"Piss_in",d:9},{n:"Piss_loop",d:6.67},{n:"Piss_out",d:11},{n:"PnM_Argue1_A",d:4.33},{n:"PnM_Argue1_B",d:4.33},{n:"PnM_Argue2_A",d:4.33},{n:"PnM_Argue2_B",d:4.33},{n:"PnM_Loop_A",d:5.33},{n:"PnM_Loop_B",d:5.33},{n:"wank_in",d:7.33},{n:"wank_loop",d:2.67},{n:"wank_out",d:11.67}]],["ped",[{n:"abseil",d:.03},{n:"ARRESTgun",d:.67},{n:"ATM",d:12.17},{n:"BIKE_elbowL",d:.97},{n:"BIKE_elbowR",d:.97},{n:"BIKE_fallR",d:1.63},{n:"BIKE_fall_off",d:1.07},{n:"BIKE_pickupL",d:1.07},{n:"BIKE_pickupR",d:1.07},{n:"BIKE_pullupL",d:1},{n:"BIKE_pullupR",d:1},{n:"bomber",d:.6},{n:"CAR_alignHI_LHS",d:.73},{n:"CAR_alignHI_RHS",d:.73},{n:"CAR_align_LHS",d:.13},{n:"CAR_align_RHS",d:.13},{n:"CAR_closedoorL_LHS",d:.6},{n:"CAR_closedoorL_RHS",d:.4},{n:"CAR_closedoor_LHS",d:.6},{n:"CAR_closedoor_RHS",d:.4},{n:"CAR_close_LHS",d:.73},{n:"CAR_close_RHS",d:.73},{n:"CAR_crawloutRHS",d:2.17},{n:"CAR_dead_LHS",d:.03},{n:"CAR_dead_RHS",d:.03},{n:"CAR_doorlocked_LHS",d:1.33},{n:"CAR_doorlocked_RHS",d:1.27},{n:"CAR_fallout_LHS",d:.57},{n:"CAR_fallout_RHS",d:.57},{n:"CAR_getinL_LHS",d:1},{n:"CAR_getinL_RHS",d:1},{n:"CAR_getin_LHS",d:1},{n:"CAR_getin_RHS",d:1},{n:"CAR_getoutL_LHS",d:.93},{n:"CAR_getoutL_RHS",d:1},{n:"CAR_getout_LHS",d:1.13},{n:"CAR_getout_RHS",d:.8},{n:"car_hookertalk",d:4.3},{n:"CAR_jackedLHS",d:2.9},{n:"CAR_jackedRHS",d:3.43},{n:"CAR_jumpin_LHS",d:1},{n:"CAR_LB",d:.23},{n:"CAR_LB_pro",d:.1},{n:"CAR_LB_weak",d:.23},{n:"CAR_LjackedLHS",d:3.57},{n:"CAR_LjackedRHS",d:3.47},{n:"CAR_Lshuffle_RHS",d:.4},{n:"CAR_Lsit",d:.03},{n:"CAR_open_LHS",d:1.1},{n:"CAR_open_RHS",d:1.1},{n:"CAR_pulloutL_LHS",d:2.93},{n:"CAR_pulloutL_RHS",d:2.93},{n:"CAR_pullout_LHS",d:2.3},{n:"CAR_pullout_RHS",d:2.8},{n:"CAR_Qjacked",d:3.3},{n:"CAR_rolldoor",d:.6},{n:"CAR_rolldoorLO",d:.6},{n:"CAR_rollout_LHS",d:1.63},{n:"CAR_rollout_RHS",d:1.27},{n:"CAR_shuffle_RHS",d:.4},{n:"CAR_sit",d:.03},{n:"CAR_sitp",d:.03},{n:"CAR_sitpLO",d:.03},{n:"CAR_sit_pro",d:.03},{n:"CAR_sit_weak",d:.03},{n:"CAR_tune_radio",d:.63},{n:"CLIMB_idle",d:.8},{n:"CLIMB_jump",d:.57},{n:"CLIMB_jump2fall",d:.03},{n:"CLIMB_jump_B",d:.97},{n:"CLIMB_Pull",d:.87},{n:"CLIMB_Stand",d:.8},{n:"CLIMB_Stand_finish",d:.2},{n:"cower",d:.8},{n:"Crouch_Roll_L",d:.93},{n:"Crouch_Roll_R",d:.93},{n:"DAM_armL_frmBK",d:.83},{n:"DAM_armL_frmFT",d:.83},{n:"DAM_armL_frmLT",d:.67},{n:"DAM_armR_frmBK",d:.83},{n:"DAM_armR_frmFT",d:.5},{n:"DAM_armR_frmRT",d:.27},{n:"DAM_LegL_frmBK",d:.83},{n:"DAM_LegL_frmFT",d:.83},{n:"DAM_LegL_frmLT",d:.83},{n:"DAM_LegR_frmBK",d:.83},{n:"DAM_LegR_frmFT",d:.83},{n:"DAM_LegR_frmRT",d:.83},{n:"DAM_stomach_frmBK",d:.83},{n:"DAM_stomach_frmFT",d:.83},{n:"DAM_stomach_frmLT",d:.83},{n:"DAM_stomach_frmRT",d:.83},{n:"DOOR_LHinge_O",d:1.07},{n:"DOOR_RHinge_O",d:1.07},{n:"DrivebyL_L",d:.2},{n:"DrivebyL_R",d:.2},{n:"Driveby_L",d:.2},{n:"Driveby_R",d:.2},{n:"DRIVE_BOAT",d:.03},{n:"DRIVE_BOAT_back",d:.1},{n:"DRIVE_BOAT_L",d:.1},{n:"DRIVE_BOAT_R",d:.1},{n:"Drive_L",d:.13},{n:"Drive_LO_l",d:.13},{n:"Drive_LO_R",d:.13},{n:"Drive_L_pro",d:.13},{n:"Drive_L_pro_slow",d:.13},{n:"Drive_L_slow",d:.13},{n:"Drive_L_weak",d:.13},{n:"Drive_L_weak_slow",d:.13},{n:"Drive_R",d:.13},{n:"Drive_R_pro",d:.13},{n:"Drive_R_pro_slow",d:.13},{n:"Drive_R_slow",d:.13},{n:"Drive_R_weak",d:.13},{n:"Drive_R_weak_slow",d:.13},{n:"Drive_truck",d:.03},{n:"DRIVE_truck_back",d:.1},{n:"DRIVE_truck_L",d:.13},{n:"DRIVE_truck_R",d:.13},{n:"Drown",d:2.5},{n:"DUCK_cower",d:.8},{n:"endchat_01",d:2},{n:"endchat_02",d:2},{n:"endchat_03",d:2.33},{n:"EV_dive",d:2.33},{n:"EV_step",d:1.07},{n:"facanger",d:.13},{n:"facgum",d:1.03},{n:"facsurp",d:.13},{n:"facsurpm",d:.13},{n:"factalk",d:2.33},{n:"facurios",d:.13},{n:"FALL_back",d:.73},{n:"FALL_collapse",d:1},{n:"FALL_fall",d:.73},{n:"FALL_front",d:.73},{n:"FALL_glide",d:.8},{n:"FALL_land",d:.47},{n:"FALL_skyDive",d:1.33},{n:"Fight2Idle",d:.33},{n:"FightA_1",d:.43},{n:"FightA_2",d:.77},{n:"FightA_3",d:.87},{n:"FightA_block",d:.47},{n:"FightA_G",d:.93},{n:"FightA_M",d:.4},{n:"FIGHTIDLE",d:1.3},{n:"FightShB",d:.47},{n:"FightShF",d:.53},{n:"FightSh_BWD",d:.67},{n:"FightSh_FWD",d:.67},{n:"FightSh_Left",d:.67},{n:"FightSh_Right",d:.67},{n:"flee_lkaround_01",d:2},{n:"FLOOR_hit",d:.37},{n:"FLOOR_hit_f",d:.4},{n:"fucku",d:1.33},{n:"gang_gunstand",d:.03},{n:"gas_cwr",d:1},{n:"getup",d:1.37},{n:"getup_front",d:1.37},{n:"gum_eat",d:5.33},{n:"GunCrouchBwd",d:1},{n:"GunCrouchFwd",d:.73},{n:"GunMove_BWD",d:1.03},{n:"GunMove_FWD",d:1},{n:"GunMove_L",d:1},{n:"GunMove_R",d:1},{n:"Gun_2_IDLE",d:.27},{n:"GUN_BUTT",d:.43},{n:"GUN_BUTT_crouch",d:.43},{n:"Gun_stand",d:.03},{n:"handscower",d:1.93},{n:"handsup",d:.6},{n:"HitA_1",d:.3},{n:"HitA_2",d:.53},{n:"HitA_3",d:.57},{n:"HIT_back",d:.5},{n:"HIT_behind",d:.67},{n:"HIT_front",d:.6},{n:"HIT_GUN_BUTT",d:.5},{n:"HIT_L",d:.7},{n:"HIT_R",d:.6},{n:"HIT_walk",d:.33},{n:"HIT_wall",d:.7},{n:"Idlestance_fat",d:1.67},{n:"idlestance_old",d:2},{n:"IDLE_armed",d:1.47},{n:"IDLE_chat",d:6.67},{n:"IDLE_csaw",d:1.53},{n:"Idle_Gang1",d:1.67},{n:"IDLE_HBHB",d:2.67},{n:"IDLE_ROCKET",d:1.57},{n:"IDLE_stance",d:1.5},{n:"IDLE_taxi",d:.87},{n:"IDLE_tired",d:1},{n:"Jetpack_Idle",d:.03},{n:"JOG_femaleA",d:.77},{n:"JOG_maleA",d:.77},{n:"JUMP_glide",d:.5},{n:"JUMP_land",d:.23},{n:"JUMP_launch",d:.2},{n:"JUMP_launch_R",d:.2},{n:"KART_drive",d:.03},{n:"KART_L",d:.13},{n:"KART_LB",d:.03},{n:"KART_R",d:.13},{n:"KD_left",d:.9},{n:"KD_right",d:.9},{n:"KO_shot_face",d:2.1},{n:"KO_shot_front",d:.57},{n:"KO_shot_stom",d:3.17},{n:"KO_skid_back",d:.97},{n:"KO_skid_front",d:1.13},{n:"KO_spin_L",d:.87},{n:"KO_spin_R",d:.93},{n:"pass_Smoke_in_car",d:1.73},{n:"phone_in",d:2.33},{n:"phone_out",d:2},{n:"phone_talk",d:2},{n:"Player_Sneak",d:1.33},{n:"Player_Sneak_walkstart",d:.3},{n:"roadcross",d:2},{n:"roadcross_female",d:4},{n:"roadcross_gang",d:2},{n:"roadcross_old",d:4},{n:"run_1armed",d:.77},{n:"run_armed",d:.7},{n:"run_civi",d:.73},{n:"run_csaw",d:.7},{n:"run_fat",d:.8},{n:"run_fatold",d:.8},{n:"run_gang1",d:.83},{n:"run_left",d:.67},{n:"run_old",d:.8},{n:"run_player",d:.73},{n:"run_right",d:.67},{n:"run_rocket",d:.77},{n:"Run_stop",d:.87},{n:"Run_stopR",d:.8},{n:"Run_Wuzi",d:.77},{n:"SEAT_down",d:1.5},{n:"SEAT_idle",d:2},{n:"SEAT_up",d:1.17},{n:"SHOT_leftP",d:.3},{n:"SHOT_partial",d:.37},{n:"SHOT_partial_B",d:.33},{n:"SHOT_rightP",d:.33},{n:"Shove_Partial",d:.53},{n:"Smoke_in_car",d:1.73},{n:"sprint_civi",d:.53},{n:"sprint_panic",d:.6},{n:"Sprint_Wuzi",d:.67},{n:"swat_run",d:.67},{n:"Swim_Tread",d:1.3},{n:"Tap_hand",d:.03},{n:"Tap_handP",d:.03},{n:"turn_180",d:.63},{n:"Turn_L",d:.8},{n:"Turn_R",d:.8},{n:"WALK_armed",d:1.07},{n:"WALK_civi",d:1.13},{n:"WALK_csaw",d:1.07},{n:"Walk_DoorPartial",d:.8},{n:"WALK_drunk",d:3.93},{n:"WALK_fat",d:1.33},{n:"WALK_fatold",d:1.17},{n:"WALK_gang1",d:1.4},{n:"WALK_gang2",d:1.4},{n:"WALK_old",d:1.4},{n:"WALK_player",d:1.2},{n:"WALK_rocket",d:1.07},{n:"WALK_shuffle",d:1.2},{n:"WALK_start",d:.27},{n:"WALK_start_armed",d:.2},{n:"WALK_start_csaw",d:.2},{n:"WALK_start_rocket",d:.2},{n:"Walk_Wuzi",d:1.17},{n:"WEAPON_crouch",d:.8},{n:"woman_idlestance",d:5.33},{n:"woman_run",d:.77},{n:"WOMAN_runbusy",d:.67},{n:"WOMAN_runfatold",d:1.2},{n:"woman_runpanic",d:.6},{n:"WOMAN_runsexy",d:.7},{n:"WOMAN_walkbusy",d:1},{n:"WOMAN_walkfatold",d:1.2},{n:"WOMAN_walknorm",d:1.13},{n:"WOMAN_walkold",d:1.2},{n:"WOMAN_walkpro",d:1.33},{n:"WOMAN_walksexy",d:1.17},{n:"WOMAN_walkshop",d:.97},{n:"XPRESSscratch",d:3.97}]],["PLAYER_DVBYS",[{n:"Plyr_DrivebyBwd",d:.83},{n:"Plyr_DrivebyFwd",d:.83},{n:"Plyr_DrivebyLHS",d:.83},{n:"Plyr_DrivebyRHS",d:.83}]],["PLAYIDLES",[{n:"shift",d:3.6},{n:"shldr",d:2.17},{n:"stretch",d:4.6},{n:"strleg",d:3.67},{n:"time",d:5.2}]],["POLICE",[{n:"CopTraf_Away",d:1.47},{n:"CopTraf_Come",d:2.87},{n:"CopTraf_Left",d:2},{n:"CopTraf_Stop",d:2},{n:"COP_getoutcar_LHS",d:.83},{n:"Cop_move_FWD",d:1},{n:"crm_drgbst_01",d:18.57},{n:"Door_Kick",d:1.33},{n:"plc_drgbst_01",d:20.6},{n:"plc_drgbst_02",d:7.57}]],["POOL",[{n:"POOL_ChalkCue",d:4.83},{n:"POOL_Idle_Stance",d:2},{n:"POOL_Long_Shot",d:1.67},{n:"POOL_Long_Shot_O",d:1.67},{n:"POOL_Long_Start",d:.67},{n:"POOL_Long_Start_O",d:.67},{n:"POOL_Med_Shot",d:1.67},{n:"POOL_Med_Shot_O",d:1.67},{n:"POOL_Med_Start",d:.67},{n:"POOL_Med_Start_O",d:.67},{n:"POOL_Place_White",d:2.5},{n:"POOL_Short_Shot",d:1.67},{n:"POOL_Short_Shot_O",d:1.67},{n:"POOL_Short_Start",d:.67},{n:"POOL_Short_Start_O",d:.67},{n:"POOL_Walk",d:1.27},{n:"POOL_Walk_Start",d:.2},{n:"POOL_XLong_Shot",d:1.67},{n:"POOL_XLong_Shot_O",d:1.67},{n:"POOL_XLong_Start",d:.67},{n:"POOL_XLong_Start_O",d:.67}]],["POOR",[{n:"WINWASH_Start",d:.43},{n:"WINWASH_Wash2Beg",d:2.13}]],["PYTHON",[{n:"python_crouchfire",d:1.2},{n:"python_crouchreload",d:1},{n:"python_fire",d:1.17},{n:"python_fire_poor",d:1.47},{n:"python_reload",d:.93}]],["QUAD",[{n:"QUAD_back",d:.1},{n:"QUAD_driveby_FT",d:.2},{n:"QUAD_driveby_LHS",d:.2},{n:"QUAD_driveby_RHS",d:.2},{n:"QUAD_FWD",d:.2},{n:"QUAD_getoff_B",d:1.63},{n:"QUAD_getoff_LHS",d:.67},{n:"QUAD_getoff_RHS",d:.7},{n:"QUAD_geton_LHS",d:.73},{n:"QUAD_geton_RHS",d:.73},{n:"QUAD_hit",d:.03},{n:"QUAD_kick",d:1.13},{n:"QUAD_Left",d:.13},{n:"QUAD_passenger",d:.03},{n:"QUAD_reverse",d:.17},{n:"QUAD_ride",d:.03},{n:"QUAD_Right",d:.13}]],["QUAD_DBZ",[{n:"Pass_Driveby_BWD",d:.83},{n:"Pass_Driveby_FWD",d:.83},{n:"Pass_Driveby_LHS",d:.83},{n:"Pass_Driveby_RHS",d:.83}]],["RAPPING",[{n:"Laugh_01",d:5.33},{n:"RAP_A_IN",d:.83},{n:"RAP_A_Loop",d:2.67},{n:"RAP_A_OUT",d:.33},{n:"RAP_B_IN",d:1},{n:"RAP_B_Loop",d:2.67},{n:"RAP_B_OUT",d:.87},{n:"RAP_C_Loop",d:3}]],["RIFLE",[{n:"RIFLE_crouchfire",d:.87},{n:"RIFLE_crouchload",d:1.27},{n:"RIFLE_fire",d:.8},{n:"RIFLE_fire_poor",d:.8},{n:"RIFLE_load",d:1.4}]],["RIOT",[{n:"RIOT_ANGRY",d:5},{n:"RIOT_ANGRY_B",d:.63},{n:"RIOT_challenge",d:3.23},{n:"RIOT_CHANT",d:1.73},{n:"RIOT_FUKU",d:.67},{n:"RIOT_PUNCHES",d:.67},{n:"RIOT_shout",d:1}]],["ROB_BANK",[{n:"CAT_Safe_End",d:.5},{n:"CAT_Safe_Open",d:3.33},{n:"CAT_Safe_Open_O",d:3.33},{n:"CAT_Safe_Rob",d:1.83},{n:"SHP_HandsUp_Scr",d:.67}]],["ROCKET",[{n:"idle_rocket",d:1.6},{n:"RocketFire",d:.97},{n:"run_rocket",d:.77},{n:"walk_rocket",d:1.07},{n:"WALK_start_rocket",d:.2}]],["RUNNINGMAN",[{n:"Dance_B1",d:.53},{n:"Dance_B2",d:.57},{n:"Dance_B3",d:.53},{n:"Dance_B4",d:.57},{n:"Dance_B5",d:.53},{n:"Dance_B6",d:.57},{n:"Dance_B7",d:.53},{n:"Dance_B8",d:.57},{n:"Dance_B9",d:.53},{n:"Dance_B10",d:.57},{n:"Dance_B11",d:.53},{n:"Dance_B12",d:.57},{n:"Dance_B13",d:.53},{n:"Dance_B14",d:.57},{n:"Dance_B15",d:.53},{n:"Dance_B16",d:.57},{n:"Dance_G1",d:.53},{n:"Dance_G2",d:.57},{n:"Dance_G3",d:.53},{n:"Dance_G4",d:.57},{n:"Dance_G5",d:.53},{n:"Dance_G6",d:.57},{n:"Dance_G7",d:.53},{n:"Dance_G8",d:.57},{n:"Dance_G9",d:.53},{n:"Dance_G10",d:.57},{n:"Dance_G11",d:.53},{n:"Dance_G12",d:.57},{n:"Dance_G13",d:.53},{n:"Dance_G14",d:.57},{n:"Dance_G15",d:.53},{n:"Dance_G16",d:.57},{n:"dance_loop",d:1.17}]],["RUSTLER",[{n:"Plane_align_LHS",d:.73},{n:"Plane_close",d:.4},{n:"Plane_getin",d:.8},{n:"Plane_getout",d:1.57},{n:"Plane_open",d:.7}]],["RYDER",[{n:"RYD_Beckon_01",d:1.23},{n:"RYD_Beckon_02",d:1},{n:"RYD_Beckon_03",d:1.07},{n:"RYD_Die_PT1",d:4},{n:"RYD_Die_PT2",d:7.93},{n:"Van_Crate_L",d:.67},{n:"Van_Crate_R",d:.67},{n:"Van_Fall_L",d:.47},{n:"Van_Fall_R",d:.93},{n:"Van_Lean_L",d:.67},{n:"Van_Lean_R",d:.67},{n:"VAN_PickUp_E",d:1.83},{n:"VAN_PickUp_S",d:1.5},{n:"Van_Stand",d:.67},{n:"Van_Stand_Crate",d:.67},{n:"Van_Throw",d:1.37}]],["SAMP",[{n:"FishingIdle",d:1}]],["SCRATCHING",[{n:"scdldlp",d:.67},{n:"scdlulp",d:.67},{n:"scdrdlp",d:.67},{n:"scdrulp",d:.67},{n:"sclng_l",d:1},{n:"sclng_r",d:1},{n:"scmid_l",d:.47},{n:"scmid_r",d:.47},{n:"scshrtl",d:.2},{n:"scshrtr",d:.2},{n:"sc_ltor",d:.67},{n:"sc_rtol",d:.67}]],["SHAMAL",[{n:"SHAMAL_align",d:.2},{n:"SHAMAL_getin_LHS",d:1.4},{n:"SHAMAL_getout_LHS",d:1.37},{n:"SHAMAL_open",d:.6}]],["SHOP",[{n:"ROB_2Idle",d:1.17},{n:"ROB_Loop",d:2.67},{n:"ROB_Loop_Threat",d:2},{n:"ROB_Shifty",d:5.67},{n:"ROB_StickUp_In",d:.53},{n:"SHP_Duck",d:.67},{n:"SHP_Duck_Aim",d:.33},{n:"SHP_Duck_Fire",d:.83},{n:"SHP_Gun_Aim",d:.63},{n:"SHP_Gun_Duck",d:.5},{n:"SHP_Gun_Fire",d:.87},{n:"SHP_Gun_Grab",d:.87},{n:"SHP_Gun_Threat",d:.83},{n:"SHP_HandsUp_Scr",d:.67},{n:"SHP_Jump_Glide",d:.33},{n:"SHP_Jump_Land",d:.7},{n:"SHP_Jump_Launch",d:.57},{n:"SHP_Rob_GiveCash",d:3.83},{n:"SHP_Rob_HandsUp",d:2.67},{n:"SHP_Rob_React",d:2.67},{n:"SHP_Serve_End",d:5.5},{n:"SHP_Serve_Idle",d:5},{n:"SHP_Serve_Loop",d:4.17},{n:"SHP_Serve_Start",d:1.33},{n:"Smoke_RYD",d:6.67}]],["SHOTGUN",[{n:"shotgun_crouchfire",d:1.47},{n:"shotgun_fire",d:1.47},{n:"shotgun_fire_poor",d:1.5}]],["SILENCED",[{n:"CrouchReload",d:1},{n:"SilenceCrouchfire",d:.93},{n:"Silence_fire",d:.87},{n:"Silence_reload",d:.93}]],["SKATE",[{n:"skate_idle",d:1},{n:"skate_run",d:.83},{n:"skate_sprint",d:.67}]],["SMOKING",[{n:"F_smklean_loop",d:4},{n:"M_smklean_loop",d:5},{n:"M_smkstnd_loop",d:5.33},{n:"M_smk_drag",d:3.67},{n:"M_smk_in",d:6.67},{n:"M_smk_loop",d:3.33},{n:"M_smk_out",d:3},{n:"M_smk_tap",d:3}]],["SNIPER",[{n:"WEAPON_sniper",d:1.47}]],["SnM",[{n:"SnM_Caned_Idle_P",d:2},{n:"SnM_Caned_Idle_W",d:2},{n:"SnM_Caned_P",d:1.33},{n:"SnM_Caned_W",d:1.33},{n:"SnM_Cane_Idle_P",d:2},{n:"SnM_Cane_Idle_W",d:2},{n:"SnM_Cane_P",d:1.33},{n:"SnM_Cane_W",d:1.33},{n:"SpankedP",d:1.33},{n:"SpankedW",d:1.33},{n:"Spanked_IdleP",d:1.33},{n:"Spanked_IdleW",d:1.33},{n:"SpankingP",d:1.33},{n:"SpankingW",d:1.33},{n:"Spanking_endP",d:6.67},{n:"Spanking_endW",d:6.67},{n:"Spanking_IdleP",d:1.33},{n:"Spanking_IdleW",d:1.33},{n:"Spanking_SittingIdleP",d:1.33},{n:"Spanking_SittingIdleW",d:1.33},{n:"Spanking_SittingP",d:1},{n:"Spanking_SittingW",d:1}]],["SPRAYCAN",[{n:"spraycan_fire",d:2.33},{n:"spraycan_full",d:4.5}]],["STRIP",[{n:"PLY_CASH",d:1.67},{n:"PUN_CASH",d:3.33},{n:"PUN_HOLLER",d:5},{n:"PUN_LOOP",d:1.93},{n:"strip_A",d:2.07},{n:"strip_B",d:1},{n:"strip_C",d:.97},{n:"strip_D",d:1.9},{n:"strip_E",d:3.33},{n:"strip_F",d:1.03},{n:"strip_G",d:2.27},{n:"STR_A2B",d:4},{n:"STR_B2A",d:.5},{n:"STR_B2C",d:5},{n:"STR_C1",d:6},{n:"STR_C2",d:6},{n:"STR_C2B",d:1},{n:"STR_Loop_A",d:1},{n:"STR_Loop_B",d:2},{n:"STR_Loop_C",d:3}]],["SUNBATHE",[{n:"batherdown",d:3.93},{n:"batherup",d:12.3},{n:"Lay_Bac_in",d:2.33},{n:"Lay_Bac_out",d:3},{n:"ParkSit_M_IdleA",d:3.33},{n:"ParkSit_M_IdleB",d:2.67},{n:"ParkSit_M_IdleC",d:4.33},{n:"ParkSit_M_in",d:2.33},{n:"ParkSit_M_out",d:2},{n:"ParkSit_W_idleA",d:3.33},{n:"ParkSit_W_idleB",d:5},{n:"ParkSit_W_idleC",d:3},{n:"ParkSit_W_in",d:4},{n:"ParkSit_W_out",d:2.67},{n:"SBATHE_F_LieB2Sit",d:1.67},{n:"SBATHE_F_Out",d:2},{n:"SitnWait_in_W",d:4.67},{n:"SitnWait_out_W",d:2.67}]],["SWAT",[{n:"gnstwall_injurd",d:2},{n:"JMP_Wall1m_180",d:1.17},{n:"Rail_fall",d:3},{n:"Rail_fall_crawl",d:5.67},{n:"swt_breach_01",d:5.47},{n:"swt_breach_02",d:5.33},{n:"swt_breach_03",d:4.3},{n:"swt_go",d:1.67},{n:"swt_lkt",d:3},{n:"swt_sty",d:1.17},{n:"swt_vent_01",d:4.73},{n:"swt_vent_02",d:4.43},{n:"swt_vnt_sht_die",d:.67},{n:"swt_vnt_sht_in",d:1.6},{n:"swt_vnt_sht_loop",d:.27},{n:"swt_wllpk_L",d:2.67},{n:"swt_wllpk_L_back",d:.5},{n:"swt_wllpk_R",d:3.67},{n:"swt_wllpk_R_back",d:.43},{n:"swt_wllshoot_in_L",d:1},{n:"swt_wllshoot_in_R",d:1.3},{n:"swt_wllshoot_out_L",d:2},{n:"swt_wllshoot_out_R",d:1.43}]],["SWEET",[{n:"ho_ass_slapped",d:2},{n:"LaFin_Player",d:26.67},{n:"LaFin_Sweet",d:26.67},{n:"plyr_hndshldr_01",d:4},{n:"sweet_ass_slap",d:2},{n:"sweet_hndshldr_01",d:4},{n:"Sweet_injuredloop",d:2}]],["SWIM",[{n:"Swim_Breast",d:1.3},{n:"SWIM_crawl",d:.9},{n:"Swim_Dive_Under",d:1.07},{n:"Swim_Glide",d:1.47},{n:"Swim_jumpout",d:.33},{n:"Swim_Tread",d:1.3},{n:"Swim_Under",d:1.5}]],["SWORD",[{n:"sword_1",d:.87},{n:"sword_2",d:1.07},{n:"sword_3",d:.8},{n:"sword_4",d:1.1},{n:"sword_block",d:.47},{n:"Sword_Hit_1",d:.83},{n:"Sword_Hit_2",d:1.03},{n:"Sword_Hit_3",d:.87},{n:"sword_IDLE",d:1},{n:"sword_part",d:.67}]],["TANK",[{n:"TANK_align_LHS",d:1.43},{n:"TANK_close_LHS",d:.33},{n:"TANK_doorlocked",d:.53},{n:"TANK_getin_LHS",d:.43},{n:"TANK_getout_LHS",d:1.97},{n:"TANK_open_LHS",d:.3}]],["TATTOOS",[{n:"TAT_ArmL_In_O",d:.83},{n:"TAT_ArmL_In_P",d:.83},{n:"TAT_ArmL_In_T",d:.83},{n:"TAT_ArmL_Out_O",d:.93},{n:"TAT_ArmL_Out_P",d:2.5},{n:"TAT_ArmL_Out_T",d:.93},{n:"TAT_ArmL_Pose_O",d:.83},{n:"TAT_ArmL_Pose_P",d:.83},{n:"TAT_ArmL_Pose_T",d:.83},{n:"TAT_ArmR_In_O",d:.83},{n:"TAT_ArmR_In_P",d:.83},{n:"TAT_ArmR_In_T",d:.83},{n:"TAT_ArmR_Out_O",d:1},{n:"TAT_ArmR_Out_P",d:2.5},{n:"TAT_ArmR_Out_T",d:1},{n:"TAT_ArmR_Pose_O",d:.83},{n:"TAT_ArmR_Pose_P",d:.83},{n:"TAT_ArmR_Pose_T",d:.83},{n:"TAT_Back_In_O",d:.83},{n:"TAT_Back_In_P",d:.83},{n:"TAT_Back_In_T",d:.83},{n:"TAT_Back_Out_O",d:.93},{n:"TAT_Back_Out_P",d:2.5},{n:"TAT_Back_Out_T",d:.93},{n:"TAT_Back_Pose_O",d:.83},{n:"TAT_Back_Pose_P",d:.83},{n:"TAT_Back_Pose_T",d:.83},{n:"TAT_Back_Sit_In_P",d:.83},{n:"TAT_Back_Sit_Loop_P",d:2.67},{n:"TAT_Back_Sit_Out_P",d:.83},{n:"TAT_Bel_In_O",d:.83},{n:"TAT_Bel_In_T",d:.83},{n:"TAT_Bel_Out_O",d:.97},{n:"TAT_Bel_Out_T",d:.97},{n:"TAT_Bel_Pose_O",d:.83},{n:"TAT_Bel_Pose_T",d:.83},{n:"TAT_Che_In_O",d:.83},{n:"TAT_Che_In_P",d:.83},{n:"TAT_Che_In_T",d:.83},{n:"TAT_Che_Out_O",d:.93},{n:"TAT_Che_Out_P",d:2.5},{n:"TAT_Che_Out_T",d:.93},{n:"TAT_Che_Pose_O",d:.83},{n:"TAT_Che_Pose_P",d:.83},{n:"TAT_Che_Pose_T",d:.83},{n:"TAT_Drop_O",d:.5},{n:"TAT_Idle_Loop_O",d:2.67},{n:"TAT_Idle_Loop_T",d:2.67},{n:"TAT_Sit_In_O",d:2.33},{n:"TAT_Sit_In_P",d:2.33},{n:"TAT_Sit_In_T",d:2.33},{n:"TAT_Sit_Loop_O",d:2.67},{n:"TAT_Sit_Loop_P",d:2.67},{n:"TAT_Sit_Loop_T",d:2.67},{n:"TAT_Sit_Out_O",d:2.83},{n:"TAT_Sit_Out_P",d:2.17},{n:"TAT_Sit_Out_T",d:2.83}]],["TEC",[{n:"TEC_crouchfire",d:.97},{n:"TEC_crouchreload",d:1.33},{n:"TEC_fire",d:1.1},{n:"TEC_reload",d:1.5}]],["TRAIN",[{n:"tran_gtup",d:3.17},{n:"tran_hng",d:2.33},{n:"tran_ouch",d:1.17},{n:"tran_stmb",d:2.33}]],["TRUCK",[{n:"TRUCK_ALIGN_LHS",d:.57},{n:"TRUCK_ALIGN_RHS",d:.57},{n:"TRUCK_closedoor_LHS",d:.4},{n:"TRUCK_closedoor_RHS",d:.4},{n:"TRUCK_close_LHS",d:.73},{n:"TRUCK_close_RHS",d:.73},{n:"TRUCK_getin_LHS",d:.6},{n:"TRUCK_getin_RHS",d:.6},{n:"TRUCK_getout_LHS",d:.8},{n:"TRUCK_getout_RHS",d:.8},{n:"TRUCK_jackedLHS",d:1.73},{n:"TRUCK_jackedRHS",d:1.5},{n:"TRUCK_open_LHS",d:.53},{n:"TRUCK_open_RHS",d:.53},{n:"TRUCK_pullout_LHS",d:.9},{n:"TRUCK_pullout_RHS",d:.9},{n:"TRUCK_Shuffle",d:.4}]],["UZI",[{n:"UZI_crouchfire",d:.63},{n:"UZI_crouchreload",d:1.37},{n:"UZI_fire",d:.57},{n:"UZI_fire_poor",d:.53},{n:"UZI_reload",d:1.4}]],["VAN",[{n:"VAN_close_back_LHS",d:.33},{n:"VAN_close_back_RHS",d:.33},{n:"VAN_getin_Back_LHS",d:.6},{n:"VAN_getin_Back_RHS",d:.6},{n:"VAN_getout_back_LHS",d:.63},{n:"VAN_getout_back_RHS",d:.63},{n:"VAN_open_back_LHS",d:.97},{n:"VAN_open_back_RHS",d:.97}]],["VENDING",[{n:"VEND_Drink2_P",d:3.33},{n:"VEND_Drink_P",d:1.33},{n:"vend_eat1_P",d:4.33},{n:"VEND_Eat_P",d:1.67},{n:"VEND_Use",d:2.6},{n:"VEND_Use_pt2",d:.4}]],["VORTEX",[{n:"CAR_jumpin_LHS",d:1},{n:"CAR_jumpin_RHS",d:.93},{n:"vortex_getout_LHS",d:1},{n:"vortex_getout_RHS",d:1}]],["WAYFARER",[{n:"WF_Back",d:.1},{n:"WF_drivebyFT",d:.2},{n:"WF_drivebyLHS",d:.2},{n:"WF_drivebyRHS",d:.2},{n:"WF_Fwd",d:.2},{n:"WF_getoffBACK",d:1.73},{n:"WF_getoffLHS",d:.9},{n:"WF_getoffRHS",d:.9},{n:"WF_hit",d:.03},{n:"WF_jumponL",d:.9},{n:"WF_jumponR",d:.9},{n:"WF_kick",d:1.03},{n:"WF_Left",d:.13},{n:"WF_passenger",d:.03},{n:"WF_pushes",d:.97},{n:"WF_Ride",d:.03},{n:"WF_Right",d:.13},{n:"WF_Still",d:.03}]],["WEAPONS",[{n:"SHP_1H_Lift",d:1},{n:"SHP_1H_Lift_End",d:.33},{n:"SHP_1H_Ret",d:.83},{n:"SHP_1H_Ret_S",d:.33},{n:"SHP_2H_Lift",d:.93},{n:"SHP_2H_Lift_End",d:.33},{n:"SHP_2H_Ret",d:.9},{n:"SHP_2H_Ret_S",d:.33},{n:"SHP_Ar_Lift",d:1},{n:"SHP_Ar_Lift_End",d:.33},{n:"SHP_Ar_Ret",d:1.17},{n:"SHP_Ar_Ret_S",d:.33},{n:"SHP_G_Lift_In",d:.67},{n:"SHP_G_Lift_Out",d:.67},{n:"SHP_Tray_In",d:.67},{n:"SHP_Tray_Out",d:.67},{n:"SHP_Tray_Pose",d:2.67}]],["WOP",[{n:"Dance_B1",d:1.13},{n:"Dance_B2",d:1.17},{n:"Dance_B3",d:1.13},{n:"Dance_B4",d:1.17},{n:"Dance_B5",d:1.13},{n:"Dance_B6",d:1.17},{n:"Dance_B7",d:1.13},{n:"Dance_B8",d:1.17},{n:"Dance_B9",d:1.13},{n:"Dance_B10",d:1.17},{n:"Dance_B11",d:1.13},{n:"Dance_B12",d:1.17},{n:"Dance_B13",d:1.13},{n:"Dance_B14",d:1.17},{n:"Dance_B15",d:1.13},{n:"Dance_B16",d:1.17},{n:"Dance_G1",d:1.13},{n:"Dance_G2",d:1.17},{n:"Dance_G3",d:1.13},{n:"Dance_G4",d:1.17},{n:"Dance_G5",d:1.13},{n:"Dance_G6",d:1.17},{n:"Dance_G7",d:1.13},{n:"Dance_G8",d:1.17},{n:"Dance_G9",d:1.13},{n:"Dance_G10",d:1.17},{n:"Dance_G11",d:1.13},{n:"Dance_G12",d:1.17},{n:"Dance_G13",d:1.13},{n:"Dance_G14",d:1.17},{n:"Dance_G15",d:1.13},{n:"Dance_G16",d:1.17},{n:"dance_loop",d:1.17}]],["WUZI",[{n:"CS_Dead_Guy",d:5.07},{n:"CS_Plyr_pt1",d:3.77},{n:"CS_Plyr_pt2",d:9.67},{n:"CS_Wuzi_pt1",d:3.77},{n:"CS_Wuzi_pt2",d:9.67},{n:"Walkstart_Idle_01",d:3.17},{n:"Wuzi_follow",d:3},{n:"Wuzi_Greet_Plyr",d:4},{n:"Wuzi_Greet_Wuzi",d:4},{n:"Wuzi_grnd_chk",d:4},{n:"Wuzi_stand_loop",d:2.67},{n:"Wuzi_Walk",d:1.17}]]]),Oh=e=>{const t=wh.get(e);return t===void 0?!1:t},Ft=(e,t)=>{const a=Oh(e);if(a)return a.find(n=>n.n===t)?.d},X=(e,t)=>{const a=t.replace("-","")==="utf8"?e:A.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},kt=(e,t,a)=>{const n=X(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,P(t),n[1])},Gh=(e,t,a)=>(e.forEach(n=>kt(n,t,a)),1),Mt=(e,t,a)=>{const n=X(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${n[0]}`,e.id,t,n[1])},Bh=(e,t,a)=>(e.forEach(n=>{Mt(n,t,a)}),1),Fh=(e,t,a)=>{const{charset:n}=e,{style:i,caption:r,info:s,button1:o,button2:d}=a,[c,u]=X(r||"",n),[,p]=X(s||"",n),[,S]=X(o||"",n),[,f]=X(d||"",n);return samp.callNative("ShowPlayerDialog",`iii${c.repeat(4)}`,e.id,t,i,u,p,S,f)},kh=e=>{const t=samp.callNative("GetPlayerName","iAi",e.id,L.MAX_PLAYER_NAME);return A.decodeFromBuf(A.getValidStr(t),e.charset)},Mh=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,A.encodeToBuf(t,e.charset)),xh=(e,t,a)=>{const n=A.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},Hh=(e,t,a,n,i,r,s,o,d,c,u,p,S,f,T,v)=>{const x=A.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",x,a,n,i,r,s,o,d,c,u,p,S,f,T,v)},Vh=(e,t,a,n,i,r,s,o,d,c,u,p,S,f,T,v)=>{const x=A.encodeToBuf(e,v);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",x,t,a,n,i,r,s,o,d,c,u,p,S,f,T,u.length,p.length,S.length,f.length)},Wh=(e,t,a,n)=>{const i=A.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,i)},Uh=(e,t)=>{const a=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return A.decodeFromBuf(A.getValidStr(a),t)},Kh=(e,t,a,n,i,r,s,o,d,c,u)=>{const p=A.encodeToBuf(n,e),S=A.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,p,i,S,s,o,d,c,u)},Zh=(e,t,a)=>{const[n,i,r,s,o,d,c]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),u=A.decodeFromBuf(n,a),p=A.decodeFromBuf(r,a);return{text:u,materialSize:i,fontFace:p,bold:s,fontColor:o,backColor:d,textAlignment:c}},[xt]=h({name:"OnGameModeInit"}),[Ht]=h({name:"OnGameModeExit"}),[jh]=h({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[Xh]=h({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:A.decodeFromBuf(e)}}}),[Yh]=h({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:A.decodeFromBuf(e),password:A.decodeFromBuf(t),success:!!a,ipBuffer:e,passwordBuffer:t}}}),V=[],Y=[],be=e=>{setTimeout(async()=>{try{const t=V.findIndex(n=>n.name===e);if(t===-1)return;const a=V[t];await a.load(),V.splice(t,1),Y.push(a)}catch(t){l.error(`[GameMode]: script ${e} load fail`),l.warn(new Error(JSON.stringify(t)))}})},Ne=e=>{setTimeout(async()=>{try{const t=Y.findIndex(n=>n.name===e);if(t===-1)return;const a=Y[t];await a.unload(),Y.splice(t,1),V.push(a)}catch(t){l.error(`[GameMode]: script ${e} unload fail`),l.warn(new Error(JSON.stringify(t)))}})},$h=e=>{Ne(e),be(e)};xt(({next:e})=>(V.forEach(t=>be(t.name)),e())),Ht(({next:e})=>(Y.forEach(t=>Ne(t.name)),e()));const zh=function(e,...t){if(V.some(a=>a===e)||Y.some(a=>a===e)){l.warn("[GameMode]: script has already been applied");return}e.load=e.load.bind(e,...t),V.push(e)};var Jh={use(e,...t){return zh(e,...t),this},loadUseScript:be,reloadUseScript:$h,unloadUseScript:Ne,supportAllNickname(){for(let e=0;e<=255;e++)this.isNickNameCharacterAllowed(e)||this.allowNickNameCharacter(e,!0)},setWeather(e){return e<0||e>255?(l.error("[GameMode]: The valid weather value is only 0 to 255"),0):Li(e)},setWorldTime(e){return e<0||e>23?(l.error("[GameMode]: The valid hour value is only 0 to 23"),0):bi(e)},getWorldTime:Ni,setTeamCount:Ji,sendRconCommand:Pr,addPlayerClass:Qi,addPlayerClassEx:qi,createExplosion(e,t,a,n,i){return n<0||n>13?(l.error("[GameMode]: The valid explosion type value is only 0 to 13"),0):Oi(e,t,a,n,i)},manualVehicleEngineAndLights:zo,blockIpAddress:yr,unBlockIpAddress:Ir,getServerTickRate:Wi,addSimpleModel(e,t,a,n,i){return this.checkSimpleModel(e,t,a,n,i)?Ih(e,t,a,n,i):0},addSimpleModelTimed(e,t,a,n,i,r,s){return this.checkSimpleModel(e,t,a,n,i,r,s)?Ph(e,t,a,n,i,r,s):0},checkSimpleModel(e,t,a,n,i,r,s){return e<-1?(l.error("[GameMode]: AddSimpleModel - Error virtual world"),0):t<0?(l.error("[GameMode]: AddSimpleModel - Error baseId"),0):a>-1e3||a<-3e4?(l.error("[GameMode]: AddSimpleModel - Error newId range"),0):n.trim().length<0?(l.error("[GameMode]: AddSimpleModel - Empty dffName"),0):i.trim().length<0?(l.error("[GameMode]: AddSimpleModel - Empty txdName"),0):r!==void 0&&(r<0||r>23)?(l.error("[GameMode]: AddSimpleModel - Error time on range"),0):s!==void 0&&(s<0||s>23)?(l.error("[GameMode]: AddSimpleModel - Error time off range"),0):1},isValidCustomModel:ct,getCustomModePath:Nh,getConsoleVarAsString(e,t="utf8"){const a=_i(e);return A.decodeFromBuf(A.getValidStr(a),t)},getRestartTime:yi,setRestartTime:Si,allowAdminTeleport:ri,isAdminTeleportAllowed:si,allowInteriorWeapons:li,areInteriorWeaponsAllowed:oi,areAllAnimationsEnabled:di,enableAllAnimations:ci,enableStuntBonusForAll:Ki,enableVehicleFriendlyFire:vi,enableZoneNames:Gi,disableInteriorEnterExits:Fi,setGameModeText:Ei,getGravity:Ri,setGravity:wi,showNameTags:Ci,disableNameTagLOS:Mi,usePlayerPedAnims:Bi,showPlayerMarkers:Di,limitPlayerMarkerRadius:Hi,limitGlobalChatRadius:xi,setNameTagDrawDistance:ki,findModelFileNameFromCRC:Ah,findTextureFileNameFromCRC:Th,getWeaponName:Yi,setObjectsDefaultCameraCollision:yh,vectorSize:Ti,clearBanList:Tr,isBanned:Er,isValidNickName:Qn,allowNickNameCharacter:qn,isNickNameCharacterAllowed:ei,addServerRule:ti,setServerRule:ai,isValidServerRule:ni,removeServerRule:ii,getWeaponSlot:Xi,getAvailableClasses:rt,getPlayerClass:$i,editPlayerClass:zi,toggleChatTextReplacement:Zi,chatTextReplacementToggled:ji,getConsoleVarAsInt:hi,getConsoleVarAsBool:ui,getWeather:mi,getServerRuleFlag:pi,setServerRuleFlags:gi};const D={onInit:xt,onExit:Ht,onIncomingConnection:jh,onRconCommand:Xh,onRconLoginAttempt:Yh,...Jh};var Qh=Object.defineProperty,qh=(e,t,a)=>t in e?Qh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,w=(e,t,a)=>(qh(e,typeof t!="symbol"?t+"":t,a),a);const[Vt]=h({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:m.getInstance(e),actionId:t,memAddr:a,data:n}}}),Wt=class je{constructor(t){this.id=t,w(this,"charset","ISO-8859-1"),w(this,"locale","en_US"),w(this,"lastDrunkLevel",0),w(this,"lastFps",0),w(this,"lastUpdateTick",0),w(this,"lastUpdateFpsTick",0),w(this,"isPaused",!1),w(this,"isRecording",!1)}sendClientMessage(t,a){return kt(this,t,a)}static sendClientMessageToAll(t,a){Gh(je.getInstances(),t,a)}sendMessageToPlayer(t,a){return Mt(t,this.id,a)}sendMessageToAll(t){return Bh(je.getInstances(),this.id,t)}isNpc(){return is(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return Ds(this.id)}setDrunkLevel(t){if(t<0||t>5e4)return l.error(new Error("[Player]: player's drunk level ranges from 0 to 50000"));bs(this.id,t)}allowTeleport(t){zr(this.id,t)}isTeleportAllowed(){return Jr(this.id)}enableCameraTarget(t){jl(this.id,t)}enableStuntBonus(t){Cl(this.id,t)}getInterior(){return us(this.id)}setInterior(t){return hs(this.id,t)}showNameTag(t,a){xl(this.id,t.id,a)}setColor(t){Ns(this.id,t)}getColor(){return vs(this.id)}setMarker(t,a){kl(this.id,t.id,a)}getMarker(t){return Ml(this.id,t.id)}resetMoney(){return ks(this.id)}getMoney(){return Ms(this.id)}giveMoney(t){return Fs(this.id,t)}resetWeapons(){return Os(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):tr(this.id)}setHealth(t){return ms(this.id,t)}getHealth(){return ps(this.id)}toggleClock(t){return Zs(this.id,t)}toggleControllable(t){return pl(this.id,t)}toggleSpectating(t){return Ll(this.id,t)}spectatePlayer(t,a=ce.NORMAL){return Rl(this.id,t.id,a)}spectateVehicle(t,a=ce.NORMAL){return wl(this.id,t.id,a)}forceClassSelection(){Xs(this.id)}kick(){mr(this.id)}ban(){pr(this.id)}banEx(t,a){xh(this.id,t,a)}isAdmin(){return hr(this.id)}isInRangeOfPoint(t,a,n,i){return ds(this.id,t,a,n,i)}isStreamedIn(t){return _s(this.id,t.id)}setSkin(t,a=!1){return!a&&(t<0||t>311||t==74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===Ee.DUCK?0:Ls(this.id,t)}getSkin(){return Rs(this.id)}isInAnyVehicle(){return Gl(this.id)}getSpecialAction(){return Pl(this.id)}setSpecialAction(t){return fl(this.id,t)}setScore(t){return Es(this.id,t)}getScore(){return Cs(this.id)}getPing(){return Hs(this.id)||0}setPos(t,a,n){return st(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===j.NONE)return;const[t,a,n]=ss(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===j.SPECTATING}isWasted(){return this.getState()===j.WASTED}getState(){return xs(this.id)}getVersion(){return this.isNpc()?"":br(this.id)}setVirtualWorld(t){return Tl(this.id,t)}getVirtualWorld(){return El(this.id)}removeFromVehicle(){return ml(this.id)}setWantedLevel(t){return t<0||t>6?(l.error("[Player]: player's wanted level ranges from 0 to 6"),0):Ys(this.id,t)}getWantedLevel(){return $s(this.id)}setFacingAngle(t){return ls(this.id,t)}getFacingAngle(){return os(this.id)}setWeather(t){if(t<0||t>255){l.warn("[Player]: The valid weather value is only 0 to 255");return}js(this.id,t)}getWeather(){return Rr(this.id)}setTime(t,a){if(t<0||t>23){l.warn("[Player]: The valid hour value is only 0 to 23");return}if(a<0||a>59){l.warn("[Player]: The valid minute value is only 0 to 59");return}return Us(this.id,t,a)}getTime(){const[t,a]=Ks(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,i,r){ol(this.id,t,a,n,i,r)}setTeam(t){t<0||t>C.NO_TEAM||As(this.id,t)}getTeam(){return Ts(this.id)}setSkillLevel(t,a){if(a<0||a>999){l.warn("[Player]: The valid skill level is only 0 to 999");return}il(this.id,t,a)}getName(){return kh(this)}setName(t){return Mh(this,t)}setVelocity(t,a,n){return Qs(this.id,t,a,n)}getVelocity(){const[t,a,n]=qs(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:i}=this.getVelocity();return D.vectorSize(a,n,i)*t}getKeys(){const[t,a,n]=Ws(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return Dr(this.id)}getFightingStyle(){return Js(this.id)}setFightingStyle(t){zs(this.id,t)}setArmour(t){return gs(this.id,t)}getArmour(){return Ss(this.id)}setCameraBehind(){return Wl(this.id)}setCameraPos(t,a,n){return Hl(this.id,t,a,n)}setCameraLookAt(t,a,n,i){return Vl(this.id,t,a,n,i)}getCameraAspectRatio(){return $l(this.id)}getCameraFrontVector(){const[t,a,n]=Kl(this.id);return{x:t,y:a,z:n}}getCameraMode(){return Zl(this.id)}getCameraPos(){const[t,a,n]=Ul(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(t){const a=Yl(this.id);return t.find(n=>n.id===a)}getCameraTargetVehicle(t){const a=Xl(this.id);return t.find(n=>n.id===a)}getCameraZoom(){return zl(this.id)}playAudioStream(t,a=0,n=0,i=0,r=5){let s=!1;return(a!==0||n!==0||i!==0)&&(s=!0),tl(this.id,t,a,n,i,r,s)}stopAudioStream(){al(this.id)}playSound(t,a=0,n=0,i=0){return gl(this.id,t,a,n,i)}static getMaxPlayers(){return Ai()}playCrimeReport(t,a){return a<3||a>22?(l.warn("[Player]: Available crime ids range from 3 to 22"),0):el(this.id,t.id,a)}interpolateCameraPos(t,a,n,i,r,s,o,d=de.CUT){Jl(this.id,t,a,n,i,r,s,o,d)}interpolateCameraLookAt(t,a,n,i,r,s,o,d=de.CUT){Ql(this.id,t,a,n,i,r,s,o,d)}createExplosion(t,a,n,i,r){return i<0||i>13?(l.error("[Player]: The valid explosion type value is only 0 to 13"),0):bl(this.id,t,a,n,i,r)}static isConnected(t){return lt(t)}isConnected(){return lt(this.id)}disableRemoteVehicleCollisions(t){return Al(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const a=hl(this.id);return t.find(n=>n.id===a)}getVehicleSeat(){return ul(this.id)}getSurfingVehicle(t){const a=rl(this.id);if(a!==C.VEHICLE_ID)return t.find(n=>n.id===a)}applyAnimation(t,a,n=!1,i=!0,r=!0,s=!1,o=!1){const d=Ft(t,a);if(d===void 0)return l.error("[Player]: Invalid anim library or name");Sl(this.id,t,a,4.1,n,i,r,s,n?0:d,o)}clearAnimations(t=!1){yl(this.id,t)}getAnimationIndex(){return Il(this.id)}getAnimationName(){const[t,a]=Ui(this.getAnimationIndex());return{animLib:t,animName:a}}setShopName(t){nl(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(i=>{st(this.id,t,a,n),setTimeout(()=>i(rs(this.id,t,a,n)))})}setWorldBounds(t,a,n,i){Bl(this.id,t,a,n,i)}clearWorldBounds(){return Fl(this.id)}setChatBubble(t,a,n,i){cl(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return cs(this.id,t,a,n)}getCustomSkin(){return Dl(this.id)}getTargetPlayer(t){const a=fs(this.id);if(a!==C.PLAYER_ID)return t.find(n=>n.id===a)}getLastShotVectors(){const[t,a,n,i,r,s]=dl(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:i,fHitPosY:r,fHitPosZ:s}}getWeapon(){return Vs(this.id)}getWeaponData(t){if(t<0||t>12){l.error("[Player]: weapon slots range from 0 to 12");return}const[a,n]=Bs(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return Ps(this.id)}giveWeapon(t,a){return ws(this.id,t,a)}setAmmo(t,a){return ys(this.id,t,a)}getAmmo(){return Is(this.id)}setArmedWeapon(t){return Gs(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(C.PLAYER_ID,C.PLAYER_ID,Ce.CONNECT)}sendDeathMessage(t,a){fi(t===C.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){as(this.id,t===C.PLAYER_ID?t:t.id,a===C.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,i,r,s,o,d,c,u,p,S){t<0||t>C.NO_TEAM||a<0||a>311||a==74||d<0||u<0||S<0||er(this.id,t,a,n,i,r,s,o,d,c,u,p,S)}redirectDownload(t){return fh(this.id,t)}sendClientCheck(t,a,n,i){const r=[2,5,69,70,71,72];return r.includes(t)?new Promise((s,o)=>{if(this.isPaused)return o("[Player]: An attempt to check the player client response, but the player paused the game");const d="[Player]: An attempt to check the player client response timed out",c=this.getPing(),u=(c>=200?0:c)+200;let p=null;const S=Vt(({player:f,actionId:T,memAddr:v,data:x,next:le})=>{if(f!==this)return le();p?(clearTimeout(p),p=null,o(d)):s({actionId:T,memAddr:v,data:x});const ia=le();return S(),ia});p=setTimeout(()=>{S(),o(d)},u),Ar(this.id,t,a,n,i)}):l.error(`[Player]: sendClientCheck valid types are ${r.toString()}`)}selectTextDraw(t){b_(this.id,t)}cancelSelectTextDraw(){N_(this.id)}beginObjectSelecting(){gh(this.id)}endObjectEditing(){Sh(this.id)}getSurfingObject(t){const a=sl(this.id);if(a!==C.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=ll(this.id);if(a!==C.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return bh(this.id,t)}editAttachedObject(t){return ph(this.id,t)}setAttachedObject(t,a,n,i=0,r=0,s=0,o=0,d=0,c=0,u=1,p=1,S=1,f=0,T=0){return this.isAttachedObjectSlotUsed(t)?0:Ch(this.id,t,a,n,i,r,s,o,d,c,u,p,S,f,T)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?Dh(this.id,t):0}getAnimationFlags(){return samp.callNative("GetPlayerAnimationFlags","i",this.id)}getLastSyncedTrailerID(){return samp.callNative("GetPlayerLastSyncedTrailerID","i",this.id)}getLastSyncedVehicleID(){return samp.callNative("GetPlayerLastSyncedVehicleID","i",this.id)}toggleWidescreen(t){return Nr(this.id,t)}isWidescreenToggled(){return vr(this.id)}getSpawnInfo(){return ar(this.id)}getSkillLevel(t){return Lr(this.id,t)}isCheckpointActive(){return xd(this.id)}getCheckpoint(){return Hd(this.id)}isRaceCheckpointActive(){return Vd(this.id)}getRaceCheckpoint(){return Wd(this.id)}getWorldBounds(){wr(this.id)}isInModShop(){return Gd(this.id)}getSirenState(){return Bd(this.id)}getLandingGearState(){return Fd(this.id)}getHydraReactorAngle(){return kd(this.id)}getTrainSpeed(){return Md(this.id)}getZAim(){return Or(this.id)}getSurfingOffsets(){return Gr(this.id)}getRotationQuat(){return Br(this.id)}getDialogID(){return Fr(this.id)}getSpectateID(){return kr(this.id)}getSpectateType(){return Mr(this.id)}getRawIp(){return Cr(this.id)}setGravity(t){return xr(this.id,t)}getGravity(){return Hr(this.id)}setAdmin(t){return ur(this.id,t)}isSpawned(){return Vr(this.id)}isControllable(){return Wr(this.id)}isCameraTargetEnabled(){return Ur(this.id)}toggleGhostMode(t){return Kr(this.id,t)}getGhostMode(){return Zr(this.id)}getBuildingsRemoved(){return jr(this.id)}getAttachedObject(t){return Eh(this.id,t)}removeWeapon(t){return Xr(this.id,t)}isUsingOfficialClient(){return $r(this.id)}allowWeapons(t){return Qr(this.id,t)}areWeaponsAllowed(){return qr(this.id)}gpci(t=this.charset){return fr(this.id,t)}isCuffed(){return ql(this.id)}isInDriveByMode(){return eo(this.id)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}};w(Wt,"players",new Map);let m=Wt;var eu=Object.defineProperty,tu=(e,t,a)=>t in e?eu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,te=(e,t,a)=>(tu(e,typeof t!="symbol"?t+"":t,a),a);const[Ut]=h({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),dialogId:t,response:a,listItem:n,buffer:i}}});Ut(({next:e,player:t,dialogId:a,response:n,listItem:i,buffer:r})=>{const s=ve.waitingQueue.get(t);return!s||s.showId!==a||setTimeout(()=>s.resolve({response:n,listItem:i,buffer:r})),e()});const _e=class N{constructor(t={style:Te.MSGBOX,caption:"",info:"",button1:"",button2:""}){te(this,"id",-1),te(this,"dialog"),this.dialog=t}get style(){return this.dialog.style}set style(t){this.dialog.style=t}get caption(){return this.dialog.caption}set caption(t){this.dialog.caption=t}get info(){return this.dialog.info}set info(t){this.dialog.info=t}get button1(){return this.dialog.button1}set button1(t){this.dialog.button1=t}get button2(){return this.dialog.button2}set button2(t){this.dialog.button2=t}static delDialogTask(t,a=!1){const n=N.waitingQueue.get(t);if(!n)return!1;a&&n.reject("[Dialog]: player timeout does not respond or second request show dialog"),N.waitingQueue.delete(t);const i=N.showingIds.indexOf(n.showId);return i>-1&&N.showingIds.splice(i,1),!0}show(t){return new Promise((a,n)=>{for(N.close(t);(this.id===-1||N.showingIds.includes(this.id))&&N.showingIds.length!==N.max_dialogId;)this.id=Math.floor(Math.random()*(N.max_dialogId+1));if(this.id===-1){n("[Dialog]: The maximum number of dialogs is reached");return}N.showingIds.push(this.id),N.waitingQueue.set(t,{resolve:a,reject:n,showId:this.id}),Fh(t,this.id,this.dialog)}).then(a=>{const{response:n,listItem:i}=a,r=A.decodeFromBuf(a.buffer,t.charset);return Promise.resolve({response:n,listItem:i,inputText:r})}).catch(a=>Promise.reject(a)).finally(()=>N.delDialogTask(t))}static close(t){N.delDialogTask(t,!0),Yr(t.id)}};te(_e,"showingIds",[]),te(_e,"max_dialogId",32767),te(_e,"waitingQueue",new Map);let ve=_e;const[Kt]=h({name:"OnPlayerConnect",beforeEach(e){const t=new m(e);return m.players.set(e,t),ve.close(t),{player:t}}}),[Zt]=h({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:m.players.get(e),reason:t}},afterEach({player:e}){m.players.delete(e.id)}}),[jt]=h({name:"OnPlayerUpdate",beforeEach(e){return{player:m.getInstance(e)}}}),[au]=h({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=m.getInstance(e);return{player:a,text:A.decodeFromBuf(t,a.charset),buffer:t}}}),[nu]=h({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:m.getInstance(e),enterExit:!!t,interior:a}}}),[iu]=h({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:m.getInstance(e),fX:t,fY:a,fZ:n}}}),[ru]=h({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:m.getInstance(e),clickedPlayer:m.getInstance(t),source:a}}}),[su]=h({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:m.getInstance(e),killer:m.getInstance(t)||C.PLAYER_ID,reason:a}}}),[lu]=h({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),damage:m.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),[ou]=h({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newKeys:t,oldKeys:a}}}),[du]=h({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:m.getInstance(e),classId:t}}}),[cu]=h({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[_u]=h({name:"OnPlayerSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[hu]=h({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newState:t,oldState:a}}}),[uu]=h({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[mu]=h({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[pu]=h({name:"OnPlayerTakeDamage",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),damage:m.getInstance(t)||C.PLAYER_ID,amount:a,weapon:n,bodyPart:i}}}),[gu]=h({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:m.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[Su]=h({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:m.getInstance(e),type:t,crc:a}}}),[yu]=h({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:m.getInstance(e),virtualWorld:t}}});let ae=null;const[Iu,Pu]=h({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[fu,Au]=h({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}});Kt(({next:e})=>(!ae&&m.getInstances().length&&(ae=setInterval(()=>{m.getInstances().filter(t=>{const a=t.getState()!==j.NONE;return!t.isPaused&&!t.isNpc()&&a}).forEach(t=>{Date.now()-t.lastUpdateTick>1e3&&(t.isPaused=!0,Pu(t,t.lastUpdateTick))})},500)),e())),Zt(({next:e})=>(ae&&m.getInstances().length<=1&&(clearInterval(ae),ae=null),e()));function Tu(e){if(!m.isConnected(e.id))return;const t=Date.now();if(t-e.lastUpdateFpsTick>=1e3){const a=e.getDrunkLevel();if(a<100){e.setDrunkLevel(2e3),e.lastDrunkLevel=2e3,e.lastFps=0;return}e.lastUpdateFpsTick=t,e.lastFps=e.lastDrunkLevel-a-1,e.lastDrunkLevel=a}}jt(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,Au(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,Tu(e)}return t()});const $=new Map,Xt=/[^/\s]+/gi,Le={NOT_EXIST:{code:1,msg:"command does not exist"},REJECTED:{code:2,msg:"An event registered through onCommandText returned false"},PERFORMED:{code:3,msg:"An event registered through onCommandPerformed returned false"}},[Eu,Cu]=h({name:"OnCommandReceived",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Du,bu]=h({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Nu,Re]=h({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a){return{player:e,command:t,error:a}}}),[vu]=h({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){return{player:m.getInstance(e),buffer:t}}});function Lu(e){const t=[];let a="";for(let n=0;n<e.length;n++)a+=e[n]+" ",t.push(a.trimEnd());return t.reverse()}vu(({player:e,buffer:t,next:a})=>{const n=A.decodeFromBuf(t,e.charset).match(Xt),i=Lu(n).find(u=>$.get(u)),r=n.join(" ");if(!i)return Re(e,r,Le.NOT_EXIST);const s=Cu(e,r);if(!s)return s;const o=$.get(i),[,d]=o,c=r.replace(i,"").trim().split(" ");return d(e,c)?bu(e,r)?a():Re(e,r,Le.PERFORMED):Re(e,r,Le.REJECTED)});const Yt={on(e,t){const a=Array.isArray(e)?e:[e],n=a.find(r=>!r.match(Xt));if(n)return console.log(`error command ${n} format`),()=>{};const i=a.map(r=>{const s=r.replaceAll("/","");if(!$.has(s)){const d=h({name:s,isNative:!1,beforeEach(c,u){return{player:c,subcommand:u}}});$.set(s,d)}const[o]=$.get(s);return o(t)});return()=>{i.forEach(r=>r())}},off(e){(Array.isArray(e)?e:[e]).forEach(t=>{$.has(t)&&it(t)})}},we=Object.freeze({onConnect:Kt,onDisconnect:Zt,onPause:Iu,onResume:fu,onUpdate:jt,onText:au,onEnterExitModShop:nu,onClickMap:iu,onClickPlayer:ru,onDeath:su,onGiveDamage:lu,onKeyStateChange:ou,onRequestClass:du,onRequestSpawn:cu,onSpawn:_u,onStateChange:hu,onStreamIn:uu,onStreamOut:mu,onTakeDamage:pu,onInteriorChange:gu,onRequestDownload:Su,onFinishedDownloading:yu,onCheckResponse:Vt,onCommandReceived:Eu,onCommandPerformed:Du,onCommandError:Nu,onCommandText:Yt.on,offCommandText:Yt.off,onDialogResponse:Ut}),Ru=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],wu=[[13,18,19,20,21,24],[1,3,4,5,6,7,13,17,19,20,142,143,144,145],[],[],[0,2,7,13,16,17,19,20,21],[0,1,14,18,19,20,21,23],[],[],[],[],[1,3,7,13,17,19,20,21,23,24],[],[],[],[],[1,3,7,17,18,19,23],[],[],[2,6,16,20,21],[],[1,3,4,5,19,21],[0,14,16,18,19,20,21,23],[7,13,17,19,20,21],[],[],[],[1,3,4,5,6,19,21],[],[],[],null,[],[],[],[],[],[1,3,6,7,13,17,19,20,21,22],[],[],[1,3,7,13,17,23,142,143,144,145],[],[],[],[],[],[],null,[],null,null,[],[],null,null,null,[],[],[],[],[],[],null,null,null,[],[],[],[],null,[],[],[],null,null,[],[],[],[6,7,17,18,19,20,21],[4,5,12,13,20,21,22,24],[],[],null,[],[],null,[],[],[],[],[0,2,4,5,6,13,16,18,19,20,24],[],[3,7,14,17,18,19,20,21,23,142,143,144,145],[0,4,5,6,16],null,[],[],[1,2,3,6,7,11,17,19,20,23,142,143],[],[],[],[13,19,20,21,24],[],[],[],[],[],[],[],[],null,null,[],[],[],[],[],[0,2,4,7,15,16,17,18,19,20,21],[2,3,7,16,17,18,19,20,23,142,143,144,145],[1,3,5,6,7,13,17,18,20,23,142,143,144,145],[],[],null,null,null,[],[],[],[1,7,14,15,17,18,20,21],[],[1,3,6,7,11,12,17,18,19,20,23],[],[],[],[],[100,101,106,122,123,124,125,126,127,178,179,180,185],[109,110,113,114,115,116,117,118,119,120,121],[103,104,105,107,108,128,181,182,183,184],null,null,[],[1,4,6,7,17,18,19,20,23,24,142,143,144,145],[],[14,15,18,19,20,21,144,145],[],[],[],[1,2,4,6,7,17,18,19,23,24,142,143,144,145],[0,3,16,18,19,20,21,142,143],[],[1,3,7,11,12,17,18,19,20,23,142,143,144,145],[1,3,4,5,6,18,19,20,23,142,143,144,145],[2,3,5,6,16,18,19,20,21,23],[],[],[],[],[],[],[88,89,90,91,92,93,94,95,163,164,165,166,167,168],[65,66,67,68,69,70,71,72,158,159,160,161,162,173],[26,27,28,29,30,31,32,33,138,139,140,141,169,170],[55,56,57,58,59,60,61,62,63,64,154,155,156,157],[34,35,36,37,38,39,40,41,146,147,148,149,171,172],[],[],[45,46,47,48,49,50,51,52,53,54,150,151,152,153],[],[102,129,130,131,132,133,186,187,188,189],[],null,null,[],[],[],[],[42,43,44,99,174,175,176,177],[134,135,136,137,190,191,192,193],[],[],[],[1,6,7,17,18,20,23],null,[],[],[],[0,1,2,3,6,7,13,14,15,16,17,18,19,20,21,22,23,24,142,143,144,145],null,[],[],[0,4,5,6,7,13,16,17,18,20,24,144,145],null,[],[],[],[],null,[],[],[],[],[4,5,6,7,13,17,18,20,22],[],[],[1,6,7,17,18,19,20,23,24,142,143,144,145],[],[],[],[],[],[],[],[]],Ou=(e,t)=>{if(!Oe(e))return l.error("[vehicleUtils]: Invalid model id"),!1;const a=wu[e-400];if(a===null)return!1;const n=t-1e3;return Ru.includes(n)||a.includes(n)},Oe=e=>e>=400&&e<=611,Gu=(e,t)=>{if(t<0||t>2)return!1;const a=new Map([[483,0],[534,2],[535,2],[536,2],[558,2],[559,2],[560,2],[561,2],[562,2],[565,2],[567,2],[575,1],[576,2]]).get(e);return a===void 0?!1:t<=a};var Bu=Object.defineProperty,Fu=(e,t,a)=>t in e?Bu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,O=(e,t,a)=>(Fu(e,typeof t!="symbol"?t+"":t,a),a);const W=class k{constructor(t,a=!1){O(this,"sourceInfo"),O(this,"isStatic"),O(this,"_id",-1),this.sourceInfo=t,this.isStatic=a}get id(){return this._id}create(t=!1){if(this.id!==-1)return l.warn("[Vehicle]: Unable to create the vehicle again");if(k.createdCount===L.MAX_VEHICLES)return l.warn("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:a,x:n,y:i,z:r,z_angle:s,color:o,respawn_delay:d,addSiren:c}=this.sourceInfo;if(!(!t&&!Oe(a))){if(this.isStatic){if(d===void 0){this._id=vd(a,n,i,r,s,o[0],o[1]);return}this._id=Ld(a,n,i,r,s,o[0],o[1],d||-1,c||!1)}else this._id=Ho(a,n,i,r,s,o[0],o[1],d||-1,c||!1);k.createdCount++,k.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)return l.warn("[Vehicle]: Unable to destroy the vehicle before create");Vo(this.id),k.createdCount--,k.vehicles.delete(this._id),this._id=-1}addComponent(t){return this.id===-1?0:Ou(this.getModel(),t)?sd(this.id,t):(l.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(k.getComponentType(t))===0?(l.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):ld(this.id,t)}getComponentInSlot(t){return yd(this.id,t)}linkToInterior(t){return this.id===-1?0:rd(this.id,t)}setVirtualWorld(t){return this.id===-1?0:bd(this.id,t)}getVirtualWorld(){return this.id===-1?0:Nd(this.id)}repair(){return this.id===-1?0:Pd(this.id)}setPos(t,a,n){return this.id===-1?0:Ko(this.id,t,a,n)}getPos(){if(this.id!==-1)return Uo(this.id)}getHealth(){return this.id===-1?0:_d(this.id)}setHealth(t){return this.id===-1?0:cd(this.id,t)}isPlayerIn(t){return this.id===-1?!1:Ol(t.id,this.id)}putPlayerIn(t,a){return this.id===-1||a<0?0:(a>4&&l.warn("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle."),_l(t.id,this.id,a))}getZAngle(){return this.id===-1?0:Zo(this.id)}setZAngle(t){return this.id===-1?0:Yo(this.id,t)}setNumberPlate(t){return this.id===-1?0:t.length<1||t.length>32?(l.error("[Vehicle]: The length of the number plate ranges from 32 characters"),0):/^[a-zA-Z0-9]+$/.test(t)?gd(this.id,t):(l.error("[Vehicle]: number plates only allow letters and numbers"),0)}changeColors(t,a){return this.id===-1?0:od(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:Ad(this.id,t,a,n)}getVelocity(){if(this.id===-1)return;const[t,a,n]=fd(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:i}=this.getVelocity();return D.vectorSize(a,n,i)*t}setAngularVelocity(t,a,n){return this.id===-1?0:Td(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return Ed(this.id)}updateDamageStatus(t,a,n,i){this.id!==-1&&Cd(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return Xo(this.id,t,a,n)}getModel(){return Sd(this.id)}static getModelInfo(t,a){return Dd(t,a)}getModelInfo(t){if(this.id!==-1)return k.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,n,i]=jo(this.id);return{w:t,x:a,y:n,z:i}}setRespawn(){return this.id===-1?0:id(this.id)}isStreamedIn(t){return this.id===-1?!1:Wo(this.id,t.id)}setParamsCarDoors(t,a,n,i){return this.id===-1?0:ed(this.id,t,a,n,i)}setParamsCarWindows(t,a,n,i){return this.id===-1?0:ad(this.id,t,a,n,i)}getParamsCarDoors(){if(this.id!==-1)return td(this.id)}getParamsCarWindows(){if(this.id!==-1)return nd(this.id)}setParamsEx(t,a,n,i,r,s,o){return this.id===-1?0:Jo(this.id,t,a,n,i,r,s,o)}getParamsEx(){if(this.id===-1)return;const[t,a,n,i,r,s,o]=Qo(this.id);return{engine:t,lights:a,alarm:n,doors:i,bonnet:r,boot:s,objective:o}}getParamsSirenState(){return this.id===-1?-2:qo(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:$o(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:md(this.id)}changePaintjob(t){return this.id===-1||!Gu(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),dd(this.id,t),1)}attachTrailer(t){return this.id===-1?0:hd(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&ud(this.id)}getTrailer(){if(this.id!==-1)return k.getInstances().find(t=>t.id===pd(this.id))}isValid(){return dt(this.id)}getMatrix(){if(this.id!==-1)return Mo(this.id)}getTrainSpeed(){return this.id===-1?0:ko(this.id)}getHydraReactorAngle(){return this.id===-1?0:Fo(this.id)}getLandingGearState(){return this.id===-1?0:Bo(this.id)}getSirenState(){return this.id===-1?0:Go(this.id)}getDriver(t){if(this.id!==-1)return t.get(wo(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(Ro(this.id))}isSirenEnabled(){return vo(this.id)}toggleSirenEnabled(t){return this.id===-1?0:bo(this.id,t)}setParamsSirenState(t){return this.id===-1?0:No(this.id,t)}isDead(){return this.id===-1?!0:Eo(this.id)}setDead(t){return this.id===-1?!1:Co(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:Do(this.id,t)}getRespawnTick(){return this.id===-1?0:Ao(this.id)}setRespawnTick(t){return this.id===-1?!1:To(this.id,t)}isOccupied(){return this.id===-1?!1:fo(this.id)}hasBeenOccupied(){return this.id===-1?!1:Po(this.id)}getOccupiedTick(){return this.id===-1?0:yo(this.id)}setOccupiedTick(t){return this.id===-1?0:Io(this.id,t)}getCab(){return this.id===-1?0:So(this.id)}getRespawnDelay(){return this.id===-1?0:go(this.id)}setRespawnDelay(t){return this.id===-1?0:po(this.id,t)}getNumberPlate(){return this.id===-1?"":mo(this.id)}getInterior(){return this.id===-1?0:uo(this.id)}getPaintjob(){return this.id===-1?-1:ho(this.id)}getColors(){if(this.id!==-1)return _o(this.id)}setSpawnInfo(t,a,n,i,r,s,o,d=-2,c=-2,u=!1){return this.id===-1||!u&&!Oe(t)?0:co(this.id,t,a,n,i,r,P(s),P(o),d,c)}getSpawnInfo(){if(this.id!==-1)return oo(this.id)}getRandomColorPair(){if(this.id!==-1)return ot(this.getModel())}show(){return this.id===-1?!1:Rd(this.id)}hide(){return this.id===-1?!1:wd(this.id)}isHidden(){return this.id===-1?!1:Od(this.id)}static getRandomColorPair(t){return ot(t)}static isValid(t){return dt(t)}static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}};O(W,"vehicles",new Map),O(W,"createdCount",0),O(W,"getComponentType",Id),O(W,"colorIndexToColor",xo),O(W,"getModelsUsed",Oo),O(W,"getModelCount",Lo);let b=W;D.onExit(({next:e})=>(b.getInstances().forEach(t=>t.destroy()),e()));const[ku]=h({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:b.getInstance(e),player:m.getInstance(t)}}}),[Mu]=h({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:b.getInstance(e),killer:m.getInstance(t)}}}),[xu]=h({name:"OnVehicleMod",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:b.getInstance(t),componentId:a}}}),[Hu]=h({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:b.getInstance(t),paintjobId:a}}}),[Vu]=h({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:m.getInstance(e),vehicle:b.getInstance(t),color:[a,n]}}}),[Wu]=h({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:b.getInstance(t),state:!!a}}}),[Uu]=h({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:b.getInstance(e)}}}),[Ku]=h({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:b.getInstance(e),forPlayer:m.getInstance(t)}}}),[Zu]=h({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:b.getInstance(e),forPlayer:m.getInstance(t)}}}),[ju]=h({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:b.getInstance(t),isPassenger:!!a}}}),[Xu]=h({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:m.getInstance(e),vehicle:b.getInstance(t)}}}),[Yu]=h({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:b.getInstance(e),seatId:t}}}),[$u]=h({name:"OnNpcExitVehicle"}),[zu]=h({name:"OnTrailerUpdate",beforeEach(e,t){return{player:m.getInstance(e),vehicle:b.getInstance(t)}}}),Ju=Object.freeze({onDamageStatusUpdate:ku,onDeath:Mu,onMod:xu,onPaintjob:Hu,onRespray:Vu,onSirenStateChange:Wu,onSpawn:Uu,onStreamIn:Ku,onStreamOut:Zu,onPlayerEnter:ju,onPlayerExit:Xu,onNpcEnter:Yu,onNpcExit:$u,onTrailerUpdate:zu});class Qu{constructor(){}static getNetworkStats(){return Sr()}static getPlayerNetworkStats(t){return gr(t.id)}static getBytesReceived(t){return rr(t.id)}static getBytesSent(t){return lr(t.id)}static getConnectionStatus(t){return cr(t.id)}static getConnectedTime(t){return nr(t.id)}static getIpPort(t){return _r(t.id)}static getMessagesReceived(t){return ir(t.id)}static getMessagesRecvPerSecond(t){return or(t.id)}static getMessagesSent(t){return sr(t.id)}static getPacketLossPercent(t){return dr(t.id)}}var qu=Object.defineProperty,em=(e,t,a)=>t in e?qu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ge=(e,t,a)=>(em(e,typeof t!="symbol"?t+"":t,a),a);class tm{constructor(t,a,n){Ge(this,"_text"),Ge(this,"_time"),Ge(this,"_style"),this._text=t,this._time=a,this._style=n}get text(){return this._text}set text(t){this._text=t}get time(){return this._time}set time(t){this._time=t}get style(){return this._style}set style(t){this._style=t}static hideForAll(t){Pi(t)}static has(t,a){return ts(t.id,a)}forAll(){Ii(this.text,this.time,this.style)}forPlayer(t){es(t.id,this.text,this.time,this.style)}hideForPlayer(t){return ns(t.id,this.style)}}var am=Object.defineProperty,nm=(e,t,a)=>t in e?am(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,G=(e,t,a)=>(nm(e,typeof t!="symbol"?t+"":t,a),a);const $t=class ge{constructor(t,a,n,i,r,s){G(this,"_itemCount",0),G(this,"_id",-1),G(this,"_title"),G(this,"_columns",1),G(this,"_x"),G(this,"_y"),G(this,"_col1width"),G(this,"_col2width"),this._title=t,this.columns=a,this._x=n,this._y=i,this._col1width=r,this._col2width=s}get itemCount(){return this._itemCount}get id(){return this._id}get title(){return this._title}set title(t){this._title=t}get columns(){return this._columns}set columns(t){if(t!==1&&t!==2){l.error("[Menu]: The menu column number interval is between 1 and 2");return}this._columns=t}get x(){return this._x}set x(t){this._x=t}get y(){return this._y}set y(t){this._y=t}get col1width(){return this._col1width}set col1width(t){this._col1width=t}get col2width(){return this._col2width}set col2width(t){this._col2width=t}create(){return this._id!==-1?l.error("[Menu]: Cannot be created twice"):ge.getInstances().length===L.MAX_MENUS?l.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=zd(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),ge.menus.set(this._id,this),this)}destroy(){return this._id===-1?l.error("[Menu]: Cannot destroy before create"):(Jd(this.id),ge.menus.delete(this._id),this._id=-1,this)}addItem(t,a){return this._id===-1?l.error("[Menu]: Cannot addItem before create"):this._itemCount===L.MAX_MENU_ROW?l.error("[Menu]: The maximum number of items allowed to be added has been reached 12"):t!==0&&t!==1?l.error("[Menu]: Wrong number of columns"):(Qd(this.id,t,a),this._itemCount++,this)}setColumnHeader(t,a){return this._id===-1?l.error("[Menu]: Cannot setColumnHeader before create"):t!==0&&t!==1?l.error("[Menu]: Wrong number of columns"):(qd(this.id,t,a),this)}disable(){return this._id===-1?l.error("[Menu]: Cannot disable menu before create"):(nc(this.id),this)}disableRow(t){if(this._id===-1)return l.error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)return l.error("[Menu]: Wrong number of rows");ic(this.id,t)}isValid(){return ac(this.id)}showForPlayer(t){return this._id===-1?l.error("[Menu]: Cannot show menu before create"):ec(this.id,t.id)}hideForPlayer(t){return this._id===-1?l.error("[Menu]: Cannot hide menu before create"):tc(this.id,t.id)}isDisabled(){return this._id===-1?!1:Ud(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:Kd(this.id,t)}getItems(t){return this._id===-1?0:Zd(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:jd(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:Xd(this.id)}getColumnHeader(t){return this._id===-1?l.error("[Menu]: Cannot get column header before create"):Yd(this.id,t)}getItem(t,a){if(this._id===-1)return l.error("[Menu]: Cannot get item before create");if(!(a<0||a>this.getItems(t)-1))return $d(this.id,t,a)}static getInstance(t){return this.menus.get(t)}static getInstances(){return[...this.menus.values()]}static getInstanceByPlayer(t){return this.getInstances().find(a=>a.id===rc(t.id))}};G($t,"menus",new Map);let Be=$t;D.onExit(({next:e})=>(Be.getInstances().forEach(t=>t.destroy()),e()));const[im]=h({name:"OnPlayerExitedMenu",beforeEach(e){return{player:m.getInstance(e)}}}),[rm]=h({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=m.getInstance(e),n=Be.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),sm=Object.freeze({onPlayerExited:im,onPlayerSelectedRow:rm});var lm=Object.defineProperty,om=(e,t,a)=>t in e?lm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,he=(e,t,a)=>(om(e,typeof t!="symbol"?t+"":t,a),a);const Fe=class Z{constructor(t){he(this,"sourceInfo"),he(this,"_id",-1),this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return l.warn("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(Z.getInstances(!1).length===L.MAX_GANG_ZONES)return l.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:i,maxY:r}=this.sourceInfo;this._id=Ec(t.id,a,n,i,r);const s=we.onDisconnect(({player:o,next:d})=>{d(),o===this.sourceInfo.player&&(this.destroy(),s())});Z.playerGangZones.set(this.id,this)}else{if(Z.getInstances(!0).length===L.MAX_GANG_ZONES)return l.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:i,maxY:r}=this.sourceInfo;this._id=mc(a,n,i,r),Z.globalGangZones.set(this.id,this)}}destroy(){if(this.id===-1)return l.warn("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(Cc(t.id,this.id),Z.playerGangZones.delete(this.id)):(pc(this.id),Z.globalGangZones.delete(this.id)),this._id=-1}showForAll(t){return this.id===-1?l.warn("[GangZone]: Unable to show the gangzone before create"):this.sourceInfo.player?l.warn("[GangZone]: player's gangzone should not be show for all."):(Sc(this.id,t),this)}showForPlayer(t,a){if(this.id===-1)return l.warn("[GangZone]: Unable to show the gangzone before create");const n=this.sourceInfo.player;if(n)Dc(n.id,this.id,P(t));else if(a)gc(a.id,this.id,t);else return l.warn("[GangZone]: invalid player for show");return this}hideForAll(){return this.id===-1?l.warn("[GangZone]: Unable to hide the gangzone before create"):this.sourceInfo.player?l.warn("[GangZone]: player's gangzone should not be hide for all."):(Ic(this.id),this)}hideForPlayer(t){if(this.id===-1)return l.warn("[GangZone]: Unable to hide the gangzone before create");const a=this.sourceInfo.player;if(a)bc(a.id,this.id);else if(t)yc(t.id,this.id);else return l.warn("[GangZone]: invalid player for hide");return this}flashForAll(t){return this.id===-1?l.warn("[GangZone]: Unable to flash the gangzone before create"):this.sourceInfo.player?l.warn("[GangZone]: player's gangzone should not be flash for all."):(fc(this.id,t),this)}flashForPlayer(t,a){if(this.id===-1)return l.warn("[GangZone]: Unable to flash the gangzone before create");const n=this.sourceInfo.player;if(n)Nc(n.id,this.id,P(a));else if(t)Pc(t.id,this.id,a);else return l.warn("[GangZone]: invalid player for flash");return this}stopFlashForAll(){return this.id===-1?l.warn("[GangZone]: Unable to stop flash the gangzone before create"):this.sourceInfo.player?l.warn("[GangZone]: player's gangzone should not be stop flash for all."):(Tc(this.id),this)}stopFlashForPlayer(t){if(this.id===-1)return l.warn("[GangZone]: Unable to stop flash the gangzone before create");const a=this.sourceInfo.player;if(a)vc(a.id,this.id);else if(t)Ac(t.id,this.id);else return l.warn("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Lc(t.id,this.id):sc(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Rc(a.id,this.id):lc(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?wc(a.id,this.id):oc(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)return l.warn("[GangZone]: Unable to get color before create");const a=this.sourceInfo.player;return a?Oc(a.id,this.id):dc(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)return l.warn("[GangZone]: Unable to get flash color before create");const a=this.sourceInfo.player;return a?Gc(a.id,this.id):cc(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Bc(a.id,this.id):_c(t.id,this.id)}getPos(){if(this.id===-1)return l.warn("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?Fc(t.id,this.id):hc(this.id)}useCheck(t){if(this.id===-1)return l.warn("[GangZone]: Unable to use check before create");const a=this.sourceInfo.player;return a?kc(a.id,this.id,t):uc(this.id,t),this}static getInstance(t,a){return a?this.globalGangZones.get(t):this.playerGangZones.get(t)}static getInstances(t){return t?[...this.globalGangZones.values()]:[...this.playerGangZones.values()]}};he(Fe,"globalGangZones",new Map),he(Fe,"playerGangZones",new Map);let B=Fe;D.onExit(({next:e})=>(B.getInstances(!0).forEach(t=>t.destroy()),B.getInstances(!1).forEach(t=>t.destroy()),e()));const[dm]=h({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:B.getInstance(t,!0)}}}),[cm]=h({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:B.getInstance(t,!0)}}}),[_m]=h({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:B.getInstance(t,!1)}}}),[hm]=h({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:B.getInstance(t,!1)}}}),[um]=h({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:B.getInstance(t,!0)}}}),[mm]=h({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:B.getInstance(t,!1)}}}),pm=Object.freeze({onPlayerEnterGlobal:dm,onPlayerLeaveGlobal:cm,onPlayerEnterPlayer:_m,onPlayerLeavePlayer:hm,onPlayerClickGlobal:um,onPlayerClickPlayer:mm}),[U]=h({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[K]=h({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[gm]=h({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});var Sm=Object.defineProperty,ym=(e,t,a)=>t in e?Sm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,y=(e,t,a)=>(ym(e,typeof t!="symbol"?t+"":t,a),a);class g{constructor(){}static getPlayerTickRate(t){return ha(t.id)}static setPlayerTickRate(t,a=50){return ua(t.id,a)}static getChunkTickRate(t,a=-1){return a instanceof m?ze(t,a.id):ze(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof m?Je(t,a,n.id):Je(t,a,n)}static getVisibleItems(t,a=-1){return a instanceof m?Qe(t,a.id):Qe(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof m?qe(t,a,n.id):qe(t,a,n)}static getRadiusMultiplier(t,a=-1){return a instanceof m?et(t,a.id):et(t,a)}static setRadiusMultiplier(t,a,n=-1){return n instanceof m?tt(t,n.id):tt(t,a,n)}static toggleIdleUpdate(t,a){return ma(t.id,a)}static isToggleIdleUpdate(t){return pa(t.id)}static toggleCameraUpdate(t,a){return ga(t.id,a)}static isToggleCameraUpdate(t){return Sa(t.id)}static toggleItemUpdate(t,a,n){return ya(t.id,a,n)}static isToggleItemUpdate(t,a){return Ia(t.id,a)}static getLastUpdateTime(){return Pa()}static update(t,a=-1){return fa(t.id,a)}static updateEx(t,a,n,i,r,s,o,d,c){return Aa(t.id,a,n,i,r,s,o,d,c)}static toggleItem(t,a,n,i){return Ta(t.id,a,n,i)}static isToggleItem(t,a,n){return Ea(t.id,a,n)}static toggleAllItems(t,a,n,i=[-1]){return Ca(t.id,a,n,i)}static getItemInternalID(t,a,n){return Da(t.id,a,n)}static getItemStreamerID(t,a,n){return ba(t.id,a,n)}static isItemVisible(t,a,n){return Na(t.id,a,n)}static destroyAllVisibleItems(t,a,n=1){return va(t.id,a,n)}static countVisibleItems(t,a,n=1){return La(t.id,a,n)}static getAllVisibleItems(t,a,n){Ra(t.id,a,n)}}y(g,"getTickRate",wa),y(g,"setTickRate",Oa),y(g,"toggleChunkStream",Ga),y(g,"isToggleChunkStream",Ba),y(g,"getChunkSize",Fa),y(g,"setChunkSize",ka),y(g,"getMaxItems",Ma),y(g,"setMaxItems",xa),y(g,"getTypePriority",Ha),y(g,"setTypePriority",Va),y(g,"getCellDistance",Wa),y(g,"setCellDistance",Ua),y(g,"getCellSize",Ka),y(g,"setCellSize",Za),y(g,"toggleItemStatic",ja),y(g,"isToggleItemStatic",Xa),y(g,"toggleItemInvAreas",Ya),y(g,"isToggleItemInvAreas",$a),y(g,"toggleItemCallbacks",za),y(g,"isToggleItemCallbacks",Ja),y(g,"toggleErrorCallback",Qa),y(g,"isToggleErrorCallback",qa),y(g,"amxUnloadDestroyItems",en),y(g,"processActiveItems",tn),y(g,"getDistanceToItem",an),y(g,"destroyAllItems",nn),y(g,"countItems",rn),y(g,"getNearbyItems",sn),y(g,"getItemPos",ln),y(g,"setItemPos",on),y(g,"getItemOffset",dn),y(g,"setItemOffset",cn),y(g,"getFloatData",_n),y(g,"setFloatData",hn),y(g,"getIntData",un),y(g,"setIntData",mn),y(g,"getArrayData",pn),y(g,"setArrayData",gn),y(g,"isInArrayData",Sn),y(g,"appendArrayData",yn),y(g,"removeArrayData",In),y(g,"getArrayDataLength",Pn),y(g,"getUpperBound",fn),y(g,"onPluginError",gm);var Im=Object.defineProperty,Pm=(e,t,a)=>t in e?Im(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ke=(e,t,a)=>(Pm(e,typeof t!="symbol"?t+"":t,a),a);const zt=class Se{constructor(t){ke(this,"sourceInfo"),ke(this,"_id",-1),this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return l.warn("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:o}=this.sourceInfo;const{x:d,y:c,z:u,type:p,color:S,extended:f}=this.sourceInfo;return p<0||p>63?l.error("[StreamerMapIcon]: Invalid map icon type"):(t??(t=An.LOCAL),a??(a=oe.MAP_ICON_SD),o??(o=0),f?(typeof n=="number"?n=[-1]:n??(n=[-1]),typeof i=="number"?i=[-1]:i??(i=[-1]),typeof r=="number"?r=[-1]:r??(r=[-1]),typeof s=="number"?s=[-1]:s??(s=[-1]),this._id=Tn(d,c,u,p,P(S),t,a,n,i,r,s,o),Se.mapIcons.set(this._id,this),this):(Array.isArray(n)?n=-1:n??(n=-1),Array.isArray(i)?i=-1:i??(i=-1),Array.isArray(r)?r=-1:r??(r=-1),Array.isArray(s)?s=-1:s??(s=-1),this._id=En(d,c,u,p,P(S),n,i,r,a,t,s,o),Se.mapIcons.set(this._id,this),this))}destroy(){return this.id===-1?l.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(Cn(this.id),Se.mapIcons.delete(this._id),this._id=-1,this)}isValid(){return Dn(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):g.toggleItemCallbacks(E.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,g.isToggleItemCallbacks(E.MAP_ICON,this.id)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}};ke(zt,"mapIcons",new Map);let ue=zt;D.onExit(({next:e})=>(ue.getInstances().forEach(t=>t.destroy()),e()));const[fm,Am]=h({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Tm,Em]=h({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?Am(a,ue.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?Em(a,ue.getInstance(t)):n());const Cm=Object.freeze({onStreamIn:fm,onStreamOut:Tm});var Dm=Object.defineProperty,bm=(e,t,a)=>t in e?Dm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Me=(e,t,a)=>(bm(e,typeof t!="symbol"?t+"":t,a),a);const Jt=class Xe{constructor(t){Me(this,"sourceInfo"),Me(this,"_id",-1),this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return l.warn("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:o,modelId:d,x:c,y:u,z:p,extended:S}=this.sourceInfo;return o<0||o>22?l.error("[StreamerPickup]: Invalid pickup type"):(t??(t=_.StreamerDistances.PICKUP_SD),s??(s=0),S?(typeof a=="number"?a=[-1]:a??(a=[-1]),typeof n=="number"?n=[-1]:n??(n=[-1]),typeof i=="number"?i=[-1]:i??(i=[-1]),typeof r=="number"?r=[-1]:r??(r=[-1]),this._id=_.CreateDynamicPickupEx(d,o,c,u,p,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??(a=-1),Array.isArray(n)?n=-1:n??(n=-1),Array.isArray(i)?i=-1:i??(i=-1),Array.isArray(r)?r=-1:r??(r=-1),this._id=_.CreateDynamicPickup(d,o,c,u,p,a,n,i,t,r,s)),Xe.pickups.set(this._id,this),this)}destroy(){return this.id===-1?l.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(_.DestroyDynamicPickup(this.id),Xe.pickups.delete(this.id),this._id=-1,this)}isValid(){return _.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerPickup]: Unable to toggle callbacks before create"):g.toggleItemCallbacks(_.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,g.isToggleItemCallbacks(_.StreamerItemTypes.PICKUP,this.id)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}};Me(Jt,"pickups",new Map);let ne=Jt;D.onExit(({next:e})=>(ne.getInstances().forEach(t=>t.destroy()),e()));const[Nm,vm]=h({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Lm,Rm]=h({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?vm(a,ne.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?Rm(a,ne.getInstance(t)):n());const[wm]=h({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:ne.getInstance(t)}}}),Om=Object.freeze({onPlayerPickUp:wm,onStreamIn:Nm,onStreamOut:Lm});var Gm=Object.defineProperty,Bm=(e,t,a)=>t in e?Gm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,xe=(e,t,a)=>(Bm(e,typeof t!="symbol"?t+"":t,a),a);const Qt=class ye{constructor(t){xe(this,"sourceInfo"),xe(this,"_id",-1),this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return l.warn("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{size:o,x:d,y:c,z:u,extended:p}=this.sourceInfo;return o<0?l.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??(t=oe.CP_SD),s??(s=0),p?(typeof a=="number"?a=[-1]:a??(a=[-1]),typeof n=="number"?n=[-1]:n??(n=[-1]),typeof i=="number"?i=[-1]:i??(i=[-1]),typeof r=="number"?r=[-1]:r??(r=[-1]),this._id=bn(d,c,u,o,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??(a=-1),Array.isArray(n)?n=-1:n??(n=-1),Array.isArray(i)?i=-1:i??(i=-1),Array.isArray(r)?r=-1:r??(r=-1),this._id=Nn(d,c,u,o,a,n,i,t,r,s)),ye.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?l.warn("[StreamerCheckpoint]: Unable to destroy the checkpoint before create"):(at(this.id),ye.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return nt(this.id)}togglePlayer(t,a){return this.id===-1?l.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(vn(t.id,this.id,a),this)}static togglePlayerAll(t,a){return Ln(t.id,a)}isPlayerIn(t){return this.id===-1?!1:Rn(t.id,this.id)}static getPlayerVisible(t){return ye.checkpoints.get(wn(t.id))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):g.toggleItemCallbacks(E.CP,this.id,t)}isToggleCallbacks(){return this.id,g.isToggleItemCallbacks(E.CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}};xe(Qt,"checkpoints",new Map);let z=Qt;D.onExit(({next:e})=>(z.checkpoints.forEach(t=>t.destroy()),e()));const[Fm,km]=h({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Mm,xm]=h({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?km(a,z.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?xm(a,z.getInstance(t)):n());const[Hm]=h({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:z.getInstance(t)}}}),[Vm]=h({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:z.getInstance(t)}}}),Wm=Object.freeze({onPlayerEnter:Hm,onPlayerLeave:Vm,onStreamIn:Fm,onStreamOut:Mm});var Um=Object.defineProperty,Km=(e,t,a)=>t in e?Um(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,He=(e,t,a)=>(Km(e,typeof t!="symbol"?t+"":t,a),a);const qt=class Ie{constructor(t){He(this,"sourceInfo"),He(this,"_id",-1),this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return l.warn("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:o,size:d,x:c,y:u,z:p,nextX:S,nextY:f,nextZ:T,extended:v}=this.sourceInfo;return o<0||o>8?l.error("[StreamerRaceCP]: Invalid type"):d<0?l.error("[StreamerRaceCP]: Invalid size"):(t??(t=oe.RACE_CP_SD),s??(s=0),v?(typeof a=="number"?a=[-1]:a??(a=[-1]),typeof n=="number"?n=[-1]:n??(n=[-1]),typeof i=="number"?i=[-1]:i??(i=[-1]),typeof r=="number"?r=[-1]:r??(r=[-1]),this._id=On(o,c,u,p,S,f,T,d,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??(a=-1),Array.isArray(n)?n=-1:n??(n=-1),Array.isArray(i)?i=-1:i??(i=-1),Array.isArray(r)?r=-1:r??(r=-1),this._id=Gn(o,c,u,p,S,f,T,d,a,n,i,t,r,s)),Ie.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?l.warn("[StreamerRaceCP]: Unable to destroy the checkpoint before create"):(at(this.id),Ie.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return nt(this.id)}togglePlayer(t,a){return this.id===-1?l.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(Bn(t.id,this.id,a),this)}static togglePlayerAll(t,a){return Fn(t.id,a)}isPlayerIn(t){return this.id===-1?!1:kn(t.id,this.id)}static getPlayerVisible(t){return Ie.checkpoints.get(Mn(t.id))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):g.toggleItemCallbacks(E.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,g.isToggleItemCallbacks(E.RACE_CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}};He(qt,"checkpoints",new Map);let J=qt;D.onExit(({next:e})=>(J.getInstances().forEach(t=>t.destroy()),e()));const[Zm,jm]=h({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Xm,Ym]=h({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?jm(a,J.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?Ym(a,J.getInstance(t)):n());const[$m]=h({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:J.getInstance(t)}}}),[zm]=h({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:J.getInstance(t)}}}),Jm=Object.freeze({onPlayerEnter:$m,onPlayerLeave:zm,onStreamIn:Zm,onStreamOut:Xm});var Qm=Object.defineProperty,qm=(e,t,a)=>t in e?Qm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ve=(e,t,a)=>(qm(e,typeof t!="symbol"?t+"":t,a),a);const ea=class se{constructor(t){Ve(this,"sourceInfo"),Ve(this,"_id",-1),this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return l.warn("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{modelId:o,x:d,y:c,z:u,r:p,invulnerable:S,health:f,extended:T}=this.sourceInfo;return t??(t=_.StreamerDistances.ACTOR_SD),s??(s=0),T?(typeof a=="number"?a=[0]:a??(a=[0]),typeof n=="number"?n=[-1]:n??(n=[-1]),typeof i=="number"?i=[-1]:i??(i=[-1]),typeof r=="number"?r=[-1]:r??(r=[-1]),this._id=_.CreateDynamicActorEx(o,d,c,u,p,S,f,t,a,n,i,r,s)):(Array.isArray(a)?a=0:a??(a=0),Array.isArray(n)?n=-1:n??(n=-1),Array.isArray(i)?i=-1:i??(i=-1),Array.isArray(r)?r=-1:r??(r=-1),this._id=_.CreateDynamicActor(o,d,c,u,p,S,f,a,n,i,t,r,s)),se.actors.set(this.id,this),this}destroy(){return this.id===-1?l.warn("[StreamerActor]: Unable to destroy the actor before create"):(_.DestroyDynamicActor(this.id),se.actors.delete(this.id),this._id=-1,this)}isValid(){return _.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:_.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?l.warn("[StreamerActor]: Unable to get virtual world before create"):_.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set virtual world before create"):_.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,n=!1,i=!0,r=!0,s=!1){if(this.id===-1)return l.warn("[StreamerActor]: Unable to apply animation before create");const o=Ft(t,a);return o===void 0?l.error("[StreamerActor]: Invalid anim library or name"):_.ApplyDynamicActorAnimation(this.id,t,a,4.1,n,i,r,s,n?0:o)}clearAnimations(){return this.id===-1?l.warn("[StreamerActor]: Unable to clear animation before create"):_.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?l.warn("[StreamerActor]: Unable to get facing angle before create"):_.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set facing angle before create"):_.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?l.warn("[StreamerActor]: Unable to get pos before create"):_.GetDynamicActorPos(this.id)}setPos(t,a,n){return this.id===-1?l.warn("[StreamerActor]: Unable to set pos before create"):_.SetDynamicActorPos(this.id,t,a,n)}getHealth(){return this.id===-1?l.warn("[StreamerActor]: Unable to get health before create"):_.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set health before create"):_.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:_.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){return this.id===-1?l.warn("[StreamerActor]: Unable to set invulnerable before create"):_.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=_.GetPlayerTargetDynamicActor(t.id);return se.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=_.GetPlayerCameraTargetDynActor(t.id);return se.actors.get(a)}getSkin(){return this.id===-1?l.warn("[StreamerActor]: Unable to get skin before create"):ro(this.id)}setSkin(t,a=!1){return this.id===-1?l.warn("[StreamerActor]: Unable to set skin before create"):!a&&(t<0||t>311||t==74)?0:so(this.id,t)}getSpawnInfo(){return this.id===-1?l.warn("[StreamerActor]: Unable to get spawn info before create"):lo(this.id)}getAnimation(){return this.id===-1?l.warn("[StreamerActor]: Unable to get animation before create"):_.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerActor]: Unable to toggle callbacks before create"):g.toggleItemCallbacks(_.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,g.isToggleItemCallbacks(_.StreamerItemTypes.ACTOR,this.id)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}};Ve(ea,"actors",new Map);let ie=ea;D.onExit(({next:e})=>(ie.getInstances().forEach(t=>t.destroy()),e()));const[ep]=h({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:ie.getInstance(e),forPlayer:m.getInstance(t)}}}),[tp]=h({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:ie.getInstance(e),forPlayer:m.getInstance(t)}}}),[ap]=h({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),actor:ie.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),np=Object.freeze({onStreamIn:ep,onStreamOut:tp,onPlayerGiveDamage:ap});var ip=Object.defineProperty,rp=(e,t,a)=>t in e?ip(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,We=(e,t,a)=>(rp(e,typeof t!="symbol"?t+"":t,a),a);const ta=class Ye{constructor(t){We(this,"sourceInfo"),We(this,"_id",-1),this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return l.warn("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:a,testLos:n,streamDistance:i,worldId:r,interiorId:s,playerId:o,areaId:d,priority:c}=this.sourceInfo;const{charset:u,text:p,color:S,drawDistance:f,x:T,y:v,z:x,extended:le}=this.sourceInfo;return t??(t=C.PLAYER_ID),a??(a=C.VEHICLE_ID),i??(i=oe.TEXT_3D_LABEL_SD),n??(n=!1),c??(c=0),le?(typeof r=="number"?r=[-1]:r??(r=[-1]),typeof s=="number"?s=[-1]:s??(s=[-1]),typeof o=="number"?o=[-1]:o??(o=[-1]),typeof d=="number"?d=[-1]:d??(d=[-1]),this._id=Vh(p,P(S),T,v,x,f,t,a,n,i,r,s,o,d,c,u||"utf8")):(Array.isArray(r)?r=-1:r??(r=-1),Array.isArray(s)?s=-1:s??(s=-1),Array.isArray(o)?o=-1:o??(o=-1),Array.isArray(d)?d=-1:d??(d=-1),this._id=Hh(u||"utf8",p,P(S),T,v,x,f,t,a,n,r,s,o,i,d,c)),Ye.texts.set(this.id,this),this}destroy(){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(xn(this.id),Ye.texts.delete(this.id),this._id=-1,this)}isValid(){return Hn(this.id)}getColor(){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to get color before create"):this.sourceInfo.color}getCharset(){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to get charset before create"):this.sourceInfo.charset}getText(){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to get text before create"):Uh(this.id,this.sourceInfo.charset||"utf8")}updateText(t,a,n=this.sourceInfo.charset){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to update text before create"):(this.sourceInfo.charset=n,Wh(this.id,P(t),a,n||"utf8"))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):g.toggleItemCallbacks(E.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,g.isToggleItemCallbacks(E.TEXT_3D_LABEL,this.id)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}};We(ta,"texts",new Map);let me=ta;D.onExit(({next:e})=>(me.getInstances().forEach(t=>t.destroy()),e()));const[sp,lp]=h({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[op,dp]=h({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?lp(a,me.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?dp(a,me.getInstance(t)):n());const cp=Object.freeze({onStreamIn:sp,onStreamOut:op});var _p=Object.defineProperty,hp=(e,t,a)=>t in e?_p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ue=(e,t,a)=>(hp(e,typeof t!="symbol"?t+"":t,a),a);const aa=class Pe{constructor(t){Ue(this,"sourceInfo"),Ue(this,"_id",-1),this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return l.warn("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:o}=this.sourceInfo;const{modelId:d,x:c,y:u,z:p,rx:S,ry:f,rz:T,extended:v}=this.sourceInfo;return t??(t=_.StreamerDistances.OBJECT_SD),a??(a=_.StreamerDistances.OBJECT_DD),o??(o=0),v?(typeof n=="number"?n=[-1]:n??(n=[-1]),typeof i=="number"?i=[-1]:i??(i=[-1]),typeof r=="number"?r=[-1]:r??(r=[-1]),typeof s=="number"?s=[-1]:s??(s=[-1]),this._id=_.CreateDynamicObjectEx(d,c,u,p,S,f,T,t,a,n,i,r,s,o)):(Array.isArray(n)?n=-1:n??(n=-1),Array.isArray(i)?i=-1:i??(i=-1),Array.isArray(r)?r=-1:r??(r=-1),Array.isArray(s)?s=-1:s??(s=-1),this._id=_.CreateDynamicObject(d,c,u,p,S,f,T,n,i,r,t,a,s,o)),Pe.objects.set(this._id,this),this}destroy(){return this.id===-1?l.warn("[StreamerObject]: Unable to destroy the object before create"):(_.DestroyDynamicObject(this.id),Pe.objects.delete(this.id),this._id=-1,this)}isValid(){return _.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){return this.id===-1?l.warn("[StreamerObject]: Cannot get position before create"):_.GetDynamicObjectPos(this.id)}setPos(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Cannot set position before create"):_.SetDynamicObjectPos(this.id,t,a,n)}getRot(){return this.id===-1?l.warn("[StreamerObject]: Cannot get rotation before create"):_.GetDynamicObjectRot(this.id)}setRot(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Cannot set rotation before create"):_.SetDynamicObjectRot(this.id,t,a,n)}move(t,a,n,i,r=-1e3,s=-1e3,o=-1e3){return this.id===-1?l.warn("[StreamerObject]: Cannot start moving before create"):i<0?l.warn("[StreamerObject]: speed must not be less than 0"):(i>120*1e3&&l.warn("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional"),this.isMoving()&&this.stop(),_.MoveDynamicObject(this.id,t,a,n,i,r,s,o))}stop(){return this.id===-1?l.warn("[StreamerObject]: Cannot stop moving before create"):_.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:_.IsDynamicObjectMoving(this.id)}attachCamera(t){return this.id===-1||t.id===-1?l.warn("[StreamerObject]: Cannot attachCamera before both are created"):_.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,n,i,r,s,o,d=!0){return this.id===-1||t.id===-1?l.warn("[StreamerObject]: Cannot attachToObject before both are created"):_.AttachDynamicObjectToObject(this.id,t.id,a,n,i,r,s,o,d)}attachToPlayer(t,a,n,i,r,s,o){return this.id===-1||t.id===-1?l.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):_.AttachDynamicObjectToPlayer(this.id,t.id,a,n,i,r,s,o)}attachToVehicle(t,a,n,i,r,s,o){return this.id===-1||t.id===-1?l.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):_.AttachDynamicObjectToVehicle(this.id,t.id,a,n,i,r,s,o)}edit(t){return this.id===-1?l.warn("[StreamerObject]: Unable to edit before create"):(t.endObjectEditing(),_.EditDynamicObject(t.id,this.id))}isMaterialUsed(t){return this.id===-1?!1:_.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:_.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Unable to get material before create"):_.GetDynamicObjectMaterial(this.id,t,a,n)}setMaterial(t,a,n,i,r="#000"){return this.id===-1?l.warn("[StreamerObject]: Unable to set material before create"):_.SetDynamicObjectMaterial(this.id,t,a,n,i,P(r))}isMaterialTextUsed(t){return this.id===-1?!1:_.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?_.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){return this.id===-1?l.warn("[StreamerObject]: Unable to get material text before create"):Zh(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,i=_.MaterialTextSizes.SIZE_256x128,r="Arial",s=24,o=1,d="#fff",c="#000",u=0){return this.id===-1?l.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,Kh(t||"utf8",this.id,a,n,i,r,s,o,P(d),P(c),u))}getPlayerCameraTarget(t){const a=_.GetPlayerCameraTargetDynObject(t.id);if(a!==C.OBJECT_ID)return Pe.objects.get(a)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerObject]: Unable to toggle callbacks before create"):g.toggleItemCallbacks(_.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,g.isToggleItemCallbacks(_.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return _.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return _.GetDynamicObjectNoCameraCol(this.id)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}};Ue(aa,"objects",new Map);let H=aa;D.onExit(({next:e})=>(H.getInstances().forEach(t=>t.destroy()),e()));const[up,mp]=h({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[pp,gp]=h({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?mp(a,H.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?gp(a,H.getInstance(t)):n());const[Sp]=h({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:H.getInstance(e)}}}),[yp]=h({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,a,n,i,r,s,o,d){return{player:m.getInstance(e),object:H.getInstance(t),response:a,x:n,y:i,z:r,rX:s,rY:o,rZ:d}}}),[Ip]=h({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:m.getInstance(e),object:H.getInstance(t),modelId:a,x:n,y:i,z:r}}}),[Pp]=h({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:m.getInstance(e),object:H.getInstance(a),weapon:t,x:n,y:i,z:r}}}),[fp]=h({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,i,r,s,o,d,c,u,p,S,f){return{player:m.getInstance(e),response:t,index:a,modelId:n,boneId:i,fOffsetX:r,fOffsetY:s,fOffsetZ:o,fRotX:d,fRotY:c,fRotZ:u,fScaleX:p,fScaleY:S,fScaleZ:f}}}),Ap=Object.freeze({onMoved:Sp,onPlayerEdit:yp,onPlayerSelect:Ip,onPlayerShoot:Pp,onPlayerEditAttached:fp,onStreamIn:up,onStreamOut:pp});var Tp=Object.defineProperty,Ep=(e,t,a)=>t in e?Tp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ke=(e,t,a)=>(Ep(e,typeof t!="symbol"?t+"":t,a),a);const na=class M{constructor(t){Ke(this,"sourceInfo"),Ke(this,"_id",-1),this.sourceInfo=t}get type(){return this.sourceInfo.type}get id(){return this._id}create(){if(this.id!==-1)return l.warn("[StreamerArea]: Unable to create area again");let{worldId:t,interiorId:a,playerId:n}=this.sourceInfo;const{type:i,extended:r}=this.sourceInfo;if(r)if(typeof t=="number"?t=[-1]:t??(t=[-1]),typeof a=="number"?a=[-1]:a??(a=[-1]),typeof n=="number"?n=[-1]:n??(n=[-1]),i==="circle"){const{x:s,y:o,size:d}=this.sourceInfo;if(d<0)return l.error("[StreamerArea]: Invalid circle extend size");this._id=_.CreateDynamicCircleEx(s,o,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:o,minZ:d,maxX:c,maxY:u,maxZ:p}=this.sourceInfo;this._id=_.CreateDynamicCuboidEx(s,o,d,c,u,p,t,a,n)}else if(i==="cylinder"){const{x:s,y:o,minZ:d,maxZ:c,size:u}=this.sourceInfo;if(u<0)return l.error("[StreamerArea]: Invalid cylinder extend size");this._id=_.CreateDynamicCylinderEx(s,o,d,c,u,t,a,n)}else if(i==="polygon"){const{points:s,minZ:o,maxZ:d}=this.sourceInfo;if(s.length%2!==0)return l.warn("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=_.CreateDynamicPolygonEx(s,o,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:o,maxX:d,maxY:c}=this.sourceInfo;this._id=_.CreateDynamicRectangleEx(s,o,d,c,t,a,n)}else{const{x:s,y:o,z:d,size:c}=this.sourceInfo;if(c<0)return l.error("[StreamerArea]: Invalid sphere extended size");this._id=_.CreateDynamicSphereEx(s,o,d,c,t,a,n)}else if(Array.isArray(t)?t=-1:t??(t=-1),Array.isArray(a)?a=-1:a??(a=-1),Array.isArray(n)?n=-1:n??(n=-1),i==="circle"){const{x:s,y:o,size:d}=this.sourceInfo;if(d<0)return l.error("[StreamerArea]: Invalid circle size");this._id=_.CreateDynamicCircle(s,o,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:o,minZ:d,maxX:c,maxY:u,maxZ:p}=this.sourceInfo;this._id=_.CreateDynamicCuboid(s,o,d,c,u,p,t,a,n)}else if(i==="cylinder"){const{x:s,y:o,minZ:d,maxZ:c,size:u}=this.sourceInfo;if(u<0)return l.error("[StreamerArea]: Invalid cylinder size");this._id=_.CreateDynamicCylinder(s,o,d,c,u,t,a,n)}else if(i==="polygon"){const{points:s,minZ:o,maxZ:d}=this.sourceInfo;if(s.length%2!==0)return l.warn("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=_.CreateDynamicPolygon(s,o,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:o,maxX:d,maxY:c}=this.sourceInfo;this._id=_.CreateDynamicRectangle(s,o,d,c,t,a,n)}else{const{x:s,y:o,z:d,size:c}=this.sourceInfo;if(c<0)return l.error("[StreamerArea]: Invalid sphere size");this._id=_.CreateDynamicSphere(s,o,d,c,t,a,n)}return M.areas.set(this._id,this),this}destroy(){return this.id===-1?l.warn("[StreamerArea]: Unable to destroy the area before create"):(_.DestroyDynamicArea(this.id),M.areas.delete(this.id),this._id=-1,this)}isValid(){return this.id===-1?!1:_.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?l.warn("[StreamerArea]: Unable to get type before create"):_.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return l.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return _.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)return l.warn("[StreamerArea]: Unable to get polygon points number before create");if(this.type==="polygon")return _.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,a=!1){return this.id===-1?!1:_.IsPlayerInDynamicArea(t.id,this.id,a)}static isPlayerInAny(t,a=!1){return _.IsPlayerInAnyDynamicArea(t.id,a)}isAnyPlayerIn(t=!1){return this.id===-1?!1:_.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return _.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t){return M.getPlayerAreasNumber(t)?_.GetPlayerDynamicAreas(t.id).map(a=>M.areas.get(a)):[]}static getPlayerAreasNumber(t){return _.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,n){return this.id===-1?!1:_.IsPointInDynamicArea(this.id,t,a,n)}static isPointInAny(t,a,n){return _.IsPointInAnyDynamicArea(t,a,n)}isLineIn(t,a,n,i,r,s){return this.id===-1?!1:_.IsLineInDynamicArea(this.id,t,a,n,i,r,s)}static isLineInAny(t,a,n,i,r,s){return _.IsLineInAnyDynamicArea(t,a,n,i,r,s)}static getForPoint(t,a,n){return M.getNumberForPoint(t,a,n)?_.GetDynamicAreasForPoint(t,a,n).map(i=>M.getInstance(i)):[]}static getNumberForPoint(t,a,n){return _.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,i,r,s){return M.getNumberForLine(t,a,n,i,r,s)?_.GetDynamicAreasForLine(t,a,n,i,r,s).map(o=>M.areas.get(o)):[]}static getNumberForLine(t,a,n,i,r,s){return _.GetNumberDynamicAreasForLine(t,a,n,i,r,s)}attachToObject(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?l.warn("[StreamerArea]: Unable to toggle attach to object before create"):_.AttachDynamicAreaToObject(this.id,t.id,_.StreamerObjectTypes.DYNAMIC,C.PLAYER_ID,a,n,i)}attachToPlayer(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?l.warn("[StreamerArea]: Unable to toggle attach to player before create"):_.AttachDynamicAreaToPlayer(this.id,t.id,a,n,i)}attachToVehicle(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?l.warn("[StreamerArea]: Unable to toggle attach to vehicle before create"):_.AttachDynamicAreaToVehicle(this.id,t.id,a,n,i)}toggleSpectateMode(t){return this.id===-1?l.warn("[StreamerArea]: Unable to toggle specate mode before create"):_.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:_.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerArea]: Unable to toggle callbacks before create"):g.toggleItemCallbacks(_.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,g.isToggleItemCallbacks(_.StreamerItemTypes.AREA,this.id)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}};Ke(na,"areas",new Map);let Q=na;D.onExit(({next:e})=>(Q.getInstances().forEach(t=>t.destroy()),e()));const[Cp,Dp]=h({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[bp,Np]=h({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?Dp(a,Q.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?Np(a,Q.getInstance(t)):n());const[vp]=h({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:Q.getInstance(t)}}}),[Lp]=h({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:Q.getInstance(t)}}}),Rp=Object.freeze({onStreamIn:Cp,onStreamOut:bp,onPlayerEnter:vp,onPlayerLeave:Lp});var wp=Object.defineProperty,Op=(e,t,a)=>t in e?wp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,pe=(e,t,a)=>(Op(e,typeof t!="symbol"?t+"":t,a),a);const Ze=class I{constructor(t){pe(this,"sourceInfo"),pe(this,"_id",-1),this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return l.warn("[TextDraw]: Unable to create the textdraw again");const{x:t,y:a,text:n,player:i}=this.sourceInfo;if(i){if(I.getInstances(!1).length===L.MAX_TEXT_DRAWS)return l.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=$_(i.id,t,a,n);const r=we.onDisconnect(({player:s,next:o})=>{const d=o();return s===i&&(this.destroy(),r()),d});I.playerTextDraws.set(this.id,this)}else{if(I.getInstances(!0).length===L.MAX_TEXT_DRAWS)return l.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=r_(t,a,n),I.globalTextDraws.set(this.id,this)}return this}destroy(){if(this.id===-1)return I.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(z_(t.id,this.id),I.playerTextDraws.delete(this.id)):(s_(this.id),I.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return I.beforeCreateWarn("set font");const{player:a}=this.sourceInfo;return a?sh(a.id,this.id,t):g_(this.id,t),this}setColor(t){if(this.id===-1)return I.beforeCreateWarn("set color");const{player:a}=this.sourceInfo;return a?eh(a.id,this.id,t):c_(this.id,t),this}setBoxColors(t){if(this.id===-1)return I.beforeCreateWarn("set box color");const{player:a}=this.sourceInfo;return a?ah(a.id,this.id,t):h_(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return I.beforeCreateWarn("set background color");const{player:a}=this.sourceInfo;return a?rh(a.id,this.id,t):p_(this.id,t),this}setAlignment(t){if(this.id===-1)return I.beforeCreateWarn("set alignment");const{player:a}=this.sourceInfo;return a?q_(a.id,this.id,t):d_(this.id,t),this}setLetterSize(t,a){if(this.id===-1)return I.beforeCreateWarn("set letter size");const{player:n}=this.sourceInfo;return n?J_(n.id,this.id,t,a):l_(this.id,t,a),this}setOutline(t){if(this.id===-1)return I.beforeCreateWarn("set outline model");if(t<0)return l.warn("[TextDraw]: Invalid outline value");const{player:a}=this.sourceInfo;return a?ih(a.id,this.id,t):m_(this.id,t),this}setPreviewModel(t){if(this.id===-1)return I.beforeCreateWarn("set preview model");this.setFont(ee.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?hh(a.id,this.id,t):E_(this.id,t),this}setPreviewRot(t,a,n,i=1){if(this.id===-1)return I.beforeCreateWarn("set preview rot");this.setFont(ee.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?uh(r.id,this.id,t,a,n,i):C_(this.id,t,a,n,i),this}setPreviewVehColors(t,a){if(this.id===-1)return I.beforeCreateWarn("set preview veh col");this.setFont(ee.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?mh(n.id,this.id,t,a):D_(this.id,t,a),this}setProportional(t=!0){if(this.id===-1)return I.beforeCreateWarn("set Proportional");const{player:a}=this.sourceInfo;return a?lh(a.id,this.id,t):S_(this.id,t),this}setSelectable(t){if(this.id===-1)return I.beforeCreateWarn("set Selectable");const{player:a}=this.sourceInfo;return a?oh(a.id,this.id,t):y_(this.id,t),this}setShadow(t){if(this.id===-1)return I.beforeCreateWarn("set shadow");if(t<0)return l.warn("[TextDraw]: Invalid shadow value");const{player:a}=this.sourceInfo;return a?nh(a.id,this.id,t):u_(this.id,t),this}setString(t,a){if(this.id===-1)return I.beforeCreateWarn("set string");if(t.length===0||t.length>1024)return l.warn("[TextDraw]: Invalid text length");const{player:n}=this.sourceInfo;return n?_h(n.id,this.id,t):a?i_(this.id,a.id,t):T_(this.id,t),this}setTextSize(t,a){if(this.id===-1)return I.beforeCreateWarn("set TextSize");const{player:n}=this.sourceInfo;return n?Q_(n.id,this.id,t,a):o_(this.id,t,a),this}useBox(t){if(this.id===-1)return I.beforeCreateWarn("set TextSize");const{player:a}=this.sourceInfo;return a?th(a.id,this.id,t):__(this.id,t),this}static beforeCreateWarn(t){l.warn(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return I.beforeCreateWarn("show");const a=this.sourceInfo.player;if(a)dh(a.id,this.id);else if(t)I_(t.id,this.id);else return l.warn("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return I.beforeCreateWarn("hide");const a=this.sourceInfo.player;if(a)ch(a.id,this.id);else if(t)P_(t.id,this.id);else return l.warn("[TextDraw]: invalid player for hide");return this}showAll(){return this.id===-1?I.beforeCreateWarn("show"):this.sourceInfo.player?l.warn("[TextDraw]: player's textdraw should not be show for all."):(f_(this.id),this)}hideAll(){return this.id===-1?I.beforeCreateWarn("hideAll"):this.sourceInfo.player?l.warn("[TextDraw]: player's textdraw should not be hide for all."):(A_(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?v_(t.id,this.id):Mc(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:a}=this.sourceInfo;return a?L_(a.id,this.id):t?xc(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?R_(t.id,this.id):Hc(this.id)}setPos(t,a){if(this.id===-1)return I.beforeCreateWarn("set position");const n=this.sourceInfo.player;return n?w_(n.id,this.id,t,a):Vc(this.id,t,a),this}getLetterSize(){if(this.id===-1)return I.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?O_(t.id,this.id):Wc(this.id)}getTextSize(){if(this.id===-1)return I.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?G_(t.id,this.id):Uc(this.id)}getPos(){if(this.id===-1)return I.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?B_(t.id,this.id):Kc(this.id)}getColor(){if(this.id===-1)return I.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?F_(t.id,this.id):Zc(this.id)}getBoxColor(){if(this.id===-1)return I.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?k_(t.id,this.id):jc(this.id)}getBackgroundColor(){if(this.id===-1)return I.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?M_(t.id,this.id):Xc(this.id)}getShadow(){if(this.id===-1)return I.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?x_(t.id,this.id):Yc(this.id)}getOutline(){if(this.id===-1)return I.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?H_(t.id,this.id):$c(this.id)}getFont(){if(this.id===-1)return I.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?V_(t.id,this.id):zc(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?W_(t.id,this.id):Jc(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?U_(t.id,this.id):Qc(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?K_(t.id,this.id):qc(this.id)}getAlignment(){if(this.id===-1)return I.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?Z_(t.id,this.id):e_(this.id)}getPreviewModel(){if(this.id===-1)return I.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?j_(t.id,this.id):t_(this.id)}getPreviewRot(){if(this.id===-1)return I.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?X_(t.id,this.id):a_(this.id)}getPreviewVehColors(){if(this.id===-1)return I.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?Y_(t.id,this.id):n_(this.id)}isGlobal(){return!!this.sourceInfo.player}static getInstance(t,a){return a?this.globalTextDraws.get(t):this.playerTextDraws.get(t)}static getInstances(t){return t?[...this.globalTextDraws.values()]:[...this.playerTextDraws.values()]}};pe(Ze,"globalTextDraws",new Map),pe(Ze,"playerTextDraws",new Map);let re=Ze;D.onExit(({next:e})=>(re.getInstances(!0).forEach(t=>t.destroy()),re.getInstances(!1).forEach(t=>t.destroy()),e()));const[Gp]=h({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===C.TEXT_DRAW?t:re.getInstance(t,!0)}}}),[Bp]=h({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===C.TEXT_DRAW?t:re.getInstance(t,!1)}}}),Fp=Object.freeze({onPlayerClickGlobal:Gp,onPlayerClickPlayer:Bp});function kp(e,t){return(e&t)===t}function Mp(e,t,a){return(e&a)===a&&(t&a)!==a}function xp(e,t){return!!(e&t)}function Hp(e,t,a){return(e&a)!==a&&(t&a)===a}export{_t as ArtworkEnum,Et as BodyPartsEnum,Ct as BoneIdsEnum,wt as BulletHitTypesEnum,de as CameraCutStylesEnum,Tt as CameraModesEnum,bt as CarModTypeEnum,ht as ClickSourcesEnum,mt as ConnectionStatusEnum,Ce as DamageDeathReasonEnum,ve as Dialog,Te as DialogStylesEnum,me as Dynamic3DTextLabel,cp as Dynamic3DTextLabelEvent,ie as DynamicActor,np as DynamicActorEvent,Q as DynamicArea,Rp as DynamicAreaEvent,Wm as DynamicCheckPointEvent,z as DynamicCheckpoint,ue as DynamicMapIcon,Cm as DynamicMapIconEvent,H as DynamicObject,Ap as DynamicObjectEvent,ne as DynamicPickup,Om as DynamicPickupEvent,J as DynamicRaceCP,Jm as DynamicRaceCPEvent,R as ERecordStatus,Xp as E_STREAMER,ut as EditResponseTypesEnum,ft as FightingStylesEnum,D as GameMode,tm as GameText,B as GangZone,pm as GangZoneEvent,A as I18n,C as InvalidEnum,pt as KeysEnum,L as LimitsEnum,Yp as MapIconStyles,At as MapIconStylesEnum,gt as MarkerModesEnum,$p as MaterialTextSizes,Be as Menu,sm as MenuEvent,St as NPCPlaybackEnum,Qu as NetStats,Rh as Npc,Jn as NpcEvent,It as ObjectMaterialAlignmmentEnum,yt as ObjectMaterialTextSizeEnum,m as Player,we as PlayerEvent,j as PlayerStateEnum,Gt as RecordTypesEnum,Pt as SelectObjectTypesEnum,Ee as SpecialActionsEnum,ce as SpectateModesEnum,g as Streamer,zp as StreamerAreaTypes,Jp as StreamerDistances,Qp as StreamerItemTypes,qp as StreamerMiscellaneous,e1 as StreamerObjectTypes,re as TextDraw,Dt as TextDrawAlignEnum,Fp as TextDrawEvent,ee as TextDrawFontsEnum,b as Vehicle,Ju as VehicleEvent,vt as VehicleModelInfoEnum,Nt as VehicleParamsEnum,Lt as WeaponEnum,Rt as WeaponSkillsEnum,Ot as WeaponStatesEnum,h as defineEvent,kp as isHolding,Mp as isPressed,xp as isPressing,Hp as isReleased,P as rgba};
|