@infernus/core 0.12.2 → 0.12.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bundle.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var pi=require("node:util"),fi=require("iconv-lite");function dt(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 gi(e,t){const i={},a=Object.keys(e);for(let n=0;n<a.length;n++){const r=a[n],s=e[r];i[t(s,r,e)]=s}return i}function Me(e){return e==="__proto__"}function Ie(e,t){const i=Object.keys(t);for(let a=0;a<i.length;a++){const n=i[a];if(Me(n))continue;const r=t[n],s=e[n];Array.isArray(r)?Array.isArray(s)?e[n]=Ie(s,r):e[n]=Ie([],r):dt(r)?dt(s)?e[n]=Ie(s,r):e[n]=Ie({},r):(s===void 0||r!==void 0)&&(e[n]=r)}return e}function Pi(e,t){const i={...e};for(let a=0;a<t.length;a++){const n=t[a];delete i[n]}return i}const Si=new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+","gu");function yi(e){return Array.from(e.match(Si)??[])}function Ke(e){return yi(e).map(i=>i.toLowerCase()).join("_")}function Ii(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function Ei(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function Ai(e){const t=[],i=e.length;if(i===0)return t;let a=0,n="",r="",s=!1;for(e.charCodeAt(0)===46&&(t.push(""),a++);a<i;){const l=e[a];r?l==="\\"&&a+1<i?(a++,n+=e[a]):l===r?r="":n+=l:s?l==='"'||l==="'"?r=l:l==="]"?(s=!1,t.push(n),n=""):n+=l:l==="["?(s=!0,n&&(t.push(n),n="")):l==="."?n&&(t.push(n),n=""):n+=l,a++}return n&&t.push(n),t}function Ze(e,t,i){if(e==null)return i;switch(typeof t){case"string":{if(Me(t))return i;const a=e[t];return a===void 0?Ii(t)?Ze(e,Ai(t),i):i:a}case"number":case"symbol":{typeof t=="number"&&(t=Ei(t));const a=e[t];return a===void 0?i:a}default:{if(Array.isArray(t))return Ci(e,t,i);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),Me(t))return i;const a=e[t];return a===void 0?i:a}}}function Ci(e,t,i){if(t.length===0)return i;let a=e;for(let n=0;n<t.length;n++){if(a==null||Me(t[n]))return i;a=a[t[n]]}return a===void 0?i:a}const{encode:Ni,decode:Ti,encodingExists:Di}=fi;function vi(e){return e instanceof Buffer}class I{constructor(t,i){this.defaultLocale=t,this.locales=i,this.defaultLocale=Ke(t),this.locales=I.snakeLocaleKeys(i)}addLocales=t=>{Ie(this.locales,I.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=Pi(this.locales,t)};$t=(t,i,a=this.defaultLocale)=>{const n=this.locales[Ke(a)],r=Ze(this.locales[this.defaultLocale],t),s=Ze(n,t,r);if(s===void 0)throw new Error(`[i18n]: cannot find ${a}["${t}"]`);if(typeof s!="string")return JSON.stringify(s);let l=s;return i&&i.length&&(l=pi.format(l,...i)),l};static isValidate(t){if(!Di(t))throw new Error(`[i18n]: unknown charset ${t}`)}static encodeToBuf(t,i){return I.isValidate(i),[...Ni(t,i),0]}static decodeFromBuf(t,i="utf8"){I.isValidate(i);const a=vi(t)?t:Buffer.from(I.getValidStr(t));return Ti(a,i)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return gi(t,(i,a)=>Ke(a))}static convertSpecialChar(t){const i={\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(a=>a in i?i[a]:a).join("")}}const F=new Map,ct=new Map;function wi(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function _t(e,t,...i){const{defaultValue:a=!0,name:n,beforeEach:r,afterEach:s,throwOnError:l=!1}=e,o=F.get(n);if(!o||!o.length)return+a;const d=r?r(...i):{},c=[];let h=t;const p=g=>{if(h++,h<o.length){try{g&&Object.assign(d,g);const f={next:p,defaultValue:a,...d},y=o[h](f);return y instanceof Promise?(c.push(y),a):y}catch(f){const y=`executing event [name:${n},index:${h}] error:
2
- ${f}`;if(l)throw{error:f,message:y};console.log(y)}return a}return s&&(c.length?Promise.allSettled(c).then(()=>s(d)):s(d)),a};return wi(p(),a)}function u(e){const{name:t,identifier:i,isNative:a=!0}=e;if(F.has(t)){const l=`event [name:${t}] error: already defined.`;throw new Error(l)}function n(...l){if(l.length===1&&typeof l[0]=="object"&&l[0].__trigger__){const o=l[0];let d=-1;if(o.skipToNext){const c=F.get(t);if(c&&c.length){const h=c.indexOf(o.skipToNext);h>-1&&(d=h)}}return _t(e,d,...o.args)}return _t(e,-1,...l)}function r(l,o=!1){F.has(t)||F.set(t,[]);const d=F.get(t),c=(o?d.unshift(l):d.push(l))-1;return()=>{const h=F.get(t);if(!h)return;const p=h.length-1,g=p<c?p:c;for(let f=g;f>=0;f--)if(h[f]===l){h.splice(f,1);break}return h.length===0&&F.delete(t),h.length}}const s=[r,n];return a&&(typeof i<"u"&&samp.registerEvent(t,i),samp.on(t,n)),ct.set(t,n),s}function Ri(e){return ct.get(e)}function Li(e){return Object.assign(e,{__trigger__:!0})}const bi=e=>!!samp.callNative("IsValidNickName","s",e),Oi=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},Gi=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),Fi=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),Bi=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),xi=e=>!!samp.callNative("IsValidServerRule","s",e),ki=e=>!!samp.callNative("RemoveServerRule","s",e),Mi=e=>{samp.callNative("AllowAdminTeleport","i",e)},Vi=()=>!!samp.callNative("IsAdminTeleportAllowed",""),Hi=e=>{samp.callNative("AllowInteriorWeapons","i",e)},Ui=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),Wi=()=>!!samp.callNative("AreAllAnimationsEnabled",""),ji=e=>{samp.callNative("EnableAllAnimations","i",e)},Ki=e=>{const[t,i]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return{consoleVarBuf:t,ret:i}},Zi=e=>samp.callNative("GetConsoleVarAsInt","s",e),Xi=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),Yi=()=>samp.callNative("GetWeather",""),zi=e=>samp.callNative("GetServerRuleFlags","s",e),$i=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Ji=e=>!!samp.callNative("SetModeRestartTime","f",e),Qi=()=>samp.callNativeFloat("GetModeRestartTime",""),qi=(e,t,i)=>samp.callNative("GameTextForAll","aii",e,t,i),ea=e=>{samp.callNative("HideGameTextForAll","i",e)},ta=(e,t,i)=>samp.callNative("SendDeathMessage","iii",e,t,i),ia=()=>samp.callNative("GetMaxPlayers",""),Xe=(e,t,i)=>Math.sqrt(e*e+t*t+i*i),aa=e=>samp.callNative("SetGameModeText","s",e),na=e=>samp.callNative("ShowNameTags","i",e),ra=e=>samp.callNative("ShowPlayerMarkers","i",e),sa=e=>samp.callNative("SetWorldTime","i",e),la=()=>samp.callNative("GetWorldTime",""),oa=()=>!!samp.callNative("EnableVehicleFriendlyFire",""),da=e=>samp.callNative("SetWeather","i",e),ca=()=>samp.callNativeFloat("GetGravity",""),_a=e=>samp.callNative("SetGravity","f",e),ha=(e,t,i,a,n)=>samp.callNative("CreateExplosion","fffif",e,t,i,a,n),ua=e=>samp.callNative("EnableZoneNames","i",e),ma=()=>!!samp.callNative("UsePlayerPedAnims",""),pa=()=>!!samp.callNative("DisableInteriorEnterExits",""),fa=e=>samp.callNative("SetNameTagDrawDistance","f",e),ga=()=>samp.callNative("DisableNameTagLOS",""),Pa=e=>samp.callNative("LimitGlobalChatRadius","f",e),Sa=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),ya=()=>samp.callNative("GetServerTickRate",""),Ia=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),Ea=e=>!!samp.callNative("EnableStuntBonusForAll","i",e),Aa=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},Ca=()=>!!samp.callNative("ChatTextReplacementToggled",""),Na=e=>samp.callNative("GetWeaponSlot","i",e),Ta=e=>{const[t,i]=samp.callNative("GetWeaponName","iSi",e,32);return{name:t,ret:i}},Da=()=>samp.callNative("GetAvailableClasses",""),va=e=>{const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[i,a=0,n=0,r=0,s=0,l=0,o=0,d=0,c=0,h=0,p=0,g=0,f]=t;return{teamId:i,modelId:a,spawnX:n,spawnY:r,spawnZ:s,zAngle:l,weapon1:o,weapon1Ammo:d,weapon2:c,weapon2Ammo:h,weapon3:p,weapon3Ammo:g,ret:f}},wa=(e,t,i,a,n,r,s,l,o,d,c,h,p)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,i,a,n,r,s,l,o,d,c,h,p),Ra=e=>samp.callNative("SetTeamCount","i",e),La=(e,t,i,a,n,r,s,l,o,d,c)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,i,a,n,r,s,l,o,d,c),ba=(e,t,i,a,n,r,s,l,o,d,c,h)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,i,a,n,r,s,l,o,d,c,h),Oa=(e,t,i,a,n,r,s,l,o,d,c,h,p)=>!!samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,i,a,n,r,s,l,o,d,c,h,p),Ga=e=>!!samp.callNative("SpawnPlayer","i",e),Fa=e=>{const[t,i=0,a=0,n=0,r=0,s=0,l=0,o=0,d=0,c=0,h=0,p=0,g]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:i,spawnX:a,spawnY:n,spawnZ:r,zAngle:s,weapon1:l,weapon1Ammo:o,weapon2:d,weapon2Ammo:c,weapon3:h,weapon3Ammo:p,ret:g}},Ba=e=>samp.callNative("NetStats_GetConnectedTime","i",e),xa=e=>samp.callNative("NetStats_MessagesReceived","i",e),ka=e=>samp.callNative("NetStats_BytesReceived","i",e),Ma=e=>samp.callNative("NetStats_MessagesSent","i",e),Va=e=>samp.callNative("NetStats_BytesSent","i",e),Ha=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),Ua=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Wa=e=>samp.callNative("NetStats_ConnectionStatus","i",e),ja=e=>{const[t,i]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return{ipPort:t,ret:i}},Ka=e=>!!samp.callNative("IsPlayerAdmin","i",e),Za=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),Xa=e=>!!samp.callNative("Kick","i",e),Ya=e=>!!samp.callNative("Ban","i",e),za=e=>{const[t,i]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return{stats:t,ret:i}},$a=()=>{const[e,t]=samp.callNative("GetNetworkStats","Si",1024);return{stats:e,ret:t}},Ja=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Qa=e=>samp.callNative("UnBlockIpAddress","s",e),qa=(e,t)=>{const[i,a]=samp.callNative("gpci","iAi",e,41);return{val:I.decodeFromBuf(I.getValidStr(i),t),ret:a}},en=(e,t,i,a,n)=>samp.callNative("SendClientCheck","iiiii",e,t,i,a,n),tn=()=>{samp.callNative("ClearBanList","")},an=e=>!!samp.callNative("IsBanned","s",e),nn=e=>samp.callNative("GetPlayerRawIp","i",e),rn=e=>{const[t,i]=samp.callNative("GetPlayerIp","iSi",e,128);return{ip:t,ret:i}},sn=e=>{const[t,i]=samp.callNative("GetPlayerVersion","iSi",e,24);return{version:t,ret:i}},E=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(a=>parseInt(a,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 i=0;return t.reverse().forEach((a,n)=>{a!==0&&(i+=Math.pow(16,n*2)*a)}),i},ln=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),on=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),dn=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),cn=e=>samp.callNative("GetPlayerWeather","i",e),_n=e=>{const[t=0,i=0,a=0,n=0,r]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:i,yMax:a,yMin:n,ret:r}},hn=e=>samp.callNativeFloat("GetPlayerZAim","i",e),un=e=>{const[t=0,i=0,a=0,n]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:i,fOffsetZ:a,ret:n}},mn=e=>{const[t=0,i=0,a=0,n=0,r]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:i,y:a,z:n,ret:r}},pn=e=>samp.callNative("GetPlayerDialogID","i",e),fn=e=>samp.callNative("GetPlayerSpectateID","i",e),gn=e=>samp.callNative("GetPlayerSpectateType","i",e),Pn=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),Sn=e=>samp.callNativeFloat("GetPlayerGravity","i",e),yn=e=>!!samp.callNative("IsPlayerSpawned","i",e),In=e=>!!samp.callNative("IsPlayerControllable","i",e),En=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),An=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),Cn=e=>!!samp.callNative("GetPlayerGhostMode","i",e),Nn=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),Tn=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),Dn=e=>!!samp.callNative("HidePlayerDialog","i",e),vn=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),wn=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),Rn=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),Ln=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),bn=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),On=(e,t,i,a)=>!!samp.callNative("GameTextForPlayer","iaii",e,t,i,a),Gn=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),Fn=(e,t,i,a)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,i,a),Bn=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),xn=e=>!!samp.callNative("IsPlayerNPC","i",e),kn=(e,t,i,a)=>!!samp.callNative("SetPlayerPos","ifff",e,t,i,a),Mn=(e,t,i,a)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,i,a),Vn=e=>{const[t,i,a,n]=samp.callNative("GetPlayerPos","iFFF",e);return{x:t,y:i,z:a,ret:n}},Hn=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),Un=e=>{const[t,i]=samp.callNative("GetPlayerFacingAngle","iF",e);return{angle:t,ret:i}},Wn=(e,t,i,a,n)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,i,a,n),jn=(e,t,i,a)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,i,a),Kn=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),Zn=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),Xn=e=>samp.callNative("GetPlayerInterior","i",e),Yn=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),zn=e=>{const[t,i]=samp.callNative("GetPlayerHealth","iF",e);return{health:t,ret:i}},$n=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),Jn=e=>{const[t,i]=samp.callNative("GetPlayerArmour","iF",e);return{armour:t,ret:i}},Qn=(e,t,i)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,i),qn=e=>samp.callNative("GetPlayerAmmo","i",e),er=e=>samp.callNative("GetPlayerWeaponState","i",e),tr=e=>samp.callNative("GetPlayerTargetPlayer","i",e),ir=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},ar=e=>samp.callNative("GetPlayerTeam","i",e),nr=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),rr=e=>samp.callNative("GetPlayerScore","i",e),sr=e=>samp.callNative("GetPlayerDrunkLevel","i",e),lr=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),or=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,E(t)),dr=e=>samp.callNative("GetPlayerColor","i",e),cr=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),_r=e=>samp.callNative("GetPlayerSkin","i",e),hr=(e,t,i)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,i),ur=e=>!!samp.callNative("ResetPlayerWeapons","i",e),mr=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),pr=(e,t)=>{const[i,a,n]=samp.callNative("GetPlayerWeaponData","iiII",e,t);return{weapons:i,ammo:a,ret:n}},fr=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),gr=e=>!!samp.callNative("ResetPlayerMoney","i",e),Pr=e=>samp.callNative("GetPlayerMoney","i",e),Sr=e=>samp.callNative("GetPlayerState","i",e),yr=e=>samp.callNative("GetPlayerPing","i",e),Ir=e=>samp.callNative("GetPlayerWeapon","i",e),Er=e=>{const[t,i,a,n]=samp.callNative("GetPlayerKeys","iIII",e);return{keys:t,upDown:i,leftRight:a,ret:n}},Ar=(e,t,i)=>!!samp.callNative("SetPlayerTime","iii",e,t,i),Cr=e=>{const[t,i,a]=samp.callNative("GetPlayerTime","iII",e);return{hour:t,minute:i,ret:a}},Nr=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),Tr=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),Dr=e=>!!samp.callNative("ForceClassSelection","i",e),vr=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),wr=e=>samp.callNative("GetPlayerWantedLevel","i",e),Rr=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),Lr=e=>samp.callNative("GetPlayerFightingStyle","i",e),br=(e,t,i,a)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,i,a),Or=e=>{const[t,i,a,n]=samp.callNative("GetPlayerVelocity","iFFF",e);return{x:t,y:i,z:a,ret:n}},Gr=(e,t,i)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,i),Fr=(e,t,i,a,n,r,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,i,a,n,r,s),Br=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),xr=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),kr=(e,t,i)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,i),Mr=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),Vr=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),Hr=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),Ur=(e,t,i,a,n,r)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,i,a,n,r),Wr=e=>{const[t,i,a,n,r,s,l]=samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e);return{fOriginX:t,fOriginY:i,fOriginZ:a,fHitPosX:n,fHitPosY:r,fHitPosZ:s,ret:l}},jr=(e,t,i)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,i),Kr=e=>samp.callNative("GetPlayerVehicleID","i",e),Zr=e=>samp.callNative("GetPlayerVehicleSeat","i",e),Xr=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),Yr=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),zr=(e,t,i,a,n)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,i,a,n),$r=(e,t,i,a,n,r,s,l,o,d)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,i,a,n,r,s,l,o,d),Jr=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),Qr=e=>samp.callNative("GetPlayerAnimationIndex","i",e),qr=e=>samp.callNative("GetPlayerSpecialAction","i",e),es=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),ts=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),is=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),as=e=>samp.callNative("GetPlayerVirtualWorld","i",e),ns=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),rs=e=>samp.callNative("GetPlayerCustomSkin","i",e),ss=(e,t,i,a,n,r)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,i,a,n,r),ls=(e,t,i)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,i),os=e=>!!samp.callNative("StopRecordingPlayerData","i",e),ds=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),cs=(e,t,i)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,i),_s=(e,t,i)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,i),hs=e=>!!samp.callNative("IsPlayerConnected","i",e),us=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),ms=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),ps=(e,t,i,a,n)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,i,a,n),fs=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),gs=(e,t,i)=>!!samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,E(i));function Ps(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",e,t)}const Ss=(e,t,i)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,i),ys=(e,t,i,a)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,i,a),Is=(e,t,i,a,n)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,i,a,n),Es=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),As=e=>{const[t,i,a,n]=samp.callNative("GetPlayerCameraPos","iFFF",e);return{x:t,y:i,z:a,ret:n}},Cs=e=>{const[t,i,a,n]=samp.callNative("GetPlayerCameraFrontVector","iFFF",e);return{x:t,y:i,z:a,ret:n}},Ns=e=>samp.callNative("GetPlayerCameraMode","i",e),Ts=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),Ds=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),vs=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),ws=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),Rs=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),Ls=(e,t,i,a,n,r,s,l,o)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,i,a,n,r,s,l,o),bs=(e,t,i,a,n,r,s,l,o)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,i,a,n,r,s,l,o),Os=e=>!!samp.callNative("IsPlayerCuffed","i",e),Gs=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),Fs=e=>!!samp.callNative("IsPlayerUsingOmp","i",e),Bs=e=>samp.callNative("GetActorSkin","i",e),xs=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),ks=e=>{const[t=0,i=0,a=0,n=0,r=0,s]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:i,fY:a,fZ:n,fAngle:r,ret:s}},Ms=e=>{const[t=0,i=0,a=0,n=0,r=0,s=0,l]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:i,fZ:a,fRot:n,color1:r,color2:s,ret:l}},Vs=(e,t,i,a,n,r,s,l,o=-2,d=-2)=>samp.callNative("SetVehicleSpawnInfo","iiffffiiii",e,t,i,a,n,r,s,l,o,d),Hs=e=>{const[t=0,i=0,a]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:i,ret:a}},Us=e=>samp.callNative("GetVehiclePaintjob","i",e),Ws=e=>samp.callNative("GetVehicleInterior","i",e),js=e=>{const[t,i]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return{plate:t,ret:i}},Ks=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),Zs=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Xs=e=>samp.callNative("GetVehicleCab","i",e),Ys=e=>samp.callNative("GetVehicleOccupiedTick","i",e),zs=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),$s=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Js=e=>!!samp.callNative("IsVehicleOccupied","i",e),Qs=e=>samp.callNative("GetVehicleRespawnTick","i",e),qs=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),el=e=>!!samp.callNative("IsVehicleDead","i",e),tl=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),il=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),al=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),nl=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),rl=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),sl=e=>samp.callNative("GetVehicleModelCount","i",e),ll=e=>samp.callNative("GetVehicleLastDriver","i",e),ol=e=>samp.callNative("GetVehicleDriver","i",e),dl=()=>samp.callNative("GetVehicleModelsUsed",""),cl=e=>samp.callNative("GetVehicleSirenState","i",e),_l=e=>samp.callNative("GetVehicleLandingGearState","i",e),hl=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),ul=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),ml=e=>{const[t=0,i=0,a=0,n=0,r=0,s=0,l=0,o=0,d=0,c]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:i,rightZ:a,upX:n,upY:r,upZ:s,atX:l,atY:o,atZ:d,ret:c}},ht=e=>{const[t=0,i=0,a=0,n=0,r]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,i,a,n],ret:r}},pl=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),fl=(e,t,i,a,n,r,s,l,o)=>samp.callNative("CreateVehicle","iffffiiii",e,t,i,a,n,E(r),E(s),l,o),gl=e=>samp.callNative("DestroyVehicle","i",e),Pl=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),Sl=e=>{const[t,i,a,n]=samp.callNative("GetVehiclePos","iFFF",e);return{x:t,y:i,z:a,ret:n}},yl=(e,t,i,a)=>!!samp.callNative("SetVehiclePos","ifff",e,t,i,a),Il=e=>{const[t,i]=samp.callNative("GetVehicleZAngle","iF",e);return{angle:t,ret:i}},El=e=>{const[t,i,a,n,r]=samp.callNative("GetVehicleRotationQuat","iFFFF",e);return{w:t,x:i,y:a,z:n,ret:r}},Al=(e,t,i,a)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,i,a),Cl=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),Nl=(e,t,i,a)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,i,a),Tl=()=>samp.callNative("ManualVehicleEngineAndLights",""),Dl=(e,t,i,a,n,r,s,l)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,i,a,n,r,s,l),vl=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),wl=e=>samp.callNative("GetVehicleParamsSirenState","i",e),Rl=(e,t,i,a,n)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,i,a,n),Ll=e=>{const[t,i,a,n,r]=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t,passenger:i,backLeft:a,backRight:n,ret:r}},bl=(e,t,i,a,n)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,i,a,n),Ol=e=>{const[t,i,a,n,r]=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t,passenger:i,backLeft:a,backRight:n,ret:r}},Gl=e=>samp.callNative("SetVehicleToRespawn","i",e),Fl=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),Bl=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),xl=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),kl=(e,t,i)=>samp.callNative("ChangeVehicleColor","iii",e,E(t),E(i)),Ml=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),Vl=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),Hl=e=>{const[t,i]=samp.callNative("GetVehicleHealth","iF",e);return{health:t,ret:i}},Ul=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),Wl=e=>samp.callNative("DetachTrailerFromVehicle","i",e),jl=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),Kl=e=>samp.callNative("GetVehicleTrailer","i",e),Zl=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),Xl=e=>samp.callNative("GetVehicleModel","i",e),Yl=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),zl=e=>samp.callNative("GetVehicleComponentType","i",e),$l=e=>samp.callNative("RepairVehicle","i",e),Jl=e=>{const[t,i,a,n]=samp.callNative("GetVehicleVelocity","iFFF",e);return{x:t,y:i,z:a,ret:n}},Ql=(e,t,i,a)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,i,a),ql=(e,t,i,a)=>!!samp.callNative("SetVehicleAngularVelocity","ifff",e,t,i,a),eo=e=>{const[t,i,a,n,r]=samp.callNative("GetVehicleDamageStatus","iIIII",e);return{panels:t,doors:i,lights:a,tires:n,ret:r}},to=(e,t,i,a,n)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,i,a,n),io=(e,t)=>{const[i,a,n,r]=samp.callNative("GetVehicleModelInfo","iiFFF",e,t);return{x:i,y:a,z:n,ret:r}},ao=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),no=e=>samp.callNative("GetVehicleVirtualWorld","i",e),ro=e=>!!samp.callNative("IsValidVehicle","i",e),so=(e,t,i,a,n,r,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,i,a,n,E(r),E(s)),lo=(e,t,i,a,n,r,s,l,o)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,i,a,n,E(r),E(s),l,o),oo=e=>!!samp.callNative("ShowVehicle","i",e),co=e=>!!samp.callNative("HideVehicle","i",e),_o=e=>!!samp.callNative("IsVehicleHidden","i",e),ho=e=>!!samp.callNative("IsPlayerInModShop","i",e),uo=e=>samp.callNative("GetPlayerSirenState","i",e),mo=e=>samp.callNative("GetPlayerLandingGearState","i",e),po=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),fo=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),go=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),ut=e=>samp.callNative("GetVehicleMaxPassengers","i",e),Po=e=>samp.callNative("CountVehicleOccupants","i",e),So=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),yo=e=>{const[t=0,i=0,a=0,n=0,r]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:i,fZ:a,fSize:n,ret:r}},Io=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),Eo=e=>{const[t=0,i=0,a=0,n=0,r=0,s=0,l=0,o]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:i,fZ:a,fNextX:n,fNextY:r,fNextZ:s,fSize:l,ret:o}},Ao=e=>!!samp.callNative("IsMenuDisabled","i",e),Co=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),No=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),To=e=>{const[t=0,i=0,a]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:i,ret:a}},Do=e=>{const[t=0,i=0,a]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:i,ret:a}},vo=(e,t)=>{const[i,a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return{header:i,ret:a}},wo=(e,t,i)=>{const[a,n]=samp.callNative("GetMenuItem","iiiSi",e,t,i,31);return{item:a,ret:n}},Ro=(e,t,i,a,n,r)=>samp.callNative("CreateMenu","siffff",e,t,i,a,n,r),Lo=e=>samp.callNative("DestroyMenu","i",e),bo=(e,t,i)=>samp.callNative("AddMenuItem","iis",e,t,i),Oo=(e,t,i)=>samp.callNative("SetMenuColumnHeader","iis",e,t,i),Go=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),Fo=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),Bo=e=>!!samp.callNative("IsValidMenu","i",e),xo=e=>samp.callNative("DisableMenu","i",e),ko=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),Mo=e=>samp.callNative("GetPlayerMenu","i",e),Vo=e=>!!samp.callNative("IsValidGangZone","i",e),Ho=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),Uo=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),Wo=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),jo=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),Ko=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Zo=e=>{const[t=0,i=0,a=0,n=0,r]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:i,fMaxX:a,fMaxY:n,ret:r}},Xo=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},Yo=(e,t,i,a)=>samp.callNative("GangZoneCreate","ffff",e,t,i,a),zo=e=>samp.callNative("GangZoneDestroy","i",e),$o=(e,t,i)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,E(i)),Jo=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,E(t)),Qo=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),qo=e=>samp.callNative("GangZoneHideForAll","i",e),ed=(e,t,i)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,E(i)),td=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,E(t)),id=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),ad=e=>samp.callNative("GangZoneStopFlashForAll","i",e),nd=(e,t,i,a,n)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,i,a,n),rd=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),sd=(e,t,i)=>samp.callNative("PlayerGangZoneShow","iii",e,t,i),ld=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),od=(e,t,i)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,i),dd=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),cd=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),_d=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),hd=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),ud=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),md=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),pd=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),fd=(e,t)=>{const[i=0,a=0,n=0,r=0,s]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:i,fMinY:a,fMaxX:n,fMaxY:r,ret:s}},gd=(e,t,i)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,i)},Pd=e=>!!samp.callNative("IsValidTextDraw","i",e),Sd=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),yd=e=>{const[t,i]=samp.callNative("TextDrawGetString","iSi",e,1024);return{str:t,ret:i}},Id=(e,t,i)=>{samp.callNative("TextDrawSetPos","iff",e,t,i)},Ed=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:i,ret:a}},Ad=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:i,ret:a}},Cd=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:i,ret:a}},Nd=e=>samp.callNative("TextDrawGetColor","i",e),Td=e=>samp.callNative("TextDrawGetBoxColor","i",e),Dd=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),vd=e=>samp.callNative("TextDrawGetShadow","i",e),wd=e=>samp.callNative("TextDrawGetOutline","i",e),Rd=e=>samp.callNative("TextDrawGetFont","i",e),Ld=e=>!!samp.callNative("TextDrawIsBox","i",e),bd=e=>!!samp.callNative("TextDrawIsProportional","i",e),Od=e=>!!samp.callNative("TextDrawIsSelectable","i",e),Gd=e=>samp.callNative("TextDrawGetAlignment","i",e),Fd=e=>samp.callNative("TextDrawGetPreviewModel","i",e),Bd=e=>{const[t=0,i=0,a=0,n=0,r]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:i,fRotZ:a,fZoom:n,ret:r}},xd=e=>{const[t,i,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:i,ret:a}},kd=(e,t,i)=>{samp.callNative("TextDrawSetStringForPlayer","iia",e,t,i)},Md=(e,t,i)=>samp.callNative("TextDrawCreate","ffa",e,t,i),Vd=e=>samp.callNative("TextDrawDestroy","i",e),Hd=(e,t,i)=>samp.callNative("TextDrawLetterSize","iff",e,t,i),Ud=(e,t,i)=>samp.callNative("TextDrawTextSize","iff",e,t,i),Wd=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),jd=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,E(t)),Kd=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),Zd=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,E(t)),Xd=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),Yd=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),zd=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,E(t)),$d=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),Jd=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),Qd=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),qd=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),ec=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),tc=e=>samp.callNative("TextDrawShowForAll","i",e),ic=e=>samp.callNative("TextDrawHideForAll","i",e),ac=(e,t)=>samp.callNative("TextDrawSetString","ia",e,t),nc=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),rc=(e,t,i,a,n=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,i,a,n)},sc=(e,t,i)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,E(t),E(i)),lc=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,E(t))},oc=e=>{samp.callNative("CancelSelectTextDraw","i",e)},dc=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),cc=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),_c=(e,t)=>{const[i,a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return{str:i,ret:a}},hc=(e,t,i,a)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,i,a)},uc=(e,t)=>{const[i=0,a=0,n]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:i,fY:a,ret:n}},mc=(e,t)=>{const[i=0,a=0,n]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:i,fY:a,ret:n}},pc=(e,t)=>{const[i=0,a=0,n]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:i,fY:a,ret:n}},fc=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),gc=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),Pc=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),Sc=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),yc=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),Ic=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),Ec=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),Ac=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),Cc=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),Nc=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),Tc=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),Dc=(e,t)=>{const[i=0,a=0,n=0,r=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:i,fRotY:a,fRotZ:n,fZoom:r}},vc=(e,t)=>{const[i,a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:i,color2:a,ret:n}},wc=(e,t,i,a)=>samp.callNative("CreatePlayerTextDraw","iffa",e,t,i,a),Rc=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},Lc=(e,t,i,a)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,i,a),bc=(e,t,i,a)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,i,a),Oc=(e,t,i)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,i),Gc=(e,t,i)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,E(i)),Fc=(e,t,i)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,i),Bc=(e,t,i)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,E(i)),xc=(e,t,i)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,i),kc=(e,t,i)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,i),Mc=(e,t,i)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,E(i)),Vc=(e,t,i)=>samp.callNative("PlayerTextDrawFont","iii",e,t,i),Hc=(e,t,i)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,i),Uc=(e,t,i)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,i),Wc=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),jc=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),Kc=(e,t,i)=>samp.callNative("PlayerTextDrawSetString","iia",e,t,i),Zc=(e,t,i)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,i),Xc=(e,t,i,a,n,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,i,a,n,r),Yc=(e,t,i,a)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,i,a),zc=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),$c=e=>!!samp.callNative("BeginObjectSelecting","i",e),Jc=e=>!!samp.callNative("EndObjectEditing","i",e),Qc=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),qc=(e,t,i,a,n)=>samp.callNative("AddSimpleModel","iiiss",e,t,i,a,n),e_=(e,t,i,a,n,r,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,i,a,n,r,s),t_=(e,t)=>samp.callNative("RedirectDownload","is",e,t),i_=e=>{const[t,i]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return{name:t,ret:i}},a_=e=>{const[t,i]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return{name:t,ret:i}},n_=(e,t)=>{const[i=0,a=0,n=0,r=0,s=0,l=0,o=0,d=0,c=0,h=0,p=0,g=0,f=0,y]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:i,bone:a,fX:n,fY:r,fZ:s,fRotX:l,fRotY:o,fRotZ:d,fScaleX:c,fScaleY:h,fScaleZ:p,materialColor1:g,materialColor2:f,ret:y}},r_=(e,t,i,a,n,r,s,l,o,d,c,h,p,g,f)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,i,a,n,r,s,l,o,d,c,h,p,E(g),E(f)),s_=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),l_=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),mt=e=>!!samp.callNative("IsValidCustomModel","i",e),o_=e=>{if(!mt(e))return null;const[t,i,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:i,ret:a}};var pt=(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))(pt||{}),ft=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(ft||{}),Ye=(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))(Ye||{}),gt=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(gt||{}),Pt=(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))(Pt||{}),T=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.NPC_ID=-1]="NPC_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||{}),St=(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))(St||{}),V=(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[e.NPC_MAX_NODES=64]="NPC_MAX_NODES",e[e.MAX_NPCS=1e3]="MAX_NPCS",e))(V||{}),yt=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(yt||{}),It=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(It||{}),Et=(e=>(e[e.NONE=0]="NONE",e[e.START=1]="START",e[e.PAUSE=2]="PAUSE",e))(Et||{}),Ve=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.WALK=1]="WALK",e[e.JOG=2]="JOG",e[e.SPRINT=3]="SPRINT",e[e.DRIVE=4]="DRIVE",e[e.AUTO=5]="AUTO",e))(Ve||{}),Ee=(e=>(e[e.NONE=0]="NONE",e[e.PLAYER=1]="PLAYER",e[e.NPC=2]="NPC",e[e.ACTOR=4]="ACTOR",e[e.VEHICLE=8]="VEHICLE",e[e.OBJECT=16]="OBJECT",e[e.POBJECT_ORIG=32]="POBJECT_ORIG",e[e.POBJECT_TARG=64]="POBJECT_TARG",e[e.MAP=128]="MAP",e[e.ALL=255]="ALL",e))(Ee||{}),pe=(e=>(e[e.AUTO=-1]="AUTO",e[e.WALK=.1552086]="WALK",e[e.JOG=.56444]="JOG",e[e.SPRINT=.926784]="SPRINT",e))(pe||{}),At=(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))(At||{}),Ct=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Ct||{}),Nt=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(Nt||{}),Tt=(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))(Tt||{}),Dt=(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))(Dt||{}),Ae=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(Ae||{}),vt=(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))(vt||{}),He=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(He||{}),Ce=(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))(Ce||{}),wt=(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))(wt||{}),Rt=(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))(Rt||{}),Lt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(Lt||{}),ze=(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))(ze||{}),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||{}),bt=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(bt||{}),Ot=(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))(Ot||{}),Gt=(e=>(e[e.UNSET=-1]="UNSET",e[e.OFF=0]="OFF",e[e.ON=1]="ON",e))(Gt||{}),Ft=(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))(Ft||{}),Bt=(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))(Bt||{}),xt=(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))(xt||{}),kt=(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))(kt||{}),Mt=(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))(Mt||{}),$e=(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))($e||{}),Vt=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(Vt||{}),Ht=(e=>(e[e.CIRCLE=0]="CIRCLE",e[e.CYLINDER=1]="CYLINDER",e[e.SPHERE=2]="SPHERE",e[e.RECTANGLE=3]="RECTANGLE",e[e.CUBOID=4]="CUBOID",e[e.POLYGON=5]="POLYGON",e))(Ht||{}),D=(e=>(e[e.OBJECT_SD=300]="OBJECT_SD",e[e.OBJECT_DD=0]="OBJECT_DD",e[e.PICKUP_SD=200]="PICKUP_SD",e[e.CP_SD=200]="CP_SD",e[e.RACE_CP_SD=200]="RACE_CP_SD",e[e.MAP_ICON_SD=200]="MAP_ICON_SD",e[e.TEXT_3D_LABEL_SD=200]="TEXT_3D_LABEL_SD",e[e.ACTOR_SD=200]="ACTOR_SD",e))(D||{}),S=(e=>(e[e.OBJECT=0]="OBJECT",e[e.PICKUP=1]="PICKUP",e[e.CP=2]="CP",e[e.RACE_CP=3]="RACE_CP",e[e.MAP_ICON=4]="MAP_ICON",e[e.TEXT_3D_LABEL=5]="TEXT_3D_LABEL",e[e.AREA=6]="AREA",e[e.ACTOR=7]="ACTOR",e))(S||{}),Ue=(e=>(e[e.MAX_TYPES=8]="MAX_TYPES",e[e.MAX_AREA_TYPES=5]="MAX_AREA_TYPES",e[e.MAX_OBJECT_TYPES=3]="MAX_OBJECT_TYPES",e[e.INVALID_ID=0]="INVALID_ID",e))(Ue||{}),We=(e=>(e[e.GLOBAL=0]="GLOBAL",e[e.PLAYER=1]="PLAYER",e[e.DYNAMIC=2]="DYNAMIC",e))(We||{}),U=(e=>(e[e.AREA_ID=0]="AREA_ID",e[e.ATTACHED_OBJECT=1]="ATTACHED_OBJECT",e[e.ATTACHED_PLAYER=2]="ATTACHED_PLAYER",e[e.ATTACHED_VEHICLE=3]="ATTACHED_VEHICLE",e[e.ATTACH_OFFSET_X=4]="ATTACH_OFFSET_X",e[e.ATTACH_OFFSET_Y=5]="ATTACH_OFFSET_Y",e[e.ATTACH_OFFSET_Z=6]="ATTACH_OFFSET_Z",e[e.ATTACH_R_X=7]="ATTACH_R_X",e[e.ATTACH_R_Y=8]="ATTACH_R_Y",e[e.ATTACH_R_Z=9]="ATTACH_R_Z",e[e.ATTACH_X=10]="ATTACH_X",e[e.ATTACH_Y=11]="ATTACH_Y",e[e.ATTACH_Z=12]="ATTACH_Z",e[e.COLOR=13]="COLOR",e[e.DRAW_DISTANCE=14]="DRAW_DISTANCE",e[e.EXTRA_ID=15]="EXTRA_ID",e[e.HEALTH=16]="HEALTH",e[e.INTERIOR_ID=17]="INTERIOR_ID",e[e.INVULNERABLE=18]="INVULNERABLE",e[e.MAX_X=19]="MAX_X",e[e.MAX_Y=20]="MAX_Y",e[e.MAX_Z=21]="MAX_Z",e[e.MIN_X=22]="MIN_X",e[e.MIN_Y=23]="MIN_Y",e[e.MIN_Z=24]="MIN_Z",e[e.MODEL_ID=25]="MODEL_ID",e[e.MOVE_R_X=26]="MOVE_R_X",e[e.MOVE_R_Y=27]="MOVE_R_Y",e[e.MOVE_R_Z=28]="MOVE_R_Z",e[e.MOVE_SPEED=29]="MOVE_SPEED",e[e.MOVE_X=30]="MOVE_X",e[e.MOVE_Y=31]="MOVE_Y",e[e.MOVE_Z=32]="MOVE_Z",e[e.NEXT_X=33]="NEXT_X",e[e.NEXT_Y=34]="NEXT_Y",e[e.NEXT_Z=35]="NEXT_Z",e[e.PLAYER_ID=36]="PLAYER_ID",e[e.PRIORITY=37]="PRIORITY",e[e.ROTATION=38]="ROTATION",e[e.R_X=39]="R_X",e[e.R_Y=40]="R_Y",e[e.R_Z=41]="R_Z",e[e.SIZE=42]="SIZE",e[e.STREAM_DISTANCE=43]="STREAM_DISTANCE",e[e.STYLE=44]="STYLE",e[e.SYNC_ROTATION=45]="SYNC_ROTATION",e[e.TEST_LOS=46]="TEST_LOS",e[e.TYPE=47]="TYPE",e[e.WORLD_ID=48]="WORLD_ID",e[e.X=49]="X",e[e.Y=50]="Y",e[e.Z=51]="Z",e))(U||{}),Ut=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHt=2]="RIGHt",e))(Ut||{}),Je=(e=>(e[e.SIZE_32x32=10]="SIZE_32x32",e[e.SIZE_64x32=20]="SIZE_64x32",e[e.SIZE_64x64=30]="SIZE_64x64",e[e.SIZE_128x32=40]="SIZE_128x32",e[e.SIZE_128x64=50]="SIZE_128x64",e[e.SIZE_128x128=60]="SIZE_128x128",e[e.SIZE_256x32=70]="SIZE_256x32",e[e.SIZE_256x64=80]="SIZE_256x64",e[e.SIZE_256x128=90]="SIZE_256x128",e[e.SIZE_256x256=100]="SIZE_256x256",e[e.SIZE_512x64=110]="SIZE_512x64",e[e.SIZE_512x128=120]="SIZE_512x128",e[e.SIZE_512x256=130]="SIZE_512x256",e[e.SIZE_512x512=140]="SIZE_512x512",e))(Je||{});const d_=e=>samp.callNative("DestroyDynamic3DTextLabel","i",e),c_=e=>!!samp.callNative("IsValidDynamic3DTextLabel","i",e),__=(e,t,i,a,n,r=!0,s=100,l=0,o=-1,d=-1,c=D.ACTOR_SD,h=-1,p=0)=>samp.callNative("CreateDynamicActor","iffffifiiifii",e,t,i,a,n,r,s,l,o,d,c,h,p),h_=e=>samp.callNative("DestroyDynamicActor","i",e),u_=e=>!!samp.callNative("IsValidDynamicActor","i",e),m_=(e,t)=>!!samp.callNative("IsDynamicActorStreamedIn","ii",e,t),p_=e=>samp.callNative("GetDynamicActorVirtualWorld","i",e),f_=(e,t)=>samp.callNative("SetDynamicActorVirtualWorld","ii",e,t),g_=(e,t,i,a,n,r,s,l,o)=>samp.callNative("ApplyDynamicActorAnimation","issfiiiii",e,t,i,a,n,r,s,l,o),P_=e=>samp.callNative("ClearDynamicActorAnimations","i",e),S_=e=>{const[t,i]=samp.callNative("GetDynamicActorFacingAngle","iF",e);return{angle:t,ret:i}},y_=(e,t)=>samp.callNative("SetDynamicActorFacingAngle","if",e,t),I_=e=>{const[t,i,a,n]=samp.callNative("GetDynamicActorPos","iFFF",e);return{x:t,y:i,z:a,ret:n}},E_=(e,t,i,a)=>samp.callNative("SetDynamicActorPos","ifff",e,t,i,a),A_=e=>{const[t,i]=samp.callNative("GetDynamicActorHealth","iF",e);return{health:t,ret:i}},C_=(e,t)=>samp.callNative("SetDynamicActorHealth","if",e,t),N_=(e,t=!0)=>samp.callNative("SetDynamicActorInvulnerable","ii",e,t),T_=e=>!!samp.callNative("IsDynamicActorInvulnerable","i",e),D_=e=>samp.callNative("GetPlayerTargetDynamicActor","i",e),v_=e=>samp.callNative("GetPlayerCameraTargetDynActor","i",e),w_=e=>{const[t,i,a=0,n=0,r=0,s=0,l=0,o=0,d]=samp.callNative("GetDynamicActorAnimation","iSSFIIIIIii",e,32,32);return{animLib:t,animName:i,fDelta:a,loop:n,lockX:r,lockY:s,freeze:l,time:o,ret:d}},R_=(e,t,i,a=-1,n=-1,r=-1)=>samp.callNative("CreateDynamicCircle","fffiii",e,t,i,a,n,r),L_=(e,t,i,a,n,r=-1,s=-1,l=-1)=>samp.callNative("CreateDynamicCylinder","fffffiii",e,t,i,a,n,r,s,l),b_=(e,t,i,a,n=-1,r=-1,s=-1)=>samp.callNative("CreateDynamicSphere","ffffiii",e,t,i,a,n,r,s),O_=(e,t,i,a,n=-1,r=-1,s=-1)=>samp.callNative("CreateDynamicRectangle","ffffiii",e,t,i,a,n,r,s),G_=(e,t,i,a,n,r,s=-1,l=-1,o=-1)=>samp.callNative("CreateDynamicCuboid","ffffffiii",e,t,i,a,n,r,s,l,o),F_=(e,t=Number.MIN_VALUE,i=Number.MAX_VALUE,a=-1,n=-1,r=-1)=>samp.callNative("CreateDynamicPolygon","affiiii",e,t,i,e.length,a,n,r),B_=e=>samp.callNative("DestroyDynamicArea","i",e),x_=e=>!!samp.callNative("IsValidDynamicArea","i",e),k_=e=>samp.callNative("GetDynamicAreaType","i",e),M_=e=>{const[t,i]=samp.callNative("GetDynamicPolygonPoints","iAi",e,Wt(e));return{points:t,ret:i}},Wt=e=>samp.callNative("GetDynamicPolygonNumberPoints","i",e),V_=(e,t,i=!1)=>!!samp.callNative("IsPlayerInDynamicArea","iii",e,t,i),H_=(e,t=!1)=>!!samp.callNative("IsPlayerInAnyDynamicArea","ii",e,t),U_=(e,t=!1)=>!!samp.callNative("IsAnyPlayerInDynamicArea","ii",e,t),W_=(e=!1)=>!!samp.callNative("IsAnyPlayerInAnyDynamicArea","i",e),j_=e=>{const[t,i]=samp.callNative("GetPlayerDynamicAreas","iAi",e,jt(e));return{areas:t,ret:i}},jt=e=>samp.callNative("GetPlayerNumberDynamicAreas","i",e),K_=(e,t,i,a)=>!!samp.callNative("IsPointInDynamicArea","ifff",e,t,i,a),Z_=(e,t,i)=>!!samp.callNative("IsPointInAnyDynamicArea","fff",e,t,i),X_=(e,t,i,a,n,r,s)=>!!samp.callNative("IsLineInDynamicArea","iffffff",e,t,i,a,n,r,s),Y_=(e,t,i,a,n,r)=>!!samp.callNative("IsLineInAnyDynamicArea","ffffff",e,t,i,a,n,r),z_=(e,t,i)=>{const[a,n]=samp.callNative("GetDynamicAreasForPoint","fffAi",e,t,i,Kt(e,t,i));return{areas:a,ret:n}},Kt=(e,t,i)=>samp.callNative("GetNumberDynamicAreasForPoint","fff",e,t,i),$_=(e,t,i,a,n,r)=>{const[s,l]=samp.callNative("GetDynamicAreasForLine","ffffffAi",e,t,i,a,n,r,Zt(e,t,i,a,n,r));return{areas:s,ret:l}},Zt=(e,t,i,a,n,r)=>samp.callNative("GetNumberDynamicAreasForLine","ffffff",e,t,i,a,n,r),J_=(e,t,i=We.DYNAMIC,a=65535,n=0,r=0,s=0)=>samp.callNative("AttachDynamicAreaToObject","iiiifff",e,t,i,a,n,r,s),Q_=(e,t,i=0,a=0,n=0)=>samp.callNative("AttachDynamicAreaToPlayer","iifff",e,t,i,a,n),q_=(e,t,i=0,a=0,n=0)=>samp.callNative("AttachDynamicAreaToVehicle","iifff",e,t,i,a,n),eh=(e,t)=>samp.callNative("ToggleDynAreaSpectateMode","ii",e,t),th=e=>!!samp.callNative("IsToggleDynAreaSpectateMode","i",e),ih=(e,t,i,a,n=-1,r=-1,s=-1,l=D.CP_SD,o=-1,d=0)=>samp.callNative("CreateDynamicCP","ffffiiifii",e,t,i,a,n,r,s,l,o,d),Xt=e=>samp.callNative("DestroyDynamicCP","i",e),Yt=e=>!!samp.callNative("IsValidDynamicCP","i",e),ah=(e,t,i)=>samp.callNative("TogglePlayerDynamicCP","iii",e,t,i),nh=(e,t)=>samp.callNative("TogglePlayerAllDynamicCPs","ii",e,t),rh=(e,t)=>!!samp.callNative("IsPlayerInDynamicCP","ii",e,t),sh=e=>samp.callNative("GetPlayerVisibleDynamicCP","i",e),lh=(e,t,i)=>{const[a,n]=samp.callNative("Streamer_GetFloatData","iiiF",e,t,i);return{val:a,ret:n}},oh=(e,t,i,a)=>samp.callNative("Streamer_SetFloatData","iiif",e,t,i,a),dh=(e,t,i)=>samp.callNative("Streamer_GetIntData","iii",e,t,i),ch=(e,t,i,a)=>samp.callNative("Streamer_SetIntData","iiii",e,t,i,a),_h=(e,t,i)=>{const[a,n]=samp.callNative("Streamer_GetArrayData","iiiAi",e,t,i,zt(e,t,i));return{arrayData:a,ret:n}},hh=(e,t,i,a)=>samp.callNative("Streamer_SetArrayData","iiiai",e,t,i,a,a.length),uh=(e,t,i,a)=>!!samp.callNative("Streamer_IsInArrayData","iiii",e,t,i,a),mh=(e,t,i,a)=>samp.callNative("Streamer_AppendArrayData","iiii",e,t,i,a),ph=(e,t,i,a)=>samp.callNative("Streamer_RemoveArrayData","iiii",e,t,i,a),zt=(e,t,i)=>samp.callNative("Streamer_GetArrayDataLength","iii",e,t,i),fh=e=>samp.callNative("Streamer_GetUpperBound","i",e);var je=(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))(je||{});const gh=(e,t,i,a,n,r=-1,s=-1,l=-1,o=D.MAP_ICON_SD,d=0,c=-1,h=0)=>samp.callNative("CreateDynamicMapIcon","fffiiiiifiii",e,t,i,a,n,r,s,l,o,d,c,h),Ph=e=>samp.callNative("DestroyDynamicMapIcon","i",e),Sh=e=>!!samp.callNative("IsValidDynamicMapIcon","i",e),yh=(e,t,i,a,n,r,s,l=D.OBJECT_SD,o=D.OBJECT_DD,d=[-1],c=[-1],h=[-1],p=[-1],g=0)=>samp.callNative("CreateDynamicObjectEx","iffffffffaaaaiiiii",e,t,i,a,n,r,s,l,o,d,c,h,p,g,d.length,c.length,h.length,p.length),Ih=(e,t,i,a,n,r=D.PICKUP_SD,s=[-1],l=[-1],o=[-1],d=[-1],c=0)=>samp.callNative("CreateDynamicPickupEx","iiffffaaaaiiiii",e,t,i,a,n,r,s,l,o,d,c,s.length,l.length,o.length,d.length),Eh=(e,t,i,a,n=D.CP_SD,r=[-1],s=[-1],l=[-1],o=[-1],d=0)=>samp.callNative("CreateDynamicCPEx","fffffaaaaiiiii",e,t,i,a,n,r,s,l,o,d,r.length,s.length,l.length,o.length),Ah=(e,t,i,a,n,r,s,l,o=D.RACE_CP_SD,d=[-1],c=[-1],h=[-1],p=[-1],g=0)=>samp.callNative("CreateDynamicRaceCPEx","iffffffffaaaaiiiii",e,t,i,a,n,r,s,l,o,d,c,h,p,g,d.length,c.length,h.length,p.length),Ch=(e,t,i,a,n,r=je.LOCAL,s=D.MAP_ICON_SD,l=[-1],o=[-1],d=[-1],c=[-1],h=0)=>samp.callNative("CreateDynamicMapIconEx","fffiiifaaaaiiiii",e,t,i,a,n,r,s,l,o,d,c,h,l.length,o.length,d.length,c.length),Nh=(e,t,i,a=[-1],n=[-1],r=[-1])=>samp.callNative("CreateDynamicCircleEx","fffaaaiii",e,t,i,a,n,r,a.length,n.length,r.length),Th=(e,t,i,a,n,r=[-1],s=[-1],l=[-1])=>samp.callNative("CreateDynamicCylinderEx","fffffaaaiii",e,t,i,a,n,r,s,l,r.length,s.length,l.length),Dh=(e,t,i,a,n=[-1],r=[-1],s=[-1])=>samp.callNative("CreateDynamicSphereEx","ffffaaaiii",e,t,i,a,n,r,s,n.length,r.length,s.length),vh=(e,t,i,a,n=[-1],r=[-1],s=[-1])=>samp.callNative("CreateDynamicRectangleEx","ffffaaaiii",e,t,i,a,n,r,s,n.length,r.length,s.length),wh=(e,t,i,a,n,r,s=[-1],l=[-1],o=[-1])=>samp.callNative("CreateDynamicCuboidEx","ffffffaaaiii",e,t,i,a,n,r,s,l,o,s.length,l.length,o.length),Rh=(e,t=Number.MIN_VALUE,i=Number.MAX_VALUE,a=[-1],n=[-1],r=[-1])=>samp.callNative("CreateDynamicPolygonEx","affiaaaiii",e,t,i,e.length,a,n,r,a.length,n.length,r.length),Lh=(e,t,i,a,n,r=!0,s=100,l=D.ACTOR_SD,o=[0],d=[-1],c=[-1],h=[-1],p=0)=>samp.callNative("CreateDynamicActorEx","iffffiffaaaaiiiii",e,t,i,a,n,r,s,l,o,d,c,h,p,o.length,d.length,c.length,h.length),bh=(e,t,i,a,n,r=3)=>{const[s,l]=samp.callNative("Streamer_GetDistanceToItem","fffiiFi",e,t,i,a,n,r);return{distance:s,ret:l}},Oh=(e,t,i,a)=>samp.callNative("Streamer_ToggleItem","iiii",e,t,i,a),Gh=(e,t,i)=>!!samp.callNative("Streamer_IsToggleItem","iii",e,t,i),Fh=(e,t,i,a=[-1])=>samp.callNative("Streamer_ToggleAllItems","iiiai",e,t,i,a,a.length),Bh=(e,t,i)=>samp.callNative("Streamer_GetItemInternalID","iii",e,t,i),xh=(e,t,i)=>samp.callNative("Streamer_GetItemStreamerID","iii",e,t,i),kh=(e,t,i)=>!!samp.callNative("Streamer_IsItemVisible","iii",e,t,i),Mh=(e,t,i=1)=>samp.callNative("Streamer_DestroyAllVisibleItems","iii",e,t,i),Vh=(e,t,i=1)=>samp.callNative("Streamer_CountVisibleItems","iii",e,t,i),Hh=(e,t=1)=>samp.callNative("Streamer_DestroyAllItems","ii",e,t),Uh=(e,t=1)=>samp.callNative("Streamer_CountItems","ii",e,t),Wh=(e,t,i,a,n=32,r=300,s=-1)=>{const[l=[],o=0]=samp.callNative("Streamer_GetNearbyItems","fffiAifi",e,t,i,a,n,r,s);return l.slice(0,o)},jh=(e,t,i=32)=>{const[a=[],n=0]=samp.callNative("Streamer_GetAllVisibleItems","iiAi",e,t,i);return a.slice(0,n)},Kh=(e,t)=>{const[i,a,n,r]=samp.callNative("Streamer_GetItemPos","iiFFF",e,t);return{x:i,y:a,z:n,ret:r}},Zh=(e,t,i,a,n)=>samp.callNative("Streamer_SetItemPos","iifff",e,t,i,a,n),Xh=(e,t)=>{const[i,a,n,r]=samp.callNative("Streamer_GetItemOffset","iiFFF",e,t);return{x:i,y:a,z:n,ret:r}},Yh=(e,t,i,a,n)=>samp.callNative("Streamer_SetItemOffset","iifff",e,t,i,a,n),zh=(e,t,i,a,n,r,s,l=-1,o=-1,d=-1,c=D.OBJECT_SD,h=D.OBJECT_DD,p=-1,g=0)=>samp.callNative("CreateDynamicObject","iffffffiiiffii",e,t,i,a,n,r,s,l,o,d,c,h,p,g),$h=e=>samp.callNative("DestroyDynamicObject","i",e),Jh=e=>!!samp.callNative("IsValidDynamicObject","i",e),Qh=e=>{const[t,i,a,n]=samp.callNative("GetDynamicObjectPos","iFFF",e);return{x:t,y:i,z:a,ret:n}},qh=(e,t,i,a)=>samp.callNative("SetDynamicObjectPos","ifff",e,t,i,a),eu=e=>{const[t,i,a,n]=samp.callNative("GetDynamicObjectRot","iFFF",e);return{rx:t,ry:i,rz:a,ret:n}},tu=(e,t,i,a)=>samp.callNative("SetDynamicObjectRot","ifff",e,t,i,a),iu=(e,t,i,a,n,r=-1e3,s=-1e3,l=-1e3)=>samp.callNative("MoveDynamicObject","ifffffff",e,t,i,a,n,r,s,l),au=e=>samp.callNative("StopDynamicObject","i",e),nu=e=>!!samp.callNative("IsDynamicObjectMoving","i",e),ru=(e,t)=>samp.callNative("AttachCameraToDynamicObject","ii",e,t),su=(e,t,i,a,n,r,s,l,o=!0)=>samp.callNative("AttachDynamicObjectToObject","iiffffffi",e,t,i,a,n,r,s,l,o),lu=(e,t,i,a,n,r,s,l)=>samp.callNative("AttachDynamicObjectToPlayer","iiffffff",e,t,i,a,n,r,s,l),ou=(e,t,i,a,n,r,s,l)=>samp.callNative("AttachDynamicObjectToVehicle","iiffffff",e,t,i,a,n,r,s,l),du=(e,t)=>samp.callNative("EditDynamicObject","ii",e,t),cu=(e,t)=>!!samp.callNative("IsDynamicObjectMaterialUsed","ii",e,t),_u=(e,t)=>samp.callNative("RemoveDynamicObjectMaterial","ii",e,t),hu=(e,t,i,a,n,r=0)=>samp.callNative("SetDynamicObjectMaterial","iiissi",e,t,i,a,n,r),uu=(e,t)=>!!samp.callNative("IsDynamicObjectMaterialTextUsed","ii",e,t),mu=(e,t)=>samp.callNative("RemoveDynamicObjectMaterialText","ii",e,t),pu=e=>samp.callNative("GetPlayerCameraTargetDynObject","i",e),fu=e=>!!samp.callNative("SetDynamicObjectNoCameraCol","i",e),gu=e=>!!samp.callNative("GetDynamicObjectNoCameraCol","i",e),Pu=(e,t,i,a,n,r=-1,s=-1,l=-1,o=D.PICKUP_SD,d=-1,c=0)=>samp.callNative("CreateDynamicPickup","iifffiiifii",e,t,i,a,n,r,s,l,o,d,c),Su=e=>!!samp.callNative("DestroyDynamicPickup","i",e),yu=e=>!!samp.callNative("IsValidDynamicPickup","i",e),Iu=(e,t,i,a,n,r,s,l,o=-1,d=-1,c=-1,h=D.RACE_CP_SD,p=-1,g=0)=>samp.callNative("CreateDynamicRaceCP","ifffffffiiifii",e,t,i,a,n,r,s,l,o,d,c,h,p,g),Eu=(e,t,i)=>samp.callNative("TogglePlayerDynamicRaceCP","iii",e,t,i),Au=(e,t)=>samp.callNative("TogglePlayerAllDynamicRaceCPs","ii",e,t),Cu=(e,t)=>!!samp.callNative("IsPlayerInDynamicRaceCP","ii",e,t),Nu=e=>samp.callNative("GetPlayerVisibleDynamicRaceCP","i",e),Tu=()=>samp.callNative("Streamer_GetTickRate",""),Du=(e=50)=>samp.callNative("Streamer_SetTickRate","i",e),vu=e=>samp.callNative("Streamer_GetPlayerTickRate","i",e),wu=(e,t=50)=>samp.callNative("Streamer_SetPlayerTickRate","ii",e,t),Ru=(e=!1)=>samp.callNative("Streamer_ToggleChunkStream","i",e),Lu=()=>!!samp.callNative("Streamer_IsToggleChunkStream",""),$t=(e,t=-1)=>samp.callNative("Streamer_GetChunkTickRate","ii",e,t),Jt=(e,t,i=-1)=>samp.callNative("Streamer_SetChunkTickRate","iii",e,t,i),bu=e=>samp.callNative("Streamer_GetChunkSize","i",e),Ou=(e,t)=>samp.callNative("Streamer_SetChunkSize","ii",e,t),Gu=e=>samp.callNative("Streamer_GetMaxItems","i",e),Fu=(e,t)=>samp.callNative("Streamer_SetMaxItems","ii",e,t),Qt=(e,t=-1)=>samp.callNative("Streamer_GetVisibleItems","ii",e,t),qt=(e,t,i=-1)=>samp.callNative("Streamer_SetVisibleItems","iii",e,t,i),ei=(e,t=-1)=>{const[i,a]=samp.callNative("Streamer_GetRadiusMultiplier","iFi",e,t);return{multiplier:i,ret:a}},ti=(e,t,i=-1)=>samp.callNative("Streamer_SetRadiusMultiplier","ifi",e,t,i),Bu=()=>{const[e,t]=samp.callNative("Streamer_GetTypePriority","Ai",Ue.MAX_TYPES);return{priority:e,ret:t}},xu=e=>samp.callNative("Streamer_SetTypePriority","ai",e,Ue.MAX_TYPES),ku=()=>{const[e,t]=samp.callNative("Streamer_GetCellDistance","F");return{distance:e,ret:t}},Mu=(e=600)=>samp.callNative("Streamer_SetCellDistance","f",e),Vu=()=>{const[e,t]=samp.callNative("Streamer_GetCellSize","F");return{size:e,ret:t}},Hu=(e=300)=>samp.callNative("Streamer_SetCellSize","f",e),Uu=(e,t,i)=>samp.callNative("Streamer_ToggleItemStatic","iii",e,t,i),Wu=(e,t)=>!!samp.callNative("Streamer_IsToggleItemStatic","ii",e,t),ju=(e,t,i)=>samp.callNative("Streamer_ToggleItemInvAreas","iii",e,t,i),Ku=(e,t)=>!!samp.callNative("Streamer_IsToggleItemInvAreas","ii",e,t),Zu=(e,t,i)=>samp.callNative("Streamer_ToggleItemCallbacks","iii",e,t,i),Xu=(e,t)=>!!samp.callNative("Streamer_IsToggleItemCallbacks","ii",e,t),Yu=e=>samp.callNative("Streamer_ToggleErrorCallback","i",e),zu=()=>!!samp.callNative("Streamer_IsToggleErrorCallback",""),$u=e=>samp.callNative("Streamer_AmxUnloadDestroyItems","i",e),Ju=()=>samp.callNative("Streamer_ProcessActiveItems",""),Qu=(e,t)=>samp.callNative("Streamer_ToggleIdleUpdate","ii",e,t),qu=e=>!!samp.callNative("Streamer_IsToggleIdleUpdate","i",e),em=(e,t)=>samp.callNative("Streamer_ToggleCameraUpdate","ii",e,t),tm=e=>!!samp.callNative("Streamer_IsToggleCameraUpdate","i",e),im=(e,t,i)=>samp.callNative("Streamer_ToggleItemUpdate","iii",e,t,i),am=(e,t)=>!!samp.callNative("Streamer_IsToggleItemUpdate","ii",e,t),nm=()=>{const[e,t]=samp.callNative("Streamer_GetLastUpdateTime","F");return{time:e,ret:t}},rm=(e,t=-1)=>samp.callNative("Streamer_Update","ii",e,t),sm=(e,t,i,a,n=-1,r=-1,s=-1,l=-1,o=!0)=>samp.callNative("Streamer_UpdateEx","ifffiiiii",e,t,i,a,n,r,s,l,o),ii=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}]]]),Qe=e=>{const t=ii.get(e.toUpperCase());return t===void 0?!1:t},qe=(e,t)=>{const i=Qe(e);if(i)return t==="null"?!0:i.some(a=>a.n===t)},lm=(e,t)=>{const i=Qe(e);if(i)return i.find(a=>a.n===t)?.d},te=(e,t)=>{const i=t.replace("-","")==="utf8"?e:I.encodeToBuf(e,t);return[i instanceof Array?"a":"s",i]},ai=(e,t,i)=>{const a=te(i,e.charset);return samp.callNative("SendClientMessage",`ii${a[0]}`,e.id,E(t),a[1])},om=(e,t,i)=>(e.forEach(a=>ai(a,t,i)),1),ni=(e,t,i)=>{const a=te(i,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${a[0]}`,e.id,t,a[1])},dm=(e,t,i)=>(e.forEach(a=>{ni(a,t,i)}),1),cm=(e,t,i)=>{const{charset:a}=e,{style:n,caption:r,info:s,button1:l,button2:o}=i,[d,c]=te(r||"",a),[,h]=te(s||"",a),[,p]=te(l||"",a),[,g]=te(o||"",a);return!!samp.callNative("ShowPlayerDialog",`iii${d.repeat(4)}`,e.id,t,n,c,h,p,g)},_m=e=>{const[t,i]=samp.callNative("GetPlayerName","iAi",e.id,V.MAX_PLAYER_NAME);return{name:I.decodeFromBuf(I.getValidStr(t),e.charset),ret:i}},hm=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,I.encodeToBuf(t,e.charset)),um=(e,t,i)=>{const a=I.encodeToBuf(t,i);return samp.callNative("BanEx","ia",e,a)},mm=(e,t="utf8")=>{const[i,a]=te(e,t);return samp.callNative("SendRconCommand",i,a)},pm=(e,t,i,a,n,r,s,l,o,d,c,h,p,g,f,y)=>{const w=I.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",w,i,a,n,r,s,l,o,d,c,h,p,g,f,y)},fm=(e,t,i,a,n,r,s,l,o,d,c,h,p,g,f,y)=>{const w=I.encodeToBuf(e,y);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",w,t,i,a,n,r,s,l,o,d,c,h,p,g,f,c.length,h.length,p.length,g.length)},gm=(e,t,i,a)=>{const n=I.encodeToBuf(i,a);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,n)},Pm=(e,t)=>{const[i,a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return{text:I.decodeFromBuf(I.getValidStr(i),t),ret:a}},Sm=(e,t,i,a,n,r,s,l,o,d,c)=>{const h=I.encodeToBuf(a,e),p=I.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,i,h,n,p,s,l,o,d,c)},ym=(e,t,i="utf8")=>{const[a,n,r,s,l]=samp.callNative("GetDynamicObjectMaterial","iiIAAIii",e,t,64,64);return{modelId:a,txdName:I.decodeFromBuf(I.getValidStr(n),i),textureName:I.decodeFromBuf(I.getValidStr(r),i),materialColor:s,ret:l}},Im=(e,t,i)=>{const[a,n,r,s,l,o,d,c,h]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),p=I.decodeFromBuf(a,i),g=I.decodeFromBuf(r,i);return{text:p,materialSize:n,fontFace:g,fontSize:s,bold:l,fontColor:o,backColor:d,textAlignment:c,ret:h}},Em=(e,t,i,a,n,r)=>{const s=I.encodeToBuf(t,r);return!!samp.callNative("SetPlayerChatBubble","iaifi",e,s,E(i),a,n)},ie=Symbol(),W=new Map,j=new Map,Te=new Map,De=new Map,ve=new Map,we=new Map,K=new Map,ae=new Map,ne=new Map,Re=new Map,Le=new Map,Z=new Map,fe=new Map,Q=new Map,q=new Map,re=new Map,se=new Map,ge=new Map,le=new Map,X=new Uint32Array(65536),Am=(e,t)=>{const i=e.length,a=t.length,n=1<<i-1;let r=-1,s=0,l=i,o=i;for(;o--;)X[e.charCodeAt(o)]|=1<<o;for(o=0;o<a;o++){let d=X[t.charCodeAt(o)];const c=d|s;d|=(d&r)+r^r,s|=~(d|r),r&=d,s&n&&l++,r&n&&l--,s=s<<1|1,r=r<<1|~(c|s),s&=c}for(o=i;o--;)X[e.charCodeAt(o)]=0;return l},Cm=(e,t)=>{const i=t.length,a=e.length,n=[],r=[],s=Math.ceil(i/32),l=Math.ceil(a/32);for(let f=0;f<s;f++)r[f]=-1,n[f]=0;let o=0;for(;o<l-1;o++){let f=0,y=-1;const w=o*32,O=Math.min(32,a)+w;for(let N=w;N<O;N++)X[e.charCodeAt(N)]|=1<<N;for(let N=0;N<i;N++){const J=X[t.charCodeAt(N)],H=r[N/32|0]>>>N&1,M=n[N/32|0]>>>N&1,lt=J|f,ot=((J|M)&y)+y^y|J|M;let ye=f|~(ot|y),ke=y&ot;ye>>>31^H&&(r[N/32|0]^=1<<N),ke>>>31^M&&(n[N/32|0]^=1<<N),ye=ye<<1|H,ke=ke<<1|M,y=ke|~(lt|ye),f=ye&lt}for(let N=w;N<O;N++)X[e.charCodeAt(N)]=0}let d=0,c=-1;const h=o*32,p=Math.min(32,a-h)+h;for(let f=h;f<p;f++)X[e.charCodeAt(f)]|=1<<f;let g=a;for(let f=0;f<i;f++){const y=X[t.charCodeAt(f)],w=r[f/32|0]>>>f&1,O=n[f/32|0]>>>f&1,N=y|d,J=((y|O)&c)+c^c|y|O;let H=d|~(J|c),M=c&J;g+=H>>>a-1&1,g-=M>>>a-1&1,H>>>31^w&&(r[f/32|0]^=1<<f),M>>>31^O&&(n[f/32|0]^=1<<f),H=H<<1|w,M=M<<1|O,c=M|~(N|H),d=H&N}for(let f=h;f<p;f++)X[e.charCodeAt(f)]=0;return g},ri=(e,t)=>{if(e.length<t.length){const i=t;t=e,e=i}return t.length===0?e.length:e.length<=32?Am(e,t):Cm(e,t)},Nm=(e,t)=>{let i=1/0,a=0;for(let n=0;n<t.length;n++){const r=ri(e,t[n]);r<i&&(i=r,a=n)}return t[a]},oe=new Map,de=new Map,si=/[^/\s]+/gi,be={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"}},[Tm,Dm]=u({name:"OnCommandReceived",isNative:!1,throwOnError:!0,beforeEach(e,t,i,a,n,r,s,l,o){return{player:e,command:t,cmdText:i,buffer:a,strictMainCmd:n,noStrictMainCmd:r,hasStrict:s,hasNoStrict:l,subcommand:o}}}),[vm,wm]=u({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t,i,a,n,r,s,l,o){return{player:e,command:t,cmdText:i,buffer:a,strictMainCmd:n,noStrictMainCmd:r,hasStrict:s,hasNoStrict:l,subcommand:o}}}),[Rm,Oe]=u({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,i,a,n,r,s,l,o,d){return{player:e,error:t,command:i,cmdText:a,buffer:n,strictMainCmd:r,noStrictMainCmd:s,hasStrict:l,hasNoStrict:o,subcommand:d,getSuggestion(){const c=Nm(a,[...oe.keys(),...de.keys()]),h=ri(a,c);return{suggestion:c,distance:h}}}}}),[Lm,bm]=u({name:"OnPlayerCommandTextI18n",identifier:"iai",defaultValue:!1,beforeEach(e,t){const i=W.get(e);let a=t,n="";return typeof t=="string"?(n=t,a=I.encodeToBuf(n,"utf-8")):n=I.decodeFromBuf(t,i.charset),{player:i,buffer:a,cmdText:n}}}),[Om,Gm]=u({name:"OnPlayerCommandTextRaw",isNative:!1,defaultValue:!1,beforeEach(e,t,i){return{player:e,buffer:t,cmdText:i}}});function Fm(e){const t=[];let i="";for(let a=0;a<e.length;a++)i+=e[a]+" ",t.push(i.trimEnd());return t.reverse()}Lm(({player:e,buffer:t,cmdText:i,next:a})=>{const n=Gm(e,t,i);if(n)return n;const r=i.match(si),s=Fm(r),l=s.find(y=>oe.has(y)),o=s.map(y=>y.toLowerCase()).find(y=>de.has(y)),d=!!l,c=!!o,h=r.join(" ");let p=[];const g=[[l,oe,!0],[o,de,!1]],f=[h,i,t,l,o,d,c,p];if(d||c){const y=g[0][0]||g[1][0];p=h.replace(y,"").trim().split(" ")}else return Oe(e,be.NOT_EXIST,...f);try{if(!Dm(e,...f))return Oe(e,be.RECEIVED_REJECTED,...f)}catch(y){const w=typeof y=="object"?y:{error:y};return Oe(e,{...be.RECEIVED_THROW,...w},...f)}for(const[y,w,O]of g){if(!y)continue;const N=w.get(y),[,J]=N;if(!J(e,y,p,i,t,O))return Oe(e,be.REJECTED,...f)}return wm(e,h,i,t,l,o,d,c,p)?(a(),!0):Oe(e,be.PERFORMED,...f)});function Bm(e,t,i,a,n,r){return{player:e,mainCommand:t,subcommand:i,cmdText:a,buffer:n,isStrict:r}}class x{static caseSensitive=!1;constructor(){}static on(t,i){let a=x.caseSensitive,n,r;typeof t=="string"||t instanceof Array?(n=t,r=i):(n=t.command,r=t.run,typeof t.caseSensitive<"u"&&(a=t.caseSensitive));const s=Array.isArray(n)?n:[n],l=s.find(c=>!c.match(si));if(l)return console.log(`error command ${l} format`),()=>{};const o=a?oe:de,d=s.map(c=>{const h=c.replaceAll("/",""),p=a?h:h.toLowerCase();if(!o.has(p)){const f=u({name:a?"$"+p:p,isNative:!1,beforeEach:Bm});o.set(p,f)}const[g]=o.get(p);return[p,g(r)]});return()=>{d.forEach(c=>{const[h,p]=c;p()===0&&o.delete(h)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(i=>{let a=i.replaceAll("/","");oe.has(a)&&(F.has(a)&&F.delete(a),oe.has(a)&&oe.delete(a)),a=a.toLowerCase(),de.has(a)&&(F.has(a)&&F.delete(a),de.has(a)&&de.delete(a))})}static enableCaseSensitive(){x.caseSensitive=!0}static disableCaseSensitive(){x.caseSensitive=!1}static isCaseSensitive(){return x.caseSensitive}static simulate(t,i){return bm(t.id,i)}}const[li]=u({name:"OnClientCheckResponse",beforeEach(e,t,i,a){return{player:m.getInstance(e),actionId:t,memAddr:i,data:a}}}),[xm,km]=u({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,i){return{player:e,newLocale:t,oldLocale:i}}}),[Mm,Vm]=u({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,i){return{player:e,newCharset:t,oldCharset:i}}});class m{constructor(t){this.id=t;const i=m.getInstance(t);if(i)return i;W.set(t,this)}[ie]={isAndroid:!0};static MAX_CHECK_ANDROID_DELAY=10;static SKIP_CHECK_ANDROID=!1;_charset="ISO-8859-1";_locale="en_US";lastDrunkLevel=0;lastFps=0;lastUpdateTick=0;lastUpdateFpsTick=0;isPaused=!1;isRecording=!1;get charset(){return this._charset}set charset(t){const i=this._charset;this._charset=t,Vm(this,t,i)}get locale(){return this._locale}set locale(t){const i=this._locale;this._locale=t,km(this,t,i)}sendClientMessage(t,i){return ai(this,t,i)}static sendClientMessageToAll(t,i){om(m.getInstances(),t,i)}sendMessageToPlayer(t,i){return ni(t,this.id,i)}sendMessageToAll(t){return dm(m.getInstances(),this.id,t)}isNpc(){return xn(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return sr(this.id)}setDrunkLevel(t){if(t<0||t>5e4)throw new Error("[Player]: player's drunk level ranges from 0 to 50000");return lr(this.id,t)}allowTeleport(t){return wn(this.id,t)}isTeleportAllowed(){return Rn(this.id)}enableCameraTarget(t){return Ts(this.id,t)}enableStuntBonus(t){return ns(this.id,t)}getInterior(){return Xn(this.id)}setInterior(t){return Zn(this.id,t)}showNameTag(t,i){return Ss(this.id,t.id,i)}setColor(t){return or(this.id,t)}getColor(){return dr(this.id)}setMarker(t,i){gs(this.id,t.id,i)}getMarker(t){return Ps(this.id,t.id)}resetMoney(){return gr(this.id)}getMoney(){return Pr(this.id)}giveMoney(t){return fr(this.id,t)}resetWeapons(){return ur(this.id)}spawn(){return Ga(this.id)}setHealth(t){return Yn(this.id,t)}getHealth(){return zn(this.id)}toggleClock(t){return Nr(this.id,t)}toggleControllable(t){return Yr(this.id,t)}toggleSpectating(t){return ds(this.id,t)}spectatePlayer(t,i=He.NORMAL){return cs(this.id,t.id,i)}spectateVehicle(t,i=He.NORMAL){return _s(this.id,t.id,i)}forceClassSelection(){return Dr(this.id)}kick(){return Xa(this.id)}ban(){return Ya(this.id)}banEx(t,i){return um(this.id,t,i)}isAdmin(){return Ka(this.id)}isInRangeOfPoint(t,i,a,n){return Wn(this.id,t,i,a,n)}isStreamedIn(t){return Kn(this.id,t.id)}setSkin(t,i=!1){return!i&&(t<0||t>311||t===74)||this.getHealth().health<=0||this.isInAnyVehicle()||this.getSpecialAction()===ze.DUCK?!1:cr(this.id,t)}getSkin(){return _r(this.id)}isInAnyVehicle(){return ms(this.id)}getSpecialAction(){return qr(this.id)}setSpecialAction(t){return es(this.id,t)}setScore(t){return nr(this.id,t)}getScore(){return rr(this.id)}getPing(){return yr(this.id)||0}setPos(t,i,a){return kn(this.id,t,i,a)}getPos(){return Vn(this.id)}isSpectating(){return this.getState()===Ce.SPECTATING}isWasted(){return this.getState()===Ce.WASTED}getState(){return Sr(this.id)}getVersion(){return sn(this.id)}setVirtualWorld(t){return is(this.id,t)}getVirtualWorld(){return as(this.id)}removeFromVehicle(){return Xr(this.id)}setWantedLevel(t){if(t<0||t>6)throw new Error("[Player]: player's wanted level ranges from 0 to 6");return vr(this.id,t)}getWantedLevel(){return wr(this.id)}setFacingAngle(t){return Hn(this.id,t)}getFacingAngle(){return Un(this.id)}setWeather(t){if(t<0||t>255)throw new Error("[Player]: The valid weather value is only 0 to 255");return Tr(this.id,t)}getWeather(){return cn(this.id)}setTime(t,i){if(t<0||t>23)throw new Error("[Player]: The valid hour value is only 0 to 23");if(i<0||i>59)throw new Error("[Player]: The valid minute value is only 0 to 59");return Ar(this.id,t,i)}getTime(){return Cr(this.id)}removeBuilding(t,i,a,n,r){return Ur(this.id,t,i,a,n,r)}setTeam(t){t<0||t>T.NO_TEAM||ir(this.id,t)}getTeam(){return ar(this.id)}setSkillLevel(t,i){if(i<0||i>999)throw new Error("[Player]: The valid skill level is only 0 to 999");return kr(this.id,t,i)}getName(){return _m(this)}setName(t){return hm(this,t)}setVelocity(t,i,a){return br(this.id,t,i,a)}getVelocity(){return Or(this.id)}getSpeed(t=180){if(this.id===-1)return 0;const{x:i,y:a,z:n}=this.getVelocity();return Xe(i,a,n)*t}getKeys(){return Er(this.id)}getIp(){return rn(this.id)}getFightingStyle(){return Lr(this.id)}setFightingStyle(t){return Rr(this.id,t)}setArmour(t){return $n(this.id,t)}getArmour(){return Jn(this.id)}setCameraBehind(){return Es(this.id)}setCameraPos(t,i,a){return ys(this.id,t,i,a)}setCameraLookAt(t,i,a,n=Ae.CUT){return Is(this.id,t,i,a,n)}getCameraAspectRatio(){return ws(this.id)}getCameraFrontVector(){return Cs(this.id)}getCameraMode(){return Ns(this.id)}getCameraPos(){return As(this.id)}getCameraTargetPlayer(){const t=vs(this.id);return m.getInstances().find(i=>i.id===t)}getCameraTargetVehicle(){const t=Ds(this.id);return[...j.values()].find(i=>i.id===t)}getCameraZoom(){return Rs(this.id)}playAudioStream(t,i=0,a=0,n=0,r=5){let s=!1;return(i!==0||a!==0||n!==0)&&(s=!0),Fr(this.id,t,i,a,n,r,s)}stopAudioStream(){return Br(this.id)}playSound(t,i=0,a=0,n=0){return zr(this.id,t,i,a,n)}static getMaxPlayers(){return ia()}playCrimeReport(t,i){if(i<3||i>22)throw new Error("[Player]: Available crime ids range from 3 to 22");return Gr(this.id,t.id,i)}interpolateCameraPos(t,i,a,n,r,s,l,o=Ae.CUT){return Ls(this.id,t,i,a,n,r,s,l,o)}interpolateCameraLookAt(t,i,a,n,r,s,l,o=Ae.CUT){return bs(this.id,t,i,a,n,r,s,l,o)}createExplosion(t,i,a,n,r){if(n<0||n>13)throw new Error("[Player]: The valid explosion type value is only 0 to 13");return ss(this.id,t,i,a,n,r)}static isConnected(t){return hs(t)}isConnected(){return m.isConnected(this.id)}disableRemoteVehicleCollisions(t){return ts(this.id,t)}getVehicle(){if(!this.isInAnyVehicle())return;const t=Kr(this.id);return[...j.values()].find(i=>i.id===t)}getVehicleSeat(){return Zr(this.id)}getSurfingVehicle(){const t=Mr(this.id);if(t!==T.VEHICLE_ID)return[...j.values()].find(i=>i.id===t)}applyAnimation(t,i,a=4.1,n=!1,r=!0,s=!0,l=!1,o=0,d=!1){if(!qe(t,i))throw new Error(`[Player]: Invalid anim library or name ${t} ${i}`);return $r(this.id,t,i,a,n,r,s,l,o,+d)}clearAnimations(t=!1){return Jr(this.id,t)}getAnimationIndex(){return Qr(this.id)}getAnimationName(t=this.getAnimationIndex()){const[i,a]=Ia(t);return{index:t,animLib:i,animName:a}}setShopName(t){return xr(this.id,t)}setPosFindZ(t,i,a){return Mn(this.id,t,i,a)}setWorldBounds(t,i,a,n){return ps(this.id,t,i,a,n)}clearWorldBounds(){return fs(this.id)}setChatBubble(t,i,a,n,r=this.charset){return Em(this.id,t,i,a,n,r)}getDistanceFromPoint(t,i,a){return jn(this.id,t,i,a)}getCustomSkin(){return rs(this.id)}getTargetPlayer(){const t=tr(this.id);if(t!==T.PLAYER_ID)return m.getInstances().find(i=>i.id===t)}getLastShotVectors(){return Wr(this.id)}getWeapon(){return Ir(this.id)}getWeaponData(t){return pr(this.id,t)}getWeaponState(){return er(this.id)}giveWeapon(t,i){return hr(this.id,t,i)}setAmmo(t,i){return Qn(this.id,t,i)}getAmmo(){return qn(this.id)}setArmedWeapon(t){return mr(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(T.PLAYER_ID,T.PLAYER_ID,$e.CONNECT)}sendDeathMessage(t,i){return ta(t===T.PLAYER_ID?t:t.id,this.id,i)}sendDeathMessageToPlayer(t,i,a){return Fn(this.id,t===T.PLAYER_ID?t:t.id,i===T.PLAYER_ID?i:i.id,a)}setSpawnInfo(t,i,a,n,r,s,l,o,d,c,h,p){return t<0||t>T.NO_TEAM||i<0||i>311||i===74||o<0||c<0||p<0?!1:Oa(this.id,t,i,a,n,r,s,l,o,d,c,h,p)}redirectDownload(t){return t_(this.id,t)}sendClientCheck(t,i,a,n){const r=[2,5,69,70,71,72];if(!r.includes(t))throw new Error(`[Player]: sendClientCheck valid types are ${r.toString()}`);return new Promise((s,l)=>{if(this.isPaused)return l("[Player]: An attempt to check the player client response, but the player paused the game");const o="[Player]: An attempt to check the player client response timed out",d=this.getPing(),c=(d>=200?0:d)+200;let h=null;const p=li(({player:g,actionId:f,memAddr:y,data:w,next:O})=>(g!==this||(h&&(clearTimeout(h),h=null),s({actionId:f,memAddr:y,data:w})),O()));h=setTimeout(()=>{p(),l(o)},c),en(this.id,t,i,a,n)})}selectTextDraw(t){lc(this.id,t)}cancelSelectTextDraw(){oc(this.id)}beginObjectSelecting(){return $c(this.id)}endObjectEditing(){return Jc(this.id)}getSurfingObject(){const t=Vr(this.id);if(t!==T.OBJECT_ID)return Z.get(t)}getSurfingPlayerObject(){const t=Hr(this.id);if(t!==T.OBJECT_ID)return Z.get(t)}isAttachedObjectSlotUsed(t){return l_(this.id,t)}editAttachedObject(t){return zc(this.id,t)}setAttachedObject(t,i,a,n=0,r=0,s=0,l=0,o=0,d=0,c=1,h=1,p=1,g=0,f=0){return this.isAttachedObjectSlotUsed(t)?0:r_(this.id,t,i,a,n,r,s,l,o,d,c,h,p,g,f)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?s_(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 ln(this.id,t)}isWidescreenToggled(){return on(this.id)}getSpawnInfo(){return Fa(this.id)}getSkillLevel(t){return dn(this.id,t)}isCheckpointActive(){return So(this.id)}getCheckpoint(){return yo(this.id)}isRaceCheckpointActive(){return Io(this.id)}getRaceCheckpoint(){return Eo(this.id)}getWorldBounds(){return _n(this.id)}isInModShop(){return ho(this.id)}getSirenState(){return uo(this.id)}getLandingGearState(){return mo(this.id)}getHydraReactorAngle(){return po(this.id)}getTrainSpeed(){return fo(this.id)}getZAim(){return hn(this.id)}getSurfingOffsets(){return un(this.id)}getRotationQuat(){return mn(this.id)}getDialogID(){return pn(this.id)}getSpectateID(){return fn(this.id)}getSpectateType(){return gn(this.id)}getRawIp(){return nn(this.id)}setGravity(t){return Pn(this.id,t)}getGravity(){return Sn(this.id)}setAdmin(t){return Za(this.id,t)}isSpawned(){return yn(this.id)}isControllable(){return In(this.id)}isCameraTargetEnabled(){return En(this.id)}toggleGhostMode(t){return An(this.id,t)}getGhostMode(){return Cn(this.id)}getBuildingsRemoved(){return Nn(this.id)}getAttachedObject(t){return n_(this.id,t)}removeWeapon(t){return Tn(this.id,t)}isUsingOfficialClient(){return vn(this.id)}allowWeapons(t){return Ln(this.id,t)}areWeaponsAllowed(){return bn(this.id)}gpci(t=this.charset){return qa(this.id,t)}isCuffed(){return Os(this.id)}isInDriveByMode(){return Gs(this.id)}isAndroid(){return this.isConnected()&&this[ie].isAndroid}isPC(){return this.isConnected()&&!this[ie].isAndroid}isUsingOmp(){return Fs(this.id)}simulateCommand(t){return x.simulate(this,t)}static getInstance(t){return W.get(t)}static getInstances(){return[...W.values()]}}const[oi]=u({name:"OnDialogResponseI18n",identifier:"iiiiai",defaultValue:!1,beforeEach(e,t,i,a,n){const r=m.getInstance(e),s=I.decodeFromBuf(n,r.charset);return{player:r,dialogId:t,response:i,listItem:a,buffer:n,inputText:s}}});oi(({next:e,player:t,dialogId:i,response:a,listItem:n,buffer:r,inputText:s})=>{const l=R.waitingQueue.get(t);return!l||l.showId!==i||l.resolve({response:a,listItem:n,buffer:r,inputText:s}),e()});class R{id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new WeakMap;constructor(t={style:Ye.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,i=!1){const a=R.waitingQueue.get(t);if(!a)return!1;i&&a.reject("[Dialog]: player timeout does not respond or second request show dialog"),R.waitingQueue.delete(t);const n=R.showingIds.indexOf(a.showId);return n>-1&&R.showingIds.splice(n,1),!0}show(t){return new Promise((i,a)=>{for(R.close(t);(this.id===-1||R.showingIds.includes(this.id))&&R.showingIds.length!==R.maxDialogId;)this.id=Math.floor(Math.random()*(R.maxDialogId+1));if(this.id===-1){a("[Dialog]: The maximum number of dialogs is reached");return}R.showingIds.push(this.id),R.waitingQueue.set(t,{resolve:i,reject:a,showId:this.id}),R.__inject__ShowPlayerDialog(t,this.id,this.dialog)}).catch(i=>Promise.reject(i)).finally(()=>R.delDialogTask(t))}static close(t){R.delDialogTask(t,!0),Dn(t.id)}static __inject__ShowPlayerDialog=cm}const[di]=u({name:"OnPlayerConnect",beforeEach(e){const t=new m(e);return W.set(e,t),R.close(t),{player:t}}}),[ci]=u({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:W.get(e),reason:t}},afterEach({player:e}){W.delete(e.id)}}),[_i]=u({name:"OnPlayerUpdate",beforeEach(e){return{player:m.getInstance(e)}}}),[Hm]=u({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const i=m.getInstance(e);return{player:i,text:I.decodeFromBuf(t,i.charset),buffer:t}}}),[Um]=u({name:"OnPlayerEnterExitModShop",beforeEach(e,t,i){return{player:m.getInstance(e),enterExit:t,interior:i}}}),[Wm]=u({name:"OnPlayerClickMap",defaultValue:!1,beforeEach(e,t,i,a){return{player:m.getInstance(e),fX:t,fY:i,fZ:a}}}),[jm]=u({name:"OnPlayerClickPlayer",defaultValue:!1,beforeEach(e,t,i){return{player:m.getInstance(e),clickedPlayer:m.getInstance(t),source:i}}}),[Km]=u({name:"OnPlayerDeath",beforeEach(e,t,i){return{player:m.getInstance(e),killer:m.getInstance(t)||T.PLAYER_ID,reason:i}}}),[Zm]=u({name:"OnPlayerGiveDamage",defaultValue:!1,beforeEach(e,t,i,a,n){return{player:m.getInstance(e),damage:m.getInstance(t),amount:i,weapon:a,bodyPart:n}}}),[Xm]=u({name:"OnPlayerKeyStateChange",beforeEach(e,t,i){return{player:m.getInstance(e),newKeys:t,oldKeys:i}}}),[Ym]=u({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:m.getInstance(e),classId:t}}}),[zm]=u({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[$m]=u({name:"OnPlayerSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[Jm]=u({name:"OnPlayerStateChange",beforeEach(e,t,i){return{player:m.getInstance(e),newState:t,oldState:i}}}),[Qm]=u({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[qm]=u({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[ep]=u({name:"OnPlayerTakeDamage",defaultValue:!1,beforeEach(e,t,i,a,n){return{player:m.getInstance(e),damage:m.getInstance(t)||T.PLAYER_ID,amount:i,weapon:a,bodyPart:n}}}),[tp]=u({name:"OnPlayerInteriorChange",beforeEach(e,t,i){return{player:m.getInstance(e),newInteriorId:t,oldInteriorId:i}}}),[ip]=u({name:"OnPlayerRequestDownload",beforeEach(e,t,i){return{player:m.getInstance(e),type:t,crc:i}}}),[ap]=u({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:m.getInstance(e),virtualWorld:t}}}),[np]=u({name:"OnPlayerWeaponShot",beforeEach(e,t,i,a,n,r,s){return{player:m.getInstance(e),weapon:t,hitType:i,hitId:a,fX:n,fY:r,fZ:s}}});let Ge=null;const Y=new Map,et=new Map;function hi(e){if(!e.isConnected()){Y.has(e)&&clearInterval(Y.get(e));return}let t=et.get(e)||1;if(t>=m.MAX_CHECK_ANDROID_DELAY){clearInterval(Y.get(e)),tt(e,!0);return}e.sendClientCheck(72,0,0,2).then(({actionId:i})=>{i===72&&(e[ie].isAndroid=!1,Y.has(e)&&clearInterval(Y.get(e)),tt(e,!1))}).catch(()=>{}),t++,et.set(e,t)}const[rp,sp]=u({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[lp,op]=u({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,i,a){return{player:e,pausedAt:t,now:i,diff:a}}}),[dp,cp]=u({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,i){return{player:e,newFps:t,oldFps:i}}}),[_p,tt]=u({name:"OnAndroidCheck",isNative:!1,beforeEach(e,t){return{player:e,result:t}}});di(({player:e,next:t})=>{if(!Ge&&m.getInstances().length&&(Ge=setInterval(()=>{m.getInstances().filter(a=>{const n=a.getState()!==Ce.NONE;return!a.isPaused&&!a.isNpc()&&n}).forEach(a=>{Date.now()-a.lastUpdateTick>1e3&&(a.isPaused=!0,sp(a,a.lastUpdateTick))})},500)),e.isNpc())return e[ie].isAndroid=!1,t();if(m.SKIP_CHECK_ANDROID)return e[ie].isAndroid=!e.isUsingOfficialClient(),tt(e,e[ie].isAndroid),t();hi(e);const i=setInterval(()=>hi(e),1e3);return Y.set(e,i),t()}),ci(({player:e,next:t})=>(Ge&&m.getInstances().length<=1&&(clearInterval(Ge),Ge=null),Y.has(e)&&(clearInterval(Y.get(e)),Y.delete(e),et.delete(e)),t()));function hp(e){if(!m.isConnected(e.id))return;const t=Date.now();if(t-e.lastUpdateFpsTick>=1e3){const i=e.getDrunkLevel();if(i<100){e.setDrunkLevel(2e3),e.lastDrunkLevel=2e3,e.lastFps=0;return}e.lastUpdateFpsTick=t;const a=e.lastFps,n=e.lastDrunkLevel-i-1;e.lastFps=n,e.lastDrunkLevel=i,cp(e,n,a)}}_i(({player:e,next:t})=>{if(!e.isNpc()){const i=Date.now();e.isPaused&&(e.isPaused=!1,op(e,e.lastUpdateTick,i,i-e.lastUpdateTick)),e.lastUpdateTick=i,hp(e)}return t()});const it=Object.freeze({onConnect:di,onDisconnect:ci,onPause:rp,onResume:lp,onUpdate:_i,onText:Hm,onEnterExitModShop:Um,onClickMap:Wm,onClickPlayer:jm,onDeath:Km,onGiveDamage:Zm,onKeyStateChange:Xm,onRequestClass:Ym,onRequestSpawn:zm,onSpawn:$m,onStateChange:Jm,onStreamIn:Qm,onStreamOut:qm,onTakeDamage:ep,onInteriorChange:tp,onRequestDownload:ip,onFinishedDownloading:ap,onCheckResponse:li,onCommandReceived:Tm,onCommandPerformed:vm,onCommandError:Rm,onCommandText:x.on,offCommandText:x.off,onDialogResponse:oi,onLocaleChange:xm,onCharsetChange:Mm,onFpsUpdate:dp,onWeaponShot:np,onAndroidCheck:_p,onCommandTextRaw:Om}),up=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],mp=[[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],[],[],[],[],[],[],[],[]],pp=(e,t)=>{if(!at(e))return!1;const i=mp[e-400];if(i===null)return!1;const a=t-1e3;return up.includes(a)||i.includes(a)},at=e=>e>=400&&e<=611,fp=(e,t)=>{if(t<0||t>2)return!1;const i=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 i===void 0?!1:t<=i},[ui]=u({name:"OnGameModeInit"}),[mi]=u({name:"OnGameModeExit"}),[gp]=u({name:"OnIncomingConnection",defaultValue:!1,beforeEach(e,t,i){return{playerId:e,ipAddress:t,port:i}}}),[Pp]=u({name:"OnRconCommandI18n",identifier:"ai",defaultValue:!1,beforeEach(e){return{buffer:e,cmd:I.decodeFromBuf(e)}}}),[Sp]=u({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,i){return{ip:I.decodeFromBuf(e),password:I.decodeFromBuf(t),success:!!i,ipBuffer:e,passwordBuffer:t}}}),ce=[],Pe=[],nt=new Map,rt=async e=>{try{return await new Promise((t,i)=>{const a=ce.findIndex(l=>l.name===e);if(a===-1)return;const n=ce[a];function r(l){l.length&&nt.set(e,l),ce.splice(a,1),Pe.push(n),setTimeout(t)}const s=n.load();s instanceof Promise?s.then(r).catch(i):r(s)})}catch(t){throw new Error(`[GameMode]: script ${e} load fail
3
- err:${t}`)}},st=async e=>{try{return await new Promise((t,i)=>{const a=Pe.findIndex(o=>o.name===e);if(a===-1)return;const n=Pe[a],r=nt.get(e);r&&(r.forEach(o=>o()),nt.delete(e));function s(){Pe.splice(a,1),ce.push(n),setTimeout(t)}const l=n.unload();l instanceof Promise?l.then(s).catch(i):s()})}catch(t){throw new Error(`[GameMode]: script ${e} unload fail
4
- ${t}`)}},yp=async e=>{await st(e),await rt(e)};ui(async({next:e})=>{const t=ce.map(i=>i.name);for(const i of t)await rt(i);return e()}),mi(async({next:e})=>{const t=Pe.map(i=>i.name);for(const i of t)await st(i);return e()});const Ip=function(e,...t){if(ce.some(i=>i.name===e.name)||Pe.some(i=>i.name===e.name))throw new Error(`[GameMode]: script ${e.name} has already been applied`);e.load=e.load.bind(e,...t),ce.push(e)};class L{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=ui;static onExit=mi;static onIncomingConnection=gp;static onRconCommand=Pp;static onRconLoginAttempt=Sp;static use(t,...i){return Ip(t,...i),this}static loadUseScript=rt;static reloadUseScript=yp;static unloadUseScript=st;static enableCmdCaseSensitive=x.enableCaseSensitive;static disableCmdCaseSensitive=x.disableCaseSensitive;static isCmdCaseSensitive=x.isCaseSensitive;static supportAllNickname(){for(let t=0;t<=255;t++)this.isNickNameCharacterAllowed(t)||this.allowNickNameCharacter(t,!0)}static setWeather(t){if(t<0||t>255)throw new Error("[GameMode]: The valid weather value is only 0 to 255");return da(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");return sa(t)}static getWorldTime=la;static setTeamCount=Ra;static sendRconCommand=mm;static addPlayerClass=La;static addPlayerClassEx=ba;static createExplosion(t,i,a,n,r){if(n<0||n>13)throw new Error("[GameMode]: The valid explosion type value is only 0 to 13");return ha(t,i,a,n,r)}static manualVehicleEngineAndLights=Tl;static blockIpAddress=Ja;static unBlockIpAddress=Qa;static getServerTickRate=ya;static addSimpleModel(t,i,a,n,r){return this.checkSimpleModel(t,i,a,n,r)?qc(t,i,a,n,r):0}static addSimpleModelTimed(t,i,a,n,r,s,l){return this.checkSimpleModel(t,i,a,n,r,s,l)?e_(t,i,a,n,r,s,l):0}static checkSimpleModel(t,i,a,n,r,s,l){if(t<-1)throw new Error("[GameMode]: AddSimpleModel - Error virtual world");if(i<0)throw new Error("[GameMode]: AddSimpleModel - Error baseId");if(a>-1e3||a<-3e4)throw new Error("[GameMode]: AddSimpleModel - Error newId range");if(n.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty dffName");if(r.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty txdName");if(s!==void 0&&(s<0||s>23))throw new Error("[GameMode]: AddSimpleModel - Error time on range");if(l!==void 0&&(l<0||l>23))throw new Error("[GameMode]: AddSimpleModel - Error time off range");return 1}static isValidCustomModel=mt;static getCustomModePath=o_;static getConsoleVarAsString(t,i="utf8"){const{consoleVarBuf:a,ret:n}=Ki(t);return{consoleVar:I.decodeFromBuf(I.getValidStr(a),i),ret:n}}static getRestartTime=Qi;static setRestartTime=Ji;static allowAdminTeleport=Mi;static isAdminTeleportAllowed=Vi;static allowInteriorWeapons=Hi;static areInteriorWeaponsAllowed=Ui;static areAllAnimationsEnabled=Wi;static enableAllAnimations=ji;static enableStuntBonusForAll=Ea;static enableVehicleFriendlyFire=oa;static enableZoneNames=ua;static disableInteriorEnterExits=pa;static setGameModeText=aa;static getGravity=ca;static setGravity=_a;static showNameTags=na;static disableNameTagLOS=ga;static usePlayerPedAnims=ma;static showPlayerMarkers=ra;static limitPlayerMarkerRadius=Sa;static limitGlobalChatRadius=Pa;static setNameTagDrawDistance=fa;static findModelFileNameFromCRC=i_;static findTextureFileNameFromCRC=a_;static getWeaponName=Ta;static setObjectsDefaultCameraCollision=Qc;static vectorSize=Xe;static clearBanList=tn;static isBanned=an;static isValidNickName=bi;static allowNickNameCharacter=Oi;static isNickNameCharacterAllowed=Gi;static addServerRule=Fi;static setServerRule=Bi;static isValidServerRule=xi;static removeServerRule=ki;static getWeaponSlot=Na;static getAvailableClasses=Da;static getPlayerClass=va;static editPlayerClass=wa;static toggleChatTextReplacement=Aa;static chatTextReplacementToggled=Ca;static getConsoleVarAsInt=Zi;static getConsoleVarAsBool=Xi;static getWeather=Yi;static getServerRuleFlag=zi;static setServerRuleFlags=$i}const A={skip:!1};L.onInit(({next:e})=>(A.skip=!1,e())),L.onExit(({next:e})=>(A.skip=!0,e()));class C{sourceInfo=null;isStatic=!1;static createdCount=0;_id=-1;get id(){return this._id}constructor(t,i=!1){if(typeof t=="number"){const a=C.getInstance(t);if(a)return a;this._id=t,j.set(this._id,this),this.isValid()&&C.createdCount++}else this.sourceInfo=t,this.isStatic=i}create(t=!1){if(this.id!==-1)throw new Error("[Vehicle]: Unable to create again");if(!this.sourceInfo)throw new Error("[Vehicle]: Unable to create with only id");if(C.createdCount===V.MAX_VEHICLES)throw new Error("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:i,x:a,y:n,z:r,zAngle:s,color:l,respawnDelay:o,addSiren:d}=this.sourceInfo;if(!(!t&&!at(i))){if(this.isStatic){if(o===void 0){this._id=C.__inject_AddStaticVehicle(i,a,n,r,s,l[0],l[1]);return}this._id=C.__inject_AddStaticVehicleEx(i,a,n,r,s,l[0],l[1],o||-1,d||!1)}else this._id=C.__inject_CreateVehicle(i,a,n,r,s,l[0],l[1],o||-1,d||!1);C.createdCount++,j.set(this._id,this)}}destroy(){if(this.id===-1&&!A.skip)throw new Error("[Vehicle]: Unable to destroy the vehicle before create");A.skip||C.__inject_DestroyVehicle(this.id),C.createdCount--,j.delete(this._id),this._id=-1}addComponent(t){if(this.id===-1)return 0;if(!pp(this.getModel(),t))throw new Error(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`);return Bl(this.id,t)}removeComponent(t){if(this.getComponentInSlot(C.getComponentType(t))===0)throw new Error(`[Vehicle]: component id ${t} does not exist on this vehicle`);return xl(this.id,t)}getComponentInSlot(t){return Yl(this.id,t)}linkToInterior(t){return this.id===-1?0:Fl(this.id,t)}setVirtualWorld(t){return this.id===-1?0:ao(this.id,t)}getVirtualWorld(){return this.id===-1?0:no(this.id)}repair(){return this.id===-1?0:$l(this.id)}setPos(t,i,a){return this.id===-1?!1:yl(this.id,t,i,a)}getPos(){return Sl(this.id)}getHealth(){return Hl(this.id)}setHealth(t){return this.id===-1?0:Vl(this.id,t)}isPlayerIn(t){return this.id===-1?!1:us(t.id,this.id)}putPlayerIn(t,i){if(this.id===-1||i<0)return 0;if(i>4)throw new Error("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle.");return jr(t.id,this.id,i)}getZAngle(){return Il(this.id)}setZAngle(t){return this.id===-1?0:Cl(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 Zl(this.id,t)}changeColors(t,i){return this.id===-1?0:kl(this.id,t,i)}setVelocity(t,i,a){return this.id===-1?!1:Ql(this.id,t,i,a)}getVelocity(){return Jl(this.id)}getSpeed(t=180){if(this.id===-1)return 0;const{x:i,y:a,z:n}=this.getVelocity();return Xe(i,a,n)*t}setAngularVelocity(t,i,a){return this.id===-1?!1:ql(this.id,t,i,a)}getDamageStatus(){return eo(this.id)}updateDamageStatus(t,i,a,n){return to(this.id,t,i,a,n)}getDistanceFromPoint(t,i,a){return Al(this.id,t,i,a)}getModel(){return Xl(this.id)}static getModelInfo(t,i){return io(t,i)}getModelInfo(t){return C.getModelInfo(this.getModel(),t)}getRotationQuat(){return El(this.id)}setRespawn(){return this.id===-1?0:Gl(this.id)}isStreamedIn(t){return this.id===-1?!1:Pl(this.id,t.id)}setParamsCarDoors(t,i,a,n){return this.id===-1?0:Rl(this.id,t,i,a,n)}setParamsCarWindows(t,i,a,n){return this.id===-1?0:bl(this.id,t,i,a,n)}getParamsCarDoors(){return Ll(this.id)}getParamsCarWindows(){return Ol(this.id)}setParamsEx(t,i,a,n,r,s,l){return this.id===-1?0:Dl(this.id,t,i,a,n,r,s,l)}getParamsEx(){if(this.id===-1)return{engine:-1,lights:-1,alarm:-1,doors:-1,bonnet:-1,boot:-1,objective:-1};const[t,i,a,n,r,s,l]=vl(this.id);return{engine:t,lights:i,alarm:a,doors:n,bonnet:r,boot:s,objective:l}}toggleEngine(t){if(this.id===-1)return 0;const{lights:i,alarm:a,doors:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(t,i,a,n,r,s,l)}toggleLights(t){if(this.id===-1)return 0;const{engine:i,alarm:a,doors:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(i,t,a,n,r,s,l)}toggleAlarm(t){if(this.id===-1)return 0;const{engine:i,lights:a,doors:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(i,a,t,n,r,s,l)}toggleDoors(t){if(this.id===-1)return 0;const{engine:i,lights:a,alarm:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(i,a,n,t,r,s,l)}toggleBonnet(t){if(this.id===-1)return 0;const{engine:i,lights:a,alarm:n,doors:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(i,a,n,r,t,s,l)}toggleBoot(t){if(this.id===-1)return 0;const{engine:i,lights:a,alarm:n,doors:r,bonnet:s,objective:l}=this.getParamsEx();return this.setParamsEx(i,a,n,r,s,t,l)}toggleObjective(t){if(this.id===-1)return 0;const{engine:i,lights:a,alarm:n,doors:r,bonnet:s,boot:l}=this.getParamsEx();return this.setParamsEx(i,a,n,r,s,l,t)}getParamsSirenState(){return this.id===-1?-2:wl(this.id)}setParamsForPlayer(t,i,a){return this.id===-1?0:Nl(this.id,t.id,i,a)}isTrailerAttached(){return this.id===-1?!1:jl(this.id)}changePaintjob(t){return this.id===-1||!fp(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),Ml(this.id,t),1)}attachTrailer(t){return this.id===-1?0:Ul(t.id,this.id)}detachTrailer(){this.isTrailerAttached()&&Wl(this.id)}getTrailer(){return C.getInstance(Kl(this.id))}isValid(){return A.skip&&this.id!==-1?!0:C.isValid(this.id)}getMatrix(){return ml(this.id)}getTrainSpeed(){return this.id===-1?0:ul(this.id)}getHydraReactorAngle(){return this.id===-1?0:hl(this.id)}getLandingGearState(){return this.id===-1?0:_l(this.id)}getSirenState(){return this.id===-1?0:cl(this.id)}getDriver(){return W.get(ol(this.id))}getLastDriver(){return W.get(ll(this.id))}isSirenEnabled(){return rl(this.id)}toggleSirenEnabled(t){return this.id===-1?0:al(this.id,t)}setParamsSirenState(t){return this.id===-1?0:nl(this.id,t)}isDead(){return this.id===-1?!0:el(this.id)}setDead(t){return this.id===-1?!1:tl(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:il(this.id,t)}getRespawnTick(){return this.id===-1?0:Qs(this.id)}setRespawnTick(t){return this.id===-1?!1:qs(this.id,t)}isOccupied(){return this.id===-1?!1:Js(this.id)}hasBeenOccupied(){return this.id===-1?!1:$s(this.id)}getOccupiedTick(){return this.id===-1?0:Ys(this.id)}setOccupiedTick(t){return this.id===-1?0:zs(this.id,t)}getCab(){return this.id===-1?0:Xs(this.id)}getRespawnDelay(){return this.id===-1?0:Zs(this.id)}setRespawnDelay(t){return this.id===-1?0:Ks(this.id,t)}getNumberPlate(){return js(this.id)}getInterior(){return this.id===-1?0:Ws(this.id)}getPaintjob(){return this.id===-1?-1:Us(this.id)}getColors(){return Hs(this.id)}setSpawnInfo(t,i,a,n,r,s,l,o=-2,d=-2,c=!1){return this.id===-1||!c&&!at(t)?0:Vs(this.id,t,i,a,n,r,E(s),E(l),o,d)}getSpawnInfo(){return Ms(this.id)}getRandomColorPair(){return ht(this.getModel())}show(){return this.id===-1?!1:oo(this.id)}hide(){return this.id===-1?!1:co(this.id)}isHidden(){return this.id===-1?!1:_o(this.id)}getVehicleOccupant(t){return go(this.id,t)}getVehicleMaxPassengers(){return ut(this.getModel())}countVehicleOccupants(){return Po(this.getModel())}static getVehicleMaxPassengers=ut;static getRandomColorPair=ht;static getComponentType=zl;static colorIndexToColor=pl;static isValid=ro;static getModelsUsed=dl;static getModelCount=sl;static getInstance(t){return j.get(t)}static getInstances(){return[...j.values()]}static __inject_AddStaticVehicle=so;static __inject_AddStaticVehicleEx=lo;static __inject_CreateVehicle=fl;static __inject_DestroyVehicle=gl}L.onExit(({next:e})=>(C.getInstances().forEach(t=>t.destroy()),j.clear(),e()));const[Ep]=u({name:"OnVehicleDamageStatusUpdate",defaultValue:!1,beforeEach(e,t){return{vehicle:C.getInstance(e),player:m.getInstance(t)}}}),[Ap]=u({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:C.getInstance(e),killer:m.getInstance(t)}}}),[Cp]=u({name:"OnVehicleMod",beforeEach(e,t,i){return{player:m.getInstance(e),vehicle:C.getInstance(t),componentId:i}}}),[Np]=u({name:"OnVehiclePaintjob",beforeEach(e,t,i){return{player:m.getInstance(e),vehicle:C.getInstance(t),paintjobId:i}}}),[Tp]=u({name:"OnVehicleRespray",beforeEach(e,t,i,a){return{player:m.getInstance(e),vehicle:C.getInstance(t),color:[i,a]}}}),[Dp]=u({name:"OnVehicleSirenStateChange",defaultValue:!1,beforeEach(e,t,i){return{player:m.getInstance(e),vehicle:C.getInstance(t),state:!!i}}}),[vp]=u({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:C.getInstance(e)}}}),[wp]=u({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:C.getInstance(e),forPlayer:m.getInstance(t)}}}),[Rp]=u({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:C.getInstance(e),forPlayer:m.getInstance(t)}}}),[Lp]=u({name:"OnPlayerEnterVehicle",beforeEach(e,t,i){return{player:m.getInstance(e),vehicle:C.getInstance(t),isPassenger:!!i}}}),[bp]=u({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:m.getInstance(e),vehicle:C.getInstance(t)}}}),[Op]=u({name:"OnTrailerUpdate",beforeEach(e,t){return{player:m.getInstance(e),vehicle:C.getInstance(t)}}}),[Gp]=u({name:"OnUnoccupiedVehicleUpdate",beforeEach(e,t,i,a,n,r,s,l,o){return{vehicle:C.getInstance(e),player:m.getInstance(t),passengerSeat:i,newX:a,newY:n,newZ:r,velX:s,velY:l,velZ:o}}}),Fp=Object.freeze({onDamageStatusUpdate:Ep,onDeath:Ap,onMod:Cp,onPaintjob:Np,onRespray:Tp,onSirenStateChange:Dp,onSpawn:vp,onStreamIn:wp,onStreamOut:Rp,onPlayerEnter:Lp,onPlayerExit:bp,onTrailerUpdate:Op,onUnoccupiedUpdate:Gp}),[_e]=u({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:m.getInstance(i)}}}),[he]=u({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:m.getInstance(i)}}}),[Bp]=u({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class P{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getTickRate=Tu;static setTickRate=Du;static getPlayerTickRate(t){return vu(t.id)}static setPlayerTickRate(t,i=50){return wu(t.id,i)}static toggleChunkStream=Ru;static isToggleChunkStream=Lu;static getChunkTickRate(t,i=-1){return i instanceof m?$t(t,i.id):$t(t,i)}static setChunkTickRate(t,i,a=-1){return a instanceof m?Jt(t,i,a.id):Jt(t,i,a)}static getChunkSize=bu;static setChunkSize=Ou;static getMaxItems=Gu;static setMaxItems=Fu;static getVisibleItems(t,i=-1){return i instanceof m?Qt(t,i.id):Qt(t,i)}static setVisibleItems(t,i,a=-1){return a instanceof m?qt(t,i,a.id):qt(t,i,a)}static getRadiusMultiplier(t,i=-1){return i instanceof m?ei(t,i.id):ei(t,i)}static setRadiusMultiplier(t,i,a=-1){return a instanceof m?ti(t,a.id):ti(t,i,a)}static getTypePriority=Bu;static setTypePriority=xu;static getCellDistance=ku;static setCellDistance=Mu;static getCellSize=Vu;static setCellSize=Hu;static toggleItemStatic=Uu;static isToggleItemStatic=Wu;static toggleItemInvAreas=ju;static isToggleItemInvAreas=Ku;static toggleItemCallbacks=Zu;static isToggleItemCallbacks=Xu;static toggleErrorCallback=Yu;static isToggleErrorCallback=zu;static amxUnloadDestroyItems=$u;static processActiveItems=Ju;static toggleIdleUpdate(t,i){return Qu(t.id,i)}static isToggleIdleUpdate(t){return qu(t.id)}static toggleCameraUpdate(t,i){return em(t.id,i)}static isToggleCameraUpdate(t){return tm(t.id)}static toggleItemUpdate(t,i,a){return im(t.id,i,a)}static isToggleItemUpdate(t,i){return am(t.id,i)}static getLastUpdateTime(){return nm()}static update(t,i=-1){return rm(t.id,i)}static updateEx(t,i,a,n,r,s,l,o,d){return sm(t.id,i,a,n,r,s,l,o,d)}static getDistanceToItem=bh;static toggleItem(t,i,a,n){return Oh(t.id,i,a,n)}static isToggleItem(t,i,a){return Gh(t.id,i,a)}static toggleAllItems(t,i,a,n=[-1]){return Fh(t.id,i,a,n)}static getItemInternalID(t,i,a){return Bh(t.id,i,a)}static getItemStreamerID(t,i,a){return xh(t.id,i,a)}static isItemVisible(t,i,a){return kh(t.id,i,a)}static destroyAllVisibleItems(t,i,a=1){return Mh(t.id,i,a)}static countVisibleItems(t,i,a=1){return Vh(t.id,i,a)}static destroyAllItems=Hh;static countItems=Uh;static getNearbyItems=Wh;static getAllVisibleItems(t,i,a){return jh(t.id,i,a)}static getItemPos=Kh;static setItemPos=Zh;static getItemOffset=Xh;static setItemOffset=Yh;static getFloatData=lh;static setFloatData=oh;static getIntData=dh;static setIntData=ch;static getArrayData=_h;static setArrayData=hh;static isInArrayData=uh;static appendArrayData=mh;static removeArrayData=ph;static getArrayDataLength=zt;static getUpperBound=fh;static onPluginError=Bp}class B{sourceInfo=null;_id=-1;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=B.getInstance(t);if(i)return i;this._id=t,Z.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerObject]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerObject]: Unable to create with only id");let{streamDistance:t,drawDistance:i,worldId:a,interiorId:n,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{modelId:o,x:d,y:c,z:h,rx:p,ry:g,rz:f,extended:y}=this.sourceInfo;return t??=D.OBJECT_SD,i??=D.OBJECT_DD,l??=0,y?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=yh(o,d,c,h,p,g,f,t,i,a,n,r,s,l)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=zh(o,d,c,h,p,g,f,a,n,r,t,i,s,l)),Z.set(this._id,this),this}destroy(){if(this.id===-1&&!A.skip)throw new Error("[StreamerObject]: Unable to destroy the object before create");return A.skip||$h(this.id),Z.delete(this.id),this._id=-1,this}isValid(){return A.skip&&this.sourceInfo&&this.id!==-1?!0:B.isValid(this.id)}getModel(){return this.sourceInfo?this.sourceInfo.modelId:P.getIntData(S.OBJECT,this._id,U.MODEL_ID)}getPos(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get position before create");return Qh(this.id)}setPos(t,i,a){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set position before create");return qh(this.id,t,i,a)}getRot(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get rotation before create");return eu(this.id)}setRot(t,i,a){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set rotation before create");return tu(this.id,t,i,a)}move(t,i,a,n,r=-1e3,s=-1e3,l=-1e3){if(this.id===-1)throw new Error("[StreamerObject]: Cannot start moving before create");if(n<0)throw new Error("[StreamerObject]: speed must not be less than 0");if(n>120*1e3)throw new Error("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),iu(this.id,t,i,a,n,r,s,l)}stop(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot stop moving before create");return au(this.id)}isMoving(){return this.id===-1?!1:nu(this.id)}attachCamera(t){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachCamera before both are created");return ru(t.id,this.id)}attachToObject(t,i,a,n,r,s,l,o=!0){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToObject before both are created");return su(this.id,t.id,i,a,n,r,s,l,o)}attachToPlayer(t,i,a,n,r,s,l){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToPlayer before both are created");return lu(this.id,t.id,i,a,n,r,s,l)}attachToVehicle(t,i,a,n,r,s,l){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return ou(this.id,t.id,i,a,n,r,s,l)}edit(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to edit before create");return t.endObjectEditing(),du(t.id,this.id)}isMaterialUsed(t){return this.id===-1?!1:cu(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:_u(this.id,t)}getMaterial(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material before create");return ym(this.id,t)}setMaterial(t,i,a,n,r="#000"){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material before create");return hu(this.id,t,i,a,n,E(r))}isMaterialTextUsed(t){return this.id===-1?!1:uu(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?mu(this.id,t):0}getMaterialText(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material text before create");return Im(this.id,t,this.sourceInfo?.charset||"utf8")}setMaterialText(t=this.sourceInfo?.charset,i,a,n=Je.SIZE_256x128,r="Arial",s=24,l=1,o="#fff",d="#000",c=0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material text before create");return this.sourceInfo&&(this.sourceInfo.charset=t),Sm(t||"utf8",this.id,i,a,n,r,s,l,E(o),E(d),c)}getPlayerCameraTarget(t){const i=pu(t.id);if(i!==T.OBJECT_ID)return Z.get(i)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to toggle callbacks before create");return P.toggleItemCallbacks(S.OBJECT,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:P.isToggleItemCallbacks(S.OBJECT,this.id)}setNoCameraCollision(){return fu(this.id)}getNoCameraCollision(){return gu(this.id)}static isValid=Jh;static togglePlayerUpdate(t,i=!0){return P.toggleItemUpdate(t,S.OBJECT,i)}static hideForPlayer(t,i=-5e4){return P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?P.updateEx(t,a.x,a.y,a.z):P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Z.get(t)}static getInstances(){return[...Z.values()]}}L.onExit(({next:e})=>(B.getInstances().forEach(t=>t.destroy()),Z.clear(),e()));const[xp,kp]=u({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Mp,Vp]=u({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});_e(({type:e,id:t,forPlayer:i,next:a})=>e===S.OBJECT?kp(i,B.getInstance(t)):a()),he(({type:e,id:t,forPlayer:i,next:a})=>e===S.OBJECT?Vp(i,B.getInstance(t)):a());const[Hp]=u({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:B.getInstance(e)}}}),[Up]=u({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",defaultValue:!1,beforeEach(e,t,i,a,n,r,s,l,o){return{player:m.getInstance(e),object:B.getInstance(t),response:i,x:a,y:n,z:r,rX:s,rY:l,rZ:o}}}),[Wp]=u({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,i,a,n,r){return{player:m.getInstance(e),object:B.getInstance(t),modelId:i,x:a,y:n,z:r}}}),[jp]=u({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,i,a,n,r){return{player:m.getInstance(e),object:B.getInstance(i),weapon:t,x:a,y:n,z:r}}}),[Kp]=u({name:"OnPlayerEditAttachedObject",defaultValue:!1,beforeEach(e,t,i,a,n,r,s,l,o,d,c,h,p,g){return{player:m.getInstance(e),response:t,index:i,modelId:a,boneId:n,fOffsetX:r,fOffsetY:s,fOffsetZ:l,fRotX:o,fRotY:d,fRotZ:c,fScaleX:h,fScaleY:p,fScaleZ:g}}}),Zp=Object.freeze({onMoved:Hp,onPlayerEdit:Up,onPlayerSelect:Wp,onPlayerShoot:jp,onPlayerEditAttached:Kp,onStreamIn:xp,onStreamOut:Mp});class ue{sourceInfo=null;_id=-1;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=ue.getInstance(t);if(i)return i;this._id=t,se.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerMapIcon]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerMapIcon]: Unable to create with only id");let{style:t,streamDistance:i,worldId:a,interiorId:n,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{x:o,y:d,z:c,type:h,color:p,extended:g}=this.sourceInfo;if(h<0||h>63)throw new Error("[StreamerMapIcon]: Invalid map icon type");return t??=je.LOCAL,i??=D.MAP_ICON_SD,l??=0,g?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=Ch(o,d,c,h,E(p),t,i,a,n,r,s,l),se.set(this._id,this),this):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=gh(o,d,c,h,E(p),a,n,r,i,t,s,l),se.set(this._id,this),this)}destroy(){if(this.id===-1&&!A.skip)throw new Error("[StreamerMapIcon]: Unable to destroy the map icon before create");return A.skip||Ph(this.id),se.delete(this._id),this._id=-1,this}isValid(){return A.skip&&this.id!==-1?!0:ue.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerMapIcon]: Unable to toggle callbacks before create");return P.toggleItemCallbacks(S.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:P.isToggleItemCallbacks(S.MAP_ICON,this.id)}static isValid=Sh;static togglePlayerUpdate(t,i=!0){return P.toggleItemUpdate(t,S.MAP_ICON,i)}static hideForPlayer(t,i=-5e4){return P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?P.updateEx(t,a.x,a.y,a.z):P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return se.get(t)}static getInstances(){return[...se.values()]}}L.onExit(({next:e})=>(ue.getInstances().forEach(t=>t.destroy()),se.clear(),e()));const[Xp,Yp]=u({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[zp,$p]=u({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});_e(({type:e,id:t,forPlayer:i,next:a})=>e===S.MAP_ICON?Yp(i,ue.getInstance(t)):a()),he(({type:e,id:t,forPlayer:i,next:a})=>e===S.MAP_ICON?$p(i,ue.getInstance(t)):a());const Jp=Object.freeze({onStreamIn:Xp,onStreamOut:zp});class k{sourceInfo=null;_id=-1;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=k.getInstance(t);if(i)return i;this._id=t,ge.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerPickup]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerPickup]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{type:l,modelId:o,x:d,y:c,z:h,extended:p}=this.sourceInfo;if(l<0)throw new Error("[StreamerPickup]: Invalid pickup type");return t??=D.PICKUP_SD,s??=0,p?(typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=k.__inject_CreateDynamicPickupEx(o,l,d,c,h,t,i,a,n,r,s)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=k.__inject_CreateDynamicPickup(o,l,d,c,h,i,a,n,t,r,s)),ge.set(this._id,this),this}destroy(){if(this.id===-1&&!A.skip)throw new Error("[StreamerPickup]: Unable to destroy the pickup before create");return A.skip||k.__inject_DestroyDynamicPickup(this.id),ge.delete(this.id),this._id=-1,this}isValid(){return A.skip&&this.id!==-1?!0:k.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerPickup]: Unable to toggle callbacks before create");return P.toggleItemCallbacks(S.PICKUP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:P.isToggleItemCallbacks(S.PICKUP,this.id)}static isValid=yu;static togglePlayerUpdate(t,i=!0){return P.toggleItemUpdate(t,S.PICKUP,i)}static hideForPlayer(t,i=-5e4){return P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?P.updateEx(t,a.x,a.y,a.z):P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return ge.get(t)}static getInstances(){return[...ge.values()]}static __inject_CreateDynamicPickup=Pu;static __inject_CreateDynamicPickupEx=Ih;static __inject_DestroyDynamicPickup=Su}L.onExit(({next:e})=>(k.getInstances().forEach(t=>t.destroy()),ge.clear(),e()));const[Qp,qp]=u({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[ef,tf]=u({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});_e(({type:e,id:t,forPlayer:i,next:a})=>e===S.PICKUP?qp(i,k.getInstance(t)):a()),he(({type:e,id:t,forPlayer:i,next:a})=>e===S.PICKUP?tf(i,k.getInstance(t)):a());const[af]=u({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:k.getInstance(t)}}}),nf=Object.freeze({onPlayerPickUp:af,onStreamIn:Qp,onStreamOut:ef});class z{sourceInfo=null;_id=-1;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=z.getInstance(t);if(i)return i;this._id=t,re.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerCheckpoint]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerCheckpoint]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{size:l,x:o,y:d,z:c,extended:h}=this.sourceInfo;if(l<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=D.CP_SD,s??=0,h?(typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=Eh(o,d,c,l,t,i,a,n,r,s)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=ih(o,d,c,l,i,a,n,t,r,s)),re.set(this._id,this),this}destroy(){if(this.id===-1&&!A.skip)throw new Error("[StreamerCheckpoint]: Unable to destroy the checkpoint before create");return A.skip||Xt(this.id),re.delete(this.id),this._id=-1,this}isValid(){return A.skip&&this.id!==-1?!0:z.isValid(this.id)}togglePlayer(t,i){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle the player before create");return ah(t.id,this.id,i),this}isPlayerIn(t){return this.id===-1?!1:rh(t.id,this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle callbacks before create");return P.toggleItemCallbacks(S.CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:P.isToggleItemCallbacks(S.CP,this.id)}static isValid=Yt;static togglePlayerAll(t,i){return nh(t.id,i)}static getPlayerVisible(t){return re.get(sh(t.id))}static togglePlayerUpdate(t,i=!0){return P.toggleItemUpdate(t,S.CP,i)}static hideForPlayer(t,i=-5e4){return P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?P.updateEx(t,a.x,a.y,a.z):P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return re.get(t)}static getInstances(){return[...re.values()]}}L.onExit(({next:e})=>(z.getInstances().forEach(t=>t.destroy()),re.clear(),e()));const[rf,sf]=u({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[lf,of]=u({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});_e(({type:e,id:t,forPlayer:i,next:a})=>e===S.CP?sf(i,z.getInstance(t)):a()),he(({type:e,id:t,forPlayer:i,next:a})=>e===S.CP?of(i,z.getInstance(t)):a());const[df]=u({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),cp:z.getInstance(t)}}}),[cf]=u({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),cp:z.getInstance(t)}}}),_f=Object.freeze({onPlayerEnter:df,onPlayerLeave:cf,onStreamIn:rf,onStreamOut:lf});class ${sourceInfo=null;_id=-1;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=$.getInstance(t);if(i)return i;this._id=t,le.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerRaceCP]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerRaceCP]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{type:l,size:o,x:d,y:c,z:h,nextX:p,nextY:g,nextZ:f,extended:y}=this.sourceInfo;if(l<0||l>8)throw new Error("[StreamerRaceCP]: Invalid type");if(o<0)throw new Error("[StreamerRaceCP]: Invalid size");return t??=D.RACE_CP_SD,s??=0,y?(typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=Ah(l,d,c,h,p,g,f,o,t,i,a,n,r,s)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=Iu(l,d,c,h,p,g,f,o,i,a,n,t,r,s)),le.set(this._id,this),this}destroy(){if(this.id===-1&&!A.skip)throw new Error("[StreamerRaceCP]: Unable to destroy the checkpoint before create");return A.skip||Xt(this.id),le.delete(this.id),this._id=-1,this}isValid(){return A.skip&&this.id!==-1?!0:$.isValid(this.id)}togglePlayer(t,i){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle the player before create");return Eu(t.id,this.id,i),this}static togglePlayerAll(t,i){return Au(t.id,i)}isPlayerIn(t){return this.id===-1?!1:Cu(t.id,this.id)}static getPlayerVisible(t){return le.get(Nu(t.id))}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle callbacks before create");return P.toggleItemCallbacks(S.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:P.isToggleItemCallbacks(S.RACE_CP,this.id)}static isValid=Yt;static togglePlayerUpdate(t,i=!0){return P.toggleItemUpdate(t,S.RACE_CP,i)}static hideForPlayer(t,i=-5e4){return P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?P.updateEx(t,a.x,a.y,a.z):P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return le.get(t)}static getInstances(){return[...le.values()]}}L.onExit(({next:e})=>($.getInstances().forEach(t=>t.destroy()),le.clear(),e()));const[hf,uf]=u({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[mf,pf]=u({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});_e(({type:e,id:t,forPlayer:i,next:a})=>e===S.RACE_CP?uf(i,$.getInstance(t)):a()),he(({type:e,id:t,forPlayer:i,next:a})=>e===S.RACE_CP?pf(i,$.getInstance(t)):a());const[ff]=u({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),raceCP:$.getInstance(t)}}}),[gf]=u({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),raceCp:$.getInstance(t)}}}),Pf=Object.freeze({onPlayerEnter:ff,onPlayerLeave:gf,onStreamIn:hf,onStreamOut:mf});class ee{sourceInfo=null;_id=-1;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=ee.getInstance(t);if(i)return i;this._id=t,Q.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerActor]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerActor]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{modelId:l,x:o,y:d,z:c,r:h,invulnerable:p,health:g,extended:f}=this.sourceInfo;return t??=D.ACTOR_SD,s??=0,f?(typeof i=="number"?i=[0]:i??=[0],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=Lh(l,o,d,c,h,p,g,t,i,a,n,r,s)):(Array.isArray(i)?i=0:i??=0,Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=__(l,o,d,c,h,p,g,i,a,n,t,r,s)),Q.set(this.id,this),this}destroy(){if(this.id===-1&&!A.skip)throw new Error("[StreamerActor]: Unable to destroy the actor before create");return A.skip||h_(this.id),Q.delete(this.id),this._id=-1,this}isValid(){return A.skip&&this.id!==-1?!0:ee.isValid(this.id)}isStreamedIn(t){return this.id===-1?!1:m_(this.id,t.id)}getVirtualWorld(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get virtual world before create");return p_(this.id)}setVirtualWorld(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set virtual world before create");return f_(this.id,t)}applyAnimation(t,i,a=4.1,n=!1,r=!0,s=!0,l=!1,o=0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to apply animation before create");if(!qe(t,i))throw new Error(`[StreamerActor]: Invalid anim library or name ${t} ${i}`);return g_(this.id,t,i,a,n,r,s,l,o)}clearAnimations(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to clear animation before create");return P_(this.id)}getFacingAngle(){return S_(this.id)}setFacingAngle(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set facing angle before create");return y_(this.id,t)}getPos(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get pos before create");return I_(this.id)}setPos(t,i,a){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set pos before create");return E_(this.id,t,i,a)}getHealth(){return A_(this.id)}setHealth(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set health before create");return C_(this.id,t)}isInvulnerable(){return this.id===-1?!1:T_(this.id)}setInvulnerable(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set invulnerable before create");return N_(this.id,t)}getPlayerTarget(t){const i=D_(t.id);return Q.get(i)}getPlayerCameraTarget(t){const i=v_(t.id);return Q.get(i)}getSkin(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get skin before create");return Bs(this.id)}setSkin(t,i=!1){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set skin before create");return!i&&(t<0||t>311||t===74)?0:xs(this.id,t)}getSpawnInfo(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get spawn info before create");return ks(this.id)}getAnimation(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get animation before create");return w_(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to toggle callbacks before create");return P.toggleItemCallbacks(S.ACTOR,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:P.isToggleItemCallbacks(S.ACTOR,this.id)}static isValid=u_;static togglePlayerUpdate(t,i=!0){return P.toggleItemUpdate(t,S.ACTOR,i)}static hideForPlayer(t,i=-5e4){return P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?P.updateEx(t,a.x,a.y,a.z):P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Q.get(t)}static getInstances(){return[...Q.values()]}}L.onExit(({next:e})=>(ee.getInstances().forEach(t=>t.destroy()),Q.clear(),e()));const[Sf]=u({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:ee.getInstance(e),forPlayer:m.getInstance(t)}}}),[yf]=u({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:ee.getInstance(e),forPlayer:m.getInstance(t)}}}),[If]=u({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,n){return{player:m.getInstance(e),actor:ee.getInstance(t),amount:i,weapon:a,bodyPart:n}}}),Ef=Object.freeze({onStreamIn:Sf,onStreamOut:yf,onPlayerGiveDamage:If});class me{sourceInfo=null;_id=-1;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=me.getInstance(t);if(i)return i;this._id=t,fe.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[Streamer3DTextLabel]: Unable to create again");if(!this.sourceInfo)throw new Error("[Streamer3DTextLabel]: Unable to create with only id");let{attachedPlayer:t,attachedVehicle:i,testLos:a,streamDistance:n,worldId:r,interiorId:s,playerId:l,areaId:o,priority:d}=this.sourceInfo;const{charset:c,text:h,color:p,drawDistance:g,x:f,y,z:w,extended:O}=this.sourceInfo;return t??=T.PLAYER_ID,i??=T.VEHICLE_ID,n??=D.TEXT_3D_LABEL_SD,a??=!1,d??=0,O?(typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof l=="number"?l=[-1]:l??=[-1],typeof o=="number"?o=[-1]:o??=[-1],this._id=fm(h,E(p),f,y,w,g,t,i,a,n,r,s,l,o,d,c||"utf8")):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(l)?l=-1:l??=-1,Array.isArray(o)?o=-1:o??=-1,this._id=pm(c||"utf8",h,E(p),f,y,w,g,t,i,a,r,s,l,n,o,d)),fe.set(this.id,this),this}destroy(){if(this.id===-1&&!A.skip)throw new Error("[Streamer3DTextLabel]: Unable to destroy before create");return A.skip||d_(this.id),fe.delete(this.id),this._id=-1,this}isValid(){return A.skip&&this.id!==-1?!0:me.isValid(this.id)}getColor(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get color before create");return this.sourceInfo?this.sourceInfo.color:P.getIntData(S.TEXT_3D_LABEL,this._id,U.COLOR)}getCharset(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get charset before create");return this.sourceInfo?.charset}getText(){return Pm(this.id,this.sourceInfo?.charset||"utf8")}updateText(t,i,a){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to update text before create");let n="";return this.sourceInfo&&(n=a||this.sourceInfo.charset||"utf8",this.sourceInfo.charset=n),gm(this.id,E(t),i,n)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to toggle callbacks before create");return P.toggleItemCallbacks(S.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:P.isToggleItemCallbacks(S.TEXT_3D_LABEL,this.id)}setOffsets(t,i,a){if(this.id===-1)return 0;const n=P.setFloatData(S.TEXT_3D_LABEL,this.id,U.ATTACH_OFFSET_X,t);return P.setFloatData(S.TEXT_3D_LABEL,this.id,U.ATTACH_OFFSET_Y,i),P.setFloatData(S.TEXT_3D_LABEL,this.id,U.ATTACH_OFFSET_Z,a),this.sourceInfo&&(this.sourceInfo.x=t,this.sourceInfo.y=i,this.sourceInfo.z=a),n}attachToPlayer(t,i,a,n){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Cannot attachToPlayer before created");const r=typeof t=="number"?t:t.id,s=P.setIntData(S.TEXT_3D_LABEL,this.id,U.ATTACHED_PLAYER,r);return r!==T.PLAYER_ID&&this.setOffsets(i,a,n),this.sourceInfo&&(this.sourceInfo.attachedPlayer=r),s}attachToVehicle(t,i,a,n){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Cannot attachToVehicle before created");const r=typeof t=="number"?t:t.id,s=P.setIntData(S.TEXT_3D_LABEL,this.id,U.ATTACHED_VEHICLE,r);return r!==T.VEHICLE_ID&&this.setOffsets(i,a,n),this.sourceInfo&&(this.sourceInfo.attachedVehicle=r),s}static isValid=c_;static togglePlayerUpdate(t,i=!0){return P.toggleItemUpdate(t,S.TEXT_3D_LABEL,i)}static hideForPlayer(t,i=-5e4){return P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?P.updateEx(t,a.x,a.y,a.z):P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return fe.get(t)}static getInstances(){return[...fe.values()]}}L.onExit(({next:e})=>(me.getInstances().forEach(t=>t.destroy()),fe.clear(),e()));const[Af,Cf]=u({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Nf,Tf]=u({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});_e(({type:e,id:t,forPlayer:i,next:a})=>e===S.TEXT_3D_LABEL?Cf(i,me.getInstance(t)):a()),he(({type:e,id:t,forPlayer:i,next:a})=>e===S.TEXT_3D_LABEL?Tf(i,me.getInstance(t)):a());const Df=Object.freeze({onStreamIn:Af,onStreamOut:Nf});class G{sourceInfo=null;_id=-1;get type(){return this.sourceInfo?.type}get id(){return this._id}constructor(t){if(typeof t=="number"){const i=G.getInstance(t);if(i)return i;this._id=t,q.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerArea]: Unable to create with only id");let{worldId:t,interiorId:i,playerId:a}=this.sourceInfo;const{type:n,extended:r}=this.sourceInfo;if(r)if(typeof t=="number"?t=[-1]:t??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],n==="circle"){const{x:s,y:l,size:o}=this.sourceInfo;if(o<0)throw new Error("[StreamerArea]: Invalid circle extend size");this._id=Nh(s,l,o,t,i,a)}else if(n==="cuboid"){const{minX:s,minY:l,minZ:o,maxX:d,maxY:c,maxZ:h}=this.sourceInfo;this._id=wh(s,l,o,d,c,h,t,i,a)}else if(n==="cylinder"){const{x:s,y:l,minZ:o,maxZ:d,size:c}=this.sourceInfo;if(c<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=Th(s,l,o,d,c,t,i,a)}else if(n==="polygon"){const{points:s,minZ:l,maxZ:o}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=Rh(s,l,o,t,i,a)}else if(n==="rectangle"){const{minX:s,minY:l,maxX:o,maxY:d}=this.sourceInfo;this._id=vh(s,l,o,d,t,i,a)}else{const{x:s,y:l,z:o,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere extended size");this._id=Dh(s,l,o,d,t,i,a)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,n==="circle"){const{x:s,y:l,size:o}=this.sourceInfo;if(o<0)throw new Error("[StreamerArea]: Invalid circle size");this._id=R_(s,l,o,t,i,a)}else if(n==="cuboid"){const{minX:s,minY:l,minZ:o,maxX:d,maxY:c,maxZ:h}=this.sourceInfo;this._id=G_(s,l,o,d,c,h,t,i,a)}else if(n==="cylinder"){const{x:s,y:l,minZ:o,maxZ:d,size:c}=this.sourceInfo;if(c<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=L_(s,l,o,d,c,t,i,a)}else if(n==="polygon"){const{points:s,minZ:l,maxZ:o}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=F_(s,l,o,t,i,a)}else if(n==="rectangle"){const{minX:s,minY:l,maxX:o,maxY:d}=this.sourceInfo;this._id=O_(s,l,o,d,t,i,a)}else{const{x:s,y:l,z:o,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere size");this._id=b_(s,l,o,d,t,i,a)}return q.set(this._id,this),this}destroy(){if(this.id===-1&&!A.skip)throw new Error("[StreamerArea]: Unable to destroy the area before create");return A.skip||B_(this.id),q.delete(this.id),this._id=-1,this}isValid(){return A.skip&&this.id!==-1?!0:G.isValid(this.id)}getType(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to get type before create");return k_(this.id)}getPolygonPoints(){return M_(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 Wt(this.id)}isPlayerIn(t,i=!1){return this.id===-1?!1:V_(t.id,this.id,i)}static isPlayerInAny(t,i=!1){return H_(t.id,i)}isAnyPlayerIn(t=!1){return this.id===-1?!1:U_(this.id,t)}static isAnyPlayerInAny(t=!1){return W_(t)}static getPlayerAreas(t){return G.getPlayerAreasNumber(t)?j_(t.id).areas.map(i=>q.get(i)):[]}static getPlayerAreasNumber(t){return jt(t.id)}isPointIn(t,i,a){return this.id===-1?!1:K_(this.id,t,i,a)}static isPointInAny(t,i,a){return Z_(t,i,a)}isLineIn(t,i,a,n,r,s){return this.id===-1?!1:X_(this.id,t,i,a,n,r,s)}static isLineInAny(t,i,a,n,r,s){return Y_(t,i,a,n,r,s)}static getForPoint(t,i,a){return G.getNumberForPoint(t,i,a)?z_(t,i,a).areas.map(n=>G.getInstance(n)):[]}static getNumberForPoint(t,i,a){return Kt(t,i,a)}static getForLine(t,i,a,n,r,s){return G.getNumberForLine(t,i,a,n,r,s)?$_(t,i,a,n,r,s).areas.map(l=>q.get(l)):[]}static getNumberForLine(t,i,a,n,r,s){return Zt(t,i,a,n,r,s)}attachToObject(t,i=0,a=0,n=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to object before create");return J_(this.id,t.id,We.DYNAMIC,T.PLAYER_ID,i,a,n)}attachToPlayer(t,i=0,a=0,n=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to player before create");return Q_(this.id,t.id,i,a,n)}attachToVehicle(t,i=0,a=0,n=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to vehicle before create");return q_(this.id,t.id,i,a,n)}toggleSpectateMode(t){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle specate mode before create");return eh(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:th(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle callbacks before create");return P.toggleItemCallbacks(S.AREA,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:P.isToggleItemCallbacks(S.AREA,this.id)}static isValid=x_;static togglePlayerUpdate(t,i=!0){return P.toggleItemUpdate(t,S.AREA,i)}static hideForPlayer(t,i=-5e4){return P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?P.updateEx(t,a.x,a.y,a.z):P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return q.get(t)}static getInstances(){return[...q.values()]}}L.onExit(({next:e})=>(G.getInstances().forEach(t=>t.destroy()),q.clear(),e()));const[vf,wf]=u({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Rf,Lf]=u({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});_e(({type:e,id:t,forPlayer:i,next:a})=>e===S.AREA?wf(i,G.getInstance(t)):a()),he(({type:e,id:t,forPlayer:i,next:a})=>e===S.AREA?Lf(i,G.getInstance(t)):a());const[bf]=u({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),area:G.getInstance(t)}}}),[Of]=u({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),area:G.getInstance(t)}}}),Gf=Object.freeze({onStreamIn:vf,onStreamOut:Rf,onPlayerEnter:bf,onPlayerLeave:Of});class v{_id=T.PLAYER_ID;_name="";get id(){return this._id}constructor(t){if(this._id=samp.callNative("NPC_Create","s",t),this._name=t,this._id!==T.PLAYER_ID){new m(this._id);const i=v.getInstance(this._id);if(i)return i}return we.set(this._id,this),this}getName(){return this._name}destroy(){return A.skip||samp.callNative("NPC_Destroy","i",this._id),this}isValid(){return A.skip&&this._id!==-1?!0:v.isValid(this._id)}spawn(){return samp.callNative("NPC_Spawn","i",this._id),this}respawn(){return samp.callNative("NPC_Respawn","i",this._id),this}setPos(t,i,a){return samp.callNative("NPC_SetPos","ifff",this._id,t,i,a),this}setRot(t,i,a){return samp.callNative("NPC_SetRot","ifff",this._id,t,i,a),this}getRot(){const[t,i,a,n]=samp.callNative("NPC_GetRot","iFFF",this._id);return{rX:t,rY:i,rZ:a,ret:n}}setFacingAngle(t){return samp.callNative("NPC_SetFacingAngle","if",this._id,t),this}getFacingAngle(){const[t,i]=samp.callNative("NPC_GetFacingAngle","iF",this._id);return{angle:t,ret:i}}setVirtualWorld(t){return samp.callNative("NPC_SetVirtualWorld","ii",this._id,t),this}getVirtualWorld(){return samp.callNative("NPC_GetVirtualWorld","i",this._id)}move(t,i,a,n,r=pe.AUTO){return!!samp.callNative("NPC_Move","ifffif",this._id,t,i,a,n,r)}moveToPlayer(t,i,a=pe.AUTO){return!!samp.callNative("NPC_MoveToPlayer","iiif",this._id,t.id,i,a)}stopMove(){return samp.callNative("NPC_StopMove","i",this._id),this}isMoving(){return!!samp.callNative("NPC_IsMoving","i",this._id)}setSkin(t){return samp.callNative("NPC_SetSkin","ii",this._id,t),this}isStreamedIn(t){return!!samp.callNative("NPC_IsStreamedIn","ii",this._id,t.id)}isAnyStreamedIn(){return!!samp.callNative("NPC_IsAnyStreamedIn","i",this._id)}setInterior(t){return samp.callNative("NPC_SetInterior","ii",this._id,t),this}getInterior(){return samp.callNative("NPC_GetInterior","i",this._id)}setHealth(t){return samp.callNative("NPC_SetHealth","if",this._id,t),this}getHealth(){return samp.callNativeFloat("NPC_GetHealth","i",this._id)}setArmour(t){return samp.callNative("NPC_SetArmour","if",this._id,t),this}getArmour(){return samp.callNativeFloat("NPC_GetArmour","i",this._id)}isDead(){return!!samp.callNative("NPC_IsDead","i",this._id)}applyAnimation(t,i,a,n,r,s,l,o,d){return samp.callNative("NPC_ApplyAnimation","issfiiiiii",this._id,t,i,a,n,r,s,l,o,d),this}setWeapon(t){return samp.callNative("NPC_SetWeapon","ii",this._id,t),this}getWeapon(){return samp.callNative("NPC_GetWeapon","i",this._id)}setAmmo(t){return samp.callNative("NPC_SetAmmo","ii",this._id,t),this}getAmmo(){return samp.callNative("NPC_GetAmmo","i",this._id)}setKeys(t,i,a){return samp.callNative("NPC_SetKeys","iiii",this._id,t,i,a),this}getKeys(){const[t,i,a,n]=samp.callNative("NPC_GetKeys","iIII",this._id);return{upAndDown:t,leftAndDown:i,keys:a,ret:n}}setWeaponSkillLevel(t,i){return samp.callNative("NPC_SetWeaponSkillLevel","iii",this._id,t,i),this}getWeaponSkillLevel(t){return samp.callNative("NPC_GetWeaponSkillLevel","ii",this._id,t)}meleeAttack(t,i){return samp.callNative("NPC_MeleeAttack","iii",this._id,t,i),this}stopMeleeAttack(){return samp.callNative("NPC_StopMeleeAttack","i",this._id),this}isMeleeAttacking(){return!!samp.callNative("NPC_IsMeleeAttacking","i",this._id)}setFightingStyle(t){return samp.callNative("NPC_SetFightingStyle","ii",this._id,t),this}getFightingStyle(){return samp.callNative("NPC_GetFightingStyle","i",this._id)}enableReloading(t){return samp.callNative("NPC_EnableReloading","ii",this._id,t),this}isReloadEnabled(){return!!samp.callNative("NPC_IsReloadEnabled","i",this._id)}isReloading(){return!!samp.callNative("NPC_IsReloading","i",this._id)}enableInfiniteAmmo(t){return samp.callNative("NPC_EnableInfiniteAmmo","ii",this._id,t),this}isInfiniteAmmoEnabled(){return!!samp.callNative("NPC_IsInfiniteAmmoEnabled","i",this._id)}getWeaponState(){return samp.callNative("NPC_GetWeaponState","i",this._id)}setAmmoInClip(t){return samp.callNative("NPC_SetAmmoInClip","ii",this._id,t),this}getAmmoInClip(){return samp.callNative("NPC_GetAmmoInClip","i",this._id)}shoot(t,i,a,n,r,s,l,o,d,c,h=Ee.ALL){return samp.callNative("NPC_Shoot","iiiffffffii",this._id,t,i,a,n,r,s,l,o,d,c,h),this}isShooting(){return!!samp.callNative("NPC_IsShooting","i",this._id)}aimAt(t,i,a,n,r,s,l,o,d,c=Ee.ALL){return samp.callNative("NPC_AimAt","ifffiiifffi",this._id,t,i,a,n,r,s,l,o,d,c),this}aimAtPlayer(t,i,a,n,r,s,l,o,d,c,h=Ee.ALL){return samp.callNative("NPC_AimAtPlayer","iiiiiffffffi",this._id,t.id,i,a,n,r,s,l,o,d,c,h),this}stopAim(){return samp.callNative("NPC_StopAim","i",this._id),this}isAiming(){return!!samp.callNative("NPC_IsAiming","i",this._id)}isAimingAtPlayer(t){return!!samp.callNative("NPC_IsAimingAtPlayer","ii",this._id,t.id)}setWeaponAccuracy(t,i){return samp.callNative("NPC_SetWeaponAccuracy","iif",this._id,t,i),this}getWeaponAccuracy(t){return samp.callNativeFloat("NPC_GetWeaponAccuracy","ii",this._id,t)}setWeaponReloadTime(t,i){return samp.callNative("NPC_SetWeaponReloadTime","iii",this._id,t,i)}getWeaponReloadTime(t){return samp.callNative("NPC_GetWeaponReloadTime","ii",this._id,t)}getWeaponActualReloadTime(t){return samp.callNative("NPC_GetWeaponActualReloadTime","ii",this._id,t)}setWeaponShootTime(t,i){return samp.callNative("NPC_SetWeaponShootTime","iii",this._id,t,i)}getWeaponShootTime(t){return samp.callNative("NPC_GetWeaponShootTime","ii",this._id,t)}setWeaponClipSize(t,i){return samp.callNative("NPC_SetWeaponClipSize","iii",this._id,t,i)}getWeaponClipSize(t){return samp.callNative("NPC_GetWeaponClipSize","ii",this._id,t)}getWeaponActualClipSize(t){return samp.callNative("NPC_GetWeaponActualClipSize","ii",this._id,t)}enterVehicle(t,i,a){return samp.callNative("NPC_EnterVehicle","iiii",this._id,t.id,i,a),this}exitVehicle(){return samp.callNative("NPC_ExitVehicle","i",this._id),this}putInVehicle(t,i){return samp.callNative("NPC_PutInVehicle","iii",this._id,t.id,i)}removeFromVehicle(){return samp.callNative("NPC_RemoveFromVehicle","i",this._id)}getVehicle(){return C.getInstance(this.getVehicleID())}getVehicleID(){return samp.callNative("NPC_GetVehicle","i",this._id)}getVehicleSeat(){return samp.callNative("NPC_GetVehicleSeat","i",this._id)}getEnteringVehicle(){return C.getInstance(this.getEnteringVehicleId())}getEnteringVehicleId(){return samp.callNative("NPC_GetEnteringVehicle","i",this._id)}getEnteringVehicleSeat(){return samp.callNative("NPC_GetEnteringVehicleSeat","i",this._id)}isEnteringVehicle(){return!!samp.callNative("NPC_IsEnteringVehicle","i",this._id)}useVehicleSiren(t=!0){return samp.callNative("NPC_UseVehicleSiren","ii",this._id,t)}isVehicleSirenUsed(){return!!samp.callNative("NPC_IsVehicleSirenUsed","i",this._id)}setVehicleHealth(t){return samp.callNative("NPC_SetVehicleHealth","if",this._id,t)}getVehicleHealth(){return samp.callNativeFloat("NPC_GetVehicleHealth","i",this._id)}setVehicleHydraThrusters(t){return samp.callNative("NPC_SetVehicleHydraThrusters","ii",this._id,t)}getVehicleHydraThrusters(){return samp.callNative("NPC_GetVehicleHydraThrusters","i",this._id)}setVehicleGearState(t){return samp.callNative("NPC_SetVehicleGearState","ii",this._id,t)}getVehicleGearState(){return samp.callNative("NPC_GetVehicleGearState","i",this._id)}setVehicleTrainSpeed(t){return samp.callNative("NPC_SetVehicleTrainSpeed","if",this._id,t)}getVehicleTrainSpeed(){return samp.callNativeFloat("NPC_GetVehicleTrainSpeed","i",this._id)}resetAnimation(){return samp.callNative("NPC_ResetAnimation","i",this._id)}setAnimation(t,i,a,n,r,s,l){return samp.callNative("NPC_SetAnimation","iifiiiii",this._id,t,i,a,n,r,s,l)}getAnimation(){const[t,i,a,n,r,s,l,o]=samp.callNative("NPC_GetAnimation","iIFIIIII",this._id);return{animationId:t,delta:i,loop:!!a,lockX:!!n,lockY:!!r,freeze:!!s,time:l,ret:o}}clearAnimations(){return samp.callNative("NPC_ClearAnimations","i",this._id)}setSpecialAction(t){return samp.callNative("NPC_SetSpecialAction","ii",this._id,t)}getSpecialAction(){return samp.callNative("NPC_SetSpecialAction","i",this._id)}startPlayback(t,i,a,n,r,s,l,o){return samp.callNative("NPC_StartPlayback","isiffffff",this._id,t,i,a,n,r,s,l,o)}startPlaybackEx(t,i,a,n,r,s,l,o){return samp.callNative("NPC_StartPlaybackEx","iiiffffff",this._id,t.id,i,a,n,r,s,l,o)}stopPlayback(){return samp.callNative("NPC_StopPlayback","i",this._id)}pausePlayback(t){return samp.callNative("NPC_PausePlayback","ii",this._id,t)}isPlayingPlayback(){return!!samp.callNative("NPC_IsPlayingPlayback","i",this._id)}isPlaybackPaused(){return!!samp.callNative("NPC_IsPlaybackPaused","i",this._id)}playNode(t,i=Ve.JOG,a=pe.AUTO,n=0,r=!0){return!!samp.callNative("NPC_PlayNode","iiiffi",this._id,t.id,i,a,n,r)}stopPlayingNode(){return!!samp.callNative("NPC_StopPlayingNode","i",this._id)}pausePlayingNode(){return!!samp.callNative("NPC_PausePlayingNode","i",this._id)}resumePlayingNode(){return!!samp.callNative("NPC_ResumePlayingNode","i",this._id)}isPlayingNodePaused(){return!!samp.callNative("NPC_IsPlayingNodePaused","i",this._id)}isPlayingNode(){return!!samp.callNative("NPC_IsPlayingNode","i",this._id)}changeNode(t,i){return samp.callNative("NPC_ChangeNode","iii",this._id,t.id,i)}updateNodePoint(t){return!!samp.callNative("NPC_UpdateNodePoint","ii",this._id,t)}setInvulnerable(t){return samp.callNative("NPC_SetInvulnerable","ii",this._id,t)}isInvulnerable(){return!!samp.callNative("NPC_IsInvulnerable","i",this._id)}setSurfingOffsets(t,i,a){return samp.callNative("NPC_SetSurfingOffsets","ifff",this._id,t,i,a)}getSurfingOffsets(){const[t,i,a,n]=samp.callNative("NPC_GetSurfingOffsets","iFFF",this._id);return{x:t,y:i,z:a,ret:n}}setSurfingVehicle(t){return samp.callNative("NPC_SetSurfingVehicle","ii",this._id,t.id)}getSurfingVehicle(){return C.getInstance(this.getSurfingVehicleId())}getSurfingVehicleId(){return samp.callNative("NPC_GetSurfingVehicle","i",this._id)}setSurfingPlayerObject(t){return samp.callNative("NPC_SetSurfingPlayerObject","ii",this._id,t)}getSurfingPlayerObject(){return samp.callNative("NPC_GetSurfingPlayerObject","i",this._id)}resetSurfingData(){return samp.callNative("NPC_ResetSurfingData","i",this._id)}setSurfingDynamicObject(t){return this.setSurfingPlayerObject(P.getItemInternalID(new m(this._id),S.OBJECT,t.id))}getSurfingDynamicObject(){return B.getInstance(this.getSurfingDynamicObjectId())}getSurfingDynamicObjectId(){return P.getItemStreamerID(new m(this._id),S.OBJECT,this.getSurfingPlayerObject())}static startRecordingPlayerData(t,i,a){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");ls(t.id,i,a),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)throw new Error("[NpcFunc]: It should be started before stop");os(t.id),t.isRecording=!1}static isValid(t){return!!samp.callNative("NPC_IsValid","i",t)}static getInstance(t){return we.get(t)}static getInstances(){return[...we.values()]}}class Be{_filePath="";_id=-1;get id(){return this._id}get filePath(){return this._filePath}constructor(t){if(typeof t=="string"?(this._filePath=t,this._id=samp.callNative("NPC_LoadRecord","s",this._filePath)):this._id=t,ne.has(this._id))return ne.get(this._id)}unload(){const t=!!samp.callNative("NPC_UnloadRecord","i",this._id);return t&&(this._id=-1,this._filePath="",ne.delete(this._id)),t}isValid(){return Be.isValid(this._id)}static isValid(t){return!!samp.callNative("NPC_IsValidRecord","i",t)}static getCount(){return samp.callNative("NPC_GetRecordCount","")}static unloadAll(){const t=!!samp.callNative("NPC_UnloadAllRecords","");return t&&ne.clear(),t}static getInstance(t){return ne.get(t)}static getInstances(){return[...ne.values()]}}class Fe{_id=-1;get id(){return this._id}constructor(t){if(K.has(this._id))return K.get(this._id);this._id=t,K.set(this._id,this)}open(){samp.callNative("NPC_OpenNode","i",this._id)&&!K.has(this._id)&&K.set(this._id,this)}close(){const t=!!samp.callNative("NPC_CloseNode","i",this._id);return t&&K.delete(this._id),t}isOpen(){return!!samp.callNative("NPC_IsNodeOpen","i",this._id)}getType(){return samp.callNative("NPC_GetNodeType","i",this._id)}setPoint(t){return!!samp.callNative("NPC_SetNodePoint","ii",this._id,t)}getPointPosition(){const[t,i,a,n]=samp.callNative("NPC_GetNodePointPosition","iFFF",this._id);return{x:t,y:i,z:a,ret:!!n}}getPointCount(){return samp.callNative("NPC_GetNodePointCount","i",this._id)}getInfo(){const[t,i,a,n]=samp.callNative("NPC_GetNodeInfo","iIII",this._id);return{vehNodes:t,pedNodes:i,naviNode:a,ret:!!n}}static getInstance(t){return K.get(t)}static getInstances(){return[...K.values()]}}class xe{_id=-1;get id(){return this._id}constructor(t){if(typeof t<"u"){if(ae.has(t))return ae.get(t);this._id=t}else this._id=samp.callNative("NPC_CreatePath","")}destroy(){const t=!!samp.callNative("NPC_DestroyPath","i",this._id);return t&&(this._id=-1,ae.delete(this._id)),t}addPoint(t,i,a,n){return!!samp.callNative("NPC_AddPointToPath","iffff",this._id,t,i,a,n)}removePoint(t){return!!samp.callNative("NPC_RemovePointFromPath","ii",this._id,t)}clear(){return!!samp.callNative("NPC_ClearPath","i",this._id)}getPointCount(){return samp.callNative("NPC_GetPathPointCount","i",this._id)}getPoint(t){const[i,a,n,r,s]=samp.callNative("NPC_GetPathPoint","ii",this._id,t);return{x:i,y:a,z:n,stopRange:r,ret:s}}isValid(){return xe.isValid(this._id)}getCurrentPointIndex(){return samp.callNative("NPC_GetCurrentPathPointIndex","i",this._id)}move(t=Ve.JOG,i=pe.AUTO,a=!1){return!!samp.callNative("NPC_MoveByPath","iiifi",this._id,this._id,t,i,a)}hasPointInRadius(t,i,a,n){return!!samp.callNative("NPC_HasPathPointInRange","iiffff",this._id,this._id,t,i,a,n)}static destroyAll(){const t=!!samp.callNative("NPC_DestroyAllPath","");return t&&ae.clear(),t}static getCount(){return samp.callNative("NPC_GetPathCount","")}static isValid(t){return!!samp.callNative("NPC_IsValidPath","i",t)}static getInstance(t){return ae.get(t)}static getInstances(){return[...ae.values()]}}L.onExit(({next:e})=>(we.clear(),K.clear(),ae.clear(),ne.clear(),e()));const[Ff]=u({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:I.decodeFromBuf(t)}}}),[Bf]=u({name:"OnNPCFinishMove",beforeEach(e){return{npc:v.getInstance(e)}}}),[xf]=u({name:"OnNPCCreate",beforeEach(e){return{npc:v.getInstance(e)}}}),[kf]=u({name:"OnNPCDestroy",beforeEach(e){return{npc:v.getInstance(e)}},afterEach({npc:e}){we.delete(e.id)}}),[Mf]=u({name:"OnNPCWeaponStateChange",beforeEach(e,t,i){return{npc:v.getInstance(e),newState:t,oldState:i}}}),[Vf]=u({name:"OnNPCTakeDamage",beforeEach(e,t,i,a,n){return{npc:v.getInstance(e),damager:m.getInstance(t),damage:i,weapon:a,bodyPart:n}}}),[Hf]=u({name:"OnNPCGiveDamage",beforeEach(e,t,i,a,n){return{npc:v.getInstance(e),damager:m.getInstance(t),damage:i,weapon:a,bodyPart:n}}}),[Uf]=u({name:"OnNPCDeath",beforeEach(e,t,i){return{npc:v.getInstance(e),killer:t,reason:i}}}),[Wf]=u({name:"OnNpcSpawn",beforeEach(e){return{npc:v.getInstance(e)}}}),[jf]=u({name:"OnNpcRespawn",beforeEach(e){return{npc:v.getInstance(e)}}}),[Kf]=u({name:"OnNPCPlaybackStart",beforeEach(e,t){return{npc:v.getInstance(e),record:Be.getInstance(t),recordId:t}}}),[Zf]=u({name:"OnNPCPlaybackEnd",beforeEach(e,t){return{npc:v.getInstance(e),record:Be.getInstance(t),recordId:t}}}),[Xf]=u({name:"OnNPCWeaponShot",beforeEach(e,t,i,a,n,r,s){return{npc:v.getInstance(e),weapon:t,hitType:i,hitId:a,fX:n,fY:r,fZ:s}}}),[Yf]=u({name:"OnNPCFinishNodePoint",beforeEach(e,t,i){return{npc:v.getInstance(e),node:Fe.getInstance(t),nodeId:t,pointId:i}}}),[zf]=u({name:"OnNPCFinishNode",beforeEach(e,t){return{npc:v.getInstance(e),node:Fe.getInstance(t),nodeId:t}}}),[$f]=u({name:"OnNPCChangeNode",beforeEach(e,t,i){return{npc:v.getInstance(e),newNode:Fe.getInstance(t),oldNode:Fe.getInstance(i),newNodeId:t,oldNodeId:i}}}),[Jf]=u({name:"OnNPCFinishMovePath",beforeEach(e,t){return{npc:v.getInstance(e),path:xe.getInstance(t),pathId:t}}}),[Qf]=u({name:"OnNPCFinishMovePathPoint",beforeEach(e,t,i){return{npc:v.getInstance(e),path:xe.getInstance(t),pathId:t,pointIndex:i}}}),qf=Object.freeze({onClientMessage:Ff,onFinishMove:Bf,onCreate:xf,onDestroy:kf,onSpawn:Wf,onRespawn:jf,onWeaponStateChange:Mf,onTakeDamage:Vf,onGiveDamage:Hf,onDeath:Uf,onPlaybackStart:Kf,onPlaybackEnd:Zf,onWeaponShot:Xf,onFinishNodePoint:Yf,onFinishNode:zf,onChangeNode:$f,onFinishMovePath:Jf,onFinishMovePathPoint:Qf});class eg{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return $a()}static getPlayerNetworkStats(t){return za(t.id)}static getBytesReceived(t){return ka(t.id)}static getBytesSent(t){return Va(t.id)}static getConnectionStatus(t){return Wa(t.id)}static getConnectedTime(t){return Ba(t.id)}static getIpPort(t){return ja(t.id)}static getMessagesReceived(t){return xa(t.id)}static getMessagesRecvPerSecond(t){return Ha(t.id)}static getMessagesSent(t){return Ma(t.id)}static getPacketLossPercent(t){return Ua(t.id)}}class tg{_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,i,a){this._text=t,this._time=i,this._style=a}static hideForAll(t){ea(t)}static has(t,i){return Gn(t.id,i)}forAll(t="win1252"){qi(I.encodeToBuf(I.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,i="win1252"){On(t.id,I.encodeToBuf(I.convertSpecialChar(this.text),i),this.time,this.style)}hideForPlayer(t){return Bn(t.id,this.style)}}class Se{_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,i,a,n,r,s){this._title=t,this.columns=i,this._x=a,this._y=n,this._col1width=r,this._col2width=s}create(){if(this._id!==-1)throw new Error("[Menu]: Cannot be created twice");if(Se.getInstances().length===V.MAX_MENUS)throw new Error("[Menu]: The maximum number of menus allowed to be created has been reached 128");return this._id=Ro(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),ve.set(this._id,this),this}destroy(){if(this._id===-1)throw new Error("[Menu]: Cannot destroy before create");return A.skip||Lo(this.id),ve.delete(this._id),this._id=-1,this}addItem(t,i){if(this._id===-1)throw new Error("[Menu]: Cannot addItem before create");if(this._itemCount===V.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 bo(this.id,t,i),this._itemCount++,this}setColumnHeader(t,i){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 Oo(this.id,t,i),this}disable(){if(this._id===-1)throw new Error("[Menu]: Cannot disable menu before create");return xo(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");ko(this.id,t)}isValid(){return A.skip&&this.id!==-1?!0:Se.isValid(this.id)}showForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot show menu before create");return Go(this.id,t.id)}hideForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot hide menu before create");return Fo(this.id,t.id)}isDisabled(){return this._id===-1?!1:Ao(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:Co(this.id,t)}getItems(t){return this._id===-1?0:No(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:To(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:Do(this.id)}getColumnHeader(t){if(this._id===-1)throw new Error("[Menu]: Cannot get column header before create");return vo(this.id,t)}getItem(t,i){if(this._id===-1)throw new Error("[Menu]: Cannot get item before create");if(i<0||i>this.getItems(t)-1)throw new Error("[Menu]: invalid getItem range");return wo(this.id,t,i)}static isValid=Bo;static getInstance(t){return ve.get(t)}static getInstances(){return[...ve.values()]}static getInstanceByPlayer(t){return this.getInstances().find(i=>i.id===Mo(t.id))}}L.onExit(({next:e})=>(Se.getInstances().forEach(t=>t.destroy()),ve.clear(),e()));const[ig]=u({name:"OnPlayerExitedMenu",beforeEach(e){return{player:m.getInstance(e)}}}),[ag]=u({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const i=m.getInstance(e),a=Se.getInstanceByPlayer(i);return{player:i,menu:a,row:t}}}),ng=Object.freeze({onPlayerExited:ig,onPlayerSelectedRow:ag});class b{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 again");const{player:t}=this.sourceInfo;if(t){if(b.getInstances(!1).length===V.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:i,minY:a,maxX:n,maxY:r}=this.sourceInfo;this._id=nd(t.id,i,a,n,r);const s=it.onDisconnect(({player:l,next:o})=>{o(),l===this.sourceInfo.player&&(this.isValid()&&this.destroy(),s())});De.set(this.id,this)}else{if(b.getInstances(!0).length===V.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:i,minY:a,maxX:n,maxY:r}=this.sourceInfo;this._id=Yo(i,a,n,r),Te.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?(A.skip||rd(t.id,this.id),De.delete(this.id)):(A.skip||zo(this.id),Te.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 Jo(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be show for all.")}showForPlayer(t,i){if(this.id===-1)throw new Error("[GangZone]: Unable to show the gangzone before create");const a=this.sourceInfo.player;if(a)sd(a.id,this.id,E(t));else if(i)$o(i.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 qo(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 i=this.sourceInfo.player;if(i)ld(i.id,this.id);else if(t)Qo(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 td(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be flash for all.")}flashForPlayer(t,i){if(this.id===-1)throw new Error("[GangZone]: Unable to flash the gangzone before create");const a=this.sourceInfo.player;if(a)od(a.id,this.id,E(i));else if(t)ed(t.id,this.id,i);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 ad(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 i=this.sourceInfo.player;if(i)dd(i.id,this.id);else if(t)id(t.id,this.id);else throw new Error("[GangZone]: invalid player for flash");return this}isValid(){if(A.skip&&this.id!==-1)return!0;if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?b.isValidPlayer(t.id,this.id):b.isValidGlobal(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const i=this.sourceInfo.player;return i?_d(i.id,this.id):Ho(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const i=this.sourceInfo.player;return i?hd(i.id,this.id):Uo(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get color before create");const i=this.sourceInfo.player;return i?ud(i.id,this.id):Wo(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get flash color before create");const i=this.sourceInfo.player;return i?md(i.id,this.id):jo(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const i=this.sourceInfo.player;return i?pd(i.id,this.id):Ko(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?fd(t.id,this.id):Zo(this.id)}useCheck(t){if(this.id===-1)throw new Error("[GangZone]: Unable to use check before create");const i=this.sourceInfo.player;return i?gd(i.id,this.id,t):Xo(this.id,t),this}static isValidPlayer=cd;static isValidGlobal=Vo;static getInstance(t,i){return i?Te.get(t):De.get(t)}static getInstances(t){return t?[...Te.values()]:[...De.values()]}}L.onExit(({next:e})=>(b.getInstances(!0).forEach(t=>t.destroy()),b.getInstances(!1).forEach(t=>t.destroy()),Te.clear(),De.clear(),e()));const[rg]=u({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:b.getInstance(t,!0)}}}),[sg]=u({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:b.getInstance(t,!0)}}}),[lg]=u({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:b.getInstance(t,!1)}}}),[og]=u({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:b.getInstance(t,!1)}}}),[dg]=u({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:b.getInstance(t,!0)}}}),[cg]=u({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:b.getInstance(t,!1)}}}),_g=Object.freeze({onPlayerEnterGlobal:rg,onPlayerLeaveGlobal:sg,onPlayerEnterPlayer:lg,onPlayerLeavePlayer:og,onPlayerClickGlobal:dg,onPlayerClickPlayer:cg});class _{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 again");const{x:t,y:i,text:a,player:n,charset:r="iso-8859-1"}=this.sourceInfo,s=I.encodeToBuf(I.convertSpecialChar(a),r);if(n){if(_.getInstances(!1).length===V.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=_.__inject__CreatePlayerTextDraw(n.id,t,i,s);const l=it.onDisconnect(({player:o,next:d})=>{const c=d();return o===n&&(this.isValid()&&this.destroy(),l()),c});Le.set(this.id,this)}else{if(_.getInstances(!0).length===V.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=_.__inject__TextDrawCreate(t,i,s),Re.set(this.id,this)}return this}destroy(){this.id===-1&&_.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(A.skip||_.__inject__PlayerTextDrawDestroy(t.id,this.id),Le.delete(this.id)):(A.skip||_.__inject__TextDrawDestroy(this.id),Re.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return _.beforeCreateWarn("set font"),this;const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawFont(i.id,this.id,t):_.__inject__TextDrawFont(this.id,t),this}setColor(t){if(this.id===-1)return _.beforeCreateWarn("set color"),this;const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawColor(i.id,this.id,t):_.__inject__TextDrawColor(this.id,t),this}setBoxColors(t){if(this.id===-1)return _.beforeCreateWarn("set box color"),this;const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawBoxColor(i.id,this.id,t):_.__inject__TextDrawBoxColor(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return _.beforeCreateWarn("set background color"),this;const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawBackgroundColor(i.id,this.id,t):_.__inject__TextDrawBackgroundColor(this.id,t),this}setAlignment(t){if(this.id===-1)return _.beforeCreateWarn("set alignment"),this;const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawAlignment(i.id,this.id,t):_.__inject__TextDrawAlignment(this.id,t),this}setLetterSize(t,i){if(this.id===-1)return _.beforeCreateWarn("set letter size"),this;const{player:a}=this.sourceInfo;return a?_.__inject__PlayerTextDrawLetterSize(a.id,this.id,t,i):_.__inject__TextDrawLetterSize(this.id,t,i),this}setOutline(t){if(this.id===-1)return _.beforeCreateWarn("set outline model"),this;if(t<0)throw new Error("[TextDraw]: Invalid outline value");const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawSetOutline(i.id,this.id,t):_.__inject__TextDrawSetOutline(this.id,t),this}setPreviewModel(t){if(this.id===-1)return _.beforeCreateWarn("set preview model"),this;this.setFont(Ne.MODEL_PREVIEW);const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawSetPreviewModel(i.id,this.id,t):_.__inject__TextDrawSetPreviewModel(this.id,t),this}setPreviewRot(t,i,a,n=1){if(this.id===-1)return _.beforeCreateWarn("set preview rot"),this;this.setFont(Ne.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?_.__inject__PlayerTextDrawSetPreviewRot(r.id,this.id,t,i,a,n):_.__inject__TextDrawSetPreviewRot(this.id,t,i,a,n),this}setPreviewVehColors(t,i){if(this.id===-1)return _.beforeCreateWarn("set preview veh col"),this;this.setFont(Ne.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?_.__inject__PlayerTextDrawSetPreviewVehicleColors(a.id,this.id,t,i):_.__inject__TextDrawSetPreviewVehicleColors(this.id,t,i),this}setProportional(t=!0){if(this.id===-1)return _.beforeCreateWarn("set Proportional"),this;const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawSetProportional(i.id,this.id,t):_.__inject__TextDrawSetProportional(this.id,t),this}setSelectable(t){if(this.id===-1)return _.beforeCreateWarn("set Selectable"),this;const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawSetSelectable(i.id,this.id,t):_.__inject__TextDrawSetSelectable(this.id,t),this}setShadow(t){if(this.id===-1)return _.beforeCreateWarn("set shadow"),this;if(t<0)throw new Error("[TextDraw]: Invalid shadow value");const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawSetShadow(i.id,this.id,t):_.__inject__TextDrawSetShadow(this.id,t),this}setString(t,i){if(this.id===-1)return _.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)throw new Error("[TextDraw]: Invalid text length");const{player:a,charset:n="iso-8859-1"}=this.sourceInfo,r=I.encodeToBuf(I.convertSpecialChar(t),n);return a?_.__inject__PlayerTextDrawSetString(a.id,this.id,r):i?_.__inject__TextDrawSetStringForPlayer(this.id,i.id,r):_.__inject__TextDrawSetString(this.id,r),this}setTextSize(t,i){if(this.id===-1)return _.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?_.__inject__PlayerTextDrawTextSize(a.id,this.id,t,i):_.__inject__TextDrawTextSize(this.id,t,i),this}useBox(t){if(this.id===-1)return _.beforeCreateWarn("set TextSize"),this;const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawUseBox(i.id,this.id,t):_.__inject__TextDrawUseBox(this.id,t),this}static beforeCreateWarn(t){throw new Error(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return _.beforeCreateWarn("show"),this;const i=this.sourceInfo.player;if(i)_.__inject__PlayerTextDrawShow(i.id,this.id);else if(t)_.__inject__TextDrawShowForPlayer(t.id,this.id);else throw new Error("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return _.beforeCreateWarn("hide"),this;const i=this.sourceInfo.player;if(i)_.__inject__PlayerTextDrawHide(i.id,this.id);else if(t)_.__inject__TextDrawHideForPlayer(t.id,this.id);else throw new Error("[TextDraw]: invalid player for hide");return this}showAll(){if(this.id===-1)return _.beforeCreateWarn("show"),this;if(!this.sourceInfo.player)return _.__inject__TextDrawShowForAll(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be show for all.")}hideAll(){if(this.id===-1)return _.beforeCreateWarn("hideAll"),this;if(!this.sourceInfo.player)return _.__inject__TextDrawHideForAll(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be hide for all.")}isValid(){if(A.skip&&this.id!==-1)return!0;const t=this.sourceInfo.player;return t?_.__inject__IsValidPlayerTextDraw(t.id,this.id):_.__inject__IsValidTextDraw(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:i}=this.sourceInfo;return i?_.__inject__IsPlayerTextDrawVisible(i.id,this.id):t?_.__inject__IsTextDrawVisibleForPlayer(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetString(t.id,this.id).str:_.__inject__TextDrawGetString(this.id).str}setPos(t,i){if(this.id===-1)return _.beforeCreateWarn("set position"),this;const a=this.sourceInfo.player;return a?_.__inject__PlayerTextDrawSetPos(a.id,this.id,t,i):_.__inject__TextDrawSetPos(this.id,t,i),this}getLetterSize(){if(this.id===-1)return _.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetLetterSize(t.id,this.id):_.__inject__TextDrawGetLetterSize(this.id)}getTextSize(){if(this.id===-1)return _.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetTextSize(t.id,this.id):_.__inject__TextDrawGetTextSize(this.id)}getPos(){if(this.id===-1)return _.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetPos(t.id,this.id):_.__inject__TextDrawGetPos(this.id)}getColor(){if(this.id===-1)return _.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetColor(t.id,this.id):_.__inject__TextDrawGetColor(this.id)}getBoxColor(){if(this.id===-1)return _.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetBoxColor(t.id,this.id):_.__inject__TextDrawGetBoxColor(this.id)}getBackgroundColor(){if(this.id===-1)return _.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetBackgroundColor(t.id,this.id):_.__inject__TextDrawGetBackgroundColor(this.id)}getShadow(){if(this.id===-1)return _.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetShadow(t.id,this.id):_.__inject__TextDrawGetShadow(this.id)}getOutline(){if(this.id===-1)return _.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetOutline(t.id,this.id):_.__inject__TextDrawGetOutline(this.id)}getFont(){if(this.id===-1)return _.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetFont(t.id,this.id):_.__inject__TextDrawGetFont(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawIsBox(t.id,this.id):_.__inject__TextDrawIsBox(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawIsProportional(t.id,this.id):_.__inject__TextDrawIsProportional(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawIsSelectable(t.id,this.id):_.__inject__TextDrawIsSelectable(this.id)}getAlignment(){if(this.id===-1)return _.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetAlignment(t.id,this.id):_.__inject__TextDrawGetAlignment(this.id)}getPreviewModel(){if(this.id===-1)return _.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetPreviewModel(t.id,this.id):_.__inject__TextDrawGetPreviewModel(this.id)}getPreviewRot(){if(this.id===-1)return _.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetPreviewRot(t.id,this.id):_.__inject__TextDrawGetPreviewRot(this.id)}getPreviewVehColors(){if(this.id===-1)return _.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetPreviewVehicleColors(t.id,this.id):_.__inject__TextDrawGetPreviewVehicleColors(this.id)}isGlobal(){return!!this.sourceInfo.player}static getInstance(t,i){return i?Re.get(t):Le.get(t)}static getInstances(t){return t?[...Re.values()]:[...Le.values()]}static __inject__TextDrawCreate=Md;static __inject__CreatePlayerTextDraw=wc;static __inject__TextDrawDestroy=Vd;static __inject__PlayerTextDrawDestroy=Rc;static __inject__TextDrawFont=$d;static __inject__PlayerTextDrawFont=Vc;static __inject__TextDrawColor=jd;static __inject__PlayerTextDrawColor=Gc;static __inject__TextDrawBoxColor=Zd;static __inject__PlayerTextDrawBoxColor=Bc;static __inject__TextDrawBackgroundColor=zd;static __inject__PlayerTextDrawBackgroundColor=Mc;static __inject__TextDrawAlignment=Wd;static __inject__PlayerTextDrawAlignment=Oc;static __inject__TextDrawLetterSize=Hd;static __inject__PlayerTextDrawLetterSize=Lc;static __inject__TextDrawSetOutline=Yd;static __inject__PlayerTextDrawSetOutline=kc;static __inject__TextDrawSetPreviewModel=nc;static __inject__PlayerTextDrawSetPreviewModel=Zc;static __inject__TextDrawSetPreviewRot=rc;static __inject__PlayerTextDrawSetPreviewRot=Xc;static __inject__TextDrawSetPreviewVehicleColors=sc;static __inject__PlayerTextDrawSetPreviewVehicleColors=Yc;static __inject__TextDrawSetProportional=Jd;static __inject__PlayerTextDrawSetProportional=Hc;static __inject__TextDrawSetSelectable=Qd;static __inject__PlayerTextDrawSetSelectable=Uc;static __inject__TextDrawSetShadow=Xd;static __inject__PlayerTextDrawSetShadow=xc;static __inject__PlayerTextDrawSetString=Kc;static __inject__TextDrawSetStringForPlayer=kd;static __inject__TextDrawSetString=ac;static __inject__TextDrawTextSize=Ud;static __inject__PlayerTextDrawTextSize=bc;static __inject__PlayerTextDrawUseBox=Fc;static __inject__TextDrawUseBox=Kd;static __inject__PlayerTextDrawShow=Wc;static __inject__TextDrawShowForPlayer=qd;static __inject__PlayerTextDrawHide=jc;static __inject__TextDrawHideForPlayer=ec;static __inject__TextDrawShowForAll=tc;static __inject__TextDrawHideForAll=ic;static __inject__IsValidPlayerTextDraw=dc;static __inject__IsValidTextDraw=Pd;static __inject__IsPlayerTextDrawVisible=cc;static __inject__IsTextDrawVisibleForPlayer=Sd;static __inject__PlayerTextDrawGetString=_c;static __inject__TextDrawGetString=yd;static __inject__PlayerTextDrawSetPos=hc;static __inject__TextDrawSetPos=Id;static __inject__PlayerTextDrawGetLetterSize=uc;static __inject__TextDrawGetLetterSize=Ed;static __inject__PlayerTextDrawGetTextSize=mc;static __inject__TextDrawGetTextSize=Ad;static __inject__PlayerTextDrawGetPos=pc;static __inject__TextDrawGetPos=Cd;static __inject__PlayerTextDrawGetColor=fc;static __inject__TextDrawGetColor=Nd;static __inject__PlayerTextDrawGetBoxColor=gc;static __inject__TextDrawGetBoxColor=Td;static __inject__PlayerTextDrawGetBackgroundColor=Pc;static __inject__TextDrawGetBackgroundColor=Dd;static __inject__PlayerTextDrawGetShadow=Sc;static __inject__TextDrawGetShadow=vd;static __inject__PlayerTextDrawGetOutline=yc;static __inject__TextDrawGetOutline=wd;static __inject__PlayerTextDrawGetFont=Ic;static __inject__TextDrawGetFont=Rd;static __inject__PlayerTextDrawIsBox=Ec;static __inject__TextDrawIsBox=Ld;static __inject__PlayerTextDrawIsProportional=Ac;static __inject__TextDrawIsProportional=bd;static __inject__PlayerTextDrawIsSelectable=Cc;static __inject__TextDrawIsSelectable=Od;static __inject__PlayerTextDrawGetAlignment=Nc;static __inject__TextDrawGetAlignment=Gd;static __inject__PlayerTextDrawGetPreviewModel=Tc;static __inject__TextDrawGetPreviewModel=Fd;static __inject__PlayerTextDrawGetPreviewRot=Dc;static __inject__TextDrawGetPreviewRot=Bd;static __inject__TextDrawGetPreviewVehicleColors=xd;static __inject__PlayerTextDrawGetPreviewVehicleColors=vc}L.onExit(({next:e})=>(_.getInstances(!0).forEach(t=>t.destroy()),_.getInstances(!1).forEach(t=>t.destroy()),Re.clear(),Le.clear(),e()));const[hg]=u({name:"OnPlayerClickTextDraw",defaultValue:!1,beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===T.TEXT_DRAW?t:_.getInstance(t,!0)}}}),[ug]=u({name:"OnPlayerClickPlayerTextDraw",defaultValue:!1,beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===T.TEXT_DRAW?t:_.getInstance(t,!1)}}}),mg=Object.freeze({onPlayerClickGlobal:hg,onPlayerClickPlayer:ug});function pg(e,t){return(e&t)===t}function fg(e,t,i){return(e&i)===i&&(t&i)!==i}function gg(e,t){return!!(e&t)}function Pg(e,t,i){return(e&i)!==i&&(t&i)===i}function Sg(e){const t=new Set,i=e.prototype,a=Object.getOwnPropertyNames(i).filter(r=>typeof i[r]=="function"&&r!=="constructor").reduce((r,s)=>(r[s]=i[s],r),{});function n(r,s){if(t.has(r))throw new Error(`Method '${String(r)}' of class '${e.name}' has already been hooked. Each method can only be hooked once per defineHooks call. `);if(typeof Reflect.get(i,r)!="function")throw new Error(`Invalid method: ${String(r)}`);return Reflect.set(i,r,s),t.add(r),s}return[a,n]}exports.ArtworkEnum=pt,exports.BodyPartsEnum=wt,exports.BoneIdsEnum=Rt,exports.BulletHitTypesEnum=kt,exports.CameraCutStylesEnum=Ae,exports.CameraModesEnum=vt,exports.CarModTypeEnum=Ot,exports.ClickSourcesEnum=ft,exports.ConnectionStatusEnum=Pt,exports.DamageDeathReasonEnum=$e,exports.Dialog=R,exports.DialogStylesEnum=Ye,exports.Dynamic3DTextLabel=me,exports.Dynamic3DTextLabelEvent=Df,exports.DynamicActor=ee,exports.DynamicActorEvent=Ef,exports.DynamicArea=G,exports.DynamicAreaEvent=Gf,exports.DynamicCheckPointEvent=_f,exports.DynamicCheckpoint=z,exports.DynamicMapIcon=ue,exports.DynamicMapIconEvent=Jp,exports.DynamicObject=B,exports.DynamicObjectEvent=Zp,exports.DynamicPickup=k,exports.DynamicPickupEvent=nf,exports.DynamicRaceCP=$,exports.DynamicRaceCPEvent=Pf,exports.E_STREAMER=U,exports.EditResponseTypesEnum=gt,exports.FightingStylesEnum=Tt,exports.ForceSyncEnum=Lt,exports.GameMode=L,exports.GameText=tg,exports.GangZone=b,exports.GangZoneEvent=_g,exports.I18n=I,exports.InvalidEnum=T,exports.KeysEnum=St,exports.LimitsEnum=V,exports.MapIconStyles=je,exports.MapIconStylesEnum=Dt,exports.MarkerModesEnum=yt,exports.MaterialTextAlign=Ut,exports.MaterialTextSizes=Je,exports.Menu=Se,exports.MenuEvent=ng,exports.NPCEntityCheckEnum=Ee,exports.NPCMoveSpeedEnum=pe,exports.NPCMoveTypeEnum=Ve,exports.NPCPlaybackEnum=It,exports.NPCRecordStatusEnum=Et,exports.NetStats=eg,exports.Npc=v,exports.NpcEvent=qf,exports.NpcNode=Fe,exports.NpcPath=xe,exports.NpcRecord=Be,exports.ObjectMaterialAlignmentEnum=Ct,exports.ObjectMaterialTextSizeEnum=At,exports.Player=m,exports.PlayerEvent=it,exports.PlayerStateEnum=Ce,exports.RecordTypesEnum=Vt,exports.SelectObjectTypesEnum=Nt,exports.SpecialActionsEnum=ze,exports.SpectateModesEnum=He,exports.Streamer=P,exports.StreamerAreaTypes=Ht,exports.StreamerDistances=D,exports.StreamerItemTypes=S,exports.StreamerMiscellaneous=Ue,exports.StreamerObjectTypes=We,exports.TextDraw=_,exports.TextDrawAlignEnum=bt,exports.TextDrawEvent=mg,exports.TextDrawFontsEnum=Ne,exports.Vehicle=C,exports.VehicleEvent=Fp,exports.VehicleModelInfoEnum=Ft,exports.VehicleParamsEnum=Gt,exports.WeaponEnum=Bt,exports.WeaponSkillsEnum=xt,exports.WeaponStatesEnum=Mt,exports.animateLib=ii,exports.defineEvent=u,exports.defineHooks=Sg,exports.getAnimateDurationByLibName=lm,exports.isHolding=pg,exports.isPressed=fg,exports.isPressing=gg,exports.isReleased=Pg,exports.isValidAnimateLib=Qe,exports.isValidAnimateName=qe,exports.rgba=E,exports.useTrigger=Ri,exports.withTriggerOptions=Li;
1
+ "use strict";var gi=require("node:util"),Pi=require("iconv-lite");function ct(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 Si(e,t){const i={},a=Object.keys(e);for(let n=0;n<a.length;n++){const r=a[n],s=e[r];i[t(s,r,e)]=s}return i}function Ve(e){return e==="__proto__"}function Ee(e,t){const i=Object.keys(t);for(let a=0;a<i.length;a++){const n=i[a];if(Ve(n))continue;const r=t[n],s=e[n];Array.isArray(r)?Array.isArray(s)?e[n]=Ee(s,r):e[n]=Ee([],r):ct(r)?ct(s)?e[n]=Ee(s,r):e[n]=Ee({},r):(s===void 0||r!==void 0)&&(e[n]=r)}return e}function yi(e,t){const i={...e};for(let a=0;a<t.length;a++){const n=t[a];delete i[n]}return i}const Ii=new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+","gu");function Ei(e){return Array.from(e.match(Ii)??[])}function Xe(e){return Ei(e).map(i=>i.toLowerCase()).join("_")}function Ai(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function Ci(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function Ni(e){const t=[],i=e.length;if(i===0)return t;let a=0,n="",r="",s=!1;for(e.charCodeAt(0)===46&&(t.push(""),a++);a<i;){const l=e[a];r?l==="\\"&&a+1<i?(a++,n+=e[a]):l===r?r="":n+=l:s?l==='"'||l==="'"?r=l:l==="]"?(s=!1,t.push(n),n=""):n+=l:l==="["?(s=!0,n&&(t.push(n),n="")):l==="."?n&&(t.push(n),n=""):n+=l,a++}return n&&t.push(n),t}function Ye(e,t,i){if(e==null)return i;switch(typeof t){case"string":{if(Ve(t))return i;const a=e[t];return a===void 0?Ai(t)?Ye(e,Ni(t),i):i:a}case"number":case"symbol":{typeof t=="number"&&(t=Ci(t));const a=e[t];return a===void 0?i:a}default:{if(Array.isArray(t))return Ti(e,t,i);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),Ve(t))return i;const a=e[t];return a===void 0?i:a}}}function Ti(e,t,i){if(t.length===0)return i;let a=e;for(let n=0;n<t.length;n++){if(a==null||Ve(t[n]))return i;a=a[t[n]]}return a===void 0?i:a}const{encode:Di,decode:vi,encodingExists:wi}=Pi;function Ri(e){return e instanceof Buffer}class I{constructor(t,i){this.defaultLocale=t,this.locales=i,this.defaultLocale=Xe(t),this.locales=I.snakeLocaleKeys(i)}addLocales=t=>{Ee(this.locales,I.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=yi(this.locales,t)};$t=(t,i,a=this.defaultLocale)=>{const n=this.locales[Xe(a)],r=Ye(this.locales[this.defaultLocale],t),s=Ye(n,t,r);if(s===void 0)throw new Error(`[i18n]: cannot find ${a}["${t}"]`);if(typeof s!="string")return JSON.stringify(s);let l=s;return i&&i.length&&(l=gi.format(l,...i)),l};static isValidate(t){if(!wi(t))throw new Error(`[i18n]: unknown charset ${t}`)}static encodeToBuf(t,i){return I.isValidate(i),[...Di(t,i),0]}static decodeFromBuf(t,i="utf8"){I.isValidate(i);const a=Ri(t)?t:Buffer.from(I.getValidStr(t));return vi(a,i)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return Si(t,(i,a)=>Xe(a))}static convertSpecialChar(t){const i={\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(a=>a in i?i[a]:a).join("")}}var _t=(e=>(e[e.DOWNLOAD_REQUEST_EMPTY=0]="DOWNLOAD_REQUEST_EMPTY",e[e.DOWNLOAD_REQUEST_MODEL_FILE=1]="DOWNLOAD_REQUEST_MODEL_FILE",e[e.DOWNLOAD_REQUEST_TEXTURE_FILE=2]="DOWNLOAD_REQUEST_TEXTURE_FILE",e))(_t||{}),ht=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(ht||{}),ze=(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))(ze||{}),ut=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(ut||{}),mt=(e=>(e[e.NO_ACTION=0]="NO_ACTION",e[e.DISCONNECT_ASAP=1]="DISCONNECT_ASAP",e[e.DISCONNECT_ASAP_SILENTLY=2]="DISCONNECT_ASAP_SILENTLY",e[e.DISCONNECT_ON_NO_ACK=3]="DISCONNECT_ON_NO_ACK",e[e.REQUESTED_CONNECTION=4]="REQUESTED_CONNECTION",e[e.HANDLING_CONNECTION_REQUEST=5]="HANDLING_CONNECTION_REQUEST",e[e.UNVERIFIED_SENDER=6]="UNVERIFIED_SENDER",e[e.SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET=7]="SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET",e[e.CONNECTED=8]="CONNECTED",e))(mt||{}),N=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.NPC_ID=-1]="NPC_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))(N||{}),pt=(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))(pt||{}),F=(e=>(e[e.MAX_PLAYER_NAME=24]="MAX_PLAYER_NAME",e[e.MAX_PLAYERS=1e3]="MAX_PLAYERS",e[e.MAX_VEHICLES=2e3]="MAX_VEHICLES",e[e.MAX_ACTORS=1e3]="MAX_ACTORS",e[e.MAX_OBJECTS=1e3]="MAX_OBJECTS",e[e.MAX_GANG_ZONES=1024]="MAX_GANG_ZONES",e[e.MAX_TEXT_DRAWS=2048]="MAX_TEXT_DRAWS",e[e.MAX_PLAYER_TEXT_DRAWS=256]="MAX_PLAYER_TEXT_DRAWS",e[e.MAX_MENUS=128]="MAX_MENUS",e[e.MAX_MENU_ROW=12]="MAX_MENU_ROW",e[e.MAX_MENU_COL=2]="MAX_MENU_COL",e[e.MAX_3DTEXT_GLOBAL=1024]="MAX_3DTEXT_GLOBAL",e[e.MAX_3DTEXT_PLAYER=1024]="MAX_3DTEXT_PLAYER",e[e.MAX_PICKUPS=4096]="MAX_PICKUPS",e[e.MAX_PLAYER_ATTACHED_OBJECTS=10]="MAX_PLAYER_ATTACHED_OBJECTS",e[e.MAX_CHATBUBBLE_LENGTH=144]="MAX_CHATBUBBLE_LENGTH",e[e.NPC_MAX_NODES=64]="NPC_MAX_NODES",e[e.MAX_NPCS=1e3]="MAX_NPCS",e))(F||{}),ft=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(ft||{}),gt=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(gt||{}),Pt=(e=>(e[e.NONE=0]="NONE",e[e.START=1]="START",e[e.PAUSE=2]="PAUSE",e))(Pt||{}),He=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.WALK=1]="WALK",e[e.JOG=2]="JOG",e[e.SPRINT=3]="SPRINT",e[e.DRIVE=4]="DRIVE",e[e.AUTO=5]="AUTO",e))(He||{}),Ae=(e=>(e[e.NONE=0]="NONE",e[e.PLAYER=1]="PLAYER",e[e.NPC=2]="NPC",e[e.ACTOR=4]="ACTOR",e[e.VEHICLE=8]="VEHICLE",e[e.OBJECT=16]="OBJECT",e[e.POBJECT_ORIG=32]="POBJECT_ORIG",e[e.POBJECT_TARG=64]="POBJECT_TARG",e[e.MAP=128]="MAP",e[e.ALL=255]="ALL",e))(Ae||{}),pe=(e=>(e[e.AUTO=-1]="AUTO",e[e.WALK=.1552086]="WALK",e[e.JOG=.56444]="JOG",e[e.SPRINT=.926784]="SPRINT",e))(pe||{}),St=(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))(St||{}),yt=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(yt||{}),It=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(It||{}),Et=(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))(Et||{}),At=(e=>(e[e.LOCAL=0]="LOCAL",e[e.GLOBAL=1]="GLOBAL",e[e.LOCAL_CHECKPOINT=2]="LOCAL_CHECKPOINT",e[e.GLOBAL_CHECKPOINT=3]="GLOBAL_CHECKPOINT",e))(At||{}),Ce=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(Ce||{}),Ct=(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))(Ct||{}),Ue=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(Ue||{}),Ne=(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))(Ne||{}),Nt=(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))(Nt||{}),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||{}),Dt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(Dt||{}),$e=(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))($e||{}),Te=(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))(Te||{}),vt=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(vt||{}),wt=(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))(wt||{}),Rt=(e=>(e[e.UNSET=-1]="UNSET",e[e.OFF=0]="OFF",e[e.ON=1]="ON",e))(Rt||{}),Lt=(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))(Lt||{}),bt=(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.NIGHTSTICK=3]="NIGHTSTICK",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))(bt||{}),Ot=(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))(Ot||{}),Gt=(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))(Gt||{}),Ft=(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))(Ft||{}),Je=(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))(Je||{}),Bt=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(Bt||{}),xt=(e=>(e[e.CIRCLE=0]="CIRCLE",e[e.CYLINDER=1]="CYLINDER",e[e.SPHERE=2]="SPHERE",e[e.RECTANGLE=3]="RECTANGLE",e[e.CUBOID=4]="CUBOID",e[e.POLYGON=5]="POLYGON",e))(xt||{}),D=(e=>(e[e.OBJECT_SD=300]="OBJECT_SD",e[e.OBJECT_DD=0]="OBJECT_DD",e[e.PICKUP_SD=200]="PICKUP_SD",e[e.CP_SD=200]="CP_SD",e[e.RACE_CP_SD=200]="RACE_CP_SD",e[e.MAP_ICON_SD=200]="MAP_ICON_SD",e[e.TEXT_3D_LABEL_SD=200]="TEXT_3D_LABEL_SD",e[e.ACTOR_SD=200]="ACTOR_SD",e))(D||{}),S=(e=>(e[e.OBJECT=0]="OBJECT",e[e.PICKUP=1]="PICKUP",e[e.CP=2]="CP",e[e.RACE_CP=3]="RACE_CP",e[e.MAP_ICON=4]="MAP_ICON",e[e.TEXT_3D_LABEL=5]="TEXT_3D_LABEL",e[e.AREA=6]="AREA",e[e.ACTOR=7]="ACTOR",e))(S||{}),We=(e=>(e[e.MAX_TYPES=8]="MAX_TYPES",e[e.MAX_AREA_TYPES=5]="MAX_AREA_TYPES",e[e.MAX_OBJECT_TYPES=3]="MAX_OBJECT_TYPES",e[e.INVALID_ID=0]="INVALID_ID",e))(We||{}),je=(e=>(e[e.GLOBAL=0]="GLOBAL",e[e.PLAYER=1]="PLAYER",e[e.DYNAMIC=2]="DYNAMIC",e))(je||{}),W=(e=>(e[e.AREA_ID=0]="AREA_ID",e[e.ATTACHED_OBJECT=1]="ATTACHED_OBJECT",e[e.ATTACHED_PLAYER=2]="ATTACHED_PLAYER",e[e.ATTACHED_VEHICLE=3]="ATTACHED_VEHICLE",e[e.ATTACH_OFFSET_X=4]="ATTACH_OFFSET_X",e[e.ATTACH_OFFSET_Y=5]="ATTACH_OFFSET_Y",e[e.ATTACH_OFFSET_Z=6]="ATTACH_OFFSET_Z",e[e.ATTACH_R_X=7]="ATTACH_R_X",e[e.ATTACH_R_Y=8]="ATTACH_R_Y",e[e.ATTACH_R_Z=9]="ATTACH_R_Z",e[e.ATTACH_X=10]="ATTACH_X",e[e.ATTACH_Y=11]="ATTACH_Y",e[e.ATTACH_Z=12]="ATTACH_Z",e[e.COLOR=13]="COLOR",e[e.DRAW_DISTANCE=14]="DRAW_DISTANCE",e[e.EXTRA_ID=15]="EXTRA_ID",e[e.HEALTH=16]="HEALTH",e[e.INTERIOR_ID=17]="INTERIOR_ID",e[e.INVULNERABLE=18]="INVULNERABLE",e[e.MAX_X=19]="MAX_X",e[e.MAX_Y=20]="MAX_Y",e[e.MAX_Z=21]="MAX_Z",e[e.MIN_X=22]="MIN_X",e[e.MIN_Y=23]="MIN_Y",e[e.MIN_Z=24]="MIN_Z",e[e.MODEL_ID=25]="MODEL_ID",e[e.MOVE_R_X=26]="MOVE_R_X",e[e.MOVE_R_Y=27]="MOVE_R_Y",e[e.MOVE_R_Z=28]="MOVE_R_Z",e[e.MOVE_SPEED=29]="MOVE_SPEED",e[e.MOVE_X=30]="MOVE_X",e[e.MOVE_Y=31]="MOVE_Y",e[e.MOVE_Z=32]="MOVE_Z",e[e.NEXT_X=33]="NEXT_X",e[e.NEXT_Y=34]="NEXT_Y",e[e.NEXT_Z=35]="NEXT_Z",e[e.PLAYER_ID=36]="PLAYER_ID",e[e.PRIORITY=37]="PRIORITY",e[e.ROTATION=38]="ROTATION",e[e.R_X=39]="R_X",e[e.R_Y=40]="R_Y",e[e.R_Z=41]="R_Z",e[e.SIZE=42]="SIZE",e[e.STREAM_DISTANCE=43]="STREAM_DISTANCE",e[e.STYLE=44]="STYLE",e[e.SYNC_ROTATION=45]="SYNC_ROTATION",e[e.TEST_LOS=46]="TEST_LOS",e[e.TYPE=47]="TYPE",e[e.WORLD_ID=48]="WORLD_ID",e[e.X=49]="X",e[e.Y=50]="Y",e[e.Z=51]="Z",e))(W||{}),kt=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(kt||{}),Qe=(e=>(e[e.SIZE_32x32=10]="SIZE_32x32",e[e.SIZE_64x32=20]="SIZE_64x32",e[e.SIZE_64x64=30]="SIZE_64x64",e[e.SIZE_128x32=40]="SIZE_128x32",e[e.SIZE_128x64=50]="SIZE_128x64",e[e.SIZE_128x128=60]="SIZE_128x128",e[e.SIZE_256x32=70]="SIZE_256x32",e[e.SIZE_256x64=80]="SIZE_256x64",e[e.SIZE_256x128=90]="SIZE_256x128",e[e.SIZE_256x256=100]="SIZE_256x256",e[e.SIZE_512x64=110]="SIZE_512x64",e[e.SIZE_512x128=120]="SIZE_512x128",e[e.SIZE_512x256=130]="SIZE_512x256",e[e.SIZE_512x512=140]="SIZE_512x512",e))(Qe||{});const Mt=-1,Li=-1,bi=-1,Oi=-1,Gi=0,Fi=-1e3,Bi=-1e3,xi=-1e3,ki=0,Vt=32,Mi=300,Vi=!0,Ke=1,Hi=e=>samp.callNative("DestroyDynamic3DTextLabel","i",e),Ui=e=>!!samp.callNative("IsValidDynamic3DTextLabel","i",e),Wi=(e,t,i,a,n,r=!0,s=100,l=0,o=-1,d=-1,c=D.ACTOR_SD,h=-1,p=0)=>samp.callNative("CreateDynamicActor","iffffifiiifii",e,t,i,a,n,r,s,l,o,d,c,h,p),ji=e=>samp.callNative("DestroyDynamicActor","i",e),Ki=e=>!!samp.callNative("IsValidDynamicActor","i",e),Zi=(e,t)=>!!samp.callNative("IsDynamicActorStreamedIn","ii",e,t),Xi=e=>samp.callNative("GetDynamicActorVirtualWorld","i",e),Yi=(e,t)=>samp.callNative("SetDynamicActorVirtualWorld","ii",e,t),zi=(e,t,i,a,n,r,s,l,o)=>samp.callNative("ApplyDynamicActorAnimation","issfiiiii",e,t,i,a,n,r,s,l,o),$i=e=>samp.callNative("ClearDynamicActorAnimations","i",e),Ji=e=>{const[t,i]=samp.callNative("GetDynamicActorFacingAngle","iF",e);return{angle:t,ret:i}},Qi=(e,t)=>samp.callNative("SetDynamicActorFacingAngle","if",e,t),qi=e=>{const[t,i,a,n]=samp.callNative("GetDynamicActorPos","iFFF",e);return{x:t,y:i,z:a,ret:n}},ea=(e,t,i,a)=>samp.callNative("SetDynamicActorPos","ifff",e,t,i,a),ta=e=>{const[t,i]=samp.callNative("GetDynamicActorHealth","iF",e);return{health:t,ret:i}},ia=(e,t)=>samp.callNative("SetDynamicActorHealth","if",e,t),aa=(e,t=!0)=>samp.callNative("SetDynamicActorInvulnerable","ii",e,t),na=e=>!!samp.callNative("IsDynamicActorInvulnerable","i",e),ra=e=>samp.callNative("GetPlayerTargetDynamicActor","i",e),sa=e=>samp.callNative("GetPlayerCameraTargetDynActor","i",e),la=e=>{const[t,i,a=0,n=0,r=0,s=0,l=0,o=0,d]=samp.callNative("GetDynamicActorAnimation","iSSFIIIIIii",e,32,32);return{animLib:t,animName:i,fDelta:a,loop:n,lockX:r,lockY:s,freeze:l,time:o,ret:d}},oa=(e,t,i,a=-1,n=-1,r=-1)=>samp.callNative("CreateDynamicCircle","fffiii",e,t,i,a,n,r),da=(e,t,i,a,n,r=-1,s=-1,l=-1)=>samp.callNative("CreateDynamicCylinder","fffffiii",e,t,i,a,n,r,s,l),ca=(e,t,i,a,n=-1,r=-1,s=-1)=>samp.callNative("CreateDynamicSphere","ffffiii",e,t,i,a,n,r,s),_a=(e,t,i,a,n=-1,r=-1,s=-1)=>samp.callNative("CreateDynamicRectangle","ffffiii",e,t,i,a,n,r,s),ha=(e,t,i,a,n,r,s=-1,l=-1,o=-1)=>samp.callNative("CreateDynamicCuboid","ffffffiii",e,t,i,a,n,r,s,l,o),ua=(e,t=Number.MIN_VALUE,i=Number.MAX_VALUE,a=-1,n=-1,r=-1)=>samp.callNative("CreateDynamicPolygon","affiiii",e,t,i,e.length,a,n,r),ma=e=>samp.callNative("DestroyDynamicArea","i",e),pa=e=>!!samp.callNative("IsValidDynamicArea","i",e),fa=e=>samp.callNative("GetDynamicAreaType","i",e),ga=e=>{const[t,i]=samp.callNative("GetDynamicPolygonPoints","iAi",e,Ht(e));return{points:t,ret:i}},Ht=e=>samp.callNative("GetDynamicPolygonNumberPoints","i",e),Pa=(e,t,i=!1)=>!!samp.callNative("IsPlayerInDynamicArea","iii",e,t,i),Sa=(e,t=!1)=>!!samp.callNative("IsPlayerInAnyDynamicArea","ii",e,t),ya=(e,t=!1)=>!!samp.callNative("IsAnyPlayerInDynamicArea","ii",e,t),Ia=(e=!1)=>!!samp.callNative("IsAnyPlayerInAnyDynamicArea","i",e),Ea=e=>{const[t,i]=samp.callNative("GetPlayerDynamicAreas","iAi",e,Ut(e));return{areas:t,ret:i}},Ut=e=>samp.callNative("GetPlayerNumberDynamicAreas","i",e),Aa=(e,t,i,a)=>!!samp.callNative("IsPointInDynamicArea","ifff",e,t,i,a),Ca=(e,t,i)=>!!samp.callNative("IsPointInAnyDynamicArea","fff",e,t,i),Na=(e,t,i,a,n,r,s)=>!!samp.callNative("IsLineInDynamicArea","iffffff",e,t,i,a,n,r,s),Ta=(e,t,i,a,n,r)=>!!samp.callNative("IsLineInAnyDynamicArea","ffffff",e,t,i,a,n,r),Da=(e,t,i)=>{const[a,n]=samp.callNative("GetDynamicAreasForPoint","fffAi",e,t,i,Wt(e,t,i));return{areas:a,ret:n}},Wt=(e,t,i)=>samp.callNative("GetNumberDynamicAreasForPoint","fff",e,t,i),va=(e,t,i,a,n,r)=>{const[s,l]=samp.callNative("GetDynamicAreasForLine","ffffffAi",e,t,i,a,n,r,jt(e,t,i,a,n,r));return{areas:s,ret:l}},jt=(e,t,i,a,n,r)=>samp.callNative("GetNumberDynamicAreasForLine","ffffff",e,t,i,a,n,r),wa=(e,t,i=je.DYNAMIC,a=65535,n=0,r=0,s=0)=>samp.callNative("AttachDynamicAreaToObject","iiiifff",e,t,i,a,n,r,s),Ra=(e,t,i=0,a=0,n=0)=>samp.callNative("AttachDynamicAreaToPlayer","iifff",e,t,i,a,n),La=(e,t,i=0,a=0,n=0)=>samp.callNative("AttachDynamicAreaToVehicle","iifff",e,t,i,a,n),ba=(e,t)=>samp.callNative("ToggleDynAreaSpectateMode","ii",e,t),Oa=e=>!!samp.callNative("IsToggleDynAreaSpectateMode","i",e),Ga=(e,t,i,a,n=-1,r=-1,s=-1,l=D.CP_SD,o=-1,d=0)=>samp.callNative("CreateDynamicCP","ffffiiifii",e,t,i,a,n,r,s,l,o,d),Fa=e=>samp.callNative("DestroyDynamicCP","i",e),Kt=e=>!!samp.callNative("IsValidDynamicCP","i",e),Ba=(e,t,i)=>samp.callNative("TogglePlayerDynamicCP","iii",e,t,i),xa=(e,t)=>samp.callNative("TogglePlayerAllDynamicCPs","ii",e,t),ka=(e,t)=>!!samp.callNative("IsPlayerInDynamicCP","ii",e,t),Ma=e=>samp.callNative("GetPlayerVisibleDynamicCP","i",e),Va=(e,t,i)=>{const[a,n]=samp.callNative("Streamer_GetFloatData","iiiF",e,t,i);return{val:a,ret:n}},Ha=(e,t,i,a)=>samp.callNative("Streamer_SetFloatData","iiif",e,t,i,a),Ua=(e,t,i)=>samp.callNative("Streamer_GetIntData","iii",e,t,i),Wa=(e,t,i,a)=>samp.callNative("Streamer_SetIntData","iiii",e,t,i,a),ja=(e,t,i)=>{const[a,n]=samp.callNative("Streamer_GetArrayData","iiiAi",e,t,i,Zt(e,t,i));return{arrayData:a,ret:n}},Ka=(e,t,i,a)=>samp.callNative("Streamer_SetArrayData","iiiai",e,t,i,a,a.length),Za=(e,t,i,a)=>!!samp.callNative("Streamer_IsInArrayData","iiii",e,t,i,a),Xa=(e,t,i,a)=>samp.callNative("Streamer_AppendArrayData","iiii",e,t,i,a),Ya=(e,t,i,a)=>samp.callNative("Streamer_RemoveArrayData","iiii",e,t,i,a),Zt=(e,t,i)=>samp.callNative("Streamer_GetArrayDataLength","iii",e,t,i),za=e=>samp.callNative("Streamer_GetUpperBound","i",e);var Ze=(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))(Ze||{});const $a=(e,t,i,a,n,r=-1,s=-1,l=-1,o=D.MAP_ICON_SD,d=0,c=-1,h=0)=>samp.callNative("CreateDynamicMapIcon","fffiiiiifiii",e,t,i,a,n,r,s,l,o,d,c,h),Ja=e=>samp.callNative("DestroyDynamicMapIcon","i",e),Qa=e=>!!samp.callNative("IsValidDynamicMapIcon","i",e),qa=(e,t,i,a,n,r,s,l=D.OBJECT_SD,o=D.OBJECT_DD,d=[-1],c=[-1],h=[-1],p=[-1],g=0)=>samp.callNative("CreateDynamicObjectEx","iffffffffaaaaiiiii",e,t,i,a,n,r,s,l,o,d,c,h,p,g,d.length,c.length,h.length,p.length),en=(e,t,i,a,n,r=D.PICKUP_SD,s=[-1],l=[-1],o=[-1],d=[-1],c=0)=>samp.callNative("CreateDynamicPickupEx","iiffffaaaaiiiii",e,t,i,a,n,r,s,l,o,d,c,s.length,l.length,o.length,d.length),tn=(e,t,i,a,n=D.CP_SD,r=[-1],s=[-1],l=[-1],o=[-1],d=0)=>samp.callNative("CreateDynamicCPEx","fffffaaaaiiiii",e,t,i,a,n,r,s,l,o,d,r.length,s.length,l.length,o.length),an=(e,t,i,a,n,r,s,l,o=D.RACE_CP_SD,d=[-1],c=[-1],h=[-1],p=[-1],g=0)=>samp.callNative("CreateDynamicRaceCPEx","iffffffffaaaaiiiii",e,t,i,a,n,r,s,l,o,d,c,h,p,g,d.length,c.length,h.length,p.length),nn=(e,t,i,a,n,r=Ze.LOCAL,s=D.MAP_ICON_SD,l=[-1],o=[-1],d=[-1],c=[-1],h=0)=>samp.callNative("CreateDynamicMapIconEx","fffiiifaaaaiiiii",e,t,i,a,n,r,s,l,o,d,c,h,l.length,o.length,d.length,c.length),rn=(e,t,i,a=[-1],n=[-1],r=[-1])=>samp.callNative("CreateDynamicCircleEx","fffaaaiii",e,t,i,a,n,r,a.length,n.length,r.length),sn=(e,t,i,a,n,r=[-1],s=[-1],l=[-1])=>samp.callNative("CreateDynamicCylinderEx","fffffaaaiii",e,t,i,a,n,r,s,l,r.length,s.length,l.length),ln=(e,t,i,a,n=[-1],r=[-1],s=[-1])=>samp.callNative("CreateDynamicSphereEx","ffffaaaiii",e,t,i,a,n,r,s,n.length,r.length,s.length),on=(e,t,i,a,n=[-1],r=[-1],s=[-1])=>samp.callNative("CreateDynamicRectangleEx","ffffaaaiii",e,t,i,a,n,r,s,n.length,r.length,s.length),dn=(e,t,i,a,n,r,s=[-1],l=[-1],o=[-1])=>samp.callNative("CreateDynamicCuboidEx","ffffffaaaiii",e,t,i,a,n,r,s,l,o,s.length,l.length,o.length),cn=(e,t=Number.MIN_VALUE,i=Number.MAX_VALUE,a=[-1],n=[-1],r=[-1])=>samp.callNative("CreateDynamicPolygonEx","affiaaaiii",e,t,i,e.length,a,n,r,a.length,n.length,r.length),_n=(e,t,i,a,n,r=!0,s=100,l=D.ACTOR_SD,o=[0],d=[-1],c=[-1],h=[-1],p=0)=>samp.callNative("CreateDynamicActorEx","iffffiffaaaaiiiii",e,t,i,a,n,r,s,l,o,d,c,h,p,o.length,d.length,c.length,h.length),hn=(e,t,i,a,n,r=3)=>{const[s,l]=samp.callNative("Streamer_GetDistanceToItem","fffiiFi",e,t,i,a,n,r);return{distance:s,ret:l}},un=(e,t,i,a)=>samp.callNative("Streamer_ToggleItem","iiii",e,t,i,a),mn=(e,t,i)=>!!samp.callNative("Streamer_IsToggleItem","iii",e,t,i),pn=(e,t,i,a=[-1])=>samp.callNative("Streamer_ToggleAllItems","iiiai",e,t,i,a,a.length),fn=(e,t,i)=>samp.callNative("Streamer_GetItemInternalID","iii",e,t,i),gn=(e,t,i)=>samp.callNative("Streamer_GetItemStreamerID","iii",e,t,i),Pn=(e,t,i)=>!!samp.callNative("Streamer_IsItemVisible","iii",e,t,i),Sn=(e,t,i=Ke)=>samp.callNative("Streamer_DestroyAllVisibleItems","iii",e,t,i),yn=(e,t,i=Ke)=>samp.callNative("Streamer_CountVisibleItems","iii",e,t,i),In=(e,t=Ke)=>samp.callNative("Streamer_DestroyAllItems","ii",e,t),En=(e,t=Ke)=>samp.callNative("Streamer_CountItems","ii",e,t),An=(e,t,i,a,n=Vt,r=Mi,s=Mt)=>{const[l=[],o=0]=samp.callNative("Streamer_GetNearbyItems","fffiAifi",e,t,i,a,n,r,s);return l.slice(0,o)},Cn=(e,t,i=Vt)=>{const[a=[],n=0]=samp.callNative("Streamer_GetAllVisibleItems","iiAi",e,t,i);return a.slice(0,n)},Nn=(e,t)=>{const[i,a,n,r]=samp.callNative("Streamer_GetItemPos","iiFFF",e,t);return{x:i,y:a,z:n,ret:r}},Tn=(e,t,i,a,n)=>samp.callNative("Streamer_SetItemPos","iifff",e,t,i,a,n),Dn=(e,t)=>{const[i,a,n,r]=samp.callNative("Streamer_GetItemOffset","iiFFF",e,t);return{x:i,y:a,z:n,ret:r}},vn=(e,t,i,a,n)=>samp.callNative("Streamer_SetItemOffset","iifff",e,t,i,a,n),wn=(e,t,i,a,n,r,s,l=Mt,o=Li,d=bi,c=D.OBJECT_SD,h=D.OBJECT_DD,p=Oi,g=Gi)=>samp.callNative("CreateDynamicObject","iffffffiiiffii",e,t,i,a,n,r,s,l,o,d,c,h,p,g),Rn=e=>samp.callNative("DestroyDynamicObject","i",e),Ln=e=>!!samp.callNative("IsValidDynamicObject","i",e),bn=e=>{const[t,i,a,n]=samp.callNative("GetDynamicObjectPos","iFFF",e);return{x:t,y:i,z:a,ret:n}},On=(e,t,i,a)=>samp.callNative("SetDynamicObjectPos","ifff",e,t,i,a),Gn=e=>{const[t,i,a,n]=samp.callNative("GetDynamicObjectRot","iFFF",e);return{rx:t,ry:i,rz:a,ret:n}},Fn=(e,t,i,a)=>samp.callNative("SetDynamicObjectRot","ifff",e,t,i,a),Bn=(e,t,i,a,n,r=Fi,s=Bi,l=xi)=>samp.callNative("MoveDynamicObject","ifffffff",e,t,i,a,n,r,s,l),xn=e=>samp.callNative("StopDynamicObject","i",e),kn=e=>!!samp.callNative("IsDynamicObjectMoving","i",e),Mn=(e,t)=>samp.callNative("AttachCameraToDynamicObject","ii",e,t),Vn=(e,t,i,a,n,r,s,l,o=Vi)=>samp.callNative("AttachDynamicObjectToObject","iiffffffi",e,t,i,a,n,r,s,l,o),Hn=(e,t,i,a,n,r,s,l)=>samp.callNative("AttachDynamicObjectToPlayer","iiffffff",e,t,i,a,n,r,s,l),Un=(e,t,i,a,n,r,s,l)=>samp.callNative("AttachDynamicObjectToVehicle","iiffffff",e,t,i,a,n,r,s,l),Wn=(e,t)=>samp.callNative("EditDynamicObject","ii",e,t),jn=(e,t)=>!!samp.callNative("IsDynamicObjectMaterialUsed","ii",e,t),Kn=(e,t)=>samp.callNative("RemoveDynamicObjectMaterial","ii",e,t),Zn=(e,t,i,a,n,r=ki)=>samp.callNative("SetDynamicObjectMaterial","iiissi",e,t,i,a,n,r),Xn=(e,t)=>!!samp.callNative("IsDynamicObjectMaterialTextUsed","ii",e,t),Yn=(e,t)=>samp.callNative("RemoveDynamicObjectMaterialText","ii",e,t),zn=e=>samp.callNative("GetPlayerCameraTargetDynObject","i",e),$n=e=>!!samp.callNative("SetDynamicObjectNoCameraCol","i",e),Jn=e=>!!samp.callNative("GetDynamicObjectNoCameraCol","i",e),Qn=(e,t,i,a,n,r=-1,s=-1,l=-1,o=D.PICKUP_SD,d=-1,c=0)=>samp.callNative("CreateDynamicPickup","iifffiiifii",e,t,i,a,n,r,s,l,o,d,c),qn=e=>!!samp.callNative("DestroyDynamicPickup","i",e),er=e=>!!samp.callNative("IsValidDynamicPickup","i",e),tr=(e,t,i,a,n,r,s,l,o=-1,d=-1,c=-1,h=D.RACE_CP_SD,p=-1,g=0)=>samp.callNative("CreateDynamicRaceCP","ifffffffiiifii",e,t,i,a,n,r,s,l,o,d,c,h,p,g),ir=e=>samp.callNative("DestroyDynamicRaceCP","i",e),ar=(e,t,i)=>samp.callNative("TogglePlayerDynamicRaceCP","iii",e,t,i),nr=(e,t)=>samp.callNative("TogglePlayerAllDynamicRaceCPs","ii",e,t),rr=(e,t)=>!!samp.callNative("IsPlayerInDynamicRaceCP","ii",e,t),sr=e=>samp.callNative("GetPlayerVisibleDynamicRaceCP","i",e),lr=()=>samp.callNative("Streamer_GetTickRate",""),or=(e=50)=>samp.callNative("Streamer_SetTickRate","i",e),dr=e=>samp.callNative("Streamer_GetPlayerTickRate","i",e),cr=(e,t=50)=>samp.callNative("Streamer_SetPlayerTickRate","ii",e,t),_r=(e=!1)=>samp.callNative("Streamer_ToggleChunkStream","i",e),hr=()=>!!samp.callNative("Streamer_IsToggleChunkStream",""),Xt=(e,t=-1)=>samp.callNative("Streamer_GetChunkTickRate","ii",e,t),Yt=(e,t,i=-1)=>samp.callNative("Streamer_SetChunkTickRate","iii",e,t,i),ur=e=>samp.callNative("Streamer_GetChunkSize","i",e),mr=(e,t)=>samp.callNative("Streamer_SetChunkSize","ii",e,t),pr=e=>samp.callNative("Streamer_GetMaxItems","i",e),fr=(e,t)=>samp.callNative("Streamer_SetMaxItems","ii",e,t),zt=(e,t=-1)=>samp.callNative("Streamer_GetVisibleItems","ii",e,t),$t=(e,t,i=-1)=>samp.callNative("Streamer_SetVisibleItems","iii",e,t,i),Jt=(e,t=-1)=>{const[i,a]=samp.callNative("Streamer_GetRadiusMultiplier","iFi",e,t);return{multiplier:i,ret:a}},Qt=(e,t,i=-1)=>samp.callNative("Streamer_SetRadiusMultiplier","ifi",e,t,i),gr=()=>{const[e,t]=samp.callNative("Streamer_GetTypePriority","Ai",We.MAX_TYPES);return{priority:e,ret:t}},Pr=e=>samp.callNative("Streamer_SetTypePriority","ai",e,We.MAX_TYPES),Sr=()=>{const[e,t]=samp.callNative("Streamer_GetCellDistance","F");return{distance:e,ret:t}},yr=(e=600)=>samp.callNative("Streamer_SetCellDistance","f",e),Ir=()=>{const[e,t]=samp.callNative("Streamer_GetCellSize","F");return{size:e,ret:t}},Er=(e=300)=>samp.callNative("Streamer_SetCellSize","f",e),Ar=(e,t,i)=>samp.callNative("Streamer_ToggleItemStatic","iii",e,t,i),Cr=(e,t)=>!!samp.callNative("Streamer_IsToggleItemStatic","ii",e,t),Nr=(e,t,i)=>samp.callNative("Streamer_ToggleItemInvAreas","iii",e,t,i),Tr=(e,t)=>!!samp.callNative("Streamer_IsToggleItemInvAreas","ii",e,t),Dr=(e,t,i)=>samp.callNative("Streamer_ToggleItemCallbacks","iii",e,t,i),vr=(e,t)=>!!samp.callNative("Streamer_IsToggleItemCallbacks","ii",e,t),wr=e=>samp.callNative("Streamer_ToggleErrorCallback","i",e),Rr=()=>!!samp.callNative("Streamer_IsToggleErrorCallback",""),Lr=e=>samp.callNative("Streamer_AmxUnloadDestroyItems","i",e),br=()=>samp.callNative("Streamer_ProcessActiveItems",""),Or=(e,t)=>samp.callNative("Streamer_ToggleIdleUpdate","ii",e,t),Gr=e=>!!samp.callNative("Streamer_IsToggleIdleUpdate","i",e),Fr=(e,t)=>samp.callNative("Streamer_ToggleCameraUpdate","ii",e,t),Br=e=>!!samp.callNative("Streamer_IsToggleCameraUpdate","i",e),xr=(e,t,i)=>samp.callNative("Streamer_ToggleItemUpdate","iii",e,t,i),kr=(e,t)=>!!samp.callNative("Streamer_IsToggleItemUpdate","ii",e,t),Mr=()=>{const[e,t]=samp.callNative("Streamer_GetLastUpdateTime","F");return{time:e,ret:t}},Vr=(e,t=-1)=>samp.callNative("Streamer_Update","ii",e,t),Hr=(e,t,i,a,n=-1,r=-1,s=-1,l=-1,o=!0)=>samp.callNative("Streamer_UpdateEx","ifffiiiii",e,t,i,a,n,r,s,l,o),B=new Map,qt=new Map;function Ur(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function ei(e,t,...i){const{defaultValue:a=!0,name:n,beforeEach:r,afterEach:s,throwOnError:l=!1}=e,o=B.get(n);if(!o||!o.length)return+a;const d=r?r(...i):{},c=[];let h=t;const p=g=>{if(h++,h<o.length){try{g&&Object.assign(d,g);const f={next:p,defaultValue:a,...d},y=o[h](f);return y instanceof Promise?(c.push(y),a):y}catch(f){const y=`executing event [name:${n},index:${h}] error:
2
+ ${f}`;if(l)throw{error:f,message:y};console.log(y)}return a}return s&&(c.length?Promise.allSettled(c).then(()=>s(d)):s(d)),a};return Ur(p(),a)}function u(e){const{name:t,identifier:i,isNative:a=!0}=e;if(B.has(t)){const l=`event [name:${t}] error: already defined.`;throw new Error(l)}function n(...l){if(l.length===1&&typeof l[0]=="object"&&l[0].__trigger__){const o=l[0];let d=-1;if(o.skipToNext){const c=B.get(t);if(c&&c.length){const h=c.indexOf(o.skipToNext);h>-1&&(d=h)}}return ei(e,d,...o.args)}return ei(e,-1,...l)}function r(l,o=!1){B.has(t)||B.set(t,[]);const d=B.get(t),c=(o?d.unshift(l):d.push(l))-1;return()=>{const h=B.get(t);if(!h)return;const p=h.length-1,g=p<c?p:c;for(let f=g;f>=0;f--)if(h[f]===l){h.splice(f,1);break}return h.length===0&&B.delete(t),h.length}}const s=[r,n];return a&&(typeof i<"u"&&samp.registerEvent(t,i),samp.on(t,n)),qt.set(t,n),s}function Wr(e){return qt.get(e)}function jr(e){return Object.assign(e,{__trigger__:!0})}const Kr=e=>!!samp.callNative("IsValidNickName","s",e),Zr=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},Xr=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),Yr=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),zr=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),$r=e=>!!samp.callNative("IsValidServerRule","s",e),Jr=e=>!!samp.callNative("RemoveServerRule","s",e),Qr=e=>{samp.callNative("AllowAdminTeleport","i",e)},qr=()=>!!samp.callNative("IsAdminTeleportAllowed",""),es=e=>{samp.callNative("AllowInteriorWeapons","i",e)},ts=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),is=()=>!!samp.callNative("AreAllAnimationsEnabled",""),as=e=>{samp.callNative("EnableAllAnimations","i",e)},ns=e=>{const[t,i]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return{consoleVarBuf:t,ret:i}},rs=e=>samp.callNative("GetConsoleVarAsInt","s",e),ss=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),ls=()=>samp.callNative("GetWeather",""),os=e=>samp.callNative("GetServerRuleFlags","s",e),ds=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),cs=e=>!!samp.callNative("SetModeRestartTime","f",e),_s=()=>samp.callNativeFloat("GetModeRestartTime",""),hs=(e,t,i)=>samp.callNative("GameTextForAll","aii",e,t,i),us=e=>{samp.callNative("HideGameTextForAll","i",e)},ms=(e,t,i)=>samp.callNative("SendDeathMessage","iii",e,t,i),ps=()=>samp.callNative("GetMaxPlayers",""),qe=(e,t,i)=>Math.sqrt(e*e+t*t+i*i),fs=e=>samp.callNative("SetGameModeText","s",e),gs=e=>samp.callNative("ShowNameTags","i",e),Ps=e=>samp.callNative("ShowPlayerMarkers","i",e),Ss=e=>samp.callNative("SetWorldTime","i",e),ys=()=>samp.callNative("GetWorldTime",""),Is=()=>!!samp.callNative("EnableVehicleFriendlyFire",""),Es=e=>samp.callNative("SetWeather","i",e),As=()=>samp.callNativeFloat("GetGravity",""),Cs=e=>samp.callNative("SetGravity","f",e),Ns=(e,t,i,a,n)=>samp.callNative("CreateExplosion","fffif",e,t,i,a,n),Ts=e=>samp.callNative("EnableZoneNames","i",e),Ds=()=>!!samp.callNative("UsePlayerPedAnims",""),vs=()=>!!samp.callNative("DisableInteriorEnterExits",""),ws=e=>samp.callNative("SetNameTagDrawDistance","f",e),Rs=()=>samp.callNative("DisableNameTagLOS",""),Ls=e=>samp.callNative("LimitGlobalChatRadius","f",e),bs=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),Os=()=>samp.callNative("GetServerTickRate",""),Gs=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),Fs=e=>!!samp.callNative("EnableStuntBonusForAll","i",e),Bs=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},xs=()=>!!samp.callNative("ChatTextReplacementToggled",""),ks=e=>samp.callNative("GetWeaponSlot","i",e),Ms=e=>{const[t,i]=samp.callNative("GetWeaponName","iSi",e,32);return{name:t,ret:i}},Vs=()=>samp.callNative("GetAvailableClasses",""),Hs=e=>{const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[i,a=0,n=0,r=0,s=0,l=0,o=0,d=0,c=0,h=0,p=0,g=0,f]=t;return{teamId:i,modelId:a,spawnX:n,spawnY:r,spawnZ:s,zAngle:l,weapon1:o,weapon1Ammo:d,weapon2:c,weapon2Ammo:h,weapon3:p,weapon3Ammo:g,ret:f}},Us=(e,t,i,a,n,r,s,l,o,d,c,h,p)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,i,a,n,r,s,l,o,d,c,h,p),Ws=e=>samp.callNative("SetTeamCount","i",e),js=(e,t,i,a,n,r,s,l,o,d,c)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,i,a,n,r,s,l,o,d,c),Ks=(e,t,i,a,n,r,s,l,o,d,c,h)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,i,a,n,r,s,l,o,d,c,h),Zs=(e,t,i,a,n,r,s,l,o,d,c,h,p)=>!!samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,i,a,n,r,s,l,o,d,c,h,p),Xs=e=>!!samp.callNative("SpawnPlayer","i",e),Ys=e=>{const[t,i=0,a=0,n=0,r=0,s=0,l=0,o=0,d=0,c=0,h=0,p=0,g]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:i,spawnX:a,spawnY:n,spawnZ:r,zAngle:s,weapon1:l,weapon1Ammo:o,weapon2:d,weapon2Ammo:c,weapon3:h,weapon3Ammo:p,ret:g}},zs=e=>samp.callNative("NetStats_GetConnectedTime","i",e),$s=e=>samp.callNative("NetStats_MessagesReceived","i",e),Js=e=>samp.callNative("NetStats_BytesReceived","i",e),Qs=e=>samp.callNative("NetStats_MessagesSent","i",e),qs=e=>samp.callNative("NetStats_BytesSent","i",e),el=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),tl=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),il=e=>samp.callNative("NetStats_ConnectionStatus","i",e),al=e=>{const[t,i]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return{ipPort:t,ret:i}},nl=e=>!!samp.callNative("IsPlayerAdmin","i",e),rl=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),sl=e=>!!samp.callNative("Kick","i",e),ll=e=>!!samp.callNative("Ban","i",e),ol=e=>{const[t,i]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return{stats:t,ret:i}},dl=()=>{const[e,t]=samp.callNative("GetNetworkStats","Si",1024);return{stats:e,ret:t}},cl=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),_l=e=>samp.callNative("UnBlockIpAddress","s",e),hl=(e,t)=>{const[i,a]=samp.callNative("gpci","iAi",e,41);return{val:I.decodeFromBuf(I.getValidStr(i),t),ret:a}},ul=(e,t,i,a,n)=>samp.callNative("SendClientCheck","iiiii",e,t,i,a,n),ml=()=>{samp.callNative("ClearBanList","")},pl=e=>!!samp.callNative("IsBanned","s",e),fl=e=>samp.callNative("GetPlayerRawIp","i",e),gl=e=>{const[t,i]=samp.callNative("GetPlayerIp","iSi",e,128);return{ip:t,ret:i}},Pl=e=>{const[t,i]=samp.callNative("GetPlayerVersion","iSi",e,24);return{version:t,ret:i}},E=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(a=>parseInt(a,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 i=0;return t.reverse().forEach((a,n)=>{a!==0&&(i+=Math.pow(16,n*2)*a)}),i},Sl=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),yl=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Il=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),El=e=>samp.callNative("GetPlayerWeather","i",e),Al=e=>{const[t=0,i=0,a=0,n=0,r]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:i,yMax:a,yMin:n,ret:r}},Cl=e=>samp.callNativeFloat("GetPlayerZAim","i",e),Nl=e=>{const[t=0,i=0,a=0,n]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:i,fOffsetZ:a,ret:n}},Tl=e=>{const[t=0,i=0,a=0,n=0,r]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:i,y:a,z:n,ret:r}},Dl=e=>samp.callNative("GetPlayerDialogID","i",e),vl=e=>samp.callNative("GetPlayerSpectateID","i",e),wl=e=>samp.callNative("GetPlayerSpectateType","i",e),Rl=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),Ll=e=>samp.callNativeFloat("GetPlayerGravity","i",e),bl=e=>!!samp.callNative("IsPlayerSpawned","i",e),Ol=e=>!!samp.callNative("IsPlayerControllable","i",e),Gl=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),Fl=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),Bl=e=>!!samp.callNative("GetPlayerGhostMode","i",e),xl=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),kl=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),Ml=e=>!!samp.callNative("HidePlayerDialog","i",e),Vl=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),Hl=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),Ul=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),Wl=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),jl=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),Kl=(e,t,i,a)=>!!samp.callNative("GameTextForPlayer","iaii",e,t,i,a),Zl=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),Xl=(e,t,i,a)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,i,a),Yl=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),zl=e=>!!samp.callNative("IsPlayerNPC","i",e),$l=(e,t,i,a)=>!!samp.callNative("SetPlayerPos","ifff",e,t,i,a),Jl=(e,t,i,a)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,i,a),Ql=e=>{const[t,i,a,n]=samp.callNative("GetPlayerPos","iFFF",e);return{x:t,y:i,z:a,ret:n}},ql=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),eo=e=>{const[t,i]=samp.callNative("GetPlayerFacingAngle","iF",e);return{angle:t,ret:i}},to=(e,t,i,a,n)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,i,a,n),io=(e,t,i,a)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,i,a),ao=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),no=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),ro=e=>samp.callNative("GetPlayerInterior","i",e),so=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),lo=e=>{const[t,i]=samp.callNative("GetPlayerHealth","iF",e);return{health:t,ret:i}},oo=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),co=e=>{const[t,i]=samp.callNative("GetPlayerArmour","iF",e);return{armour:t,ret:i}},_o=(e,t,i)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,i),ho=e=>samp.callNative("GetPlayerAmmo","i",e),uo=e=>samp.callNative("GetPlayerWeaponState","i",e),mo=e=>samp.callNative("GetPlayerTargetPlayer","i",e),po=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},fo=e=>samp.callNative("GetPlayerTeam","i",e),go=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),Po=e=>samp.callNative("GetPlayerScore","i",e),So=e=>samp.callNative("GetPlayerDrunkLevel","i",e),yo=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),Io=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,E(t)),Eo=e=>samp.callNative("GetPlayerColor","i",e),Ao=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),Co=e=>samp.callNative("GetPlayerSkin","i",e),No=(e,t,i)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,i),To=e=>!!samp.callNative("ResetPlayerWeapons","i",e),Do=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),vo=(e,t)=>{const[i,a,n]=samp.callNative("GetPlayerWeaponData","iiII",e,t);return{weapons:i,ammo:a,ret:n}},wo=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),Ro=e=>!!samp.callNative("ResetPlayerMoney","i",e),Lo=e=>samp.callNative("GetPlayerMoney","i",e),bo=e=>samp.callNative("GetPlayerState","i",e),Oo=e=>samp.callNative("GetPlayerPing","i",e),Go=e=>samp.callNative("GetPlayerWeapon","i",e),Fo=e=>{const[t,i,a,n]=samp.callNative("GetPlayerKeys","iIII",e);return{keys:t,upDown:i,leftRight:a,ret:n}},Bo=(e,t,i)=>!!samp.callNative("SetPlayerTime","iii",e,t,i),xo=e=>{const[t,i,a]=samp.callNative("GetPlayerTime","iII",e);return{hour:t,minute:i,ret:a}},ko=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),Mo=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),Vo=e=>!!samp.callNative("ForceClassSelection","i",e),Ho=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),Uo=e=>samp.callNative("GetPlayerWantedLevel","i",e),Wo=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),jo=e=>samp.callNative("GetPlayerFightingStyle","i",e),Ko=(e,t,i,a)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,i,a),Zo=e=>{const[t,i,a,n]=samp.callNative("GetPlayerVelocity","iFFF",e);return{x:t,y:i,z:a,ret:n}},Xo=(e,t,i)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,i),Yo=(e,t,i,a,n,r,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,i,a,n,r,s),zo=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),$o=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),Jo=(e,t,i)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,i),Qo=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),qo=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),ed=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),td=(e,t,i,a,n,r)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,i,a,n,r),id=e=>{const[t,i,a,n,r,s,l]=samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e);return{fOriginX:t,fOriginY:i,fOriginZ:a,fHitPosX:n,fHitPosY:r,fHitPosZ:s,ret:l}},ad=(e,t,i)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,i),nd=e=>samp.callNative("GetPlayerVehicleID","i",e),rd=e=>samp.callNative("GetPlayerVehicleSeat","i",e),sd=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),ld=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),od=(e,t,i,a,n)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,i,a,n),dd=(e,t,i,a,n,r,s,l,o,d)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,i,a,n,r,s,l,o,d),cd=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),_d=e=>samp.callNative("GetPlayerAnimationIndex","i",e),hd=e=>samp.callNative("GetPlayerSpecialAction","i",e),ud=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),md=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),pd=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),fd=e=>samp.callNative("GetPlayerVirtualWorld","i",e),gd=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),Pd=e=>samp.callNative("GetPlayerCustomSkin","i",e),Sd=(e,t,i,a,n,r)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,i,a,n,r),yd=(e,t,i)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,i),Id=e=>!!samp.callNative("StopRecordingPlayerData","i",e),Ed=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),Ad=(e,t,i)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,i),Cd=(e,t,i)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,i),Nd=e=>!!samp.callNative("IsPlayerConnected","i",e),Td=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),Dd=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),vd=(e,t,i,a,n)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,i,a,n),wd=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),Rd=(e,t,i)=>!!samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,E(i));function Ld(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",e,t)}const bd=(e,t,i)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,i),Od=(e,t,i,a)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,i,a),Gd=(e,t,i,a,n)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,i,a,n),Fd=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),Bd=e=>{const[t,i,a,n]=samp.callNative("GetPlayerCameraPos","iFFF",e);return{x:t,y:i,z:a,ret:n}},xd=e=>{const[t,i,a,n]=samp.callNative("GetPlayerCameraFrontVector","iFFF",e);return{x:t,y:i,z:a,ret:n}},kd=e=>samp.callNative("GetPlayerCameraMode","i",e),Md=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),Vd=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),Hd=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),Ud=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),Wd=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),jd=(e,t,i,a,n,r,s,l,o)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,i,a,n,r,s,l,o),Kd=(e,t,i,a,n,r,s,l,o)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,i,a,n,r,s,l,o),Zd=e=>!!samp.callNative("IsPlayerCuffed","i",e),Xd=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),Yd=e=>!!samp.callNative("IsPlayerUsingOmp","i",e),zd=e=>samp.callNative("GetActorSkin","i",e),$d=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),Jd=e=>{const[t=0,i=0,a=0,n=0,r=0,s]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:i,fY:a,fZ:n,fAngle:r,ret:s}},Qd=e=>{const[t=0,i=0,a=0,n=0,r=0,s=0,l]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:i,fZ:a,fRot:n,color1:r,color2:s,ret:l}},qd=(e,t,i,a,n,r,s,l,o=-2,d=-2)=>samp.callNative("SetVehicleSpawnInfo","iiffffiiii",e,t,i,a,n,r,s,l,o,d),ec=e=>{const[t=0,i=0,a]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:i,ret:a}},tc=e=>samp.callNative("GetVehiclePaintjob","i",e),ic=e=>samp.callNative("GetVehicleInterior","i",e),ac=e=>{const[t,i]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return{plate:t,ret:i}},nc=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),rc=e=>samp.callNative("GetVehicleRespawnDelay","i",e),sc=e=>samp.callNative("GetVehicleCab","i",e),lc=e=>samp.callNative("GetVehicleOccupiedTick","i",e),oc=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),dc=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),cc=e=>!!samp.callNative("IsVehicleOccupied","i",e),_c=e=>samp.callNative("GetVehicleRespawnTick","i",e),hc=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),uc=e=>!!samp.callNative("IsVehicleDead","i",e),mc=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),pc=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),fc=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),gc=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),Pc=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),Sc=e=>samp.callNative("GetVehicleModelCount","i",e),yc=e=>samp.callNative("GetVehicleLastDriver","i",e),Ic=e=>samp.callNative("GetVehicleDriver","i",e),Ec=()=>samp.callNative("GetVehicleModelsUsed",""),Ac=e=>samp.callNative("GetVehicleSirenState","i",e),Cc=e=>samp.callNative("GetVehicleLandingGearState","i",e),Nc=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),Tc=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),Dc=e=>{const[t=0,i=0,a=0,n=0,r=0,s=0,l=0,o=0,d=0,c]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:i,rightZ:a,upX:n,upY:r,upZ:s,atX:l,atY:o,atZ:d,ret:c}},ti=e=>{const[t=0,i=0,a=0,n=0,r]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,i,a,n],ret:r}},vc=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),wc=(e,t,i,a,n,r,s,l,o)=>samp.callNative("CreateVehicle","iffffiiii",e,t,i,a,n,E(r),E(s),l,o),Rc=e=>samp.callNative("DestroyVehicle","i",e),Lc=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),bc=e=>{const[t,i,a,n]=samp.callNative("GetVehiclePos","iFFF",e);return{x:t,y:i,z:a,ret:n}},Oc=(e,t,i,a)=>!!samp.callNative("SetVehiclePos","ifff",e,t,i,a),Gc=e=>{const[t,i]=samp.callNative("GetVehicleZAngle","iF",e);return{angle:t,ret:i}},Fc=e=>{const[t,i,a,n,r]=samp.callNative("GetVehicleRotationQuat","iFFFF",e);return{w:t,x:i,y:a,z:n,ret:r}},Bc=(e,t,i,a)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,i,a),xc=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),kc=(e,t,i,a)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,i,a),Mc=()=>samp.callNative("ManualVehicleEngineAndLights",""),Vc=(e,t,i,a,n,r,s,l)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,i,a,n,r,s,l),Hc=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),Uc=e=>samp.callNative("GetVehicleParamsSirenState","i",e),Wc=(e,t,i,a,n)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,i,a,n),jc=e=>{const[t,i,a,n,r]=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t,passenger:i,backLeft:a,backRight:n,ret:r}},Kc=(e,t,i,a,n)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,i,a,n),Zc=e=>{const[t,i,a,n,r]=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t,passenger:i,backLeft:a,backRight:n,ret:r}},Xc=e=>samp.callNative("SetVehicleToRespawn","i",e),Yc=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),zc=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),$c=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),Jc=(e,t,i)=>samp.callNative("ChangeVehicleColor","iii",e,E(t),E(i)),Qc=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),qc=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),e_=e=>{const[t,i]=samp.callNative("GetVehicleHealth","iF",e);return{health:t,ret:i}},t_=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),i_=e=>samp.callNative("DetachTrailerFromVehicle","i",e),a_=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),n_=e=>samp.callNative("GetVehicleTrailer","i",e),r_=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),s_=e=>samp.callNative("GetVehicleModel","i",e),l_=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),o_=e=>samp.callNative("GetVehicleComponentType","i",e),d_=e=>samp.callNative("RepairVehicle","i",e),c_=e=>{const[t,i,a,n]=samp.callNative("GetVehicleVelocity","iFFF",e);return{x:t,y:i,z:a,ret:n}},__=(e,t,i,a)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,i,a),h_=(e,t,i,a)=>!!samp.callNative("SetVehicleAngularVelocity","ifff",e,t,i,a),u_=e=>{const[t,i,a,n,r]=samp.callNative("GetVehicleDamageStatus","iIIII",e);return{panels:t,doors:i,lights:a,tires:n,ret:r}},m_=(e,t,i,a,n)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,i,a,n),p_=(e,t)=>{const[i,a,n,r]=samp.callNative("GetVehicleModelInfo","iiFFF",e,t);return{x:i,y:a,z:n,ret:r}},f_=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),g_=e=>samp.callNative("GetVehicleVirtualWorld","i",e),P_=e=>!!samp.callNative("IsValidVehicle","i",e),S_=(e,t,i,a,n,r,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,i,a,n,E(r),E(s)),y_=(e,t,i,a,n,r,s,l,o)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,i,a,n,E(r),E(s),l,o),I_=e=>!!samp.callNative("ShowVehicle","i",e),E_=e=>!!samp.callNative("HideVehicle","i",e),A_=e=>!!samp.callNative("IsVehicleHidden","i",e),C_=e=>!!samp.callNative("IsPlayerInModShop","i",e),N_=e=>samp.callNative("GetPlayerSirenState","i",e),T_=e=>samp.callNative("GetPlayerLandingGearState","i",e),D_=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),v_=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),w_=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),ii=e=>samp.callNative("GetVehicleMaxPassengers","i",e),R_=e=>samp.callNative("CountVehicleOccupants","i",e),L_=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),b_=e=>{const[t=0,i=0,a=0,n=0,r]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:i,fZ:a,fSize:n,ret:r}},O_=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),G_=e=>{const[t=0,i=0,a=0,n=0,r=0,s=0,l=0,o]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:i,fZ:a,fNextX:n,fNextY:r,fNextZ:s,fSize:l,ret:o}},F_=e=>!!samp.callNative("IsMenuDisabled","i",e),B_=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),x_=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),k_=e=>{const[t=0,i=0,a]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:i,ret:a}},M_=e=>{const[t=0,i=0,a]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:i,ret:a}},V_=(e,t)=>{const[i,a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return{header:i,ret:a}},H_=(e,t,i)=>{const[a,n]=samp.callNative("GetMenuItem","iiiSi",e,t,i,31);return{item:a,ret:n}},U_=(e,t,i,a,n,r)=>samp.callNative("CreateMenu","siffff",e,t,i,a,n,r),W_=e=>samp.callNative("DestroyMenu","i",e),j_=(e,t,i)=>samp.callNative("AddMenuItem","iis",e,t,i),K_=(e,t,i)=>samp.callNative("SetMenuColumnHeader","iis",e,t,i),Z_=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),X_=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),Y_=e=>!!samp.callNative("IsValidMenu","i",e),z_=e=>samp.callNative("DisableMenu","i",e),$_=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),J_=e=>samp.callNative("GetPlayerMenu","i",e),Q_=e=>!!samp.callNative("IsValidGangZone","i",e),q_=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),eh=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),th=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),ih=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),ah=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),nh=e=>{const[t=0,i=0,a=0,n=0,r]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:i,fMaxX:a,fMaxY:n,ret:r}},rh=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},sh=(e,t,i,a)=>samp.callNative("GangZoneCreate","ffff",e,t,i,a),lh=e=>samp.callNative("GangZoneDestroy","i",e),oh=(e,t,i)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,E(i)),dh=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,E(t)),ch=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),_h=e=>samp.callNative("GangZoneHideForAll","i",e),hh=(e,t,i)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,E(i)),uh=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,E(t)),mh=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),ph=e=>samp.callNative("GangZoneStopFlashForAll","i",e),fh=(e,t,i,a,n)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,i,a,n),gh=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),Ph=(e,t,i)=>samp.callNative("PlayerGangZoneShow","iii",e,t,i),Sh=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),yh=(e,t,i)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,i),Ih=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),Eh=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),Ah=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),Ch=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),Nh=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),Th=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),Dh=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),vh=(e,t)=>{const[i=0,a=0,n=0,r=0,s]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:i,fMinY:a,fMaxX:n,fMaxY:r,ret:s}},wh=(e,t,i)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,i)},Rh=e=>!!samp.callNative("IsValidTextDraw","i",e),Lh=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),bh=e=>{const[t,i]=samp.callNative("TextDrawGetString","iSi",e,1024);return{str:t,ret:i}},Oh=(e,t,i)=>{samp.callNative("TextDrawSetPos","iff",e,t,i)},Gh=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:i,ret:a}},Fh=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:i,ret:a}},Bh=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:i,ret:a}},xh=e=>samp.callNative("TextDrawGetColor","i",e),kh=e=>samp.callNative("TextDrawGetBoxColor","i",e),Mh=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),Vh=e=>samp.callNative("TextDrawGetShadow","i",e),Hh=e=>samp.callNative("TextDrawGetOutline","i",e),Uh=e=>samp.callNative("TextDrawGetFont","i",e),Wh=e=>!!samp.callNative("TextDrawIsBox","i",e),jh=e=>!!samp.callNative("TextDrawIsProportional","i",e),Kh=e=>!!samp.callNative("TextDrawIsSelectable","i",e),Zh=e=>samp.callNative("TextDrawGetAlignment","i",e),Xh=e=>samp.callNative("TextDrawGetPreviewModel","i",e),Yh=e=>{const[t=0,i=0,a=0,n=0,r]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:i,fRotZ:a,fZoom:n,ret:r}},zh=e=>{const[t,i,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:i,ret:a}},$h=(e,t,i)=>{samp.callNative("TextDrawSetStringForPlayer","iia",e,t,i)},Jh=(e,t,i)=>samp.callNative("TextDrawCreate","ffa",e,t,i),Qh=e=>samp.callNative("TextDrawDestroy","i",e),qh=(e,t,i)=>samp.callNative("TextDrawLetterSize","iff",e,t,i),eu=(e,t,i)=>samp.callNative("TextDrawTextSize","iff",e,t,i),tu=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),iu=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,E(t)),au=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),nu=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,E(t)),ru=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),su=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),lu=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,E(t)),ou=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),du=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),cu=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),_u=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),hu=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),uu=e=>samp.callNative("TextDrawShowForAll","i",e),mu=e=>samp.callNative("TextDrawHideForAll","i",e),pu=(e,t)=>samp.callNative("TextDrawSetString","ia",e,t),fu=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),gu=(e,t,i,a,n=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,i,a,n)},Pu=(e,t,i)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,E(t),E(i)),Su=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,E(t))},yu=e=>{samp.callNative("CancelSelectTextDraw","i",e)},Iu=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),Eu=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),Au=(e,t)=>{const[i,a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return{str:i,ret:a}},Cu=(e,t,i,a)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,i,a)},Nu=(e,t)=>{const[i=0,a=0,n]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:i,fY:a,ret:n}},Tu=(e,t)=>{const[i=0,a=0,n]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:i,fY:a,ret:n}},Du=(e,t)=>{const[i=0,a=0,n]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:i,fY:a,ret:n}},vu=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),wu=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),Ru=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),Lu=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),bu=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),Ou=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),Gu=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),Fu=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),Bu=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),xu=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),ku=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),Mu=(e,t)=>{const[i=0,a=0,n=0,r=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:i,fRotY:a,fRotZ:n,fZoom:r}},Vu=(e,t)=>{const[i,a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:i,color2:a,ret:n}},Hu=(e,t,i,a)=>samp.callNative("CreatePlayerTextDraw","iffa",e,t,i,a),Uu=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},Wu=(e,t,i,a)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,i,a),ju=(e,t,i,a)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,i,a),Ku=(e,t,i)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,i),Zu=(e,t,i)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,E(i)),Xu=(e,t,i)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,i),Yu=(e,t,i)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,E(i)),zu=(e,t,i)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,i),$u=(e,t,i)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,i),Ju=(e,t,i)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,E(i)),Qu=(e,t,i)=>samp.callNative("PlayerTextDrawFont","iii",e,t,i),qu=(e,t,i)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,i),em=(e,t,i)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,i),tm=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),im=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),am=(e,t,i)=>samp.callNative("PlayerTextDrawSetString","iia",e,t,i),nm=(e,t,i)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,i),rm=(e,t,i,a,n,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,i,a,n,r),sm=(e,t,i,a)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,i,a),lm=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),om=e=>!!samp.callNative("BeginObjectSelecting","i",e),dm=e=>!!samp.callNative("EndObjectEditing","i",e),cm=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),_m=(e,t,i,a,n)=>samp.callNative("AddSimpleModel","iiiss",e,t,i,a,n),hm=(e,t,i,a,n,r,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,i,a,n,r,s),um=(e,t)=>samp.callNative("RedirectDownload","is",e,t),mm=e=>{const[t,i]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return{name:t,ret:i}},pm=e=>{const[t,i]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return{name:t,ret:i}},fm=(e,t)=>{const[i=0,a=0,n=0,r=0,s=0,l=0,o=0,d=0,c=0,h=0,p=0,g=0,f=0,y]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:i,bone:a,fX:n,fY:r,fZ:s,fRotX:l,fRotY:o,fRotZ:d,fScaleX:c,fScaleY:h,fScaleZ:p,materialColor1:g,materialColor2:f,ret:y}},gm=(e,t,i,a,n,r,s,l,o,d,c,h,p,g,f)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,i,a,n,r,s,l,o,d,c,h,p,E(g),E(f)),Pm=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),Sm=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),ai=e=>!!samp.callNative("IsValidCustomModel","i",e),ym=e=>{if(!ai(e))return null;const[t,i,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:i,ret:a}},ni=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}]]]),et=e=>{const t=ni.get(e.toUpperCase());return t===void 0?!1:t},tt=(e,t)=>{const i=et(e);if(i)return t==="null"?!0:i.some(a=>a.n===t)},Im=(e,t)=>{const i=et(e);if(i)return i.find(a=>a.n===t)?.d},ee=(e,t)=>{const i=t.replace("-","")==="utf8"?e:I.encodeToBuf(e,t);return[i instanceof Array?"a":"s",i]},ri=(e,t,i)=>{const a=ee(i,e.charset);return samp.callNative("SendClientMessage",`ii${a[0]}`,e.id,E(t),a[1])},Em=(e,t,i)=>(e.forEach(a=>ri(a,t,i)),1),si=(e,t,i)=>{const a=ee(i,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${a[0]}`,e.id,t,a[1])},Am=(e,t,i)=>(e.forEach(a=>{si(a,t,i)}),1),Cm=(e,t,i)=>{const{charset:a}=e,{style:n,caption:r,info:s,button1:l,button2:o}=i,[d,c]=ee(r||"",a),[,h]=ee(s||"",a),[,p]=ee(l||"",a),[,g]=ee(o||"",a);return!!samp.callNative("ShowPlayerDialog",`iii${d.repeat(4)}`,e.id,t,n,c,h,p,g)},Nm=e=>{const[t,i]=samp.callNative("GetPlayerName","iAi",e.id,F.MAX_PLAYER_NAME);return{name:I.decodeFromBuf(I.getValidStr(t),e.charset),ret:i}},Tm=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,I.encodeToBuf(t,e.charset)),Dm=(e,t,i)=>{const a=I.encodeToBuf(t,i);return samp.callNative("BanEx","ia",e,a)},vm=(e,t="utf8")=>{const[i,a]=ee(e,t);return samp.callNative("SendRconCommand",i,a)},wm=(e,t,i,a,n,r,s,l,o,d,c,h,p,g,f,y)=>{const w=I.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",w,i,a,n,r,s,l,o,d,c,h,p,g,f,y)},Rm=(e,t,i,a,n,r,s,l,o,d,c,h,p,g,f,y)=>{const w=I.encodeToBuf(e,y);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",w,t,i,a,n,r,s,l,o,d,c,h,p,g,f,c.length,h.length,p.length,g.length)},Lm=(e,t,i,a)=>{const n=I.encodeToBuf(i,a);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,n)},bm=(e,t)=>{const[i,a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return{text:I.decodeFromBuf(I.getValidStr(i),t),ret:a}},Om=(e,t,i,a,n,r,s,l,o,d,c)=>{const h=I.encodeToBuf(a,e),p=I.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,i,h,n,p,s,l,o,d,c)},Gm=(e,t,i="utf8")=>{const[a,n,r,s,l]=samp.callNative("GetDynamicObjectMaterial","iiIAAIii",e,t,64,64);return{modelId:a,txdName:I.decodeFromBuf(I.getValidStr(n),i),textureName:I.decodeFromBuf(I.getValidStr(r),i),materialColor:s,ret:l}},Fm=(e,t,i)=>{const[a,n,r,s,l,o,d,c,h]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),p=I.decodeFromBuf(a,i),g=I.decodeFromBuf(r,i);return{text:p,materialSize:n,fontFace:g,fontSize:s,bold:l,fontColor:o,backColor:d,textAlignment:c,ret:h}},Bm=(e,t,i,a,n,r)=>{const s=I.encodeToBuf(t,r);return!!samp.callNative("SetPlayerChatBubble","iaifi",e,s,E(i),a,n)},te=Symbol(),j=new Map,K=new Map,De=new Map,ve=new Map,we=new Map,Re=new Map,Z=new Map,ie=new Map,ae=new Map,Le=new Map,be=new Map,X=new Map,fe=new Map,Q=new Map,ne=new Map,re=new Map,se=new Map,ge=new Map,le=new Map,Y=new Uint32Array(65536),xm=(e,t)=>{const i=e.length,a=t.length,n=1<<i-1;let r=-1,s=0,l=i,o=i;for(;o--;)Y[e.charCodeAt(o)]|=1<<o;for(o=0;o<a;o++){let d=Y[t.charCodeAt(o)];const c=d|s;d|=(d&r)+r^r,s|=~(d|r),r&=d,s&n&&l++,r&n&&l--,s=s<<1|1,r=r<<1|~(c|s),s&=c}for(o=i;o--;)Y[e.charCodeAt(o)]=0;return l},km=(e,t)=>{const i=t.length,a=e.length,n=[],r=[],s=Math.ceil(i/32),l=Math.ceil(a/32);for(let f=0;f<s;f++)r[f]=-1,n[f]=0;let o=0;for(;o<l-1;o++){let f=0,y=-1;const w=o*32,G=Math.min(32,a)+w;for(let T=w;T<G;T++)Y[e.charCodeAt(T)]|=1<<T;for(let T=0;T<i;T++){const J=Y[t.charCodeAt(T)],U=r[T/32|0]>>>T&1,H=n[T/32|0]>>>T&1,ot=J|f,dt=((J|H)&y)+y^y|J|H;let Ie=f|~(dt|y),Me=y&dt;Ie>>>31^U&&(r[T/32|0]^=1<<T),Me>>>31^H&&(n[T/32|0]^=1<<T),Ie=Ie<<1|U,Me=Me<<1|H,y=Me|~(ot|Ie),f=Ie&ot}for(let T=w;T<G;T++)Y[e.charCodeAt(T)]=0}let d=0,c=-1;const h=o*32,p=Math.min(32,a-h)+h;for(let f=h;f<p;f++)Y[e.charCodeAt(f)]|=1<<f;let g=a;for(let f=0;f<i;f++){const y=Y[t.charCodeAt(f)],w=r[f/32|0]>>>f&1,G=n[f/32|0]>>>f&1,T=y|d,J=((y|G)&c)+c^c|y|G;let U=d|~(J|c),H=c&J;g+=U>>>a-1&1,g-=H>>>a-1&1,U>>>31^w&&(r[f/32|0]^=1<<f),H>>>31^G&&(n[f/32|0]^=1<<f),U=U<<1|w,H=H<<1|G,c=H|~(T|U),d=U&T}for(let f=h;f<p;f++)Y[e.charCodeAt(f)]=0;return g},li=(e,t)=>{if(e.length<t.length){const i=t;t=e,e=i}return t.length===0?e.length:e.length<=32?xm(e,t):km(e,t)},Mm=(e,t)=>{let i=1/0,a=0;for(let n=0;n<t.length;n++){const r=li(e,t[n]);r<i&&(i=r,a=n)}return t[a]},oe=new Map,de=new Map,oi=/[^/\s]+/gi,Oe={NOT_EXIST:{code:1,msg:"command does not exist"},REJECTED:{code:2,msg:"An event registered through onCommandText returned false"},PERFORMED:{code:3,msg:"An event registered through onCommandPerformed returned false"},RECEIVED_THROW:{code:4,msg:"An event registered through onCommandReceived throw an error"},RECEIVED_REJECTED:{code:5,msg:"An event registered through onCommandReceived returned false"}},[Vm,Hm]=u({name:"OnCommandReceived",isNative:!1,throwOnError:!0,beforeEach(e,t,i,a,n,r,s,l,o){return{player:e,command:t,cmdText:i,buffer:a,strictMainCmd:n,noStrictMainCmd:r,hasStrict:s,hasNoStrict:l,subcommand:o}}}),[Um,Wm]=u({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t,i,a,n,r,s,l,o){return{player:e,command:t,cmdText:i,buffer:a,strictMainCmd:n,noStrictMainCmd:r,hasStrict:s,hasNoStrict:l,subcommand:o}}}),[jm,Ge]=u({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,i,a,n,r,s,l,o,d){return{player:e,error:t,command:i,cmdText:a,buffer:n,strictMainCmd:r,noStrictMainCmd:s,hasStrict:l,hasNoStrict:o,subcommand:d,getSuggestion(){const c=Mm(a,[...oe.keys(),...de.keys()]),h=li(a,c);return{suggestion:c,distance:h}}}}}),[Km,Zm]=u({name:"OnPlayerCommandTextI18n",identifier:"iai",defaultValue:!1,beforeEach(e,t){const i=j.get(e);let a=t,n="";return typeof t=="string"?(n=t,a=I.encodeToBuf(n,"utf-8")):n=I.decodeFromBuf(t,i.charset),{player:i,buffer:a,cmdText:n}}}),[Xm,Ym]=u({name:"OnPlayerCommandTextRaw",isNative:!1,defaultValue:!1,beforeEach(e,t,i){return{player:e,buffer:t,cmdText:i}}});function zm(e){const t=[];let i="";for(let a=0;a<e.length;a++)i+=e[a]+" ",t.push(i.trimEnd());return t.reverse()}Km(({player:e,buffer:t,cmdText:i,next:a})=>{const n=Ym(e,t,i);if(n)return n;const r=i.match(oi),s=zm(r),l=s.find(y=>oe.has(y)),o=s.map(y=>y.toLowerCase()).find(y=>de.has(y)),d=!!l,c=!!o,h=r.join(" ");let p=[];const g=[[l,oe,!0],[o,de,!1]],f=[h,i,t,l,o,d,c,p];if(d||c){const y=g[0][0]||g[1][0];p=h.replace(y,"").trim().split(" ")}else return Ge(e,Oe.NOT_EXIST,...f);try{if(!Hm(e,...f))return Ge(e,Oe.RECEIVED_REJECTED,...f)}catch(y){const w=typeof y=="object"?y:{error:y};return Ge(e,{...Oe.RECEIVED_THROW,...w},...f)}for(const[y,w,G]of g){if(!y)continue;const T=w.get(y),[,J]=T;if(!J(e,y,p,i,t,G))return Ge(e,Oe.REJECTED,...f)}return Wm(e,h,i,t,l,o,d,c,p)?(a(),!0):Ge(e,Oe.PERFORMED,...f)});function $m(e,t,i,a,n,r){return{player:e,mainCommand:t,subcommand:i,cmdText:a,buffer:n,isStrict:r}}class M{static caseSensitive=!1;constructor(){}static on(t,i){let a=M.caseSensitive,n,r;typeof t=="string"||t instanceof Array?(n=t,r=i):(n=t.command,r=t.run,typeof t.caseSensitive<"u"&&(a=t.caseSensitive));const s=Array.isArray(n)?n:[n],l=s.find(c=>!c.match(oi));if(l)return console.log(`error command ${l} format`),()=>{};const o=a?oe:de,d=s.map(c=>{const h=c.replaceAll("/",""),p=a?h:h.toLowerCase();if(!o.has(p)){const f=u({name:a?"$"+p:p,isNative:!1,beforeEach:$m});o.set(p,f)}const[g]=o.get(p);return[p,g(r)]});return()=>{d.forEach(c=>{const[h,p]=c;p()===0&&o.delete(h)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(i=>{let a=i.replaceAll("/","");oe.has(a)&&(B.has(a)&&B.delete(a),oe.has(a)&&oe.delete(a)),a=a.toLowerCase(),de.has(a)&&(B.has(a)&&B.delete(a),de.has(a)&&de.delete(a))})}static enableCaseSensitive(){M.caseSensitive=!0}static disableCaseSensitive(){M.caseSensitive=!1}static isCaseSensitive(){return M.caseSensitive}static simulate(t,i){return Zm(t.id,i)}}const[di]=u({name:"OnClientCheckResponse",identifier:"iiii",beforeEach(e,t,i,a){return{player:m.getInstance(e),actionId:t,memAddr:i,data:a}}}),[Jm,Qm]=u({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,i){return{player:e,newLocale:t,oldLocale:i}}}),[qm,ep]=u({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,i){return{player:e,newCharset:t,oldCharset:i}}});class m{constructor(t){if(this.id=t,t<0||t>=F.MAX_PLAYERS)throw new Error(`Invalid player ID: ${t} (valid range: 0-${F.MAX_PLAYERS-1})`);const i=m.getInstance(t);if(i)return i;j.set(t,this)}[te]={isAndroid:!0};static MAX_CHECK_ANDROID_DELAY=10;static SKIP_CHECK_ANDROID=!1;_charset="ISO-8859-1";_locale="en_US";lastDrunkLevel=0;lastFps=0;lastUpdateTick=0;lastUpdateFpsTick=0;isPaused=!1;isRecording=!1;get charset(){return this._charset}set charset(t){const i=this._charset;this._charset=t,ep(this,t,i)}get locale(){return this._locale}set locale(t){const i=this._locale;this._locale=t,Qm(this,t,i)}sendClientMessage(t,i){return ri(this,t,i)}static sendClientMessageToAll(t,i){Em(m.getInstances(),t,i)}sendMessageToPlayer(t,i){return si(t,this.id,i)}sendMessageToAll(t){return Am(m.getInstances(),this.id,t)}isNpc(){return zl(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return So(this.id)}setDrunkLevel(t){if(t<0||t>5e4)throw new Error("[Player]: player's drunk level ranges from 0 to 50000");return yo(this.id,t)}allowTeleport(t){return Hl(this.id,t)}isTeleportAllowed(){return Ul(this.id)}enableCameraTarget(t){return Md(this.id,t)}enableStuntBonus(t){return gd(this.id,t)}getInterior(){return ro(this.id)}setInterior(t){return no(this.id,t)}showNameTag(t,i){return bd(this.id,t.id,i)}setColor(t){return Io(this.id,t)}getColor(){return Eo(this.id)}setMarker(t,i){Rd(this.id,t.id,i)}getMarker(t){return Ld(this.id,t.id)}resetMoney(){return Ro(this.id)}getMoney(){return Lo(this.id)}giveMoney(t){return wo(this.id,t)}resetWeapons(){return To(this.id)}spawn(){return Xs(this.id)}setHealth(t){return so(this.id,t)}getHealth(){return lo(this.id)}toggleClock(t){return ko(this.id,t)}toggleControllable(t){return ld(this.id,t)}toggleSpectating(t){return Ed(this.id,t)}spectatePlayer(t,i=Ue.NORMAL){return Ad(this.id,t.id,i)}spectateVehicle(t,i=Ue.NORMAL){return Cd(this.id,t.id,i)}forceClassSelection(){return Vo(this.id)}kick(){return sl(this.id)}ban(){return ll(this.id)}banEx(t,i){return Dm(this.id,t,i)}isAdmin(){return nl(this.id)}isInRangeOfPoint(t,i,a,n){return to(this.id,t,i,a,n)}isStreamedIn(t){return ao(this.id,t.id)}setSkin(t,i=!1){return!i&&(t<0||t>311||t===74)||this.getHealth().health<=0||this.isInAnyVehicle()||this.getSpecialAction()===$e.DUCK?!1:Ao(this.id,t)}getSkin(){return Co(this.id)}isInAnyVehicle(){return Dd(this.id)}getSpecialAction(){return hd(this.id)}setSpecialAction(t){return ud(this.id,t)}setScore(t){return go(this.id,t)}getScore(){return Po(this.id)}getPing(){return Oo(this.id)||0}setPos(t,i,a){return $l(this.id,t,i,a)}getPos(){return Ql(this.id)}isSpectating(){return this.getState()===Ne.SPECTATING}isWasted(){return this.getState()===Ne.WASTED}getState(){return bo(this.id)}getVersion(){return Pl(this.id)}setVirtualWorld(t){return pd(this.id,t)}getVirtualWorld(){return fd(this.id)}removeFromVehicle(){return sd(this.id)}setWantedLevel(t){if(t<0||t>6)throw new Error("[Player]: player's wanted level ranges from 0 to 6");return Ho(this.id,t)}getWantedLevel(){return Uo(this.id)}setFacingAngle(t){return ql(this.id,t)}getFacingAngle(){return eo(this.id)}setWeather(t){if(t<0||t>255)throw new Error("[Player]: The valid weather value is only 0 to 255");return Mo(this.id,t)}getWeather(){return El(this.id)}setTime(t,i){if(t<0||t>23)throw new Error("[Player]: The valid hour value is only 0 to 23");if(i<0||i>59)throw new Error("[Player]: The valid minute value is only 0 to 59");return Bo(this.id,t,i)}getTime(){return xo(this.id)}removeBuilding(t,i,a,n,r){return td(this.id,t,i,a,n,r)}setTeam(t){t<0||t>N.NO_TEAM||po(this.id,t)}getTeam(){return fo(this.id)}setSkillLevel(t,i){if(i<0||i>999)throw new Error("[Player]: The valid skill level is only 0 to 999");return Jo(this.id,t,i)}getName(){return Nm(this)}setName(t){return Tm(this,t)}setVelocity(t,i,a){return Ko(this.id,t,i,a)}getVelocity(){return Zo(this.id)}getSpeed(t=180){if(this.id===-1)return 0;const{x:i,y:a,z:n}=this.getVelocity();return qe(i,a,n)*t}getKeys(){return Fo(this.id)}getIp(){return gl(this.id)}getFightingStyle(){return jo(this.id)}setFightingStyle(t){return Wo(this.id,t)}setArmour(t){return oo(this.id,t)}getArmour(){return co(this.id)}setCameraBehind(){return Fd(this.id)}setCameraPos(t,i,a){return Od(this.id,t,i,a)}setCameraLookAt(t,i,a,n=Ce.CUT){return Gd(this.id,t,i,a,n)}getCameraAspectRatio(){return Ud(this.id)}getCameraFrontVector(){return xd(this.id)}getCameraMode(){return kd(this.id)}getCameraPos(){return Bd(this.id)}getCameraTargetPlayer(){const t=Hd(this.id);return m.getInstances().find(i=>i.id===t)}getCameraTargetVehicle(){const t=Vd(this.id);return[...K.values()].find(i=>i.id===t)}getCameraZoom(){return Wd(this.id)}playAudioStream(t,i=0,a=0,n=0,r=5){let s=!1;return(i!==0||a!==0||n!==0)&&(s=!0),Yo(this.id,t,i,a,n,r,s)}stopAudioStream(){return zo(this.id)}playSound(t,i=0,a=0,n=0){return od(this.id,t,i,a,n)}static getMaxPlayers(){return ps()}playCrimeReport(t,i){if(i<3||i>22)throw new Error("[Player]: Available crime ids range from 3 to 22");return Xo(this.id,t.id,i)}interpolateCameraPos(t,i,a,n,r,s,l,o=Ce.CUT){return jd(this.id,t,i,a,n,r,s,l,o)}interpolateCameraLookAt(t,i,a,n,r,s,l,o=Ce.CUT){return Kd(this.id,t,i,a,n,r,s,l,o)}createExplosion(t,i,a,n,r){if(n<0||n>13)throw new Error("[Player]: The valid explosion type value is only 0 to 13");return Sd(this.id,t,i,a,n,r)}static isConnected(t){return Nd(t)}isConnected(){return m.isConnected(this.id)}disableRemoteVehicleCollisions(t){return md(this.id,t)}getVehicle(){if(!this.isInAnyVehicle())return;const t=nd(this.id);return[...K.values()].find(i=>i.id===t)}getVehicleSeat(){return rd(this.id)}getSurfingVehicle(){const t=Qo(this.id);if(t!==N.VEHICLE_ID)return[...K.values()].find(i=>i.id===t)}applyAnimation(t,i,a=4.1,n=!1,r=!0,s=!0,l=!1,o=0,d=!1){if(!tt(t,i))throw new Error(`[Player]: Invalid anim library or name ${t} ${i}`);return dd(this.id,t,i,a,n,r,s,l,o,+d)}clearAnimations(t=!1){return cd(this.id,t)}getAnimationIndex(){return _d(this.id)}getAnimationName(t=this.getAnimationIndex()){const[i,a]=Gs(t);return{index:t,animLib:i,animName:a}}setShopName(t){return $o(this.id,t)}setPosFindZ(t,i,a){return Jl(this.id,t,i,a)}setWorldBounds(t,i,a,n){return vd(this.id,t,i,a,n)}clearWorldBounds(){return wd(this.id)}setChatBubble(t,i,a,n,r=this.charset){return Bm(this.id,t,i,a,n,r)}getDistanceFromPoint(t,i,a){return io(this.id,t,i,a)}getCustomSkin(){return Pd(this.id)}getTargetPlayer(){const t=mo(this.id);if(t!==N.PLAYER_ID)return m.getInstances().find(i=>i.id===t)}getLastShotVectors(){return id(this.id)}getWeapon(){return Go(this.id)}getWeaponData(t){return vo(this.id,t)}getWeaponState(){return uo(this.id)}giveWeapon(t,i){return No(this.id,t,i)}setAmmo(t,i){return _o(this.id,t,i)}getAmmo(){return ho(this.id)}setArmedWeapon(t){return Do(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(N.PLAYER_ID,N.PLAYER_ID,Je.CONNECT)}sendDeathMessage(t,i){return ms(t===N.PLAYER_ID?t:t.id,this.id,i)}sendDeathMessageToPlayer(t,i,a){return Xl(this.id,t===N.PLAYER_ID?t:t.id,i===N.PLAYER_ID?i:i.id,a)}setSpawnInfo(t,i,a,n,r,s,l,o,d,c,h,p){return t<0||t>N.NO_TEAM||i<0||i>311||i===74||o<0||c<0||p<0?!1:Zs(this.id,t,i,a,n,r,s,l,o,d,c,h,p)}redirectDownload(t){return um(this.id,t)}sendClientCheck(t,i,a,n){const r=[2,5,69,70,71,72];if(!r.includes(t))throw new Error(`[Player]: sendClientCheck valid types are ${r.toString()}`);return new Promise((s,l)=>{if(this.isPaused)return l("[Player]: An attempt to check the player client response, but the player paused the game");const o="[Player]: An attempt to check the player client response timed out",d=this.getPing(),c=(d>=200?0:d)+200;let h=null;const p=di(({player:g,actionId:f,memAddr:y,data:w,next:G})=>(g!==this||(h&&(clearTimeout(h),h=null),s({actionId:f,memAddr:y,data:w})),G()));h=setTimeout(()=>{p(),l(o)},c),ul(this.id,t,i,a,n)})}selectTextDraw(t){Su(this.id,t)}cancelSelectTextDraw(){yu(this.id)}beginObjectSelecting(){return om(this.id)}endObjectEditing(){return dm(this.id)}getSurfingObject(){const t=qo(this.id);if(t!==N.OBJECT_ID)return X.get(t)}getSurfingPlayerObject(){const t=ed(this.id);if(t!==N.OBJECT_ID)return X.get(t)}isAttachedObjectSlotUsed(t){return Sm(this.id,t)}editAttachedObject(t){return lm(this.id,t)}setAttachedObject(t,i,a,n=0,r=0,s=0,l=0,o=0,d=0,c=1,h=1,p=1,g=0,f=0){return this.isAttachedObjectSlotUsed(t)?0:gm(this.id,t,i,a,n,r,s,l,o,d,c,h,p,g,f)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?Pm(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 Sl(this.id,t)}isWidescreenToggled(){return yl(this.id)}getSpawnInfo(){return Ys(this.id)}getSkillLevel(t){return Il(this.id,t)}isCheckpointActive(){return L_(this.id)}getCheckpoint(){return b_(this.id)}isRaceCheckpointActive(){return O_(this.id)}getRaceCheckpoint(){return G_(this.id)}getWorldBounds(){return Al(this.id)}isInModShop(){return C_(this.id)}getSirenState(){return N_(this.id)}getLandingGearState(){return T_(this.id)}getHydraReactorAngle(){return D_(this.id)}getTrainSpeed(){return v_(this.id)}getZAim(){return Cl(this.id)}getSurfingOffsets(){return Nl(this.id)}getRotationQuat(){return Tl(this.id)}getDialogID(){return Dl(this.id)}getSpectateID(){return vl(this.id)}getSpectateType(){return wl(this.id)}getRawIp(){return fl(this.id)}setGravity(t){return Rl(this.id,t)}getGravity(){return Ll(this.id)}setAdmin(t){return rl(this.id,t)}isSpawned(){return bl(this.id)}isControllable(){return Ol(this.id)}isCameraTargetEnabled(){return Gl(this.id)}toggleGhostMode(t){return Fl(this.id,t)}getGhostMode(){return Bl(this.id)}getBuildingsRemoved(){return xl(this.id)}getAttachedObject(t){return fm(this.id,t)}removeWeapon(t){return kl(this.id,t)}isUsingOfficialClient(){return Vl(this.id)}allowWeapons(t){return Wl(this.id,t)}areWeaponsAllowed(){return jl(this.id)}gpci(t=this.charset){return hl(this.id,t)}isCuffed(){return Zd(this.id)}isInDriveByMode(){return Xd(this.id)}isAndroid(){return this.isConnected()&&this[te].isAndroid}isPC(){return this.isConnected()&&!this[te].isAndroid}isUsingOmp(){return Yd(this.id)}simulateCommand(t){return M.simulate(this,t)}static getInstance(t){return j.get(t)}static getInstances(){return[...j.values()]}}const[ci]=u({name:"OnDialogResponseI18n",identifier:"iiiiai",defaultValue:!1,beforeEach(e,t,i,a,n){const r=m.getInstance(e),s=I.decodeFromBuf(n,r.charset);return{player:r,dialogId:t,response:i,listItem:a,buffer:n,inputText:s}}});ci(({next:e,player:t,dialogId:i,response:a,listItem:n,buffer:r,inputText:s})=>{const l=R.waitingQueue.get(t);return!l||l.showId!==i||l.resolve({response:a,listItem:n,buffer:r,inputText:s}),e()});class R{id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new WeakMap;constructor(t={style:ze.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,i=!1){const a=R.waitingQueue.get(t);if(!a)return!1;i&&a.reject("[Dialog]: player timeout does not respond or second request show dialog"),R.waitingQueue.delete(t);const n=R.showingIds.indexOf(a.showId);return n>-1&&R.showingIds.splice(n,1),!0}show(t){return new Promise((i,a)=>{for(R.close(t);this.id===-1||R.showingIds.includes(this.id);){if(R.showingIds.length>=R.maxDialogId){this.id=-1;break}this.id=Math.floor(Math.random()*(R.maxDialogId+1))}if(this.id===-1){a("[Dialog]: The maximum number of dialogs is reached");return}R.showingIds.push(this.id),R.waitingQueue.set(t,{resolve:i,reject:a,showId:this.id}),R.__inject__ShowPlayerDialog(t,this.id,this.dialog)}).catch(i=>Promise.reject(i)).finally(()=>R.delDialogTask(t))}static close(t){R.delDialogTask(t,!0),Ml(t.id)}static __inject__ShowPlayerDialog=Cm}const[_i]=u({name:"OnPlayerConnect",identifier:"i",beforeEach(e){const t=new m(e);return j.set(e,t),R.close(t),{player:t}}}),[hi]=u({name:"OnPlayerDisconnect",identifier:"ii",beforeEach(e,t){return{player:j.get(e),reason:t}},afterEach({player:e}){j.delete(e.id)}}),[ui]=u({name:"OnPlayerUpdate",identifier:"i",beforeEach(e){return{player:m.getInstance(e)}}}),[tp]=u({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const i=m.getInstance(e);return{player:i,text:I.decodeFromBuf(t,i.charset),buffer:t}}}),[ip]=u({name:"OnPlayerEnterExitModShop",identifier:"iii",beforeEach(e,t,i){return{player:m.getInstance(e),enterExit:t,interior:i}}}),[ap]=u({name:"OnPlayerClickMap",identifier:"ifff",defaultValue:!1,beforeEach(e,t,i,a){return{player:m.getInstance(e),fX:t,fY:i,fZ:a}}}),[np]=u({name:"OnPlayerClickPlayer",identifier:"iii",defaultValue:!1,beforeEach(e,t,i){return{player:m.getInstance(e),clickedPlayer:m.getInstance(t),source:i}}}),[rp]=u({name:"OnPlayerDeath",identifier:"iii",beforeEach(e,t,i){const a=m.getInstance(t)||N.PLAYER_ID;return{player:m.getInstance(e),killer:a,reason:i}}}),[sp]=u({name:"OnPlayerGiveDamage",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,n){return{player:m.getInstance(e),damage:m.getInstance(t),amount:i,weapon:a,bodyPart:n}}}),[lp]=u({name:"OnPlayerKeyStateChange",identifier:"iii",beforeEach(e,t,i){return{player:m.getInstance(e),newKeys:t,oldKeys:i}}}),[op]=u({name:"OnPlayerRequestClass",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),classId:t}}}),[dp]=u({name:"OnPlayerRequestSpawn",identifier:"i",beforeEach(e){return{player:m.getInstance(e)}}}),[cp]=u({name:"OnPlayerSpawn",identifier:"i",beforeEach(e){return{player:m.getInstance(e)}}}),[_p]=u({name:"OnPlayerStateChange",identifier:"iii",beforeEach(e,t,i){return{player:m.getInstance(e),newState:t,oldState:i}}}),[hp]=u({name:"OnPlayerStreamIn",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[up]=u({name:"OnPlayerStreamOut",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[mp]=u({name:"OnPlayerTakeDamage",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,n){const r=m.getInstance(t)||N.PLAYER_ID;return{player:m.getInstance(e),damage:r,amount:i,weapon:a,bodyPart:n}}}),[pp]=u({name:"OnPlayerInteriorChange",identifier:"iii",beforeEach(e,t,i){return{player:m.getInstance(e),newInteriorId:t,oldInteriorId:i}}}),[fp]=u({name:"OnPlayerRequestDownload",identifier:"iii",beforeEach(e,t,i){return{player:m.getInstance(e),type:t,crc:i}}}),[gp]=u({name:"OnPlayerFinishedDownloading",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),virtualWorld:t}}}),[Pp]=u({name:"OnPlayerWeaponShot",identifier:"iiiifff",beforeEach(e,t,i,a,n,r,s){return{player:m.getInstance(e),weapon:t,hitType:i,hitId:a,fX:n,fY:r,fZ:s}}});let Fe=null;const x=new Map,Pe=new Map;function mi(e){if(!e.isConnected()){x.has(e)&&(clearInterval(x.get(e)),x.delete(e),Pe.delete(e));return}let t=Pe.get(e)||1;if(t>=m.MAX_CHECK_ANDROID_DELAY){clearInterval(x.get(e)),x.delete(e),Pe.delete(e),it(e,!0);return}e.sendClientCheck(72,0,0,2).then(({actionId:i})=>{i===72&&(e[te].isAndroid=!1,x.has(e)&&(clearInterval(x.get(e)),x.delete(e),Pe.delete(e)),it(e,!1))}).catch(()=>{}),t++,Pe.set(e,t)}const[Sp,yp]=u({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[Ip,Ep]=u({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,i,a){return{player:e,pausedAt:t,now:i,diff:a}}}),[Ap,Cp]=u({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,i){return{player:e,newFps:t,oldFps:i}}}),[Np,it]=u({name:"OnAndroidCheck",isNative:!1,beforeEach(e,t){return{player:e,result:t}}});_i(({player:e,next:t})=>{if(!Fe&&m.getInstances().length&&(Fe=setInterval(()=>{m.getInstances().filter(a=>{const n=a.getState()!==Ne.NONE;return!a.isPaused&&!a.isNpc()&&n}).forEach(a=>{Date.now()-a.lastUpdateTick>1e3&&(a.isPaused=!0,yp(a,a.lastUpdateTick))})},500)),e.isNpc())return e[te].isAndroid=!1,t();if(m.SKIP_CHECK_ANDROID)return e[te].isAndroid=!e.isUsingOfficialClient(),it(e,e[te].isAndroid),t();mi(e);const i=setInterval(()=>mi(e),1e3);return x.set(e,i),t()}),hi(({player:e,next:t})=>(Fe&&m.getInstances().length<=1&&(clearInterval(Fe),Fe=null),x.has(e)&&(clearInterval(x.get(e)),x.delete(e),Pe.delete(e)),t()));function Tp(e){if(!m.isConnected(e.id))return;const t=Date.now();if(t-e.lastUpdateFpsTick>=1e3){const i=e.getDrunkLevel();if(i<100){e.setDrunkLevel(2e3),e.lastDrunkLevel=2e3,e.lastFps=0;return}e.lastUpdateFpsTick=t;const a=e.lastFps,n=e.lastDrunkLevel-i-1;e.lastFps=n,e.lastDrunkLevel=i,Cp(e,n,a)}}ui(({player:e,next:t})=>{if(!e.isNpc()){const i=Date.now();e.isPaused&&(e.isPaused=!1,Ep(e,e.lastUpdateTick,i,i-e.lastUpdateTick)),e.lastUpdateTick=i,Tp(e)}return t()});const at=Object.freeze({onConnect:_i,onDisconnect:hi,onPause:Sp,onResume:Ip,onUpdate:ui,onText:tp,onEnterExitModShop:ip,onClickMap:ap,onClickPlayer:np,onDeath:rp,onGiveDamage:sp,onKeyStateChange:lp,onRequestClass:op,onRequestSpawn:dp,onSpawn:cp,onStateChange:_p,onStreamIn:hp,onStreamOut:up,onTakeDamage:mp,onInteriorChange:pp,onRequestDownload:fp,onFinishedDownloading:gp,onCheckResponse:di,onCommandReceived:Vm,onCommandPerformed:Um,onCommandError:jm,onCommandText:M.on,offCommandText:M.off,onDialogResponse:ci,onLocaleChange:Jm,onCharsetChange:qm,onFpsUpdate:Ap,onWeaponShot:Pp,onAndroidCheck:Np,onCommandTextRaw:Xm}),Dp=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],vp=[[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],[],[],[],[],[],[],[],[]],wp=(e,t)=>{if(!nt(e))return!1;const i=vp[e-400];if(i===null)return!1;const a=t-1e3;return Dp.includes(a)||i.includes(a)},nt=e=>e>=400&&e<=611,Rp=(e,t)=>{if(t<0||t>2)return!1;const i=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 i===void 0?!1:t<=i},[pi]=u({name:"OnGameModeInit",identifier:""}),[fi]=u({name:"OnGameModeExit",identifier:""}),[Lp]=u({name:"OnIncomingConnection",identifier:"isi",defaultValue:!1,beforeEach(e,t,i){return{playerId:e,ipAddress:t,port:i}}}),[bp]=u({name:"OnRconCommandI18n",identifier:"ai",defaultValue:!1,beforeEach(e){return{buffer:e,cmd:I.decodeFromBuf(e)}}}),[Op]=u({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,i){return{ip:I.decodeFromBuf(e),password:I.decodeFromBuf(t),success:!!i,ipBuffer:e,passwordBuffer:t}}}),ce=[],Se=[],rt=new Map,st=async e=>{try{return await new Promise((t,i)=>{const a=ce.findIndex(l=>l.name===e);if(a===-1)return;const n=ce[a];function r(l){l.length&&rt.set(e,l),ce.splice(a,1),Se.push(n),setTimeout(t)}const s=n.load();s instanceof Promise?s.then(r).catch(i):r(s)})}catch(t){throw new Error(`[GameMode]: script ${e} load fail
3
+ err:${t}`)}},lt=async e=>{try{return await new Promise((t,i)=>{const a=Se.findIndex(o=>o.name===e);if(a===-1)return;const n=Se[a],r=rt.get(e);r&&(r.forEach(o=>o()),rt.delete(e));function s(){Se.splice(a,1),ce.push(n),setTimeout(t)}const l=n.unload();l instanceof Promise?l.then(s).catch(i):s()})}catch(t){throw new Error(`[GameMode]: script ${e} unload fail
4
+ ${t}`)}},Gp=async e=>{await lt(e),await st(e)};pi(async({next:e})=>{const t=ce.map(i=>i.name);for(const i of t)await st(i);return e()}),fi(async({next:e})=>{const t=Se.map(i=>i.name);for(const i of t)await lt(i);return e()});const Fp=function(e,...t){if(ce.some(i=>i.name===e.name)||Se.some(i=>i.name===e.name))throw new Error(`[GameMode]: script ${e.name} has already been applied`);e.load=e.load.bind(e,...t),ce.push(e)};class L{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=pi;static onExit=fi;static onIncomingConnection=Lp;static onRconCommand=bp;static onRconLoginAttempt=Op;static use(t,...i){return Fp(t,...i),this}static loadUseScript=st;static reloadUseScript=Gp;static unloadUseScript=lt;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 Es(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");return Ss(t)}static getWorldTime=ys;static setTeamCount=Ws;static sendRconCommand=vm;static addPlayerClass=js;static addPlayerClassEx=Ks;static createExplosion(t,i,a,n,r){if(n<0||n>13)throw new Error("[GameMode]: The valid explosion type value is only 0 to 13");return Ns(t,i,a,n,r)}static manualVehicleEngineAndLights=Mc;static blockIpAddress=cl;static unBlockIpAddress=_l;static getServerTickRate=Os;static addSimpleModel(t,i,a,n,r){return this.checkSimpleModel(t,i,a,n,r)?_m(t,i,a,n,r):0}static addSimpleModelTimed(t,i,a,n,r,s,l){return this.checkSimpleModel(t,i,a,n,r,s,l)?hm(t,i,a,n,r,s,l):0}static checkSimpleModel(t,i,a,n,r,s,l){if(t<-1)throw new Error("[GameMode]: AddSimpleModel - Error virtual world");if(i<0)throw new Error("[GameMode]: AddSimpleModel - Error baseId");if(a>-1e3||a<-3e4)throw new Error("[GameMode]: AddSimpleModel - Error newId range");if(n.trim().length===0)throw new Error("[GameMode]: AddSimpleModel - Empty dffName");if(r.trim().length===0)throw new Error("[GameMode]: AddSimpleModel - Empty txdName");if(s!==void 0&&(s<0||s>23))throw new Error("[GameMode]: AddSimpleModel - Error time on range");if(l!==void 0&&(l<0||l>23))throw new Error("[GameMode]: AddSimpleModel - Error time off range");return 1}static isValidCustomModel=ai;static getCustomModePath=ym;static getConsoleVarAsString(t,i="utf8"){const{consoleVarBuf:a,ret:n}=ns(t);return{consoleVar:I.decodeFromBuf(I.getValidStr(a),i),ret:n}}static getRestartTime=_s;static setRestartTime=cs;static allowAdminTeleport=Qr;static isAdminTeleportAllowed=qr;static allowInteriorWeapons=es;static areInteriorWeaponsAllowed=ts;static areAllAnimationsEnabled=is;static enableAllAnimations=as;static enableStuntBonusForAll=Fs;static enableVehicleFriendlyFire=Is;static enableZoneNames=Ts;static disableInteriorEnterExits=vs;static setGameModeText=fs;static getGravity=As;static setGravity=Cs;static showNameTags=gs;static disableNameTagLOS=Rs;static usePlayerPedAnims=Ds;static showPlayerMarkers=Ps;static limitPlayerMarkerRadius=bs;static limitGlobalChatRadius=Ls;static setNameTagDrawDistance=ws;static findModelFileNameFromCRC=mm;static findTextureFileNameFromCRC=pm;static getWeaponName=Ms;static setObjectsDefaultCameraCollision=cm;static vectorSize=qe;static clearBanList=ml;static isBanned=pl;static isValidNickName=Kr;static allowNickNameCharacter=Zr;static isNickNameCharacterAllowed=Xr;static addServerRule=Yr;static setServerRule=zr;static isValidServerRule=$r;static removeServerRule=Jr;static getWeaponSlot=ks;static getAvailableClasses=Vs;static getPlayerClass=Hs;static editPlayerClass=Us;static toggleChatTextReplacement=Bs;static chatTextReplacementToggled=xs;static getConsoleVarAsInt=rs;static getConsoleVarAsBool=ss;static getWeather=ls;static getServerRuleFlag=os;static setServerRuleFlags=ds}const A={skip:!1};L.onInit(({next:e})=>(A.skip=!1,e())),L.onExit(({next:e})=>(A.skip=!0,e()));class C{sourceInfo=null;isStatic=!1;static createdCount=0;_id=-1;get id(){return this._id}constructor(t,i=!1){if(typeof t=="number"){const a=C.getInstance(t);if(a)return a;this._id=t,K.set(this._id,this),this.isValid()&&C.createdCount++}else this.sourceInfo=t,this.isStatic=i}create(t=!1){if(this.id!==-1)throw new Error("[Vehicle]: Unable to create again");if(!this.sourceInfo)throw new Error("[Vehicle]: Unable to create with only id");if(C.createdCount===F.MAX_VEHICLES)throw new Error("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:i,x:a,y:n,z:r,zAngle:s,color:l,respawnDelay:o,addSiren:d}=this.sourceInfo;if(!(!t&&!nt(i))){if(this.isStatic){if(o===void 0){this._id=C.__inject_AddStaticVehicle(i,a,n,r,s,l[0],l[1]);return}this._id=C.__inject_AddStaticVehicleEx(i,a,n,r,s,l[0],l[1],o||-1,d||!1)}else this._id=C.__inject_CreateVehicle(i,a,n,r,s,l[0],l[1],o||-1,d||!1);C.createdCount++,K.set(this._id,this)}}destroy(){if(this.id===-1&&!A.skip)throw new Error("[Vehicle]: Unable to destroy the vehicle before create");A.skip||C.__inject_DestroyVehicle(this.id),C.createdCount--,K.delete(this._id),this._id=-1}addComponent(t){if(this.id===-1)return 0;if(!wp(this.getModel(),t))throw new Error(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`);return zc(this.id,t)}removeComponent(t){if(this.getComponentInSlot(C.getComponentType(t))===0)throw new Error(`[Vehicle]: component id ${t} does not exist on this vehicle`);return $c(this.id,t)}getComponentInSlot(t){return l_(this.id,t)}linkToInterior(t){return this.id===-1?0:Yc(this.id,t)}setVirtualWorld(t){return this.id===-1?0:f_(this.id,t)}getVirtualWorld(){return this.id===-1?0:g_(this.id)}repair(){return this.id===-1?0:d_(this.id)}setPos(t,i,a){return this.id===-1?!1:Oc(this.id,t,i,a)}getPos(){return bc(this.id)}getHealth(){return e_(this.id)}setHealth(t){return this.id===-1?0:qc(this.id,t)}isPlayerIn(t){return this.id===-1?!1:Td(t.id,this.id)}putPlayerIn(t,i){if(this.id===-1||i<0)return 0;if(i>4)throw new Error("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle.");return ad(t.id,this.id,i)}getZAngle(){return Gc(this.id)}setZAngle(t){return this.id===-1?0:xc(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 up to 32 characters");if(!/^[a-zA-Z0-9]+$/.test(t))throw new Error("[Vehicle]: number plates only allow letters and numbers");return r_(this.id,t)}changeColors(t,i){return this.id===-1?0:Jc(this.id,t,i)}setVelocity(t,i,a){return this.id===-1?!1:__(this.id,t,i,a)}getVelocity(){return c_(this.id)}getSpeed(t=180){if(this.id===-1)return 0;const{x:i,y:a,z:n}=this.getVelocity();return qe(i,a,n)*t}setAngularVelocity(t,i,a){return this.id===-1?!1:h_(this.id,t,i,a)}getDamageStatus(){return u_(this.id)}updateDamageStatus(t,i,a,n){return m_(this.id,t,i,a,n)}getDistanceFromPoint(t,i,a){return Bc(this.id,t,i,a)}getModel(){return s_(this.id)}static getModelInfo(t,i){return p_(t,i)}getModelInfo(t){return C.getModelInfo(this.getModel(),t)}getRotationQuat(){return Fc(this.id)}setRespawn(){return this.id===-1?0:Xc(this.id)}isStreamedIn(t){return this.id===-1?!1:Lc(this.id,t.id)}setParamsCarDoors(t,i,a,n){return this.id===-1?0:Wc(this.id,t,i,a,n)}setParamsCarWindows(t,i,a,n){return this.id===-1?0:Kc(this.id,t,i,a,n)}getParamsCarDoors(){return jc(this.id)}getParamsCarWindows(){return Zc(this.id)}setParamsEx(t,i,a,n,r,s,l){return this.id===-1?0:Vc(this.id,t,i,a,n,r,s,l)}getParamsEx(){if(this.id===-1)return{engine:-1,lights:-1,alarm:-1,doors:-1,bonnet:-1,boot:-1,objective:-1};const[t,i,a,n,r,s,l]=Hc(this.id);return{engine:t,lights:i,alarm:a,doors:n,bonnet:r,boot:s,objective:l}}toggleEngine(t){if(this.id===-1)return 0;const{lights:i,alarm:a,doors:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(t,i,a,n,r,s,l)}toggleLights(t){if(this.id===-1)return 0;const{engine:i,alarm:a,doors:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(i,t,a,n,r,s,l)}toggleAlarm(t){if(this.id===-1)return 0;const{engine:i,lights:a,doors:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(i,a,t,n,r,s,l)}toggleDoors(t){if(this.id===-1)return 0;const{engine:i,lights:a,alarm:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(i,a,n,t,r,s,l)}toggleBonnet(t){if(this.id===-1)return 0;const{engine:i,lights:a,alarm:n,doors:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(i,a,n,r,t,s,l)}toggleBoot(t){if(this.id===-1)return 0;const{engine:i,lights:a,alarm:n,doors:r,bonnet:s,objective:l}=this.getParamsEx();return this.setParamsEx(i,a,n,r,s,t,l)}toggleObjective(t){if(this.id===-1)return 0;const{engine:i,lights:a,alarm:n,doors:r,bonnet:s,boot:l}=this.getParamsEx();return this.setParamsEx(i,a,n,r,s,l,t)}getParamsSirenState(){return this.id===-1?-2:Uc(this.id)}setParamsForPlayer(t,i,a){return this.id===-1?0:kc(this.id,t.id,i,a)}isTrailerAttached(){return this.id===-1?!1:a_(this.id)}changePaintjob(t){return this.id===-1||!Rp(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),Qc(this.id,t),1)}attachTrailer(t){return this.id===-1?0:t_(t.id,this.id)}detachTrailer(){this.isTrailerAttached()&&i_(this.id)}getTrailer(){return C.getInstance(n_(this.id))}isValid(){return A.skip&&this.id!==-1?!0:C.isValid(this.id)}getMatrix(){return Dc(this.id)}getTrainSpeed(){return this.id===-1?0:Tc(this.id)}getHydraReactorAngle(){return this.id===-1?0:Nc(this.id)}getLandingGearState(){return this.id===-1?0:Cc(this.id)}getSirenState(){return this.id===-1?0:Ac(this.id)}getDriver(){return j.get(Ic(this.id))}getLastDriver(){return j.get(yc(this.id))}isSirenEnabled(){return Pc(this.id)}toggleSirenEnabled(t){return this.id===-1?0:fc(this.id,t)}setParamsSirenState(t){return this.id===-1?0:gc(this.id,t)}isDead(){return this.id===-1?!0:uc(this.id)}setDead(t){return this.id===-1?!1:mc(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:pc(this.id,t)}getRespawnTick(){return this.id===-1?0:_c(this.id)}setRespawnTick(t){return this.id===-1?!1:hc(this.id,t)}isOccupied(){return this.id===-1?!1:cc(this.id)}hasBeenOccupied(){return this.id===-1?!1:dc(this.id)}getOccupiedTick(){return this.id===-1?0:lc(this.id)}setOccupiedTick(t){return this.id===-1?0:oc(this.id,t)}getCab(){return this.id===-1?0:sc(this.id)}getRespawnDelay(){return this.id===-1?0:rc(this.id)}setRespawnDelay(t){return this.id===-1?0:nc(this.id,t)}getNumberPlate(){return ac(this.id)}getInterior(){return this.id===-1?0:ic(this.id)}getPaintjob(){return this.id===-1?-1:tc(this.id)}getColors(){return ec(this.id)}setSpawnInfo(t,i,a,n,r,s,l,o=-2,d=-2,c=!1){return this.id===-1||!c&&!nt(t)?0:qd(this.id,t,i,a,n,r,E(s),E(l),o,d)}getSpawnInfo(){return Qd(this.id)}getRandomColorPair(){return ti(this.getModel())}show(){return this.id===-1?!1:I_(this.id)}hide(){return this.id===-1?!1:E_(this.id)}isHidden(){return this.id===-1?!1:A_(this.id)}getVehicleOccupant(t){return w_(this.id,t)}getVehicleMaxPassengers(){return ii(this.getModel())}countVehicleOccupants(){return R_(this.getModel())}static getVehicleMaxPassengers=ii;static getRandomColorPair=ti;static getComponentType=o_;static colorIndexToColor=vc;static isValid=P_;static getModelsUsed=Ec;static getModelCount=Sc;static getInstance(t){return K.get(t)}static getInstances(){return[...K.values()]}static __inject_AddStaticVehicle=S_;static __inject_AddStaticVehicleEx=y_;static __inject_CreateVehicle=wc;static __inject_DestroyVehicle=Rc}L.onExit(({next:e})=>(C.getInstances().forEach(t=>t.destroy()),K.clear(),e()));const[Bp]=u({name:"OnVehicleDamageStatusUpdate",identifier:"ii",defaultValue:!1,beforeEach(e,t){return{vehicle:C.getInstance(e),player:m.getInstance(t)}}}),[xp]=u({name:"OnVehicleDeath",identifier:"ii",beforeEach(e,t){return{vehicle:C.getInstance(e),killer:m.getInstance(t)}}}),[kp]=u({name:"OnVehicleMod",identifier:"iii",beforeEach(e,t,i){return{player:m.getInstance(e),vehicle:C.getInstance(t),componentId:i}}}),[Mp]=u({name:"OnVehiclePaintjob",identifier:"iii",beforeEach(e,t,i){return{player:m.getInstance(e),vehicle:C.getInstance(t),paintjobId:i}}}),[Vp]=u({name:"OnVehicleRespray",identifier:"iiii",beforeEach(e,t,i,a){return{player:m.getInstance(e),vehicle:C.getInstance(t),color:[i,a]}}}),[Hp]=u({name:"OnVehicleSirenStateChange",identifier:"iii",defaultValue:!1,beforeEach(e,t,i){return{player:m.getInstance(e),vehicle:C.getInstance(t),state:!!i}}}),[Up]=u({name:"OnVehicleSpawn",identifier:"i",beforeEach(e){return{vehicle:C.getInstance(e)}}}),[Wp]=u({name:"OnVehicleStreamIn",identifier:"ii",beforeEach(e,t){return{vehicle:C.getInstance(e),forPlayer:m.getInstance(t)}}}),[jp]=u({name:"OnVehicleStreamOut",identifier:"ii",beforeEach(e,t){return{vehicle:C.getInstance(e),forPlayer:m.getInstance(t)}}}),[Kp]=u({name:"OnPlayerEnterVehicle",identifier:"iii",beforeEach(e,t,i){return{player:m.getInstance(e),vehicle:C.getInstance(t),isPassenger:!!i}}}),[Zp]=u({name:"OnPlayerExitVehicle",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),vehicle:C.getInstance(t)}}}),[Xp]=u({name:"OnTrailerUpdate",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),vehicle:C.getInstance(t)}}}),[Yp]=u({name:"OnUnoccupiedVehicleUpdate",identifier:"iiiffffff",beforeEach(e,t,i,a,n,r,s,l,o){return{vehicle:C.getInstance(e),player:m.getInstance(t),passengerSeat:i,newX:a,newY:n,newZ:r,velX:s,velY:l,velZ:o}}}),zp=Object.freeze({onDamageStatusUpdate:Bp,onDeath:xp,onMod:kp,onPaintjob:Mp,onRespray:Vp,onSirenStateChange:Hp,onSpawn:Up,onStreamIn:Wp,onStreamOut:jp,onPlayerEnter:Kp,onPlayerExit:Zp,onTrailerUpdate:Xp,onUnoccupiedUpdate:Yp}),[_e]=u({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:m.getInstance(i)}}}),[he]=u({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:m.getInstance(i)}}}),[$p]=u({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class P{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getTickRate=lr;static setTickRate=or;static getPlayerTickRate(t){return dr(t.id)}static setPlayerTickRate(t,i=50){return cr(t.id,i)}static toggleChunkStream=_r;static isToggleChunkStream=hr;static getChunkTickRate(t,i=-1){return i instanceof m?Xt(t,i.id):Xt(t,i)}static setChunkTickRate(t,i,a=-1){return a instanceof m?Yt(t,i,a.id):Yt(t,i,a)}static getChunkSize=ur;static setChunkSize=mr;static getMaxItems=pr;static setMaxItems=fr;static getVisibleItems(t,i=-1){return i instanceof m?zt(t,i.id):zt(t,i)}static setVisibleItems(t,i,a=-1){return a instanceof m?$t(t,i,a.id):$t(t,i,a)}static getRadiusMultiplier(t,i=-1){return i instanceof m?Jt(t,i.id):Jt(t,i)}static setRadiusMultiplier(t,i,a=-1){return a instanceof m?Qt(t,i,a.id):Qt(t,i,a)}static getTypePriority=gr;static setTypePriority=Pr;static getCellDistance=Sr;static setCellDistance=yr;static getCellSize=Ir;static setCellSize=Er;static toggleItemStatic=Ar;static isToggleItemStatic=Cr;static toggleItemInvAreas=Nr;static isToggleItemInvAreas=Tr;static toggleItemCallbacks=Dr;static isToggleItemCallbacks=vr;static toggleErrorCallback=wr;static isToggleErrorCallback=Rr;static amxUnloadDestroyItems=Lr;static processActiveItems=br;static toggleIdleUpdate(t,i){return Or(t.id,i)}static isToggleIdleUpdate(t){return Gr(t.id)}static toggleCameraUpdate(t,i){return Fr(t.id,i)}static isToggleCameraUpdate(t){return Br(t.id)}static toggleItemUpdate(t,i,a){return xr(t.id,i,a)}static isToggleItemUpdate(t,i){return kr(t.id,i)}static getLastUpdateTime(){return Mr()}static update(t,i=-1){return Vr(t.id,i)}static updateEx(t,i,a,n,r,s,l,o,d){return Hr(t.id,i,a,n,r,s,l,o,d)}static getDistanceToItem=hn;static toggleItem(t,i,a,n){return un(t.id,i,a,n)}static isToggleItem(t,i,a){return mn(t.id,i,a)}static toggleAllItems(t,i,a,n=[-1]){return pn(t.id,i,a,n)}static getItemInternalID(t,i,a){return fn(t.id,i,a)}static getItemStreamerID(t,i,a){return gn(t.id,i,a)}static isItemVisible(t,i,a){return Pn(t.id,i,a)}static destroyAllVisibleItems(t,i,a=1){return Sn(t.id,i,a)}static countVisibleItems(t,i,a=1){return yn(t.id,i,a)}static destroyAllItems=In;static countItems=En;static getNearbyItems=An;static getAllVisibleItems(t,i,a){return Cn(t.id,i,a)}static getItemPos=Nn;static setItemPos=Tn;static getItemOffset=Dn;static setItemOffset=vn;static getFloatData=Va;static setFloatData=Ha;static getIntData=Ua;static setIntData=Wa;static getArrayData=ja;static setArrayData=Ka;static isInArrayData=Za;static appendArrayData=Xa;static removeArrayData=Ya;static getArrayDataLength=Zt;static getUpperBound=za;static onPluginError=$p}class k{sourceInfo=null;_id=-1;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=k.getInstance(t);if(i)return i;this._id=t,X.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerObject]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerObject]: Unable to create with only id");let{streamDistance:t,drawDistance:i,worldId:a,interiorId:n,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{modelId:o,x:d,y:c,z:h,rx:p,ry:g,rz:f,extended:y}=this.sourceInfo;return t??=D.OBJECT_SD,i??=D.OBJECT_DD,l??=0,y?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=qa(o,d,c,h,p,g,f,t,i,a,n,r,s,l)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=wn(o,d,c,h,p,g,f,a,n,r,t,i,s,l)),X.set(this._id,this),this}destroy(){if(this.id===-1&&!A.skip)throw new Error("[StreamerObject]: Unable to destroy the object before create");return A.skip||Rn(this.id),X.delete(this.id),this._id=-1,this}isValid(){return A.skip&&this.id!==-1?!0:k.isValid(this.id)}getModel(){return this.sourceInfo?this.sourceInfo.modelId:P.getIntData(S.OBJECT,this._id,W.MODEL_ID)}getPos(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get position before create");return bn(this.id)}setPos(t,i,a){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set position before create");return On(this.id,t,i,a)}getRot(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get rotation before create");return Gn(this.id)}setRot(t,i,a){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set rotation before create");return Fn(this.id,t,i,a)}move(t,i,a,n,r=-1e3,s=-1e3,l=-1e3){if(this.id===-1)throw new Error("[StreamerObject]: Cannot start moving before create");if(n<0)throw new Error("[StreamerObject]: speed must not be less than 0");if(n>120*1e3)throw new Error("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),Bn(this.id,t,i,a,n,r,s,l)}stop(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot stop moving before create");return xn(this.id)}isMoving(){return this.id===-1?!1:kn(this.id)}attachCamera(t){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachCamera before both are created");return Mn(t.id,this.id)}attachToObject(t,i,a,n,r,s,l,o=!0){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToObject before both are created");return Vn(this.id,t.id,i,a,n,r,s,l,o)}attachToPlayer(t,i,a,n,r,s,l){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToPlayer before both are created");return Hn(this.id,t.id,i,a,n,r,s,l)}attachToVehicle(t,i,a,n,r,s,l){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return Un(this.id,t.id,i,a,n,r,s,l)}edit(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to edit before create");return t.endObjectEditing(),Wn(t.id,this.id)}isMaterialUsed(t){return this.id===-1?!1:jn(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:Kn(this.id,t)}getMaterial(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material before create");return Gm(this.id,t)}setMaterial(t,i,a,n,r="#000"){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material before create");return Zn(this.id,t,i,a,n,E(r))}isMaterialTextUsed(t){return this.id===-1?!1:Xn(this.id,t)}removeMaterialText(t){return this.id===-1||!this.isMaterialTextUsed(t)?0:Yn(this.id,t)}getMaterialText(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material text before create");return Fm(this.id,t,this.sourceInfo?.charset||"utf8")}setMaterialText(t=this.sourceInfo?.charset,i,a,n=Qe.SIZE_256x128,r="Arial",s=24,l=1,o="#fff",d="#000",c=0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material text before create");return this.sourceInfo&&(this.sourceInfo.charset=t),Om(t||"utf8",this.id,i,a,n,r,s,l,E(o),E(d),c)}getPlayerCameraTarget(t){const i=zn(t.id);if(i!==N.OBJECT_ID)return X.get(i)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to toggle callbacks before create");return P.toggleItemCallbacks(S.OBJECT,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:P.isToggleItemCallbacks(S.OBJECT,this.id)}setNoCameraCollision(){return $n(this.id)}getNoCameraCollision(){return Jn(this.id)}static isValid=Ln;static togglePlayerUpdate(t,i=!0){return P.toggleItemUpdate(t,S.OBJECT,i)}static hideForPlayer(t,i=-5e4){return P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?P.updateEx(t,a.x,a.y,a.z):P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return X.get(t)}static getInstances(){return[...X.values()]}}L.onExit(({next:e})=>(k.getInstances().forEach(t=>t.destroy()),X.clear(),e()));const[Jp,Qp]=u({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[qp,ef]=u({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});_e(({type:e,id:t,forPlayer:i,next:a})=>e===S.OBJECT?Qp(i,k.getInstance(t)):a()),he(({type:e,id:t,forPlayer:i,next:a})=>e===S.OBJECT?ef(i,k.getInstance(t)):a());const[tf]=u({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:k.getInstance(e)}}}),[af]=u({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",defaultValue:!1,beforeEach(e,t,i,a,n,r,s,l,o){return{player:m.getInstance(e),object:k.getInstance(t),response:i,x:a,y:n,z:r,rX:s,rY:l,rZ:o}}}),[nf]=u({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,i,a,n,r){return{player:m.getInstance(e),object:k.getInstance(t),modelId:i,x:a,y:n,z:r}}}),[rf]=u({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,i,a,n,r){return{player:m.getInstance(e),object:k.getInstance(i),weapon:t,x:a,y:n,z:r}}}),[sf]=u({name:"OnPlayerEditAttachedObject",identifier:"iiiiifffffffff",defaultValue:!1,beforeEach(e,t,i,a,n,r,s,l,o,d,c,h,p,g){return{player:m.getInstance(e),response:t,index:i,modelId:a,boneId:n,fOffsetX:r,fOffsetY:s,fOffsetZ:l,fRotX:o,fRotY:d,fRotZ:c,fScaleX:h,fScaleY:p,fScaleZ:g}}}),lf=Object.freeze({onMoved:tf,onPlayerEdit:af,onPlayerSelect:nf,onPlayerShoot:rf,onPlayerEditAttached:sf,onStreamIn:Jp,onStreamOut:qp});class ue{sourceInfo=null;_id=-1;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=ue.getInstance(t);if(i)return i;this._id=t,se.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerMapIcon]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerMapIcon]: Unable to create with only id");let{style:t,streamDistance:i,worldId:a,interiorId:n,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{x:o,y:d,z:c,type:h,color:p,extended:g}=this.sourceInfo;if(h<0||h>63)throw new Error("[StreamerMapIcon]: Invalid map icon type");return t??=Ze.LOCAL,i??=D.MAP_ICON_SD,l??=0,g?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=nn(o,d,c,h,E(p),t,i,a,n,r,s,l),se.set(this._id,this),this):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=$a(o,d,c,h,E(p),a,n,r,i,t,s,l),se.set(this._id,this),this)}destroy(){if(this.id===-1&&!A.skip)throw new Error("[StreamerMapIcon]: Unable to destroy the map icon before create");return A.skip||Ja(this.id),se.delete(this._id),this._id=-1,this}isValid(){return A.skip&&this.id!==-1?!0:ue.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerMapIcon]: Unable to toggle callbacks before create");return P.toggleItemCallbacks(S.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:P.isToggleItemCallbacks(S.MAP_ICON,this.id)}static isValid=Qa;static togglePlayerUpdate(t,i=!0){return P.toggleItemUpdate(t,S.MAP_ICON,i)}static hideForPlayer(t,i=-5e4){return P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?P.updateEx(t,a.x,a.y,a.z):P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return se.get(t)}static getInstances(){return[...se.values()]}}L.onExit(({next:e})=>(ue.getInstances().forEach(t=>t.destroy()),se.clear(),e()));const[of,df]=u({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[cf,_f]=u({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});_e(({type:e,id:t,forPlayer:i,next:a})=>e===S.MAP_ICON?df(i,ue.getInstance(t)):a()),he(({type:e,id:t,forPlayer:i,next:a})=>e===S.MAP_ICON?_f(i,ue.getInstance(t)):a());const hf=Object.freeze({onStreamIn:of,onStreamOut:cf});class V{sourceInfo=null;_id=-1;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=V.getInstance(t);if(i)return i;this._id=t,ge.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerPickup]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerPickup]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{type:l,modelId:o,x:d,y:c,z:h,extended:p}=this.sourceInfo;if(l<0)throw new Error("[StreamerPickup]: Invalid pickup type");return t??=D.PICKUP_SD,s??=0,p?(typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=V.__inject_CreateDynamicPickupEx(o,l,d,c,h,t,i,a,n,r,s)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=V.__inject_CreateDynamicPickup(o,l,d,c,h,i,a,n,t,r,s)),ge.set(this._id,this),this}destroy(){if(this.id===-1&&!A.skip)throw new Error("[StreamerPickup]: Unable to destroy the pickup before create");return A.skip||V.__inject_DestroyDynamicPickup(this.id),ge.delete(this.id),this._id=-1,this}isValid(){return A.skip&&this.id!==-1?!0:V.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerPickup]: Unable to toggle callbacks before create");return P.toggleItemCallbacks(S.PICKUP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:P.isToggleItemCallbacks(S.PICKUP,this.id)}static isValid=er;static togglePlayerUpdate(t,i=!0){return P.toggleItemUpdate(t,S.PICKUP,i)}static hideForPlayer(t,i=-5e4){return P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?P.updateEx(t,a.x,a.y,a.z):P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return ge.get(t)}static getInstances(){return[...ge.values()]}static __inject_CreateDynamicPickup=Qn;static __inject_CreateDynamicPickupEx=en;static __inject_DestroyDynamicPickup=qn}L.onExit(({next:e})=>(V.getInstances().forEach(t=>t.destroy()),ge.clear(),e()));const[uf,mf]=u({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[pf,ff]=u({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});_e(({type:e,id:t,forPlayer:i,next:a})=>e===S.PICKUP?mf(i,V.getInstance(t)):a()),he(({type:e,id:t,forPlayer:i,next:a})=>e===S.PICKUP?ff(i,V.getInstance(t)):a());const[gf]=u({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:V.getInstance(t)}}}),Pf=Object.freeze({onPlayerPickUp:gf,onStreamIn:uf,onStreamOut:pf});class z{sourceInfo=null;_id=-1;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=z.getInstance(t);if(i)return i;this._id=t,re.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerCheckpoint]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerCheckpoint]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{size:l,x:o,y:d,z:c,extended:h}=this.sourceInfo;if(l<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=D.CP_SD,s??=0,h?(typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=tn(o,d,c,l,t,i,a,n,r,s)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=Ga(o,d,c,l,i,a,n,t,r,s)),re.set(this._id,this),this}destroy(){if(this.id===-1&&!A.skip)throw new Error("[StreamerCheckpoint]: Unable to destroy the checkpoint before create");return A.skip||Fa(this.id),re.delete(this.id),this._id=-1,this}isValid(){return A.skip&&this.id!==-1?!0:z.isValid(this.id)}togglePlayer(t,i){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle the player before create");return Ba(t.id,this.id,i),this}isPlayerIn(t){return this.id===-1?!1:ka(t.id,this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle callbacks before create");return P.toggleItemCallbacks(S.CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:P.isToggleItemCallbacks(S.CP,this.id)}static isValid=Kt;static togglePlayerAll(t,i){return xa(t.id,i)}static getPlayerVisible(t){return re.get(Ma(t.id))}static togglePlayerUpdate(t,i=!0){return P.toggleItemUpdate(t,S.CP,i)}static hideForPlayer(t,i=-5e4){return P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?P.updateEx(t,a.x,a.y,a.z):P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return re.get(t)}static getInstances(){return[...re.values()]}}L.onExit(({next:e})=>(z.getInstances().forEach(t=>t.destroy()),re.clear(),e()));const[Sf,yf]=u({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[If,Ef]=u({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});_e(({type:e,id:t,forPlayer:i,next:a})=>e===S.CP?yf(i,z.getInstance(t)):a()),he(({type:e,id:t,forPlayer:i,next:a})=>e===S.CP?Ef(i,z.getInstance(t)):a());const[Af]=u({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),cp:z.getInstance(t)}}}),[Cf]=u({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),cp:z.getInstance(t)}}}),Nf=Object.freeze({onPlayerEnter:Af,onPlayerLeave:Cf,onStreamIn:Sf,onStreamOut:If});class ${sourceInfo=null;_id=-1;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=$.getInstance(t);if(i)return i;this._id=t,le.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerRaceCP]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerRaceCP]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{type:l,size:o,x:d,y:c,z:h,nextX:p,nextY:g,nextZ:f,extended:y}=this.sourceInfo;if(l<0||l>8)throw new Error("[StreamerRaceCP]: Invalid type");if(o<0)throw new Error("[StreamerRaceCP]: Invalid size");return t??=D.RACE_CP_SD,s??=0,y?(typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=an(l,d,c,h,p,g,f,o,t,i,a,n,r,s)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=tr(l,d,c,h,p,g,f,o,i,a,n,t,r,s)),le.set(this._id,this),this}destroy(){if(this.id===-1&&!A.skip)throw new Error("[StreamerRaceCP]: Unable to destroy the checkpoint before create");return A.skip||ir(this.id),le.delete(this.id),this._id=-1,this}isValid(){return A.skip&&this.id!==-1?!0:$.isValid(this.id)}togglePlayer(t,i){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle the player before create");return ar(t.id,this.id,i),this}static togglePlayerAll(t,i){return nr(t.id,i)}isPlayerIn(t){return this.id===-1?!1:rr(t.id,this.id)}static getPlayerVisible(t){return le.get(sr(t.id))}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle callbacks before create");return P.toggleItemCallbacks(S.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:P.isToggleItemCallbacks(S.RACE_CP,this.id)}static isValid=Kt;static togglePlayerUpdate(t,i=!0){return P.toggleItemUpdate(t,S.RACE_CP,i)}static hideForPlayer(t,i=-5e4){return P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?P.updateEx(t,a.x,a.y,a.z):P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return le.get(t)}static getInstances(){return[...le.values()]}}L.onExit(({next:e})=>($.getInstances().forEach(t=>t.destroy()),le.clear(),e()));const[Tf,Df]=u({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[vf,wf]=u({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});_e(({type:e,id:t,forPlayer:i,next:a})=>e===S.RACE_CP?Df(i,$.getInstance(t)):a()),he(({type:e,id:t,forPlayer:i,next:a})=>e===S.RACE_CP?wf(i,$.getInstance(t)):a());const[Rf]=u({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),raceCP:$.getInstance(t)}}}),[Lf]=u({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),raceCp:$.getInstance(t)}}}),bf=Object.freeze({onPlayerEnter:Rf,onPlayerLeave:Lf,onStreamIn:Tf,onStreamOut:vf});class q{sourceInfo=null;_id=-1;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=q.getInstance(t);if(i)return i;this._id=t,Q.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerActor]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerActor]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{modelId:l,x:o,y:d,z:c,r:h,invulnerable:p,health:g,extended:f}=this.sourceInfo;return t??=D.ACTOR_SD,s??=0,f?(typeof i=="number"?i=[0]:i??=[0],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=_n(l,o,d,c,h,p,g,t,i,a,n,r,s)):(Array.isArray(i)?i=0:i??=0,Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=Wi(l,o,d,c,h,p,g,i,a,n,t,r,s)),Q.set(this.id,this),this}destroy(){if(this.id===-1&&!A.skip)throw new Error("[StreamerActor]: Unable to destroy the actor before create");return A.skip||ji(this.id),Q.delete(this.id),this._id=-1,this}isValid(){return A.skip&&this.id!==-1?!0:q.isValid(this.id)}isStreamedIn(t){return this.id===-1?!1:Zi(this.id,t.id)}getVirtualWorld(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get virtual world before create");return Xi(this.id)}setVirtualWorld(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set virtual world before create");return Yi(this.id,t)}applyAnimation(t,i,a=4.1,n=!1,r=!0,s=!0,l=!1,o=0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to apply animation before create");if(!tt(t,i))throw new Error(`[StreamerActor]: Invalid anim library or name ${t} ${i}`);return zi(this.id,t,i,a,n,r,s,l,o)}clearAnimations(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to clear animation before create");return $i(this.id)}getFacingAngle(){return Ji(this.id)}setFacingAngle(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set facing angle before create");return Qi(this.id,t)}getPos(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get pos before create");return qi(this.id)}setPos(t,i,a){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set pos before create");return ea(this.id,t,i,a)}getHealth(){return ta(this.id)}setHealth(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set health before create");return ia(this.id,t)}isInvulnerable(){return this.id===-1?!1:na(this.id)}setInvulnerable(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set invulnerable before create");return aa(this.id,t)}getPlayerTarget(t){const i=ra(t.id);return Q.get(i)}getPlayerCameraTarget(t){const i=sa(t.id);return Q.get(i)}getSkin(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get skin before create");return zd(this.id)}setSkin(t,i=!1){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set skin before create");return!i&&(t<0||t>311||t===74)?0:$d(this.id,t)}getSpawnInfo(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get spawn info before create");return Jd(this.id)}getAnimation(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get animation before create");return la(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to toggle callbacks before create");return P.toggleItemCallbacks(S.ACTOR,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:P.isToggleItemCallbacks(S.ACTOR,this.id)}static isValid=Ki;static togglePlayerUpdate(t,i=!0){return P.toggleItemUpdate(t,S.ACTOR,i)}static hideForPlayer(t,i=-5e4){return P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?P.updateEx(t,a.x,a.y,a.z):P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Q.get(t)}static getInstances(){return[...Q.values()]}}L.onExit(({next:e})=>(q.getInstances().forEach(t=>t.destroy()),Q.clear(),e()));const[Of]=u({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:q.getInstance(e),forPlayer:m.getInstance(t)}}}),[Gf]=u({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:q.getInstance(e),forPlayer:m.getInstance(t)}}}),[Ff]=u({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,n){return{player:m.getInstance(e),actor:q.getInstance(t),amount:i,weapon:a,bodyPart:n}}}),Bf=Object.freeze({onStreamIn:Of,onStreamOut:Gf,onPlayerGiveDamage:Ff});class me{sourceInfo=null;_id=-1;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=me.getInstance(t);if(i)return i;this._id=t,fe.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[Streamer3DTextLabel]: Unable to create again");if(!this.sourceInfo)throw new Error("[Streamer3DTextLabel]: Unable to create with only id");let{attachedPlayer:t,attachedVehicle:i,testLos:a,streamDistance:n,worldId:r,interiorId:s,playerId:l,areaId:o,priority:d}=this.sourceInfo;const{charset:c,text:h,color:p,drawDistance:g,x:f,y,z:w,extended:G}=this.sourceInfo;return t??=N.PLAYER_ID,i??=N.VEHICLE_ID,n??=D.TEXT_3D_LABEL_SD,a??=!1,d??=0,G?(typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof l=="number"?l=[-1]:l??=[-1],typeof o=="number"?o=[-1]:o??=[-1],this._id=Rm(h,E(p),f,y,w,g,t,i,a,n,r,s,l,o,d,c||"utf8")):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(l)?l=-1:l??=-1,Array.isArray(o)?o=-1:o??=-1,this._id=wm(c||"utf8",h,E(p),f,y,w,g,t,i,a,r,s,l,n,o,d)),fe.set(this.id,this),this}destroy(){if(this.id===-1&&!A.skip)throw new Error("[Streamer3DTextLabel]: Unable to destroy before create");return A.skip||Hi(this.id),fe.delete(this.id),this._id=-1,this}isValid(){return A.skip&&this.id!==-1?!0:me.isValid(this.id)}getColor(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get color before create");return this.sourceInfo?this.sourceInfo.color:P.getIntData(S.TEXT_3D_LABEL,this._id,W.COLOR)}getCharset(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get charset before create");return this.sourceInfo?.charset}getText(){return bm(this.id,this.sourceInfo?.charset||"utf8")}updateText(t,i,a){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to update text before create");let n="";return this.sourceInfo&&(n=a||this.sourceInfo.charset||"utf8",this.sourceInfo.charset=n),Lm(this.id,E(t),i,n)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to toggle callbacks before create");return P.toggleItemCallbacks(S.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:P.isToggleItemCallbacks(S.TEXT_3D_LABEL,this.id)}setOffsets(t,i,a){if(this.id===-1)return 0;const n=P.setFloatData(S.TEXT_3D_LABEL,this.id,W.ATTACH_OFFSET_X,t);return P.setFloatData(S.TEXT_3D_LABEL,this.id,W.ATTACH_OFFSET_Y,i),P.setFloatData(S.TEXT_3D_LABEL,this.id,W.ATTACH_OFFSET_Z,a),this.sourceInfo&&(this.sourceInfo.x=t,this.sourceInfo.y=i,this.sourceInfo.z=a),n}attachToPlayer(t,i,a,n){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Cannot attachToPlayer before created");const r=typeof t=="number"?t:t.id,s=P.setIntData(S.TEXT_3D_LABEL,this.id,W.ATTACHED_PLAYER,r);return r!==N.PLAYER_ID&&this.setOffsets(i,a,n),this.sourceInfo&&(this.sourceInfo.attachedPlayer=r),s}attachToVehicle(t,i,a,n){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Cannot attachToVehicle before created");const r=typeof t=="number"?t:t.id,s=P.setIntData(S.TEXT_3D_LABEL,this.id,W.ATTACHED_VEHICLE,r);return r!==N.VEHICLE_ID&&this.setOffsets(i,a,n),this.sourceInfo&&(this.sourceInfo.attachedVehicle=r),s}static isValid=Ui;static togglePlayerUpdate(t,i=!0){return P.toggleItemUpdate(t,S.TEXT_3D_LABEL,i)}static hideForPlayer(t,i=-5e4){return P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?P.updateEx(t,a.x,a.y,a.z):P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return fe.get(t)}static getInstances(){return[...fe.values()]}}L.onExit(({next:e})=>(me.getInstances().forEach(t=>t.destroy()),fe.clear(),e()));const[xf,kf]=u({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Mf,Vf]=u({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});_e(({type:e,id:t,forPlayer:i,next:a})=>e===S.TEXT_3D_LABEL?kf(i,me.getInstance(t)):a()),he(({type:e,id:t,forPlayer:i,next:a})=>e===S.TEXT_3D_LABEL?Vf(i,me.getInstance(t)):a());const Hf=Object.freeze({onStreamIn:xf,onStreamOut:Mf});class O{sourceInfo=null;_id=-1;get type(){return this.sourceInfo?.type??void 0}get id(){return this._id}constructor(t){if(typeof t=="number"){const i=O.getInstance(t);if(i)return i;this._id=t,ne.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerArea]: Unable to create with only id");let{worldId:t,interiorId:i,playerId:a}=this.sourceInfo;const{type:n,extended:r}=this.sourceInfo;if(r)if(typeof t=="number"?t=[-1]:t??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],n==="circle"){const{x:s,y:l,size:o}=this.sourceInfo;if(o<0)throw new Error("[StreamerArea]: Invalid circle extend size");this._id=rn(s,l,o,t,i,a)}else if(n==="cuboid"){const{minX:s,minY:l,minZ:o,maxX:d,maxY:c,maxZ:h}=this.sourceInfo;this._id=dn(s,l,o,d,c,h,t,i,a)}else if(n==="cylinder"){const{x:s,y:l,minZ:o,maxZ:d,size:c}=this.sourceInfo;if(c<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=sn(s,l,o,d,c,t,i,a)}else if(n==="polygon"){const{points:s,minZ:l,maxZ:o}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=cn(s,l,o,t,i,a)}else if(n==="rectangle"){const{minX:s,minY:l,maxX:o,maxY:d}=this.sourceInfo;this._id=on(s,l,o,d,t,i,a)}else{const{x:s,y:l,z:o,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere extended size");this._id=ln(s,l,o,d,t,i,a)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,n==="circle"){const{x:s,y:l,size:o}=this.sourceInfo;if(o<0)throw new Error("[StreamerArea]: Invalid circle size");this._id=oa(s,l,o,t,i,a)}else if(n==="cuboid"){const{minX:s,minY:l,minZ:o,maxX:d,maxY:c,maxZ:h}=this.sourceInfo;this._id=ha(s,l,o,d,c,h,t,i,a)}else if(n==="cylinder"){const{x:s,y:l,minZ:o,maxZ:d,size:c}=this.sourceInfo;if(c<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=da(s,l,o,d,c,t,i,a)}else if(n==="polygon"){const{points:s,minZ:l,maxZ:o}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=ua(s,l,o,t,i,a)}else if(n==="rectangle"){const{minX:s,minY:l,maxX:o,maxY:d}=this.sourceInfo;this._id=_a(s,l,o,d,t,i,a)}else{const{x:s,y:l,z:o,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere size");this._id=ca(s,l,o,d,t,i,a)}return ne.set(this._id,this),this}destroy(){if(this.id===-1&&!A.skip)throw new Error("[StreamerArea]: Unable to destroy the area before create");return A.skip||ma(this.id),ne.delete(this.id),this._id=-1,this}isValid(){return A.skip&&this.id!==-1?!0:O.isValid(this.id)}getType(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to get type before create");return fa(this.id)}getPolygonPoints(){return ga(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 Ht(this.id)}isPlayerIn(t,i=!1){return this.id===-1?!1:Pa(t.id,this.id,i)}static isPlayerInAny(t,i=!1){return Sa(t.id,i)}isAnyPlayerIn(t=!1){return this.id===-1?!1:ya(this.id,t)}static isAnyPlayerInAny(t=!1){return Ia(t)}static getPlayerAreas(t){return O.getPlayerAreasNumber(t)?Ea(t.id).areas.map(i=>ne.get(i)):[]}static getPlayerAreasNumber(t){return Ut(t.id)}isPointIn(t,i,a){return this.id===-1?!1:Aa(this.id,t,i,a)}static isPointInAny(t,i,a){return Ca(t,i,a)}isLineIn(t,i,a,n,r,s){return this.id===-1?!1:Na(this.id,t,i,a,n,r,s)}static isLineInAny(t,i,a,n,r,s){return Ta(t,i,a,n,r,s)}static getForPoint(t,i,a){return O.getNumberForPoint(t,i,a)?Da(t,i,a).areas.map(n=>O.getInstance(n)).filter(Boolean):[]}static getNumberForPoint(t,i,a){return Wt(t,i,a)}static getForLine(t,i,a,n,r,s){return O.getNumberForLine(t,i,a,n,r,s)?va(t,i,a,n,r,s).areas.map(l=>O.getInstance(l)).filter(Boolean):[]}static getNumberForLine(t,i,a,n,r,s){return jt(t,i,a,n,r,s)}attachToObject(t,i=0,a=0,n=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to object before create");return wa(this.id,t.id,je.DYNAMIC,N.PLAYER_ID,i,a,n)}attachToPlayer(t,i=0,a=0,n=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to player before create");return Ra(this.id,t.id,i,a,n)}attachToVehicle(t,i=0,a=0,n=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to vehicle before create");return La(this.id,t.id,i,a,n)}toggleSpectateMode(t){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle spectate mode before create");return ba(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:Oa(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle callbacks before create");return P.toggleItemCallbacks(S.AREA,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:P.isToggleItemCallbacks(S.AREA,this.id)}static isValid=pa;static togglePlayerUpdate(t,i=!0){return P.toggleItemUpdate(t,S.AREA,i)}static hideForPlayer(t,i=-5e4){return P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?P.updateEx(t,a.x,a.y,a.z):P.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return ne.get(t)}static getInstances(){return[...ne.values()]}}L.onExit(({next:e})=>(O.getInstances().forEach(t=>t.destroy()),ne.clear(),e()));const[Uf,Wf]=u({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[jf,Kf]=u({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});_e(({type:e,id:t,forPlayer:i,next:a})=>e===S.AREA?Wf(i,O.getInstance(t)):a()),he(({type:e,id:t,forPlayer:i,next:a})=>e===S.AREA?Kf(i,O.getInstance(t)):a());const[Zf]=u({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),area:O.getInstance(t)}}}),[Xf]=u({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),area:O.getInstance(t)}}}),Yf=Object.freeze({onStreamIn:Uf,onStreamOut:jf,onPlayerEnter:Zf,onPlayerLeave:Xf});class v{_id=N.PLAYER_ID;_name="";get id(){return this._id}constructor(t){if(this._id=samp.callNative("NPC_Create","s",t),this._name=t,this._id!==N.PLAYER_ID){new m(this._id);const i=v.getInstance(this._id);if(i)return i}return Re.set(this._id,this),this}getName(){return this._name}destroy(){return A.skip||samp.callNative("NPC_Destroy","i",this._id),this}isValid(){return A.skip&&this._id!==-1?!0:v.isValid(this._id)}spawn(){return samp.callNative("NPC_Spawn","i",this._id),this}respawn(){return samp.callNative("NPC_Respawn","i",this._id),this}setPos(t,i,a){return samp.callNative("NPC_SetPos","ifff",this._id,t,i,a),this}setRot(t,i,a){return samp.callNative("NPC_SetRot","ifff",this._id,t,i,a),this}getRot(){const[t,i,a,n]=samp.callNative("NPC_GetRot","iFFF",this._id);return{rX:t,rY:i,rZ:a,ret:n}}setFacingAngle(t){return samp.callNative("NPC_SetFacingAngle","if",this._id,t),this}getFacingAngle(){const[t,i]=samp.callNative("NPC_GetFacingAngle","iF",this._id);return{angle:t,ret:i}}setVirtualWorld(t){return samp.callNative("NPC_SetVirtualWorld","ii",this._id,t),this}getVirtualWorld(){return samp.callNative("NPC_GetVirtualWorld","i",this._id)}move(t,i,a,n,r=pe.AUTO){return!!samp.callNative("NPC_Move","ifffif",this._id,t,i,a,n,r)}moveToPlayer(t,i,a=pe.AUTO){return!!samp.callNative("NPC_MoveToPlayer","iiif",this._id,t.id,i,a)}stopMove(){return samp.callNative("NPC_StopMove","i",this._id),this}isMoving(){return!!samp.callNative("NPC_IsMoving","i",this._id)}setSkin(t){return samp.callNative("NPC_SetSkin","ii",this._id,t),this}isStreamedIn(t){return!!samp.callNative("NPC_IsStreamedIn","ii",this._id,t.id)}isAnyStreamedIn(){return!!samp.callNative("NPC_IsAnyStreamedIn","i",this._id)}setInterior(t){return samp.callNative("NPC_SetInterior","ii",this._id,t),this}getInterior(){return samp.callNative("NPC_GetInterior","i",this._id)}setHealth(t){return samp.callNative("NPC_SetHealth","if",this._id,t),this}getHealth(){return samp.callNativeFloat("NPC_GetHealth","i",this._id)}setArmour(t){return samp.callNative("NPC_SetArmour","if",this._id,t),this}getArmour(){return samp.callNativeFloat("NPC_GetArmour","i",this._id)}isDead(){return!!samp.callNative("NPC_IsDead","i",this._id)}applyAnimation(t,i,a,n,r,s,l,o,d){return samp.callNative("NPC_ApplyAnimation","issfiiiiii",this._id,t,i,a,n,r,s,l,o,d),this}setWeapon(t){return samp.callNative("NPC_SetWeapon","ii",this._id,t),this}getWeapon(){return samp.callNative("NPC_GetWeapon","i",this._id)}setAmmo(t){return samp.callNative("NPC_SetAmmo","ii",this._id,t),this}getAmmo(){return samp.callNative("NPC_GetAmmo","i",this._id)}setKeys(t,i,a){return samp.callNative("NPC_SetKeys","iiii",this._id,t,i,a),this}getKeys(){const[t,i,a,n]=samp.callNative("NPC_GetKeys","iIII",this._id);return{upAndDown:t,leftAndDown:i,keys:a,ret:n}}setWeaponSkillLevel(t,i){return samp.callNative("NPC_SetWeaponSkillLevel","iii",this._id,t,i),this}getWeaponSkillLevel(t){return samp.callNative("NPC_GetWeaponSkillLevel","ii",this._id,t)}meleeAttack(t,i){return samp.callNative("NPC_MeleeAttack","iii",this._id,t,i),this}stopMeleeAttack(){return samp.callNative("NPC_StopMeleeAttack","i",this._id),this}isMeleeAttacking(){return!!samp.callNative("NPC_IsMeleeAttacking","i",this._id)}setFightingStyle(t){return samp.callNative("NPC_SetFightingStyle","ii",this._id,t),this}getFightingStyle(){return samp.callNative("NPC_GetFightingStyle","i",this._id)}enableReloading(t){return samp.callNative("NPC_EnableReloading","ii",this._id,t),this}isReloadEnabled(){return!!samp.callNative("NPC_IsReloadEnabled","i",this._id)}isReloading(){return!!samp.callNative("NPC_IsReloading","i",this._id)}enableInfiniteAmmo(t){return samp.callNative("NPC_EnableInfiniteAmmo","ii",this._id,t),this}isInfiniteAmmoEnabled(){return!!samp.callNative("NPC_IsInfiniteAmmoEnabled","i",this._id)}getWeaponState(){return samp.callNative("NPC_GetWeaponState","i",this._id)}setAmmoInClip(t){return samp.callNative("NPC_SetAmmoInClip","ii",this._id,t),this}getAmmoInClip(){return samp.callNative("NPC_GetAmmoInClip","i",this._id)}shoot(t,i,a,n,r,s,l,o,d,c,h=Ae.ALL){return samp.callNative("NPC_Shoot","iiiffffffii",this._id,t,i,a,n,r,s,l,o,d,c,h),this}isShooting(){return!!samp.callNative("NPC_IsShooting","i",this._id)}aimAt(t,i,a,n,r,s,l,o,d,c=Ae.ALL){return samp.callNative("NPC_AimAt","ifffiiifffi",this._id,t,i,a,n,r,s,l,o,d,c),this}aimAtPlayer(t,i,a,n,r,s,l,o,d,c,h=Ae.ALL){return samp.callNative("NPC_AimAtPlayer","iiiiiffffffi",this._id,t.id,i,a,n,r,s,l,o,d,c,h),this}stopAim(){return samp.callNative("NPC_StopAim","i",this._id),this}isAiming(){return!!samp.callNative("NPC_IsAiming","i",this._id)}isAimingAtPlayer(t){return!!samp.callNative("NPC_IsAimingAtPlayer","ii",this._id,t.id)}setWeaponAccuracy(t,i){return samp.callNative("NPC_SetWeaponAccuracy","iif",this._id,t,i),this}getWeaponAccuracy(t){return samp.callNativeFloat("NPC_GetWeaponAccuracy","ii",this._id,t)}setWeaponReloadTime(t,i){return samp.callNative("NPC_SetWeaponReloadTime","iii",this._id,t,i)}getWeaponReloadTime(t){return samp.callNative("NPC_GetWeaponReloadTime","ii",this._id,t)}getWeaponActualReloadTime(t){return samp.callNative("NPC_GetWeaponActualReloadTime","ii",this._id,t)}setWeaponShootTime(t,i){return samp.callNative("NPC_SetWeaponShootTime","iii",this._id,t,i)}getWeaponShootTime(t){return samp.callNative("NPC_GetWeaponShootTime","ii",this._id,t)}setWeaponClipSize(t,i){return samp.callNative("NPC_SetWeaponClipSize","iii",this._id,t,i)}getWeaponClipSize(t){return samp.callNative("NPC_GetWeaponClipSize","ii",this._id,t)}getWeaponActualClipSize(t){return samp.callNative("NPC_GetWeaponActualClipSize","ii",this._id,t)}enterVehicle(t,i,a){return samp.callNative("NPC_EnterVehicle","iiii",this._id,t.id,i,a),this}exitVehicle(){return samp.callNative("NPC_ExitVehicle","i",this._id),this}putInVehicle(t,i){return samp.callNative("NPC_PutInVehicle","iii",this._id,t.id,i)}removeFromVehicle(){return samp.callNative("NPC_RemoveFromVehicle","i",this._id)}getVehicle(){return C.getInstance(this.getVehicleID())}getVehicleID(){return samp.callNative("NPC_GetVehicle","i",this._id)}getVehicleSeat(){return samp.callNative("NPC_GetVehicleSeat","i",this._id)}getEnteringVehicle(){return C.getInstance(this.getEnteringVehicleId())}getEnteringVehicleId(){return samp.callNative("NPC_GetEnteringVehicle","i",this._id)}getEnteringVehicleSeat(){return samp.callNative("NPC_GetEnteringVehicleSeat","i",this._id)}isEnteringVehicle(){return!!samp.callNative("NPC_IsEnteringVehicle","i",this._id)}useVehicleSiren(t=!0){return samp.callNative("NPC_UseVehicleSiren","ii",this._id,t)}isVehicleSirenUsed(){return!!samp.callNative("NPC_IsVehicleSirenUsed","i",this._id)}setVehicleHealth(t){return samp.callNative("NPC_SetVehicleHealth","if",this._id,t)}getVehicleHealth(){return samp.callNativeFloat("NPC_GetVehicleHealth","i",this._id)}setVehicleHydraThrusters(t){return samp.callNative("NPC_SetVehicleHydraThrusters","ii",this._id,t)}getVehicleHydraThrusters(){return samp.callNative("NPC_GetVehicleHydraThrusters","i",this._id)}setVehicleGearState(t){return samp.callNative("NPC_SetVehicleGearState","ii",this._id,t)}getVehicleGearState(){return samp.callNative("NPC_GetVehicleGearState","i",this._id)}setVehicleTrainSpeed(t){return samp.callNative("NPC_SetVehicleTrainSpeed","if",this._id,t)}getVehicleTrainSpeed(){return samp.callNativeFloat("NPC_GetVehicleTrainSpeed","i",this._id)}resetAnimation(){return samp.callNative("NPC_ResetAnimation","i",this._id)}setAnimation(t,i,a,n,r,s,l){return samp.callNative("NPC_SetAnimation","iifiiiii",this._id,t,i,a,n,r,s,l)}getAnimation(){const[t,i,a,n,r,s,l,o]=samp.callNative("NPC_GetAnimation","iIFIIIII",this._id);return{animationId:t,delta:i,loop:!!a,lockX:!!n,lockY:!!r,freeze:!!s,time:l,ret:o}}clearAnimations(){return samp.callNative("NPC_ClearAnimations","i",this._id)}setSpecialAction(t){return samp.callNative("NPC_SetSpecialAction","ii",this._id,t)}getSpecialAction(){return samp.callNative("NPC_SetSpecialAction","i",this._id)}startPlayback(t,i,a,n,r,s,l,o){return samp.callNative("NPC_StartPlayback","isiffffff",this._id,t,i,a,n,r,s,l,o)}startPlaybackEx(t,i,a,n,r,s,l,o){return samp.callNative("NPC_StartPlaybackEx","iiiffffff",this._id,t.id,i,a,n,r,s,l,o)}stopPlayback(){return samp.callNative("NPC_StopPlayback","i",this._id)}pausePlayback(t){return samp.callNative("NPC_PausePlayback","ii",this._id,t)}isPlayingPlayback(){return!!samp.callNative("NPC_IsPlayingPlayback","i",this._id)}isPlaybackPaused(){return!!samp.callNative("NPC_IsPlaybackPaused","i",this._id)}playNode(t,i=He.JOG,a=pe.AUTO,n=0,r=!0){return!!samp.callNative("NPC_PlayNode","iiiffi",this._id,t.id,i,a,n,r)}stopPlayingNode(){return!!samp.callNative("NPC_StopPlayingNode","i",this._id)}pausePlayingNode(){return!!samp.callNative("NPC_PausePlayingNode","i",this._id)}resumePlayingNode(){return!!samp.callNative("NPC_ResumePlayingNode","i",this._id)}isPlayingNodePaused(){return!!samp.callNative("NPC_IsPlayingNodePaused","i",this._id)}isPlayingNode(){return!!samp.callNative("NPC_IsPlayingNode","i",this._id)}changeNode(t,i){return samp.callNative("NPC_ChangeNode","iii",this._id,t.id,i)}updateNodePoint(t){return!!samp.callNative("NPC_UpdateNodePoint","ii",this._id,t)}setInvulnerable(t){return samp.callNative("NPC_SetInvulnerable","ii",this._id,t)}isInvulnerable(){return!!samp.callNative("NPC_IsInvulnerable","i",this._id)}setSurfingOffsets(t,i,a){return samp.callNative("NPC_SetSurfingOffsets","ifff",this._id,t,i,a)}getSurfingOffsets(){const[t,i,a,n]=samp.callNative("NPC_GetSurfingOffsets","iFFF",this._id);return{x:t,y:i,z:a,ret:n}}setSurfingVehicle(t){return samp.callNative("NPC_SetSurfingVehicle","ii",this._id,t.id)}getSurfingVehicle(){return C.getInstance(this.getSurfingVehicleId())}getSurfingVehicleId(){return samp.callNative("NPC_GetSurfingVehicle","i",this._id)}setSurfingPlayerObject(t){return samp.callNative("NPC_SetSurfingPlayerObject","ii",this._id,t)}getSurfingPlayerObject(){return samp.callNative("NPC_GetSurfingPlayerObject","i",this._id)}resetSurfingData(){return samp.callNative("NPC_ResetSurfingData","i",this._id)}setSurfingDynamicObject(t){return this.setSurfingPlayerObject(P.getItemInternalID(new m(this._id),S.OBJECT,t.id))}getSurfingDynamicObject(){return k.getInstance(this.getSurfingDynamicObjectId())}getSurfingDynamicObjectId(){return P.getItemStreamerID(new m(this._id),S.OBJECT,this.getSurfingPlayerObject())}static startRecordingPlayerData(t,i,a){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");yd(t.id,i,a),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)throw new Error("[NpcFunc]: It should be started before stop");Id(t.id),t.isRecording=!1}static isValid(t){return!!samp.callNative("NPC_IsValid","i",t)}static getInstance(t){return Re.get(t)}static getInstances(){return[...Re.values()]}}class xe{_filePath="";_id=-1;get id(){return this._id}get filePath(){return this._filePath}constructor(t){if(typeof t=="string"?(this._filePath=t,this._id=samp.callNative("NPC_LoadRecord","s",this._filePath)):this._id=t,ae.has(this._id))return ae.get(this._id)}unload(){const t=this._id,i=!!samp.callNative("NPC_UnloadRecord","i",this._id);return i&&(this._id=-1,this._filePath="",ae.delete(t)),i}isValid(){return xe.isValid(this._id)}static isValid(t){return!!samp.callNative("NPC_IsValidRecord","i",t)}static getCount(){return samp.callNative("NPC_GetRecordCount","")}static unloadAll(){const t=!!samp.callNative("NPC_UnloadAllRecords","");return t&&ae.clear(),t}static getInstance(t){return ae.get(t)}static getInstances(){return[...ae.values()]}}class Be{_id=-1;get id(){return this._id}constructor(t){if(this._id=t,Z.has(this._id))return Z.get(this._id);Z.set(this._id,this)}open(){samp.callNative("NPC_OpenNode","i",this._id)&&!Z.has(this._id)&&Z.set(this._id,this)}close(){const t=!!samp.callNative("NPC_CloseNode","i",this._id);return t&&Z.delete(this._id),t}isOpen(){return!!samp.callNative("NPC_IsNodeOpen","i",this._id)}getType(){return samp.callNative("NPC_GetNodeType","i",this._id)}setPoint(t){return!!samp.callNative("NPC_SetNodePoint","ii",this._id,t)}getPointPosition(){const[t,i,a,n]=samp.callNative("NPC_GetNodePointPosition","iFFF",this._id);return{x:t,y:i,z:a,ret:!!n}}getPointCount(){return samp.callNative("NPC_GetNodePointCount","i",this._id)}getInfo(){const[t,i,a,n]=samp.callNative("NPC_GetNodeInfo","iIII",this._id);return{vehNodes:t,pedNodes:i,naviNode:a,ret:!!n}}static getInstance(t){return Z.get(t)}static getInstances(){return[...Z.values()]}}class ke{_id=-1;get id(){return this._id}constructor(t){if(typeof t<"u"){if(ie.has(t))return ie.get(t);this._id=t}else this._id=samp.callNative("NPC_CreatePath","")}destroy(){const t=!!samp.callNative("NPC_DestroyPath","i",this._id);return t&&(this._id=-1,ie.delete(this._id)),t}addPoint(t,i,a,n){return!!samp.callNative("NPC_AddPointToPath","iffff",this._id,t,i,a,n)}removePoint(t){return!!samp.callNative("NPC_RemovePointFromPath","ii",this._id,t)}clear(){return!!samp.callNative("NPC_ClearPath","i",this._id)}getPointCount(){return samp.callNative("NPC_GetPathPointCount","i",this._id)}getPoint(t){const[i,a,n,r,s]=samp.callNative("NPC_GetPathPoint","ii",this._id,t);return{x:i,y:a,z:n,stopRange:r,ret:s}}isValid(){return ke.isValid(this._id)}getCurrentPointIndex(){return samp.callNative("NPC_GetCurrentPathPointIndex","i",this._id)}move(t=He.JOG,i=pe.AUTO,a=!1){return!!samp.callNative("NPC_MoveByPath","iiifi",this._id,this._id,t,i,a)}hasPointInRadius(t,i,a,n){return!!samp.callNative("NPC_HasPathPointInRange","iiffff",this._id,this._id,t,i,a,n)}static destroyAll(){const t=!!samp.callNative("NPC_DestroyAllPath","");return t&&ie.clear(),t}static getCount(){return samp.callNative("NPC_GetPathCount","")}static isValid(t){return!!samp.callNative("NPC_IsValidPath","i",t)}static getInstance(t){return ie.get(t)}static getInstances(){return[...ie.values()]}}L.onExit(({next:e})=>(Re.clear(),Z.clear(),ie.clear(),ae.clear(),e()));const[zf]=u({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:I.decodeFromBuf(t)}}}),[$f]=u({name:"OnNPCFinishMove",identifier:"i",beforeEach(e){return{npc:v.getInstance(e)}}}),[Jf]=u({name:"OnNPCCreate",identifier:"i",beforeEach(e){return{npc:v.getInstance(e)}}}),[Qf]=u({name:"OnNPCDestroy",identifier:"i",beforeEach(e){return{npc:v.getInstance(e)}},afterEach({npc:e}){Re.delete(e.id)}}),[qf]=u({name:"OnNPCWeaponStateChange",identifier:"iii",beforeEach(e,t,i){return{npc:v.getInstance(e),newState:t,oldState:i}}}),[eg]=u({name:"OnNPCTakeDamage",identifier:"iiiii",beforeEach(e,t,i,a,n){return{npc:v.getInstance(e),damager:m.getInstance(t),damage:i,weapon:a,bodyPart:n}}}),[tg]=u({name:"OnNPCGiveDamage",identifier:"iiiii",beforeEach(e,t,i,a,n){return{npc:v.getInstance(e),damager:m.getInstance(t),damage:i,weapon:a,bodyPart:n}}}),[ig]=u({name:"OnNPCDeath",identifier:"iii",beforeEach(e,t,i){const a=m.getInstance(t)||N.PLAYER_ID;return{npc:v.getInstance(e),killer:a,reason:i}}}),[ag]=u({name:"OnNpcSpawn",identifier:"i",beforeEach(e){return{npc:v.getInstance(e)}}}),[ng]=u({name:"OnNpcRespawn",identifier:"i",beforeEach(e){return{npc:v.getInstance(e)}}}),[rg]=u({name:"OnNPCPlaybackStart",identifier:"ii",beforeEach(e,t){return{npc:v.getInstance(e),record:xe.getInstance(t),recordId:t}}}),[sg]=u({name:"OnNPCPlaybackEnd",identifier:"ii",beforeEach(e,t){return{npc:v.getInstance(e),record:xe.getInstance(t),recordId:t}}}),[lg]=u({name:"OnNPCWeaponShot",identifier:"iiiifff",beforeEach(e,t,i,a,n,r,s){return{npc:v.getInstance(e),weapon:t,hitType:i,hitId:a,fX:n,fY:r,fZ:s}}}),[og]=u({name:"OnNPCFinishNodePoint",identifier:"iii",beforeEach(e,t,i){return{npc:v.getInstance(e),node:Be.getInstance(t),nodeId:t,pointId:i}}}),[dg]=u({name:"OnNPCFinishNode",identifier:"ii",beforeEach(e,t){return{npc:v.getInstance(e),node:Be.getInstance(t),nodeId:t}}}),[cg]=u({name:"OnNPCChangeNode",identifier:"iii",beforeEach(e,t,i){return{npc:v.getInstance(e),newNode:Be.getInstance(t),oldNode:Be.getInstance(i),newNodeId:t,oldNodeId:i}}}),[_g]=u({name:"OnNPCFinishMovePath",identifier:"ii",beforeEach(e,t){return{npc:v.getInstance(e),path:ke.getInstance(t),pathId:t}}}),[hg]=u({name:"OnNPCFinishMovePathPoint",identifier:"iii",beforeEach(e,t,i){return{npc:v.getInstance(e),path:ke.getInstance(t),pathId:t,pointIndex:i}}}),ug=Object.freeze({onClientMessage:zf,onFinishMove:$f,onCreate:Jf,onDestroy:Qf,onSpawn:ag,onRespawn:ng,onWeaponStateChange:qf,onTakeDamage:eg,onGiveDamage:tg,onDeath:ig,onPlaybackStart:rg,onPlaybackEnd:sg,onWeaponShot:lg,onFinishNodePoint:og,onFinishNode:dg,onChangeNode:cg,onFinishMovePath:_g,onFinishMovePathPoint:hg});class mg{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return dl()}static getPlayerNetworkStats(t){return ol(t.id)}static getBytesReceived(t){return Js(t.id)}static getBytesSent(t){return qs(t.id)}static getConnectionStatus(t){return il(t.id)}static getConnectedTime(t){return zs(t.id)}static getIpPort(t){return al(t.id)}static getMessagesReceived(t){return $s(t.id)}static getMessagesRecvPerSecond(t){return el(t.id)}static getMessagesSent(t){return Qs(t.id)}static getPacketLossPercent(t){return tl(t.id)}}class pg{_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,i,a){this._text=t,this._time=i,this._style=a}static hideForAll(t){us(t)}static has(t,i){return Zl(t.id,i)}forAll(t="win1252"){hs(I.encodeToBuf(I.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,i="win1252"){Kl(t.id,I.encodeToBuf(I.convertSpecialChar(this.text),i),this.time,this.style)}hideForPlayer(t){return Yl(t.id,this.style)}}class ye{_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,i,a,n,r,s){this._title=t,this.columns=i,this._x=a,this._y=n,this._col1width=r,this._col2width=s}create(){if(this._id!==-1)throw new Error("[Menu]: Cannot be created twice");if(ye.getInstances().length===F.MAX_MENUS)throw new Error("[Menu]: The maximum number of menus allowed to be created has been reached 128");return this._id=U_(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),we.set(this._id,this),this}destroy(){if(this._id===-1)throw new Error("[Menu]: Cannot destroy before create");return A.skip||W_(this.id),we.delete(this._id),this._id=-1,this}addItem(t,i){if(this._id===-1)throw new Error("[Menu]: Cannot addItem before create");if(this._itemCount===F.MAX_MENU_ROW)throw new Error("[Menu]: The maximum number of items allowed to be added has been reached 12");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return j_(this.id,t,i),this._itemCount++,this}setColumnHeader(t,i){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 K_(this.id,t,i),this}disable(){if(this._id===-1)throw new Error("[Menu]: Cannot disable menu before create");return z_(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");$_(this.id,t)}isValid(){return A.skip&&this.id!==-1?!0:ye.isValid(this.id)}showForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot show menu before create");return Z_(this.id,t.id)}hideForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot hide menu before create");return X_(this.id,t.id)}isDisabled(){return this._id===-1?!1:F_(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:B_(this.id,t)}getItems(t){return this._id===-1?0:x_(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:k_(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:M_(this.id)}getColumnHeader(t){if(this._id===-1)throw new Error("[Menu]: Cannot get column header before create");return V_(this.id,t)}getItem(t,i){if(this._id===-1)throw new Error("[Menu]: Cannot get item before create");if(i<0||i>this.getItems(t)-1)throw new Error("[Menu]: invalid getItem range");return H_(this.id,t,i)}static isValid=Y_;static getInstance(t){return we.get(t)}static getInstances(){return[...we.values()]}static getInstanceByPlayer(t){return this.getInstances().find(i=>i.id===J_(t.id))}}L.onExit(({next:e})=>(ye.getInstances().forEach(t=>t.destroy()),we.clear(),e()));const[fg]=u({name:"OnPlayerExitedMenu",identifier:"i",beforeEach(e){return{player:m.getInstance(e)}}}),[gg]=u({name:"OnPlayerSelectedMenuRow",identifier:"ii",beforeEach(e,t){const i=m.getInstance(e),a=ye.getInstanceByPlayer(i);return{player:i,menu:a,row:t}}}),Pg=Object.freeze({onPlayerExited:fg,onPlayerSelectedRow:gg});class b{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 again");const{player:t}=this.sourceInfo;if(t){if(b.getInstances(!1).length===F.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:i,minY:a,maxX:n,maxY:r}=this.sourceInfo;this._id=fh(t.id,i,a,n,r);const s=at.onDisconnect(({player:l,next:o})=>{o(),l===this.sourceInfo.player&&(this.isValid()&&this.destroy(),s())});ve.set(this.id,this)}else{if(b.getInstances(!0).length===F.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:i,minY:a,maxX:n,maxY:r}=this.sourceInfo;this._id=sh(i,a,n,r),De.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?(A.skip||gh(t.id,this.id),ve.delete(this.id)):(A.skip||lh(this.id),De.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 dh(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be show for all.")}showForPlayer(t,i){if(this.id===-1)throw new Error("[GangZone]: Unable to show the gangzone before create");const a=this.sourceInfo.player;if(a)Ph(a.id,this.id,E(t));else if(i)oh(i.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 _h(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 i=this.sourceInfo.player;if(i)Sh(i.id,this.id);else if(t)ch(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 uh(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be flash for all.")}flashForPlayer(t,i){if(this.id===-1)throw new Error("[GangZone]: Unable to flash the gangzone before create");const a=this.sourceInfo.player;if(a)yh(a.id,this.id,E(i));else if(t)hh(t.id,this.id,i);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 ph(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 i=this.sourceInfo.player;if(i)Ih(i.id,this.id);else if(t)mh(t.id,this.id);else throw new Error("[GangZone]: invalid player for flash");return this}isValid(){if(A.skip&&this.id!==-1)return!0;if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?b.isValidPlayer(t.id,this.id):b.isValidGlobal(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const i=this.sourceInfo.player;return i?Ah(i.id,this.id):q_(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const i=this.sourceInfo.player;return i?Ch(i.id,this.id):eh(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get color before create");const i=this.sourceInfo.player;return i?Nh(i.id,this.id):th(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get flash color before create");const i=this.sourceInfo.player;return i?Th(i.id,this.id):ih(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const i=this.sourceInfo.player;return i?Dh(i.id,this.id):ah(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?vh(t.id,this.id):nh(this.id)}useCheck(t){if(this.id===-1)throw new Error("[GangZone]: Unable to use check before create");const i=this.sourceInfo.player;return i?wh(i.id,this.id,t):rh(this.id,t),this}static isValidPlayer=Eh;static isValidGlobal=Q_;static getInstance(t,i){return i?De.get(t):ve.get(t)}static getInstances(t){return t?[...De.values()]:[...ve.values()]}}L.onExit(({next:e})=>(b.getInstances(!0).forEach(t=>t.destroy()),b.getInstances(!1).forEach(t=>t.destroy()),De.clear(),ve.clear(),e()));const[Sg]=u({name:"OnPlayerEnterGangZone",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),gangZone:b.getInstance(t,!0)}}}),[yg]=u({name:"OnPlayerLeaveGangZone",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),gangZone:b.getInstance(t,!0)}}}),[Ig]=u({name:"OnPlayerEnterPlayerGangZone",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),gangZone:b.getInstance(t,!1)}}}),[Eg]=u({name:"OnPlayerLeavePlayerGangZone",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),gangZone:b.getInstance(t,!1)}}}),[Ag]=u({name:"OnPlayerClickGangZone",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),gangZone:b.getInstance(t,!0)}}}),[Cg]=u({name:"OnPlayerClickPlayerGangZone",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),gangZone:b.getInstance(t,!1)}}}),Ng=Object.freeze({onPlayerEnterGlobal:Sg,onPlayerLeaveGlobal:yg,onPlayerEnterPlayer:Ig,onPlayerLeavePlayer:Eg,onPlayerClickGlobal:Ag,onPlayerClickPlayer:Cg});class _{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 again");const{x:t,y:i,text:a,player:n,charset:r="iso-8859-1"}=this.sourceInfo,s=I.encodeToBuf(I.convertSpecialChar(a),r);if(n){if(_.getInstances(!1).length===F.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=_.__inject__CreatePlayerTextDraw(n.id,t,i,s);const l=at.onDisconnect(({player:o,next:d})=>{const c=d();return o===n&&(this.isValid()&&this.destroy(),l()),c});be.set(this.id,this)}else{if(_.getInstances(!0).length===F.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=_.__inject__TextDrawCreate(t,i,s),Le.set(this.id,this)}return this}destroy(){this.id===-1&&_.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(A.skip||_.__inject__PlayerTextDrawDestroy(t.id,this.id),be.delete(this.id)):(A.skip||_.__inject__TextDrawDestroy(this.id),Le.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return _.beforeCreateWarn("set font"),this;const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawFont(i.id,this.id,t):_.__inject__TextDrawFont(this.id,t),this}setColor(t){if(this.id===-1)return _.beforeCreateWarn("set color"),this;const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawColor(i.id,this.id,t):_.__inject__TextDrawColor(this.id,t),this}setBoxColors(t){if(this.id===-1)return _.beforeCreateWarn("set box color"),this;const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawBoxColor(i.id,this.id,t):_.__inject__TextDrawBoxColor(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return _.beforeCreateWarn("set background color"),this;const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawBackgroundColor(i.id,this.id,t):_.__inject__TextDrawBackgroundColor(this.id,t),this}setAlignment(t){if(this.id===-1)return _.beforeCreateWarn("set alignment"),this;const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawAlignment(i.id,this.id,t):_.__inject__TextDrawAlignment(this.id,t),this}setLetterSize(t,i){if(this.id===-1)return _.beforeCreateWarn("set letter size"),this;const{player:a}=this.sourceInfo;return a?_.__inject__PlayerTextDrawLetterSize(a.id,this.id,t,i):_.__inject__TextDrawLetterSize(this.id,t,i),this}setOutline(t){if(this.id===-1)return _.beforeCreateWarn("set outline model"),this;if(t<0)throw new Error("[TextDraw]: Invalid outline value");const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawSetOutline(i.id,this.id,t):_.__inject__TextDrawSetOutline(this.id,t),this}setPreviewModel(t){if(this.id===-1)return _.beforeCreateWarn("set preview model"),this;this.setFont(Te.MODEL_PREVIEW);const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawSetPreviewModel(i.id,this.id,t):_.__inject__TextDrawSetPreviewModel(this.id,t),this}setPreviewRot(t,i,a,n=1){if(this.id===-1)return _.beforeCreateWarn("set preview rot"),this;this.setFont(Te.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?_.__inject__PlayerTextDrawSetPreviewRot(r.id,this.id,t,i,a,n):_.__inject__TextDrawSetPreviewRot(this.id,t,i,a,n),this}setPreviewVehColors(t,i){if(this.id===-1)return _.beforeCreateWarn("set preview veh col"),this;this.setFont(Te.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?_.__inject__PlayerTextDrawSetPreviewVehicleColors(a.id,this.id,t,i):_.__inject__TextDrawSetPreviewVehicleColors(this.id,t,i),this}setProportional(t=!0){if(this.id===-1)return _.beforeCreateWarn("set Proportional"),this;const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawSetProportional(i.id,this.id,t):_.__inject__TextDrawSetProportional(this.id,t),this}setSelectable(t){if(this.id===-1)return _.beforeCreateWarn("set Selectable"),this;const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawSetSelectable(i.id,this.id,t):_.__inject__TextDrawSetSelectable(this.id,t),this}setShadow(t){if(this.id===-1)return _.beforeCreateWarn("set shadow"),this;if(t<0)throw new Error("[TextDraw]: Invalid shadow value");const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawSetShadow(i.id,this.id,t):_.__inject__TextDrawSetShadow(this.id,t),this}setString(t,i){if(this.id===-1)return _.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)throw new Error("[TextDraw]: Invalid text length");const{player:a,charset:n="iso-8859-1"}=this.sourceInfo,r=I.encodeToBuf(I.convertSpecialChar(t),n);return a?_.__inject__PlayerTextDrawSetString(a.id,this.id,r):i?_.__inject__TextDrawSetStringForPlayer(this.id,i.id,r):_.__inject__TextDrawSetString(this.id,r),this}setTextSize(t,i){if(this.id===-1)return _.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?_.__inject__PlayerTextDrawTextSize(a.id,this.id,t,i):_.__inject__TextDrawTextSize(this.id,t,i),this}useBox(t){if(this.id===-1)return _.beforeCreateWarn("set TextSize"),this;const{player:i}=this.sourceInfo;return i?_.__inject__PlayerTextDrawUseBox(i.id,this.id,t):_.__inject__TextDrawUseBox(this.id,t),this}static beforeCreateWarn(t){throw new Error(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return _.beforeCreateWarn("show"),this;const i=this.sourceInfo.player;if(i)_.__inject__PlayerTextDrawShow(i.id,this.id);else if(t)_.__inject__TextDrawShowForPlayer(t.id,this.id);else throw new Error("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return _.beforeCreateWarn("hide"),this;const i=this.sourceInfo.player;if(i)_.__inject__PlayerTextDrawHide(i.id,this.id);else if(t)_.__inject__TextDrawHideForPlayer(t.id,this.id);else throw new Error("[TextDraw]: invalid player for hide");return this}showAll(){if(this.id===-1)return _.beforeCreateWarn("show"),this;if(!this.sourceInfo.player)return _.__inject__TextDrawShowForAll(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be show for all.")}hideAll(){if(this.id===-1)return _.beforeCreateWarn("hideAll"),this;if(!this.sourceInfo.player)return _.__inject__TextDrawHideForAll(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be hide for all.")}isValid(){if(A.skip&&this.id!==-1)return!0;const t=this.sourceInfo.player;return t?_.__inject__IsValidPlayerTextDraw(t.id,this.id):_.__inject__IsValidTextDraw(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:i}=this.sourceInfo;return i?_.__inject__IsPlayerTextDrawVisible(i.id,this.id):t?_.__inject__IsTextDrawVisibleForPlayer(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetString(t.id,this.id).str:_.__inject__TextDrawGetString(this.id).str}setPos(t,i){if(this.id===-1)return _.beforeCreateWarn("set position"),this;const a=this.sourceInfo.player;return a?_.__inject__PlayerTextDrawSetPos(a.id,this.id,t,i):_.__inject__TextDrawSetPos(this.id,t,i),this}getLetterSize(){if(this.id===-1)return _.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetLetterSize(t.id,this.id):_.__inject__TextDrawGetLetterSize(this.id)}getTextSize(){if(this.id===-1)return _.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetTextSize(t.id,this.id):_.__inject__TextDrawGetTextSize(this.id)}getPos(){if(this.id===-1)return _.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetPos(t.id,this.id):_.__inject__TextDrawGetPos(this.id)}getColor(){if(this.id===-1)return _.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetColor(t.id,this.id):_.__inject__TextDrawGetColor(this.id)}getBoxColor(){if(this.id===-1)return _.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetBoxColor(t.id,this.id):_.__inject__TextDrawGetBoxColor(this.id)}getBackgroundColor(){if(this.id===-1)return _.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetBackgroundColor(t.id,this.id):_.__inject__TextDrawGetBackgroundColor(this.id)}getShadow(){if(this.id===-1)return _.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetShadow(t.id,this.id):_.__inject__TextDrawGetShadow(this.id)}getOutline(){if(this.id===-1)return _.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetOutline(t.id,this.id):_.__inject__TextDrawGetOutline(this.id)}getFont(){if(this.id===-1)return _.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetFont(t.id,this.id):_.__inject__TextDrawGetFont(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawIsBox(t.id,this.id):_.__inject__TextDrawIsBox(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawIsProportional(t.id,this.id):_.__inject__TextDrawIsProportional(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawIsSelectable(t.id,this.id):_.__inject__TextDrawIsSelectable(this.id)}getAlignment(){if(this.id===-1)return _.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetAlignment(t.id,this.id):_.__inject__TextDrawGetAlignment(this.id)}getPreviewModel(){if(this.id===-1)return _.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetPreviewModel(t.id,this.id):_.__inject__TextDrawGetPreviewModel(this.id)}getPreviewRot(){if(this.id===-1)return _.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetPreviewRot(t.id,this.id):_.__inject__TextDrawGetPreviewRot(this.id)}getPreviewVehColors(){if(this.id===-1)return _.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?_.__inject__PlayerTextDrawGetPreviewVehicleColors(t.id,this.id):_.__inject__TextDrawGetPreviewVehicleColors(this.id)}isGlobal(){return!!this.sourceInfo.player}static getInstance(t,i){return i?Le.get(t):be.get(t)}static getInstances(t){return t?[...Le.values()]:[...be.values()]}static __inject__TextDrawCreate=Jh;static __inject__CreatePlayerTextDraw=Hu;static __inject__TextDrawDestroy=Qh;static __inject__PlayerTextDrawDestroy=Uu;static __inject__TextDrawFont=ou;static __inject__PlayerTextDrawFont=Qu;static __inject__TextDrawColor=iu;static __inject__PlayerTextDrawColor=Zu;static __inject__TextDrawBoxColor=nu;static __inject__PlayerTextDrawBoxColor=Yu;static __inject__TextDrawBackgroundColor=lu;static __inject__PlayerTextDrawBackgroundColor=Ju;static __inject__TextDrawAlignment=tu;static __inject__PlayerTextDrawAlignment=Ku;static __inject__TextDrawLetterSize=qh;static __inject__PlayerTextDrawLetterSize=Wu;static __inject__TextDrawSetOutline=su;static __inject__PlayerTextDrawSetOutline=$u;static __inject__TextDrawSetPreviewModel=fu;static __inject__PlayerTextDrawSetPreviewModel=nm;static __inject__TextDrawSetPreviewRot=gu;static __inject__PlayerTextDrawSetPreviewRot=rm;static __inject__TextDrawSetPreviewVehicleColors=Pu;static __inject__PlayerTextDrawSetPreviewVehicleColors=sm;static __inject__TextDrawSetProportional=du;static __inject__PlayerTextDrawSetProportional=qu;static __inject__TextDrawSetSelectable=cu;static __inject__PlayerTextDrawSetSelectable=em;static __inject__TextDrawSetShadow=ru;static __inject__PlayerTextDrawSetShadow=zu;static __inject__PlayerTextDrawSetString=am;static __inject__TextDrawSetStringForPlayer=$h;static __inject__TextDrawSetString=pu;static __inject__TextDrawTextSize=eu;static __inject__PlayerTextDrawTextSize=ju;static __inject__PlayerTextDrawUseBox=Xu;static __inject__TextDrawUseBox=au;static __inject__PlayerTextDrawShow=tm;static __inject__TextDrawShowForPlayer=_u;static __inject__PlayerTextDrawHide=im;static __inject__TextDrawHideForPlayer=hu;static __inject__TextDrawShowForAll=uu;static __inject__TextDrawHideForAll=mu;static __inject__IsValidPlayerTextDraw=Iu;static __inject__IsValidTextDraw=Rh;static __inject__IsPlayerTextDrawVisible=Eu;static __inject__IsTextDrawVisibleForPlayer=Lh;static __inject__PlayerTextDrawGetString=Au;static __inject__TextDrawGetString=bh;static __inject__PlayerTextDrawSetPos=Cu;static __inject__TextDrawSetPos=Oh;static __inject__PlayerTextDrawGetLetterSize=Nu;static __inject__TextDrawGetLetterSize=Gh;static __inject__PlayerTextDrawGetTextSize=Tu;static __inject__TextDrawGetTextSize=Fh;static __inject__PlayerTextDrawGetPos=Du;static __inject__TextDrawGetPos=Bh;static __inject__PlayerTextDrawGetColor=vu;static __inject__TextDrawGetColor=xh;static __inject__PlayerTextDrawGetBoxColor=wu;static __inject__TextDrawGetBoxColor=kh;static __inject__PlayerTextDrawGetBackgroundColor=Ru;static __inject__TextDrawGetBackgroundColor=Mh;static __inject__PlayerTextDrawGetShadow=Lu;static __inject__TextDrawGetShadow=Vh;static __inject__PlayerTextDrawGetOutline=bu;static __inject__TextDrawGetOutline=Hh;static __inject__PlayerTextDrawGetFont=Ou;static __inject__TextDrawGetFont=Uh;static __inject__PlayerTextDrawIsBox=Gu;static __inject__TextDrawIsBox=Wh;static __inject__PlayerTextDrawIsProportional=Fu;static __inject__TextDrawIsProportional=jh;static __inject__PlayerTextDrawIsSelectable=Bu;static __inject__TextDrawIsSelectable=Kh;static __inject__PlayerTextDrawGetAlignment=xu;static __inject__TextDrawGetAlignment=Zh;static __inject__PlayerTextDrawGetPreviewModel=ku;static __inject__TextDrawGetPreviewModel=Xh;static __inject__PlayerTextDrawGetPreviewRot=Mu;static __inject__TextDrawGetPreviewRot=Yh;static __inject__TextDrawGetPreviewVehicleColors=zh;static __inject__PlayerTextDrawGetPreviewVehicleColors=Vu}L.onExit(({next:e})=>(_.getInstances(!0).forEach(t=>t.destroy()),_.getInstances(!1).forEach(t=>t.destroy()),Le.clear(),be.clear(),e()));const[Tg]=u({name:"OnPlayerClickTextDraw",identifier:"ii",defaultValue:!1,beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===N.TEXT_DRAW?t:_.getInstance(t,!0)}}}),[Dg]=u({name:"OnPlayerClickPlayerTextDraw",identifier:"ii",defaultValue:!1,beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===N.TEXT_DRAW?t:_.getInstance(t,!1)}}}),vg=Object.freeze({onPlayerClickGlobal:Tg,onPlayerClickPlayer:Dg});function wg(e,t){return(e&t)===t}function Rg(e,t,i){return(e&i)===i&&(t&i)!==i}function Lg(e,t){return!!(e&t)}function bg(e,t,i){return(e&i)!==i&&(t&i)===i}function Og(e){const t=new Set,i=e.prototype,a=Object.getOwnPropertyNames(i).filter(r=>typeof i[r]=="function"&&r!=="constructor").reduce((r,s)=>(r[s]=i[s],r),{});function n(r,s){if(t.has(r))throw new Error(`Method '${String(r)}' of class '${e.name}' has already been hooked. Each method can only be hooked once per defineHooks call. `);if(typeof Reflect.get(i,r)!="function")throw new Error(`Invalid method: ${String(r)}`);return Reflect.set(i,r,s),t.add(r),s}return[a,n]}exports.ArtworkEnum=_t,exports.BodyPartsEnum=Nt,exports.BoneIdsEnum=Tt,exports.BulletHitTypesEnum=Gt,exports.CameraCutStylesEnum=Ce,exports.CameraModesEnum=Ct,exports.CarModTypeEnum=wt,exports.ClickSourcesEnum=ht,exports.ConnectionStatusEnum=mt,exports.DamageDeathReasonEnum=Je,exports.Dialog=R,exports.DialogStylesEnum=ze,exports.Dynamic3DTextLabel=me,exports.Dynamic3DTextLabelEvent=Hf,exports.DynamicActor=q,exports.DynamicActorEvent=Bf,exports.DynamicArea=O,exports.DynamicAreaEvent=Yf,exports.DynamicCheckPointEvent=Nf,exports.DynamicCheckpoint=z,exports.DynamicMapIcon=ue,exports.DynamicMapIconEvent=hf,exports.DynamicObject=k,exports.DynamicObjectEvent=lf,exports.DynamicPickup=V,exports.DynamicPickupEvent=Pf,exports.DynamicRaceCP=$,exports.DynamicRaceCPEvent=bf,exports.E_STREAMER=W,exports.EditResponseTypesEnum=ut,exports.FightingStylesEnum=Et,exports.ForceSyncEnum=Dt,exports.GameMode=L,exports.GameText=pg,exports.GangZone=b,exports.GangZoneEvent=Ng,exports.I18n=I,exports.InvalidEnum=N,exports.KeysEnum=pt,exports.LimitsEnum=F,exports.MapIconStyles=Ze,exports.MapIconStylesEnum=At,exports.MarkerModesEnum=ft,exports.MaterialTextAlign=kt,exports.MaterialTextSizes=Qe,exports.Menu=ye,exports.MenuEvent=Pg,exports.NPCEntityCheckEnum=Ae,exports.NPCMoveSpeedEnum=pe,exports.NPCMoveTypeEnum=He,exports.NPCPlaybackEnum=gt,exports.NPCRecordStatusEnum=Pt,exports.NetStats=mg,exports.Npc=v,exports.NpcEvent=ug,exports.NpcNode=Be,exports.NpcPath=ke,exports.NpcRecord=xe,exports.ObjectMaterialAlignmentEnum=yt,exports.ObjectMaterialTextSizeEnum=St,exports.Player=m,exports.PlayerEvent=at,exports.PlayerStateEnum=Ne,exports.RecordTypesEnum=Bt,exports.SelectObjectTypesEnum=It,exports.SpecialActionsEnum=$e,exports.SpectateModesEnum=Ue,exports.Streamer=P,exports.StreamerAreaTypes=xt,exports.StreamerDistances=D,exports.StreamerItemTypes=S,exports.StreamerMiscellaneous=We,exports.StreamerObjectTypes=je,exports.TextDraw=_,exports.TextDrawAlignEnum=vt,exports.TextDrawEvent=vg,exports.TextDrawFontsEnum=Te,exports.Vehicle=C,exports.VehicleEvent=zp,exports.VehicleModelInfoEnum=Lt,exports.VehicleParamsEnum=Rt,exports.WeaponEnum=bt,exports.WeaponSkillsEnum=Ot,exports.WeaponStatesEnum=Ft,exports.animateLib=ni,exports.defineEvent=u,exports.defineHooks=Og,exports.getAnimateDurationByLibName=Im,exports.isHolding=wg,exports.isPressed=Rg,exports.isPressing=Lg,exports.isReleased=bg,exports.isValidAnimateLib=et,exports.isValidAnimateName=tt,exports.rgba=E,exports.useTrigger=Wr,exports.withTriggerOptions=jr;