@infernus/core 0.11.10 → 0.11.11

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.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import{encodingExists as Nt,encode as wt,decode as vt}from"iconv-lite";import*as _ from"@infernus/streamer";import{Streamer_GetTickRate as bt,Streamer_SetTickRate as Lt,Streamer_GetPlayerTickRate as Rt,Streamer_SetPlayerTickRate as Ot,Streamer_ToggleChunkStream as Gt,Streamer_IsToggleChunkStream as Ft,Streamer_GetChunkTickRate as Ne,Streamer_SetChunkTickRate as we,Streamer_GetChunkSize as Bt,Streamer_SetChunkSize as kt,Streamer_GetMaxItems as Mt,Streamer_SetMaxItems as xt,Streamer_GetVisibleItems as ve,Streamer_SetVisibleItems as be,Streamer_GetRadiusMultiplier as Le,Streamer_SetRadiusMultiplier as Re,Streamer_GetTypePriority as Ht,Streamer_SetTypePriority as Vt,Streamer_GetCellDistance as Ut,Streamer_SetCellDistance as Wt,Streamer_GetCellSize as Kt,Streamer_SetCellSize as Zt,Streamer_ToggleItemStatic as jt,Streamer_IsToggleItemStatic as Xt,Streamer_ToggleItemInvAreas as Yt,Streamer_IsToggleItemInvAreas as zt,Streamer_ToggleItemCallbacks as $t,Streamer_IsToggleItemCallbacks as Jt,Streamer_ToggleErrorCallback as Qt,Streamer_IsToggleErrorCallback as qt,Streamer_AmxUnloadDestroyItems as ea,Streamer_ProcessActiveItems as ta,Streamer_ToggleIdleUpdate as aa,Streamer_IsToggleIdleUpdate as na,Streamer_ToggleCameraUpdate as ia,Streamer_IsToggleCameraUpdate as ra,Streamer_ToggleItemUpdate as sa,Streamer_IsToggleItemUpdate as la,Streamer_GetLastUpdateTime as oa,Streamer_Update as da,Streamer_UpdateEx as ca,Streamer_GetDistanceToItem as _a,Streamer_ToggleItem as ha,Streamer_IsToggleItem as ua,Streamer_ToggleAllItems as ma,Streamer_GetItemInternalID as pa,Streamer_GetItemStreamerID as ga,Streamer_IsItemVisible as fa,Streamer_DestroyAllVisibleItems as Sa,Streamer_CountVisibleItems as ya,Streamer_DestroyAllItems as Pa,Streamer_CountItems as Ia,Streamer_GetNearbyItems as Ea,Streamer_GetAllVisibleItems as Aa,Streamer_GetItemPos as Ca,Streamer_SetItemPos as Ta,Streamer_GetItemOffset as Da,Streamer_SetItemOffset as Na,Streamer_GetFloatData as wa,Streamer_SetFloatData as va,Streamer_GetIntData as ba,Streamer_SetIntData as La,Streamer_GetArrayData as Ra,Streamer_SetArrayData as Oa,Streamer_IsInArrayData as Ga,Streamer_AppendArrayData as Fa,Streamer_RemoveArrayData as Ba,Streamer_GetArrayDataLength as ka,Streamer_GetUpperBound as Ma,MapIconStyles as xa,StreamerDistances as ce,CreateDynamicMapIconEx as Ha,CreateDynamicMapIcon as Va,DestroyDynamicMapIcon as Ua,IsValidDynamicMapIcon as Wa,StreamerItemTypes as E,CreateDynamicCPEx as Ka,CreateDynamicCP as Za,DestroyDynamicCP as Oe,IsValidDynamicCP as Ge,TogglePlayerDynamicCP as ja,TogglePlayerAllDynamicCPs as Xa,IsPlayerInDynamicCP as Ya,GetPlayerVisibleDynamicCP as za,CreateDynamicRaceCPEx as $a,CreateDynamicRaceCP as Ja,TogglePlayerDynamicRaceCP as Qa,TogglePlayerAllDynamicRaceCPs as qa,IsPlayerInDynamicRaceCP as en,GetPlayerVisibleDynamicRaceCP as tn,DestroyDynamic3DTextLabel as an,IsValidDynamic3DTextLabel as nn,E_STREAMER as ne}from"@infernus/streamer";import{E_STREAMER as qm,MapIconStyles as ep,MaterialTextAlign as tp,MaterialTextSizes as ap,StreamerAreaTypes as np,StreamerDistances as ip,StreamerItemTypes as rp,StreamerMiscellaneous as sp,StreamerObjectTypes as lp}from"@infernus/streamer";function Fe(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)==="[object Object]":!1}function rn(e,t){const a={},n=Object.keys(e);for(let i=0;i<n.length;i++){const r=n[i],s=e[r];a[t(s,r,e)]=s}return a}function ie(e,t){const a=Object.keys(t);for(let n=0;n<a.length;n++){const i=a[n],r=t[i],s=e[i];Array.isArray(r)?Array.isArray(s)?e[i]=ie(s,r):e[i]=ie([],r):Fe(r)?Fe(s)?e[i]=ie(s,r):e[i]=ie({},r):(s===void 0||r!==void 0)&&(e[i]=r)}return e}function sn(e,t){const a={...e};for(let n=0;n<t.length;n++){const i=t[n];delete a[i]}return a}const ln=new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+","gu");function on(e){return Array.from(e.match(ln)??[])}function he(e){return on(e).map(a=>a.toLowerCase()).join("_")}function dn(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function cn(e){return Object.is(e,-0)?"-0":e.toString()}function _n(e){const t=[],a=e.length;if(a===0)return t;let n=0,i="",r="",s=!1;for(e.charCodeAt(0)===46&&(t.push(""),n++);n<a;){const l=e[n];r?l==="\\"&&n+1<a?(n++,i+=e[n]):l===r?r="":i+=l:s?l==='"'||l==="'"?r=l:l==="]"?(s=!1,t.push(i),i=""):i+=l:l==="["?(s=!0,i&&(t.push(i),i="")):l==="."?i&&(t.push(i),i=""):i+=l,n++}return i&&t.push(i),t}function ue(e,t,a){if(e==null)return a;switch(typeof t){case"string":{const n=e[t];return n===void 0?dn(t)?ue(e,_n(t),a):a:n}case"number":case"symbol":{typeof t=="number"&&(t=cn(t));const n=e[t];return n===void 0?a:n}default:{if(Array.isArray(t))return hn(e,t,a);Object.is(t?.valueOf(),-0)?t="-0":t=String(t);const n=e[t];return n===void 0?a:n}}}function hn(e,t,a){if(t.length===0)return a;let n=e;for(let i=0;i<t.length;i++){if(n==null)return a;n=n[t[i]]}return n===void 0?a:n}function un(e){return e instanceof Buffer}class y{constructor(t,a){this.defaultLocale=t,this.locales=a,this.defaultLocale=he(t),this.locales=y.snakeLocaleKeys(a)}addLocales=t=>{ie(this.locales,y.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=sn(this.locales,t)};$t=(t,a,n=this.defaultLocale)=>{const i=this.locales[he(n)],r=ue(this.locales[this.defaultLocale],t),s=ue(i,t,r);if(s===void 0)throw new Error(`[i18n]: cannot find ${n}["${t}"]`);if(typeof s!="string")return JSON.stringify(s);let l=s;if(a&&a.length){const o=/%s/i;for(let d=0;d<a.length&&l.match(o)!==null;d++)l=l.replace(o,a[d])}return l};static isValidate(t){if(!Nt(t))throw new Error(`[i18n]: unknown charset ${t}`)}static encodeToBuf(t,a){return y.isValidate(a),[...wt(t,a),0]}static decodeFromBuf(t,a="utf8"){y.isValidate(a);const n=un(t)?t:Buffer.from(y.getValidStr(t));return vt(n,a)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return rn(t,(a,n)=>he(n))}static convertSpecialChar(t){const a={\u00E0:"\x97",\u00E1:"\x98",\u00E2:"\x99",\u00E4:"\x9A",\u00C0:"\x80",\u00C1:"\x81",\u00C2:"\x82",\u00C4:"\x83",\u00E8:"\x9D",\u00E9:"\x9E",\u00EA:"\x9F",\u00EB:"\xA0",\u00C8:"\x86",\u00C9:"\x87",\u00CA:"\x88",\u00CB:"\x89",\u00EC:"\xA1",\u00ED:"\xA2",\u00EE:"\xA3",\u00EF:"\xA4",\u00CC:"\x8A",\u00CD:"\x8B",\u00CE:"\x8C",\u00CF:"\x8D",\u00F2:"\xA5",\u00F3:"\xA6",\u00F4:"\xA7",\u00F6:"\xA8",\u00D2:"\x8E",\u00D3:"\x8F",\u00D4:"\x90",\u00D6:"\x91",\u00F9:"\xA9",\u00FA:"\xAA",\u00FB:"\xAB",\u00FC:"\xAC",\u00D9:"\x92",\u00DA:"\x93",\u00DB:"\x94",\u00DC:"\x95",\u00F1:"\xAE",\u00D1:"\xAD","\xA1":"@","\xBF":"\xAF","`":"\xB1"};return t.split("").map(n=>n in a?a[n]:n).join("")}}const O=new Map;function mn(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function pn(e,...t){const{defaultValue:a=!0,name:n,beforeEach:i,afterEach:r,throwOnError:s=!1}=e,l=O.get(n);if(!l||!l.length)return+a;const o=i?i(...t):{},d=[];let h=-1;const m=()=>{if(h++,h<l.length){try{const p=l[h]({next:m,defaultValue:a,...o});return p instanceof Promise&&d.push(p),p}catch(p){const S=`executing event [name:${n},index:${h}] error:
2
- ${p}`;if(s)throw{error:p,message:S};console.log(S)}return a}return r&&(d.length?Promise.allSettled(d).then(()=>r(o)):r(o)),a};return mn(m(),a)}function c(e){const{name:t,identifier:a,isNative:n=!0}=e;if(O.has(t)){const l=`event [name:${t}] error: already defined.`;throw new Error(l)}function i(...l){return pn(e,...l)}function r(l){O.has(t)||O.set(t,[]);const o=O.get(t).push(l)-1;return()=>{const d=O.get(t);if(!d)return;const h=d.length-1,m=h<o?h:o;for(let p=m;p>=0;p--)if(d[p]===l){d.splice(p,1);break}return d.length===0&&O.delete(t),d.length}}const s=[r,i];return n&&(typeof a<"u"&&samp.registerEvent(t,a),samp.on(t,i)),s}const gn=e=>!!samp.callNative("IsValidNickName","s",e),fn=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},Sn=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),yn=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),Pn=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),In=e=>!!samp.callNative("IsValidServerRule","s",e),En=e=>!!samp.callNative("RemoveServerRule","s",e),An=e=>{samp.callNative("AllowAdminTeleport","i",e)},Cn=()=>!!samp.callNative("IsAdminTeleportAllowed",""),Tn=e=>{samp.callNative("AllowInteriorWeapons","i",e)},Dn=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),Nn=()=>!!samp.callNative("AreAllAnimationsEnabled",""),wn=e=>{samp.callNative("EnableAllAnimations","i",e)},vn=e=>{const[t]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return t},bn=e=>samp.callNative("GetConsoleVarAsInt","s",e),Ln=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),Rn=()=>samp.callNative("GetWeather",""),On=e=>samp.callNative("GetServerRuleFlags","s",e),Gn=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Fn=e=>!!samp.callNative("SetModeRestartTime","f",e),Bn=()=>samp.callNativeFloat("GetModeRestartTime",""),kn=(e,t,a)=>samp.callNative("GameTextForAll","aii",e,t,a),Mn=e=>{samp.callNative("HideGameTextForAll","i",e)},xn=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),Hn=()=>samp.callNative("GetMaxPlayers",""),me=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),Vn=e=>samp.callNative("SetGameModeText","s",e),Un=e=>samp.callNative("ShowNameTags","i",e),Wn=e=>samp.callNative("ShowPlayerMarkers","i",e),Kn=e=>samp.callNative("SetWorldTime","i",e),Zn=()=>samp.callNative("GetWorldTime",""),jn=()=>samp.callNative("EnableVehicleFriendlyFire",""),Xn=e=>samp.callNative("SetWeather","i",e),Yn=()=>samp.callNativeFloat("GetGravity",""),zn=e=>samp.callNative("SetGravity","f",e),$n=(e,t,a,n,i)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,i),Jn=e=>samp.callNative("EnableZoneNames","i",e),Qn=()=>samp.callNative("UsePlayerPedAnims",""),qn=()=>samp.callNative("DisableInteriorEnterExits",""),ei=e=>samp.callNative("SetNameTagDrawDistance","f",e),ti=()=>samp.callNative("DisableNameTagLOS",""),ai=e=>samp.callNative("LimitGlobalChatRadius","f",e),ni=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),ii=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),ri=()=>samp.callNative("GetServerTickRate",""),si=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),li=e=>samp.callNative("EnableStuntBonusForAll","i",e),oi=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},di=()=>!!samp.callNative("ChatTextReplacementToggled",""),ci=e=>samp.callNative("GetWeaponSlot","i",e),_i=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},Be=()=>samp.callNative("GetAvailableClasses",""),hi=e=>{if(e<Be()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,i=0,r=0,s=0,l=0,o=0,d=0,h=0,m=0,p=0,S=0]=t;return{teamId:a,modelId:n,spawnX:i,spawnY:r,spawnZ:s,zAngle:l,weapon1:o,weapon1Ammo:d,weapon2:h,weapon2Ammo:m,weapon3:p,weapon3Ammo:S}},ui=(e,t,a,n,i,r,s,l,o,d,h,m,p)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,i,r,s,l,o,d,h,m,p),mi=e=>samp.callNative("SetTeamCount","i",e),pi=(e,t,a,n,i,r,s,l,o,d,h)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,i,r,s,l,o,d,h),gi=(e,t,a,n,i,r,s,l,o,d,h,m)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,i,r,s,l,o,d,h,m),fi=(e,t,a,n,i,r,s,l,o,d,h,m,p)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,i,r,s,l,o,d,h,m,p),Si=e=>samp.callNative("SpawnPlayer","i",e),yi=e=>{const[t,a=0,n=0,i=0,r=0,s=0,l=0,o=0,d=0,h=0,m=0,p=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawnX:n,spawnY:i,spawnZ:r,zAngle:s,weapon1:l,weapon1Ammo:o,weapon2:d,weapon2Ammo:h,weapon3:m,weapon3Ammo:p}},Pi=e=>samp.callNative("NetStats_GetConnectedTime","i",e),Ii=e=>samp.callNative("NetStats_MessagesReceived","i",e),Ei=e=>samp.callNative("NetStats_BytesReceived","i",e),Ai=e=>samp.callNative("NetStats_MessagesSent","i",e),Ci=e=>samp.callNative("NetStats_BytesSent","i",e),Ti=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),Di=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Ni=e=>samp.callNative("NetStats_ConnectionStatus","i",e),wi=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},vi=e=>!!samp.callNative("IsPlayerAdmin","i",e),bi=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),Li=e=>!!samp.callNative("Kick","i",e),Ri=e=>!!samp.callNative("Ban","i",e),Oi=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},Gi=()=>samp.callNative("GetNetworkStats","Si",1024),Fi=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Bi=e=>samp.callNative("UnBlockIpAddress","s",e),ki=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return y.decodeFromBuf(y.getValidStr(a),t)},Mi=(e,t,a,n,i)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,i),xi=()=>{samp.callNative("ClearBanList","")},Hi=e=>!!samp.callNative("IsBanned","s",e),Vi=e=>samp.callNative("GetPlayerRawIp","i",e),Ui=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},Wi=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},Ki=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),Zi=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),ji=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Xi=e=>samp.callNative("GetPlayerWeather","i",e),Yi=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:a,yMax:n,yMin:i}},zi=e=>samp.callNativeFloat("GetPlayerZAim","i",e),$i=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},Ji=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:i}},Qi=e=>samp.callNative("GetPlayerDialogID","i",e),qi=e=>samp.callNative("GetPlayerSpectateID","i",e),er=e=>samp.callNative("GetPlayerSpectateType","i",e),tr=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),ar=e=>samp.callNativeFloat("GetPlayerGravity","i",e),nr=e=>!!samp.callNative("IsPlayerSpawned","i",e),ir=e=>!!samp.callNative("IsPlayerControllable","i",e),rr=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),sr=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),lr=e=>!!samp.callNative("GetPlayerGhostMode","i",e),or=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),dr=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),cr=e=>!!samp.callNative("HidePlayerDialog","i",e),_r=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),hr=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),ur=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),mr=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),pr=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),gr=(e,t,a,n)=>!!samp.callNative("GameTextForPlayer","iaii",e,t,a,n),fr=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),Sr=(e,t,a,n)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),yr=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),Pr=e=>!!samp.callNative("IsPlayerNPC","i",e),ke=(e,t,a,n)=>!!samp.callNative("SetPlayerPos","ifff",e,t,a,n),Ir=(e,t,a,n)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,n),Er=e=>samp.callNative("GetPlayerPos","iFFF",e),Ar=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),Cr=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},Tr=(e,t,a,n,i)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,n,i),Dr=(e,t,a,n)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,n),Nr=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),wr=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),vr=e=>samp.callNative("GetPlayerInterior","i",e),br=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),Lr=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},Rr=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),Or=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},Gr=(e,t,a)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,a),Fr=e=>samp.callNative("GetPlayerAmmo","i",e),Br=e=>samp.callNative("GetPlayerWeaponState","i",e),kr=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Mr=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},xr=e=>samp.callNative("GetPlayerTeam","i",e),Hr=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),Vr=e=>samp.callNative("GetPlayerScore","i",e),Ur=e=>samp.callNative("GetPlayerDrunkLevel","i",e),Wr=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),Kr=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,P(t)),Zr=e=>samp.callNative("GetPlayerColor","i",e),jr=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),Xr=e=>samp.callNative("GetPlayerSkin","i",e),Yr=(e,t,a)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,a),zr=e=>!!samp.callNative("ResetPlayerWeapons","i",e),$r=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),Jr=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),Qr=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),qr=e=>!!samp.callNative("ResetPlayerMoney","i",e),es=e=>samp.callNative("GetPlayerMoney","i",e),ts=e=>samp.callNative("GetPlayerState","i",e),as=e=>samp.callNative("GetPlayerPing","i",e),ns=e=>samp.callNative("GetPlayerWeapon","i",e),is=e=>samp.callNative("GetPlayerKeys","iIII",e),rs=(e,t,a)=>!!samp.callNative("SetPlayerTime","iii",e,t,a),ss=e=>samp.callNative("GetPlayerTime","iII",e),ls=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),os=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),ds=e=>!!samp.callNative("ForceClassSelection","i",e),cs=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),_s=e=>samp.callNative("GetPlayerWantedLevel","i",e),hs=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),us=e=>samp.callNative("GetPlayerFightingStyle","i",e),ms=(e,t,a,n)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),ps=e=>samp.callNative("GetPlayerVelocity","iFFF",e),gs=(e,t,a)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),fs=(e,t,a,n,i,r,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,i,r,s),Ss=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),ys=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),Ps=(e,t,a)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,a),Is=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),Es=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),As=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),Cs=(e,t,a,n,i,r)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,i,r),Ts=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),Ds=(e,t,a)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,a),Ns=e=>samp.callNative("GetPlayerVehicleID","i",e),ws=e=>samp.callNative("GetPlayerVehicleSeat","i",e),vs=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),bs=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),Ls=(e,t,a,n,i)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,a,n,i),Rs=(e,t,a,n,i,r,s,l,o,d)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,i,r,s,l,o,d),Os=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),Gs=e=>samp.callNative("GetPlayerAnimationIndex","i",e),Fs=e=>samp.callNative("GetPlayerSpecialAction","i",e),Bs=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),ks=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),Ms=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),xs=e=>samp.callNative("GetPlayerVirtualWorld","i",e),Hs=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),Vs=e=>samp.callNative("GetPlayerCustomSkin","i",e),Us=(e,t,a,n,i,r)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,i,r),Ws=(e,t,a)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,a),Ks=e=>!!samp.callNative("StopRecordingPlayerData","i",e),Zs=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),js=(e,t,a)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,a),Xs=(e,t,a)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,a),Me=e=>!!samp.callNative("IsPlayerConnected","i",e),Ys=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),zs=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),$s=(e,t,a,n,i)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,i),Js=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),Qs=(e,t,a)=>!!samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,P(a));function qs(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const el=(e,t,a)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),tl=(e,t,a,n)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),al=(e,t,a,n,i)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,i),nl=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),il=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),rl=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),sl=e=>samp.callNative("GetPlayerCameraMode","i",e),ll=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),ol=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),dl=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),cl=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),_l=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),hl=(e,t,a,n,i,r,s,l,o)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,i,r,s,l,o),ul=(e,t,a,n,i,r,s,l,o)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,i,r,s,l,o),ml=e=>!!samp.callNative("IsPlayerCuffed","i",e),pl=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),gl=e=>!!samp.callNative("IsPlayerUsingOmp","i",e),fl=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),Sl=()=>samp.callNative("StopRecordingPlayback",""),yl=()=>samp.callNative("PauseRecordingPlayback",""),Pl=()=>samp.callNative("ResumeRecordingPlayback",""),Il=e=>samp.callNative("GetActorSkin","i",e),El=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),Al=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}},Cl=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}},Tl=(e,t,a,n,i,r,s,l,o=-2,d=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,i,r,s,l,o,d),Dl=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:a}},Nl=e=>samp.callNative("GetVehiclePaintjob","i",e),wl=e=>samp.callNative("GetVehicleInterior","i",e),vl=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},bl=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),Ll=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Rl=e=>samp.callNative("GetVehicleCab","i",e),Ol=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Gl=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Fl=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Bl=e=>!!samp.callNative("IsVehicleOccupied","i",e),kl=e=>samp.callNative("GetVehicleRespawnTick","i",e),Ml=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),xl=e=>!!samp.callNative("IsVehicleDead","i",e),Hl=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),Vl=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),Ul=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),Wl=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),Kl=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),Zl=e=>samp.callNative("GetVehicleModelCount","i",e),jl=e=>samp.callNative("GetVehicleLastDriver","i",e),Xl=e=>samp.callNative("GetVehicleDriver","i",e),Yl=()=>samp.callNative("GetVehicleModelsUsed",""),zl=e=>samp.callNative("GetVehicleSirenState","i",e),$l=e=>samp.callNative("GetVehicleLandingGearState","i",e),Jl=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),Ql=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),ql=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,l=0,o=0,d=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:i,upY:r,upZ:s,atX:l,atY:o,atZ:d}},xe=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,i]}},eo=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),to=(e,t,a,n,i,r,s,l,o)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,i,P(r),P(s),l,o),ao=e=>samp.callNative("DestroyVehicle","i",e),no=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),io=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]}},ro=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),so=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},lo=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),oo=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),co=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),_o=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),ho=()=>samp.callNative("ManualVehicleEngineAndLights",""),uo=(e,t,a,n,i,r,s,l)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,i,r,s,l),mo=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),po=e=>samp.callNative("GetVehicleParamsSirenState","i",e),go=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,i),fo=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},So=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,i),yo=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},Po=e=>samp.callNative("SetVehicleToRespawn","i",e),Io=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),Eo=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),Ao=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),Co=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,P(t),P(a)),To=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),Do=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),No=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},wo=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),vo=e=>samp.callNative("DetachTrailerFromVehicle","i",e),bo=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),Lo=e=>samp.callNative("GetVehicleTrailer","i",e),Ro=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),Oo=e=>samp.callNative("GetVehicleModel","i",e),Go=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Fo=e=>samp.callNative("GetVehicleComponentType","i",e),Bo=e=>samp.callNative("RepairVehicle","i",e),ko=e=>samp.callNative("GetVehicleVelocity","iFFF",e),Mo=(e,t,a,n)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,n),xo=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),Ho=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]}},Vo=(e,t,a,n,i)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,i),Uo=(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]}},Wo=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),Ko=e=>samp.callNative("GetVehicleVirtualWorld","i",e),He=e=>!!samp.callNative("IsValidVehicle","i",e),Zo=(e,t,a,n,i,r,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,i,P(r),P(s)),jo=(e,t,a,n,i,r,s,l,o)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,i,P(r),P(s),l,o),Xo=e=>!!samp.callNative("ShowVehicle","i",e),Yo=e=>!!samp.callNative("HideVehicle","i",e),zo=e=>!!samp.callNative("IsVehicleHidden","i",e),$o=e=>!!samp.callNative("IsPlayerInModShop","i",e),Jo=e=>samp.callNative("GetPlayerSirenState","i",e),Qo=e=>samp.callNative("GetPlayerLandingGearState","i",e),qo=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),ed=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),td=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),Ve=e=>samp.callNative("GetVehicleMaxPassengers","i",e),ad=e=>samp.callNative("CountVehicleOccupants","i",e),nd=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),id=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:i}},rd=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),sd=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,l=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:n,fNextX:i,fNextY:r,fNextZ:s,fSize:l}},ld=e=>!!samp.callNative("IsMenuDisabled","i",e),od=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),dd=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),cd=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},_d=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},hd=(e,t)=>{const[a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return a},ud=(e,t,a)=>{const[n]=samp.callNative("GetMenuItem","iiiSi",e,t,a,31);return n},md=(e,t,a,n,i,r)=>samp.callNative("CreateMenu","siffff",e,t,a,n,i,r),pd=e=>samp.callNative("DestroyMenu","i",e),gd=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),fd=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),Sd=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),yd=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),Pd=e=>!!samp.callNative("IsValidMenu","i",e),Id=e=>samp.callNative("DisableMenu","i",e),Ed=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),Ad=e=>samp.callNative("GetPlayerMenu","i",e),Cd=e=>!!samp.callNative("IsValidGangZone","i",e),Td=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),Dd=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),Nd=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),wd=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),vd=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),bd=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:i}},Ld=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},Rd=(e,t,a,n)=>samp.callNative("GangZoneCreate","ffff",e,t,a,n),Od=e=>samp.callNative("GangZoneDestroy","i",e),Gd=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,P(a)),Fd=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,P(t)),Bd=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),kd=e=>samp.callNative("GangZoneHideForAll","i",e),Md=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,P(a)),xd=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,P(t)),Hd=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Vd=e=>samp.callNative("GangZoneStopFlashForAll","i",e),Ud=(e,t,a,n,i)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,i),Wd=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),Kd=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),Zd=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),jd=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),Xd=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),Yd=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),zd=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),$d=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),Jd=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),Qd=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),qd=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),ec=(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}},tc=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},ac=e=>!!samp.callNative("IsValidTextDraw","i",e),nc=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),ic=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},rc=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},sc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},lc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},oc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},dc=e=>samp.callNative("TextDrawGetColor","i",e),cc=e=>samp.callNative("TextDrawGetBoxColor","i",e),_c=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),hc=e=>samp.callNative("TextDrawGetShadow","i",e),uc=e=>samp.callNative("TextDrawGetOutline","i",e),mc=e=>samp.callNative("TextDrawGetFont","i",e),pc=e=>!!samp.callNative("TextDrawIsBox","i",e),gc=e=>!!samp.callNative("TextDrawIsProportional","i",e),fc=e=>!!samp.callNative("TextDrawIsSelectable","i",e),Sc=e=>samp.callNative("TextDrawGetAlignment","i",e),yc=e=>samp.callNative("TextDrawGetPreviewModel","i",e),Pc=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:i}},Ic=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},Ec=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iia",e,t,a)},Ac=(e,t,a)=>samp.callNative("TextDrawCreate","ffa",e,t,a),Cc=e=>samp.callNative("TextDrawDestroy","i",e),Tc=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),Dc=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),Nc=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),wc=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,P(t)),vc=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),bc=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,P(t)),Lc=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),Rc=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),Oc=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,P(t)),Gc=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),Fc=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),Bc=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),kc=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Mc=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),xc=e=>samp.callNative("TextDrawShowForAll","i",e),Hc=e=>samp.callNative("TextDrawHideForAll","i",e),Vc=(e,t)=>samp.callNative("TextDrawSetString","ia",e,t),Uc=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),Wc=(e,t,a,n,i=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,i)},Kc=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,P(t),P(a)),Zc=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,P(t))},jc=e=>{samp.callNative("CancelSelectTextDraw","i",e)},Xc=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),Yc=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),zc=(e,t)=>{const[a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return a},$c=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},Jc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},Qc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:n}},qc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:n}},e_=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),t_=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),a_=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),n_=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),i_=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),r_=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),s_=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),l_=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),o_=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),d_=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),c_=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),__=(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}},h_=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},u_=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffa",e,t,a,n),m_=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},p_=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),g_=(e,t,a,n)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,a,n),f_=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),S_=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,P(a)),y_=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),P_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,P(a)),I_=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),E_=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),A_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,P(a)),C_=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),T_=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),D_=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),N_=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),w_=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),v_=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iia",e,t,a),b_=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),L_=(e,t,a,n,i,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,i,r),R_=(e,t,a,n)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,n),O_=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),G_=e=>!!samp.callNative("BeginObjectSelecting","i",e),F_=e=>!!samp.callNative("EndObjectEditing","i",e),B_=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),k_=(e,t,a,n,i)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,i),M_=(e,t,a,n,i,r,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,i,r,s),x_=(e,t)=>samp.callNative("RedirectDownload","is",e,t),H_=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},V_=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},U_=(e,t)=>{const[a=0,n=0,i=0,r=0,s=0,l=0,o=0,d=0,h=0,m=0,p=0,S=0,I=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:n,fX:i,fY:r,fZ:s,fRotX:l,fRotY:o,fRotZ:d,fScaleX:h,fScaleY:m,fScaleZ:p,materialColor1:S,materialColor2:I}},W_=(e,t,a,n,i,r,s,l,o,d,h,m,p,S,I)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,i,r,s,l,o,d,h,m,p,P(S),P(I)),K_=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),Z_=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),Ue=e=>!!samp.callNative("IsValidCustomModel","i",e),j_=e=>{if(!Ue(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var We=(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))(We||{}),Ke=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Ke||{}),pe=(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))(pe||{}),Ze=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Ze||{}),je=(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))(je||{}),T=(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))(T||{}),Xe=(e=>(e[e.NONE=0]="NONE",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))(Xe||{}),F=(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))(F||{}),Ye=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(Ye||{}),ze=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(ze||{}),B=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(B||{}),$e=(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))($e||{}),Je=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Je||{}),Qe=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(Qe||{}),qe=(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))(qe||{}),et=(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))(et||{}),re=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(re||{}),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||{}),_e=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(_e||{}),Q=(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))(Q||{}),at=(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))(at||{}),nt=(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))(nt||{}),it=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(it||{}),ge=(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))(ge||{}),se=(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))(se||{}),rt=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(rt||{}),st=(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))(st||{}),lt=(e=>(e[e.UNSET=-1]="UNSET",e[e.OFF=0]="OFF",e[e.ON=1]="ON",e))(lt||{}),ot=(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))(ot||{}),dt=(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))(dt||{}),ct=(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))(ct||{}),_t=(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))(_t||{}),ht=(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))(ht||{}),fe=(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))(fe||{}),ut=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(ut||{});class D{static npcs=new Map;id=T.PLAYER_ID;name="";static recordStatus;constructor(t){const a=samp.callNative("NPC_Create","s",t);if(this.id=a,this.name=t,a!==T.PLAYER_ID){const n=D.getInstance(a);if(n)return n}return D.npcs.set(a,this),this}getName(){return this.name}destroy(){return samp.callNative("NPC_Destroy","i",this.id),this}isValid(){return!!samp.callNative("NPC_IsValid","i",this.id)}spawn(){return samp.callNative("NPC_Spawn","i",this.id),this}setPos(t,a,n){return samp.callNative("NPC_SetPos","ifff",this.id,t,a,n),this}setRot(t,a,n){return samp.callNative("NPC_SetRot","ifff",this.id,t,a,n),this}getRot(){const[t,a,n]=samp.callNative("NPC_GetRot","iFFF",this.id);return{rX:t,rY:a,rZ:n}}setFacingAngle(t){return samp.callNative("NPC_SetFacingAngle","if",this.id,t),this}getFacingAngle(){const[t]=samp.callNative("NPC_GetFacingAngle","iF",this.id);return t}setVirtualWorld(t){return samp.callNative("NPC_SetVirtualWorld","ii",this.id,t),this}getVirtualWorld(){const[t]=samp.callNative("NPC_GetVirtualWorld","iI",this.id);return t}move(t,a,n,i,r=-1){return!!samp.callNative("NPC_Move","ifffif",this.id,t,a,n,i,r)}stopMove(){return samp.callNative("NPC_StopMove","i",this.id),this}isMoving(){return!!samp.callNative("NPC_IsMoving","ifffif",this.id)}setSkin(t){return samp.callNative("NPC_SetSkin","ii",this.id,t),this}isStreamedIn(t){return!!samp.callNative("NPC_IsStreamedIn","ii",this.id,t.id)}isAnyStreamedIn(){return!!samp.callNative("NPC_IsAnyStreamedIn","i",this.id)}setInterior(t){return samp.callNative("NPC_SetInterior","ii",this.id,t),this}getInterior(){return samp.callNative("NPC_GetInterior","i",this.id)}setHealth(t){return samp.callNative("NPC_SetHealth","if",this.id,t),this}getHealth(){return samp.callNativeFloat("NPC_GetHealth","i",this.id)}setArmour(t){return samp.callNative("NPC_SetArmour","if",this.id,t),this}getArmour(){return samp.callNativeFloat("NPC_GetArmour","i",this.id)}isDead(){return!!samp.callNative("NPC_IsDead","i",this.id)}applyAnimation(t,a,n,i,r,s,l,o,d){return samp.callNative("NPC_ApplyAnimation","issfiiiiii",this.id,t,a,n,i,r,s,l,o,d),this}setWeapon(t){return samp.callNative("NPC_SetWeapon","ii",this.id,t),this}getWeapon(){return samp.callNative("NPC_GetWeapon","i",this.id)}setAmmo(t){return samp.callNative("NPC_SetAmmo","ii",this.id,t),this}getAmmo(){return samp.callNative("NPC_GetAmmo","ii",this.id)}setKeys(t,a,n){return samp.callNative("NPC_SetKeys","iiii",t,a,n),this}getKeys(){const[t,a,n]=samp.callNative("NPC_GetKeys","iIII",this.id);return{upAndDown:t,leftAndDown:a,keys:n}}setWeaponSkillLevel(t,a){return samp.callNative("NPC_SetWeaponSkillLevel","iii",this.id,t,a),this}getWeaponSkillLevel(t){return samp.callNative("NPC_GetWeaponSkillLevel","ii",this.id,t)}meleeAttack(t,a){return samp.callNative("NPC_MeleeAttack","iii",this.id,t,a),this}stopMeleeAttack(){return samp.callNative("NPC_StopMeleeAttack","i",this.id),this}isMeleeAttacking(){return!!samp.callNative("NPC_IsMeleeAttacking","i",this.id)}setFightingStyle(t){return samp.callNative("NPC_SetFightingStyle","ii",this.id,t),this}getFightingStyle(){return samp.callNative("NPC_GetFightingStyle","i",this.id)}enableReloading(t){return samp.callNative("NPC_EnableReloading","ii",this.id,t),this}isReloadEnabled(){return!!samp.callNative("NPC_IsReloadEnabled","i",this.id)}isReloading(){return!!samp.callNative("NPC_IsReloading","i",this.id)}enableInfiniteAmmo(t){return samp.callNative("NPC_EnableInfiniteAmmo","ii",this.id,t),this}isInfiniteAmmoEnabled(){return!!samp.callNative("NPC_IsInfiniteAmmoEnabled","i",this.id)}getWeaponState(){return samp.callNative("NPC_GetWeaponState","i",this.id)}setAmmoInClip(t){return samp.callNative("NPC_SetAmmoInClip","ii",this.id,t),this}getAmmoInClip(){return samp.callNative("NPC_GetAmmoInClip","i",this.id)}shoot(t,a,n,i,r,s,l,o,d,h,m){return samp.callNative("NPC_Shoot","iiiffffffii",this.id,t,a,n,i,r,s,l,o,d,h,m),this}isShooting(){return!!samp.callNative("NPC_IsShooting","i",this.id)}aimAt(t,a,n,i,r,s,l,o,d,h){return samp.callNative("NPC_AimAt","ifffiiifffi",this.id,t,a,n,i,r,s,l,o,d,h),this}aimAtPlayer(t,a,n,i,r,s,l,o,d,h,m){return samp.callNative("NPC_AimAtPlayer","iiiiiffffffi",this.id,t.id,a,n,i,r,s,l,o,d,h,m),this}stopAim(){return samp.callNative("NPC_StopAim","i",this.id),this}isAiming(){return!!samp.callNative("NPC_IsAiming","i",this.id)}isAimingAtPlayer(t){return!!samp.callNative("NPC_IsAimingAtPlayer","ii",this.id,t.id)}setWeaponAccuracy(t,a){return samp.callNative("NPC_SetWeaponAccuracy","iif",this.id,t,a),this}getWeaponAccuracy(t){return samp.callNativeFloat("NPC_GetWeaponAccuracy","ii",this.id,t)}enterVehicle(t,a,n){return samp.callNative("NPC_EnterVehicle","iiii",this.id,t,a,n),this}exitVehicle(){return samp.callNative("NPC_ExitVehicle","i",this.id),this}static connect=ii;static startRecordingPlayerData(t,a,n){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");Ws(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)throw new Error("[NpcFunc]: It should be started before stop");Ks(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(D.recordStatus>=B.start)throw new Error("[NpcFunc]: The current status cannot be replayed");fl(t,a),D.recordStatus=B.start}static stopRecordingPlayback(){if(D.recordStatus<B.start)throw new Error("[NpcFunc]: The current status cannot be stopped");Sl(),D.recordStatus=B.none}static pauseRecordingPlayback(){if(D.recordStatus!==B.start)throw new Error("[NpcFunc]: The current status cannot be paused");yl(),D.recordStatus=B.pause}static resumeRecordingPlayback(){if(D.recordStatus!==B.pause)throw new Error("[NpcFunc]: The current status cannot be paused");Pl(),D.recordStatus=B.start}static getInstance(t){return this.npcs.get(t)}static getInstances(){return[...this.npcs.values()]}}const mt=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}]]]),Se=e=>{const t=mt.get(e);return t===void 0?!1:t},ye=(e,t)=>{const a=Se(e);if(a)return t==="null"?!0:a.some(n=>n.n===t)},X_=(e,t)=>{const a=Se(e);if(a)return a.find(n=>n.n===t)?.d},Z=(e,t)=>{const a=t.replace("-","")==="utf8"?e:y.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},pt=(e,t,a)=>{const n=Z(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,P(t),n[1])},Y_=(e,t,a)=>(e.forEach(n=>pt(n,t,a)),1),gt=(e,t,a)=>{const n=Z(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${n[0]}`,e.id,t,n[1])},z_=(e,t,a)=>(e.forEach(n=>{gt(n,t,a)}),1),$_=(e,t,a)=>{const{charset:n}=e,{style:i,caption:r,info:s,button1:l,button2:o}=a,[d,h]=Z(r||"",n),[,m]=Z(s||"",n),[,p]=Z(l||"",n),[,S]=Z(o||"",n);return samp.callNative("ShowPlayerDialog",`iii${d.repeat(4)}`,e.id,t,i,h,m,p,S)},J_=e=>{const[t]=samp.callNative("GetPlayerName","iAi",e.id,F.MAX_PLAYER_NAME);return y.decodeFromBuf(y.getValidStr(t),e.charset)},Q_=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,y.encodeToBuf(t,e.charset)),q_=(e,t,a)=>{const n=y.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},eh=(e,t="utf8")=>{const[a,n]=Z(e,t);return samp.callNative("SendRconCommand",a,n)},th=(e,t,a,n,i,r,s,l,o,d,h,m,p,S,I,L)=>{const G=y.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",G,a,n,i,r,s,l,o,d,h,m,p,S,I,L)},ah=(e,t,a,n,i,r,s,l,o,d,h,m,p,S,I,L)=>{const G=y.encodeToBuf(e,L);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",G,t,a,n,i,r,s,l,o,d,h,m,p,S,I,h.length,m.length,p.length,S.length)},nh=(e,t,a,n)=>{const i=y.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,i)},ih=(e,t)=>{const[a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return y.decodeFromBuf(y.getValidStr(a),t)},rh=(e,t,a,n,i,r,s,l,o,d,h)=>{const m=y.encodeToBuf(n,e),p=y.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,m,i,p,s,l,o,d,h)},sh=(e,t,a)=>{const[n,i,r,s,l,o,d]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),h=y.decodeFromBuf(n,a),m=y.decodeFromBuf(r,a);return{text:h,materialSize:i,fontFace:m,bold:s,fontColor:l,backColor:o,textAlignment:d}},lh=(e,t,a,n,i,r)=>{const s=y.encodeToBuf(t,r);return!!samp.callNative("SetPlayerChatBubble","iaifi",e,s,P(a),n,i)},oh=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],dh=[[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],[],[],[],[],[],[],[],[]],ch=(e,t)=>{if(!Pe(e))return!1;const a=dh[e-400];if(a===null)return!1;const n=t-1e3;return oh.includes(n)||a.includes(n)},Pe=e=>e>=400&&e<=611,_h=(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},j=Symbol(),U=new Map;class A{static vehicles=new Map;static createdCount=0;sourceInfo;isStatic;_id=-1;get id(){return this._id}constructor(t,a=!1){this.sourceInfo=t,this.isStatic=a}create(t=!1){if(this.id!==-1)throw new Error("[Vehicle]: Unable to create the vehicle again");if(A.createdCount===F.MAX_VEHICLES)throw new Error("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:a,x:n,y:i,z:r,zAngle:s,color:l,respawnDelay:o,addSiren:d}=this.sourceInfo;if(!(!t&&!Pe(a))){if(this.isStatic){if(o===void 0){this._id=Zo(a,n,i,r,s,l[0],l[1]);return}this._id=jo(a,n,i,r,s,l[0],l[1],o||-1,d||!1)}else this._id=to(a,n,i,r,s,l[0],l[1],o||-1,d||!1);A.createdCount++,A.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)throw new Error("[Vehicle]: Unable to destroy the vehicle before create");ao(this.id),A.createdCount--,A.vehicles.delete(this._id),this._id=-1}addComponent(t){if(this.id===-1)return 0;if(!ch(this.getModel(),t))throw new Error(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`);return Eo(this.id,t)}removeComponent(t){if(this.getComponentInSlot(A.getComponentType(t))===0)throw new Error(`[Vehicle]: component id ${t} does not exist on this vehicle`);return Ao(this.id,t)}getComponentInSlot(t){return Go(this.id,t)}linkToInterior(t){return this.id===-1?0:Io(this.id,t)}setVirtualWorld(t){return this.id===-1?0:Wo(this.id,t)}getVirtualWorld(){return this.id===-1?0:Ko(this.id)}repair(){return this.id===-1?0:Bo(this.id)}setPos(t,a,n){return this.id===-1?0:ro(this.id,t,a,n)}getPos(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getPos before create");return io(this.id)}getHealth(){return this.id===-1?0:No(this.id)}setHealth(t){return this.id===-1?0:Do(this.id,t)}isPlayerIn(t){return this.id===-1?!1:Ys(t.id,this.id)}putPlayerIn(t,a){if(this.id===-1||a<0)return 0;if(a>4)throw new Error("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle.");return Ds(t.id,this.id,a)}getZAngle(){return this.id===-1?0:so(this.id)}setZAngle(t){return this.id===-1?0:co(this.id,t)}setNumberPlate(t){if(this.id===-1)return 0;if(t.length<1||t.length>32)throw new Error("[Vehicle]: The length of the number plate ranges from 32 characters");if(!/^[a-zA-Z0-9]+$/.test(t))throw new Error("[Vehicle]: number plates only allow letters and numbers");return Ro(this.id,t)}changeColors(t,a){return this.id===-1?0:Co(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:Mo(this.id,t,a,n)}getVelocity(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getVelocity before create");const[t,a,n]=ko(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 me(a,n,i)*t}setAngularVelocity(t,a,n){return this.id===-1?0:xo(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return Ho(this.id)}updateDamageStatus(t,a,n,i){this.id!==-1&&Vo(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return oo(this.id,t,a,n)}getModel(){return Oo(this.id)}static getModelInfo(t,a){return Uo(t,a)}getModelInfo(t){if(this.id===-1)throw new Error("[Vehicle]: Unable to getModelInfo before create");return A.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,n,i]=lo(this.id);return{w:t,x:a,y:n,z:i}}setRespawn(){return this.id===-1?0:Po(this.id)}isStreamedIn(t){return this.id===-1?!1:no(this.id,t.id)}setParamsCarDoors(t,a,n,i){return this.id===-1?0:go(this.id,t,a,n,i)}setParamsCarWindows(t,a,n,i){return this.id===-1?0:So(this.id,t,a,n,i)}getParamsCarDoors(){if(this.id!==-1)return fo(this.id)}getParamsCarWindows(){if(this.id!==-1)return yo(this.id)}setParamsEx(t,a,n,i,r,s,l){return this.id===-1?0:uo(this.id,t,a,n,i,r,s,l)}getParamsEx(){if(this.id===-1)return{engine:-1,lights:-1,alarm:-1,doors:-1,bonnet:-1,boot:-1,objective:-1};const[t,a,n,i,r,s,l]=mo(this.id);return{engine:t,lights:a,alarm:n,doors:i,bonnet:r,boot:s,objective:l}}toggleEngine(t){if(this.id===-1)return 0;const{lights:a,alarm:n,doors:i,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(t,a,n,i,r,s,l)}toggleLights(t){if(this.id===-1)return 0;const{engine:a,alarm:n,doors:i,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,t,n,i,r,s,l)}toggleAlarm(t){if(this.id===-1)return 0;const{engine:a,lights:n,doors:i,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,n,t,i,r,s,l)}toggleDoors(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:i,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,n,i,t,r,s,l)}toggleBonnet(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:i,doors:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,n,i,r,t,s,l)}toggleBoot(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:i,doors:r,bonnet:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,n,i,r,s,t,l)}toggleObjective(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:i,doors:r,bonnet:s,boot:l}=this.getParamsEx();return this.setParamsEx(a,n,i,r,s,l,t)}getParamsSirenState(){return this.id===-1?-2:po(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:_o(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:bo(this.id)}changePaintjob(t){return this.id===-1||!_h(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),To(this.id,t),1)}attachTrailer(t){return this.id===-1?0:wo(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&vo(this.id)}getTrailer(){if(this.id!==-1)return A.getInstances().find(t=>t.id===Lo(this.id))}isValid(){return He(this.id)}getMatrix(){if(this.id!==-1)return ql(this.id)}getTrainSpeed(){return this.id===-1?0:Ql(this.id)}getHydraReactorAngle(){return this.id===-1?0:Jl(this.id)}getLandingGearState(){return this.id===-1?0:$l(this.id)}getSirenState(){return this.id===-1?0:zl(this.id)}getDriver(){if(this.id!==-1)return U.get(Xl(this.id))}getLastDriver(){if(this.id!==-1)return U.get(jl(this.id))}isSirenEnabled(){return Kl(this.id)}toggleSirenEnabled(t){return this.id===-1?0:Ul(this.id,t)}setParamsSirenState(t){return this.id===-1?0:Wl(this.id,t)}isDead(){return this.id===-1?!0:xl(this.id)}setDead(t){return this.id===-1?!1:Hl(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:Vl(this.id,t)}getRespawnTick(){return this.id===-1?0:kl(this.id)}setRespawnTick(t){return this.id===-1?!1:Ml(this.id,t)}isOccupied(){return this.id===-1?!1:Bl(this.id)}hasBeenOccupied(){return this.id===-1?!1:Fl(this.id)}getOccupiedTick(){return this.id===-1?0:Ol(this.id)}setOccupiedTick(t){return this.id===-1?0:Gl(this.id,t)}getCab(){return this.id===-1?0:Rl(this.id)}getRespawnDelay(){return this.id===-1?0:Ll(this.id)}setRespawnDelay(t){return this.id===-1?0:bl(this.id,t)}getNumberPlate(){return this.id===-1?"":vl(this.id)}getInterior(){return this.id===-1?0:wl(this.id)}getPaintjob(){return this.id===-1?-1:Nl(this.id)}getColors(){if(this.id!==-1)return Dl(this.id)}setSpawnInfo(t,a,n,i,r,s,l,o=-2,d=-2,h=!1){return this.id===-1||!h&&!Pe(t)?0:Tl(this.id,t,a,n,i,r,P(s),P(l),o,d)}getSpawnInfo(){if(this.id!==-1)return Cl(this.id)}getRandomColorPair(){if(this.id!==-1)return xe(this.getModel())}show(){return this.id===-1?!1:Xo(this.id)}hide(){return this.id===-1?!1:Yo(this.id)}isHidden(){return this.id===-1?!1:zo(this.id)}getVehicleOccupant(t){return td(this.id,t)}getVehicleMaxPassengers(){return Ve(this.getModel())}countVehicleOccupants(){return ad(this.getModel())}static getVehicleMaxPassengers=Ve;static getRandomColorPair=xe;static getComponentType=Fo;static colorIndexToColor=eo;static isValid=He;static getModelsUsed=Yl;static getModelCount=Zl;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}const[ft]=c({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:u.getInstance(e),actionId:t,memAddr:a,data:n}}}),[hh,uh]=c({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,a){return{player:e,newLocale:t,oldLocale:a}}}),[mh,ph]=c({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,a){return{player:e,newCharset:t,oldCharset:a}}});class u{constructor(t){this.id=t;const a=u.getInstance(t);if(a)return a}[j]={isAndroid:!0};static players=U;static MAX_CHECK_ANDROID_DELAY=10;static SKIP_CHECK_ANDROID=!1;_charset="ISO-8859-1";_locale="en_US";lastDrunkLevel=0;lastFps=0;lastUpdateTick=0;lastUpdateFpsTick=0;isPaused=!1;isRecording=!1;get charset(){return this._charset}set charset(t){const a=this._charset;this._charset=t,ph(this,t,a)}get locale(){return this._locale}set locale(t){const a=this._locale;this._locale=t,uh(this,t,a)}sendClientMessage(t,a){return pt(this,t,a)}static sendClientMessageToAll(t,a){Y_(u.getInstances(),t,a)}sendMessageToPlayer(t,a){return gt(t,this.id,a)}sendMessageToAll(t){return z_(u.getInstances(),this.id,t)}isNpc(){return Pr(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return Ur(this.id)}setDrunkLevel(t){if(t<0||t>5e4)throw new Error("[Player]: player's drunk level ranges from 0 to 50000");return Wr(this.id,t)}allowTeleport(t){return hr(this.id,t)}isTeleportAllowed(){return ur(this.id)}enableCameraTarget(t){return ll(this.id,t)}enableStuntBonus(t){return Hs(this.id,t)}getInterior(){return vr(this.id)}setInterior(t){return wr(this.id,t)}showNameTag(t,a){return el(this.id,t.id,a)}setColor(t){return Kr(this.id,t)}getColor(){return Zr(this.id)}setMarker(t,a){Qs(this.id,t.id,a)}getMarker(t){return qs(this.id,t.id)}resetMoney(){return qr(this.id)}getMoney(){return es(this.id)}giveMoney(t){return Qr(this.id,t)}resetWeapons(){return zr(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):Si(this.id)}setHealth(t){return br(this.id,t)}getHealth(){return Lr(this.id)}toggleClock(t){return ls(this.id,t)}toggleControllable(t){return bs(this.id,t)}toggleSpectating(t){return Zs(this.id,t)}spectatePlayer(t,a=_e.NORMAL){return js(this.id,t.id,a)}spectateVehicle(t,a=_e.NORMAL){return Xs(this.id,t.id,a)}forceClassSelection(){return ds(this.id)}kick(){return Li(this.id)}ban(){return Ri(this.id)}banEx(t,a){return q_(this.id,t,a)}isAdmin(){return vi(this.id)}isInRangeOfPoint(t,a,n,i){return Tr(this.id,t,a,n,i)}isStreamedIn(t){return Nr(this.id,t.id)}setSkin(t,a=!1){return!a&&(t<0||t>311||t===74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===ge.DUCK?!1:jr(this.id,t)}getSkin(){return Xr(this.id)}isInAnyVehicle(){return zs(this.id)}getSpecialAction(){return Fs(this.id)}setSpecialAction(t){return Bs(this.id,t)}setScore(t){return Hr(this.id,t)}getScore(){return Vr(this.id)}getPing(){return as(this.id)||0}setPos(t,a,n){return ke(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===Q.NONE)return;const[t,a,n]=Er(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===Q.SPECTATING}isWasted(){return this.getState()===Q.WASTED}getState(){return ts(this.id)}getVersion(){return this.isNpc()?"":Wi(this.id)}setVirtualWorld(t){return Ms(this.id,t)}getVirtualWorld(){return xs(this.id)}removeFromVehicle(){return vs(this.id)}setWantedLevel(t){if(t<0||t>6)throw new Error("[Player]: player's wanted level ranges from 0 to 6");return cs(this.id,t)}getWantedLevel(){return _s(this.id)}setFacingAngle(t){return Ar(this.id,t)}getFacingAngle(){return Cr(this.id)}setWeather(t){if(t<0||t>255)throw new Error("[Player]: The valid weather value is only 0 to 255");return os(this.id,t)}getWeather(){return Xi(this.id)}setTime(t,a){if(t<0||t>23)throw new Error("[Player]: The valid hour value is only 0 to 23");if(a<0||a>59)throw new Error("[Player]: The valid minute value is only 0 to 59");return rs(this.id,t,a)}getTime(){const[t,a]=ss(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,i,r){return Cs(this.id,t,a,n,i,r)}setTeam(t){t<0||t>T.NO_TEAM||Mr(this.id,t)}getTeam(){return xr(this.id)}setSkillLevel(t,a){if(a<0||a>999)throw new Error("[Player]: The valid skill level is only 0 to 999");return Ps(this.id,t,a)}getName(){return J_(this)}setName(t){return Q_(this,t)}setVelocity(t,a,n){return ms(this.id,t,a,n)}getVelocity(){const[t,a,n]=ps(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 me(a,n,i)*t}getKeys(){const[t,a,n]=is(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return Ui(this.id)}getFightingStyle(){return us(this.id)}setFightingStyle(t){return hs(this.id,t)}setArmour(t){return Rr(this.id,t)}getArmour(){return Or(this.id)}setCameraBehind(){return nl(this.id)}setCameraPos(t,a,n){return tl(this.id,t,a,n)}setCameraLookAt(t,a,n,i=re.CUT){return al(this.id,t,a,n,i)}getCameraAspectRatio(){return cl(this.id)}getCameraFrontVector(){const[t,a,n]=rl(this.id);return{x:t,y:a,z:n}}getCameraMode(){return sl(this.id)}getCameraPos(){const[t,a,n]=il(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(){const t=dl(this.id);return u.getInstances().find(a=>a.id===t)}getCameraTargetVehicle(){const t=ol(this.id);return A.getInstances().find(a=>a.id===t)}getCameraZoom(){return _l(this.id)}playAudioStream(t,a=0,n=0,i=0,r=5){let s=!1;return(a!==0||n!==0||i!==0)&&(s=!0),fs(this.id,t,a,n,i,r,s)}stopAudioStream(){return Ss(this.id)}playSound(t,a=0,n=0,i=0){return Ls(this.id,t,a,n,i)}static getMaxPlayers(){return Hn()}playCrimeReport(t,a){if(a<3||a>22)throw new Error("[Player]: Available crime ids range from 3 to 22");return gs(this.id,t.id,a)}interpolateCameraPos(t,a,n,i,r,s,l,o=re.CUT){return hl(this.id,t,a,n,i,r,s,l,o)}interpolateCameraLookAt(t,a,n,i,r,s,l,o=re.CUT){return ul(this.id,t,a,n,i,r,s,l,o)}createExplosion(t,a,n,i,r){if(i<0||i>13)throw new Error("[Player]: The valid explosion type value is only 0 to 13");return Us(this.id,t,a,n,i,r)}static isConnected(t){return Me(t)}isConnected(){return Me(this.id)}disableRemoteVehicleCollisions(t){return ks(this.id,t)}getVehicle(){if(!this.isInAnyVehicle())return;const t=Ns(this.id);return A.getInstances().find(a=>a.id===t)}getVehicleSeat(){return ws(this.id)}getSurfingVehicle(){const t=Is(this.id);if(t!==T.VEHICLE_ID)return A.getInstances().find(a=>a.id===t)}applyAnimation(t,a,n=4.1,i=!1,r=!0,s=!0,l=!1,o=0,d=!1){if(!ye(t,a))throw new Error("[Player]: Invalid anim library or name");return Rs(this.id,t,a,n,i,r,s,l,o,+d)}clearAnimations(t=!1){return Os(this.id,t)}getAnimationIndex(){return Gs(this.id)}getAnimationName(t=this.getAnimationIndex()){const[a,n]=si(t);return{index:t,animLib:a,animName:n}}setShopName(t){return ys(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(i=>{ke(this.id,t,a,n),setTimeout(()=>i(Ir(this.id,t,a,n)))})}setWorldBounds(t,a,n,i){return $s(this.id,t,a,n,i)}clearWorldBounds(){return Js(this.id)}setChatBubble(t,a,n,i,r=this.charset){return lh(this.id,t,a,n,i,r)}getDistanceFromPoint(t,a,n){return Dr(this.id,t,a,n)}getCustomSkin(){return Vs(this.id)}getTargetPlayer(){const t=kr(this.id);if(t!==T.PLAYER_ID)return u.getInstances().find(a=>a.id===t)}getLastShotVectors(){const[t,a,n,i,r,s]=Ts(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:i,fHitPosY:r,fHitPosZ:s}}getWeapon(){return ns(this.id)}getWeaponData(t){if(t<0||t>12)throw new Error("[Player]: weapon slots range from 0 to 12");const[a,n]=Jr(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return Br(this.id)}giveWeapon(t,a){return Yr(this.id,t,a)}setAmmo(t,a){return Gr(this.id,t,a)}getAmmo(){return Fr(this.id)}setArmedWeapon(t){return $r(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(T.PLAYER_ID,T.PLAYER_ID,fe.CONNECT)}sendDeathMessage(t,a){return xn(t===T.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){return Sr(this.id,t===T.PLAYER_ID?t:t.id,a===T.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,i,r,s,l,o,d,h,m,p){return t<0||t>T.NO_TEAM||a<0||a>311||a===74||o<0||h<0||p<0?!1:fi(this.id,t,a,n,i,r,s,l,o,d,h,m,p)}redirectDownload(t){return x_(this.id,t)}sendClientCheck(t,a,n,i){const r=[2,5,69,70,71,72];if(!r.includes(t))throw new Error(`[Player]: sendClientCheck valid types are ${r.toString()}`);return new Promise((s,l)=>{if(this.isPaused)return l("[Player]: An attempt to check the player client response, but the player paused the game");const o="[Player]: An attempt to check the player client response timed out",d=this.getPing(),h=(d>=200?0:d)+200;let m=null;const p=ft(({player:S,actionId:I,memAddr:L,data:G,next:ae})=>(S!==this||(m&&(clearTimeout(m),m=null),s({actionId:I,memAddr:L,data:G})),ae()));m=setTimeout(()=>{p(),l(o)},h),Mi(this.id,t,a,n,i)})}selectTextDraw(t){Zc(this.id,t)}cancelSelectTextDraw(){jc(this.id)}beginObjectSelecting(){return G_(this.id)}endObjectEditing(){return F_(this.id)}getSurfingObject(t){const a=Es(this.id);if(a!==T.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=As(this.id);if(a!==T.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return Z_(this.id,t)}editAttachedObject(t){return O_(this.id,t)}setAttachedObject(t,a,n,i=0,r=0,s=0,l=0,o=0,d=0,h=1,m=1,p=1,S=0,I=0){return this.isAttachedObjectSlotUsed(t)?0:W_(this.id,t,a,n,i,r,s,l,o,d,h,m,p,S,I)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?K_(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 Ki(this.id,t)}isWidescreenToggled(){return Zi(this.id)}getSpawnInfo(){return yi(this.id)}getSkillLevel(t){return ji(this.id,t)}isCheckpointActive(){return nd(this.id)}getCheckpoint(){return id(this.id)}isRaceCheckpointActive(){return rd(this.id)}getRaceCheckpoint(){return sd(this.id)}getWorldBounds(){Yi(this.id)}isInModShop(){return $o(this.id)}getSirenState(){return Jo(this.id)}getLandingGearState(){return Qo(this.id)}getHydraReactorAngle(){return qo(this.id)}getTrainSpeed(){return ed(this.id)}getZAim(){return zi(this.id)}getSurfingOffsets(){return $i(this.id)}getRotationQuat(){return Ji(this.id)}getDialogID(){return Qi(this.id)}getSpectateID(){return qi(this.id)}getSpectateType(){return er(this.id)}getRawIp(){return Vi(this.id)}setGravity(t){return tr(this.id,t)}getGravity(){return ar(this.id)}setAdmin(t){return bi(this.id,t)}isSpawned(){return nr(this.id)}isControllable(){return ir(this.id)}isCameraTargetEnabled(){return rr(this.id)}toggleGhostMode(t){return sr(this.id,t)}getGhostMode(){return lr(this.id)}getBuildingsRemoved(){return or(this.id)}getAttachedObject(t){return U_(this.id,t)}removeWeapon(t){return dr(this.id,t)}isUsingOfficialClient(){return _r(this.id)}allowWeapons(t){return mr(this.id,t)}areWeaponsAllowed(){return pr(this.id)}gpci(t=this.charset){return ki(this.id,t)}isCuffed(){return ml(this.id)}isInDriveByMode(){return pl(this.id)}isAndroid(){return this.isConnected()&&this[j].isAndroid}isPC(){return this.isConnected()&&!this[j].isAndroid}isUsingOmp(){return gl(this.id)}static getInstance(t){return U.get(t)}static getInstances(){return[...U.values()]}}const[St]=c({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),dialogId:t,response:a,listItem:n,buffer:i}}});St(({next:e,player:t,dialogId:a,response:n,listItem:i,buffer:r})=>{const s=N.waitingQueue.get(t);return!s||s.showId!==a||setTimeout(()=>s.resolve({response:n,listItem:i,buffer:r})),e()});class N{id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new WeakMap;constructor(t={style:pe.MSGBOX,caption:"",info:"",button1:"",button2:""}){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.maxDialogId;)this.id=Math.floor(Math.random()*(N.maxDialogId+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}),$_(t,this.id,this.dialog)}).then(a=>{const{response:n,listItem:i}=a,r=y.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),cr(t.id)}}const[yt]=c({name:"OnPlayerConnect",beforeEach(e){const t=new u(e);return U.set(e,t),N.close(t),{player:t}}}),[Pt]=c({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:U.get(e),reason:t}},afterEach({player:e}){U.delete(e.id)}}),[It]=c({name:"OnPlayerUpdate",beforeEach(e){return{player:u.getInstance(e)}}}),[gh]=c({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=u.getInstance(e);return{player:a,text:y.decodeFromBuf(t,a.charset),buffer:t}}}),[fh]=c({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:u.getInstance(e),enterExit:!!t,interior:a}}}),[Sh]=c({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:u.getInstance(e),fX:t,fY:a,fZ:n}}}),[yh]=c({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:u.getInstance(e),clickedPlayer:u.getInstance(t),source:a}}}),[Ph]=c({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:u.getInstance(e),killer:u.getInstance(t)||T.PLAYER_ID,reason:a}}}),[Ih]=c({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),damage:u.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),[Eh]=c({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),newKeys:t,oldKeys:a}}}),[Ah]=c({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:u.getInstance(e),classId:t}}}),[Ch]=c({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:u.getInstance(e)}}}),[Th]=c({name:"OnPlayerSpawn",beforeEach(e){return{player:u.getInstance(e)}}}),[Dh]=c({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),newState:t,oldState:a}}}),[Nh]=c({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[wh]=c({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[vh]=c({name:"OnPlayerTakeDamage",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),damage:u.getInstance(t)||T.PLAYER_ID,amount:a,weapon:n,bodyPart:i}}}),[bh]=c({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:u.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[Lh]=c({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:u.getInstance(e),type:t,crc:a}}}),[Rh]=c({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:u.getInstance(e),virtualWorld:t}}}),[Oh]=c({name:"OnPlayerWeaponShot",beforeEach(e,t,a,n,i,r,s){return{player:u.getInstance(e),weapon:t,hitType:a,hitId:n,fX:i,fY:r,fZ:s}}});let le=null;const V=new Map,Ie=new Map;function Et(e){if(!e.isConnected()){V.has(e)&&clearInterval(V.get(e));return}let t=Ie.get(e)||1;if(t>=u.MAX_CHECK_ANDROID_DELAY){clearInterval(V.get(e)),Ee(e,!0);return}e.sendClientCheck(72,0,0,2).then(({actionId:a})=>{a===72&&(e[j].isAndroid=!1,V.has(e)&&clearInterval(V.get(e)),Ee(e,!1))}).catch(()=>{}),t++,Ie.set(e,t)}const[Gh,Fh]=c({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[Bh,kh]=c({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}}),[Mh,xh]=c({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,a){return{player:e,newFps:t,oldFps:a}}}),[Hh,Ee]=c({name:"OnAndroidCheck",isNative:!1,beforeEach(e,t){return{player:e,result:t}}});yt(({player:e,next:t})=>{if(!le&&u.getInstances().length&&(le=setInterval(()=>{u.getInstances().filter(n=>{const i=n.getState()!==Q.NONE;return!n.isPaused&&!n.isNpc()&&i}).forEach(n=>{Date.now()-n.lastUpdateTick>1e3&&(n.isPaused=!0,Fh(n,n.lastUpdateTick))})},500)),e.isNpc())return e[j].isAndroid=!1,t();if(u.SKIP_CHECK_ANDROID)return e[j].isAndroid=!e.isUsingOfficialClient(),Ee(e,e[j].isAndroid),t();Et(e);const a=setInterval(()=>Et(e),1e3);return V.set(e,a),t()}),Pt(({player:e,next:t})=>(le&&u.getInstances().length<=1&&(clearInterval(le),le=null),V.has(e)&&(clearInterval(V.get(e)),V.delete(e),Ie.delete(e)),t()));function Vh(e){if(!u.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;const n=e.lastFps,i=e.lastDrunkLevel-a-1;e.lastFps=i,e.lastDrunkLevel=a,xh(e,i,n)}}It(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,kh(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,Vh(e)}return t()});const q=new Map,ee=new Map,At=/[^/\s]+/gi,oe={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"},RECEIVED_THROW:{code:4,msg:"An event registered through onCommandReceived throw an error"},RECEIVED_REJECTED:{code:5,msg:"An event registered through onCommandReceived returned false"}},[Uh,Wh]=c({name:"OnCommandReceived",isNative:!1,throwOnError:!0,beforeEach(e,t,a,n,i,r,s,l,o){return{player:e,command:t,cmdText:a,buffer:n,strictMainCmd:i,noStrictMainCmd:r,hasStrict:s,hasNoStrict:l,subcommand:o}}}),[Kh,Zh]=c({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t,a,n,i,r,s,l,o){return{player:e,command:t,cmdText:a,buffer:n,strictMainCmd:i,noStrictMainCmd:r,hasStrict:s,hasNoStrict:l,subcommand:o}}}),[jh,de]=c({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a,n,i,r,s,l,o,d){return{player:e,error:t,command:a,cmdText:n,buffer:i,strictMainCmd:r,noStrictMainCmd:s,hasStrict:l,hasNoStrict:o,subcommand:d}}}),[Xh]=c({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){const a=u.getInstance(e),n=y.decodeFromBuf(t,a.charset);return{player:a,buffer:t,cmdText:n}}});function Yh(e){const t=[];let a="";for(let n=0;n<e.length;n++)a+=e[n]+" ",t.push(a.trimEnd());return t.reverse()}Xh(({player:e,buffer:t,cmdText:a,next:n})=>{const i=a.match(At),r=Yh(i),s=r.find(I=>q.has(I)),l=r.map(I=>I.toLowerCase()).find(I=>ee.has(I)),o=!!s,d=!!l,h=i.join(" ");let m=[];const p=[[s,q,!0],[l,ee,!1]],S=[h,a,t,s,l,o,d,m];if(o||d){const I=p[0][0]||p[1][0];m=h.replace(I,"").trim().split(" ")}else return de(e,oe.NOT_EXIST,...S);try{if(!Wh(e,...S))return de(e,oe.RECEIVED_REJECTED,...S)}catch(I){return de(e,{...oe.RECEIVED_THROW,error:I},...S)}for(const[I,L,G]of p){if(!I)continue;const ae=L.get(I),[,Dt]=ae;if(!Dt(e,I,m,a,t,G))return de(e,oe.REJECTED,...S)}return Zh(e,h,a,t,s,l,o,d,m)?n():de(e,oe.PERFORMED,...S)});function zh(e,t,a,n,i,r){return{player:e,mainCommand:t,subcommand:a,cmdText:n,buffer:i,isStrict:r}}class x{static caseSensitive=!1;constructor(){}static on(t,a){let n=x.caseSensitive,i,r;typeof t=="string"||t instanceof Array?(i=t,r=a):(i=t.command,r=t.run,typeof t.caseSensitive<"u"&&(n=t.caseSensitive));const s=Array.isArray(i)?i:[i],l=s.find(h=>!h.match(At));if(l)return console.log(`error command ${l} format`),()=>{};const o=n?q:ee,d=s.map(h=>{const m=h.replaceAll("/",""),p=n?m:m.toLowerCase();if(!o.has(p)){const I=c({name:n?"$"+p:p,isNative:!1,beforeEach:zh});o.set(p,I)}const[S]=o.get(p);return[p,S(r)]});return()=>{d.forEach(h=>{const[m,p]=h;p()===0&&o.delete(m)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(a=>{let n=a.replaceAll("/","");q.has(n)&&(O.has(n)&&O.delete(n),q.has(n)&&q.delete(n)),n=n.toLowerCase(),ee.has(n)&&(O.has(n)&&O.delete(n),ee.has(n)&&ee.delete(n))})}static enableCaseSensitive(){x.caseSensitive=!0}static disableCaseSensitive(){x.caseSensitive=!1}static isCaseSensitive(){return x.caseSensitive}}const Ae=Object.freeze({onConnect:yt,onDisconnect:Pt,onPause:Gh,onResume:Bh,onUpdate:It,onText:gh,onEnterExitModShop:fh,onClickMap:Sh,onClickPlayer:yh,onDeath:Ph,onGiveDamage:Ih,onKeyStateChange:Eh,onRequestClass:Ah,onRequestSpawn:Ch,onSpawn:Th,onStateChange:Dh,onStreamIn:Nh,onStreamOut:wh,onTakeDamage:vh,onInteriorChange:bh,onRequestDownload:Lh,onFinishedDownloading:Rh,onCheckResponse:ft,onCommandReceived:Uh,onCommandPerformed:Kh,onCommandError:jh,onCommandText:x.on,offCommandText:x.off,onDialogResponse:St,onLocaleChange:hh,onCharsetChange:mh,onFpsUpdate:Mh,onWeaponShot:Oh,onAndroidCheck:Hh}),[Ct]=c({name:"OnGameModeInit"}),[Tt]=c({name:"OnGameModeExit"}),[$h]=c({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[Jh]=c({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:y.decodeFromBuf(e)}}}),[Qh]=c({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:y.decodeFromBuf(e),password:y.decodeFromBuf(t),success:!!a,ipBuffer:e,passwordBuffer:t}}}),X=[],te=[],Ce=new Map,Te=async e=>{try{return await new Promise((t,a)=>{const n=X.findIndex(l=>l.name===e);if(n===-1)return;const i=X[n];function r(l){l.length&&Ce.set(e,l),X.splice(n,1),te.push(i),setTimeout(t)}const s=i.load();s instanceof Promise?s.then(r).catch(a):r(s)})}catch(t){throw new Error(`[GameMode]: script ${e} load fail
3
- err:${t}`)}},De=async e=>{try{return await new Promise((t,a)=>{const n=te.findIndex(o=>o.name===e);if(n===-1)return;const i=te[n],r=Ce.get(e);r&&(r.forEach(o=>o()),Ce.delete(e));function s(){te.splice(n,1),X.push(i),setTimeout(t)}const l=i.unload();l instanceof Promise?l.then(s).catch(a):s()})}catch(t){throw new Error(`[GameMode]: script ${e} unload fail
4
- ${t}`)}},qh=async e=>{await De(e),await Te(e)};Ct(async({next:e})=>{const t=X.map(a=>a.name);for(const a of t)await Te(a);return e()}),Tt(async({next:e})=>{const t=te.map(a=>a.name);for(const a of t)await De(a);return e()});const eu=function(e,...t){if(X.some(a=>a.name===e.name)||te.some(a=>a.name===e.name))throw new Error(`[GameMode]: script ${e.name} has already been applied`);e.load=e.load.bind(e,...t),X.push(e)};class w{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=Ct;static onExit=Tt;static onIncomingConnection=$h;static onRconCommand=Jh;static onRconLoginAttempt=Qh;static use(t,...a){return eu(t,...a),this}static loadUseScript=Te;static reloadUseScript=qh;static unloadUseScript=De;static enableCmdCaseSensitive=x.enableCaseSensitive;static disableCmdCaseSensitive=x.disableCaseSensitive;static isCmdCaseSensitive=x.isCaseSensitive;static supportAllNickname(){for(let t=0;t<=255;t++)this.isNickNameCharacterAllowed(t)||this.allowNickNameCharacter(t,!0)}static setWeather(t){if(t<0||t>255)throw new Error("[GameMode]: The valid weather value is only 0 to 255");return Xn(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");return Kn(t)}static getWorldTime=Zn;static setTeamCount=mi;static sendRconCommand=eh;static addPlayerClass=pi;static addPlayerClassEx=gi;static createExplosion(t,a,n,i,r){if(i<0||i>13)throw new Error("[GameMode]: The valid explosion type value is only 0 to 13");return $n(t,a,n,i,r)}static manualVehicleEngineAndLights=ho;static blockIpAddress=Fi;static unBlockIpAddress=Bi;static getServerTickRate=ri;static addSimpleModel(t,a,n,i,r){return this.checkSimpleModel(t,a,n,i,r)?k_(t,a,n,i,r):0}static addSimpleModelTimed(t,a,n,i,r,s,l){return this.checkSimpleModel(t,a,n,i,r,s,l)?M_(t,a,n,i,r,s,l):0}static checkSimpleModel(t,a,n,i,r,s,l){if(t<-1)throw new Error("[GameMode]: AddSimpleModel - Error virtual world");if(a<0)throw new Error("[GameMode]: AddSimpleModel - Error baseId");if(n>-1e3||n<-3e4)throw new Error("[GameMode]: AddSimpleModel - Error newId range");if(i.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty dffName");if(r.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty txdName");if(s!==void 0&&(s<0||s>23))throw new Error("[GameMode]: AddSimpleModel - Error time on range");if(l!==void 0&&(l<0||l>23))throw new Error("[GameMode]: AddSimpleModel - Error time off range");return 1}static isValidCustomModel=Ue;static getCustomModePath=j_;static getConsoleVarAsString(t,a="utf8"){const n=vn(t);return y.decodeFromBuf(y.getValidStr(n),a)}static getRestartTime=Bn;static setRestartTime=Fn;static allowAdminTeleport=An;static isAdminTeleportAllowed=Cn;static allowInteriorWeapons=Tn;static areInteriorWeaponsAllowed=Dn;static areAllAnimationsEnabled=Nn;static enableAllAnimations=wn;static enableStuntBonusForAll=li;static enableVehicleFriendlyFire=jn;static enableZoneNames=Jn;static disableInteriorEnterExits=qn;static setGameModeText=Vn;static getGravity=Yn;static setGravity=zn;static showNameTags=Un;static disableNameTagLOS=ti;static usePlayerPedAnims=Qn;static showPlayerMarkers=Wn;static limitPlayerMarkerRadius=ni;static limitGlobalChatRadius=ai;static setNameTagDrawDistance=ei;static findModelFileNameFromCRC=H_;static findTextureFileNameFromCRC=V_;static getWeaponName=_i;static setObjectsDefaultCameraCollision=B_;static vectorSize=me;static clearBanList=xi;static isBanned=Hi;static isValidNickName=gn;static allowNickNameCharacter=fn;static isNickNameCharacterAllowed=Sn;static addServerRule=yn;static setServerRule=Pn;static isValidServerRule=In;static removeServerRule=En;static getWeaponSlot=ci;static getAvailableClasses=Be;static getPlayerClass=hi;static editPlayerClass=ui;static toggleChatTextReplacement=oi;static chatTextReplacementToggled=di;static getConsoleVarAsInt=bn;static getConsoleVarAsBool=Ln;static getWeather=Rn;static getServerRuleFlag=On;static setServerRuleFlags=Gn}w.onExit(({next:e})=>(D.npcs.clear(),e()));const[tu]=c({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[au]=c({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[nu]=c({name:"OnNpcModeInit"}),[iu]=c({name:"OnNpcModeExit"}),[ru]=c({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:y.decodeFromBuf(t)}}}),[su]=c({name:"OnNPCFinishMove",beforeEach(e){return{npc:D.getInstance(e)}}}),[lu]=c({name:"OnNPCCreate",beforeEach(e){return{npc:D.getInstance(e)}}}),[ou]=c({name:"OnNPCDestroy",beforeEach(e){return{npc:D.getInstance(e)}}}),[du]=c({name:"OnNPCWeaponStateChange",beforeEach(e,t,a){return{npc:D.getInstance(e),newState:t,oldState:a}}}),[cu]=c({name:"OnNPCTakeDamage",beforeEach(e,t,a,n,i){return{npc:D.getInstance(e),damager:u.getInstance(t),damage:a,weapon:n,bodyPart:i}}}),[_u]=c({name:"OnNPCGiveDamage",beforeEach(e,t,a,n,i){return{npc:D.getInstance(e),damager:u.getInstance(t),damage:a,weapon:n,bodyPart:i}}}),[hu]=c({name:"OnNPCDeath",beforeEach(e,t,a){return{npc:D.getInstance(e),killer:t,reason:a}}}),[uu]=c({name:"OnNpcSpawn",beforeEach(e){return{npc:D.getInstance(e)}}}),mu=Object.freeze({onConnect:tu,onDisconnect:au,onModeInit:nu,onModeExit:iu,onClientMessage:ru,onFinishMove:su,onCreate:lu,onDestroy:ou,onWeaponStateChange:du,onTakeDamage:cu,onGiveDamage:_u,onDeath:hu,onSpawn:uu});w.onExit(({next:e})=>(A.getInstances().forEach(t=>t.destroy()),e()));const[pu]=c({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:A.getInstance(e),player:u.getInstance(t)}}}),[gu]=c({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:A.getInstance(e),killer:u.getInstance(t)}}}),[fu]=c({name:"OnVehicleMod",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),componentId:a}}}),[Su]=c({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),paintjobId:a}}}),[yu]=c({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:u.getInstance(e),vehicle:A.getInstance(t),color:[a,n]}}}),[Pu]=c({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),state:!!a}}}),[Iu]=c({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:A.getInstance(e)}}}),[Eu]=c({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:A.getInstance(e),forPlayer:u.getInstance(t)}}}),[Au]=c({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:A.getInstance(e),forPlayer:u.getInstance(t)}}}),[Cu]=c({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),isPassenger:!!a}}}),[Tu]=c({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:u.getInstance(e),vehicle:A.getInstance(t)}}}),[Du]=c({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:A.getInstance(e),seatId:t}}}),[Nu]=c({name:"OnNpcExitVehicle"}),[wu]=c({name:"OnTrailerUpdate",beforeEach(e,t){return{player:u.getInstance(e),vehicle:A.getInstance(t)}}}),[vu]=c({name:"OnUnoccupiedVehicleUpdate",beforeEach(e,t,a,n,i,r,s,l,o){return{vehicle:A.getInstance(e),player:u.getInstance(t),passengerSeat:a,newX:n,newY:i,newZ:r,velX:s,velY:l,velZ:o}}}),bu=Object.freeze({onDamageStatusUpdate:pu,onDeath:gu,onMod:fu,onPaintjob:Su,onRespray:yu,onSirenStateChange:Pu,onSpawn:Iu,onStreamIn:Eu,onStreamOut:Au,onPlayerEnter:Cu,onPlayerExit:Tu,onNpcEnter:Du,onNpcExit:Nu,onTrailerUpdate:wu,onUnoccupiedUpdate:vu});class Lu{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return Gi()}static getPlayerNetworkStats(t){return Oi(t.id)}static getBytesReceived(t){return Ei(t.id)}static getBytesSent(t){return Ci(t.id)}static getConnectionStatus(t){return Ni(t.id)}static getConnectedTime(t){return Pi(t.id)}static getIpPort(t){return wi(t.id)}static getMessagesReceived(t){return Ii(t.id)}static getMessagesRecvPerSecond(t){return Ti(t.id)}static getMessagesSent(t){return Ai(t.id)}static getPacketLossPercent(t){return Di(t.id)}}class Ru{_text;_time;_style;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}constructor(t,a,n){this._text=t,this._time=a,this._style=n}static hideForAll(t){Mn(t)}static has(t,a){return fr(t.id,a)}forAll(t="win1252"){kn(y.encodeToBuf(y.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,a="win1252"){gr(t.id,y.encodeToBuf(y.convertSpecialChar(this.text),a),this.time,this.style)}hideForPlayer(t){return yr(t.id,this.style)}}class J{static menus=new Map;_itemCount=0;get itemCount(){return this._itemCount}_id=-1;get id(){return this._id}_title;get title(){return this._title}set title(t){this._title=t}_columns=1;get columns(){return this._columns}set columns(t){if(t!==1&&t!==2)throw new Error("[Menu]: The menu column number interval is between 1 and 2");this._columns=t}_x;get x(){return this._x}set x(t){this._x=t}_y;get y(){return this._y}set y(t){this._y=t}_col1width;get col1width(){return this._col1width}set col1width(t){this._col1width=t}_col2width;get col2width(){return this._col2width}set col2width(t){this._col2width=t}constructor(t,a,n,i,r,s){this._title=t,this.columns=a,this._x=n,this._y=i,this._col1width=r,this._col2width=s}create(){if(this._id!==-1)throw new Error("[Menu]: Cannot be created twice");if(J.getInstances().length===F.MAX_MENUS)throw new Error("[Menu]: The maximum number of menus allowed to be created has been reached 128");return this._id=md(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),J.menus.set(this._id,this),this}destroy(){if(this._id===-1)throw new Error("[Menu]: Cannot destroy before create");return pd(this.id),J.menus.delete(this._id),this._id=-1,this}addItem(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot addItem before create");if(this._itemCount===F.MAX_MENU_ROW)throw new Error("[Menu]: The maximum number of items allowed to be added has been reached 12");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return gd(this.id,t,a),this._itemCount++,this}setColumnHeader(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot setColumnHeader before create");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return fd(this.id,t,a),this}disable(){if(this._id===-1)throw new Error("[Menu]: Cannot disable menu before create");return Id(this.id),this}disableRow(t){if(this._id===-1)throw new Error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)throw new Error("[Menu]: Wrong number of rows");Ed(this.id,t)}isValid(){return Pd(this.id)}showForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot show menu before create");return Sd(this.id,t.id)}hideForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot hide menu before create");return yd(this.id,t.id)}isDisabled(){return this._id===-1?!1:ld(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:od(this.id,t)}getItems(t){return this._id===-1?0:dd(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:cd(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:_d(this.id)}getColumnHeader(t){if(this._id===-1)throw new Error("[Menu]: Cannot get column header before create");return hd(this.id,t)}getItem(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot get item before create");if(a<0||a>this.getItems(t)-1)throw new Error("[Menu]: invalid getItem range");return ud(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===Ad(t.id))}}w.onExit(({next:e})=>(J.getInstances().forEach(t=>t.destroy()),e()));const[Ou]=c({name:"OnPlayerExitedMenu",beforeEach(e){return{player:u.getInstance(e)}}}),[Gu]=c({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=u.getInstance(e),n=J.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),Fu=Object.freeze({onPlayerExited:Ou,onPlayerSelectedRow:Gu});class v{static globalGangZones=new Map;static playerGangZones=new Map;sourceInfo;constructor(t){this.sourceInfo=t}_id=-1;get id(){return this._id}create(){if(this.id!==-1)throw new Error("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(v.getInstances(!1).length===F.MAX_GANG_ZONES)throw new Error("[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=Ud(t.id,a,n,i,r);const s=Ae.onDisconnect(({player:l,next:o})=>{o(),l===this.sourceInfo.player&&(this.isValid()&&this.destroy(),s())});v.playerGangZones.set(this.id,this)}else{if(v.getInstances(!0).length===F.MAX_GANG_ZONES)throw new Error("[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=Rd(a,n,i,r),v.globalGangZones.set(this.id,this)}}destroy(){if(this.id===-1)throw new Error("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(Wd(t.id,this.id),v.playerGangZones.delete(this.id)):(Od(this.id),v.globalGangZones.delete(this.id)),this._id=-1}showForAll(t){if(this.id===-1)throw new Error("[GangZone]: Unable to show the gangzone before create");if(!this.sourceInfo.player)return Fd(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be show for all.")}showForPlayer(t,a){if(this.id===-1)throw new Error("[GangZone]: Unable to show the gangzone before create");const n=this.sourceInfo.player;if(n)Kd(n.id,this.id,P(t));else if(a)Gd(a.id,this.id,t);else throw new Error("[GangZone]: invalid player for show");return this}hideForAll(){if(this.id===-1)throw new Error("[GangZone]: Unable to hide the gangzone before create");if(!this.sourceInfo.player)return kd(this.id),this;throw new Error("[GangZone]: player's gangzone should not be hide for all.")}hideForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to hide the gangzone before create");const a=this.sourceInfo.player;if(a)Zd(a.id,this.id);else if(t)Bd(t.id,this.id);else throw new Error("[GangZone]: invalid player for hide");return this}flashForAll(t){if(this.id===-1)throw new Error("[GangZone]: Unable to flash the gangzone before create");if(!this.sourceInfo.player)return xd(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be flash for all.")}flashForPlayer(t,a){if(this.id===-1)throw new Error("[GangZone]: Unable to flash the gangzone before create");const n=this.sourceInfo.player;if(n)jd(n.id,this.id,P(a));else if(t)Md(t.id,this.id,a);else throw new Error("[GangZone]: invalid player for flash");return this}stopFlashForAll(){if(this.id===-1)throw new Error("[GangZone]: Unable to stop flash the gangzone before create");if(!this.sourceInfo.player)return Vd(this.id),this;throw new Error("[GangZone]: player's gangzone should not be stop flash for all.")}stopFlashForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to stop flash the gangzone before create");const a=this.sourceInfo.player;if(a)Xd(a.id,this.id);else if(t)Hd(t.id,this.id);else throw new Error("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Yd(t.id,this.id):Cd(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?zd(a.id,this.id):Td(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?$d(a.id,this.id):Dd(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get color before create");const a=this.sourceInfo.player;return a?Jd(a.id,this.id):Nd(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get flash color before create");const a=this.sourceInfo.player;return a?Qd(a.id,this.id):wd(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?qd(a.id,this.id):vd(t.id,this.id)}getPos(){if(this.id===-1)throw new Error("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?ec(t.id,this.id):bd(this.id)}useCheck(t){if(this.id===-1)throw new Error("[GangZone]: Unable to use check before create");const a=this.sourceInfo.player;return a?tc(a.id,this.id,t):Ld(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()]}}w.onExit(({next:e})=>(v.getInstances(!0).forEach(t=>t.destroy()),v.getInstances(!1).forEach(t=>t.destroy()),e()));const[Bu]=c({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:v.getInstance(t,!0)}}}),[ku]=c({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:v.getInstance(t,!0)}}}),[Mu]=c({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:v.getInstance(t,!1)}}}),[xu]=c({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:v.getInstance(t,!1)}}}),[Hu]=c({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:v.getInstance(t,!0)}}}),[Vu]=c({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:v.getInstance(t,!1)}}}),Uu=Object.freeze({onPlayerEnterGlobal:Bu,onPlayerLeaveGlobal:ku,onPlayerEnterPlayer:Mu,onPlayerLeavePlayer:xu,onPlayerClickGlobal:Hu,onPlayerClickPlayer:Vu}),C={skip:!1};w.onInit(({next:e})=>(C.skip=!1,e())),w.onExit(({next:e})=>(C.skip=!0,e()));const[Y]=c({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[z]=c({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[Wu]=c({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class g{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getTickRate=bt;static setTickRate=Lt;static getPlayerTickRate(t){return Rt(t.id)}static setPlayerTickRate(t,a=50){return Ot(t.id,a)}static toggleChunkStream=Gt;static isToggleChunkStream=Ft;static getChunkTickRate(t,a=-1){return a instanceof u?Ne(t,a.id):Ne(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof u?we(t,a,n.id):we(t,a,n)}static getChunkSize=Bt;static setChunkSize=kt;static getMaxItems=Mt;static setMaxItems=xt;static getVisibleItems(t,a=-1){return a instanceof u?ve(t,a.id):ve(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof u?be(t,a,n.id):be(t,a,n)}static getRadiusMultiplier(t,a=-1){return a instanceof u?Le(t,a.id):Le(t,a)}static setRadiusMultiplier(t,a,n=-1){return n instanceof u?Re(t,n.id):Re(t,a,n)}static getTypePriority=Ht;static setTypePriority=Vt;static getCellDistance=Ut;static setCellDistance=Wt;static getCellSize=Kt;static setCellSize=Zt;static toggleItemStatic=jt;static isToggleItemStatic=Xt;static toggleItemInvAreas=Yt;static isToggleItemInvAreas=zt;static toggleItemCallbacks=$t;static isToggleItemCallbacks=Jt;static toggleErrorCallback=Qt;static isToggleErrorCallback=qt;static amxUnloadDestroyItems=ea;static processActiveItems=ta;static toggleIdleUpdate(t,a){return aa(t.id,a)}static isToggleIdleUpdate(t){return na(t.id)}static toggleCameraUpdate(t,a){return ia(t.id,a)}static isToggleCameraUpdate(t){return ra(t.id)}static toggleItemUpdate(t,a,n){return sa(t.id,a,n)}static isToggleItemUpdate(t,a){return la(t.id,a)}static getLastUpdateTime(){return oa()}static update(t,a=-1){return da(t.id,a)}static updateEx(t,a,n,i,r,s,l,o,d){return ca(t.id,a,n,i,r,s,l,o,d)}static getDistanceToItem=_a;static toggleItem(t,a,n,i){return ha(t.id,a,n,i)}static isToggleItem(t,a,n){return ua(t.id,a,n)}static toggleAllItems(t,a,n,i=[-1]){return ma(t.id,a,n,i)}static getItemInternalID(t,a,n){return pa(t.id,a,n)}static getItemStreamerID(t,a,n){return ga(t.id,a,n)}static isItemVisible(t,a,n){return fa(t.id,a,n)}static destroyAllVisibleItems(t,a,n=1){return Sa(t.id,a,n)}static countVisibleItems(t,a,n=1){return ya(t.id,a,n)}static destroyAllItems=Pa;static countItems=Ia;static getNearbyItems=Ea;static getAllVisibleItems(t,a,n){return Aa(t.id,a,n)}static getItemPos=Ca;static setItemPos=Ta;static getItemOffset=Da;static setItemOffset=Na;static getFloatData=wa;static setFloatData=va;static getIntData=ba;static setIntData=La;static getArrayData=Ra;static setArrayData=Oa;static isInArrayData=Ga;static appendArrayData=Fa;static removeArrayData=Ba;static getArrayDataLength=ka;static getUpperBound=Ma;static onPluginError=Wu}class K{static mapIcons=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{x:o,y:d,z:h,type:m,color:p,extended:S}=this.sourceInfo;if(m<0||m>63)throw new Error("[StreamerMapIcon]: Invalid map icon type");return t??=xa.LOCAL,a??=ce.MAP_ICON_SD,l??=0,S?(typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=Ha(o,d,h,m,P(p),t,a,n,i,r,s,l),K.mapIcons.set(this._id,this),this):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=Va(o,d,h,m,P(p),n,i,r,a,t,s,l),K.mapIcons.set(this._id,this),this)}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerMapIcon]: Unable to destroy the map icon before create");return C.skip||Ua(this.id),K.mapIcons.delete(this._id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:Wa(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerMapIcon]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(E.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(E.MAP_ICON,this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,E.MAP_ICON,a)}static hideForPlayer(t,a=-5e4){return g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?g.updateEx(t,n.x,n.y,n.z):g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}w.onExit(({next:e})=>(K.getInstances().forEach(t=>t.destroy()),e()));const[Ku,Zu]=c({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[ju,Xu]=c({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Y(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?Zu(a,K.getInstance(t)):n()),z(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?Xu(a,K.getInstance(t)):n());const Yu=Object.freeze({onStreamIn:Ku,onStreamOut:ju});class W{static pickups=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:l,modelId:o,x:d,y:h,z:m,extended:p}=this.sourceInfo;if(l<0)throw new Error("[StreamerPickup]: Invalid pickup type");return t??=_.StreamerDistances.PICKUP_SD,s??=0,p?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=_.CreateDynamicPickupEx(o,l,d,h,m,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=_.CreateDynamicPickup(o,l,d,h,m,a,n,i,t,r,s)),W.pickups.set(this._id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerPickup]: Unable to destroy the pickup before create");return C.skip||_.DestroyDynamicPickup(this.id),W.pickups.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:_.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerPickup]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(_.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(_.StreamerItemTypes.PICKUP,this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,_.StreamerItemTypes.PICKUP,a)}static hideForPlayer(t,a=-5e4){return g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?g.updateEx(t,n.x,n.y,n.z):g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}}w.onExit(({next:e})=>(W.getInstances().forEach(t=>t.destroy()),e()));const[zu,$u]=c({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Ju,Qu]=c({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Y(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?$u(a,W.getInstance(t)):n()),z(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?Qu(a,W.getInstance(t)):n());const[qu]=c({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:W.getInstance(t)}}}),em=Object.freeze({onPlayerPickUp:qu,onStreamIn:zu,onStreamOut:Ju});class k{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{size:l,x:o,y:d,z:h,extended:m}=this.sourceInfo;if(l<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=ce.CP_SD,s??=0,m?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=Ka(o,d,h,l,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=Za(o,d,h,l,a,n,i,t,r,s)),k.checkpoints.set(this._id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerCheckpoint]: Unable to destroy the checkpoint before create");return C.skip||Oe(this.id),k.checkpoints.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:Ge(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle the player before create");return ja(t.id,this.id,a),this}static togglePlayerAll(t,a){return Xa(t.id,a)}isPlayerIn(t){return this.id===-1?!1:Ya(t.id,this.id)}static getPlayerVisible(t){return k.checkpoints.get(za(t.id))}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(E.CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(E.CP,this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,E.CP,a)}static hideForPlayer(t,a=-5e4){return g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?g.updateEx(t,n.x,n.y,n.z):g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}w.onExit(({next:e})=>(k.checkpoints.forEach(t=>t.destroy()),e()));const[tm,am]=c({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[nm,im]=c({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Y(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?am(a,k.getInstance(t)):n()),z(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?im(a,k.getInstance(t)):n());const[rm]=c({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),cp:k.getInstance(t)}}}),[sm]=c({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),cp:k.getInstance(t)}}}),lm=Object.freeze({onPlayerEnter:rm,onPlayerLeave:sm,onStreamIn:tm,onStreamOut:nm});class M{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:l,size:o,x:d,y:h,z:m,nextX:p,nextY:S,nextZ:I,extended:L}=this.sourceInfo;if(l<0||l>8)throw new Error("[StreamerRaceCP]: Invalid type");if(o<0)throw new Error("[StreamerRaceCP]: Invalid size");return t??=ce.RACE_CP_SD,s??=0,L?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=$a(l,d,h,m,p,S,I,o,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=Ja(l,d,h,m,p,S,I,o,a,n,i,t,r,s)),M.checkpoints.set(this._id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerRaceCP]: Unable to destroy the checkpoint before create");return C.skip||Oe(this.id),M.checkpoints.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:Ge(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle the player before create");return Qa(t.id,this.id,a),this}static togglePlayerAll(t,a){return qa(t.id,a)}isPlayerIn(t){return this.id===-1?!1:en(t.id,this.id)}static getPlayerVisible(t){return M.checkpoints.get(tn(t.id))}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(E.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(E.RACE_CP,this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,E.RACE_CP,a)}static hideForPlayer(t,a=-5e4){return g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?g.updateEx(t,n.x,n.y,n.z):g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}w.onExit(({next:e})=>(M.getInstances().forEach(t=>t.destroy()),e()));const[om,dm]=c({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[cm,_m]=c({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Y(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?dm(a,M.getInstance(t)):n()),z(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?_m(a,M.getInstance(t)):n());const[hm]=c({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),raceCP:M.getInstance(t)}}}),[um]=c({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),raceCp:M.getInstance(t)}}}),mm=Object.freeze({onPlayerEnter:hm,onPlayerLeave:um,onStreamIn:om,onStreamOut:cm});class H{static actors=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{modelId:l,x:o,y:d,z:h,r:m,invulnerable:p,health:S,extended:I}=this.sourceInfo;return t??=_.StreamerDistances.ACTOR_SD,s??=0,I?(typeof a=="number"?a=[0]:a??=[0],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=_.CreateDynamicActorEx(l,o,d,h,m,p,S,t,a,n,i,r,s)):(Array.isArray(a)?a=0:a??=0,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=_.CreateDynamicActor(l,o,d,h,m,p,S,a,n,i,t,r,s)),H.actors.set(this.id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerActor]: Unable to destroy the actor before create");return C.skip||_.DestroyDynamicActor(this.id),H.actors.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:_.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:_.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get virtual world before create");return _.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set virtual world before create");return _.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,n=4.1,i=!1,r=!0,s=!0,l=!1,o=0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to apply animation before create");if(!ye(t,a))throw new Error("[StreamerActor]: Invalid anim library or name");return _.ApplyDynamicActorAnimation(this.id,t,a,n,i,r,s,l,o)}clearAnimations(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to clear animation before create");return _.ClearDynamicActorAnimations(this.id)}getFacingAngle(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get facing angle before create");return _.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set facing angle before create");return _.SetDynamicActorFacingAngle(this.id,t)}getPos(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get pos before create");return _.GetDynamicActorPos(this.id)}setPos(t,a,n){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set pos before create");return _.SetDynamicActorPos(this.id,t,a,n)}getHealth(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get health before create");return _.GetDynamicActorHealth(this.id)}setHealth(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set health before create");return _.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:_.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set invulnerable before create");return _.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=_.GetPlayerTargetDynamicActor(t.id);return H.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=_.GetPlayerCameraTargetDynActor(t.id);return H.actors.get(a)}getSkin(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get skin before create");return Il(this.id)}setSkin(t,a=!1){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set skin before create");return!a&&(t<0||t>311||t===74)?0:El(this.id,t)}getSpawnInfo(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get spawn info before create");return Al(this.id)}getAnimation(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get animation before create");return _.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(_.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(_.StreamerItemTypes.ACTOR,this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,_.StreamerItemTypes.ACTOR,a)}static hideForPlayer(t,a=-5e4){return g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?g.updateEx(t,n.x,n.y,n.z):g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}w.onExit(({next:e})=>(H.getInstances().forEach(t=>t.destroy()),e()));const[pm]=c({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:H.getInstance(e),forPlayer:u.getInstance(t)}}}),[gm]=c({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:H.getInstance(e),forPlayer:u.getInstance(t)}}}),[fm]=c({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),actor:H.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),Sm=Object.freeze({onStreamIn:pm,onStreamOut:gm,onPlayerGiveDamage:fm});class ${static texts=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:a,testLos:n,streamDistance:i,worldId:r,interiorId:s,playerId:l,areaId:o,priority:d}=this.sourceInfo;const{charset:h,text:m,color:p,drawDistance:S,x:I,y:L,z:G,extended:ae}=this.sourceInfo;return t??=T.PLAYER_ID,a??=T.VEHICLE_ID,i??=ce.TEXT_3D_LABEL_SD,n??=!1,d??=0,ae?(typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof l=="number"?l=[-1]:l??=[-1],typeof o=="number"?o=[-1]:o??=[-1],this._id=ah(m,P(p),I,L,G,S,t,a,n,i,r,s,l,o,d,h||"utf8")):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(l)?l=-1:l??=-1,Array.isArray(o)?o=-1:o??=-1,this._id=th(h||"utf8",m,P(p),I,L,G,S,t,a,n,r,s,l,i,o,d)),$.texts.set(this.id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[Streamer3DTextLabel]: Unable to destroy before create");return C.skip||an(this.id),$.texts.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:nn(this.id)}getColor(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get color before create");return this.sourceInfo.color}getCharset(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get charset before create");return this.sourceInfo.charset}getText(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get text before create");return ih(this.id,this.sourceInfo.charset||"utf8")}updateText(t,a,n=this.sourceInfo.charset){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to update text before create");return this.sourceInfo.charset=n,nh(this.id,P(t),a,n||"utf8")}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(E.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(E.TEXT_3D_LABEL,this.id)}setOffsets(t,a,n){if(this.id===-1)return 0;const i=g.setFloatData(E.TEXT_3D_LABEL,this.id,ne.ATTACH_OFFSET_X,t);return g.setFloatData(E.TEXT_3D_LABEL,this.id,ne.ATTACH_OFFSET_Y,a),g.setFloatData(E.TEXT_3D_LABEL,this.id,ne.ATTACH_OFFSET_Z,n),this.sourceInfo.x=t,this.sourceInfo.y=a,this.sourceInfo.z=n,i}attachToPlayer(t,a,n,i){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Cannot attachToPlayer before created");const r=typeof t=="number"?t:t.id,s=g.setIntData(E.TEXT_3D_LABEL,this.id,ne.ATTACHED_PLAYER,r);return r!==T.PLAYER_ID&&this.setOffsets(a,n,i),this.sourceInfo.attachedPlayer=r,s}attachToVehicle(t,a,n,i){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Cannot attachToVehicle before created");const r=typeof t=="number"?t:t.id,s=g.setIntData(E.TEXT_3D_LABEL,this.id,ne.ATTACHED_VEHICLE,r);return r!==T.VEHICLE_ID&&this.setOffsets(a,n,i),this.sourceInfo.attachedVehicle=r,s}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,E.TEXT_3D_LABEL,a)}static hideForPlayer(t,a=-5e4){return g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?g.updateEx(t,n.x,n.y,n.z):g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}w.onExit(({next:e})=>($.getInstances().forEach(t=>t.destroy()),e()));const[ym,Pm]=c({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Im,Em]=c({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Y(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?Pm(a,$.getInstance(t)):n()),z(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?Em(a,$.getInstance(t)):n());const Am=Object.freeze({onStreamIn:ym,onStreamOut:Im});class R{static objects=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{modelId:o,x:d,y:h,z:m,rx:p,ry:S,rz:I,extended:L}=this.sourceInfo;return t??=_.StreamerDistances.OBJECT_SD,a??=_.StreamerDistances.OBJECT_DD,l??=0,L?(typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=_.CreateDynamicObjectEx(o,d,h,m,p,S,I,t,a,n,i,r,s,l)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=_.CreateDynamicObject(o,d,h,m,p,S,I,n,i,r,t,a,s,l)),R.objects.set(this._id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerObject]: Unable to destroy the object before create");return C.skip||_.DestroyDynamicObject(this.id),R.objects.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:_.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get position before create");return _.GetDynamicObjectPos(this.id)}setPos(t,a,n){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set position before create");return _.SetDynamicObjectPos(this.id,t,a,n)}getRot(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get rotation before create");return _.GetDynamicObjectRot(this.id)}setRot(t,a,n){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set rotation before create");return _.SetDynamicObjectRot(this.id,t,a,n)}move(t,a,n,i,r=-1e3,s=-1e3,l=-1e3){if(this.id===-1)throw new Error("[StreamerObject]: Cannot start moving before create");if(i<0)throw new Error("[StreamerObject]: speed must not be less than 0");if(i>120*1e3)throw new Error("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),_.MoveDynamicObject(this.id,t,a,n,i,r,s,l)}stop(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot stop moving before create");return _.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:_.IsDynamicObjectMoving(this.id)}attachCamera(t){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachCamera before both are created");return _.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,n,i,r,s,l,o=!0){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToObject before both are created");return _.AttachDynamicObjectToObject(this.id,t.id,a,n,i,r,s,l,o)}attachToPlayer(t,a,n,i,r,s,l){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToPlayer before both are created");return _.AttachDynamicObjectToPlayer(this.id,t.id,a,n,i,r,s,l)}attachToVehicle(t,a,n,i,r,s,l){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return _.AttachDynamicObjectToVehicle(this.id,t.id,a,n,i,r,s,l)}edit(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to edit before create");return 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){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material before create");return _.GetDynamicObjectMaterial(this.id,t,a,n)}setMaterial(t,a,n,i,r="#000"){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material before create");return _.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){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material text before create");return sh(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,i=_.MaterialTextSizes.SIZE_256x128,r="Arial",s=24,l=1,o="#fff",d="#000",h=0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material text before create");return this.sourceInfo.charset=t,rh(t||"utf8",this.id,a,n,i,r,s,l,P(o),P(d),h)}getPlayerCameraTarget(t){const a=_.GetPlayerCameraTargetDynObject(t.id);if(a!==T.OBJECT_ID)return R.objects.get(a)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(_.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(_.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return _.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return _.GetDynamicObjectNoCameraCol(this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,_.StreamerItemTypes.OBJECT,a)}static hideForPlayer(t,a=-5e4){return g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?g.updateEx(t,n.x,n.y,n.z):g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}w.onExit(({next:e})=>(R.getInstances().forEach(t=>t.destroy()),e()));const[Cm,Tm]=c({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Dm,Nm]=c({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Y(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?Tm(a,R.getInstance(t)):n()),z(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?Nm(a,R.getInstance(t)):n());const[wm]=c({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:R.getInstance(e)}}}),[vm]=c({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,a,n,i,r,s,l,o){return{player:u.getInstance(e),object:R.getInstance(t),response:a,x:n,y:i,z:r,rX:s,rY:l,rZ:o}}}),[bm]=c({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:u.getInstance(e),object:R.getInstance(t),modelId:a,x:n,y:i,z:r}}}),[Lm]=c({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:u.getInstance(e),object:R.getInstance(a),weapon:t,x:n,y:i,z:r}}}),[Rm]=c({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,i,r,s,l,o,d,h,m,p,S){return{player:u.getInstance(e),response:t,index:a,modelId:n,boneId:i,fOffsetX:r,fOffsetY:s,fOffsetZ:l,fRotX:o,fRotY:d,fRotZ:h,fScaleX:m,fScaleY:p,fScaleZ:S}}}),Om=Object.freeze({onMoved:wm,onPlayerEdit:vm,onPlayerSelect:bm,onPlayerShoot:Lm,onPlayerEditAttached:Rm,onStreamIn:Cm,onStreamOut:Dm});class b{static areas=new Map;sourceInfo;_id=-1;get type(){return this.sourceInfo.type}get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[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??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],i==="circle"){const{x:s,y:l,size:o}=this.sourceInfo;if(o<0)throw new Error("[StreamerArea]: Invalid circle extend size");this._id=_.CreateDynamicCircleEx(s,l,o,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:l,minZ:o,maxX:d,maxY:h,maxZ:m}=this.sourceInfo;this._id=_.CreateDynamicCuboidEx(s,l,o,d,h,m,t,a,n)}else if(i==="cylinder"){const{x:s,y:l,minZ:o,maxZ:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=_.CreateDynamicCylinderEx(s,l,o,d,h,t,a,n)}else if(i==="polygon"){const{points:s,minZ:l,maxZ:o}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=_.CreateDynamicPolygonEx(s,l,o,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:l,maxX:o,maxY:d}=this.sourceInfo;this._id=_.CreateDynamicRectangleEx(s,l,o,d,t,a,n)}else{const{x:s,y:l,z:o,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere extended size");this._id=_.CreateDynamicSphereEx(s,l,o,d,t,a,n)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,i==="circle"){const{x:s,y:l,size:o}=this.sourceInfo;if(o<0)throw new Error("[StreamerArea]: Invalid circle size");this._id=_.CreateDynamicCircle(s,l,o,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:l,minZ:o,maxX:d,maxY:h,maxZ:m}=this.sourceInfo;this._id=_.CreateDynamicCuboid(s,l,o,d,h,m,t,a,n)}else if(i==="cylinder"){const{x:s,y:l,minZ:o,maxZ:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=_.CreateDynamicCylinder(s,l,o,d,h,t,a,n)}else if(i==="polygon"){const{points:s,minZ:l,maxZ:o}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=_.CreateDynamicPolygon(s,l,o,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:l,maxX:o,maxY:d}=this.sourceInfo;this._id=_.CreateDynamicRectangle(s,l,o,d,t,a,n)}else{const{x:s,y:l,z:o,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere size");this._id=_.CreateDynamicSphere(s,l,o,d,t,a,n)}return b.areas.set(this._id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerArea]: Unable to destroy the area before create");return C.skip||_.DestroyDynamicArea(this.id),b.areas.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:_.IsValidDynamicArea(this.id)}getType(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to get type before create");return _.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to getPolygonPoints before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonPoints invalid area type");return _.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to getPolygonNumberPoints number before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonNumberPoints invalid area type");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 b.getPlayerAreasNumber(t)?_.GetPlayerDynamicAreas(t.id).map(a=>b.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 b.getNumberForPoint(t,a,n)?_.GetDynamicAreasForPoint(t,a,n).map(i=>b.getInstance(i)):[]}static getNumberForPoint(t,a,n){return _.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,i,r,s){return b.getNumberForLine(t,a,n,i,r,s)?_.GetDynamicAreasForLine(t,a,n,i,r,s).map(l=>b.areas.get(l)):[]}static getNumberForLine(t,a,n,i,r,s){return _.GetNumberDynamicAreasForLine(t,a,n,i,r,s)}attachToObject(t,a=0,n=0,i=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to object before create");return _.AttachDynamicAreaToObject(this.id,t.id,_.StreamerObjectTypes.DYNAMIC,T.PLAYER_ID,a,n,i)}attachToPlayer(t,a=0,n=0,i=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to player before create");return _.AttachDynamicAreaToPlayer(this.id,t.id,a,n,i)}attachToVehicle(t,a=0,n=0,i=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to vehicle before create");return _.AttachDynamicAreaToVehicle(this.id,t.id,a,n,i)}toggleSpectateMode(t){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle specate mode before create");return _.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:_.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(_.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(_.StreamerItemTypes.AREA,this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,_.StreamerItemTypes.AREA,a)}static hideForPlayer(t,a=-5e4){return g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?g.updateEx(t,n.x,n.y,n.z):g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}w.onExit(({next:e})=>(b.getInstances().forEach(t=>t.destroy()),e()));const[Gm,Fm]=c({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Bm,km]=c({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Y(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?Fm(a,b.getInstance(t)):n()),z(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?km(a,b.getInstance(t)):n());const[Mm]=c({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),area:b.getInstance(t)}}}),[xm]=c({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),area:b.getInstance(t)}}}),Hm=Object.freeze({onStreamIn:Gm,onStreamOut:Bm,onPlayerEnter:Mm,onPlayerLeave:xm});class f{static globalTextDraws=new Map;static playerTextDraws=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[TextDraw]: Unable to create the textdraw again");const{x:t,y:a,text:n,player:i,charset:r="iso-8859-1"}=this.sourceInfo,s=y.encodeToBuf(y.convertSpecialChar(n),r);if(i){if(f.getInstances(!1).length===F.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=u_(i.id,t,a,s);const l=Ae.onDisconnect(({player:o,next:d})=>{const h=d();return o===i&&(this.isValid()&&this.destroy(),l()),h});f.playerTextDraws.set(this.id,this)}else{if(f.getInstances(!0).length===F.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Ac(t,a,s),f.globalTextDraws.set(this.id,this)}return this}destroy(){this.id===-1&&f.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(m_(t.id,this.id),f.playerTextDraws.delete(this.id)):(Cc(this.id),f.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return f.beforeCreateWarn("set font"),this;const{player:a}=this.sourceInfo;return a?C_(a.id,this.id,t):Gc(this.id,t),this}setColor(t){if(this.id===-1)return f.beforeCreateWarn("set color"),this;const{player:a}=this.sourceInfo;return a?S_(a.id,this.id,t):wc(this.id,t),this}setBoxColors(t){if(this.id===-1)return f.beforeCreateWarn("set box color"),this;const{player:a}=this.sourceInfo;return a?P_(a.id,this.id,t):bc(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return f.beforeCreateWarn("set background color"),this;const{player:a}=this.sourceInfo;return a?A_(a.id,this.id,t):Oc(this.id,t),this}setAlignment(t){if(this.id===-1)return f.beforeCreateWarn("set alignment"),this;const{player:a}=this.sourceInfo;return a?f_(a.id,this.id,t):Nc(this.id,t),this}setLetterSize(t,a){if(this.id===-1)return f.beforeCreateWarn("set letter size"),this;const{player:n}=this.sourceInfo;return n?p_(n.id,this.id,t,a):Tc(this.id,t,a),this}setOutline(t){if(this.id===-1)return f.beforeCreateWarn("set outline model"),this;if(t<0)throw new Error("[TextDraw]: Invalid outline value");const{player:a}=this.sourceInfo;return a?E_(a.id,this.id,t):Rc(this.id,t),this}setPreviewModel(t){if(this.id===-1)return f.beforeCreateWarn("set preview model"),this;this.setFont(se.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?b_(a.id,this.id,t):Uc(this.id,t),this}setPreviewRot(t,a,n,i=1){if(this.id===-1)return f.beforeCreateWarn("set preview rot"),this;this.setFont(se.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?L_(r.id,this.id,t,a,n,i):Wc(this.id,t,a,n,i),this}setPreviewVehColors(t,a){if(this.id===-1)return f.beforeCreateWarn("set preview veh col"),this;this.setFont(se.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?R_(n.id,this.id,t,a):Kc(this.id,t,a),this}setProportional(t=!0){if(this.id===-1)return f.beforeCreateWarn("set Proportional"),this;const{player:a}=this.sourceInfo;return a?T_(a.id,this.id,t):Fc(this.id,t),this}setSelectable(t){if(this.id===-1)return f.beforeCreateWarn("set Selectable"),this;const{player:a}=this.sourceInfo;return a?D_(a.id,this.id,t):Bc(this.id,t),this}setShadow(t){if(this.id===-1)return f.beforeCreateWarn("set shadow"),this;if(t<0)throw new Error("[TextDraw]: Invalid shadow value");const{player:a}=this.sourceInfo;return a?I_(a.id,this.id,t):Lc(this.id,t),this}setString(t,a){if(this.id===-1)return f.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)throw new Error("[TextDraw]: Invalid text length");const{player:n,charset:i="iso-8859-1"}=this.sourceInfo,r=y.encodeToBuf(y.convertSpecialChar(t),i);return n?v_(n.id,this.id,r):a?Ec(this.id,a.id,r):Vc(this.id,r),this}setTextSize(t,a){if(this.id===-1)return f.beforeCreateWarn("set TextSize"),this;const{player:n}=this.sourceInfo;return n?g_(n.id,this.id,t,a):Dc(this.id,t,a),this}useBox(t){if(this.id===-1)return f.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?y_(a.id,this.id,t):vc(this.id,t),this}static beforeCreateWarn(t){throw new Error(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return f.beforeCreateWarn("show"),this;const a=this.sourceInfo.player;if(a)N_(a.id,this.id);else if(t)kc(t.id,this.id);else throw new Error("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return f.beforeCreateWarn("hide"),this;const a=this.sourceInfo.player;if(a)w_(a.id,this.id);else if(t)Mc(t.id,this.id);else throw new Error("[TextDraw]: invalid player for hide");return this}showAll(){if(this.id===-1)return f.beforeCreateWarn("show"),this;if(!this.sourceInfo.player)return xc(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be show for all.")}hideAll(){if(this.id===-1)return f.beforeCreateWarn("hideAll"),this;if(!this.sourceInfo.player)return Hc(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be hide for all.")}isValid(){const t=this.sourceInfo.player;return t?Xc(t.id,this.id):ac(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:a}=this.sourceInfo;return a?Yc(a.id,this.id):t?nc(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?zc(t.id,this.id):ic(this.id)}setPos(t,a){if(this.id===-1)return f.beforeCreateWarn("set position"),this;const n=this.sourceInfo.player;return n?$c(n.id,this.id,t,a):rc(this.id,t,a),this}getLetterSize(){if(this.id===-1)return f.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?Jc(t.id,this.id):sc(this.id)}getTextSize(){if(this.id===-1)return f.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?Qc(t.id,this.id):lc(this.id)}getPos(){if(this.id===-1)return f.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?qc(t.id,this.id):oc(this.id)}getColor(){if(this.id===-1)return f.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?e_(t.id,this.id):dc(this.id)}getBoxColor(){if(this.id===-1)return f.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?t_(t.id,this.id):cc(this.id)}getBackgroundColor(){if(this.id===-1)return f.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?a_(t.id,this.id):_c(this.id)}getShadow(){if(this.id===-1)return f.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?n_(t.id,this.id):hc(this.id)}getOutline(){if(this.id===-1)return f.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?i_(t.id,this.id):uc(this.id)}getFont(){if(this.id===-1)return f.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?r_(t.id,this.id):mc(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?s_(t.id,this.id):pc(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?l_(t.id,this.id):gc(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?o_(t.id,this.id):fc(this.id)}getAlignment(){if(this.id===-1)return f.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?d_(t.id,this.id):Sc(this.id)}getPreviewModel(){if(this.id===-1)return f.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?c_(t.id,this.id):yc(this.id)}getPreviewRot(){if(this.id===-1)return f.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?__(t.id,this.id):Pc(this.id)}getPreviewVehColors(){if(this.id===-1)return f.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?h_(t.id,this.id):Ic(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()]}}w.onExit(({next:e})=>(f.getInstances(!0).forEach(t=>t.destroy()),f.getInstances(!1).forEach(t=>t.destroy()),e()));const[Vm]=c({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===T.TEXT_DRAW?t:f.getInstance(t,!0)}}}),[Um]=c({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===T.TEXT_DRAW?t:f.getInstance(t,!1)}}}),Wm=Object.freeze({onPlayerClickGlobal:Vm,onPlayerClickPlayer:Um});function Km(e,t){return(e&t)===t}function Zm(e,t,a){return(e&a)===a&&(t&a)!==a}function jm(e,t){return!!(e&t)}function Xm(e,t,a){return(e&a)!==a&&(t&a)===a}function Ym(e){const t=new Set,a=e.prototype,n=Object.getOwnPropertyNames(a).filter(r=>typeof a[r]=="function"&&r!=="constructor").reduce((r,s)=>(r[s]=a[s],r),{});function i(r,s){if(t.has(r))throw new Error(`Method '${String(r)}' of class '${e.name}' has already been hooked. Each method can only be hooked once per defineHooks call. `);if(typeof Reflect.get(a,r)!="function")throw new Error(`Invalid method: ${String(r)}`);return Reflect.set(a,r,s),t.add(r),s}return[n,i]}export{We as ArtworkEnum,at as BodyPartsEnum,nt as BoneIdsEnum,_t as BulletHitTypesEnum,re as CameraCutStylesEnum,tt as CameraModesEnum,st as CarModTypeEnum,Ke as ClickSourcesEnum,je as ConnectionStatusEnum,fe as DamageDeathReasonEnum,N as Dialog,pe as DialogStylesEnum,$ as Dynamic3DTextLabel,Am as Dynamic3DTextLabelEvent,H as DynamicActor,Sm as DynamicActorEvent,b as DynamicArea,Hm as DynamicAreaEvent,lm as DynamicCheckPointEvent,k as DynamicCheckpoint,K as DynamicMapIcon,Yu as DynamicMapIconEvent,R as DynamicObject,Om as DynamicObjectEvent,W as DynamicPickup,em as DynamicPickupEvent,M as DynamicRaceCP,mm as DynamicRaceCPEvent,B as ERecordStatus,qm as E_STREAMER,Ze as EditResponseTypesEnum,qe as FightingStylesEnum,it as ForceSyncEnum,w as GameMode,Ru as GameText,v as GangZone,Uu as GangZoneEvent,y as I18n,T as InvalidEnum,Xe as KeysEnum,F as LimitsEnum,ep as MapIconStyles,et as MapIconStylesEnum,Ye as MarkerModesEnum,tp as MaterialTextAlign,ap as MaterialTextSizes,J as Menu,Fu as MenuEvent,ze as NPCPlaybackEnum,Lu as NetStats,D as Npc,mu as NpcEvent,Je as ObjectMaterialAlignmentEnum,$e as ObjectMaterialTextSizeEnum,u as Player,Ae as PlayerEvent,Q as PlayerStateEnum,ut as RecordTypesEnum,Qe as SelectObjectTypesEnum,ge as SpecialActionsEnum,_e as SpectateModesEnum,g as Streamer,np as StreamerAreaTypes,ip as StreamerDistances,rp as StreamerItemTypes,sp as StreamerMiscellaneous,lp as StreamerObjectTypes,f as TextDraw,rt as TextDrawAlignEnum,Wm as TextDrawEvent,se as TextDrawFontsEnum,A as Vehicle,bu as VehicleEvent,ot as VehicleModelInfoEnum,lt as VehicleParamsEnum,dt as WeaponEnum,ct as WeaponSkillsEnum,ht as WeaponStatesEnum,mt as animateLib,c as defineEvent,Ym as defineHooks,X_ as getAnimateDurationByLibName,Km as isHolding,Zm as isPressed,jm as isPressing,Xm as isReleased,Se as isValidAnimateLib,ye as isValidAnimateName,P as rgba};
1
+ import{encodingExists as kt,encode as Mt,decode as Ht}from"iconv-lite";import*as u from"@infernus/streamer";import{Streamer_GetTickRate as Vt,Streamer_SetTickRate as Ut,Streamer_GetPlayerTickRate as Wt,Streamer_SetPlayerTickRate as jt,Streamer_ToggleChunkStream as Kt,Streamer_IsToggleChunkStream as Zt,Streamer_GetChunkTickRate as ke,Streamer_SetChunkTickRate as Me,Streamer_GetChunkSize as Xt,Streamer_SetChunkSize as zt,Streamer_GetMaxItems as Yt,Streamer_SetMaxItems as $t,Streamer_GetVisibleItems as He,Streamer_SetVisibleItems as Ve,Streamer_GetRadiusMultiplier as Ue,Streamer_SetRadiusMultiplier as We,Streamer_GetTypePriority as Jt,Streamer_SetTypePriority as Qt,Streamer_GetCellDistance as qt,Streamer_SetCellDistance as ea,Streamer_GetCellSize as ta,Streamer_SetCellSize as aa,Streamer_ToggleItemStatic as ia,Streamer_IsToggleItemStatic as na,Streamer_ToggleItemInvAreas as ra,Streamer_IsToggleItemInvAreas as sa,Streamer_ToggleItemCallbacks as la,Streamer_IsToggleItemCallbacks as oa,Streamer_ToggleErrorCallback as da,Streamer_IsToggleErrorCallback as ca,Streamer_AmxUnloadDestroyItems as _a,Streamer_ProcessActiveItems as ha,Streamer_ToggleIdleUpdate as ua,Streamer_IsToggleIdleUpdate as ma,Streamer_ToggleCameraUpdate as pa,Streamer_IsToggleCameraUpdate as ga,Streamer_ToggleItemUpdate as fa,Streamer_IsToggleItemUpdate as Sa,Streamer_GetLastUpdateTime as ya,Streamer_Update as Pa,Streamer_UpdateEx as Ia,Streamer_GetDistanceToItem as Ea,Streamer_ToggleItem as Aa,Streamer_IsToggleItem as Ca,Streamer_ToggleAllItems as Ta,Streamer_GetItemInternalID as Da,Streamer_GetItemStreamerID as wa,Streamer_IsItemVisible as Na,Streamer_DestroyAllVisibleItems as va,Streamer_CountVisibleItems as ba,Streamer_DestroyAllItems as La,Streamer_CountItems as Ra,Streamer_GetNearbyItems as Ga,Streamer_GetAllVisibleItems as Oa,Streamer_GetItemPos as Fa,Streamer_SetItemPos as Ba,Streamer_GetItemOffset as xa,Streamer_SetItemOffset as ka,Streamer_GetFloatData as Ma,Streamer_SetFloatData as Ha,Streamer_GetIntData as Va,Streamer_SetIntData as Ua,Streamer_GetArrayData as Wa,Streamer_SetArrayData as ja,Streamer_IsInArrayData as Ka,Streamer_AppendArrayData as Za,Streamer_RemoveArrayData as Xa,Streamer_GetArrayDataLength as za,Streamer_GetUpperBound as Ya,MapIconStyles as $a,StreamerDistances as fe,CreateDynamicMapIconEx as Ja,CreateDynamicMapIcon as Qa,DestroyDynamicMapIcon as qa,IsValidDynamicMapIcon as ei,StreamerItemTypes as A,CreateDynamicCPEx as ti,CreateDynamicCP as ai,DestroyDynamicCP as je,IsValidDynamicCP as Ke,TogglePlayerDynamicCP as ii,TogglePlayerAllDynamicCPs as ni,IsPlayerInDynamicCP as ri,GetPlayerVisibleDynamicCP as si,CreateDynamicRaceCPEx as li,CreateDynamicRaceCP as oi,TogglePlayerDynamicRaceCP as di,TogglePlayerAllDynamicRaceCPs as ci,IsPlayerInDynamicRaceCP as _i,GetPlayerVisibleDynamicRaceCP as hi,DestroyDynamic3DTextLabel as ui,IsValidDynamic3DTextLabel as mi,E_STREAMER as oe}from"@infernus/streamer";import{E_STREAMER as fp,MapIconStyles as Sp,MaterialTextAlign as yp,MaterialTextSizes as Pp,StreamerAreaTypes as Ip,StreamerDistances as Ep,StreamerItemTypes as Ap,StreamerMiscellaneous as Cp,StreamerObjectTypes as Tp}from"@infernus/streamer";function Ze(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)==="[object Object]":!1}function pi(e,t){const a={},i=Object.keys(e);for(let n=0;n<i.length;n++){const r=i[n],s=e[r];a[t(s,r,e)]=s}return a}function de(e,t){const a=Object.keys(t);for(let i=0;i<a.length;i++){const n=a[i],r=t[n],s=e[n];Array.isArray(r)?Array.isArray(s)?e[n]=de(s,r):e[n]=de([],r):Ze(r)?Ze(s)?e[n]=de(s,r):e[n]=de({},r):(s===void 0||r!==void 0)&&(e[n]=r)}return e}function gi(e,t){const a={...e};for(let i=0;i<t.length;i++){const n=t[i];delete a[n]}return a}const fi=new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+","gu");function Si(e){return Array.from(e.match(fi)??[])}function Pe(e){return Si(e).map(a=>a.toLowerCase()).join("_")}function yi(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function Pi(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function Ii(e){const t=[],a=e.length;if(a===0)return t;let i=0,n="",r="",s=!1;for(e.charCodeAt(0)===46&&(t.push(""),i++);i<a;){const l=e[i];r?l==="\\"&&i+1<a?(i++,n+=e[i]):l===r?r="":n+=l:s?l==='"'||l==="'"?r=l:l==="]"?(s=!1,t.push(n),n=""):n+=l:l==="["?(s=!0,n&&(t.push(n),n="")):l==="."?n&&(t.push(n),n=""):n+=l,i++}return n&&t.push(n),t}function Ie(e,t,a){if(e==null)return a;switch(typeof t){case"string":{const i=e[t];return i===void 0?yi(t)?Ie(e,Ii(t),a):a:i}case"number":case"symbol":{typeof t=="number"&&(t=Pi(t));const i=e[t];return i===void 0?a:i}default:{if(Array.isArray(t))return Ei(e,t,a);Object.is(t?.valueOf(),-0)?t="-0":t=String(t);const i=e[t];return i===void 0?a:i}}}function Ei(e,t,a){if(t.length===0)return a;let i=e;for(let n=0;n<t.length;n++){if(i==null)return a;i=i[t[n]]}return i===void 0?a:i}function Ai(e){return e instanceof Buffer}class P{constructor(t,a){this.defaultLocale=t,this.locales=a,this.defaultLocale=Pe(t),this.locales=P.snakeLocaleKeys(a)}addLocales=t=>{de(this.locales,P.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=gi(this.locales,t)};$t=(t,a,i=this.defaultLocale)=>{const n=this.locales[Pe(i)],r=Ie(this.locales[this.defaultLocale],t),s=Ie(n,t,r);if(s===void 0)throw new Error(`[i18n]: cannot find ${i}["${t}"]`);if(typeof s!="string")return JSON.stringify(s);let l=s;if(a&&a.length){const o=/%s/i;for(let d=0;d<a.length&&l.match(o)!==null;d++)l=l.replace(o,a[d])}return l};static isValidate(t){if(!kt(t))throw new Error(`[i18n]: unknown charset ${t}`)}static encodeToBuf(t,a){return P.isValidate(a),[...Mt(t,a),0]}static decodeFromBuf(t,a="utf8"){P.isValidate(a);const i=Ai(t)?t:Buffer.from(P.getValidStr(t));return Ht(i,a)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return pi(t,(a,i)=>Pe(i))}static convertSpecialChar(t){const a={\u00E0:"\x97",\u00E1:"\x98",\u00E2:"\x99",\u00E4:"\x9A",\u00C0:"\x80",\u00C1:"\x81",\u00C2:"\x82",\u00C4:"\x83",\u00E8:"\x9D",\u00E9:"\x9E",\u00EA:"\x9F",\u00EB:"\xA0",\u00C8:"\x86",\u00C9:"\x87",\u00CA:"\x88",\u00CB:"\x89",\u00EC:"\xA1",\u00ED:"\xA2",\u00EE:"\xA3",\u00EF:"\xA4",\u00CC:"\x8A",\u00CD:"\x8B",\u00CE:"\x8C",\u00CF:"\x8D",\u00F2:"\xA5",\u00F3:"\xA6",\u00F4:"\xA7",\u00F6:"\xA8",\u00D2:"\x8E",\u00D3:"\x8F",\u00D4:"\x90",\u00D6:"\x91",\u00F9:"\xA9",\u00FA:"\xAA",\u00FB:"\xAB",\u00FC:"\xAC",\u00D9:"\x92",\u00DA:"\x93",\u00DB:"\x94",\u00DC:"\x95",\u00F1:"\xAE",\u00D1:"\xAD","\xA1":"@","\xBF":"\xAF","`":"\xB1"};return t.split("").map(i=>i in a?a[i]:i).join("")}}const B=new Map,Xe=new Map;function Ci(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function Ti(e,...t){const{defaultValue:a=!0,name:i,beforeEach:n,afterEach:r,throwOnError:s=!1}=e,l=B.get(i);if(!l||!l.length)return+a;const o=n?n(...t):{},d=[];let h=-1;const p=g=>{if(h++,h<l.length){try{g&&Object.assign(o,g);const y={next:p,defaultValue:a,...o},f=l[h](y);return f instanceof Promise&&d.push(f),f}catch(y){const f=`executing event [name:${i},index:${h}] error:
2
+ ${y}`;if(s)throw{error:y,message:f};console.log(f)}return a}return r&&(d.length?Promise.allSettled(d).then(()=>r(o)):r(o)),a};return Ci(p(),a)}function _(e){const{name:t,identifier:a,isNative:i=!0}=e;if(B.has(t)){const l=`event [name:${t}] error: already defined.`;throw new Error(l)}function n(...l){return Ti(e,...l)}function r(l){B.has(t)||B.set(t,[]);const o=B.get(t).push(l)-1;return()=>{const d=B.get(t);if(!d)return;const h=d.length-1,p=h<o?h:o;for(let g=p;g>=0;g--)if(d[g]===l){d.splice(g,1);break}return d.length===0&&B.delete(t),d.length}}const s=[r,n];return i&&(typeof a<"u"&&samp.registerEvent(t,a),samp.on(t,n)),Xe.set(t,n),s}function Di(e){return Xe.get(e)}const wi=e=>!!samp.callNative("IsValidNickName","s",e),Ni=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},vi=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),bi=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),Li=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),Ri=e=>!!samp.callNative("IsValidServerRule","s",e),Gi=e=>!!samp.callNative("RemoveServerRule","s",e),Oi=e=>{samp.callNative("AllowAdminTeleport","i",e)},Fi=()=>!!samp.callNative("IsAdminTeleportAllowed",""),Bi=e=>{samp.callNative("AllowInteriorWeapons","i",e)},xi=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),ki=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Mi=e=>{samp.callNative("EnableAllAnimations","i",e)},Hi=e=>{const[t]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return t},Vi=e=>samp.callNative("GetConsoleVarAsInt","s",e),Ui=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),Wi=()=>samp.callNative("GetWeather",""),ji=e=>samp.callNative("GetServerRuleFlags","s",e),Ki=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Zi=e=>!!samp.callNative("SetModeRestartTime","f",e),Xi=()=>samp.callNativeFloat("GetModeRestartTime",""),zi=(e,t,a)=>samp.callNative("GameTextForAll","aii",e,t,a),Yi=e=>{samp.callNative("HideGameTextForAll","i",e)},$i=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),Ji=()=>samp.callNative("GetMaxPlayers",""),Ee=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),Qi=e=>samp.callNative("SetGameModeText","s",e),qi=e=>samp.callNative("ShowNameTags","i",e),en=e=>samp.callNative("ShowPlayerMarkers","i",e),tn=e=>samp.callNative("SetWorldTime","i",e),an=()=>samp.callNative("GetWorldTime",""),nn=()=>!!samp.callNative("EnableVehicleFriendlyFire",""),rn=e=>samp.callNative("SetWeather","i",e),sn=()=>samp.callNativeFloat("GetGravity",""),ln=e=>samp.callNative("SetGravity","f",e),on=(e,t,a,i,n)=>samp.callNative("CreateExplosion","fffif",e,t,a,i,n),dn=e=>samp.callNative("EnableZoneNames","i",e),cn=()=>!!samp.callNative("UsePlayerPedAnims",""),_n=()=>!!samp.callNative("DisableInteriorEnterExits",""),hn=e=>samp.callNative("SetNameTagDrawDistance","f",e),un=()=>samp.callNative("DisableNameTagLOS",""),mn=e=>samp.callNative("LimitGlobalChatRadius","f",e),pn=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),gn=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),fn=()=>samp.callNative("GetServerTickRate",""),Sn=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),yn=e=>!!samp.callNative("EnableStuntBonusForAll","i",e),Pn=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},In=()=>!!samp.callNative("ChatTextReplacementToggled",""),En=e=>samp.callNative("GetWeaponSlot","i",e),An=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},ze=()=>samp.callNative("GetAvailableClasses",""),Cn=e=>{if(e<ze()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,i=0,n=0,r=0,s=0,l=0,o=0,d=0,h=0,p=0,g=0,y=0]=t;return{teamId:a,modelId:i,spawnX:n,spawnY:r,spawnZ:s,zAngle:l,weapon1:o,weapon1Ammo:d,weapon2:h,weapon2Ammo:p,weapon3:g,weapon3Ammo:y}},Tn=(e,t,a,i,n,r,s,l,o,d,h,p,g)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,i,n,r,s,l,o,d,h,p,g),Dn=e=>samp.callNative("SetTeamCount","i",e),wn=(e,t,a,i,n,r,s,l,o,d,h)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,i,n,r,s,l,o,d,h),Nn=(e,t,a,i,n,r,s,l,o,d,h,p)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,i,n,r,s,l,o,d,h,p),vn=(e,t,a,i,n,r,s,l,o,d,h,p,g)=>!!samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,i,n,r,s,l,o,d,h,p,g),bn=e=>!!samp.callNative("SpawnPlayer","i",e),Ln=e=>{const[t,a=0,i=0,n=0,r=0,s=0,l=0,o=0,d=0,h=0,p=0,g=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawnX:i,spawnY:n,spawnZ:r,zAngle:s,weapon1:l,weapon1Ammo:o,weapon2:d,weapon2Ammo:h,weapon3:p,weapon3Ammo:g}},Rn=e=>samp.callNative("NetStats_GetConnectedTime","i",e),Gn=e=>samp.callNative("NetStats_MessagesReceived","i",e),On=e=>samp.callNative("NetStats_BytesReceived","i",e),Fn=e=>samp.callNative("NetStats_MessagesSent","i",e),Bn=e=>samp.callNative("NetStats_BytesSent","i",e),xn=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),kn=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Mn=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Hn=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},Vn=e=>!!samp.callNative("IsPlayerAdmin","i",e),Un=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),Wn=e=>!!samp.callNative("Kick","i",e),jn=e=>!!samp.callNative("Ban","i",e),Kn=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},Zn=()=>samp.callNative("GetNetworkStats","Si",1024),Xn=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),zn=e=>samp.callNative("UnBlockIpAddress","s",e),Yn=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return P.decodeFromBuf(P.getValidStr(a),t)},$n=(e,t,a,i,n)=>samp.callNative("SendClientCheck","iiiii",e,t,a,i,n),Jn=()=>{samp.callNative("ClearBanList","")},Qn=e=>!!samp.callNative("IsBanned","s",e),qn=e=>samp.callNative("GetPlayerRawIp","i",e),er=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},tr=e=>{const[t]=samp.callNative("GetPlayerVersion","iSi",e,24);return t},I=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(i=>parseInt(i,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((i,n)=>{i!==0&&(a+=Math.pow(16,n*2)*i)}),a},ar=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),ir=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),nr=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),rr=e=>samp.callNative("GetPlayerWeather","i",e),sr=e=>{const[t=0,a=0,i=0,n=0]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:a,yMax:i,yMin:n}},lr=e=>samp.callNativeFloat("GetPlayerZAim","i",e),or=e=>{const[t=0,a=0,i=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:i}},dr=e=>{const[t=0,a=0,i=0,n=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:i,z:n}},cr=e=>samp.callNative("GetPlayerDialogID","i",e),_r=e=>samp.callNative("GetPlayerSpectateID","i",e),hr=e=>samp.callNative("GetPlayerSpectateType","i",e),ur=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),mr=e=>samp.callNativeFloat("GetPlayerGravity","i",e),pr=e=>!!samp.callNative("IsPlayerSpawned","i",e),gr=e=>!!samp.callNative("IsPlayerControllable","i",e),fr=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),Sr=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),yr=e=>!!samp.callNative("GetPlayerGhostMode","i",e),Pr=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),Ir=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),Er=e=>!!samp.callNative("HidePlayerDialog","i",e),Ar=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),Cr=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),Tr=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),Dr=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),wr=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),Nr=(e,t,a,i)=>!!samp.callNative("GameTextForPlayer","iaii",e,t,a,i),vr=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),br=(e,t,a,i)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,i),Lr=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),Rr=e=>!!samp.callNative("IsPlayerNPC","i",e),Gr=(e,t,a,i)=>!!samp.callNative("SetPlayerPos","ifff",e,t,a,i),Or=(e,t,a,i)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,i),Fr=e=>samp.callNative("GetPlayerPos","iFFF",e),Br=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),xr=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},kr=(e,t,a,i,n)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,i,n),Mr=(e,t,a,i)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,i),Hr=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),Vr=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),Ur=e=>samp.callNative("GetPlayerInterior","i",e),Wr=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),jr=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},Kr=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),Zr=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},Xr=(e,t,a)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,a),zr=e=>samp.callNative("GetPlayerAmmo","i",e),Yr=e=>samp.callNative("GetPlayerWeaponState","i",e),$r=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Jr=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Qr=e=>samp.callNative("GetPlayerTeam","i",e),qr=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),es=e=>samp.callNative("GetPlayerScore","i",e),ts=e=>samp.callNative("GetPlayerDrunkLevel","i",e),as=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),is=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,I(t)),ns=e=>samp.callNative("GetPlayerColor","i",e),rs=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),ss=e=>samp.callNative("GetPlayerSkin","i",e),ls=(e,t,a)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,a),os=e=>!!samp.callNative("ResetPlayerWeapons","i",e),ds=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),cs=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),_s=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),hs=e=>!!samp.callNative("ResetPlayerMoney","i",e),us=e=>samp.callNative("GetPlayerMoney","i",e),ms=e=>samp.callNative("GetPlayerState","i",e),ps=e=>samp.callNative("GetPlayerPing","i",e),gs=e=>samp.callNative("GetPlayerWeapon","i",e),fs=e=>samp.callNative("GetPlayerKeys","iIII",e),Ss=(e,t,a)=>!!samp.callNative("SetPlayerTime","iii",e,t,a),ys=e=>samp.callNative("GetPlayerTime","iII",e),Ps=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),Is=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),Es=e=>!!samp.callNative("ForceClassSelection","i",e),As=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),Cs=e=>samp.callNative("GetPlayerWantedLevel","i",e),Ts=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),Ds=e=>samp.callNative("GetPlayerFightingStyle","i",e),ws=(e,t,a,i)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,a,i),Ns=e=>samp.callNative("GetPlayerVelocity","iFFF",e),vs=(e,t,a)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),bs=(e,t,a,i,n,r,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,i,n,r,s),Ls=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),Rs=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),Gs=(e,t,a)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,a),Os=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),Fs=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),Bs=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),xs=(e,t,a,i,n,r)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,i,n,r),ks=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),Ms=(e,t,a)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,a),Hs=e=>samp.callNative("GetPlayerVehicleID","i",e),Vs=e=>samp.callNative("GetPlayerVehicleSeat","i",e),Us=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),Ws=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),js=(e,t,a,i,n)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,a,i,n),Ks=(e,t,a,i,n,r,s,l,o,d)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,i,n,r,s,l,o,d),Zs=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),Xs=e=>samp.callNative("GetPlayerAnimationIndex","i",e),zs=e=>samp.callNative("GetPlayerSpecialAction","i",e),Ys=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),$s=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),Js=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),Qs=e=>samp.callNative("GetPlayerVirtualWorld","i",e),qs=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),el=e=>samp.callNative("GetPlayerCustomSkin","i",e),tl=(e,t,a,i,n,r)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,i,n,r),al=(e,t,a)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,a),il=e=>!!samp.callNative("StopRecordingPlayerData","i",e),nl=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),rl=(e,t,a)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,a),sl=(e,t,a)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,a),Ye=e=>!!samp.callNative("IsPlayerConnected","i",e),ll=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),ol=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),dl=(e,t,a,i,n)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,i,n),cl=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),_l=(e,t,a)=>!!samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,I(a));function hl(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",e,t)}const ul=(e,t,a)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),ml=(e,t,a,i)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,a,i),pl=(e,t,a,i,n)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,i,n),gl=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),fl=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),Sl=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),yl=e=>samp.callNative("GetPlayerCameraMode","i",e),Pl=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),Il=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),El=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),Al=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),Cl=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),Tl=(e,t,a,i,n,r,s,l,o)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,i,n,r,s,l,o),Dl=(e,t,a,i,n,r,s,l,o)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,i,n,r,s,l,o),wl=e=>!!samp.callNative("IsPlayerCuffed","i",e),Nl=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),vl=e=>!!samp.callNative("IsPlayerUsingOmp","i",e),bl=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),Ll=()=>samp.callNative("StopRecordingPlayback",""),Rl=()=>samp.callNative("PauseRecordingPlayback",""),Gl=()=>samp.callNative("ResumeRecordingPlayback",""),Ol=e=>samp.callNative("GetActorSkin","i",e),Fl=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),Bl=e=>{const[t=0,a=0,i=0,n=0,r=0]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:a,fY:i,fZ:n,fAngle:r}},xl=e=>{const[t=0,a=0,i=0,n=0,r=0,s=0]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:a,fZ:i,fRot:n,color1:r,color2:s}},kl=(e,t,a,i,n,r,s,l,o=-2,d=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,i,n,r,s,l,o,d),Ml=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:a}},Hl=e=>samp.callNative("GetVehiclePaintjob","i",e),Vl=e=>samp.callNative("GetVehicleInterior","i",e),Ul=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},Wl=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),jl=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Kl=e=>samp.callNative("GetVehicleCab","i",e),Zl=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Xl=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),zl=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Yl=e=>!!samp.callNative("IsVehicleOccupied","i",e),$l=e=>samp.callNative("GetVehicleRespawnTick","i",e),Jl=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Ql=e=>!!samp.callNative("IsVehicleDead","i",e),ql=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),eo=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),to=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),ao=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),io=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),no=e=>samp.callNative("GetVehicleModelCount","i",e),ro=e=>samp.callNative("GetVehicleLastDriver","i",e),so=e=>samp.callNative("GetVehicleDriver","i",e),lo=()=>samp.callNative("GetVehicleModelsUsed",""),oo=e=>samp.callNative("GetVehicleSirenState","i",e),co=e=>samp.callNative("GetVehicleLandingGearState","i",e),_o=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),ho=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),uo=e=>{const[t=0,a=0,i=0,n=0,r=0,s=0,l=0,o=0,d=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:i,upX:n,upY:r,upZ:s,atX:l,atY:o,atZ:d}},$e=e=>{const[t=0,a=0,i=0,n=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,i,n]}},mo=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),po=(e,t,a,i,n,r,s,l,o)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,i,n,I(r),I(s),l,o),go=e=>samp.callNative("DestroyVehicle","i",e),fo=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),So=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]}},yo=(e,t,a,i)=>!!samp.callNative("SetVehiclePos","ifff",e,t,a,i),Po=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},Io=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),Eo=(e,t,a,i)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,i),Ao=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),Co=(e,t,a,i)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,i),To=()=>samp.callNative("ManualVehicleEngineAndLights",""),Do=(e,t,a,i,n,r,s,l)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,i,n,r,s,l),wo=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),No=e=>samp.callNative("GetVehicleParamsSirenState","i",e),vo=(e,t,a,i,n)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,i,n),bo=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},Lo=(e,t,a,i,n)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,i,n),Ro=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},Go=e=>samp.callNative("SetVehicleToRespawn","i",e),Oo=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),Fo=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),Bo=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),xo=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,I(t),I(a)),ko=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),Mo=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),Ho=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},Vo=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),Uo=e=>samp.callNative("DetachTrailerFromVehicle","i",e),Wo=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),jo=e=>samp.callNative("GetVehicleTrailer","i",e),Ko=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),Zo=e=>samp.callNative("GetVehicleModel","i",e),Xo=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),zo=e=>samp.callNative("GetVehicleComponentType","i",e),Yo=e=>samp.callNative("RepairVehicle","i",e),$o=e=>samp.callNative("GetVehicleVelocity","iFFF",e),Jo=(e,t,a,i)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,i),Qo=(e,t,a,i)=>!!samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,i),qo=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]}},ed=(e,t,a,i,n)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,i,n),td=(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]}},ad=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),id=e=>samp.callNative("GetVehicleVirtualWorld","i",e),Je=e=>!!samp.callNative("IsValidVehicle","i",e),nd=(e,t,a,i,n,r,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,i,n,I(r),I(s)),rd=(e,t,a,i,n,r,s,l,o)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,i,n,I(r),I(s),l,o),sd=e=>!!samp.callNative("ShowVehicle","i",e),ld=e=>!!samp.callNative("HideVehicle","i",e),od=e=>!!samp.callNative("IsVehicleHidden","i",e),dd=e=>!!samp.callNative("IsPlayerInModShop","i",e),cd=e=>samp.callNative("GetPlayerSirenState","i",e),_d=e=>samp.callNative("GetPlayerLandingGearState","i",e),hd=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),ud=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),md=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),Qe=e=>samp.callNative("GetVehicleMaxPassengers","i",e),pd=e=>samp.callNative("CountVehicleOccupants","i",e),gd=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),fd=e=>{const[t=0,a=0,i=0,n=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:i,fSize:n}},Sd=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),yd=e=>{const[t=0,a=0,i=0,n=0,r=0,s=0,l=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:i,fNextX:n,fNextY:r,fNextZ:s,fSize:l}},Pd=e=>!!samp.callNative("IsMenuDisabled","i",e),Id=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),Ed=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),Ad=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},Cd=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},Td=(e,t)=>{const[a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return a},Dd=(e,t,a)=>{const[i]=samp.callNative("GetMenuItem","iiiSi",e,t,a,31);return i},wd=(e,t,a,i,n,r)=>samp.callNative("CreateMenu","siffff",e,t,a,i,n,r),Nd=e=>samp.callNative("DestroyMenu","i",e),vd=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),bd=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),Ld=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),Rd=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),Gd=e=>!!samp.callNative("IsValidMenu","i",e),Od=e=>samp.callNative("DisableMenu","i",e),Fd=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),Bd=e=>samp.callNative("GetPlayerMenu","i",e),xd=e=>!!samp.callNative("IsValidGangZone","i",e),kd=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),Md=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),Hd=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),Vd=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),Ud=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Wd=e=>{const[t=0,a=0,i=0,n=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:i,fMaxY:n}},jd=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},Kd=(e,t,a,i)=>samp.callNative("GangZoneCreate","ffff",e,t,a,i),Zd=e=>samp.callNative("GangZoneDestroy","i",e),Xd=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,I(a)),zd=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,I(t)),Yd=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),$d=e=>samp.callNative("GangZoneHideForAll","i",e),Jd=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,I(a)),Qd=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,I(t)),qd=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),ec=e=>samp.callNative("GangZoneStopFlashForAll","i",e),tc=(e,t,a,i,n)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,i,n),ac=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),ic=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),nc=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),rc=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),sc=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),lc=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),oc=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),dc=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),cc=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),_c=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),hc=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),uc=(e,t)=>{const[a=0,i=0,n=0,r=0]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:a,fMinY:i,fMaxX:n,fMaxY:r}},mc=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},pc=e=>!!samp.callNative("IsValidTextDraw","i",e),gc=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),fc=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},Sc=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},yc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},Pc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},Ic=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},Ec=e=>samp.callNative("TextDrawGetColor","i",e),Ac=e=>samp.callNative("TextDrawGetBoxColor","i",e),Cc=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),Tc=e=>samp.callNative("TextDrawGetShadow","i",e),Dc=e=>samp.callNative("TextDrawGetOutline","i",e),wc=e=>samp.callNative("TextDrawGetFont","i",e),Nc=e=>!!samp.callNative("TextDrawIsBox","i",e),vc=e=>!!samp.callNative("TextDrawIsProportional","i",e),bc=e=>!!samp.callNative("TextDrawIsSelectable","i",e),Lc=e=>samp.callNative("TextDrawGetAlignment","i",e),Rc=e=>samp.callNative("TextDrawGetPreviewModel","i",e),Gc=e=>{const[t=0,a=0,i=0,n=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:i,fZoom:n}},Oc=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},Fc=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iia",e,t,a)},Bc=(e,t,a)=>samp.callNative("TextDrawCreate","ffa",e,t,a),xc=e=>samp.callNative("TextDrawDestroy","i",e),kc=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),Mc=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),Hc=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),Vc=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,I(t)),Uc=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),Wc=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,I(t)),jc=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),Kc=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),Zc=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,I(t)),Xc=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),zc=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),Yc=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),$c=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Jc=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),Qc=e=>samp.callNative("TextDrawShowForAll","i",e),qc=e=>samp.callNative("TextDrawHideForAll","i",e),e_=(e,t)=>samp.callNative("TextDrawSetString","ia",e,t),t_=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),a_=(e,t,a,i,n=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,i,n)},i_=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,I(t),I(a)),n_=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,I(t))},r_=e=>{samp.callNative("CancelSelectTextDraw","i",e)},s_=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),l_=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),o_=(e,t)=>{const[a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return a},d_=(e,t,a,i)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,i)},c_=(e,t)=>{const[a=0,i=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:i}},__=(e,t)=>{const[a=0,i=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:i}},h_=(e,t)=>{const[a=0,i=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:i}},u_=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),m_=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),p_=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),g_=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),f_=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),S_=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),y_=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),P_=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),I_=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),E_=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),A_=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),C_=(e,t)=>{const[a=0,i=0,n=0,r=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:a,fRotY:i,fRotZ:n,fZoom:r}},T_=(e,t)=>{const[a,i]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:i}},D_=(e,t,a,i)=>samp.callNative("CreatePlayerTextDraw","iffa",e,t,a,i),w_=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},N_=(e,t,a,i)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,i),v_=(e,t,a,i)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,a,i),b_=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),L_=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,I(a)),R_=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),G_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,I(a)),O_=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),F_=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),B_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,I(a)),x_=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),k_=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),M_=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),H_=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),V_=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),U_=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iia",e,t,a),W_=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),j_=(e,t,a,i,n,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,i,n,r),K_=(e,t,a,i)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,i),Z_=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),X_=e=>!!samp.callNative("BeginObjectSelecting","i",e),z_=e=>!!samp.callNative("EndObjectEditing","i",e),Y_=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),$_=(e,t,a,i,n)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,i,n),J_=(e,t,a,i,n,r,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,i,n,r,s),Q_=(e,t)=>samp.callNative("RedirectDownload","is",e,t),q_=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},eh=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},th=(e,t)=>{const[a=0,i=0,n=0,r=0,s=0,l=0,o=0,d=0,h=0,p=0,g=0,y=0,f=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:i,fX:n,fY:r,fZ:s,fRotX:l,fRotY:o,fRotZ:d,fScaleX:h,fScaleY:p,fScaleZ:g,materialColor1:y,materialColor2:f}},ah=(e,t,a,i,n,r,s,l,o,d,h,p,g,y,f)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,i,n,r,s,l,o,d,h,p,g,I(y),I(f)),ih=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),nh=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),qe=e=>!!samp.callNative("IsValidCustomModel","i",e),rh=e=>{if(!qe(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var et=(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))(et||{}),tt=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(tt||{}),Ae=(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))(Ae||{}),at=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(at||{}),it=(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))(it||{}),w=(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))(w||{}),nt=(e=>(e[e.NONE=0]="NONE",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))(nt||{}),M=(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))(M||{}),rt=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(rt||{}),st=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(st||{}),H=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(H||{}),lt=(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))(lt||{}),ot=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(ot||{}),dt=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(dt||{}),ct=(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))(ct||{}),_t=(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))(_t||{}),ce=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(ce||{}),ht=(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))(ht||{}),Se=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(Se||{}),_e=(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))(_e||{}),ut=(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))(ut||{}),mt=(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))(mt||{}),pt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(pt||{}),Ce=(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))(Ce||{}),he=(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))(he||{}),gt=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(gt||{}),ft=(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))(ft||{}),St=(e=>(e[e.UNSET=-1]="UNSET",e[e.OFF=0]="OFF",e[e.ON=1]="ON",e))(St||{}),yt=(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))(yt||{}),Pt=(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))(Pt||{}),It=(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))(It||{}),Et=(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))(Et||{}),At=(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))(At||{}),Te=(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))(Te||{}),Ct=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(Ct||{});class N{static npcs=new Map;id=w.PLAYER_ID;name="";static recordStatus;constructor(t){const a=samp.callNative("NPC_Create","s",t);if(this.id=a,this.name=t,a!==w.PLAYER_ID){const i=N.getInstance(a);if(i)return i}return N.npcs.set(a,this),this}getName(){return this.name}destroy(){return samp.callNative("NPC_Destroy","i",this.id),this}isValid(){return!!samp.callNative("NPC_IsValid","i",this.id)}spawn(){return samp.callNative("NPC_Spawn","i",this.id),this}setPos(t,a,i){return samp.callNative("NPC_SetPos","ifff",this.id,t,a,i),this}setRot(t,a,i){return samp.callNative("NPC_SetRot","ifff",this.id,t,a,i),this}getRot(){const[t,a,i]=samp.callNative("NPC_GetRot","iFFF",this.id);return{rX:t,rY:a,rZ:i}}setFacingAngle(t){return samp.callNative("NPC_SetFacingAngle","if",this.id,t),this}getFacingAngle(){const[t]=samp.callNative("NPC_GetFacingAngle","iF",this.id);return t}setVirtualWorld(t){return samp.callNative("NPC_SetVirtualWorld","ii",this.id,t),this}getVirtualWorld(){const[t]=samp.callNative("NPC_GetVirtualWorld","iI",this.id);return t}move(t,a,i,n,r=-1){return!!samp.callNative("NPC_Move","ifffif",this.id,t,a,i,n,r)}stopMove(){return samp.callNative("NPC_StopMove","i",this.id),this}isMoving(){return!!samp.callNative("NPC_IsMoving","ifffif",this.id)}setSkin(t){return samp.callNative("NPC_SetSkin","ii",this.id,t),this}isStreamedIn(t){return!!samp.callNative("NPC_IsStreamedIn","ii",this.id,t.id)}isAnyStreamedIn(){return!!samp.callNative("NPC_IsAnyStreamedIn","i",this.id)}setInterior(t){return samp.callNative("NPC_SetInterior","ii",this.id,t),this}getInterior(){return samp.callNative("NPC_GetInterior","i",this.id)}setHealth(t){return samp.callNative("NPC_SetHealth","if",this.id,t),this}getHealth(){return samp.callNativeFloat("NPC_GetHealth","i",this.id)}setArmour(t){return samp.callNative("NPC_SetArmour","if",this.id,t),this}getArmour(){return samp.callNativeFloat("NPC_GetArmour","i",this.id)}isDead(){return!!samp.callNative("NPC_IsDead","i",this.id)}applyAnimation(t,a,i,n,r,s,l,o,d){return samp.callNative("NPC_ApplyAnimation","issfiiiiii",this.id,t,a,i,n,r,s,l,o,d),this}setWeapon(t){return samp.callNative("NPC_SetWeapon","ii",this.id,t),this}getWeapon(){return samp.callNative("NPC_GetWeapon","i",this.id)}setAmmo(t){return samp.callNative("NPC_SetAmmo","ii",this.id,t),this}getAmmo(){return samp.callNative("NPC_GetAmmo","ii",this.id)}setKeys(t,a,i){return samp.callNative("NPC_SetKeys","iiii",t,a,i),this}getKeys(){const[t,a,i]=samp.callNative("NPC_GetKeys","iIII",this.id);return{upAndDown:t,leftAndDown:a,keys:i}}setWeaponSkillLevel(t,a){return samp.callNative("NPC_SetWeaponSkillLevel","iii",this.id,t,a),this}getWeaponSkillLevel(t){return samp.callNative("NPC_GetWeaponSkillLevel","ii",this.id,t)}meleeAttack(t,a){return samp.callNative("NPC_MeleeAttack","iii",this.id,t,a),this}stopMeleeAttack(){return samp.callNative("NPC_StopMeleeAttack","i",this.id),this}isMeleeAttacking(){return!!samp.callNative("NPC_IsMeleeAttacking","i",this.id)}setFightingStyle(t){return samp.callNative("NPC_SetFightingStyle","ii",this.id,t),this}getFightingStyle(){return samp.callNative("NPC_GetFightingStyle","i",this.id)}enableReloading(t){return samp.callNative("NPC_EnableReloading","ii",this.id,t),this}isReloadEnabled(){return!!samp.callNative("NPC_IsReloadEnabled","i",this.id)}isReloading(){return!!samp.callNative("NPC_IsReloading","i",this.id)}enableInfiniteAmmo(t){return samp.callNative("NPC_EnableInfiniteAmmo","ii",this.id,t),this}isInfiniteAmmoEnabled(){return!!samp.callNative("NPC_IsInfiniteAmmoEnabled","i",this.id)}getWeaponState(){return samp.callNative("NPC_GetWeaponState","i",this.id)}setAmmoInClip(t){return samp.callNative("NPC_SetAmmoInClip","ii",this.id,t),this}getAmmoInClip(){return samp.callNative("NPC_GetAmmoInClip","i",this.id)}shoot(t,a,i,n,r,s,l,o,d,h,p){return samp.callNative("NPC_Shoot","iiiffffffii",this.id,t,a,i,n,r,s,l,o,d,h,p),this}isShooting(){return!!samp.callNative("NPC_IsShooting","i",this.id)}aimAt(t,a,i,n,r,s,l,o,d,h){return samp.callNative("NPC_AimAt","ifffiiifffi",this.id,t,a,i,n,r,s,l,o,d,h),this}aimAtPlayer(t,a,i,n,r,s,l,o,d,h,p){return samp.callNative("NPC_AimAtPlayer","iiiiiffffffi",this.id,t.id,a,i,n,r,s,l,o,d,h,p),this}stopAim(){return samp.callNative("NPC_StopAim","i",this.id),this}isAiming(){return!!samp.callNative("NPC_IsAiming","i",this.id)}isAimingAtPlayer(t){return!!samp.callNative("NPC_IsAimingAtPlayer","ii",this.id,t.id)}setWeaponAccuracy(t,a){return samp.callNative("NPC_SetWeaponAccuracy","iif",this.id,t,a),this}getWeaponAccuracy(t){return samp.callNativeFloat("NPC_GetWeaponAccuracy","ii",this.id,t)}enterVehicle(t,a,i){return samp.callNative("NPC_EnterVehicle","iiii",this.id,t,a,i),this}exitVehicle(){return samp.callNative("NPC_ExitVehicle","i",this.id),this}static connect=gn;static startRecordingPlayerData(t,a,i){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");al(t.id,a,i),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)throw new Error("[NpcFunc]: It should be started before stop");il(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(N.recordStatus>=H.start)throw new Error("[NpcFunc]: The current status cannot be replayed");bl(t,a),N.recordStatus=H.start}static stopRecordingPlayback(){if(N.recordStatus<H.start)throw new Error("[NpcFunc]: The current status cannot be stopped");Ll(),N.recordStatus=H.none}static pauseRecordingPlayback(){if(N.recordStatus!==H.start)throw new Error("[NpcFunc]: The current status cannot be paused");Rl(),N.recordStatus=H.pause}static resumeRecordingPlayback(){if(N.recordStatus!==H.pause)throw new Error("[NpcFunc]: The current status cannot be paused");Gl(),N.recordStatus=H.start}static getInstance(t){return this.npcs.get(t)}static getInstances(){return[...this.npcs.values()]}}const Tt=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}]]]),De=e=>{const t=Tt.get(e.toUpperCase());return t===void 0?!1:t},we=(e,t)=>{const a=De(e);if(a)return t==="null"?!0:a.some(i=>i.n===t)},sh=(e,t)=>{const a=De(e);if(a)return a.find(i=>i.n===t)?.d},J=(e,t)=>{const a=t.replace("-","")==="utf8"?e:P.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},Dt=(e,t,a)=>{const i=J(a,e.charset);return samp.callNative("SendClientMessage",`ii${i[0]}`,e.id,I(t),i[1])},lh=(e,t,a)=>(e.forEach(i=>Dt(i,t,a)),1),wt=(e,t,a)=>{const i=J(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${i[0]}`,e.id,t,i[1])},oh=(e,t,a)=>(e.forEach(i=>{wt(i,t,a)}),1),dh=(e,t,a)=>{const{charset:i}=e,{style:n,caption:r,info:s,button1:l,button2:o}=a,[d,h]=J(r||"",i),[,p]=J(s||"",i),[,g]=J(l||"",i),[,y]=J(o||"",i);return!!samp.callNative("ShowPlayerDialog",`iii${d.repeat(4)}`,e.id,t,n,h,p,g,y)},ch=e=>{const[t]=samp.callNative("GetPlayerName","iAi",e.id,M.MAX_PLAYER_NAME);return P.decodeFromBuf(P.getValidStr(t),e.charset)},_h=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,P.encodeToBuf(t,e.charset)),hh=(e,t,a)=>{const i=P.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,i)},uh=(e,t="utf8")=>{const[a,i]=J(e,t);return samp.callNative("SendRconCommand",a,i)},mh=(e,t,a,i,n,r,s,l,o,d,h,p,g,y,f,E)=>{const v=P.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",v,a,i,n,r,s,l,o,d,h,p,g,y,f,E)},ph=(e,t,a,i,n,r,s,l,o,d,h,p,g,y,f,E)=>{const v=P.encodeToBuf(e,E);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",v,t,a,i,n,r,s,l,o,d,h,p,g,y,f,h.length,p.length,g.length,y.length)},gh=(e,t,a,i)=>{const n=P.encodeToBuf(a,i);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,n)},fh=(e,t)=>{const[a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return P.decodeFromBuf(P.getValidStr(a),t)},Sh=(e,t,a,i,n,r,s,l,o,d,h)=>{const p=P.encodeToBuf(i,e),g=P.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,p,n,g,s,l,o,d,h)},yh=(e,t,a)=>{const[i,n,r,s,l,o,d]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),h=P.decodeFromBuf(i,a),p=P.decodeFromBuf(r,a);return{text:h,materialSize:n,fontFace:p,bold:s,fontColor:l,backColor:o,textAlignment:d}},Ph=(e,t,a,i,n,r)=>{const s=P.encodeToBuf(t,r);return!!samp.callNative("SetPlayerChatBubble","iaifi",e,s,I(a),i,n)},Q=Symbol(),Y=new Map,ye=new Map,Ne=new Map,[Nt]=_({name:"OnClientCheckResponse",beforeEach(e,t,a,i){return{player:m.getInstance(e),actionId:t,memAddr:a,data:i}}}),[Ih,Eh]=_({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,a){return{player:e,newLocale:t,oldLocale:a}}}),[Ah,Ch]=_({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,a){return{player:e,newCharset:t,oldCharset:a}}});class m{constructor(t){this.id=t;const a=m.getInstance(t);if(a)return a}[Q]={isAndroid:!0};static players=Y;static MAX_CHECK_ANDROID_DELAY=10;static SKIP_CHECK_ANDROID=!1;_charset="ISO-8859-1";_locale="en_US";lastDrunkLevel=0;lastFps=0;lastUpdateTick=0;lastUpdateFpsTick=0;isPaused=!1;isRecording=!1;get charset(){return this._charset}set charset(t){const a=this._charset;this._charset=t,Ch(this,t,a)}get locale(){return this._locale}set locale(t){const a=this._locale;this._locale=t,Eh(this,t,a)}sendClientMessage(t,a){return Dt(this,t,a)}static sendClientMessageToAll(t,a){lh(m.getInstances(),t,a)}sendMessageToPlayer(t,a){return wt(t,this.id,a)}sendMessageToAll(t){return oh(m.getInstances(),this.id,t)}isNpc(){return Rr(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return ts(this.id)}setDrunkLevel(t){if(t<0||t>5e4)throw new Error("[Player]: player's drunk level ranges from 0 to 50000");return as(this.id,t)}allowTeleport(t){return Cr(this.id,t)}isTeleportAllowed(){return Tr(this.id)}enableCameraTarget(t){return Pl(this.id,t)}enableStuntBonus(t){return qs(this.id,t)}getInterior(){return Ur(this.id)}setInterior(t){return Vr(this.id,t)}showNameTag(t,a){return ul(this.id,t.id,a)}setColor(t){return is(this.id,t)}getColor(){return ns(this.id)}setMarker(t,a){_l(this.id,t.id,a)}getMarker(t){return hl(this.id,t.id)}resetMoney(){return hs(this.id)}getMoney(){return us(this.id)}giveMoney(t){return _s(this.id,t)}resetWeapons(){return os(this.id)}spawn(){return bn(this.id)}setHealth(t){return Wr(this.id,t)}getHealth(){return jr(this.id)}toggleClock(t){return Ps(this.id,t)}toggleControllable(t){return Ws(this.id,t)}toggleSpectating(t){return nl(this.id,t)}spectatePlayer(t,a=Se.NORMAL){return rl(this.id,t.id,a)}spectateVehicle(t,a=Se.NORMAL){return sl(this.id,t.id,a)}forceClassSelection(){return Es(this.id)}kick(){return Wn(this.id)}ban(){return jn(this.id)}banEx(t,a){return hh(this.id,t,a)}isAdmin(){return Vn(this.id)}isInRangeOfPoint(t,a,i,n){return kr(this.id,t,a,i,n)}isStreamedIn(t){return Hr(this.id,t.id)}setSkin(t,a=!1){return!a&&(t<0||t>311||t===74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===Ce.DUCK?!1:rs(this.id,t)}getSkin(){return ss(this.id)}isInAnyVehicle(){return ol(this.id)}getSpecialAction(){return zs(this.id)}setSpecialAction(t){return Ys(this.id,t)}setScore(t){return qr(this.id,t)}getScore(){return es(this.id)}getPing(){return ps(this.id)||0}setPos(t,a,i){return Gr(this.id,t,a,i)}getPos(){const[t,a,i]=Fr(this.id);return{x:t,y:a,z:i}}isSpectating(){return this.getState()===_e.SPECTATING}isWasted(){return this.getState()===_e.WASTED}getState(){return ms(this.id)}getVersion(){return this.isNpc()?"":tr(this.id)}setVirtualWorld(t){return Js(this.id,t)}getVirtualWorld(){return Qs(this.id)}removeFromVehicle(){return Us(this.id)}setWantedLevel(t){if(t<0||t>6)throw new Error("[Player]: player's wanted level ranges from 0 to 6");return As(this.id,t)}getWantedLevel(){return Cs(this.id)}setFacingAngle(t){return Br(this.id,t)}getFacingAngle(){return xr(this.id)}setWeather(t){if(t<0||t>255)throw new Error("[Player]: The valid weather value is only 0 to 255");return Is(this.id,t)}getWeather(){return rr(this.id)}setTime(t,a){if(t<0||t>23)throw new Error("[Player]: The valid hour value is only 0 to 23");if(a<0||a>59)throw new Error("[Player]: The valid minute value is only 0 to 59");return Ss(this.id,t,a)}getTime(){const[t,a]=ys(this.id);return{hour:t,minute:a}}removeBuilding(t,a,i,n,r){return xs(this.id,t,a,i,n,r)}setTeam(t){t<0||t>w.NO_TEAM||Jr(this.id,t)}getTeam(){return Qr(this.id)}setSkillLevel(t,a){if(a<0||a>999)throw new Error("[Player]: The valid skill level is only 0 to 999");return Gs(this.id,t,a)}getName(){return ch(this)}setName(t){return _h(this,t)}setVelocity(t,a,i){return ws(this.id,t,a,i)}getVelocity(){const[t,a,i]=Ns(this.id);return{x:t,y:a,z:i}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:i,z:n}=this.getVelocity();return Ee(a,i,n)*t}getKeys(){const[t,a,i]=fs(this.id);return{keys:t,upDown:a,leftRight:i}}getIp(){return er(this.id)}getFightingStyle(){return Ds(this.id)}setFightingStyle(t){return Ts(this.id,t)}setArmour(t){return Kr(this.id,t)}getArmour(){return Zr(this.id)}setCameraBehind(){return gl(this.id)}setCameraPos(t,a,i){return ml(this.id,t,a,i)}setCameraLookAt(t,a,i,n=ce.CUT){return pl(this.id,t,a,i,n)}getCameraAspectRatio(){return Al(this.id)}getCameraFrontVector(){const[t,a,i]=Sl(this.id);return{x:t,y:a,z:i}}getCameraMode(){return yl(this.id)}getCameraPos(){const[t,a,i]=fl(this.id);return{x:t,y:a,z:i}}getCameraTargetPlayer(){const t=El(this.id);return m.getInstances().find(a=>a.id===t)}getCameraTargetVehicle(){const t=Il(this.id);return[...ye.values()].find(a=>a.id===t)}getCameraZoom(){return Cl(this.id)}playAudioStream(t,a=0,i=0,n=0,r=5){let s=!1;return(a!==0||i!==0||n!==0)&&(s=!0),bs(this.id,t,a,i,n,r,s)}stopAudioStream(){return Ls(this.id)}playSound(t,a=0,i=0,n=0){return js(this.id,t,a,i,n)}static getMaxPlayers(){return Ji()}playCrimeReport(t,a){if(a<3||a>22)throw new Error("[Player]: Available crime ids range from 3 to 22");return vs(this.id,t.id,a)}interpolateCameraPos(t,a,i,n,r,s,l,o=ce.CUT){return Tl(this.id,t,a,i,n,r,s,l,o)}interpolateCameraLookAt(t,a,i,n,r,s,l,o=ce.CUT){return Dl(this.id,t,a,i,n,r,s,l,o)}createExplosion(t,a,i,n,r){if(n<0||n>13)throw new Error("[Player]: The valid explosion type value is only 0 to 13");return tl(this.id,t,a,i,n,r)}static isConnected(t){return Ye(t)}isConnected(){return Ye(this.id)}disableRemoteVehicleCollisions(t){return $s(this.id,t)}getVehicle(){if(!this.isInAnyVehicle())return;const t=Hs(this.id);return[...ye.values()].find(a=>a.id===t)}getVehicleSeat(){return Vs(this.id)}getSurfingVehicle(){const t=Os(this.id);if(t!==w.VEHICLE_ID)return[...ye.values()].find(a=>a.id===t)}applyAnimation(t,a,i=4.1,n=!1,r=!0,s=!0,l=!1,o=0,d=!1){if(!we(t,a))throw new Error(`[Player]: Invalid anim library or name ${t} ${a}`);return Ks(this.id,t,a,i,n,r,s,l,o,+d)}clearAnimations(t=!1){return Zs(this.id,t)}getAnimationIndex(){return Xs(this.id)}getAnimationName(t=this.getAnimationIndex()){const[a,i]=Sn(t);return{index:t,animLib:a,animName:i}}setShopName(t){return Rs(this.id,t)}setPosFindZ(t,a,i){return Or(this.id,t,a,i)}setWorldBounds(t,a,i,n){return dl(this.id,t,a,i,n)}clearWorldBounds(){return cl(this.id)}setChatBubble(t,a,i,n,r=this.charset){return Ph(this.id,t,a,i,n,r)}getDistanceFromPoint(t,a,i){return Mr(this.id,t,a,i)}getCustomSkin(){return el(this.id)}getTargetPlayer(){const t=$r(this.id);if(t!==w.PLAYER_ID)return m.getInstances().find(a=>a.id===t)}getLastShotVectors(){const[t,a,i,n,r,s]=ks(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:i,fHitPosX:n,fHitPosY:r,fHitPosZ:s}}getWeapon(){return gs(this.id)}getWeaponData(t){if(t<0||t>12)throw new Error("[Player]: weapon slots range from 0 to 12");const[a,i]=cs(this.id,t);return{weapons:a,ammo:i}}getWeaponState(){return Yr(this.id)}giveWeapon(t,a){return ls(this.id,t,a)}setAmmo(t,a){return Xr(this.id,t,a)}getAmmo(){return zr(this.id)}setArmedWeapon(t){return ds(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(w.PLAYER_ID,w.PLAYER_ID,Te.CONNECT)}sendDeathMessage(t,a){return $i(t===w.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,i){return br(this.id,t===w.PLAYER_ID?t:t.id,a===w.PLAYER_ID?a:a.id,i)}setSpawnInfo(t,a,i,n,r,s,l,o,d,h,p,g){return t<0||t>w.NO_TEAM||a<0||a>311||a===74||o<0||h<0||g<0?!1:vn(this.id,t,a,i,n,r,s,l,o,d,h,p,g)}redirectDownload(t){return Q_(this.id,t)}sendClientCheck(t,a,i,n){const r=[2,5,69,70,71,72];if(!r.includes(t))throw new Error(`[Player]: sendClientCheck valid types are ${r.toString()}`);return new Promise((s,l)=>{if(this.isPaused)return l("[Player]: An attempt to check the player client response, but the player paused the game");const o="[Player]: An attempt to check the player client response timed out",d=this.getPing(),h=(d>=200?0:d)+200;let p=null;const g=Nt(({player:y,actionId:f,memAddr:E,data:v,next:O})=>(y!==this||(p&&(clearTimeout(p),p=null),s({actionId:f,memAddr:E,data:v})),O()));p=setTimeout(()=>{g(),l(o)},h),$n(this.id,t,a,i,n)})}selectTextDraw(t){n_(this.id,t)}cancelSelectTextDraw(){r_(this.id)}beginObjectSelecting(){return X_(this.id)}endObjectEditing(){return z_(this.id)}getSurfingObject(){const t=Fs(this.id);if(t!==w.OBJECT_ID)return Ne.get(t)}getSurfingPlayerObject(){const t=Bs(this.id);if(t!==w.OBJECT_ID)return Ne.get(t)}isAttachedObjectSlotUsed(t){return nh(this.id,t)}editAttachedObject(t){return Z_(this.id,t)}setAttachedObject(t,a,i,n=0,r=0,s=0,l=0,o=0,d=0,h=1,p=1,g=1,y=0,f=0){return this.isAttachedObjectSlotUsed(t)?0:ah(this.id,t,a,i,n,r,s,l,o,d,h,p,g,y,f)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?ih(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 ar(this.id,t)}isWidescreenToggled(){return ir(this.id)}getSpawnInfo(){return Ln(this.id)}getSkillLevel(t){return nr(this.id,t)}isCheckpointActive(){return gd(this.id)}getCheckpoint(){return fd(this.id)}isRaceCheckpointActive(){return Sd(this.id)}getRaceCheckpoint(){return yd(this.id)}getWorldBounds(){sr(this.id)}isInModShop(){return dd(this.id)}getSirenState(){return cd(this.id)}getLandingGearState(){return _d(this.id)}getHydraReactorAngle(){return hd(this.id)}getTrainSpeed(){return ud(this.id)}getZAim(){return lr(this.id)}getSurfingOffsets(){return or(this.id)}getRotationQuat(){return dr(this.id)}getDialogID(){return cr(this.id)}getSpectateID(){return _r(this.id)}getSpectateType(){return hr(this.id)}getRawIp(){return qn(this.id)}setGravity(t){return ur(this.id,t)}getGravity(){return mr(this.id)}setAdmin(t){return Un(this.id,t)}isSpawned(){return pr(this.id)}isControllable(){return gr(this.id)}isCameraTargetEnabled(){return fr(this.id)}toggleGhostMode(t){return Sr(this.id,t)}getGhostMode(){return yr(this.id)}getBuildingsRemoved(){return Pr(this.id)}getAttachedObject(t){return th(this.id,t)}removeWeapon(t){return Ir(this.id,t)}isUsingOfficialClient(){return Ar(this.id)}allowWeapons(t){return Dr(this.id,t)}areWeaponsAllowed(){return wr(this.id)}gpci(t=this.charset){return Yn(this.id,t)}isCuffed(){return wl(this.id)}isInDriveByMode(){return Nl(this.id)}isAndroid(){return this.isConnected()&&this[Q].isAndroid}isPC(){return this.isConnected()&&!this[Q].isAndroid}isUsingOmp(){return vl(this.id)}static getInstance(t){return Y.get(t)}static getInstances(){return[...Y.values()]}}const[vt]=_({name:"OnDialogResponseI18n",identifier:"iiiiai",defaultValue:!1,beforeEach(e,t,a,i,n){const r=m.getInstance(e),s=P.decodeFromBuf(n,r.charset);return{player:r,dialogId:t,response:a,listItem:i,buffer:n,inputText:s}}});vt(({next:e,player:t,dialogId:a,response:i,listItem:n,buffer:r,inputText:s})=>{const l=b.waitingQueue.get(t);return!l||l.showId!==a||setTimeout(()=>l.resolve({response:i,listItem:n,buffer:r,inputText:s})),e()});class b{id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new WeakMap;constructor(t={style:Ae.MSGBOX,caption:"",info:"",button1:"",button2:""}){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 i=b.waitingQueue.get(t);if(!i)return!1;a&&i.reject("[Dialog]: player timeout does not respond or second request show dialog"),b.waitingQueue.delete(t);const n=b.showingIds.indexOf(i.showId);return n>-1&&b.showingIds.splice(n,1),!0}show(t){return new Promise((a,i)=>{for(b.close(t);(this.id===-1||b.showingIds.includes(this.id))&&b.showingIds.length!==b.maxDialogId;)this.id=Math.floor(Math.random()*(b.maxDialogId+1));if(this.id===-1){i("[Dialog]: The maximum number of dialogs is reached");return}b.showingIds.push(this.id),b.waitingQueue.set(t,{resolve:a,reject:i,showId:this.id}),b.__inject__ShowPlayerDialog(t,this.id,this.dialog)}).catch(a=>Promise.reject(a)).finally(()=>b.delDialogTask(t))}static close(t){b.delDialogTask(t,!0),Er(t.id)}static __inject__ShowPlayerDialog=dh}const[bt]=_({name:"OnPlayerConnect",beforeEach(e){const t=new m(e);return Y.set(e,t),b.close(t),{player:t}}}),[Lt]=_({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:Y.get(e),reason:t}},afterEach({player:e}){Y.delete(e.id)}}),[Rt]=_({name:"OnPlayerUpdate",beforeEach(e){return{player:m.getInstance(e)}}}),[Th]=_({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=m.getInstance(e);return{player:a,text:P.decodeFromBuf(t,a.charset),buffer:t}}}),[Dh]=_({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:m.getInstance(e),enterExit:t,interior:a}}}),[wh]=_({name:"OnPlayerClickMap",defaultValue:!1,beforeEach(e,t,a,i){return{player:m.getInstance(e),fX:t,fY:a,fZ:i}}}),[Nh]=_({name:"OnPlayerClickPlayer",defaultValue:!1,beforeEach(e,t,a){return{player:m.getInstance(e),clickedPlayer:m.getInstance(t),source:a}}}),[vh]=_({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:m.getInstance(e),killer:m.getInstance(t)||w.PLAYER_ID,reason:a}}}),[bh]=_({name:"OnPlayerGiveDamage",defaultValue:!1,beforeEach(e,t,a,i,n){return{player:m.getInstance(e),damage:m.getInstance(t),amount:a,weapon:i,bodyPart:n}}}),[Lh]=_({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newKeys:t,oldKeys:a}}}),[Rh]=_({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:m.getInstance(e),classId:t}}}),[Gh]=_({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[Oh]=_({name:"OnPlayerSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[Fh]=_({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newState:t,oldState:a}}}),[Bh]=_({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[xh]=_({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[kh]=_({name:"OnPlayerTakeDamage",defaultValue:!1,beforeEach(e,t,a,i,n){return{player:m.getInstance(e),damage:m.getInstance(t)||w.PLAYER_ID,amount:a,weapon:i,bodyPart:n}}}),[Mh]=_({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:m.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[Hh]=_({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:m.getInstance(e),type:t,crc:a}}}),[Vh]=_({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:m.getInstance(e),virtualWorld:t}}}),[Uh]=_({name:"OnPlayerWeaponShot",beforeEach(e,t,a,i,n,r,s){return{player:m.getInstance(e),weapon:t,hitType:a,hitId:i,fX:n,fY:r,fZ:s}}});let ue=null;const Z=new Map,ve=new Map;function Gt(e){if(!e.isConnected()){Z.has(e)&&clearInterval(Z.get(e));return}let t=ve.get(e)||1;if(t>=m.MAX_CHECK_ANDROID_DELAY){clearInterval(Z.get(e)),be(e,!0);return}e.sendClientCheck(72,0,0,2).then(({actionId:a})=>{a===72&&(e[Q].isAndroid=!1,Z.has(e)&&clearInterval(Z.get(e)),be(e,!1))}).catch(()=>{}),t++,ve.set(e,t)}const[Wh,jh]=_({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[Kh,Zh]=_({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,i){return{player:e,pausedAt:t,now:a,diff:i}}}),[Xh,zh]=_({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,a){return{player:e,newFps:t,oldFps:a}}}),[Yh,be]=_({name:"OnAndroidCheck",isNative:!1,beforeEach(e,t){return{player:e,result:t}}});bt(({player:e,next:t})=>{if(!ue&&m.getInstances().length&&(ue=setInterval(()=>{m.getInstances().filter(i=>{const n=i.getState()!==_e.NONE;return!i.isPaused&&!i.isNpc()&&n}).forEach(i=>{Date.now()-i.lastUpdateTick>1e3&&(i.isPaused=!0,jh(i,i.lastUpdateTick))})},500)),e.isNpc())return e[Q].isAndroid=!1,t();if(m.SKIP_CHECK_ANDROID)return e[Q].isAndroid=!e.isUsingOfficialClient(),be(e,e[Q].isAndroid),t();Gt(e);const a=setInterval(()=>Gt(e),1e3);return Z.set(e,a),t()}),Lt(({player:e,next:t})=>(ue&&m.getInstances().length<=1&&(clearInterval(ue),ue=null),Z.has(e)&&(clearInterval(Z.get(e)),Z.delete(e),ve.delete(e)),t()));function $h(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;const i=e.lastFps,n=e.lastDrunkLevel-a-1;e.lastFps=n,e.lastDrunkLevel=a,zh(e,n,i)}}Rt(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,Zh(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,$h(e)}return t()});const X=new Uint32Array(65536),Jh=(e,t)=>{const a=e.length,i=t.length,n=1<<a-1;let r=-1,s=0,l=a,o=a;for(;o--;)X[e.charCodeAt(o)]|=1<<o;for(o=0;o<i;o++){let d=X[t.charCodeAt(o)];const h=d|s;d|=(d&r)+r^r,s|=~(d|r),r&=d,s&n&&l++,r&n&&l--,s=s<<1|1,r=r<<1|~(h|s),s&=h}for(o=a;o--;)X[e.charCodeAt(o)]=0;return l},Qh=(e,t)=>{const a=t.length,i=e.length,n=[],r=[],s=Math.ceil(a/32),l=Math.ceil(i/32);for(let f=0;f<s;f++)r[f]=-1,n[f]=0;let o=0;for(;o<l-1;o++){let f=0,E=-1;const v=o*32,O=Math.min(32,i)+v;for(let D=v;D<O;D++)X[e.charCodeAt(D)]|=1<<D;for(let D=0;D<a;D++){const z=X[t.charCodeAt(D)],K=r[D/32|0]>>>D&1,k=n[D/32|0]>>>D&1,Be=z|f,xe=((z|k)&E)+E^E|z|k;let le=f|~(xe|E),ge=E&xe;le>>>31^K&&(r[D/32|0]^=1<<D),ge>>>31^k&&(n[D/32|0]^=1<<D),le=le<<1|K,ge=ge<<1|k,E=ge|~(Be|le),f=le&Be}for(let D=v;D<O;D++)X[e.charCodeAt(D)]=0}let d=0,h=-1;const p=o*32,g=Math.min(32,i-p)+p;for(let f=p;f<g;f++)X[e.charCodeAt(f)]|=1<<f;let y=i;for(let f=0;f<a;f++){const E=X[t.charCodeAt(f)],v=r[f/32|0]>>>f&1,O=n[f/32|0]>>>f&1,D=E|d,z=((E|O)&h)+h^h|E|O;let K=d|~(z|h),k=h&z;y+=K>>>i-1&1,y-=k>>>i-1&1,K>>>31^v&&(r[f/32|0]^=1<<f),k>>>31^O&&(n[f/32|0]^=1<<f),K=K<<1|v,k=k<<1|O,h=k|~(D|K),d=K&D}for(let f=p;f<g;f++)X[e.charCodeAt(f)]=0;return y},Ot=(e,t)=>{if(e.length<t.length){const a=t;t=e,e=a}return t.length===0?e.length:e.length<=32?Jh(e,t):Qh(e,t)},qh=(e,t)=>{let a=1/0,i=0;for(let n=0;n<t.length;n++){const r=Ot(e,t[n]);r<a&&(a=r,i=n)}return t[i]},q=new Map,ee=new Map,Ft=/[^/\s]+/gi,me={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"},RECEIVED_THROW:{code:4,msg:"An event registered through onCommandReceived throw an error"},RECEIVED_REJECTED:{code:5,msg:"An event registered through onCommandReceived returned false"}},[eu,tu]=_({name:"OnCommandReceived",isNative:!1,throwOnError:!0,beforeEach(e,t,a,i,n,r,s,l,o){return{player:e,command:t,cmdText:a,buffer:i,strictMainCmd:n,noStrictMainCmd:r,hasStrict:s,hasNoStrict:l,subcommand:o}}}),[au,iu]=_({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t,a,i,n,r,s,l,o){return{player:e,command:t,cmdText:a,buffer:i,strictMainCmd:n,noStrictMainCmd:r,hasStrict:s,hasNoStrict:l,subcommand:o}}}),[nu,pe]=_({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a,i,n,r,s,l,o,d){return{player:e,error:t,command:a,cmdText:i,buffer:n,strictMainCmd:r,noStrictMainCmd:s,hasStrict:l,hasNoStrict:o,subcommand:d,getSuggestion(){const h=qh(i,[...q.keys(),...ee.keys()]),p=Ot(i,h);return{suggestion:h,distance:p}}}}}),[ru]=_({name:"OnPlayerCommandTextI18n",identifier:"iai",defaultValue:!1,beforeEach(e,t){const a=m.getInstance(e),i=P.decodeFromBuf(t,a.charset);return{player:a,buffer:t,cmdText:i}}}),[su,lu]=_({name:"OnPlayerCommandTextRaw",isNative:!1,defaultValue:!1,beforeEach(e,t,a){return{player:e,buffer:t,cmdText:a}}});function ou(e){const t=[];let a="";for(let i=0;i<e.length;i++)a+=e[i]+" ",t.push(a.trimEnd());return t.reverse()}ru(({player:e,buffer:t,cmdText:a,next:i})=>{const n=lu(e,t,a);if(n)return n;const r=a.match(Ft),s=ou(r),l=s.find(E=>q.has(E)),o=s.map(E=>E.toLowerCase()).find(E=>ee.has(E)),d=!!l,h=!!o,p=r.join(" ");let g=[];const y=[[l,q,!0],[o,ee,!1]],f=[p,a,t,l,o,d,h,g];if(d||h){const E=y[0][0]||y[1][0];g=p.replace(E,"").trim().split(" ")}else return pe(e,me.NOT_EXIST,...f);try{if(!tu(e,...f))return pe(e,me.RECEIVED_REJECTED,...f)}catch(E){const v=typeof E=="object"?E:{error:E};return pe(e,{...me.RECEIVED_THROW,...v},...f)}for(const[E,v,O]of y){if(!E)continue;const D=v.get(E),[,z]=D;if(!z(e,E,g,a,t,O))return pe(e,me.REJECTED,...f)}return iu(e,p,a,t,l,o,d,h,g)?(i(),!0):pe(e,me.PERFORMED,...f)});function du(e,t,a,i,n,r){return{player:e,mainCommand:t,subcommand:a,cmdText:i,buffer:n,isStrict:r}}class W{static caseSensitive=!1;constructor(){}static on(t,a){let i=W.caseSensitive,n,r;typeof t=="string"||t instanceof Array?(n=t,r=a):(n=t.command,r=t.run,typeof t.caseSensitive<"u"&&(i=t.caseSensitive));const s=Array.isArray(n)?n:[n],l=s.find(h=>!h.match(Ft));if(l)return console.log(`error command ${l} format`),()=>{};const o=i?q:ee,d=s.map(h=>{const p=h.replaceAll("/",""),g=i?p:p.toLowerCase();if(!o.has(g)){const f=_({name:i?"$"+g:g,isNative:!1,beforeEach:du});o.set(g,f)}const[y]=o.get(g);return[g,y(r)]});return()=>{d.forEach(h=>{const[p,g]=h;g()===0&&o.delete(p)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(a=>{let i=a.replaceAll("/","");q.has(i)&&(B.has(i)&&B.delete(i),q.has(i)&&q.delete(i)),i=i.toLowerCase(),ee.has(i)&&(B.has(i)&&B.delete(i),ee.has(i)&&ee.delete(i))})}static enableCaseSensitive(){W.caseSensitive=!0}static disableCaseSensitive(){W.caseSensitive=!1}static isCaseSensitive(){return W.caseSensitive}}const Le=Object.freeze({onConnect:bt,onDisconnect:Lt,onPause:Wh,onResume:Kh,onUpdate:Rt,onText:Th,onEnterExitModShop:Dh,onClickMap:wh,onClickPlayer:Nh,onDeath:vh,onGiveDamage:bh,onKeyStateChange:Lh,onRequestClass:Rh,onRequestSpawn:Gh,onSpawn:Oh,onStateChange:Fh,onStreamIn:Bh,onStreamOut:xh,onTakeDamage:kh,onInteriorChange:Mh,onRequestDownload:Hh,onFinishedDownloading:Vh,onCheckResponse:Nt,onCommandReceived:eu,onCommandPerformed:au,onCommandError:nu,onCommandText:W.on,offCommandText:W.off,onDialogResponse:vt,onLocaleChange:Ih,onCharsetChange:Ah,onFpsUpdate:Xh,onWeaponShot:Uh,onAndroidCheck:Yh,onCommandTextRaw:su}),[Bt]=_({name:"OnGameModeInit"}),[xt]=_({name:"OnGameModeExit"}),[cu]=_({name:"OnIncomingConnection",defaultValue:!1,beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[_u]=_({name:"OnRconCommandI18n",identifier:"ai",defaultValue:!1,beforeEach(e){return{buffer:e,cmd:P.decodeFromBuf(e)}}}),[hu]=_({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:P.decodeFromBuf(e),password:P.decodeFromBuf(t),success:!!a,ipBuffer:e,passwordBuffer:t}}}),te=[],se=[],Re=new Map,Ge=async e=>{try{return await new Promise((t,a)=>{const i=te.findIndex(l=>l.name===e);if(i===-1)return;const n=te[i];function r(l){l.length&&Re.set(e,l),te.splice(i,1),se.push(n),setTimeout(t)}const s=n.load();s instanceof Promise?s.then(r).catch(a):r(s)})}catch(t){throw new Error(`[GameMode]: script ${e} load fail
3
+ err:${t}`)}},Oe=async e=>{try{return await new Promise((t,a)=>{const i=se.findIndex(o=>o.name===e);if(i===-1)return;const n=se[i],r=Re.get(e);r&&(r.forEach(o=>o()),Re.delete(e));function s(){se.splice(i,1),te.push(n),setTimeout(t)}const l=n.unload();l instanceof Promise?l.then(s).catch(a):s()})}catch(t){throw new Error(`[GameMode]: script ${e} unload fail
4
+ ${t}`)}},uu=async e=>{await Oe(e),await Ge(e)};Bt(async({next:e})=>{const t=te.map(a=>a.name);for(const a of t)await Ge(a);return e()}),xt(async({next:e})=>{const t=se.map(a=>a.name);for(const a of t)await Oe(a);return e()});const mu=function(e,...t){if(te.some(a=>a.name===e.name)||se.some(a=>a.name===e.name))throw new Error(`[GameMode]: script ${e.name} has already been applied`);e.load=e.load.bind(e,...t),te.push(e)};class L{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=Bt;static onExit=xt;static onIncomingConnection=cu;static onRconCommand=_u;static onRconLoginAttempt=hu;static use(t,...a){return mu(t,...a),this}static loadUseScript=Ge;static reloadUseScript=uu;static unloadUseScript=Oe;static enableCmdCaseSensitive=W.enableCaseSensitive;static disableCmdCaseSensitive=W.disableCaseSensitive;static isCmdCaseSensitive=W.isCaseSensitive;static supportAllNickname(){for(let t=0;t<=255;t++)this.isNickNameCharacterAllowed(t)||this.allowNickNameCharacter(t,!0)}static setWeather(t){if(t<0||t>255)throw new Error("[GameMode]: The valid weather value is only 0 to 255");return rn(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");return tn(t)}static getWorldTime=an;static setTeamCount=Dn;static sendRconCommand=uh;static addPlayerClass=wn;static addPlayerClassEx=Nn;static createExplosion(t,a,i,n,r){if(n<0||n>13)throw new Error("[GameMode]: The valid explosion type value is only 0 to 13");return on(t,a,i,n,r)}static manualVehicleEngineAndLights=To;static blockIpAddress=Xn;static unBlockIpAddress=zn;static getServerTickRate=fn;static addSimpleModel(t,a,i,n,r){return this.checkSimpleModel(t,a,i,n,r)?$_(t,a,i,n,r):0}static addSimpleModelTimed(t,a,i,n,r,s,l){return this.checkSimpleModel(t,a,i,n,r,s,l)?J_(t,a,i,n,r,s,l):0}static checkSimpleModel(t,a,i,n,r,s,l){if(t<-1)throw new Error("[GameMode]: AddSimpleModel - Error virtual world");if(a<0)throw new Error("[GameMode]: AddSimpleModel - Error baseId");if(i>-1e3||i<-3e4)throw new Error("[GameMode]: AddSimpleModel - Error newId range");if(n.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty dffName");if(r.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty txdName");if(s!==void 0&&(s<0||s>23))throw new Error("[GameMode]: AddSimpleModel - Error time on range");if(l!==void 0&&(l<0||l>23))throw new Error("[GameMode]: AddSimpleModel - Error time off range");return 1}static isValidCustomModel=qe;static getCustomModePath=rh;static getConsoleVarAsString(t,a="utf8"){const i=Hi(t);return P.decodeFromBuf(P.getValidStr(i),a)}static getRestartTime=Xi;static setRestartTime=Zi;static allowAdminTeleport=Oi;static isAdminTeleportAllowed=Fi;static allowInteriorWeapons=Bi;static areInteriorWeaponsAllowed=xi;static areAllAnimationsEnabled=ki;static enableAllAnimations=Mi;static enableStuntBonusForAll=yn;static enableVehicleFriendlyFire=nn;static enableZoneNames=dn;static disableInteriorEnterExits=_n;static setGameModeText=Qi;static getGravity=sn;static setGravity=ln;static showNameTags=qi;static disableNameTagLOS=un;static usePlayerPedAnims=cn;static showPlayerMarkers=en;static limitPlayerMarkerRadius=pn;static limitGlobalChatRadius=mn;static setNameTagDrawDistance=hn;static findModelFileNameFromCRC=q_;static findTextureFileNameFromCRC=eh;static getWeaponName=An;static setObjectsDefaultCameraCollision=Y_;static vectorSize=Ee;static clearBanList=Jn;static isBanned=Qn;static isValidNickName=wi;static allowNickNameCharacter=Ni;static isNickNameCharacterAllowed=vi;static addServerRule=bi;static setServerRule=Li;static isValidServerRule=Ri;static removeServerRule=Gi;static getWeaponSlot=En;static getAvailableClasses=ze;static getPlayerClass=Cn;static editPlayerClass=Tn;static toggleChatTextReplacement=Pn;static chatTextReplacementToggled=In;static getConsoleVarAsInt=Vi;static getConsoleVarAsBool=Ui;static getWeather=Wi;static getServerRuleFlag=ji;static setServerRuleFlags=Ki}L.onExit(({next:e})=>(N.npcs.clear(),e()));const[pu]=_({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[gu]=_({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[fu]=_({name:"OnNpcModeInit"}),[Su]=_({name:"OnNpcModeExit"}),[yu]=_({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:P.decodeFromBuf(t)}}}),[Pu]=_({name:"OnNPCFinishMove",beforeEach(e){return{npc:N.getInstance(e)}}}),[Iu]=_({name:"OnNPCCreate",beforeEach(e){return{npc:N.getInstance(e)}}}),[Eu]=_({name:"OnNPCDestroy",beforeEach(e){return{npc:N.getInstance(e)}}}),[Au]=_({name:"OnNPCWeaponStateChange",beforeEach(e,t,a){return{npc:N.getInstance(e),newState:t,oldState:a}}}),[Cu]=_({name:"OnNPCTakeDamage",beforeEach(e,t,a,i,n){return{npc:N.getInstance(e),damager:m.getInstance(t),damage:a,weapon:i,bodyPart:n}}}),[Tu]=_({name:"OnNPCGiveDamage",beforeEach(e,t,a,i,n){return{npc:N.getInstance(e),damager:m.getInstance(t),damage:a,weapon:i,bodyPart:n}}}),[Du]=_({name:"OnNPCDeath",beforeEach(e,t,a){return{npc:N.getInstance(e),killer:t,reason:a}}}),[wu]=_({name:"OnNpcSpawn",beforeEach(e){return{npc:N.getInstance(e)}}}),Nu=Object.freeze({onConnect:pu,onDisconnect:gu,onModeInit:fu,onModeExit:Su,onClientMessage:yu,onFinishMove:Pu,onCreate:Iu,onDestroy:Eu,onWeaponStateChange:Au,onTakeDamage:Cu,onGiveDamage:Tu,onDeath:Du,onSpawn:wu}),vu=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],bu=[[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],[],[],[],[],[],[],[],[]],Lu=(e,t)=>{if(!Fe(e))return!1;const a=bu[e-400];if(a===null)return!1;const i=t-1e3;return vu.includes(i)||a.includes(i)},Fe=e=>e>=400&&e<=611,Ru=(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};class C{static vehicles=ye;static createdCount=0;sourceInfo;isStatic;_id=-1;get id(){return this._id}constructor(t,a=!1){this.sourceInfo=t,this.isStatic=a}create(t=!1){if(this.id!==-1)throw new Error("[Vehicle]: Unable to create the vehicle again");if(C.createdCount===M.MAX_VEHICLES)throw new Error("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:a,x:i,y:n,z:r,zAngle:s,color:l,respawnDelay:o,addSiren:d}=this.sourceInfo;if(!(!t&&!Fe(a))){if(this.isStatic){if(o===void 0){this._id=C.__inject_AddStaticVehicle(a,i,n,r,s,l[0],l[1]);return}this._id=C.__inject_AddStaticVehicleEx(a,i,n,r,s,l[0],l[1],o||-1,d||!1)}else this._id=C.__inject_CreateVehicle(a,i,n,r,s,l[0],l[1],o||-1,d||!1);C.createdCount++,C.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)throw new Error("[Vehicle]: Unable to destroy the vehicle before create");C.__inject_DestroyVehicle(this.id),C.createdCount--,C.vehicles.delete(this._id),this._id=-1}addComponent(t){if(this.id===-1)return 0;if(!Lu(this.getModel(),t))throw new Error(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`);return Fo(this.id,t)}removeComponent(t){if(this.getComponentInSlot(C.getComponentType(t))===0)throw new Error(`[Vehicle]: component id ${t} does not exist on this vehicle`);return Bo(this.id,t)}getComponentInSlot(t){return Xo(this.id,t)}linkToInterior(t){return this.id===-1?0:Oo(this.id,t)}setVirtualWorld(t){return this.id===-1?0:ad(this.id,t)}getVirtualWorld(){return this.id===-1?0:id(this.id)}repair(){return this.id===-1?0:Yo(this.id)}setPos(t,a,i){return this.id===-1?!1:yo(this.id,t,a,i)}getPos(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getPos before create");return So(this.id)}getHealth(){return this.id===-1?0:Ho(this.id)}setHealth(t){return this.id===-1?0:Mo(this.id,t)}isPlayerIn(t){return this.id===-1?!1:ll(t.id,this.id)}putPlayerIn(t,a){if(this.id===-1||a<0)return 0;if(a>4)throw new Error("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle.");return Ms(t.id,this.id,a)}getZAngle(){return this.id===-1?0:Po(this.id)}setZAngle(t){return this.id===-1?0:Ao(this.id,t)}setNumberPlate(t){if(this.id===-1)return 0;if(t.length<1||t.length>32)throw new Error("[Vehicle]: The length of the number plate ranges from 32 characters");if(!/^[a-zA-Z0-9]+$/.test(t))throw new Error("[Vehicle]: number plates only allow letters and numbers");return Ko(this.id,t)}changeColors(t,a){return this.id===-1?0:xo(this.id,t,a)}setVelocity(t,a,i){return this.id===-1?!1:Jo(this.id,t,a,i)}getVelocity(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getVelocity before create");const[t,a,i]=$o(this.id);return{x:t,y:a,z:i}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:i,z:n}=this.getVelocity();return Ee(a,i,n)*t}setAngularVelocity(t,a,i){return this.id===-1?!1:Qo(this.id,t,a,i)}getDamageStatus(){if(this.id!==-1)return qo(this.id)}updateDamageStatus(t,a,i,n){this.id!==-1&&ed(this.id,t,a,i,n)}getDistanceFromPoint(t,a,i){return Eo(this.id,t,a,i)}getModel(){return Zo(this.id)}static getModelInfo(t,a){return td(t,a)}getModelInfo(t){if(this.id===-1)throw new Error("[Vehicle]: Unable to getModelInfo before create");return C.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,i,n]=Io(this.id);return{w:t,x:a,y:i,z:n}}setRespawn(){return this.id===-1?0:Go(this.id)}isStreamedIn(t){return this.id===-1?!1:fo(this.id,t.id)}setParamsCarDoors(t,a,i,n){return this.id===-1?0:vo(this.id,t,a,i,n)}setParamsCarWindows(t,a,i,n){return this.id===-1?0:Lo(this.id,t,a,i,n)}getParamsCarDoors(){if(this.id!==-1)return bo(this.id)}getParamsCarWindows(){if(this.id!==-1)return Ro(this.id)}setParamsEx(t,a,i,n,r,s,l){return this.id===-1?0:Do(this.id,t,a,i,n,r,s,l)}getParamsEx(){if(this.id===-1)return{engine:-1,lights:-1,alarm:-1,doors:-1,bonnet:-1,boot:-1,objective:-1};const[t,a,i,n,r,s,l]=wo(this.id);return{engine:t,lights:a,alarm:i,doors:n,bonnet:r,boot:s,objective:l}}toggleEngine(t){if(this.id===-1)return 0;const{lights:a,alarm:i,doors:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(t,a,i,n,r,s,l)}toggleLights(t){if(this.id===-1)return 0;const{engine:a,alarm:i,doors:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,t,i,n,r,s,l)}toggleAlarm(t){if(this.id===-1)return 0;const{engine:a,lights:i,doors:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,i,t,n,r,s,l)}toggleDoors(t){if(this.id===-1)return 0;const{engine:a,lights:i,alarm:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,i,n,t,r,s,l)}toggleBonnet(t){if(this.id===-1)return 0;const{engine:a,lights:i,alarm:n,doors:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,i,n,r,t,s,l)}toggleBoot(t){if(this.id===-1)return 0;const{engine:a,lights:i,alarm:n,doors:r,bonnet:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,i,n,r,s,t,l)}toggleObjective(t){if(this.id===-1)return 0;const{engine:a,lights:i,alarm:n,doors:r,bonnet:s,boot:l}=this.getParamsEx();return this.setParamsEx(a,i,n,r,s,l,t)}getParamsSirenState(){return this.id===-1?-2:No(this.id)}setParamsForPlayer(t,a,i){return this.id===-1?0:Co(this.id,t.id,a,i)}isTrailerAttached(){return this.id===-1?!1:Wo(this.id)}changePaintjob(t){return this.id===-1||!Ru(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),ko(this.id,t),1)}attachTrailer(t){return this.id===-1?0:Vo(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&Uo(this.id)}getTrailer(){if(this.id!==-1)return C.getInstances().find(t=>t.id===jo(this.id))}isValid(){return Je(this.id)}getMatrix(){if(this.id!==-1)return uo(this.id)}getTrainSpeed(){return this.id===-1?0:ho(this.id)}getHydraReactorAngle(){return this.id===-1?0:_o(this.id)}getLandingGearState(){return this.id===-1?0:co(this.id)}getSirenState(){return this.id===-1?0:oo(this.id)}getDriver(){if(this.id!==-1)return Y.get(so(this.id))}getLastDriver(){if(this.id!==-1)return Y.get(ro(this.id))}isSirenEnabled(){return io(this.id)}toggleSirenEnabled(t){return this.id===-1?0:to(this.id,t)}setParamsSirenState(t){return this.id===-1?0:ao(this.id,t)}isDead(){return this.id===-1?!0:Ql(this.id)}setDead(t){return this.id===-1?!1:ql(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:eo(this.id,t)}getRespawnTick(){return this.id===-1?0:$l(this.id)}setRespawnTick(t){return this.id===-1?!1:Jl(this.id,t)}isOccupied(){return this.id===-1?!1:Yl(this.id)}hasBeenOccupied(){return this.id===-1?!1:zl(this.id)}getOccupiedTick(){return this.id===-1?0:Zl(this.id)}setOccupiedTick(t){return this.id===-1?0:Xl(this.id,t)}getCab(){return this.id===-1?0:Kl(this.id)}getRespawnDelay(){return this.id===-1?0:jl(this.id)}setRespawnDelay(t){return this.id===-1?0:Wl(this.id,t)}getNumberPlate(){return this.id===-1?"":Ul(this.id)}getInterior(){return this.id===-1?0:Vl(this.id)}getPaintjob(){return this.id===-1?-1:Hl(this.id)}getColors(){if(this.id!==-1)return Ml(this.id)}setSpawnInfo(t,a,i,n,r,s,l,o=-2,d=-2,h=!1){return this.id===-1||!h&&!Fe(t)?0:kl(this.id,t,a,i,n,r,I(s),I(l),o,d)}getSpawnInfo(){if(this.id!==-1)return xl(this.id)}getRandomColorPair(){if(this.id!==-1)return $e(this.getModel())}show(){return this.id===-1?!1:sd(this.id)}hide(){return this.id===-1?!1:ld(this.id)}isHidden(){return this.id===-1?!1:od(this.id)}getVehicleOccupant(t){return md(this.id,t)}getVehicleMaxPassengers(){return Qe(this.getModel())}countVehicleOccupants(){return pd(this.getModel())}static getVehicleMaxPassengers=Qe;static getRandomColorPair=$e;static getComponentType=zo;static colorIndexToColor=mo;static isValid=Je;static getModelsUsed=lo;static getModelCount=no;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}static __inject_AddStaticVehicle=nd;static __inject_AddStaticVehicleEx=rd;static __inject_CreateVehicle=po;static __inject_DestroyVehicle=go}L.onExit(({next:e})=>(C.getInstances().forEach(t=>t.destroy()),e()));const[Gu]=_({name:"OnVehicleDamageStatusUpdate",defaultValue:!1,beforeEach(e,t){return{vehicle:C.getInstance(e),player:m.getInstance(t)}}}),[Ou]=_({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:C.getInstance(e),killer:m.getInstance(t)}}}),[Fu]=_({name:"OnVehicleMod",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:C.getInstance(t),componentId:a}}}),[Bu]=_({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:C.getInstance(t),paintjobId:a}}}),[xu]=_({name:"OnVehicleRespray",beforeEach(e,t,a,i){return{player:m.getInstance(e),vehicle:C.getInstance(t),color:[a,i]}}}),[ku]=_({name:"OnVehicleSirenStateChange",defaultValue:!1,beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:C.getInstance(t),state:!!a}}}),[Mu]=_({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:C.getInstance(e)}}}),[Hu]=_({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:C.getInstance(e),forPlayer:m.getInstance(t)}}}),[Vu]=_({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:C.getInstance(e),forPlayer:m.getInstance(t)}}}),[Uu]=_({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:C.getInstance(t),isPassenger:!!a}}}),[Wu]=_({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:m.getInstance(e),vehicle:C.getInstance(t)}}}),[ju]=_({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:C.getInstance(e),seatId:t}}}),[Ku]=_({name:"OnNpcExitVehicle"}),[Zu]=_({name:"OnTrailerUpdate",beforeEach(e,t){return{player:m.getInstance(e),vehicle:C.getInstance(t)}}}),[Xu]=_({name:"OnUnoccupiedVehicleUpdate",beforeEach(e,t,a,i,n,r,s,l,o){return{vehicle:C.getInstance(e),player:m.getInstance(t),passengerSeat:a,newX:i,newY:n,newZ:r,velX:s,velY:l,velZ:o}}}),zu=Object.freeze({onDamageStatusUpdate:Gu,onDeath:Ou,onMod:Fu,onPaintjob:Bu,onRespray:xu,onSirenStateChange:ku,onSpawn:Mu,onStreamIn:Hu,onStreamOut:Vu,onPlayerEnter:Uu,onPlayerExit:Wu,onNpcEnter:ju,onNpcExit:Ku,onTrailerUpdate:Zu,onUnoccupiedUpdate:Xu});class Yu{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return Zn()}static getPlayerNetworkStats(t){return Kn(t.id)}static getBytesReceived(t){return On(t.id)}static getBytesSent(t){return Bn(t.id)}static getConnectionStatus(t){return Mn(t.id)}static getConnectedTime(t){return Rn(t.id)}static getIpPort(t){return Hn(t.id)}static getMessagesReceived(t){return Gn(t.id)}static getMessagesRecvPerSecond(t){return xn(t.id)}static getMessagesSent(t){return Fn(t.id)}static getPacketLossPercent(t){return kn(t.id)}}class $u{_text;_time;_style;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}constructor(t,a,i){this._text=t,this._time=a,this._style=i}static hideForAll(t){Yi(t)}static has(t,a){return vr(t.id,a)}forAll(t="win1252"){zi(P.encodeToBuf(P.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,a="win1252"){Nr(t.id,P.encodeToBuf(P.convertSpecialChar(this.text),a),this.time,this.style)}hideForPlayer(t){return Lr(t.id,this.style)}}class re{static menus=new Map;_itemCount=0;get itemCount(){return this._itemCount}_id=-1;get id(){return this._id}_title;get title(){return this._title}set title(t){this._title=t}_columns=1;get columns(){return this._columns}set columns(t){if(t!==1&&t!==2)throw new Error("[Menu]: The menu column number interval is between 1 and 2");this._columns=t}_x;get x(){return this._x}set x(t){this._x=t}_y;get y(){return this._y}set y(t){this._y=t}_col1width;get col1width(){return this._col1width}set col1width(t){this._col1width=t}_col2width;get col2width(){return this._col2width}set col2width(t){this._col2width=t}constructor(t,a,i,n,r,s){this._title=t,this.columns=a,this._x=i,this._y=n,this._col1width=r,this._col2width=s}create(){if(this._id!==-1)throw new Error("[Menu]: Cannot be created twice");if(re.getInstances().length===M.MAX_MENUS)throw new Error("[Menu]: The maximum number of menus allowed to be created has been reached 128");return this._id=wd(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),re.menus.set(this._id,this),this}destroy(){if(this._id===-1)throw new Error("[Menu]: Cannot destroy before create");return Nd(this.id),re.menus.delete(this._id),this._id=-1,this}addItem(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot addItem before create");if(this._itemCount===M.MAX_MENU_ROW)throw new Error("[Menu]: The maximum number of items allowed to be added has been reached 12");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return vd(this.id,t,a),this._itemCount++,this}setColumnHeader(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot setColumnHeader before create");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return bd(this.id,t,a),this}disable(){if(this._id===-1)throw new Error("[Menu]: Cannot disable menu before create");return Od(this.id),this}disableRow(t){if(this._id===-1)throw new Error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)throw new Error("[Menu]: Wrong number of rows");Fd(this.id,t)}isValid(){return Gd(this.id)}showForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot show menu before create");return Ld(this.id,t.id)}hideForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot hide menu before create");return Rd(this.id,t.id)}isDisabled(){return this._id===-1?!1:Pd(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:Id(this.id,t)}getItems(t){return this._id===-1?0:Ed(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:Ad(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:Cd(this.id)}getColumnHeader(t){if(this._id===-1)throw new Error("[Menu]: Cannot get column header before create");return Td(this.id,t)}getItem(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot get item before create");if(a<0||a>this.getItems(t)-1)throw new Error("[Menu]: invalid getItem range");return Dd(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===Bd(t.id))}}L.onExit(({next:e})=>(re.getInstances().forEach(t=>t.destroy()),e()));const[Ju]=_({name:"OnPlayerExitedMenu",beforeEach(e){return{player:m.getInstance(e)}}}),[Qu]=_({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=m.getInstance(e),i=re.getInstanceByPlayer(a);return{player:a,menu:i,row:t}}}),qu=Object.freeze({onPlayerExited:Ju,onPlayerSelectedRow:Qu});class R{static globalGangZones=new Map;static playerGangZones=new Map;sourceInfo;constructor(t){this.sourceInfo=t}_id=-1;get id(){return this._id}create(){if(this.id!==-1)throw new Error("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(R.getInstances(!1).length===M.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:i,maxX:n,maxY:r}=this.sourceInfo;this._id=tc(t.id,a,i,n,r);const s=Le.onDisconnect(({player:l,next:o})=>{o(),l===this.sourceInfo.player&&(this.isValid()&&this.destroy(),s())});R.playerGangZones.set(this.id,this)}else{if(R.getInstances(!0).length===M.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:i,maxX:n,maxY:r}=this.sourceInfo;this._id=Kd(a,i,n,r),R.globalGangZones.set(this.id,this)}}destroy(){if(this.id===-1)throw new Error("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(ac(t.id,this.id),R.playerGangZones.delete(this.id)):(Zd(this.id),R.globalGangZones.delete(this.id)),this._id=-1}showForAll(t){if(this.id===-1)throw new Error("[GangZone]: Unable to show the gangzone before create");if(!this.sourceInfo.player)return zd(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be show for all.")}showForPlayer(t,a){if(this.id===-1)throw new Error("[GangZone]: Unable to show the gangzone before create");const i=this.sourceInfo.player;if(i)ic(i.id,this.id,I(t));else if(a)Xd(a.id,this.id,t);else throw new Error("[GangZone]: invalid player for show");return this}hideForAll(){if(this.id===-1)throw new Error("[GangZone]: Unable to hide the gangzone before create");if(!this.sourceInfo.player)return $d(this.id),this;throw new Error("[GangZone]: player's gangzone should not be hide for all.")}hideForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to hide the gangzone before create");const a=this.sourceInfo.player;if(a)nc(a.id,this.id);else if(t)Yd(t.id,this.id);else throw new Error("[GangZone]: invalid player for hide");return this}flashForAll(t){if(this.id===-1)throw new Error("[GangZone]: Unable to flash the gangzone before create");if(!this.sourceInfo.player)return Qd(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be flash for all.")}flashForPlayer(t,a){if(this.id===-1)throw new Error("[GangZone]: Unable to flash the gangzone before create");const i=this.sourceInfo.player;if(i)rc(i.id,this.id,I(a));else if(t)Jd(t.id,this.id,a);else throw new Error("[GangZone]: invalid player for flash");return this}stopFlashForAll(){if(this.id===-1)throw new Error("[GangZone]: Unable to stop flash the gangzone before create");if(!this.sourceInfo.player)return ec(this.id),this;throw new Error("[GangZone]: player's gangzone should not be stop flash for all.")}stopFlashForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to stop flash the gangzone before create");const a=this.sourceInfo.player;if(a)sc(a.id,this.id);else if(t)qd(t.id,this.id);else throw new Error("[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):xd(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?oc(a.id,this.id):kd(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?dc(a.id,this.id):Md(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get color before create");const a=this.sourceInfo.player;return a?cc(a.id,this.id):Hd(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get flash color before create");const a=this.sourceInfo.player;return a?_c(a.id,this.id):Vd(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?hc(a.id,this.id):Ud(t.id,this.id)}getPos(){if(this.id===-1)throw new Error("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?uc(t.id,this.id):Wd(this.id)}useCheck(t){if(this.id===-1)throw new Error("[GangZone]: Unable to use check before create");const a=this.sourceInfo.player;return a?mc(a.id,this.id,t):jd(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()]}}L.onExit(({next:e})=>(R.getInstances(!0).forEach(t=>t.destroy()),R.getInstances(!1).forEach(t=>t.destroy()),e()));const[em]=_({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:R.getInstance(t,!0)}}}),[tm]=_({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:R.getInstance(t,!0)}}}),[am]=_({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:R.getInstance(t,!1)}}}),[im]=_({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:R.getInstance(t,!1)}}}),[nm]=_({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:R.getInstance(t,!0)}}}),[rm]=_({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:R.getInstance(t,!1)}}}),sm=Object.freeze({onPlayerEnterGlobal:em,onPlayerLeaveGlobal:tm,onPlayerEnterPlayer:am,onPlayerLeavePlayer:im,onPlayerClickGlobal:nm,onPlayerClickPlayer:rm}),T={skip:!1};L.onInit(({next:e})=>(T.skip=!1,e())),L.onExit(({next:e})=>(T.skip=!0,e()));const[ae]=_({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[ie]=_({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[lm]=_({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class S{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getTickRate=Vt;static setTickRate=Ut;static getPlayerTickRate(t){return Wt(t.id)}static setPlayerTickRate(t,a=50){return jt(t.id,a)}static toggleChunkStream=Kt;static isToggleChunkStream=Zt;static getChunkTickRate(t,a=-1){return a instanceof m?ke(t,a.id):ke(t,a)}static setChunkTickRate(t,a,i=-1){return i instanceof m?Me(t,a,i.id):Me(t,a,i)}static getChunkSize=Xt;static setChunkSize=zt;static getMaxItems=Yt;static setMaxItems=$t;static getVisibleItems(t,a=-1){return a instanceof m?He(t,a.id):He(t,a)}static setVisibleItems(t,a,i=-1){return i instanceof m?Ve(t,a,i.id):Ve(t,a,i)}static getRadiusMultiplier(t,a=-1){return a instanceof m?Ue(t,a.id):Ue(t,a)}static setRadiusMultiplier(t,a,i=-1){return i instanceof m?We(t,i.id):We(t,a,i)}static getTypePriority=Jt;static setTypePriority=Qt;static getCellDistance=qt;static setCellDistance=ea;static getCellSize=ta;static setCellSize=aa;static toggleItemStatic=ia;static isToggleItemStatic=na;static toggleItemInvAreas=ra;static isToggleItemInvAreas=sa;static toggleItemCallbacks=la;static isToggleItemCallbacks=oa;static toggleErrorCallback=da;static isToggleErrorCallback=ca;static amxUnloadDestroyItems=_a;static processActiveItems=ha;static toggleIdleUpdate(t,a){return ua(t.id,a)}static isToggleIdleUpdate(t){return ma(t.id)}static toggleCameraUpdate(t,a){return pa(t.id,a)}static isToggleCameraUpdate(t){return ga(t.id)}static toggleItemUpdate(t,a,i){return fa(t.id,a,i)}static isToggleItemUpdate(t,a){return Sa(t.id,a)}static getLastUpdateTime(){return ya()}static update(t,a=-1){return Pa(t.id,a)}static updateEx(t,a,i,n,r,s,l,o,d){return Ia(t.id,a,i,n,r,s,l,o,d)}static getDistanceToItem=Ea;static toggleItem(t,a,i,n){return Aa(t.id,a,i,n)}static isToggleItem(t,a,i){return Ca(t.id,a,i)}static toggleAllItems(t,a,i,n=[-1]){return Ta(t.id,a,i,n)}static getItemInternalID(t,a,i){return Da(t.id,a,i)}static getItemStreamerID(t,a,i){return wa(t.id,a,i)}static isItemVisible(t,a,i){return Na(t.id,a,i)}static destroyAllVisibleItems(t,a,i=1){return va(t.id,a,i)}static countVisibleItems(t,a,i=1){return ba(t.id,a,i)}static destroyAllItems=La;static countItems=Ra;static getNearbyItems=Ga;static getAllVisibleItems(t,a,i){return Oa(t.id,a,i)}static getItemPos=Fa;static setItemPos=Ba;static getItemOffset=xa;static setItemOffset=ka;static getFloatData=Ma;static setFloatData=Ha;static getIntData=Va;static setIntData=Ua;static getArrayData=Wa;static setArrayData=ja;static isInArrayData=Ka;static appendArrayData=Za;static removeArrayData=Xa;static getArrayDataLength=za;static getUpperBound=Ya;static onPluginError=lm}class ${static mapIcons=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:a,worldId:i,interiorId:n,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{x:o,y:d,z:h,type:p,color:g,extended:y}=this.sourceInfo;if(p<0||p>63)throw new Error("[StreamerMapIcon]: Invalid map icon type");return t??=$a.LOCAL,a??=fe.MAP_ICON_SD,l??=0,y?(typeof i=="number"?i=[-1]:i??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=Ja(o,d,h,p,I(g),t,a,i,n,r,s,l),$.mapIcons.set(this._id,this),this):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=Qa(o,d,h,p,I(g),i,n,r,a,t,s,l),$.mapIcons.set(this._id,this),this)}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerMapIcon]: Unable to destroy the map icon before create");return T.skip||qa(this.id),$.mapIcons.delete(this._id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:ei(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerMapIcon]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(A.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(A.MAP_ICON,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,A.MAP_ICON,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}L.onExit(({next:e})=>($.getInstances().forEach(t=>t.destroy()),e()));const[om,dm]=_({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[cm,_m]=_({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.MAP_ICON?dm(a,$.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.MAP_ICON?_m(a,$.getInstance(t)):i());const hm=Object.freeze({onStreamIn:om,onStreamOut:cm});class x{static pickups=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:a,interiorId:i,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{type:l,modelId:o,x:d,y:h,z:p,extended:g}=this.sourceInfo;if(l<0)throw new Error("[StreamerPickup]: Invalid pickup type");return t??=u.StreamerDistances.PICKUP_SD,s??=0,g?(typeof a=="number"?a=[-1]:a??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=x.__inject_CreateDynamicPickupEx(o,l,d,h,p,t,a,i,n,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=x.__inject_CreateDynamicPickup(o,l,d,h,p,a,i,n,t,r,s)),x.pickups.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerPickup]: Unable to destroy the pickup before create");return T.skip||x.__inject_DestroyDynamicPickup(this.id),x.pickups.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:u.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerPickup]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(u.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(u.StreamerItemTypes.PICKUP,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,u.StreamerItemTypes.PICKUP,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}static __inject_CreateDynamicPickup=u.CreateDynamicPickup;static __inject_CreateDynamicPickupEx=u.CreateDynamicPickupEx;static __inject_DestroyDynamicPickup=u.DestroyDynamicPickup}L.onExit(({next:e})=>(x.getInstances().forEach(t=>t.destroy()),e()));const[um,mm]=_({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[pm,gm]=_({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.PICKUP?mm(a,x.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.PICKUP?gm(a,x.getInstance(t)):i());const[fm]=_({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:x.getInstance(t)}}}),Sm=Object.freeze({onPlayerPickUp:fm,onStreamIn:um,onStreamOut:pm});class V{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:i,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{size:l,x:o,y:d,z:h,extended:p}=this.sourceInfo;if(l<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=fe.CP_SD,s??=0,p?(typeof a=="number"?a=[-1]:a??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=ti(o,d,h,l,t,a,i,n,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=ai(o,d,h,l,a,i,n,t,r,s)),V.checkpoints.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerCheckpoint]: Unable to destroy the checkpoint before create");return T.skip||je(this.id),V.checkpoints.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:Ke(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle the player before create");return ii(t.id,this.id,a),this}static togglePlayerAll(t,a){return ni(t.id,a)}isPlayerIn(t){return this.id===-1?!1:ri(t.id,this.id)}static getPlayerVisible(t){return V.checkpoints.get(si(t.id))}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(A.CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(A.CP,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,A.CP,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}L.onExit(({next:e})=>(V.checkpoints.forEach(t=>t.destroy()),e()));const[ym,Pm]=_({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Im,Em]=_({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.CP?Pm(a,V.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.CP?Em(a,V.getInstance(t)):i());const[Am]=_({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),cp:V.getInstance(t)}}}),[Cm]=_({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),cp:V.getInstance(t)}}}),Tm=Object.freeze({onPlayerEnter:Am,onPlayerLeave:Cm,onStreamIn:ym,onStreamOut:Im});class U{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:i,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{type:l,size:o,x:d,y:h,z:p,nextX:g,nextY:y,nextZ:f,extended:E}=this.sourceInfo;if(l<0||l>8)throw new Error("[StreamerRaceCP]: Invalid type");if(o<0)throw new Error("[StreamerRaceCP]: Invalid size");return t??=fe.RACE_CP_SD,s??=0,E?(typeof a=="number"?a=[-1]:a??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=li(l,d,h,p,g,y,f,o,t,a,i,n,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=oi(l,d,h,p,g,y,f,o,a,i,n,t,r,s)),U.checkpoints.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerRaceCP]: Unable to destroy the checkpoint before create");return T.skip||je(this.id),U.checkpoints.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:Ke(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle the player before create");return di(t.id,this.id,a),this}static togglePlayerAll(t,a){return ci(t.id,a)}isPlayerIn(t){return this.id===-1?!1:_i(t.id,this.id)}static getPlayerVisible(t){return U.checkpoints.get(hi(t.id))}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(A.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(A.RACE_CP,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,A.RACE_CP,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}L.onExit(({next:e})=>(U.getInstances().forEach(t=>t.destroy()),e()));const[Dm,wm]=_({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Nm,vm]=_({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.RACE_CP?wm(a,U.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.RACE_CP?vm(a,U.getInstance(t)):i());const[bm]=_({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),raceCP:U.getInstance(t)}}}),[Lm]=_({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),raceCp:U.getInstance(t)}}}),Rm=Object.freeze({onPlayerEnter:bm,onPlayerLeave:Lm,onStreamIn:Dm,onStreamOut:Nm});class j{static actors=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:a,interiorId:i,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{modelId:l,x:o,y:d,z:h,r:p,invulnerable:g,health:y,extended:f}=this.sourceInfo;return t??=u.StreamerDistances.ACTOR_SD,s??=0,f?(typeof a=="number"?a=[0]:a??=[0],typeof i=="number"?i=[-1]:i??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=u.CreateDynamicActorEx(l,o,d,h,p,g,y,t,a,i,n,r,s)):(Array.isArray(a)?a=0:a??=0,Array.isArray(i)?i=-1:i??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=u.CreateDynamicActor(l,o,d,h,p,g,y,a,i,n,t,r,s)),j.actors.set(this.id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerActor]: Unable to destroy the actor before create");return T.skip||u.DestroyDynamicActor(this.id),j.actors.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:u.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:u.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get virtual world before create");return u.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set virtual world before create");return u.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,i=4.1,n=!1,r=!0,s=!0,l=!1,o=0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to apply animation before create");if(!we(t,a))throw new Error(`[StreamerActor]: Invalid anim library or name ${t} ${a}`);return u.ApplyDynamicActorAnimation(this.id,t,a,i,n,r,s,l,o)}clearAnimations(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to clear animation before create");return u.ClearDynamicActorAnimations(this.id)}getFacingAngle(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get facing angle before create");return u.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set facing angle before create");return u.SetDynamicActorFacingAngle(this.id,t)}getPos(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get pos before create");return u.GetDynamicActorPos(this.id)}setPos(t,a,i){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set pos before create");return u.SetDynamicActorPos(this.id,t,a,i)}getHealth(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get health before create");return u.GetDynamicActorHealth(this.id)}setHealth(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set health before create");return u.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:u.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set invulnerable before create");return u.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=u.GetPlayerTargetDynamicActor(t.id);return j.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=u.GetPlayerCameraTargetDynActor(t.id);return j.actors.get(a)}getSkin(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get skin before create");return Ol(this.id)}setSkin(t,a=!1){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set skin before create");return!a&&(t<0||t>311||t===74)?0:Fl(this.id,t)}getSpawnInfo(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get spawn info before create");return Bl(this.id)}getAnimation(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get animation before create");return u.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(u.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(u.StreamerItemTypes.ACTOR,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,u.StreamerItemTypes.ACTOR,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}L.onExit(({next:e})=>(j.getInstances().forEach(t=>t.destroy()),e()));const[Gm]=_({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:j.getInstance(e),forPlayer:m.getInstance(t)}}}),[Om]=_({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:j.getInstance(e),forPlayer:m.getInstance(t)}}}),[Fm]=_({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,a,i,n){return{player:m.getInstance(e),actor:j.getInstance(t),amount:a,weapon:i,bodyPart:n}}}),Bm=Object.freeze({onStreamIn:Gm,onStreamOut:Om,onPlayerGiveDamage:Fm});class ne{static texts=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:a,testLos:i,streamDistance:n,worldId:r,interiorId:s,playerId:l,areaId:o,priority:d}=this.sourceInfo;const{charset:h,text:p,color:g,drawDistance:y,x:f,y:E,z:v,extended:O}=this.sourceInfo;return t??=w.PLAYER_ID,a??=w.VEHICLE_ID,n??=fe.TEXT_3D_LABEL_SD,i??=!1,d??=0,O?(typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof l=="number"?l=[-1]:l??=[-1],typeof o=="number"?o=[-1]:o??=[-1],this._id=ph(p,I(g),f,E,v,y,t,a,i,n,r,s,l,o,d,h||"utf8")):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(l)?l=-1:l??=-1,Array.isArray(o)?o=-1:o??=-1,this._id=mh(h||"utf8",p,I(g),f,E,v,y,t,a,i,r,s,l,n,o,d)),ne.texts.set(this.id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[Streamer3DTextLabel]: Unable to destroy before create");return T.skip||ui(this.id),ne.texts.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:mi(this.id)}getColor(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get color before create");return this.sourceInfo.color}getCharset(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get charset before create");return this.sourceInfo.charset}getText(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get text before create");return fh(this.id,this.sourceInfo.charset||"utf8")}updateText(t,a,i=this.sourceInfo.charset){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to update text before create");return this.sourceInfo.charset=i,gh(this.id,I(t),a,i||"utf8")}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(A.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(A.TEXT_3D_LABEL,this.id)}setOffsets(t,a,i){if(this.id===-1)return 0;const n=S.setFloatData(A.TEXT_3D_LABEL,this.id,oe.ATTACH_OFFSET_X,t);return S.setFloatData(A.TEXT_3D_LABEL,this.id,oe.ATTACH_OFFSET_Y,a),S.setFloatData(A.TEXT_3D_LABEL,this.id,oe.ATTACH_OFFSET_Z,i),this.sourceInfo.x=t,this.sourceInfo.y=a,this.sourceInfo.z=i,n}attachToPlayer(t,a,i,n){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Cannot attachToPlayer before created");const r=typeof t=="number"?t:t.id,s=S.setIntData(A.TEXT_3D_LABEL,this.id,oe.ATTACHED_PLAYER,r);return r!==w.PLAYER_ID&&this.setOffsets(a,i,n),this.sourceInfo.attachedPlayer=r,s}attachToVehicle(t,a,i,n){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Cannot attachToVehicle before created");const r=typeof t=="number"?t:t.id,s=S.setIntData(A.TEXT_3D_LABEL,this.id,oe.ATTACHED_VEHICLE,r);return r!==w.VEHICLE_ID&&this.setOffsets(a,i,n),this.sourceInfo.attachedVehicle=r,s}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,A.TEXT_3D_LABEL,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}L.onExit(({next:e})=>(ne.getInstances().forEach(t=>t.destroy()),e()));const[xm,km]=_({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Mm,Hm]=_({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.TEXT_3D_LABEL?km(a,ne.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.TEXT_3D_LABEL?Hm(a,ne.getInstance(t)):i());const Vm=Object.freeze({onStreamIn:xm,onStreamOut:Mm});class F{static objects=Ne;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:a,worldId:i,interiorId:n,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{modelId:o,x:d,y:h,z:p,rx:g,ry:y,rz:f,extended:E}=this.sourceInfo;return t??=u.StreamerDistances.OBJECT_SD,a??=u.StreamerDistances.OBJECT_DD,l??=0,E?(typeof i=="number"?i=[-1]:i??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=u.CreateDynamicObjectEx(o,d,h,p,g,y,f,t,a,i,n,r,s,l)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=u.CreateDynamicObject(o,d,h,p,g,y,f,i,n,r,t,a,s,l)),F.objects.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerObject]: Unable to destroy the object before create");return T.skip||u.DestroyDynamicObject(this.id),F.objects.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:u.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get position before create");return u.GetDynamicObjectPos(this.id)}setPos(t,a,i){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set position before create");return u.SetDynamicObjectPos(this.id,t,a,i)}getRot(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get rotation before create");return u.GetDynamicObjectRot(this.id)}setRot(t,a,i){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set rotation before create");return u.SetDynamicObjectRot(this.id,t,a,i)}move(t,a,i,n,r=-1e3,s=-1e3,l=-1e3){if(this.id===-1)throw new Error("[StreamerObject]: Cannot start moving before create");if(n<0)throw new Error("[StreamerObject]: speed must not be less than 0");if(n>120*1e3)throw new Error("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),u.MoveDynamicObject(this.id,t,a,i,n,r,s,l)}stop(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot stop moving before create");return u.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:u.IsDynamicObjectMoving(this.id)}attachCamera(t){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachCamera before both are created");return u.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,i,n,r,s,l,o=!0){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToObject before both are created");return u.AttachDynamicObjectToObject(this.id,t.id,a,i,n,r,s,l,o)}attachToPlayer(t,a,i,n,r,s,l){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToPlayer before both are created");return u.AttachDynamicObjectToPlayer(this.id,t.id,a,i,n,r,s,l)}attachToVehicle(t,a,i,n,r,s,l){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return u.AttachDynamicObjectToVehicle(this.id,t.id,a,i,n,r,s,l)}edit(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to edit before create");return t.endObjectEditing(),u.EditDynamicObject(t.id,this.id)}isMaterialUsed(t){return this.id===-1?!1:u.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:u.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,a,i){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material before create");return u.GetDynamicObjectMaterial(this.id,t,a,i)}setMaterial(t,a,i,n,r="#000"){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material before create");return u.SetDynamicObjectMaterial(this.id,t,a,i,n,I(r))}isMaterialTextUsed(t){return this.id===-1?!1:u.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?u.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material text before create");return yh(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,i,n=u.MaterialTextSizes.SIZE_256x128,r="Arial",s=24,l=1,o="#fff",d="#000",h=0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material text before create");return this.sourceInfo.charset=t,Sh(t||"utf8",this.id,a,i,n,r,s,l,I(o),I(d),h)}getPlayerCameraTarget(t){const a=u.GetPlayerCameraTargetDynObject(t.id);if(a!==w.OBJECT_ID)return F.objects.get(a)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(u.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(u.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return u.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return u.GetDynamicObjectNoCameraCol(this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,u.StreamerItemTypes.OBJECT,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}L.onExit(({next:e})=>(F.getInstances().forEach(t=>t.destroy()),e()));const[Um,Wm]=_({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[jm,Km]=_({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.OBJECT?Wm(a,F.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.OBJECT?Km(a,F.getInstance(t)):i());const[Zm]=_({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:F.getInstance(e)}}}),[Xm]=_({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",defaultValue:!1,beforeEach(e,t,a,i,n,r,s,l,o){return{player:m.getInstance(e),object:F.getInstance(t),response:a,x:i,y:n,z:r,rX:s,rY:l,rZ:o}}}),[zm]=_({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,i,n,r){return{player:m.getInstance(e),object:F.getInstance(t),modelId:a,x:i,y:n,z:r}}}),[Ym]=_({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,i,n,r){return{player:m.getInstance(e),object:F.getInstance(a),weapon:t,x:i,y:n,z:r}}}),[$m]=_({name:"OnPlayerEditAttachedObject",defaultValue:!1,beforeEach(e,t,a,i,n,r,s,l,o,d,h,p,g,y){return{player:m.getInstance(e),response:t,index:a,modelId:i,boneId:n,fOffsetX:r,fOffsetY:s,fOffsetZ:l,fRotX:o,fRotY:d,fRotZ:h,fScaleX:p,fScaleY:g,fScaleZ:y}}}),Jm=Object.freeze({onMoved:Zm,onPlayerEdit:Xm,onPlayerSelect:zm,onPlayerShoot:Ym,onPlayerEditAttached:$m,onStreamIn:Um,onStreamOut:jm});class G{static areas=new Map;sourceInfo;_id=-1;get type(){return this.sourceInfo.type}get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to create area again");let{worldId:t,interiorId:a,playerId:i}=this.sourceInfo;const{type:n,extended:r}=this.sourceInfo;if(r)if(typeof t=="number"?t=[-1]:t??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof i=="number"?i=[-1]:i??=[-1],n==="circle"){const{x:s,y:l,size:o}=this.sourceInfo;if(o<0)throw new Error("[StreamerArea]: Invalid circle extend size");this._id=u.CreateDynamicCircleEx(s,l,o,t,a,i)}else if(n==="cuboid"){const{minX:s,minY:l,minZ:o,maxX:d,maxY:h,maxZ:p}=this.sourceInfo;this._id=u.CreateDynamicCuboidEx(s,l,o,d,h,p,t,a,i)}else if(n==="cylinder"){const{x:s,y:l,minZ:o,maxZ:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=u.CreateDynamicCylinderEx(s,l,o,d,h,t,a,i)}else if(n==="polygon"){const{points:s,minZ:l,maxZ:o}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=u.CreateDynamicPolygonEx(s,l,o,t,a,i)}else if(n==="rectangle"){const{minX:s,minY:l,maxX:o,maxY:d}=this.sourceInfo;this._id=u.CreateDynamicRectangleEx(s,l,o,d,t,a,i)}else{const{x:s,y:l,z:o,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere extended size");this._id=u.CreateDynamicSphereEx(s,l,o,d,t,a,i)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(i)?i=-1:i??=-1,n==="circle"){const{x:s,y:l,size:o}=this.sourceInfo;if(o<0)throw new Error("[StreamerArea]: Invalid circle size");this._id=u.CreateDynamicCircle(s,l,o,t,a,i)}else if(n==="cuboid"){const{minX:s,minY:l,minZ:o,maxX:d,maxY:h,maxZ:p}=this.sourceInfo;this._id=u.CreateDynamicCuboid(s,l,o,d,h,p,t,a,i)}else if(n==="cylinder"){const{x:s,y:l,minZ:o,maxZ:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=u.CreateDynamicCylinder(s,l,o,d,h,t,a,i)}else if(n==="polygon"){const{points:s,minZ:l,maxZ:o}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=u.CreateDynamicPolygon(s,l,o,t,a,i)}else if(n==="rectangle"){const{minX:s,minY:l,maxX:o,maxY:d}=this.sourceInfo;this._id=u.CreateDynamicRectangle(s,l,o,d,t,a,i)}else{const{x:s,y:l,z:o,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere size");this._id=u.CreateDynamicSphere(s,l,o,d,t,a,i)}return G.areas.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerArea]: Unable to destroy the area before create");return T.skip||u.DestroyDynamicArea(this.id),G.areas.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:u.IsValidDynamicArea(this.id)}getType(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to get type before create");return u.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to getPolygonPoints before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonPoints invalid area type");return u.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to getPolygonNumberPoints number before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonNumberPoints invalid area type");return u.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,a=!1){return this.id===-1?!1:u.IsPlayerInDynamicArea(t.id,this.id,a)}static isPlayerInAny(t,a=!1){return u.IsPlayerInAnyDynamicArea(t.id,a)}isAnyPlayerIn(t=!1){return this.id===-1?!1:u.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return u.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t){return G.getPlayerAreasNumber(t)?u.GetPlayerDynamicAreas(t.id).map(a=>G.areas.get(a)):[]}static getPlayerAreasNumber(t){return u.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,i){return this.id===-1?!1:u.IsPointInDynamicArea(this.id,t,a,i)}static isPointInAny(t,a,i){return u.IsPointInAnyDynamicArea(t,a,i)}isLineIn(t,a,i,n,r,s){return this.id===-1?!1:u.IsLineInDynamicArea(this.id,t,a,i,n,r,s)}static isLineInAny(t,a,i,n,r,s){return u.IsLineInAnyDynamicArea(t,a,i,n,r,s)}static getForPoint(t,a,i){return G.getNumberForPoint(t,a,i)?u.GetDynamicAreasForPoint(t,a,i).map(n=>G.getInstance(n)):[]}static getNumberForPoint(t,a,i){return u.GetNumberDynamicAreasForPoint(t,a,i)}static getForLine(t,a,i,n,r,s){return G.getNumberForLine(t,a,i,n,r,s)?u.GetDynamicAreasForLine(t,a,i,n,r,s).map(l=>G.areas.get(l)):[]}static getNumberForLine(t,a,i,n,r,s){return u.GetNumberDynamicAreasForLine(t,a,i,n,r,s)}attachToObject(t,a=0,i=0,n=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to object before create");return u.AttachDynamicAreaToObject(this.id,t.id,u.StreamerObjectTypes.DYNAMIC,w.PLAYER_ID,a,i,n)}attachToPlayer(t,a=0,i=0,n=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to player before create");return u.AttachDynamicAreaToPlayer(this.id,t.id,a,i,n)}attachToVehicle(t,a=0,i=0,n=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to vehicle before create");return u.AttachDynamicAreaToVehicle(this.id,t.id,a,i,n)}toggleSpectateMode(t){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle specate mode before create");return u.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:u.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(u.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(u.StreamerItemTypes.AREA,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,u.StreamerItemTypes.AREA,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}L.onExit(({next:e})=>(G.getInstances().forEach(t=>t.destroy()),e()));const[Qm,qm]=_({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[ep,tp]=_({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.AREA?qm(a,G.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.AREA?tp(a,G.getInstance(t)):i());const[ap]=_({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),area:G.getInstance(t)}}}),[ip]=_({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),area:G.getInstance(t)}}}),np=Object.freeze({onStreamIn:Qm,onStreamOut:ep,onPlayerEnter:ap,onPlayerLeave:ip});class c{static globalTextDraws=new Map;static playerTextDraws=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[TextDraw]: Unable to create the textdraw again");const{x:t,y:a,text:i,player:n,charset:r="iso-8859-1"}=this.sourceInfo,s=P.encodeToBuf(P.convertSpecialChar(i),r);if(n){if(c.getInstances(!1).length===M.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=c.__inject__CreatePlayerTextDraw(n.id,t,a,s);const l=Le.onDisconnect(({player:o,next:d})=>{const h=d();return o===n&&(this.isValid()&&this.destroy(),l()),h});c.playerTextDraws.set(this.id,this)}else{if(c.getInstances(!0).length===M.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=c.__inject__TextDrawCreate(t,a,s),c.globalTextDraws.set(this.id,this)}return this}destroy(){this.id===-1&&c.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(c.__inject__PlayerTextDrawDestroy(t.id,this.id),c.playerTextDraws.delete(this.id)):(c.__inject__TextDrawDestroy(this.id),c.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return c.beforeCreateWarn("set font"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawFont(a.id,this.id,t):c.__inject__TextDrawFont(this.id,t),this}setColor(t){if(this.id===-1)return c.beforeCreateWarn("set color"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawColor(a.id,this.id,t):c.__inject__TextDrawColor(this.id,t),this}setBoxColors(t){if(this.id===-1)return c.beforeCreateWarn("set box color"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawBoxColor(a.id,this.id,t):c.__inject__TextDrawBoxColor(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return c.beforeCreateWarn("set background color"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawBackgroundColor(a.id,this.id,t):c.__inject__TextDrawBackgroundColor(this.id,t),this}setAlignment(t){if(this.id===-1)return c.beforeCreateWarn("set alignment"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawAlignment(a.id,this.id,t):c.__inject__TextDrawAlignment(this.id,t),this}setLetterSize(t,a){if(this.id===-1)return c.beforeCreateWarn("set letter size"),this;const{player:i}=this.sourceInfo;return i?c.__inject__PlayerTextDrawLetterSize(i.id,this.id,t,a):c.__inject__TextDrawLetterSize(this.id,t,a),this}setOutline(t){if(this.id===-1)return c.beforeCreateWarn("set outline model"),this;if(t<0)throw new Error("[TextDraw]: Invalid outline value");const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawSetOutline(a.id,this.id,t):c.__inject__TextDrawSetOutline(this.id,t),this}setPreviewModel(t){if(this.id===-1)return c.beforeCreateWarn("set preview model"),this;this.setFont(he.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawSetPreviewModel(a.id,this.id,t):c.__inject__TextDrawSetPreviewModel(this.id,t),this}setPreviewRot(t,a,i,n=1){if(this.id===-1)return c.beforeCreateWarn("set preview rot"),this;this.setFont(he.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?c.__inject__PlayerTextDrawSetPreviewRot(r.id,this.id,t,a,i,n):c.__inject__TextDrawSetPreviewRot(this.id,t,a,i,n),this}setPreviewVehColors(t,a){if(this.id===-1)return c.beforeCreateWarn("set preview veh col"),this;this.setFont(he.MODEL_PREVIEW);const{player:i}=this.sourceInfo;return i?c.__inject__PlayerTextDrawSetPreviewVehicleColors(i.id,this.id,t,a):c.__inject__TextDrawSetPreviewVehicleColors(this.id,t,a),this}setProportional(t=!0){if(this.id===-1)return c.beforeCreateWarn("set Proportional"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawSetProportional(a.id,this.id,t):c.__inject__TextDrawSetProportional(this.id,t),this}setSelectable(t){if(this.id===-1)return c.beforeCreateWarn("set Selectable"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawSetSelectable(a.id,this.id,t):c.__inject__TextDrawSetSelectable(this.id,t),this}setShadow(t){if(this.id===-1)return c.beforeCreateWarn("set shadow"),this;if(t<0)throw new Error("[TextDraw]: Invalid shadow value");const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawSetShadow(a.id,this.id,t):c.__inject__TextDrawSetShadow(this.id,t),this}setString(t,a){if(this.id===-1)return c.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)throw new Error("[TextDraw]: Invalid text length");const{player:i,charset:n="iso-8859-1"}=this.sourceInfo,r=P.encodeToBuf(P.convertSpecialChar(t),n);return i?c.__inject__PlayerTextDrawSetString(i.id,this.id,r):a?c.__inject__TextDrawSetStringForPlayer(this.id,a.id,r):c.__inject__TextDrawSetString(this.id,r),this}setTextSize(t,a){if(this.id===-1)return c.beforeCreateWarn("set TextSize"),this;const{player:i}=this.sourceInfo;return i?c.__inject__PlayerTextDrawTextSize(i.id,this.id,t,a):c.__inject__TextDrawTextSize(this.id,t,a),this}useBox(t){if(this.id===-1)return c.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawUseBox(a.id,this.id,t):c.__inject__TextDrawUseBox(this.id,t),this}static beforeCreateWarn(t){throw new Error(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return c.beforeCreateWarn("show"),this;const a=this.sourceInfo.player;if(a)c.__inject__PlayerTextDrawShow(a.id,this.id);else if(t)c.__inject__TextDrawShowForPlayer(t.id,this.id);else throw new Error("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return c.beforeCreateWarn("hide"),this;const a=this.sourceInfo.player;if(a)c.__inject__PlayerTextDrawHide(a.id,this.id);else if(t)c.__inject__TextDrawHideForPlayer(t.id,this.id);else throw new Error("[TextDraw]: invalid player for hide");return this}showAll(){if(this.id===-1)return c.beforeCreateWarn("show"),this;if(!this.sourceInfo.player)return c.__inject__TextDrawShowForAll(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be show for all.")}hideAll(){if(this.id===-1)return c.beforeCreateWarn("hideAll"),this;if(!this.sourceInfo.player)return c.__inject__TextDrawHideForAll(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be hide for all.")}isValid(){const t=this.sourceInfo.player;return t?c.__inject__IsValidPlayerTextDraw(t.id,this.id):c.__inject__IsValidTextDraw(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:a}=this.sourceInfo;return a?c.__inject__IsPlayerTextDrawVisible(a.id,this.id):t?c.__inject__IsTextDrawVisibleForPlayer(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetString(t.id,this.id):c.__inject__TextDrawGetString(this.id)}setPos(t,a){if(this.id===-1)return c.beforeCreateWarn("set position"),this;const i=this.sourceInfo.player;return i?c.__inject__PlayerTextDrawSetPos(i.id,this.id,t,a):c.__inject__TextDrawSetPos(this.id,t,a),this}getLetterSize(){if(this.id===-1)return c.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetLetterSize(t.id,this.id):c.__inject__TextDrawGetLetterSize(this.id)}getTextSize(){if(this.id===-1)return c.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetTextSize(t.id,this.id):c.__inject__TextDrawGetTextSize(this.id)}getPos(){if(this.id===-1)return c.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetPos(t.id,this.id):c.__inject__TextDrawGetPos(this.id)}getColor(){if(this.id===-1)return c.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetColor(t.id,this.id):c.__inject__TextDrawGetColor(this.id)}getBoxColor(){if(this.id===-1)return c.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetBoxColor(t.id,this.id):c.__inject__TextDrawGetBoxColor(this.id)}getBackgroundColor(){if(this.id===-1)return c.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetBackgroundColor(t.id,this.id):c.__inject__TextDrawGetBackgroundColor(this.id)}getShadow(){if(this.id===-1)return c.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetShadow(t.id,this.id):c.__inject__TextDrawGetShadow(this.id)}getOutline(){if(this.id===-1)return c.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetOutline(t.id,this.id):c.__inject__TextDrawGetOutline(this.id)}getFont(){if(this.id===-1)return c.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetFont(t.id,this.id):c.__inject__TextDrawGetFont(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawIsBox(t.id,this.id):c.__inject__TextDrawIsBox(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawIsProportional(t.id,this.id):c.__inject__TextDrawIsProportional(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawIsSelectable(t.id,this.id):c.__inject__TextDrawIsSelectable(this.id)}getAlignment(){if(this.id===-1)return c.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetAlignment(t.id,this.id):c.__inject__TextDrawGetAlignment(this.id)}getPreviewModel(){if(this.id===-1)return c.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetPreviewModel(t.id,this.id):c.__inject__TextDrawGetPreviewModel(this.id)}getPreviewRot(){if(this.id===-1)return c.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetPreviewRot(t.id,this.id):c.__inject__TextDrawGetPreviewRot(this.id)}getPreviewVehColors(){if(this.id===-1)return c.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetPreviewVehicleColors(t.id,this.id):c.__inject__TextDrawGetPreviewVehicleColors(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()]}static __inject__TextDrawCreate=Bc;static __inject__CreatePlayerTextDraw=D_;static __inject__TextDrawDestroy=xc;static __inject__PlayerTextDrawDestroy=w_;static __inject__TextDrawFont=Xc;static __inject__PlayerTextDrawFont=x_;static __inject__TextDrawColor=Vc;static __inject__PlayerTextDrawColor=L_;static __inject__TextDrawBoxColor=Wc;static __inject__PlayerTextDrawBoxColor=G_;static __inject__TextDrawBackgroundColor=Zc;static __inject__PlayerTextDrawBackgroundColor=B_;static __inject__TextDrawAlignment=Hc;static __inject__PlayerTextDrawAlignment=b_;static __inject__TextDrawLetterSize=kc;static __inject__PlayerTextDrawLetterSize=N_;static __inject__TextDrawSetOutline=Kc;static __inject__PlayerTextDrawSetOutline=F_;static __inject__TextDrawSetPreviewModel=t_;static __inject__PlayerTextDrawSetPreviewModel=W_;static __inject__TextDrawSetPreviewRot=a_;static __inject__PlayerTextDrawSetPreviewRot=j_;static __inject__TextDrawSetPreviewVehicleColors=i_;static __inject__PlayerTextDrawSetPreviewVehicleColors=K_;static __inject__TextDrawSetProportional=zc;static __inject__PlayerTextDrawSetProportional=k_;static __inject__TextDrawSetSelectable=Yc;static __inject__PlayerTextDrawSetSelectable=M_;static __inject__TextDrawSetShadow=jc;static __inject__PlayerTextDrawSetShadow=O_;static __inject__PlayerTextDrawSetString=U_;static __inject__TextDrawSetStringForPlayer=Fc;static __inject__TextDrawSetString=e_;static __inject__TextDrawTextSize=Mc;static __inject__PlayerTextDrawTextSize=v_;static __inject__PlayerTextDrawUseBox=R_;static __inject__TextDrawUseBox=Uc;static __inject__PlayerTextDrawShow=H_;static __inject__TextDrawShowForPlayer=$c;static __inject__PlayerTextDrawHide=V_;static __inject__TextDrawHideForPlayer=Jc;static __inject__TextDrawShowForAll=Qc;static __inject__TextDrawHideForAll=qc;static __inject__IsValidPlayerTextDraw=s_;static __inject__IsValidTextDraw=pc;static __inject__IsPlayerTextDrawVisible=l_;static __inject__IsTextDrawVisibleForPlayer=gc;static __inject__PlayerTextDrawGetString=o_;static __inject__TextDrawGetString=fc;static __inject__PlayerTextDrawSetPos=d_;static __inject__TextDrawSetPos=Sc;static __inject__PlayerTextDrawGetLetterSize=c_;static __inject__TextDrawGetLetterSize=yc;static __inject__PlayerTextDrawGetTextSize=__;static __inject__TextDrawGetTextSize=Pc;static __inject__PlayerTextDrawGetPos=h_;static __inject__TextDrawGetPos=Ic;static __inject__PlayerTextDrawGetColor=u_;static __inject__TextDrawGetColor=Ec;static __inject__PlayerTextDrawGetBoxColor=m_;static __inject__TextDrawGetBoxColor=Ac;static __inject__PlayerTextDrawGetBackgroundColor=p_;static __inject__TextDrawGetBackgroundColor=Cc;static __inject__PlayerTextDrawGetShadow=g_;static __inject__TextDrawGetShadow=Tc;static __inject__PlayerTextDrawGetOutline=f_;static __inject__TextDrawGetOutline=Dc;static __inject__PlayerTextDrawGetFont=S_;static __inject__TextDrawGetFont=wc;static __inject__PlayerTextDrawIsBox=y_;static __inject__TextDrawIsBox=Nc;static __inject__PlayerTextDrawIsProportional=P_;static __inject__TextDrawIsProportional=vc;static __inject__PlayerTextDrawIsSelectable=I_;static __inject__TextDrawIsSelectable=bc;static __inject__PlayerTextDrawGetAlignment=E_;static __inject__TextDrawGetAlignment=Lc;static __inject__PlayerTextDrawGetPreviewModel=A_;static __inject__TextDrawGetPreviewModel=Rc;static __inject__PlayerTextDrawGetPreviewRot=C_;static __inject__TextDrawGetPreviewRot=Gc;static __inject__TextDrawGetPreviewVehicleColors=Oc;static __inject__PlayerTextDrawGetPreviewVehicleColors=T_}L.onExit(({next:e})=>(c.getInstances(!0).forEach(t=>t.destroy()),c.getInstances(!1).forEach(t=>t.destroy()),e()));const[rp]=_({name:"OnPlayerClickTextDraw",defaultValue:!1,beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===w.TEXT_DRAW?t:c.getInstance(t,!0)}}}),[sp]=_({name:"OnPlayerClickPlayerTextDraw",defaultValue:!1,beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===w.TEXT_DRAW?t:c.getInstance(t,!1)}}}),lp=Object.freeze({onPlayerClickGlobal:rp,onPlayerClickPlayer:sp});function op(e,t){return(e&t)===t}function dp(e,t,a){return(e&a)===a&&(t&a)!==a}function cp(e,t){return!!(e&t)}function _p(e,t,a){return(e&a)!==a&&(t&a)===a}function hp(e){const t=new Set,a=e.prototype,i=Object.getOwnPropertyNames(a).filter(r=>typeof a[r]=="function"&&r!=="constructor").reduce((r,s)=>(r[s]=a[s],r),{});function n(r,s){if(t.has(r))throw new Error(`Method '${String(r)}' of class '${e.name}' has already been hooked. Each method can only be hooked once per defineHooks call. `);if(typeof Reflect.get(a,r)!="function")throw new Error(`Invalid method: ${String(r)}`);return Reflect.set(a,r,s),t.add(r),s}return[i,n]}export{et as ArtworkEnum,ut as BodyPartsEnum,mt as BoneIdsEnum,Et as BulletHitTypesEnum,ce as CameraCutStylesEnum,ht as CameraModesEnum,ft as CarModTypeEnum,tt as ClickSourcesEnum,it as ConnectionStatusEnum,Te as DamageDeathReasonEnum,b as Dialog,Ae as DialogStylesEnum,ne as Dynamic3DTextLabel,Vm as Dynamic3DTextLabelEvent,j as DynamicActor,Bm as DynamicActorEvent,G as DynamicArea,np as DynamicAreaEvent,Tm as DynamicCheckPointEvent,V as DynamicCheckpoint,$ as DynamicMapIcon,hm as DynamicMapIconEvent,F as DynamicObject,Jm as DynamicObjectEvent,x as DynamicPickup,Sm as DynamicPickupEvent,U as DynamicRaceCP,Rm as DynamicRaceCPEvent,H as ERecordStatus,fp as E_STREAMER,at as EditResponseTypesEnum,ct as FightingStylesEnum,pt as ForceSyncEnum,L as GameMode,$u as GameText,R as GangZone,sm as GangZoneEvent,P as I18n,w as InvalidEnum,nt as KeysEnum,M as LimitsEnum,Sp as MapIconStyles,_t as MapIconStylesEnum,rt as MarkerModesEnum,yp as MaterialTextAlign,Pp as MaterialTextSizes,re as Menu,qu as MenuEvent,st as NPCPlaybackEnum,Yu as NetStats,N as Npc,Nu as NpcEvent,ot as ObjectMaterialAlignmentEnum,lt as ObjectMaterialTextSizeEnum,m as Player,Le as PlayerEvent,_e as PlayerStateEnum,Ct as RecordTypesEnum,dt as SelectObjectTypesEnum,Ce as SpecialActionsEnum,Se as SpectateModesEnum,S as Streamer,Ip as StreamerAreaTypes,Ep as StreamerDistances,Ap as StreamerItemTypes,Cp as StreamerMiscellaneous,Tp as StreamerObjectTypes,c as TextDraw,gt as TextDrawAlignEnum,lp as TextDrawEvent,he as TextDrawFontsEnum,C as Vehicle,zu as VehicleEvent,yt as VehicleModelInfoEnum,St as VehicleParamsEnum,Pt as WeaponEnum,It as WeaponSkillsEnum,At as WeaponStatesEnum,Tt as animateLib,_ as defineEvent,hp as defineHooks,sh as getAnimateDurationByLibName,op as isHolding,dp as isPressed,cp as isPressing,_p as isReleased,De as isValidAnimateLib,we as isValidAnimateName,I as rgba,Di as useTrigger};