@infernus/core 0.8.7 → 0.9.0
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 +1 -1
- package/dist/bundle.mjs +1 -0
- package/package.json +10 -3
- package/rollup.config.mjs +5 -2
- package/.eslintrc +0 -3
- package/src/controllers/command/index.ts +0 -57
- package/src/controllers/filterscript/index.ts +0 -69
- package/src/controllers/gamemode/index.ts +0 -277
- package/src/controllers/gamemode/settings.ts +0 -3
- package/src/controllers/gametext/index.ts +0 -61
- package/src/controllers/gangzone/baseGangZone.ts +0 -284
- package/src/controllers/gangzone/gangZoneBus.ts +0 -8
- package/src/controllers/gangzone/gangZoneEvent.ts +0 -91
- package/src/controllers/gangzone/index.ts +0 -2
- package/src/controllers/i18n/index.ts +0 -81
- package/src/controllers/index.ts +0 -12
- package/src/controllers/menu/baseMenu.ts +0 -203
- package/src/controllers/menu/index.ts +0 -2
- package/src/controllers/menu/menuBus.ts +0 -8
- package/src/controllers/menu/menuEvent.ts +0 -76
- package/src/controllers/netstats/index.ts +0 -43
- package/src/controllers/npc/index.ts +0 -2
- package/src/controllers/npc/npcEvent.ts +0 -26
- package/src/controllers/npc/npcFunc.ts +0 -64
- package/src/controllers/player/basePlayer.ts +0 -980
- package/src/controllers/player/index.ts +0 -3
- package/src/controllers/player/pauseChecker.ts +0 -39
- package/src/controllers/player/playerBus.ts +0 -9
- package/src/controllers/player/playerEvent.ts +0 -468
- package/src/controllers/promise/client/index.ts +0 -31
- package/src/controllers/promise/dialog/index.ts +0 -143
- package/src/controllers/textdraw/baseTextDraw.ts +0 -416
- package/src/controllers/textdraw/index.ts +0 -2
- package/src/controllers/textdraw/textdrawBus.ts +0 -8
- package/src/controllers/textdraw/textdrawEvent.ts +0 -61
- package/src/controllers/vehicle/baseVehicle.ts +0 -503
- package/src/controllers/vehicle/index.ts +0 -2
- package/src/controllers/vehicle/vehicleBus.ts +0 -8
- package/src/controllers/vehicle/vehicleEvent.ts +0 -201
- package/src/enums/artwork.ts +0 -5
- package/src/enums/clickSources.ts +0 -3
- package/src/enums/dialogStyles.ts +0 -8
- package/src/enums/editResponseTypes.ts +0 -5
- package/src/enums/index.ts +0 -18
- package/src/enums/invalid.ts +0 -13
- package/src/enums/keys.ts +0 -25
- package/src/enums/limits.ts +0 -18
- package/src/enums/marker.ts +0 -5
- package/src/enums/netstat.ts +0 -11
- package/src/enums/npc.ts +0 -11
- package/src/enums/object.ts +0 -25
- package/src/enums/player.ts +0 -92
- package/src/enums/record.ts +0 -5
- package/src/enums/specialActions.ts +0 -22
- package/src/enums/streamer.ts +0 -10
- package/src/enums/textdrawFonts.ts +0 -23
- package/src/enums/vehicle.ts +0 -32
- package/src/enums/weapon.ts +0 -82
- package/src/interfaces/index.ts +0 -233
- package/src/logger/index.ts +0 -24
- package/src/main.ts +0 -6
- package/src/types/index.ts +0 -48
- package/src/utils/EventBus.ts +0 -60
- package/src/utils/animateUtils.ts +0 -2504
- package/src/utils/colorUtils.ts +0 -43
- package/src/utils/helperUtils.ts +0 -403
- package/src/utils/vehicleUtils.ts +0 -321
- package/src/wrapper/native/callbacks/index.ts +0 -395
- package/src/wrapper/native/functions/index.ts +0 -3131
- package/src/wrapper/streamer/3dtext/3dTextBus.ts +0 -8
- package/src/wrapper/streamer/3dtext/3dTextEvent.ts +0 -70
- package/src/wrapper/streamer/3dtext/base3DText.ts +0 -184
- package/src/wrapper/streamer/3dtext/index.ts +0 -2
- package/src/wrapper/streamer/actor/actorBus.ts +0 -8
- package/src/wrapper/streamer/actor/actorEvent.ts +0 -95
- package/src/wrapper/streamer/actor/baseActor.ts +0 -278
- package/src/wrapper/streamer/actor/index.ts +0 -2
- package/src/wrapper/streamer/area/areaBus.ts +0 -8
- package/src/wrapper/streamer/area/areaEvent.ts +0 -99
- package/src/wrapper/streamer/area/baseArea.ts +0 -450
- package/src/wrapper/streamer/area/index.ts +0 -2
- package/src/wrapper/streamer/checkpoint/baseCheckpoint.ts +0 -136
- package/src/wrapper/streamer/checkpoint/checkPointBus.ts +0 -8
- package/src/wrapper/streamer/checkpoint/checkPointEvent.ts +0 -100
- package/src/wrapper/streamer/checkpoint/index.ts +0 -2
- package/src/wrapper/streamer/common/index.ts +0 -318
- package/src/wrapper/streamer/index.ts +0 -9
- package/src/wrapper/streamer/mapIcon/baseMapIcon.ts +0 -128
- package/src/wrapper/streamer/mapIcon/index.ts +0 -2
- package/src/wrapper/streamer/mapIcon/mapIconBus.ts +0 -8
- package/src/wrapper/streamer/mapIcon/mapIconEvent.ts +0 -67
- package/src/wrapper/streamer/object/baseObject.ts +0 -415
- package/src/wrapper/streamer/object/index.ts +0 -2
- package/src/wrapper/streamer/object/objectBus.ts +0 -8
- package/src/wrapper/streamer/object/objectEvent.ts +0 -177
- package/src/wrapper/streamer/pickup/basePickup.ts +0 -114
- package/src/wrapper/streamer/pickup/index.ts +0 -2
- package/src/wrapper/streamer/pickup/pickupBus.ts +0 -8
- package/src/wrapper/streamer/pickup/pickupEvent.ts +0 -84
- package/src/wrapper/streamer/raceCP/baseRaceCP.ts +0 -151
- package/src/wrapper/streamer/raceCP/index.ts +0 -2
- package/src/wrapper/streamer/raceCP/raceCPBus.ts +0 -8
- package/src/wrapper/streamer/raceCP/raceCPEvent.ts +0 -100
- package/tsconfig.json +0 -16
- /package/{LICENSE → LICENSE.md} +0 -0
package/dist/bundle.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var De=require("iconv-lite"),yt=require("pino"),R=require("lodash"),o=require("@infernus/streamer"),c=require("@infernus/wrapper");const _=yt({transport:{target:"pino-pretty",options:{translateTime:"SYS:standard",ignore:"pid,hostname"}}});process.on("uncaughtException",e=>{_.error(e),process.exit(1)}),process.on("unhandledRejection",e=>{if(e instanceof Error){_.warn(e);return}_.warn(new Error(JSON.stringify(e)))});class I{constructor(t,n){this.defaultLocale=t,this.locales=n,this.defaultLocale=R.snakeCase(t),this.locales=I.snakeLocaleKeys(n)}addLocales=t=>{R.merge(this.locales,I.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=R.omit(this.locales,t)};$t=(t,n,r=this.defaultLocale)=>{const i=this.locales[R.snakeCase(r)],a=R.get(this.locales[this.defaultLocale],t),s=R.get(i,t,a);if(s===void 0)return _.warn(`[i18n]: cannot find ${r}["${t}"]`),"undefined";if(typeof s!="string")return JSON.stringify(s);let l=s;if(n&&n.length){const h=/%s/i;for(let u=0;u<n.length&&l.match(h)!==null;u++)l=l.replace(h,n[u])}return l};static isValidate(t){De.encodingExists(t)||(_.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,n){return I.isValidate(n),[...De.encode(t,n),0]}static decodeFromBuf(t,n){I.isValidate(n);const r=t instanceof Buffer?t:Buffer.from(t);return De.decode(r,n)}static getValidStr(t){return t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return R.mapKeys(t,(n,r)=>R.snakeCase(r))}}var Ge=(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))(Ge||{}),Me=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Me||{}),Le=(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))(Le||{}),Fe=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Fe||{}),Ne=(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))(Ne||{}),f=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.VEHICLE_ID=65535]="VEHICLE_ID",e[e.ACTOR_ID=65535]="ACTOR_ID",e[e.OBJECT_ID=65535]="OBJECT_ID",e[e.MENU=255]="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))(f||{}),ve=(e=>(e[e.ACTION=1]="ACTION",e[e.CROUCH=2]="CROUCH",e[e.FIRE=4]="FIRE",e[e.SPRINT=8]="SPRINT",e[e.SECONDARY_ATTACK=16]="SECONDARY_ATTACK",e[e.JUMP=32]="JUMP",e[e.LOOK_RIGHT=64]="LOOK_RIGHT",e[e.HANDBRAKE=128]="HANDBRAKE",e[e.LOOK_LEFT=256]="LOOK_LEFT",e[e.SUBMISSION=512]="SUBMISSION",e[e.LOOK_BEHIND=512]="LOOK_BEHIND",e[e.WALK=1024]="WALK",e[e.ANALOG_UP=2048]="ANALOG_UP",e[e.ANALOG_DOWN=4096]="ANALOG_DOWN",e[e.ANALOG_LEFT=8192]="ANALOG_LEFT",e[e.ANALOG_RIGHT=16384]="ANALOG_RIGHT",e[e.YES=65536]="YES",e[e.NO=131072]="NO",e[e.CTRL_BACK=262144]="CTRL_BACK",e[e.KEY_UP=-128]="KEY_UP",e[e.KEY_DOWN=128]="KEY_DOWN",e[e.KEY_LEFT=-128]="KEY_LEFT",e[e.KEY_RIGHT=128]="KEY_RIGHT",e))(ve||{}),B=(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))(B||{}),He=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(He||{}),xe=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(xe||{}),w=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(w||{}),Ve=(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))(Ve||{}),Ue=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Ue||{}),We=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(We||{}),Ke=(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))(Ke||{}),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||{}),oe=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(oe||{}),Ze=(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))(Ze||{}),le=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(le||{}),v=(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))(v||{}),ze=(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))(ze||{}),Xe=(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))(Xe||{}),Re=(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))(Re||{}),z=(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))(z||{}),Ye=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Ye||{}),Je=(e=>(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))(Je||{}),Qe=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(Qe||{}),qe=(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))(qe||{}),$e=(e=>(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.PARACHUTE=46]="PARACHUTE",e))($e||{}),et=(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))(et||{}),tt=(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))(tt||{}),nt=(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))(nt||{}),Oe=(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))(Oe||{}),rt=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(rt||{});const p=e=>{if(typeof e=="number")return e;if(typeof+e=="number"&&!isNaN(+e))return+e;if(e.charAt(0)==="#")return e.length===4?parseInt(e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)+e.charAt(3)+e.charAt(3)+"FF",16):e.length===7?parseInt(e.slice(1,e.length)+"FF",16):e.length===9?parseInt(e.slice(1,e.length),16):255;const t=(e.match(/([0-9])+/g)||[]).map(r=>parseInt(r,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 n=0;return t.reverse().forEach((r,i)=>{r!==0&&(n+=Math.pow(16,i*2)*r)}),n},O="utf8",St="en_US",W=(e,t)=>{const n=["utf8","utf-8"].includes(t)?e:I.encodeToBuf(e,t);return[n instanceof Array?"a":"s",n]},it=(e,t,n)=>{const r=W(n,e.charset);return d("SendClientMessage",`ii${r[0]}`,e.id,p(t),r[1])},gt=(e,t,n)=>(e.forEach(r=>it(r,t,n)),1),at=(e,t,n)=>{const r=W(n,e.charset);return d("SendPlayerMessageToPlayer",`ii${r[0]}`,e.id,t,r[1])},Pt=(e,t,n)=>(e.forEach(r=>at(r,t,n)),1),pt=(e,t,n)=>{const{charset:r}=e,{style:i,caption:a,info:s,button1:l,button2:h}=n,[u,y]=W(a||"",r),[,S]=W(s||"",r),[,P]=W(l||"",r),[,C]=W(h||"",r);return d("ShowPlayerDialog",`iii${u.repeat(4)}`,e.id,t,i,y,S,P,C)};samp.registerEvent("OnPlayerTextI18n","iai");const At=e=>{samp.addEventListener("OnPlayerTextI18n",e)};samp.registerEvent("OnPlayerCommandTextI18n","iai");const It=e=>{samp.addEventListener("OnPlayerCommandTextI18n",e)};samp.registerEvent("OnDialogResponseI18n","iiiiai");const Ct=e=>{samp.addEventListener("OnDialogResponseI18n",e)};samp.registerEvent("OnClientMessageI18n","iai");const ft=(e,t=O)=>{samp.addEventListener("OnClientMessageI18n",(n,r)=>e(n,I.decodeFromBuf(r,t)))};samp.registerEvent("OnRconCommandI18n","ai");const Et=(e,t=O)=>{samp.addEventListener("OnRconCommandI18n",n=>e(I.decodeFromBuf(n,t)))};samp.registerEvent("OnRconLoginAttemptI18n","aiaii");const Tt=(e,t=O)=>{samp.addEventListener("OnRconLoginAttemptI18n",(n,r,i)=>e(I.decodeFromBuf(n,t),I.decodeFromBuf(r,t),Boolean(i)))},Dt=e=>{const t=d("GetPlayerName","iAi",e.id,B.MAX_PLAYER_NAME);return I.decodeFromBuf(I.getValidStr(t),e.charset)},Lt=(e,t)=>d("SetPlayerName","ia",e.id,I.encodeToBuf(t,e.charset)),Rt=(e,t,n)=>{const r=I.encodeToBuf(t,n);return d("BanEx","ia",e,r)},Ot=(e,t,n,r,i,a,s,l,h,u,y,S,P,C,E,b)=>{const U=I.encodeToBuf(t,e);return d("CreateDynamic3DTextLabel","aiffffiiiiiifii",U,n,r,i,a,s,l,h,u,y,S,P,C,E,b)},bt=(e,t,n,r,i,a,s,l,h,u,y,S,P,C,E,b)=>{const U=I.encodeToBuf(e,b);return d("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",U,t,n,r,i,a,s,l,h,u,y,S,P,C,E,y.length,S.length,P.length,C.length)},Bt=(e,t,n,r)=>{const i=I.encodeToBuf(n,r);return d("UpdateDynamic3DTextLabelText","iia",e,t,i)},wt=(e,t)=>{const n=d("GetDynamic3DTextLabelText","iAi",e,1024);return I.decodeFromBuf(I.getValidStr(n),t)},kt=(e,t,n,r,i,a,s,l,h,u,y)=>{const S=I.encodeToBuf(r,e),P=I.encodeToBuf(a,e);return d("SetDynamicObjectMaterialText","iiaiaiiiii",t,n,S,i,P,s,l,h,u,y)},Gt=(e,t,n)=>{const[r,i,a,s,l,h,u]=d("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),y=I.decodeFromBuf(r,n),S=I.decodeFromBuf(a,n);return{text:y,materialsize:i,fontface:S,bold:s,fontcolour:l,backcolour:h,textalignment:u}},m=(e,t,n,r=1)=>(...i)=>{if(!e[t])return r;const a=e[t](...i);return a instanceof Promise?(a.then(s=>{let l=n;l||(l=R.upperFirst(R.camelCase(t)));const h=()=>(samp.removeEventListener(l,h),s);samp.addEventListener(l,h)}),r):a===void 0?r:Number(a)},st=(e,t=0)=>m({NOOP:()=>t},"NOOP",e),{callNative:d,callNativeFloat:H}=samp;Ct((e,t,n,r,i)=>{const a=D.waitingQueue.get(e);return a?(setTimeout(()=>a.resolve({response:n,listitem:r,inputbuf:i})),1):0});class D{id;static CREATED_ID=-1;static MAX_DIALOGID=32767;dialog;static waitingQueue=new Map;constructor(t={style:Le.MSGBOX,caption:"",info:"",button1:"",button2:""}){D.CREATED_ID<D.MAX_DIALOGID?D.CREATED_ID++:_.warn("[Dialog]: The maximum number of dialogs is reached"),this.dialog=t,this.id=D.CREATED_ID}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,n=!1){const r=D.waitingQueue.get(t.id);return r?(n&&r.reject("[Dialog]: player timeout does not respond or second request show dialog"),D.waitingQueue.delete(t.id),!0):!1}show(t){return new Promise((n,r)=>{D.close(t),D.waitingQueue.set(t.id,{resolve:n,reject:r}),pt(t,this.id,this.dialog)}).then(n=>{const{response:r,listitem:i}=n,a=I.decodeFromBuf(n.inputbuf,t.charset);return Promise.resolve({response:r,listitem:i,inputtext:a})}).catch(n=>Promise.reject(n)).finally(()=>D.delDialogTask(t))}static close(t){D.delDialogTask(t,!0),c.HidePlayerDialog(t.id)}}const dt=e=>{samp.addEventListener("OnGameModeInit",e)},T=e=>{samp.addEventListener("OnGameModeExit",e)},ot=e=>{samp.addEventListener("OnPlayerConnect",e)},lt=e=>{samp.addEventListener("OnPlayerDisconnect",e)},Mt=e=>{samp.addEventListener("OnPlayerSpawn",e)},Ft=e=>{samp.addEventListener("OnPlayerDeath",e)},Nt=e=>{samp.addEventListener("OnVehicleSpawn",e)},vt=e=>{samp.addEventListener("OnVehicleDeath",e)},Ht=e=>{samp.addEventListener("OnPlayerRequestClass",e)},xt=e=>{samp.addEventListener("OnPlayerEnterVehicle",e)},Vt=e=>{samp.addEventListener("OnPlayerExitVehicle",e)},Ut=e=>{samp.addEventListener("OnPlayerStateChange",e)},Wt=e=>{samp.addEventListener("OnPlayerRequestSpawn",e)},Kt=e=>{samp.addEventListener("OnVehicleMod",e)},jt=e=>{samp.addEventListener("OnEnterExitModShop",e)},Zt=e=>{samp.addEventListener("OnVehiclePaintjob",e)},zt=e=>{samp.addEventListener("OnVehicleRespray",e)},Xt=e=>{samp.addEventListener("OnVehicleDamageStatusUpdate",e)},Yt=e=>{samp.addEventListener("OnPlayerSelectedMenuRow",e)},Jt=e=>{samp.addEventListener("OnPlayerExitedMenu",e)},Qt=e=>{samp.addEventListener("OnPlayerInteriorChange",e)},qt=e=>{samp.addEventListener("OnPlayerKeyStateChange",e)},$t=e=>{samp.addEventListener("OnPlayerUpdate",e)},en=e=>{samp.addEventListener("OnPlayerStreamIn",e)},tn=e=>{samp.addEventListener("OnPlayerStreamOut",e)},nn=e=>{samp.addEventListener("OnVehicleStreamIn",e)},rn=e=>{samp.addEventListener("OnVehicleStreamOut",e)},an=e=>{samp.addEventListener("OnPlayerTakeDamage",e)},sn=e=>{samp.addEventListener("OnPlayerGiveDamage",e)},dn=e=>{samp.addEventListener("OnPlayerClickMap",e)},on=e=>{samp.addEventListener("OnPlayerClickTextDraw",e)},ln=e=>{samp.addEventListener("OnPlayerClickPlayerTextDraw",e)},_n=e=>{samp.addEventListener("OnIncomingConnection",e)},cn=e=>{samp.addEventListener("OnTrailerUpdate",e)},hn=e=>{samp.addEventListener("OnVehicleSirenStateChange",e)},un=e=>{samp.addEventListener("OnPlayerFinishedDownloading",e)},mn=e=>{samp.addEventListener("OnPlayerRequestDownload",e)},yn=e=>{samp.addEventListener("OnPlayerClickPlayer",e)},Sn=e=>{samp.addEventListener("OnClientCheckResponse",e)},gn=e=>{samp.addEventListener("OnNPCEnterVehicle",e)},Pn=e=>{samp.addEventListener("OnNPCExitVehicle",e)},pn=e=>{samp.addEventListener("OnNpcConnect",e)},An=e=>{samp.addEventListener("OnNpcDisconnect",e)},In=e=>{samp.addEventListener("OnNPCModeInit",e)},Cn=e=>{samp.addEventListener("OnNPCModeExit",e)},fn=e=>{samp.addEventListener("OnNPCSpawn",e)};class En{constructor(){pn(m(this,"onConnect","OnNpcConnect")),An(m(this,"onDisconnect","OnNpcDisconnect")),In(m(this,"onModeInit","OnNPCModeInit")),Cn(m(this,"onModeExit","OnNPCModeExit")),fn(m(this,"onSpawn","OnNPCSpawn")),ft(m(this,"onClientMessage"))}}const Tn=(e,t,n)=>d("SendDeathMessage","iii",e,t,n),Dn=(e,t,n,r)=>d("SendDeathMessageToPlayer","iiii",e,t,n,r),Ln=(e,t,n)=>d("GameTextForAll","sii",e,t,n),Rn=e=>{d("HideGameTextForAll","i",e)},On=(e,t,n,r)=>Boolean(d("GameTextForPlayer","isii",e,t,n,r)),bn=(e,t)=>Boolean(d("HasGameText","ii",e,t)),Bn=(e,t)=>Boolean(d("HideGameTextForPlayer","ii",e,t)),wn=()=>d("GetMaxPlayers",""),kn=(e,t,n,r,i,a)=>H("VectorSize","ffffff",e,t,n,r,i,a),Gn=()=>d("GetPlayerPoolSize",""),Mn=()=>d("GetVehiclePoolSize",""),Fn=e=>d("SetGameModeText","s",e),Nn=e=>d("SetTeamCount","i",e),vn=(e,t,n,r,i,a,s,l,h,u,y)=>d("AddPlayerClass","iffffiiiiii",e,t,n,r,i,a,s,l,h,u,y),Hn=(e,t,n,r,i,a,s,l,h,u,y,S)=>d("AddPlayerClassEx","iiffffiiiiii",e,t,n,r,i,a,s,l,h,u,y,S),xn=(e,t,n,r,i,a,s)=>d("AddStaticVehicle","iffffii",e,t,n,r,i,a,s),Vn=(e,t,n,r,i,a,s,l,h)=>d("AddStaticVehicleEx","iffffiiii",e,t,n,r,i,a,s,l,h),Un=e=>d("ShowNameTags","i",e),Wn=e=>d("ShowPlayerMarkers","i",e),Kn=()=>d("GameModeExit",""),jn=e=>d("SetWorldTime","i",e),Zn=()=>d("EnableVehicleFriendlyFire",""),zn=e=>d("SetWeather","i",e),Xn=()=>H("GetGravity",""),Yn=e=>d("SetGravity","f",e),Jn=(e,t,n,r,i)=>d("CreateExplosion","fffif",e,t,n,r,i),Qn=e=>d("EnableZoneNames","i",e),qn=()=>d("UsePlayerPedAnims",""),$n=()=>d("DisableInteriorEnterExits",""),er=e=>d("SetNameTagDrawDistance","f",e),tr=()=>d("DisableNameTagLOS",""),nr=e=>d("LimitGlobalChatRadius","f",e),rr=e=>d("LimitPlayerMarkerRadius","f",e),ir=(e,t)=>d("ConnectNPC","ss",e,t),ar=e=>Boolean(d("IsPlayerNPC","i",e)),sr=e=>Boolean(d("IsPlayerAdmin","i",e)),dr=e=>d("Kick","i",e),or=e=>d("Ban","i",e),lr=e=>d("SendRconCommand","s",e),_r=e=>d("GetPlayerNetworkStats","iSi",e,1024),cr=()=>d("GetNetworkStats","Si",1024),hr=(e,t)=>d("BlockIpAddress","si",e,t),ur=e=>d("UnBlockIpAddress","s",e),mr=()=>d("GetServerTickRate",""),yr=e=>d("NetStats_GetConnectedTime","i",e),Sr=e=>d("NetStats_MessagesReceived","i",e),gr=e=>d("NetStats_BytesReceived","i",e),Pr=e=>d("NetStats_MessagesSent","i",e),pr=e=>d("NetStats_BytesSent","i",e),Ar=e=>d("NetStats_MessagesRecvPerSecond","i",e),Ir=e=>H("NetStats_PacketLossPercent","i",e),Cr=e=>d("NetStats_ConnectionStatus","i",e),fr=(e,t,n,r,i,a)=>d("CreateMenu","siffff",e,t,n,r,i,a),Er=e=>d("DestroyMenu","i",e),Tr=(e,t,n)=>d("AddMenuItem","iis",e,t,n),Dr=(e,t,n)=>d("SetMenuColumnHeader","iis",e,t,n),Lr=(e,t)=>d("ShowMenuForPlayer","ii",e,t),Rr=(e,t)=>d("HideMenuForPlayer","ii",e,t),Or=e=>Boolean(d("IsValidMenu","i",e)),br=e=>d("DisableMenu","i",e),Br=(e,t)=>d("DisableMenuRow","ii",e,t),be=e=>d("GetPlayerMenu","i",e),wr=(e,t,n)=>d("TextDrawCreate","ffs",e,t,n),kr=e=>d("TextDrawDestroy","i",e),Gr=(e,t,n)=>d("TextDrawLetterSize","iff",e,t,n),Mr=(e,t,n)=>d("TextDrawTextSize","iff",e,t,n),Fr=(e,t)=>d("TextDrawAlignment","ii",e,t),Nr=(e,t)=>Boolean(d("TextDrawColour","ii",e,p(t))),vr=(e,t)=>d("TextDrawUseBox","ii",e,t),Hr=(e,t)=>Boolean(d("TextDrawBoxColour","ii",e,p(t))),xr=(e,t)=>d("TextDrawSetShadow","ii",e,t),Vr=(e,t)=>d("TextDrawSetOutline","ii",e,t),Ur=(e,t)=>Boolean(d("TextDrawBackgroundColour","ii",e,p(t))),Wr=(e,t)=>d("TextDrawFont","ii",e,t),Kr=(e,t)=>d("TextDrawSetProportional","ii",e,t),jr=(e,t)=>d("TextDrawSetSelectable","ii",e,t),Zr=(e,t)=>d("TextDrawShowForPlayer","ii",e,t),zr=(e,t)=>d("TextDrawHideForPlayer","ii",e,t),Xr=e=>d("TextDrawShowForAll","i",e),Yr=e=>d("TextDrawHideForAll","i",e),Jr=(e,t)=>d("TextDrawSetString","is",e,t),Qr=(e,t)=>d("TextDrawSetPreviewModel","ii",e,t),qr=(e,t,n,r,i=1)=>{d("TextDrawSetPreviewRot","iffff",e,t,n,r,i)},$r=(e,t,n)=>Boolean(d("TextDrawSetPreviewVehicleColours","iii",e,p(t),p(n))),ei=(e,t,n,r)=>d("GangZoneCreate","ffff",e,t,n,r),ti=e=>d("GangZoneDestroy","i",e),ni=(e,t,n)=>d("GangZoneShowForPlayer","iii",e,t,p(n)),ri=(e,t)=>d("GangZoneShowForAll","ii",e,p(t)),ii=(e,t)=>d("GangZoneHideForPlayer","ii",e,t),ai=e=>d("GangZoneHideForAll","i",e),si=(e,t,n)=>d("GangZoneFlashForPlayer","iii",e,t,p(n)),di=(e,t)=>d("GangZoneFlashForAll","ii",e,p(t)),oi=(e,t)=>d("GangZoneStopFlashForPlayer","ii",e,t),li=e=>d("GangZoneStopFlashForAll","i",e),_i=(e,t=O)=>I.decodeFromBuf(I.getValidStr(d("GPCI","iAi",e,41)),t),ci=e=>Boolean(d("BeginObjectSelecting","i",e)),hi=e=>Boolean(d("EndObjectEditing","i",e)),ui=e=>Boolean(d("SetObjectsDefaultCameraCollision","i",e)),mi=(e,t,n,r,i,a,s,l,h,u,y,S,P)=>d("SetSpawnInfo","iiiffffiiiiii",e,t,n,r,i,a,s,l,h,u,y,S,P),yi=e=>d("SpawnPlayer","i",e),_t=(e,t,n,r)=>d("SetPlayerPos","ifff",e,t,n,r),Si=(e,t,n,r)=>d("SetPlayerPosFindZ","ifff",e,t,n,r),gi=e=>d("GetPlayerPos","iFFF",e),Pi=(e,t)=>d("SetPlayerFacingAngle","if",e,t),pi=e=>d("GetPlayerFacingAngle","iF",e),Ai=(e,t,n,r,i)=>Boolean(d("IsPlayerInRangeOfPoint","iffff",e,t,n,r,i)),Ii=(e,t,n,r)=>H("GetPlayerDistanceFromPoint","ifff",e,t,n,r),Ci=(e,t)=>Boolean(d("IsPlayerStreamedIn","ii",e,t)),fi=(e,t)=>d("SetPlayerInterior","ii",e,t),Ei=e=>d("GetPlayerInterior","i",e),Ti=(e,t)=>d("SetPlayerHealth","if",e,t),Di=e=>d("GetPlayerHealth","iF",e),Li=(e,t)=>d("SetPlayerArmour","if",e,t),Ri=e=>d("GetPlayerArmour","iF",e),Oi=(e,t,n)=>d("SetPlayerAmmo","iii",e,t,n),bi=e=>d("GetPlayerAmmo","i",e),Bi=e=>d("GetPlayerWeaponState","i",e),wi=e=>d("GetPlayerTargetPlayer","i",e),ki=(e,t)=>{d("SetPlayerTeam","ii",e,t)},Gi=e=>d("GetPlayerTeam","i",e),Mi=(e,t)=>d("SetPlayerScore","ii",e,t),Fi=e=>d("GetPlayerScore","i",e),Ni=e=>d("GetPlayerDrunkLevel","i",e),vi=(e,t)=>d("SetPlayerDrunkLevel","ii",e,t),Hi=(e,t)=>d("SetPlayerColor","ii",e,p(t)),xi=e=>d("GetPlayerColor","i",e),Vi=(e,t)=>d("SetPlayerSkin","ii",e,t),Ui=e=>d("GetPlayerSkin","i",e),Wi=(e,t,n)=>d("GivePlayerWeapon","iii",e,t,n),Ki=e=>d("ResetPlayerWeapons","i",e),ji=(e,t)=>d("SetPlayerArmedWeapon","ii",e,t),Zi=(e,t)=>d("GetPlayerWeaponData","iiII",e,t),zi=(e,t)=>d("GivePlayerMoney","ii",e,t),Xi=e=>d("ResetPlayerMoney","i",e),Yi=e=>d("GetPlayerMoney","i",e),Ji=e=>d("GetPlayerState","i",e),Qi=e=>d("GetPlayerPing","i",e),qi=e=>d("GetPlayerWeapon","i",e),$i=e=>d("GetPlayerKeys","iIII",e),ea=(e,t,n)=>d("SetPlayerTime","iii",e,t,n),ta=e=>d("GetPlayerTime","iII",e),na=(e,t)=>d("TogglePlayerClock","ii",e,t),ra=(e,t)=>d("SetPlayerWeather","ii",e,t),ia=e=>d("ForceClassSelection","i",e),aa=(e,t)=>d("SetPlayerWantedLevel","ii",e,t),sa=e=>d("GetPlayerWantedLevel","i",e),da=(e,t)=>d("SetPlayerFightingStyle","ii",e,t),oa=e=>d("GetPlayerFightingStyle","i",e),la=(e,t,n,r)=>d("SetPlayerVelocity","ifff",e,t,n,r),_a=e=>d("GetPlayerVelocity","iFFF",e),ca=(e,t,n)=>d("PlayCrimeReportForPlayer","iii",e,t,n),ha=(e,t,n,r,i,a,s=!1)=>d("PlayAudioStreamForPlayer","isffffi",e,t,n,r,i,a,s),ua=e=>d("StopAudioStreamForPlayer","i",e),ma=(e,t)=>d("SetPlayerShopName","is",e,t),ya=(e,t,n)=>d("SetPlayerSkillLevel","iii",e,t,n),Sa=e=>d("GetPlayerSurfingVehicleID","i",e),ga=e=>d("GetPlayerSurfingObjectID","i",e),Pa=(e,t,n,r,i,a)=>d("RemoveBuildingForPlayer","iiffff",e,t,n,r,i,a),pa=e=>d("GetPlayerLastShotVectors","iFFFFFF",e),Aa=(e,t,n,r,i,a,s,l,h,u,y,S,P,C,E)=>d("SetPlayerAttachedObject","iiiifffffffffii",e,t,n,r,i,a,s,l,h,u,y,S,P,p(C),p(E)),Ia=(e,t)=>d("RemovePlayerAttachedObject","ii",e,t),Ca=(e,t)=>Boolean(d("IsPlayerAttachedObjectSlotUsed","ii",e,t)),fa=(e,t,n,r)=>d("CreatePlayerTextDraw","iffs",e,t,n,r),Ea=(e,t)=>{d("PlayerTextDrawDestroy","ii",e,t)},Ta=(e,t,n,r)=>d("PlayerTextDrawLetterSize","iiff",e,t,n,r),Da=(e,t,n)=>d("PlayerTextDrawAlignment","iii",e,t,n),La=(e,t,n)=>Boolean(d("PlayerTextDrawColour","iii",e,t,p(n))),Ra=(e,t,n)=>d("PlayerTextDrawUseBox","iii",e,t,n),Oa=(e,t,n)=>Boolean(d("PlayerTextDrawBoxColour","iii",e,t,p(n))),ba=(e,t,n)=>d("PlayerTextDrawSetShadow","iii",e,t,n),Ba=(e,t,n)=>d("PlayerTextDrawSetOutline","iii",e,t,n),wa=(e,t,n)=>Boolean(d("PlayerTextDrawBackgroundColour","iii",e,t,p(n))),ka=(e,t,n)=>d("PlayerTextDrawFont","iii",e,t,n),Ga=(e,t,n)=>d("PlayerTextDrawSetProportional","iii",e,t,n),Ma=(e,t,n)=>d("PlayerTextDrawSetSelectable","iii",e,t,n),Fa=(e,t)=>d("PlayerTextDrawShow","ii",e,t),Na=(e,t)=>d("PlayerTextDrawHide","ii",e,t),va=(e,t,n)=>d("PlayerTextDrawSetString","iis",e,t,n),Ha=(e,t,n)=>d("PlayerTextDrawSetPreviewModel","iii",e,t,n),xa=(e,t,n,r,i,a)=>d("PlayerTextDrawSetPreviewRot","iiffff",e,t,n,r,i,a),Va=(e,t,n,r)=>Boolean(d("PlayerTextDrawSetPreviewVehicleColours","iiii",e,t,n,r)),Ua=(e,t,n,r,i)=>d("SetPlayerChatBubble","isifi",e,t,p(n),r,i),Wa=(e,t,n)=>d("PutPlayerInVehicle","iii",e,t,n),Ka=e=>d("GetPlayerVehicleID","i",e),ja=e=>d("GetPlayerVehicleSeat","i",e),Za=e=>d("RemovePlayerFromVehicle","i",e),za=(e,t)=>d("TogglePlayerControllable","ii",e,t),Xa=(e,t,n,r,i)=>d("PlayerPlaySound","iifff",e,t,n,r,i),Ya=(e,t,n,r,i,a,s,l,h,u)=>d("ApplyAnimation","issfiiiiii",e,t,n,r,i,a,s,l,h,u),Ja=(e,t)=>d("ClearAnimations","ii",e,t),Qa=e=>d("GetPlayerAnimationIndex","i",e),qa=e=>d("GetPlayerSpecialAction","i",e),$a=(e,t)=>d("SetPlayerSpecialAction","ii",e,t),es=(e,t)=>d("DisableRemoteVehicleCollisions","ii",e,t),ts=(e,t,n,r,i)=>d("SetPlayerWorldBounds","iffff",e,t,n,r,i),ns=(e,t,n)=>d("SetPlayerMarkerForPlayer","iii",e,t,p(n)),rs=(e,t,n)=>d("ShowPlayerNameTagForPlayer","iii",e,t,n),is=(e,t,n,r)=>d("SetPlayerCameraPos","ifff",e,t,n,r),as=(e,t,n,r,i)=>d("SetPlayerCameraLookAt","ifffi",e,t,n,r,i),ss=e=>d("SetCameraBehindPlayer","i",e),ds=e=>d("GetPlayerCameraPos","iFFF",e),os=e=>d("GetPlayerCameraFrontVector","iFFF",e),ls=e=>d("GetPlayerCameraMode","i",e),_s=(e,t)=>d("EnablePlayerCameraTarget","ii",e,t),cs=e=>d("GetPlayerCameraTargetVehicle","i",e),hs=e=>d("GetPlayerCameraTargetPlayer","i",e),us=e=>H("GetPlayerCameraAspectRatio","i",e),ms=e=>H("GetPlayerCameraZoom","i",e),ys=(e,t,n,r,i,a,s,l,h)=>d("InterpolateCameraPos","iffffffii",e,t,n,r,i,a,s,l,h),Ss=(e,t,n,r,i,a,s,l,h)=>d("InterpolateCameraLookAt","iffffffii",e,t,n,r,i,a,s,l,h),ct=e=>Boolean(d("IsPlayerConnected","i",e)),gs=(e,t)=>Boolean(d("IsPlayerInVehicle","ii",e,t)),Ps=e=>Boolean(d("IsPlayerInAnyVehicle","i",e)),ps=(e,t)=>d("SetPlayerVirtualWorld","ii",e,t),As=e=>d("GetPlayerVirtualWorld","i",e),Is=(e,t)=>d("EnableStuntBonusForPlayer","ii",e,t),Cs=e=>d("EnableStuntBonusForAll","i",e),fs=(e,t)=>d("TogglePlayerSpectating","ii",e,t),Es=(e,t,n)=>d("PlayerSpectatePlayer","iii",e,t,n),Ts=(e,t,n)=>d("PlayerSpectateVehicle","iii",e,t,n),Ds=(e,t,n)=>d("StartRecordingPlayerData","iis",e,t,n),Ls=e=>d("StopRecordingPlayerData","i",e),Rs=(e,t)=>{d("SelectTextDraw","ii",e,p(t))},Os=e=>{d("CancelSelectTextDraw","i",e)},bs=(e,t,n,r,i,a)=>d("CreateExplosionForPlayer","ifffif",e,t,n,r,i,a),Bs=(e,t,n,r,i)=>d("SendClientCheck","iiiii",e,t,n,r,i),ws=(e,t,n,r,i,a,s,l,h)=>d("CreateVehicle","iffffiiii",e,t,n,r,i,p(a),p(s),l,h),ks=e=>d("DestroyVehicle","i",e),Gs=(e,t)=>Boolean(d("IsVehicleStreamedIn","ii",e,t)),Ms=e=>{const t=d("GetVehiclePos","iFFF",e);if(t.length<3)throw new Error("VehicleID "+e+" not found");return{x:t[0],y:t[1],z:t[2]}},Fs=(e,t,n,r)=>d("SetVehiclePos","ifff",e,t,n,r),Ns=e=>d("GetVehicleZAngle","iF",e),vs=e=>d("GetVehicleRotationQuat","iFFFF",e),Hs=(e,t,n,r)=>H("GetVehicleDistanceFromPoint","ifff",e,t,n,r),xs=(e,t)=>d("SetVehicleZAngle","if",e,t),Vs=(e,t,n,r)=>d("SetVehicleParamsForPlayer","iiii",e,t,n,r),Us=()=>d("ManualVehicleEngineAndLights",""),Ws=(e,t,n,r,i,a,s,l)=>d("SetVehicleParamsEx","iiiiiiii",e,t,n,r,i,a,s,l),Ks=e=>d("GetVehicleParamsEx","iIIIIIII",e),js=e=>d("GetVehicleParamsSirenState","i",e),Zs=(e,t,n,r,i)=>d("SetVehicleParamsCarDoors","iiiii",e,t,n,r,i),zs=e=>{const t=d("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backleft:t[2],backright:t[3]}},Xs=(e,t,n,r,i)=>d("SetVehicleParamsCarWindows","iiiii",e,t,n,r,i),Ys=e=>{const t=d("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backleft:t[2],backright:t[3]}},Js=e=>d("SetVehicleToRespawn","i",e),Qs=(e,t)=>d("LinkVehicleToInterior","ii",e,t),qs=(e,t)=>d("AddVehicleComponent","ii",e,t),$s=(e,t)=>d("RemoveVehicleComponent","ii",e,t),ed=(e,t,n)=>d("ChangeVehicleColours","iii",e,p(t),p(n)),td=(e,t)=>d("ChangeVehiclePaintjob","ii",e,t),nd=(e,t)=>d("SetVehicleHealth","if",e,t),rd=e=>d("GetVehicleHealth","iF",e),id=(e,t)=>d("AttachTrailerToVehicle","ii",e,t),ad=e=>d("DetachTrailerFromVehicle","i",e),sd=e=>Boolean(d("IsTrailerAttachedToVehicle","i",e)),dd=e=>d("GetVehicleTrailer","i",e),od=(e,t)=>d("SetVehicleNumberPlate","is",e,t),ld=e=>d("GetVehicleModel","i",e),_d=(e,t)=>d("GetVehicleComponentInSlot","ii",e,t),cd=e=>d("GetVehicleComponentType","i",e),hd=e=>d("RepairVehicle","i",e),ud=e=>d("GetVehicleVelocity","iFFF",e),md=(e,t,n,r)=>d("SetVehicleVelocity","ifff",e,t,n,r),yd=(e,t,n,r)=>d("SetVehicleAngularVelocity","ifff",e,t,n,r),Sd=e=>{const t=d("GetVehicleDamageStatus","iIIII",e);if(t.length<4)throw new Error("VehicleID "+e+" not found");return{panels:t[0],doors:t[1],lights:t[2],tires:t[3]}},gd=(e,t,n,r,i)=>d("UpdateVehicleDamageStatus","iiiii",e,t,n,r,i),Pd=(e,t)=>{const n=d("GetVehicleModelInfo","iiFFF",e,t);if(n.length<3)throw new Error("ModelID "+e+" not found");return{x:n[0],y:n[1],z:n[2]}},pd=(e,t)=>d("SetVehicleVirtualWorld","ii",e,t),Ad=e=>d("GetVehicleVirtualWorld","i",e),ht=e=>Boolean(d("IsValidVehicle","i",e)),Id=(e,t)=>d("StartRecordingPlayback","is",e,t),Cd=()=>d("StopRecordingPlayback",""),fd=()=>d("PauseRecordingPlayback",""),Ed=()=>d("ResumeRecordingPlayback",""),Td=e=>d("GetPlayerCustomSkin","i",e),Dd=(e,t)=>d("RedirectDownload","is",e,t),Ld=(e,t,n,r,i)=>d("AddSimpleModel","iiiss",e,t,n,r,i),Rd=(e,t,n,r,i,a,s)=>d("AddSimpleModelTimed","iiissii",e,t,n,r,i,a,s),Od=e=>d("GetWeaponName","iSi",e,32),bd=e=>d("NetStats_GetIpPort","iSi",e,128+6),Bd=e=>d("GetPlayerIp","iSi",e,128),wd=e=>d("GetAnimationName","iSiSi",e,32,32),kd=e=>d("GetPlayerVersion","iSi",e,24),Gd=e=>d("FindModelFileNameFromCRC","iSi",e,255),Md=e=>d("FindTextureFileNameFromCRC","iSi",e,255);class G{constructor(){}static recordStatus;static connectNPC=ir;static startRecordingPlayerData(t,n,r){if(t.isRecording)return _.warn("[NpcFunc]: It should be stopped before recording");Ds(t.id,n,r),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return _.warn("[NpcFunc]: It should be started before stop");Ls(t.id),t.isRecording=!1}static startRecordingPlayback(t,n){if(G.recordStatus>=w.start)return _.warn("[NpcFunc]: The current status cannot be replayed");Id(t,n),G.recordStatus=w.start}static stopRecordingPlayback(){if(G.recordStatus<w.start)return _.warn("[NpcFunc]: The current status cannot be stopped");Cd(),G.recordStatus=w.none}static pauseRecordingPlayback(){if(G.recordStatus!==w.start)return _.warn("[NpcFunc]: The current status cannot be paused");fd(),G.recordStatus=w.pause}static resumeRecordingPlayback(){if(G.recordStatus!==w.pause)return _.warn("[NpcFunc]: The current status cannot be paused");Ed(),G.recordStatus=w.start}}const Fd=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}]]]),Nd=e=>{const t=Fd.get(e);return t===void 0?!1:t},ut=(e,t)=>{const n=Nd(e);if(n)return n.find(r=>r.n===t)?.d},_e=new Map,ce=(e,t=!1)=>{const n=_e.get(e);return n?(t&&n.reject("[Player]: An attempt to check the player client response timed out"),clearTimeout(n.timeout),_e.delete(e),!0):!1};Sn((e,t,n,r)=>{const i=_e.get(e);return i?(clearTimeout(i.timeout),setTimeout(()=>i.resolve({actionid:t,memaddr:n,retndata:r})),1):0});class L{map=new Map;on(t,n){let r=this.map.get(t);r||(r=new Set,this.map.set(t,r)),r.add(n)}emit(t,n){const r=this.map.get(t);!r||[...r].forEach(i=>i(n))}off(t,n){if(!t){this.map.clear();return}if(!n){this.map.delete(t);return}const r=this.map.get(t);!r||r.delete(n)}}var M=(e=>(e.pause="OnPlayerPause",e.create="OnPlayerEventCreate",e.setCommonProp="OnPlayerSetCommonProp",e))(M||{});const F=new L;class k{_id;_isNpc;_locale=St;_charset=O;_isRecording=!1;lastDrunkLevel=0;lastFps=0;isPaused=!1;lastUpdateTick=0;get id(){return this._id}get locale(){return this._locale}set locale(t){F.emit(M.setCommonProp,{player:this,prop:"_locale",value:t})}get charset(){return this._charset}set charset(t){F.emit(M.setCommonProp,{player:this,prop:"_charset",value:t})}get isRecording(){return this._isRecording}set isRecording(t){F.emit(M.setCommonProp,{player:this,prop:"_isRecording",value:t})}constructor(t){this._id=t,this._isNpc=ar(this.id)}sendClientMessage(t,n){return it(this,t,n)}static sendClientMessageToAll(t,n,r){gt(t,n,r)}sendPlayerMessage(t,n){return at(t,this.id,n)}sendPlayerMessageToAll(t,n){return Pt(t,this.id,n)}isNpc(){return this._isNpc}getFps(){return this.lastFps}getDrunkLevel(){return Ni(this.id)}setDrunkLevel(t){if(t<0||t>5e4)return _.error(new Error("[Player]: player's drunk level ranges from 0 to 50000"));vi(this.id,t)}allowTeleport(t){c.AllowPlayerTeleport(this.id,t)}isTeleportAllowed(){return c.IsPlayerTeleportAllowed(this.id)}enableCameraTarget(t){_s(this.id,t)}enableStuntBonus(t){Is(this.id,t)}getInterior(){return Ei(this.id)}setInterior(t){return fi(this.id,t)}showPlayerNameTag(t,n){rs(this.id,t.id,n)}setColor(t){Hi(this.id,t)}getColor(){return xi(this.id)}setPlayerMarker(t,n){ns(this.id,t.id,n)}resetMoney(){return Xi(this.id)}getMoney(){return Yi(this.id)}giveMoney(t){return zi(this.id,t)}resetWeapons(){return Ki(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):yi(this.id)}setHealth(t){return Ti(this.id,t)}getHealth(){return Di(this.id)}toggleClock(t){return na(this.id,t)}toggleControllable(t){return za(this.id,t)}toggleSpectating(t){return fs(this.id,t)}spectatePlayer(t,n=le.NORMAL){return Es(this.id,t.id,n)}spectateVehicle(t,n=le.NORMAL){return Ts(this.id,t.id,n)}forceClassSelection(){ia(this.id)}kick(){dr(this.id)}ban(){or(this.id)}banEx(t,n){Rt(this.id,t,n)}isAdmin(){return sr(this.id)}isInRangeOfPoint(t,n,r,i){return Ai(this.id,t,n,r,i)}isStreamedIn(t){return Ci(this.id,t.id)}setSkin(t,n=!1){return!n&&(t<0||t>311||t==74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===Re.DUCK?0:Vi(this.id,t)}getSkin(){return Ui(this.id)}isInAnyVehicle(){return Ps(this.id)}getSpecialAction(){return qa(this.id)}setSpecialAction(t){return $a(this.id,t)}setScore(t){return Mi(this.id,t)}getScore(){return Fi(this.id)}getPing(){return Qi(this.id)||0}setPos(t,n,r){return _t(this.id,t,n,r)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===v.NONE)return;const[t,n,r]=gi(this.id);return{x:t,y:n,z:r}}isSpectating(){return this.getState()===v.SPECTATING}isWasted(){return this.getState()===v.WASTED}getState(){return Ji(this.id)}getVersion(){return this.isNpc()?"":kd(this.id)}setVirtualWorld(t){return ps(this.id,t)}getVirtualWorld(){return As(this.id)}removeFromVehicle(){return Za(this.id)}setWantedLevel(t){return t<0||t>6?(_.error("[Player]: player's wanted level ranges from 0 to 6"),0):aa(this.id,t)}getWantedLevel(){return sa(this.id)}setFacingAngle(t){return Pi(this.id,t)}getFacingAngle(){return pi(this.id)}setWeather(t){if(t<0||t>255){_.warn("[Player]: The valid weather value is only 0 to 255");return}ra(this.id,t)}getWeather(){return c.GetPlayerWeather(this.id)}setTime(t,n){if(t<0||t>23){_.warn("[Player]: The valid hour value is only 0 to 23");return}if(n<0||n>59){_.warn("[Player]: The valid minute value is only 0 to 59");return}return ea(this.id,t,n)}getTime(){const[t,n]=ta(this.id);return{hour:t,minute:n}}removeBuilding(t,n,r,i,a){Pa(this.id,t,n,r,i,a)}setTeam(t){t<0||t>f.NO_TEAM||ki(this.id,t)}getTeam(){return Gi(this.id)}setSkillLevel(t,n){if(n<0||n>999){_.warn("[Player]: The valid skill level is only 0 to 999");return}ya(this.id,t,n)}getName(){return Dt(this)}setName(t){return Lt(this,t)}setVelocity(t,n,r){return la(this.id,t,n,r)}getVelocity(){const[t,n,r]=_a(this.id);return{x:t,y:n,z:r}}getKeys(){const[t,n,r]=$i(this.id);return{keys:t,updown:n,leftright:r}}getIp(){return Bd(this.id)}getFightingStyle(){return oa(this.id)}setFightingStyle(t){da(this.id,t)}setArmour(t){return Li(this.id,t)}getArmour(){return Ri(this.id)}setCameraBehind(){return ss(this.id)}setCameraPos(t,n,r){return is(this.id,t,n,r)}setCameraLookAt(t,n,r,i){return as(this.id,t,n,r,i)}getCameraAspectRatio(){return us(this.id)}getCameraFrontVector(){const[t,n,r]=os(this.id);return{x:t,y:n,z:r}}getCameraMode(){return ls(this.id)}getCameraPos(){const[t,n,r]=ds(this.id);return{x:t,y:n,z:r}}getCameraTargetPlayer(t){const n=hs(this.id);return t.find(r=>r.id===n)}getCameraTargetVehicle(t){const n=cs(this.id);return t.find(r=>r.id===n)}getCameraZoom(){return ms(this.id)}playAudioStream(t,n=0,r=0,i=0,a=5){let s=!1;return(n!==0||r!==0||i!==0)&&(s=!0),ha(this.id,t,n,r,i,a,s)}stopAudioStream(){ua(this.id)}playSound(t,n=0,r=0,i=0){return Xa(this.id,t,n,r,i)}static getPoolSize(){return Gn()}static getMaxPlayers(){return wn()}playCrimeReport(t,n){return n<3||n>22?(_.warn("[Player]: Available crime ids range from 3 to 22"),0):ca(this.id,t.id,n)}interpolateCameraPos(t,n,r,i,a,s,l,h=oe.CUT){ys(this.id,t,n,r,i,a,s,l,h)}interpolateCameraLookAt(t,n,r,i,a,s,l,h=oe.CUT){Ss(this.id,t,n,r,i,a,s,l,h)}createExplosion(t,n,r,i,a){return i<0||i>13?(_.error("[Player]: The valid explosion type value is only 0 to 13"),0):bs(this.id,t,n,r,i,a)}static isConnected(t){return ct(t)}isConnected(){return ct(this.id)}disableRemoteVehicleCollisions(t){return es(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const n=Ka(this.id);return t.find(r=>r.id===n)}getVehicleSeat(){return ja(this.id)}getSurfingVehicle(t){const n=Sa(this.id);if(n!==f.VEHICLE_ID)return t.find(r=>r.id===n)}applyAnimation(t,n,r=!1,i=!0,a=!0,s=!1,l=!1){const h=ut(t,n);if(h===void 0)return _.error("[Player]: Invalid anim library or name");Ya(this.id,t,n,4.1,r,i,a,s,r?0:h,l)}clearAnimations(t=!1){Ja(this.id,t)}getAnimationIndex(){return Qa(this.id)}getAnimationName(){const[t,n]=wd(this.getAnimationIndex());return{animLib:t,animName:n}}setShopName(t){ma(this.id,t)}setPosFindZ(t,n,r=150){return new Promise(i=>{_t(this.id,t,n,r),setTimeout(()=>i(Si(this.id,t,n,r)))})}setWorldBounds(t,n,r,i){ts(this.id,t,n,r,i)}setChatBubble(t,n,r,i){Ua(this.id,t,n,r,i)}getDistanceFromPoint(t,n,r){return Ii(this.id,t,n,r)}getCustomSkin(){return Td(this.id)}getTargetPlayer(t){const n=wi(this.id);if(n!==f.PLAYER_ID)return t.find(r=>r.id===n)}getLastShotVectors(){const[t,n,r,i,a,s]=pa(this.id);return{fOriginX:t,fOriginY:n,fOriginZ:r,fHitPosX:i,fHitPosY:a,fHitPosZ:s}}getWeapon(){return qi(this.id)}getWeaponData(t){if(t<0||t>12){_.error("[Player]: weapon slots range from 0 to 12");return}const[n,r]=Zi(this.id,t);return{weapons:n,ammo:r}}getWeaponState(){return Bi(this.id)}giveWeapon(t,n){return Wi(this.id,t,n)}setAmmo(t,n){return Oi(this.id,t,n)}getAmmo(){return bi(this.id)}setArmedWeapon(t){return ji(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(f.PLAYER_ID,f.PLAYER_ID,Oe.CONNECT)}sendDeathMessage(t,n){Tn(t===f.PLAYER_ID?t:t.id,this.id,n)}sendDeathMessageToPlayer(t,n,r){Dn(this.id,t===f.PLAYER_ID?t:t.id,n===f.PLAYER_ID?n:n.id,r)}setSpawnInfo(t,n,r,i,a,s,l,h,u,y,S,P){t<0||t>f.NO_TEAM||n<0||n>311||n==74||h<0||y<0||P<0||mi(this.id,t,n,r,i,a,s,l,h,u,y,S,P)}redirectDownload(t){return Dd(this.id,t)}sendClientCheck(t,n,r,i){const a=[2,5,69,70,71,72];return a.includes(t)?new Promise((s,l)=>{if(ce(this.id,!0),this.isPaused)return l("[Player]: An attempt to check the player client response, but the player paused the game");const h=new Promise((u,y)=>{const S=this.getPing(),P=(S>=200?0:S)+200;_e.set(this.id,{resolve:u,reject:y,timeout:setTimeout(()=>ce(this.id,!0),P)}),Bs(this.id,t,n,r,i)});h.then(s,l),h.finally(()=>ce(this.id))}):_.error(`[Player]: sendClientCheck valid types are ${a.toString()}`)}selectTextDraw(t){Rs(this.id,t)}cancelSelectTextDraw(){Os(this.id)}beginObjectSelecting(){ci(this.id)}endObjectEditing(){hi(this.id)}getSurfingObject(t){const n=ga(this.id);if(n!==f.OBJECT_ID)return t.get(n)}isAttachedObjectSlotUsed(t){return Ca(this.id,t)}setAttachedObject(t,n,r,i,a,s,l,h,u,y,S,P,C,E){return this.isAttachedObjectSlotUsed(t)?0:Aa(this.id,t,n,r,i,a,s,l,h,u,y,S,P,C,E)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?Ia(this.id,t):0}toggleWidescreen(t){return c.TogglePlayerWidescreen(this.id,t)}isPlayerWidescreenToggled(){return c.IsPlayerWidescreenToggled(this.id)}getSpawnInfo(){return c.GetSpawnInfo(this.id)}getSkillLevel(t){return c.GetPlayerSkillLevel(this.id,t)}isCheckpointActive(){return c.IsPlayerCheckpointActive(this.id)}getCheckpoint(){return c.GetPlayerCheckpoint(this.id)}isRaceCheckpointActive(){return c.IsPlayerRaceCheckpointActive(this.id)}getRaceCheckpoint(){return c.GetPlayerRaceCheckpoint(this.id)}getWorldBounds(){c.GetPlayerWorldBounds(this.id)}isInModShop(){return c.IsPlayerInModShop(this.id)}getSirenState(){return c.GetPlayerSirenState(this.id)}getLandingGearState(){return c.GetPlayerLandingGearState(this.id)}getHydraReactorAngle(){return c.GetPlayerHydraReactorAngle(this.id)}getTrainSpeed(){return c.GetPlayerTrainSpeed(this.id)}getZAim(){return c.GetPlayerZAim(this.id)}getSurfingOffsets(){return c.GetPlayerSurfingOffsets(this.id)}getRotationQuat(){return c.GetPlayerRotationQuat(this.id)}getDialogID(){return c.GetPlayerDialogID(this.id)}getSpectateID(){return c.GetPlayerSpectateID(this.id)}getSpectateType(){return c.GetPlayerSpectateType(this.id)}getRawIp(){return c.GetPlayerRawIp(this.id)}setGravity(t){return c.SetPlayerGravity(this.id,t)}getGravity(){return c.GetPlayerGravity(this.id)}setAdmin(t){return c.SetPlayerAdmin(this.id,t)}isSpawned(){return c.IsPlayerSpawned(this.id)}isControllable(){return c.IsPlayerControllable(this.id)}isCameraTargetEnabled(){return c.IsPlayerCameraTargetEnabled(this.id)}toggleGhostMode(t){return c.TogglePlayerGhostMode(this.id,t)}getGhostMode(){return c.GetPlayerGhostMode(this.id)}getBuildingsRemoved(){return c.GetPlayerBuildingsRemoved(this.id)}getAttachedObject(t){return c.GetPlayerAttachedObject(this.id,t)}removeWeapon(t){return c.RemovePlayerWeapon(this.id,t)}isUsingOfficialClient(){return c.IsPlayerUsingOfficialClient(this.id)}allowWeapons(t){return c.AllowPlayerWeapons(this.id,t)}areWeaponsAllowed(){return c.ArePlayerWeaponsAllowed(this.id)}gpci(t){return _i(this.id,t)}}let he=null,ue=null;F.on(M.create,e=>{ue===null&&(ue=e)}),ot(()=>(!he&&ue&&k.getPoolSize()>-1&&(he=setInterval(()=>{for(const e of ue){const t=e[1];!t.isNpc()&&!t.isPaused&&t.getState()!==v.NONE&&Date.now()-t.lastUpdateTick>1e3&&F.emit(M.pause,t)}},500)),1)),lt(()=>(he&&k.getPoolSize()<=0&&clearInterval(he),1));class vd{eventMap=new Map;on=(t,n,r)=>(n instanceof Array||(n=[n]),n.forEach(i=>{const a=this.eventMap.get(i);if(!a)this.eventMap.set(i,new Map().set(t,r instanceof Array?r:[r]));else{const s=a.get(t);s?(r instanceof Array?r:[r]).forEach(l=>s.push(l)):a.set(t,r instanceof Array?r:[r])}}),()=>this.off(t,n,r));off=(t,n,r)=>{n instanceof Array||(n=[n]),n.forEach(i=>{const a=this.eventMap.get(i);if(!a)return;const s=a.get(t);if(s){r instanceof Array||(r=[r]);for(let l=0;l<s.length;l++){const h=s[l];!r.includes(h)||(s.splice(l,1),l--)}}})}}const Be={format:{code:0,msg:"failed to recognize command (almost never)"},notExist:{code:1,msg:"command does not exist"},rejected:{code:2,msg:"rejected because true/1 was not returned"}};class Z{players=new Map;static cmdBus=new vd;constructor(t){ot(n=>{const r=t(n);return this.players.set(n,r),m(this,"onConnect","OnPlayerConnect")(r)}),lt((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;D.close(i),ce(n,!0);const a=m(this,"onDisconnect","OnPlayerDisconnect")(i,r);return this.players.delete(n),a}),At((n,r)=>{const i=this.findPlayerById(n);return i?m(this,"onText","OnPlayerTextI18n",0)(i,I.decodeFromBuf(r,i.charset)):1}),It((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;const a=I.decodeFromBuf(r,i.charset),s=a.match(/[^/\s]+/gi);return s===null||s.length===0?(this.onCommandError&&this.onCommandError(i,a,Be.format),0):(this.promiseCommand(i,s),1)}),jt((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onEnterExitModShop")(a,r,i):0}),dn((n,r,i,a)=>{const s=this.findPlayerById(n);return s?m(this,"onClickMap","OnPlayerClickMap")(s,r,i,a):0}),yn((n,r,i)=>{const a=this.findPlayerById(n);if(!a)return 0;const s=this.findPlayerById(r);return s?m(this,"onClickPlayer","OnPlayerClickPlayer")(a,s,i):0}),Ft((n,r,i)=>{const a=m(this,"onDeath","OnPlayerDeath"),s=this.findPlayerById(n);if(!s)return 0;if(r===f.PLAYER_ID)return a(s,r,i);const l=this.findPlayerById(r);return l?a(s,l,i):0}),sn((n,r,i,a,s)=>{const l=this.findPlayerById(n);if(!l)return 0;const h=this.findPlayerById(r);return h?m(this,"onGiveDamage","OnPlayerGiveDamage")(l,h,i,a,s):0}),qt((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onKeyStateChange","OnPlayerKeyStateChange")(a,r,i):0}),Ht((n,r)=>{const i=this.findPlayerById(n);return i?m(this,"onRequestClass","OnPlayerRequestClass")(i,r):0}),Wt(n=>{const r=this.findPlayerById(n);return r?m(this,"onRequestSpawn","OnPlayerRequestSpawn")(r):0}),Mt(n=>{const r=this.findPlayerById(n);return r?m(this,"onSpawn","OnPlayerSpawn")(r):0}),Ut((n,r,i)=>{const a=this.findPlayerById(n);return a?(i===v.NONE&&(a.lastUpdateTick=Date.now()),m(this,"onStateChange","OnPlayerStateChange")(a,r,i)):0}),en((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;const a=this.findPlayerById(r);return a?m(this,"onStreamIn","OnPlayerStreamIn")(i,a):0}),tn((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;const a=this.findPlayerById(r);return a?m(this,"onStreamOut","OnPlayerStreamOut")(i,a):0}),an((n,r,i,a,s)=>{const l=this.findPlayerById(n);if(!l)return 0;if(r===f.PLAYER_ID)return m(this,"onTakeDamage","OnPlayerTakeDamage")(l,r,i,a,s);const h=this.findPlayerById(r);return h?m(this,"onTakeDamage","OnPlayerTakeDamage")(l,h,i,a,s):0}),$t(n=>{const r=this.findPlayerById(n);if(!r)return 0;if(!r.isNpc()){const a=Date.now();r.isPaused&&(r.isPaused=!1,this.onResume&&this.onResume(r,a-r.lastUpdateTick)),r.lastUpdateTick=a,Z.fpsHeartbeat(r)}const i=m(this,"throttleUpdate","OnPlayerUpdate")(r);return i===void 0?0:i}),Qt((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onInteriorChange","OnPlayerInteriorChange")(a,r,i):0}),mn((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onRequestDownload","OnPlayerRequestDownload")(a,r,i):0}),un((n,r)=>{const i=this.findPlayerById(n);return i?m(this,"onFinishedDownloading","OnPlayerFinishedDownloading")(i,r):0}),F.emit(M.create,this.players),F.on(M.pause,n=>{n.isPaused=!0,this.onPause&&this.onPause(n,n.lastUpdateTick)}),F.on(M.setCommonProp,({player:n,prop:r,value:i})=>{Reflect.set(n,r,i),this.players.set(n.id,n)})}findPlayerById(t){return this.players.get(t)}getPlayersArr(){return[...this.players.values()]}getPlayersMap(){return this.players}throttleUpdate=R.throttle(t=>this.onUpdate&&this.onUpdate(t),60);static fpsHeartbeat=R.throttle(t=>{if(!k.isConnected(t.id))return;const n=t.getDrunkLevel();if(n<100){t.setDrunkLevel(2e3),t.lastDrunkLevel=2e3,t.lastFps=0;return}t.lastFps=t.lastDrunkLevel-n-1,t.lastDrunkLevel=n},1e3);onCommandText=(t,n)=>Z.cmdBus.on(this,t,n);offCommandText=(t,n)=>{Z.cmdBus.off(this,t,n)};promiseCommand=async(t,n)=>{const r=n.join(" "),i=n[0],a=Z.cmdBus.eventMap.get(i);if(!a&&this.onCommandError){this.onCommandError(t,r,Be.notExist);return}const s=a?.get(this);if(!s)return;let l=this.onCommandReceived&&this.onCommandReceived(t,r);if(l!==void 0&&(l instanceof Promise&&(l=await l),!l))return st("OnPlayerCommandTextI18n");s.forEach(async h=>{let u=h.call(this,t,...n.slice(1));if(u instanceof Promise&&(u=await u),u==null&&(u=!1),u){let y=this.onCommandPerformed&&this.onCommandPerformed(t,r);return y instanceof Promise&&(y=await y),y?void 0:st("OnPlayerCommandTextI18n")}m(this,"onCommandError","OnPlayerCommandTextI18n")(t,r,Be.rejected)})}}const Hd=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],xd=[[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],[],[],[],[],[],[],[],[]],Vd=(e,t)=>{if(!Ud(e))return _.error("[vehicleUtils]: Invalid model id"),!1;const n=xd[e-400];if(n===null)return!1;const r=t-1e3;return Hd.includes(r)||n.includes(r)},Ud=e=>e>=400&&e<=611,Wd=(e,t)=>{if(t<0||t>2)return!1;const n=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 n===void 0?!1:t<=n};var X=(e=>(e.created="OnVehicleCreate",e.destroyed="OnVehicleDestroy",e))(X||{});const me=new L;class V{_id=-1;static createdCount=0;sourceInfo;isStatic;get id(){return this._id}constructor(t,n=!1){this.sourceInfo=t,this.isStatic=n}create(t=!1){if(this.id!==-1)return _.warn("[Vehicle]: Unable to create the vehicle again");if(V.createdCount===B.MAX_VEHICLES)return _.warn("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelid:n,x:r,y:i,z:a,z_angle:s,colour1:l,colour2:h,respawn_delay:u,addsiren:y}=this.sourceInfo;if(!(!t&&(n<400||n>611))){if(this.isStatic){if(u===void 0){this._id=xn(n,r,i,a,s,l,h);return}this._id=Vn(n,r,i,a,s,l,h,u||-1,y||!1)}else this._id=ws(n,r,i,a,s,l,h,u||-1,y||!1);V.createdCount++,me.emit(X.created,this)}}destroy(){if(this.id===-1)return _.warn("[Vehicle]: Unable to destroy the vehicle before create");ks(this.id),V.createdCount--,me.emit(X.destroyed,this),this._id=-1}addComponent(t){return this.id===-1?0:Vd(this.getModel(),t)?qs(this.id,t):(_.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(V.getComponentType(t))===0?(_.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):$s(this.id,t)}getComponentInSlot(t){return _d(this.id,t)}static getComponentType(t){return cd(t)}linkToInterior(t){return this.id===-1?0:Qs(this.id,t)}setVirtualWorld(t){return this.id===-1?0:pd(this.id,t)}getVirtualWorld(){return this.id===-1?0:Ad(this.id)}repair(){return this.id===-1?0:hd(this.id)}setPos(t,n,r){return this.id===-1?0:Fs(this.id,t,n,r)}getPos(){if(this.id!==-1)return Ms(this.id)}getHealth(){return this.id===-1?0:rd(this.id)}setHealth(t){return this.id===-1?0:nd(this.id,t)}isPlayerIn(t){return this.id===-1?!1:gs(t.id,this.id)}putPlayerIn(t,n){return this.id===-1||n<0?0:(n>4&&_.warn("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle."),Wa(t.id,this.id,n))}getZAngle(){return this.id===-1?0:Ns(this.id)}setZAngle(t){return this.id===-1?0:xs(this.id,t)}setNumberPlate(t){return this.id===-1?0:t.length<1||t.length>32?(_.error("[Vehicle]: The length of the number plate ranges from 32 characters"),0):/^[a-zA-Z0-9]+$/.test(t)?od(this.id,t):(_.error("[Vehicle]: number plates only allow letters and numbers"),0)}static getPoolSize(){return Mn()}changeColours(t,n){return this.id===-1?0:ed(this.id,t,n)}setVelocity(t,n,r){return this.id===-1?0:md(this.id,t,n,r)}getVelocity(){if(this.id===-1)return;const[t,n,r]=ud(this.id);return{x:t,y:n,z:r}}setAngularVelocity(t,n,r){return this.id===-1?0:yd(this.id,t,n,r)}getDamageStatus(){if(this.id!==-1)return Sd(this.id)}updateDamageStatus(t,n,r,i){this.id!==-1&&gd(this.id,t,n,r,i)}getDistanceFromPoint(t,n,r){return Hs(this.id,t,n,r)}getModel(){return ld(this.id)}static getModelInfo(t,n){return Pd(t,n)}getModelInfo(t){if(this.id!==-1)return V.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,n,r,i]=vs(this.id);return{w:t,x:n,y:r,z:i}}setRespawn(){return this.id===-1?0:Js(this.id)}isStreamedIn(t){return this.id===-1?!1:Gs(this.id,t.id)}setParamsCarDoors(t,n,r,i){return this.id===-1?0:Zs(this.id,t,n,r,i)}setParamsCarWindows(t,n,r,i){return this.id===-1?0:Xs(this.id,t,n,r,i)}getParamsCarDoors(){if(this.id!==-1)return zs(this.id)}getParamsCarWindows(){if(this.id!==-1)return Ys(this.id)}setParamsEx(t,n,r,i,a,s,l){return this.id===-1?0:Ws(this.id,t,n,r,i,a,s,l)}getParamsEx(){if(this.id===-1)return;const[t,n,r,i,a,s,l]=Ks(this.id);return{engine:t,lights:n,alarm:r,doors:i,bonnet:a,boot:s,objective:l}}getParamsSirenState(){return this.id===-1?-2:js(this.id)}setParamsForPlayer(t,n,r){return this.id===-1?0:Vs(this.id,t.id,n,r)}isTrailerAttached(){return this.id===-1?!1:sd(this.id)}changePaintjob(t){return this.id===-1||!Wd(this.getModel(),t)?0:(this.changeColours("#fff","#fff"),td(this.id,t),1)}attachTrailer(t){return this.id===-1?0:id(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&ad(this.id)}getTrailer(t){if(this.id!==-1)return t.find(n=>n.id===dd(this.id))}isValid(){return ht(this.id)}static isValid(t){return ht(t)}getMatrix(){if(this.id!==-1)return c.GetVehicleMatrix(this.id)}getTrainSpeed(){return this.id===-1?0:c.GetVehicleTrainSpeed(this.id)}getHydraReactorAngle(){return this.id===-1?0:c.GetVehicleHydraReactorAngle(this.id)}getLandingGearState(){return this.id===-1?0:c.GetVehicleLandingGearState(this.id)}getSirenState(){return this.id===-1?0:c.GetVehicleSirenState(this.id)}static getModelsUsed=c.GetVehicleModelsUsed;getDriver(t){if(this.id!==-1)return t.get(c.GetVehicleDriver(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(c.GetVehicleLastDriver(this.id))}static getModelCount=c.GetVehicleModelCount;isSirenEnabled(){return c.IsVehicleSirenEnabled(this.id)}toggleSirenEnabled(t){return this.id===-1?0:c.ToggleVehicleSirenEnabled(this.id,t)}isDead(){return this.id===-1?!0:c.IsVehicleDead(this.id)}getRespawnTick(){return this.id===-1?0:c.GetVehicleRespawnTick(this.id)}isOccupied(){return this.id===-1?!1:c.IsVehicleOccupied(this.id)}hasBeenOccupied(){return this.id===-1?!1:c.HasVehicleBeenOccupied(this.id)}getOccupiedTick(){return this.id===-1?0:c.GetVehicleOccupiedTick(this.id)}getCab(){return this.id===-1?0:c.GetVehicleCab(this.id)}getRespawnDelay(){return this.id===-1?0:c.GetVehicleRespawnDelay(this.id)}setRespawnDelay(t){return this.id===-1?0:c.SetVehicleRespawnDelay(this.id,t)}getNumberPlate(){return this.id===-1?"":c.GetVehicleNumberPlate(this.id)}getInterior(){return this.id===-1?0:c.GetVehicleInterior(this.id)}getPaintjob(){return this.id===-1?-1:c.GetVehiclePaintjob(this.id)}getColours(){if(this.id!==-1)return c.GetVehicleColours(this.id)}setSpawnInfo(t,n,r,i,a,s,l,h=-2,u=-2,y=!1){return this.id===-1||!y&&(t<400||t>611)?0:c.SetVehicleSpawnInfo(this.id,t,n,r,i,a,p(s),p(l),h,u)}getSpawnInfo(){if(this.id!==-1)return c.GetVehicleSpawnInfo(this.id)}}class Kd{vehicles=new Map;players;constructor(t,n=!0){this.players=t,me.on(X.created,r=>{this.vehicles.set(r.id,r)}),me.on(X.destroyed,r=>{this.vehicles.delete(r.id)}),n&&T(()=>{this.vehicles.forEach(r=>r.destroy()),this.vehicles.clear()}),Xt((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onDamageStatusUpdate","OnVehicleDamageStatusUpdate")(a,s):0}),vt((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onDeath","OnVehicleDeath")(a,s):0}),Kt((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 1;const l=this.findVehicleById(i);return l?m(this,"onMod","OnVehicleMod")(s,l,a):1}),Zt((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 1;const l=this.findVehicleById(i);return l?m(this,"onPaintjob","OnVehiclePaintjob")(s,l,a):1}),zt((r,i,a,s)=>{const l=this.findPlayerById(r);if(!l)return 1;const h=this.findVehicleById(i);return h?m(this,"onRespray","OnVehicleRespray")(l,h,a,s):1}),hn((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 0;const l=this.findVehicleById(i);return l?m(this,"onSirenStateChange","OnVehicleSirenStateChange")(s,l,Boolean(a)):0}),Nt(r=>{const i=this.findVehicleById(r);return i?m(this,"onSpawn","OnVehicleSpawn")(i):1}),nn((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onStreamIn","OnVehicleStreamIn")(a,s):0}),rn((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onStreamOut","OnVehicleStreamOut")(a,s):0}),xt((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 0;const l=this.findVehicleById(i);return l?m(this,"onPlayerEnter","OnPlayerEnterVehicle")(s,l,Boolean(a)):0}),Vt((r,i)=>{const a=this.findPlayerById(r);if(!a)return 0;const s=this.findVehicleById(i);return s?m(this,"onPlayerExit","OnPlayerExitVehicle")(a,s):0}),gn((r,i)=>{const a=this.findVehicleById(r);return a?m(this,"onNpcEnter","OnNPCEnterVehicle")(a,i):0}),Pn(m(this,"onNpcExit","OnNPCExitVehicle")),cn((r,i)=>{const a=this.findPlayerById(r);if(!a)return 0;const s=this.findVehicleById(i);return s?m(this,"onTrailerUpdate")(a,s):0})}findVehicleById(t){return this.vehicles.get(t)}findPlayerById(t){return this.players.get(t)}getVehiclesArr(){return[...this.vehicles.values()]}getVehiclesMap(){return this.vehicles}}const x=[],K=[],we=e=>{setTimeout(async()=>{try{const t=x.findIndex(r=>r.name===e);if(t===-1)return;const n=x[t];await n.load(),x.splice(t,1),K.push(n)}catch(t){_.error(`[GameMode]: script ${e} load fail`),_.warn(new Error(JSON.stringify(t)))}})},ke=e=>{setTimeout(async()=>{try{const t=K.findIndex(r=>r.name===e);if(t===-1)return;const n=K[t];await n.unload(),K.splice(t,1),x.push(n)}catch(t){_.error(`[GameMode]: script ${e} unload fail`),_.warn(new Error(JSON.stringify(t)))}})},jd=e=>{ke(e),we(e)};dt(()=>{x.forEach(e=>we(e.name))}),T(()=>{K.forEach(e=>ke(e.name))});const Zd=function(e,...t){if(x.some(n=>n===e)||K.some(n=>n===e)){_.warn("[GameMode]: script has already been applied");return}e.load=e.load.bind(e,...t),x.push(e)};class se{static charset=O;initialized=!1;constructor(){dt(()=>{if(this.initialized)return _.error("[GameMode]: Cannot be initialized more than once");se.supportAllNickname(),this.initialized=!0,this.onInit&&this.onInit()}),T(()=>{if(!this.initialized)return _.error("[GameMode]: Cannot unload more than once");this.initialized=!1,this.onExit&&this.onExit()}),_n(m(this,"onIncomingConnection")),Et(m(this,"onRconCommand","OnRconCommandI18n")),Tt(m(this,"onRconLoginAttempt"))}isInitialized(){return this.initialized}static exit(){Kn()}static use=(t,...n)=>(Zd(t,...n),this);static loadScript=we;static unloadScript=ke;static reloadScript=jd;static supportAllNickname(){for(let t=0;t<=255;t++)se.isNickNameCharacterAllowed(t)||se.allowNickNameCharacter(t,!0)}static allowAdminTeleport=c.AllowAdminTeleport;static isAdminTeleportAllowed=c.IsAdminTeleportAllowed;static allowInteriorWeapons=c.AllowInteriorWeapons;static areInteriorWeaponsAllowed=c.AreInteriorWeaponsAllowed;static areAllAnimationsEnabled=c.AreAllAnimationsEnabled;static enableAllAnimations=c.EnableAllAnimations;static enableStuntBonusForAll=Cs;static enableVehicleFriendlyFire=Zn;static enableZoneNames=Qn;static disableInteriorEnterExits=$n;static setGameModeText=Fn;static getGravity=Xn;static setGravity=Yn;static showNameTags=Un;static disableNameTagLOS=tr;static usePlayerPedAnims=qn;static showPlayerMarkers=Wn;static limitPlayerMarkerRadius=rr;static limitGlobalChatRadius=nr;static setNameTagDrawDistance=er;static setWeather(t){return t<0||t>255?(_.error("[GameMode]: The valid weather value is only 0 to 255"),0):zn(t)}static setWorldTime(t){return t<0||t>23?(_.error("[GameMode]: The valid hour value is only 0 to 23"),0):jn(t)}static setTeamCount=Nn;static sendRconCommand=lr;static addPlayerClass=vn;static addPlayerClassEx=Hn;static createExplosion(t,n,r,i,a){return i<0||i>13?(_.error("[GameMode]: The valid explosion type value is only 0 to 13"),0):Jn(t,n,r,i,a)}static manualVehicleEngineAndLights=Us;static blockIpAddress=hr;static unBlockIpAddress=ur;static getServerTickRate=mr;static addSimpleModel(t,n,r,i,a){return this.checkSimpleModel(t,n,r,i,a)?Ld(t,n,r,i,a):0}static addSimpleModelTimed(t,n,r,i,a,s,l){return this.checkSimpleModel(t,n,r,i,a,s,l)?Rd(t,n,r,i,a,s,l):0}static checkSimpleModel(t,n,r,i,a,s,l){return t<-1?(_.error("[GameMode]: AddSimpleModel - Error virtual world"),0):n<0?(_.error("[GameMode]: AddSimpleModel - Error baseid"),0):r>-1e3||r<-3e4?(_.error("[GameMode]: AddSimpleModel - Error newid range"),0):i.trim().length<0?(_.error("[GameMode]: AddSimpleModel - Empty dffname"),0):a.trim().length<0?(_.error("[GameMode]: AddSimpleModel - Empty txdname"),0):s!==void 0&&(s<0||s>23)?(_.error("[GameMode]: AddSimpleModel - Error time on range"),0):l!==void 0&&(l<0||l>23)?(_.error("[GameMode]: AddSimpleModel - Error time off range"),0):1}static findModelFileNameFromCRC=Gd;static findTextureFileNameFromCRC=Md;static getWeaponName=Od;static setObjectsDefaultCameraCollision=ui;static vectorSize=kn;static clearBanList=c.ClearBanList;static isBanned=c.IsBanned;static isValidNickName=c.IsValidNickName;static allowNickNameCharacter=c.AllowNickNameCharacter;static isNickNameCharacterAllowed=c.IsNickNameCharacterAllowed;static addServerRule=c.AddServerRule;static setServerRule=c.SetServerRule;static isValidServerRule=c.IsValidServerRule;static removeServerRule=c.RemoveServerRule;static getWeaponSlot=c.GetWeaponSlot;static getAvailableClasses=c.GetAvailableClasses;static getPlayerClass=c.GetPlayerClass;static editPlayerClass=c.EditPlayerClass;static toggleChatTextReplacement=c.ToggleChatTextReplacement;static chatTextReplacementToggled=c.ChatTextReplacementToggled}class zd{constructor(){}static getNetworkStats(){return cr()}static getPlayerNetworkStats(t){return _r(t.id)}static getBytesReceived(t){return gr(t.id)}static getBytesSent(t){return pr(t.id)}static getConnectionStatus(t){return Cr(t.id)}static getConnectedTime(t){return yr(t.id)}static getIpPort(t){return bd(t.id)}static getMessagesReceived(t){return Sr(t.id)}static getMessagesRecvPerSecond(t){return Ar(t.id)}static getMessagesSent(t){return Pr(t.id)}static getPacketLossPercent(t){return Ir(t.id)}}class Xd{_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,n,r){this._text=t,this._time=n,this._style=r}static hideForAll(t){Rn(t)}static has(t,n){return bn(t.id,n)}forAll(){Ln(this.text,this.time,this.style)}forPlayer(t){On(t.id,this.text,this.time,this.style)}hideForPlayer(t){return Bn(t.id,this.style)}}var Y=(e=>(e.created="OnMenuCreate",e.destroyed="OnMenuDestroy",e))(Y||{});const ye=new L;class Te{static menuCount=0;_id=-1;_itemCount=0;get itemCount(){return this._itemCount}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){_.error("[Menu]: The menu column number interval is between 1 and 2");return}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,n,r,i,a,s){this._title=t,this.columns=n,this._x=r,this._y=i,this._col1width=a,this._col2width=s}create(){return this._id!==-1?_.error("[Menu]: Cannot be created twice"):Te.menuCount===B.MAX_MENUS?_.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=fr(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),ye.emit(Y.created,this),Te.menuCount++,this)}destroy(){return this._id===-1?_.error("[Menu]: Cannot destroy before create"):(Er(this.id),ye.emit(Y.destroyed,this),this)}addItem(t,n){return this._id===-1?_.error("[Menu]: Cannot addItem before create"):this._itemCount===B.MAX_MENU_ROW?_.error("[Menu]: The maximum number of items allowed to be added has been reached 12"):t!==0&&t!==1?_.error("[Menu]: Wrong number of columns"):(Tr(this.id,t,n),this._itemCount++,this)}setColumnHeader(t,n){return this._id===-1?_.error("[Menu]: Cannot setColumnHeader before create"):t!==0&&t!==1?_.error("[Menu]: Wrong number of columns"):(Dr(this.id,t,n),this)}disable(){return this._id===-1?_.error("[Menu]: Cannot disable menu before create"):(br(this.id),this)}disableRow(t){if(this._id===-1)return _.error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)return _.error("[Menu]: Wrong number of rows");Br(this.id,t)}isValid(){return Or(this.id)}showForPlayer(t){return this._id===-1?_.error("[Menu]: Cannot show menu before create"):Lr(this.id,t.id)}hideForPlayer(t){return this._id===-1?_.error("[Menu]: Cannot hide menu before create"):Rr(this.id,t.id)}static getMenu(t,n){return n.find(r=>r.id===be(t.id))}isDisabled(){return this._id===-1?!1:c.IsMenuDisabled(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:c.IsMenuRowDisabled(this.id,t)}getItems(t){return this._id===-1?0:c.GetMenuItems(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:c.GetMenuPos(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:c.GetMenuColumnWidth(this.id)}getColumnHeader(t){return this._id===-1?_.error("[Menu]: Cannot get column header before create"):c.GetMenuColumnHeader(this.id,t)}getItem(t,n){if(this._id===-1)return _.error("[Menu]: Cannot get item before create");if(!(n<0||n>this.getItems(t)-1))return c.GetMenuItem(this.id,t,n)}}class Yd{menus=new Map;players;constructor(t,n=!0){this.players=t,ye.on(Y.created,r=>{this.menus.set(r.id,r)}),ye.on(Y.destroyed,r=>{this.menus.delete(r.id)}),n&&T(()=>{this.menus.forEach(r=>r.destroy()),this.menus.clear()}),Jt(r=>{const i=this.findMenuById(be(r));if(!i)return 0;const a=this.findPlayerById(r);return a?m(this,"onPlayerExited","OnPlayerExitedMenu")(a,i):0}),Yt((r,i)=>{const a=this.findMenuById(be(r));if(!a)return 0;const s=this.findPlayerById(r);return s?m(this,"onPlayerSelectedRow","OnPlayerSelectedMenuRow")(s,a,i):0})}findPlayerById(t){return this.players.get(t)}findMenuById(t){if(t!==f.MENU)return this.menus.get(t)}getMenusArr(){return[...this.menus.values()]}getMenusMap(){return this.menus}}var J=(e=>(e.created="OnGangZoneCreate",e.destroyed="OnGangZoneDestroy",e))(J||{});const Se=new L;class N{_id=-1;static createdGlobalCount=0;static createdPlayerCount=0;sourceInfo;constructor(t){this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return _.warn("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(N.createdPlayerCount===B.MAX_GANG_ZONES)return _.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minx:n,miny:r,maxx:i,maxy:a}=this.sourceInfo;this._id=c.CreatePlayerGangZone(t.id,n,r,i,a),N.createdPlayerCount++,samp.addEventListener("OnPlayerDisconnect",this.unregisterEvent)}else{if(N.createdGlobalCount===B.MAX_GANG_ZONES)return _.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minx:n,miny:r,maxx:i,maxy:a}=this.sourceInfo;this._id=ei(n,r,i,a),N.createdGlobalCount++}Se.emit(J.created,{key:{id:this.id,global:t===void 0},value:this})}destroy(){if(this.id===-1)return _.warn("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(c.PlayerGangZoneDestroy(t.id,this.id),N.createdPlayerCount--):(ti(this.id),N.createdGlobalCount--),Se.emit(J.destroyed,{id:this.id,global:t===void 0}),this._id=-1}showForAll(t){return this.id===-1?_.warn("[GangZone]: Unable to show the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be show for all."):(ri(this.id,t),this)}showForPlayer(t,n){if(this.id===-1)return _.warn("[GangZone]: Unable to show the gangzone before create");const r=this.sourceInfo.player;if(r)c.PlayerGangZoneShow(r.id,this.id,p(t));else if(n)ni(n.id,this.id,t);else return _.warn("[GangZone]: invalid player for show");return this}hideForAll(){return this.id===-1?_.warn("[GangZone]: Unable to hide the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be hide for all."):(ai(this.id),this)}hideForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to hide the gangzone before create");const n=this.sourceInfo.player;if(n)c.PlayerGangZoneHide(n.id,this.id);else if(t)ii(t.id,this.id);else return _.warn("[GangZone]: invalid player for hide");return this}flashForAll(t){return this.id===-1?_.warn("[GangZone]: Unable to flash the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be flash for all."):(di(this.id,t),this)}flashForPlayer(t,n){if(this.id===-1)return _.warn("[GangZone]: Unable to flash the gangzone before create");const r=this.sourceInfo.player;if(r)c.PlayerGangZoneFlash(r.id,this.id,p(n));else if(t)si(t.id,this.id,n);else return _.warn("[GangZone]: invalid player for flash");return this}StopFlashForAll(){return this.id===-1?_.warn("[GangZone]: Unable to stop flash the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be stop flash for all."):(li(this.id),this)}StopFlashForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to stop flash the gangzone before create");const n=this.sourceInfo.player;if(n)c.PlayerGangZoneStopFlash(n.id,this.id);else if(t)oi(t.id,this.id);else return _.warn("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.IsValidPlayerGangZone(t.id,this.id):c.IsValidGangZone(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerInPlayerGangZone(n.id,this.id):c.IsPlayerInGangZone(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerGangZoneVisible(n.id,this.id):c.IsGangZoneVisibleForPlayer(t.id,this.id)}getColourForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to get colour before create");const n=this.sourceInfo.player;return n?c.PlayerGangZoneGetColour(n.id,this.id):c.GangZoneGetColourForPlayer(t.id,this.id)}getFlashColourForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to get flash colour before create");const n=this.sourceInfo.player;return n?c.PlayerGangZoneGetFlashColour(n.id,this.id):c.GangZoneGetFlashColourForPlayer(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerGangZoneFlashing(n.id,this.id):c.IsGangZoneFlashingForPlayer(t.id,this.id)}getPos(){if(this.id===-1)return _.warn("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?c.PlayerGangZoneGetPos(t.id,this.id):c.GangZoneGetPos(this.id)}useCheck(t){if(this.id===-1)return _.warn("[GangZone]: Unable to use check before create");const n=this.sourceInfo.player;return n?c.UsePlayerGangZoneCheck(n.id,this.id,t):c.UseGangZoneCheck(this.id,t),this}unregisterEvent(){return this.destroy(),samp.removeEventListener("OnPlayerDisconnect",this.unregisterEvent),1}}class Jd{gangZones=new Map;players;constructor(t,n=!0){this.players=t,Se.on(J.created,r=>{this.gangZones.set(r.key,r.value)}),Se.on(J.destroyed,r=>{this.gangZones.has(r)&&this.gangZones.delete(r)}),n&&T(()=>{this.gangZones.forEach(r=>r.destroy()),this.gangZones.clear()}),c.OnPlayerEnterGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!0});return s?m(this,"onPlayerEnter","OnPlayerEnterGangZone")(a,s):0}),c.OnPlayerEnterPlayerGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!1});return s?m(this,"onPlayerEnter","OnPlayerEnterPlayerGangZone")(a,s):0}),c.OnPlayerLeaveGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!0});return s?m(this,"onPlayerLeave","OnPlayerLeaveGangZone")(a,s):0}),c.OnPlayerLeavePlayerGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!1});return s?m(this,"onPlayerLeave","OnPlayerLeavePlayerGangZone")(a,s):0})}}class A{constructor(){}static getTickRate=o.Streamer_GetTickRate;static setTickRate=o.Streamer_SetTickRate;static getPlayerTickRate(t){return o.Streamer_GetPlayerTickRate(t.id)}static setPlayerTickRate(t,n=50){return o.Streamer_SetPlayerTickRate(t.id,n)}static toggleChunkStream=o.Streamer_ToggleChunkStream;static isToggleChunkStream=o.Streamer_IsToggleChunkStream;static getChunkTickRate(t,n=-1){return n instanceof k?o.Streamer_GetChunkTickRate(t,n.id):o.Streamer_GetChunkTickRate(t,n)}static setChunkTickRate(t,n,r=-1){return r instanceof k?o.Streamer_SetChunkTickRate(t,n,r.id):o.Streamer_SetChunkTickRate(t,n,r)}static getChunkSize=o.Streamer_GetChunkSize;static setChunkSize=o.Streamer_SetChunkSize;static getMaxItems=o.Streamer_GetMaxItems;static setMaxItems=o.Streamer_SetMaxItems;static getVisibleItems(t,n=-1){return n instanceof k?o.Streamer_GetVisibleItems(t,n.id):o.Streamer_GetVisibleItems(t,n)}static setVisibleItems(t,n,r=-1){return r instanceof k?o.Streamer_SetVisibleItems(t,n,r.id):o.Streamer_SetVisibleItems(t,n,r)}static getRadiusMultiplier(t,n=-1){return n instanceof k?o.Streamer_GetRadiusMultiplier(t,n.id):o.Streamer_GetRadiusMultiplier(t,n)}static setRadiusMultiplier(t,n,r=-1){return r instanceof k?o.Streamer_SetRadiusMultiplier(t,r.id):o.Streamer_SetRadiusMultiplier(t,n,r)}static getTypePriority=o.Streamer_GetTypePriority;static setTypePriority=o.Streamer_SetTypePriority;static getCellDistance=o.Streamer_GetCellDistance;static setCellDistance=o.Streamer_SetCellDistance;static getCellSize=o.Streamer_GetCellSize;static setCellSize=o.Streamer_SetCellSize;static toggleItemStatic=o.Streamer_ToggleItemStatic;static isToggleItemStatic=o.Streamer_IsToggleItemStatic;static toggleItemInvAreas=o.Streamer_ToggleItemInvAreas;static isToggleItemInvAreas=o.Streamer_IsToggleItemInvAreas;static toggleItemCallbacks=o.Streamer_ToggleItemCallbacks;static isToggleItemCallbacks=o.Streamer_IsToggleItemCallbacks;static toggleErrorCallback=o.Streamer_ToggleErrorCallback;static isToggleErrorCallback=o.Streamer_IsToggleErrorCallback;static amxUnloadDestroyItems=o.Streamer_AmxUnloadDestroyItems;static processActiveItems=o.Streamer_ProcessActiveItems;static toggleIdleUpdate(t,n){return o.Streamer_ToggleIdleUpdate(t.id,n)}static isToggleIdleUpdate(t){return o.Streamer_IsToggleIdleUpdate(t.id)}static toggleCameraUpdate(t,n){return o.Streamer_ToggleCameraUpdate(t.id,n)}static isToggleCameraUpdate(t){return o.Streamer_IsToggleCameraUpdate(t.id)}static toggleItemUpdate(t,n,r){return o.Streamer_ToggleItemUpdate(t.id,n,r)}static isToggleItemUpdate(t,n){return o.Streamer_IsToggleItemUpdate(t.id,n)}static getLastUpdateTime(){return o.Streamer_GetLastUpdateTime()}static update(t,n=-1){return o.Streamer_Update(t.id,n)}static updateEx(t,n,r,i,a,s,l,h,u){return o.Streamer_UpdateEx(t.id,n,r,i,a,s,l,h,u)}static getDistanceToItem=o.Streamer_GetDistanceToItem;static toggleItem(t,n,r,i){return o.Streamer_ToggleItem(t.id,n,r,i)}static isToggleItem(t,n,r){return o.Streamer_IsToggleItem(t.id,n,r)}static toggleAllItems(t,n,r,i=[-1]){return o.Streamer_ToggleAllItems(t.id,n,r,i)}static getItemInternalID(t,n,r){return o.Streamer_GetItemInternalID(t.id,n,r)}static getItemStreamerID(t,n,r){return o.Streamer_GetItemStreamerID(t.id,n,r)}static isItemVisible(t,n,r){return o.Streamer_IsItemVisible(t.id,n,r)}static destroyAllVisibleItems(t,n,r=1){return o.Streamer_DestroyAllVisibleItems(t.id,n,r)}static countVisibleItems(t,n,r=1){return o.Streamer_CountVisibleItems(t.id,n,r)}static destroyAllItems=o.Streamer_DestroyAllItems;static countItems=o.Streamer_CountItems;static getNearbyItems=o.Streamer_GetNearbyItems;static getAllVisibleItems(t,n,r){o.Streamer_GetAllVisibleItems(t.id,n,r)}static getItemPos=o.Streamer_GetItemPos;static setItemPos=o.Streamer_SetItemPos;static getItemOffset=o.Streamer_GetItemOffset;static setItemOffset=o.Streamer_SetItemOffset;static getFloatData=o.Streamer_GetFloatData;static setFloatData=o.Streamer_SetFloatData;static getIntData=o.Streamer_GetIntData;static setIntData=o.Streamer_SetIntData;static getArrayData=o.Streamer_GetArrayData;static setArrayData=o.Streamer_SetArrayData;static isInArrayData=o.Streamer_IsInArrayData;static appendArrayData=o.Streamer_AppendArrayData;static removeArrayData=o.Streamer_RemoveArrayData;static getArrayDataLength=o.Streamer_GetArrayDataLength;static getUpperBound=o.Streamer_GetUpperBound;static onItemStreamIn=o.Streamer_OnItemStreamIn;static onItemStreamOut=o.Streamer_OnItemStreamOut;static onPluginError=o.Streamer_OnPluginError}var j=(e=>(e.created="OnMapIconCreate",e.destroyed="OnMapIconDestroy",e))(j||{});const Q=new L;class Qd{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamdistance:n,worldid:r,interiorid:i,playerid:a,areaid:s,priority:l}=this.sourceInfo;const{x:h,y:u,z:y,type:S,colour:P,extended:C}=this.sourceInfo;return S<0||S>63?_.error("[StreamerMapIcon]: Invalid map icon type"):(t??=o.MapIconStyles.LOCAL,n??=o.StreamerDistances.MAP_ICON_SD,l??=0,C?(typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=o.CreateDynamicMapIconEx(h,u,y,S,p(P),t,n,r,i,a,s,l),Q.emit(j.created,this),this):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=o.CreateDynamicMapIcon(h,u,y,S,p(P),r,i,a,n,t,s,l),Q.emit(j.created,this),this))}destroy(){return this.id===-1?_.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(o.DestroyDynamicMapIcon(this.id),Q.emit(j.destroyed,this),this)}isValid(){return o.IsValidDynamicMapIcon(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.MAP_ICON,this.id)}}class qd{mapIcons=new Map;players;constructor(t,n=!0){this.players=t,Q.on(j.created,r=>{this.mapIcons.set(r.id,r)}),Q.on(j.destroyed,r=>{this.mapIcons.delete(r.id)}),n&&T(()=>{this.mapIcons.forEach(r=>r.destroy()),this.mapIcons.clear()}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.MAP_ICON){const s=this.mapIcons.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn","Streamer_OnItemStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.MAP_ICON){const s=this.mapIcons.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut","Streamer_OnItemStreamOut")(s,l)}return 1})}getMapIconsArr(){return[...this.mapIcons.values()]}getMapIconsMap(){return this.mapIcons}}var q=(e=>(e.created="OnPickupCreate",e.destroyed="OnPickupDestroy",e))(q||{});const ge=new L;class $d{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerPickup]: Unable to create pickup again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{type:l,modelid:h,x:u,y,z:S,extended:P}=this.sourceInfo;return l<0||l>22?_.error("[StreamerPickup]: Invalid pickup type"):(t??=o.StreamerDistances.PICKUP_SD,s??=0,P?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicPickupEx(h,l,u,y,S,t,n,r,i,a,s)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicPickup(h,l,u,y,S,n,r,i,t,a,s)),ge.emit(q.created,this),this)}destroy(){return this.id===-1?_.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(o.DestroyDynamicPickup(this.id),ge.emit(q.destroyed,this),this)}isValid(){return o.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerPickup]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.PICKUP,this.id)}}class eo{pickups=new Map;players;constructor(t,n=!0){this.players=t,ge.on(q.created,r=>{this.pickups.set(r.id,r)}),ge.on(q.destroyed,r=>{this.pickups.delete(r.id)}),n&&T(()=>{this.pickups.forEach(r=>r.destroy()),this.pickups.clear()}),o.OnPlayerPickUpDynamicPickup((r,i)=>{const a=this.pickups.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerPickUp","OnPlayerPickUpDynamicPickup")(s,a):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.PICKUP){const s=this.pickups.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn","Streamer_OnItemStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.PICKUP){const s=this.pickups.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut","Streamer_OnItemStreamOut")(s,l)}return 1})}getPickupsArr(){return[...this.pickups.values()]}getPickupsMap(){return this.pickups}}var $=(e=>(e.created="OnCheckPointCreate",e.destroyed="OnCheckPointDestroy",e))($||{});const Pe=new L;class to{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{size:l,x:h,y:u,z:y,extended:S}=this.sourceInfo;return l<0?_.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??=o.StreamerDistances.CP_SD,s??=0,S?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicCPEx(h,u,y,l,t,n,r,i,a,s)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicCP(h,u,y,l,n,r,i,t,a,s)),Pe.emit($.created,this),this)}destroy(){return this.id===-1?_.warn("[StreamerCheckpoint]: Unable to destroy the checkpoint before create"):(o.DestroyDynamicCP(this.id),Pe.emit($.destroyed,this),this)}isValid(){return o.IsValidDynamicCP(this.id)}togglePlayer(t,n){return this.id===-1?_.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(o.TogglePlayerDynamicCP(t.id,this.id,n),this)}static togglePlayerAll(t,n){return o.TogglePlayerAllDynamicCPs(t.id,n)}isPlayerIn(t){return this.id===-1?!1:o.IsPlayerInDynamicCP(t.id,this.id)}static getPlayerVisible(t,n){return n.get(o.GetPlayerVisibleDynamicCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.CP,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.CP,this.id)}}class no{checkpoints=new Map;players;constructor(t,n=!0){this.players=t,Pe.on($.created,r=>{this.checkpoints.set(r.id,r)}),Pe.on($.destroyed,r=>{this.checkpoints.delete(r.id)}),n&&T(()=>{this.checkpoints.forEach(r=>r.destroy()),this.checkpoints.clear()}),o.OnPlayerEnterDynamicCP((r,i)=>{const a=this.checkpoints.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerEnter","OnPlayerEnterDynamicCP")(s,a):0}),o.OnPlayerLeaveDynamicCP((r,i)=>{const a=this.checkpoints.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerLeave","OnPlayerLeaveDynamicCP")(s,a):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.CP){const s=this.checkpoints.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn","Streamer_OnItemStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.CP){const s=this.checkpoints.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut","Streamer_OnItemStreamOut")(s,l)}return 1})}getCheckPointsArr(){return[...this.checkpoints.values()]}getCheckPointsMap(){return this.checkpoints}}var ee=(e=>(e.created="OnRaceCPCreate",e.destroyed="OnRaceCPDestroy",e))(ee||{});const pe=new L;class ro{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerRaceCP]: Unable to create checkpoint again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{type:l,size:h,x:u,y,z:S,nextx:P,nexty:C,nextz:E,extended:b}=this.sourceInfo;return l<0||l>8?_.error("[StreamerRaceCP]: Invalid type"):h<0?_.error("[StreamerRaceCP]: Invalid size"):(t??=o.StreamerDistances.RACE_CP_SD,s??=0,b?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicRaceCPEx(l,u,y,S,P,C,E,h,t,n,r,i,a,s)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicRaceCP(l,u,y,S,P,C,E,h,n,r,i,t,a,s)),pe.emit(ee.created,this),this)}destroy(){return this.id===-1?_.warn("[StreamerRaceCP]: Unable to destroy the checkpoint before create"):(o.DestroyDynamicCP(this.id),pe.emit(ee.destroyed,this),this)}isValid(){return o.IsValidDynamicCP(this.id)}togglePlayer(t,n){return this.id===-1?_.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(o.TogglePlayerDynamicRaceCP(t.id,this.id,n),this)}static togglePlayerAll(t,n){return o.TogglePlayerAllDynamicRaceCPs(t.id,n)}isPlayerIn(t){return this.id===-1?!1:o.IsPlayerInDynamicRaceCP(t.id,this.id)}static getPlayerVisible(t,n){return n.get(o.GetPlayerVisibleDynamicRaceCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.RACE_CP,this.id)}}class io{raceCPs=new Map;players;constructor(t,n=!0){this.players=t,pe.on(ee.created,r=>{this.raceCPs.set(r.id,r)}),pe.on(ee.destroyed,r=>{this.raceCPs.delete(r.id)}),n&&T(()=>{this.raceCPs.forEach(r=>r.destroy()),this.raceCPs.clear()}),o.OnPlayerEnterDynamicRaceCP((r,i)=>{const a=this.raceCPs.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerEnter","OnPlayerEnterDynamicRaceCP")(s,a):0}),o.OnPlayerLeaveDynamicRaceCP((r,i)=>{const a=this.raceCPs.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerLeave","OnPlayerLeaveDynamicRaceCP")(s,a):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.RACE_CP){const s=this.raceCPs.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn","Streamer_OnItemStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.RACE_CP){const s=this.raceCPs.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut","Streamer_OnItemStreamOut")(s,l)}return 1})}getRaceCPsArr(){return[...this.raceCPs.values()]}getRaceCPsMap(){return this.raceCPs}}var te=(e=>(e.created="OnActorCreate",e.destroyed="OnActorDestroy",e))(te||{});const Ae=new L;class ao{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerActor]: Unable to create actor again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{modelid:l,x:h,y:u,z:y,r:S,invulnerable:P,health:C,extended:E}=this.sourceInfo;return t??=o.StreamerDistances.ACTOR_SD,s??=0,E?(typeof n=="number"?n=[0]:n??=[0],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicActorEx(l,h,u,y,S,P,C,t,n,r,i,a,s)):(Array.isArray(n)?n=0:n??=0,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicActor(l,h,u,y,S,P,C,n,r,i,t,a,s)),Ae.emit(te.created,this),this}destroy(){return this.id===-1?_.warn("[StreamerActor]: Unable to destroy the actor before create"):(o.DestroyDynamicActor(this.id),Ae.emit(te.destroyed,this),this)}isValid(){return o.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:o.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?_.warn("[StreamerActor]: Unable to get virtual world before create"):o.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?_.warn("[StreamerActor]: Unable to set virtual world before create"):o.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,n,r=!1,i=!0,a=!0,s=!1){if(this.id===-1)return _.warn("[StreamerActor]: Unable to apply animation before create");const l=ut(t,n);return l===void 0?_.error("[StreamerActor]: Invalid anim library or name"):o.ApplyDynamicActorAnimation(this.id,t,n,4.1,r,i,a,s,r?0:l)}clearAnimations(){return this.id===-1?_.warn("[StreamerActor]: Unable to clear animation before create"):o.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?_.warn("[StreamerActor]: Unable to get facing angle before create"):o.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?_.warn("[StreamerActor]: Unable to set facing angle before create"):o.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?_.warn("[StreamerActor]: Unable to get pos before create"):o.GetDynamicActorPos(this.id)}setPos(t,n,r){return this.id===-1?_.warn("[StreamerActor]: Unable to set pos before create"):o.SetDynamicActorPos(this.id,t,n,r)}getHealth(){return this.id===-1?_.warn("[StreamerActor]: Unable to get health before create"):o.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?_.warn("[StreamerActor]: Unable to set health before create"):o.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:o.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){return this.id===-1?_.warn("[StreamerActor]: Unable to set invulnerable before create"):o.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t,n){if(this.id===-1)return;const r=o.GetPlayerTargetDynamicActor(t.id);return n.get(r)}getPlayerCameraTarget(t,n){if(this.id===-1)return;const r=o.GetPlayerCameraTargetDynActor(t.id);return n.get(r)}getSkin(){return this.id===-1?_.warn("[StreamerActor]: Unable to get skin before create"):c.GetActorSkin(this.id)}setSkin(t,n=!1){return this.id===-1?_.warn("[StreamerActor]: Unable to set skin before create"):!n&&(t<0||t>311||t==74)?0:c.SetActorSkin(this.id,t)}getSpawnInfo(){return this.id===-1?_.warn("[StreamerActor]: Unable to get spawn info before create"):c.GetActorSpawnInfo(this.id)}getAnimation(){return this.id===-1?_.warn("[StreamerActor]: Unable to get animation before create"):c.GetActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerActor]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.ACTOR,this.id)}}class so{actors=new Map;players;constructor(t,n=!0){this.players=t,Ae.on(te.created,r=>{this.actors.set(r.id,r)}),Ae.on(te.destroyed,r=>{this.actors.delete(r.id)}),n&&T(()=>{this.actors.forEach(r=>r.destroy()),this.actors.clear()}),o.OnDynamicActorStreamIn((r,i)=>{const a=this.actors.get(r);if(!a)return 0;const s=this.players.get(i);return s?m(this,"onStreamIn","OnDynamicActorStreamIn")(a,s):0}),o.OnDynamicActorStreamOut((r,i)=>{const a=this.actors.get(r);if(!a)return 0;const s=this.players.get(i);return s?m(this,"onStreamOut","OnDynamicActorStreamOut")(a,s):0}),o.OnPlayerGiveDamageDynamicActor((r,i,a,s,l)=>{const h=this.actors.get(i);if(!h)return 0;const u=this.players.get(r);return u?m(this,"onPlayerGiveDamage","OnPlayerGiveDamageDynamicActor")(u,h,a,s,l):0})}getActorsArr(){return[...this.actors.values()]}getActorsMap(){return this.actors}}var ne=(e=>(e.created="On3dTextCreate",e.destroyed="On3dTextDestroy",e))(ne||{});const Ie=new L;class oo{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[Streamer3DTextLabel]: Unable to create again");let{attachedplayer:t,attachedvehicle:n,testlos:r,streamdistance:i,worldid:a,interiorid:s,playerid:l,areaid:h,priority:u}=this.sourceInfo;const{charset:y,text:S,colour:P,drawdistance:C,x:E,y:b,z:U,extended:mt}=this.sourceInfo;return t??=f.PLAYER_ID,n??=f.VEHICLE_ID,i??=o.StreamerDistances.TEXT_3D_LABEL_SD,r??=!1,u??=0,mt?(typeof a=="number"?a=[-1]:a??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof l=="number"?l=[-1]:l??=[-1],typeof h=="number"?h=[-1]:h??=[-1],this._id=bt(S,p(P),E,b,U,C,t,n,r,i,a,s,l,h,u,y||O)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(l)?l=-1:l??=-1,Array.isArray(h)?h=-1:h??=-1,this._id=Ot(y||O,S,p(P),E,b,U,C,t,n,r,a,s,l,i,h,u)),Ie.emit(ne.created,this),this}destroy(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(o.DestroyDynamic3DTextLabel(this.id),Ie.emit(ne.destroyed,this),this)}isValid(){return o.IsValidDynamic3DTextLabel(this.id)}getColour(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to get colour before create"):this.sourceInfo.colour}getCharset(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to get charset before create"):this.sourceInfo.charset}getText(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to get text before create"):wt(this.id,this.sourceInfo.charset||O)}updateText(t,n,r=this.sourceInfo.charset){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to update text before create"):(this.sourceInfo.charset=r,Bt(this.id,p(t),n,r||O))}toggleCallbacks(t=!0){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.TEXT_3D_LABEL,this.id)}}class lo{_3dTexts=new Map;players;constructor(t,n=!0){this.players=t,Ie.on(ne.created,r=>{this._3dTexts.set(r.id,r)}),Ie.on(ne.destroyed,r=>{this._3dTexts.delete(r.id)}),n&&T(()=>{this._3dTexts.forEach(r=>r.destroy()),this._3dTexts.clear()}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.TEXT_3D_LABEL){const s=this._3dTexts.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn","Streamer_OnItemStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.TEXT_3D_LABEL){const s=this._3dTexts.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut","Streamer_OnItemStreamOut")(s,l)}return 1})}get3dTextLabelsArr(){return[...this._3dTexts.values()]}get3dTextLabelsMap(){return this._3dTexts}}var re=(e=>(e.created="OnObjectCreate",e.destroyed="OnObjectDestroy",e))(re||{});const Ce=new L;class _o{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerObject]: Unable to create object again");let{streamdistance:t,drawdistance:n,worldid:r,interiorid:i,playerid:a,areaid:s,priority:l}=this.sourceInfo;const{modelid:h,x:u,y,z:S,rx:P,ry:C,rz:E,extended:b}=this.sourceInfo;return t??=o.StreamerDistances.OBJECT_SD,n??=o.StreamerDistances.OBJECT_DD,l??=0,b?(typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=o.CreateDynamicObjectEx(h,u,y,S,P,C,E,t,n,r,i,a,s,l)):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=o.CreateDynamicObject(h,u,y,S,P,C,E,r,i,a,t,n,s,l)),Ce.emit(re.created,this),this}destroy(){return this.id===-1?_.warn("[StreamerObject]: Unable to destroy the object before create"):(o.DestroyDynamicObject(this.id),Ce.emit(re.destroyed,this),this)}isValid(){return o.IsValidDynamicObject(this.id)}getPos(){return this.id===-1?_.warn("[StreamerObject]: Cannot get position before create"):o.GetDynamicObjectPos(this.id)}setPos(t,n,r){return this.id===-1?_.warn("[StreamerObject]: Cannot set position before create"):o.SetDynamicObjectPos(this.id,t,n,r)}getRot(){return this.id===-1?_.warn("[StreamerObject]: Cannot get rotation before create"):o.GetDynamicObjectRot(this.id)}setRot(t,n,r){return this.id===-1?_.warn("[StreamerObject]: Cannot set rotation before create"):o.SetDynamicObjectRot(this.id,t,n,r)}move(t,n,r,i,a=-1e3,s=-1e3,l=-1e3){return this.id===-1?_.warn("[StreamerObject]: Cannot start moving before create"):i<0?_.warn("[StreamerObject]: speed must not be less than 0"):(i>120*1e3&&_.warn("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional"),this.isMoving()&&this.stop(),o.MoveDynamicObject(this.id,t,n,r,i,a,s,l))}stop(){return this.id===-1?_.warn("[StreamerObject]: Cannot stop moving before create"):o.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:o.IsDynamicObjectMoving(this.id)}attachCamera(t){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachCamera before both are created"):o.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,n,r,i,a,s,l,h=!0){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachToObject before both are created"):o.AttachDynamicObjectToObject(this.id,t.id,n,r,i,a,s,l,h)}attachToPlayer(t,n,r,i,a,s,l){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):o.AttachDynamicObjectToPlayer(this.id,t.id,n,r,i,a,s,l)}attachToVehicle(t,n,r,i,a,s,l){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):o.AttachDynamicObjectToVehicle(this.id,t.id,n,r,i,a,s,l)}edit(t){return this.id===-1?_.warn("[StreamerObject]: Unable to edit before create"):(t.endObjectEditing(),o.EditDynamicObject(t.id,this.id))}isMaterialUsed(t){return this.id===-1?!1:o.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:o.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,n,r){return this.id===-1?_.warn("[StreamerObject]: Unable to get material before create"):o.GetDynamicObjectMaterial(this.id,t,n,r)}setMaterial(t,n,r,i,a="#000"){return this.id===-1?_.warn("[StreamerObject]: Unable to set material before create"):o.SetDynamicObjectMaterial(this.id,t,n,r,i,p(a))}isMaterialTextUsed(t){return this.id===-1?!1:o.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?o.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){return this.id===-1?_.warn("[StreamerObject]: Unable to get material text before create"):Gt(this.id,t,this.sourceInfo.charset||O)}setMaterialText(t=this.sourceInfo.charset,n,r,i=o.MaterialTextSizes.SIZE_256x128,a="Arial",s=24,l=1,h="#fff",u="#000",y=0){return this.id===-1?_.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,kt(t||O,this.id,n,r,i,a,s,l,p(h),p(u),y))}getPlayerCameraTarget(t,n){const r=o.GetPlayerCameraTargetDynObject(t.id);if(r!==f.OBJECT_ID)return n.get(r)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerObject]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.OBJECT,this.id)}}class co{objects=new Map;players;constructor(t,n=!0){this.players=t,Ce.on(re.created,r=>{this.objects.set(r.id,r)}),Ce.on(re.destroyed,r=>{this.objects.delete(r.id)}),n&&T(()=>{this.objects.forEach(r=>r.destroy()),this.objects.clear()}),o.OnDynamicObjectMoved(r=>{const i=this.objects.get(r);return i?m(this,"onMoved","OnDynamicObjectMoved")(i):0}),o.OnPlayerEditDynamicObject((r,i,a,s,l,h,u,y,S)=>{const P=this.objects.get(i);if(!P)return 0;const C=this.players.get(r);return C?m(this,"onPlayerEdit","OnPlayerEditDynamicObject")(C,P,a,s,l,h,u,y,S):0}),o.OnPlayerSelectDynamicObject((r,i,a,s,l,h)=>{const u=this.players.get(r);if(!u)return 0;const y=this.objects.get(i);return y?m(this,"onPlayerSelect","OnPlayerSelectDynamicObject")(u,y,a,s,l,h):0}),o.OnPlayerShootDynamicObject((r,i,a,s,l,h)=>{const u=this.players.get(r);if(!u)return 0;const y=this.objects.get(a);return y?m(this,"onPlayerShoot","OnPlayerShootDynamicObject")(u,i,y,s,l,h):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.OBJECT){const s=this.objects.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn","Streamer_OnItemStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.OBJECT){const s=this.objects.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut","Streamer_OnItemStreamOut")(s,l)}return 1})}getObjectsArr(){return[...this.objects.values()]}getObjectsMap(){return this.objects}}var ie=(e=>(e.created="OnAreaCreate",e.destroyed="OnAreaDestroy",e))(ie||{});const fe=new L;class de{sourceInfo;_id=-1;get type(){return this.sourceInfo.type}get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerArea]: Unable to create area again");let{worldid:t,interiorid:n,playerid:r}=this.sourceInfo;const{type:i,extended:a}=this.sourceInfo;if(a)if(typeof t=="number"?t=[-1]:t??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],i==="circle"){const{x:s,y:l,size:h}=this.sourceInfo;if(h<0)return _.error("[StreamerArea]: Invalid circle extend size");this._id=o.CreateDynamicCircleEx(s,l,h,t,n,r)}else if(i==="cuboid"){const{minx:s,miny:l,minz:h,maxx:u,maxy:y,maxz:S}=this.sourceInfo;this._id=o.CreateDynamicCuboidEx(s,l,h,u,y,S,t,n,r)}else if(i==="cylinder"){const{x:s,y:l,minz:h,maxz:u,size:y}=this.sourceInfo;if(y<0)return _.error("[StreamerArea]: Invalid cylinder extend size");this._id=o.CreateDynamicCylinderEx(s,l,h,u,y,t,n,r)}else if(i==="polygon"){const{points:s,minz:l,maxz:h}=this.sourceInfo;if(s.length%2!==0)return _.warn("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=o.CreateDynamicPolygonEx(s,l,h,t,n,r)}else if(i==="rectangle"){const{minx:s,miny:l,maxx:h,maxy:u}=this.sourceInfo;this._id=o.CreateDynamicRectangleEx(s,l,h,u,t,n,r)}else{const{x:s,y:l,z:h,size:u}=this.sourceInfo;if(u<0)return _.error("[StreamerArea]: Invalid sphere extended size");this._id=o.CreateDynamicSphereEx(s,l,h,u,t,n,r)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,i==="circle"){const{x:s,y:l,size:h}=this.sourceInfo;if(h<0)return _.error("[StreamerArea]: Invalid circle size");this._id=o.CreateDynamicCircle(s,l,h,t,n,r)}else if(i==="cuboid"){const{minx:s,miny:l,minz:h,maxx:u,maxy:y,maxz:S}=this.sourceInfo;this._id=o.CreateDynamicCuboid(s,l,h,u,y,S,t,n,r)}else if(i==="cylinder"){const{x:s,y:l,minz:h,maxz:u,size:y}=this.sourceInfo;if(y<0)return _.error("[StreamerArea]: Invalid cylinder size");this._id=o.CreateDynamicCylinder(s,l,h,u,y,t,n,r)}else if(i==="polygon"){const{points:s,minz:l,maxz:h}=this.sourceInfo;if(s.length%2!==0)return _.warn("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=o.CreateDynamicPolygon(s,l,h,t,n,r)}else if(i==="rectangle"){const{minx:s,miny:l,maxx:h,maxy:u}=this.sourceInfo;this._id=o.CreateDynamicRectangle(s,l,h,u,t,n,r)}else{const{x:s,y:l,z:h,size:u}=this.sourceInfo;if(u<0)return _.error("[StreamerArea]: Invalid sphere size");this._id=o.CreateDynamicSphere(s,l,h,u,t,n,r)}return fe.emit(ie.created,this),this}destroy(){return this.id===-1?_.warn("[StreamerArea]: Unable to destroy the area before create"):(o.DestroyDynamicArea(this.id),fe.emit(ie.destroyed,this),this)}isValid(){return this.id===-1?!1:o.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?_.warn("[StreamerArea]: Unable to get type before create"):o.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return _.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return o.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)return _.warn("[StreamerArea]: Unable to get polygon points number before create");if(this.type==="polygon")return o.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,n=!1){return this.id===-1?!1:o.IsPlayerInDynamicArea(t.id,this.id,n)}static isPlayerInAny(t,n=!1){return o.IsPlayerInAnyDynamicArea(t.id,n)}isAnyPlayerIn(t=!1){return this.id===-1?!1:o.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return o.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t,n){return de.getPlayerAreasNumber(t)?o.GetPlayerDynamicAreas(t.id).map(r=>n.get(r)):[]}static getPlayerAreasNumber(t){return o.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,n,r){return this.id===-1?!1:o.IsPointInDynamicArea(this.id,t,n,r)}static isPointInAny(t,n,r){return o.IsPointInAnyDynamicArea(t,n,r)}isLineIn(t,n,r,i,a,s){return this.id===-1?!1:o.IsLineInDynamicArea(this.id,t,n,r,i,a,s)}static isLineInAny(t,n,r,i,a,s){return o.IsLineInAnyDynamicArea(t,n,r,i,a,s)}static getForPoint(t,n,r,i){return de.getNumberForPoint(t,n,r)?o.GetDynamicAreasForPoint(t,n,r).map(a=>i.get(a)):[]}static getNumberForPoint(t,n,r){return o.GetNumberDynamicAreasForPoint(t,n,r)}static getForLine(t,n,r,i,a,s,l){return de.getNumberForLine(t,n,r,i,a,s)?o.GetDynamicAreasForLine(t,n,r,i,a,s).map(h=>l.get(h)):[]}static getNumberForLine(t,n,r,i,a,s){return o.GetNumberDynamicAreasForLine(t,n,r,i,a,s)}attachToObject(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?_.warn("[StreamerArea]: Unable to toggle attach to object before create"):o.AttachDynamicAreaToObject(this.id,t.id,o.StreamerObjectTypes.DYNAMIC,f.PLAYER_ID,n,r,i)}attachToPlayer(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?_.warn("[StreamerArea]: Unable to toggle attach to player before create"):o.AttachDynamicAreaToPlayer(this.id,t.id,n,r,i)}attachToVehicle(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?_.warn("[StreamerArea]: Unable to toggle attach to vehicle before create"):o.AttachDynamicAreaToVehicle(this.id,t.id,n,r,i)}toggleSpectateMode(t){return this.id===-1?_.warn("[StreamerArea]: Unable to toggle specate mode before create"):o.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:o.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerArea]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.AREA,this.id)}}class ho{areas=new Map;players;constructor(t,n=!0){this.players=t,fe.on(ie.created,r=>{this.areas.set(r.id,r)}),fe.on(ie.destroyed,r=>{this.areas.has(r.id)&&this.areas.delete(r.id)}),n&&T(()=>{this.areas.forEach(r=>r.destroy()),this.areas.clear()}),o.OnPlayerEnterDynamicArea((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.areas.get(i);return s?m(this,"onPlayerEnter","OnPlayerEnterDynamicArea")(a,s):0}),o.OnPlayerLeaveDynamicArea((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.areas.get(i);return s?m(this,"onPlayerLeave","OnPlayerLeaveDynamicArea")(a,s):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.AREA){const s=this.areas.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn","Streamer_OnItemStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.AREA){const s=this.areas.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut","Streamer_OnItemStreamOut")(s,l)}return 1})}getAreasArr(){return[...this.areas.values()]}getAreasMap(){return this.areas}}var ae=(e=>(e.created="OnTextDrawCreate",e.destroyed="OnTextDrawDestroy",e))(ae||{});const Ee=new L;class g{static createdGlobalCount=0;static createdPlayerCount=0;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[TextDraw]: Unable to create the textdraw again");const{x:t,y:n,text:r,player:i}=this.sourceInfo;if(i){if(g.createdPlayerCount===B.MAX_TEXT_DRAWS)return _.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=fa(i.id,t,n,r),g.createdPlayerCount++,samp.addEventListener("OnPlayerDisconnect",this.unregisterEvent)}else{if(g.createdGlobalCount===B.MAX_TEXT_DRAWS)return _.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=wr(t,n,r),g.createdGlobalCount++}return Ee.emit(ae.created,{key:{id:this.id,global:i===void 0},value:this}),this}destroy(){if(this.id===-1)return g.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(Ea(t.id,this.id),g.createdPlayerCount--):(kr(this.id),g.createdGlobalCount--),Ee.emit(ae.destroyed,{id:this.id,global:t===void 0}),this._id=-1,this}setFont(t){if(this.id===-1)return g.beforeCreateWarn("set font");const{player:n}=this.sourceInfo;return n?ka(n.id,this.id,t):Wr(this.id,t),this}setColour(t){if(this.id===-1)return g.beforeCreateWarn("set Colour");const{player:n}=this.sourceInfo;return n?La(n.id,this.id,t):Nr(this.id,t),this}setBoxColours(t){if(this.id===-1)return g.beforeCreateWarn("set box Colour");const{player:n}=this.sourceInfo;return n?Oa(n.id,this.id,t):Hr(this.id,t),this}setBackgroundColours(t){if(this.id===-1)return g.beforeCreateWarn("set background Colour");const{player:n}=this.sourceInfo;return n?wa(n.id,this.id,t):Ur(this.id,t),this}setAlignment(t){if(this.id===-1)return g.beforeCreateWarn("set alignment");const{player:n}=this.sourceInfo;return n?Da(n.id,this.id,t):Fr(this.id,t),this}setLetterSize(t,n){if(this.id===-1)return g.beforeCreateWarn("set letter size");const{player:r}=this.sourceInfo;return r?Ta(r.id,this.id,t,n):Gr(this.id,t,n),this}setOutline(t){if(this.id===-1)return g.beforeCreateWarn("set outline model");if(t<0)return _.warn("[TextDraw]: Invalid outline value");const{player:n}=this.sourceInfo;return n?Ba(n.id,this.id,t):Vr(this.id,t),this}setPreviewModel(t){if(this.id===-1)return g.beforeCreateWarn("set preview model");this.setFont(z.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?Ha(n.id,this.id,t):Qr(this.id,t),this}setPreviewRot(t,n,r,i=1){if(this.id===-1)return g.beforeCreateWarn("set preview rot");this.setFont(z.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?xa(a.id,this.id,t,n,r,i):qr(this.id,t,n,r,i),this}setPreviewVehColours(t,n){if(this.id===-1)return g.beforeCreateWarn("set preview veh col");this.setFont(z.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?Va(r.id,this.id,t,n):$r(this.id,t,n),this}setProportional(t=!0){if(this.id===-1)return g.beforeCreateWarn("set Proportional");const{player:n}=this.sourceInfo;return n?Ga(n.id,this.id,t):Kr(this.id,t),this}setSelectable(t){if(this.id===-1)return g.beforeCreateWarn("set Selectable");const{player:n}=this.sourceInfo;return n?Ma(n.id,this.id,t):jr(this.id,t),this}setShadow(t){if(this.id===-1)return g.beforeCreateWarn("set shadow");if(t<0)return _.warn("[TextDraw]: Invalid shadow value");const{player:n}=this.sourceInfo;return n?ba(n.id,this.id,t):xr(this.id,t),this}setString(t){if(this.id===-1)return g.beforeCreateWarn("set string");if(t.length===0||t.length>1024)return _.warn("[TextDraw]: Invalid text length");const{player:n}=this.sourceInfo;return n?va(n.id,this.id,t):Jr(this.id,t),this}setTextSize(t,n){return this.id===-1?g.beforeCreateWarn("set TextSize"):(Mr(this.id,t,n),this)}useBox(t){if(this.id===-1)return g.beforeCreateWarn("set TextSize");const{player:n}=this.sourceInfo;return n?Ra(n.id,this.id,t):vr(this.id,t),this}static beforeCreateWarn(t){_.warn(`[TextDraw]: Unable to ${t} before create`)}unregisterEvent(){return this.destroy(),samp.removeEventListener("OnPlayerDisconnect",this.unregisterEvent),1}show(t){if(this.id===-1)return g.beforeCreateWarn("show");const n=this.sourceInfo.player;if(n)Fa(n.id,this.id);else if(t)Zr(t.id,this.id);else return _.warn("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return g.beforeCreateWarn("hide");const n=this.sourceInfo.player;if(n)Na(n.id,this.id);else if(t)zr(t.id,this.id);else return _.warn("[TextDraw]: invalid player for hide");return this}showAll(){return this.id===-1?g.beforeCreateWarn("show"):this.sourceInfo.player?_.warn("[TextDraw]: player's textdraw should not be show for all."):(Xr(this.id),this)}hideAll(){return this.id===-1?g.beforeCreateWarn("hideAll"):this.sourceInfo.player?_.warn("[TextDraw]: player's textdraw should not be hide for all."):(Yr(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?c.IsValidPlayer3DTextLabel(t.id,this.id):c.IsValidTextDraw(this.id)}isVisibleForPlayer(t){return this.id===-1?!1:c.IsTextDrawVisibleForPlayer(t.id,this.id)}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetString(t.id,this.id):c.TextDrawGetString(this.id)}setPos(t,n){if(this.id===-1)return g.beforeCreateWarn("set position");const r=this.sourceInfo.player;return r?c.PlayerTextDrawSetPos(r.id,this.id,t,n):c.TextDrawSetPos(this.id,t,n),this}getLetterSize(){if(this.id===-1)return g.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetLetterSize(t.id,this.id):c.TextDrawGetLetterSize(this.id)}getTextSize(){if(this.id===-1)return g.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetTextSize(t.id,this.id):c.TextDrawGetTextSize(this.id)}getPos(){if(this.id===-1)return g.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPos(t.id,this.id):c.TextDrawGetPos(this.id)}getColour(){if(this.id===-1)return g.beforeCreateWarn("get Colour");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetColour(t.id,this.id):c.TextDrawGetColour(this.id)}getBoxColour(){if(this.id===-1)return g.beforeCreateWarn("get box Colour");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetBoxColour(t.id,this.id):c.TextDrawGetBoxColour(this.id)}getBackgroundColour(){if(this.id===-1)return g.beforeCreateWarn("get bg Colour");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetBackgroundColour(t.id,this.id):c.TextDrawGetBackgroundColour(this.id)}getShadow(){if(this.id===-1)return g.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetShadow(t.id,this.id):c.TextDrawGetShadow(this.id)}getOutline(){if(this.id===-1)return g.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetOutline(t.id,this.id):c.TextDrawGetOutline(this.id)}getFont(){if(this.id===-1)return g.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetFont(t.id,this.id):c.TextDrawGetFont(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.PlayerTextDrawIsBox(t.id,this.id):c.TextDrawIsBox(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.PlayerTextDrawIsProportional(t.id,this.id):c.TextDrawIsProportional(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.PlayerTextDrawIsSelectable(t.id,this.id):c.TextDrawIsSelectable(this.id)}getAlignment(){if(this.id===-1)return g.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetAlignment(t.id,this.id):c.TextDrawGetAlignment(this.id)}getPreviewModel(){if(this.id===-1)return g.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPreviewModel(t.id,this.id):c.TextDrawGetPreviewModel(this.id)}getPreviewRot(){if(this.id===-1)return g.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPreviewRot(t.id,this.id):c.TextDrawGetPreviewRot(this.id)}getPreviewVehColours(){if(this.id===-1)return g.beforeCreateWarn("get preview vel Colours");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPreviewVehicleColours(t.id,this.id):c.TextDrawGetPreviewVehicleColours(this.id)}}class uo{textDraws=new Map;players;constructor(t,n=!0){this.players=t,Ee.on(ae.created,r=>{this.textDraws.set(r.key,r.value)}),Ee.on(ae.destroyed,r=>{this.textDraws.has(r)&&this.textDraws.delete(r)}),n&&T(()=>{this.textDraws.forEach(r=>r.destroy()),this.textDraws.clear()}),on((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.textDraws.get({id:i,global:!0});return m(this,"onPlayerClick","OnPlayerClickTextDraw")(a,s||f.TEXT_DRAW)}),ln((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.textDraws.get({id:i,global:!1});return m(this,"onPlayerClick","OnPlayerClickPlayerTextDraw")(a,s||f.TEXT_DRAW)})}}Object.defineProperty(exports,"E_STREAMER",{enumerable:!0,get:function(){return o.E_STREAMER}}),Object.defineProperty(exports,"MapIconStyles",{enumerable:!0,get:function(){return o.MapIconStyles}}),Object.defineProperty(exports,"MaterialTextSizes",{enumerable:!0,get:function(){return o.MaterialTextSizes}}),Object.defineProperty(exports,"StreamerAreaTypes",{enumerable:!0,get:function(){return o.StreamerAreaTypes}}),Object.defineProperty(exports,"StreamerDistances",{enumerable:!0,get:function(){return o.StreamerDistances}}),Object.defineProperty(exports,"StreamerItemTypes",{enumerable:!0,get:function(){return o.StreamerItemTypes}}),Object.defineProperty(exports,"StreamerMiscellaneous",{enumerable:!0,get:function(){return o.StreamerMiscellaneous}}),Object.defineProperty(exports,"StreamerObjectTypes",{enumerable:!0,get:function(){return o.StreamerObjectTypes}}),Object.defineProperty(exports,"GangZonePos",{enumerable:!0,get:function(){return c.GangZonePos}}),Object.defineProperty(exports,"IActorAnimation",{enumerable:!0,get:function(){return c.IActorAnimation}}),Object.defineProperty(exports,"IActorSpawn",{enumerable:!0,get:function(){return c.IActorSpawn}}),Object.defineProperty(exports,"IAttachedData",{enumerable:!0,get:function(){return c.IAttachedData}}),Object.defineProperty(exports,"IAttachedObject",{enumerable:!0,get:function(){return c.IAttachedObject}}),Object.defineProperty(exports,"IBounds",{enumerable:!0,get:function(){return c.IBounds}}),Object.defineProperty(exports,"ICheckPoint",{enumerable:!0,get:function(){return c.ICheckPoint}}),Object.defineProperty(exports,"IMaterial",{enumerable:!0,get:function(){return c.IMaterial}}),Object.defineProperty(exports,"IMaterialText",{enumerable:!0,get:function(){return c.IMaterialText}}),Object.defineProperty(exports,"IObjectPos",{enumerable:!0,get:function(){return c.IObjectPos}}),Object.defineProperty(exports,"IObjectRotPos",{enumerable:!0,get:function(){return c.IObjectRotPos}}),Object.defineProperty(exports,"IOffsets",{enumerable:!0,get:function(){return c.IOffsets}}),Object.defineProperty(exports,"IPlayerClass",{enumerable:!0,get:function(){return c.IPlayerClass}}),Object.defineProperty(exports,"IQuat",{enumerable:!0,get:function(){return c.IQuat}}),Object.defineProperty(exports,"IRaceCheckPoint",{enumerable:!0,get:function(){return c.IRaceCheckPoint}}),Object.defineProperty(exports,"ITextDrawCommonSize",{enumerable:!0,get:function(){return c.ITextDrawCommonSize}}),Object.defineProperty(exports,"ITextDrawRot",{enumerable:!0,get:function(){return c.ITextDrawRot}}),Object.defineProperty(exports,"IVehColor",{enumerable:!0,get:function(){return c.IVehColor}}),Object.defineProperty(exports,"IVehMatrix",{enumerable:!0,get:function(){return c.IVehMatrix}}),Object.defineProperty(exports,"IVehSpawnInfo",{enumerable:!0,get:function(){return c.IVehSpawnInfo}}),exports.ArtworkEnum=Ge,exports.BodyPartsEnum=ze,exports.BoneIdsEnum=Xe,exports.BulletHitTypesEnum=tt,exports.CameraCutStylesEnum=oe,exports.CameraModesEnum=Ze,exports.CarModTypeEnum=Je,exports.ClickSourcesEnum=Me,exports.ConnectionStatusEnum=Ne,exports.DamageDeathReasonEnum=Oe,exports.Dialog=D,exports.DialogStylesEnum=Le,exports.Dynamic3DTextLabel=oo,exports.Dynamic3dTextLabelEvent=lo,exports.DynamicActor=ao,exports.DynamicActorEvent=so,exports.DynamicArea=de,exports.DynamicAreaEvent=ho,exports.DynamicCheckPointEvent=no,exports.DynamicCheckpoint=to,exports.DynamicMapIcon=Qd,exports.DynamicMapIconEvent=qd,exports.DynamicObject=_o,exports.DynamicObjectEvent=co,exports.DynamicPickup=$d,exports.DynamicPickupEvent=eo,exports.DynamicRaceCP=ro,exports.DynamicRaceCPEvent=io,exports.ERecordStatus=w,exports.EditResponseTypesEnum=Fe,exports.FightingStylesEnum=Ke,exports.GameMode=se,exports.GameText=Xd,exports.GangZone=N,exports.GangZoneEvent=Jd,exports.I18n=I,exports.InvalidEnum=f,exports.KeysEnum=ve,exports.LimitsEnum=B,exports.MapIconStylesEnum=je,exports.MarkerModesEnum=He,exports.Menu=Te,exports.MenuEvent=Yd,exports.NPCPlaybackEnum=xe,exports.NetStats=zd,exports.NpcEvent=En,exports.NpcFunc=G,exports.ObjectMaterialAlignmmentEnum=Ue,exports.ObjectMaterialTextSizeEnum=Ve,exports.Player=k,exports.PlayerEvent=Z,exports.PlayerStateEnum=v,exports.RecordTypesEnum=rt,exports.SelectObjectTypesEnum=We,exports.SpecialActionsEnum=Re,exports.SpectateModesEnum=le,exports.Streamer=A,exports.TextDraw=g,exports.TextDrawAlignEnum=Ye,exports.TextDrawEvent=uo,exports.TextDrawFontsEnum=z,exports.Vehicle=V,exports.VehicleEvent=Kd,exports.VehicleModelInfoEnum=qe,exports.VehicleParamsEnum=Qe,exports.WeaponEnum=$e,exports.WeaponSkillsEnum=et,exports.WeaponStatesEnum=nt,exports.rgba=p;
|
|
1
|
+
"use strict";var De=require("iconv-lite"),yt=require("pino"),O=require("lodash"),o=require("@infernus/streamer"),c=require("@infernus/wrapper");const _=yt({transport:{target:"pino-pretty",options:{translateTime:"SYS:standard",ignore:"pid,hostname"}}});process.on("uncaughtException",e=>{_.error(e),process.exit(1)}),process.on("unhandledRejection",e=>{if(e instanceof Error){_.warn(e);return}_.warn(new Error(JSON.stringify(e)))});class I{constructor(t,n){this.defaultLocale=t,this.locales=n,this.defaultLocale=O.snakeCase(t),this.locales=I.snakeLocaleKeys(n)}addLocales=t=>{O.merge(this.locales,I.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=O.omit(this.locales,t)};$t=(t,n,r=this.defaultLocale)=>{const i=this.locales[O.snakeCase(r)],a=O.get(this.locales[this.defaultLocale],t),s=O.get(i,t,a);if(s===void 0)return _.warn(`[i18n]: cannot find ${r}["${t}"]`),"undefined";if(typeof s!="string")return JSON.stringify(s);let l=s;if(n&&n.length){const h=/%s/i;for(let u=0;u<n.length&&l.match(h)!==null;u++)l=l.replace(h,n[u])}return l};static isValidate(t){De.encodingExists(t)||(_.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,n){return I.isValidate(n),[...De.encode(t,n),0]}static decodeFromBuf(t,n){I.isValidate(n);const r=t instanceof Buffer?t:Buffer.from(t);return De.decode(r,n)}static getValidStr(t){return t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return O.mapKeys(t,(n,r)=>O.snakeCase(r))}}var Ge=(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))(Ge||{}),Me=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Me||{}),Le=(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))(Le||{}),Fe=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Fe||{}),Ne=(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))(Ne||{}),C=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.VEHICLE_ID=65535]="VEHICLE_ID",e[e.ACTOR_ID=65535]="ACTOR_ID",e[e.OBJECT_ID=65535]="OBJECT_ID",e[e.MENU=255]="MENU",e[e.TEXT_DRAW=65535]="TEXT_DRAW",e[e.PLAYER_TEXT_DRAW=65535]="PLAYER_TEXT_DRAW",e[e.GANG_ZONE=-1]="GANG_ZONE",e[e._3DTEXT_ID=65535]="_3DTEXT_ID",e[e.PLAYER_3DTEXT_ID=65535]="PLAYER_3DTEXT_ID",e))(C||{}),ve=(e=>(e[e.ACTION=1]="ACTION",e[e.CROUCH=2]="CROUCH",e[e.FIRE=4]="FIRE",e[e.SPRINT=8]="SPRINT",e[e.SECONDARY_ATTACK=16]="SECONDARY_ATTACK",e[e.JUMP=32]="JUMP",e[e.LOOK_RIGHT=64]="LOOK_RIGHT",e[e.HANDBRAKE=128]="HANDBRAKE",e[e.LOOK_LEFT=256]="LOOK_LEFT",e[e.SUBMISSION=512]="SUBMISSION",e[e.LOOK_BEHIND=512]="LOOK_BEHIND",e[e.WALK=1024]="WALK",e[e.ANALOG_UP=2048]="ANALOG_UP",e[e.ANALOG_DOWN=4096]="ANALOG_DOWN",e[e.ANALOG_LEFT=8192]="ANALOG_LEFT",e[e.ANALOG_RIGHT=16384]="ANALOG_RIGHT",e[e.YES=65536]="YES",e[e.NO=131072]="NO",e[e.CTRL_BACK=262144]="CTRL_BACK",e[e.KEY_UP=-128]="KEY_UP",e[e.KEY_DOWN=128]="KEY_DOWN",e[e.KEY_LEFT=-128]="KEY_LEFT",e[e.KEY_RIGHT=128]="KEY_RIGHT",e))(ve||{}),B=(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))(B||{}),He=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(He||{}),xe=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(xe||{}),w=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(w||{}),Ve=(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))(Ve||{}),Ue=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Ue||{}),We=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(We||{}),Ke=(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))(Ke||{}),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||{}),oe=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(oe||{}),Ze=(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))(Ze||{}),le=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(le||{}),v=(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))(v||{}),ze=(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))(ze||{}),Xe=(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))(Xe||{}),Re=(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))(Re||{}),z=(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))(z||{}),Ye=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Ye||{}),Je=(e=>(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))(Je||{}),Qe=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(Qe||{}),qe=(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))(qe||{}),$e=(e=>(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.PARACHUTE=46]="PARACHUTE",e))($e||{}),et=(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))(et||{}),tt=(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))(tt||{}),nt=(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))(nt||{}),be=(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))(be||{}),rt=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(rt||{});const p=e=>{if(typeof e=="number")return e;if(typeof+e=="number"&&!isNaN(+e))return+e;if(e.charAt(0)==="#")return e.length===4?parseInt(e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)+e.charAt(3)+e.charAt(3)+"FF",16):e.length===7?parseInt(e.slice(1,e.length)+"FF",16):e.length===9?parseInt(e.slice(1,e.length),16):255;const t=(e.match(/([0-9])+/g)||[]).map(r=>parseInt(r,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 n=0;return t.reverse().forEach((r,i)=>{r!==0&&(n+=Math.pow(16,i*2)*r)}),n},R="utf8",St="en_US",W=(e,t)=>{const n=t.replace("-","")==="utf8"?e:I.encodeToBuf(e,t);return[n instanceof Array?"a":"s",n]},it=(e,t,n)=>{const r=W(n,e.charset);return d("SendClientMessage",`ii${r[0]}`,e.id,p(t),r[1])},gt=(e,t,n)=>(e.forEach(r=>it(r,t,n)),1),at=(e,t,n)=>{const r=W(n,e.charset);return d("SendPlayerMessageToPlayer",`ii${r[0]}`,e.id,t,r[1])},Pt=(e,t,n)=>(e.forEach(r=>at(r,t,n)),1),pt=(e,t,n)=>{const{charset:r}=e,{style:i,caption:a,info:s,button1:l,button2:h}=n,[u,y]=W(a||"",r),[,S]=W(s||"",r),[,P]=W(l||"",r),[,f]=W(h||"",r);return d("ShowPlayerDialog",`iii${u.repeat(4)}`,e.id,t,i,y,S,P,f)};samp.registerEvent("OnPlayerTextI18n","iai");const At=e=>{samp.addEventListener("OnPlayerTextI18n",e)};samp.registerEvent("OnPlayerCommandTextI18n","iai");const It=e=>{samp.addEventListener("OnPlayerCommandTextI18n",e)};samp.registerEvent("OnDialogResponseI18n","iiiiai");const ft=e=>{samp.addEventListener("OnDialogResponseI18n",e)};samp.registerEvent("OnClientMessageI18n","iai");const Ct=(e,t=R)=>{samp.addEventListener("OnClientMessageI18n",(n,r)=>e(n,I.decodeFromBuf(r,t)))};samp.registerEvent("OnRconCommandI18n","ai");const Et=(e,t=R)=>{samp.addEventListener("OnRconCommandI18n",n=>e(I.decodeFromBuf(n,t)))};samp.registerEvent("OnRconLoginAttemptI18n","aiaii");const Tt=(e,t=R)=>{samp.addEventListener("OnRconLoginAttemptI18n",(n,r,i)=>e(I.decodeFromBuf(n,t),I.decodeFromBuf(r,t),Boolean(i)))},Dt=e=>{const t=d("GetPlayerName","iAi",e.id,B.MAX_PLAYER_NAME);return I.decodeFromBuf(I.getValidStr(t),e.charset)},Lt=(e,t)=>d("SetPlayerName","ia",e.id,I.encodeToBuf(t,e.charset)),Rt=(e,t,n)=>{const r=I.encodeToBuf(t,n);return d("BanEx","ia",e,r)},bt=(e,t,n,r,i,a,s,l,h,u,y,S,P,f,E,b)=>{const U=I.encodeToBuf(t,e);return d("CreateDynamic3DTextLabel","aiffffiiiiiifii",U,n,r,i,a,s,l,h,u,y,S,P,f,E,b)},Ot=(e,t,n,r,i,a,s,l,h,u,y,S,P,f,E,b)=>{const U=I.encodeToBuf(e,b);return d("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",U,t,n,r,i,a,s,l,h,u,y,S,P,f,E,y.length,S.length,P.length,f.length)},Bt=(e,t,n,r)=>{const i=I.encodeToBuf(n,r);return d("UpdateDynamic3DTextLabelText","iia",e,t,i)},wt=(e,t)=>{const n=d("GetDynamic3DTextLabelText","iAi",e,1024);return I.decodeFromBuf(I.getValidStr(n),t)},kt=(e,t,n,r,i,a,s,l,h,u,y)=>{const S=I.encodeToBuf(r,e),P=I.encodeToBuf(a,e);return d("SetDynamicObjectMaterialText","iiaiaiiiii",t,n,S,i,P,s,l,h,u,y)},Gt=(e,t,n)=>{const[r,i,a,s,l,h,u]=d("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),y=I.decodeFromBuf(r,n),S=I.decodeFromBuf(a,n);return{text:y,materialsize:i,fontface:S,bold:s,fontcolour:l,backcolour:h,textalignment:u}},m=(e,t,n=1)=>(...r)=>{if(!e[t])return n;const i=e[t](...r);return i instanceof Promise||i===void 0?n:Number(i)},st=(e=0)=>m({NOOP:()=>e},"NOOP"),{callNative:d,callNativeFloat:H}=samp;ft((e,t,n,r,i)=>{const a=D.waitingQueue.get(e);return a?(setTimeout(()=>a.resolve({response:n,listitem:r,inputbuf:i})),1):0});class D{id;static CREATED_ID=-1;static MAX_DIALOGID=32767;dialog;static waitingQueue=new Map;constructor(t={style:Le.MSGBOX,caption:"",info:"",button1:"",button2:""}){D.CREATED_ID<D.MAX_DIALOGID?D.CREATED_ID++:_.warn("[Dialog]: The maximum number of dialogs is reached"),this.dialog=t,this.id=D.CREATED_ID}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,n=!1){const r=D.waitingQueue.get(t.id);return r?(n&&r.reject("[Dialog]: player timeout does not respond or second request show dialog"),D.waitingQueue.delete(t.id),!0):!1}show(t){return new Promise((n,r)=>{D.close(t),D.waitingQueue.set(t.id,{resolve:n,reject:r}),pt(t,this.id,this.dialog)}).then(n=>{const{response:r,listitem:i}=n,a=I.decodeFromBuf(n.inputbuf,t.charset);return Promise.resolve({response:r,listitem:i,inputtext:a})}).catch(n=>Promise.reject(n)).finally(()=>D.delDialogTask(t))}static close(t){D.delDialogTask(t,!0),c.HidePlayerDialog(t.id)}}const dt=e=>{samp.addEventListener("OnGameModeInit",e)},T=e=>{samp.addEventListener("OnGameModeExit",e)},ot=e=>{samp.addEventListener("OnPlayerConnect",e)},lt=e=>{samp.addEventListener("OnPlayerDisconnect",e)},Mt=e=>{samp.addEventListener("OnPlayerSpawn",e)},Ft=e=>{samp.addEventListener("OnPlayerDeath",e)},Nt=e=>{samp.addEventListener("OnVehicleSpawn",e)},vt=e=>{samp.addEventListener("OnVehicleDeath",e)},Ht=e=>{samp.addEventListener("OnPlayerRequestClass",e)},xt=e=>{samp.addEventListener("OnPlayerEnterVehicle",e)},Vt=e=>{samp.addEventListener("OnPlayerExitVehicle",e)},Ut=e=>{samp.addEventListener("OnPlayerStateChange",e)},Wt=e=>{samp.addEventListener("OnPlayerRequestSpawn",e)},Kt=e=>{samp.addEventListener("OnVehicleMod",e)},jt=e=>{samp.addEventListener("OnEnterExitModShop",e)},Zt=e=>{samp.addEventListener("OnVehiclePaintjob",e)},zt=e=>{samp.addEventListener("OnVehicleRespray",e)},Xt=e=>{samp.addEventListener("OnVehicleDamageStatusUpdate",e)},Yt=e=>{samp.addEventListener("OnPlayerSelectedMenuRow",e)},Jt=e=>{samp.addEventListener("OnPlayerExitedMenu",e)},Qt=e=>{samp.addEventListener("OnPlayerInteriorChange",e)},qt=e=>{samp.addEventListener("OnPlayerKeyStateChange",e)},$t=e=>{samp.addEventListener("OnPlayerUpdate",e)},en=e=>{samp.addEventListener("OnPlayerStreamIn",e)},tn=e=>{samp.addEventListener("OnPlayerStreamOut",e)},nn=e=>{samp.addEventListener("OnVehicleStreamIn",e)},rn=e=>{samp.addEventListener("OnVehicleStreamOut",e)},an=e=>{samp.addEventListener("OnPlayerTakeDamage",e)},sn=e=>{samp.addEventListener("OnPlayerGiveDamage",e)},dn=e=>{samp.addEventListener("OnPlayerClickMap",e)},on=e=>{samp.addEventListener("OnPlayerClickTextDraw",e)},ln=e=>{samp.addEventListener("OnPlayerClickPlayerTextDraw",e)},_n=e=>{samp.addEventListener("OnIncomingConnection",e)},cn=e=>{samp.addEventListener("OnTrailerUpdate",e)},hn=e=>{samp.addEventListener("OnVehicleSirenStateChange",e)},un=e=>{samp.addEventListener("OnPlayerFinishedDownloading",e)},mn=e=>{samp.addEventListener("OnPlayerRequestDownload",e)},yn=e=>{samp.addEventListener("OnPlayerClickPlayer",e)},Sn=e=>{samp.addEventListener("OnClientCheckResponse",e)},gn=e=>{samp.addEventListener("OnNPCEnterVehicle",e)},Pn=e=>{samp.addEventListener("OnNPCExitVehicle",e)},pn=e=>{samp.addEventListener("OnNpcConnect",e)},An=e=>{samp.addEventListener("OnNpcDisconnect",e)},In=e=>{samp.addEventListener("OnNPCModeInit",e)},fn=e=>{samp.addEventListener("OnNPCModeExit",e)},Cn=e=>{samp.addEventListener("OnNPCSpawn",e)};class En{constructor(){pn(m(this,"onConnect")),An(m(this,"onDisconnect")),In(m(this,"onModeInit")),fn(m(this,"onModeExit")),Cn(m(this,"onSpawn")),Ct(m(this,"onClientMessage"))}}const Tn=(e,t,n)=>d("SendDeathMessage","iii",e,t,n),Dn=(e,t,n,r)=>d("SendDeathMessageToPlayer","iiii",e,t,n,r),Ln=(e,t,n)=>d("GameTextForAll","sii",e,t,n),Rn=e=>{d("HideGameTextForAll","i",e)},bn=(e,t,n,r)=>Boolean(d("GameTextForPlayer","isii",e,t,n,r)),On=(e,t)=>Boolean(d("HasGameText","ii",e,t)),Bn=(e,t)=>Boolean(d("HideGameTextForPlayer","ii",e,t)),wn=()=>d("GetMaxPlayers",""),kn=(e,t,n,r,i,a)=>H("VectorSize","ffffff",e,t,n,r,i,a),Gn=()=>d("GetPlayerPoolSize",""),Mn=()=>d("GetVehiclePoolSize",""),Fn=e=>d("SetGameModeText","s",e),Nn=e=>d("SetTeamCount","i",e),vn=(e,t,n,r,i,a,s,l,h,u,y)=>d("AddPlayerClass","iffffiiiiii",e,t,n,r,i,a,s,l,h,u,y),Hn=(e,t,n,r,i,a,s,l,h,u,y,S)=>d("AddPlayerClassEx","iiffffiiiiii",e,t,n,r,i,a,s,l,h,u,y,S),xn=(e,t,n,r,i,a,s)=>d("AddStaticVehicle","iffffii",e,t,n,r,i,a,s),Vn=(e,t,n,r,i,a,s,l,h)=>d("AddStaticVehicleEx","iffffiiii",e,t,n,r,i,a,s,l,h),Un=e=>d("ShowNameTags","i",e),Wn=e=>d("ShowPlayerMarkers","i",e),Kn=()=>d("GameModeExit",""),jn=e=>d("SetWorldTime","i",e),Zn=()=>d("EnableVehicleFriendlyFire",""),zn=e=>d("SetWeather","i",e),Xn=()=>H("GetGravity",""),Yn=e=>d("SetGravity","f",e),Jn=(e,t,n,r,i)=>d("CreateExplosion","fffif",e,t,n,r,i),Qn=e=>d("EnableZoneNames","i",e),qn=()=>d("UsePlayerPedAnims",""),$n=()=>d("DisableInteriorEnterExits",""),er=e=>d("SetNameTagDrawDistance","f",e),tr=()=>d("DisableNameTagLOS",""),nr=e=>d("LimitGlobalChatRadius","f",e),rr=e=>d("LimitPlayerMarkerRadius","f",e),ir=(e,t)=>d("ConnectNPC","ss",e,t),ar=e=>Boolean(d("IsPlayerNPC","i",e)),sr=e=>Boolean(d("IsPlayerAdmin","i",e)),dr=e=>d("Kick","i",e),or=e=>d("Ban","i",e),lr=e=>d("SendRconCommand","s",e),_r=e=>d("GetPlayerNetworkStats","iSi",e,1024),cr=()=>d("GetNetworkStats","Si",1024),hr=(e,t)=>d("BlockIpAddress","si",e,t),ur=e=>d("UnBlockIpAddress","s",e),mr=()=>d("GetServerTickRate",""),yr=e=>d("NetStats_GetConnectedTime","i",e),Sr=e=>d("NetStats_MessagesReceived","i",e),gr=e=>d("NetStats_BytesReceived","i",e),Pr=e=>d("NetStats_MessagesSent","i",e),pr=e=>d("NetStats_BytesSent","i",e),Ar=e=>d("NetStats_MessagesRecvPerSecond","i",e),Ir=e=>H("NetStats_PacketLossPercent","i",e),fr=e=>d("NetStats_ConnectionStatus","i",e),Cr=(e,t,n,r,i,a)=>d("CreateMenu","siffff",e,t,n,r,i,a),Er=e=>d("DestroyMenu","i",e),Tr=(e,t,n)=>d("AddMenuItem","iis",e,t,n),Dr=(e,t,n)=>d("SetMenuColumnHeader","iis",e,t,n),Lr=(e,t)=>d("ShowMenuForPlayer","ii",e,t),Rr=(e,t)=>d("HideMenuForPlayer","ii",e,t),br=e=>Boolean(d("IsValidMenu","i",e)),Or=e=>d("DisableMenu","i",e),Br=(e,t)=>d("DisableMenuRow","ii",e,t),Oe=e=>d("GetPlayerMenu","i",e),wr=(e,t,n)=>d("TextDrawCreate","ffs",e,t,n),kr=e=>d("TextDrawDestroy","i",e),Gr=(e,t,n)=>d("TextDrawLetterSize","iff",e,t,n),Mr=(e,t,n)=>d("TextDrawTextSize","iff",e,t,n),Fr=(e,t)=>d("TextDrawAlignment","ii",e,t),Nr=(e,t)=>Boolean(d("TextDrawColour","ii",e,p(t))),vr=(e,t)=>d("TextDrawUseBox","ii",e,t),Hr=(e,t)=>Boolean(d("TextDrawBoxColour","ii",e,p(t))),xr=(e,t)=>d("TextDrawSetShadow","ii",e,t),Vr=(e,t)=>d("TextDrawSetOutline","ii",e,t),Ur=(e,t)=>Boolean(d("TextDrawBackgroundColour","ii",e,p(t))),Wr=(e,t)=>d("TextDrawFont","ii",e,t),Kr=(e,t)=>d("TextDrawSetProportional","ii",e,t),jr=(e,t)=>d("TextDrawSetSelectable","ii",e,t),Zr=(e,t)=>d("TextDrawShowForPlayer","ii",e,t),zr=(e,t)=>d("TextDrawHideForPlayer","ii",e,t),Xr=e=>d("TextDrawShowForAll","i",e),Yr=e=>d("TextDrawHideForAll","i",e),Jr=(e,t)=>d("TextDrawSetString","is",e,t),Qr=(e,t)=>d("TextDrawSetPreviewModel","ii",e,t),qr=(e,t,n,r,i=1)=>{d("TextDrawSetPreviewRot","iffff",e,t,n,r,i)},$r=(e,t,n)=>Boolean(d("TextDrawSetPreviewVehicleColours","iii",e,p(t),p(n))),ei=(e,t,n,r)=>d("GangZoneCreate","ffff",e,t,n,r),ti=e=>d("GangZoneDestroy","i",e),ni=(e,t,n)=>d("GangZoneShowForPlayer","iii",e,t,p(n)),ri=(e,t)=>d("GangZoneShowForAll","ii",e,p(t)),ii=(e,t)=>d("GangZoneHideForPlayer","ii",e,t),ai=e=>d("GangZoneHideForAll","i",e),si=(e,t,n)=>d("GangZoneFlashForPlayer","iii",e,t,p(n)),di=(e,t)=>d("GangZoneFlashForAll","ii",e,p(t)),oi=(e,t)=>d("GangZoneStopFlashForPlayer","ii",e,t),li=e=>d("GangZoneStopFlashForAll","i",e),_i=(e,t=R)=>I.decodeFromBuf(I.getValidStr(d("GPCI","iAi",e,41)),t),ci=e=>Boolean(d("BeginObjectSelecting","i",e)),hi=e=>Boolean(d("EndObjectEditing","i",e)),ui=e=>Boolean(d("SetObjectsDefaultCameraCollision","i",e)),mi=(e,t,n,r,i,a,s,l,h,u,y,S,P)=>d("SetSpawnInfo","iiiffffiiiiii",e,t,n,r,i,a,s,l,h,u,y,S,P),yi=e=>d("SpawnPlayer","i",e),_t=(e,t,n,r)=>d("SetPlayerPos","ifff",e,t,n,r),Si=(e,t,n,r)=>d("SetPlayerPosFindZ","ifff",e,t,n,r),gi=e=>d("GetPlayerPos","iFFF",e),Pi=(e,t)=>d("SetPlayerFacingAngle","if",e,t),pi=e=>d("GetPlayerFacingAngle","iF",e),Ai=(e,t,n,r,i)=>Boolean(d("IsPlayerInRangeOfPoint","iffff",e,t,n,r,i)),Ii=(e,t,n,r)=>H("GetPlayerDistanceFromPoint","ifff",e,t,n,r),fi=(e,t)=>Boolean(d("IsPlayerStreamedIn","ii",e,t)),Ci=(e,t)=>d("SetPlayerInterior","ii",e,t),Ei=e=>d("GetPlayerInterior","i",e),Ti=(e,t)=>d("SetPlayerHealth","if",e,t),Di=e=>d("GetPlayerHealth","iF",e),Li=(e,t)=>d("SetPlayerArmour","if",e,t),Ri=e=>d("GetPlayerArmour","iF",e),bi=(e,t,n)=>d("SetPlayerAmmo","iii",e,t,n),Oi=e=>d("GetPlayerAmmo","i",e),Bi=e=>d("GetPlayerWeaponState","i",e),wi=e=>d("GetPlayerTargetPlayer","i",e),ki=(e,t)=>{d("SetPlayerTeam","ii",e,t)},Gi=e=>d("GetPlayerTeam","i",e),Mi=(e,t)=>d("SetPlayerScore","ii",e,t),Fi=e=>d("GetPlayerScore","i",e),Ni=e=>d("GetPlayerDrunkLevel","i",e),vi=(e,t)=>d("SetPlayerDrunkLevel","ii",e,t),Hi=(e,t)=>d("SetPlayerColor","ii",e,p(t)),xi=e=>d("GetPlayerColor","i",e),Vi=(e,t)=>d("SetPlayerSkin","ii",e,t),Ui=e=>d("GetPlayerSkin","i",e),Wi=(e,t,n)=>d("GivePlayerWeapon","iii",e,t,n),Ki=e=>d("ResetPlayerWeapons","i",e),ji=(e,t)=>d("SetPlayerArmedWeapon","ii",e,t),Zi=(e,t)=>d("GetPlayerWeaponData","iiII",e,t),zi=(e,t)=>d("GivePlayerMoney","ii",e,t),Xi=e=>d("ResetPlayerMoney","i",e),Yi=e=>d("GetPlayerMoney","i",e),Ji=e=>d("GetPlayerState","i",e),Qi=e=>d("GetPlayerPing","i",e),qi=e=>d("GetPlayerWeapon","i",e),$i=e=>d("GetPlayerKeys","iIII",e),ea=(e,t,n)=>d("SetPlayerTime","iii",e,t,n),ta=e=>d("GetPlayerTime","iII",e),na=(e,t)=>d("TogglePlayerClock","ii",e,t),ra=(e,t)=>d("SetPlayerWeather","ii",e,t),ia=e=>d("ForceClassSelection","i",e),aa=(e,t)=>d("SetPlayerWantedLevel","ii",e,t),sa=e=>d("GetPlayerWantedLevel","i",e),da=(e,t)=>d("SetPlayerFightingStyle","ii",e,t),oa=e=>d("GetPlayerFightingStyle","i",e),la=(e,t,n,r)=>d("SetPlayerVelocity","ifff",e,t,n,r),_a=e=>d("GetPlayerVelocity","iFFF",e),ca=(e,t,n)=>d("PlayCrimeReportForPlayer","iii",e,t,n),ha=(e,t,n,r,i,a,s=!1)=>d("PlayAudioStreamForPlayer","isffffi",e,t,n,r,i,a,s),ua=e=>d("StopAudioStreamForPlayer","i",e),ma=(e,t)=>d("SetPlayerShopName","is",e,t),ya=(e,t,n)=>d("SetPlayerSkillLevel","iii",e,t,n),Sa=e=>d("GetPlayerSurfingVehicleID","i",e),ga=e=>d("GetPlayerSurfingObjectID","i",e),Pa=(e,t,n,r,i,a)=>d("RemoveBuildingForPlayer","iiffff",e,t,n,r,i,a),pa=e=>d("GetPlayerLastShotVectors","iFFFFFF",e),Aa=(e,t,n,r,i,a,s,l,h,u,y,S,P,f,E)=>d("SetPlayerAttachedObject","iiiifffffffffii",e,t,n,r,i,a,s,l,h,u,y,S,P,p(f),p(E)),Ia=(e,t)=>d("RemovePlayerAttachedObject","ii",e,t),fa=(e,t)=>Boolean(d("IsPlayerAttachedObjectSlotUsed","ii",e,t)),Ca=(e,t,n,r)=>d("CreatePlayerTextDraw","iffs",e,t,n,r),Ea=(e,t)=>{d("PlayerTextDrawDestroy","ii",e,t)},Ta=(e,t,n,r)=>d("PlayerTextDrawLetterSize","iiff",e,t,n,r),Da=(e,t,n)=>d("PlayerTextDrawAlignment","iii",e,t,n),La=(e,t,n)=>Boolean(d("PlayerTextDrawColour","iii",e,t,p(n))),Ra=(e,t,n)=>d("PlayerTextDrawUseBox","iii",e,t,n),ba=(e,t,n)=>Boolean(d("PlayerTextDrawBoxColour","iii",e,t,p(n))),Oa=(e,t,n)=>d("PlayerTextDrawSetShadow","iii",e,t,n),Ba=(e,t,n)=>d("PlayerTextDrawSetOutline","iii",e,t,n),wa=(e,t,n)=>Boolean(d("PlayerTextDrawBackgroundColour","iii",e,t,p(n))),ka=(e,t,n)=>d("PlayerTextDrawFont","iii",e,t,n),Ga=(e,t,n)=>d("PlayerTextDrawSetProportional","iii",e,t,n),Ma=(e,t,n)=>d("PlayerTextDrawSetSelectable","iii",e,t,n),Fa=(e,t)=>d("PlayerTextDrawShow","ii",e,t),Na=(e,t)=>d("PlayerTextDrawHide","ii",e,t),va=(e,t,n)=>d("PlayerTextDrawSetString","iis",e,t,n),Ha=(e,t,n)=>d("PlayerTextDrawSetPreviewModel","iii",e,t,n),xa=(e,t,n,r,i,a)=>d("PlayerTextDrawSetPreviewRot","iiffff",e,t,n,r,i,a),Va=(e,t,n,r)=>Boolean(d("PlayerTextDrawSetPreviewVehicleColours","iiii",e,t,n,r)),Ua=(e,t,n,r,i)=>d("SetPlayerChatBubble","isifi",e,t,p(n),r,i),Wa=(e,t,n)=>d("PutPlayerInVehicle","iii",e,t,n),Ka=e=>d("GetPlayerVehicleID","i",e),ja=e=>d("GetPlayerVehicleSeat","i",e),Za=e=>d("RemovePlayerFromVehicle","i",e),za=(e,t)=>d("TogglePlayerControllable","ii",e,t),Xa=(e,t,n,r,i)=>d("PlayerPlaySound","iifff",e,t,n,r,i),Ya=(e,t,n,r,i,a,s,l,h,u)=>d("ApplyAnimation","issfiiiiii",e,t,n,r,i,a,s,l,h,u),Ja=(e,t)=>d("ClearAnimations","ii",e,t),Qa=e=>d("GetPlayerAnimationIndex","i",e),qa=e=>d("GetPlayerSpecialAction","i",e),$a=(e,t)=>d("SetPlayerSpecialAction","ii",e,t),es=(e,t)=>d("DisableRemoteVehicleCollisions","ii",e,t),ts=(e,t,n,r,i)=>d("SetPlayerWorldBounds","iffff",e,t,n,r,i),ns=(e,t,n)=>d("SetPlayerMarkerForPlayer","iii",e,t,p(n)),rs=(e,t,n)=>d("ShowPlayerNameTagForPlayer","iii",e,t,n),is=(e,t,n,r)=>d("SetPlayerCameraPos","ifff",e,t,n,r),as=(e,t,n,r,i)=>d("SetPlayerCameraLookAt","ifffi",e,t,n,r,i),ss=e=>d("SetCameraBehindPlayer","i",e),ds=e=>d("GetPlayerCameraPos","iFFF",e),os=e=>d("GetPlayerCameraFrontVector","iFFF",e),ls=e=>d("GetPlayerCameraMode","i",e),_s=(e,t)=>d("EnablePlayerCameraTarget","ii",e,t),cs=e=>d("GetPlayerCameraTargetVehicle","i",e),hs=e=>d("GetPlayerCameraTargetPlayer","i",e),us=e=>H("GetPlayerCameraAspectRatio","i",e),ms=e=>H("GetPlayerCameraZoom","i",e),ys=(e,t,n,r,i,a,s,l,h)=>d("InterpolateCameraPos","iffffffii",e,t,n,r,i,a,s,l,h),Ss=(e,t,n,r,i,a,s,l,h)=>d("InterpolateCameraLookAt","iffffffii",e,t,n,r,i,a,s,l,h),ct=e=>Boolean(d("IsPlayerConnected","i",e)),gs=(e,t)=>Boolean(d("IsPlayerInVehicle","ii",e,t)),Ps=e=>Boolean(d("IsPlayerInAnyVehicle","i",e)),ps=(e,t)=>d("SetPlayerVirtualWorld","ii",e,t),As=e=>d("GetPlayerVirtualWorld","i",e),Is=(e,t)=>d("EnableStuntBonusForPlayer","ii",e,t),fs=e=>d("EnableStuntBonusForAll","i",e),Cs=(e,t)=>d("TogglePlayerSpectating","ii",e,t),Es=(e,t,n)=>d("PlayerSpectatePlayer","iii",e,t,n),Ts=(e,t,n)=>d("PlayerSpectateVehicle","iii",e,t,n),Ds=(e,t,n)=>d("StartRecordingPlayerData","iis",e,t,n),Ls=e=>d("StopRecordingPlayerData","i",e),Rs=(e,t)=>{d("SelectTextDraw","ii",e,p(t))},bs=e=>{d("CancelSelectTextDraw","i",e)},Os=(e,t,n,r,i,a)=>d("CreateExplosionForPlayer","ifffif",e,t,n,r,i,a),Bs=(e,t,n,r,i)=>d("SendClientCheck","iiiii",e,t,n,r,i),ws=(e,t,n,r,i,a,s,l,h)=>d("CreateVehicle","iffffiiii",e,t,n,r,i,p(a),p(s),l,h),ks=e=>d("DestroyVehicle","i",e),Gs=(e,t)=>Boolean(d("IsVehicleStreamedIn","ii",e,t)),Ms=e=>{const t=d("GetVehiclePos","iFFF",e);if(t.length<3)throw new Error("VehicleID "+e+" not found");return{x:t[0],y:t[1],z:t[2]}},Fs=(e,t,n,r)=>d("SetVehiclePos","ifff",e,t,n,r),Ns=e=>d("GetVehicleZAngle","iF",e),vs=e=>d("GetVehicleRotationQuat","iFFFF",e),Hs=(e,t,n,r)=>H("GetVehicleDistanceFromPoint","ifff",e,t,n,r),xs=(e,t)=>d("SetVehicleZAngle","if",e,t),Vs=(e,t,n,r)=>d("SetVehicleParamsForPlayer","iiii",e,t,n,r),Us=()=>d("ManualVehicleEngineAndLights",""),Ws=(e,t,n,r,i,a,s,l)=>d("SetVehicleParamsEx","iiiiiiii",e,t,n,r,i,a,s,l),Ks=e=>d("GetVehicleParamsEx","iIIIIIII",e),js=e=>d("GetVehicleParamsSirenState","i",e),Zs=(e,t,n,r,i)=>d("SetVehicleParamsCarDoors","iiiii",e,t,n,r,i),zs=e=>{const t=d("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backleft:t[2],backright:t[3]}},Xs=(e,t,n,r,i)=>d("SetVehicleParamsCarWindows","iiiii",e,t,n,r,i),Ys=e=>{const t=d("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backleft:t[2],backright:t[3]}},Js=e=>d("SetVehicleToRespawn","i",e),Qs=(e,t)=>d("LinkVehicleToInterior","ii",e,t),qs=(e,t)=>d("AddVehicleComponent","ii",e,t),$s=(e,t)=>d("RemoveVehicleComponent","ii",e,t),ed=(e,t,n)=>d("ChangeVehicleColours","iii",e,p(t),p(n)),td=(e,t)=>d("ChangeVehiclePaintjob","ii",e,t),nd=(e,t)=>d("SetVehicleHealth","if",e,t),rd=e=>d("GetVehicleHealth","iF",e),id=(e,t)=>d("AttachTrailerToVehicle","ii",e,t),ad=e=>d("DetachTrailerFromVehicle","i",e),sd=e=>Boolean(d("IsTrailerAttachedToVehicle","i",e)),dd=e=>d("GetVehicleTrailer","i",e),od=(e,t)=>d("SetVehicleNumberPlate","is",e,t),ld=e=>d("GetVehicleModel","i",e),_d=(e,t)=>d("GetVehicleComponentInSlot","ii",e,t),cd=e=>d("GetVehicleComponentType","i",e),hd=e=>d("RepairVehicle","i",e),ud=e=>d("GetVehicleVelocity","iFFF",e),md=(e,t,n,r)=>d("SetVehicleVelocity","ifff",e,t,n,r),yd=(e,t,n,r)=>d("SetVehicleAngularVelocity","ifff",e,t,n,r),Sd=e=>{const t=d("GetVehicleDamageStatus","iIIII",e);if(t.length<4)throw new Error("VehicleID "+e+" not found");return{panels:t[0],doors:t[1],lights:t[2],tires:t[3]}},gd=(e,t,n,r,i)=>d("UpdateVehicleDamageStatus","iiiii",e,t,n,r,i),Pd=(e,t)=>{const n=d("GetVehicleModelInfo","iiFFF",e,t);if(n.length<3)throw new Error("ModelID "+e+" not found");return{x:n[0],y:n[1],z:n[2]}},pd=(e,t)=>d("SetVehicleVirtualWorld","ii",e,t),Ad=e=>d("GetVehicleVirtualWorld","i",e),ht=e=>Boolean(d("IsValidVehicle","i",e)),Id=(e,t)=>d("StartRecordingPlayback","is",e,t),fd=()=>d("StopRecordingPlayback",""),Cd=()=>d("PauseRecordingPlayback",""),Ed=()=>d("ResumeRecordingPlayback",""),Td=e=>d("GetPlayerCustomSkin","i",e),Dd=(e,t)=>d("RedirectDownload","is",e,t),Ld=(e,t,n,r,i)=>d("AddSimpleModel","iiiss",e,t,n,r,i),Rd=(e,t,n,r,i,a,s)=>d("AddSimpleModelTimed","iiissii",e,t,n,r,i,a,s),bd=e=>d("GetWeaponName","iSi",e,32),Od=e=>d("NetStats_GetIpPort","iSi",e,128+6),Bd=e=>d("GetPlayerIp","iSi",e,128),wd=e=>d("GetAnimationName","iSiSi",e,32,32),kd=e=>d("GetPlayerVersion","iSi",e,24),Gd=e=>d("FindModelFileNameFromCRC","iSi",e,255),Md=e=>d("FindTextureFileNameFromCRC","iSi",e,255);class G{constructor(){}static recordStatus;static connectNPC=ir;static startRecordingPlayerData(t,n,r){if(t.isRecording)return _.warn("[NpcFunc]: It should be stopped before recording");Ds(t.id,n,r),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return _.warn("[NpcFunc]: It should be started before stop");Ls(t.id),t.isRecording=!1}static startRecordingPlayback(t,n){if(G.recordStatus>=w.start)return _.warn("[NpcFunc]: The current status cannot be replayed");Id(t,n),G.recordStatus=w.start}static stopRecordingPlayback(){if(G.recordStatus<w.start)return _.warn("[NpcFunc]: The current status cannot be stopped");fd(),G.recordStatus=w.none}static pauseRecordingPlayback(){if(G.recordStatus!==w.start)return _.warn("[NpcFunc]: The current status cannot be paused");Cd(),G.recordStatus=w.pause}static resumeRecordingPlayback(){if(G.recordStatus!==w.pause)return _.warn("[NpcFunc]: The current status cannot be paused");Ed(),G.recordStatus=w.start}}const Fd=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}]]]),Nd=e=>{const t=Fd.get(e);return t===void 0?!1:t},ut=(e,t)=>{const n=Nd(e);if(n)return n.find(r=>r.n===t)?.d},_e=new Map,ce=(e,t=!1)=>{const n=_e.get(e);return n?(t&&n.reject("[Player]: An attempt to check the player client response timed out"),clearTimeout(n.timeout),_e.delete(e),!0):!1};Sn((e,t,n,r)=>{const i=_e.get(e);return i?(clearTimeout(i.timeout),setTimeout(()=>i.resolve({actionid:t,memaddr:n,retndata:r})),1):0});class L{map=new Map;on(t,n){let r=this.map.get(t);r||(r=new Set,this.map.set(t,r)),r.add(n)}emit(t,n){const r=this.map.get(t);!r||[...r].forEach(i=>i(n))}off(t,n){if(!t){this.map.clear();return}if(!n){this.map.delete(t);return}const r=this.map.get(t);!r||r.delete(n)}}var M=(e=>(e.pause="OnPlayerPause",e.create="OnPlayerEventCreate",e.setCommonProp="OnPlayerSetCommonProp",e))(M||{});const F=new L;class k{_id;_isNpc;_locale=St;_charset=R;_isRecording=!1;lastDrunkLevel=0;lastFps=0;isPaused=!1;lastUpdateTick=0;get id(){return this._id}get locale(){return this._locale}set locale(t){F.emit(M.setCommonProp,{player:this,prop:"_locale",value:t})}get charset(){return this._charset}set charset(t){F.emit(M.setCommonProp,{player:this,prop:"_charset",value:t})}get isRecording(){return this._isRecording}set isRecording(t){F.emit(M.setCommonProp,{player:this,prop:"_isRecording",value:t})}constructor(t){this._id=t,this._isNpc=ar(this.id)}sendClientMessage(t,n){return it(this,t,n)}static sendClientMessageToAll(t,n,r){gt(t,n,r)}sendPlayerMessage(t,n){return at(t,this.id,n)}sendPlayerMessageToAll(t,n){return Pt(t,this.id,n)}isNpc(){return this._isNpc}getFps(){return this.lastFps}getDrunkLevel(){return Ni(this.id)}setDrunkLevel(t){if(t<0||t>5e4)return _.error(new Error("[Player]: player's drunk level ranges from 0 to 50000"));vi(this.id,t)}allowTeleport(t){c.AllowPlayerTeleport(this.id,t)}isTeleportAllowed(){return c.IsPlayerTeleportAllowed(this.id)}enableCameraTarget(t){_s(this.id,t)}enableStuntBonus(t){Is(this.id,t)}getInterior(){return Ei(this.id)}setInterior(t){return Ci(this.id,t)}showPlayerNameTag(t,n){rs(this.id,t.id,n)}setColor(t){Hi(this.id,t)}getColor(){return xi(this.id)}setPlayerMarker(t,n){ns(this.id,t.id,n)}resetMoney(){return Xi(this.id)}getMoney(){return Yi(this.id)}giveMoney(t){return zi(this.id,t)}resetWeapons(){return Ki(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):yi(this.id)}setHealth(t){return Ti(this.id,t)}getHealth(){return Di(this.id)}toggleClock(t){return na(this.id,t)}toggleControllable(t){return za(this.id,t)}toggleSpectating(t){return Cs(this.id,t)}spectatePlayer(t,n=le.NORMAL){return Es(this.id,t.id,n)}spectateVehicle(t,n=le.NORMAL){return Ts(this.id,t.id,n)}forceClassSelection(){ia(this.id)}kick(){dr(this.id)}ban(){or(this.id)}banEx(t,n){Rt(this.id,t,n)}isAdmin(){return sr(this.id)}isInRangeOfPoint(t,n,r,i){return Ai(this.id,t,n,r,i)}isStreamedIn(t){return fi(this.id,t.id)}setSkin(t,n=!1){return!n&&(t<0||t>311||t==74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===Re.DUCK?0:Vi(this.id,t)}getSkin(){return Ui(this.id)}isInAnyVehicle(){return Ps(this.id)}getSpecialAction(){return qa(this.id)}setSpecialAction(t){return $a(this.id,t)}setScore(t){return Mi(this.id,t)}getScore(){return Fi(this.id)}getPing(){return Qi(this.id)||0}setPos(t,n,r){return _t(this.id,t,n,r)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===v.NONE)return;const[t,n,r]=gi(this.id);return{x:t,y:n,z:r}}isSpectating(){return this.getState()===v.SPECTATING}isWasted(){return this.getState()===v.WASTED}getState(){return Ji(this.id)}getVersion(){return this.isNpc()?"":kd(this.id)}setVirtualWorld(t){return ps(this.id,t)}getVirtualWorld(){return As(this.id)}removeFromVehicle(){return Za(this.id)}setWantedLevel(t){return t<0||t>6?(_.error("[Player]: player's wanted level ranges from 0 to 6"),0):aa(this.id,t)}getWantedLevel(){return sa(this.id)}setFacingAngle(t){return Pi(this.id,t)}getFacingAngle(){return pi(this.id)}setWeather(t){if(t<0||t>255){_.warn("[Player]: The valid weather value is only 0 to 255");return}ra(this.id,t)}getWeather(){return c.GetPlayerWeather(this.id)}setTime(t,n){if(t<0||t>23){_.warn("[Player]: The valid hour value is only 0 to 23");return}if(n<0||n>59){_.warn("[Player]: The valid minute value is only 0 to 59");return}return ea(this.id,t,n)}getTime(){const[t,n]=ta(this.id);return{hour:t,minute:n}}removeBuilding(t,n,r,i,a){Pa(this.id,t,n,r,i,a)}setTeam(t){t<0||t>C.NO_TEAM||ki(this.id,t)}getTeam(){return Gi(this.id)}setSkillLevel(t,n){if(n<0||n>999){_.warn("[Player]: The valid skill level is only 0 to 999");return}ya(this.id,t,n)}getName(){return Dt(this)}setName(t){return Lt(this,t)}setVelocity(t,n,r){return la(this.id,t,n,r)}getVelocity(){const[t,n,r]=_a(this.id);return{x:t,y:n,z:r}}getKeys(){const[t,n,r]=$i(this.id);return{keys:t,updown:n,leftright:r}}getIp(){return Bd(this.id)}getFightingStyle(){return oa(this.id)}setFightingStyle(t){da(this.id,t)}setArmour(t){return Li(this.id,t)}getArmour(){return Ri(this.id)}setCameraBehind(){return ss(this.id)}setCameraPos(t,n,r){return is(this.id,t,n,r)}setCameraLookAt(t,n,r,i){return as(this.id,t,n,r,i)}getCameraAspectRatio(){return us(this.id)}getCameraFrontVector(){const[t,n,r]=os(this.id);return{x:t,y:n,z:r}}getCameraMode(){return ls(this.id)}getCameraPos(){const[t,n,r]=ds(this.id);return{x:t,y:n,z:r}}getCameraTargetPlayer(t){const n=hs(this.id);return t.find(r=>r.id===n)}getCameraTargetVehicle(t){const n=cs(this.id);return t.find(r=>r.id===n)}getCameraZoom(){return ms(this.id)}playAudioStream(t,n=0,r=0,i=0,a=5){let s=!1;return(n!==0||r!==0||i!==0)&&(s=!0),ha(this.id,t,n,r,i,a,s)}stopAudioStream(){ua(this.id)}playSound(t,n=0,r=0,i=0){return Xa(this.id,t,n,r,i)}static getPoolSize(){return Gn()}static getMaxPlayers(){return wn()}playCrimeReport(t,n){return n<3||n>22?(_.warn("[Player]: Available crime ids range from 3 to 22"),0):ca(this.id,t.id,n)}interpolateCameraPos(t,n,r,i,a,s,l,h=oe.CUT){ys(this.id,t,n,r,i,a,s,l,h)}interpolateCameraLookAt(t,n,r,i,a,s,l,h=oe.CUT){Ss(this.id,t,n,r,i,a,s,l,h)}createExplosion(t,n,r,i,a){return i<0||i>13?(_.error("[Player]: The valid explosion type value is only 0 to 13"),0):Os(this.id,t,n,r,i,a)}static isConnected(t){return ct(t)}isConnected(){return ct(this.id)}disableRemoteVehicleCollisions(t){return es(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const n=Ka(this.id);return t.find(r=>r.id===n)}getVehicleSeat(){return ja(this.id)}getSurfingVehicle(t){const n=Sa(this.id);if(n!==C.VEHICLE_ID)return t.find(r=>r.id===n)}applyAnimation(t,n,r=!1,i=!0,a=!0,s=!1,l=!1){const h=ut(t,n);if(h===void 0)return _.error("[Player]: Invalid anim library or name");Ya(this.id,t,n,4.1,r,i,a,s,r?0:h,l)}clearAnimations(t=!1){Ja(this.id,t)}getAnimationIndex(){return Qa(this.id)}getAnimationName(){const[t,n]=wd(this.getAnimationIndex());return{animLib:t,animName:n}}setShopName(t){ma(this.id,t)}setPosFindZ(t,n,r=150){return new Promise(i=>{_t(this.id,t,n,r),setTimeout(()=>i(Si(this.id,t,n,r)))})}setWorldBounds(t,n,r,i){ts(this.id,t,n,r,i)}setChatBubble(t,n,r,i){Ua(this.id,t,n,r,i)}getDistanceFromPoint(t,n,r){return Ii(this.id,t,n,r)}getCustomSkin(){return Td(this.id)}getTargetPlayer(t){const n=wi(this.id);if(n!==C.PLAYER_ID)return t.find(r=>r.id===n)}getLastShotVectors(){const[t,n,r,i,a,s]=pa(this.id);return{fOriginX:t,fOriginY:n,fOriginZ:r,fHitPosX:i,fHitPosY:a,fHitPosZ:s}}getWeapon(){return qi(this.id)}getWeaponData(t){if(t<0||t>12){_.error("[Player]: weapon slots range from 0 to 12");return}const[n,r]=Zi(this.id,t);return{weapons:n,ammo:r}}getWeaponState(){return Bi(this.id)}giveWeapon(t,n){return Wi(this.id,t,n)}setAmmo(t,n){return bi(this.id,t,n)}getAmmo(){return Oi(this.id)}setArmedWeapon(t){return ji(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(C.PLAYER_ID,C.PLAYER_ID,be.CONNECT)}sendDeathMessage(t,n){Tn(t===C.PLAYER_ID?t:t.id,this.id,n)}sendDeathMessageToPlayer(t,n,r){Dn(this.id,t===C.PLAYER_ID?t:t.id,n===C.PLAYER_ID?n:n.id,r)}setSpawnInfo(t,n,r,i,a,s,l,h,u,y,S,P){t<0||t>C.NO_TEAM||n<0||n>311||n==74||h<0||y<0||P<0||mi(this.id,t,n,r,i,a,s,l,h,u,y,S,P)}redirectDownload(t){return Dd(this.id,t)}sendClientCheck(t,n,r,i){const a=[2,5,69,70,71,72];return a.includes(t)?new Promise((s,l)=>{if(ce(this.id,!0),this.isPaused)return l("[Player]: An attempt to check the player client response, but the player paused the game");const h=new Promise((u,y)=>{const S=this.getPing(),P=(S>=200?0:S)+200;_e.set(this.id,{resolve:u,reject:y,timeout:setTimeout(()=>ce(this.id,!0),P)}),Bs(this.id,t,n,r,i)});h.then(s,l),h.finally(()=>ce(this.id))}):_.error(`[Player]: sendClientCheck valid types are ${a.toString()}`)}selectTextDraw(t){Rs(this.id,t)}cancelSelectTextDraw(){bs(this.id)}beginObjectSelecting(){ci(this.id)}endObjectEditing(){hi(this.id)}getSurfingObject(t){const n=ga(this.id);if(n!==C.OBJECT_ID)return t.get(n)}isAttachedObjectSlotUsed(t){return fa(this.id,t)}setAttachedObject(t,n,r,i,a,s,l,h,u,y,S,P,f,E){return this.isAttachedObjectSlotUsed(t)?0:Aa(this.id,t,n,r,i,a,s,l,h,u,y,S,P,f,E)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?Ia(this.id,t):0}toggleWidescreen(t){return c.TogglePlayerWidescreen(this.id,t)}isPlayerWidescreenToggled(){return c.IsPlayerWidescreenToggled(this.id)}getSpawnInfo(){return c.GetSpawnInfo(this.id)}getSkillLevel(t){return c.GetPlayerSkillLevel(this.id,t)}isCheckpointActive(){return c.IsPlayerCheckpointActive(this.id)}getCheckpoint(){return c.GetPlayerCheckpoint(this.id)}isRaceCheckpointActive(){return c.IsPlayerRaceCheckpointActive(this.id)}getRaceCheckpoint(){return c.GetPlayerRaceCheckpoint(this.id)}getWorldBounds(){c.GetPlayerWorldBounds(this.id)}isInModShop(){return c.IsPlayerInModShop(this.id)}getSirenState(){return c.GetPlayerSirenState(this.id)}getLandingGearState(){return c.GetPlayerLandingGearState(this.id)}getHydraReactorAngle(){return c.GetPlayerHydraReactorAngle(this.id)}getTrainSpeed(){return c.GetPlayerTrainSpeed(this.id)}getZAim(){return c.GetPlayerZAim(this.id)}getSurfingOffsets(){return c.GetPlayerSurfingOffsets(this.id)}getRotationQuat(){return c.GetPlayerRotationQuat(this.id)}getDialogID(){return c.GetPlayerDialogID(this.id)}getSpectateID(){return c.GetPlayerSpectateID(this.id)}getSpectateType(){return c.GetPlayerSpectateType(this.id)}getRawIp(){return c.GetPlayerRawIp(this.id)}setGravity(t){return c.SetPlayerGravity(this.id,t)}getGravity(){return c.GetPlayerGravity(this.id)}setAdmin(t){return c.SetPlayerAdmin(this.id,t)}isSpawned(){return c.IsPlayerSpawned(this.id)}isControllable(){return c.IsPlayerControllable(this.id)}isCameraTargetEnabled(){return c.IsPlayerCameraTargetEnabled(this.id)}toggleGhostMode(t){return c.TogglePlayerGhostMode(this.id,t)}getGhostMode(){return c.GetPlayerGhostMode(this.id)}getBuildingsRemoved(){return c.GetPlayerBuildingsRemoved(this.id)}getAttachedObject(t){return c.GetPlayerAttachedObject(this.id,t)}removeWeapon(t){return c.RemovePlayerWeapon(this.id,t)}isUsingOfficialClient(){return c.IsPlayerUsingOfficialClient(this.id)}allowWeapons(t){return c.AllowPlayerWeapons(this.id,t)}areWeaponsAllowed(){return c.ArePlayerWeaponsAllowed(this.id)}gpci(t){return _i(this.id,t)}}let he=null,ue=null;F.on(M.create,e=>{ue===null&&(ue=e)}),ot(()=>(!he&&ue&&k.getPoolSize()>-1&&(he=setInterval(()=>{for(const e of ue){const t=e[1];!t.isNpc()&&!t.isPaused&&t.getState()!==v.NONE&&Date.now()-t.lastUpdateTick>1e3&&F.emit(M.pause,t)}},500)),1)),lt(()=>(he&&k.getPoolSize()<=0&&clearInterval(he),1));class vd{eventMap=new Map;on=(t,n,r)=>(n instanceof Array||(n=[n]),n.forEach(i=>{const a=this.eventMap.get(i);if(!a)this.eventMap.set(i,new Map().set(t,r instanceof Array?r:[r]));else{const s=a.get(t);s?(r instanceof Array?r:[r]).forEach(l=>s.push(l)):a.set(t,r instanceof Array?r:[r])}}),()=>this.off(t,n,r));off=(t,n,r)=>{n instanceof Array||(n=[n]),n.forEach(i=>{const a=this.eventMap.get(i);if(!a)return;const s=a.get(t);if(s){r instanceof Array||(r=[r]);for(let l=0;l<s.length;l++){const h=s[l];!r.includes(h)||(s.splice(l,1),l--)}}})}}const Be={format:{code:0,msg:"failed to recognize command (almost never)"},notExist:{code:1,msg:"command does not exist"},rejected:{code:2,msg:"rejected because true/1 was not returned"}};class Z{players=new Map;static cmdBus=new vd;constructor(t){ot(n=>{const r=t(n);return this.players.set(n,r),m(this,"onConnect")(r)}),lt((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;D.close(i),ce(n,!0);const a=m(this,"onDisconnect")(i,r);return this.players.delete(n),a}),At((n,r)=>{const i=this.findPlayerById(n);return i?m(this,"onText",0)(i,I.decodeFromBuf(r,i.charset)):1}),It((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;const a=I.decodeFromBuf(r,i.charset),s=a.match(/[^/\s]+/gi);return s===null||s.length===0?(this.onCommandError&&this.onCommandError(i,a,Be.format),0):(this.promiseCommand(i,s),1)}),jt((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onEnterExitModShop")(a,r,i):0}),dn((n,r,i,a)=>{const s=this.findPlayerById(n);return s?m(this,"onClickMap")(s,r,i,a):0}),yn((n,r,i)=>{const a=this.findPlayerById(n);if(!a)return 0;const s=this.findPlayerById(r);return s?m(this,"onClickPlayer")(a,s,i):0}),Ft((n,r,i)=>{const a=m(this,"onDeath"),s=this.findPlayerById(n);if(!s)return 0;if(r===C.PLAYER_ID)return a(s,r,i);const l=this.findPlayerById(r);return l?a(s,l,i):0}),sn((n,r,i,a,s)=>{const l=this.findPlayerById(n);if(!l)return 0;const h=this.findPlayerById(r);return h?m(this,"onGiveDamage")(l,h,i,a,s):0}),qt((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onKeyStateChange")(a,r,i):0}),Ht((n,r)=>{const i=this.findPlayerById(n);return i?m(this,"onRequestClass")(i,r):0}),Wt(n=>{const r=this.findPlayerById(n);return r?m(this,"onRequestSpawn")(r):0}),Mt(n=>{const r=this.findPlayerById(n);return r?m(this,"onSpawn")(r):0}),Ut((n,r,i)=>{const a=this.findPlayerById(n);return a?(i===v.NONE&&(a.lastUpdateTick=Date.now()),m(this,"onStateChange")(a,r,i)):0}),en((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;const a=this.findPlayerById(r);return a?m(this,"onStreamIn")(i,a):0}),tn((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;const a=this.findPlayerById(r);return a?m(this,"onStreamOut")(i,a):0}),an((n,r,i,a,s)=>{const l=this.findPlayerById(n);if(!l)return 0;if(r===C.PLAYER_ID)return m(this,"onTakeDamage")(l,r,i,a,s);const h=this.findPlayerById(r);return h?m(this,"onTakeDamage")(l,h,i,a,s):0}),$t(n=>{const r=this.findPlayerById(n);if(!r)return 0;if(!r.isNpc()){const a=Date.now();r.isPaused&&(r.isPaused=!1,this.onResume&&this.onResume(r,a-r.lastUpdateTick)),r.lastUpdateTick=a,Z.fpsHeartbeat(r)}const i=m(this,"throttleUpdate")(r);return i===void 0?0:i}),Qt((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onInteriorChange")(a,r,i):0}),mn((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onRequestDownload")(a,r,i):0}),un((n,r)=>{const i=this.findPlayerById(n);return i?m(this,"onFinishedDownloading")(i,r):0}),F.emit(M.create,this.players),F.on(M.pause,n=>{n.isPaused=!0,this.onPause&&this.onPause(n,n.lastUpdateTick)}),F.on(M.setCommonProp,({player:n,prop:r,value:i})=>{Reflect.set(n,r,i),this.players.set(n.id,n)})}findPlayerById(t){return this.players.get(t)}getPlayersArr(){return[...this.players.values()]}getPlayersMap(){return this.players}throttleUpdate=O.throttle(t=>this.onUpdate&&this.onUpdate(t),60);static fpsHeartbeat=O.throttle(t=>{if(!k.isConnected(t.id))return;const n=t.getDrunkLevel();if(n<100){t.setDrunkLevel(2e3),t.lastDrunkLevel=2e3,t.lastFps=0;return}t.lastFps=t.lastDrunkLevel-n-1,t.lastDrunkLevel=n},1e3);onCommandText=(t,n)=>Z.cmdBus.on(this,t,n);offCommandText=(t,n)=>{Z.cmdBus.off(this,t,n)};promiseCommand=async(t,n)=>{const r=n.join(" "),i=n[0],a=Z.cmdBus.eventMap.get(i);if(!a&&this.onCommandError){this.onCommandError(t,r,Be.notExist);return}const s=a?.get(this);if(!s)return;let l=this.onCommandReceived&&this.onCommandReceived(t,r);if(l!==void 0&&(l instanceof Promise&&(l=await l),!l))return st();s.forEach(async h=>{let u=h.call(this,t,...n.slice(1));if(u instanceof Promise&&(u=await u),u==null&&(u=!1),u){let y=this.onCommandPerformed&&this.onCommandPerformed(t,r);return y instanceof Promise&&(y=await y),y?void 0:st()}m(this,"onCommandError")(t,r,Be.rejected)})}}const Hd=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],xd=[[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],[],[],[],[],[],[],[],[]],Vd=(e,t)=>{if(!Ud(e))return _.error("[vehicleUtils]: Invalid model id"),!1;const n=xd[e-400];if(n===null)return!1;const r=t-1e3;return Hd.includes(r)||n.includes(r)},Ud=e=>e>=400&&e<=611,Wd=(e,t)=>{if(t<0||t>2)return!1;const n=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 n===void 0?!1:t<=n};var X=(e=>(e.created="OnVehicleCreate",e.destroyed="OnVehicleDestroy",e))(X||{});const me=new L;class V{_id=-1;static createdCount=0;sourceInfo;isStatic;get id(){return this._id}constructor(t,n=!1){this.sourceInfo=t,this.isStatic=n}create(t=!1){if(this.id!==-1)return _.warn("[Vehicle]: Unable to create the vehicle again");if(V.createdCount===B.MAX_VEHICLES)return _.warn("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelid:n,x:r,y:i,z:a,z_angle:s,colour1:l,colour2:h,respawn_delay:u,addsiren:y}=this.sourceInfo;if(!(!t&&(n<400||n>611))){if(this.isStatic){if(u===void 0){this._id=xn(n,r,i,a,s,l,h);return}this._id=Vn(n,r,i,a,s,l,h,u||-1,y||!1)}else this._id=ws(n,r,i,a,s,l,h,u||-1,y||!1);V.createdCount++,me.emit(X.created,this)}}destroy(){if(this.id===-1)return _.warn("[Vehicle]: Unable to destroy the vehicle before create");ks(this.id),V.createdCount--,me.emit(X.destroyed,this),this._id=-1}addComponent(t){return this.id===-1?0:Vd(this.getModel(),t)?qs(this.id,t):(_.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(V.getComponentType(t))===0?(_.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):$s(this.id,t)}getComponentInSlot(t){return _d(this.id,t)}static getComponentType(t){return cd(t)}linkToInterior(t){return this.id===-1?0:Qs(this.id,t)}setVirtualWorld(t){return this.id===-1?0:pd(this.id,t)}getVirtualWorld(){return this.id===-1?0:Ad(this.id)}repair(){return this.id===-1?0:hd(this.id)}setPos(t,n,r){return this.id===-1?0:Fs(this.id,t,n,r)}getPos(){if(this.id!==-1)return Ms(this.id)}getHealth(){return this.id===-1?0:rd(this.id)}setHealth(t){return this.id===-1?0:nd(this.id,t)}isPlayerIn(t){return this.id===-1?!1:gs(t.id,this.id)}putPlayerIn(t,n){return this.id===-1||n<0?0:(n>4&&_.warn("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle."),Wa(t.id,this.id,n))}getZAngle(){return this.id===-1?0:Ns(this.id)}setZAngle(t){return this.id===-1?0:xs(this.id,t)}setNumberPlate(t){return this.id===-1?0:t.length<1||t.length>32?(_.error("[Vehicle]: The length of the number plate ranges from 32 characters"),0):/^[a-zA-Z0-9]+$/.test(t)?od(this.id,t):(_.error("[Vehicle]: number plates only allow letters and numbers"),0)}static getPoolSize(){return Mn()}changeColours(t,n){return this.id===-1?0:ed(this.id,t,n)}setVelocity(t,n,r){return this.id===-1?0:md(this.id,t,n,r)}getVelocity(){if(this.id===-1)return;const[t,n,r]=ud(this.id);return{x:t,y:n,z:r}}setAngularVelocity(t,n,r){return this.id===-1?0:yd(this.id,t,n,r)}getDamageStatus(){if(this.id!==-1)return Sd(this.id)}updateDamageStatus(t,n,r,i){this.id!==-1&&gd(this.id,t,n,r,i)}getDistanceFromPoint(t,n,r){return Hs(this.id,t,n,r)}getModel(){return ld(this.id)}static getModelInfo(t,n){return Pd(t,n)}getModelInfo(t){if(this.id!==-1)return V.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,n,r,i]=vs(this.id);return{w:t,x:n,y:r,z:i}}setRespawn(){return this.id===-1?0:Js(this.id)}isStreamedIn(t){return this.id===-1?!1:Gs(this.id,t.id)}setParamsCarDoors(t,n,r,i){return this.id===-1?0:Zs(this.id,t,n,r,i)}setParamsCarWindows(t,n,r,i){return this.id===-1?0:Xs(this.id,t,n,r,i)}getParamsCarDoors(){if(this.id!==-1)return zs(this.id)}getParamsCarWindows(){if(this.id!==-1)return Ys(this.id)}setParamsEx(t,n,r,i,a,s,l){return this.id===-1?0:Ws(this.id,t,n,r,i,a,s,l)}getParamsEx(){if(this.id===-1)return;const[t,n,r,i,a,s,l]=Ks(this.id);return{engine:t,lights:n,alarm:r,doors:i,bonnet:a,boot:s,objective:l}}getParamsSirenState(){return this.id===-1?-2:js(this.id)}setParamsForPlayer(t,n,r){return this.id===-1?0:Vs(this.id,t.id,n,r)}isTrailerAttached(){return this.id===-1?!1:sd(this.id)}changePaintjob(t){return this.id===-1||!Wd(this.getModel(),t)?0:(this.changeColours("#fff","#fff"),td(this.id,t),1)}attachTrailer(t){return this.id===-1?0:id(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&ad(this.id)}getTrailer(t){if(this.id!==-1)return t.find(n=>n.id===dd(this.id))}isValid(){return ht(this.id)}static isValid(t){return ht(t)}getMatrix(){if(this.id!==-1)return c.GetVehicleMatrix(this.id)}getTrainSpeed(){return this.id===-1?0:c.GetVehicleTrainSpeed(this.id)}getHydraReactorAngle(){return this.id===-1?0:c.GetVehicleHydraReactorAngle(this.id)}getLandingGearState(){return this.id===-1?0:c.GetVehicleLandingGearState(this.id)}getSirenState(){return this.id===-1?0:c.GetVehicleSirenState(this.id)}static getModelsUsed=c.GetVehicleModelsUsed;getDriver(t){if(this.id!==-1)return t.get(c.GetVehicleDriver(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(c.GetVehicleLastDriver(this.id))}static getModelCount=c.GetVehicleModelCount;isSirenEnabled(){return c.IsVehicleSirenEnabled(this.id)}toggleSirenEnabled(t){return this.id===-1?0:c.ToggleVehicleSirenEnabled(this.id,t)}isDead(){return this.id===-1?!0:c.IsVehicleDead(this.id)}getRespawnTick(){return this.id===-1?0:c.GetVehicleRespawnTick(this.id)}isOccupied(){return this.id===-1?!1:c.IsVehicleOccupied(this.id)}hasBeenOccupied(){return this.id===-1?!1:c.HasVehicleBeenOccupied(this.id)}getOccupiedTick(){return this.id===-1?0:c.GetVehicleOccupiedTick(this.id)}getCab(){return this.id===-1?0:c.GetVehicleCab(this.id)}getRespawnDelay(){return this.id===-1?0:c.GetVehicleRespawnDelay(this.id)}setRespawnDelay(t){return this.id===-1?0:c.SetVehicleRespawnDelay(this.id,t)}getNumberPlate(){return this.id===-1?"":c.GetVehicleNumberPlate(this.id)}getInterior(){return this.id===-1?0:c.GetVehicleInterior(this.id)}getPaintjob(){return this.id===-1?-1:c.GetVehiclePaintjob(this.id)}getColours(){if(this.id!==-1)return c.GetVehicleColours(this.id)}setSpawnInfo(t,n,r,i,a,s,l,h=-2,u=-2,y=!1){return this.id===-1||!y&&(t<400||t>611)?0:c.SetVehicleSpawnInfo(this.id,t,n,r,i,a,p(s),p(l),h,u)}getSpawnInfo(){if(this.id!==-1)return c.GetVehicleSpawnInfo(this.id)}}class Kd{vehicles=new Map;players;constructor(t,n=!0){this.players=t,me.on(X.created,r=>{this.vehicles.set(r.id,r)}),me.on(X.destroyed,r=>{this.vehicles.delete(r.id)}),n&&T(()=>{this.vehicles.forEach(r=>r.destroy()),this.vehicles.clear()}),Xt((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onDamageStatusUpdate")(a,s):0}),vt((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onDeath")(a,s):0}),Kt((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 1;const l=this.findVehicleById(i);return l?m(this,"onMod")(s,l,a):1}),Zt((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 1;const l=this.findVehicleById(i);return l?m(this,"onPaintjob")(s,l,a):1}),zt((r,i,a,s)=>{const l=this.findPlayerById(r);if(!l)return 1;const h=this.findVehicleById(i);return h?m(this,"onRespray")(l,h,a,s):1}),hn((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 0;const l=this.findVehicleById(i);return l?m(this,"onSirenStateChange")(s,l,Boolean(a)):0}),Nt(r=>{const i=this.findVehicleById(r);return i?m(this,"onSpawn")(i):1}),nn((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onStreamIn")(a,s):0}),rn((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onStreamOut")(a,s):0}),xt((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 0;const l=this.findVehicleById(i);return l?m(this,"onPlayerEnter")(s,l,Boolean(a)):0}),Vt((r,i)=>{const a=this.findPlayerById(r);if(!a)return 0;const s=this.findVehicleById(i);return s?m(this,"onPlayerExit")(a,s):0}),gn((r,i)=>{const a=this.findVehicleById(r);return a?m(this,"onNpcEnter")(a,i):0}),Pn(m(this,"onNpcExit")),cn((r,i)=>{const a=this.findPlayerById(r);if(!a)return 0;const s=this.findVehicleById(i);return s?m(this,"onTrailerUpdate")(a,s):0})}findVehicleById(t){return this.vehicles.get(t)}findPlayerById(t){return this.players.get(t)}getVehiclesArr(){return[...this.vehicles.values()]}getVehiclesMap(){return this.vehicles}}const x=[],K=[],we=e=>{setTimeout(async()=>{try{const t=x.findIndex(r=>r.name===e);if(t===-1)return;const n=x[t];await n.load(),x.splice(t,1),K.push(n)}catch(t){_.error(`[GameMode]: script ${e} load fail`),_.warn(new Error(JSON.stringify(t)))}})},ke=e=>{setTimeout(async()=>{try{const t=K.findIndex(r=>r.name===e);if(t===-1)return;const n=K[t];await n.unload(),K.splice(t,1),x.push(n)}catch(t){_.error(`[GameMode]: script ${e} unload fail`),_.warn(new Error(JSON.stringify(t)))}})},jd=e=>{ke(e),we(e)};dt(()=>{x.forEach(e=>we(e.name))}),T(()=>{K.forEach(e=>ke(e.name))});const Zd=function(e,...t){if(x.some(n=>n===e)||K.some(n=>n===e)){_.warn("[GameMode]: script has already been applied");return}e.load=e.load.bind(e,...t),x.push(e)};class se{static charset=R;initialized=!1;constructor(){dt(()=>{if(this.initialized)return _.error("[GameMode]: Cannot be initialized more than once");se.supportAllNickname(),this.initialized=!0,this.onInit&&this.onInit()}),T(()=>{if(!this.initialized)return _.error("[GameMode]: Cannot unload more than once");this.initialized=!1,this.onExit&&this.onExit()}),_n(m(this,"onIncomingConnection")),Et(m(this,"onRconCommand")),Tt(m(this,"onRconLoginAttempt"))}isInitialized(){return this.initialized}static exit(){Kn()}static use=(t,...n)=>(Zd(t,...n),this);static loadScript=we;static unloadScript=ke;static reloadScript=jd;static supportAllNickname(){for(let t=0;t<=255;t++)se.isNickNameCharacterAllowed(t)||se.allowNickNameCharacter(t,!0)}static allowAdminTeleport=c.AllowAdminTeleport;static isAdminTeleportAllowed=c.IsAdminTeleportAllowed;static allowInteriorWeapons=c.AllowInteriorWeapons;static areInteriorWeaponsAllowed=c.AreInteriorWeaponsAllowed;static areAllAnimationsEnabled=c.AreAllAnimationsEnabled;static enableAllAnimations=c.EnableAllAnimations;static enableStuntBonusForAll=fs;static enableVehicleFriendlyFire=Zn;static enableZoneNames=Qn;static disableInteriorEnterExits=$n;static setGameModeText=Fn;static getGravity=Xn;static setGravity=Yn;static showNameTags=Un;static disableNameTagLOS=tr;static usePlayerPedAnims=qn;static showPlayerMarkers=Wn;static limitPlayerMarkerRadius=rr;static limitGlobalChatRadius=nr;static setNameTagDrawDistance=er;static setWeather(t){return t<0||t>255?(_.error("[GameMode]: The valid weather value is only 0 to 255"),0):zn(t)}static setWorldTime(t){return t<0||t>23?(_.error("[GameMode]: The valid hour value is only 0 to 23"),0):jn(t)}static setTeamCount=Nn;static sendRconCommand=lr;static addPlayerClass=vn;static addPlayerClassEx=Hn;static createExplosion(t,n,r,i,a){return i<0||i>13?(_.error("[GameMode]: The valid explosion type value is only 0 to 13"),0):Jn(t,n,r,i,a)}static manualVehicleEngineAndLights=Us;static blockIpAddress=hr;static unBlockIpAddress=ur;static getServerTickRate=mr;static addSimpleModel(t,n,r,i,a){return this.checkSimpleModel(t,n,r,i,a)?Ld(t,n,r,i,a):0}static addSimpleModelTimed(t,n,r,i,a,s,l){return this.checkSimpleModel(t,n,r,i,a,s,l)?Rd(t,n,r,i,a,s,l):0}static checkSimpleModel(t,n,r,i,a,s,l){return t<-1?(_.error("[GameMode]: AddSimpleModel - Error virtual world"),0):n<0?(_.error("[GameMode]: AddSimpleModel - Error baseid"),0):r>-1e3||r<-3e4?(_.error("[GameMode]: AddSimpleModel - Error newid range"),0):i.trim().length<0?(_.error("[GameMode]: AddSimpleModel - Empty dffname"),0):a.trim().length<0?(_.error("[GameMode]: AddSimpleModel - Empty txdname"),0):s!==void 0&&(s<0||s>23)?(_.error("[GameMode]: AddSimpleModel - Error time on range"),0):l!==void 0&&(l<0||l>23)?(_.error("[GameMode]: AddSimpleModel - Error time off range"),0):1}static findModelFileNameFromCRC=Gd;static findTextureFileNameFromCRC=Md;static getWeaponName=bd;static setObjectsDefaultCameraCollision=ui;static vectorSize=kn;static clearBanList=c.ClearBanList;static isBanned=c.IsBanned;static isValidNickName=c.IsValidNickName;static allowNickNameCharacter=c.AllowNickNameCharacter;static isNickNameCharacterAllowed=c.IsNickNameCharacterAllowed;static addServerRule=c.AddServerRule;static setServerRule=c.SetServerRule;static isValidServerRule=c.IsValidServerRule;static removeServerRule=c.RemoveServerRule;static getWeaponSlot=c.GetWeaponSlot;static getAvailableClasses=c.GetAvailableClasses;static getPlayerClass=c.GetPlayerClass;static editPlayerClass=c.EditPlayerClass;static toggleChatTextReplacement=c.ToggleChatTextReplacement;static chatTextReplacementToggled=c.ChatTextReplacementToggled}class zd{constructor(){}static getNetworkStats(){return cr()}static getPlayerNetworkStats(t){return _r(t.id)}static getBytesReceived(t){return gr(t.id)}static getBytesSent(t){return pr(t.id)}static getConnectionStatus(t){return fr(t.id)}static getConnectedTime(t){return yr(t.id)}static getIpPort(t){return Od(t.id)}static getMessagesReceived(t){return Sr(t.id)}static getMessagesRecvPerSecond(t){return Ar(t.id)}static getMessagesSent(t){return Pr(t.id)}static getPacketLossPercent(t){return Ir(t.id)}}class Xd{_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,n,r){this._text=t,this._time=n,this._style=r}static hideForAll(t){Rn(t)}static has(t,n){return On(t.id,n)}forAll(){Ln(this.text,this.time,this.style)}forPlayer(t){bn(t.id,this.text,this.time,this.style)}hideForPlayer(t){return Bn(t.id,this.style)}}var Y=(e=>(e.created="OnMenuCreate",e.destroyed="OnMenuDestroy",e))(Y||{});const ye=new L;class Te{static menuCount=0;_id=-1;_itemCount=0;get itemCount(){return this._itemCount}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){_.error("[Menu]: The menu column number interval is between 1 and 2");return}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,n,r,i,a,s){this._title=t,this.columns=n,this._x=r,this._y=i,this._col1width=a,this._col2width=s}create(){return this._id!==-1?_.error("[Menu]: Cannot be created twice"):Te.menuCount===B.MAX_MENUS?_.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=Cr(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),ye.emit(Y.created,this),Te.menuCount++,this)}destroy(){return this._id===-1?_.error("[Menu]: Cannot destroy before create"):(Er(this.id),ye.emit(Y.destroyed,this),this)}addItem(t,n){return this._id===-1?_.error("[Menu]: Cannot addItem before create"):this._itemCount===B.MAX_MENU_ROW?_.error("[Menu]: The maximum number of items allowed to be added has been reached 12"):t!==0&&t!==1?_.error("[Menu]: Wrong number of columns"):(Tr(this.id,t,n),this._itemCount++,this)}setColumnHeader(t,n){return this._id===-1?_.error("[Menu]: Cannot setColumnHeader before create"):t!==0&&t!==1?_.error("[Menu]: Wrong number of columns"):(Dr(this.id,t,n),this)}disable(){return this._id===-1?_.error("[Menu]: Cannot disable menu before create"):(Or(this.id),this)}disableRow(t){if(this._id===-1)return _.error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)return _.error("[Menu]: Wrong number of rows");Br(this.id,t)}isValid(){return br(this.id)}showForPlayer(t){return this._id===-1?_.error("[Menu]: Cannot show menu before create"):Lr(this.id,t.id)}hideForPlayer(t){return this._id===-1?_.error("[Menu]: Cannot hide menu before create"):Rr(this.id,t.id)}static getMenu(t,n){return n.find(r=>r.id===Oe(t.id))}isDisabled(){return this._id===-1?!1:c.IsMenuDisabled(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:c.IsMenuRowDisabled(this.id,t)}getItems(t){return this._id===-1?0:c.GetMenuItems(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:c.GetMenuPos(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:c.GetMenuColumnWidth(this.id)}getColumnHeader(t){return this._id===-1?_.error("[Menu]: Cannot get column header before create"):c.GetMenuColumnHeader(this.id,t)}getItem(t,n){if(this._id===-1)return _.error("[Menu]: Cannot get item before create");if(!(n<0||n>this.getItems(t)-1))return c.GetMenuItem(this.id,t,n)}}class Yd{menus=new Map;players;constructor(t,n=!0){this.players=t,ye.on(Y.created,r=>{this.menus.set(r.id,r)}),ye.on(Y.destroyed,r=>{this.menus.delete(r.id)}),n&&T(()=>{this.menus.forEach(r=>r.destroy()),this.menus.clear()}),Jt(r=>{const i=this.findMenuById(Oe(r));if(!i)return 0;const a=this.findPlayerById(r);return a?m(this,"onPlayerExited")(a,i):0}),Yt((r,i)=>{const a=this.findMenuById(Oe(r));if(!a)return 0;const s=this.findPlayerById(r);return s?m(this,"onPlayerSelectedRow")(s,a,i):0})}findPlayerById(t){return this.players.get(t)}findMenuById(t){if(t!==C.MENU)return this.menus.get(t)}getMenusArr(){return[...this.menus.values()]}getMenusMap(){return this.menus}}var J=(e=>(e.created="OnGangZoneCreate",e.destroyed="OnGangZoneDestroy",e))(J||{});const Se=new L;class N{_id=-1;static createdGlobalCount=0;static createdPlayerCount=0;sourceInfo;constructor(t){this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return _.warn("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(N.createdPlayerCount===B.MAX_GANG_ZONES)return _.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minx:n,miny:r,maxx:i,maxy:a}=this.sourceInfo;this._id=c.CreatePlayerGangZone(t.id,n,r,i,a),N.createdPlayerCount++,samp.addEventListener("OnPlayerDisconnect",this.unregisterEvent)}else{if(N.createdGlobalCount===B.MAX_GANG_ZONES)return _.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minx:n,miny:r,maxx:i,maxy:a}=this.sourceInfo;this._id=ei(n,r,i,a),N.createdGlobalCount++}Se.emit(J.created,{key:{id:this.id,global:t===void 0},value:this})}destroy(){if(this.id===-1)return _.warn("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(c.PlayerGangZoneDestroy(t.id,this.id),N.createdPlayerCount--):(ti(this.id),N.createdGlobalCount--),Se.emit(J.destroyed,{id:this.id,global:t===void 0}),this._id=-1}showForAll(t){return this.id===-1?_.warn("[GangZone]: Unable to show the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be show for all."):(ri(this.id,t),this)}showForPlayer(t,n){if(this.id===-1)return _.warn("[GangZone]: Unable to show the gangzone before create");const r=this.sourceInfo.player;if(r)c.PlayerGangZoneShow(r.id,this.id,p(t));else if(n)ni(n.id,this.id,t);else return _.warn("[GangZone]: invalid player for show");return this}hideForAll(){return this.id===-1?_.warn("[GangZone]: Unable to hide the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be hide for all."):(ai(this.id),this)}hideForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to hide the gangzone before create");const n=this.sourceInfo.player;if(n)c.PlayerGangZoneHide(n.id,this.id);else if(t)ii(t.id,this.id);else return _.warn("[GangZone]: invalid player for hide");return this}flashForAll(t){return this.id===-1?_.warn("[GangZone]: Unable to flash the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be flash for all."):(di(this.id,t),this)}flashForPlayer(t,n){if(this.id===-1)return _.warn("[GangZone]: Unable to flash the gangzone before create");const r=this.sourceInfo.player;if(r)c.PlayerGangZoneFlash(r.id,this.id,p(n));else if(t)si(t.id,this.id,n);else return _.warn("[GangZone]: invalid player for flash");return this}StopFlashForAll(){return this.id===-1?_.warn("[GangZone]: Unable to stop flash the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be stop flash for all."):(li(this.id),this)}StopFlashForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to stop flash the gangzone before create");const n=this.sourceInfo.player;if(n)c.PlayerGangZoneStopFlash(n.id,this.id);else if(t)oi(t.id,this.id);else return _.warn("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.IsValidPlayerGangZone(t.id,this.id):c.IsValidGangZone(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerInPlayerGangZone(n.id,this.id):c.IsPlayerInGangZone(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerGangZoneVisible(n.id,this.id):c.IsGangZoneVisibleForPlayer(t.id,this.id)}getColourForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to get colour before create");const n=this.sourceInfo.player;return n?c.PlayerGangZoneGetColour(n.id,this.id):c.GangZoneGetColourForPlayer(t.id,this.id)}getFlashColourForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to get flash colour before create");const n=this.sourceInfo.player;return n?c.PlayerGangZoneGetFlashColour(n.id,this.id):c.GangZoneGetFlashColourForPlayer(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerGangZoneFlashing(n.id,this.id):c.IsGangZoneFlashingForPlayer(t.id,this.id)}getPos(){if(this.id===-1)return _.warn("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?c.PlayerGangZoneGetPos(t.id,this.id):c.GangZoneGetPos(this.id)}useCheck(t){if(this.id===-1)return _.warn("[GangZone]: Unable to use check before create");const n=this.sourceInfo.player;return n?c.UsePlayerGangZoneCheck(n.id,this.id,t):c.UseGangZoneCheck(this.id,t),this}unregisterEvent(){return this.destroy(),samp.removeEventListener("OnPlayerDisconnect",this.unregisterEvent),1}}class Jd{gangZones=new Map;players;constructor(t,n=!0){this.players=t,Se.on(J.created,r=>{this.gangZones.set(r.key,r.value)}),Se.on(J.destroyed,r=>{this.gangZones.has(r)&&this.gangZones.delete(r)}),n&&T(()=>{this.gangZones.forEach(r=>r.destroy()),this.gangZones.clear()}),c.OnPlayerEnterGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!0});return s?m(this,"onPlayerEnter")(a,s):0}),c.OnPlayerEnterPlayerGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!1});return s?m(this,"onPlayerEnter")(a,s):0}),c.OnPlayerLeaveGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!0});return s?m(this,"onPlayerLeave")(a,s):0}),c.OnPlayerLeavePlayerGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!1});return s?m(this,"onPlayerLeave")(a,s):0})}}class A{constructor(){}static getTickRate=o.Streamer_GetTickRate;static setTickRate=o.Streamer_SetTickRate;static getPlayerTickRate(t){return o.Streamer_GetPlayerTickRate(t.id)}static setPlayerTickRate(t,n=50){return o.Streamer_SetPlayerTickRate(t.id,n)}static toggleChunkStream=o.Streamer_ToggleChunkStream;static isToggleChunkStream=o.Streamer_IsToggleChunkStream;static getChunkTickRate(t,n=-1){return n instanceof k?o.Streamer_GetChunkTickRate(t,n.id):o.Streamer_GetChunkTickRate(t,n)}static setChunkTickRate(t,n,r=-1){return r instanceof k?o.Streamer_SetChunkTickRate(t,n,r.id):o.Streamer_SetChunkTickRate(t,n,r)}static getChunkSize=o.Streamer_GetChunkSize;static setChunkSize=o.Streamer_SetChunkSize;static getMaxItems=o.Streamer_GetMaxItems;static setMaxItems=o.Streamer_SetMaxItems;static getVisibleItems(t,n=-1){return n instanceof k?o.Streamer_GetVisibleItems(t,n.id):o.Streamer_GetVisibleItems(t,n)}static setVisibleItems(t,n,r=-1){return r instanceof k?o.Streamer_SetVisibleItems(t,n,r.id):o.Streamer_SetVisibleItems(t,n,r)}static getRadiusMultiplier(t,n=-1){return n instanceof k?o.Streamer_GetRadiusMultiplier(t,n.id):o.Streamer_GetRadiusMultiplier(t,n)}static setRadiusMultiplier(t,n,r=-1){return r instanceof k?o.Streamer_SetRadiusMultiplier(t,r.id):o.Streamer_SetRadiusMultiplier(t,n,r)}static getTypePriority=o.Streamer_GetTypePriority;static setTypePriority=o.Streamer_SetTypePriority;static getCellDistance=o.Streamer_GetCellDistance;static setCellDistance=o.Streamer_SetCellDistance;static getCellSize=o.Streamer_GetCellSize;static setCellSize=o.Streamer_SetCellSize;static toggleItemStatic=o.Streamer_ToggleItemStatic;static isToggleItemStatic=o.Streamer_IsToggleItemStatic;static toggleItemInvAreas=o.Streamer_ToggleItemInvAreas;static isToggleItemInvAreas=o.Streamer_IsToggleItemInvAreas;static toggleItemCallbacks=o.Streamer_ToggleItemCallbacks;static isToggleItemCallbacks=o.Streamer_IsToggleItemCallbacks;static toggleErrorCallback=o.Streamer_ToggleErrorCallback;static isToggleErrorCallback=o.Streamer_IsToggleErrorCallback;static amxUnloadDestroyItems=o.Streamer_AmxUnloadDestroyItems;static processActiveItems=o.Streamer_ProcessActiveItems;static toggleIdleUpdate(t,n){return o.Streamer_ToggleIdleUpdate(t.id,n)}static isToggleIdleUpdate(t){return o.Streamer_IsToggleIdleUpdate(t.id)}static toggleCameraUpdate(t,n){return o.Streamer_ToggleCameraUpdate(t.id,n)}static isToggleCameraUpdate(t){return o.Streamer_IsToggleCameraUpdate(t.id)}static toggleItemUpdate(t,n,r){return o.Streamer_ToggleItemUpdate(t.id,n,r)}static isToggleItemUpdate(t,n){return o.Streamer_IsToggleItemUpdate(t.id,n)}static getLastUpdateTime(){return o.Streamer_GetLastUpdateTime()}static update(t,n=-1){return o.Streamer_Update(t.id,n)}static updateEx(t,n,r,i,a,s,l,h,u){return o.Streamer_UpdateEx(t.id,n,r,i,a,s,l,h,u)}static getDistanceToItem=o.Streamer_GetDistanceToItem;static toggleItem(t,n,r,i){return o.Streamer_ToggleItem(t.id,n,r,i)}static isToggleItem(t,n,r){return o.Streamer_IsToggleItem(t.id,n,r)}static toggleAllItems(t,n,r,i=[-1]){return o.Streamer_ToggleAllItems(t.id,n,r,i)}static getItemInternalID(t,n,r){return o.Streamer_GetItemInternalID(t.id,n,r)}static getItemStreamerID(t,n,r){return o.Streamer_GetItemStreamerID(t.id,n,r)}static isItemVisible(t,n,r){return o.Streamer_IsItemVisible(t.id,n,r)}static destroyAllVisibleItems(t,n,r=1){return o.Streamer_DestroyAllVisibleItems(t.id,n,r)}static countVisibleItems(t,n,r=1){return o.Streamer_CountVisibleItems(t.id,n,r)}static destroyAllItems=o.Streamer_DestroyAllItems;static countItems=o.Streamer_CountItems;static getNearbyItems=o.Streamer_GetNearbyItems;static getAllVisibleItems(t,n,r){o.Streamer_GetAllVisibleItems(t.id,n,r)}static getItemPos=o.Streamer_GetItemPos;static setItemPos=o.Streamer_SetItemPos;static getItemOffset=o.Streamer_GetItemOffset;static setItemOffset=o.Streamer_SetItemOffset;static getFloatData=o.Streamer_GetFloatData;static setFloatData=o.Streamer_SetFloatData;static getIntData=o.Streamer_GetIntData;static setIntData=o.Streamer_SetIntData;static getArrayData=o.Streamer_GetArrayData;static setArrayData=o.Streamer_SetArrayData;static isInArrayData=o.Streamer_IsInArrayData;static appendArrayData=o.Streamer_AppendArrayData;static removeArrayData=o.Streamer_RemoveArrayData;static getArrayDataLength=o.Streamer_GetArrayDataLength;static getUpperBound=o.Streamer_GetUpperBound;static onItemStreamIn=o.Streamer_OnItemStreamIn;static onItemStreamOut=o.Streamer_OnItemStreamOut;static onPluginError=o.Streamer_OnPluginError}var j=(e=>(e.created="OnMapIconCreate",e.destroyed="OnMapIconDestroy",e))(j||{});const Q=new L;class Qd{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamdistance:n,worldid:r,interiorid:i,playerid:a,areaid:s,priority:l}=this.sourceInfo;const{x:h,y:u,z:y,type:S,colour:P,extended:f}=this.sourceInfo;return S<0||S>63?_.error("[StreamerMapIcon]: Invalid map icon type"):(t??=o.MapIconStyles.LOCAL,n??=o.StreamerDistances.MAP_ICON_SD,l??=0,f?(typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=o.CreateDynamicMapIconEx(h,u,y,S,p(P),t,n,r,i,a,s,l),Q.emit(j.created,this),this):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=o.CreateDynamicMapIcon(h,u,y,S,p(P),r,i,a,n,t,s,l),Q.emit(j.created,this),this))}destroy(){return this.id===-1?_.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(o.DestroyDynamicMapIcon(this.id),Q.emit(j.destroyed,this),this)}isValid(){return o.IsValidDynamicMapIcon(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.MAP_ICON,this.id)}}class qd{mapIcons=new Map;players;constructor(t,n=!0){this.players=t,Q.on(j.created,r=>{this.mapIcons.set(r.id,r)}),Q.on(j.destroyed,r=>{this.mapIcons.delete(r.id)}),n&&T(()=>{this.mapIcons.forEach(r=>r.destroy()),this.mapIcons.clear()}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.MAP_ICON){const s=this.mapIcons.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.MAP_ICON){const s=this.mapIcons.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getMapIconsArr(){return[...this.mapIcons.values()]}getMapIconsMap(){return this.mapIcons}}var q=(e=>(e.created="OnPickupCreate",e.destroyed="OnPickupDestroy",e))(q||{});const ge=new L;class $d{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerPickup]: Unable to create pickup again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{type:l,modelid:h,x:u,y,z:S,extended:P}=this.sourceInfo;return l<0||l>22?_.error("[StreamerPickup]: Invalid pickup type"):(t??=o.StreamerDistances.PICKUP_SD,s??=0,P?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicPickupEx(h,l,u,y,S,t,n,r,i,a,s)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicPickup(h,l,u,y,S,n,r,i,t,a,s)),ge.emit(q.created,this),this)}destroy(){return this.id===-1?_.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(o.DestroyDynamicPickup(this.id),ge.emit(q.destroyed,this),this)}isValid(){return o.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerPickup]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.PICKUP,this.id)}}class eo{pickups=new Map;players;constructor(t,n=!0){this.players=t,ge.on(q.created,r=>{this.pickups.set(r.id,r)}),ge.on(q.destroyed,r=>{this.pickups.delete(r.id)}),n&&T(()=>{this.pickups.forEach(r=>r.destroy()),this.pickups.clear()}),o.OnPlayerPickUpDynamicPickup((r,i)=>{const a=this.pickups.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerPickUp")(s,a):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.PICKUP){const s=this.pickups.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.PICKUP){const s=this.pickups.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getPickupsArr(){return[...this.pickups.values()]}getPickupsMap(){return this.pickups}}var $=(e=>(e.created="OnCheckPointCreate",e.destroyed="OnCheckPointDestroy",e))($||{});const Pe=new L;class to{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{size:l,x:h,y:u,z:y,extended:S}=this.sourceInfo;return l<0?_.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??=o.StreamerDistances.CP_SD,s??=0,S?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicCPEx(h,u,y,l,t,n,r,i,a,s)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicCP(h,u,y,l,n,r,i,t,a,s)),Pe.emit($.created,this),this)}destroy(){return this.id===-1?_.warn("[StreamerCheckpoint]: Unable to destroy the checkpoint before create"):(o.DestroyDynamicCP(this.id),Pe.emit($.destroyed,this),this)}isValid(){return o.IsValidDynamicCP(this.id)}togglePlayer(t,n){return this.id===-1?_.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(o.TogglePlayerDynamicCP(t.id,this.id,n),this)}static togglePlayerAll(t,n){return o.TogglePlayerAllDynamicCPs(t.id,n)}isPlayerIn(t){return this.id===-1?!1:o.IsPlayerInDynamicCP(t.id,this.id)}static getPlayerVisible(t,n){return n.get(o.GetPlayerVisibleDynamicCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.CP,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.CP,this.id)}}class no{checkpoints=new Map;players;constructor(t,n=!0){this.players=t,Pe.on($.created,r=>{this.checkpoints.set(r.id,r)}),Pe.on($.destroyed,r=>{this.checkpoints.delete(r.id)}),n&&T(()=>{this.checkpoints.forEach(r=>r.destroy()),this.checkpoints.clear()}),o.OnPlayerEnterDynamicCP((r,i)=>{const a=this.checkpoints.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerEnter")(s,a):0}),o.OnPlayerLeaveDynamicCP((r,i)=>{const a=this.checkpoints.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerLeave")(s,a):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.CP){const s=this.checkpoints.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.CP){const s=this.checkpoints.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getCheckPointsArr(){return[...this.checkpoints.values()]}getCheckPointsMap(){return this.checkpoints}}var ee=(e=>(e.created="OnRaceCPCreate",e.destroyed="OnRaceCPDestroy",e))(ee||{});const pe=new L;class ro{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerRaceCP]: Unable to create checkpoint again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{type:l,size:h,x:u,y,z:S,nextx:P,nexty:f,nextz:E,extended:b}=this.sourceInfo;return l<0||l>8?_.error("[StreamerRaceCP]: Invalid type"):h<0?_.error("[StreamerRaceCP]: Invalid size"):(t??=o.StreamerDistances.RACE_CP_SD,s??=0,b?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicRaceCPEx(l,u,y,S,P,f,E,h,t,n,r,i,a,s)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicRaceCP(l,u,y,S,P,f,E,h,n,r,i,t,a,s)),pe.emit(ee.created,this),this)}destroy(){return this.id===-1?_.warn("[StreamerRaceCP]: Unable to destroy the checkpoint before create"):(o.DestroyDynamicCP(this.id),pe.emit(ee.destroyed,this),this)}isValid(){return o.IsValidDynamicCP(this.id)}togglePlayer(t,n){return this.id===-1?_.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(o.TogglePlayerDynamicRaceCP(t.id,this.id,n),this)}static togglePlayerAll(t,n){return o.TogglePlayerAllDynamicRaceCPs(t.id,n)}isPlayerIn(t){return this.id===-1?!1:o.IsPlayerInDynamicRaceCP(t.id,this.id)}static getPlayerVisible(t,n){return n.get(o.GetPlayerVisibleDynamicRaceCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.RACE_CP,this.id)}}class io{raceCPs=new Map;players;constructor(t,n=!0){this.players=t,pe.on(ee.created,r=>{this.raceCPs.set(r.id,r)}),pe.on(ee.destroyed,r=>{this.raceCPs.delete(r.id)}),n&&T(()=>{this.raceCPs.forEach(r=>r.destroy()),this.raceCPs.clear()}),o.OnPlayerEnterDynamicRaceCP((r,i)=>{const a=this.raceCPs.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerEnter")(s,a):0}),o.OnPlayerLeaveDynamicRaceCP((r,i)=>{const a=this.raceCPs.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerLeave")(s,a):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.RACE_CP){const s=this.raceCPs.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.RACE_CP){const s=this.raceCPs.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getRaceCPsArr(){return[...this.raceCPs.values()]}getRaceCPsMap(){return this.raceCPs}}var te=(e=>(e.created="OnActorCreate",e.destroyed="OnActorDestroy",e))(te||{});const Ae=new L;class ao{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerActor]: Unable to create actor again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{modelid:l,x:h,y:u,z:y,r:S,invulnerable:P,health:f,extended:E}=this.sourceInfo;return t??=o.StreamerDistances.ACTOR_SD,s??=0,E?(typeof n=="number"?n=[0]:n??=[0],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicActorEx(l,h,u,y,S,P,f,t,n,r,i,a,s)):(Array.isArray(n)?n=0:n??=0,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicActor(l,h,u,y,S,P,f,n,r,i,t,a,s)),Ae.emit(te.created,this),this}destroy(){return this.id===-1?_.warn("[StreamerActor]: Unable to destroy the actor before create"):(o.DestroyDynamicActor(this.id),Ae.emit(te.destroyed,this),this)}isValid(){return o.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:o.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?_.warn("[StreamerActor]: Unable to get virtual world before create"):o.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?_.warn("[StreamerActor]: Unable to set virtual world before create"):o.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,n,r=!1,i=!0,a=!0,s=!1){if(this.id===-1)return _.warn("[StreamerActor]: Unable to apply animation before create");const l=ut(t,n);return l===void 0?_.error("[StreamerActor]: Invalid anim library or name"):o.ApplyDynamicActorAnimation(this.id,t,n,4.1,r,i,a,s,r?0:l)}clearAnimations(){return this.id===-1?_.warn("[StreamerActor]: Unable to clear animation before create"):o.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?_.warn("[StreamerActor]: Unable to get facing angle before create"):o.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?_.warn("[StreamerActor]: Unable to set facing angle before create"):o.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?_.warn("[StreamerActor]: Unable to get pos before create"):o.GetDynamicActorPos(this.id)}setPos(t,n,r){return this.id===-1?_.warn("[StreamerActor]: Unable to set pos before create"):o.SetDynamicActorPos(this.id,t,n,r)}getHealth(){return this.id===-1?_.warn("[StreamerActor]: Unable to get health before create"):o.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?_.warn("[StreamerActor]: Unable to set health before create"):o.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:o.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){return this.id===-1?_.warn("[StreamerActor]: Unable to set invulnerable before create"):o.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t,n){if(this.id===-1)return;const r=o.GetPlayerTargetDynamicActor(t.id);return n.get(r)}getPlayerCameraTarget(t,n){if(this.id===-1)return;const r=o.GetPlayerCameraTargetDynActor(t.id);return n.get(r)}getSkin(){return this.id===-1?_.warn("[StreamerActor]: Unable to get skin before create"):c.GetActorSkin(this.id)}setSkin(t,n=!1){return this.id===-1?_.warn("[StreamerActor]: Unable to set skin before create"):!n&&(t<0||t>311||t==74)?0:c.SetActorSkin(this.id,t)}getSpawnInfo(){return this.id===-1?_.warn("[StreamerActor]: Unable to get spawn info before create"):c.GetActorSpawnInfo(this.id)}getAnimation(){return this.id===-1?_.warn("[StreamerActor]: Unable to get animation before create"):c.GetActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerActor]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.ACTOR,this.id)}}class so{actors=new Map;players;constructor(t,n=!0){this.players=t,Ae.on(te.created,r=>{this.actors.set(r.id,r)}),Ae.on(te.destroyed,r=>{this.actors.delete(r.id)}),n&&T(()=>{this.actors.forEach(r=>r.destroy()),this.actors.clear()}),o.OnDynamicActorStreamIn((r,i)=>{const a=this.actors.get(r);if(!a)return 0;const s=this.players.get(i);return s?m(this,"onStreamIn")(a,s):0}),o.OnDynamicActorStreamOut((r,i)=>{const a=this.actors.get(r);if(!a)return 0;const s=this.players.get(i);return s?m(this,"onStreamOut")(a,s):0}),o.OnPlayerGiveDamageDynamicActor((r,i,a,s,l)=>{const h=this.actors.get(i);if(!h)return 0;const u=this.players.get(r);return u?m(this,"onPlayerGiveDamage")(u,h,a,s,l):0})}getActorsArr(){return[...this.actors.values()]}getActorsMap(){return this.actors}}var ne=(e=>(e.created="On3dTextCreate",e.destroyed="On3dTextDestroy",e))(ne||{});const Ie=new L;class oo{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[Streamer3DTextLabel]: Unable to create again");let{attachedplayer:t,attachedvehicle:n,testlos:r,streamdistance:i,worldid:a,interiorid:s,playerid:l,areaid:h,priority:u}=this.sourceInfo;const{charset:y,text:S,colour:P,drawdistance:f,x:E,y:b,z:U,extended:mt}=this.sourceInfo;return t??=C.PLAYER_ID,n??=C.VEHICLE_ID,i??=o.StreamerDistances.TEXT_3D_LABEL_SD,r??=!1,u??=0,mt?(typeof a=="number"?a=[-1]:a??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof l=="number"?l=[-1]:l??=[-1],typeof h=="number"?h=[-1]:h??=[-1],this._id=Ot(S,p(P),E,b,U,f,t,n,r,i,a,s,l,h,u,y||R)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(l)?l=-1:l??=-1,Array.isArray(h)?h=-1:h??=-1,this._id=bt(y||R,S,p(P),E,b,U,f,t,n,r,a,s,l,i,h,u)),Ie.emit(ne.created,this),this}destroy(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(o.DestroyDynamic3DTextLabel(this.id),Ie.emit(ne.destroyed,this),this)}isValid(){return o.IsValidDynamic3DTextLabel(this.id)}getColour(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to get colour before create"):this.sourceInfo.colour}getCharset(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to get charset before create"):this.sourceInfo.charset}getText(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to get text before create"):wt(this.id,this.sourceInfo.charset||R)}updateText(t,n,r=this.sourceInfo.charset){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to update text before create"):(this.sourceInfo.charset=r,Bt(this.id,p(t),n,r||R))}toggleCallbacks(t=!0){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.TEXT_3D_LABEL,this.id)}}class lo{_3dTexts=new Map;players;constructor(t,n=!0){this.players=t,Ie.on(ne.created,r=>{this._3dTexts.set(r.id,r)}),Ie.on(ne.destroyed,r=>{this._3dTexts.delete(r.id)}),n&&T(()=>{this._3dTexts.forEach(r=>r.destroy()),this._3dTexts.clear()}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.TEXT_3D_LABEL){const s=this._3dTexts.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.TEXT_3D_LABEL){const s=this._3dTexts.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}get3dTextLabelsArr(){return[...this._3dTexts.values()]}get3dTextLabelsMap(){return this._3dTexts}}var re=(e=>(e.created="OnObjectCreate",e.destroyed="OnObjectDestroy",e))(re||{});const fe=new L;class _o{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerObject]: Unable to create object again");let{streamdistance:t,drawdistance:n,worldid:r,interiorid:i,playerid:a,areaid:s,priority:l}=this.sourceInfo;const{modelid:h,x:u,y,z:S,rx:P,ry:f,rz:E,extended:b}=this.sourceInfo;return t??=o.StreamerDistances.OBJECT_SD,n??=o.StreamerDistances.OBJECT_DD,l??=0,b?(typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=o.CreateDynamicObjectEx(h,u,y,S,P,f,E,t,n,r,i,a,s,l)):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=o.CreateDynamicObject(h,u,y,S,P,f,E,r,i,a,t,n,s,l)),fe.emit(re.created,this),this}destroy(){return this.id===-1?_.warn("[StreamerObject]: Unable to destroy the object before create"):(o.DestroyDynamicObject(this.id),fe.emit(re.destroyed,this),this)}isValid(){return o.IsValidDynamicObject(this.id)}getPos(){return this.id===-1?_.warn("[StreamerObject]: Cannot get position before create"):o.GetDynamicObjectPos(this.id)}setPos(t,n,r){return this.id===-1?_.warn("[StreamerObject]: Cannot set position before create"):o.SetDynamicObjectPos(this.id,t,n,r)}getRot(){return this.id===-1?_.warn("[StreamerObject]: Cannot get rotation before create"):o.GetDynamicObjectRot(this.id)}setRot(t,n,r){return this.id===-1?_.warn("[StreamerObject]: Cannot set rotation before create"):o.SetDynamicObjectRot(this.id,t,n,r)}move(t,n,r,i,a=-1e3,s=-1e3,l=-1e3){return this.id===-1?_.warn("[StreamerObject]: Cannot start moving before create"):i<0?_.warn("[StreamerObject]: speed must not be less than 0"):(i>120*1e3&&_.warn("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional"),this.isMoving()&&this.stop(),o.MoveDynamicObject(this.id,t,n,r,i,a,s,l))}stop(){return this.id===-1?_.warn("[StreamerObject]: Cannot stop moving before create"):o.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:o.IsDynamicObjectMoving(this.id)}attachCamera(t){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachCamera before both are created"):o.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,n,r,i,a,s,l,h=!0){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachToObject before both are created"):o.AttachDynamicObjectToObject(this.id,t.id,n,r,i,a,s,l,h)}attachToPlayer(t,n,r,i,a,s,l){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):o.AttachDynamicObjectToPlayer(this.id,t.id,n,r,i,a,s,l)}attachToVehicle(t,n,r,i,a,s,l){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):o.AttachDynamicObjectToVehicle(this.id,t.id,n,r,i,a,s,l)}edit(t){return this.id===-1?_.warn("[StreamerObject]: Unable to edit before create"):(t.endObjectEditing(),o.EditDynamicObject(t.id,this.id))}isMaterialUsed(t){return this.id===-1?!1:o.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:o.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,n,r){return this.id===-1?_.warn("[StreamerObject]: Unable to get material before create"):o.GetDynamicObjectMaterial(this.id,t,n,r)}setMaterial(t,n,r,i,a="#000"){return this.id===-1?_.warn("[StreamerObject]: Unable to set material before create"):o.SetDynamicObjectMaterial(this.id,t,n,r,i,p(a))}isMaterialTextUsed(t){return this.id===-1?!1:o.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?o.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){return this.id===-1?_.warn("[StreamerObject]: Unable to get material text before create"):Gt(this.id,t,this.sourceInfo.charset||R)}setMaterialText(t=this.sourceInfo.charset,n,r,i=o.MaterialTextSizes.SIZE_256x128,a="Arial",s=24,l=1,h="#fff",u="#000",y=0){return this.id===-1?_.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,kt(t||R,this.id,n,r,i,a,s,l,p(h),p(u),y))}getPlayerCameraTarget(t,n){const r=o.GetPlayerCameraTargetDynObject(t.id);if(r!==C.OBJECT_ID)return n.get(r)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerObject]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.OBJECT,this.id)}}class co{objects=new Map;players;constructor(t,n=!0){this.players=t,fe.on(re.created,r=>{this.objects.set(r.id,r)}),fe.on(re.destroyed,r=>{this.objects.delete(r.id)}),n&&T(()=>{this.objects.forEach(r=>r.destroy()),this.objects.clear()}),o.OnDynamicObjectMoved(r=>{const i=this.objects.get(r);return i?m(this,"onMoved")(i):0}),o.OnPlayerEditDynamicObject((r,i,a,s,l,h,u,y,S)=>{const P=this.objects.get(i);if(!P)return 0;const f=this.players.get(r);return f?m(this,"onPlayerEdit")(f,P,a,s,l,h,u,y,S):0}),o.OnPlayerSelectDynamicObject((r,i,a,s,l,h)=>{const u=this.players.get(r);if(!u)return 0;const y=this.objects.get(i);return y?m(this,"onPlayerSelect")(u,y,a,s,l,h):0}),o.OnPlayerShootDynamicObject((r,i,a,s,l,h)=>{const u=this.players.get(r);if(!u)return 0;const y=this.objects.get(a);return y?m(this,"onPlayerShoot")(u,i,y,s,l,h):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.OBJECT){const s=this.objects.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.OBJECT){const s=this.objects.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getObjectsArr(){return[...this.objects.values()]}getObjectsMap(){return this.objects}}var ie=(e=>(e.created="OnAreaCreate",e.destroyed="OnAreaDestroy",e))(ie||{});const Ce=new L;class de{sourceInfo;_id=-1;get type(){return this.sourceInfo.type}get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerArea]: Unable to create area again");let{worldid:t,interiorid:n,playerid:r}=this.sourceInfo;const{type:i,extended:a}=this.sourceInfo;if(a)if(typeof t=="number"?t=[-1]:t??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],i==="circle"){const{x:s,y:l,size:h}=this.sourceInfo;if(h<0)return _.error("[StreamerArea]: Invalid circle extend size");this._id=o.CreateDynamicCircleEx(s,l,h,t,n,r)}else if(i==="cuboid"){const{minx:s,miny:l,minz:h,maxx:u,maxy:y,maxz:S}=this.sourceInfo;this._id=o.CreateDynamicCuboidEx(s,l,h,u,y,S,t,n,r)}else if(i==="cylinder"){const{x:s,y:l,minz:h,maxz:u,size:y}=this.sourceInfo;if(y<0)return _.error("[StreamerArea]: Invalid cylinder extend size");this._id=o.CreateDynamicCylinderEx(s,l,h,u,y,t,n,r)}else if(i==="polygon"){const{points:s,minz:l,maxz:h}=this.sourceInfo;if(s.length%2!==0)return _.warn("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=o.CreateDynamicPolygonEx(s,l,h,t,n,r)}else if(i==="rectangle"){const{minx:s,miny:l,maxx:h,maxy:u}=this.sourceInfo;this._id=o.CreateDynamicRectangleEx(s,l,h,u,t,n,r)}else{const{x:s,y:l,z:h,size:u}=this.sourceInfo;if(u<0)return _.error("[StreamerArea]: Invalid sphere extended size");this._id=o.CreateDynamicSphereEx(s,l,h,u,t,n,r)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,i==="circle"){const{x:s,y:l,size:h}=this.sourceInfo;if(h<0)return _.error("[StreamerArea]: Invalid circle size");this._id=o.CreateDynamicCircle(s,l,h,t,n,r)}else if(i==="cuboid"){const{minx:s,miny:l,minz:h,maxx:u,maxy:y,maxz:S}=this.sourceInfo;this._id=o.CreateDynamicCuboid(s,l,h,u,y,S,t,n,r)}else if(i==="cylinder"){const{x:s,y:l,minz:h,maxz:u,size:y}=this.sourceInfo;if(y<0)return _.error("[StreamerArea]: Invalid cylinder size");this._id=o.CreateDynamicCylinder(s,l,h,u,y,t,n,r)}else if(i==="polygon"){const{points:s,minz:l,maxz:h}=this.sourceInfo;if(s.length%2!==0)return _.warn("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=o.CreateDynamicPolygon(s,l,h,t,n,r)}else if(i==="rectangle"){const{minx:s,miny:l,maxx:h,maxy:u}=this.sourceInfo;this._id=o.CreateDynamicRectangle(s,l,h,u,t,n,r)}else{const{x:s,y:l,z:h,size:u}=this.sourceInfo;if(u<0)return _.error("[StreamerArea]: Invalid sphere size");this._id=o.CreateDynamicSphere(s,l,h,u,t,n,r)}return Ce.emit(ie.created,this),this}destroy(){return this.id===-1?_.warn("[StreamerArea]: Unable to destroy the area before create"):(o.DestroyDynamicArea(this.id),Ce.emit(ie.destroyed,this),this)}isValid(){return this.id===-1?!1:o.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?_.warn("[StreamerArea]: Unable to get type before create"):o.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return _.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return o.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)return _.warn("[StreamerArea]: Unable to get polygon points number before create");if(this.type==="polygon")return o.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,n=!1){return this.id===-1?!1:o.IsPlayerInDynamicArea(t.id,this.id,n)}static isPlayerInAny(t,n=!1){return o.IsPlayerInAnyDynamicArea(t.id,n)}isAnyPlayerIn(t=!1){return this.id===-1?!1:o.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return o.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t,n){return de.getPlayerAreasNumber(t)?o.GetPlayerDynamicAreas(t.id).map(r=>n.get(r)):[]}static getPlayerAreasNumber(t){return o.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,n,r){return this.id===-1?!1:o.IsPointInDynamicArea(this.id,t,n,r)}static isPointInAny(t,n,r){return o.IsPointInAnyDynamicArea(t,n,r)}isLineIn(t,n,r,i,a,s){return this.id===-1?!1:o.IsLineInDynamicArea(this.id,t,n,r,i,a,s)}static isLineInAny(t,n,r,i,a,s){return o.IsLineInAnyDynamicArea(t,n,r,i,a,s)}static getForPoint(t,n,r,i){return de.getNumberForPoint(t,n,r)?o.GetDynamicAreasForPoint(t,n,r).map(a=>i.get(a)):[]}static getNumberForPoint(t,n,r){return o.GetNumberDynamicAreasForPoint(t,n,r)}static getForLine(t,n,r,i,a,s,l){return de.getNumberForLine(t,n,r,i,a,s)?o.GetDynamicAreasForLine(t,n,r,i,a,s).map(h=>l.get(h)):[]}static getNumberForLine(t,n,r,i,a,s){return o.GetNumberDynamicAreasForLine(t,n,r,i,a,s)}attachToObject(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?_.warn("[StreamerArea]: Unable to toggle attach to object before create"):o.AttachDynamicAreaToObject(this.id,t.id,o.StreamerObjectTypes.DYNAMIC,C.PLAYER_ID,n,r,i)}attachToPlayer(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?_.warn("[StreamerArea]: Unable to toggle attach to player before create"):o.AttachDynamicAreaToPlayer(this.id,t.id,n,r,i)}attachToVehicle(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?_.warn("[StreamerArea]: Unable to toggle attach to vehicle before create"):o.AttachDynamicAreaToVehicle(this.id,t.id,n,r,i)}toggleSpectateMode(t){return this.id===-1?_.warn("[StreamerArea]: Unable to toggle specate mode before create"):o.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:o.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerArea]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.AREA,this.id)}}class ho{areas=new Map;players;constructor(t,n=!0){this.players=t,Ce.on(ie.created,r=>{this.areas.set(r.id,r)}),Ce.on(ie.destroyed,r=>{this.areas.has(r.id)&&this.areas.delete(r.id)}),n&&T(()=>{this.areas.forEach(r=>r.destroy()),this.areas.clear()}),o.OnPlayerEnterDynamicArea((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.areas.get(i);return s?m(this,"onPlayerEnter")(a,s):0}),o.OnPlayerLeaveDynamicArea((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.areas.get(i);return s?m(this,"onPlayerLeave")(a,s):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.AREA){const s=this.areas.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.AREA){const s=this.areas.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getAreasArr(){return[...this.areas.values()]}getAreasMap(){return this.areas}}var ae=(e=>(e.created="OnTextDrawCreate",e.destroyed="OnTextDrawDestroy",e))(ae||{});const Ee=new L;class g{static createdGlobalCount=0;static createdPlayerCount=0;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[TextDraw]: Unable to create the textdraw again");const{x:t,y:n,text:r,player:i}=this.sourceInfo;if(i){if(g.createdPlayerCount===B.MAX_TEXT_DRAWS)return _.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Ca(i.id,t,n,r),g.createdPlayerCount++,samp.addEventListener("OnPlayerDisconnect",this.unregisterEvent)}else{if(g.createdGlobalCount===B.MAX_TEXT_DRAWS)return _.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=wr(t,n,r),g.createdGlobalCount++}return Ee.emit(ae.created,{key:{id:this.id,global:i===void 0},value:this}),this}destroy(){if(this.id===-1)return g.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(Ea(t.id,this.id),g.createdPlayerCount--):(kr(this.id),g.createdGlobalCount--),Ee.emit(ae.destroyed,{id:this.id,global:t===void 0}),this._id=-1,this}setFont(t){if(this.id===-1)return g.beforeCreateWarn("set font");const{player:n}=this.sourceInfo;return n?ka(n.id,this.id,t):Wr(this.id,t),this}setColour(t){if(this.id===-1)return g.beforeCreateWarn("set Colour");const{player:n}=this.sourceInfo;return n?La(n.id,this.id,t):Nr(this.id,t),this}setBoxColours(t){if(this.id===-1)return g.beforeCreateWarn("set box Colour");const{player:n}=this.sourceInfo;return n?ba(n.id,this.id,t):Hr(this.id,t),this}setBackgroundColours(t){if(this.id===-1)return g.beforeCreateWarn("set background Colour");const{player:n}=this.sourceInfo;return n?wa(n.id,this.id,t):Ur(this.id,t),this}setAlignment(t){if(this.id===-1)return g.beforeCreateWarn("set alignment");const{player:n}=this.sourceInfo;return n?Da(n.id,this.id,t):Fr(this.id,t),this}setLetterSize(t,n){if(this.id===-1)return g.beforeCreateWarn("set letter size");const{player:r}=this.sourceInfo;return r?Ta(r.id,this.id,t,n):Gr(this.id,t,n),this}setOutline(t){if(this.id===-1)return g.beforeCreateWarn("set outline model");if(t<0)return _.warn("[TextDraw]: Invalid outline value");const{player:n}=this.sourceInfo;return n?Ba(n.id,this.id,t):Vr(this.id,t),this}setPreviewModel(t){if(this.id===-1)return g.beforeCreateWarn("set preview model");this.setFont(z.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?Ha(n.id,this.id,t):Qr(this.id,t),this}setPreviewRot(t,n,r,i=1){if(this.id===-1)return g.beforeCreateWarn("set preview rot");this.setFont(z.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?xa(a.id,this.id,t,n,r,i):qr(this.id,t,n,r,i),this}setPreviewVehColours(t,n){if(this.id===-1)return g.beforeCreateWarn("set preview veh col");this.setFont(z.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?Va(r.id,this.id,t,n):$r(this.id,t,n),this}setProportional(t=!0){if(this.id===-1)return g.beforeCreateWarn("set Proportional");const{player:n}=this.sourceInfo;return n?Ga(n.id,this.id,t):Kr(this.id,t),this}setSelectable(t){if(this.id===-1)return g.beforeCreateWarn("set Selectable");const{player:n}=this.sourceInfo;return n?Ma(n.id,this.id,t):jr(this.id,t),this}setShadow(t){if(this.id===-1)return g.beforeCreateWarn("set shadow");if(t<0)return _.warn("[TextDraw]: Invalid shadow value");const{player:n}=this.sourceInfo;return n?Oa(n.id,this.id,t):xr(this.id,t),this}setString(t){if(this.id===-1)return g.beforeCreateWarn("set string");if(t.length===0||t.length>1024)return _.warn("[TextDraw]: Invalid text length");const{player:n}=this.sourceInfo;return n?va(n.id,this.id,t):Jr(this.id,t),this}setTextSize(t,n){return this.id===-1?g.beforeCreateWarn("set TextSize"):(Mr(this.id,t,n),this)}useBox(t){if(this.id===-1)return g.beforeCreateWarn("set TextSize");const{player:n}=this.sourceInfo;return n?Ra(n.id,this.id,t):vr(this.id,t),this}static beforeCreateWarn(t){_.warn(`[TextDraw]: Unable to ${t} before create`)}unregisterEvent(){return this.destroy(),samp.removeEventListener("OnPlayerDisconnect",this.unregisterEvent),1}show(t){if(this.id===-1)return g.beforeCreateWarn("show");const n=this.sourceInfo.player;if(n)Fa(n.id,this.id);else if(t)Zr(t.id,this.id);else return _.warn("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return g.beforeCreateWarn("hide");const n=this.sourceInfo.player;if(n)Na(n.id,this.id);else if(t)zr(t.id,this.id);else return _.warn("[TextDraw]: invalid player for hide");return this}showAll(){return this.id===-1?g.beforeCreateWarn("show"):this.sourceInfo.player?_.warn("[TextDraw]: player's textdraw should not be show for all."):(Xr(this.id),this)}hideAll(){return this.id===-1?g.beforeCreateWarn("hideAll"):this.sourceInfo.player?_.warn("[TextDraw]: player's textdraw should not be hide for all."):(Yr(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?c.IsValidPlayer3DTextLabel(t.id,this.id):c.IsValidTextDraw(this.id)}isVisibleForPlayer(t){return this.id===-1?!1:c.IsTextDrawVisibleForPlayer(t.id,this.id)}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetString(t.id,this.id):c.TextDrawGetString(this.id)}setPos(t,n){if(this.id===-1)return g.beforeCreateWarn("set position");const r=this.sourceInfo.player;return r?c.PlayerTextDrawSetPos(r.id,this.id,t,n):c.TextDrawSetPos(this.id,t,n),this}getLetterSize(){if(this.id===-1)return g.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetLetterSize(t.id,this.id):c.TextDrawGetLetterSize(this.id)}getTextSize(){if(this.id===-1)return g.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetTextSize(t.id,this.id):c.TextDrawGetTextSize(this.id)}getPos(){if(this.id===-1)return g.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPos(t.id,this.id):c.TextDrawGetPos(this.id)}getColour(){if(this.id===-1)return g.beforeCreateWarn("get Colour");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetColour(t.id,this.id):c.TextDrawGetColour(this.id)}getBoxColour(){if(this.id===-1)return g.beforeCreateWarn("get box Colour");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetBoxColour(t.id,this.id):c.TextDrawGetBoxColour(this.id)}getBackgroundColour(){if(this.id===-1)return g.beforeCreateWarn("get bg Colour");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetBackgroundColour(t.id,this.id):c.TextDrawGetBackgroundColour(this.id)}getShadow(){if(this.id===-1)return g.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetShadow(t.id,this.id):c.TextDrawGetShadow(this.id)}getOutline(){if(this.id===-1)return g.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetOutline(t.id,this.id):c.TextDrawGetOutline(this.id)}getFont(){if(this.id===-1)return g.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetFont(t.id,this.id):c.TextDrawGetFont(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.PlayerTextDrawIsBox(t.id,this.id):c.TextDrawIsBox(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.PlayerTextDrawIsProportional(t.id,this.id):c.TextDrawIsProportional(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.PlayerTextDrawIsSelectable(t.id,this.id):c.TextDrawIsSelectable(this.id)}getAlignment(){if(this.id===-1)return g.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetAlignment(t.id,this.id):c.TextDrawGetAlignment(this.id)}getPreviewModel(){if(this.id===-1)return g.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPreviewModel(t.id,this.id):c.TextDrawGetPreviewModel(this.id)}getPreviewRot(){if(this.id===-1)return g.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPreviewRot(t.id,this.id):c.TextDrawGetPreviewRot(this.id)}getPreviewVehColours(){if(this.id===-1)return g.beforeCreateWarn("get preview vel Colours");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPreviewVehicleColours(t.id,this.id):c.TextDrawGetPreviewVehicleColours(this.id)}}class uo{textDraws=new Map;players;constructor(t,n=!0){this.players=t,Ee.on(ae.created,r=>{this.textDraws.set(r.key,r.value)}),Ee.on(ae.destroyed,r=>{this.textDraws.has(r)&&this.textDraws.delete(r)}),n&&T(()=>{this.textDraws.forEach(r=>r.destroy()),this.textDraws.clear()}),on((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.textDraws.get({id:i,global:!0});return m(this,"onPlayerClick")(a,s||C.TEXT_DRAW)}),ln((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.textDraws.get({id:i,global:!1});return m(this,"onPlayerClick")(a,s||C.TEXT_DRAW)})}}Object.defineProperty(exports,"E_STREAMER",{enumerable:!0,get:function(){return o.E_STREAMER}}),Object.defineProperty(exports,"MapIconStyles",{enumerable:!0,get:function(){return o.MapIconStyles}}),Object.defineProperty(exports,"MaterialTextSizes",{enumerable:!0,get:function(){return o.MaterialTextSizes}}),Object.defineProperty(exports,"StreamerAreaTypes",{enumerable:!0,get:function(){return o.StreamerAreaTypes}}),Object.defineProperty(exports,"StreamerDistances",{enumerable:!0,get:function(){return o.StreamerDistances}}),Object.defineProperty(exports,"StreamerItemTypes",{enumerable:!0,get:function(){return o.StreamerItemTypes}}),Object.defineProperty(exports,"StreamerMiscellaneous",{enumerable:!0,get:function(){return o.StreamerMiscellaneous}}),Object.defineProperty(exports,"StreamerObjectTypes",{enumerable:!0,get:function(){return o.StreamerObjectTypes}}),Object.defineProperty(exports,"GangZonePos",{enumerable:!0,get:function(){return c.GangZonePos}}),Object.defineProperty(exports,"IActorAnimation",{enumerable:!0,get:function(){return c.IActorAnimation}}),Object.defineProperty(exports,"IActorSpawn",{enumerable:!0,get:function(){return c.IActorSpawn}}),Object.defineProperty(exports,"IAttachedData",{enumerable:!0,get:function(){return c.IAttachedData}}),Object.defineProperty(exports,"IAttachedObject",{enumerable:!0,get:function(){return c.IAttachedObject}}),Object.defineProperty(exports,"IBounds",{enumerable:!0,get:function(){return c.IBounds}}),Object.defineProperty(exports,"ICheckPoint",{enumerable:!0,get:function(){return c.ICheckPoint}}),Object.defineProperty(exports,"IMaterial",{enumerable:!0,get:function(){return c.IMaterial}}),Object.defineProperty(exports,"IMaterialText",{enumerable:!0,get:function(){return c.IMaterialText}}),Object.defineProperty(exports,"IObjectPos",{enumerable:!0,get:function(){return c.IObjectPos}}),Object.defineProperty(exports,"IObjectRotPos",{enumerable:!0,get:function(){return c.IObjectRotPos}}),Object.defineProperty(exports,"IOffsets",{enumerable:!0,get:function(){return c.IOffsets}}),Object.defineProperty(exports,"IPlayerClass",{enumerable:!0,get:function(){return c.IPlayerClass}}),Object.defineProperty(exports,"IQuat",{enumerable:!0,get:function(){return c.IQuat}}),Object.defineProperty(exports,"IRaceCheckPoint",{enumerable:!0,get:function(){return c.IRaceCheckPoint}}),Object.defineProperty(exports,"ITextDrawCommonSize",{enumerable:!0,get:function(){return c.ITextDrawCommonSize}}),Object.defineProperty(exports,"ITextDrawRot",{enumerable:!0,get:function(){return c.ITextDrawRot}}),Object.defineProperty(exports,"IVehColor",{enumerable:!0,get:function(){return c.IVehColor}}),Object.defineProperty(exports,"IVehMatrix",{enumerable:!0,get:function(){return c.IVehMatrix}}),Object.defineProperty(exports,"IVehSpawnInfo",{enumerable:!0,get:function(){return c.IVehSpawnInfo}}),exports.ArtworkEnum=Ge,exports.BodyPartsEnum=ze,exports.BoneIdsEnum=Xe,exports.BulletHitTypesEnum=tt,exports.CameraCutStylesEnum=oe,exports.CameraModesEnum=Ze,exports.CarModTypeEnum=Je,exports.ClickSourcesEnum=Me,exports.ConnectionStatusEnum=Ne,exports.DamageDeathReasonEnum=be,exports.Dialog=D,exports.DialogStylesEnum=Le,exports.Dynamic3DTextLabel=oo,exports.Dynamic3dTextLabelEvent=lo,exports.DynamicActor=ao,exports.DynamicActorEvent=so,exports.DynamicArea=de,exports.DynamicAreaEvent=ho,exports.DynamicCheckPointEvent=no,exports.DynamicCheckpoint=to,exports.DynamicMapIcon=Qd,exports.DynamicMapIconEvent=qd,exports.DynamicObject=_o,exports.DynamicObjectEvent=co,exports.DynamicPickup=$d,exports.DynamicPickupEvent=eo,exports.DynamicRaceCP=ro,exports.DynamicRaceCPEvent=io,exports.ERecordStatus=w,exports.EditResponseTypesEnum=Fe,exports.FightingStylesEnum=Ke,exports.GameMode=se,exports.GameText=Xd,exports.GangZone=N,exports.GangZoneEvent=Jd,exports.I18n=I,exports.InvalidEnum=C,exports.KeysEnum=ve,exports.LimitsEnum=B,exports.MapIconStylesEnum=je,exports.MarkerModesEnum=He,exports.Menu=Te,exports.MenuEvent=Yd,exports.NPCPlaybackEnum=xe,exports.NetStats=zd,exports.NpcEvent=En,exports.NpcFunc=G,exports.ObjectMaterialAlignmmentEnum=Ue,exports.ObjectMaterialTextSizeEnum=Ve,exports.Player=k,exports.PlayerEvent=Z,exports.PlayerStateEnum=v,exports.RecordTypesEnum=rt,exports.SelectObjectTypesEnum=We,exports.SpecialActionsEnum=Re,exports.SpectateModesEnum=le,exports.Streamer=A,exports.TextDraw=g,exports.TextDrawAlignEnum=Ye,exports.TextDrawEvent=uo,exports.TextDrawFontsEnum=z,exports.Vehicle=V,exports.VehicleEvent=Kd,exports.VehicleModelInfoEnum=qe,exports.VehicleParamsEnum=Qe,exports.WeaponEnum=$e,exports.WeaponSkillsEnum=et,exports.WeaponStatesEnum=nt,exports.rgba=p;
|