@infernus/core 0.11.8 → 0.11.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.d.ts +12 -3
- package/dist/bundle.js +4 -4
- package/dist/bundle.mjs +4 -4
- package/package.json +2 -3
package/dist/bundle.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{encodingExists as
|
|
2
|
-
${p}`;if(s)throw{error:p,message:y};console.log(y)}return a}return i&&(d.length?Promise.allSettled(d).then(()=>i(l)):i(l)),a};return rn(m(),a)}function _(e){const{name:t,identifier:a,isNative:n=!0}=e;if(v.has(t)){const o=`event [name:${t}] error: already defined.`;throw new Error(o)}function r(...o){return sn(e,...o)}function i(o){v.has(t)||v.set(t,[]);const l=v.get(t).push(o)-1;return()=>{const d=v.get(t);if(!d)return;const h=d.length-1,m=h<l?h:l;for(let p=m;p>=0;p--)if(d[p]===o){d.splice(p,1);break}return d.length===0&&v.delete(t),d.length}}const s=[i,r];return n&&(typeof a<"u"&&samp.registerEvent(t,a),samp.on(t,r)),s}const[on]=_({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[ln]=_({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[dn]=_({name:"OnNpcModeInit"}),[cn]=_({name:"OnNpcModeExit"}),[_n]=_({name:"OnNpcSpawn"}),[hn]=_({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:P.decodeFromBuf(t)}}}),un=Object.freeze({onConnect:on,onDisconnect:ln,onModeInit:dn,onModeExit:cn,onSpawn:_n,onClientMessage:hn}),mn=e=>!!samp.callNative("IsValidNickName","s",e),pn=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},gn=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),Sn=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),yn=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),fn=e=>!!samp.callNative("IsValidServerRule","s",e),Pn=e=>!!samp.callNative("RemoveServerRule","s",e),In=e=>{samp.callNative("AllowAdminTeleport","i",e)},En=()=>!!samp.callNative("IsAdminTeleportAllowed",""),An=e=>{samp.callNative("AllowInteriorWeapons","i",e)},Cn=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),Tn=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Dn=e=>{samp.callNative("EnableAllAnimations","i",e)},wn=e=>{const[t]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return t},Nn=e=>samp.callNative("GetConsoleVarAsInt","s",e),Ln=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),Rn=()=>samp.callNative("GetWeather",""),bn=e=>samp.callNative("GetServerRuleFlags","s",e),vn=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),On=e=>!!samp.callNative("SetModeRestartTime","f",e),Gn=()=>samp.callNativeFloat("GetModeRestartTime",""),Fn=(e,t,a)=>samp.callNative("GameTextForAll","aii",e,t,a),Bn=e=>{samp.callNative("HideGameTextForAll","i",e)},kn=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),xn=()=>samp.callNative("GetMaxPlayers",""),ce=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),Mn=e=>samp.callNative("SetGameModeText","s",e),Hn=e=>samp.callNative("ShowNameTags","i",e),Vn=e=>samp.callNative("ShowPlayerMarkers","i",e),Un=e=>samp.callNative("SetWorldTime","i",e),Wn=()=>samp.callNative("GetWorldTime",""),Kn=()=>samp.callNative("EnableVehicleFriendlyFire",""),Zn=e=>samp.callNative("SetWeather","i",e),jn=()=>samp.callNativeFloat("GetGravity",""),Xn=e=>samp.callNative("SetGravity","f",e),Yn=(e,t,a,n,r)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,r),zn=e=>samp.callNative("EnableZoneNames","i",e),$n=()=>samp.callNative("UsePlayerPedAnims",""),Jn=()=>samp.callNative("DisableInteriorEnterExits",""),Qn=e=>samp.callNative("SetNameTagDrawDistance","f",e),qn=()=>samp.callNative("DisableNameTagLOS",""),er=e=>samp.callNative("LimitGlobalChatRadius","f",e),tr=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),ar=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),nr=()=>samp.callNative("GetServerTickRate",""),rr=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),ir=e=>samp.callNative("EnableStuntBonusForAll","i",e),sr=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},or=()=>!!samp.callNative("ChatTextReplacementToggled",""),lr=e=>samp.callNative("GetWeaponSlot","i",e),dr=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},ve=()=>samp.callNative("GetAvailableClasses",""),cr=e=>{if(e<ve()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,r=0,i=0,s=0,o=0,l=0,d=0,h=0,m=0,p=0,y=0]=t;return{teamId:a,modelId:n,spawnX:r,spawnY:i,spawnZ:s,zAngle:o,weapon1:l,weapon1Ammo:d,weapon2:h,weapon2Ammo:m,weapon3:p,weapon3Ammo:y}},_r=(e,t,a,n,r,i,s,o,l,d,h,m,p)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,r,i,s,o,l,d,h,m,p),hr=e=>samp.callNative("SetTeamCount","i",e),ur=(e,t,a,n,r,i,s,o,l,d,h)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,r,i,s,o,l,d,h),mr=(e,t,a,n,r,i,s,o,l,d,h,m)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,r,i,s,o,l,d,h,m),pr=(e,t,a,n,r,i,s,o,l,d,h,m,p)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,r,i,s,o,l,d,h,m,p),gr=e=>samp.callNative("SpawnPlayer","i",e),Sr=e=>{const[t,a=0,n=0,r=0,i=0,s=0,o=0,l=0,d=0,h=0,m=0,p=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawnX:n,spawnY:r,spawnZ:i,zAngle:s,weapon1:o,weapon1Ammo:l,weapon2:d,weapon2Ammo:h,weapon3:m,weapon3Ammo:p}},yr=e=>samp.callNative("NetStats_GetConnectedTime","i",e),fr=e=>samp.callNative("NetStats_MessagesReceived","i",e),Pr=e=>samp.callNative("NetStats_BytesReceived","i",e),Ir=e=>samp.callNative("NetStats_MessagesSent","i",e),Er=e=>samp.callNative("NetStats_BytesSent","i",e),Ar=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),Cr=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Tr=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Dr=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},wr=e=>!!samp.callNative("IsPlayerAdmin","i",e),Nr=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),Lr=e=>!!samp.callNative("Kick","i",e),Rr=e=>!!samp.callNative("Ban","i",e),br=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},vr=()=>samp.callNative("GetNetworkStats","Si",1024),Or=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Gr=e=>samp.callNative("UnBlockIpAddress","s",e),Fr=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return P.decodeFromBuf(P.getValidStr(a),t)},Br=(e,t,a,n,r)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,r),kr=()=>{samp.callNative("ClearBanList","")},xr=e=>!!samp.callNative("IsBanned","s",e),Mr=e=>samp.callNative("GetPlayerRawIp","i",e),Hr=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},Vr=e=>{const[t]=samp.callNative("GetPlayerVersion","iSi",e,24);return t},f=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,r)=>{n!==0&&(a+=Math.pow(16,r*2)*n)}),a},Ur=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),Wr=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Kr=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Zr=e=>samp.callNative("GetPlayerWeather","i",e),jr=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:a,yMax:n,yMin:r}},Xr=e=>samp.callNativeFloat("GetPlayerZAim","i",e),Yr=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},zr=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:r}},$r=e=>samp.callNative("GetPlayerDialogID","i",e),Jr=e=>samp.callNative("GetPlayerSpectateID","i",e),Qr=e=>samp.callNative("GetPlayerSpectateType","i",e),qr=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),ei=e=>samp.callNativeFloat("GetPlayerGravity","i",e),ti=e=>!!samp.callNative("IsPlayerSpawned","i",e),ai=e=>!!samp.callNative("IsPlayerControllable","i",e),ni=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),ri=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),ii=e=>!!samp.callNative("GetPlayerGhostMode","i",e),si=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),oi=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),li=e=>!!samp.callNative("HidePlayerDialog","i",e),di=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),ci=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),_i=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),hi=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),ui=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),mi=(e,t,a,n)=>!!samp.callNative("GameTextForPlayer","iaii",e,t,a,n),pi=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),gi=(e,t,a,n)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),Si=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),yi=e=>!!samp.callNative("IsPlayerNPC","i",e),Oe=(e,t,a,n)=>!!samp.callNative("SetPlayerPos","ifff",e,t,a,n),fi=(e,t,a,n)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,n),Pi=e=>samp.callNative("GetPlayerPos","iFFF",e),Ii=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),Ei=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},Ai=(e,t,a,n,r)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,n,r),Ci=(e,t,a,n)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,n),Ti=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),Di=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),wi=e=>samp.callNative("GetPlayerInterior","i",e),Ni=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),Li=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},Ri=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),bi=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},vi=(e,t,a)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,a),Oi=e=>samp.callNative("GetPlayerAmmo","i",e),Gi=e=>samp.callNative("GetPlayerWeaponState","i",e),Fi=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Bi=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},ki=e=>samp.callNative("GetPlayerTeam","i",e),xi=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),Mi=e=>samp.callNative("GetPlayerScore","i",e),Hi=e=>samp.callNative("GetPlayerDrunkLevel","i",e),Vi=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),Ui=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,f(t)),Wi=e=>samp.callNative("GetPlayerColor","i",e),Ki=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),Zi=e=>samp.callNative("GetPlayerSkin","i",e),ji=(e,t,a)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,a),Xi=e=>!!samp.callNative("ResetPlayerWeapons","i",e),Yi=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),zi=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),$i=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),Ji=e=>!!samp.callNative("ResetPlayerMoney","i",e),Qi=e=>samp.callNative("GetPlayerMoney","i",e),qi=e=>samp.callNative("GetPlayerState","i",e),es=e=>samp.callNative("GetPlayerPing","i",e),ts=e=>samp.callNative("GetPlayerWeapon","i",e),as=e=>samp.callNative("GetPlayerKeys","iIII",e),ns=(e,t,a)=>!!samp.callNative("SetPlayerTime","iii",e,t,a),rs=e=>samp.callNative("GetPlayerTime","iII",e),is=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),ss=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),os=e=>!!samp.callNative("ForceClassSelection","i",e),ls=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),ds=e=>samp.callNative("GetPlayerWantedLevel","i",e),cs=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),_s=e=>samp.callNative("GetPlayerFightingStyle","i",e),hs=(e,t,a,n)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),us=e=>samp.callNative("GetPlayerVelocity","iFFF",e),ms=(e,t,a)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),ps=(e,t,a,n,r,i,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,r,i,s),gs=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),Ss=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),ys=(e,t,a)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,a),fs=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),Ps=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),Is=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),Es=(e,t,a,n,r,i)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,r,i),As=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),Cs=(e,t,a,n,r)=>!!samp.callNative("SetPlayerChatBubble","isifi",e,t,f(a),n,r),Ts=(e,t,a)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,a),Ds=e=>samp.callNative("GetPlayerVehicleID","i",e),ws=e=>samp.callNative("GetPlayerVehicleSeat","i",e),Ns=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),Ls=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),Rs=(e,t,a,n,r)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,a,n,r),bs=(e,t,a,n,r,i,s,o,l,d)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,r,i,s,o,l,d),vs=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),Os=e=>samp.callNative("GetPlayerAnimationIndex","i",e),Gs=e=>samp.callNative("GetPlayerSpecialAction","i",e),Fs=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),Bs=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),ks=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),xs=e=>samp.callNative("GetPlayerVirtualWorld","i",e),Ms=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),Hs=e=>samp.callNative("GetPlayerCustomSkin","i",e),Vs=(e,t,a,n,r,i)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,r,i),Us=(e,t,a)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,a),Ws=e=>!!samp.callNative("StopRecordingPlayerData","i",e),Ks=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),Zs=(e,t,a)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,a),js=(e,t,a)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,a),Ge=e=>!!samp.callNative("IsPlayerConnected","i",e),Xs=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),Ys=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),zs=(e,t,a,n,r)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,r),$s=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),Js=(e,t,a)=>!!samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,f(a));function Qs(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const qs=(e,t,a)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),eo=(e,t,a,n)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),to=(e,t,a,n,r)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,r),ao=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),no=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),ro=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),io=e=>samp.callNative("GetPlayerCameraMode","i",e),so=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),oo=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),lo=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),co=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),_o=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),ho=(e,t,a,n,r,i,s,o,l)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,r,i,s,o,l),uo=(e,t,a,n,r,i,s,o,l)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,r,i,s,o,l),mo=e=>!!samp.callNative("IsPlayerCuffed","i",e),po=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),go=e=>!!samp.callNative("IsPlayerUsingOmp","i",e),So=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),yo=()=>samp.callNative("StopRecordingPlayback",""),fo=()=>samp.callNative("PauseRecordingPlayback",""),Po=()=>samp.callNative("ResumeRecordingPlayback",""),Io=e=>samp.callNative("GetActorSkin","i",e),Eo=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),Ao=e=>{const[t=0,a=0,n=0,r=0,i=0]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:a,fY:n,fZ:r,fAngle:i}},Co=e=>{const[t=0,a=0,n=0,r=0,i=0,s=0]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:a,fZ:n,fRot:r,color1:i,color2:s}},To=(e,t,a,n,r,i,s,o,l=-2,d=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,r,i,s,o,l,d),Do=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:a}},wo=e=>samp.callNative("GetVehiclePaintjob","i",e),No=e=>samp.callNative("GetVehicleInterior","i",e),Lo=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},Ro=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),bo=e=>samp.callNative("GetVehicleRespawnDelay","i",e),vo=e=>samp.callNative("GetVehicleCab","i",e),Oo=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Go=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Fo=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Bo=e=>!!samp.callNative("IsVehicleOccupied","i",e),ko=e=>samp.callNative("GetVehicleRespawnTick","i",e),xo=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Mo=e=>!!samp.callNative("IsVehicleDead","i",e),Ho=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),Vo=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),Uo=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),Wo=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),Ko=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),Zo=e=>samp.callNative("GetVehicleModelCount","i",e),jo=e=>samp.callNative("GetVehicleLastDriver","i",e),Xo=e=>samp.callNative("GetVehicleDriver","i",e),Yo=()=>samp.callNative("GetVehicleModelsUsed",""),zo=e=>samp.callNative("GetVehicleSirenState","i",e),$o=e=>samp.callNative("GetVehicleLandingGearState","i",e),Jo=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),Qo=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),qo=e=>{const[t=0,a=0,n=0,r=0,i=0,s=0,o=0,l=0,d=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:r,upY:i,upZ:s,atX:o,atY:l,atZ:d}},Fe=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,r]}},el=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),tl=(e,t,a,n,r,i,s,o,l)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,r,f(i),f(s),o,l),al=e=>samp.callNative("DestroyVehicle","i",e),nl=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),rl=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]}},il=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),sl=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},ol=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),ll=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),dl=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),cl=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),_l=()=>samp.callNative("ManualVehicleEngineAndLights",""),hl=(e,t,a,n,r,i,s,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,r,i,s,o),ul=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),ml=e=>samp.callNative("GetVehicleParamsSirenState","i",e),pl=(e,t,a,n,r)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,r),gl=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},Sl=(e,t,a,n,r)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,r),yl=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},fl=e=>samp.callNative("SetVehicleToRespawn","i",e),Pl=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),Il=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),El=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),Al=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,f(t),f(a)),Cl=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),Tl=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),Dl=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},wl=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),Nl=e=>samp.callNative("DetachTrailerFromVehicle","i",e),Ll=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),Rl=e=>samp.callNative("GetVehicleTrailer","i",e),bl=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),vl=e=>samp.callNative("GetVehicleModel","i",e),Ol=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Gl=e=>samp.callNative("GetVehicleComponentType","i",e),Fl=e=>samp.callNative("RepairVehicle","i",e),Bl=e=>samp.callNative("GetVehicleVelocity","iFFF",e),kl=(e,t,a,n)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,n),xl=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),Ml=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]}},Hl=(e,t,a,n,r)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,r),Vl=(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]}},Ul=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),Wl=e=>samp.callNative("GetVehicleVirtualWorld","i",e),Be=e=>!!samp.callNative("IsValidVehicle","i",e),Kl=(e,t,a,n,r,i,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,r,f(i),f(s)),Zl=(e,t,a,n,r,i,s,o,l)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,r,f(i),f(s),o,l),jl=e=>!!samp.callNative("ShowVehicle","i",e),Xl=e=>!!samp.callNative("HideVehicle","i",e),Yl=e=>!!samp.callNative("IsVehicleHidden","i",e),zl=e=>!!samp.callNative("IsPlayerInModShop","i",e),$l=e=>samp.callNative("GetPlayerSirenState","i",e),Jl=e=>samp.callNative("GetPlayerLandingGearState","i",e),Ql=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),ql=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),ed=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),ke=e=>samp.callNative("GetVehicleMaxPassengers","i",e),td=e=>samp.callNative("CountVehicleOccupants","i",e),ad=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),nd=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:r}},rd=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),id=e=>{const[t=0,a=0,n=0,r=0,i=0,s=0,o=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:n,fNextX:r,fNextY:i,fNextZ:s,fSize:o}},sd=e=>!!samp.callNative("IsMenuDisabled","i",e),od=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),ld=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),dd=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}},_d=(e,t)=>{const[a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return a},hd=(e,t,a)=>{const[n]=samp.callNative("GetMenuItem","iiiSi",e,t,a,31);return n},ud=(e,t,a,n,r,i)=>samp.callNative("CreateMenu","siffff",e,t,a,n,r,i),md=e=>samp.callNative("DestroyMenu","i",e),pd=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),gd=(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),fd=e=>!!samp.callNative("IsValidMenu","i",e),Pd=e=>samp.callNative("DisableMenu","i",e),Id=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),Ed=e=>samp.callNative("GetPlayerMenu","i",e),Ad=e=>!!samp.callNative("IsValidGangZone","i",e),Cd=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),Td=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),Dd=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),wd=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),Nd=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Ld=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:r}},Rd=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},bd=(e,t,a,n)=>samp.callNative("GangZoneCreate","ffff",e,t,a,n),vd=e=>samp.callNative("GangZoneDestroy","i",e),Od=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,f(a)),Gd=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,f(t)),Fd=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),Bd=e=>samp.callNative("GangZoneHideForAll","i",e),kd=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,f(a)),xd=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,f(t)),Md=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Hd=e=>samp.callNative("GangZoneStopFlashForAll","i",e),Vd=(e,t,a,n,r)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,r),Ud=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),Wd=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),Kd=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),Zd=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),jd=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),Xd=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),Yd=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),zd=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),$d=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),Jd=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),Qd=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),qd=(e,t)=>{const[a=0,n=0,r=0,i=0]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:a,fMinY:n,fMaxX:r,fMaxY:i}},ec=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},tc=e=>!!samp.callNative("IsValidTextDraw","i",e),ac=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),nc=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},rc=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},ic=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},sc=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}},lc=e=>samp.callNative("TextDrawGetColor","i",e),dc=e=>samp.callNative("TextDrawGetBoxColor","i",e),cc=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),_c=e=>samp.callNative("TextDrawGetShadow","i",e),hc=e=>samp.callNative("TextDrawGetOutline","i",e),uc=e=>samp.callNative("TextDrawGetFont","i",e),mc=e=>!!samp.callNative("TextDrawIsBox","i",e),pc=e=>!!samp.callNative("TextDrawIsProportional","i",e),gc=e=>!!samp.callNative("TextDrawIsSelectable","i",e),Sc=e=>samp.callNative("TextDrawGetAlignment","i",e),yc=e=>samp.callNative("TextDrawGetPreviewModel","i",e),fc=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:r}},Pc=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},Ic=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iia",e,t,a)},Ec=(e,t,a)=>samp.callNative("TextDrawCreate","ffa",e,t,a),Ac=e=>samp.callNative("TextDrawDestroy","i",e),Cc=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),Tc=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),Dc=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),wc=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,f(t)),Nc=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),Lc=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,f(t)),Rc=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),bc=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),vc=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,f(t)),Oc=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),Gc=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),Fc=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),Bc=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),kc=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),xc=e=>samp.callNative("TextDrawShowForAll","i",e),Mc=e=>samp.callNative("TextDrawHideForAll","i",e),Hc=(e,t)=>samp.callNative("TextDrawSetString","ia",e,t),Vc=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),Uc=(e,t,a,n,r=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,r)},Wc=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,f(t),f(a)),Kc=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,f(t))},Zc=e=>{samp.callNative("CancelSelectTextDraw","i",e)},jc=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),Xc=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),Yc=(e,t)=>{const[a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return a},zc=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},$c=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},Jc=(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}},qc=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),e_=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),t_=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),a_=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),n_=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),r_=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),i_=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),s_=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),o_=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),l_=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),d_=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),c_=(e,t)=>{const[a=0,n=0,r=0,i=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:a,fRotY:n,fRotZ:r,fZoom:i}},__=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},h_=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffa",e,t,a,n),u_=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},m_=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),p_=(e,t,a,n)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,a,n),g_=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),S_=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,f(a)),y_=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),f_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,f(a)),P_=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),I_=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),E_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,f(a)),A_=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),C_=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),T_=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),D_=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),w_=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),N_=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iia",e,t,a),L_=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),R_=(e,t,a,n,r,i)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,r,i),b_=(e,t,a,n)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,n),v_=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),O_=e=>!!samp.callNative("BeginObjectSelecting","i",e),G_=e=>!!samp.callNative("EndObjectEditing","i",e),F_=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),B_=(e,t,a,n,r)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,r),k_=(e,t,a,n,r,i,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,r,i,s),x_=(e,t)=>samp.callNative("RedirectDownload","is",e,t),M_=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},H_=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},V_=(e,t)=>{const[a=0,n=0,r=0,i=0,s=0,o=0,l=0,d=0,h=0,m=0,p=0,y=0,I=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:n,fX:r,fY:i,fZ:s,fRotX:o,fRotY:l,fRotZ:d,fScaleX:h,fScaleY:m,fScaleZ:p,materialColor1:y,materialColor2:I}},U_=(e,t,a,n,r,i,s,o,l,d,h,m,p,y,I)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,r,i,s,o,l,d,h,m,p,f(y),f(I)),W_=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),K_=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),xe=e=>!!samp.callNative("IsValidCustomModel","i",e),Z_=e=>{if(!xe(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var Me=(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))(Me||{}),He=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(He||{}),_e=(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))(_e||{}),Ve=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Ve||{}),Ue=(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))(Ue||{}),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||{}),We=(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))(We||{}),G=(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))(G||{}),Ke=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(Ke||{}),Ze=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Ze||{}),F=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(F||{}),je=(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))(je||{}),Xe=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Xe||{}),Ye=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(Ye||{}),ze=(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))(ze||{}),$e=(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))($e||{}),ae=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(ae||{}),Je=(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))(Je||{}),le=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(le||{}),$=(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))($||{}),Qe=(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))(Qe||{}),qe=(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))(qe||{}),et=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(et||{}),he=(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))(he||{}),ne=(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))(ne||{}),tt=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(tt||{}),at=(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))(at||{}),nt=(e=>(e[e.UNSET=-1]="UNSET",e[e.OFF=0]="OFF",e[e.ON=1]="ON",e))(nt||{}),rt=(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))(rt||{}),it=(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))(it||{}),st=(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))(st||{}),ot=(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))(ot||{}),lt=(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))(lt||{}),ue=(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))(ue||{}),dt=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(dt||{});class B{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static recordStatus;static connect=ar;static startRecordingPlayerData(t,a,n){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");Us(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)throw new Error("[NpcFunc]: It should be started before stop");Ws(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(B.recordStatus>=F.start)throw new Error("[NpcFunc]: The current status cannot be replayed");So(t,a),B.recordStatus=F.start}static stopRecordingPlayback(){if(B.recordStatus<F.start)throw new Error("[NpcFunc]: The current status cannot be stopped");yo(),B.recordStatus=F.none}static pauseRecordingPlayback(){if(B.recordStatus!==F.start)throw new Error("[NpcFunc]: The current status cannot be paused");fo(),B.recordStatus=F.pause}static resumeRecordingPlayback(){if(B.recordStatus!==F.pause)throw new Error("[NpcFunc]: The current status cannot be paused");Po(),B.recordStatus=F.start}}const ct=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}]]]),me=e=>{const t=ct.get(e);return t===void 0?!1:t},pe=(e,t)=>{const a=me(e);if(a)return t==="null"?!0:a.some(n=>n.n===t)},j_=(e,t)=>{const a=me(e);if(a)return a.find(n=>n.n===t)?.d},K=(e,t)=>{const a=t.replace("-","")==="utf8"?e:P.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},_t=(e,t,a)=>{const n=K(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,f(t),n[1])},X_=(e,t,a)=>(e.forEach(n=>_t(n,t,a)),1),ht=(e,t,a)=>{const n=K(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${n[0]}`,e.id,t,n[1])},Y_=(e,t,a)=>(e.forEach(n=>{ht(n,t,a)}),1),z_=(e,t,a)=>{const{charset:n}=e,{style:r,caption:i,info:s,button1:o,button2:l}=a,[d,h]=K(i||"",n),[,m]=K(s||"",n),[,p]=K(o||"",n),[,y]=K(l||"",n);return samp.callNative("ShowPlayerDialog",`iii${d.repeat(4)}`,e.id,t,r,h,m,p,y)},$_=e=>{const[t]=samp.callNative("GetPlayerName","iAi",e.id,G.MAX_PLAYER_NAME);return P.decodeFromBuf(P.getValidStr(t),e.charset)},J_=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,P.encodeToBuf(t,e.charset)),Q_=(e,t,a)=>{const n=P.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},q_=(e,t="utf8")=>{const[a,n]=K(e,t);return samp.callNative("SendRconCommand",a,n)},eh=(e,t,a,n,r,i,s,o,l,d,h,m,p,y,I,R)=>{const O=P.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",O,a,n,r,i,s,o,l,d,h,m,p,y,I,R)},th=(e,t,a,n,r,i,s,o,l,d,h,m,p,y,I,R)=>{const O=P.encodeToBuf(e,R);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",O,t,a,n,r,i,s,o,l,d,h,m,p,y,I,h.length,m.length,p.length,y.length)},ah=(e,t,a,n)=>{const r=P.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,r)},nh=(e,t)=>{const[a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return P.decodeFromBuf(P.getValidStr(a),t)},rh=(e,t,a,n,r,i,s,o,l,d,h)=>{const m=P.encodeToBuf(n,e),p=P.encodeToBuf(i,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,m,r,p,s,o,l,d,h)},ih=(e,t,a)=>{const[n,r,i,s,o,l,d]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),h=P.decodeFromBuf(n,a),m=P.decodeFromBuf(i,a);return{text:h,materialSize:r,fontFace:m,bold:s,fontColor:o,backColor:l,textAlignment:d}},sh=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],oh=[[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],[],[],[],[],[],[],[],[]],lh=(e,t)=>{if(!ge(e))return!1;const a=oh[e-400];if(a===null)return!1;const n=t-1e3;return sh.includes(n)||a.includes(n)},ge=e=>e>=400&&e<=611,dh=(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 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===G.MAX_VEHICLES)throw new Error("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:a,x:n,y:r,z:i,zAngle:s,color:o,respawnDelay:l,addSiren:d}=this.sourceInfo;if(!(!t&&!ge(a))){if(this.isStatic){if(l===void 0){this._id=Kl(a,n,r,i,s,o[0],o[1]);return}this._id=Zl(a,n,r,i,s,o[0],o[1],l||-1,d||!1)}else this._id=tl(a,n,r,i,s,o[0],o[1],l||-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");al(this.id),A.createdCount--,A.vehicles.delete(this._id),this._id=-1}addComponent(t){if(this.id===-1)return 0;if(!lh(this.getModel(),t))throw new Error(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`);return Il(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 El(this.id,t)}getComponentInSlot(t){return Ol(this.id,t)}linkToInterior(t){return this.id===-1?0:Pl(this.id,t)}setVirtualWorld(t){return this.id===-1?0:Ul(this.id,t)}getVirtualWorld(){return this.id===-1?0:Wl(this.id)}repair(){return this.id===-1?0:Fl(this.id)}setPos(t,a,n){return this.id===-1?0:il(this.id,t,a,n)}getPos(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getPos before create");return rl(this.id)}getHealth(){return this.id===-1?0:Dl(this.id)}setHealth(t){return this.id===-1?0:Tl(this.id,t)}isPlayerIn(t){return this.id===-1?!1:Xs(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 Ts(t.id,this.id,a)}getZAngle(){return this.id===-1?0:sl(this.id)}setZAngle(t){return this.id===-1?0:dl(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 bl(this.id,t)}changeColors(t,a){return this.id===-1?0:Al(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:kl(this.id,t,a,n)}getVelocity(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getVelocity before create");const[t,a,n]=Bl(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:r}=this.getVelocity();return ce(a,n,r)*t}setAngularVelocity(t,a,n){return this.id===-1?0:xl(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return Ml(this.id)}updateDamageStatus(t,a,n,r){this.id!==-1&&Hl(this.id,t,a,n,r)}getDistanceFromPoint(t,a,n){return ll(this.id,t,a,n)}getModel(){return vl(this.id)}static getModelInfo(t,a){return Vl(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,r]=ol(this.id);return{w:t,x:a,y:n,z:r}}setRespawn(){return this.id===-1?0:fl(this.id)}isStreamedIn(t){return this.id===-1?!1:nl(this.id,t.id)}setParamsCarDoors(t,a,n,r){return this.id===-1?0:pl(this.id,t,a,n,r)}setParamsCarWindows(t,a,n,r){return this.id===-1?0:Sl(this.id,t,a,n,r)}getParamsCarDoors(){if(this.id!==-1)return gl(this.id)}getParamsCarWindows(){if(this.id!==-1)return yl(this.id)}setParamsEx(t,a,n,r,i,s,o){return this.id===-1?0:hl(this.id,t,a,n,r,i,s,o)}getParamsEx(){if(this.id===-1)return{engine:-1,lights:-1,alarm:-1,doors:-1,bonnet:-1,boot:-1,objective:-1};const[t,a,n,r,i,s,o]=ul(this.id);return{engine:t,lights:a,alarm:n,doors:r,bonnet:i,boot:s,objective:o}}toggleEngine(t){if(this.id===-1)return 0;const{lights:a,alarm:n,doors:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(t,a,n,r,i,s,o)}toggleLights(t){if(this.id===-1)return 0;const{engine:a,alarm:n,doors:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,t,n,r,i,s,o)}toggleAlarm(t){if(this.id===-1)return 0;const{engine:a,lights:n,doors:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,t,r,i,s,o)}toggleDoors(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,r,t,i,s,o)}toggleBonnet(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,doors:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,r,i,t,s,o)}toggleBoot(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,doors:i,bonnet:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,r,i,s,t,o)}toggleObjective(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,doors:i,bonnet:s,boot:o}=this.getParamsEx();return this.setParamsEx(a,n,r,i,s,o,t)}getParamsSirenState(){return this.id===-1?-2:ml(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:cl(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:Ll(this.id)}changePaintjob(t){return this.id===-1||!dh(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),Cl(this.id,t),1)}attachTrailer(t){return this.id===-1?0:wl(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&Nl(this.id)}getTrailer(){if(this.id!==-1)return A.getInstances().find(t=>t.id===Rl(this.id))}isValid(){return Be(this.id)}getMatrix(){if(this.id!==-1)return qo(this.id)}getTrainSpeed(){return this.id===-1?0:Qo(this.id)}getHydraReactorAngle(){return this.id===-1?0:Jo(this.id)}getLandingGearState(){return this.id===-1?0:$o(this.id)}getSirenState(){return this.id===-1?0:zo(this.id)}getDriver(t){if(this.id!==-1)return t.get(Xo(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(jo(this.id))}isSirenEnabled(){return Ko(this.id)}toggleSirenEnabled(t){return this.id===-1?0:Uo(this.id,t)}setParamsSirenState(t){return this.id===-1?0:Wo(this.id,t)}isDead(){return this.id===-1?!0:Mo(this.id)}setDead(t){return this.id===-1?!1:Ho(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:Vo(this.id,t)}getRespawnTick(){return this.id===-1?0:ko(this.id)}setRespawnTick(t){return this.id===-1?!1:xo(this.id,t)}isOccupied(){return this.id===-1?!1:Bo(this.id)}hasBeenOccupied(){return this.id===-1?!1:Fo(this.id)}getOccupiedTick(){return this.id===-1?0:Oo(this.id)}setOccupiedTick(t){return this.id===-1?0:Go(this.id,t)}getCab(){return this.id===-1?0:vo(this.id)}getRespawnDelay(){return this.id===-1?0:bo(this.id)}setRespawnDelay(t){return this.id===-1?0:Ro(this.id,t)}getNumberPlate(){return this.id===-1?"":Lo(this.id)}getInterior(){return this.id===-1?0:No(this.id)}getPaintjob(){return this.id===-1?-1:wo(this.id)}getColors(){if(this.id!==-1)return Do(this.id)}setSpawnInfo(t,a,n,r,i,s,o,l=-2,d=-2,h=!1){return this.id===-1||!h&&!ge(t)?0:To(this.id,t,a,n,r,i,f(s),f(o),l,d)}getSpawnInfo(){if(this.id!==-1)return Co(this.id)}getRandomColorPair(){if(this.id!==-1)return Fe(this.getModel())}show(){return this.id===-1?!1:jl(this.id)}hide(){return this.id===-1?!1:Xl(this.id)}isHidden(){return this.id===-1?!1:Yl(this.id)}getVehicleOccupant(t){return ed(this.id,t)}getVehicleMaxPassengers(){return ke(this.getModel())}countVehicleOccupants(){return td(this.getModel())}static getVehicleMaxPassengers=ke;static getRandomColorPair=Fe;static getComponentType=Gl;static colorIndexToColor=el;static isValid=Be;static getModelsUsed=Yo;static getModelCount=Zo;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}const[ut]=_({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:u.getInstance(e),actionId:t,memAddr:a,data:n}}}),[ch,_h]=_({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,a){return{player:e,newLocale:t,oldLocale:a}}}),[hh,uh]=_({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}static players=new Map;static MAX_CHECK_ANDROID_DELAY=10;static SKIP_CHECK_ANDROID=!1;_charset="ISO-8859-1";_locale="en_US";_isAndroid=!0;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,uh(this,t,a)}get locale(){return this._locale}set locale(t){const a=this._locale;this._locale=t,_h(this,t,a)}sendClientMessage(t,a){return _t(this,t,a)}static sendClientMessageToAll(t,a){X_(u.getInstances(),t,a)}sendMessageToPlayer(t,a){return ht(t,this.id,a)}sendMessageToAll(t){return Y_(u.getInstances(),this.id,t)}isNpc(){return yi(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return Hi(this.id)}setDrunkLevel(t){if(t<0||t>5e4)throw new Error("[Player]: player's drunk level ranges from 0 to 50000");return Vi(this.id,t)}allowTeleport(t){return ci(this.id,t)}isTeleportAllowed(){return _i(this.id)}enableCameraTarget(t){return so(this.id,t)}enableStuntBonus(t){return Ms(this.id,t)}getInterior(){return wi(this.id)}setInterior(t){return Di(this.id,t)}showNameTag(t,a){return qs(this.id,t.id,a)}setColor(t){return Ui(this.id,t)}getColor(){return Wi(this.id)}setMarker(t,a){Js(this.id,t.id,a)}getMarker(t){return Qs(this.id,t.id)}resetMoney(){return Ji(this.id)}getMoney(){return Qi(this.id)}giveMoney(t){return $i(this.id,t)}resetWeapons(){return Xi(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):gr(this.id)}setHealth(t){return Ni(this.id,t)}getHealth(){return Li(this.id)}toggleClock(t){return is(this.id,t)}toggleControllable(t){return Ls(this.id,t)}toggleSpectating(t){return Ks(this.id,t)}spectatePlayer(t,a=le.NORMAL){return Zs(this.id,t.id,a)}spectateVehicle(t,a=le.NORMAL){return js(this.id,t.id,a)}forceClassSelection(){return os(this.id)}kick(){return Lr(this.id)}ban(){return Rr(this.id)}banEx(t,a){return Q_(this.id,t,a)}isAdmin(){return wr(this.id)}isInRangeOfPoint(t,a,n,r){return Ai(this.id,t,a,n,r)}isStreamedIn(t){return Ti(this.id,t.id)}setSkin(t,a=!1){return!a&&(t<0||t>311||t===74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===he.DUCK?!1:Ki(this.id,t)}getSkin(){return Zi(this.id)}isInAnyVehicle(){return Ys(this.id)}getSpecialAction(){return Gs(this.id)}setSpecialAction(t){return Fs(this.id,t)}setScore(t){return xi(this.id,t)}getScore(){return Mi(this.id)}getPing(){return es(this.id)||0}setPos(t,a,n){return Oe(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===$.NONE)return;const[t,a,n]=Pi(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===$.SPECTATING}isWasted(){return this.getState()===$.WASTED}getState(){return qi(this.id)}getVersion(){return this.isNpc()?"":Vr(this.id)}setVirtualWorld(t){return ks(this.id,t)}getVirtualWorld(){return xs(this.id)}removeFromVehicle(){return Ns(this.id)}setWantedLevel(t){if(t<0||t>6)throw new Error("[Player]: player's wanted level ranges from 0 to 6");return ls(this.id,t)}getWantedLevel(){return ds(this.id)}setFacingAngle(t){return Ii(this.id,t)}getFacingAngle(){return Ei(this.id)}setWeather(t){if(t<0||t>255)throw new Error("[Player]: The valid weather value is only 0 to 255");return ss(this.id,t)}getWeather(){return Zr(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 ns(this.id,t,a)}getTime(){const[t,a]=rs(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,r,i){return Es(this.id,t,a,n,r,i)}setTeam(t){t<0||t>T.NO_TEAM||Bi(this.id,t)}getTeam(){return ki(this.id)}setSkillLevel(t,a){if(a<0||a>999)throw new Error("[Player]: The valid skill level is only 0 to 999");return ys(this.id,t,a)}getName(){return $_(this)}setName(t){return J_(this,t)}setVelocity(t,a,n){return hs(this.id,t,a,n)}getVelocity(){const[t,a,n]=us(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:r}=this.getVelocity();return ce(a,n,r)*t}getKeys(){const[t,a,n]=as(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return Hr(this.id)}getFightingStyle(){return _s(this.id)}setFightingStyle(t){return cs(this.id,t)}setArmour(t){return Ri(this.id,t)}getArmour(){return bi(this.id)}setCameraBehind(){return ao(this.id)}setCameraPos(t,a,n){return eo(this.id,t,a,n)}setCameraLookAt(t,a,n,r=ae.CUT){return to(this.id,t,a,n,r)}getCameraAspectRatio(){return co(this.id)}getCameraFrontVector(){const[t,a,n]=ro(this.id);return{x:t,y:a,z:n}}getCameraMode(){return io(this.id)}getCameraPos(){const[t,a,n]=no(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(){const t=lo(this.id);return u.getInstances().find(a=>a.id===t)}getCameraTargetVehicle(){const t=oo(this.id);return A.getInstances().find(a=>a.id===t)}getCameraZoom(){return _o(this.id)}playAudioStream(t,a=0,n=0,r=0,i=5){let s=!1;return(a!==0||n!==0||r!==0)&&(s=!0),ps(this.id,t,a,n,r,i,s)}stopAudioStream(){return gs(this.id)}playSound(t,a=0,n=0,r=0){return Rs(this.id,t,a,n,r)}static getMaxPlayers(){return xn()}playCrimeReport(t,a){if(a<3||a>22)throw new Error("[Player]: Available crime ids range from 3 to 22");return ms(this.id,t.id,a)}interpolateCameraPos(t,a,n,r,i,s,o,l=ae.CUT){return ho(this.id,t,a,n,r,i,s,o,l)}interpolateCameraLookAt(t,a,n,r,i,s,o,l=ae.CUT){return uo(this.id,t,a,n,r,i,s,o,l)}createExplosion(t,a,n,r,i){if(r<0||r>13)throw new Error("[Player]: The valid explosion type value is only 0 to 13");return Vs(this.id,t,a,n,r,i)}static isConnected(t){return Ge(t)}isConnected(){return Ge(this.id)}disableRemoteVehicleCollisions(t){return Bs(this.id,t)}getVehicle(){if(!this.isInAnyVehicle())return;const t=Ds(this.id);return A.getInstances().find(a=>a.id===t)}getVehicleSeat(){return ws(this.id)}getSurfingVehicle(){const t=fs(this.id);if(t!==T.VEHICLE_ID)return A.getInstances().find(a=>a.id===t)}applyAnimation(t,a,n=4.1,r=!1,i=!0,s=!0,o=!1,l=0,d=!1){if(!pe(t,a))throw new Error("[Player]: Invalid anim library or name");return bs(this.id,t,a,n,r,i,s,o,l,+d)}clearAnimations(t=!1){return vs(this.id,t)}getAnimationIndex(){return Os(this.id)}getAnimationName(t=this.getAnimationIndex()){const[a,n]=rr(t);return{index:t,animLib:a,animName:n}}setShopName(t){return Ss(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(r=>{Oe(this.id,t,a,n),setTimeout(()=>r(fi(this.id,t,a,n)))})}setWorldBounds(t,a,n,r){return zs(this.id,t,a,n,r)}clearWorldBounds(){return $s(this.id)}setChatBubble(t,a,n,r){return Cs(this.id,t,a,n,r)}getDistanceFromPoint(t,a,n){return Ci(this.id,t,a,n)}getCustomSkin(){return Hs(this.id)}getTargetPlayer(){const t=Fi(this.id);if(t!==T.PLAYER_ID)return u.getInstances().find(a=>a.id===t)}getLastShotVectors(){const[t,a,n,r,i,s]=As(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:r,fHitPosY:i,fHitPosZ:s}}getWeapon(){return ts(this.id)}getWeaponData(t){if(t<0||t>12)throw new Error("[Player]: weapon slots range from 0 to 12");const[a,n]=zi(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return Gi(this.id)}giveWeapon(t,a){return ji(this.id,t,a)}setAmmo(t,a){return vi(this.id,t,a)}getAmmo(){return Oi(this.id)}setArmedWeapon(t){return Yi(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(T.PLAYER_ID,T.PLAYER_ID,ue.CONNECT)}sendDeathMessage(t,a){return kn(t===T.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){return gi(this.id,t===T.PLAYER_ID?t:t.id,a===T.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,r,i,s,o,l,d,h,m,p){return t<0||t>T.NO_TEAM||a<0||a>311||a===74||l<0||h<0||p<0?!1:pr(this.id,t,a,n,r,i,s,o,l,d,h,m,p)}redirectDownload(t){return x_(this.id,t)}sendClientCheck(t,a,n,r){const i=[2,5,69,70,71,72];if(!i.includes(t))throw new Error(`[Player]: sendClientCheck valid types are ${i.toString()}`);return new Promise((s,o)=>{if(this.isPaused)return o("[Player]: An attempt to check the player client response, but the player paused the game");const l="[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=ut(({player:y,actionId:I,memAddr:R,data:O,next:ee})=>(y!==this||(m&&(clearTimeout(m),m=null),s({actionId:I,memAddr:R,data:O})),ee()));m=setTimeout(()=>{p(),o(l)},h),Br(this.id,t,a,n,r)})}selectTextDraw(t){Kc(this.id,t)}cancelSelectTextDraw(){Zc(this.id)}beginObjectSelecting(){return O_(this.id)}endObjectEditing(){return G_(this.id)}getSurfingObject(t){const a=Ps(this.id);if(a!==T.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=Is(this.id);if(a!==T.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return K_(this.id,t)}editAttachedObject(t){return v_(this.id,t)}setAttachedObject(t,a,n,r=0,i=0,s=0,o=0,l=0,d=0,h=1,m=1,p=1,y=0,I=0){return this.isAttachedObjectSlotUsed(t)?0:U_(this.id,t,a,n,r,i,s,o,l,d,h,m,p,y,I)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?W_(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 Ur(this.id,t)}isWidescreenToggled(){return Wr(this.id)}getSpawnInfo(){return Sr(this.id)}getSkillLevel(t){return Kr(this.id,t)}isCheckpointActive(){return ad(this.id)}getCheckpoint(){return nd(this.id)}isRaceCheckpointActive(){return rd(this.id)}getRaceCheckpoint(){return id(this.id)}getWorldBounds(){jr(this.id)}isInModShop(){return zl(this.id)}getSirenState(){return $l(this.id)}getLandingGearState(){return Jl(this.id)}getHydraReactorAngle(){return Ql(this.id)}getTrainSpeed(){return ql(this.id)}getZAim(){return Xr(this.id)}getSurfingOffsets(){return Yr(this.id)}getRotationQuat(){return zr(this.id)}getDialogID(){return $r(this.id)}getSpectateID(){return Jr(this.id)}getSpectateType(){return Qr(this.id)}getRawIp(){return Mr(this.id)}setGravity(t){return qr(this.id,t)}getGravity(){return ei(this.id)}setAdmin(t){return Nr(this.id,t)}isSpawned(){return ti(this.id)}isControllable(){return ai(this.id)}isCameraTargetEnabled(){return ni(this.id)}toggleGhostMode(t){return ri(this.id,t)}getGhostMode(){return ii(this.id)}getBuildingsRemoved(){return si(this.id)}getAttachedObject(t){return V_(this.id,t)}removeWeapon(t){return oi(this.id,t)}isUsingOfficialClient(){return di(this.id)}allowWeapons(t){return hi(this.id,t)}areWeaponsAllowed(){return ui(this.id)}gpci(t=this.charset){return Fr(this.id,t)}isCuffed(){return mo(this.id)}isInDriveByMode(){return po(this.id)}isAndroid(){return this.isConnected()&&this._isAndroid}isPC(){return this.isConnected()&&!this._isAndroid}isUsingOmp(){return go(this.id)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[mt]=_({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,r){return{player:u.getInstance(e),dialogId:t,response:a,listItem:n,buffer:r}}});mt(({next:e,player:t,dialogId:a,response:n,listItem:r,buffer:i})=>{const s=D.waitingQueue.get(t);return!s||s.showId!==a||setTimeout(()=>s.resolve({response:n,listItem:r,buffer:i})),e()});class D{id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new WeakMap;constructor(t={style:_e.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=D.waitingQueue.get(t);if(!n)return!1;a&&n.reject("[Dialog]: player timeout does not respond or second request show dialog"),D.waitingQueue.delete(t);const r=D.showingIds.indexOf(n.showId);return r>-1&&D.showingIds.splice(r,1),!0}show(t){return new Promise((a,n)=>{for(D.close(t);(this.id===-1||D.showingIds.includes(this.id))&&D.showingIds.length!==D.maxDialogId;)this.id=Math.floor(Math.random()*(D.maxDialogId+1));if(this.id===-1){n("[Dialog]: The maximum number of dialogs is reached");return}D.showingIds.push(this.id),D.waitingQueue.set(t,{resolve:a,reject:n,showId:this.id}),z_(t,this.id,this.dialog)}).then(a=>{const{response:n,listItem:r}=a,i=P.decodeFromBuf(a.buffer,t.charset);return Promise.resolve({response:n,listItem:r,inputText:i})}).catch(a=>Promise.reject(a)).finally(()=>D.delDialogTask(t))}static close(t){D.delDialogTask(t,!0),li(t.id)}}const[pt]=_({name:"OnPlayerConnect",beforeEach(e){const t=new u(e);return u.players.set(e,t),D.close(t),{player:t}}}),[gt]=_({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:u.players.get(e),reason:t}},afterEach({player:e}){u.players.delete(e.id)}}),[St]=_({name:"OnPlayerUpdate",beforeEach(e){return{player:u.getInstance(e)}}}),[mh]=_({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=u.getInstance(e);return{player:a,text:P.decodeFromBuf(t,a.charset),buffer:t}}}),[ph]=_({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:u.getInstance(e),enterExit:!!t,interior:a}}}),[gh]=_({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:u.getInstance(e),fX:t,fY:a,fZ:n}}}),[Sh]=_({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:u.getInstance(e),clickedPlayer:u.getInstance(t),source:a}}}),[yh]=_({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:u.getInstance(e),killer:u.getInstance(t)||T.PLAYER_ID,reason:a}}}),[fh]=_({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,r){return{player:u.getInstance(e),damage:u.getInstance(t),amount:a,weapon:n,bodyPart:r}}}),[Ph]=_({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),newKeys:t,oldKeys:a}}}),[Ih]=_({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:u.getInstance(e),classId:t}}}),[Eh]=_({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:u.getInstance(e)}}}),[Ah]=_({name:"OnPlayerSpawn",beforeEach(e){return{player:u.getInstance(e)}}}),[Ch]=_({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),newState:t,oldState:a}}}),[Th]=_({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[Dh]=_({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[wh]=_({name:"OnPlayerTakeDamage",beforeEach(e,t,a,n,r){return{player:u.getInstance(e),damage:u.getInstance(t)||T.PLAYER_ID,amount:a,weapon:n,bodyPart:r}}}),[Nh]=_({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:u.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[Lh]=_({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:u.getInstance(e),type:t,crc:a}}}),[Rh]=_({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:u.getInstance(e),virtualWorld:t}}}),[bh]=_({name:"OnPlayerWeaponShot",beforeEach(e,t,a,n,r,i,s){return{player:u.getInstance(e),weapon:t,hitType:a,hitId:n,fX:r,fY:i,fZ:s}}});let re=null;const V=new Map,Se=new Map;function yt(e){if(!e.isConnected()){V.has(e)&&clearInterval(V.get(e));return}let t=Se.get(e)||1;if(t>=u.MAX_CHECK_ANDROID_DELAY){clearInterval(V.get(e)),ye(e,!0);return}e.sendClientCheck(72,0,0,2).then(({actionId:a})=>{a===72&&(e._isAndroid=!1,V.has(e)&&clearInterval(V.get(e)),ye(e,!1))}).catch(()=>{}),t++,Se.set(e,t)}const[vh,Oh]=_({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[Gh,Fh]=_({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}}),[Bh,kh]=_({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,a){return{player:e,newFps:t,oldFps:a}}}),[xh,ye]=_({name:"OnAndroidCheck",isNative:!1,beforeEach(e,t){return{player:e,result:t}}});pt(({player:e,next:t})=>{if(!re&&u.getInstances().length&&(re=setInterval(()=>{u.getInstances().filter(n=>{const r=n.getState()!==$.NONE;return!n.isPaused&&!n.isNpc()&&r}).forEach(n=>{Date.now()-n.lastUpdateTick>1e3&&(n.isPaused=!0,Oh(n,n.lastUpdateTick))})},500)),e.isNpc())return e._isAndroid=!1,t();if(u.SKIP_CHECK_ANDROID)return e._isAndroid=!e.isUsingOfficialClient(),ye(e,e._isAndroid),t();yt(e);const a=setInterval(()=>yt(e),1e3);return V.set(e,a),t()}),gt(({player:e,next:t})=>(re&&u.getInstances().length<=1&&(clearInterval(re),re=null),V.has(e)&&(clearInterval(V.get(e)),V.delete(e),Se.delete(e)),t()));function Mh(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,r=e.lastDrunkLevel-a-1;e.lastFps=r,e.lastDrunkLevel=a,kh(e,r,n)}}St(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,Fh(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,Mh(e)}return t()});const J=new Map,Q=new Map,ft=/[^/\s]+/gi,ie={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"}},[Hh,Vh]=_({name:"OnCommandReceived",isNative:!1,throwOnError:!0,beforeEach(e,t,a,n,r,i,s,o,l){return{player:e,command:t,cmdText:a,buffer:n,strictMainCmd:r,noStrictMainCmd:i,hasStrict:s,hasNoStrict:o,subcommand:l}}}),[Uh,Wh]=_({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t,a,n,r,i,s,o,l){return{player:e,command:t,cmdText:a,buffer:n,strictMainCmd:r,noStrictMainCmd:i,hasStrict:s,hasNoStrict:o,subcommand:l}}}),[Kh,se]=_({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a,n,r,i,s,o,l,d){return{player:e,error:t,command:a,cmdText:n,buffer:r,strictMainCmd:i,noStrictMainCmd:s,hasStrict:o,hasNoStrict:l,subcommand:d}}}),[Zh]=_({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){const a=u.getInstance(e),n=P.decodeFromBuf(t,a.charset);return{player:a,buffer:t,cmdText:n}}});function jh(e){const t=[];let a="";for(let n=0;n<e.length;n++)a+=e[n]+" ",t.push(a.trimEnd());return t.reverse()}Zh(({player:e,buffer:t,cmdText:a,next:n})=>{const r=a.match(ft),i=jh(r),s=i.find(I=>J.has(I)),o=i.map(I=>I.toLowerCase()).find(I=>Q.has(I)),l=!!s,d=!!o,h=r.join(" ");let m=[];const p=[[s,J,!0],[o,Q,!1]],y=[h,a,t,s,o,l,d,m];if(l||d){const I=p[0][0]||p[1][0];m=h.replace(I,"").trim().split(" ")}else return se(e,ie.NOT_EXIST,...y);try{if(!Vh(e,...y))return se(e,ie.RECEIVED_REJECTED,...y)}catch(I){return se(e,{...ie.RECEIVED_THROW,error:I},...y)}for(const[I,R,O]of p){if(!I)continue;const ee=R.get(I),[,Et]=ee;if(!Et(e,I,m,a,t,O))return se(e,ie.REJECTED,...y)}return Wh(e,h,a,t,s,o,l,d,m)?n():se(e,ie.PERFORMED,...y)});function Xh(e,t,a,n,r,i){return{player:e,mainCommand:t,subcommand:a,cmdText:n,buffer:r,isStrict:i}}class M{static caseSensitive=!1;constructor(){}static on(t,a){let n=M.caseSensitive,r,i;typeof t=="string"||t instanceof Array?(r=t,i=a):(r=t.command,i=t.run,typeof t.caseSensitive<"u"&&(n=t.caseSensitive));const s=Array.isArray(r)?r:[r],o=s.find(h=>!h.match(ft));if(o)return console.log(`error command ${o} format`),()=>{};const l=n?J:Q,d=s.map(h=>{const m=h.replaceAll("/",""),p=n?m:m.toLowerCase();if(!l.has(p)){const I=_({name:n?"$"+p:p,isNative:!1,beforeEach:Xh});l.set(p,I)}const[y]=l.get(p);return[p,y(i)]});return()=>{d.forEach(h=>{const[m,p]=h;p()===0&&l.delete(m)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(a=>{let n=a.replaceAll("/","");J.has(n)&&(v.has(n)&&v.delete(n),J.has(n)&&J.delete(n)),n=n.toLowerCase(),Q.has(n)&&(v.has(n)&&v.delete(n),Q.has(n)&&Q.delete(n))})}static enableCaseSensitive(){M.caseSensitive=!0}static disableCaseSensitive(){M.caseSensitive=!1}static isCaseSensitive(){return M.caseSensitive}}const fe=Object.freeze({onConnect:pt,onDisconnect:gt,onPause:vh,onResume:Gh,onUpdate:St,onText:mh,onEnterExitModShop:ph,onClickMap:gh,onClickPlayer:Sh,onDeath:yh,onGiveDamage:fh,onKeyStateChange:Ph,onRequestClass:Ih,onRequestSpawn:Eh,onSpawn:Ah,onStateChange:Ch,onStreamIn:Th,onStreamOut:Dh,onTakeDamage:wh,onInteriorChange:Nh,onRequestDownload:Lh,onFinishedDownloading:Rh,onCheckResponse:ut,onCommandReceived:Hh,onCommandPerformed:Uh,onCommandError:Kh,onCommandText:M.on,offCommandText:M.off,onDialogResponse:mt,onLocaleChange:ch,onCharsetChange:hh,onFpsUpdate:Bh,onWeaponShot:bh,onAndroidCheck:xh}),[Pt]=_({name:"OnGameModeInit"}),[It]=_({name:"OnGameModeExit"}),[Yh]=_({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[zh]=_({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:P.decodeFromBuf(e)}}}),[$h]=_({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:P.decodeFromBuf(e),password:P.decodeFromBuf(t),success:!!a,ipBuffer:e,passwordBuffer:t}}}),Z=[],q=[],Pe=new Map,Ie=async e=>{try{return await new Promise((t,a)=>{const n=Z.findIndex(o=>o.name===e);if(n===-1)return;const r=Z[n];function i(o){o.length&&Pe.set(e,o),Z.splice(n,1),q.push(r),setTimeout(t)}const s=r.load();s instanceof Promise?s.then(i).catch(a):i(s)})}catch(t){throw new Error(`[GameMode]: script ${e} load fail
|
|
3
|
-
err:${t}`)}},
|
|
4
|
-
${t}`)}},Jh=async e=>{await Ee(e),await Ie(e)};Pt(async({next:e})=>{const t=Z.map(a=>a.name);for(const a of t)await Ie(a);return e()}),It(async({next:e})=>{const t=q.map(a=>a.name);for(const a of t)await Ee(a);return e()});const Qh=function(e,...t){if(Z.some(a=>a.name===e.name)||q.some(a=>a.name===e.name))throw new Error(`[GameMode]: script ${e.name} has already been applied`);e.load=e.load.bind(e,...t),Z.push(e)};class N{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=Pt;static onExit=It;static onIncomingConnection=Yh;static onRconCommand=zh;static onRconLoginAttempt=$h;static use(t,...a){return Qh(t,...a),this}static loadUseScript=Ie;static reloadUseScript=Jh;static unloadUseScript=Ee;static enableCmdCaseSensitive=M.enableCaseSensitive;static disableCmdCaseSensitive=M.disableCaseSensitive;static isCmdCaseSensitive=M.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 Zn(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");return Un(t)}static getWorldTime=Wn;static setTeamCount=hr;static sendRconCommand=q_;static addPlayerClass=ur;static addPlayerClassEx=mr;static createExplosion(t,a,n,r,i){if(r<0||r>13)throw new Error("[GameMode]: The valid explosion type value is only 0 to 13");return Yn(t,a,n,r,i)}static manualVehicleEngineAndLights=_l;static blockIpAddress=Or;static unBlockIpAddress=Gr;static getServerTickRate=nr;static addSimpleModel(t,a,n,r,i){return this.checkSimpleModel(t,a,n,r,i)?B_(t,a,n,r,i):0}static addSimpleModelTimed(t,a,n,r,i,s,o){return this.checkSimpleModel(t,a,n,r,i,s,o)?k_(t,a,n,r,i,s,o):0}static checkSimpleModel(t,a,n,r,i,s,o){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(r.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty dffName");if(i.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(o!==void 0&&(o<0||o>23))throw new Error("[GameMode]: AddSimpleModel - Error time off range");return 1}static isValidCustomModel=xe;static getCustomModePath=Z_;static getConsoleVarAsString(t,a="utf8"){const n=wn(t);return P.decodeFromBuf(P.getValidStr(n),a)}static getRestartTime=Gn;static setRestartTime=On;static allowAdminTeleport=In;static isAdminTeleportAllowed=En;static allowInteriorWeapons=An;static areInteriorWeaponsAllowed=Cn;static areAllAnimationsEnabled=Tn;static enableAllAnimations=Dn;static enableStuntBonusForAll=ir;static enableVehicleFriendlyFire=Kn;static enableZoneNames=zn;static disableInteriorEnterExits=Jn;static setGameModeText=Mn;static getGravity=jn;static setGravity=Xn;static showNameTags=Hn;static disableNameTagLOS=qn;static usePlayerPedAnims=$n;static showPlayerMarkers=Vn;static limitPlayerMarkerRadius=tr;static limitGlobalChatRadius=er;static setNameTagDrawDistance=Qn;static findModelFileNameFromCRC=M_;static findTextureFileNameFromCRC=H_;static getWeaponName=dr;static setObjectsDefaultCameraCollision=F_;static vectorSize=ce;static clearBanList=kr;static isBanned=xr;static isValidNickName=mn;static allowNickNameCharacter=pn;static isNickNameCharacterAllowed=gn;static addServerRule=Sn;static setServerRule=yn;static isValidServerRule=fn;static removeServerRule=Pn;static getWeaponSlot=lr;static getAvailableClasses=ve;static getPlayerClass=cr;static editPlayerClass=_r;static toggleChatTextReplacement=sr;static chatTextReplacementToggled=or;static getConsoleVarAsInt=Nn;static getConsoleVarAsBool=Ln;static getWeather=Rn;static getServerRuleFlag=bn;static setServerRuleFlags=vn}N.onExit(({next:e})=>(A.getInstances().forEach(t=>t.destroy()),e()));const[qh]=_({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:A.getInstance(e),player:u.getInstance(t)}}}),[eu]=_({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:A.getInstance(e),killer:u.getInstance(t)}}}),[tu]=_({name:"OnVehicleMod",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),componentId:a}}}),[au]=_({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),paintjobId:a}}}),[nu]=_({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:u.getInstance(e),vehicle:A.getInstance(t),color:[a,n]}}}),[ru]=_({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),state:!!a}}}),[iu]=_({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:A.getInstance(e)}}}),[su]=_({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:A.getInstance(e),forPlayer:u.getInstance(t)}}}),[ou]=_({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:A.getInstance(e),forPlayer:u.getInstance(t)}}}),[lu]=_({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),isPassenger:!!a}}}),[du]=_({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:u.getInstance(e),vehicle:A.getInstance(t)}}}),[cu]=_({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:A.getInstance(e),seatId:t}}}),[_u]=_({name:"OnNpcExitVehicle"}),[hu]=_({name:"OnTrailerUpdate",beforeEach(e,t){return{player:u.getInstance(e),vehicle:A.getInstance(t)}}}),[uu]=_({name:"OnUnoccupiedVehicleUpdate",beforeEach(e,t,a,n,r,i,s,o,l){return{vehicle:A.getInstance(e),player:u.getInstance(t),passengerSeat:a,newX:n,newY:r,newZ:i,velX:s,velY:o,velZ:l}}}),mu=Object.freeze({onDamageStatusUpdate:qh,onDeath:eu,onMod:tu,onPaintjob:au,onRespray:nu,onSirenStateChange:ru,onSpawn:iu,onStreamIn:su,onStreamOut:ou,onPlayerEnter:lu,onPlayerExit:du,onNpcEnter:cu,onNpcExit:_u,onTrailerUpdate:hu,onUnoccupiedUpdate:uu});class pu{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return vr()}static getPlayerNetworkStats(t){return br(t.id)}static getBytesReceived(t){return Pr(t.id)}static getBytesSent(t){return Er(t.id)}static getConnectionStatus(t){return Tr(t.id)}static getConnectedTime(t){return yr(t.id)}static getIpPort(t){return Dr(t.id)}static getMessagesReceived(t){return fr(t.id)}static getMessagesRecvPerSecond(t){return Ar(t.id)}static getMessagesSent(t){return Ir(t.id)}static getPacketLossPercent(t){return Cr(t.id)}}class gu{_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){Bn(t)}static has(t,a){return pi(t.id,a)}forAll(t="win1252"){Fn(P.encodeToBuf(P.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,a="win1252"){mi(t.id,P.encodeToBuf(P.convertSpecialChar(this.text),a),this.time,this.style)}hideForPlayer(t){return Si(t.id,this.style)}}class z{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,r,i,s){this._title=t,this.columns=a,this._x=n,this._y=r,this._col1width=i,this._col2width=s}create(){if(this._id!==-1)throw new Error("[Menu]: Cannot be created twice");if(z.getInstances().length===G.MAX_MENUS)throw new Error("[Menu]: The maximum number of menus allowed to be created has been reached 128");return this._id=ud(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),z.menus.set(this._id,this),this}destroy(){if(this._id===-1)throw new Error("[Menu]: Cannot destroy before create");return md(this.id),z.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===G.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 pd(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 gd(this.id,t,a),this}disable(){if(this._id===-1)throw new Error("[Menu]: Cannot disable menu before create");return Pd(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");Id(this.id,t)}isValid(){return fd(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:sd(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:ld(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:dd(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 _d(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 hd(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===Ed(t.id))}}N.onExit(({next:e})=>(z.getInstances().forEach(t=>t.destroy()),e()));const[Su]=_({name:"OnPlayerExitedMenu",beforeEach(e){return{player:u.getInstance(e)}}}),[yu]=_({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=u.getInstance(e),n=z.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),fu=Object.freeze({onPlayerExited:Su,onPlayerSelectedRow:yu});class w{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(w.getInstances(!1).length===G.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:r,maxY:i}=this.sourceInfo;this._id=Vd(t.id,a,n,r,i);const s=fe.onDisconnect(({player:o,next:l})=>{l(),o===this.sourceInfo.player&&(this.destroy(),s())});w.playerGangZones.set(this.id,this)}else{if(w.getInstances(!0).length===G.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:r,maxY:i}=this.sourceInfo;this._id=bd(a,n,r,i),w.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?(Ud(t.id,this.id),w.playerGangZones.delete(this.id)):(vd(this.id),w.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 Gd(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)Wd(n.id,this.id,f(t));else if(a)Od(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 Bd(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)Kd(a.id,this.id);else if(t)Fd(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)Zd(n.id,this.id,f(a));else if(t)kd(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 Hd(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)jd(a.id,this.id);else if(t)Md(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?Xd(t.id,this.id):Ad(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Yd(a.id,this.id):Cd(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?zd(a.id,this.id):Td(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?$d(a.id,this.id):Dd(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?Jd(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):Nd(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?qd(t.id,this.id):Ld(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?ec(a.id,this.id,t):Rd(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()]}}N.onExit(({next:e})=>(w.getInstances(!0).forEach(t=>t.destroy()),w.getInstances(!1).forEach(t=>t.destroy()),e()));const[Pu]=_({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!0)}}}),[Iu]=_({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!0)}}}),[Eu]=_({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!1)}}}),[Au]=_({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!1)}}}),[Cu]=_({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!0)}}}),[Tu]=_({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!1)}}}),Du=Object.freeze({onPlayerEnterGlobal:Pu,onPlayerLeaveGlobal:Iu,onPlayerEnterPlayer:Eu,onPlayerLeavePlayer:Au,onPlayerClickGlobal:Cu,onPlayerClickPlayer:Tu}),C={skip:!1};N.onInit(({next:e})=>(C.skip=!1,e())),N.onExit(({next:e})=>(C.skip=!0,e()));const[j]=_({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[X]=_({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[wu]=_({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=Lt;static setTickRate=Rt;static getPlayerTickRate(t){return bt(t.id)}static setPlayerTickRate(t,a=50){return vt(t.id,a)}static toggleChunkStream=Ot;static isToggleChunkStream=Gt;static getChunkTickRate(t,a=-1){return a instanceof u?Ce(t,a.id):Ce(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof u?Te(t,a,n.id):Te(t,a,n)}static getChunkSize=Ft;static setChunkSize=Bt;static getMaxItems=kt;static setMaxItems=xt;static getVisibleItems(t,a=-1){return a instanceof u?De(t,a.id):De(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof u?we(t,a,n.id):we(t,a,n)}static getRadiusMultiplier(t,a=-1){return a instanceof u?Ne(t,a.id):Ne(t,a)}static setRadiusMultiplier(t,a,n=-1){return n instanceof u?Le(t,n.id):Le(t,a,n)}static getTypePriority=Mt;static setTypePriority=Ht;static getCellDistance=Vt;static setCellDistance=Ut;static getCellSize=Wt;static setCellSize=Kt;static toggleItemStatic=Zt;static isToggleItemStatic=jt;static toggleItemInvAreas=Xt;static isToggleItemInvAreas=Yt;static toggleItemCallbacks=zt;static isToggleItemCallbacks=$t;static toggleErrorCallback=Jt;static isToggleErrorCallback=Qt;static amxUnloadDestroyItems=qt;static processActiveItems=ea;static toggleIdleUpdate(t,a){return ta(t.id,a)}static isToggleIdleUpdate(t){return aa(t.id)}static toggleCameraUpdate(t,a){return na(t.id,a)}static isToggleCameraUpdate(t){return ra(t.id)}static toggleItemUpdate(t,a,n){return ia(t.id,a,n)}static isToggleItemUpdate(t,a){return sa(t.id,a)}static getLastUpdateTime(){return oa()}static update(t,a=-1){return la(t.id,a)}static updateEx(t,a,n,r,i,s,o,l,d){return da(t.id,a,n,r,i,s,o,l,d)}static getDistanceToItem=ca;static toggleItem(t,a,n,r){return _a(t.id,a,n,r)}static isToggleItem(t,a,n){return ha(t.id,a,n)}static toggleAllItems(t,a,n,r=[-1]){return ua(t.id,a,n,r)}static getItemInternalID(t,a,n){return ma(t.id,a,n)}static getItemStreamerID(t,a,n){return pa(t.id,a,n)}static isItemVisible(t,a,n){return ga(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=fa;static countItems=Pa;static getNearbyItems=Ia;static getAllVisibleItems(t,a,n){return Ea(t.id,a,n)}static getItemPos=Aa;static setItemPos=Ca;static getItemOffset=Ta;static setItemOffset=Da;static getFloatData=wa;static setFloatData=Na;static getIntData=La;static setIntData=Ra;static getArrayData=ba;static setArrayData=va;static isInArrayData=Oa;static appendArrayData=Ga;static removeArrayData=Fa;static getArrayDataLength=Ba;static getUpperBound=ka;static onPluginError=wu}class W{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:r,playerId:i,areaId:s,priority:o}=this.sourceInfo;const{x:l,y:d,z:h,type:m,color:p,extended:y}=this.sourceInfo;if(m<0||m>63)throw new Error("[StreamerMapIcon]: Invalid map icon type");return t??=xa.LOCAL,a??=oe.MAP_ICON_SD,o??=0,y?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=Ma(l,d,h,m,f(p),t,a,n,r,i,s,o),W.mapIcons.set(this._id,this),this):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=Ha(l,d,h,m,f(p),n,r,i,a,t,s,o),W.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||Va(this.id),W.mapIcons.delete(this._id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:Ua(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()]}}N.onExit(({next:e})=>(W.getInstances().forEach(t=>t.destroy()),e()));const[Nu,Lu]=_({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Ru,bu]=_({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?Lu(a,W.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?bu(a,W.getInstance(t)):n());const vu=Object.freeze({onStreamIn:Nu,onStreamOut:Ru});class U{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:r,areaId:i,priority:s}=this.sourceInfo;const{type:o,modelId:l,x:d,y:h,z:m,extended:p}=this.sourceInfo;if(o<0)throw new Error("[StreamerPickup]: Invalid pickup type");return t??=c.StreamerDistances.PICKUP_SD,s??=0,p?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=c.CreateDynamicPickupEx(l,o,d,h,m,t,a,n,r,i,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=c.CreateDynamicPickup(l,o,d,h,m,a,n,r,t,i,s)),U.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||c.DestroyDynamicPickup(this.id),U.pickups.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:c.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerPickup]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(c.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(c.StreamerItemTypes.PICKUP,this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,c.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()]}}N.onExit(({next:e})=>(U.getInstances().forEach(t=>t.destroy()),e()));const[Ou,Gu]=_({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Fu,Bu]=_({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?Gu(a,U.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?Bu(a,U.getInstance(t)):n());const[ku]=_({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:U.getInstance(t)}}}),xu=Object.freeze({onPlayerPickUp:ku,onStreamIn:Ou,onStreamOut:Fu});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:r,areaId:i,priority:s}=this.sourceInfo;const{size:o,x:l,y:d,z:h,extended:m}=this.sourceInfo;if(o<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=oe.CP_SD,s??=0,m?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=Wa(l,d,h,o,t,a,n,r,i,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=Ka(l,d,h,o,a,n,r,t,i,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||Re(this.id),k.checkpoints.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:be(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle the player before create");return Za(t.id,this.id,a),this}static togglePlayerAll(t,a){return ja(t.id,a)}isPlayerIn(t){return this.id===-1?!1:Xa(t.id,this.id)}static getPlayerVisible(t){return k.checkpoints.get(Ya(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()]}}N.onExit(({next:e})=>(k.checkpoints.forEach(t=>t.destroy()),e()));const[Mu,Hu]=_({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Vu,Uu]=_({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?Hu(a,k.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?Uu(a,k.getInstance(t)):n());const[Wu]=_({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),cp:k.getInstance(t)}}}),[Ku]=_({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),cp:k.getInstance(t)}}}),Zu=Object.freeze({onPlayerEnter:Wu,onPlayerLeave:Ku,onStreamIn:Mu,onStreamOut:Vu});class x{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:r,areaId:i,priority:s}=this.sourceInfo;const{type:o,size:l,x:d,y:h,z:m,nextX:p,nextY:y,nextZ:I,extended:R}=this.sourceInfo;if(o<0||o>8)throw new Error("[StreamerRaceCP]: Invalid type");if(l<0)throw new Error("[StreamerRaceCP]: Invalid size");return t??=oe.RACE_CP_SD,s??=0,R?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=za(o,d,h,m,p,y,I,l,t,a,n,r,i,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=$a(o,d,h,m,p,y,I,l,a,n,r,t,i,s)),x.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||Re(this.id),x.checkpoints.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:be(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle the player before create");return Ja(t.id,this.id,a),this}static togglePlayerAll(t,a){return Qa(t.id,a)}isPlayerIn(t){return this.id===-1?!1:qa(t.id,this.id)}static getPlayerVisible(t){return x.checkpoints.get(en(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()]}}N.onExit(({next:e})=>(x.getInstances().forEach(t=>t.destroy()),e()));const[ju,Xu]=_({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Yu,zu]=_({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?Xu(a,x.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?zu(a,x.getInstance(t)):n());const[$u]=_({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),raceCP:x.getInstance(t)}}}),[Ju]=_({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),raceCp:x.getInstance(t)}}}),Qu=Object.freeze({onPlayerEnter:$u,onPlayerLeave:Ju,onStreamIn:ju,onStreamOut:Yu});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:r,areaId:i,priority:s}=this.sourceInfo;const{modelId:o,x:l,y:d,z:h,r:m,invulnerable:p,health:y,extended:I}=this.sourceInfo;return t??=c.StreamerDistances.ACTOR_SD,s??=0,I?(typeof a=="number"?a=[0]:a??=[0],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=c.CreateDynamicActorEx(o,l,d,h,m,p,y,t,a,n,r,i,s)):(Array.isArray(a)?a=0:a??=0,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=c.CreateDynamicActor(o,l,d,h,m,p,y,a,n,r,t,i,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||c.DestroyDynamicActor(this.id),H.actors.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:c.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:c.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get virtual world before create");return c.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set virtual world before create");return c.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,n=4.1,r=!1,i=!0,s=!0,o=!1,l=0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to apply animation before create");if(!pe(t,a))throw new Error("[StreamerActor]: Invalid anim library or name");return c.ApplyDynamicActorAnimation(this.id,t,a,n,r,i,s,o,l)}clearAnimations(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to clear animation before create");return c.ClearDynamicActorAnimations(this.id)}getFacingAngle(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get facing angle before create");return c.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set facing angle before create");return c.SetDynamicActorFacingAngle(this.id,t)}getPos(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get pos before create");return c.GetDynamicActorPos(this.id)}setPos(t,a,n){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set pos before create");return c.SetDynamicActorPos(this.id,t,a,n)}getHealth(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get health before create");return c.GetDynamicActorHealth(this.id)}setHealth(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set health before create");return c.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:c.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set invulnerable before create");return c.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=c.GetPlayerTargetDynamicActor(t.id);return H.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=c.GetPlayerCameraTargetDynActor(t.id);return H.actors.get(a)}getSkin(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get skin before create");return Io(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:Eo(this.id,t)}getSpawnInfo(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get spawn info before create");return Ao(this.id)}getAnimation(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get animation before create");return c.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(c.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(c.StreamerItemTypes.ACTOR,this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,c.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()]}}N.onExit(({next:e})=>(H.getInstances().forEach(t=>t.destroy()),e()));const[qu]=_({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:H.getInstance(e),forPlayer:u.getInstance(t)}}}),[em]=_({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:H.getInstance(e),forPlayer:u.getInstance(t)}}}),[tm]=_({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,a,n,r){return{player:u.getInstance(e),actor:H.getInstance(t),amount:a,weapon:n,bodyPart:r}}}),am=Object.freeze({onStreamIn:qu,onStreamOut:em,onPlayerGiveDamage:tm});class Y{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:r,worldId:i,interiorId:s,playerId:o,areaId:l,priority:d}=this.sourceInfo;const{charset:h,text:m,color:p,drawDistance:y,x:I,y:R,z:O,extended:ee}=this.sourceInfo;return t??=T.PLAYER_ID,a??=T.VEHICLE_ID,r??=oe.TEXT_3D_LABEL_SD,n??=!1,d??=0,ee?(typeof i=="number"?i=[-1]:i??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof o=="number"?o=[-1]:o??=[-1],typeof l=="number"?l=[-1]:l??=[-1],this._id=th(m,f(p),I,R,O,y,t,a,n,r,i,s,o,l,d,h||"utf8")):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(o)?o=-1:o??=-1,Array.isArray(l)?l=-1:l??=-1,this._id=eh(h||"utf8",m,f(p),I,R,O,y,t,a,n,i,s,o,r,l,d)),Y.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||tn(this.id),Y.texts.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:an(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 nh(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,ah(this.id,f(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 r=g.setFloatData(E.TEXT_3D_LABEL,this.id,te.ATTACH_OFFSET_X,t);return g.setFloatData(E.TEXT_3D_LABEL,this.id,te.ATTACH_OFFSET_Y,a),g.setFloatData(E.TEXT_3D_LABEL,this.id,te.ATTACH_OFFSET_Z,n),this.sourceInfo.x=t,this.sourceInfo.y=a,this.sourceInfo.z=n,r}attachToPlayer(t,a,n,r){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Cannot attachToPlayer before created");const i=typeof t=="number"?t:t.id,s=g.setIntData(E.TEXT_3D_LABEL,this.id,te.ATTACHED_PLAYER,i);return i!==T.PLAYER_ID&&this.setOffsets(a,n,r),this.sourceInfo.attachedPlayer=i,s}attachToVehicle(t,a,n,r){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Cannot attachToVehicle before created");const i=typeof t=="number"?t:t.id,s=g.setIntData(E.TEXT_3D_LABEL,this.id,te.ATTACHED_VEHICLE,i);return i!==T.VEHICLE_ID&&this.setOffsets(a,n,r),this.sourceInfo.attachedVehicle=i,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()]}}N.onExit(({next:e})=>(Y.getInstances().forEach(t=>t.destroy()),e()));const[nm,rm]=_({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[im,sm]=_({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?rm(a,Y.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?sm(a,Y.getInstance(t)):n());const om=Object.freeze({onStreamIn:nm,onStreamOut:im});class b{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:r,playerId:i,areaId:s,priority:o}=this.sourceInfo;const{modelId:l,x:d,y:h,z:m,rx:p,ry:y,rz:I,extended:R}=this.sourceInfo;return t??=c.StreamerDistances.OBJECT_SD,a??=c.StreamerDistances.OBJECT_DD,o??=0,R?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=c.CreateDynamicObjectEx(l,d,h,m,p,y,I,t,a,n,r,i,s,o)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=c.CreateDynamicObject(l,d,h,m,p,y,I,n,r,i,t,a,s,o)),b.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||c.DestroyDynamicObject(this.id),b.objects.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:c.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get position before create");return c.GetDynamicObjectPos(this.id)}setPos(t,a,n){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set position before create");return c.SetDynamicObjectPos(this.id,t,a,n)}getRot(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get rotation before create");return c.GetDynamicObjectRot(this.id)}setRot(t,a,n){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set rotation before create");return c.SetDynamicObjectRot(this.id,t,a,n)}move(t,a,n,r,i=-1e3,s=-1e3,o=-1e3){if(this.id===-1)throw new Error("[StreamerObject]: Cannot start moving before create");if(r<0)throw new Error("[StreamerObject]: speed must not be less than 0");if(r>120*1e3)throw new Error("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),c.MoveDynamicObject(this.id,t,a,n,r,i,s,o)}stop(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot stop moving before create");return c.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:c.IsDynamicObjectMoving(this.id)}attachCamera(t){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachCamera before both are created");return c.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,n,r,i,s,o,l=!0){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToObject before both are created");return c.AttachDynamicObjectToObject(this.id,t.id,a,n,r,i,s,o,l)}attachToPlayer(t,a,n,r,i,s,o){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToPlayer before both are created");return c.AttachDynamicObjectToPlayer(this.id,t.id,a,n,r,i,s,o)}attachToVehicle(t,a,n,r,i,s,o){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return c.AttachDynamicObjectToVehicle(this.id,t.id,a,n,r,i,s,o)}edit(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to edit before create");return t.endObjectEditing(),c.EditDynamicObject(t.id,this.id)}isMaterialUsed(t){return this.id===-1?!1:c.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:c.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,a,n){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material before create");return c.GetDynamicObjectMaterial(this.id,t,a,n)}setMaterial(t,a,n,r,i="#000"){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material before create");return c.SetDynamicObjectMaterial(this.id,t,a,n,r,f(i))}isMaterialTextUsed(t){return this.id===-1?!1:c.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?c.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material text before create");return ih(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,r=c.MaterialTextSizes.SIZE_256x128,i="Arial",s=24,o=1,l="#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,r,i,s,o,f(l),f(d),h)}getPlayerCameraTarget(t){const a=c.GetPlayerCameraTargetDynObject(t.id);if(a!==T.OBJECT_ID)return b.objects.get(a)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(c.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(c.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return c.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return c.GetDynamicObjectNoCameraCol(this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,c.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()]}}N.onExit(({next:e})=>(b.getInstances().forEach(t=>t.destroy()),e()));const[lm,dm]=_({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[cm,_m]=_({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?dm(a,b.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?_m(a,b.getInstance(t)):n());const[hm]=_({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:b.getInstance(e)}}}),[um]=_({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,a,n,r,i,s,o,l){return{player:u.getInstance(e),object:b.getInstance(t),response:a,x:n,y:r,z:i,rX:s,rY:o,rZ:l}}}),[mm]=_({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,r,i){return{player:u.getInstance(e),object:b.getInstance(t),modelId:a,x:n,y:r,z:i}}}),[pm]=_({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,r,i){return{player:u.getInstance(e),object:b.getInstance(a),weapon:t,x:n,y:r,z:i}}}),[gm]=_({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,r,i,s,o,l,d,h,m,p,y){return{player:u.getInstance(e),response:t,index:a,modelId:n,boneId:r,fOffsetX:i,fOffsetY:s,fOffsetZ:o,fRotX:l,fRotY:d,fRotZ:h,fScaleX:m,fScaleY:p,fScaleZ:y}}}),Sm=Object.freeze({onMoved:hm,onPlayerEdit:um,onPlayerSelect:mm,onPlayerShoot:pm,onPlayerEditAttached:gm,onStreamIn:lm,onStreamOut:cm});class L{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:r,extended:i}=this.sourceInfo;if(i)if(typeof t=="number"?t=[-1]:t??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],r==="circle"){const{x:s,y:o,size:l}=this.sourceInfo;if(l<0)throw new Error("[StreamerArea]: Invalid circle extend size");this._id=c.CreateDynamicCircleEx(s,o,l,t,a,n)}else if(r==="cuboid"){const{minX:s,minY:o,minZ:l,maxX:d,maxY:h,maxZ:m}=this.sourceInfo;this._id=c.CreateDynamicCuboidEx(s,o,l,d,h,m,t,a,n)}else if(r==="cylinder"){const{x:s,y:o,minZ:l,maxZ:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=c.CreateDynamicCylinderEx(s,o,l,d,h,t,a,n)}else if(r==="polygon"){const{points:s,minZ:o,maxZ:l}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=c.CreateDynamicPolygonEx(s,o,l,t,a,n)}else if(r==="rectangle"){const{minX:s,minY:o,maxX:l,maxY:d}=this.sourceInfo;this._id=c.CreateDynamicRectangleEx(s,o,l,d,t,a,n)}else{const{x:s,y:o,z:l,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere extended size");this._id=c.CreateDynamicSphereEx(s,o,l,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,r==="circle"){const{x:s,y:o,size:l}=this.sourceInfo;if(l<0)throw new Error("[StreamerArea]: Invalid circle size");this._id=c.CreateDynamicCircle(s,o,l,t,a,n)}else if(r==="cuboid"){const{minX:s,minY:o,minZ:l,maxX:d,maxY:h,maxZ:m}=this.sourceInfo;this._id=c.CreateDynamicCuboid(s,o,l,d,h,m,t,a,n)}else if(r==="cylinder"){const{x:s,y:o,minZ:l,maxZ:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=c.CreateDynamicCylinder(s,o,l,d,h,t,a,n)}else if(r==="polygon"){const{points:s,minZ:o,maxZ:l}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=c.CreateDynamicPolygon(s,o,l,t,a,n)}else if(r==="rectangle"){const{minX:s,minY:o,maxX:l,maxY:d}=this.sourceInfo;this._id=c.CreateDynamicRectangle(s,o,l,d,t,a,n)}else{const{x:s,y:o,z:l,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere size");this._id=c.CreateDynamicSphere(s,o,l,d,t,a,n)}return L.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||c.DestroyDynamicArea(this.id),L.areas.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:c.IsValidDynamicArea(this.id)}getType(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to get type before create");return c.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 c.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 c.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,a=!1){return this.id===-1?!1:c.IsPlayerInDynamicArea(t.id,this.id,a)}static isPlayerInAny(t,a=!1){return c.IsPlayerInAnyDynamicArea(t.id,a)}isAnyPlayerIn(t=!1){return this.id===-1?!1:c.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return c.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t){return L.getPlayerAreasNumber(t)?c.GetPlayerDynamicAreas(t.id).map(a=>L.areas.get(a)):[]}static getPlayerAreasNumber(t){return c.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,n){return this.id===-1?!1:c.IsPointInDynamicArea(this.id,t,a,n)}static isPointInAny(t,a,n){return c.IsPointInAnyDynamicArea(t,a,n)}isLineIn(t,a,n,r,i,s){return this.id===-1?!1:c.IsLineInDynamicArea(this.id,t,a,n,r,i,s)}static isLineInAny(t,a,n,r,i,s){return c.IsLineInAnyDynamicArea(t,a,n,r,i,s)}static getForPoint(t,a,n){return L.getNumberForPoint(t,a,n)?c.GetDynamicAreasForPoint(t,a,n).map(r=>L.getInstance(r)):[]}static getNumberForPoint(t,a,n){return c.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,r,i,s){return L.getNumberForLine(t,a,n,r,i,s)?c.GetDynamicAreasForLine(t,a,n,r,i,s).map(o=>L.areas.get(o)):[]}static getNumberForLine(t,a,n,r,i,s){return c.GetNumberDynamicAreasForLine(t,a,n,r,i,s)}attachToObject(t,a=0,n=0,r=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to object before create");return c.AttachDynamicAreaToObject(this.id,t.id,c.StreamerObjectTypes.DYNAMIC,T.PLAYER_ID,a,n,r)}attachToPlayer(t,a=0,n=0,r=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to player before create");return c.AttachDynamicAreaToPlayer(this.id,t.id,a,n,r)}attachToVehicle(t,a=0,n=0,r=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to vehicle before create");return c.AttachDynamicAreaToVehicle(this.id,t.id,a,n,r)}toggleSpectateMode(t){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle specate mode before create");return c.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:c.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(c.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(c.StreamerItemTypes.AREA,this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,c.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()]}}N.onExit(({next:e})=>(L.getInstances().forEach(t=>t.destroy()),e()));const[ym,fm]=_({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Pm,Im]=_({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?fm(a,L.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?Im(a,L.getInstance(t)):n());const[Em]=_({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),area:L.getInstance(t)}}}),[Am]=_({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),area:L.getInstance(t)}}}),Cm=Object.freeze({onStreamIn:ym,onStreamOut:Pm,onPlayerEnter:Em,onPlayerLeave:Am});class S{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:r,charset:i="iso-8859-1"}=this.sourceInfo,s=P.encodeToBuf(P.convertSpecialChar(n),i);if(r){if(S.getInstances(!1).length===G.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=h_(r.id,t,a,s);const o=fe.onDisconnect(({player:l,next:d})=>{const h=d();return l===r&&(this.destroy(),o()),h});S.playerTextDraws.set(this.id,this)}else{if(S.getInstances(!0).length===G.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Ec(t,a,s),S.globalTextDraws.set(this.id,this)}return this}destroy(){this.id===-1&&S.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(u_(t.id,this.id),S.playerTextDraws.delete(this.id)):(Ac(this.id),S.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return S.beforeCreateWarn("set font"),this;const{player:a}=this.sourceInfo;return a?A_(a.id,this.id,t):Oc(this.id,t),this}setColor(t){if(this.id===-1)return S.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 S.beforeCreateWarn("set box color"),this;const{player:a}=this.sourceInfo;return a?f_(a.id,this.id,t):Lc(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return S.beforeCreateWarn("set background color"),this;const{player:a}=this.sourceInfo;return a?E_(a.id,this.id,t):vc(this.id,t),this}setAlignment(t){if(this.id===-1)return S.beforeCreateWarn("set alignment"),this;const{player:a}=this.sourceInfo;return a?g_(a.id,this.id,t):Dc(this.id,t),this}setLetterSize(t,a){if(this.id===-1)return S.beforeCreateWarn("set letter size"),this;const{player:n}=this.sourceInfo;return n?m_(n.id,this.id,t,a):Cc(this.id,t,a),this}setOutline(t){if(this.id===-1)return S.beforeCreateWarn("set outline model"),this;if(t<0)throw new Error("[TextDraw]: Invalid outline value");const{player:a}=this.sourceInfo;return a?I_(a.id,this.id,t):bc(this.id,t),this}setPreviewModel(t){if(this.id===-1)return S.beforeCreateWarn("set preview model"),this;this.setFont(ne.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?L_(a.id,this.id,t):Vc(this.id,t),this}setPreviewRot(t,a,n,r=1){if(this.id===-1)return S.beforeCreateWarn("set preview rot"),this;this.setFont(ne.MODEL_PREVIEW);const{player:i}=this.sourceInfo;return i?R_(i.id,this.id,t,a,n,r):Uc(this.id,t,a,n,r),this}setPreviewVehColors(t,a){if(this.id===-1)return S.beforeCreateWarn("set preview veh col"),this;this.setFont(ne.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?b_(n.id,this.id,t,a):Wc(this.id,t,a),this}setProportional(t=!0){if(this.id===-1)return S.beforeCreateWarn("set Proportional"),this;const{player:a}=this.sourceInfo;return a?C_(a.id,this.id,t):Gc(this.id,t),this}setSelectable(t){if(this.id===-1)return S.beforeCreateWarn("set Selectable"),this;const{player:a}=this.sourceInfo;return a?T_(a.id,this.id,t):Fc(this.id,t),this}setShadow(t){if(this.id===-1)return S.beforeCreateWarn("set shadow"),this;if(t<0)throw new Error("[TextDraw]: Invalid shadow value");const{player:a}=this.sourceInfo;return a?P_(a.id,this.id,t):Rc(this.id,t),this}setString(t,a){if(this.id===-1)return S.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)throw new Error("[TextDraw]: Invalid text length");const{player:n,charset:r="iso-8859-1"}=this.sourceInfo,i=P.encodeToBuf(P.convertSpecialChar(t),r);return n?N_(n.id,this.id,i):a?Ic(this.id,a.id,i):Hc(this.id,i),this}setTextSize(t,a){if(this.id===-1)return S.beforeCreateWarn("set TextSize"),this;const{player:n}=this.sourceInfo;return n?p_(n.id,this.id,t,a):Tc(this.id,t,a),this}useBox(t){if(this.id===-1)return S.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?y_(a.id,this.id,t):Nc(this.id,t),this}static beforeCreateWarn(t){throw new Error(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return S.beforeCreateWarn("show"),this;const a=this.sourceInfo.player;if(a)D_(a.id,this.id);else if(t)Bc(t.id,this.id);else throw new Error("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return S.beforeCreateWarn("hide"),this;const a=this.sourceInfo.player;if(a)w_(a.id,this.id);else if(t)kc(t.id,this.id);else throw new Error("[TextDraw]: invalid player for hide");return this}showAll(){if(this.id===-1)return S.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 S.beforeCreateWarn("hideAll"),this;if(!this.sourceInfo.player)return Mc(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be hide for all.")}isValid(){const t=this.sourceInfo.player;return t?jc(t.id,this.id):tc(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:a}=this.sourceInfo;return a?Xc(a.id,this.id):t?ac(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?Yc(t.id,this.id):nc(this.id)}setPos(t,a){if(this.id===-1)return S.beforeCreateWarn("set position"),this;const n=this.sourceInfo.player;return n?zc(n.id,this.id,t,a):rc(this.id,t,a),this}getLetterSize(){if(this.id===-1)return S.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?$c(t.id,this.id):ic(this.id)}getTextSize(){if(this.id===-1)return S.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?Jc(t.id,this.id):sc(this.id)}getPos(){if(this.id===-1)return S.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?Qc(t.id,this.id):oc(this.id)}getColor(){if(this.id===-1)return S.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?qc(t.id,this.id):lc(this.id)}getBoxColor(){if(this.id===-1)return S.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?e_(t.id,this.id):dc(this.id)}getBackgroundColor(){if(this.id===-1)return S.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?t_(t.id,this.id):cc(this.id)}getShadow(){if(this.id===-1)return S.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?a_(t.id,this.id):_c(this.id)}getOutline(){if(this.id===-1)return S.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?n_(t.id,this.id):hc(this.id)}getFont(){if(this.id===-1)return S.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?r_(t.id,this.id):uc(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?i_(t.id,this.id):mc(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?s_(t.id,this.id):pc(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?o_(t.id,this.id):gc(this.id)}getAlignment(){if(this.id===-1)return S.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?l_(t.id,this.id):Sc(this.id)}getPreviewModel(){if(this.id===-1)return S.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?d_(t.id,this.id):yc(this.id)}getPreviewRot(){if(this.id===-1)return S.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?c_(t.id,this.id):fc(this.id)}getPreviewVehColors(){if(this.id===-1)return S.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?__(t.id,this.id):Pc(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()]}}N.onExit(({next:e})=>(S.getInstances(!0).forEach(t=>t.destroy()),S.getInstances(!1).forEach(t=>t.destroy()),e()));const[Tm]=_({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===T.TEXT_DRAW?t:S.getInstance(t,!0)}}}),[Dm]=_({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===T.TEXT_DRAW?t:S.getInstance(t,!1)}}}),wm=Object.freeze({onPlayerClickGlobal:Tm,onPlayerClickPlayer:Dm});function Nm(e,t){return(e&t)===t}function Lm(e,t,a){return(e&a)===a&&(t&a)!==a}function Rm(e,t){return!!(e&t)}function bm(e,t,a){return(e&a)!==a&&(t&a)===a}export{Me as ArtworkEnum,Qe as BodyPartsEnum,qe as BoneIdsEnum,ot as BulletHitTypesEnum,ae as CameraCutStylesEnum,Je as CameraModesEnum,at as CarModTypeEnum,He as ClickSourcesEnum,Ue as ConnectionStatusEnum,ue as DamageDeathReasonEnum,D as Dialog,_e as DialogStylesEnum,Y as Dynamic3DTextLabel,om as Dynamic3DTextLabelEvent,H as DynamicActor,am as DynamicActorEvent,L as DynamicArea,Cm as DynamicAreaEvent,Zu as DynamicCheckPointEvent,k as DynamicCheckpoint,W as DynamicMapIcon,vu as DynamicMapIconEvent,b as DynamicObject,Sm as DynamicObjectEvent,U as DynamicPickup,xu as DynamicPickupEvent,x as DynamicRaceCP,Qu as DynamicRaceCPEvent,F as ERecordStatus,km as E_STREAMER,Ve as EditResponseTypesEnum,ze as FightingStylesEnum,et as ForceSyncEnum,N as GameMode,gu as GameText,w as GangZone,Du as GangZoneEvent,P as I18n,T as InvalidEnum,We as KeysEnum,G as LimitsEnum,xm as MapIconStyles,$e as MapIconStylesEnum,Ke as MarkerModesEnum,Mm as MaterialTextAlign,Hm as MaterialTextSizes,z as Menu,fu as MenuEvent,Ze as NPCPlaybackEnum,pu as NetStats,B as Npc,un as NpcEvent,Xe as ObjectMaterialAlignmmentEnum,je as ObjectMaterialTextSizeEnum,u as Player,fe as PlayerEvent,$ as PlayerStateEnum,dt as RecordTypesEnum,Ye as SelectObjectTypesEnum,he as SpecialActionsEnum,le as SpectateModesEnum,g as Streamer,Vm as StreamerAreaTypes,Um as StreamerDistances,Wm as StreamerItemTypes,Km as StreamerMiscellaneous,Zm as StreamerObjectTypes,S as TextDraw,tt as TextDrawAlignEnum,wm as TextDrawEvent,ne as TextDrawFontsEnum,A as Vehicle,mu as VehicleEvent,rt as VehicleModelInfoEnum,nt as VehicleParamsEnum,it as WeaponEnum,st as WeaponSkillsEnum,lt as WeaponStatesEnum,ct as animateLib,_ as defineEvent,j_ as getAnimateDurationByLibName,Nm as isHolding,Lm as isPressed,Rm as isPressing,bm as isReleased,me as isValidAnimateLib,pe as isValidAnimateName,f as rgba};
|
|
1
|
+
import{encodingExists as Tt,encode as Dt,decode as wt}from"iconv-lite";import*as c from"@infernus/streamer";import{Streamer_GetTickRate as Nt,Streamer_SetTickRate as Lt,Streamer_GetPlayerTickRate as bt,Streamer_SetPlayerTickRate as Rt,Streamer_ToggleChunkStream as vt,Streamer_IsToggleChunkStream as Ot,Streamer_GetChunkTickRate as Te,Streamer_SetChunkTickRate as De,Streamer_GetChunkSize as Gt,Streamer_SetChunkSize as Ft,Streamer_GetMaxItems as Bt,Streamer_SetMaxItems as kt,Streamer_GetVisibleItems as we,Streamer_SetVisibleItems as Ne,Streamer_GetRadiusMultiplier as Le,Streamer_SetRadiusMultiplier as be,Streamer_GetTypePriority as xt,Streamer_SetTypePriority as Mt,Streamer_GetCellDistance as Ht,Streamer_SetCellDistance as Vt,Streamer_GetCellSize as Ut,Streamer_SetCellSize as Wt,Streamer_ToggleItemStatic as Kt,Streamer_IsToggleItemStatic as Zt,Streamer_ToggleItemInvAreas as jt,Streamer_IsToggleItemInvAreas as Xt,Streamer_ToggleItemCallbacks as Yt,Streamer_IsToggleItemCallbacks as zt,Streamer_ToggleErrorCallback as $t,Streamer_IsToggleErrorCallback as Jt,Streamer_AmxUnloadDestroyItems as Qt,Streamer_ProcessActiveItems as qt,Streamer_ToggleIdleUpdate as ea,Streamer_IsToggleIdleUpdate as ta,Streamer_ToggleCameraUpdate as aa,Streamer_IsToggleCameraUpdate as na,Streamer_ToggleItemUpdate as ra,Streamer_IsToggleItemUpdate as ia,Streamer_GetLastUpdateTime as sa,Streamer_Update as oa,Streamer_UpdateEx as la,Streamer_GetDistanceToItem as da,Streamer_ToggleItem as ca,Streamer_IsToggleItem as _a,Streamer_ToggleAllItems as ha,Streamer_GetItemInternalID as ua,Streamer_GetItemStreamerID as ma,Streamer_IsItemVisible as pa,Streamer_DestroyAllVisibleItems as ga,Streamer_CountVisibleItems as fa,Streamer_DestroyAllItems as Sa,Streamer_CountItems as ya,Streamer_GetNearbyItems as Pa,Streamer_GetAllVisibleItems as Ia,Streamer_GetItemPos as Ea,Streamer_SetItemPos as Aa,Streamer_GetItemOffset as Ca,Streamer_SetItemOffset as Ta,Streamer_GetFloatData as Da,Streamer_SetFloatData as wa,Streamer_GetIntData as Na,Streamer_SetIntData as La,Streamer_GetArrayData as ba,Streamer_SetArrayData as Ra,Streamer_IsInArrayData as va,Streamer_AppendArrayData as Oa,Streamer_RemoveArrayData as Ga,Streamer_GetArrayDataLength as Fa,Streamer_GetUpperBound as Ba,MapIconStyles as ka,StreamerDistances as le,CreateDynamicMapIconEx as xa,CreateDynamicMapIcon as Ma,DestroyDynamicMapIcon as Ha,IsValidDynamicMapIcon as Va,StreamerItemTypes as E,CreateDynamicCPEx as Ua,CreateDynamicCP as Wa,DestroyDynamicCP as Re,IsValidDynamicCP as ve,TogglePlayerDynamicCP as Ka,TogglePlayerAllDynamicCPs as Za,IsPlayerInDynamicCP as ja,GetPlayerVisibleDynamicCP as Xa,CreateDynamicRaceCPEx as Ya,CreateDynamicRaceCP as za,TogglePlayerDynamicRaceCP as $a,TogglePlayerAllDynamicRaceCPs as Ja,IsPlayerInDynamicRaceCP as Qa,GetPlayerVisibleDynamicRaceCP as qa,DestroyDynamic3DTextLabel as en,IsValidDynamic3DTextLabel as tn,E_STREAMER as te}from"@infernus/streamer";import{E_STREAMER as Km,MapIconStyles as Zm,MaterialTextAlign as jm,MaterialTextSizes as Xm,StreamerAreaTypes as Ym,StreamerDistances as zm,StreamerItemTypes as $m,StreamerMiscellaneous as Jm,StreamerObjectTypes as Qm}from"@infernus/streamer";function Oe(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 an(e,t){const a={},n=Object.keys(e);for(let r=0;r<n.length;r++){const i=n[r],s=e[i];a[t(s,i,e)]=s}return a}function ae(e,t){const a=Object.keys(t);for(let n=0;n<a.length;n++){const r=a[n],i=t[r],s=e[r];Array.isArray(i)?Array.isArray(s)?e[r]=ae(s,i):e[r]=ae([],i):Oe(i)?Oe(s)?e[r]=ae(s,i):e[r]=ae({},i):(s===void 0||i!==void 0)&&(e[r]=i)}return e}function nn(e,t){const a={...e};for(let n=0;n<t.length;n++){const r=t[n];delete a[r]}return a}const rn=new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+","gu");function sn(e){return Array.from(e.match(rn)??[])}function ce(e){return sn(e).map(a=>a.toLowerCase()).join("_")}function on(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function ln(e){return Object.is(e,-0)?"-0":e.toString()}function dn(e){const t=[],a=e.length;if(a===0)return t;let n=0,r="",i="",s=!1;for(e.charCodeAt(0)===46&&(t.push(""),n++);n<a;){const o=e[n];i?o==="\\"&&n+1<a?(n++,r+=e[n]):o===i?i="":r+=o:s?o==='"'||o==="'"?i=o:o==="]"?(s=!1,t.push(r),r=""):r+=o:o==="["?(s=!0,r&&(t.push(r),r="")):o==="."?r&&(t.push(r),r=""):r+=o,n++}return r&&t.push(r),t}function _e(e,t,a){if(e==null)return a;switch(typeof t){case"string":{const n=e[t];return n===void 0?on(t)?_e(e,dn(t),a):a:n}case"number":case"symbol":{typeof t=="number"&&(t=ln(t));const n=e[t];return n===void 0?a:n}default:{if(Array.isArray(t))return cn(e,t,a);Object.is(t?.valueOf(),-0)?t="-0":t=String(t);const n=e[t];return n===void 0?a:n}}}function cn(e,t,a){if(t.length===0)return a;let n=e;for(let r=0;r<t.length;r++){if(n==null)return a;n=n[t[r]]}return n===void 0?a:n}function _n(e){return e instanceof Buffer}class y{constructor(t,a){this.defaultLocale=t,this.locales=a,this.defaultLocale=ce(t),this.locales=y.snakeLocaleKeys(a)}addLocales=t=>{ae(this.locales,y.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=nn(this.locales,t)};$t=(t,a,n=this.defaultLocale)=>{const r=this.locales[ce(n)],i=_e(this.locales[this.defaultLocale],t),s=_e(r,t,i);if(s===void 0)throw new Error(`[i18n]: cannot find ${n}["${t}"]`);if(typeof s!="string")return JSON.stringify(s);let o=s;if(a&&a.length){const l=/%s/i;for(let d=0;d<a.length&&o.match(l)!==null;d++)o=o.replace(l,a[d])}return o};static isValidate(t){if(!Tt(t))throw new Error(`[i18n]: unknown charset ${t}`)}static encodeToBuf(t,a){return y.isValidate(a),[...Dt(t,a),0]}static decodeFromBuf(t,a="utf8"){y.isValidate(a);const n=_n(t)?t:Buffer.from(y.getValidStr(t));return wt(n,a)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return an(t,(a,n)=>ce(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 v=new Map;function hn(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function un(e,...t){const{defaultValue:a=!0,name:n,beforeEach:r,afterEach:i,throwOnError:s=!1}=e,o=v.get(n);if(!o||!o.length)return+a;const l=r?r(...t):{},d=[];let h=-1;const m=()=>{if(h++,h<o.length){try{const p=o[h]({next:m,defaultValue:a,...l});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 i&&(d.length?Promise.allSettled(d).then(()=>i(l)):i(l)),a};return hn(m(),a)}function _(e){const{name:t,identifier:a,isNative:n=!0}=e;if(v.has(t)){const o=`event [name:${t}] error: already defined.`;throw new Error(o)}function r(...o){return un(e,...o)}function i(o){v.has(t)||v.set(t,[]);const l=v.get(t).push(o)-1;return()=>{const d=v.get(t);if(!d)return;const h=d.length-1,m=h<l?h:l;for(let p=m;p>=0;p--)if(d[p]===o){d.splice(p,1);break}return d.length===0&&v.delete(t),d.length}}const s=[i,r];return n&&(typeof a<"u"&&samp.registerEvent(t,a),samp.on(t,r)),s}const[mn]=_({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[pn]=_({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[gn]=_({name:"OnNpcModeInit"}),[fn]=_({name:"OnNpcModeExit"}),[Sn]=_({name:"OnNpcSpawn"}),[yn]=_({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:y.decodeFromBuf(t)}}}),Pn=Object.freeze({onConnect:mn,onDisconnect:pn,onModeInit:gn,onModeExit:fn,onSpawn:Sn,onClientMessage:yn}),In=e=>!!samp.callNative("IsValidNickName","s",e),En=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},An=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),Cn=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),Tn=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),Dn=e=>!!samp.callNative("IsValidServerRule","s",e),wn=e=>!!samp.callNative("RemoveServerRule","s",e),Nn=e=>{samp.callNative("AllowAdminTeleport","i",e)},Ln=()=>!!samp.callNative("IsAdminTeleportAllowed",""),bn=e=>{samp.callNative("AllowInteriorWeapons","i",e)},Rn=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),vn=()=>!!samp.callNative("AreAllAnimationsEnabled",""),On=e=>{samp.callNative("EnableAllAnimations","i",e)},Gn=e=>{const[t]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return t},Fn=e=>samp.callNative("GetConsoleVarAsInt","s",e),Bn=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),kn=()=>samp.callNative("GetWeather",""),xn=e=>samp.callNative("GetServerRuleFlags","s",e),Mn=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Hn=e=>!!samp.callNative("SetModeRestartTime","f",e),Vn=()=>samp.callNativeFloat("GetModeRestartTime",""),Un=(e,t,a)=>samp.callNative("GameTextForAll","aii",e,t,a),Wn=e=>{samp.callNative("HideGameTextForAll","i",e)},Kn=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),Zn=()=>samp.callNative("GetMaxPlayers",""),he=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),jn=e=>samp.callNative("SetGameModeText","s",e),Xn=e=>samp.callNative("ShowNameTags","i",e),Yn=e=>samp.callNative("ShowPlayerMarkers","i",e),zn=e=>samp.callNative("SetWorldTime","i",e),$n=()=>samp.callNative("GetWorldTime",""),Jn=()=>samp.callNative("EnableVehicleFriendlyFire",""),Qn=e=>samp.callNative("SetWeather","i",e),qn=()=>samp.callNativeFloat("GetGravity",""),er=e=>samp.callNative("SetGravity","f",e),tr=(e,t,a,n,r)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,r),ar=e=>samp.callNative("EnableZoneNames","i",e),nr=()=>samp.callNative("UsePlayerPedAnims",""),rr=()=>samp.callNative("DisableInteriorEnterExits",""),ir=e=>samp.callNative("SetNameTagDrawDistance","f",e),sr=()=>samp.callNative("DisableNameTagLOS",""),or=e=>samp.callNative("LimitGlobalChatRadius","f",e),lr=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),dr=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),cr=()=>samp.callNative("GetServerTickRate",""),_r=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),hr=e=>samp.callNative("EnableStuntBonusForAll","i",e),ur=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},mr=()=>!!samp.callNative("ChatTextReplacementToggled",""),pr=e=>samp.callNative("GetWeaponSlot","i",e),gr=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},Ge=()=>samp.callNative("GetAvailableClasses",""),fr=e=>{if(e<Ge()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,r=0,i=0,s=0,o=0,l=0,d=0,h=0,m=0,p=0,S=0]=t;return{teamId:a,modelId:n,spawnX:r,spawnY:i,spawnZ:s,zAngle:o,weapon1:l,weapon1Ammo:d,weapon2:h,weapon2Ammo:m,weapon3:p,weapon3Ammo:S}},Sr=(e,t,a,n,r,i,s,o,l,d,h,m,p)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,r,i,s,o,l,d,h,m,p),yr=e=>samp.callNative("SetTeamCount","i",e),Pr=(e,t,a,n,r,i,s,o,l,d,h)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,r,i,s,o,l,d,h),Ir=(e,t,a,n,r,i,s,o,l,d,h,m)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,r,i,s,o,l,d,h,m),Er=(e,t,a,n,r,i,s,o,l,d,h,m,p)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,r,i,s,o,l,d,h,m,p),Ar=e=>samp.callNative("SpawnPlayer","i",e),Cr=e=>{const[t,a=0,n=0,r=0,i=0,s=0,o=0,l=0,d=0,h=0,m=0,p=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawnX:n,spawnY:r,spawnZ:i,zAngle:s,weapon1:o,weapon1Ammo:l,weapon2:d,weapon2Ammo:h,weapon3:m,weapon3Ammo:p}},Tr=e=>samp.callNative("NetStats_GetConnectedTime","i",e),Dr=e=>samp.callNative("NetStats_MessagesReceived","i",e),wr=e=>samp.callNative("NetStats_BytesReceived","i",e),Nr=e=>samp.callNative("NetStats_MessagesSent","i",e),Lr=e=>samp.callNative("NetStats_BytesSent","i",e),br=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),Rr=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),vr=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Or=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},Gr=e=>!!samp.callNative("IsPlayerAdmin","i",e),Fr=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),Br=e=>!!samp.callNative("Kick","i",e),kr=e=>!!samp.callNative("Ban","i",e),xr=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},Mr=()=>samp.callNative("GetNetworkStats","Si",1024),Hr=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Vr=e=>samp.callNative("UnBlockIpAddress","s",e),Ur=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return y.decodeFromBuf(y.getValidStr(a),t)},Wr=(e,t,a,n,r)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,r),Kr=()=>{samp.callNative("ClearBanList","")},Zr=e=>!!samp.callNative("IsBanned","s",e),jr=e=>samp.callNative("GetPlayerRawIp","i",e),Xr=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},Yr=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,r)=>{n!==0&&(a+=Math.pow(16,r*2)*n)}),a},zr=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),$r=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Jr=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Qr=e=>samp.callNative("GetPlayerWeather","i",e),qr=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:a,yMax:n,yMin:r}},ei=e=>samp.callNativeFloat("GetPlayerZAim","i",e),ti=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},ai=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:r}},ni=e=>samp.callNative("GetPlayerDialogID","i",e),ri=e=>samp.callNative("GetPlayerSpectateID","i",e),ii=e=>samp.callNative("GetPlayerSpectateType","i",e),si=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),oi=e=>samp.callNativeFloat("GetPlayerGravity","i",e),li=e=>!!samp.callNative("IsPlayerSpawned","i",e),di=e=>!!samp.callNative("IsPlayerControllable","i",e),ci=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),_i=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),hi=e=>!!samp.callNative("GetPlayerGhostMode","i",e),ui=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),mi=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),pi=e=>!!samp.callNative("HidePlayerDialog","i",e),gi=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),fi=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),Si=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),yi=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),Pi=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),Ii=(e,t,a,n)=>!!samp.callNative("GameTextForPlayer","iaii",e,t,a,n),Ei=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),Ai=(e,t,a,n)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),Ci=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),Ti=e=>!!samp.callNative("IsPlayerNPC","i",e),Fe=(e,t,a,n)=>!!samp.callNative("SetPlayerPos","ifff",e,t,a,n),Di=(e,t,a,n)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,n),wi=e=>samp.callNative("GetPlayerPos","iFFF",e),Ni=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),Li=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},bi=(e,t,a,n,r)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,n,r),Ri=(e,t,a,n)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,n),vi=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),Oi=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),Gi=e=>samp.callNative("GetPlayerInterior","i",e),Fi=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),Bi=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},ki=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),xi=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},Mi=(e,t,a)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,a),Hi=e=>samp.callNative("GetPlayerAmmo","i",e),Vi=e=>samp.callNative("GetPlayerWeaponState","i",e),Ui=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Wi=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Ki=e=>samp.callNative("GetPlayerTeam","i",e),Zi=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),ji=e=>samp.callNative("GetPlayerScore","i",e),Xi=e=>samp.callNative("GetPlayerDrunkLevel","i",e),Yi=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),zi=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,P(t)),$i=e=>samp.callNative("GetPlayerColor","i",e),Ji=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),Qi=e=>samp.callNative("GetPlayerSkin","i",e),qi=(e,t,a)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,a),es=e=>!!samp.callNative("ResetPlayerWeapons","i",e),ts=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),as=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),ns=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),rs=e=>!!samp.callNative("ResetPlayerMoney","i",e),is=e=>samp.callNative("GetPlayerMoney","i",e),ss=e=>samp.callNative("GetPlayerState","i",e),os=e=>samp.callNative("GetPlayerPing","i",e),ls=e=>samp.callNative("GetPlayerWeapon","i",e),ds=e=>samp.callNative("GetPlayerKeys","iIII",e),cs=(e,t,a)=>!!samp.callNative("SetPlayerTime","iii",e,t,a),_s=e=>samp.callNative("GetPlayerTime","iII",e),hs=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),us=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),ms=e=>!!samp.callNative("ForceClassSelection","i",e),ps=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),gs=e=>samp.callNative("GetPlayerWantedLevel","i",e),fs=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),Ss=e=>samp.callNative("GetPlayerFightingStyle","i",e),ys=(e,t,a,n)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),Ps=e=>samp.callNative("GetPlayerVelocity","iFFF",e),Is=(e,t,a)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),Es=(e,t,a,n,r,i,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,r,i,s),As=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),Cs=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),Ts=(e,t,a)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,a),Ds=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),ws=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),Ns=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),Ls=(e,t,a,n,r,i)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,r,i),bs=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),Rs=(e,t,a)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,a),vs=e=>samp.callNative("GetPlayerVehicleID","i",e),Os=e=>samp.callNative("GetPlayerVehicleSeat","i",e),Gs=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),Fs=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),Bs=(e,t,a,n,r)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,a,n,r),ks=(e,t,a,n,r,i,s,o,l,d)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,r,i,s,o,l,d),xs=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),Ms=e=>samp.callNative("GetPlayerAnimationIndex","i",e),Hs=e=>samp.callNative("GetPlayerSpecialAction","i",e),Vs=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),Us=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),Ws=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),Ks=e=>samp.callNative("GetPlayerVirtualWorld","i",e),Zs=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),js=e=>samp.callNative("GetPlayerCustomSkin","i",e),Xs=(e,t,a,n,r,i)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,r,i),Ys=(e,t,a)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,a),zs=e=>!!samp.callNative("StopRecordingPlayerData","i",e),$s=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),Js=(e,t,a)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,a),Qs=(e,t,a)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,a),Be=e=>!!samp.callNative("IsPlayerConnected","i",e),qs=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),eo=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),to=(e,t,a,n,r)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,r),ao=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),no=(e,t,a)=>!!samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,P(a));function ro(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const io=(e,t,a)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),so=(e,t,a,n)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),oo=(e,t,a,n,r)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,r),lo=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),co=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),_o=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),ho=e=>samp.callNative("GetPlayerCameraMode","i",e),uo=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),mo=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),po=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),go=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),fo=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),So=(e,t,a,n,r,i,s,o,l)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,r,i,s,o,l),yo=(e,t,a,n,r,i,s,o,l)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,r,i,s,o,l),Po=e=>!!samp.callNative("IsPlayerCuffed","i",e),Io=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),Eo=e=>!!samp.callNative("IsPlayerUsingOmp","i",e),Ao=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),Co=()=>samp.callNative("StopRecordingPlayback",""),To=()=>samp.callNative("PauseRecordingPlayback",""),Do=()=>samp.callNative("ResumeRecordingPlayback",""),wo=e=>samp.callNative("GetActorSkin","i",e),No=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),Lo=e=>{const[t=0,a=0,n=0,r=0,i=0]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:a,fY:n,fZ:r,fAngle:i}},bo=e=>{const[t=0,a=0,n=0,r=0,i=0,s=0]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:a,fZ:n,fRot:r,color1:i,color2:s}},Ro=(e,t,a,n,r,i,s,o,l=-2,d=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,r,i,s,o,l,d),vo=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:a}},Oo=e=>samp.callNative("GetVehiclePaintjob","i",e),Go=e=>samp.callNative("GetVehicleInterior","i",e),Fo=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},Bo=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),ko=e=>samp.callNative("GetVehicleRespawnDelay","i",e),xo=e=>samp.callNative("GetVehicleCab","i",e),Mo=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Ho=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Vo=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Uo=e=>!!samp.callNative("IsVehicleOccupied","i",e),Wo=e=>samp.callNative("GetVehicleRespawnTick","i",e),Ko=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Zo=e=>!!samp.callNative("IsVehicleDead","i",e),jo=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),Xo=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),Yo=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),zo=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),$o=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),Jo=e=>samp.callNative("GetVehicleModelCount","i",e),Qo=e=>samp.callNative("GetVehicleLastDriver","i",e),qo=e=>samp.callNative("GetVehicleDriver","i",e),el=()=>samp.callNative("GetVehicleModelsUsed",""),tl=e=>samp.callNative("GetVehicleSirenState","i",e),al=e=>samp.callNative("GetVehicleLandingGearState","i",e),nl=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),rl=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),il=e=>{const[t=0,a=0,n=0,r=0,i=0,s=0,o=0,l=0,d=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:r,upY:i,upZ:s,atX:o,atY:l,atZ:d}},ke=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,r]}},sl=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),ol=(e,t,a,n,r,i,s,o,l)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,r,P(i),P(s),o,l),ll=e=>samp.callNative("DestroyVehicle","i",e),dl=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),cl=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]}},_l=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),hl=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},ul=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),ml=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),pl=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),gl=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),fl=()=>samp.callNative("ManualVehicleEngineAndLights",""),Sl=(e,t,a,n,r,i,s,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,r,i,s,o),yl=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),Pl=e=>samp.callNative("GetVehicleParamsSirenState","i",e),Il=(e,t,a,n,r)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,r),El=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},Al=(e,t,a,n,r)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,r),Cl=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},Tl=e=>samp.callNative("SetVehicleToRespawn","i",e),Dl=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),wl=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),Nl=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),Ll=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,P(t),P(a)),bl=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),Rl=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),vl=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},Ol=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),Gl=e=>samp.callNative("DetachTrailerFromVehicle","i",e),Fl=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),Bl=e=>samp.callNative("GetVehicleTrailer","i",e),kl=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),xl=e=>samp.callNative("GetVehicleModel","i",e),Ml=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Hl=e=>samp.callNative("GetVehicleComponentType","i",e),Vl=e=>samp.callNative("RepairVehicle","i",e),Ul=e=>samp.callNative("GetVehicleVelocity","iFFF",e),Wl=(e,t,a,n)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,n),Kl=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),Zl=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]}},jl=(e,t,a,n,r)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,r),Xl=(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]}},Yl=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),zl=e=>samp.callNative("GetVehicleVirtualWorld","i",e),xe=e=>!!samp.callNative("IsValidVehicle","i",e),$l=(e,t,a,n,r,i,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,r,P(i),P(s)),Jl=(e,t,a,n,r,i,s,o,l)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,r,P(i),P(s),o,l),Ql=e=>!!samp.callNative("ShowVehicle","i",e),ql=e=>!!samp.callNative("HideVehicle","i",e),ed=e=>!!samp.callNative("IsVehicleHidden","i",e),td=e=>!!samp.callNative("IsPlayerInModShop","i",e),ad=e=>samp.callNative("GetPlayerSirenState","i",e),nd=e=>samp.callNative("GetPlayerLandingGearState","i",e),rd=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),id=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),sd=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),Me=e=>samp.callNative("GetVehicleMaxPassengers","i",e),od=e=>samp.callNative("CountVehicleOccupants","i",e),ld=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),dd=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:r}},cd=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),_d=e=>{const[t=0,a=0,n=0,r=0,i=0,s=0,o=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:n,fNextX:r,fNextY:i,fNextZ:s,fSize:o}},hd=e=>!!samp.callNative("IsMenuDisabled","i",e),ud=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),md=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),pd=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},gd=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},fd=(e,t)=>{const[a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return a},Sd=(e,t,a)=>{const[n]=samp.callNative("GetMenuItem","iiiSi",e,t,a,31);return n},yd=(e,t,a,n,r,i)=>samp.callNative("CreateMenu","siffff",e,t,a,n,r,i),Pd=e=>samp.callNative("DestroyMenu","i",e),Id=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),Ed=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),Ad=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),Cd=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),Td=e=>!!samp.callNative("IsValidMenu","i",e),Dd=e=>samp.callNative("DisableMenu","i",e),wd=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),Nd=e=>samp.callNative("GetPlayerMenu","i",e),Ld=e=>!!samp.callNative("IsValidGangZone","i",e),bd=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),Rd=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),vd=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),Od=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),Gd=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Fd=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:r}},Bd=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},kd=(e,t,a,n)=>samp.callNative("GangZoneCreate","ffff",e,t,a,n),xd=e=>samp.callNative("GangZoneDestroy","i",e),Md=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,P(a)),Hd=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,P(t)),Vd=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),Ud=e=>samp.callNative("GangZoneHideForAll","i",e),Wd=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,P(a)),Kd=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,P(t)),Zd=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),jd=e=>samp.callNative("GangZoneStopFlashForAll","i",e),Xd=(e,t,a,n,r)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,r),Yd=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),zd=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),$d=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),Jd=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),Qd=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),qd=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),ec=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),tc=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),ac=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),nc=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),rc=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),ic=(e,t)=>{const[a=0,n=0,r=0,i=0]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:a,fMinY:n,fMaxX:r,fMaxY:i}},sc=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},oc=e=>!!samp.callNative("IsValidTextDraw","i",e),lc=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),dc=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},cc=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},_c=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},hc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},uc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},mc=e=>samp.callNative("TextDrawGetColor","i",e),pc=e=>samp.callNative("TextDrawGetBoxColor","i",e),gc=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),fc=e=>samp.callNative("TextDrawGetShadow","i",e),Sc=e=>samp.callNative("TextDrawGetOutline","i",e),yc=e=>samp.callNative("TextDrawGetFont","i",e),Pc=e=>!!samp.callNative("TextDrawIsBox","i",e),Ic=e=>!!samp.callNative("TextDrawIsProportional","i",e),Ec=e=>!!samp.callNative("TextDrawIsSelectable","i",e),Ac=e=>samp.callNative("TextDrawGetAlignment","i",e),Cc=e=>samp.callNative("TextDrawGetPreviewModel","i",e),Tc=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:r}},Dc=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},wc=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iia",e,t,a)},Nc=(e,t,a)=>samp.callNative("TextDrawCreate","ffa",e,t,a),Lc=e=>samp.callNative("TextDrawDestroy","i",e),bc=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),Rc=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),vc=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),Oc=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,P(t)),Gc=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),Fc=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,P(t)),Bc=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),kc=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),xc=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,P(t)),Mc=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),Hc=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),Vc=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),Uc=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Wc=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),Kc=e=>samp.callNative("TextDrawShowForAll","i",e),Zc=e=>samp.callNative("TextDrawHideForAll","i",e),jc=(e,t)=>samp.callNative("TextDrawSetString","ia",e,t),Xc=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),Yc=(e,t,a,n,r=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,r)},zc=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,P(t),P(a)),$c=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,P(t))},Jc=e=>{samp.callNative("CancelSelectTextDraw","i",e)},Qc=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),qc=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),e_=(e,t)=>{const[a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return a},t_=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},a_=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},n_=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:n}},r_=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:n}},i_=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),s_=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),o_=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),l_=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),d_=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),c_=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),__=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),h_=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),u_=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),m_=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),p_=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),g_=(e,t)=>{const[a=0,n=0,r=0,i=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:a,fRotY:n,fRotZ:r,fZoom:i}},f_=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},S_=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffa",e,t,a,n),y_=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},P_=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),I_=(e,t,a,n)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,a,n),E_=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),A_=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,P(a)),C_=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),T_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,P(a)),D_=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),w_=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),N_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,P(a)),L_=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),b_=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),R_=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),v_=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),O_=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),G_=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iia",e,t,a),F_=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),B_=(e,t,a,n,r,i)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,r,i),k_=(e,t,a,n)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,n),x_=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),M_=e=>!!samp.callNative("BeginObjectSelecting","i",e),H_=e=>!!samp.callNative("EndObjectEditing","i",e),V_=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),U_=(e,t,a,n,r)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,r),W_=(e,t,a,n,r,i,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,r,i,s),K_=(e,t)=>samp.callNative("RedirectDownload","is",e,t),Z_=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},j_=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},X_=(e,t)=>{const[a=0,n=0,r=0,i=0,s=0,o=0,l=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:r,fY:i,fZ:s,fRotX:o,fRotY:l,fRotZ:d,fScaleX:h,fScaleY:m,fScaleZ:p,materialColor1:S,materialColor2:I}},Y_=(e,t,a,n,r,i,s,o,l,d,h,m,p,S,I)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,r,i,s,o,l,d,h,m,p,P(S),P(I)),z_=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),$_=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),He=e=>!!samp.callNative("IsValidCustomModel","i",e),J_=e=>{if(!He(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var Ve=(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))(Ve||{}),Ue=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Ue||{}),ue=(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))(ue||{}),We=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(We||{}),Ke=(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))(Ke||{}),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||{}),Ze=(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))(Ze||{}),G=(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))(G||{}),je=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(je||{}),Xe=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Xe||{}),F=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(F||{}),Ye=(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))(Ye||{}),ze=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(ze||{}),$e=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))($e||{}),Je=(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))(Je||{}),Qe=(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))(Qe||{}),ne=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(ne||{}),qe=(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))(qe||{}),de=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(de||{}),$=(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))($||{}),et=(e=>(e[e.TORSO=3]="TORSO",e[e.GROIN=4]="GROIN",e[e.LEFT_ARM=5]="LEFT_ARM",e[e.RIGHT_ARM=6]="RIGHT_ARM",e[e.LEFT_LEG=7]="LEFT_LEG",e[e.RIGHT_LEG=8]="RIGHT_LEG",e[e.HEAD=9]="HEAD",e))(et||{}),tt=(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))(tt||{}),at=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(at||{}),me=(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))(me||{}),re=(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))(re||{}),nt=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(nt||{}),rt=(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))(rt||{}),it=(e=>(e[e.UNSET=-1]="UNSET",e[e.OFF=0]="OFF",e[e.ON=1]="ON",e))(it||{}),st=(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))(st||{}),ot=(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))(ot||{}),lt=(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))(lt||{}),dt=(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))(dt||{}),ct=(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))(ct||{}),pe=(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))(pe||{}),_t=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(_t||{});class B{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static recordStatus;static connect=dr;static startRecordingPlayerData(t,a,n){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");Ys(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)throw new Error("[NpcFunc]: It should be started before stop");zs(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(B.recordStatus>=F.start)throw new Error("[NpcFunc]: The current status cannot be replayed");Ao(t,a),B.recordStatus=F.start}static stopRecordingPlayback(){if(B.recordStatus<F.start)throw new Error("[NpcFunc]: The current status cannot be stopped");Co(),B.recordStatus=F.none}static pauseRecordingPlayback(){if(B.recordStatus!==F.start)throw new Error("[NpcFunc]: The current status cannot be paused");To(),B.recordStatus=F.pause}static resumeRecordingPlayback(){if(B.recordStatus!==F.pause)throw new Error("[NpcFunc]: The current status cannot be paused");Do(),B.recordStatus=F.start}}const ht=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}]]]),ge=e=>{const t=ht.get(e);return t===void 0?!1:t},fe=(e,t)=>{const a=ge(e);if(a)return t==="null"?!0:a.some(n=>n.n===t)},Q_=(e,t)=>{const a=ge(e);if(a)return a.find(n=>n.n===t)?.d},K=(e,t)=>{const a=t.replace("-","")==="utf8"?e:y.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},ut=(e,t,a)=>{const n=K(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,P(t),n[1])},q_=(e,t,a)=>(e.forEach(n=>ut(n,t,a)),1),mt=(e,t,a)=>{const n=K(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${n[0]}`,e.id,t,n[1])},eh=(e,t,a)=>(e.forEach(n=>{mt(n,t,a)}),1),th=(e,t,a)=>{const{charset:n}=e,{style:r,caption:i,info:s,button1:o,button2:l}=a,[d,h]=K(i||"",n),[,m]=K(s||"",n),[,p]=K(o||"",n),[,S]=K(l||"",n);return samp.callNative("ShowPlayerDialog",`iii${d.repeat(4)}`,e.id,t,r,h,m,p,S)},ah=e=>{const[t]=samp.callNative("GetPlayerName","iAi",e.id,G.MAX_PLAYER_NAME);return y.decodeFromBuf(y.getValidStr(t),e.charset)},nh=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,y.encodeToBuf(t,e.charset)),rh=(e,t,a)=>{const n=y.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},ih=(e,t="utf8")=>{const[a,n]=K(e,t);return samp.callNative("SendRconCommand",a,n)},sh=(e,t,a,n,r,i,s,o,l,d,h,m,p,S,I,b)=>{const O=y.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",O,a,n,r,i,s,o,l,d,h,m,p,S,I,b)},oh=(e,t,a,n,r,i,s,o,l,d,h,m,p,S,I,b)=>{const O=y.encodeToBuf(e,b);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",O,t,a,n,r,i,s,o,l,d,h,m,p,S,I,h.length,m.length,p.length,S.length)},lh=(e,t,a,n)=>{const r=y.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,r)},dh=(e,t)=>{const[a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return y.decodeFromBuf(y.getValidStr(a),t)},ch=(e,t,a,n,r,i,s,o,l,d,h)=>{const m=y.encodeToBuf(n,e),p=y.encodeToBuf(i,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,m,r,p,s,o,l,d,h)},_h=(e,t,a)=>{const[n,r,i,s,o,l,d]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),h=y.decodeFromBuf(n,a),m=y.decodeFromBuf(i,a);return{text:h,materialSize:r,fontFace:m,bold:s,fontColor:o,backColor:l,textAlignment:d}},hh=(e,t,a,n,r,i)=>{const s=y.encodeToBuf(t,i);return!!samp.callNative("SetPlayerChatBubble","iaifi",e,s,P(a),n,r)},uh=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],mh=[[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],[],[],[],[],[],[],[],[]],ph=(e,t)=>{if(!Se(e))return!1;const a=mh[e-400];if(a===null)return!1;const n=t-1e3;return uh.includes(n)||a.includes(n)},Se=e=>e>=400&&e<=611,gh=(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 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===G.MAX_VEHICLES)throw new Error("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:a,x:n,y:r,z:i,zAngle:s,color:o,respawnDelay:l,addSiren:d}=this.sourceInfo;if(!(!t&&!Se(a))){if(this.isStatic){if(l===void 0){this._id=$l(a,n,r,i,s,o[0],o[1]);return}this._id=Jl(a,n,r,i,s,o[0],o[1],l||-1,d||!1)}else this._id=ol(a,n,r,i,s,o[0],o[1],l||-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");ll(this.id),A.createdCount--,A.vehicles.delete(this._id),this._id=-1}addComponent(t){if(this.id===-1)return 0;if(!ph(this.getModel(),t))throw new Error(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`);return wl(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 Nl(this.id,t)}getComponentInSlot(t){return Ml(this.id,t)}linkToInterior(t){return this.id===-1?0:Dl(this.id,t)}setVirtualWorld(t){return this.id===-1?0:Yl(this.id,t)}getVirtualWorld(){return this.id===-1?0:zl(this.id)}repair(){return this.id===-1?0:Vl(this.id)}setPos(t,a,n){return this.id===-1?0:_l(this.id,t,a,n)}getPos(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getPos before create");return cl(this.id)}getHealth(){return this.id===-1?0:vl(this.id)}setHealth(t){return this.id===-1?0:Rl(this.id,t)}isPlayerIn(t){return this.id===-1?!1:qs(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 Rs(t.id,this.id,a)}getZAngle(){return this.id===-1?0:hl(this.id)}setZAngle(t){return this.id===-1?0:pl(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 kl(this.id,t)}changeColors(t,a){return this.id===-1?0:Ll(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:Wl(this.id,t,a,n)}getVelocity(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getVelocity before create");const[t,a,n]=Ul(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:r}=this.getVelocity();return he(a,n,r)*t}setAngularVelocity(t,a,n){return this.id===-1?0:Kl(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return Zl(this.id)}updateDamageStatus(t,a,n,r){this.id!==-1&&jl(this.id,t,a,n,r)}getDistanceFromPoint(t,a,n){return ml(this.id,t,a,n)}getModel(){return xl(this.id)}static getModelInfo(t,a){return Xl(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,r]=ul(this.id);return{w:t,x:a,y:n,z:r}}setRespawn(){return this.id===-1?0:Tl(this.id)}isStreamedIn(t){return this.id===-1?!1:dl(this.id,t.id)}setParamsCarDoors(t,a,n,r){return this.id===-1?0:Il(this.id,t,a,n,r)}setParamsCarWindows(t,a,n,r){return this.id===-1?0:Al(this.id,t,a,n,r)}getParamsCarDoors(){if(this.id!==-1)return El(this.id)}getParamsCarWindows(){if(this.id!==-1)return Cl(this.id)}setParamsEx(t,a,n,r,i,s,o){return this.id===-1?0:Sl(this.id,t,a,n,r,i,s,o)}getParamsEx(){if(this.id===-1)return{engine:-1,lights:-1,alarm:-1,doors:-1,bonnet:-1,boot:-1,objective:-1};const[t,a,n,r,i,s,o]=yl(this.id);return{engine:t,lights:a,alarm:n,doors:r,bonnet:i,boot:s,objective:o}}toggleEngine(t){if(this.id===-1)return 0;const{lights:a,alarm:n,doors:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(t,a,n,r,i,s,o)}toggleLights(t){if(this.id===-1)return 0;const{engine:a,alarm:n,doors:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,t,n,r,i,s,o)}toggleAlarm(t){if(this.id===-1)return 0;const{engine:a,lights:n,doors:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,t,r,i,s,o)}toggleDoors(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,r,t,i,s,o)}toggleBonnet(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,doors:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,r,i,t,s,o)}toggleBoot(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,doors:i,bonnet:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,r,i,s,t,o)}toggleObjective(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,doors:i,bonnet:s,boot:o}=this.getParamsEx();return this.setParamsEx(a,n,r,i,s,o,t)}getParamsSirenState(){return this.id===-1?-2:Pl(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:gl(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:Fl(this.id)}changePaintjob(t){return this.id===-1||!gh(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),bl(this.id,t),1)}attachTrailer(t){return this.id===-1?0:Ol(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&Gl(this.id)}getTrailer(){if(this.id!==-1)return A.getInstances().find(t=>t.id===Bl(this.id))}isValid(){return xe(this.id)}getMatrix(){if(this.id!==-1)return il(this.id)}getTrainSpeed(){return this.id===-1?0:rl(this.id)}getHydraReactorAngle(){return this.id===-1?0:nl(this.id)}getLandingGearState(){return this.id===-1?0:al(this.id)}getSirenState(){return this.id===-1?0:tl(this.id)}getDriver(t){if(this.id!==-1)return t.get(qo(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(Qo(this.id))}isSirenEnabled(){return $o(this.id)}toggleSirenEnabled(t){return this.id===-1?0:Yo(this.id,t)}setParamsSirenState(t){return this.id===-1?0:zo(this.id,t)}isDead(){return this.id===-1?!0:Zo(this.id)}setDead(t){return this.id===-1?!1:jo(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:Xo(this.id,t)}getRespawnTick(){return this.id===-1?0:Wo(this.id)}setRespawnTick(t){return this.id===-1?!1:Ko(this.id,t)}isOccupied(){return this.id===-1?!1:Uo(this.id)}hasBeenOccupied(){return this.id===-1?!1:Vo(this.id)}getOccupiedTick(){return this.id===-1?0:Mo(this.id)}setOccupiedTick(t){return this.id===-1?0:Ho(this.id,t)}getCab(){return this.id===-1?0:xo(this.id)}getRespawnDelay(){return this.id===-1?0:ko(this.id)}setRespawnDelay(t){return this.id===-1?0:Bo(this.id,t)}getNumberPlate(){return this.id===-1?"":Fo(this.id)}getInterior(){return this.id===-1?0:Go(this.id)}getPaintjob(){return this.id===-1?-1:Oo(this.id)}getColors(){if(this.id!==-1)return vo(this.id)}setSpawnInfo(t,a,n,r,i,s,o,l=-2,d=-2,h=!1){return this.id===-1||!h&&!Se(t)?0:Ro(this.id,t,a,n,r,i,P(s),P(o),l,d)}getSpawnInfo(){if(this.id!==-1)return bo(this.id)}getRandomColorPair(){if(this.id!==-1)return ke(this.getModel())}show(){return this.id===-1?!1:Ql(this.id)}hide(){return this.id===-1?!1:ql(this.id)}isHidden(){return this.id===-1?!1:ed(this.id)}getVehicleOccupant(t){return sd(this.id,t)}getVehicleMaxPassengers(){return Me(this.getModel())}countVehicleOccupants(){return od(this.getModel())}static getVehicleMaxPassengers=Me;static getRandomColorPair=ke;static getComponentType=Hl;static colorIndexToColor=sl;static isValid=xe;static getModelsUsed=el;static getModelCount=Jo;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}const[pt]=_({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:u.getInstance(e),actionId:t,memAddr:a,data:n}}}),[fh,Sh]=_({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,a){return{player:e,newLocale:t,oldLocale:a}}}),[yh,Ph]=_({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}static players=new Map;static MAX_CHECK_ANDROID_DELAY=10;static SKIP_CHECK_ANDROID=!1;_charset="ISO-8859-1";_locale="en_US";_isAndroid=!0;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,Sh(this,t,a)}sendClientMessage(t,a){return ut(this,t,a)}static sendClientMessageToAll(t,a){q_(u.getInstances(),t,a)}sendMessageToPlayer(t,a){return mt(t,this.id,a)}sendMessageToAll(t){return eh(u.getInstances(),this.id,t)}isNpc(){return Ti(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return Xi(this.id)}setDrunkLevel(t){if(t<0||t>5e4)throw new Error("[Player]: player's drunk level ranges from 0 to 50000");return Yi(this.id,t)}allowTeleport(t){return fi(this.id,t)}isTeleportAllowed(){return Si(this.id)}enableCameraTarget(t){return uo(this.id,t)}enableStuntBonus(t){return Zs(this.id,t)}getInterior(){return Gi(this.id)}setInterior(t){return Oi(this.id,t)}showNameTag(t,a){return io(this.id,t.id,a)}setColor(t){return zi(this.id,t)}getColor(){return $i(this.id)}setMarker(t,a){no(this.id,t.id,a)}getMarker(t){return ro(this.id,t.id)}resetMoney(){return rs(this.id)}getMoney(){return is(this.id)}giveMoney(t){return ns(this.id,t)}resetWeapons(){return es(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):Ar(this.id)}setHealth(t){return Fi(this.id,t)}getHealth(){return Bi(this.id)}toggleClock(t){return hs(this.id,t)}toggleControllable(t){return Fs(this.id,t)}toggleSpectating(t){return $s(this.id,t)}spectatePlayer(t,a=de.NORMAL){return Js(this.id,t.id,a)}spectateVehicle(t,a=de.NORMAL){return Qs(this.id,t.id,a)}forceClassSelection(){return ms(this.id)}kick(){return Br(this.id)}ban(){return kr(this.id)}banEx(t,a){return rh(this.id,t,a)}isAdmin(){return Gr(this.id)}isInRangeOfPoint(t,a,n,r){return bi(this.id,t,a,n,r)}isStreamedIn(t){return vi(this.id,t.id)}setSkin(t,a=!1){return!a&&(t<0||t>311||t===74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===me.DUCK?!1:Ji(this.id,t)}getSkin(){return Qi(this.id)}isInAnyVehicle(){return eo(this.id)}getSpecialAction(){return Hs(this.id)}setSpecialAction(t){return Vs(this.id,t)}setScore(t){return Zi(this.id,t)}getScore(){return ji(this.id)}getPing(){return os(this.id)||0}setPos(t,a,n){return Fe(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===$.NONE)return;const[t,a,n]=wi(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===$.SPECTATING}isWasted(){return this.getState()===$.WASTED}getState(){return ss(this.id)}getVersion(){return this.isNpc()?"":Yr(this.id)}setVirtualWorld(t){return Ws(this.id,t)}getVirtualWorld(){return Ks(this.id)}removeFromVehicle(){return Gs(this.id)}setWantedLevel(t){if(t<0||t>6)throw new Error("[Player]: player's wanted level ranges from 0 to 6");return ps(this.id,t)}getWantedLevel(){return gs(this.id)}setFacingAngle(t){return Ni(this.id,t)}getFacingAngle(){return Li(this.id)}setWeather(t){if(t<0||t>255)throw new Error("[Player]: The valid weather value is only 0 to 255");return us(this.id,t)}getWeather(){return Qr(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 cs(this.id,t,a)}getTime(){const[t,a]=_s(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,r,i){return Ls(this.id,t,a,n,r,i)}setTeam(t){t<0||t>T.NO_TEAM||Wi(this.id,t)}getTeam(){return Ki(this.id)}setSkillLevel(t,a){if(a<0||a>999)throw new Error("[Player]: The valid skill level is only 0 to 999");return Ts(this.id,t,a)}getName(){return ah(this)}setName(t){return nh(this,t)}setVelocity(t,a,n){return ys(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:r}=this.getVelocity();return he(a,n,r)*t}getKeys(){const[t,a,n]=ds(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return Xr(this.id)}getFightingStyle(){return Ss(this.id)}setFightingStyle(t){return fs(this.id,t)}setArmour(t){return ki(this.id,t)}getArmour(){return xi(this.id)}setCameraBehind(){return lo(this.id)}setCameraPos(t,a,n){return so(this.id,t,a,n)}setCameraLookAt(t,a,n,r=ne.CUT){return oo(this.id,t,a,n,r)}getCameraAspectRatio(){return go(this.id)}getCameraFrontVector(){const[t,a,n]=_o(this.id);return{x:t,y:a,z:n}}getCameraMode(){return ho(this.id)}getCameraPos(){const[t,a,n]=co(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(){const t=po(this.id);return u.getInstances().find(a=>a.id===t)}getCameraTargetVehicle(){const t=mo(this.id);return A.getInstances().find(a=>a.id===t)}getCameraZoom(){return fo(this.id)}playAudioStream(t,a=0,n=0,r=0,i=5){let s=!1;return(a!==0||n!==0||r!==0)&&(s=!0),Es(this.id,t,a,n,r,i,s)}stopAudioStream(){return As(this.id)}playSound(t,a=0,n=0,r=0){return Bs(this.id,t,a,n,r)}static getMaxPlayers(){return Zn()}playCrimeReport(t,a){if(a<3||a>22)throw new Error("[Player]: Available crime ids range from 3 to 22");return Is(this.id,t.id,a)}interpolateCameraPos(t,a,n,r,i,s,o,l=ne.CUT){return So(this.id,t,a,n,r,i,s,o,l)}interpolateCameraLookAt(t,a,n,r,i,s,o,l=ne.CUT){return yo(this.id,t,a,n,r,i,s,o,l)}createExplosion(t,a,n,r,i){if(r<0||r>13)throw new Error("[Player]: The valid explosion type value is only 0 to 13");return Xs(this.id,t,a,n,r,i)}static isConnected(t){return Be(t)}isConnected(){return Be(this.id)}disableRemoteVehicleCollisions(t){return Us(this.id,t)}getVehicle(){if(!this.isInAnyVehicle())return;const t=vs(this.id);return A.getInstances().find(a=>a.id===t)}getVehicleSeat(){return Os(this.id)}getSurfingVehicle(){const t=Ds(this.id);if(t!==T.VEHICLE_ID)return A.getInstances().find(a=>a.id===t)}applyAnimation(t,a,n=4.1,r=!1,i=!0,s=!0,o=!1,l=0,d=!1){if(!fe(t,a))throw new Error("[Player]: Invalid anim library or name");return ks(this.id,t,a,n,r,i,s,o,l,+d)}clearAnimations(t=!1){return xs(this.id,t)}getAnimationIndex(){return Ms(this.id)}getAnimationName(t=this.getAnimationIndex()){const[a,n]=_r(t);return{index:t,animLib:a,animName:n}}setShopName(t){return Cs(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(r=>{Fe(this.id,t,a,n),setTimeout(()=>r(Di(this.id,t,a,n)))})}setWorldBounds(t,a,n,r){return to(this.id,t,a,n,r)}clearWorldBounds(){return ao(this.id)}setChatBubble(t,a,n,r,i=this.charset){return hh(this.id,t,a,n,r,i)}getDistanceFromPoint(t,a,n){return Ri(this.id,t,a,n)}getCustomSkin(){return js(this.id)}getTargetPlayer(){const t=Ui(this.id);if(t!==T.PLAYER_ID)return u.getInstances().find(a=>a.id===t)}getLastShotVectors(){const[t,a,n,r,i,s]=bs(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:r,fHitPosY:i,fHitPosZ:s}}getWeapon(){return ls(this.id)}getWeaponData(t){if(t<0||t>12)throw new Error("[Player]: weapon slots range from 0 to 12");const[a,n]=as(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return Vi(this.id)}giveWeapon(t,a){return qi(this.id,t,a)}setAmmo(t,a){return Mi(this.id,t,a)}getAmmo(){return Hi(this.id)}setArmedWeapon(t){return ts(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(T.PLAYER_ID,T.PLAYER_ID,pe.CONNECT)}sendDeathMessage(t,a){return Kn(t===T.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){return Ai(this.id,t===T.PLAYER_ID?t:t.id,a===T.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,r,i,s,o,l,d,h,m,p){return t<0||t>T.NO_TEAM||a<0||a>311||a===74||l<0||h<0||p<0?!1:Er(this.id,t,a,n,r,i,s,o,l,d,h,m,p)}redirectDownload(t){return K_(this.id,t)}sendClientCheck(t,a,n,r){const i=[2,5,69,70,71,72];if(!i.includes(t))throw new Error(`[Player]: sendClientCheck valid types are ${i.toString()}`);return new Promise((s,o)=>{if(this.isPaused)return o("[Player]: An attempt to check the player client response, but the player paused the game");const l="[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=pt(({player:S,actionId:I,memAddr:b,data:O,next:ee})=>(S!==this||(m&&(clearTimeout(m),m=null),s({actionId:I,memAddr:b,data:O})),ee()));m=setTimeout(()=>{p(),o(l)},h),Wr(this.id,t,a,n,r)})}selectTextDraw(t){$c(this.id,t)}cancelSelectTextDraw(){Jc(this.id)}beginObjectSelecting(){return M_(this.id)}endObjectEditing(){return H_(this.id)}getSurfingObject(t){const a=ws(this.id);if(a!==T.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=Ns(this.id);if(a!==T.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return $_(this.id,t)}editAttachedObject(t){return x_(this.id,t)}setAttachedObject(t,a,n,r=0,i=0,s=0,o=0,l=0,d=0,h=1,m=1,p=1,S=0,I=0){return this.isAttachedObjectSlotUsed(t)?0:Y_(this.id,t,a,n,r,i,s,o,l,d,h,m,p,S,I)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?z_(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 zr(this.id,t)}isWidescreenToggled(){return $r(this.id)}getSpawnInfo(){return Cr(this.id)}getSkillLevel(t){return Jr(this.id,t)}isCheckpointActive(){return ld(this.id)}getCheckpoint(){return dd(this.id)}isRaceCheckpointActive(){return cd(this.id)}getRaceCheckpoint(){return _d(this.id)}getWorldBounds(){qr(this.id)}isInModShop(){return td(this.id)}getSirenState(){return ad(this.id)}getLandingGearState(){return nd(this.id)}getHydraReactorAngle(){return rd(this.id)}getTrainSpeed(){return id(this.id)}getZAim(){return ei(this.id)}getSurfingOffsets(){return ti(this.id)}getRotationQuat(){return ai(this.id)}getDialogID(){return ni(this.id)}getSpectateID(){return ri(this.id)}getSpectateType(){return ii(this.id)}getRawIp(){return jr(this.id)}setGravity(t){return si(this.id,t)}getGravity(){return oi(this.id)}setAdmin(t){return Fr(this.id,t)}isSpawned(){return li(this.id)}isControllable(){return di(this.id)}isCameraTargetEnabled(){return ci(this.id)}toggleGhostMode(t){return _i(this.id,t)}getGhostMode(){return hi(this.id)}getBuildingsRemoved(){return ui(this.id)}getAttachedObject(t){return X_(this.id,t)}removeWeapon(t){return mi(this.id,t)}isUsingOfficialClient(){return gi(this.id)}allowWeapons(t){return yi(this.id,t)}areWeaponsAllowed(){return Pi(this.id)}gpci(t=this.charset){return Ur(this.id,t)}isCuffed(){return Po(this.id)}isInDriveByMode(){return Io(this.id)}isAndroid(){return this.isConnected()&&this._isAndroid}isPC(){return this.isConnected()&&!this._isAndroid}isUsingOmp(){return Eo(this.id)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[gt]=_({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,r){return{player:u.getInstance(e),dialogId:t,response:a,listItem:n,buffer:r}}});gt(({next:e,player:t,dialogId:a,response:n,listItem:r,buffer:i})=>{const s=D.waitingQueue.get(t);return!s||s.showId!==a||setTimeout(()=>s.resolve({response:n,listItem:r,buffer:i})),e()});class D{id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new WeakMap;constructor(t={style:ue.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=D.waitingQueue.get(t);if(!n)return!1;a&&n.reject("[Dialog]: player timeout does not respond or second request show dialog"),D.waitingQueue.delete(t);const r=D.showingIds.indexOf(n.showId);return r>-1&&D.showingIds.splice(r,1),!0}show(t){return new Promise((a,n)=>{for(D.close(t);(this.id===-1||D.showingIds.includes(this.id))&&D.showingIds.length!==D.maxDialogId;)this.id=Math.floor(Math.random()*(D.maxDialogId+1));if(this.id===-1){n("[Dialog]: The maximum number of dialogs is reached");return}D.showingIds.push(this.id),D.waitingQueue.set(t,{resolve:a,reject:n,showId:this.id}),th(t,this.id,this.dialog)}).then(a=>{const{response:n,listItem:r}=a,i=y.decodeFromBuf(a.buffer,t.charset);return Promise.resolve({response:n,listItem:r,inputText:i})}).catch(a=>Promise.reject(a)).finally(()=>D.delDialogTask(t))}static close(t){D.delDialogTask(t,!0),pi(t.id)}}const[ft]=_({name:"OnPlayerConnect",beforeEach(e){const t=new u(e);return u.players.set(e,t),D.close(t),{player:t}}}),[St]=_({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:u.players.get(e),reason:t}},afterEach({player:e}){u.players.delete(e.id)}}),[yt]=_({name:"OnPlayerUpdate",beforeEach(e){return{player:u.getInstance(e)}}}),[Ih]=_({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=u.getInstance(e);return{player:a,text:y.decodeFromBuf(t,a.charset),buffer:t}}}),[Eh]=_({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:u.getInstance(e),enterExit:!!t,interior:a}}}),[Ah]=_({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:u.getInstance(e),fX:t,fY:a,fZ:n}}}),[Ch]=_({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:u.getInstance(e),clickedPlayer:u.getInstance(t),source:a}}}),[Th]=_({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:u.getInstance(e),killer:u.getInstance(t)||T.PLAYER_ID,reason:a}}}),[Dh]=_({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,r){return{player:u.getInstance(e),damage:u.getInstance(t),amount:a,weapon:n,bodyPart:r}}}),[wh]=_({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),newKeys:t,oldKeys:a}}}),[Nh]=_({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:u.getInstance(e),classId:t}}}),[Lh]=_({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:u.getInstance(e)}}}),[bh]=_({name:"OnPlayerSpawn",beforeEach(e){return{player:u.getInstance(e)}}}),[Rh]=_({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),newState:t,oldState:a}}}),[vh]=_({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[Oh]=_({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[Gh]=_({name:"OnPlayerTakeDamage",beforeEach(e,t,a,n,r){return{player:u.getInstance(e),damage:u.getInstance(t)||T.PLAYER_ID,amount:a,weapon:n,bodyPart:r}}}),[Fh]=_({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:u.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[Bh]=_({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:u.getInstance(e),type:t,crc:a}}}),[kh]=_({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:u.getInstance(e),virtualWorld:t}}}),[xh]=_({name:"OnPlayerWeaponShot",beforeEach(e,t,a,n,r,i,s){return{player:u.getInstance(e),weapon:t,hitType:a,hitId:n,fX:r,fY:i,fZ:s}}});let ie=null;const V=new Map,ye=new Map;function Pt(e){if(!e.isConnected()){V.has(e)&&clearInterval(V.get(e));return}let t=ye.get(e)||1;if(t>=u.MAX_CHECK_ANDROID_DELAY){clearInterval(V.get(e)),Pe(e,!0);return}e.sendClientCheck(72,0,0,2).then(({actionId:a})=>{a===72&&(e._isAndroid=!1,V.has(e)&&clearInterval(V.get(e)),Pe(e,!1))}).catch(()=>{}),t++,ye.set(e,t)}const[Mh,Hh]=_({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[Vh,Uh]=_({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}}),[Wh,Kh]=_({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,a){return{player:e,newFps:t,oldFps:a}}}),[Zh,Pe]=_({name:"OnAndroidCheck",isNative:!1,beforeEach(e,t){return{player:e,result:t}}});ft(({player:e,next:t})=>{if(!ie&&u.getInstances().length&&(ie=setInterval(()=>{u.getInstances().filter(n=>{const r=n.getState()!==$.NONE;return!n.isPaused&&!n.isNpc()&&r}).forEach(n=>{Date.now()-n.lastUpdateTick>1e3&&(n.isPaused=!0,Hh(n,n.lastUpdateTick))})},500)),e.isNpc())return e._isAndroid=!1,t();if(u.SKIP_CHECK_ANDROID)return e._isAndroid=!e.isUsingOfficialClient(),Pe(e,e._isAndroid),t();Pt(e);const a=setInterval(()=>Pt(e),1e3);return V.set(e,a),t()}),St(({player:e,next:t})=>(ie&&u.getInstances().length<=1&&(clearInterval(ie),ie=null),V.has(e)&&(clearInterval(V.get(e)),V.delete(e),ye.delete(e)),t()));function jh(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,r=e.lastDrunkLevel-a-1;e.lastFps=r,e.lastDrunkLevel=a,Kh(e,r,n)}}yt(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,Uh(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,jh(e)}return t()});const J=new Map,Q=new Map,It=/[^/\s]+/gi,se={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"}},[Xh,Yh]=_({name:"OnCommandReceived",isNative:!1,throwOnError:!0,beforeEach(e,t,a,n,r,i,s,o,l){return{player:e,command:t,cmdText:a,buffer:n,strictMainCmd:r,noStrictMainCmd:i,hasStrict:s,hasNoStrict:o,subcommand:l}}}),[zh,$h]=_({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t,a,n,r,i,s,o,l){return{player:e,command:t,cmdText:a,buffer:n,strictMainCmd:r,noStrictMainCmd:i,hasStrict:s,hasNoStrict:o,subcommand:l}}}),[Jh,oe]=_({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a,n,r,i,s,o,l,d){return{player:e,error:t,command:a,cmdText:n,buffer:r,strictMainCmd:i,noStrictMainCmd:s,hasStrict:o,hasNoStrict:l,subcommand:d}}}),[Qh]=_({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 qh(e){const t=[];let a="";for(let n=0;n<e.length;n++)a+=e[n]+" ",t.push(a.trimEnd());return t.reverse()}Qh(({player:e,buffer:t,cmdText:a,next:n})=>{const r=a.match(It),i=qh(r),s=i.find(I=>J.has(I)),o=i.map(I=>I.toLowerCase()).find(I=>Q.has(I)),l=!!s,d=!!o,h=r.join(" ");let m=[];const p=[[s,J,!0],[o,Q,!1]],S=[h,a,t,s,o,l,d,m];if(l||d){const I=p[0][0]||p[1][0];m=h.replace(I,"").trim().split(" ")}else return oe(e,se.NOT_EXIST,...S);try{if(!Yh(e,...S))return oe(e,se.RECEIVED_REJECTED,...S)}catch(I){return oe(e,{...se.RECEIVED_THROW,error:I},...S)}for(const[I,b,O]of p){if(!I)continue;const ee=b.get(I),[,Ct]=ee;if(!Ct(e,I,m,a,t,O))return oe(e,se.REJECTED,...S)}return $h(e,h,a,t,s,o,l,d,m)?n():oe(e,se.PERFORMED,...S)});function eu(e,t,a,n,r,i){return{player:e,mainCommand:t,subcommand:a,cmdText:n,buffer:r,isStrict:i}}class M{static caseSensitive=!1;constructor(){}static on(t,a){let n=M.caseSensitive,r,i;typeof t=="string"||t instanceof Array?(r=t,i=a):(r=t.command,i=t.run,typeof t.caseSensitive<"u"&&(n=t.caseSensitive));const s=Array.isArray(r)?r:[r],o=s.find(h=>!h.match(It));if(o)return console.log(`error command ${o} format`),()=>{};const l=n?J:Q,d=s.map(h=>{const m=h.replaceAll("/",""),p=n?m:m.toLowerCase();if(!l.has(p)){const I=_({name:n?"$"+p:p,isNative:!1,beforeEach:eu});l.set(p,I)}const[S]=l.get(p);return[p,S(i)]});return()=>{d.forEach(h=>{const[m,p]=h;p()===0&&l.delete(m)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(a=>{let n=a.replaceAll("/","");J.has(n)&&(v.has(n)&&v.delete(n),J.has(n)&&J.delete(n)),n=n.toLowerCase(),Q.has(n)&&(v.has(n)&&v.delete(n),Q.has(n)&&Q.delete(n))})}static enableCaseSensitive(){M.caseSensitive=!0}static disableCaseSensitive(){M.caseSensitive=!1}static isCaseSensitive(){return M.caseSensitive}}const Ie=Object.freeze({onConnect:ft,onDisconnect:St,onPause:Mh,onResume:Vh,onUpdate:yt,onText:Ih,onEnterExitModShop:Eh,onClickMap:Ah,onClickPlayer:Ch,onDeath:Th,onGiveDamage:Dh,onKeyStateChange:wh,onRequestClass:Nh,onRequestSpawn:Lh,onSpawn:bh,onStateChange:Rh,onStreamIn:vh,onStreamOut:Oh,onTakeDamage:Gh,onInteriorChange:Fh,onRequestDownload:Bh,onFinishedDownloading:kh,onCheckResponse:pt,onCommandReceived:Xh,onCommandPerformed:zh,onCommandError:Jh,onCommandText:M.on,offCommandText:M.off,onDialogResponse:gt,onLocaleChange:fh,onCharsetChange:yh,onFpsUpdate:Wh,onWeaponShot:xh,onAndroidCheck:Zh}),[Et]=_({name:"OnGameModeInit"}),[At]=_({name:"OnGameModeExit"}),[tu]=_({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[au]=_({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:y.decodeFromBuf(e)}}}),[nu]=_({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:y.decodeFromBuf(e),password:y.decodeFromBuf(t),success:!!a,ipBuffer:e,passwordBuffer:t}}}),Z=[],q=[],Ee=new Map,Ae=async e=>{try{return await new Promise((t,a)=>{const n=Z.findIndex(o=>o.name===e);if(n===-1)return;const r=Z[n];function i(o){o.length&&Ee.set(e,o),Z.splice(n,1),q.push(r),setTimeout(t)}const s=r.load();s instanceof Promise?s.then(i).catch(a):i(s)})}catch(t){throw new Error(`[GameMode]: script ${e} load fail
|
|
3
|
+
err:${t}`)}},Ce=async e=>{try{return await new Promise((t,a)=>{const n=q.findIndex(l=>l.name===e);if(n===-1)return;const r=q[n],i=Ee.get(e);i&&(i.forEach(l=>l()),Ee.delete(e));function s(){q.splice(n,1),Z.push(r),setTimeout(t)}const o=r.unload();o instanceof Promise?o.then(s).catch(a):s()})}catch(t){throw new Error(`[GameMode]: script ${e} unload fail
|
|
4
|
+
${t}`)}},ru=async e=>{await Ce(e),await Ae(e)};Et(async({next:e})=>{const t=Z.map(a=>a.name);for(const a of t)await Ae(a);return e()}),At(async({next:e})=>{const t=q.map(a=>a.name);for(const a of t)await Ce(a);return e()});const iu=function(e,...t){if(Z.some(a=>a.name===e.name)||q.some(a=>a.name===e.name))throw new Error(`[GameMode]: script ${e.name} has already been applied`);e.load=e.load.bind(e,...t),Z.push(e)};class N{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=Et;static onExit=At;static onIncomingConnection=tu;static onRconCommand=au;static onRconLoginAttempt=nu;static use(t,...a){return iu(t,...a),this}static loadUseScript=Ae;static reloadUseScript=ru;static unloadUseScript=Ce;static enableCmdCaseSensitive=M.enableCaseSensitive;static disableCmdCaseSensitive=M.disableCaseSensitive;static isCmdCaseSensitive=M.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 Qn(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");return zn(t)}static getWorldTime=$n;static setTeamCount=yr;static sendRconCommand=ih;static addPlayerClass=Pr;static addPlayerClassEx=Ir;static createExplosion(t,a,n,r,i){if(r<0||r>13)throw new Error("[GameMode]: The valid explosion type value is only 0 to 13");return tr(t,a,n,r,i)}static manualVehicleEngineAndLights=fl;static blockIpAddress=Hr;static unBlockIpAddress=Vr;static getServerTickRate=cr;static addSimpleModel(t,a,n,r,i){return this.checkSimpleModel(t,a,n,r,i)?U_(t,a,n,r,i):0}static addSimpleModelTimed(t,a,n,r,i,s,o){return this.checkSimpleModel(t,a,n,r,i,s,o)?W_(t,a,n,r,i,s,o):0}static checkSimpleModel(t,a,n,r,i,s,o){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(r.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty dffName");if(i.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(o!==void 0&&(o<0||o>23))throw new Error("[GameMode]: AddSimpleModel - Error time off range");return 1}static isValidCustomModel=He;static getCustomModePath=J_;static getConsoleVarAsString(t,a="utf8"){const n=Gn(t);return y.decodeFromBuf(y.getValidStr(n),a)}static getRestartTime=Vn;static setRestartTime=Hn;static allowAdminTeleport=Nn;static isAdminTeleportAllowed=Ln;static allowInteriorWeapons=bn;static areInteriorWeaponsAllowed=Rn;static areAllAnimationsEnabled=vn;static enableAllAnimations=On;static enableStuntBonusForAll=hr;static enableVehicleFriendlyFire=Jn;static enableZoneNames=ar;static disableInteriorEnterExits=rr;static setGameModeText=jn;static getGravity=qn;static setGravity=er;static showNameTags=Xn;static disableNameTagLOS=sr;static usePlayerPedAnims=nr;static showPlayerMarkers=Yn;static limitPlayerMarkerRadius=lr;static limitGlobalChatRadius=or;static setNameTagDrawDistance=ir;static findModelFileNameFromCRC=Z_;static findTextureFileNameFromCRC=j_;static getWeaponName=gr;static setObjectsDefaultCameraCollision=V_;static vectorSize=he;static clearBanList=Kr;static isBanned=Zr;static isValidNickName=In;static allowNickNameCharacter=En;static isNickNameCharacterAllowed=An;static addServerRule=Cn;static setServerRule=Tn;static isValidServerRule=Dn;static removeServerRule=wn;static getWeaponSlot=pr;static getAvailableClasses=Ge;static getPlayerClass=fr;static editPlayerClass=Sr;static toggleChatTextReplacement=ur;static chatTextReplacementToggled=mr;static getConsoleVarAsInt=Fn;static getConsoleVarAsBool=Bn;static getWeather=kn;static getServerRuleFlag=xn;static setServerRuleFlags=Mn}N.onExit(({next:e})=>(A.getInstances().forEach(t=>t.destroy()),e()));const[su]=_({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:A.getInstance(e),player:u.getInstance(t)}}}),[ou]=_({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:A.getInstance(e),killer:u.getInstance(t)}}}),[lu]=_({name:"OnVehicleMod",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),componentId:a}}}),[du]=_({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),paintjobId:a}}}),[cu]=_({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:u.getInstance(e),vehicle:A.getInstance(t),color:[a,n]}}}),[_u]=_({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),state:!!a}}}),[hu]=_({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:A.getInstance(e)}}}),[uu]=_({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:A.getInstance(e),forPlayer:u.getInstance(t)}}}),[mu]=_({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:A.getInstance(e),forPlayer:u.getInstance(t)}}}),[pu]=_({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),isPassenger:!!a}}}),[gu]=_({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:u.getInstance(e),vehicle:A.getInstance(t)}}}),[fu]=_({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:A.getInstance(e),seatId:t}}}),[Su]=_({name:"OnNpcExitVehicle"}),[yu]=_({name:"OnTrailerUpdate",beforeEach(e,t){return{player:u.getInstance(e),vehicle:A.getInstance(t)}}}),[Pu]=_({name:"OnUnoccupiedVehicleUpdate",beforeEach(e,t,a,n,r,i,s,o,l){return{vehicle:A.getInstance(e),player:u.getInstance(t),passengerSeat:a,newX:n,newY:r,newZ:i,velX:s,velY:o,velZ:l}}}),Iu=Object.freeze({onDamageStatusUpdate:su,onDeath:ou,onMod:lu,onPaintjob:du,onRespray:cu,onSirenStateChange:_u,onSpawn:hu,onStreamIn:uu,onStreamOut:mu,onPlayerEnter:pu,onPlayerExit:gu,onNpcEnter:fu,onNpcExit:Su,onTrailerUpdate:yu,onUnoccupiedUpdate:Pu});class Eu{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return Mr()}static getPlayerNetworkStats(t){return xr(t.id)}static getBytesReceived(t){return wr(t.id)}static getBytesSent(t){return Lr(t.id)}static getConnectionStatus(t){return vr(t.id)}static getConnectedTime(t){return Tr(t.id)}static getIpPort(t){return Or(t.id)}static getMessagesReceived(t){return Dr(t.id)}static getMessagesRecvPerSecond(t){return br(t.id)}static getMessagesSent(t){return Nr(t.id)}static getPacketLossPercent(t){return Rr(t.id)}}class Au{_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){Wn(t)}static has(t,a){return Ei(t.id,a)}forAll(t="win1252"){Un(y.encodeToBuf(y.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,a="win1252"){Ii(t.id,y.encodeToBuf(y.convertSpecialChar(this.text),a),this.time,this.style)}hideForPlayer(t){return Ci(t.id,this.style)}}class z{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,r,i,s){this._title=t,this.columns=a,this._x=n,this._y=r,this._col1width=i,this._col2width=s}create(){if(this._id!==-1)throw new Error("[Menu]: Cannot be created twice");if(z.getInstances().length===G.MAX_MENUS)throw new Error("[Menu]: The maximum number of menus allowed to be created has been reached 128");return this._id=yd(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),z.menus.set(this._id,this),this}destroy(){if(this._id===-1)throw new Error("[Menu]: Cannot destroy before create");return Pd(this.id),z.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===G.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 Id(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 Ed(this.id,t,a),this}disable(){if(this._id===-1)throw new Error("[Menu]: Cannot disable menu before create");return Dd(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");wd(this.id,t)}isValid(){return Td(this.id)}showForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot show menu before create");return Ad(this.id,t.id)}hideForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot hide menu before create");return Cd(this.id,t.id)}isDisabled(){return this._id===-1?!1:hd(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:ud(this.id,t)}getItems(t){return this._id===-1?0:md(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:pd(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:gd(this.id)}getColumnHeader(t){if(this._id===-1)throw new Error("[Menu]: Cannot get column header before create");return fd(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 Sd(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===Nd(t.id))}}N.onExit(({next:e})=>(z.getInstances().forEach(t=>t.destroy()),e()));const[Cu]=_({name:"OnPlayerExitedMenu",beforeEach(e){return{player:u.getInstance(e)}}}),[Tu]=_({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=u.getInstance(e),n=z.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),Du=Object.freeze({onPlayerExited:Cu,onPlayerSelectedRow:Tu});class w{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(w.getInstances(!1).length===G.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:r,maxY:i}=this.sourceInfo;this._id=Xd(t.id,a,n,r,i);const s=Ie.onDisconnect(({player:o,next:l})=>{l(),o===this.sourceInfo.player&&(this.destroy(),s())});w.playerGangZones.set(this.id,this)}else{if(w.getInstances(!0).length===G.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:r,maxY:i}=this.sourceInfo;this._id=kd(a,n,r,i),w.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?(Yd(t.id,this.id),w.playerGangZones.delete(this.id)):(xd(this.id),w.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 Hd(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)zd(n.id,this.id,P(t));else if(a)Md(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 Ud(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)$d(a.id,this.id);else if(t)Vd(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 Kd(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)Wd(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 jd(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)Qd(a.id,this.id);else if(t)Zd(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?qd(t.id,this.id):Ld(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?ec(a.id,this.id):bd(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?tc(a.id,this.id):Rd(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?ac(a.id,this.id):vd(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?nc(a.id,this.id):Od(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?rc(a.id,this.id):Gd(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?ic(t.id,this.id):Fd(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?sc(a.id,this.id,t):Bd(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()]}}N.onExit(({next:e})=>(w.getInstances(!0).forEach(t=>t.destroy()),w.getInstances(!1).forEach(t=>t.destroy()),e()));const[wu]=_({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!0)}}}),[Nu]=_({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!0)}}}),[Lu]=_({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!1)}}}),[bu]=_({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!1)}}}),[Ru]=_({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!0)}}}),[vu]=_({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!1)}}}),Ou=Object.freeze({onPlayerEnterGlobal:wu,onPlayerLeaveGlobal:Nu,onPlayerEnterPlayer:Lu,onPlayerLeavePlayer:bu,onPlayerClickGlobal:Ru,onPlayerClickPlayer:vu}),C={skip:!1};N.onInit(({next:e})=>(C.skip=!1,e())),N.onExit(({next:e})=>(C.skip=!0,e()));const[j]=_({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[X]=_({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[Gu]=_({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=Nt;static setTickRate=Lt;static getPlayerTickRate(t){return bt(t.id)}static setPlayerTickRate(t,a=50){return Rt(t.id,a)}static toggleChunkStream=vt;static isToggleChunkStream=Ot;static getChunkTickRate(t,a=-1){return a instanceof u?Te(t,a.id):Te(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof u?De(t,a,n.id):De(t,a,n)}static getChunkSize=Gt;static setChunkSize=Ft;static getMaxItems=Bt;static setMaxItems=kt;static getVisibleItems(t,a=-1){return a instanceof u?we(t,a.id):we(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof u?Ne(t,a,n.id):Ne(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?be(t,n.id):be(t,a,n)}static getTypePriority=xt;static setTypePriority=Mt;static getCellDistance=Ht;static setCellDistance=Vt;static getCellSize=Ut;static setCellSize=Wt;static toggleItemStatic=Kt;static isToggleItemStatic=Zt;static toggleItemInvAreas=jt;static isToggleItemInvAreas=Xt;static toggleItemCallbacks=Yt;static isToggleItemCallbacks=zt;static toggleErrorCallback=$t;static isToggleErrorCallback=Jt;static amxUnloadDestroyItems=Qt;static processActiveItems=qt;static toggleIdleUpdate(t,a){return ea(t.id,a)}static isToggleIdleUpdate(t){return ta(t.id)}static toggleCameraUpdate(t,a){return aa(t.id,a)}static isToggleCameraUpdate(t){return na(t.id)}static toggleItemUpdate(t,a,n){return ra(t.id,a,n)}static isToggleItemUpdate(t,a){return ia(t.id,a)}static getLastUpdateTime(){return sa()}static update(t,a=-1){return oa(t.id,a)}static updateEx(t,a,n,r,i,s,o,l,d){return la(t.id,a,n,r,i,s,o,l,d)}static getDistanceToItem=da;static toggleItem(t,a,n,r){return ca(t.id,a,n,r)}static isToggleItem(t,a,n){return _a(t.id,a,n)}static toggleAllItems(t,a,n,r=[-1]){return ha(t.id,a,n,r)}static getItemInternalID(t,a,n){return ua(t.id,a,n)}static getItemStreamerID(t,a,n){return ma(t.id,a,n)}static isItemVisible(t,a,n){return pa(t.id,a,n)}static destroyAllVisibleItems(t,a,n=1){return ga(t.id,a,n)}static countVisibleItems(t,a,n=1){return fa(t.id,a,n)}static destroyAllItems=Sa;static countItems=ya;static getNearbyItems=Pa;static getAllVisibleItems(t,a,n){return Ia(t.id,a,n)}static getItemPos=Ea;static setItemPos=Aa;static getItemOffset=Ca;static setItemOffset=Ta;static getFloatData=Da;static setFloatData=wa;static getIntData=Na;static setIntData=La;static getArrayData=ba;static setArrayData=Ra;static isInArrayData=va;static appendArrayData=Oa;static removeArrayData=Ga;static getArrayDataLength=Fa;static getUpperBound=Ba;static onPluginError=Gu}class W{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:r,playerId:i,areaId:s,priority:o}=this.sourceInfo;const{x:l,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??=ka.LOCAL,a??=le.MAP_ICON_SD,o??=0,S?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=xa(l,d,h,m,P(p),t,a,n,r,i,s,o),W.mapIcons.set(this._id,this),this):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=Ma(l,d,h,m,P(p),n,r,i,a,t,s,o),W.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||Ha(this.id),W.mapIcons.delete(this._id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:Va(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()]}}N.onExit(({next:e})=>(W.getInstances().forEach(t=>t.destroy()),e()));const[Fu,Bu]=_({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[ku,xu]=_({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?Bu(a,W.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?xu(a,W.getInstance(t)):n());const Mu=Object.freeze({onStreamIn:Fu,onStreamOut:ku});class U{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:r,areaId:i,priority:s}=this.sourceInfo;const{type:o,modelId:l,x:d,y:h,z:m,extended:p}=this.sourceInfo;if(o<0)throw new Error("[StreamerPickup]: Invalid pickup type");return t??=c.StreamerDistances.PICKUP_SD,s??=0,p?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=c.CreateDynamicPickupEx(l,o,d,h,m,t,a,n,r,i,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=c.CreateDynamicPickup(l,o,d,h,m,a,n,r,t,i,s)),U.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||c.DestroyDynamicPickup(this.id),U.pickups.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:c.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerPickup]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(c.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(c.StreamerItemTypes.PICKUP,this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,c.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()]}}N.onExit(({next:e})=>(U.getInstances().forEach(t=>t.destroy()),e()));const[Hu,Vu]=_({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Uu,Wu]=_({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?Vu(a,U.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?Wu(a,U.getInstance(t)):n());const[Ku]=_({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:U.getInstance(t)}}}),Zu=Object.freeze({onPlayerPickUp:Ku,onStreamIn:Hu,onStreamOut:Uu});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:r,areaId:i,priority:s}=this.sourceInfo;const{size:o,x:l,y:d,z:h,extended:m}=this.sourceInfo;if(o<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=le.CP_SD,s??=0,m?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=Ua(l,d,h,o,t,a,n,r,i,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=Wa(l,d,h,o,a,n,r,t,i,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||Re(this.id),k.checkpoints.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:ve(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle the player before create");return Ka(t.id,this.id,a),this}static togglePlayerAll(t,a){return Za(t.id,a)}isPlayerIn(t){return this.id===-1?!1:ja(t.id,this.id)}static getPlayerVisible(t){return k.checkpoints.get(Xa(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()]}}N.onExit(({next:e})=>(k.checkpoints.forEach(t=>t.destroy()),e()));const[ju,Xu]=_({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Yu,zu]=_({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?Xu(a,k.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?zu(a,k.getInstance(t)):n());const[$u]=_({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),cp:k.getInstance(t)}}}),[Ju]=_({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),cp:k.getInstance(t)}}}),Qu=Object.freeze({onPlayerEnter:$u,onPlayerLeave:Ju,onStreamIn:ju,onStreamOut:Yu});class x{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:r,areaId:i,priority:s}=this.sourceInfo;const{type:o,size:l,x:d,y:h,z:m,nextX:p,nextY:S,nextZ:I,extended:b}=this.sourceInfo;if(o<0||o>8)throw new Error("[StreamerRaceCP]: Invalid type");if(l<0)throw new Error("[StreamerRaceCP]: Invalid size");return t??=le.RACE_CP_SD,s??=0,b?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=Ya(o,d,h,m,p,S,I,l,t,a,n,r,i,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=za(o,d,h,m,p,S,I,l,a,n,r,t,i,s)),x.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||Re(this.id),x.checkpoints.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:ve(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle the player before create");return $a(t.id,this.id,a),this}static togglePlayerAll(t,a){return Ja(t.id,a)}isPlayerIn(t){return this.id===-1?!1:Qa(t.id,this.id)}static getPlayerVisible(t){return x.checkpoints.get(qa(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()]}}N.onExit(({next:e})=>(x.getInstances().forEach(t=>t.destroy()),e()));const[qu,em]=_({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[tm,am]=_({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?em(a,x.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?am(a,x.getInstance(t)):n());const[nm]=_({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),raceCP:x.getInstance(t)}}}),[rm]=_({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),raceCp:x.getInstance(t)}}}),im=Object.freeze({onPlayerEnter:nm,onPlayerLeave:rm,onStreamIn:qu,onStreamOut:tm});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:r,areaId:i,priority:s}=this.sourceInfo;const{modelId:o,x:l,y:d,z:h,r:m,invulnerable:p,health:S,extended:I}=this.sourceInfo;return t??=c.StreamerDistances.ACTOR_SD,s??=0,I?(typeof a=="number"?a=[0]:a??=[0],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=c.CreateDynamicActorEx(o,l,d,h,m,p,S,t,a,n,r,i,s)):(Array.isArray(a)?a=0:a??=0,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=c.CreateDynamicActor(o,l,d,h,m,p,S,a,n,r,t,i,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||c.DestroyDynamicActor(this.id),H.actors.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:c.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:c.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get virtual world before create");return c.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set virtual world before create");return c.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,n=4.1,r=!1,i=!0,s=!0,o=!1,l=0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to apply animation before create");if(!fe(t,a))throw new Error("[StreamerActor]: Invalid anim library or name");return c.ApplyDynamicActorAnimation(this.id,t,a,n,r,i,s,o,l)}clearAnimations(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to clear animation before create");return c.ClearDynamicActorAnimations(this.id)}getFacingAngle(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get facing angle before create");return c.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set facing angle before create");return c.SetDynamicActorFacingAngle(this.id,t)}getPos(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get pos before create");return c.GetDynamicActorPos(this.id)}setPos(t,a,n){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set pos before create");return c.SetDynamicActorPos(this.id,t,a,n)}getHealth(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get health before create");return c.GetDynamicActorHealth(this.id)}setHealth(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set health before create");return c.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:c.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set invulnerable before create");return c.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=c.GetPlayerTargetDynamicActor(t.id);return H.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=c.GetPlayerCameraTargetDynActor(t.id);return H.actors.get(a)}getSkin(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get skin before create");return wo(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:No(this.id,t)}getSpawnInfo(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get spawn info before create");return Lo(this.id)}getAnimation(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get animation before create");return c.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(c.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(c.StreamerItemTypes.ACTOR,this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,c.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()]}}N.onExit(({next:e})=>(H.getInstances().forEach(t=>t.destroy()),e()));const[sm]=_({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:H.getInstance(e),forPlayer:u.getInstance(t)}}}),[om]=_({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:H.getInstance(e),forPlayer:u.getInstance(t)}}}),[lm]=_({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,a,n,r){return{player:u.getInstance(e),actor:H.getInstance(t),amount:a,weapon:n,bodyPart:r}}}),dm=Object.freeze({onStreamIn:sm,onStreamOut:om,onPlayerGiveDamage:lm});class Y{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:r,worldId:i,interiorId:s,playerId:o,areaId:l,priority:d}=this.sourceInfo;const{charset:h,text:m,color:p,drawDistance:S,x:I,y:b,z:O,extended:ee}=this.sourceInfo;return t??=T.PLAYER_ID,a??=T.VEHICLE_ID,r??=le.TEXT_3D_LABEL_SD,n??=!1,d??=0,ee?(typeof i=="number"?i=[-1]:i??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof o=="number"?o=[-1]:o??=[-1],typeof l=="number"?l=[-1]:l??=[-1],this._id=oh(m,P(p),I,b,O,S,t,a,n,r,i,s,o,l,d,h||"utf8")):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(o)?o=-1:o??=-1,Array.isArray(l)?l=-1:l??=-1,this._id=sh(h||"utf8",m,P(p),I,b,O,S,t,a,n,i,s,o,r,l,d)),Y.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||en(this.id),Y.texts.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:tn(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 dh(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,lh(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 r=g.setFloatData(E.TEXT_3D_LABEL,this.id,te.ATTACH_OFFSET_X,t);return g.setFloatData(E.TEXT_3D_LABEL,this.id,te.ATTACH_OFFSET_Y,a),g.setFloatData(E.TEXT_3D_LABEL,this.id,te.ATTACH_OFFSET_Z,n),this.sourceInfo.x=t,this.sourceInfo.y=a,this.sourceInfo.z=n,r}attachToPlayer(t,a,n,r){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Cannot attachToPlayer before created");const i=typeof t=="number"?t:t.id,s=g.setIntData(E.TEXT_3D_LABEL,this.id,te.ATTACHED_PLAYER,i);return i!==T.PLAYER_ID&&this.setOffsets(a,n,r),this.sourceInfo.attachedPlayer=i,s}attachToVehicle(t,a,n,r){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Cannot attachToVehicle before created");const i=typeof t=="number"?t:t.id,s=g.setIntData(E.TEXT_3D_LABEL,this.id,te.ATTACHED_VEHICLE,i);return i!==T.VEHICLE_ID&&this.setOffsets(a,n,r),this.sourceInfo.attachedVehicle=i,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()]}}N.onExit(({next:e})=>(Y.getInstances().forEach(t=>t.destroy()),e()));const[cm,_m]=_({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[hm,um]=_({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?_m(a,Y.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?um(a,Y.getInstance(t)):n());const mm=Object.freeze({onStreamIn:cm,onStreamOut:hm});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:r,playerId:i,areaId:s,priority:o}=this.sourceInfo;const{modelId:l,x:d,y:h,z:m,rx:p,ry:S,rz:I,extended:b}=this.sourceInfo;return t??=c.StreamerDistances.OBJECT_SD,a??=c.StreamerDistances.OBJECT_DD,o??=0,b?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=c.CreateDynamicObjectEx(l,d,h,m,p,S,I,t,a,n,r,i,s,o)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=c.CreateDynamicObject(l,d,h,m,p,S,I,n,r,i,t,a,s,o)),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||c.DestroyDynamicObject(this.id),R.objects.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:c.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get position before create");return c.GetDynamicObjectPos(this.id)}setPos(t,a,n){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set position before create");return c.SetDynamicObjectPos(this.id,t,a,n)}getRot(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get rotation before create");return c.GetDynamicObjectRot(this.id)}setRot(t,a,n){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set rotation before create");return c.SetDynamicObjectRot(this.id,t,a,n)}move(t,a,n,r,i=-1e3,s=-1e3,o=-1e3){if(this.id===-1)throw new Error("[StreamerObject]: Cannot start moving before create");if(r<0)throw new Error("[StreamerObject]: speed must not be less than 0");if(r>120*1e3)throw new Error("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),c.MoveDynamicObject(this.id,t,a,n,r,i,s,o)}stop(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot stop moving before create");return c.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:c.IsDynamicObjectMoving(this.id)}attachCamera(t){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachCamera before both are created");return c.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,n,r,i,s,o,l=!0){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToObject before both are created");return c.AttachDynamicObjectToObject(this.id,t.id,a,n,r,i,s,o,l)}attachToPlayer(t,a,n,r,i,s,o){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToPlayer before both are created");return c.AttachDynamicObjectToPlayer(this.id,t.id,a,n,r,i,s,o)}attachToVehicle(t,a,n,r,i,s,o){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return c.AttachDynamicObjectToVehicle(this.id,t.id,a,n,r,i,s,o)}edit(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to edit before create");return t.endObjectEditing(),c.EditDynamicObject(t.id,this.id)}isMaterialUsed(t){return this.id===-1?!1:c.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:c.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,a,n){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material before create");return c.GetDynamicObjectMaterial(this.id,t,a,n)}setMaterial(t,a,n,r,i="#000"){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material before create");return c.SetDynamicObjectMaterial(this.id,t,a,n,r,P(i))}isMaterialTextUsed(t){return this.id===-1?!1:c.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?c.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material text before create");return _h(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,r=c.MaterialTextSizes.SIZE_256x128,i="Arial",s=24,o=1,l="#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,ch(t||"utf8",this.id,a,n,r,i,s,o,P(l),P(d),h)}getPlayerCameraTarget(t){const a=c.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(c.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(c.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return c.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return c.GetDynamicObjectNoCameraCol(this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,c.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()]}}N.onExit(({next:e})=>(R.getInstances().forEach(t=>t.destroy()),e()));const[pm,gm]=_({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[fm,Sm]=_({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?gm(a,R.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?Sm(a,R.getInstance(t)):n());const[ym]=_({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:R.getInstance(e)}}}),[Pm]=_({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,a,n,r,i,s,o,l){return{player:u.getInstance(e),object:R.getInstance(t),response:a,x:n,y:r,z:i,rX:s,rY:o,rZ:l}}}),[Im]=_({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,r,i){return{player:u.getInstance(e),object:R.getInstance(t),modelId:a,x:n,y:r,z:i}}}),[Em]=_({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,r,i){return{player:u.getInstance(e),object:R.getInstance(a),weapon:t,x:n,y:r,z:i}}}),[Am]=_({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,r,i,s,o,l,d,h,m,p,S){return{player:u.getInstance(e),response:t,index:a,modelId:n,boneId:r,fOffsetX:i,fOffsetY:s,fOffsetZ:o,fRotX:l,fRotY:d,fRotZ:h,fScaleX:m,fScaleY:p,fScaleZ:S}}}),Cm=Object.freeze({onMoved:ym,onPlayerEdit:Pm,onPlayerSelect:Im,onPlayerShoot:Em,onPlayerEditAttached:Am,onStreamIn:pm,onStreamOut:fm});class L{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:r,extended:i}=this.sourceInfo;if(i)if(typeof t=="number"?t=[-1]:t??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],r==="circle"){const{x:s,y:o,size:l}=this.sourceInfo;if(l<0)throw new Error("[StreamerArea]: Invalid circle extend size");this._id=c.CreateDynamicCircleEx(s,o,l,t,a,n)}else if(r==="cuboid"){const{minX:s,minY:o,minZ:l,maxX:d,maxY:h,maxZ:m}=this.sourceInfo;this._id=c.CreateDynamicCuboidEx(s,o,l,d,h,m,t,a,n)}else if(r==="cylinder"){const{x:s,y:o,minZ:l,maxZ:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=c.CreateDynamicCylinderEx(s,o,l,d,h,t,a,n)}else if(r==="polygon"){const{points:s,minZ:o,maxZ:l}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=c.CreateDynamicPolygonEx(s,o,l,t,a,n)}else if(r==="rectangle"){const{minX:s,minY:o,maxX:l,maxY:d}=this.sourceInfo;this._id=c.CreateDynamicRectangleEx(s,o,l,d,t,a,n)}else{const{x:s,y:o,z:l,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere extended size");this._id=c.CreateDynamicSphereEx(s,o,l,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,r==="circle"){const{x:s,y:o,size:l}=this.sourceInfo;if(l<0)throw new Error("[StreamerArea]: Invalid circle size");this._id=c.CreateDynamicCircle(s,o,l,t,a,n)}else if(r==="cuboid"){const{minX:s,minY:o,minZ:l,maxX:d,maxY:h,maxZ:m}=this.sourceInfo;this._id=c.CreateDynamicCuboid(s,o,l,d,h,m,t,a,n)}else if(r==="cylinder"){const{x:s,y:o,minZ:l,maxZ:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=c.CreateDynamicCylinder(s,o,l,d,h,t,a,n)}else if(r==="polygon"){const{points:s,minZ:o,maxZ:l}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=c.CreateDynamicPolygon(s,o,l,t,a,n)}else if(r==="rectangle"){const{minX:s,minY:o,maxX:l,maxY:d}=this.sourceInfo;this._id=c.CreateDynamicRectangle(s,o,l,d,t,a,n)}else{const{x:s,y:o,z:l,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere size");this._id=c.CreateDynamicSphere(s,o,l,d,t,a,n)}return L.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||c.DestroyDynamicArea(this.id),L.areas.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:c.IsValidDynamicArea(this.id)}getType(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to get type before create");return c.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 c.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 c.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,a=!1){return this.id===-1?!1:c.IsPlayerInDynamicArea(t.id,this.id,a)}static isPlayerInAny(t,a=!1){return c.IsPlayerInAnyDynamicArea(t.id,a)}isAnyPlayerIn(t=!1){return this.id===-1?!1:c.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return c.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t){return L.getPlayerAreasNumber(t)?c.GetPlayerDynamicAreas(t.id).map(a=>L.areas.get(a)):[]}static getPlayerAreasNumber(t){return c.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,n){return this.id===-1?!1:c.IsPointInDynamicArea(this.id,t,a,n)}static isPointInAny(t,a,n){return c.IsPointInAnyDynamicArea(t,a,n)}isLineIn(t,a,n,r,i,s){return this.id===-1?!1:c.IsLineInDynamicArea(this.id,t,a,n,r,i,s)}static isLineInAny(t,a,n,r,i,s){return c.IsLineInAnyDynamicArea(t,a,n,r,i,s)}static getForPoint(t,a,n){return L.getNumberForPoint(t,a,n)?c.GetDynamicAreasForPoint(t,a,n).map(r=>L.getInstance(r)):[]}static getNumberForPoint(t,a,n){return c.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,r,i,s){return L.getNumberForLine(t,a,n,r,i,s)?c.GetDynamicAreasForLine(t,a,n,r,i,s).map(o=>L.areas.get(o)):[]}static getNumberForLine(t,a,n,r,i,s){return c.GetNumberDynamicAreasForLine(t,a,n,r,i,s)}attachToObject(t,a=0,n=0,r=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to object before create");return c.AttachDynamicAreaToObject(this.id,t.id,c.StreamerObjectTypes.DYNAMIC,T.PLAYER_ID,a,n,r)}attachToPlayer(t,a=0,n=0,r=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to player before create");return c.AttachDynamicAreaToPlayer(this.id,t.id,a,n,r)}attachToVehicle(t,a=0,n=0,r=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to vehicle before create");return c.AttachDynamicAreaToVehicle(this.id,t.id,a,n,r)}toggleSpectateMode(t){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle specate mode before create");return c.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:c.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(c.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(c.StreamerItemTypes.AREA,this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,c.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()]}}N.onExit(({next:e})=>(L.getInstances().forEach(t=>t.destroy()),e()));const[Tm,Dm]=_({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[wm,Nm]=_({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?Dm(a,L.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?Nm(a,L.getInstance(t)):n());const[Lm]=_({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),area:L.getInstance(t)}}}),[bm]=_({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),area:L.getInstance(t)}}}),Rm=Object.freeze({onStreamIn:Tm,onStreamOut:wm,onPlayerEnter:Lm,onPlayerLeave:bm});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:r,charset:i="iso-8859-1"}=this.sourceInfo,s=y.encodeToBuf(y.convertSpecialChar(n),i);if(r){if(f.getInstances(!1).length===G.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=S_(r.id,t,a,s);const o=Ie.onDisconnect(({player:l,next:d})=>{const h=d();return l===r&&(this.destroy(),o()),h});f.playerTextDraws.set(this.id,this)}else{if(f.getInstances(!0).length===G.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Nc(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?(y_(t.id,this.id),f.playerTextDraws.delete(this.id)):(Lc(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?L_(a.id,this.id,t):Mc(this.id,t),this}setColor(t){if(this.id===-1)return f.beforeCreateWarn("set color"),this;const{player:a}=this.sourceInfo;return a?A_(a.id,this.id,t):Oc(this.id,t),this}setBoxColors(t){if(this.id===-1)return f.beforeCreateWarn("set box color"),this;const{player:a}=this.sourceInfo;return a?T_(a.id,this.id,t):Fc(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return f.beforeCreateWarn("set background color"),this;const{player:a}=this.sourceInfo;return a?N_(a.id,this.id,t):xc(this.id,t),this}setAlignment(t){if(this.id===-1)return f.beforeCreateWarn("set alignment"),this;const{player:a}=this.sourceInfo;return a?E_(a.id,this.id,t):vc(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):bc(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?w_(a.id,this.id,t):kc(this.id,t),this}setPreviewModel(t){if(this.id===-1)return f.beforeCreateWarn("set preview model"),this;this.setFont(re.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?F_(a.id,this.id,t):Xc(this.id,t),this}setPreviewRot(t,a,n,r=1){if(this.id===-1)return f.beforeCreateWarn("set preview rot"),this;this.setFont(re.MODEL_PREVIEW);const{player:i}=this.sourceInfo;return i?B_(i.id,this.id,t,a,n,r):Yc(this.id,t,a,n,r),this}setPreviewVehColors(t,a){if(this.id===-1)return f.beforeCreateWarn("set preview veh col"),this;this.setFont(re.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?k_(n.id,this.id,t,a):zc(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?b_(a.id,this.id,t):Hc(this.id,t),this}setSelectable(t){if(this.id===-1)return f.beforeCreateWarn("set Selectable"),this;const{player:a}=this.sourceInfo;return a?R_(a.id,this.id,t):Vc(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?D_(a.id,this.id,t):Bc(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:r="iso-8859-1"}=this.sourceInfo,i=y.encodeToBuf(y.convertSpecialChar(t),r);return n?G_(n.id,this.id,i):a?wc(this.id,a.id,i):jc(this.id,i),this}setTextSize(t,a){if(this.id===-1)return f.beforeCreateWarn("set TextSize"),this;const{player:n}=this.sourceInfo;return n?I_(n.id,this.id,t,a):Rc(this.id,t,a),this}useBox(t){if(this.id===-1)return f.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?C_(a.id,this.id,t):Gc(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)v_(a.id,this.id);else if(t)Uc(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)O_(a.id,this.id);else if(t)Wc(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 Kc(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 Zc(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be hide for all.")}isValid(){const t=this.sourceInfo.player;return t?Qc(t.id,this.id):oc(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:a}=this.sourceInfo;return a?qc(a.id,this.id):t?lc(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?e_(t.id,this.id):dc(this.id)}setPos(t,a){if(this.id===-1)return f.beforeCreateWarn("set position"),this;const n=this.sourceInfo.player;return n?t_(n.id,this.id,t,a):cc(this.id,t,a),this}getLetterSize(){if(this.id===-1)return f.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?a_(t.id,this.id):_c(this.id)}getTextSize(){if(this.id===-1)return f.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?n_(t.id,this.id):hc(this.id)}getPos(){if(this.id===-1)return f.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?r_(t.id,this.id):uc(this.id)}getColor(){if(this.id===-1)return f.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?i_(t.id,this.id):mc(this.id)}getBoxColor(){if(this.id===-1)return f.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?s_(t.id,this.id):pc(this.id)}getBackgroundColor(){if(this.id===-1)return f.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?o_(t.id,this.id):gc(this.id)}getShadow(){if(this.id===-1)return f.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?l_(t.id,this.id):fc(this.id)}getOutline(){if(this.id===-1)return f.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?d_(t.id,this.id):Sc(this.id)}getFont(){if(this.id===-1)return f.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?c_(t.id,this.id):yc(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?__(t.id,this.id):Pc(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?h_(t.id,this.id):Ic(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?u_(t.id,this.id):Ec(this.id)}getAlignment(){if(this.id===-1)return f.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?m_(t.id,this.id):Ac(this.id)}getPreviewModel(){if(this.id===-1)return f.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?p_(t.id,this.id):Cc(this.id)}getPreviewRot(){if(this.id===-1)return f.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?g_(t.id,this.id):Tc(this.id)}getPreviewVehColors(){if(this.id===-1)return f.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?f_(t.id,this.id):Dc(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()]}}N.onExit(({next:e})=>(f.getInstances(!0).forEach(t=>t.destroy()),f.getInstances(!1).forEach(t=>t.destroy()),e()));const[vm]=_({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===T.TEXT_DRAW?t:f.getInstance(t,!0)}}}),[Om]=_({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===T.TEXT_DRAW?t:f.getInstance(t,!1)}}}),Gm=Object.freeze({onPlayerClickGlobal:vm,onPlayerClickPlayer:Om});function Fm(e,t){return(e&t)===t}function Bm(e,t,a){return(e&a)===a&&(t&a)!==a}function km(e,t){return!!(e&t)}function xm(e,t,a){return(e&a)!==a&&(t&a)===a}function Mm(e){const t=new Set,a=e.prototype,n=Object.getOwnPropertyNames(a).filter(i=>typeof a[i]=="function"&&i!=="constructor").reduce((i,s)=>(i[s]=a[s],i),{});function r(i,s){if(t.has(i))throw new Error(`Method '${String(i)}' of class '${e.name}' has already been hooked. Each method can only be hooked once per defineHooks call. `);if(typeof Reflect.get(a,i)!="function")throw new Error(`Invalid method: ${String(i)}`);return Reflect.set(a,i,s),t.add(i),s}return[n,r]}export{Ve as ArtworkEnum,et as BodyPartsEnum,tt as BoneIdsEnum,dt as BulletHitTypesEnum,ne as CameraCutStylesEnum,qe as CameraModesEnum,rt as CarModTypeEnum,Ue as ClickSourcesEnum,Ke as ConnectionStatusEnum,pe as DamageDeathReasonEnum,D as Dialog,ue as DialogStylesEnum,Y as Dynamic3DTextLabel,mm as Dynamic3DTextLabelEvent,H as DynamicActor,dm as DynamicActorEvent,L as DynamicArea,Rm as DynamicAreaEvent,Qu as DynamicCheckPointEvent,k as DynamicCheckpoint,W as DynamicMapIcon,Mu as DynamicMapIconEvent,R as DynamicObject,Cm as DynamicObjectEvent,U as DynamicPickup,Zu as DynamicPickupEvent,x as DynamicRaceCP,im as DynamicRaceCPEvent,F as ERecordStatus,Km as E_STREAMER,We as EditResponseTypesEnum,Je as FightingStylesEnum,at as ForceSyncEnum,N as GameMode,Au as GameText,w as GangZone,Ou as GangZoneEvent,y as I18n,T as InvalidEnum,Ze as KeysEnum,G as LimitsEnum,Zm as MapIconStyles,Qe as MapIconStylesEnum,je as MarkerModesEnum,jm as MaterialTextAlign,Xm as MaterialTextSizes,z as Menu,Du as MenuEvent,Xe as NPCPlaybackEnum,Eu as NetStats,B as Npc,Pn as NpcEvent,ze as ObjectMaterialAlignmmentEnum,Ye as ObjectMaterialTextSizeEnum,u as Player,Ie as PlayerEvent,$ as PlayerStateEnum,_t as RecordTypesEnum,$e as SelectObjectTypesEnum,me as SpecialActionsEnum,de as SpectateModesEnum,g as Streamer,Ym as StreamerAreaTypes,zm as StreamerDistances,$m as StreamerItemTypes,Jm as StreamerMiscellaneous,Qm as StreamerObjectTypes,f as TextDraw,nt as TextDrawAlignEnum,Gm as TextDrawEvent,re as TextDrawFontsEnum,A as Vehicle,Iu as VehicleEvent,st as VehicleModelInfoEnum,it as VehicleParamsEnum,ot as WeaponEnum,lt as WeaponSkillsEnum,ct as WeaponStatesEnum,ht as animateLib,_ as defineEvent,Mm as defineHooks,Q_ as getAnimateDurationByLibName,Fm as isHolding,Bm as isPressed,km as isPressing,xm as isReleased,ge as isValidAnimateLib,fe as isValidAnimateName,P as rgba};
|