@infernus/core 0.13.3 → 0.13.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bundle.mjs CHANGED
@@ -1,3 +1,3 @@
1
- import Hi from"node:util";import Ui from"iconv-lite";var vt=(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))(vt||{}),bt=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(bt||{}),dt=(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))(dt||{}),Lt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Lt||{}),wt=(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))(wt||{}),l=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.NPC_ID=-1]="NPC_ID",e[e.PATH_ID=-1]="PATH_ID",e[e.NODE_ID=-1]="NODE_ID",e[e.RECORD_ID=-1]="RECORD_ID",e[e.VEHICLE_ID=65535]="VEHICLE_ID",e[e.ACTOR_ID=65535]="ACTOR_ID",e[e.OBJECT_ID=65535]="OBJECT_ID",e[e.MENU=-1]="MENU",e[e.TEXT_DRAW=65535]="TEXT_DRAW",e[e.PLAYER_TEXT_DRAW=65535]="PLAYER_TEXT_DRAW",e[e.GANG_ZONE=-1]="GANG_ZONE",e[e._3DTEXT_ID=65535]="_3DTEXT_ID",e[e.PLAYER_3DTEXT_ID=65535]="PLAYER_3DTEXT_ID",e[e.PICKUP_ID=-1]="PICKUP_ID",e))(l||{}),Rt=(e=>(e[e.NONE=0]="NONE",e[e.ACTION=1]="ACTION",e[e.CROUCH=2]="CROUCH",e[e.FIRE=4]="FIRE",e[e.SPRINT=8]="SPRINT",e[e.SECONDARY_ATTACK=16]="SECONDARY_ATTACK",e[e.JUMP=32]="JUMP",e[e.LOOK_RIGHT=64]="LOOK_RIGHT",e[e.HANDBRAKE=128]="HANDBRAKE",e[e.LOOK_LEFT=256]="LOOK_LEFT",e[e.SUBMISSION=512]="SUBMISSION",e[e.LOOK_BEHIND=512]="LOOK_BEHIND",e[e.WALK=1024]="WALK",e[e.ANALOG_UP=2048]="ANALOG_UP",e[e.ANALOG_DOWN=4096]="ANALOG_DOWN",e[e.ANALOG_LEFT=8192]="ANALOG_LEFT",e[e.ANALOG_RIGHT=16384]="ANALOG_RIGHT",e[e.YES=65536]="YES",e[e.NO=131072]="NO",e[e.CTRL_BACK=262144]="CTRL_BACK",e[e.KEY_UP=-128]="KEY_UP",e[e.KEY_DOWN=128]="KEY_DOWN",e[e.KEY_LEFT=-128]="KEY_LEFT",e[e.KEY_RIGHT=128]="KEY_RIGHT",e))(Rt||{}),H=(e=>(e[e.MAX_PLAYER_NAME=24]="MAX_PLAYER_NAME",e[e.MAX_PLAYERS=1e3]="MAX_PLAYERS",e[e.MAX_VEHICLES=2e3]="MAX_VEHICLES",e[e.MAX_ACTORS=1e3]="MAX_ACTORS",e[e.MAX_OBJECTS=1e3]="MAX_OBJECTS",e[e.MAX_GANG_ZONES=1024]="MAX_GANG_ZONES",e[e.MAX_TEXT_DRAWS=2048]="MAX_TEXT_DRAWS",e[e.MAX_PLAYER_TEXT_DRAWS=256]="MAX_PLAYER_TEXT_DRAWS",e[e.MAX_MENUS=128]="MAX_MENUS",e[e.MAX_MENU_ROW=12]="MAX_MENU_ROW",e[e.MAX_MENU_COL=2]="MAX_MENU_COL",e[e.MAX_3DTEXT_GLOBAL=1024]="MAX_3DTEXT_GLOBAL",e[e.MAX_3DTEXT_PLAYER=1024]="MAX_3DTEXT_PLAYER",e[e.MAX_PICKUPS=4096]="MAX_PICKUPS",e[e.MAX_PLAYER_ATTACHED_OBJECTS=10]="MAX_PLAYER_ATTACHED_OBJECTS",e[e.MAX_CHATBUBBLE_LENGTH=144]="MAX_CHATBUBBLE_LENGTH",e[e.NPC_MAX_NODES=64]="NPC_MAX_NODES",e[e.MAX_NPCS=1e3]="MAX_NPCS",e[e.MAX_WORLD_BOUNDS=2e4]="MAX_WORLD_BOUNDS",e[e.MIN_WORLD_BOUNDS=-2e4]="MIN_WORLD_BOUNDS",e[e.MAX_TEXTDRAW_STR_LENGTH=800]="MAX_TEXTDRAW_STR_LENGTH",e[e.MAX_VEHICLE_CARRIAGES=3]="MAX_VEHICLE_CARRIAGES",e[e.MAX_GAMETEXT_STYLES=16]="MAX_GAMETEXT_STYLES",e[e.MIN_CUSTOM_SKIN_ID=20001]="MIN_CUSTOM_SKIN_ID",e[e.MAX_CUSTOM_SKIN_ID=3e4]="MAX_CUSTOM_SKIN_ID",e[e.MIN_CUSTOM_OBJECT_ID=-3e4]="MIN_CUSTOM_OBJECT_ID",e[e.MAX_CUSTOM_OBJECT_ID=-1e3]="MAX_CUSTOM_OBJECT_ID",e))(H||{}),Ot=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(Ot||{}),Gt=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Gt||{}),jt=(e=>(e[e.NONE=0]="NONE",e[e.START=1]="START",e[e.PAUSE=2]="PAUSE",e))(jt||{}),at=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.WALK=1]="WALK",e[e.JOG=2]="JOG",e[e.SPRINT=3]="SPRINT",e[e.DRIVE=4]="DRIVE",e[e.AUTO=5]="AUTO",e))(at||{}),Ye=(e=>(e[e.NONE=0]="NONE",e[e.PLAYER=1]="PLAYER",e[e.NPC=2]="NPC",e[e.ACTOR=4]="ACTOR",e[e.VEHICLE=8]="VEHICLE",e[e.OBJECT=16]="OBJECT",e[e.POBJECT_ORIG=32]="POBJECT_ORIG",e[e.POBJECT_TARG=64]="POBJECT_TARG",e[e.MAP=128]="MAP",e[e.ALL=255]="ALL",e))(Ye||{}),Re=(e=>(e[e.AUTO=-1]="AUTO",e[e.WALK=.1552086]="WALK",e[e.JOG=.56444]="JOG",e[e.SPRINT=.926784]="SPRINT",e))(Re||{}),Ft=(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))(Ft||{}),Mt=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Mt||{}),ge=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(ge||{}),ht=(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))(ht||{}),Vt=(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))(Vt||{}),ze=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(ze||{}),Bt=(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))(Bt||{}),rt=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(rt||{}),Je=(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))(Je||{}),kt=(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))(kt||{}),xt=(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))(xt||{}),Ht=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(Ht||{}),gt=(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))(gt||{}),$e=(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))($e||{}),Ut=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Ut||{}),Wt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=-1]="NONE",e[e.SPOILER=0]="SPOILER",e[e.HOOD=1]="HOOD",e[e.ROOF=2]="ROOF",e[e.SIDESKIRT=3]="SIDESKIRT",e[e.LAMPS=4]="LAMPS",e[e.NITRO=5]="NITRO",e[e.EXHAUST=6]="EXHAUST",e[e.WHEELS=7]="WHEELS",e[e.STEREO=8]="STEREO",e[e.HYDRAULICS=9]="HYDRAULICS",e[e.FRONT_BUMPER=10]="FRONT_BUMPER",e[e.REAR_BUMPER=11]="REAR_BUMPER",e[e.VENT_RIGHT=12]="VENT_RIGHT",e[e.VENT_LEFT=13]="VENT_LEFT",e[e.FRONT_BULLBAR=14]="FRONT_BULLBAR",e[e.REAR_BULLBAR=15]="REAR_BULLBAR",e))(Wt||{}),Kt=(e=>(e[e.UNSET=-1]="UNSET",e[e.OFF=0]="OFF",e[e.ON=1]="ON",e))(Kt||{}),Xt=(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))(Xt||{}),Zt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.REASON_VEHICLE=49]="REASON_VEHICLE",e[e.REASON_DROWN=53]="REASON_DROWN",e[e.REASON_COLLISION=54]="REASON_COLLISION",e[e.REASON_SPLAT=54]="REASON_SPLAT",e[e.REASON_CONNECT=200]="REASON_CONNECT",e[e.REASON_DISCONNECT=200]="REASON_DISCONNECT",e[e.REASON_SUICIDE=255]="REASON_SUICIDE",e[e.FIST=0]="FIST",e[e.BRASSKNUCKLE=1]="BRASSKNUCKLE",e[e.GOLFCLUB=2]="GOLFCLUB",e[e.NIGHTSTICK=3]="NIGHTSTICK",e[e.KNIFE=4]="KNIFE",e[e.BAT=5]="BAT",e[e.SHOVEL=6]="SHOVEL",e[e.POOLSTICK=7]="POOLSTICK",e[e.KATANA=8]="KATANA",e[e.CHAINSAW=9]="CHAINSAW",e[e.DILDO=10]="DILDO",e[e.DILDO2=11]="DILDO2",e[e.VIBRATOR=12]="VIBRATOR",e[e.VIBRATOR2=13]="VIBRATOR2",e[e.FLOWER=14]="FLOWER",e[e.CANE=15]="CANE",e[e.GRENADE=16]="GRENADE",e[e.TEARGAS=17]="TEARGAS",e[e.MOLTOV=18]="MOLTOV",e[e.COLT45=22]="COLT45",e[e.SILENCED=23]="SILENCED",e[e.DEAGLE=24]="DEAGLE",e[e.SHOTGUN=25]="SHOTGUN",e[e.SAWEDOFF=26]="SAWEDOFF",e[e.SHOTGSPA=27]="SHOTGSPA",e[e.UZI=28]="UZI",e[e.MP5=29]="MP5",e[e.AK47=30]="AK47",e[e.M4=31]="M4",e[e.TEC9=32]="TEC9",e[e.RIFLE=33]="RIFLE",e[e.SNIPER=34]="SNIPER",e[e.ROCKETLAUNCHER=35]="ROCKETLAUNCHER",e[e.HEATSEEKER=36]="HEATSEEKER",e[e.FLAMETHROWER=37]="FLAMETHROWER",e[e.MINIGUN=38]="MINIGUN",e[e.SATCHEL=39]="SATCHEL",e[e.BOMB=40]="BOMB",e[e.SPRAYCAN=41]="SPRAYCAN",e[e.FIREEXTINGUISHER=42]="FIREEXTINGUISHER",e[e.CAMERA=43]="CAMERA",e[e.NIGHT_VISION_GOGGLES=44]="NIGHT_VISION_GOGGLES",e[e.THERMAL_GOGGLES=45]="THERMAL_GOGGLES",e[e.PARACHUTE=46]="PARACHUTE",e))(Zt||{}),Yt=(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))(Yt||{}),zt=(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))(zt||{}),ut=(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))(ut||{}),mt=(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))(mt||{}),Jt=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(Jt||{}),$t=(e=>(e[e.CIRCLE=0]="CIRCLE",e[e.CYLINDER=1]="CYLINDER",e[e.SPHERE=2]="SPHERE",e[e.RECTANGLE=3]="RECTANGLE",e[e.CUBOID=4]="CUBOID",e[e.POLYGON=5]="POLYGON",e))($t||{}),V=(e=>(e[e.OBJECT_SD=300]="OBJECT_SD",e[e.OBJECT_DD=0]="OBJECT_DD",e[e.PICKUP_SD=200]="PICKUP_SD",e[e.CP_SD=200]="CP_SD",e[e.RACE_CP_SD=200]="RACE_CP_SD",e[e.MAP_ICON_SD=200]="MAP_ICON_SD",e[e.TEXT_3D_LABEL_SD=200]="TEXT_3D_LABEL_SD",e[e.ACTOR_SD=200]="ACTOR_SD",e))(V||{}),T=(e=>(e[e.OBJECT=0]="OBJECT",e[e.PICKUP=1]="PICKUP",e[e.CP=2]="CP",e[e.RACE_CP=3]="RACE_CP",e[e.MAP_ICON=4]="MAP_ICON",e[e.TEXT_3D_LABEL=5]="TEXT_3D_LABEL",e[e.AREA=6]="AREA",e[e.ACTOR=7]="ACTOR",e))(T||{}),P=(e=>(e[e.MAX_TYPES=8]="MAX_TYPES",e[e.MAX_AREA_TYPES=5]="MAX_AREA_TYPES",e[e.MAX_OBJECT_TYPES=3]="MAX_OBJECT_TYPES",e[e.INVALID_ID=0]="INVALID_ID",e))(P||{}),nt=(e=>(e[e.GLOBAL=0]="GLOBAL",e[e.PLAYER=1]="PLAYER",e[e.DYNAMIC=2]="DYNAMIC",e))(nt||{}),le=(e=>(e[e.AREA_ID=0]="AREA_ID",e[e.ATTACHED_OBJECT=1]="ATTACHED_OBJECT",e[e.ATTACHED_PLAYER=2]="ATTACHED_PLAYER",e[e.ATTACHED_VEHICLE=3]="ATTACHED_VEHICLE",e[e.ATTACH_OFFSET_X=4]="ATTACH_OFFSET_X",e[e.ATTACH_OFFSET_Y=5]="ATTACH_OFFSET_Y",e[e.ATTACH_OFFSET_Z=6]="ATTACH_OFFSET_Z",e[e.ATTACH_R_X=7]="ATTACH_R_X",e[e.ATTACH_R_Y=8]="ATTACH_R_Y",e[e.ATTACH_R_Z=9]="ATTACH_R_Z",e[e.ATTACH_X=10]="ATTACH_X",e[e.ATTACH_Y=11]="ATTACH_Y",e[e.ATTACH_Z=12]="ATTACH_Z",e[e.COLOR=13]="COLOR",e[e.DRAW_DISTANCE=14]="DRAW_DISTANCE",e[e.EXTRA_ID=15]="EXTRA_ID",e[e.HEALTH=16]="HEALTH",e[e.INTERIOR_ID=17]="INTERIOR_ID",e[e.INVULNERABLE=18]="INVULNERABLE",e[e.MAX_X=19]="MAX_X",e[e.MAX_Y=20]="MAX_Y",e[e.MAX_Z=21]="MAX_Z",e[e.MIN_X=22]="MIN_X",e[e.MIN_Y=23]="MIN_Y",e[e.MIN_Z=24]="MIN_Z",e[e.MODEL_ID=25]="MODEL_ID",e[e.MOVE_R_X=26]="MOVE_R_X",e[e.MOVE_R_Y=27]="MOVE_R_Y",e[e.MOVE_R_Z=28]="MOVE_R_Z",e[e.MOVE_SPEED=29]="MOVE_SPEED",e[e.MOVE_X=30]="MOVE_X",e[e.MOVE_Y=31]="MOVE_Y",e[e.MOVE_Z=32]="MOVE_Z",e[e.NEXT_X=33]="NEXT_X",e[e.NEXT_Y=34]="NEXT_Y",e[e.NEXT_Z=35]="NEXT_Z",e[e.PLAYER_ID=36]="PLAYER_ID",e[e.PRIORITY=37]="PRIORITY",e[e.ROTATION=38]="ROTATION",e[e.R_X=39]="R_X",e[e.R_Y=40]="R_Y",e[e.R_Z=41]="R_Z",e[e.SIZE=42]="SIZE",e[e.STREAM_DISTANCE=43]="STREAM_DISTANCE",e[e.STYLE=44]="STYLE",e[e.SYNC_ROTATION=45]="SYNC_ROTATION",e[e.TEST_LOS=46]="TEST_LOS",e[e.TYPE=47]="TYPE",e[e.WORLD_ID=48]="WORLD_ID",e[e.X=49]="X",e[e.Y=50]="Y",e[e.Z=51]="Z",e))(le||{}),Qt=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Qt||{}),st=(e=>(e[e.SIZE_32x32=10]="SIZE_32x32",e[e.SIZE_64x32=20]="SIZE_64x32",e[e.SIZE_64x64=30]="SIZE_64x64",e[e.SIZE_128x32=40]="SIZE_128x32",e[e.SIZE_128x64=50]="SIZE_128x64",e[e.SIZE_128x128=60]="SIZE_128x128",e[e.SIZE_256x32=70]="SIZE_256x32",e[e.SIZE_256x64=80]="SIZE_256x64",e[e.SIZE_256x128=90]="SIZE_256x128",e[e.SIZE_256x256=100]="SIZE_256x256",e[e.SIZE_512x64=110]="SIZE_512x64",e[e.SIZE_512x128=120]="SIZE_512x128",e[e.SIZE_512x256=130]="SIZE_512x256",e[e.SIZE_512x512=140]="SIZE_512x512",e))(st||{});const qt=-1,Wi=-1,Ki=-1,Xi=-1,Zi=0,Yi=-1e3,zi=-1e3,Ji=-1e3,$i=0,ei=32,Qi=300,qi=!0,lt=1,ea=e=>samp.callNative("DestroyDynamic3DTextLabel","i",e),ti=e=>!!samp.callNative("IsValidDynamic3DTextLabel","i",e),ta=(e,t,i,a,r,n=!0,s=100,o=0,_=-1,d=-1,h=V.ACTOR_SD,u=-1,I=0)=>samp.callNative("CreateDynamicActor","iffffifiiifii",e,t,i,a,r,n,s,o,_,d,h,u,I),ia=e=>samp.callNative("DestroyDynamicActor","i",e),aa=e=>!!samp.callNative("IsValidDynamicActor","i",e),ra=(e,t)=>!!samp.callNative("IsDynamicActorStreamedIn","ii",e,t),na=e=>samp.callNative("GetDynamicActorVirtualWorld","i",e),sa=(e,t)=>samp.callNative("SetDynamicActorVirtualWorld","ii",e,t),la=(e,t,i,a,r,n,s,o,_)=>samp.callNative("ApplyDynamicActorAnimation","issfiiiii",e,t,i,a,r,n,s,o,_),oa=e=>samp.callNative("ClearDynamicActorAnimations","i",e),_a=e=>{const[t,i]=samp.callNative("GetDynamicActorFacingAngle","iF",e);return{angle:t,ret:i}},ca=(e,t)=>samp.callNative("SetDynamicActorFacingAngle","if",e,t),da=e=>{const[t,i,a,r]=samp.callNative("GetDynamicActorPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},ha=(e,t,i,a)=>samp.callNative("SetDynamicActorPos","ifff",e,t,i,a),ga=e=>{const[t,i]=samp.callNative("GetDynamicActorHealth","iF",e);return{health:t,ret:i}},ua=(e,t)=>samp.callNative("SetDynamicActorHealth","if",e,t),ma=(e,t=!0)=>samp.callNative("SetDynamicActorInvulnerable","ii",e,t),fa=e=>!!samp.callNative("IsDynamicActorInvulnerable","i",e),Pa=e=>samp.callNative("GetPlayerTargetDynamicActor","i",e),pa=e=>samp.callNative("GetPlayerCameraTargetDynActor","i",e),Ia=e=>{const[t,i,a=0,r=0,n=0,s=0,o=0,_=0,d]=samp.callNative("GetDynamicActorAnimation","iSSFIIIIIii",e,32,32);return{animLib:t,animName:i,fDelta:a,loop:r,lockX:n,lockY:s,freeze:o,time:_,ret:d}},Sa=(e,t,i,a=-1,r=-1,n=-1,s=0)=>samp.callNative("CreateDynamicCircle","fffiiii",e,t,i,a,r,n,s),ya=(e,t,i,a,r,n=-1,s=-1,o=-1,_=0)=>samp.callNative("CreateDynamicCylinder","fffffiiii",e,t,i,a,r,n,s,o,_),Ca=(e,t,i,a,r=-1,n=-1,s=-1,o=0)=>samp.callNative("CreateDynamicSphere","ffffiiii",e,t,i,a,r,n,s,o),Aa=(e,t,i,a,r=-1,n=-1,s=-1,o=0)=>samp.callNative("CreateDynamicRectangle","ffffiiii",e,t,i,a,r,n,s,o),Ea=(e,t,i,a,r,n,s=-1,o=-1,_=-1,d=0)=>samp.callNative("CreateDynamicCuboid","ffffffiiii",e,t,i,a,r,n,s,o,_,d),Na=(e,t=Number.MIN_VALUE,i=Number.MAX_VALUE,a=-1,r=-1,n=-1,s=0)=>samp.callNative("CreateDynamicPolygon","affiiiii",e,t,i,e.length,a,r,n,s),Da=e=>samp.callNative("DestroyDynamicArea","i",e),Ta=e=>!!samp.callNative("IsValidDynamicArea","i",e),va=e=>samp.callNative("GetDynamicAreaType","i",e),ba=e=>{const[t,i]=samp.callNative("GetDynamicPolygonPoints","iAi",e,ii(e));return{points:t,ret:i}},ii=e=>samp.callNative("GetDynamicPolygonNumberPoints","i",e),La=(e,t,i=!1)=>!!samp.callNative("IsPlayerInDynamicArea","iii",e,t,i),wa=(e,t=!1)=>!!samp.callNative("IsPlayerInAnyDynamicArea","ii",e,t),Ra=(e,t=!1)=>!!samp.callNative("IsAnyPlayerInDynamicArea","ii",e,t),Oa=(e=!1)=>!!samp.callNative("IsAnyPlayerInAnyDynamicArea","i",e),Ga=e=>{const[t,i]=samp.callNative("GetPlayerDynamicAreas","iAi",e,ai(e));return{areas:t,ret:i}},ai=e=>samp.callNative("GetPlayerNumberDynamicAreas","i",e),ja=(e,t,i,a)=>!!samp.callNative("IsPointInDynamicArea","ifff",e,t,i,a),Fa=(e,t,i)=>!!samp.callNative("IsPointInAnyDynamicArea","fff",e,t,i),Ma=(e,t,i,a,r,n,s)=>!!samp.callNative("IsLineInDynamicArea","iffffff",e,t,i,a,r,n,s),Va=(e,t,i,a,r,n)=>!!samp.callNative("IsLineInAnyDynamicArea","ffffff",e,t,i,a,r,n),Ba=(e,t,i)=>{const[a,r]=samp.callNative("GetDynamicAreasForPoint","fffAi",e,t,i,ri(e,t,i));return{areas:a,ret:r}},ri=(e,t,i)=>samp.callNative("GetNumberDynamicAreasForPoint","fff",e,t,i),ka=(e,t,i,a,r,n)=>{const[s,o]=samp.callNative("GetDynamicAreasForLine","ffffffAi",e,t,i,a,r,n,ni(e,t,i,a,r,n));return{areas:s,ret:o}},ni=(e,t,i,a,r,n)=>samp.callNative("GetNumberDynamicAreasForLine","ffffff",e,t,i,a,r,n),xa=(e,t,i=nt.DYNAMIC,a=65535,r=0,n=0,s=0)=>samp.callNative("AttachDynamicAreaToObject","iiiifff",e,t,i,a,r,n,s),Ha=(e,t,i=0,a=0,r=0)=>samp.callNative("AttachDynamicAreaToPlayer","iifff",e,t,i,a,r),Ua=(e,t,i=0,a=0,r=0)=>samp.callNative("AttachDynamicAreaToVehicle","iifff",e,t,i,a,r),Wa=(e,t)=>samp.callNative("ToggleDynAreaSpectateMode","ii",e,t),Ka=e=>!!samp.callNative("IsToggleDynAreaSpectateMode","i",e),Xa=(e,t,i,a,r=-1,n=-1,s=-1,o=V.CP_SD,_=-1,d=0)=>samp.callNative("CreateDynamicCP","ffffiiifii",e,t,i,a,r,n,s,o,_,d),Za=e=>samp.callNative("DestroyDynamicCP","i",e),ft=e=>!!samp.callNative("IsValidDynamicCP","i",e),Ya=(e,t,i)=>samp.callNative("TogglePlayerDynamicCP","iii",e,t,i),za=(e,t)=>samp.callNative("TogglePlayerAllDynamicCPs","ii",e,t),Ja=(e,t)=>!!samp.callNative("IsPlayerInDynamicCP","ii",e,t),$a=e=>samp.callNative("GetPlayerVisibleDynamicCP","i",e),Qa=(e,t,i)=>{const[a,r]=samp.callNative("Streamer_GetFloatData","iiiF",e,t,i);return{val:a,ret:r}},qa=(e,t,i,a)=>samp.callNative("Streamer_SetFloatData","iiif",e,t,i,a),er=(e,t,i)=>samp.callNative("Streamer_GetIntData","iii",e,t,i),tr=(e,t,i,a)=>samp.callNative("Streamer_SetIntData","iiii",e,t,i,a),ir=(e,t,i)=>{const[a,r]=samp.callNative("Streamer_GetArrayData","iiiAi",e,t,i,si(e,t,i));return{arrayData:a,ret:r}},ar=(e,t,i,a)=>samp.callNative("Streamer_SetArrayData","iiiai",e,t,i,a,a.length),rr=(e,t,i,a)=>!!samp.callNative("Streamer_IsInArrayData","iiii",e,t,i,a),nr=(e,t,i,a)=>samp.callNative("Streamer_AppendArrayData","iiii",e,t,i,a),sr=(e,t,i,a)=>samp.callNative("Streamer_RemoveArrayData","iiii",e,t,i,a),si=(e,t,i)=>samp.callNative("Streamer_GetArrayDataLength","iii",e,t,i),lr=e=>samp.callNative("Streamer_GetUpperBound","i",e);var ot=(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))(ot||{});const or=(e,t,i,a,r,n=-1,s=-1,o=-1,_=V.MAP_ICON_SD,d=0,h=-1,u=0)=>samp.callNative("CreateDynamicMapIcon","fffiiiiifiii",e,t,i,a,r,n,s,o,_,d,h,u),_r=e=>samp.callNative("DestroyDynamicMapIcon","i",e),cr=e=>!!samp.callNative("IsValidDynamicMapIcon","i",e),dr=(e,t,i,a,r,n,s,o=V.OBJECT_SD,_=V.OBJECT_DD,d=[-1],h=[-1],u=[-1],I=[-1],C=0)=>samp.callNative("CreateDynamicObjectEx","iffffffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,u,I,C,d.length,h.length,u.length,I.length),hr=(e,t,i,a,r,n=V.PICKUP_SD,s=[-1],o=[-1],_=[-1],d=[-1],h=0)=>samp.callNative("CreateDynamicPickupEx","iiffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,s.length,o.length,_.length,d.length),gr=(e,t,i,a,r=V.CP_SD,n=[-1],s=[-1],o=[-1],_=[-1],d=0)=>samp.callNative("CreateDynamicCPEx","fffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,n.length,s.length,o.length,_.length),ur=(e,t,i,a,r,n,s,o,_=V.RACE_CP_SD,d=[-1],h=[-1],u=[-1],I=[-1],C=0)=>samp.callNative("CreateDynamicRaceCPEx","iffffffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,u,I,C,d.length,h.length,u.length,I.length),mr=(e,t,i,a,r,n=ot.LOCAL,s=V.MAP_ICON_SD,o=[-1],_=[-1],d=[-1],h=[-1],u=0)=>samp.callNative("CreateDynamicMapIconEx","fffiiifaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,u,o.length,_.length,d.length,h.length),fr=(e,t,i,a=[-1],r=[-1],n=[-1],s=0)=>samp.callNative("CreateDynamicCircleEx","fffaaaiiii",e,t,i,a,r,n,a.length,r.length,n.length,s),Pr=(e,t,i,a,r,n=[-1],s=[-1],o=[-1],_=0)=>samp.callNative("CreateDynamicCylinderEx","fffffaaaiiii",e,t,i,a,r,n,s,o,n.length,s.length,o.length,_),pr=(e,t,i,a,r=[-1],n=[-1],s=[-1],o=0)=>samp.callNative("CreateDynamicSphereEx","ffffaaaiiii",e,t,i,a,r,n,s,r.length,n.length,s.length,o),Ir=(e,t,i,a,r=[-1],n=[-1],s=[-1],o=0)=>samp.callNative("CreateDynamicRectangleEx","ffffaaaiiii",e,t,i,a,r,n,s,r.length,n.length,s.length,o),Sr=(e,t,i,a,r,n,s=[-1],o=[-1],_=[-1],d=0)=>samp.callNative("CreateDynamicCuboidEx","ffffffaaaiiii",e,t,i,a,r,n,s,o,_,s.length,o.length,_.length,d),yr=(e,t=Number.MIN_VALUE,i=Number.MAX_VALUE,a=[-1],r=[-1],n=[-1],s=0)=>samp.callNative("CreateDynamicPolygonEx","affiaaaiiii",e,t,i,e.length,a,r,n,a.length,r.length,n.length,s),Cr=(e,t,i,a,r,n=!0,s=100,o=V.ACTOR_SD,_=[0],d=[-1],h=[-1],u=[-1],I=0)=>samp.callNative("CreateDynamicActorEx","iffffiffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,u,I,_.length,d.length,h.length,u.length),Ar=(e,t,i,a,r,n=3)=>{const[s,o]=samp.callNative("Streamer_GetDistanceToItem","fffiiFi",e,t,i,a,r,n);return{distance:s,ret:o}},Er=(e,t,i,a)=>samp.callNative("Streamer_ToggleItem","iiii",e,t,i,a),Nr=(e,t,i)=>!!samp.callNative("Streamer_IsToggleItem","iii",e,t,i),Dr=(e,t,i,a=[-1])=>samp.callNative("Streamer_ToggleAllItems","iiiai",e,t,i,a,a.length),Tr=(e,t,i)=>samp.callNative("Streamer_GetItemInternalID","iii",e,t,i),vr=(e,t,i)=>samp.callNative("Streamer_GetItemStreamerID","iii",e,t,i),br=(e,t,i)=>!!samp.callNative("Streamer_IsItemVisible","iii",e,t,i),Lr=(e,t,i=lt)=>samp.callNative("Streamer_DestroyAllVisibleItems","iii",e,t,i),wr=(e,t,i=lt)=>samp.callNative("Streamer_CountVisibleItems","iii",e,t,i),Rr=(e,t=lt)=>samp.callNative("Streamer_DestroyAllItems","ii",e,t),Or=(e,t=lt)=>samp.callNative("Streamer_CountItems","ii",e,t),Gr=(e,t,i,a,r=ei,n=Qi,s=qt)=>{const[o=[],_=0]=samp.callNative("Streamer_GetNearbyItems","fffiAifi",e,t,i,a,r,n,s);return o.slice(0,_)},jr=(e,t,i=ei)=>{const[a=[],r=0]=samp.callNative("Streamer_GetAllVisibleItems","iiAi",e,t,i);return a.slice(0,r)},Fr=(e,t)=>{const[i,a,r,n]=samp.callNative("Streamer_GetItemPos","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Mr=(e,t,i,a,r)=>samp.callNative("Streamer_SetItemPos","iifff",e,t,i,a,r),Vr=(e,t)=>{const[i,a,r,n]=samp.callNative("Streamer_GetItemOffset","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Br=(e,t,i,a,r)=>samp.callNative("Streamer_SetItemOffset","iifff",e,t,i,a,r),kr=(e,t,i,a,r,n,s,o=qt,_=Wi,d=Ki,h=V.OBJECT_SD,u=V.OBJECT_DD,I=Xi,C=Zi)=>samp.callNative("CreateDynamicObject","iffffffiiiffii",e,t,i,a,r,n,s,o,_,d,h,u,I,C),xr=e=>samp.callNative("DestroyDynamicObject","i",e),Hr=e=>!!samp.callNative("IsValidDynamicObject","i",e),Ur=e=>{const[t,i,a,r]=samp.callNative("GetDynamicObjectPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},Wr=(e,t,i,a)=>samp.callNative("SetDynamicObjectPos","ifff",e,t,i,a),Kr=e=>{const[t,i,a,r]=samp.callNative("GetDynamicObjectRot","iFFF",e);return{rx:t,ry:i,rz:a,ret:r}},Xr=(e,t,i,a)=>samp.callNative("SetDynamicObjectRot","ifff",e,t,i,a),Zr=(e,t,i,a,r,n=Yi,s=zi,o=Ji)=>samp.callNative("MoveDynamicObject","ifffffff",e,t,i,a,r,n,s,o),Yr=e=>samp.callNative("StopDynamicObject","i",e),zr=e=>!!samp.callNative("IsDynamicObjectMoving","i",e),Jr=(e,t)=>samp.callNative("AttachCameraToDynamicObject","ii",e,t),$r=(e,t,i,a,r,n,s,o,_=qi)=>samp.callNative("AttachDynamicObjectToObject","iiffffffi",e,t,i,a,r,n,s,o,_),Qr=(e,t,i,a,r,n,s,o)=>samp.callNative("AttachDynamicObjectToPlayer","iiffffff",e,t,i,a,r,n,s,o),qr=(e,t,i,a,r,n,s,o)=>samp.callNative("AttachDynamicObjectToVehicle","iiffffff",e,t,i,a,r,n,s,o),en=(e,t)=>samp.callNative("EditDynamicObject","ii",e,t),tn=(e,t)=>!!samp.callNative("IsDynamicObjectMaterialUsed","ii",e,t),an=(e,t)=>samp.callNative("RemoveDynamicObjectMaterial","ii",e,t),rn=(e,t,i,a,r,n=$i)=>samp.callNative("SetDynamicObjectMaterial","iiissi",e,t,i,a,r,n),nn=(e,t)=>!!samp.callNative("IsDynamicObjectMaterialTextUsed","ii",e,t),sn=(e,t)=>samp.callNative("RemoveDynamicObjectMaterialText","ii",e,t),ln=e=>samp.callNative("GetPlayerCameraTargetDynObject","i",e),on=e=>!!samp.callNative("SetDynamicObjectNoCameraCol","i",e),_n=e=>!!samp.callNative("GetDynamicObjectNoCameraCol","i",e),cn=(e,t,i,a,r,n=-1,s=-1,o=-1,_=V.PICKUP_SD,d=-1,h=0)=>samp.callNative("CreateDynamicPickup","iifffiiifii",e,t,i,a,r,n,s,o,_,d,h),dn=e=>!!samp.callNative("DestroyDynamicPickup","i",e),hn=e=>!!samp.callNative("IsValidDynamicPickup","i",e),gn=(e,t,i,a,r,n,s,o,_=-1,d=-1,h=-1,u=V.RACE_CP_SD,I=-1,C=0)=>samp.callNative("CreateDynamicRaceCP","ifffffffiiifii",e,t,i,a,r,n,s,o,_,d,h,u,I,C),un=e=>samp.callNative("DestroyDynamicRaceCP","i",e),mn=(e,t,i)=>samp.callNative("TogglePlayerDynamicRaceCP","iii",e,t,i),fn=(e,t)=>samp.callNative("TogglePlayerAllDynamicRaceCPs","ii",e,t),Pn=(e,t)=>!!samp.callNative("IsPlayerInDynamicRaceCP","ii",e,t),pn=e=>samp.callNative("GetPlayerVisibleDynamicRaceCP","i",e),In=()=>samp.callNative("Streamer_GetTickRate",""),Sn=(e=50)=>samp.callNative("Streamer_SetTickRate","i",e),yn=e=>samp.callNative("Streamer_GetPlayerTickRate","i",e),Cn=(e,t=50)=>samp.callNative("Streamer_SetPlayerTickRate","ii",e,t),An=(e=!1)=>samp.callNative("Streamer_ToggleChunkStream","i",e),En=()=>!!samp.callNative("Streamer_IsToggleChunkStream",""),li=(e,t=-1)=>samp.callNative("Streamer_GetChunkTickRate","ii",e,t),oi=(e,t,i=-1)=>samp.callNative("Streamer_SetChunkTickRate","iii",e,t,i),Nn=e=>samp.callNative("Streamer_GetChunkSize","i",e),Dn=(e,t)=>samp.callNative("Streamer_SetChunkSize","ii",e,t),Tn=e=>samp.callNative("Streamer_GetMaxItems","i",e),vn=(e,t)=>samp.callNative("Streamer_SetMaxItems","ii",e,t),_i=(e,t=-1)=>samp.callNative("Streamer_GetVisibleItems","ii",e,t),ci=(e,t,i=-1)=>samp.callNative("Streamer_SetVisibleItems","iii",e,t,i),di=(e,t=-1)=>{const[i,a]=samp.callNative("Streamer_GetRadiusMultiplier","iFi",e,t);return{multiplier:i,ret:a}},hi=(e,t,i=-1)=>samp.callNative("Streamer_SetRadiusMultiplier","ifi",e,t,i),bn=()=>{const[e,t]=samp.callNative("Streamer_GetTypePriority","Ai",P.MAX_TYPES);return{priority:e,ret:t}},Ln=e=>samp.callNative("Streamer_SetTypePriority","ai",e,P.MAX_TYPES),wn=()=>{const[e,t]=samp.callNative("Streamer_GetCellDistance","F");return{distance:e,ret:t}},Rn=(e=600)=>samp.callNative("Streamer_SetCellDistance","f",e),On=()=>{const[e,t]=samp.callNative("Streamer_GetCellSize","F");return{size:e,ret:t}},Gn=(e=300)=>samp.callNative("Streamer_SetCellSize","f",e),jn=(e,t,i)=>samp.callNative("Streamer_ToggleItemStatic","iii",e,t,i),Fn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemStatic","ii",e,t),Mn=(e,t,i)=>samp.callNative("Streamer_ToggleItemInvAreas","iii",e,t,i),Vn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemInvAreas","ii",e,t),Bn=(e,t,i)=>samp.callNative("Streamer_ToggleItemCallbacks","iii",e,t,i),kn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemCallbacks","ii",e,t),xn=e=>samp.callNative("Streamer_ToggleErrorCallback","i",e),Hn=()=>!!samp.callNative("Streamer_IsToggleErrorCallback",""),Un=e=>samp.callNative("Streamer_AmxUnloadDestroyItems","i",e),Wn=()=>samp.callNative("Streamer_ProcessActiveItems",""),Kn=(e,t)=>samp.callNative("Streamer_ToggleIdleUpdate","ii",e,t),Xn=e=>!!samp.callNative("Streamer_IsToggleIdleUpdate","i",e),Zn=(e,t)=>samp.callNative("Streamer_ToggleCameraUpdate","ii",e,t),Yn=e=>!!samp.callNative("Streamer_IsToggleCameraUpdate","i",e),zn=(e,t,i)=>samp.callNative("Streamer_ToggleItemUpdate","iii",e,t,i),Jn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemUpdate","ii",e,t),$n=()=>{const[e,t]=samp.callNative("Streamer_GetLastUpdateTime","F");return{time:e,ret:t}},Qn=(e,t=-1)=>samp.callNative("Streamer_Update","ii",e,t),qn=(e,t,i,a,r=-1,n=-1,s=-1,o=-1,_=!0)=>samp.callNative("Streamer_UpdateEx","ifffiiiii",e,t,i,a,r,n,s,o,_),Q=new Map,gi=new Map;function es(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function ui(e,t,...i){const{defaultValue:a=!0,name:r,beforeEach:n,afterEach:s,throwOnError:o=!1}=e,_=Q.get(r);if(!_||!_.length)return+a;const d=n?n(...i):{},h=[];let u=t;const I=()=>{s&&(h.length?Promise.allSettled(h).then(()=>s(d)):s(d))},C=y=>{if(u++,u<_.length){try{y&&Object.assign(d,y);const L={next:C,defaultValue:a,...d},j=_[u](L);return j instanceof Promise?(h.push(j),a):j}catch(L){const j=`executing event [name:${r},index:${u}]`;if(o)throw new Error(j);console.log(j),L instanceof Error?console.log(L):console.log(JSON.stringify(L)),I()}return a}return I(),a};return es(C(),a)}function m(e){const{name:t,identifier:i,isNative:a=!0}=e;if(Q.has(t)){const o=`event [name:${t}] error: already defined.`;throw new Error(o)}function r(...o){if(o.length===1&&typeof o[0]=="object"&&o[0].__trigger__){const _=o[0];let d=-1;if(_.skipToNext){const h=Q.get(t);if(h&&h.length){const u=h.indexOf(_.skipToNext);u>-1&&(d=u)}}return ui(e,d,..._.args)}return ui(e,-1,...o)}function n(o,_=!1){Q.has(t)||Q.set(t,[]);const d=Q.get(t),h=(_?d.unshift(o):d.push(o))-1;return()=>{const u=Q.get(t);if(!u)return;const I=u.length-1,C=I<h?I:h;for(let y=C;y>=0;y--)if(u[y]===o){u.splice(y,1);break}return u.length===0&&Q.delete(t),u.length}}const s=[n,r];return a&&(typeof i<"u"&&samp.registerEvent(t,i),samp.on(t,r)),gi.set(t,r),s}function ts(e){return gi.get(e)}function is(e){return Object.assign(e,{__trigger__:!0})}function mi(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)==="[object Object]":!1}function as(e,t){const i={},a=Object.keys(e);for(let r=0;r<a.length;r++){const n=a[r],s=e[n];i[t(s,n,e)]=s}return i}function _t(e){return e==="__proto__"}function Qe(e,t){const i=Object.keys(t);for(let a=0;a<i.length;a++){const r=i[a];if(_t(r))continue;const n=t[r],s=e[r];Array.isArray(n)?Array.isArray(s)?e[r]=Qe(s,n):e[r]=Qe([],n):mi(n)?mi(s)?e[r]=Qe(s,n):e[r]=Qe({},n):(s===void 0||n!==void 0)&&(e[r]=n)}return e}function rs(e,t){const i={...e};for(let a=0;a<t.length;a++){const r=t[a];delete i[r]}return i}const ns=new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+","gu");function ss(e){return Array.from(e.match(ns)??[])}function Pt(e){return ss(e).map(i=>i.toLowerCase()).join("_")}function ls(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function fi(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function Pi(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(Pi).join(",");const t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function os(e){if(Array.isArray(e))return e.map(fi);if(typeof e=="symbol")return[e];e=Pi(e);const t=[],i=e.length;if(i===0)return t;let a=0,r="",n="",s=!1;for(e.charCodeAt(0)===46&&(t.push(""),a++);a<i;){const o=e[a];n?o==="\\"&&a+1<i?(a++,r+=e[a]):o===n?n="":r+=o:s?o==='"'||o==="'"?n=o:o==="]"?(s=!1,t.push(r),r=""):r+=o:o==="["?(s=!0,r&&(t.push(r),r="")):o==="."?r&&(t.push(r),r=""):r+=o,a++}return r&&t.push(r),t}function pt(e,t,i){if(e==null)return i;switch(typeof t){case"string":{if(_t(t))return i;const a=e[t];return a===void 0?ls(t)?pt(e,os(t),i):i:a}case"number":case"symbol":{typeof t=="number"&&(t=fi(t));const a=e[t];return a===void 0?i:a}default:{if(Array.isArray(t))return _s(e,t,i);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),_t(t))return i;const a=e[t];return a===void 0?i:a}}}function _s(e,t,i){if(t.length===0)return i;let a=e;for(let r=0;r<t.length;r++){if(a==null||_t(t[r]))return i;a=a[t[r]]}return a===void 0?i:a}const{encode:cs,decode:ds,encodingExists:hs}=Ui;function gs(e){return e instanceof Buffer}class A{constructor(t,i){this.defaultLocale=t,this.locales=i,this.defaultLocale=Pt(t),this.locales=A.snakeLocaleKeys(i)}addLocales=t=>{Qe(this.locales,A.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=rs(this.locales,t)};$t=(t,i,a=this.defaultLocale)=>{const r=this.locales[Pt(a)],n=pt(this.locales[this.defaultLocale],t),s=pt(r,t,n);if(typeof s>"u")throw new Error(`[i18n]: cannot find ${a}["${t}"]`);if(typeof s!="string")return JSON.stringify(s);let o=s;return i&&i.length&&(o=Hi.format(o,...i)),o};static isValidate(t){if(!hs(t))throw new Error(`[i18n]: unknown charset ${t}`)}static encodeToBuf(t,i){return A.isValidate(i),[...cs(t,i),0]}static decodeFromBuf(t,i="utf8"){A.isValidate(i);const a=gs(t)?t:Buffer.from(A.getValidStr(t));return ds(a,i)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return as(t,(i,a)=>Pt(a))}static convertSpecialChar(t){const i={\u00E0:"\x97",\u00E1:"\x98",\u00E2:"\x99",\u00E4:"\x9A",\u00C0:"\x80",\u00C1:"\x81",\u00C2:"\x82",\u00C4:"\x83",\u00E8:"\x9D",\u00E9:"\x9E",\u00EA:"\x9F",\u00EB:"\xA0",\u00C8:"\x86",\u00C9:"\x87",\u00CA:"\x88",\u00CB:"\x89",\u00EC:"\xA1",\u00ED:"\xA2",\u00EE:"\xA3",\u00EF:"\xA4",\u00CC:"\x8A",\u00CD:"\x8B",\u00CE:"\x8C",\u00CF:"\x8D",\u00F2:"\xA5",\u00F3:"\xA6",\u00F4:"\xA7",\u00F6:"\xA8",\u00D2:"\x8E",\u00D3:"\x8F",\u00D4:"\x90",\u00D6:"\x91",\u00F9:"\xA9",\u00FA:"\xAA",\u00FB:"\xAB",\u00FC:"\xAC",\u00D9:"\x92",\u00DA:"\x93",\u00DB:"\x94",\u00DC:"\x95",\u00F1:"\xAE",\u00D1:"\xAD","\xA1":"@","\xBF":"\xAF","`":"\xB1"};return t.split("").map(a=>a in i?i[a]:a).join("")}}const us=e=>!!samp.callNative("IsValidNickName","s",e),ms=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},fs=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),Ps=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),ps=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),Is=e=>!!samp.callNative("IsValidServerRule","s",e),Ss=e=>!!samp.callNative("RemoveServerRule","s",e),ys=e=>{samp.callNative("AllowAdminTeleport","i",e)},Cs=()=>!!samp.callNative("IsAdminTeleportAllowed",""),As=e=>{samp.callNative("AllowInteriorWeapons","i",e)},Es=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),Ns=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Ds=e=>{samp.callNative("EnableAllAnimations","i",e)},Ts=e=>{const[t,i]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return{consoleVarBuf:t,ret:i}},vs=e=>samp.callNative("GetConsoleVarAsInt","s",e),bs=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),Ls=()=>samp.callNative("GetWeather",""),ws=e=>samp.callNative("GetServerRuleFlags","s",e),Rs=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Os=e=>!!samp.callNative("SetModeRestartTime","f",e),Gs=()=>samp.callNativeFloat("GetModeRestartTime",""),js=(e,t,i)=>samp.callNative("GameTextForAll","aii",e,t,i),Fs=e=>{samp.callNative("HideGameTextForAll","i",e)},Ms=(e,t,i)=>samp.callNative("SendDeathMessage","iii",e,t,i),Vs=()=>samp.callNative("GetMaxPlayers",""),It=(e,t,i)=>Math.sqrt(e*e+t*t+i*i),Bs=e=>samp.callNative("SetGameModeText","s",e),ks=e=>samp.callNative("ShowNameTags","i",e),xs=e=>samp.callNative("ShowPlayerMarkers","i",e),Hs=e=>samp.callNative("SetWorldTime","i",e),Us=()=>samp.callNative("GetWorldTime",""),Ws=()=>!!samp.callNative("EnableVehicleFriendlyFire",""),Ks=e=>samp.callNative("SetWeather","i",e),Xs=()=>samp.callNativeFloat("GetGravity",""),Zs=e=>samp.callNative("SetGravity","f",e),Ys=(e,t,i,a,r)=>samp.callNative("CreateExplosion","fffif",e,t,i,a,r),zs=e=>samp.callNative("EnableZoneNames","i",e),Js=()=>!!samp.callNative("UsePlayerPedAnims",""),$s=()=>!!samp.callNative("DisableInteriorEnterExits",""),Qs=e=>samp.callNative("SetNameTagDrawDistance","f",e),qs=()=>samp.callNative("DisableNameTagLOS",""),el=e=>samp.callNative("LimitGlobalChatRadius","f",e),tl=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),il=()=>samp.callNative("GetServerTickRate",""),al=e=>{const[t,i]=samp.callNative("GetAnimationName","iSiSi",e,32,32);return{animLib:t,animName:i}},rl=e=>!!samp.callNative("EnableStuntBonusForAll","i",e),nl=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},sl=()=>!!samp.callNative("ChatTextReplacementToggled",""),ll=e=>samp.callNative("GetWeaponSlot","i",e),ol=e=>{const[t,i]=samp.callNative("GetWeaponName","iSi",e,32);return{name:t,ret:i}},_l=()=>samp.callNative("GetAvailableClasses",""),cl=e=>{const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[i,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h=0,u=0,I=0,C=0,y]=t;return{teamId:i,modelId:a,spawnX:r,spawnY:n,spawnZ:s,zAngle:o,weapon1:_,weapon1Ammo:d,weapon2:h,weapon2Ammo:u,weapon3:I,weapon3Ammo:C,ret:y}},dl=(e,t,i,a,r,n,s,o,_,d,h,u,I)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,u,I),hl=e=>samp.callNative("SetTeamCount","i",e),gl=(e,t,i,a,r,n,s,o,_,d,h)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,i,a,r,n,s,o,_,d,h),ul=(e,t,i,a,r,n,s,o,_,d,h,u)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,u),ml=(e,t,i,a,r,n,s,o,_,d,h,u,I)=>!!samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,u,I),fl=e=>!!samp.callNative("SpawnPlayer","i",e),Pl=e=>{const[t,i=0,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h=0,u=0,I=0,C]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:i,spawnX:a,spawnY:r,spawnZ:n,zAngle:s,weapon1:o,weapon1Ammo:_,weapon2:d,weapon2Ammo:h,weapon3:u,weapon3Ammo:I,ret:C}},pl=e=>samp.callNative("NetStats_GetConnectedTime","i",e),Il=e=>samp.callNative("NetStats_MessagesReceived","i",e),Sl=e=>samp.callNative("NetStats_BytesReceived","i",e),yl=e=>samp.callNative("NetStats_MessagesSent","i",e),Cl=e=>samp.callNative("NetStats_BytesSent","i",e),Al=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),El=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Nl=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Dl=e=>{const[t,i]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return{ipPort:t,ret:i}},Tl=e=>!!samp.callNative("IsPlayerAdmin","i",e),vl=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),bl=e=>!!samp.callNative("Kick","i",e),Ll=e=>!!samp.callNative("Ban","i",e),wl=e=>{const[t,i]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return{stats:t,ret:i}},Rl=()=>{const[e,t]=samp.callNative("GetNetworkStats","Si",1024);return{stats:e,ret:t}},Ol=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Gl=e=>samp.callNative("UnBlockIpAddress","s",e),jl=(e,t)=>{const[i,a]=samp.callNative("gpci","iAi",e,41);return{val:A.decodeFromBuf(A.getValidStr(i),t),ret:a}},Fl=(e,t,i,a,r)=>samp.callNative("SendClientCheck","iiiii",e,t,i,a,r),Ml=()=>{samp.callNative("ClearBanList","")},Vl=e=>!!samp.callNative("IsBanned","s",e),Bl=e=>samp.callNative("GetPlayerRawIp","i",e),kl=e=>{const[t,i]=samp.callNative("GetPlayerIp","iSi",e,128);return{ip:t,ret:i}},xl=e=>{const[t,i]=samp.callNative("GetPlayerVersion","iSi",e,24);return{version:t,ret:i}},N=e=>{if(typeof e=="number")return e;if(typeof+e=="number"&&!isNaN(+e))return+e;if(e.charAt(0)==="#")return e.length===4?parseInt(e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)+e.charAt(3)+e.charAt(3)+"FF",16):e.length===7?parseInt(e.slice(1,e.length)+"FF",16):e.length===9?parseInt(e.slice(1,e.length),16):255;const t=(e.match(/([0-9])+/g)||[]).map(a=>parseInt(a,10));if(t.length!==4&&t.length!==3)return 255;t.length===3?t.push(255):t[3]=t[3]<1?Math.floor(t[3]*255):255;let i=0;return t.reverse().forEach((a,r)=>{a!==0&&(i+=Math.pow(16,r*2)*a)}),i},Hl=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),Ul=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Wl=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Kl=e=>samp.callNative("GetPlayerWeather","i",e),Xl=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:i,yMax:a,yMin:r,ret:n}},Zl=e=>samp.callNativeFloat("GetPlayerZAim","i",e),Yl=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:i,fOffsetZ:a,ret:r}},zl=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:i,y:a,z:r,ret:n}},Jl=e=>samp.callNative("GetPlayerDialogID","i",e),$l=e=>samp.callNative("GetPlayerSpectateID","i",e),Ql=e=>samp.callNative("GetPlayerSpectateType","i",e),ql=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),eo=e=>samp.callNativeFloat("GetPlayerGravity","i",e),to=e=>!!samp.callNative("IsPlayerSpawned","i",e),io=e=>!!samp.callNative("IsPlayerControllable","i",e),ao=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),ro=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),no=e=>!!samp.callNative("GetPlayerGhostMode","i",e),so=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),lo=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),oo=e=>!!samp.callNative("HidePlayerDialog","i",e),_o=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),co=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),ho=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),go=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),uo=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),mo=(e,t,i,a)=>!!samp.callNative("GameTextForPlayer","iaii",e,t,i,a),fo=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),Po=(e,t,i,a)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,i,a),po=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),Io=e=>!!samp.callNative("IsPlayerNPC","i",e),So=(e,t,i,a)=>!!samp.callNative("SetPlayerPos","ifff",e,t,i,a),yo=(e,t,i,a)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,i,a),Co=e=>{const[t,i,a,r]=samp.callNative("GetPlayerPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},Ao=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),Eo=e=>{const[t,i]=samp.callNative("GetPlayerFacingAngle","iF",e);return{angle:t,ret:i}},No=(e,t,i,a,r)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,i,a,r),Do=(e,t,i,a)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,i,a),To=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),vo=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),bo=e=>samp.callNative("GetPlayerInterior","i",e),Lo=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),wo=e=>{const[t,i]=samp.callNative("GetPlayerHealth","iF",e);return{health:t,ret:i}},Ro=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),Oo=e=>{const[t,i]=samp.callNative("GetPlayerArmour","iF",e);return{armour:t,ret:i}},Go=(e,t,i)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,i),jo=e=>samp.callNative("GetPlayerAmmo","i",e),Fo=e=>samp.callNative("GetPlayerWeaponState","i",e),Mo=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Vo=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Bo=e=>samp.callNative("GetPlayerTeam","i",e),ko=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),xo=e=>samp.callNative("GetPlayerScore","i",e),Ho=e=>samp.callNative("GetPlayerDrunkLevel","i",e),Uo=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),Wo=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,N(t)),Ko=e=>samp.callNative("GetPlayerColor","i",e),Xo=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),Zo=e=>samp.callNative("GetPlayerSkin","i",e),Yo=(e,t,i)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,i),zo=e=>!!samp.callNative("ResetPlayerWeapons","i",e),Jo=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),$o=(e,t)=>{const[i,a,r]=samp.callNative("GetPlayerWeaponData","iiII",e,t);return{weapons:i,ammo:a,ret:r}},Qo=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),qo=e=>!!samp.callNative("ResetPlayerMoney","i",e),e_=e=>samp.callNative("GetPlayerMoney","i",e),t_=e=>samp.callNative("GetPlayerState","i",e),i_=e=>samp.callNative("GetPlayerPing","i",e),a_=e=>samp.callNative("GetPlayerWeapon","i",e),r_=e=>{const[t,i,a,r]=samp.callNative("GetPlayerKeys","iIII",e);return{keys:t,upDown:i,leftRight:a,ret:r}},n_=(e,t,i)=>!!samp.callNative("SetPlayerTime","iii",e,t,i),s_=e=>{const[t,i,a]=samp.callNative("GetPlayerTime","iII",e);return{hour:t,minute:i,ret:a}},l_=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),o_=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),__=e=>!!samp.callNative("ForceClassSelection","i",e),c_=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),d_=e=>samp.callNative("GetPlayerWantedLevel","i",e),h_=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),g_=e=>samp.callNative("GetPlayerFightingStyle","i",e),u_=(e,t,i,a)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,i,a),m_=e=>{const[t,i,a,r]=samp.callNative("GetPlayerVelocity","iFFF",e);return{x:t,y:i,z:a,ret:r}},f_=(e,t,i)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,i),P_=(e,t,i,a,r,n,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,i,a,r,n,s),p_=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),I_=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),S_=(e,t,i)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,i),y_=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),C_=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),A_=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),E_=(e,t,i,a,r,n)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,i,a,r,n),N_=e=>{const[t,i,a,r,n,s,o]=samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e);return{fOriginX:t,fOriginY:i,fOriginZ:a,fHitPosX:r,fHitPosY:n,fHitPosZ:s,ret:o}},D_=(e,t,i)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,i),T_=e=>samp.callNative("GetPlayerVehicleID","i",e),v_=e=>samp.callNative("GetPlayerVehicleSeat","i",e),b_=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),L_=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),w_=(e,t,i,a,r)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,i,a,r),R_=(e,t,i,a,r,n,s,o,_,d)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,i,a,r,n,s,o,_,d),O_=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),G_=e=>samp.callNative("GetPlayerAnimationIndex","i",e),j_=e=>samp.callNative("GetPlayerSpecialAction","i",e),F_=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),M_=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),V_=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),B_=e=>samp.callNative("GetPlayerVirtualWorld","i",e),k_=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),x_=e=>samp.callNative("GetPlayerCustomSkin","i",e),H_=(e,t,i,a,r,n)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,i,a,r,n),U_=(e,t,i)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,i),W_=e=>!!samp.callNative("StopRecordingPlayerData","i",e),K_=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),X_=(e,t,i)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,i),Z_=(e,t,i)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,i),Y_=e=>!!samp.callNative("IsPlayerConnected","i",e),z_=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),J_=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),$_=(e,t,i,a,r)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,i,a,r),Q_=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),q_=(e,t,i)=>{samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,N(i))};function ec(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",e,t)}const tc=(e,t,i)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,i),ic=(e,t,i,a,r,n,s,o)=>!!samp.callNative("SetPlayerMapIcon","iifffiii",e,t,i,a,r,n,N(s),o),ac=(e,t)=>!!samp.callNative("RemovePlayerMapIcon","ii",e,t),rc=(e,t,i,a)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,i,a),nc=(e,t,i,a,r)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,i,a,r),sc=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),lc=e=>{const[t,i,a,r]=samp.callNative("GetPlayerCameraPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},oc=e=>{const[t,i,a,r]=samp.callNative("GetPlayerCameraFrontVector","iFFF",e);return{x:t,y:i,z:a,ret:r}},_c=e=>samp.callNative("GetPlayerCameraMode","i",e),cc=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),dc=e=>samp.callNative("GetPlayerCameraTargetObject","i",e),hc=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),gc=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),uc=e=>samp.callNative("GetPlayerCameraTargetActor","i",e),mc=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),fc=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),Pc=(e,t)=>!!samp.callNative("AttachCameraToObject","ii",e,t),pc=(e,t)=>!!samp.callNative("AttachCameraToPlayerObject","ii",e,t),Ic=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,i,a,r,n,s,o,_),Sc=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,i,a,r,n,s,o,_),yc=e=>!!samp.callNative("IsPlayerCuffed","i",e),Cc=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),Ac=e=>!!samp.callNative("IsPlayerUsingOmp","i",e),Ec=e=>samp.callNative("GetActorSkin","i",e),Nc=(e,t)=>!!samp.callNative("SetActorSkin","ii",e,t),Dc=e=>{const[t=0,i=0,a=0,r=0,n=0,s]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:i,fY:a,fZ:r,fAngle:n,ret:s}},Tc=e=>{const[t,i,a=0,r=0,n=0,s=0,o=0,_=0,d]=samp.callNative("GetActorAnimation","iSiSiFIIIII",e,32,32);return{animLib:t,animName:i,fDelta:a,loop:r,lockX:n,lockY:s,freeze:o,time:_,ret:d}},vc=(e,t,i,a,r)=>samp.callNative("CreateActor","iffff",e,t,i,a,r),bc=e=>!!samp.callNative("DestroyActor","i",e),Lc=(e,t)=>!!samp.callNative("IsActorStreamedIn","ii",e,t),wc=(e,t)=>!!samp.callNative("SetActorVirtualWorld","ii",e,t),Rc=e=>samp.callNative("GetActorVirtualWorld","i",e),Oc=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("ApplyActorAnimation","issfiiiii",e,t,i,a,r,n,s,o,_),Gc=e=>!!samp.callNative("ClearActorAnimations","i",e),jc=(e,t,i,a)=>!!samp.callNative("SetActorPos","ifff",e,t,i,a),Fc=e=>{const[t,i,a,r]=samp.callNative("GetActorPos","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},Mc=(e,t)=>!!samp.callNative("SetActorFacingAngle","if",e,t),Vc=e=>{const[t,i]=samp.callNative("GetActorFacingAngle","iF",e);return{angle:t,ret:!!i}},Bc=(e,t)=>!!samp.callNative("SetActorHealth","if",e,t),kc=e=>{const[t,i]=samp.callNative("GetActorHealth","iF",e);return{health:t,ret:!!i}},xc=(e,t)=>!!samp.callNative("SetActorInvulnerable","ii",e,t),Hc=e=>!!samp.callNative("IsActorInvulnerable","i",e),Uc=e=>!!samp.callNative("IsValidActor","i",e),Wc=e=>samp.callNative("NPC_Create","s",e),Kc=e=>samp.callNative("NPC_Destroy","i",e),Xc=e=>!!samp.callNative("NPC_IsValid","i",e),Zc=e=>samp.callNative("NPC_Spawn","i",e),Yc=e=>samp.callNative("NPC_Respawn","i",e),zc=(e,t,i,a)=>samp.callNative("NPC_SetPos","ifff",e,t,i,a),Jc=(e,t,i,a)=>samp.callNative("NPC_SetRot","ifff",e,t,i,a),$c=e=>{const[t,i,a,r]=samp.callNative("NPC_GetRot","iFFF",e);return{rX:t,rY:i,rZ:a,ret:r}},Qc=(e,t)=>samp.callNative("NPC_SetFacingAngle","if",e,t),qc=e=>{const[t,i]=samp.callNative("NPC_GetFacingAngle","iF",e);return{angle:t,ret:i}},ed=(e,t)=>samp.callNative("NPC_SetVirtualWorld","ii",e,t),td=e=>samp.callNative("NPC_GetVirtualWorld","i",e),id=(e,t,i,a,r,n)=>!!samp.callNative("NPC_Move","ifffif",e,t,i,a,r,n),ad=(e,t,i,a)=>!!samp.callNative("NPC_MoveToPlayer","iiif",e,t,i,a),rd=e=>samp.callNative("NPC_StopMove","i",e),nd=e=>!!samp.callNative("NPC_IsMoving","i",e),sd=(e,t)=>!!samp.callNative("NPC_IsMovingToPlayer","ii",e,t),ld=(e,t)=>samp.callNative("NPC_SetSkin","ii",e,t),od=e=>samp.callNative("NPC_GetSkin","i",e),_d=(e,t)=>!!samp.callNative("NPC_IsStreamedIn","ii",e,t),cd=e=>!!samp.callNative("NPC_IsAnyStreamedIn","i",e),dd=(e,t)=>samp.callNative("NPC_SetInterior","ii",e,t),hd=e=>samp.callNative("NPC_GetInterior","i",e),gd=(e,t)=>samp.callNative("NPC_SetHealth","if",e,t),ud=e=>samp.callNativeFloat("NPC_GetHealth","i",e),md=(e,t)=>samp.callNative("NPC_SetArmour","if",e,t),fd=e=>samp.callNativeFloat("NPC_GetArmour","i",e),Pd=e=>!!samp.callNative("NPC_IsDead","i",e),pd=(e,t,i,a,r,n,s,o,_,d)=>samp.callNative("NPC_ApplyAnimation","issfiiiiii",e,t,i,a,r,n,s,o,_,d),Id=(e,t)=>samp.callNative("NPC_SetWeapon","ii",e,t),Sd=e=>samp.callNative("NPC_GetWeapon","i",e),yd=(e,t)=>samp.callNative("NPC_SetAmmo","ii",e,t),Cd=e=>samp.callNative("NPC_GetAmmo","i",e),Ad=(e,t,i,a)=>samp.callNative("NPC_SetKeys","iiii",e,t,i,a),Ed=e=>{const[t,i,a,r]=samp.callNative("NPC_GetKeys","iIII",e);return{upAndDown:t,leftAndDown:i,keys:a,ret:r}},Nd=(e,t,i)=>samp.callNative("NPC_SetWeaponSkillLevel","iii",e,t,i),Dd=(e,t)=>samp.callNative("NPC_GetWeaponSkillLevel","ii",e,t),Td=(e,t,i)=>samp.callNative("NPC_MeleeAttack","iii",e,t,i),vd=e=>samp.callNative("NPC_StopMeleeAttack","i",e),bd=e=>!!samp.callNative("NPC_IsMeleeAttacking","i",e),Ld=(e,t)=>samp.callNative("NPC_SetFightingStyle","ii",e,t),wd=e=>samp.callNative("NPC_GetFightingStyle","i",e),Rd=(e,t)=>samp.callNative("NPC_EnableReloading","ii",e,t),Od=e=>!!samp.callNative("NPC_IsReloadEnabled","i",e),Gd=e=>!!samp.callNative("NPC_IsReloading","i",e),jd=(e,t)=>samp.callNative("NPC_EnableInfiniteAmmo","ii",e,t),Fd=e=>!!samp.callNative("NPC_IsInfiniteAmmoEnabled","i",e),Md=(e,t)=>!!samp.callNative("NPC_SetWeaponState","ii",e,t),Vd=e=>samp.callNative("NPC_GetWeaponState","i",e),Bd=(e,t)=>samp.callNative("NPC_SetAmmoInClip","ii",e,t),kd=e=>samp.callNative("NPC_GetAmmoInClip","i",e),xd=(e,t,i,a,r,n,s,o,_,d,h,u)=>samp.callNative("NPC_Shoot","iiiffffffii",e,t,i,a,r,n,s,o,_,d,h,u),Hd=e=>!!samp.callNative("NPC_IsShooting","i",e),Ud=(e,t,i,a,r,n,s,o,_,d,h)=>samp.callNative("NPC_AimAt","ifffiiifffi",e,t,i,a,r,n,s,o,_,d,h),Wd=(e,t,i,a,r,n,s,o,_,d,h,u)=>samp.callNative("NPC_AimAtPlayer","iiiiiffffffi",e,t,i,a,r,n,s,o,_,d,h,u),Kd=e=>samp.callNative("NPC_StopAim","i",e),Xd=e=>!!samp.callNative("NPC_IsAiming","i",e),Zd=(e,t)=>!!samp.callNative("NPC_IsAimingAtPlayer","ii",e,t),Yd=(e,t,i)=>samp.callNative("NPC_SetWeaponAccuracy","iif",e,t,i),zd=(e,t)=>samp.callNativeFloat("NPC_GetWeaponAccuracy","ii",e,t),Jd=(e,t,i)=>samp.callNative("NPC_SetWeaponReloadTime","iii",e,t,i),$d=(e,t)=>samp.callNative("NPC_GetWeaponReloadTime","ii",e,t),Qd=(e,t)=>samp.callNative("NPC_GetWeaponActualReloadTime","ii",e,t),qd=(e,t,i)=>samp.callNative("NPC_SetWeaponShootTime","iii",e,t,i),eh=(e,t)=>samp.callNative("NPC_GetWeaponShootTime","ii",e,t),th=(e,t,i)=>samp.callNative("NPC_SetWeaponClipSize","iii",e,t,i),ih=(e,t)=>samp.callNative("NPC_GetWeaponClipSize","ii",e,t),ah=(e,t)=>samp.callNative("NPC_GetWeaponActualClipSize","ii",e,t),rh=(e,t,i,a)=>samp.callNative("NPC_EnterVehicle","iiii",e,t,i,a),nh=e=>samp.callNative("NPC_ExitVehicle","i",e),sh=(e,t,i)=>samp.callNative("NPC_PutInVehicle","iii",e,t,i),lh=e=>samp.callNative("NPC_RemoveFromVehicle","i",e),oh=e=>samp.callNative("NPC_GetVehicle","i",e),_h=e=>samp.callNative("NPC_GetVehicleSeat","i",e),ch=e=>samp.callNative("NPC_GetEnteringVehicle","i",e),dh=e=>samp.callNative("NPC_GetEnteringVehicleSeat","i",e),hh=e=>!!samp.callNative("NPC_IsEnteringVehicle","i",e),gh=(e,t)=>samp.callNative("NPC_UseVehicleSiren","ii",e,t),uh=e=>!!samp.callNative("NPC_IsVehicleSirenUsed","i",e),mh=(e,t)=>samp.callNative("NPC_SetVehicleHealth","if",e,t),fh=e=>samp.callNativeFloat("NPC_GetVehicleHealth","i",e),Ph=(e,t)=>samp.callNative("NPC_SetVehicleHydraThrusters","ii",e,t),ph=e=>samp.callNative("NPC_GetVehicleHydraThrusters","i",e),Ih=(e,t)=>samp.callNative("NPC_SetVehicleGearState","ii",e,t),Sh=e=>samp.callNative("NPC_GetVehicleGearState","i",e),yh=(e,t)=>samp.callNative("NPC_SetVehicleTrainSpeed","if",e,t),Ch=e=>samp.callNativeFloat("NPC_GetVehicleTrainSpeed","i",e),Ah=e=>samp.callNative("NPC_ResetAnimation","i",e),Eh=(e,t,i,a,r,n,s,o)=>samp.callNative("NPC_SetAnimation","iifiiiii",e,t,i,a,r,n,s,o),Nh=e=>{const[t,i,a,r,n,s,o,_]=samp.callNative("NPC_GetAnimation","iIFIIIII",e);return{animationId:t,delta:i,loop:!!a,lockX:!!r,lockY:!!n,freeze:!!s,time:o,ret:_}},Dh=e=>samp.callNative("NPC_ClearAnimations","i",e),Th=(e,t)=>samp.callNative("NPC_SetSpecialAction","ii",e,t),vh=e=>samp.callNative("NPC_GetSpecialAction","i",e),bh=(e,t,i,a,r,n,s,o,_)=>samp.callNative("NPC_StartPlayback","isiffffff",e,t,i,a,r,n,s,o,_),Lh=(e,t,i,a,r,n,s,o,_)=>samp.callNative("NPC_StartPlaybackEx","iiiffffff",e,t,i,a,r,n,s,o,_),wh=e=>samp.callNative("NPC_StopPlayback","i",e),Rh=(e,t)=>samp.callNative("NPC_PausePlayback","ii",e,t),Oh=e=>!!samp.callNative("NPC_IsPlayingPlayback","i",e),Gh=e=>!!samp.callNative("NPC_IsPlaybackPaused","i",e),jh=(e,t,i,a,r,n)=>!!samp.callNative("NPC_PlayNode","iiiffi",e,t,i,a,r,n),Fh=e=>!!samp.callNative("NPC_StopPlayingNode","i",e),Mh=e=>!!samp.callNative("NPC_PausePlayingNode","i",e),Vh=e=>!!samp.callNative("NPC_ResumePlayingNode","i",e),Bh=e=>!!samp.callNative("NPC_IsPlayingNodePaused","i",e),kh=e=>!!samp.callNative("NPC_IsPlayingNode","i",e),xh=(e,t,i)=>samp.callNative("NPC_ChangeNode","iii",e,t,i),Hh=(e,t)=>!!samp.callNative("NPC_UpdateNodePoint","ii",e,t),Uh=(e,t)=>samp.callNative("NPC_SetInvulnerable","ii",e,t),Wh=e=>!!samp.callNative("NPC_IsInvulnerable","i",e),Kh=(e,t,i,a)=>samp.callNative("NPC_SetSurfingOffsets","ifff",e,t,i,a),Xh=e=>{const[t,i,a,r]=samp.callNative("NPC_GetSurfingOffsets","iFFF",e);return{x:t,y:i,z:a,ret:r}},Zh=(e,t)=>samp.callNative("NPC_SetSurfingVehicle","ii",e,t),Yh=e=>samp.callNative("NPC_GetSurfingVehicle","i",e),zh=(e,t)=>samp.callNative("NPC_SetSurfingObject","ii",e,t),Jh=e=>samp.callNative("NPC_GetSurfingObject","i",e),$h=(e,t)=>samp.callNative("NPC_SetSurfingPlayerObject","ii",e,t),Qh=e=>samp.callNative("NPC_GetSurfingPlayerObject","i",e),qh=e=>samp.callNative("NPC_ResetSurfingData","i",e),eg=e=>!!samp.callNative("NPC_IsSpawned","i",e),tg=(e,t,i)=>!!samp.callNative("NPC_Kill","iii",e,t,i),ig=(e,t,i,a)=>!!samp.callNative("NPC_SetVelocity","ifff",e,t,i,a),ag=e=>{const[t,i,a,r]=samp.callNative("NPC_GetVelocity","iFFF",e);return{x:t,y:i,z:a,ret:r}},rg=e=>samp.callNative("NPC_GetPlayerAimingAt","i",e),ng=e=>samp.callNative("NPC_GetPlayerMovingTo","i",e),sg=e=>{const[t=0,i=0,a=0,r=0,n=0,s=0,o]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:i,fZ:a,fRot:r,color1:n,color2:s,ret:o}},lg=(e,t,i,a,r,n,s,o,_=-2,d=-2)=>samp.callNative("SetVehicleSpawnInfo","iiffffiiii",e,t,i,a,r,n,s,o,_,d),og=e=>{const[t=0,i=0,a]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:i,ret:a}},_g=e=>samp.callNative("GetVehiclePaintjob","i",e),cg=e=>samp.callNative("GetVehicleInterior","i",e),dg=e=>{const[t,i]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return{plate:t,ret:i}},hg=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),gg=e=>samp.callNative("GetVehicleRespawnDelay","i",e),ug=e=>samp.callNative("GetVehicleCab","i",e),mg=e=>samp.callNative("GetVehicleOccupiedTick","i",e),fg=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Pg=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),pg=e=>!!samp.callNative("IsVehicleOccupied","i",e),Ig=e=>samp.callNative("GetVehicleRespawnTick","i",e),Sg=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),yg=e=>!!samp.callNative("IsVehicleDead","i",e),Cg=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),Ag=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),Eg=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),Ng=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),Dg=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),Tg=e=>samp.callNative("GetVehicleModelCount","i",e),pi=e=>samp.callNative("GetVehicleLastDriver","i",e),Ii=e=>samp.callNative("GetVehicleDriver","i",e),vg=()=>samp.callNative("GetVehicleModelsUsed",""),bg=e=>samp.callNative("GetVehicleSirenState","i",e),Lg=e=>samp.callNative("GetVehicleLandingGearState","i",e),wg=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),Rg=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),Og=e=>{const[t=0,i=0,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:i,rightZ:a,upX:r,upY:n,upZ:s,atX:o,atY:_,atZ:d,ret:h}},Gg=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,i,a,r],ret:n}},jg=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),Fg=(e,t,i,a,r,n,s,o,_)=>samp.callNative("CreateVehicle","iffffiiii",e,t,i,a,r,N(n),N(s),o,_),Mg=e=>samp.callNative("DestroyVehicle","i",e),Vg=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),Bg=e=>{const[t,i,a,r]=samp.callNative("GetVehiclePos","iFFF",e);return{x:t,y:i,z:a,ret:r}},kg=(e,t,i,a)=>!!samp.callNative("SetVehiclePos","ifff",e,t,i,a),xg=e=>{const[t,i]=samp.callNative("GetVehicleZAngle","iF",e);return{angle:t,ret:i}},Hg=e=>{const[t,i,a,r]=samp.callNative("GetVehicleRotation","iFFF",e);return{x:t,y:i,z:a,ret:r}},Ug=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleRotationQuat","iFFFF",e);return{w:t,x:i,y:a,z:r,ret:n}},Wg=(e,t,i,a)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,i,a),Kg=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),Xg=(e,t,i,a)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,i,a),Zg=()=>samp.callNative("ManualVehicleEngineAndLights",""),Yg=(e,t,i,a,r,n,s,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,i,a,r,n,s,o),zg=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),Jg=e=>samp.callNative("GetVehicleParamsSirenState","i",e),$g=(e,t,i,a,r)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,i,a,r),Qg=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t,passenger:i,backLeft:a,backRight:r,ret:n}},qg=(e,t,i,a,r)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,i,a,r),eu=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t,passenger:i,backLeft:a,backRight:r,ret:n}},tu=e=>samp.callNative("SetVehicleToRespawn","i",e),iu=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),au=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),ru=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),nu=(e,t,i)=>samp.callNative("ChangeVehicleColor","iii",e,N(t),N(i)),su=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),lu=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),ou=e=>{const[t,i]=samp.callNative("GetVehicleHealth","iF",e);return{health:t,ret:i}},_u=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),cu=e=>samp.callNative("DetachTrailerFromVehicle","i",e),du=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),hu=e=>samp.callNative("GetVehicleTrailer","i",e),gu=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),uu=e=>samp.callNative("GetVehicleModel","i",e),mu=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),fu=e=>samp.callNative("GetVehicleComponentType","i",e),Pu=e=>samp.callNative("RepairVehicle","i",e),pu=e=>{const[t,i,a,r]=samp.callNative("GetVehicleVelocity","iFFF",e);return{x:t,y:i,z:a,ret:r}},Iu=(e,t,i,a)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,i,a),Su=(e,t,i,a)=>!!samp.callNative("SetVehicleAngularVelocity","ifff",e,t,i,a),yu=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleDamageStatus","iIIII",e);return{panels:t,doors:i,lights:a,tires:r,ret:n}},Cu=(e,t,i,a,r)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,i,a,r),Au=(e,t)=>{const[i,a,r,n]=samp.callNative("GetVehicleModelInfo","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Eu=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),Nu=e=>samp.callNative("GetVehicleVirtualWorld","i",e),Du=e=>!!samp.callNative("IsValidVehicle","i",e),Tu=(e,t,i,a,r,n,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,i,a,r,N(n),N(s)),vu=(e,t,i,a,r,n,s,o,_)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,i,a,r,N(n),N(s),o,_),bu=e=>!!samp.callNative("ShowVehicle","i",e),Lu=e=>!!samp.callNative("HideVehicle","i",e),wu=e=>!!samp.callNative("IsVehicleHidden","i",e),Ru=e=>!!samp.callNative("IsPlayerInModShop","i",e),Ou=e=>samp.callNative("GetPlayerSirenState","i",e),Gu=e=>samp.callNative("GetPlayerLandingGearState","i",e),ju=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),Fu=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),Mu=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),Vu=e=>samp.callNative("GetVehicleMaxPassengers","i",e),Bu=e=>samp.callNative("CountVehicleOccupants","i",e),ku=(e,t,i,a,r)=>!!samp.callNative("SetPlayerCheckpoint","iffff",e,t,i,a,r),xu=e=>!!samp.callNative("DisablePlayerCheckpoint","i",e),Hu=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("SetPlayerRaceCheckpoint","iifffffff",e,t,i,a,r,n,s,o,_),Uu=e=>!!samp.callNative("DisablePlayerRaceCheckpoint","i",e),Wu=e=>!!samp.callNative("IsPlayerInCheckpoint","i",e),Ku=e=>!!samp.callNative("IsPlayerInRaceCheckpoint","i",e),Si=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),yi=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:i,fZ:a,fSize:r,ret:n}},Ci=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),Ai=e=>{const[t=0,i=0,a=0,r=0,n=0,s=0,o=0,_]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:i,fZ:a,fNextX:r,fNextY:n,fNextZ:s,fSize:o,ret:_}},Xu=e=>!!samp.callNative("IsMenuDisabled","i",e),Zu=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),Yu=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),zu=e=>{const[t=0,i=0,a]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:i,ret:a}},Ju=e=>{const[t=0,i=0,a]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:i,ret:a}},$u=e=>samp.callNative("DestroyMenu","i",e),Qu=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),qu=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),em=e=>!!samp.callNative("IsValidMenu","i",e),tm=e=>samp.callNative("DisableMenu","i",e),im=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),Ei=e=>samp.callNative("GetPlayerMenu","i",e),am=e=>!!samp.callNative("IsValid3DTextLabel","i",e),rm=(e,t)=>!!samp.callNative("Is3DTextLabelStreamedIn","ii",e,t),nm=e=>samp.callNative("Get3DTextLabelColor","i",e),sm=e=>{const[t=0,i=0,a=0,r]=samp.callNative("Get3DTextLabelPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},lm=(e,t)=>!!samp.callNative("Set3DTextLabelDrawDistance","ii",e,t),om=e=>samp.callNativeFloat("Get3DTextLabelDrawDistance","i",e),_m=e=>!!samp.callNative("Get3DTextLabelLOS","i",e),cm=(e,t)=>!!samp.callNative("Set3DTextLabelLOS","ii",e,t),dm=(e,t)=>!!samp.callNative("Set3DTextLabelVirtualWorld","ii",e,t),hm=e=>samp.callNative("Get3DTextLabelVirtualWorld","i",e),gm=e=>{const[t=0,i=0]=samp.callNative("Get3DTextLabelAttachedData","i",e);return{attachedPlayerId:t,attachedVehicleId:i}},um=e=>samp.callNative("Delete3DTextLabel","i",e),mm=(e,t,i,a,r)=>!!samp.callNative("Attach3DTextLabelToPlayer","iifff",e,t,i,a,r),fm=(e,t,i,a,r)=>!!samp.callNative("Attach3DTextLabelToVehicle","iifff",e,t,i,a,r),Pm=(e,t)=>!!samp.callNative("IsValidPlayer3DTextLabel","ii",e,t),pm=(e,t)=>samp.callNative("GetPlayer3DTextLabelColor","ii",e,t),Im=(e,t)=>{const[i=0,a=0,r=0,n]=samp.callNative("GetPlayer3DTextLabelPos","iiFFF",e,t);return{fX:i,fY:a,fZ:r,ret:n}},Sm=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelDrawDistance","iii",e,t,i),ym=(e,t)=>samp.callNativeFloat("GetPlayer3DTextLabelDrawDistance","ii",e,t),Cm=(e,t)=>!!samp.callNative("GetPlayer3DTextLabelLOS","ii",e,t),Am=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelLOS","iii",e,t,i),Em=(e,t)=>samp.callNative("GetPlayer3DTextLabelVirtualWorld","ii",e,t),Nm=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelVirtualWorld","iii",e,t,i),Dm=(e,t)=>{const[i=0,a=0]=samp.callNative("GetPlayer3DTextLabelAttachedData","ii",e,t);return{attachedPlayerId:i,attachedVehicleId:a}},Tm=(e,t)=>samp.callNative("DeletePlayer3DTextLabel","ii",e,t),vm=e=>!!samp.callNative("IsValidGangZone","i",e),bm=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),Lm=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),wm=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),Rm=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),Om=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Gm=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:i,fMaxX:a,fMaxY:r,ret:n}},jm=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},Fm=(e,t,i,a)=>samp.callNative("GangZoneCreate","ffff",e,t,i,a),Mm=e=>samp.callNative("GangZoneDestroy","i",e),Vm=(e,t,i)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,N(i)),Bm=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,N(t)),km=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),xm=e=>samp.callNative("GangZoneHideForAll","i",e),Hm=(e,t,i)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,N(i)),Um=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,N(t)),Wm=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Km=e=>samp.callNative("GangZoneStopFlashForAll","i",e),Xm=(e,t,i,a,r)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,i,a,r),Zm=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),Ym=(e,t,i)=>samp.callNative("PlayerGangZoneShow","iii",e,t,i),zm=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),Jm=(e,t,i)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,i),$m=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),Qm=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),qm=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),ef=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),tf=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),af=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),rf=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),nf=(e,t)=>{const[i=0,a=0,r=0,n=0,s]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:i,fMinY:a,fMaxX:r,fMaxY:n,ret:s}},sf=(e,t,i)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,i)},lf=e=>!!samp.callNative("IsValidTextDraw","i",e),of=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),_f=e=>{const[t,i]=samp.callNative("TextDrawGetString","iSi",e,1024);return{str:t,ret:i}},cf=(e,t,i)=>{samp.callNative("TextDrawSetPos","iff",e,t,i)},df=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:i,ret:a}},hf=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:i,ret:a}},gf=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:i,ret:a}},uf=e=>samp.callNative("TextDrawGetColor","i",e),mf=e=>samp.callNative("TextDrawGetBoxColor","i",e),ff=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),Pf=e=>samp.callNative("TextDrawGetShadow","i",e),pf=e=>samp.callNative("TextDrawGetOutline","i",e),If=e=>samp.callNative("TextDrawGetFont","i",e),Sf=e=>!!samp.callNative("TextDrawIsBox","i",e),yf=e=>!!samp.callNative("TextDrawIsProportional","i",e),Cf=e=>!!samp.callNative("TextDrawIsSelectable","i",e),Af=e=>samp.callNative("TextDrawGetAlignment","i",e),Ef=e=>samp.callNative("TextDrawGetPreviewModel","i",e),Nf=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:i,fRotZ:a,fZoom:r,ret:n}},Df=e=>{const[t,i,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:i,ret:a}},Tf=(e,t,i)=>{samp.callNative("TextDrawSetStringForPlayer","iia",e,t,i)},vf=(e,t,i)=>samp.callNative("TextDrawCreate","ffa",e,t,i),bf=e=>samp.callNative("TextDrawDestroy","i",e),Lf=(e,t,i)=>samp.callNative("TextDrawLetterSize","iff",e,t,i),wf=(e,t,i)=>samp.callNative("TextDrawTextSize","iff",e,t,i),Rf=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),Of=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,N(t)),Gf=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),jf=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,N(t)),Ff=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),Mf=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),Vf=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,N(t)),Bf=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),kf=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),xf=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),Hf=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Uf=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),Wf=e=>samp.callNative("TextDrawShowForAll","i",e),Kf=e=>samp.callNative("TextDrawHideForAll","i",e),Xf=(e,t)=>samp.callNative("TextDrawSetString","ia",e,t),Zf=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),Yf=(e,t,i,a,r=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,i,a,r)},zf=(e,t,i)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,N(t),N(i)),Jf=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,N(t))},$f=e=>{samp.callNative("CancelSelectTextDraw","i",e)},Qf=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),qf=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),eP=(e,t)=>{const[i,a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return{str:i,ret:a}},tP=(e,t,i,a)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,i,a)},iP=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:i,fY:a,ret:r}},aP=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:i,fY:a,ret:r}},rP=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:i,fY:a,ret:r}},nP=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),sP=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),lP=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),oP=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),_P=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),cP=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),dP=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),hP=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),gP=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),uP=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),mP=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),fP=(e,t)=>{const[i=0,a=0,r=0,n=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:i,fRotY:a,fRotZ:r,fZoom:n}},PP=(e,t)=>{const[i,a,r]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:i,color2:a,ret:r}},pP=(e,t,i,a)=>samp.callNative("CreatePlayerTextDraw","iffa",e,t,i,a),IP=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},SP=(e,t,i,a)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,i,a),yP=(e,t,i,a)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,i,a),CP=(e,t,i)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,i),AP=(e,t,i)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,N(i)),EP=(e,t,i)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,i),NP=(e,t,i)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,N(i)),DP=(e,t,i)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,i),TP=(e,t,i)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,i),vP=(e,t,i)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,N(i)),bP=(e,t,i)=>samp.callNative("PlayerTextDrawFont","iii",e,t,i),LP=(e,t,i)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,i),wP=(e,t,i)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,i),RP=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),OP=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),GP=(e,t,i)=>samp.callNative("PlayerTextDrawSetString","iia",e,t,i),jP=(e,t,i)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,i),FP=(e,t,i,a,r,n)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,i,a,r,n),MP=(e,t,i,a)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,i,a),VP=e=>samp.callNativeFloat("GetObjectDrawDistance","i",e),BP=e=>samp.callNativeFloat("GetObjectMoveSpeed","i",e),kP=(e,t)=>!!samp.callNativeFloat("SetObjectMoveSpeed","if",e,t),xP=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetObjectMovingTargetPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},HP=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetObjectTarget","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},UP=e=>{const[t=0,i=0,a=0,r=0,n=0,s=0]=samp.callNative("GetObjectAttachedOffset","i",e);return{fX:t,fY:i,fZ:a,fRotX:r,fRotY:n,fRotZ:s}},WP=e=>samp.callNative("GetObjectSyncRotation","i",e),KP=(e,t)=>!!samp.callNative("IsObjectMaterialSlotUsed","ii",e,t),XP=(e,t)=>{const[i=0,a,r,n=0,s]=samp.callNative("GetObjectMaterial","iiISiSiI",e,t,64,64);return{modelId:i,txdName:a,textureName:r,materialColor:n,ret:s}},ZP=(e,t,i,a,r,n,s,o=0)=>samp.callNative("CreateObject","ifffffff",e,t,i,a,r,n,s,o),YP=(e,t,i,a,r,n,s,o)=>!!samp.callNative("AttachObjectToVehicle","iiffffff",e,t,i,a,r,n,s,o),zP=(e,t,i,a,r,n,s,o,_,d=!0)=>!!samp.callNative("AttachPlayerObjectToObject","iiiffffffi",e,t,i,a,r,n,s,o,_,d),JP=(e,t,i,a,r,n,s,o,_=!0)=>!!samp.callNative("AttachObjectToObject","iiffffffi",e,t,i,a,r,n,s,o,_),$P=(e,t,i,a,r,n,s,o)=>!!samp.callNative("AttachObjectToPlayer","iiffffff",e,t,i,a,r,n,s,o),QP=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),qP=(e,t,i,a)=>!!samp.callNative("SetObjectPos","ifff",e,t,i,a),ep=e=>{const[t,i,a,r]=samp.callNative("GetObjectPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},tp=(e,t,i,a)=>!!samp.callNative("SetObjectRot","ifff",e,t,i,a),ip=e=>{const[t,i,a,r]=samp.callNative("GetObjectRot","iFFF",e);return{x:t,y:i,z:a,ret:r}},ap=e=>samp.callNative("GetObjectModel","i",e),rp=e=>!!samp.callNative("SetObjectNoCameraCol","i",e),np=e=>!!samp.callNative("IsObjectNoCameraCol","i",e),sp=e=>!!samp.callNative("IsValidObject","i",e),lp=e=>samp.callNative("DestroyObject","i",e),op=(e,t,i,a,r,n,s,o)=>samp.callNative("MoveObject","ifffffff",e,t,i,a,r,n,s,o),_p=e=>samp.callNative("StopObject","i",e),cp=e=>!!samp.callNative("IsObjectMoving","i",e),dp=(e,t)=>!!samp.callNative("BeginObjectEditing","ii",e,t),hp=e=>!!samp.callNative("BeginObjectSelecting","i",e),Ni=e=>!!samp.callNative("EndObjectEditing","i",e),gp=(e,t,i,a,r,n)=>!!samp.callNative("SetObjectMaterial","iiissi",e,t,i,a,r,N(n)),up=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),mp=(e,t,i,a,r)=>!!samp.callNative("AddSimpleModel","iiiss",e,t,i,a,r),fp=(e,t,i,a,r,n,s)=>!!samp.callNative("AddSimpleModelTimed","iiissii",e,t,i,a,r,n,s),Pp=(e,t)=>!!samp.callNative("RedirectDownload","is",e,t),pp=e=>{const[t,i]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return{name:t,ret:i}},Ip=e=>{const[t,i]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return{name:t,ret:i}},Sp=(e,t)=>{const[i=0,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h=0,u=0,I=0,C=0,y=0,L]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:i,bone:a,fX:r,fY:n,fZ:s,fRotX:o,fRotY:_,fRotZ:d,fScaleX:h,fScaleY:u,fScaleZ:I,materialColor1:C,materialColor2:y,ret:L}},yp=(e,t,i,a,r,n,s,o,_,d,h,u,I,C,y)=>!!samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,i,a,r,n,s,o,_,d,h,u,I,N(C),N(y)),Cp=(e,t)=>!!samp.callNative("RemovePlayerAttachedObject","ii",e,t),Ap=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),Di=e=>!!samp.callNative("IsValidCustomModel","i",e),Ep=e=>{if(!Di(e))return null;const[t,i,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:i,ret:a}},Np=(e,t)=>samp.callNativeFloat("GetPlayerObjectDrawDistance","ii",e,t),Dp=(e,t,i)=>!!samp.callNativeFloat("SetPlayerObjectMoveSpeed","iif",e,t,i),Tp=(e,t)=>samp.callNativeFloat("GetPlayerObjectMoveSpeed","ii",e,t),vp=(e,t)=>{const[i=0,a=0,r=0,n]=samp.callNative("GetPlayerObjectTarget","iiFFF",e,t);return{fX:i,fY:a,fZ:r,ret:n}},bp=(e,t)=>{const[i=0,a=0,r=0,n]=samp.callNative("GetPlayerObjectMovingTargetPos","iiFFF",e,t);return{fX:i,fY:a,fZ:r,ret:n}},Lp=(e,t)=>{const[i=0,a=0,r=0,n=0,s=0,o=0,_]=samp.callNative("GetPlayerObjectAttachedOffset","iiFFFFFF",e,t);return{fX:i,fY:a,fZ:r,fRotX:n,fRotY:s,fRotZ:o,ret:_}},wp=(e,t)=>!!samp.callNative("GetPlayerObjectSyncRotation","ii",e,t),Rp=(e,t,i)=>!!samp.callNative("IsPlayerObjectMaterialSlotUsed","iii",e,t,i),Op=(e,t,i)=>{const[a=0,r,n,s=0,o]=samp.callNative("GetPlayerObjectMaterial","iiiISiSiI",e,t,i,64,64);return{modelId:a,txdName:r,textureName:n,materialColor:s,ret:o}},Gp=(e,t)=>!!samp.callNative("IsPlayerObjectNoCameraCol","ii",e,t),jp=e=>samp.callNative("GetPlayerCameraTargetPlayerObj","i",e),Fp=(e,t)=>!!samp.callNative("BeginPlayerObjectEditing","ii",e,t),Mp=(e,t,i,a,r,n,s,o,_=0)=>samp.callNative("CreatePlayerObject","iifffffff",e,t,i,a,r,n,s,o,_),Vp=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("AttachPlayerObjectToVehicle","iiiffffff",e,t,i,a,r,n,s,o,_),Bp=(e,t,i,a,r)=>samp.callNative("SetPlayerObjectPos","iifff",e,t,i,a,r),kp=(e,t)=>{const[i,a,r,n]=samp.callNative("GetPlayerObjectPos","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},xp=(e,t,i,a,r)=>samp.callNative("SetPlayerObjectRot","iifff",e,t,i,a,r),Hp=(e,t)=>{const[i,a,r,n]=samp.callNative("GetPlayerObjectRot","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Up=(e,t)=>samp.callNative("GetPlayerObjectModel","ii",e,t),Wp=(e,t)=>!!samp.callNative("SetPlayerObjectNoCameraCollision","ii",e,t),Kp=(e,t)=>!!samp.callNative("IsValidPlayerObject","ii",e,t),Xp=(e,t)=>samp.callNative("DestroyPlayerObject","ii",e,t),Zp=(e,t,i,a,r,n,s,o,_)=>samp.callNative("MovePlayerObject","iifffffff",e,t,i,a,r,n,s,o,_),Yp=(e,t)=>samp.callNative("StopPlayerObject","ii",e,t),zp=(e,t)=>!!samp.callNative("IsPlayerObjectMoving","ii",e,t),Jp=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("AttachPlayerObjectToPlayer","iiiffffff",e,t,i,a,r,n,s,o,_),$p=(e,t,i,a,r,n,s)=>!!samp.callNative("SetPlayerObjectMaterial","iiiissi",e,t,i,a,r,n,N(s)),Qp=e=>!!samp.callNative("IsValidPickup","i",e),qp=(e,t)=>!!samp.callNative("IsPickupStreamedIn","ii",e,t),eI=e=>{const[t,i,a,r]=samp.callNative("GetPickupPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},tI=e=>samp.callNative("GetPickupModel","i",e),iI=e=>samp.callNative("GetPickupType","i",e),aI=e=>samp.callNative("GetPickupVirtualWorld","i",e),rI=(e,t,i,a,r=!0)=>!!samp.callNative("SetPickupPos","ifffi",e,t,i,a,r),nI=(e,t,i=!0)=>!!samp.callNative("SetPickupModel","iii",e,t,i),sI=(e,t,i=!0)=>!!samp.callNative("SetPickupType","iii",e,t,i),lI=(e,t)=>!!samp.callNative("SetPickupVirtualWorld","ii",e,t),oI=(e,t)=>!!samp.callNative("ShowPickupForPlayer","ii",e,t),_I=(e,t)=>!!samp.callNative("HidePickupForPlayer","ii",e,t),cI=(e,t)=>!!samp.callNative("IsPickupHiddenForPlayer","ii",e,t),dI=(e,t,i,a,r,n)=>samp.callNative("AddStaticPickup","iifffi",e,t,i,a,r,n),hI=(e,t,i,a,r,n)=>samp.callNative("CreatePickup","iifffi",e,t,i,a,r,n),gI=e=>!!samp.callNative("DestroyPickup","i",e),Ti=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}]]]),St=e=>{const t=Ti.get(e.toUpperCase());return typeof t>"u"?!1:t},yt=(e,t)=>{const i=St(e);if(i)return t==="null"?!0:i.some(a=>a.n===t)},uI=(e,t)=>{const i=St(e);if(i)return i.find(a=>a.n===t)?.d},ue=(e,t)=>{const i=t.replace("-","")==="utf8"?e:A.encodeToBuf(e,t);return[i instanceof Array?"a":"s",i]},vi=(e,t,i)=>{const a=ue(i,e.charset);return samp.callNative("SendClientMessage",`ii${a[0]}`,e.id,N(t),a[1])},mI=(e,t,i)=>(e.forEach(a=>vi(a,t,i)),1),bi=(e,t,i)=>{const a=ue(i,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${a[0]}`,e.id,t,a[1])},fI=(e,t,i)=>(e.forEach(a=>{bi(a,t,i)}),1),PI=(e,t,i)=>{const{charset:a}=e,{style:r,caption:n,info:s,button1:o,button2:_}=i,[d,h]=ue(n||"",a),[,u]=ue(s||"",a),[,I]=ue(o||"",a),[,C]=ue(_||"",a);return!!samp.callNative("ShowPlayerDialog",`iii${d.repeat(4)}`,e.id,t,r,h,u,I,C)},pI=e=>{const[t,i]=samp.callNative("GetPlayerName","iAi",e.id,H.MAX_PLAYER_NAME);return{name:A.decodeFromBuf(A.getValidStr(t),e.charset),ret:i}},II=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,A.encodeToBuf(t,e.charset)),SI=(e,t,i)=>{const a=A.encodeToBuf(t,i);return samp.callNative("BanEx","ia",e,a)},yI=(e,t="utf8")=>{const[i,a]=ue(e,t);return samp.callNative("SendRconCommand",i,a)},CI=(e,t,i,a,r,n,s,o,_,d,h,u,I,C,y,L)=>{const j=A.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",j,i,a,r,n,s,o,_,d,h,u,I,C,y,L)},AI=(e,t,i,a,r,n,s,o,_,d,h,u,I,C,y,L)=>{const j=A.encodeToBuf(e,L);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",j,t,i,a,r,n,s,o,_,d,h,u,I,C,y,h.length,u.length,I.length,C.length)},EI=(e,t,i,a)=>{const r=A.encodeToBuf(i,a);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,r)},NI=(e,t)=>{const[i,a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return{text:A.decodeFromBuf(A.getValidStr(i),t),ret:a}},DI=(e,t,i,a,r,n,s,o,_,d,h)=>{const u=A.encodeToBuf(a,e),I=A.encodeToBuf(n,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,i,u,r,I,s,o,_,d,h)},TI=(e,t,i="utf8")=>{const[a,r,n,s,o]=samp.callNative("GetDynamicObjectMaterial","iiIAAIii",e,t,64,64);return{modelId:a,txdName:A.decodeFromBuf(A.getValidStr(r),i),textureName:A.decodeFromBuf(A.getValidStr(n),i),materialColor:s,ret:o}},vI=(e,t,i)=>{const[a,r,n,s,o,_,d,h,u]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),I=A.decodeFromBuf(a,i),C=A.decodeFromBuf(n,i);return{text:I,materialSize:r,fontFace:C,fontSize:s,bold:o,fontColor:_,backColor:d,textAlignment:h,ret:u}},bI=(e,t,i,a,r,n)=>{const s=A.encodeToBuf(t,n);return!!samp.callNative("SetPlayerChatBubble","iaifi",e,s,N(i),a,r)},Li=(e,t,i,a,r,n,s,o=!0,_,d,h)=>{const u=A.encodeToBuf(i,e),I=A.encodeToBuf(n,e);return!!samp.callNative("SetObjectMaterialText","iaiiaiiiii",t,u,a,r,I,s,o,N(_),N(d),h)},LI=(e,t,i)=>{const[a,r=0,n,s=0,o=0,_=0,d=0,h=0,u]=samp.callNative("GetObjectMaterialText","iiAiIAiIIIII",e,t,2048,32),I=A.decodeFromBuf(a,i),C=A.decodeFromBuf(n,i);return{text:I,materialSize:r,fontFace:C,fontSize:s,bold:o,fontColor:_,backColor:d,textAlignment:h,ret:u}},wi=(e,t,i,a,r,n,s,o,_=!0,d,h,u)=>{const I=A.encodeToBuf(a,e),C=A.encodeToBuf(s,e);return!!samp.callNative("SetPlayerObjectMaterialText","iiaiiaiiiii",t,i,I,r,n,C,o,_,N(d),N(h),u)},wI=(e,t,i,a)=>{const[r,n=0,s,o=0,_=0,d=0,h=0,u=0,I]=samp.callNative("GetPlayerObjectMaterialText","iiiAiIAiIIIII",e,t,i,2048,32),C=A.decodeFromBuf(r,a),y=A.decodeFromBuf(s,a);return{text:C,materialSize:n,fontFace:y,fontSize:o,bold:_,fontColor:d,backColor:h,textAlignment:u,ret:I}},RI=(e,t,i,a,r,n,s,o,_=!1)=>{const d=A.encodeToBuf(t,e);return samp.callNative("Create3DTextLabel","aiffffii",d,N(i),a,r,n,s,o,_)},OI=(e,t,i,a,r,n,s,o,_,d,h)=>{const u=A.encodeToBuf(i,e);return samp.callNative("CreatePlayer3DTextLabel","iaiffffiii",t,u,N(a),r,n,s,o,_,d,h)},GI=(e,t,i,a)=>{const r=A.encodeToBuf(a,e);return!!samp.callNative("Update3DTextLabelText","iia",t,N(i),r)},jI=(e,t,i,a,r)=>{const n=A.encodeToBuf(r,e);return!!samp.callNative("UpdatePlayer3DTextLabelText","iiia",t,i,N(a),n)},FI=(e,t)=>{const[i,a]=samp.callNative("Get3DTextLabelText","iAi",t,144);return{text:A.decodeFromBuf(i,e),buf:i,ret:a}},MI=(e,t,i)=>{const[a,r]=samp.callNative("GetPlayer3DTextLabelText","iiAi",t,i,144);return{text:A.decodeFromBuf(a,e),buf:a,ret:r}},VI=(e,t,i)=>{const[a,r]=samp.callNative("GetMenuColumnHeader","iiAi",e,t,31);return{header:A.decodeFromBuf(a,i),buf:a,ret:r}},BI=(e,t,i,a)=>{const[r,n]=samp.callNative("GetMenuItem","iiiAi",e,t,i,31);return{item:A.decodeFromBuf(r,a),buf:r,ret:n}},kI=(e,t,i,a,r,n,s)=>samp.callNative("CreateMenu","aiffff",A.encodeToBuf(e,s),t,i,a,r,n),xI=(e,t,i,a)=>samp.callNative("AddMenuItem","iia",e,t,A.encodeToBuf(i,a)),HI=(e,t,i,a)=>samp.callNative("SetMenuColumnHeader","iia",e,t,A.encodeToBuf(i,a)),UI=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],WI=[[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],[],[],[],[],[],[],[],[]],KI=(e,t)=>{if(!Ct(e))return!1;const i=WI[e-400];if(i===null)return!1;const a=t-1e3;return UI.includes(a)||i.includes(a)},Ct=e=>e>=400&&e<=611,XI=(e,t)=>{if(t<0||t>2)return!1;const i=new Map([[483,0],[534,2],[535,2],[536,2],[558,2],[559,2],[560,2],[561,2],[562,2],[565,2],[567,2],[575,1],[576,2]]).get(e);return typeof i>"u"?!1:t<=i},B=Symbol("internalPlayerProps"),oe=new Map,me=new Map,Oe=new Map,Z=new Map,Ge=new Map,fe=new Map,re=new Map,Pe=new Map,de=new Map,je=new Map,Y=new Map,pe=new Map,Fe=new Map,he=new Map,Ie=new Map,Se=new Map,ye=new Map,Me=new Map,Ce=new Map,Ae=new Map,W=new Map,Ve=new Map,Be=new Map,ke=new Map,z=new Map,[ZI]=m({name:"OnGameModeInit",identifier:""}),[Ri,YI]=m({name:"OnGameModeInitReal",isNative:!1});ZI(()=>{Promise.resolve().then(YI)});const[Oi]=m({name:"OnGameModeExit",identifier:""}),[zI]=m({name:"OnIncomingConnection",identifier:"isi",defaultValue:!1,beforeEach(e,t,i){return{playerId:e,ipAddress:t,port:i}}}),[JI]=m({name:"OnRconCommandI18n",identifier:"ai",defaultValue:!1,beforeEach(e){return{buffer:e,cmd:A.decodeFromBuf(e)}}}),[$I]=m({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,i){return{ip:A.decodeFromBuf(e),password:A.decodeFromBuf(t),success:!!i,ipBuffer:e,passwordBuffer:t}}}),Ee=[],xe=[],ct=new Map,At=async e=>{try{return await new Promise((t,i)=>{const a=Ee.findIndex(o=>o.name===e);if(a===-1)return;const r=Ee[a];function n(o){o.length&&ct.set(e,o),Ee.splice(a,1),xe.push(r),setTimeout(t)}const s=r.load();s instanceof Promise?s.then(n).catch(i):n(s)})}catch(t){throw new Error(`[GameMode]: script ${e} load fail
1
+ import Hi from"node:util";import Ui from"iconv-lite";var vt=(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))(vt||{}),bt=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(bt||{}),dt=(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))(dt||{}),Lt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Lt||{}),wt=(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))(wt||{}),l=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.NPC_ID=-1]="NPC_ID",e[e.PATH_ID=-1]="PATH_ID",e[e.NODE_ID=-1]="NODE_ID",e[e.RECORD_ID=-1]="RECORD_ID",e[e.VEHICLE_ID=65535]="VEHICLE_ID",e[e.ACTOR_ID=65535]="ACTOR_ID",e[e.OBJECT_ID=65535]="OBJECT_ID",e[e.MENU=-1]="MENU",e[e.TEXT_DRAW=65535]="TEXT_DRAW",e[e.PLAYER_TEXT_DRAW=65535]="PLAYER_TEXT_DRAW",e[e.GANG_ZONE=-1]="GANG_ZONE",e[e._3DTEXT_ID=65535]="_3DTEXT_ID",e[e.PLAYER_3DTEXT_ID=65535]="PLAYER_3DTEXT_ID",e[e.PICKUP_ID=-1]="PICKUP_ID",e))(l||{}),Rt=(e=>(e[e.NONE=0]="NONE",e[e.ACTION=1]="ACTION",e[e.CROUCH=2]="CROUCH",e[e.FIRE=4]="FIRE",e[e.SPRINT=8]="SPRINT",e[e.SECONDARY_ATTACK=16]="SECONDARY_ATTACK",e[e.JUMP=32]="JUMP",e[e.LOOK_RIGHT=64]="LOOK_RIGHT",e[e.HANDBRAKE=128]="HANDBRAKE",e[e.LOOK_LEFT=256]="LOOK_LEFT",e[e.SUBMISSION=512]="SUBMISSION",e[e.LOOK_BEHIND=512]="LOOK_BEHIND",e[e.WALK=1024]="WALK",e[e.ANALOG_UP=2048]="ANALOG_UP",e[e.ANALOG_DOWN=4096]="ANALOG_DOWN",e[e.ANALOG_LEFT=8192]="ANALOG_LEFT",e[e.ANALOG_RIGHT=16384]="ANALOG_RIGHT",e[e.YES=65536]="YES",e[e.NO=131072]="NO",e[e.CTRL_BACK=262144]="CTRL_BACK",e[e.KEY_UP=-128]="KEY_UP",e[e.KEY_DOWN=128]="KEY_DOWN",e[e.KEY_LEFT=-128]="KEY_LEFT",e[e.KEY_RIGHT=128]="KEY_RIGHT",e))(Rt||{}),H=(e=>(e[e.MAX_PLAYER_NAME=24]="MAX_PLAYER_NAME",e[e.MAX_PLAYERS=1e3]="MAX_PLAYERS",e[e.MAX_VEHICLES=2e3]="MAX_VEHICLES",e[e.MAX_ACTORS=1e3]="MAX_ACTORS",e[e.MAX_OBJECTS=1e3]="MAX_OBJECTS",e[e.MAX_GANG_ZONES=1024]="MAX_GANG_ZONES",e[e.MAX_TEXT_DRAWS=2048]="MAX_TEXT_DRAWS",e[e.MAX_PLAYER_TEXT_DRAWS=256]="MAX_PLAYER_TEXT_DRAWS",e[e.MAX_MENUS=128]="MAX_MENUS",e[e.MAX_MENU_ROW=12]="MAX_MENU_ROW",e[e.MAX_MENU_COL=2]="MAX_MENU_COL",e[e.MAX_3DTEXT_GLOBAL=1024]="MAX_3DTEXT_GLOBAL",e[e.MAX_3DTEXT_PLAYER=1024]="MAX_3DTEXT_PLAYER",e[e.MAX_PICKUPS=4096]="MAX_PICKUPS",e[e.MAX_PLAYER_ATTACHED_OBJECTS=10]="MAX_PLAYER_ATTACHED_OBJECTS",e[e.MAX_CHATBUBBLE_LENGTH=144]="MAX_CHATBUBBLE_LENGTH",e[e.NPC_MAX_NODES=64]="NPC_MAX_NODES",e[e.MAX_NPCS=1e3]="MAX_NPCS",e[e.MAX_WORLD_BOUNDS=2e4]="MAX_WORLD_BOUNDS",e[e.MIN_WORLD_BOUNDS=-2e4]="MIN_WORLD_BOUNDS",e[e.MAX_TEXTDRAW_STR_LENGTH=800]="MAX_TEXTDRAW_STR_LENGTH",e[e.MAX_VEHICLE_CARRIAGES=3]="MAX_VEHICLE_CARRIAGES",e[e.MAX_GAMETEXT_STYLES=16]="MAX_GAMETEXT_STYLES",e[e.MIN_CUSTOM_SKIN_ID=20001]="MIN_CUSTOM_SKIN_ID",e[e.MAX_CUSTOM_SKIN_ID=3e4]="MAX_CUSTOM_SKIN_ID",e[e.MIN_CUSTOM_OBJECT_ID=-3e4]="MIN_CUSTOM_OBJECT_ID",e[e.MAX_CUSTOM_OBJECT_ID=-1e3]="MAX_CUSTOM_OBJECT_ID",e))(H||{}),Ot=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(Ot||{}),Gt=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Gt||{}),jt=(e=>(e[e.NONE=0]="NONE",e[e.START=1]="START",e[e.PAUSE=2]="PAUSE",e))(jt||{}),at=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.WALK=1]="WALK",e[e.JOG=2]="JOG",e[e.SPRINT=3]="SPRINT",e[e.DRIVE=4]="DRIVE",e[e.AUTO=5]="AUTO",e))(at||{}),Ze=(e=>(e[e.NONE=0]="NONE",e[e.PLAYER=1]="PLAYER",e[e.NPC=2]="NPC",e[e.ACTOR=4]="ACTOR",e[e.VEHICLE=8]="VEHICLE",e[e.OBJECT=16]="OBJECT",e[e.POBJECT_ORIG=32]="POBJECT_ORIG",e[e.POBJECT_TARG=64]="POBJECT_TARG",e[e.MAP=128]="MAP",e[e.ALL=255]="ALL",e))(Ze||{}),Re=(e=>(e[e.AUTO=-1]="AUTO",e[e.WALK=.1552086]="WALK",e[e.JOG=.56444]="JOG",e[e.SPRINT=.926784]="SPRINT",e))(Re||{}),Ft=(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))(Ft||{}),Mt=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Mt||{}),ge=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(ge||{}),ht=(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))(ht||{}),Vt=(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))(Vt||{}),Ye=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(Ye||{}),Bt=(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))(Bt||{}),rt=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(rt||{}),ze=(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))(ze||{}),kt=(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))(kt||{}),xt=(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))(xt||{}),Ht=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(Ht||{}),gt=(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))(gt||{}),Je=(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))(Je||{}),Ut=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Ut||{}),Wt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=-1]="NONE",e[e.SPOILER=0]="SPOILER",e[e.HOOD=1]="HOOD",e[e.ROOF=2]="ROOF",e[e.SIDESKIRT=3]="SIDESKIRT",e[e.LAMPS=4]="LAMPS",e[e.NITRO=5]="NITRO",e[e.EXHAUST=6]="EXHAUST",e[e.WHEELS=7]="WHEELS",e[e.STEREO=8]="STEREO",e[e.HYDRAULICS=9]="HYDRAULICS",e[e.FRONT_BUMPER=10]="FRONT_BUMPER",e[e.REAR_BUMPER=11]="REAR_BUMPER",e[e.VENT_RIGHT=12]="VENT_RIGHT",e[e.VENT_LEFT=13]="VENT_LEFT",e[e.FRONT_BULLBAR=14]="FRONT_BULLBAR",e[e.REAR_BULLBAR=15]="REAR_BULLBAR",e))(Wt||{}),Kt=(e=>(e[e.UNSET=-1]="UNSET",e[e.OFF=0]="OFF",e[e.ON=1]="ON",e))(Kt||{}),Xt=(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))(Xt||{}),Zt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.REASON_VEHICLE=49]="REASON_VEHICLE",e[e.REASON_DROWN=53]="REASON_DROWN",e[e.REASON_COLLISION=54]="REASON_COLLISION",e[e.REASON_SPLAT=54]="REASON_SPLAT",e[e.REASON_CONNECT=200]="REASON_CONNECT",e[e.REASON_DISCONNECT=200]="REASON_DISCONNECT",e[e.REASON_SUICIDE=255]="REASON_SUICIDE",e[e.FIST=0]="FIST",e[e.BRASSKNUCKLE=1]="BRASSKNUCKLE",e[e.GOLFCLUB=2]="GOLFCLUB",e[e.NIGHTSTICK=3]="NIGHTSTICK",e[e.KNIFE=4]="KNIFE",e[e.BAT=5]="BAT",e[e.SHOVEL=6]="SHOVEL",e[e.POOLSTICK=7]="POOLSTICK",e[e.KATANA=8]="KATANA",e[e.CHAINSAW=9]="CHAINSAW",e[e.DILDO=10]="DILDO",e[e.DILDO2=11]="DILDO2",e[e.VIBRATOR=12]="VIBRATOR",e[e.VIBRATOR2=13]="VIBRATOR2",e[e.FLOWER=14]="FLOWER",e[e.CANE=15]="CANE",e[e.GRENADE=16]="GRENADE",e[e.TEARGAS=17]="TEARGAS",e[e.MOLTOV=18]="MOLTOV",e[e.COLT45=22]="COLT45",e[e.SILENCED=23]="SILENCED",e[e.DEAGLE=24]="DEAGLE",e[e.SHOTGUN=25]="SHOTGUN",e[e.SAWEDOFF=26]="SAWEDOFF",e[e.SHOTGSPA=27]="SHOTGSPA",e[e.UZI=28]="UZI",e[e.MP5=29]="MP5",e[e.AK47=30]="AK47",e[e.M4=31]="M4",e[e.TEC9=32]="TEC9",e[e.RIFLE=33]="RIFLE",e[e.SNIPER=34]="SNIPER",e[e.ROCKETLAUNCHER=35]="ROCKETLAUNCHER",e[e.HEATSEEKER=36]="HEATSEEKER",e[e.FLAMETHROWER=37]="FLAMETHROWER",e[e.MINIGUN=38]="MINIGUN",e[e.SATCHEL=39]="SATCHEL",e[e.BOMB=40]="BOMB",e[e.SPRAYCAN=41]="SPRAYCAN",e[e.FIREEXTINGUISHER=42]="FIREEXTINGUISHER",e[e.CAMERA=43]="CAMERA",e[e.NIGHT_VISION_GOGGLES=44]="NIGHT_VISION_GOGGLES",e[e.THERMAL_GOGGLES=45]="THERMAL_GOGGLES",e[e.PARACHUTE=46]="PARACHUTE",e))(Zt||{}),Yt=(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))(Yt||{}),zt=(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))(zt||{}),ut=(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))(ut||{}),mt=(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))(mt||{}),Jt=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(Jt||{}),$t=(e=>(e[e.CIRCLE=0]="CIRCLE",e[e.CYLINDER=1]="CYLINDER",e[e.SPHERE=2]="SPHERE",e[e.RECTANGLE=3]="RECTANGLE",e[e.CUBOID=4]="CUBOID",e[e.POLYGON=5]="POLYGON",e))($t||{}),V=(e=>(e[e.OBJECT_SD=300]="OBJECT_SD",e[e.OBJECT_DD=0]="OBJECT_DD",e[e.PICKUP_SD=200]="PICKUP_SD",e[e.CP_SD=200]="CP_SD",e[e.RACE_CP_SD=200]="RACE_CP_SD",e[e.MAP_ICON_SD=200]="MAP_ICON_SD",e[e.TEXT_3D_LABEL_SD=200]="TEXT_3D_LABEL_SD",e[e.ACTOR_SD=200]="ACTOR_SD",e))(V||{}),T=(e=>(e[e.OBJECT=0]="OBJECT",e[e.PICKUP=1]="PICKUP",e[e.CP=2]="CP",e[e.RACE_CP=3]="RACE_CP",e[e.MAP_ICON=4]="MAP_ICON",e[e.TEXT_3D_LABEL=5]="TEXT_3D_LABEL",e[e.AREA=6]="AREA",e[e.ACTOR=7]="ACTOR",e))(T||{}),P=(e=>(e[e.MAX_TYPES=8]="MAX_TYPES",e[e.MAX_AREA_TYPES=5]="MAX_AREA_TYPES",e[e.MAX_OBJECT_TYPES=3]="MAX_OBJECT_TYPES",e[e.INVALID_ID=0]="INVALID_ID",e))(P||{}),nt=(e=>(e[e.GLOBAL=0]="GLOBAL",e[e.PLAYER=1]="PLAYER",e[e.DYNAMIC=2]="DYNAMIC",e))(nt||{}),le=(e=>(e[e.AREA_ID=0]="AREA_ID",e[e.ATTACHED_OBJECT=1]="ATTACHED_OBJECT",e[e.ATTACHED_PLAYER=2]="ATTACHED_PLAYER",e[e.ATTACHED_VEHICLE=3]="ATTACHED_VEHICLE",e[e.ATTACH_OFFSET_X=4]="ATTACH_OFFSET_X",e[e.ATTACH_OFFSET_Y=5]="ATTACH_OFFSET_Y",e[e.ATTACH_OFFSET_Z=6]="ATTACH_OFFSET_Z",e[e.ATTACH_R_X=7]="ATTACH_R_X",e[e.ATTACH_R_Y=8]="ATTACH_R_Y",e[e.ATTACH_R_Z=9]="ATTACH_R_Z",e[e.ATTACH_X=10]="ATTACH_X",e[e.ATTACH_Y=11]="ATTACH_Y",e[e.ATTACH_Z=12]="ATTACH_Z",e[e.COLOR=13]="COLOR",e[e.DRAW_DISTANCE=14]="DRAW_DISTANCE",e[e.EXTRA_ID=15]="EXTRA_ID",e[e.HEALTH=16]="HEALTH",e[e.INTERIOR_ID=17]="INTERIOR_ID",e[e.INVULNERABLE=18]="INVULNERABLE",e[e.MAX_X=19]="MAX_X",e[e.MAX_Y=20]="MAX_Y",e[e.MAX_Z=21]="MAX_Z",e[e.MIN_X=22]="MIN_X",e[e.MIN_Y=23]="MIN_Y",e[e.MIN_Z=24]="MIN_Z",e[e.MODEL_ID=25]="MODEL_ID",e[e.MOVE_R_X=26]="MOVE_R_X",e[e.MOVE_R_Y=27]="MOVE_R_Y",e[e.MOVE_R_Z=28]="MOVE_R_Z",e[e.MOVE_SPEED=29]="MOVE_SPEED",e[e.MOVE_X=30]="MOVE_X",e[e.MOVE_Y=31]="MOVE_Y",e[e.MOVE_Z=32]="MOVE_Z",e[e.NEXT_X=33]="NEXT_X",e[e.NEXT_Y=34]="NEXT_Y",e[e.NEXT_Z=35]="NEXT_Z",e[e.PLAYER_ID=36]="PLAYER_ID",e[e.PRIORITY=37]="PRIORITY",e[e.ROTATION=38]="ROTATION",e[e.R_X=39]="R_X",e[e.R_Y=40]="R_Y",e[e.R_Z=41]="R_Z",e[e.SIZE=42]="SIZE",e[e.STREAM_DISTANCE=43]="STREAM_DISTANCE",e[e.STYLE=44]="STYLE",e[e.SYNC_ROTATION=45]="SYNC_ROTATION",e[e.TEST_LOS=46]="TEST_LOS",e[e.TYPE=47]="TYPE",e[e.WORLD_ID=48]="WORLD_ID",e[e.X=49]="X",e[e.Y=50]="Y",e[e.Z=51]="Z",e))(le||{}),Qt=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Qt||{}),st=(e=>(e[e.SIZE_32x32=10]="SIZE_32x32",e[e.SIZE_64x32=20]="SIZE_64x32",e[e.SIZE_64x64=30]="SIZE_64x64",e[e.SIZE_128x32=40]="SIZE_128x32",e[e.SIZE_128x64=50]="SIZE_128x64",e[e.SIZE_128x128=60]="SIZE_128x128",e[e.SIZE_256x32=70]="SIZE_256x32",e[e.SIZE_256x64=80]="SIZE_256x64",e[e.SIZE_256x128=90]="SIZE_256x128",e[e.SIZE_256x256=100]="SIZE_256x256",e[e.SIZE_512x64=110]="SIZE_512x64",e[e.SIZE_512x128=120]="SIZE_512x128",e[e.SIZE_512x256=130]="SIZE_512x256",e[e.SIZE_512x512=140]="SIZE_512x512",e))(st||{});const qt=-1,Wi=-1,Ki=-1,Xi=-1,Zi=0,Yi=-1e3,zi=-1e3,Ji=-1e3,$i=0,ei=32,Qi=300,qi=!0,lt=1,ea=e=>samp.callNative("DestroyDynamic3DTextLabel","i",e),ti=e=>!!samp.callNative("IsValidDynamic3DTextLabel","i",e),ta=(e,t,i,a,r,n=!0,s=100,o=0,_=-1,d=-1,h=V.ACTOR_SD,u=-1,I=0)=>samp.callNative("CreateDynamicActor","iffffifiiifii",e,t,i,a,r,n,s,o,_,d,h,u,I),ia=e=>samp.callNative("DestroyDynamicActor","i",e),aa=e=>!!samp.callNative("IsValidDynamicActor","i",e),ra=(e,t)=>!!samp.callNative("IsDynamicActorStreamedIn","ii",e,t),na=e=>samp.callNative("GetDynamicActorVirtualWorld","i",e),sa=(e,t)=>samp.callNative("SetDynamicActorVirtualWorld","ii",e,t),la=(e,t,i,a,r,n,s,o,_)=>samp.callNative("ApplyDynamicActorAnimation","issfiiiii",e,t,i,a,r,n,s,o,_),oa=e=>samp.callNative("ClearDynamicActorAnimations","i",e),_a=e=>{const[t,i]=samp.callNative("GetDynamicActorFacingAngle","iF",e);return{angle:t,ret:i}},ca=(e,t)=>samp.callNative("SetDynamicActorFacingAngle","if",e,t),da=e=>{const[t,i,a,r]=samp.callNative("GetDynamicActorPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},ha=(e,t,i,a)=>samp.callNative("SetDynamicActorPos","ifff",e,t,i,a),ga=e=>{const[t,i]=samp.callNative("GetDynamicActorHealth","iF",e);return{health:t,ret:i}},ua=(e,t)=>samp.callNative("SetDynamicActorHealth","if",e,t),ma=(e,t=!0)=>samp.callNative("SetDynamicActorInvulnerable","ii",e,t),fa=e=>!!samp.callNative("IsDynamicActorInvulnerable","i",e),Pa=e=>samp.callNative("GetPlayerTargetDynamicActor","i",e),pa=e=>samp.callNative("GetPlayerCameraTargetDynActor","i",e),Ia=e=>{const[t,i,a=0,r=0,n=0,s=0,o=0,_=0,d]=samp.callNative("GetDynamicActorAnimation","iSSFIIIIIii",e,32,32);return{animLib:t,animName:i,fDelta:a,loop:r,lockX:n,lockY:s,freeze:o,time:_,ret:d}},Sa=(e,t,i,a=-1,r=-1,n=-1,s=0)=>samp.callNative("CreateDynamicCircle","fffiiii",e,t,i,a,r,n,s),ya=(e,t,i,a,r,n=-1,s=-1,o=-1,_=0)=>samp.callNative("CreateDynamicCylinder","fffffiiii",e,t,i,a,r,n,s,o,_),Ca=(e,t,i,a,r=-1,n=-1,s=-1,o=0)=>samp.callNative("CreateDynamicSphere","ffffiiii",e,t,i,a,r,n,s,o),Aa=(e,t,i,a,r=-1,n=-1,s=-1,o=0)=>samp.callNative("CreateDynamicRectangle","ffffiiii",e,t,i,a,r,n,s,o),Ea=(e,t,i,a,r,n,s=-1,o=-1,_=-1,d=0)=>samp.callNative("CreateDynamicCuboid","ffffffiiii",e,t,i,a,r,n,s,o,_,d),Na=(e,t=Number.MIN_VALUE,i=Number.MAX_VALUE,a=-1,r=-1,n=-1,s=0)=>samp.callNative("CreateDynamicPolygon","affiiiii",e,t,i,e.length,a,r,n,s),Da=e=>samp.callNative("DestroyDynamicArea","i",e),Ta=e=>!!samp.callNative("IsValidDynamicArea","i",e),va=e=>samp.callNative("GetDynamicAreaType","i",e),ba=e=>{const[t,i]=samp.callNative("GetDynamicPolygonPoints","iAi",e,ii(e));return{points:t,ret:i}},ii=e=>samp.callNative("GetDynamicPolygonNumberPoints","i",e),La=(e,t,i=!1)=>!!samp.callNative("IsPlayerInDynamicArea","iii",e,t,i),wa=(e,t=!1)=>!!samp.callNative("IsPlayerInAnyDynamicArea","ii",e,t),Ra=(e,t=!1)=>!!samp.callNative("IsAnyPlayerInDynamicArea","ii",e,t),Oa=(e=!1)=>!!samp.callNative("IsAnyPlayerInAnyDynamicArea","i",e),Ga=e=>{const[t,i]=samp.callNative("GetPlayerDynamicAreas","iAi",e,ai(e));return{areas:t,ret:i}},ai=e=>samp.callNative("GetPlayerNumberDynamicAreas","i",e),ja=(e,t,i,a)=>!!samp.callNative("IsPointInDynamicArea","ifff",e,t,i,a),Fa=(e,t,i)=>!!samp.callNative("IsPointInAnyDynamicArea","fff",e,t,i),Ma=(e,t,i,a,r,n,s)=>!!samp.callNative("IsLineInDynamicArea","iffffff",e,t,i,a,r,n,s),Va=(e,t,i,a,r,n)=>!!samp.callNative("IsLineInAnyDynamicArea","ffffff",e,t,i,a,r,n),Ba=(e,t,i)=>{const[a,r]=samp.callNative("GetDynamicAreasForPoint","fffAi",e,t,i,ri(e,t,i));return{areas:a,ret:r}},ri=(e,t,i)=>samp.callNative("GetNumberDynamicAreasForPoint","fff",e,t,i),ka=(e,t,i,a,r,n)=>{const[s,o]=samp.callNative("GetDynamicAreasForLine","ffffffAi",e,t,i,a,r,n,ni(e,t,i,a,r,n));return{areas:s,ret:o}},ni=(e,t,i,a,r,n)=>samp.callNative("GetNumberDynamicAreasForLine","ffffff",e,t,i,a,r,n),xa=(e,t,i=nt.DYNAMIC,a=65535,r=0,n=0,s=0)=>samp.callNative("AttachDynamicAreaToObject","iiiifff",e,t,i,a,r,n,s),Ha=(e,t,i=0,a=0,r=0)=>samp.callNative("AttachDynamicAreaToPlayer","iifff",e,t,i,a,r),Ua=(e,t,i=0,a=0,r=0)=>samp.callNative("AttachDynamicAreaToVehicle","iifff",e,t,i,a,r),Wa=(e,t)=>samp.callNative("ToggleDynAreaSpectateMode","ii",e,t),Ka=e=>!!samp.callNative("IsToggleDynAreaSpectateMode","i",e),Xa=(e,t,i,a,r=-1,n=-1,s=-1,o=V.CP_SD,_=-1,d=0)=>samp.callNative("CreateDynamicCP","ffffiiifii",e,t,i,a,r,n,s,o,_,d),Za=e=>samp.callNative("DestroyDynamicCP","i",e),ft=e=>!!samp.callNative("IsValidDynamicCP","i",e),Ya=(e,t,i)=>samp.callNative("TogglePlayerDynamicCP","iii",e,t,i),za=(e,t)=>samp.callNative("TogglePlayerAllDynamicCPs","ii",e,t),Ja=(e,t)=>!!samp.callNative("IsPlayerInDynamicCP","ii",e,t),$a=e=>samp.callNative("GetPlayerVisibleDynamicCP","i",e),Qa=(e,t,i)=>{const[a,r]=samp.callNative("Streamer_GetFloatData","iiiF",e,t,i);return{val:a,ret:r}},qa=(e,t,i,a)=>samp.callNative("Streamer_SetFloatData","iiif",e,t,i,a),er=(e,t,i)=>samp.callNative("Streamer_GetIntData","iii",e,t,i),tr=(e,t,i,a)=>samp.callNative("Streamer_SetIntData","iiii",e,t,i,a),ir=(e,t,i)=>{const[a,r]=samp.callNative("Streamer_GetArrayData","iiiAi",e,t,i,si(e,t,i));return{arrayData:a,ret:r}},ar=(e,t,i,a)=>samp.callNative("Streamer_SetArrayData","iiiai",e,t,i,a,a.length),rr=(e,t,i,a)=>!!samp.callNative("Streamer_IsInArrayData","iiii",e,t,i,a),nr=(e,t,i,a)=>samp.callNative("Streamer_AppendArrayData","iiii",e,t,i,a),sr=(e,t,i,a)=>samp.callNative("Streamer_RemoveArrayData","iiii",e,t,i,a),si=(e,t,i)=>samp.callNative("Streamer_GetArrayDataLength","iii",e,t,i),lr=e=>samp.callNative("Streamer_GetUpperBound","i",e);var ot=(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))(ot||{});const or=(e,t,i,a,r,n=-1,s=-1,o=-1,_=V.MAP_ICON_SD,d=0,h=-1,u=0)=>samp.callNative("CreateDynamicMapIcon","fffiiiiifiii",e,t,i,a,r,n,s,o,_,d,h,u),_r=e=>samp.callNative("DestroyDynamicMapIcon","i",e),cr=e=>!!samp.callNative("IsValidDynamicMapIcon","i",e),dr=(e,t,i,a,r,n,s,o=V.OBJECT_SD,_=V.OBJECT_DD,d=[-1],h=[-1],u=[-1],I=[-1],C=0)=>samp.callNative("CreateDynamicObjectEx","iffffffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,u,I,C,d.length,h.length,u.length,I.length),hr=(e,t,i,a,r,n=V.PICKUP_SD,s=[-1],o=[-1],_=[-1],d=[-1],h=0)=>samp.callNative("CreateDynamicPickupEx","iiffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,s.length,o.length,_.length,d.length),gr=(e,t,i,a,r=V.CP_SD,n=[-1],s=[-1],o=[-1],_=[-1],d=0)=>samp.callNative("CreateDynamicCPEx","fffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,n.length,s.length,o.length,_.length),ur=(e,t,i,a,r,n,s,o,_=V.RACE_CP_SD,d=[-1],h=[-1],u=[-1],I=[-1],C=0)=>samp.callNative("CreateDynamicRaceCPEx","iffffffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,u,I,C,d.length,h.length,u.length,I.length),mr=(e,t,i,a,r,n=ot.LOCAL,s=V.MAP_ICON_SD,o=[-1],_=[-1],d=[-1],h=[-1],u=0)=>samp.callNative("CreateDynamicMapIconEx","fffiiifaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,u,o.length,_.length,d.length,h.length),fr=(e,t,i,a=[-1],r=[-1],n=[-1],s=0)=>samp.callNative("CreateDynamicCircleEx","fffaaaiiii",e,t,i,a,r,n,a.length,r.length,n.length,s),Pr=(e,t,i,a,r,n=[-1],s=[-1],o=[-1],_=0)=>samp.callNative("CreateDynamicCylinderEx","fffffaaaiiii",e,t,i,a,r,n,s,o,n.length,s.length,o.length,_),pr=(e,t,i,a,r=[-1],n=[-1],s=[-1],o=0)=>samp.callNative("CreateDynamicSphereEx","ffffaaaiiii",e,t,i,a,r,n,s,r.length,n.length,s.length,o),Ir=(e,t,i,a,r=[-1],n=[-1],s=[-1],o=0)=>samp.callNative("CreateDynamicRectangleEx","ffffaaaiiii",e,t,i,a,r,n,s,r.length,n.length,s.length,o),Sr=(e,t,i,a,r,n,s=[-1],o=[-1],_=[-1],d=0)=>samp.callNative("CreateDynamicCuboidEx","ffffffaaaiiii",e,t,i,a,r,n,s,o,_,s.length,o.length,_.length,d),yr=(e,t=Number.MIN_VALUE,i=Number.MAX_VALUE,a=[-1],r=[-1],n=[-1],s=0)=>samp.callNative("CreateDynamicPolygonEx","affiaaaiiii",e,t,i,e.length,a,r,n,a.length,r.length,n.length,s),Cr=(e,t,i,a,r,n=!0,s=100,o=V.ACTOR_SD,_=[0],d=[-1],h=[-1],u=[-1],I=0)=>samp.callNative("CreateDynamicActorEx","iffffiffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,u,I,_.length,d.length,h.length,u.length),Ar=(e,t,i,a,r,n=3)=>{const[s,o]=samp.callNative("Streamer_GetDistanceToItem","fffiiFi",e,t,i,a,r,n);return{distance:s,ret:o}},Er=(e,t,i,a)=>samp.callNative("Streamer_ToggleItem","iiii",e,t,i,a),Nr=(e,t,i)=>!!samp.callNative("Streamer_IsToggleItem","iii",e,t,i),Dr=(e,t,i,a=[-1])=>samp.callNative("Streamer_ToggleAllItems","iiiai",e,t,i,a,a.length),Tr=(e,t,i)=>samp.callNative("Streamer_GetItemInternalID","iii",e,t,i),vr=(e,t,i)=>samp.callNative("Streamer_GetItemStreamerID","iii",e,t,i),br=(e,t,i)=>!!samp.callNative("Streamer_IsItemVisible","iii",e,t,i),Lr=(e,t,i=lt)=>samp.callNative("Streamer_DestroyAllVisibleItems","iii",e,t,i),wr=(e,t,i=lt)=>samp.callNative("Streamer_CountVisibleItems","iii",e,t,i),Rr=(e,t=lt)=>samp.callNative("Streamer_DestroyAllItems","ii",e,t),Or=(e,t=lt)=>samp.callNative("Streamer_CountItems","ii",e,t),Gr=(e,t,i,a,r=ei,n=Qi,s=qt)=>{const[o=[],_=0]=samp.callNative("Streamer_GetNearbyItems","fffiAifi",e,t,i,a,r,n,s);return o.slice(0,_)},jr=(e,t,i=ei)=>{const[a=[],r=0]=samp.callNative("Streamer_GetAllVisibleItems","iiAi",e,t,i);return a.slice(0,r)},Fr=(e,t)=>{const[i,a,r,n]=samp.callNative("Streamer_GetItemPos","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Mr=(e,t,i,a,r)=>samp.callNative("Streamer_SetItemPos","iifff",e,t,i,a,r),Vr=(e,t)=>{const[i,a,r,n]=samp.callNative("Streamer_GetItemOffset","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Br=(e,t,i,a,r)=>samp.callNative("Streamer_SetItemOffset","iifff",e,t,i,a,r),kr=(e,t,i,a,r,n,s,o=qt,_=Wi,d=Ki,h=V.OBJECT_SD,u=V.OBJECT_DD,I=Xi,C=Zi)=>samp.callNative("CreateDynamicObject","iffffffiiiffii",e,t,i,a,r,n,s,o,_,d,h,u,I,C),xr=e=>samp.callNative("DestroyDynamicObject","i",e),Hr=e=>!!samp.callNative("IsValidDynamicObject","i",e),Ur=e=>{const[t,i,a,r]=samp.callNative("GetDynamicObjectPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},Wr=(e,t,i,a)=>samp.callNative("SetDynamicObjectPos","ifff",e,t,i,a),Kr=e=>{const[t,i,a,r]=samp.callNative("GetDynamicObjectRot","iFFF",e);return{rx:t,ry:i,rz:a,ret:r}},Xr=(e,t,i,a)=>samp.callNative("SetDynamicObjectRot","ifff",e,t,i,a),Zr=(e,t,i,a,r,n=Yi,s=zi,o=Ji)=>samp.callNative("MoveDynamicObject","ifffffff",e,t,i,a,r,n,s,o),Yr=e=>samp.callNative("StopDynamicObject","i",e),zr=e=>!!samp.callNative("IsDynamicObjectMoving","i",e),Jr=(e,t)=>samp.callNative("AttachCameraToDynamicObject","ii",e,t),$r=(e,t,i,a,r,n,s,o,_=qi)=>samp.callNative("AttachDynamicObjectToObject","iiffffffi",e,t,i,a,r,n,s,o,_),Qr=(e,t,i,a,r,n,s,o)=>samp.callNative("AttachDynamicObjectToPlayer","iiffffff",e,t,i,a,r,n,s,o),qr=(e,t,i,a,r,n,s,o)=>samp.callNative("AttachDynamicObjectToVehicle","iiffffff",e,t,i,a,r,n,s,o),en=(e,t)=>samp.callNative("EditDynamicObject","ii",e,t),tn=(e,t)=>!!samp.callNative("IsDynamicObjectMaterialUsed","ii",e,t),an=(e,t)=>samp.callNative("RemoveDynamicObjectMaterial","ii",e,t),rn=(e,t,i,a,r,n=$i)=>samp.callNative("SetDynamicObjectMaterial","iiissi",e,t,i,a,r,n),nn=(e,t)=>!!samp.callNative("IsDynamicObjectMaterialTextUsed","ii",e,t),sn=(e,t)=>samp.callNative("RemoveDynamicObjectMaterialText","ii",e,t),ln=e=>samp.callNative("GetPlayerCameraTargetDynObject","i",e),on=e=>!!samp.callNative("SetDynamicObjectNoCameraCol","i",e),_n=e=>!!samp.callNative("GetDynamicObjectNoCameraCol","i",e),cn=(e,t,i,a,r,n=-1,s=-1,o=-1,_=V.PICKUP_SD,d=-1,h=0)=>samp.callNative("CreateDynamicPickup","iifffiiifii",e,t,i,a,r,n,s,o,_,d,h),dn=e=>!!samp.callNative("DestroyDynamicPickup","i",e),hn=e=>!!samp.callNative("IsValidDynamicPickup","i",e),gn=(e,t,i,a,r,n,s,o,_=-1,d=-1,h=-1,u=V.RACE_CP_SD,I=-1,C=0)=>samp.callNative("CreateDynamicRaceCP","ifffffffiiifii",e,t,i,a,r,n,s,o,_,d,h,u,I,C),un=e=>samp.callNative("DestroyDynamicRaceCP","i",e),mn=(e,t,i)=>samp.callNative("TogglePlayerDynamicRaceCP","iii",e,t,i),fn=(e,t)=>samp.callNative("TogglePlayerAllDynamicRaceCPs","ii",e,t),Pn=(e,t)=>!!samp.callNative("IsPlayerInDynamicRaceCP","ii",e,t),pn=e=>samp.callNative("GetPlayerVisibleDynamicRaceCP","i",e),In=()=>samp.callNative("Streamer_GetTickRate",""),Sn=(e=50)=>samp.callNative("Streamer_SetTickRate","i",e),yn=e=>samp.callNative("Streamer_GetPlayerTickRate","i",e),Cn=(e,t=50)=>samp.callNative("Streamer_SetPlayerTickRate","ii",e,t),An=(e=!1)=>samp.callNative("Streamer_ToggleChunkStream","i",e),En=()=>!!samp.callNative("Streamer_IsToggleChunkStream",""),li=(e,t=-1)=>samp.callNative("Streamer_GetChunkTickRate","ii",e,t),oi=(e,t,i=-1)=>samp.callNative("Streamer_SetChunkTickRate","iii",e,t,i),Nn=e=>samp.callNative("Streamer_GetChunkSize","i",e),Dn=(e,t)=>samp.callNative("Streamer_SetChunkSize","ii",e,t),Tn=e=>samp.callNative("Streamer_GetMaxItems","i",e),vn=(e,t)=>samp.callNative("Streamer_SetMaxItems","ii",e,t),_i=(e,t=-1)=>samp.callNative("Streamer_GetVisibleItems","ii",e,t),ci=(e,t,i=-1)=>samp.callNative("Streamer_SetVisibleItems","iii",e,t,i),di=(e,t=-1)=>{const[i,a]=samp.callNative("Streamer_GetRadiusMultiplier","iFi",e,t);return{multiplier:i,ret:a}},hi=(e,t,i=-1)=>samp.callNative("Streamer_SetRadiusMultiplier","ifi",e,t,i),bn=()=>{const[e,t]=samp.callNative("Streamer_GetTypePriority","Ai",P.MAX_TYPES);return{priority:e,ret:t}},Ln=e=>samp.callNative("Streamer_SetTypePriority","ai",e,P.MAX_TYPES),wn=()=>{const[e,t]=samp.callNative("Streamer_GetCellDistance","F");return{distance:e,ret:t}},Rn=(e=600)=>samp.callNative("Streamer_SetCellDistance","f",e),On=()=>{const[e,t]=samp.callNative("Streamer_GetCellSize","F");return{size:e,ret:t}},Gn=(e=300)=>samp.callNative("Streamer_SetCellSize","f",e),jn=(e,t,i)=>samp.callNative("Streamer_ToggleItemStatic","iii",e,t,i),Fn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemStatic","ii",e,t),Mn=(e,t,i)=>samp.callNative("Streamer_ToggleItemInvAreas","iii",e,t,i),Vn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemInvAreas","ii",e,t),Bn=(e,t,i)=>samp.callNative("Streamer_ToggleItemCallbacks","iii",e,t,i),kn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemCallbacks","ii",e,t),xn=e=>samp.callNative("Streamer_ToggleErrorCallback","i",e),Hn=()=>!!samp.callNative("Streamer_IsToggleErrorCallback",""),Un=e=>samp.callNative("Streamer_AmxUnloadDestroyItems","i",e),Wn=()=>samp.callNative("Streamer_ProcessActiveItems",""),Kn=(e,t)=>samp.callNative("Streamer_ToggleIdleUpdate","ii",e,t),Xn=e=>!!samp.callNative("Streamer_IsToggleIdleUpdate","i",e),Zn=(e,t)=>samp.callNative("Streamer_ToggleCameraUpdate","ii",e,t),Yn=e=>!!samp.callNative("Streamer_IsToggleCameraUpdate","i",e),zn=(e,t,i)=>samp.callNative("Streamer_ToggleItemUpdate","iii",e,t,i),Jn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemUpdate","ii",e,t),$n=()=>{const[e,t]=samp.callNative("Streamer_GetLastUpdateTime","F");return{time:e,ret:t}},Qn=(e,t=-1)=>samp.callNative("Streamer_Update","ii",e,t),qn=(e,t,i,a,r=-1,n=-1,s=-1,o=-1,_=!0)=>samp.callNative("Streamer_UpdateEx","ifffiiiii",e,t,i,a,r,n,s,o,_),Q=new Map,gi=new Map;function es(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function ui(e,t,...i){const{defaultValue:a=!0,name:r,beforeEach:n,afterEach:s,throwOnError:o=!1}=e,_=Q.get(r);if(!_||!_.length)return+a;const d=n?n(...i):{},h=[];let u=t;const I=()=>{s&&(h.length?Promise.allSettled(h).then(()=>s(d)):s(d))},C=y=>{if(u++,u<_.length){try{y&&Object.assign(d,y);const L={next:C,defaultValue:a,...d},j=_[u](L);return j instanceof Promise?(h.push(j),a):j}catch(L){const j=`executing event [name:${r},index:${u}]`;if(o)throw new Error(j);console.log(j),L instanceof Error?console.log(L):console.log(JSON.stringify(L)),I()}return a}return I(),a};return es(C(),a)}function m(e){const{name:t,identifier:i,isNative:a=!0}=e;if(Q.has(t)){const o=`event [name:${t}] error: already defined.`;throw new Error(o)}function r(...o){if(o.length===1&&typeof o[0]=="object"&&o[0].__trigger__){const _=o[0];let d=-1;if(_.skipToNext){const h=Q.get(t);if(h&&h.length){const u=h.indexOf(_.skipToNext);u>-1&&(d=u)}}return ui(e,d,..._.args)}return ui(e,-1,...o)}function n(o,_=!1){Q.has(t)||Q.set(t,[]);const d=Q.get(t),h=(_?d.unshift(o):d.push(o))-1;return()=>{const u=Q.get(t);if(!u)return;const I=u.length-1,C=I<h?I:h;for(let y=C;y>=0;y--)if(u[y]===o){u.splice(y,1);break}return u.length===0&&Q.delete(t),u.length}}const s=[n,r];return a&&(typeof i<"u"&&samp.registerEvent(t,i),samp.on(t,r)),gi.set(t,r),s}function ts(e){return gi.get(e)}function is(e){return Object.assign(e,{__trigger__:!0})}function mi(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)==="[object Object]":!1}function as(e,t){const i={},a=Object.keys(e);for(let r=0;r<a.length;r++){const n=a[r],s=e[n];i[t(s,n,e)]=s}return i}function _t(e){return e==="__proto__"}function $e(e,t){const i=Object.keys(t);for(let a=0;a<i.length;a++){const r=i[a];if(_t(r))continue;const n=t[r],s=e[r];Array.isArray(n)?Array.isArray(s)?e[r]=$e(s,n):e[r]=$e([],n):mi(n)?mi(s)?e[r]=$e(s,n):e[r]=$e({},n):(s===void 0||n!==void 0)&&(e[r]=n)}return e}function rs(e,t){const i={...e};for(let a=0;a<t.length;a++){const r=t[a];delete i[r]}return i}const ns=new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+","gu");function ss(e){return Array.from(e.match(ns)??[])}function Pt(e){return ss(e).map(i=>i.toLowerCase()).join("_")}function ls(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function fi(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function Pi(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(Pi).join(",");const t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function os(e){if(Array.isArray(e))return e.map(fi);if(typeof e=="symbol")return[e];e=Pi(e);const t=[],i=e.length;if(i===0)return t;let a=0,r="",n="",s=!1;for(e.charCodeAt(0)===46&&(t.push(""),a++);a<i;){const o=e[a];n?o==="\\"&&a+1<i?(a++,r+=e[a]):o===n?n="":r+=o:s?o==='"'||o==="'"?n=o:o==="]"?(s=!1,t.push(r),r=""):r+=o:o==="["?(s=!0,r&&(t.push(r),r="")):o==="."?r&&(t.push(r),r=""):r+=o,a++}return r&&t.push(r),t}function pt(e,t,i){if(e==null)return i;switch(typeof t){case"string":{if(_t(t))return i;const a=e[t];return a===void 0?ls(t)?pt(e,os(t),i):i:a}case"number":case"symbol":{typeof t=="number"&&(t=fi(t));const a=e[t];return a===void 0?i:a}default:{if(Array.isArray(t))return _s(e,t,i);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),_t(t))return i;const a=e[t];return a===void 0?i:a}}}function _s(e,t,i){if(t.length===0)return i;let a=e;for(let r=0;r<t.length;r++){if(a==null||_t(t[r]))return i;a=a[t[r]]}return a===void 0?i:a}const{encode:cs,decode:ds,encodingExists:hs}=Ui;function gs(e){return e instanceof Buffer}class A{constructor(t,i){this.defaultLocale=t,this.locales=i,this.defaultLocale=Pt(t),this.locales=A.snakeLocaleKeys(i)}addLocales=t=>{$e(this.locales,A.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=rs(this.locales,t)};$t=(t,i,a=this.defaultLocale)=>{const r=this.locales[Pt(a)],n=pt(this.locales[this.defaultLocale],t),s=pt(r,t,n);if(typeof s>"u")throw new Error(`[i18n]: cannot find ${a}["${t}"]`);if(typeof s!="string")return JSON.stringify(s);let o=s;return i&&i.length&&(o=Hi.format(o,...i)),o};static isValidate(t){if(!hs(t))throw new Error(`[i18n]: unknown charset ${t}`)}static encodeToBuf(t,i){return A.isValidate(i),[...cs(t,i),0]}static decodeFromBuf(t,i="utf8"){A.isValidate(i);const a=gs(t)?t:Buffer.from(A.getValidStr(t));return ds(a,i)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return as(t,(i,a)=>Pt(a))}static convertSpecialChar(t){const i={\u00E0:"\x97",\u00E1:"\x98",\u00E2:"\x99",\u00E4:"\x9A",\u00C0:"\x80",\u00C1:"\x81",\u00C2:"\x82",\u00C4:"\x83",\u00E8:"\x9D",\u00E9:"\x9E",\u00EA:"\x9F",\u00EB:"\xA0",\u00C8:"\x86",\u00C9:"\x87",\u00CA:"\x88",\u00CB:"\x89",\u00EC:"\xA1",\u00ED:"\xA2",\u00EE:"\xA3",\u00EF:"\xA4",\u00CC:"\x8A",\u00CD:"\x8B",\u00CE:"\x8C",\u00CF:"\x8D",\u00F2:"\xA5",\u00F3:"\xA6",\u00F4:"\xA7",\u00F6:"\xA8",\u00D2:"\x8E",\u00D3:"\x8F",\u00D4:"\x90",\u00D6:"\x91",\u00F9:"\xA9",\u00FA:"\xAA",\u00FB:"\xAB",\u00FC:"\xAC",\u00D9:"\x92",\u00DA:"\x93",\u00DB:"\x94",\u00DC:"\x95",\u00F1:"\xAE",\u00D1:"\xAD","\xA1":"@","\xBF":"\xAF","`":"\xB1"};return t.split("").map(a=>a in i?i[a]:a).join("")}}const us=e=>!!samp.callNative("IsValidNickName","s",e),ms=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},fs=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),Ps=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),ps=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),Is=e=>!!samp.callNative("IsValidServerRule","s",e),Ss=e=>!!samp.callNative("RemoveServerRule","s",e),ys=e=>{samp.callNative("AllowAdminTeleport","i",e)},Cs=()=>!!samp.callNative("IsAdminTeleportAllowed",""),As=e=>{samp.callNative("AllowInteriorWeapons","i",e)},Es=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),Ns=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Ds=e=>{samp.callNative("EnableAllAnimations","i",e)},Ts=e=>{const[t,i]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return{consoleVarBuf:t,ret:i}},vs=e=>samp.callNative("GetConsoleVarAsInt","s",e),bs=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),Ls=()=>samp.callNative("GetWeather",""),ws=e=>samp.callNative("GetServerRuleFlags","s",e),Rs=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Os=e=>!!samp.callNative("SetModeRestartTime","f",e),Gs=()=>samp.callNativeFloat("GetModeRestartTime",""),js=(e,t,i)=>samp.callNative("GameTextForAll","aii",e,t,i),Fs=e=>{samp.callNative("HideGameTextForAll","i",e)},Ms=(e,t,i)=>samp.callNative("SendDeathMessage","iii",e,t,i),Vs=()=>samp.callNative("GetMaxPlayers",""),It=(e,t,i)=>Math.sqrt(e*e+t*t+i*i),Bs=e=>samp.callNative("SetGameModeText","s",e),ks=e=>samp.callNative("ShowNameTags","i",e),xs=e=>samp.callNative("ShowPlayerMarkers","i",e),Hs=e=>samp.callNative("SetWorldTime","i",e),Us=()=>samp.callNative("GetWorldTime",""),Ws=()=>!!samp.callNative("EnableVehicleFriendlyFire",""),Ks=e=>samp.callNative("SetWeather","i",e),Xs=()=>samp.callNativeFloat("GetGravity",""),Zs=e=>samp.callNative("SetGravity","f",e),Ys=(e,t,i,a,r)=>samp.callNative("CreateExplosion","fffif",e,t,i,a,r),zs=e=>samp.callNative("EnableZoneNames","i",e),Js=()=>!!samp.callNative("UsePlayerPedAnims",""),$s=()=>!!samp.callNative("DisableInteriorEnterExits",""),Qs=e=>samp.callNative("SetNameTagDrawDistance","f",e),qs=()=>samp.callNative("DisableNameTagLOS",""),el=e=>samp.callNative("LimitGlobalChatRadius","f",e),tl=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),il=()=>samp.callNative("GetServerTickRate",""),al=e=>{const[t,i]=samp.callNative("GetAnimationName","iSiSi",e,32,32);return{animLib:t,animName:i}},rl=e=>!!samp.callNative("EnableStuntBonusForAll","i",e),nl=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},sl=()=>!!samp.callNative("ChatTextReplacementToggled",""),ll=e=>samp.callNative("GetWeaponSlot","i",e),ol=e=>{const[t,i]=samp.callNative("GetWeaponName","iSi",e,32);return{name:t,ret:i}},_l=()=>samp.callNative("GetAvailableClasses",""),cl=e=>{const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[i,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h=0,u=0,I=0,C=0,y]=t;return{teamId:i,modelId:a,spawnX:r,spawnY:n,spawnZ:s,zAngle:o,weapon1:_,weapon1Ammo:d,weapon2:h,weapon2Ammo:u,weapon3:I,weapon3Ammo:C,ret:y}},dl=(e,t,i,a,r,n,s,o,_,d,h,u,I)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,u,I),hl=e=>samp.callNative("SetTeamCount","i",e),gl=(e,t,i,a,r,n,s,o,_,d,h)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,i,a,r,n,s,o,_,d,h),ul=(e,t,i,a,r,n,s,o,_,d,h,u)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,u),ml=(e,t,i,a,r,n,s,o,_,d,h,u,I)=>!!samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,u,I),fl=e=>!!samp.callNative("SpawnPlayer","i",e),Pl=e=>{const[t,i=0,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h=0,u=0,I=0,C]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:i,spawnX:a,spawnY:r,spawnZ:n,zAngle:s,weapon1:o,weapon1Ammo:_,weapon2:d,weapon2Ammo:h,weapon3:u,weapon3Ammo:I,ret:C}},pl=e=>samp.callNative("NetStats_GetConnectedTime","i",e),Il=e=>samp.callNative("NetStats_MessagesReceived","i",e),Sl=e=>samp.callNative("NetStats_BytesReceived","i",e),yl=e=>samp.callNative("NetStats_MessagesSent","i",e),Cl=e=>samp.callNative("NetStats_BytesSent","i",e),Al=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),El=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Nl=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Dl=e=>{const[t,i]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return{ipPort:t,ret:i}},Tl=e=>!!samp.callNative("IsPlayerAdmin","i",e),vl=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),bl=e=>!!samp.callNative("Kick","i",e),Ll=e=>!!samp.callNative("Ban","i",e),wl=e=>{const[t,i]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return{stats:t,ret:i}},Rl=()=>{const[e,t]=samp.callNative("GetNetworkStats","Si",1024);return{stats:e,ret:t}},Ol=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Gl=e=>samp.callNative("UnBlockIpAddress","s",e),jl=(e,t)=>{const[i,a]=samp.callNative("gpci","iAi",e,41);return{val:A.decodeFromBuf(A.getValidStr(i),t),ret:a}},Fl=(e,t,i,a,r)=>samp.callNative("SendClientCheck","iiiii",e,t,i,a,r),Ml=()=>{samp.callNative("ClearBanList","")},Vl=e=>!!samp.callNative("IsBanned","s",e),Bl=e=>samp.callNative("GetPlayerRawIp","i",e),kl=e=>{const[t,i]=samp.callNative("GetPlayerIp","iSi",e,128);return{ip:t,ret:i}},xl=e=>{const[t,i]=samp.callNative("GetPlayerVersion","iSi",e,24);return{version:t,ret:i}},N=e=>{if(typeof e=="number")return e;if(typeof+e=="number"&&!isNaN(+e))return+e;if(e.charAt(0)==="#")return e.length===4?parseInt(e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)+e.charAt(3)+e.charAt(3)+"FF",16):e.length===7?parseInt(e.slice(1,e.length)+"FF",16):e.length===9?parseInt(e.slice(1,e.length),16):255;const t=(e.match(/([0-9])+/g)||[]).map(a=>parseInt(a,10));if(t.length!==4&&t.length!==3)return 255;t.length===3?t.push(255):t[3]=t[3]<1?Math.floor(t[3]*255):255;let i=0;return t.reverse().forEach((a,r)=>{a!==0&&(i+=Math.pow(16,r*2)*a)}),i},Hl=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),Ul=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Wl=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Kl=e=>samp.callNative("GetPlayerWeather","i",e),Xl=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:i,yMax:a,yMin:r,ret:n}},Zl=e=>samp.callNativeFloat("GetPlayerZAim","i",e),Yl=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:i,fOffsetZ:a,ret:r}},zl=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:i,y:a,z:r,ret:n}},Jl=e=>samp.callNative("GetPlayerDialogID","i",e),$l=e=>samp.callNative("GetPlayerSpectateID","i",e),Ql=e=>samp.callNative("GetPlayerSpectateType","i",e),ql=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),eo=e=>samp.callNativeFloat("GetPlayerGravity","i",e),to=e=>!!samp.callNative("IsPlayerSpawned","i",e),io=e=>!!samp.callNative("IsPlayerControllable","i",e),ao=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),ro=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),no=e=>!!samp.callNative("GetPlayerGhostMode","i",e),so=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),lo=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),oo=e=>!!samp.callNative("HidePlayerDialog","i",e),_o=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),co=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),ho=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),go=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),uo=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),mo=(e,t,i,a)=>!!samp.callNative("GameTextForPlayer","iaii",e,t,i,a),fo=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),Po=(e,t,i,a)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,i,a),po=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),Io=e=>!!samp.callNative("IsPlayerNPC","i",e),So=(e,t,i,a)=>!!samp.callNative("SetPlayerPos","ifff",e,t,i,a),yo=(e,t,i,a)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,i,a),Co=e=>{const[t,i,a,r]=samp.callNative("GetPlayerPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},Ao=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),Eo=e=>{const[t,i]=samp.callNative("GetPlayerFacingAngle","iF",e);return{angle:t,ret:i}},No=(e,t,i,a,r)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,i,a,r),Do=(e,t,i,a)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,i,a),To=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),vo=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),bo=e=>samp.callNative("GetPlayerInterior","i",e),Lo=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),wo=e=>{const[t,i]=samp.callNative("GetPlayerHealth","iF",e);return{health:t,ret:i}},Ro=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),Oo=e=>{const[t,i]=samp.callNative("GetPlayerArmour","iF",e);return{armour:t,ret:i}},Go=(e,t,i)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,i),jo=e=>samp.callNative("GetPlayerAmmo","i",e),Fo=e=>samp.callNative("GetPlayerWeaponState","i",e),Mo=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Vo=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Bo=e=>samp.callNative("GetPlayerTeam","i",e),ko=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),xo=e=>samp.callNative("GetPlayerScore","i",e),Ho=e=>samp.callNative("GetPlayerDrunkLevel","i",e),Uo=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),Wo=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,N(t)),Ko=e=>samp.callNative("GetPlayerColor","i",e),Xo=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),Zo=e=>samp.callNative("GetPlayerSkin","i",e),Yo=(e,t,i)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,i),zo=e=>!!samp.callNative("ResetPlayerWeapons","i",e),Jo=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),$o=(e,t)=>{const[i,a,r]=samp.callNative("GetPlayerWeaponData","iiII",e,t);return{weapons:i,ammo:a,ret:r}},Qo=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),qo=e=>!!samp.callNative("ResetPlayerMoney","i",e),e_=e=>samp.callNative("GetPlayerMoney","i",e),t_=e=>samp.callNative("GetPlayerState","i",e),i_=e=>samp.callNative("GetPlayerPing","i",e),a_=e=>samp.callNative("GetPlayerWeapon","i",e),r_=e=>{const[t,i,a,r]=samp.callNative("GetPlayerKeys","iIII",e);return{keys:t,upDown:i,leftRight:a,ret:r}},n_=(e,t,i)=>!!samp.callNative("SetPlayerTime","iii",e,t,i),s_=e=>{const[t,i,a]=samp.callNative("GetPlayerTime","iII",e);return{hour:t,minute:i,ret:a}},l_=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),o_=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),__=e=>!!samp.callNative("ForceClassSelection","i",e),c_=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),d_=e=>samp.callNative("GetPlayerWantedLevel","i",e),h_=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),g_=e=>samp.callNative("GetPlayerFightingStyle","i",e),u_=(e,t,i,a)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,i,a),m_=e=>{const[t,i,a,r]=samp.callNative("GetPlayerVelocity","iFFF",e);return{x:t,y:i,z:a,ret:r}},f_=(e,t,i)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,i),P_=(e,t,i,a,r,n,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,i,a,r,n,s),p_=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),I_=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),S_=(e,t,i)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,i),y_=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),C_=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),A_=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),E_=(e,t,i,a,r,n)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,i,a,r,n),N_=e=>{const[t,i,a,r,n,s,o]=samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e);return{fOriginX:t,fOriginY:i,fOriginZ:a,fHitPosX:r,fHitPosY:n,fHitPosZ:s,ret:o}},D_=(e,t,i)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,i),T_=e=>samp.callNative("GetPlayerVehicleID","i",e),v_=e=>samp.callNative("GetPlayerVehicleSeat","i",e),b_=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),L_=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),w_=(e,t,i,a,r)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,i,a,r),R_=(e,t,i,a,r,n,s,o,_,d)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,i,a,r,n,s,o,_,d),O_=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),G_=e=>samp.callNative("GetPlayerAnimationIndex","i",e),j_=e=>samp.callNative("GetPlayerSpecialAction","i",e),F_=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),M_=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),V_=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),B_=e=>samp.callNative("GetPlayerVirtualWorld","i",e),k_=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),x_=e=>samp.callNative("GetPlayerCustomSkin","i",e),H_=(e,t,i,a,r,n)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,i,a,r,n),U_=(e,t,i)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,i),W_=e=>!!samp.callNative("StopRecordingPlayerData","i",e),K_=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),X_=(e,t,i)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,i),Z_=(e,t,i)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,i),Y_=e=>!!samp.callNative("IsPlayerConnected","i",e),z_=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),J_=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),$_=(e,t,i,a,r)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,i,a,r),Q_=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),q_=(e,t,i)=>{samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,N(i))};function ec(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",e,t)}const tc=(e,t,i)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,i),ic=(e,t,i,a,r,n,s,o)=>!!samp.callNative("SetPlayerMapIcon","iifffiii",e,t,i,a,r,n,N(s),o),ac=(e,t)=>!!samp.callNative("RemovePlayerMapIcon","ii",e,t),rc=(e,t,i,a)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,i,a),nc=(e,t,i,a,r)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,i,a,r),sc=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),lc=e=>{const[t,i,a,r]=samp.callNative("GetPlayerCameraPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},oc=e=>{const[t,i,a,r]=samp.callNative("GetPlayerCameraFrontVector","iFFF",e);return{x:t,y:i,z:a,ret:r}},_c=e=>samp.callNative("GetPlayerCameraMode","i",e),cc=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),dc=e=>samp.callNative("GetPlayerCameraTargetObject","i",e),hc=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),gc=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),uc=e=>samp.callNative("GetPlayerCameraTargetActor","i",e),mc=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),fc=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),Pc=(e,t)=>!!samp.callNative("AttachCameraToObject","ii",e,t),pc=(e,t)=>!!samp.callNative("AttachCameraToPlayerObject","ii",e,t),Ic=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,i,a,r,n,s,o,_),Sc=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,i,a,r,n,s,o,_),yc=e=>!!samp.callNative("IsPlayerCuffed","i",e),Cc=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),Ac=e=>!!samp.callNative("IsPlayerUsingOmp","i",e),Ec=e=>samp.callNative("GetActorSkin","i",e),Nc=(e,t)=>!!samp.callNative("SetActorSkin","ii",e,t),Dc=e=>{const[t=0,i=0,a=0,r=0,n=0,s]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:i,fY:a,fZ:r,fAngle:n,ret:s}},Tc=e=>{const[t,i,a=0,r=0,n=0,s=0,o=0,_=0,d]=samp.callNative("GetActorAnimation","iSiSiFIIIII",e,32,32);return{animLib:t,animName:i,fDelta:a,loop:r,lockX:n,lockY:s,freeze:o,time:_,ret:d}},vc=(e,t,i,a,r)=>samp.callNative("CreateActor","iffff",e,t,i,a,r),bc=e=>!!samp.callNative("DestroyActor","i",e),Lc=(e,t)=>!!samp.callNative("IsActorStreamedIn","ii",e,t),wc=(e,t)=>!!samp.callNative("SetActorVirtualWorld","ii",e,t),Rc=e=>samp.callNative("GetActorVirtualWorld","i",e),Oc=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("ApplyActorAnimation","issfiiiii",e,t,i,a,r,n,s,o,_),Gc=e=>!!samp.callNative("ClearActorAnimations","i",e),jc=(e,t,i,a)=>!!samp.callNative("SetActorPos","ifff",e,t,i,a),Fc=e=>{const[t,i,a,r]=samp.callNative("GetActorPos","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},Mc=(e,t)=>!!samp.callNative("SetActorFacingAngle","if",e,t),Vc=e=>{const[t,i]=samp.callNative("GetActorFacingAngle","iF",e);return{angle:t,ret:!!i}},Bc=(e,t)=>!!samp.callNative("SetActorHealth","if",e,t),kc=e=>{const[t,i]=samp.callNative("GetActorHealth","iF",e);return{health:t,ret:!!i}},xc=(e,t)=>!!samp.callNative("SetActorInvulnerable","ii",e,t),Hc=e=>!!samp.callNative("IsActorInvulnerable","i",e),Uc=e=>!!samp.callNative("IsValidActor","i",e),Wc=e=>samp.callNative("NPC_Create","s",e),Kc=e=>samp.callNative("NPC_Destroy","i",e),Xc=e=>!!samp.callNative("NPC_IsValid","i",e),Zc=e=>samp.callNative("NPC_Spawn","i",e),Yc=e=>samp.callNative("NPC_Respawn","i",e),zc=(e,t,i,a)=>samp.callNative("NPC_SetPos","ifff",e,t,i,a),Jc=(e,t,i,a)=>samp.callNative("NPC_SetRot","ifff",e,t,i,a),$c=e=>{const[t,i,a,r]=samp.callNative("NPC_GetRot","iFFF",e);return{rX:t,rY:i,rZ:a,ret:r}},Qc=(e,t)=>samp.callNative("NPC_SetFacingAngle","if",e,t),qc=e=>{const[t,i]=samp.callNative("NPC_GetFacingAngle","iF",e);return{angle:t,ret:i}},ed=(e,t)=>samp.callNative("NPC_SetVirtualWorld","ii",e,t),td=e=>samp.callNative("NPC_GetVirtualWorld","i",e),id=(e,t,i,a,r,n)=>!!samp.callNative("NPC_Move","ifffif",e,t,i,a,r,n),ad=(e,t,i,a)=>!!samp.callNative("NPC_MoveToPlayer","iiif",e,t,i,a),rd=e=>samp.callNative("NPC_StopMove","i",e),nd=e=>!!samp.callNative("NPC_IsMoving","i",e),sd=(e,t)=>!!samp.callNative("NPC_IsMovingToPlayer","ii",e,t),ld=(e,t)=>samp.callNative("NPC_SetSkin","ii",e,t),od=e=>samp.callNative("NPC_GetSkin","i",e),_d=(e,t)=>!!samp.callNative("NPC_IsStreamedIn","ii",e,t),cd=e=>!!samp.callNative("NPC_IsAnyStreamedIn","i",e),dd=(e,t)=>samp.callNative("NPC_SetInterior","ii",e,t),hd=e=>samp.callNative("NPC_GetInterior","i",e),gd=(e,t)=>samp.callNative("NPC_SetHealth","if",e,t),ud=e=>samp.callNativeFloat("NPC_GetHealth","i",e),md=(e,t)=>samp.callNative("NPC_SetArmour","if",e,t),fd=e=>samp.callNativeFloat("NPC_GetArmour","i",e),Pd=e=>!!samp.callNative("NPC_IsDead","i",e),pd=(e,t,i,a,r,n,s,o,_,d)=>samp.callNative("NPC_ApplyAnimation","issfiiiiii",e,t,i,a,r,n,s,o,_,d),Id=(e,t)=>samp.callNative("NPC_SetWeapon","ii",e,t),Sd=e=>samp.callNative("NPC_GetWeapon","i",e),yd=(e,t)=>samp.callNative("NPC_SetAmmo","ii",e,t),Cd=e=>samp.callNative("NPC_GetAmmo","i",e),Ad=(e,t,i,a)=>samp.callNative("NPC_SetKeys","iiii",e,t,i,a),Ed=e=>{const[t,i,a,r]=samp.callNative("NPC_GetKeys","iIII",e);return{upAndDown:t,leftAndDown:i,keys:a,ret:r}},Nd=(e,t,i)=>samp.callNative("NPC_SetWeaponSkillLevel","iii",e,t,i),Dd=(e,t)=>samp.callNative("NPC_GetWeaponSkillLevel","ii",e,t),Td=(e,t,i)=>samp.callNative("NPC_MeleeAttack","iii",e,t,i),vd=e=>samp.callNative("NPC_StopMeleeAttack","i",e),bd=e=>!!samp.callNative("NPC_IsMeleeAttacking","i",e),Ld=(e,t)=>samp.callNative("NPC_SetFightingStyle","ii",e,t),wd=e=>samp.callNative("NPC_GetFightingStyle","i",e),Rd=(e,t)=>samp.callNative("NPC_EnableReloading","ii",e,t),Od=e=>!!samp.callNative("NPC_IsReloadEnabled","i",e),Gd=e=>!!samp.callNative("NPC_IsReloading","i",e),jd=(e,t)=>samp.callNative("NPC_EnableInfiniteAmmo","ii",e,t),Fd=e=>!!samp.callNative("NPC_IsInfiniteAmmoEnabled","i",e),Md=(e,t)=>!!samp.callNative("NPC_SetWeaponState","ii",e,t),Vd=e=>samp.callNative("NPC_GetWeaponState","i",e),Bd=(e,t)=>samp.callNative("NPC_SetAmmoInClip","ii",e,t),kd=e=>samp.callNative("NPC_GetAmmoInClip","i",e),xd=(e,t,i,a,r,n,s,o,_,d,h,u)=>samp.callNative("NPC_Shoot","iiiffffffii",e,t,i,a,r,n,s,o,_,d,h,u),Hd=e=>!!samp.callNative("NPC_IsShooting","i",e),Ud=(e,t,i,a,r,n,s,o,_,d,h)=>samp.callNative("NPC_AimAt","ifffiiifffi",e,t,i,a,r,n,s,o,_,d,h),Wd=(e,t,i,a,r,n,s,o,_,d,h,u)=>samp.callNative("NPC_AimAtPlayer","iiiiiffffffi",e,t,i,a,r,n,s,o,_,d,h,u),Kd=e=>samp.callNative("NPC_StopAim","i",e),Xd=e=>!!samp.callNative("NPC_IsAiming","i",e),Zd=(e,t)=>!!samp.callNative("NPC_IsAimingAtPlayer","ii",e,t),Yd=(e,t,i)=>samp.callNative("NPC_SetWeaponAccuracy","iif",e,t,i),zd=(e,t)=>samp.callNativeFloat("NPC_GetWeaponAccuracy","ii",e,t),Jd=(e,t,i)=>samp.callNative("NPC_SetWeaponReloadTime","iii",e,t,i),$d=(e,t)=>samp.callNative("NPC_GetWeaponReloadTime","ii",e,t),Qd=(e,t)=>samp.callNative("NPC_GetWeaponActualReloadTime","ii",e,t),qd=(e,t,i)=>samp.callNative("NPC_SetWeaponShootTime","iii",e,t,i),eh=(e,t)=>samp.callNative("NPC_GetWeaponShootTime","ii",e,t),th=(e,t,i)=>samp.callNative("NPC_SetWeaponClipSize","iii",e,t,i),ih=(e,t)=>samp.callNative("NPC_GetWeaponClipSize","ii",e,t),ah=(e,t)=>samp.callNative("NPC_GetWeaponActualClipSize","ii",e,t),rh=(e,t,i,a)=>samp.callNative("NPC_EnterVehicle","iiii",e,t,i,a),nh=e=>samp.callNative("NPC_ExitVehicle","i",e),sh=(e,t,i)=>samp.callNative("NPC_PutInVehicle","iii",e,t,i),lh=e=>samp.callNative("NPC_RemoveFromVehicle","i",e),oh=e=>samp.callNative("NPC_GetVehicle","i",e),_h=e=>samp.callNative("NPC_GetVehicleSeat","i",e),ch=e=>samp.callNative("NPC_GetEnteringVehicle","i",e),dh=e=>samp.callNative("NPC_GetEnteringVehicleSeat","i",e),hh=e=>!!samp.callNative("NPC_IsEnteringVehicle","i",e),gh=(e,t)=>samp.callNative("NPC_UseVehicleSiren","ii",e,t),uh=e=>!!samp.callNative("NPC_IsVehicleSirenUsed","i",e),mh=(e,t)=>samp.callNative("NPC_SetVehicleHealth","if",e,t),fh=e=>samp.callNativeFloat("NPC_GetVehicleHealth","i",e),Ph=(e,t)=>samp.callNative("NPC_SetVehicleHydraThrusters","ii",e,t),ph=e=>samp.callNative("NPC_GetVehicleHydraThrusters","i",e),Ih=(e,t)=>samp.callNative("NPC_SetVehicleGearState","ii",e,t),Sh=e=>samp.callNative("NPC_GetVehicleGearState","i",e),yh=(e,t)=>samp.callNative("NPC_SetVehicleTrainSpeed","if",e,t),Ch=e=>samp.callNativeFloat("NPC_GetVehicleTrainSpeed","i",e),Ah=e=>samp.callNative("NPC_ResetAnimation","i",e),Eh=(e,t,i,a,r,n,s,o)=>samp.callNative("NPC_SetAnimation","iifiiiii",e,t,i,a,r,n,s,o),Nh=e=>{const[t,i,a,r,n,s,o,_]=samp.callNative("NPC_GetAnimation","iIFIIIII",e);return{animationId:t,delta:i,loop:!!a,lockX:!!r,lockY:!!n,freeze:!!s,time:o,ret:_}},Dh=e=>samp.callNative("NPC_ClearAnimations","i",e),Th=(e,t)=>samp.callNative("NPC_SetSpecialAction","ii",e,t),vh=e=>samp.callNative("NPC_GetSpecialAction","i",e),bh=(e,t,i,a,r,n,s,o,_)=>samp.callNative("NPC_StartPlayback","isiffffff",e,t,i,a,r,n,s,o,_),Lh=(e,t,i,a,r,n,s,o,_)=>samp.callNative("NPC_StartPlaybackEx","iiiffffff",e,t,i,a,r,n,s,o,_),wh=e=>samp.callNative("NPC_StopPlayback","i",e),Rh=(e,t)=>samp.callNative("NPC_PausePlayback","ii",e,t),Oh=e=>!!samp.callNative("NPC_IsPlayingPlayback","i",e),Gh=e=>!!samp.callNative("NPC_IsPlaybackPaused","i",e),jh=(e,t,i,a,r,n)=>!!samp.callNative("NPC_PlayNode","iiiffi",e,t,i,a,r,n),Fh=e=>!!samp.callNative("NPC_StopPlayingNode","i",e),Mh=e=>!!samp.callNative("NPC_PausePlayingNode","i",e),Vh=e=>!!samp.callNative("NPC_ResumePlayingNode","i",e),Bh=e=>!!samp.callNative("NPC_IsPlayingNodePaused","i",e),kh=e=>!!samp.callNative("NPC_IsPlayingNode","i",e),xh=(e,t,i)=>samp.callNative("NPC_ChangeNode","iii",e,t,i),Hh=(e,t)=>!!samp.callNative("NPC_UpdateNodePoint","ii",e,t),Uh=(e,t)=>samp.callNative("NPC_SetInvulnerable","ii",e,t),Wh=e=>!!samp.callNative("NPC_IsInvulnerable","i",e),Kh=(e,t,i,a)=>samp.callNative("NPC_SetSurfingOffsets","ifff",e,t,i,a),Xh=e=>{const[t,i,a,r]=samp.callNative("NPC_GetSurfingOffsets","iFFF",e);return{x:t,y:i,z:a,ret:r}},Zh=(e,t)=>samp.callNative("NPC_SetSurfingVehicle","ii",e,t),Yh=e=>samp.callNative("NPC_GetSurfingVehicle","i",e),zh=(e,t)=>samp.callNative("NPC_SetSurfingObject","ii",e,t),Jh=e=>samp.callNative("NPC_GetSurfingObject","i",e),$h=(e,t)=>samp.callNative("NPC_SetSurfingPlayerObject","ii",e,t),Qh=e=>samp.callNative("NPC_GetSurfingPlayerObject","i",e),qh=e=>samp.callNative("NPC_ResetSurfingData","i",e),eg=e=>!!samp.callNative("NPC_IsSpawned","i",e),tg=(e,t,i)=>!!samp.callNative("NPC_Kill","iii",e,t,i),ig=(e,t,i,a)=>!!samp.callNative("NPC_SetVelocity","ifff",e,t,i,a),ag=e=>{const[t,i,a,r]=samp.callNative("NPC_GetVelocity","iFFF",e);return{x:t,y:i,z:a,ret:r}},rg=e=>samp.callNative("NPC_GetPlayerAimingAt","i",e),ng=e=>samp.callNative("NPC_GetPlayerMovingTo","i",e),sg=e=>{const[t,i,a,r]=samp.callNative("NPC_GetPosMovingTo","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},lg=e=>samp.callNative("NPC_GetCustomSkin","i",e),og=e=>{const[t=0,i=0,a=0,r=0,n=0,s=0,o]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:i,fZ:a,fRot:r,color1:n,color2:s,ret:o}},_g=(e,t,i,a,r,n,s,o,_=-2,d=-2)=>samp.callNative("SetVehicleSpawnInfo","iiffffiiii",e,t,i,a,r,n,s,o,_,d),cg=e=>{const[t=0,i=0,a]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:i,ret:a}},dg=e=>samp.callNative("GetVehiclePaintjob","i",e),hg=e=>samp.callNative("GetVehicleInterior","i",e),gg=e=>{const[t,i]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return{plate:t,ret:i}},ug=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),mg=e=>samp.callNative("GetVehicleRespawnDelay","i",e),fg=e=>samp.callNative("GetVehicleCab","i",e),Pg=e=>samp.callNative("GetVehicleOccupiedTick","i",e),pg=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Ig=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Sg=e=>!!samp.callNative("IsVehicleOccupied","i",e),yg=e=>samp.callNative("GetVehicleRespawnTick","i",e),Cg=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Ag=e=>!!samp.callNative("IsVehicleDead","i",e),Eg=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),Ng=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),Dg=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),Tg=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),vg=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),bg=e=>samp.callNative("GetVehicleModelCount","i",e),pi=e=>samp.callNative("GetVehicleLastDriver","i",e),Ii=e=>samp.callNative("GetVehicleDriver","i",e),Lg=()=>samp.callNative("GetVehicleModelsUsed",""),wg=e=>samp.callNative("GetVehicleSirenState","i",e),Rg=e=>samp.callNative("GetVehicleLandingGearState","i",e),Og=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),Gg=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),jg=e=>{const[t=0,i=0,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:i,rightZ:a,upX:r,upY:n,upZ:s,atX:o,atY:_,atZ:d,ret:h}},Fg=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,i,a,r],ret:n}},Mg=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),Vg=(e,t,i,a,r,n,s,o,_)=>samp.callNative("CreateVehicle","iffffiiii",e,t,i,a,r,N(n),N(s),o,_),Bg=e=>samp.callNative("DestroyVehicle","i",e),kg=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),xg=e=>{const[t,i,a,r]=samp.callNative("GetVehiclePos","iFFF",e);return{x:t,y:i,z:a,ret:r}},Hg=(e,t,i,a)=>!!samp.callNative("SetVehiclePos","ifff",e,t,i,a),Ug=e=>{const[t,i]=samp.callNative("GetVehicleZAngle","iF",e);return{angle:t,ret:i}},Wg=e=>{const[t,i,a,r]=samp.callNative("GetVehicleRotation","iFFF",e);return{x:t,y:i,z:a,ret:r}},Kg=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleRotationQuat","iFFFF",e);return{w:t,x:i,y:a,z:r,ret:n}},Xg=(e,t,i,a)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,i,a),Zg=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),Yg=(e,t,i,a)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,i,a),zg=()=>samp.callNative("ManualVehicleEngineAndLights",""),Jg=(e,t,i,a,r,n,s,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,i,a,r,n,s,o),$g=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),Qg=e=>samp.callNative("GetVehicleParamsSirenState","i",e),qg=(e,t,i,a,r)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,i,a,r),eu=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t,passenger:i,backLeft:a,backRight:r,ret:n}},tu=(e,t,i,a,r)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,i,a,r),iu=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t,passenger:i,backLeft:a,backRight:r,ret:n}},au=e=>samp.callNative("SetVehicleToRespawn","i",e),ru=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),nu=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),su=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),lu=(e,t,i)=>samp.callNative("ChangeVehicleColor","iii",e,N(t),N(i)),ou=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),_u=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),cu=e=>{const[t,i]=samp.callNative("GetVehicleHealth","iF",e);return{health:t,ret:i}},du=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),hu=e=>samp.callNative("DetachTrailerFromVehicle","i",e),gu=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),uu=e=>samp.callNative("GetVehicleTrailer","i",e),mu=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),fu=e=>samp.callNative("GetVehicleModel","i",e),Pu=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),pu=e=>samp.callNative("GetVehicleComponentType","i",e),Iu=e=>samp.callNative("RepairVehicle","i",e),Su=e=>{const[t,i,a,r]=samp.callNative("GetVehicleVelocity","iFFF",e);return{x:t,y:i,z:a,ret:r}},yu=(e,t,i,a)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,i,a),Cu=(e,t,i,a)=>!!samp.callNative("SetVehicleAngularVelocity","ifff",e,t,i,a),Au=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleDamageStatus","iIIII",e);return{panels:t,doors:i,lights:a,tires:r,ret:n}},Eu=(e,t,i,a,r)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,i,a,r),Nu=(e,t)=>{const[i,a,r,n]=samp.callNative("GetVehicleModelInfo","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Du=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),Tu=e=>samp.callNative("GetVehicleVirtualWorld","i",e),vu=e=>!!samp.callNative("IsValidVehicle","i",e),bu=(e,t,i,a,r,n,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,i,a,r,N(n),N(s)),Lu=(e,t,i,a,r,n,s,o,_)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,i,a,r,N(n),N(s),o,_),wu=e=>!!samp.callNative("ShowVehicle","i",e),Ru=e=>!!samp.callNative("HideVehicle","i",e),Ou=e=>!!samp.callNative("IsVehicleHidden","i",e),Gu=e=>!!samp.callNative("IsPlayerInModShop","i",e),ju=e=>samp.callNative("GetPlayerSirenState","i",e),Fu=e=>samp.callNative("GetPlayerLandingGearState","i",e),Mu=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),Vu=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),Bu=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),ku=e=>samp.callNative("GetVehicleMaxPassengers","i",e),xu=e=>samp.callNative("CountVehicleOccupants","i",e),Hu=(e,t,i,a,r)=>!!samp.callNative("SetPlayerCheckpoint","iffff",e,t,i,a,r),Uu=e=>!!samp.callNative("DisablePlayerCheckpoint","i",e),Wu=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("SetPlayerRaceCheckpoint","iifffffff",e,t,i,a,r,n,s,o,_),Ku=e=>!!samp.callNative("DisablePlayerRaceCheckpoint","i",e),Xu=e=>!!samp.callNative("IsPlayerInCheckpoint","i",e),Zu=e=>!!samp.callNative("IsPlayerInRaceCheckpoint","i",e),Si=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),yi=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:i,fZ:a,fSize:r,ret:n}},Ci=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),Ai=e=>{const[t=0,i=0,a=0,r=0,n=0,s=0,o=0,_]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:i,fZ:a,fNextX:r,fNextY:n,fNextZ:s,fSize:o,ret:_}},Yu=e=>!!samp.callNative("IsMenuDisabled","i",e),zu=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),Ju=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),$u=e=>{const[t=0,i=0,a]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:i,ret:a}},Qu=e=>{const[t=0,i=0,a]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:i,ret:a}},qu=e=>samp.callNative("DestroyMenu","i",e),em=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),tm=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),im=e=>!!samp.callNative("IsValidMenu","i",e),am=e=>samp.callNative("DisableMenu","i",e),rm=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),Ei=e=>samp.callNative("GetPlayerMenu","i",e),nm=e=>!!samp.callNative("IsValid3DTextLabel","i",e),sm=(e,t)=>!!samp.callNative("Is3DTextLabelStreamedIn","ii",e,t),lm=e=>samp.callNative("Get3DTextLabelColor","i",e),om=e=>{const[t=0,i=0,a=0,r]=samp.callNative("Get3DTextLabelPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},_m=(e,t)=>!!samp.callNative("Set3DTextLabelDrawDistance","ii",e,t),cm=e=>samp.callNativeFloat("Get3DTextLabelDrawDistance","i",e),dm=e=>!!samp.callNative("Get3DTextLabelLOS","i",e),hm=(e,t)=>!!samp.callNative("Set3DTextLabelLOS","ii",e,t),gm=(e,t)=>!!samp.callNative("Set3DTextLabelVirtualWorld","ii",e,t),um=e=>samp.callNative("Get3DTextLabelVirtualWorld","i",e),mm=e=>{const[t=0,i=0]=samp.callNative("Get3DTextLabelAttachedData","i",e);return{attachedPlayerId:t,attachedVehicleId:i}},fm=e=>samp.callNative("Delete3DTextLabel","i",e),Pm=(e,t,i,a,r)=>!!samp.callNative("Attach3DTextLabelToPlayer","iifff",e,t,i,a,r),pm=(e,t,i,a,r)=>!!samp.callNative("Attach3DTextLabelToVehicle","iifff",e,t,i,a,r),Im=(e,t)=>!!samp.callNative("IsValidPlayer3DTextLabel","ii",e,t),Sm=(e,t)=>samp.callNative("GetPlayer3DTextLabelColor","ii",e,t),ym=(e,t)=>{const[i=0,a=0,r=0,n]=samp.callNative("GetPlayer3DTextLabelPos","iiFFF",e,t);return{fX:i,fY:a,fZ:r,ret:n}},Cm=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelDrawDistance","iii",e,t,i),Am=(e,t)=>samp.callNativeFloat("GetPlayer3DTextLabelDrawDistance","ii",e,t),Em=(e,t)=>!!samp.callNative("GetPlayer3DTextLabelLOS","ii",e,t),Nm=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelLOS","iii",e,t,i),Dm=(e,t)=>samp.callNative("GetPlayer3DTextLabelVirtualWorld","ii",e,t),Tm=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelVirtualWorld","iii",e,t,i),vm=(e,t)=>{const[i=0,a=0]=samp.callNative("GetPlayer3DTextLabelAttachedData","ii",e,t);return{attachedPlayerId:i,attachedVehicleId:a}},bm=(e,t)=>samp.callNative("DeletePlayer3DTextLabel","ii",e,t),Lm=e=>!!samp.callNative("IsValidGangZone","i",e),wm=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),Rm=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),Om=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),Gm=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),jm=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Fm=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:i,fMaxX:a,fMaxY:r,ret:n}},Mm=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},Vm=(e,t,i,a)=>samp.callNative("GangZoneCreate","ffff",e,t,i,a),Bm=e=>samp.callNative("GangZoneDestroy","i",e),km=(e,t,i)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,N(i)),xm=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,N(t)),Hm=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),Um=e=>samp.callNative("GangZoneHideForAll","i",e),Wm=(e,t,i)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,N(i)),Km=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,N(t)),Xm=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Zm=e=>samp.callNative("GangZoneStopFlashForAll","i",e),Ym=(e,t,i,a,r)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,i,a,r),zm=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),Jm=(e,t,i)=>samp.callNative("PlayerGangZoneShow","iii",e,t,i),$m=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),Qm=(e,t,i)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,i),qm=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),ef=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),tf=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),af=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),rf=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),nf=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),sf=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),lf=(e,t)=>{const[i=0,a=0,r=0,n=0,s]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:i,fMinY:a,fMaxX:r,fMaxY:n,ret:s}},of=(e,t,i)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,i)},_f=e=>!!samp.callNative("IsValidTextDraw","i",e),cf=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),df=e=>{const[t,i]=samp.callNative("TextDrawGetString","iSi",e,1024);return{str:t,ret:i}},hf=(e,t,i)=>{samp.callNative("TextDrawSetPos","iff",e,t,i)},gf=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:i,ret:a}},uf=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:i,ret:a}},mf=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:i,ret:a}},ff=e=>samp.callNative("TextDrawGetColor","i",e),Pf=e=>samp.callNative("TextDrawGetBoxColor","i",e),pf=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),If=e=>samp.callNative("TextDrawGetShadow","i",e),Sf=e=>samp.callNative("TextDrawGetOutline","i",e),yf=e=>samp.callNative("TextDrawGetFont","i",e),Cf=e=>!!samp.callNative("TextDrawIsBox","i",e),Af=e=>!!samp.callNative("TextDrawIsProportional","i",e),Ef=e=>!!samp.callNative("TextDrawIsSelectable","i",e),Nf=e=>samp.callNative("TextDrawGetAlignment","i",e),Df=e=>samp.callNative("TextDrawGetPreviewModel","i",e),Tf=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:i,fRotZ:a,fZoom:r,ret:n}},vf=e=>{const[t,i,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:i,ret:a}},bf=(e,t,i)=>{samp.callNative("TextDrawSetStringForPlayer","iia",e,t,i)},Lf=(e,t,i)=>samp.callNative("TextDrawCreate","ffa",e,t,i),wf=e=>samp.callNative("TextDrawDestroy","i",e),Rf=(e,t,i)=>samp.callNative("TextDrawLetterSize","iff",e,t,i),Of=(e,t,i)=>samp.callNative("TextDrawTextSize","iff",e,t,i),Gf=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),jf=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,N(t)),Ff=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),Mf=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,N(t)),Vf=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),Bf=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),kf=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,N(t)),xf=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),Hf=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),Uf=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),Wf=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Kf=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),Xf=e=>samp.callNative("TextDrawShowForAll","i",e),Zf=e=>samp.callNative("TextDrawHideForAll","i",e),Yf=(e,t)=>samp.callNative("TextDrawSetString","ia",e,t),zf=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),Jf=(e,t,i,a,r=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,i,a,r)},$f=(e,t,i)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,N(t),N(i)),Qf=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,N(t))},qf=e=>{samp.callNative("CancelSelectTextDraw","i",e)},eP=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),tP=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),iP=(e,t)=>{const[i,a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return{str:i,ret:a}},aP=(e,t,i,a)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,i,a)},rP=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:i,fY:a,ret:r}},nP=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:i,fY:a,ret:r}},sP=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:i,fY:a,ret:r}},lP=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),oP=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),_P=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),cP=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),dP=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),hP=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),gP=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),uP=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),mP=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),fP=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),PP=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),pP=(e,t)=>{const[i=0,a=0,r=0,n=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:i,fRotY:a,fRotZ:r,fZoom:n}},IP=(e,t)=>{const[i,a,r]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:i,color2:a,ret:r}},SP=(e,t,i,a)=>samp.callNative("CreatePlayerTextDraw","iffa",e,t,i,a),yP=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},CP=(e,t,i,a)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,i,a),AP=(e,t,i,a)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,i,a),EP=(e,t,i)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,i),NP=(e,t,i)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,N(i)),DP=(e,t,i)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,i),TP=(e,t,i)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,N(i)),vP=(e,t,i)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,i),bP=(e,t,i)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,i),LP=(e,t,i)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,N(i)),wP=(e,t,i)=>samp.callNative("PlayerTextDrawFont","iii",e,t,i),RP=(e,t,i)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,i),OP=(e,t,i)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,i),GP=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),jP=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),FP=(e,t,i)=>samp.callNative("PlayerTextDrawSetString","iia",e,t,i),MP=(e,t,i)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,i),VP=(e,t,i,a,r,n)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,i,a,r,n),BP=(e,t,i,a)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,i,a),kP=e=>samp.callNativeFloat("GetObjectDrawDistance","i",e),xP=e=>samp.callNativeFloat("GetObjectMoveSpeed","i",e),HP=(e,t)=>!!samp.callNativeFloat("SetObjectMoveSpeed","if",e,t),UP=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetObjectMovingTargetPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},WP=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetObjectTarget","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},KP=e=>{const[t=0,i=0,a=0,r=0,n=0,s=0]=samp.callNative("GetObjectAttachedOffset","i",e);return{fX:t,fY:i,fZ:a,fRotX:r,fRotY:n,fRotZ:s}},XP=e=>samp.callNative("GetObjectSyncRotation","i",e),ZP=(e,t)=>!!samp.callNative("IsObjectMaterialSlotUsed","ii",e,t),YP=(e,t)=>{const[i=0,a,r,n=0,s]=samp.callNative("GetObjectMaterial","iiISiSiI",e,t,64,64);return{modelId:i,txdName:a,textureName:r,materialColor:n,ret:s}},zP=(e,t,i,a,r,n,s,o=0)=>samp.callNative("CreateObject","ifffffff",e,t,i,a,r,n,s,o),JP=(e,t,i,a,r,n,s,o)=>!!samp.callNative("AttachObjectToVehicle","iiffffff",e,t,i,a,r,n,s,o),$P=(e,t,i,a,r,n,s,o,_,d=!0)=>!!samp.callNative("AttachPlayerObjectToObject","iiiffffffi",e,t,i,a,r,n,s,o,_,d),QP=(e,t,i,a,r,n,s,o,_=!0)=>!!samp.callNative("AttachObjectToObject","iiffffffi",e,t,i,a,r,n,s,o,_),qP=(e,t,i,a,r,n,s,o)=>!!samp.callNative("AttachObjectToPlayer","iiffffff",e,t,i,a,r,n,s,o),ep=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),tp=(e,t,i,a)=>!!samp.callNative("SetObjectPos","ifff",e,t,i,a),ip=e=>{const[t,i,a,r]=samp.callNative("GetObjectPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},ap=(e,t,i,a)=>!!samp.callNative("SetObjectRot","ifff",e,t,i,a),rp=e=>{const[t,i,a,r]=samp.callNative("GetObjectRot","iFFF",e);return{x:t,y:i,z:a,ret:r}},np=e=>samp.callNative("GetObjectModel","i",e),sp=e=>!!samp.callNative("SetObjectNoCameraCol","i",e),lp=e=>!!samp.callNative("IsObjectNoCameraCol","i",e),op=e=>!!samp.callNative("IsValidObject","i",e),_p=e=>samp.callNative("DestroyObject","i",e),cp=(e,t,i,a,r,n,s,o)=>samp.callNative("MoveObject","ifffffff",e,t,i,a,r,n,s,o),dp=e=>samp.callNative("StopObject","i",e),hp=e=>!!samp.callNative("IsObjectMoving","i",e),gp=(e,t)=>!!samp.callNative("BeginObjectEditing","ii",e,t),up=e=>!!samp.callNative("BeginObjectSelecting","i",e),Ni=e=>!!samp.callNative("EndObjectEditing","i",e),mp=(e,t,i,a,r,n)=>!!samp.callNative("SetObjectMaterial","iiissi",e,t,i,a,r,N(n)),fp=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),Pp=(e,t,i,a,r)=>!!samp.callNative("AddSimpleModel","iiiss",e,t,i,a,r),pp=(e,t,i,a,r,n,s)=>!!samp.callNative("AddSimpleModelTimed","iiissii",e,t,i,a,r,n,s),Ip=(e,t)=>!!samp.callNative("RedirectDownload","is",e,t),Sp=e=>{const[t,i]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return{name:t,ret:i}},yp=e=>{const[t,i]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return{name:t,ret:i}},Cp=(e,t)=>{const[i=0,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h=0,u=0,I=0,C=0,y=0,L]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:i,bone:a,fX:r,fY:n,fZ:s,fRotX:o,fRotY:_,fRotZ:d,fScaleX:h,fScaleY:u,fScaleZ:I,materialColor1:C,materialColor2:y,ret:L}},Ap=(e,t,i,a,r,n,s,o,_,d,h,u,I,C,y)=>!!samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,i,a,r,n,s,o,_,d,h,u,I,N(C),N(y)),Ep=(e,t)=>!!samp.callNative("RemovePlayerAttachedObject","ii",e,t),Np=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),Di=e=>!!samp.callNative("IsValidCustomModel","i",e),Dp=e=>{if(!Di(e))return null;const[t,i,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:i,ret:a}},Tp=(e,t)=>samp.callNativeFloat("GetPlayerObjectDrawDistance","ii",e,t),vp=(e,t,i)=>!!samp.callNativeFloat("SetPlayerObjectMoveSpeed","iif",e,t,i),bp=(e,t)=>samp.callNativeFloat("GetPlayerObjectMoveSpeed","ii",e,t),Lp=(e,t)=>{const[i=0,a=0,r=0,n]=samp.callNative("GetPlayerObjectTarget","iiFFF",e,t);return{fX:i,fY:a,fZ:r,ret:n}},wp=(e,t)=>{const[i=0,a=0,r=0,n]=samp.callNative("GetPlayerObjectMovingTargetPos","iiFFF",e,t);return{fX:i,fY:a,fZ:r,ret:n}},Rp=(e,t)=>{const[i=0,a=0,r=0,n=0,s=0,o=0,_]=samp.callNative("GetPlayerObjectAttachedOffset","iiFFFFFF",e,t);return{fX:i,fY:a,fZ:r,fRotX:n,fRotY:s,fRotZ:o,ret:_}},Op=(e,t)=>!!samp.callNative("GetPlayerObjectSyncRotation","ii",e,t),Gp=(e,t,i)=>!!samp.callNative("IsPlayerObjectMaterialSlotUsed","iii",e,t,i),jp=(e,t,i)=>{const[a=0,r,n,s=0,o]=samp.callNative("GetPlayerObjectMaterial","iiiISiSiI",e,t,i,64,64);return{modelId:a,txdName:r,textureName:n,materialColor:s,ret:o}},Fp=(e,t)=>!!samp.callNative("IsPlayerObjectNoCameraCol","ii",e,t),Mp=e=>samp.callNative("GetPlayerCameraTargetPlayerObj","i",e),Vp=(e,t)=>!!samp.callNative("BeginPlayerObjectEditing","ii",e,t),Bp=(e,t,i,a,r,n,s,o,_=0)=>samp.callNative("CreatePlayerObject","iifffffff",e,t,i,a,r,n,s,o,_),kp=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("AttachPlayerObjectToVehicle","iiiffffff",e,t,i,a,r,n,s,o,_),xp=(e,t,i,a,r)=>samp.callNative("SetPlayerObjectPos","iifff",e,t,i,a,r),Hp=(e,t)=>{const[i,a,r,n]=samp.callNative("GetPlayerObjectPos","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Up=(e,t,i,a,r)=>samp.callNative("SetPlayerObjectRot","iifff",e,t,i,a,r),Wp=(e,t)=>{const[i,a,r,n]=samp.callNative("GetPlayerObjectRot","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Kp=(e,t)=>samp.callNative("GetPlayerObjectModel","ii",e,t),Xp=(e,t)=>!!samp.callNative("SetPlayerObjectNoCameraCollision","ii",e,t),Zp=(e,t)=>!!samp.callNative("IsValidPlayerObject","ii",e,t),Yp=(e,t)=>samp.callNative("DestroyPlayerObject","ii",e,t),zp=(e,t,i,a,r,n,s,o,_)=>samp.callNative("MovePlayerObject","iifffffff",e,t,i,a,r,n,s,o,_),Jp=(e,t)=>samp.callNative("StopPlayerObject","ii",e,t),$p=(e,t)=>!!samp.callNative("IsPlayerObjectMoving","ii",e,t),Qp=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("AttachPlayerObjectToPlayer","iiiffffff",e,t,i,a,r,n,s,o,_),qp=(e,t,i,a,r,n,s)=>!!samp.callNative("SetPlayerObjectMaterial","iiiissi",e,t,i,a,r,n,N(s)),eI=e=>!!samp.callNative("IsValidPickup","i",e),tI=(e,t)=>!!samp.callNative("IsPickupStreamedIn","ii",e,t),iI=e=>{const[t,i,a,r]=samp.callNative("GetPickupPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},aI=e=>samp.callNative("GetPickupModel","i",e),rI=e=>samp.callNative("GetPickupType","i",e),nI=e=>samp.callNative("GetPickupVirtualWorld","i",e),sI=(e,t,i,a,r=!0)=>!!samp.callNative("SetPickupPos","ifffi",e,t,i,a,r),lI=(e,t,i=!0)=>!!samp.callNative("SetPickupModel","iii",e,t,i),oI=(e,t,i=!0)=>!!samp.callNative("SetPickupType","iii",e,t,i),_I=(e,t)=>!!samp.callNative("SetPickupVirtualWorld","ii",e,t),cI=(e,t)=>!!samp.callNative("ShowPickupForPlayer","ii",e,t),dI=(e,t)=>!!samp.callNative("HidePickupForPlayer","ii",e,t),hI=(e,t)=>!!samp.callNative("IsPickupHiddenForPlayer","ii",e,t),gI=(e,t,i,a,r,n)=>samp.callNative("AddStaticPickup","iifffi",e,t,i,a,r,n),uI=(e,t,i,a,r,n)=>samp.callNative("CreatePickup","iifffi",e,t,i,a,r,n),mI=e=>!!samp.callNative("DestroyPickup","i",e),Ti=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}]]]),St=e=>{const t=Ti.get(e.toUpperCase());return typeof t>"u"?!1:t},yt=(e,t)=>{const i=St(e);if(i)return t==="null"?!0:i.some(a=>a.n===t)},fI=(e,t)=>{const i=St(e);if(i)return i.find(a=>a.n===t)?.d},ue=(e,t)=>{const i=t.replace("-","")==="utf8"?e:A.encodeToBuf(e,t);return[i instanceof Array?"a":"s",i]},vi=(e,t,i)=>{const a=ue(i,e.charset);return samp.callNative("SendClientMessage",`ii${a[0]}`,e.id,N(t),a[1])},PI=(e,t,i)=>(e.forEach(a=>vi(a,t,i)),1),bi=(e,t,i)=>{const a=ue(i,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${a[0]}`,e.id,t,a[1])},pI=(e,t,i)=>(e.forEach(a=>{bi(a,t,i)}),1),II=(e,t,i)=>{const{charset:a}=e,{style:r,caption:n,info:s,button1:o,button2:_}=i,[d,h]=ue(n||"",a),[,u]=ue(s||"",a),[,I]=ue(o||"",a),[,C]=ue(_||"",a);return!!samp.callNative("ShowPlayerDialog",`iii${d.repeat(4)}`,e.id,t,r,h,u,I,C)},SI=e=>{const[t,i]=samp.callNative("GetPlayerName","iAi",e.id,H.MAX_PLAYER_NAME);return{name:A.decodeFromBuf(A.getValidStr(t),e.charset),ret:i}},yI=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,A.encodeToBuf(t,e.charset)),CI=(e,t,i)=>{const a=A.encodeToBuf(t,i);return samp.callNative("BanEx","ia",e,a)},AI=(e,t="utf8")=>{const[i,a]=ue(e,t);return samp.callNative("SendRconCommand",i,a)},EI=(e,t,i,a,r,n,s,o,_,d,h,u,I,C,y,L)=>{const j=A.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",j,i,a,r,n,s,o,_,d,h,u,I,C,y,L)},NI=(e,t,i,a,r,n,s,o,_,d,h,u,I,C,y,L)=>{const j=A.encodeToBuf(e,L);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",j,t,i,a,r,n,s,o,_,d,h,u,I,C,y,h.length,u.length,I.length,C.length)},DI=(e,t,i,a)=>{const r=A.encodeToBuf(i,a);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,r)},TI=(e,t)=>{const[i,a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return{text:A.decodeFromBuf(A.getValidStr(i),t),ret:a}},vI=(e,t,i,a,r,n,s,o,_,d,h)=>{const u=A.encodeToBuf(a,e),I=A.encodeToBuf(n,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,i,u,r,I,s,o,_,d,h)},bI=(e,t,i="utf8")=>{const[a,r,n,s,o]=samp.callNative("GetDynamicObjectMaterial","iiIAAIii",e,t,64,64);return{modelId:a,txdName:A.decodeFromBuf(A.getValidStr(r),i),textureName:A.decodeFromBuf(A.getValidStr(n),i),materialColor:s,ret:o}},LI=(e,t,i)=>{const[a,r,n,s,o,_,d,h,u]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),I=A.decodeFromBuf(a,i),C=A.decodeFromBuf(n,i);return{text:I,materialSize:r,fontFace:C,fontSize:s,bold:o,fontColor:_,backColor:d,textAlignment:h,ret:u}},wI=(e,t,i,a,r,n)=>{const s=A.encodeToBuf(t,n);return!!samp.callNative("SetPlayerChatBubble","iaifi",e,s,N(i),a,r)},Li=(e,t,i,a,r,n,s,o=!0,_,d,h)=>{const u=A.encodeToBuf(i,e),I=A.encodeToBuf(n,e);return!!samp.callNative("SetObjectMaterialText","iaiiaiiiii",t,u,a,r,I,s,o,N(_),N(d),h)},RI=(e,t,i)=>{const[a,r=0,n,s=0,o=0,_=0,d=0,h=0,u]=samp.callNative("GetObjectMaterialText","iiAiIAiIIIII",e,t,2048,32),I=A.decodeFromBuf(a,i),C=A.decodeFromBuf(n,i);return{text:I,materialSize:r,fontFace:C,fontSize:s,bold:o,fontColor:_,backColor:d,textAlignment:h,ret:u}},wi=(e,t,i,a,r,n,s,o,_=!0,d,h,u)=>{const I=A.encodeToBuf(a,e),C=A.encodeToBuf(s,e);return!!samp.callNative("SetPlayerObjectMaterialText","iiaiiaiiiii",t,i,I,r,n,C,o,_,N(d),N(h),u)},OI=(e,t,i,a)=>{const[r,n=0,s,o=0,_=0,d=0,h=0,u=0,I]=samp.callNative("GetPlayerObjectMaterialText","iiiAiIAiIIIII",e,t,i,2048,32),C=A.decodeFromBuf(r,a),y=A.decodeFromBuf(s,a);return{text:C,materialSize:n,fontFace:y,fontSize:o,bold:_,fontColor:d,backColor:h,textAlignment:u,ret:I}},GI=(e,t,i,a,r,n,s,o,_=!1)=>{const d=A.encodeToBuf(t,e);return samp.callNative("Create3DTextLabel","aiffffii",d,N(i),a,r,n,s,o,_)},jI=(e,t,i,a,r,n,s,o,_,d,h)=>{const u=A.encodeToBuf(i,e);return samp.callNative("CreatePlayer3DTextLabel","iaiffffiii",t,u,N(a),r,n,s,o,_,d,h)},FI=(e,t,i,a)=>{const r=A.encodeToBuf(a,e);return!!samp.callNative("Update3DTextLabelText","iia",t,N(i),r)},MI=(e,t,i,a,r)=>{const n=A.encodeToBuf(r,e);return!!samp.callNative("UpdatePlayer3DTextLabelText","iiia",t,i,N(a),n)},VI=(e,t)=>{const[i,a]=samp.callNative("Get3DTextLabelText","iAi",t,144);return{text:A.decodeFromBuf(i,e),buf:i,ret:a}},BI=(e,t,i)=>{const[a,r]=samp.callNative("GetPlayer3DTextLabelText","iiAi",t,i,144);return{text:A.decodeFromBuf(a,e),buf:a,ret:r}},kI=(e,t,i)=>{const[a,r]=samp.callNative("GetMenuColumnHeader","iiAi",e,t,31);return{header:A.decodeFromBuf(a,i),buf:a,ret:r}},xI=(e,t,i,a)=>{const[r,n]=samp.callNative("GetMenuItem","iiiAi",e,t,i,31);return{item:A.decodeFromBuf(r,a),buf:r,ret:n}},HI=(e,t,i,a,r,n,s)=>samp.callNative("CreateMenu","aiffff",A.encodeToBuf(e,s),t,i,a,r,n),UI=(e,t,i,a)=>samp.callNative("AddMenuItem","iia",e,t,A.encodeToBuf(i,a)),WI=(e,t,i,a)=>samp.callNative("SetMenuColumnHeader","iia",e,t,A.encodeToBuf(i,a)),KI=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],XI=[[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],[],[],[],[],[],[],[],[]],ZI=(e,t)=>{if(!Ct(e))return!1;const i=XI[e-400];if(i===null)return!1;const a=t-1e3;return KI.includes(a)||i.includes(a)},Ct=e=>e>=400&&e<=611,YI=(e,t)=>{if(t<0||t>2)return!1;const i=new Map([[483,0],[534,2],[535,2],[536,2],[558,2],[559,2],[560,2],[561,2],[562,2],[565,2],[567,2],[575,1],[576,2]]).get(e);return typeof i>"u"?!1:t<=i},B=Symbol("internalPlayerProps"),oe=new Map,me=new Map,Oe=new Map,Z=new Map,Ge=new Map,fe=new Map,re=new Map,Pe=new Map,de=new Map,je=new Map,Y=new Map,pe=new Map,Fe=new Map,he=new Map,Ie=new Map,Se=new Map,ye=new Map,Me=new Map,Ce=new Map,Ae=new Map,W=new Map,Ve=new Map,Be=new Map,ke=new Map,z=new Map,[zI]=m({name:"OnGameModeInit",identifier:""}),[Ri,JI]=m({name:"OnGameModeInitReal",isNative:!1});zI(()=>{Promise.resolve().then(JI)});const[Oi]=m({name:"OnGameModeExit",identifier:""}),[$I]=m({name:"OnIncomingConnection",identifier:"isi",defaultValue:!1,beforeEach(e,t,i){return{playerId:e,ipAddress:t,port:i}}}),[QI]=m({name:"OnRconCommandI18n",identifier:"ai",defaultValue:!1,beforeEach(e){return{buffer:e,cmd:A.decodeFromBuf(e)}}}),[qI]=m({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,i){return{ip:A.decodeFromBuf(e),password:A.decodeFromBuf(t),success:!!i,ipBuffer:e,passwordBuffer:t}}}),Ee=[],xe=[],ct=new Map,At=async e=>{try{return await new Promise((t,i)=>{const a=Ee.findIndex(o=>o.name===e);if(a===-1)return;const r=Ee[a];function n(o){o.length&&ct.set(e,o),Ee.splice(a,1),xe.push(r),setTimeout(t)}const s=r.load();s instanceof Promise?s.then(n).catch(i):n(s)})}catch(t){throw new Error(`[GameMode]: script ${e} load fail
2
2
  err:${t}`)}},Et=async e=>{try{return await new Promise((t,i)=>{const a=xe.findIndex(_=>_.name===e);if(a===-1)return;const r=xe[a],n=ct.get(e);n&&(n.forEach(_=>_()),ct.delete(e));function s(){xe.splice(a,1),Ee.push(r),setTimeout(t)}const o=r.unload();o instanceof Promise?o.then(s).catch(i):s()})}catch(t){throw new Error(`[GameMode]: script ${e} unload fail
3
- ${t}`)}},QI=async e=>{await Et(e),await At(e)},qI=e=>ct.has(e);Ri(async({next:e})=>{const t=Ee.map(i=>i.name);for(const i of t)await At(i);return e()}),Oi(async({next:e})=>{const t=xe.map(i=>i.name);for(const i of t)await Et(i);return e()});const eS=function(e,...t){if(Ee.some(i=>i.name===e.name)||xe.some(i=>i.name===e.name))throw new Error(`[GameMode]: script ${e.name} has already been applied`);e.load=e.load.bind(e,...t),Ee.push(e)},_e=new Uint32Array(65536),tS=(e,t)=>{const i=e.length,a=t.length,r=1<<i-1;let n=-1,s=0,o=i,_=i;for(;_--;)_e[e.charCodeAt(_)]|=1<<_;for(_=0;_<a;_++){let d=_e[t.charCodeAt(_)];const h=d|s;d|=(d&n)+n^n,s|=~(d|n),n&=d,s&r&&o++,n&r&&o--,s=s<<1|1,n=n<<1|~(h|s),s&=h}for(_=i;_--;)_e[e.charCodeAt(_)]=0;return o},iS=(e,t)=>{const i=t.length,a=e.length,r=[],n=[],s=Math.ceil(i/32),o=Math.ceil(a/32);for(let y=0;y<s;y++)n[y]=-1,r[y]=0;let _=0;for(;_<o-1;_++){let y=0,L=-1;const j=_*32,J=Math.min(32,a)+j;for(let F=j;F<J;F++)_e[e.charCodeAt(F)]|=1<<F;for(let F=0;F<i;F++){const ce=_e[t.charCodeAt(F)],se=n[F/32|0]>>>F&1,ae=r[F/32|0]>>>F&1,Dt=ce|y,Tt=((ce|ae)&L)+L^L|ce|ae;let Ze=y|~(Tt|L),it=L&Tt;Ze>>>31^se&&(n[F/32|0]^=1<<F),it>>>31^ae&&(r[F/32|0]^=1<<F),Ze=Ze<<1|se,it=it<<1|ae,L=it|~(Dt|Ze),y=Ze&Dt}for(let F=j;F<J;F++)_e[e.charCodeAt(F)]=0}let d=0,h=-1;const u=_*32,I=Math.min(32,a-u)+u;for(let y=u;y<I;y++)_e[e.charCodeAt(y)]|=1<<y;let C=a;for(let y=0;y<i;y++){const L=_e[t.charCodeAt(y)],j=n[y/32|0]>>>y&1,J=r[y/32|0]>>>y&1,F=L|d,ce=((L|J)&h)+h^h|L|J;let se=d|~(ce|h),ae=h&ce;C+=se>>>a-1&1,C-=ae>>>a-1&1,se>>>31^j&&(n[y/32|0]^=1<<y),ae>>>31^J&&(r[y/32|0]^=1<<y),se=se<<1|j,ae=ae<<1|J,h=ae|~(F|se),d=se&F}for(let y=u;y<I;y++)_e[e.charCodeAt(y)]=0;return C},Gi=(e,t)=>{if(e.length<t.length){const i=t;t=e,e=i}return t.length===0?e.length:e.length<=32?tS(e,t):iS(e,t)},aS=(e,t)=>{let i=1/0,a=0;for(let r=0;r<t.length;r++){const n=Gi(e,t[r]);n<i&&(i=n,a=r)}return t[a]},Ne=new Map,De=new Map,ji=/[^/\s]+/gi,qe={NOT_EXIST:{code:1,msg:"command does not exist"},REJECTED:{code:2,msg:"An event registered through onCommandText returned false"},PERFORMED:{code:3,msg:"An event registered through onCommandPerformed returned false"},RECEIVED_THROW:{code:4,msg:"An event registered through onCommandReceived throw an error"},RECEIVED_REJECTED:{code:5,msg:"An event registered through onCommandReceived returned false"}},[rS,nS]=m({name:"OnCommandReceived",isNative:!1,throwOnError:!0,beforeEach(e,t,i,a,r,n,s,o,_){return{player:e,command:t,cmdText:i,buffer:a,strictMainCmd:r,noStrictMainCmd:n,hasStrict:s,hasNoStrict:o,subcommand:_}}}),[sS,lS]=m({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t,i,a,r,n,s,o,_){return{player:e,command:t,cmdText:i,buffer:a,strictMainCmd:r,noStrictMainCmd:n,hasStrict:s,hasNoStrict:o,subcommand:_}}}),[oS,et]=m({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d){return{player:e,error:t,command:i,cmdText:a,buffer:r,strictMainCmd:n,noStrictMainCmd:s,hasStrict:o,hasNoStrict:_,subcommand:d,getSuggestion(){const h=aS(a,[...Ne.keys(),...De.keys()]),u=Gi(a,h);return{suggestion:h,distance:u}}}}}),[_S,cS]=m({name:"OnPlayerCommandTextI18n",identifier:"iai",defaultValue:!1,beforeEach(e,t){const i=oe.get(e);let a=t,r="";return typeof t=="string"?(r=t,a=A.encodeToBuf(r,"utf-8")):r=A.decodeFromBuf(t,i.charset),{player:i,buffer:a,cmdText:r}}}),[dS,hS]=m({name:"OnPlayerCommandTextRaw",isNative:!1,defaultValue:!1,beforeEach(e,t,i){return{player:e,buffer:t,cmdText:i}}});function gS(e){const t=[];let i="";for(let a=0;a<e.length;a++)i+=e[a]+" ",t.push(i.trimEnd());return t.reverse()}_S(({player:e,buffer:t,cmdText:i,next:a})=>{const r=hS(e,t,i);if(r)return r;const n=i.match(ji),s=gS(n),o=s.find(L=>Ne.has(L)),_=s.map(L=>L.toLowerCase()).find(L=>De.has(L)),d=!!o,h=!!_,u=n.join(" ");let I=[];const C=[[o,Ne,!0],[_,De,!1]],y=[u,i,t,o,_,d,h,I];if(d||h){const L=C[0][0]||C[1][0];I=u.replace(L,"").trim().split(" ")}else return et(e,qe.NOT_EXIST,...y);try{if(!nS(e,...y))return et(e,qe.RECEIVED_REJECTED,...y)}catch(L){const j=typeof L=="object"?L:{error:L};return et(e,{...qe.RECEIVED_THROW,...j},...y)}for(const[L,j,J]of C){if(!L)continue;const F=j.get(L),[,ce]=F;if(!ce(e,L,I,i,t,J))return et(e,qe.REJECTED,...y)}return lS(e,u,i,t,o,_,d,h,I)?(a(),!0):et(e,qe.PERFORMED,...y)});function uS(e,t,i,a,r,n){return{player:e,mainCommand:t,subcommand:i,cmdText:a,buffer:r,isStrict:n}}class te{static caseSensitive=!1;constructor(){}static on(t,i){let a=te.caseSensitive,r,n;typeof t=="string"||t instanceof Array?(r=t,n=i):(r=t.command,n=t.run,typeof t.caseSensitive<"u"&&(a=t.caseSensitive));const s=Array.isArray(r)?r:[r],o=s.find(h=>!h.match(ji));if(o)return console.log(`error command ${o} format`),()=>{};const _=a?Ne:De,d=s.map(h=>{const u=h.replaceAll("/",""),I=a?u:u.toLowerCase();if(!_.has(I)){const y=m({name:a?"$"+I:I,isNative:!1,beforeEach:uS});_.set(I,y)}const[C]=_.get(I);return[I,C(n)]});return()=>{d.forEach(h=>{const[u,I]=h;I()===0&&_.delete(u)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(i=>{let a=i.replaceAll("/","");Ne.has(a)&&(Q.has(a)&&Q.delete(a),Ne.has(a)&&Ne.delete(a)),a=a.toLowerCase(),De.has(a)&&(Q.has(a)&&Q.delete(a),De.has(a)&&De.delete(a))})}static enableCaseSensitive(){te.caseSensitive=!0}static disableCaseSensitive(){te.caseSensitive=!1}static isCaseSensitive(){return te.caseSensitive}static simulate(t,i){return cS(t.id,i)}}class x{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=Ri;static onExit=Oi;static onIncomingConnection=zI;static onRconCommand=JI;static onRconLoginAttempt=$I;static use(t,...i){return eS(t,...i),this}static loadUseScript=At;static reloadUseScript=QI;static unloadUseScript=Et;static isUseScriptLoaded=qI;static enableCmdCaseSensitive=te.enableCaseSensitive;static disableCmdCaseSensitive=te.disableCaseSensitive;static isCmdCaseSensitive=te.isCaseSensitive;static supportAllNickname(){for(let t=0;t<=255;t++)this.isNickNameCharacterAllowed(t)||this.allowNickNameCharacter(t,!0)}static setWeather(t){if(t<0||t>255)throw new Error("[GameMode]: The valid weather value is only 0 to 255");return Ks(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");return Hs(t)}static getWorldTime=Us;static setTeamCount=hl;static sendRconCommand=yI;static addPlayerClass=gl;static addPlayerClassEx=ul;static createExplosion(t,i,a,r,n){if(r<0||r>13)throw new Error("[GameMode]: The valid explosion type value is only 0 to 13");return Ys(t,i,a,r,n)}static manualVehicleEngineAndLights=Zg;static blockIpAddress=Ol;static unBlockIpAddress=Gl;static getServerTickRate=il;static addSimpleModel(t,i,a,r,n){return this.checkSimpleModel(t,i,a,r,n)?mp(t,i,a,r,n):!1}static addSimpleModelTimed(t,i,a,r,n,s,o){return this.checkSimpleModel(t,i,a,r,n,s,o)?fp(t,i,a,r,n,s,o):!1}static checkSimpleModel(t,i,a,r,n,s,o){if(t<-1)throw new Error("[GameMode]: AddSimpleModel - Error virtual world");if(i<0)throw new Error("[GameMode]: AddSimpleModel - Error baseId");if(a>H.MAX_CUSTOM_OBJECT_ID||a<H.MIN_CUSTOM_OBJECT_ID)throw new Error("[GameMode]: AddSimpleModel - Error newId range");if(r.trim().length===0)throw new Error("[GameMode]: AddSimpleModel - Empty dffName");if(n.trim().length===0)throw new Error("[GameMode]: AddSimpleModel - Empty txdName");if(s!==void 0&&(s<0||s>23))throw new Error("[GameMode]: AddSimpleModel - Error time on range");if(o!==void 0&&(o<0||o>23))throw new Error("[GameMode]: AddSimpleModel - Error time off range");return!0}static isValidCustomModel=Di;static getCustomModePath=Ep;static getConsoleVarAsString(t,i="utf8"){const{consoleVarBuf:a,ret:r}=Ts(t);return{consoleVar:A.decodeFromBuf(A.getValidStr(a),i),ret:r}}static getRestartTime=Gs;static setRestartTime=Os;static allowAdminTeleport=ys;static isAdminTeleportAllowed=Cs;static allowInteriorWeapons=As;static areInteriorWeaponsAllowed=Es;static areAllAnimationsEnabled=Ns;static enableAllAnimations=Ds;static enableStuntBonusForAll=rl;static enableVehicleFriendlyFire=Ws;static enableZoneNames=zs;static disableInteriorEnterExits=$s;static setGameModeText=Bs;static getGravity=Xs;static setGravity=Zs;static showNameTags=ks;static disableNameTagLOS=qs;static usePlayerPedAnims=Js;static showPlayerMarkers=xs;static limitPlayerMarkerRadius=tl;static limitGlobalChatRadius=el;static setNameTagDrawDistance=Qs;static findModelFileNameFromCRC=pp;static findTextureFileNameFromCRC=Ip;static getWeaponName=ol;static setObjectsDefaultCameraCollision=up;static vectorSize=It;static clearBanList=Ml;static isBanned=Vl;static isValidNickName=us;static allowNickNameCharacter=ms;static isNickNameCharacterAllowed=fs;static addServerRule=Ps;static setServerRule=ps;static isValidServerRule=Is;static removeServerRule=Ss;static getWeaponSlot=ll;static getAvailableClasses=_l;static getPlayerClass=cl;static editPlayerClass=dl;static toggleChatTextReplacement=nl;static chatTextReplacementToggled=sl;static getConsoleVarAsInt=vs;static getConsoleVarAsBool=bs;static getWeather=Ls;static getServerRuleFlag=ws;static setServerRuleFlags=Rs;static getAnimationName=al}const D={skip:!1};x.onInit(({next:e})=>(D.skip=!1,e())),x.onExit(({next:e})=>(D.skip=!0,e()));class p{sourceInfo=null;isStatic=!1;static createdCount=0;_id=l.VEHICLE_ID;get id(){return this._id}constructor(t,i=!1){if(typeof t=="number"){if(t===l.VEHICLE_ID)throw new Error("[Vehicle]: Invalid id");const a=p.getInstance(t);if(a)return a;this._id=t,me.set(this._id,this),this.isValid()&&p.createdCount++}else this.sourceInfo=t,this.isStatic=i}create(t=!1){if(this.id!==l.VEHICLE_ID)throw new Error("[Vehicle]: Unable to create again");if(!this.sourceInfo)throw new Error("[Vehicle]: Unable to create with only id");const{modelId:i,x:a,y:r,z:n,zAngle:s,color:o,respawnDelay:_,addSiren:d}=this.sourceInfo;if(!(!t&&!Ct(i))){if(this.isStatic){if(typeof _>"u"){this._id=p.__inject__.addStatic(i,a,r,n,s,o[0],o[1]);return}this._id=p.__inject__.addStaticEx(i,a,r,n,s,o[0],o[1],_||-1,d||!1)}else this._id=p.__inject__.create(i,a,r,n,s,o[0],o[1],_||-1,d||!1);if(this._id===l.VEHICLE_ID||p.createdCount===H.MAX_VEHICLES)throw new Error("[Vehicle]: Unable to create vehicle");p.createdCount++,me.set(this._id,this)}}destroy(){if(this.id===l.VEHICLE_ID&&!D.skip)throw new Error("[Vehicle]: Unable to destroy the vehicle before create");D.skip||p.__inject__.destroy(this._id),p.createdCount--,me.delete(this._id),this._id=l.VEHICLE_ID,p.getInstances().length||(p.createdCount=0)}addComponent(t){if(this.id===l.VEHICLE_ID)return 0;if(!KI(this.getModel(),t))throw new Error(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`);return p.__inject__.addComponent(this.id,t)}removeComponent(t){if(this.getComponentInSlot(p.getComponentType(t))===0)throw new Error(`[Vehicle]: component id ${t} does not exist on this vehicle`);return p.__inject__.removeComponent(this.id,t)}getComponentInSlot(t){return p.__inject__.getComponentInSlot(this.id,t)}linkToInterior(t){return this.id===l.VEHICLE_ID?0:p.__inject__.linkToInterior(this.id,t)}setVirtualWorld(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setVirtualWorld(this.id,t)}getVirtualWorld(){return this.id===l.VEHICLE_ID?0:p.__inject__.getVirtualWorld(this.id)}repair(){return this.id===l.VEHICLE_ID?0:p.__inject__.repair(this.id)}setPos(t,i,a){return this.id===l.VEHICLE_ID?!1:p.__inject__.setPos(this.id,t,i,a)}getPos(){return p.__inject__.getPos(this.id)}getHealth(){return p.__inject__.getHealth(this.id)}setHealth(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setHealth(this.id,t)}isPlayerIn(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.isPlayerIn(t.id,this.id)}putPlayerIn(t,i){if(this.id===l.VEHICLE_ID||i<0)return 0;if(i>4)throw new Error("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle.");return p.__inject__.putPlayerIn(t.id,this.id,i)}getZAngle(){return p.__inject__.getZAngle(this.id)}setZAngle(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setZAngle(this.id,t)}setNumberPlate(t){if(this.id===l.VEHICLE_ID)return 0;if(t.length<1||t.length>32)throw new Error("[Vehicle]: The length of the number plate ranges up to 32 characters");if(!/^[a-zA-Z0-9]+$/.test(t))throw new Error("[Vehicle]: number plates only allow letters and numbers");return p.__inject__.setNumberPlate(this.id,t)}changeColors(t,i){return this.id===l.VEHICLE_ID?0:p.__inject__.changeColors(this.id,t,i)}setVelocity(t,i,a){return this.id===l.VEHICLE_ID?!1:p.__inject__.setVelocity(this.id,t,i,a)}getVelocity(){return p.__inject__.getVelocity(this.id)}getSpeed(t=180){if(this.id===l.VEHICLE_ID)return 0;const{x:i,y:a,z:r}=this.getVelocity();return It(i,a,r)*t}setAngularVelocity(t,i,a){return this.id===l.VEHICLE_ID?!1:p.__inject__.setAngularVelocity(this.id,t,i,a)}getDamageStatus(){return p.__inject__.getDamageStatus(this.id)}updateDamageStatus(t,i,a,r){return p.__inject__.updateDamageStatus(this.id,t,i,a,r)}getDistanceFromPoint(t,i,a){return p.__inject__.getDistanceFromPoint(this.id,t,i,a)}getModel(){return p.__inject__.getModel(this.id)}static getModelInfo(t,i){return p.__inject__.getModelInfo(t,i)}getModelInfo(t){return p.getModelInfo(this.getModel(),t)}getRotation(){return p.__inject__.getRotation(this.id)}getRotationQuat(){return p.__inject__.getRotationQuat(this.id)}setRespawn(){return this.id===l.VEHICLE_ID?0:p.__inject__.setRespawn(this.id)}isStreamedIn(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.isStreamedIn(this.id,t.id)}setParamsCarDoors(t,i,a,r){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsCarDoors(this.id,t,i,a,r)}setParamsCarWindows(t,i,a,r){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsCarWindows(this.id,t,i,a,r)}getParamsCarDoors(){return p.__inject__.getParamsCarDoors(this.id)}getParamsCarWindows(){return p.__inject__.getParamsCarWindows(this.id)}setParamsEx(t,i,a,r,n,s,o){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsEx(this.id,t,i,a,r,n,s,o)}getParamsEx(){if(this.id===l.VEHICLE_ID)return{engine:-1,lights:-1,alarm:-1,doors:-1,bonnet:-1,boot:-1,objective:-1};const[t,i,a,r,n,s,o]=p.__inject__.getParamsEx(this.id);return{engine:t,lights:i,alarm:a,doors:r,bonnet:n,boot:s,objective:o}}toggleEngine(t){if(this.id===l.VEHICLE_ID)return 0;const{lights:i,alarm:a,doors:r,bonnet:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(t,i,a,r,n,s,o)}toggleLights(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,alarm:a,doors:r,bonnet:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,t,a,r,n,s,o)}toggleAlarm(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,doors:r,bonnet:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,a,t,r,n,s,o)}toggleDoors(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,alarm:r,bonnet:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,a,r,t,n,s,o)}toggleBonnet(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,alarm:r,doors:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,a,r,n,t,s,o)}toggleBoot(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,alarm:r,doors:n,bonnet:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,a,r,n,s,t,o)}toggleObjective(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,alarm:r,doors:n,bonnet:s,boot:o}=this.getParamsEx();return this.setParamsEx(i,a,r,n,s,o,t)}getParamsSirenState(){return this.id===l.VEHICLE_ID?-2:p.__inject__.getParamsSirenState(this.id)}setParamsForPlayer(t,i,a){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsForPlayer(this.id,t.id,i,a)}isTrailerAttached(){return this.id===l.VEHICLE_ID?!1:p.__inject__.isTrailerAttached(this.id)}changePaintjob(t){return this.id===l.VEHICLE_ID||!XI(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),p.__inject__.changePaintjob(this.id,t),1)}attachTrailer(t){return this.id===l.VEHICLE_ID?0:p.__inject__.attachTrailer(t.id,this.id)}detachTrailer(){this.isTrailerAttached()&&p.__inject__.detachTrailer(this.id)}getTrailer(){return p.getInstance(hu(this.id))}isValid(){return D.skip&&this.id!==l.VEHICLE_ID?!0:p.isValid(this.id)}getMatrix(){return p.__inject__.getMatrix(this.id)}getTrainSpeed(){return this.id===l.VEHICLE_ID?0:p.__inject__.getTrainSpeed(this.id)}getHydraReactorAngle(){return this.id===l.VEHICLE_ID?0:p.__inject__.getHydraReactorAngle(this.id)}getLandingGearState(){return this.id===l.VEHICLE_ID?0:p.__inject__.getLandingGearState(this.id)}getSirenState(){return this.id===l.VEHICLE_ID?0:p.__inject__.getSirenState(this.id)}getDriver(){return oe.get(Ii(this.id))}getLastDriver(){return oe.get(pi(this.id))}isSirenEnabled(){return p.__inject__.isSirenEnabled(this.id)}toggleSirenEnabled(t){return this.id===l.VEHICLE_ID?0:p.__inject__.toggleSirenEnabled(this.id,t)}setParamsSirenState(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsSirenState(this.id,t)}isDead(){return this.id===l.VEHICLE_ID?!0:p.__inject__.isDead(this.id)}setDead(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.setDead(this.id,t)}setBeenOccupied(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.setBeenOccupied(this.id,t)}getRespawnTick(){return this.id===l.VEHICLE_ID?0:p.__inject__.getRespawnTick(this.id)}setRespawnTick(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.setRespawnTick(this.id,t)}isOccupied(){return this.id===l.VEHICLE_ID?!1:p.__inject__.isOccupied(this.id)}hasBeenOccupied(){return this.id===l.VEHICLE_ID?!1:p.__inject__.hasBeenOccupied(this.id)}getOccupiedTick(){return this.id===l.VEHICLE_ID?0:p.__inject__.getOccupiedTick(this.id)}setOccupiedTick(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setOccupiedTick(this.id,t)}getCab(){return this.id===l.VEHICLE_ID?0:p.__inject__.getCab(this.id)}getRespawnDelay(){return this.id===l.VEHICLE_ID?0:p.__inject__.getRespawnDelay(this.id)}setRespawnDelay(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setRespawnDelay(this.id,t)}getNumberPlate(){return p.__inject__.getNumberPlate(this.id)}getInterior(){return this.id===l.VEHICLE_ID?0:p.__inject__.getInterior(this.id)}getPaintjob(){return this.id===l.VEHICLE_ID?l.VEHICLE_ID:p.__inject__.getPaintjob(this.id)}getColors(){return p.__inject__.getColors(this.id)}setSpawnInfo(t,i,a,r,n,s,o,_=-2,d=-2,h=!1){return this.id===l.VEHICLE_ID||!h&&!Ct(t)?0:p.__inject__.setSpawnInfo(this.id,t,i,a,r,n,N(s),N(o),_,d)}getSpawnInfo(){return p.__inject__.getSpawnInfo(this.id)}getRandomColorPair(){return p.__inject__.getRandomColorPair(this.getModel())}show(){return this.id===l.VEHICLE_ID?!1:p.__inject__.show(this.id)}hide(){return this.id===l.VEHICLE_ID?!1:p.__inject__.hide(this.id)}isHidden(){return this.id===l.VEHICLE_ID?!1:p.__inject__.isHidden(this.id)}getOccupant(t){return p.__inject__.getOccupant(this.id,t)}getMaxPassengers(){return p.__inject__.getMaxPassengers(this.getModel())}countOccupants(){return p.__inject__.countOccupants(this.getModel())}static getMaxPassengers(t){return p.__inject__.getMaxPassengers(t)}static getRandomColorPair(t){return p.__inject__.getRandomColorPair(t)}static getComponentType(t){return p.__inject__.getComponentType(t)}static colorIndexToColor(t,i=255){return p.__inject__.colorIndexToColor(t,i)}static isValid(t){return p.__inject__.isValid(t)}static getModelsUsed(){return p.__inject__.getModelsUsed()}static getModelCount(t){return p.__inject__.getModelCount(t)}static getInstance(t){return me.get(t)}static getInstances(){return[...me.values()]}static __inject__={addStatic:Tu,addStaticEx:vu,create:Fg,destroy:Mg,addComponent:au,removeComponent:ru,getComponentInSlot:mu,linkToInterior:iu,setVirtualWorld:Eu,getVirtualWorld:Nu,repair:Pu,setPos:kg,getPos:Bg,getHealth:ou,setHealth:lu,isPlayerIn:z_,putPlayerIn:D_,getZAngle:xg,setZAngle:Kg,setNumberPlate:gu,changeColors:nu,setVelocity:Iu,getVelocity:pu,setAngularVelocity:Su,getDamageStatus:yu,updateDamageStatus:Cu,getDistanceFromPoint:Wg,getModel:uu,getModelInfo:Au,getRotation:Hg,getRotationQuat:Ug,setRespawn:tu,isStreamedIn:Vg,setParamsCarDoors:$g,setParamsCarWindows:qg,getParamsCarDoors:Qg,getParamsCarWindows:eu,setParamsEx:Yg,getParamsEx:zg,getParamsSirenState:Jg,setParamsForPlayer:Xg,isTrailerAttached:du,changePaintjob:su,attachTrailer:_u,detachTrailer:cu,getMatrix:Og,getTrainSpeed:Rg,getHydraReactorAngle:wg,getLandingGearState:Lg,getSirenState:bg,getDriver:Ii,getLastDriver:pi,isSirenEnabled:Dg,toggleSirenEnabled:Eg,setParamsSirenState:Ng,isDead:yg,setDead:Cg,setBeenOccupied:Ag,getRespawnTick:Ig,setRespawnTick:Sg,isOccupied:pg,hasBeenOccupied:Pg,getOccupiedTick:mg,setOccupiedTick:fg,getCab:ug,getRespawnDelay:gg,setRespawnDelay:hg,getNumberPlate:dg,getInterior:cg,getPaintjob:_g,getColors:og,setSpawnInfo:lg,getSpawnInfo:sg,getRandomColorPair:Gg,show:bu,hide:Lu,isHidden:wu,getOccupant:Mu,getMaxPassengers:Vu,countOccupants:Bu,getComponentType:fu,colorIndexToColor:jg,isValid:Du,getModelsUsed:vg,getModelCount:Tg}}class S{sourceInfo=null;_id=l.OBJECT_ID;_player=null;get id(){return this._id}constructor(t,i){if(typeof t=="number"){if(t===l.OBJECT_ID)throw new Error("[ObjectMp]: Invalid id");i&&(this._player=i);const a=S.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?Ae.set(this._id,this):i&&(W.has(i)||W.set(i,new Map),W.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[ObjectMp]: Unable to create with only id");if(this.id!==l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to create again");const{modelId:t,x:i,y:a,z:r,rx:n,ry:s,rz:o,drawDistance:_=0}=this.sourceInfo;if(this.isGlobal()){if(this._id=S.__inject__.create(t,i,a,r,n,s,o,_),this.id===l.OBJECT_ID||S.getInstances().length===H.MAX_OBJECTS)throw new Error("[ObjectMp]: Unable to create object");return Ae.set(this._id,this),this}const d=this.getPlayerId();if(d===l.PLAYER_ID)return this;const h=this.getPlayer();if(this._id=S.__inject__.createPlayer(d,t,i,a,r,n,s,o,_),this.id===l.OBJECT_ID||S.getInstances(h).length===H.MAX_OBJECTS)throw new Error("[ObjectMp]: Unable to create player object");return W.has(h)||W.set(h,new Map),W.get(this.getPlayer()).set(this.id,this),this}destroy(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to destroy before create");if(this.isGlobal())D.skip||S.__inject__.destroy(this.id),Ae.delete(this.id);else{const t=this.getPlayerId();if(t===l.PLAYER_ID)return this;const i=this.getPlayer();if(D.skip||S.__inject__.destroyPlayer(t,this.id),W.has(i)){const a=W.get(i);a.delete(this.id),a.size===0&&W.delete(i)}}return this._id=l.OBJECT_ID,this}isGlobal(){return!(this.sourceInfo?this.sourceInfo.player:this._player)}isPlayer(){return!this.isGlobal()}getPlayer(){return this._player?this._player:this.sourceInfo&&this.sourceInfo.player?this.sourceInfo.player:null}getPlayerId(){const t=this.getPlayer();return t?t.id:l.PLAYER_ID}isValid(){return D.skip&&this.id!==l.OBJECT_ID?!0:this.isGlobal()?S.isValid(this.id):S.isValid(this.id,this.getPlayerId())}getModel(){return this.sourceInfo?this.sourceInfo.modelId:this.isGlobal()?S.__inject__.getModel(this.id):S.__inject__.getModelPlayer(this.getPlayerId(),this.id)}getPos(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot get position before create");return this.isGlobal()?S.__inject__.getPos(this.id):S.__inject__.getPosPlayer(this.getPlayerId(),this.id)}setPos(t,i,a){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot set position before create");return this.isGlobal()?S.__inject__.setPos(this.id,t,i,a):S.__inject__.setPosPlayer(this.getPlayerId(),this.id,t,i,a)}getRot(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot get rotation before create");return this.isGlobal()?S.__inject__.getRot(this.id):S.__inject__.getRotPlayer(this.getPlayerId(),this.id)}setRot(t,i,a){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot set rotation before create");return this.isGlobal()?S.__inject__.setRot(this.id,t,i,a):S.__inject__.setRotPlayer(this.getPlayerId(),this.id,t,i,a)}move(t,i,a,r,n,s,o){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot start moving before create");if(r<0)throw new Error("[ObjectMp]: speed must not be less than 0");if(r>120*1e3)throw new Error("[ObjectMp]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),this.isGlobal()?S.__inject__.move(this.id,t,i,a,r,n,s,o):S.__inject__.movePlayer(this.getPlayerId(),this.id,t,i,a,r,n,s,o)}stop(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot stop moving before create");return this.isGlobal()?S.__inject__.stop(this.id):S.__inject__.stopPlayer(this.getPlayerId(),this.id)}isMoving(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.isMoving(this.id):S.__inject__.isMovingPlayer(this.getPlayerId(),this.id)}attachCamera(t){if(this.id===l.OBJECT_ID)return!1;if(this.isGlobal()){if(!t)throw new Error("[ObjectMp]: Cannot attachCamera without player");return S.__inject__.attachCamera(t.id,this.id)}return S.__inject__.attachCameraPlayer(this.getPlayerId(),this.id)}attachToObject(t,i,a,r,n,s,o,_=!0){if(this.id===l.OBJECT_ID||t.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot attachToObject before both are created");if(this.isGlobal()&&t.isGlobal())return S.__inject__.attachToObject(this.id,t.id,i,a,r,n,s,o,_);if(!this.isGlobal()&&!t.isGlobal())return S.__inject__.attachPlayerToObject(this.getPlayerId(),this.id,t.id,i,a,r,n,s,o,_);throw new Error("[ObjectMp]: Cannot attachToObject with global and player object")}attachToPlayer(t,i,a,r,n,s,o){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.attachToPlayer(this.id,t.id,i,a,r,n,s,o):S.__inject__.attachPlayerToPlayer(this.getPlayerId(),this.id,t.id,i,a,r,n,s,o)}attachToVehicle(t,i,a,r,n,s,o){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.attachToVehicle(this.id,t.id,i,a,r,n,s,o):S.__inject__.attachPlayerToVehicle(this.getPlayerId(),this.id,t.id,i,a,r,n,s,o)}edit(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to edit before create");if(this.isGlobal()){if(!t)throw new Error("[ObjectMp]: Cannot edit without player");return t.endObjectEditing(),S.__inject__.beginEditing(t.id,this.id)}const i=this.getPlayer();return i.endObjectEditing(),S.__inject__.beginEditingPlayer(i.id,this.id)}isMaterialUsed(t){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.isMaterialSlotUsed(this.id,t):S.__inject__.isMaterialSlotUsedPlayer(this.getPlayerId(),this.id,t)}getMaterial(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to get material before create");return this.isGlobal()?S.__inject__.getMaterial(this.id,t):S.__inject__.getMaterialPlayer(this.getPlayerId(),this.id,t)}setMaterial(t,i,a,r,n="#000"){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to set material before create");return this.isGlobal()?S.__inject__.setMaterial(this.id,t,i,a,r,N(n)):S.__inject__.setMaterialPlayer(this.getPlayerId(),this.id,t,i,a,r,N(n))}getMaterialText(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to get material text before create");return this.isGlobal()?S.__inject__.getMaterialText(this.id,t,this.sourceInfo?.charset||"utf8"):S.__inject__.getMaterialTextPlayer(this.getPlayerId(),this.id,t,this.sourceInfo?.charset||"utf8")}setMaterialText(t=this.sourceInfo?.charset,i,a,r=st.SIZE_256x128,n="Arial",s=24,o=!0,_="#fff",d="#000",h=0){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to set material text before create");return this.sourceInfo&&(this.sourceInfo.charset=t),this.isGlobal()?Li(t||"utf8",this.id,i,a,r,n,s,o,N(_),N(d),h):wi(t||"utf8",this.getPlayerId(),this.id,i,a,r,n,s,o,N(_),N(d),h)}setNoCameraCollision(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.setNoCameraCollision(this.id):S.__inject__.setNoCameraCollisionPlayer(this.getPlayerId(),this.id)}isNoCameraCol(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.isNoCameraCol(this.id):S.__inject__.isNoCameraColPlayer(this.getPlayerId(),this.id)}hasCameraCollision(){return!this.isNoCameraCol()}getDrawDistance(){return this.id===l.OBJECT_ID?0:this.isGlobal()?S.__inject__.getDrawDistance(this.id):S.__inject__.getDrawDistancePlayer(this.getPlayerId(),this.id)}setMoveSpeed(t){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.setMoveSpeed(this.id,t):S.__inject__.setMoveSpeedPlayer(this.getPlayerId(),this.id,t)}getMoveSpeed(){return this.id===l.OBJECT_ID?0:this.isGlobal()?S.__inject__.getMoveSpeed(this.id):S.__inject__.getMoveSpeedPlayer(this.getPlayerId(),this.id)}getMovingTargetPos(){return this.isGlobal()?S.__inject__.getMovingTargetPos(this.id):S.__inject__.getMovingTargetPosPlayer(this.getPlayerId(),this.id)}getSyncRotation(){return this.isGlobal()?S.__inject__.getSyncRotation(this.id):S.__inject__.getSyncRotationPlayer(this.getPlayerId(),this.id)}getAttachedOffset(){return this.isGlobal()?S.__inject__.getAttachedOffset(this.id):S.__inject__.getAttachedOffsetPlayer(this.getPlayerId(),this.id)}getTarget(){return this.isGlobal()?S.__inject__.getTarget(this.id):S.__inject__.getTargetPlayer(this.getPlayerId(),this.id)}static isValid(t,i){return i===l.PLAYER_ID?!1:typeof i>"u"?S.__inject__.isValid(t):S.__inject__.isValidPlayer(i,t)}static getInstance(t,i){if(!i)return Ae.get(t);if(i.id!==l.PLAYER_ID)return W.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...W.get(t)?.values()||[]]:[...Ae.values()]}static getPlayersInstances(){return Array.from(W.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:ZP,createPlayer:Mp,destroy:lp,destroyPlayer:Xp,setMaterialText:Li,setMaterialTextPlayer:wi,setNoCameraCollision:rp,setNoCameraCollisionPlayer:Wp,isNoCameraCol:np,isNoCameraColPlayer:Gp,getDrawDistance:VP,getDrawDistancePlayer:Np,setMoveSpeed:kP,setMoveSpeedPlayer:Dp,getMoveSpeed:BP,getMoveSpeedPlayer:Tp,getMovingTargetPos:xP,getMovingTargetPosPlayer:bp,getSyncRotation:WP,getSyncRotationPlayer:wp,getAttachedOffset:UP,getAttachedOffsetPlayer:Lp,getTarget:HP,getTargetPlayer:vp,isValid:sp,isValidPlayer:Kp,getModel:ap,getModelPlayer:Up,getPos:ep,getPosPlayer:kp,getRot:ip,getRotPlayer:Hp,setPos:qP,setPosPlayer:Bp,setRot:tp,setRotPlayer:xp,move:op,movePlayer:Zp,setMaterial:gp,setMaterialPlayer:$p,stop:_p,stopPlayer:Yp,isMoving:cp,isMovingPlayer:zp,attachCamera:Pc,attachCameraPlayer:pc,attachToObject:JP,attachToPlayer:$P,attachToVehicle:YP,attachPlayerToObject:zP,attachPlayerToPlayer:Jp,attachPlayerToVehicle:Vp,beginEditing:dp,beginEditingPlayer:Fp,endEditing:Ni,getMaterial:XP,getMaterialPlayer:Op,isMaterialSlotUsed:KP,isMaterialSlotUsedPlayer:Rp,getMaterialText:LI,getMaterialTextPlayer:wI}}const[Fi]=m({name:"OnClientCheckResponse",identifier:"iiii",beforeEach(e,t,i,a){return{player:c.getInstance(e),actionId:t,memAddr:i,data:a}}}),[mS,fS]=m({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,i){return{player:e,newLocale:t,oldLocale:i}}}),[PS,pS]=m({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,i){return{player:e,newCharset:t,oldCharset:i}}});class c{constructor(t){if(this.id=t,t<0||t>=H.MAX_PLAYERS)throw new Error(`Invalid player ID: ${t} (valid range: 0-${H.MAX_PLAYERS-1})`);const i=c.getInstance(t);if(i)return i;oe.set(t,this)}static MAX_CHECK_ANDROID_DELAY=10;static SKIP_CHECK_ANDROID=!1;_charset="ISO-8859-1";_locale="en_US";[B]={isAndroid:!0,lastDrunkLevel:0,lastFps:0,lastUpdateTick:0,lastUpdateFpsTick:0,isPaused:!1,isRecording:!1};get lastDrunkLevel(){return this[B].lastDrunkLevel}get lastFps(){return this[B].lastFps}get lastUpdateTick(){return this[B].lastUpdateTick}get lastUpdateFpsTick(){return this[B].lastUpdateFpsTick}get isPaused(){return this[B].isPaused}get isRecording(){return this[B].isRecording}get charset(){return this._charset}set charset(t){const i=this._charset;this._charset=t,pS(this,t,i)}get locale(){return this._locale}set locale(t){const i=this._locale;this._locale=t,fS(this,t,i)}sendClientMessage(t,i){return c.__inject__.sendClientMessage(this,t,i)}static sendClientMessageToAll(t,i){c.__inject__.sendClientMessageToAll(c.getInstances(),t,i)}sendMessageToPlayer(t,i){return c.__inject__.sendMessageToPlayer(t,this.id,i)}sendMessageToAll(t){return c.__inject__.sendMessageToAll(c.getInstances(),this.id,t)}isNpc(){return c.__inject__.isNpc(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return c.__inject__.getDrunkLevel(this.id)}setDrunkLevel(t){if(t<0||t>5e4)throw new Error("[Player]: player's drunk level ranges from 0 to 50000");return c.__inject__.setDrunkLevel(this.id,t)}allowTeleport(t){return c.__inject__.allowTeleport(this.id,t)}isTeleportAllowed(){return c.__inject__.isTeleportAllowed(this.id)}enableCameraTarget(t){return c.__inject__.enableCameraTarget(this.id,t)}enableStuntBonus(t){return c.__inject__.enableStuntBonus(this.id,t)}getInterior(){return c.__inject__.getInterior(this.id)}setInterior(t){return c.__inject__.setInterior(this.id,t)}showNameTag(t,i){return c.__inject__.showNameTag(this.id,t.id,i)}setColor(t){return c.__inject__.setColor(this.id,t)}getColor(){return c.__inject__.getColor(this.id)}setMapIcon(t,i,a,r,n,s,o){return c.__inject__.setMapIcon(this.id,t,i,a,r,n,s,o)}removeMapIcon(t){return c.__inject__.removeMapIcon(this.id,t)}setMarker(t,i){c.__inject__.setMarker(this.id,t.id,i)}getMarker(t){return c.__inject__.getMarker(this.id,t.id)}resetMoney(){return c.__inject__.resetMoney(this.id)}getMoney(){return c.__inject__.getMoney(this.id)}giveMoney(t){return c.__inject__.giveMoney(this.id,t)}resetWeapons(){return c.__inject__.resetWeapons(this.id)}spawn(){return c.__inject__.spawn(this.id)}setHealth(t){return c.__inject__.setHealth(this.id,t)}getHealth(){return c.__inject__.getHealth(this.id)}toggleClock(t){return c.__inject__.toggleClock(this.id,t)}toggleControllable(t){return c.__inject__.toggleControllable(this.id,t)}toggleSpectating(t){return c.__inject__.toggleSpectating(this.id,t)}spectatePlayer(t,i=rt.NORMAL){return c.__inject__.spectatePlayer(this.id,t.id,i)}spectateVehicle(t,i=rt.NORMAL){return c.__inject__.spectateVehicle(this.id,t.id,i)}forceClassSelection(){return c.__inject__.forceClassSelection(this.id)}kick(){return c.__inject__.kick(this.id)}ban(){return c.__inject__.ban(this.id)}banEx(t,i){return c.__inject__.banEx(this.id,t,i)}isAdmin(){return c.__inject__.isAdmin(this.id)}isInRangeOfPoint(t,i,a,r){return c.__inject__.isInRangeOfPoint(this.id,t,i,a,r)}isStreamedIn(t){return c.__inject__.isStreamedIn(this.id,t.id)}setSkin(t,i=!1){return!i&&(t<0||t>311||t===74)||this.getHealth().health<=0||this.isInAnyVehicle()||this.getSpecialAction()===gt.DUCK?!1:c.__inject__.setSkin(this.id,t)}getSkin(){return c.__inject__.getSkin(this.id)}isInAnyVehicle(){return c.__inject__.isInAnyVehicle(this.id)}getSpecialAction(){return c.__inject__.getSpecialAction(this.id)}setSpecialAction(t){return c.__inject__.setSpecialAction(this.id,t)}setScore(t){return c.__inject__.setScore(this.id,t)}getScore(){return c.__inject__.getScore(this.id)}getPing(){return c.__inject__.getPing(this.id)||0}setPos(t,i,a){return c.__inject__.setPos(this.id,t,i,a)}getPos(){return c.__inject__.getPos(this.id)}isSpectating(){return this.getState()===Je.SPECTATING}isWasted(){return this.getState()===Je.WASTED}getState(){return c.__inject__.getState(this.id)}getVersion(){return c.__inject__.getVersion(this.id)}setVirtualWorld(t){return c.__inject__.setVirtualWorld(this.id,t)}getVirtualWorld(){return c.__inject__.getVirtualWorld(this.id)}removeFromVehicle(){return c.__inject__.removeFromVehicle(this.id)}setWantedLevel(t){if(t<0||t>6)throw new Error("[Player]: player's wanted level ranges from 0 to 6");return c.__inject__.setWantedLevel(this.id,t)}getWantedLevel(){return c.__inject__.getWantedLevel(this.id)}setFacingAngle(t){return c.__inject__.setFacingAngle(this.id,t)}getFacingAngle(){return c.__inject__.getFacingAngle(this.id)}setWeather(t){if(t<0||t>255)throw new Error("[Player]: The valid weather value is only 0 to 255");return c.__inject__.setWeather(this.id,t)}getWeather(){return c.__inject__.getWeather(this.id)}setTime(t,i){if(t<0||t>23)throw new Error("[Player]: The valid hour value is only 0 to 23");if(i<0||i>59)throw new Error("[Player]: The valid minute value is only 0 to 59");return c.__inject__.setTime(this.id,t,i)}getTime(){return c.__inject__.getTime(this.id)}removeBuilding(t,i,a,r,n){return c.__inject__.removeBuilding(this.id,t,i,a,r,n)}setTeam(t){t<0||t>l.NO_TEAM||c.__inject__.setTeam(this.id,t)}getTeam(){return c.__inject__.getTeam(this.id)}setSkillLevel(t,i){if(i<0||i>999)throw new Error("[Player]: The valid skill level is only 0 to 999");return c.__inject__.setSkillLevel(this.id,t,i)}getName(){return c.__inject__.getName(this)}setName(t){return c.__inject__.setName(this,t)}setVelocity(t,i,a){return c.__inject__.setVelocity(this.id,t,i,a)}getVelocity(){return c.__inject__.getVelocity(this.id)}getSpeed(t=180){if(this.id===-1)return 0;const{x:i,y:a,z:r}=this.getVelocity();return It(i,a,r)*t}getKeys(){return c.__inject__.getKeys(this.id)}getIp(){return c.__inject__.getIp(this.id)}getFightingStyle(){return c.__inject__.getFightingStyle(this.id)}setFightingStyle(t){return c.__inject__.setFightingStyle(this.id,t)}setArmour(t){return c.__inject__.setArmour(this.id,t)}getArmour(){return c.__inject__.getArmour(this.id)}setCameraBehind(){return c.__inject__.setCameraBehind(this.id)}setCameraPos(t,i,a){return c.__inject__.setCameraPos(this.id,t,i,a)}setCameraLookAt(t,i,a,r=ze.CUT){return c.__inject__.setCameraLookAt(this.id,t,i,a,r)}getCameraAspectRatio(){return c.__inject__.getCameraAspectRatio(this.id)}getCameraFrontVector(){return c.__inject__.getCameraFrontVector(this.id)}getCameraMode(){return c.__inject__.getCameraMode(this.id)}getCameraPos(){return c.__inject__.getCameraPos(this.id)}getCameraTargetPlayer(){const t=c.__inject__.getCameraTargetPlayer(this.id);return c.getInstance(t)}getCameraTargetVehicle(){const t=c.__inject__.getCameraTargetVehicle(this.id);return me.get(t)}getCameraTargetActor(){const t=c.__inject__.getCameraTargetActor(this.id);return Ve.get(t)}getCameraTargetObject(){const t=c.__inject__.getCameraTargetObject(this.id);return Ae.get(t)}getCameraTargetPlayerObject(){const t=c.__inject__.getCameraTargetPlayerObject(this.id);return W.get(this)?.get(t)}getCameraZoom(){return c.__inject__.getCameraZoom(this.id)}playAudioStream(t,i=0,a=0,r=0,n=5){let s=!1;return(i!==0||a!==0||r!==0)&&(s=!0),c.__inject__.playAudioStream(this.id,t,i,a,r,n,s)}stopAudioStream(){return c.__inject__.stopAudioStream(this.id)}playSound(t,i=0,a=0,r=0){return c.__inject__.playSound(this.id,t,i,a,r)}static getMaxPlayers(){return c.__inject__.getMaxPlayers()}playCrimeReport(t,i){if(i<3||i>22)throw new Error("[Player]: Available crime ids range from 3 to 22");return c.__inject__.playCrimeReport(this.id,t.id,i)}interpolateCameraPos(t,i,a,r,n,s,o,_=ze.CUT){return c.__inject__.interpolateCameraPos(this.id,t,i,a,r,n,s,o,_)}interpolateCameraLookAt(t,i,a,r,n,s,o,_=ze.CUT){return c.__inject__.interpolateCameraLookAt(this.id,t,i,a,r,n,s,o,_)}createExplosion(t,i,a,r,n){if(r<0||r>13)throw new Error("[Player]: The valid explosion type value is only 0 to 13");return c.__inject__.createExplosion(this.id,t,i,a,r,n)}static isConnected(t){return c.__inject__.isConnected(t)}isConnected(){return c.isConnected(this.id)}disableRemoteVehicleCollisions(t){return c.__inject__.disableRemoteVehicleCollisions(this.id,t)}getVehicle(){if(!this.isInAnyVehicle())return;const t=c.__inject__.getVehicleID(this.id);return p.getInstance(t)}getVehicleSeat(){return c.__inject__.getVehicleSeat(this.id)}getSurfingVehicle(){const t=c.__inject__.getSurfingVehicleID(this.id);return p.getInstance(t)}applyAnimation(t,i,a=4.1,r=!1,n=!0,s=!0,o=!1,_=0,d=!1){if(!yt(t,i))throw new Error(`[Player]: Invalid anim library or name ${t} ${i}`);return c.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_,+d)}clearAnimations(t=!1){return c.__inject__.clearAnimations(this.id,t)}getAnimationIndex(){return c.__inject__.getAnimationIndex(this.id)}getAnimationName(){return x.getAnimationName(this.getAnimationIndex())}setShopName(t){return c.__inject__.setShopName(this.id,t)}setPosFindZ(t,i,a){return c.__inject__.setPosFindZ(this.id,t,i,a)}setWorldBounds(t,i,a,r){return c.__inject__.setWorldBounds(this.id,t,i,a,r)}clearWorldBounds(){return c.__inject__.clearWorldBounds(this.id)}setChatBubble(t,i,a,r,n=this.charset){return c.__inject__.setChatBubble(this.id,t,i,a,r,n)}getDistanceFromPoint(t,i,a){return c.__inject__.getDistanceFromPoint(this.id,t,i,a)}getCustomSkin(){return c.__inject__.getCustomSkin(this.id)}getTargetPlayer(){const t=c.__inject__.getTargetPlayer(this.id);return c.getInstance(t)}getLastShotVectors(){return c.__inject__.getLastShotVectors(this.id)}getWeapon(){return c.__inject__.getWeapon(this.id)}getWeaponData(t){return c.__inject__.getWeaponData(this.id,t)}getWeaponState(){return c.__inject__.getWeaponState(this.id)}giveWeapon(t,i){return c.__inject__.giveWeapon(this.id,t,i)}setAmmo(t,i){return c.__inject__.setAmmo(this.id,t,i)}getAmmo(){return c.__inject__.getAmmo(this.id)}setArmedWeapon(t){return c.__inject__.setArmedWeapon(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(l.PLAYER_ID,l.PLAYER_ID,mt.CONNECT)}sendDeathMessage(t,i){return c.__inject__.sendDeathMessage(t===l.PLAYER_ID?t:t.id,this.id,i)}sendDeathMessageToPlayer(t,i,a){return c.__inject__.sendDeathMessageToPlayer(this.id,t===l.PLAYER_ID?t:t.id,i===l.PLAYER_ID?i:i.id,a)}setSpawnInfo(t,i,a,r,n,s,o,_,d,h,u,I){return t<0||t>l.NO_TEAM||i<0||i>311||i===74||_<0||h<0||I<0?!1:c.__inject__.setSpawnInfo(this.id,t,i,a,r,n,s,o,_,d,h,u,I)}redirectDownload(t){return c.__inject__.redirectDownload(this.id,t)}sendClientCheck(t,i,a,r){const n=[2,5,69,70,71,72];if(!n.includes(t))throw new Error(`[Player]: sendClientCheck valid types are ${n.toString()}`);return new Promise((s,o)=>{if(this.isPaused)return o("[Player]: An attempt to check player client response, but player paused game");const _="[Player]: An attempt to check player client response timed out",d=this.getPing(),h=(d>=200?0:d)+200;let u=null;const I=Fi(({player:C,actionId:y,memAddr:L,data:j,next:J})=>(C!==this||(u&&(clearTimeout(u),u=null),s({actionId:y,memAddr:L,data:j})),J()));u=setTimeout(()=>{I(),o(_)},h),c.__inject__.sendClientCheck(this.id,t,i,a,r)})}selectTextDraw(t){c.__inject__.selectTextDraw(this.id,t)}cancelSelectTextDraw(){c.__inject__.cancelSelectTextDraw(this.id)}beginObjectSelecting(){return c.__inject__.beginObjectSelecting(this.id)}endObjectEditing(){return c.__inject__.endObjectEditing(this.id)}getSurfingObject(){const t=c.__inject__.getSurfingObjectID(this.id);if(t!==l.OBJECT_ID)return S.getInstance(t)}getSurfingPlayerObject(){const t=c.__inject__.getSurfingPlayerObjectID(this.id);if(t!==l.OBJECT_ID)return S.getInstance(t,this)}isAttachedObjectSlotUsed(t){return c.__inject__.isAttachedObjectSlotUsed(this.id,t)}editAttachedObject(t){return c.__inject__.editAttachedObject(this.id,t)}setAttachedObject(t,i,a,r=0,n=0,s=0,o=0,_=0,d=0,h=1,u=1,I=1,C=0,y=0){return this.isAttachedObjectSlotUsed(t)?0:c.__inject__.setAttachedObject(this.id,t,i,a,r,n,s,o,_,d,h,u,I,C,y)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?c.__inject__.removeAttachedObject(this.id,t):!1}getAnimationFlags(){return samp.callNative("GetPlayerAnimationFlags","i",this.id)}getLastSyncedTrailerID(){return samp.callNative("GetPlayerLastSyncedTrailerID","i",this.id)}getLastSyncedVehicleID(){return samp.callNative("GetPlayerLastSyncedVehicleID","i",this.id)}toggleWidescreen(t){return c.__inject__.toggleWidescreen(this.id,t)}isWidescreenToggled(){return c.__inject__.isWidescreenToggled(this.id)}getSpawnInfo(){return c.__inject__.getSpawnInfo(this.id)}getSkillLevel(t){return c.__inject__.getSkillLevel(this.id,t)}isCheckpointActive(){return c.__inject__.isCheckpointActive(this.id)}getCheckpoint(){return c.__inject__.getCheckpoint(this.id)}isRaceCheckpointActive(){return c.__inject__.isRaceCheckpointActive(this.id)}getRaceCheckpoint(){return c.__inject__.getRaceCheckpoint(this.id)}getWorldBounds(){return c.__inject__.getWorldBounds(this.id)}isInModShop(){return c.__inject__.isInModShop(this.id)}getSirenState(){return c.__inject__.getSirenState(this.id)}getLandingGearState(){return c.__inject__.getLandingGearState(this.id)}getHydraReactorAngle(){return c.__inject__.getHydraReactorAngle(this.id)}getTrainSpeed(){return c.__inject__.getTrainSpeed(this.id)}getZAim(){return c.__inject__.getZAim(this.id)}getSurfingOffsets(){return c.__inject__.getSurfingOffsets(this.id)}getRotationQuat(){return c.__inject__.getRotationQuat(this.id)}getDialogID(){return c.__inject__.getDialogID(this.id)}getSpectateID(){return c.__inject__.getSpectateID(this.id)}getSpectateType(){return c.__inject__.getSpectateType(this.id)}getRawIp(){return c.__inject__.getRawIp(this.id)}setGravity(t){return c.__inject__.setGravity(this.id,t)}getGravity(){return c.__inject__.getGravity(this.id)}setAdmin(t){return c.__inject__.setAdmin(this.id,t)}isSpawned(){return c.__inject__.isSpawned(this.id)}isControllable(){return c.__inject__.isControllable(this.id)}isCameraTargetEnabled(){return c.__inject__.isCameraTargetEnabled(this.id)}toggleGhostMode(t){return c.__inject__.toggleGhostMode(this.id,t)}getGhostMode(){return c.__inject__.getGhostMode(this.id)}getBuildingsRemoved(){return c.__inject__.getBuildingsRemoved(this.id)}getAttachedObject(t){return c.__inject__.getAttachedObject(this.id,t)}removeWeapon(t){return c.__inject__.removeWeapon(this.id,t)}isUsingOfficialClient(){return c.__inject__.isUsingOfficialClient(this.id)}allowWeapons(t){return c.__inject__.allowWeapons(this.id,t)}areWeaponsAllowed(){return c.__inject__.areWeaponsAllowed(this.id)}gpci(t=this.charset){return c.__inject__.gpci(this.id,t)}isCuffed(){return c.__inject__.isCuffed(this.id)}isInDriveByMode(){return c.__inject__.isInDriveByMode(this.id)}isAndroid(){return this.isConnected()&&this[B].isAndroid}isPC(){return this.isConnected()&&!this[B].isAndroid}isUsingOmp(){return c.__inject__.isUsingOmp(this.id)}simulateCommand(t){return te.simulate(this,t)}static getInstance(t){return oe.get(t)}static getInstances(){return[...oe.values()]}static __inject__={sendClientMessage:vi,sendClientMessageToAll:mI,sendMessageToPlayer:bi,sendMessageToAll:fI,banEx:SI,getName:pI,setName:II,setChatBubble:bI,isNpc:Io,getDrunkLevel:Ho,setDrunkLevel:Uo,allowTeleport:co,isTeleportAllowed:ho,enableCameraTarget:cc,enableStuntBonus:k_,getInterior:bo,setInterior:vo,showNameTag:tc,setColor:Wo,getColor:Ko,setMapIcon:ic,removeMapIcon:ac,setMarker:q_,getMarker:ec,resetMoney:qo,getMoney:e_,giveMoney:Qo,resetWeapons:zo,spawn:fl,setHealth:Lo,getHealth:wo,toggleClock:l_,toggleControllable:L_,toggleSpectating:K_,spectatePlayer:X_,spectateVehicle:Z_,forceClassSelection:__,kick:bl,ban:Ll,isAdmin:Tl,isInRangeOfPoint:No,isStreamedIn:To,setSkin:Xo,getSkin:Zo,isInAnyVehicle:J_,getSpecialAction:j_,setSpecialAction:F_,setScore:ko,getScore:xo,getPing:i_,setPos:So,getPos:Co,getState:t_,getVersion:xl,setVirtualWorld:V_,getVirtualWorld:B_,removeFromVehicle:b_,setWantedLevel:c_,getWantedLevel:d_,setFacingAngle:Ao,getFacingAngle:Eo,setWeather:o_,getWeather:Kl,setTime:n_,getTime:s_,removeBuilding:E_,setTeam:Vo,getTeam:Bo,setSkillLevel:S_,setVelocity:u_,getVelocity:m_,getKeys:r_,getIp:kl,getFightingStyle:g_,setFightingStyle:h_,setArmour:Ro,getArmour:Oo,setCameraBehind:sc,setCameraPos:rc,setCameraLookAt:nc,getCameraAspectRatio:mc,getCameraFrontVector:oc,getCameraMode:_c,getCameraPos:lc,getCameraTargetPlayer:gc,getCameraTargetVehicle:hc,getCameraTargetActor:uc,getCameraTargetObject:dc,getCameraTargetPlayerObject:jp,getCameraZoom:fc,playAudioStream:P_,stopAudioStream:p_,playSound:w_,getMaxPlayers:Vs,playCrimeReport:f_,interpolateCameraPos:Ic,interpolateCameraLookAt:Sc,createExplosion:H_,isConnected:Y_,disableRemoteVehicleCollisions:M_,getVehicleID:T_,getVehicleSeat:v_,getSurfingVehicleID:y_,applyAnimation:R_,clearAnimations:O_,getAnimationIndex:G_,setShopName:I_,setPosFindZ:yo,setWorldBounds:$_,clearWorldBounds:Q_,getDistanceFromPoint:Do,getCustomSkin:x_,getTargetPlayer:Mo,getLastShotVectors:N_,getWeapon:a_,getWeaponData:$o,getWeaponState:Fo,giveWeapon:Yo,setAmmo:Go,getAmmo:jo,setArmedWeapon:Jo,sendDeathMessage:Ms,sendDeathMessageToPlayer:Po,setSpawnInfo:ml,redirectDownload:Pp,sendClientCheck:Fl,selectTextDraw:Jf,cancelSelectTextDraw:$f,beginObjectSelecting:hp,endObjectEditing:Ni,getSurfingObjectID:C_,getSurfingPlayerObjectID:A_,isAttachedObjectSlotUsed:Ap,editAttachedObject:QP,setAttachedObject:yp,removeAttachedObject:Cp,toggleWidescreen:Hl,isWidescreenToggled:Ul,getSpawnInfo:Pl,getSkillLevel:Wl,isCheckpointActive:Si,getCheckpoint:yi,isRaceCheckpointActive:Ci,getRaceCheckpoint:Ai,getWorldBounds:Xl,isInModShop:Ru,getSirenState:Ou,getLandingGearState:Gu,getHydraReactorAngle:ju,getTrainSpeed:Fu,getZAim:Zl,getSurfingOffsets:Yl,getRotationQuat:zl,getDialogID:Jl,getSpectateID:$l,getSpectateType:Ql,getRawIp:Bl,setGravity:ql,getGravity:eo,setAdmin:vl,isSpawned:to,isControllable:io,isCameraTargetEnabled:ao,toggleGhostMode:ro,getGhostMode:no,getBuildingsRemoved:so,getAttachedObject:Sp,removeWeapon:lo,isUsingOfficialClient:_o,allowWeapons:go,areWeaponsAllowed:uo,gpci:jl,isCuffed:yc,isInDriveByMode:Cc,isUsingOmp:Ac}}const[Mi]=m({name:"OnDialogResponseI18n",identifier:"iiiiai",defaultValue:!1,beforeEach(e,t,i,a,r){const n=c.getInstance(e),s=A.decodeFromBuf(r,n.charset);return{player:n,dialogId:t,response:i,listItem:a,buffer:r,inputText:s}}});Mi(({next:e,player:t,dialogId:i,response:a,listItem:r,buffer:n,inputText:s})=>{const o=U.waitingQueue.get(t);return!o||o.showId!==i||o.resolve({response:a,listItem:r,buffer:n,inputText:s}),e()});class U{_id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new WeakMap;constructor(t={style:dt.MSGBOX,caption:"",info:"",button1:"",button2:""}){this.dialog=t}get style(){return this.dialog.style}set style(t){this.dialog.style=t}get caption(){return this.dialog.caption}set caption(t){this.dialog.caption=t}get info(){return this.dialog.info}set info(t){this.dialog.info=t}get button1(){return this.dialog.button1}set button1(t){this.dialog.button1=t}get button2(){return this.dialog.button2}set button2(t){this.dialog.button2=t}static delDialogTask(t,i=!1){const a=U.waitingQueue.get(t);if(!a)return!1;i&&a.reject("[Dialog]: player timeout does not respond or second request show dialog"),U.waitingQueue.delete(t);const r=U.showingIds.indexOf(a.showId);return r>-1&&U.showingIds.splice(r,1),!0}show(t){return new Promise((i,a)=>{for(U.close(t);this._id===-1||U.showingIds.includes(this._id);){if(U.showingIds.length>=U.maxDialogId){this._id=-1;break}this._id=Math.floor(Math.random()*(U.maxDialogId+1))}if(this._id===-1){a("[Dialog]: Unable to create dialog");return}U.showingIds.push(this._id),U.waitingQueue.set(t,{resolve:i,reject:a,showId:this._id}),U.__inject__.show(t,this._id,this.dialog)}).catch(i=>Promise.reject(i)).finally(()=>U.delDialogTask(t))}static close(t){U.delDialogTask(t,!0),U.__inject__.hide(t.id)}static __inject__={show:PI,hide:oo}}const[Vi]=m({name:"OnPlayerConnect",identifier:"i",beforeEach(e){const t=new c(e);return oe.set(e,t),U.close(t),{player:t}}}),[Bi]=m({name:"OnPlayerDisconnect",identifier:"ii",beforeEach(e,t){return{player:oe.get(e),reason:t}},afterEach({player:e}){oe.delete(e.id)}}),[ki]=m({name:"OnPlayerUpdate",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[IS]=m({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const i=c.getInstance(e);return{player:i,text:A.decodeFromBuf(t,i.charset),buffer:t}}}),[SS]=m({name:"OnPlayerEnterExitModShop",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),enterExit:t,interior:i}}}),[yS]=m({name:"OnPlayerClickMap",identifier:"ifff",defaultValue:!1,beforeEach(e,t,i,a){return{player:c.getInstance(e),fX:t,fY:i,fZ:a}}}),[CS]=m({name:"OnPlayerClickPlayer",identifier:"iii",defaultValue:!1,beforeEach(e,t,i){return{player:c.getInstance(e),clickedPlayer:c.getInstance(t),source:i}}}),[AS]=m({name:"OnPlayerDeath",identifier:"iii",beforeEach(e,t,i){const a=c.getInstance(t)||l.PLAYER_ID;return{player:c.getInstance(e),killer:a,reason:i}}}),[ES]=m({name:"OnPlayerGiveDamage",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),damage:c.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),[NS]=m({name:"OnPlayerKeyStateChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newKeys:t,oldKeys:i}}}),[DS]=m({name:"OnPlayerRequestClass",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),classId:t}}}),[TS]=m({name:"OnPlayerRequestSpawn",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[vS]=m({name:"OnPlayerSpawn",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[bS]=m({name:"OnPlayerStateChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newState:t,oldState:i}}}),[LS]=m({name:"OnPlayerStreamIn",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),forPlayer:c.getInstance(t)}}}),[wS]=m({name:"OnPlayerStreamOut",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),forPlayer:c.getInstance(t)}}}),[RS]=m({name:"OnPlayerTakeDamage",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,r){const n=c.getInstance(t)||l.PLAYER_ID;return{player:c.getInstance(e),damage:n,amount:i,weapon:a,bodyPart:r}}}),[OS]=m({name:"OnPlayerInteriorChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newInteriorId:t,oldInteriorId:i}}}),[GS]=m({name:"OnPlayerRequestDownload",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),type:t,crc:i}}}),[jS]=m({name:"OnPlayerFinishedDownloading",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),virtualWorld:t}}}),[FS]=m({name:"OnPlayerWeaponShot",identifier:"iiiifff",beforeEach(e,t,i,a,r,n,s){return{player:c.getInstance(e),weapon:t,hitType:i,hitId:a,fX:r,fY:n,fZ:s}}});let tt=null;const q=new Map,He=new Map;function xi(e){if(!e.isConnected()){q.has(e)&&(clearInterval(q.get(e)),q.delete(e),He.delete(e));return}let t=He.get(e)||1;if(t>=c.MAX_CHECK_ANDROID_DELAY){clearInterval(q.get(e)),q.delete(e),He.delete(e),Nt(e,!0);return}e.sendClientCheck(72,0,0,2).then(({actionId:i})=>{i===72&&(e[B].isAndroid=!1,q.has(e)&&(clearInterval(q.get(e)),q.delete(e),He.delete(e)),Nt(e,!1))}).catch(()=>{}),t++,He.set(e,t)}const[MS,VS]=m({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[BS,kS]=m({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,i,a){return{player:e,pausedAt:t,now:i,diff:a}}}),[xS,HS]=m({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,i){return{player:e,newFps:t,oldFps:i}}}),[US,Nt]=m({name:"OnAndroidCheck",isNative:!1,beforeEach(e,t){return{player:e,result:t}}});Vi(({player:e,next:t})=>{if(!tt&&c.getInstances().length&&(tt=setInterval(()=>{c.getInstances().filter(a=>{const r=a.getState()!==Je.NONE;return!a.isPaused&&!a.isNpc()&&r}).forEach(a=>{Date.now()-a.lastUpdateTick>1e3&&(a[B].isPaused=!0,VS(a,a.lastUpdateTick))})},500)),e.isNpc())return e[B].isAndroid=!1,t();if(c.SKIP_CHECK_ANDROID)return e[B].isAndroid=!e.isUsingOfficialClient(),Nt(e,e[B].isAndroid),t();xi(e);const i=setInterval(()=>xi(e),1e3);return q.set(e,i),t()}),Bi(({player:e,next:t})=>(tt&&c.getInstances().length<=1&&(clearInterval(tt),tt=null),q.has(e)&&(clearInterval(q.get(e)),q.delete(e),He.delete(e)),t()));function WS(e){if(!c.isConnected(e.id))return;const t=Date.now();if(t-e.lastUpdateFpsTick>=1e3){const i=e.getDrunkLevel();if(i<100){e.setDrunkLevel(2e3),e[B].lastDrunkLevel=2e3,e[B].lastFps=0;return}e[B].lastUpdateFpsTick=t;const a=e.lastFps,r=e.lastDrunkLevel-i-1;e[B].lastFps=r,e[B].lastDrunkLevel=i,HS(e,r,a)}}ki(({player:e,next:t})=>{if(!e.isNpc()){const i=Date.now();e.isPaused&&(e[B].isPaused=!1,kS(e,e.lastUpdateTick,i,i-e.lastUpdateTick)),e[B].lastUpdateTick=i,WS(e)}return t()});const Ue=Object.freeze({onConnect:Vi,onDisconnect:Bi,onPause:MS,onResume:BS,onUpdate:ki,onText:IS,onEnterExitModShop:SS,onClickMap:yS,onClickPlayer:CS,onDeath:AS,onGiveDamage:ES,onKeyStateChange:NS,onRequestClass:DS,onRequestSpawn:TS,onSpawn:vS,onStateChange:bS,onStreamIn:LS,onStreamOut:wS,onTakeDamage:RS,onInteriorChange:OS,onRequestDownload:GS,onFinishedDownloading:jS,onCheckResponse:Fi,onCommandReceived:rS,onCommandPerformed:sS,onCommandError:oS,onCommandText:te.on,offCommandText:te.off,onDialogResponse:Mi,onLocaleChange:mS,onCharsetChange:PS,onFpsUpdate:xS,onWeaponShot:FS,onAndroidCheck:US,onCommandTextRaw:dS});x.onExit(({next:e})=>(p.getInstances().forEach(t=>t.destroy()),me.clear(),e()));const[KS]=m({name:"OnVehicleDamageStatusUpdate",identifier:"ii",defaultValue:!1,beforeEach(e,t){return{vehicle:p.getInstance(e),player:c.getInstance(t)}}}),[XS]=m({name:"OnVehicleDeath",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),killer:c.getInstance(t)}}}),[ZS]=m({name:"OnVehicleMod",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),componentId:i}}}),[YS]=m({name:"OnVehiclePaintjob",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),paintjobId:i}}}),[zS]=m({name:"OnVehicleRespray",identifier:"iiii",beforeEach(e,t,i,a){return{player:c.getInstance(e),vehicle:p.getInstance(t),color:[i,a]}}}),[JS]=m({name:"OnVehicleSirenStateChange",identifier:"iii",defaultValue:!1,beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),state:!!i}}}),[$S]=m({name:"OnVehicleSpawn",identifier:"i",beforeEach(e){return{vehicle:p.getInstance(e)}}}),[QS]=m({name:"OnVehicleStreamIn",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),forPlayer:c.getInstance(t)}}}),[qS]=m({name:"OnVehicleStreamOut",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),forPlayer:c.getInstance(t)}}}),[ey]=m({name:"OnPlayerEnterVehicle",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),isPassenger:!!i}}}),[ty]=m({name:"OnPlayerExitVehicle",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),vehicle:p.getInstance(t)}}}),[iy]=m({name:"OnTrailerUpdate",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),vehicle:p.getInstance(t)}}}),[ay]=m({name:"OnUnoccupiedVehicleUpdate",identifier:"iiiffffff",beforeEach(e,t,i,a,r,n,s,o,_){return{vehicle:p.getInstance(e),player:c.getInstance(t),passengerSeat:i,newX:a,newY:r,newZ:n,velX:s,velY:o,velZ:_}}}),ry=Object.freeze({onDamageStatusUpdate:KS,onDeath:XS,onMod:ZS,onPaintjob:YS,onRespray:zS,onSirenStateChange:JS,onSpawn:$S,onStreamIn:QS,onStreamOut:qS,onPlayerEnter:ey,onPlayerExit:ty,onTrailerUpdate:iy,onUnoccupiedUpdate:ay}),[Te]=m({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:c.getInstance(i)}}}),[ve]=m({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:c.getInstance(i)}}}),[ny]=m({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class E{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getTickRate=In;static setTickRate=Sn;static getPlayerTickRate(t){return yn(t.id)}static setPlayerTickRate(t,i=50){return Cn(t.id,i)}static toggleChunkStream=An;static isToggleChunkStream=En;static getChunkTickRate(t,i=-1){return i instanceof c?li(t,i.id):li(t,i)}static setChunkTickRate(t,i,a=-1){return a instanceof c?oi(t,i,a.id):oi(t,i,a)}static getChunkSize=Nn;static setChunkSize=Dn;static getMaxItems=Tn;static setMaxItems=vn;static getVisibleItems(t,i=-1){return i instanceof c?_i(t,i.id):_i(t,i)}static setVisibleItems(t,i,a=-1){return a instanceof c?ci(t,i,a.id):ci(t,i,a)}static getRadiusMultiplier(t,i=-1){return i instanceof c?di(t,i.id):di(t,i)}static setRadiusMultiplier(t,i,a=-1){return a instanceof c?hi(t,i,a.id):hi(t,i,a)}static getTypePriority=bn;static setTypePriority=Ln;static getCellDistance=wn;static setCellDistance=Rn;static getCellSize=On;static setCellSize=Gn;static toggleItemStatic=jn;static isToggleItemStatic=Fn;static toggleItemInvAreas=Mn;static isToggleItemInvAreas=Vn;static toggleItemCallbacks=Bn;static isToggleItemCallbacks=kn;static toggleErrorCallback=xn;static isToggleErrorCallback=Hn;static amxUnloadDestroyItems=Un;static processActiveItems=Wn;static toggleIdleUpdate(t,i){return Kn(t.id,i)}static isToggleIdleUpdate(t){return Xn(t.id)}static toggleCameraUpdate(t,i){return Zn(t.id,i)}static isToggleCameraUpdate(t){return Yn(t.id)}static toggleItemUpdate(t,i,a){return zn(t.id,i,a)}static isToggleItemUpdate(t,i){return Jn(t.id,i)}static getLastUpdateTime(){return $n()}static update(t,i=-1){return Qn(t.id,i)}static updateEx(t,i,a,r,n,s,o,_,d){return qn(t.id,i,a,r,n,s,o,_,d)}static getDistanceToItem=Ar;static toggleItem(t,i,a,r){return Er(t.id,i,a,r)}static isToggleItem(t,i,a){return Nr(t.id,i,a)}static toggleAllItems(t,i,a,r=[-1]){return Dr(t.id,i,a,r)}static getItemInternalID(t,i,a){return Tr(t.id,i,a)}static getItemStreamerID(t,i,a){return vr(t.id,i,a)}static isItemVisible(t,i,a){return br(t.id,i,a)}static destroyAllVisibleItems(t,i,a=1){return Lr(t.id,i,a)}static countVisibleItems(t,i,a=1){return wr(t.id,i,a)}static destroyAllItems=Rr;static countItems=Or;static getNearbyItems=Gr;static getAllVisibleItems(t,i,a){return jr(t.id,i,a)}static getItemPos=Fr;static setItemPos=Mr;static getItemOffset=Vr;static setItemOffset=Br;static getFloatData=Qa;static setFloatData=qa;static getIntData=er;static setIntData=tr;static getArrayData=ir;static setArrayData=ar;static isInArrayData=rr;static appendArrayData=nr;static removeArrayData=sr;static getArrayDataLength=si;static getUpperBound=lr;static onPluginError=ny}class R{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=R.getInstance(t);if(i)return i;this._id=t,pe.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerObject]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerObject]: Unable to create with only id");let{streamDistance:t,drawDistance:i,worldId:a,interiorId:r,playerId:n,areaId:s,priority:o}=this.sourceInfo;const{modelId:_,x:d,y:h,z:u,rx:I,ry:C,rz:y,extended:L}=this.sourceInfo;return t??=V.OBJECT_SD,i??=V.OBJECT_DD,o??=0,L?(typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=R.__inject__.createEx(_,d,h,u,I,C,y,t,i,a,r,n,s,o)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=R.__inject__.create(_,d,h,u,I,C,y,a,r,n,t,i,s,o)),pe.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerObject]: Unable to destroy object before create");return D.skip||R.__inject__.destroy(this.id),pe.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:R.isValid(this.id)}getModel(){return this.sourceInfo?this.sourceInfo.modelId:E.getIntData(T.OBJECT,this._id,le.MODEL_ID)}getPos(){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot get position before create");return R.__inject__.getPos(this.id)}setPos(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot set position before create");return R.__inject__.setPos(this.id,t,i,a)}getRot(){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot get rotation before create");return R.__inject__.getRot(this.id)}setRot(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot set rotation before create");return R.__inject__.setRot(this.id,t,i,a)}move(t,i,a,r,n=-1e3,s=-1e3,o=-1e3){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot start moving before create");if(r<0)throw new Error("[StreamerObject]: speed must not be less than 0");if(r>120*1e3)throw new Error("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),R.__inject__.move(this.id,t,i,a,r,n,s,o)}stop(){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot stop moving before create");return R.__inject__.stop(this.id)}isMoving(){return this.id===P.INVALID_ID?!1:R.__inject__.isMoving(this.id)}attachCamera(t){if(this.id===P.INVALID_ID||t.id===l.PLAYER_ID)throw new Error("[StreamerObject]: Cannot attachCamera before both are created");return R.__inject__.attachCamera(t.id,this.id)}attachToObject(t,i,a,r,n,s,o,_=!0){if(this.id===P.INVALID_ID||t.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot attachToObject before both are created");return R.__inject__.attachToObject(this.id,t.id,i,a,r,n,s,o,_)}attachToPlayer(t,i,a,r,n,s,o){if(this.id===P.INVALID_ID||t.id===l.PLAYER_ID)throw new Error("[StreamerObject]: Cannot attachToPlayer before both are created");return R.__inject__.attachToPlayer(this.id,t.id,i,a,r,n,s,o)}attachToVehicle(t,i,a,r,n,s,o){if(this.id===P.INVALID_ID||t.id===l.VEHICLE_ID)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return R.__inject__.attachToVehicle(this.id,t.id,i,a,r,n,s,o)}edit(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to edit before create");return t.endObjectEditing(),R.__inject__.edit(t.id,this.id)}isMaterialUsed(t){return this.id===P.INVALID_ID?!1:R.__inject__.isMaterialUsed(this.id,t)}removeMaterial(t){return this.id===P.INVALID_ID||!this.isMaterialUsed(t)?0:R.__inject__.removeMaterial(this.id,t)}getMaterial(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to get material before create");return R.__inject__.getMaterial(this.id,t)}setMaterial(t,i,a,r,n="#000"){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to set material before create");return R.__inject__.setMaterial(this.id,t,i,a,r,N(n))}isMaterialTextUsed(t){return this.id===P.INVALID_ID?!1:R.__inject__.isMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.id===P.INVALID_ID||!this.isMaterialTextUsed(t)?0:R.__inject__.removeMaterialText(this.id,t)}getMaterialText(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to get material text before create");return R.__inject__.getMaterialText(this.id,t,this.sourceInfo?.charset||"utf8")}setMaterialText(t=this.sourceInfo?.charset,i,a,r=st.SIZE_256x128,n="Arial",s=24,o=1,_="#fff",d="#000",h=0){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to set material text before create");return this.sourceInfo&&(this.sourceInfo.charset=t),R.__inject__.setMaterialText(t||"utf8",this.id,i,a,r,n,s,o,N(_),N(d),h)}getPlayerCameraTarget(t){const i=R.__inject__.getPlayerCameraTarget(t.id);if(i!==P.INVALID_ID)return pe.get(i)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to toggle callbacks before create");return E.toggleItemCallbacks(T.OBJECT,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:E.isToggleItemCallbacks(T.OBJECT,this.id)}setNoCameraCollision(){return R.__inject__.setNoCameraCol(this.id)}getNoCameraCollision(){return R.__inject__.getNoCameraCol(this.id)}static isValid=Hr;static togglePlayerUpdate(t,i=!0){return E.toggleItemUpdate(t,T.OBJECT,i)}static hideForPlayer(t,i=-5e4){return E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?E.updateEx(t,a.x,a.y,a.z):E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return pe.get(t)}static getInstances(){return[...pe.values()]}static __inject__={createEx:dr,create:kr,destroy:xr,getPos:Ur,setPos:Wr,getRot:Kr,setRot:Xr,move:Zr,stop:Yr,isMoving:zr,attachCamera:Jr,attachToObject:$r,attachToPlayer:Qr,attachToVehicle:qr,edit:en,isMaterialUsed:tn,removeMaterial:an,getMaterial:TI,setMaterial:rn,isMaterialTextUsed:nn,removeMaterialText:sn,getMaterialText:vI,setMaterialText:DI,getPlayerCameraTarget:ln,setNoCameraCol:on,getNoCameraCol:_n}}x.onExit(({next:e})=>(R.getInstances().forEach(t=>t.destroy()),pe.clear(),e()));const[sy,ly]=m({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[oy,_y]=m({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.OBJECT?ly(i,R.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.OBJECT?_y(i,R.getInstance(t)):a());const[cy]=m({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:R.getInstance(e)}}}),[dy]=m({name:"OnPlayerEditDynamicObject",identifier:"iiiffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_){return{player:c.getInstance(e),object:R.getInstance(t),response:i,x:a,y:r,z:n,rX:s,rY:o,rZ:_}}}),[hy]=m({name:"OnPlayerSelectDynamicObject",identifier:"iiifff",beforeEach(e,t,i,a,r,n){return{player:c.getInstance(e),object:R.getInstance(t),modelId:i,x:a,y:r,z:n}}}),[gy]=m({name:"OnPlayerShootDynamicObject",identifier:"iiifff",beforeEach(e,t,i,a,r,n){return{player:c.getInstance(e),object:R.getInstance(i),weapon:t,x:a,y:r,z:n}}}),uy=Object.freeze({onMoved:cy,onPlayerEdit:dy,onPlayerSelect:hy,onPlayerShoot:gy,onStreamIn:sy,onStreamOut:oy});class ne{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[StreamerMapIcon]: Invalid id");const i=ne.getInstance(t);if(i)return i;this._id=t,ye.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerMapIcon]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerMapIcon]: Unable to create with only id");let{style:t,streamDistance:i,worldId:a,interiorId:r,playerId:n,areaId:s,priority:o}=this.sourceInfo;const{x:_,y:d,z:h,type:u,color:I,extended:C}=this.sourceInfo;if(u<0||u>63)throw new Error("[StreamerMapIcon]: Invalid map icon type");return t??=ot.LOCAL,i??=V.MAP_ICON_SD,o??=0,C?(typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=ne.__inject__.createEx(_,d,h,u,N(I),t,i,a,r,n,s,o),ye.set(this._id,this),this):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=ne.__inject__.create(_,d,h,u,N(I),a,r,n,i,t,s,o),ye.set(this._id,this),this)}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerMapIcon]: Unable to destroy the map icon before create");return D.skip||ne.__inject__.destroy(this.id),ye.delete(this._id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:ne.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerMapIcon]: Unable to toggle callbacks before create");return E.toggleItemCallbacks(T.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:E.isToggleItemCallbacks(T.MAP_ICON,this.id)}static isValid=cr;static togglePlayerUpdate(t,i=!0){return E.toggleItemUpdate(t,T.MAP_ICON,i)}static hideForPlayer(t,i=-5e4){return E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?E.updateEx(t,a.x,a.y,a.z):E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return ye.get(t)}static getInstances(){return[...ye.values()]}static __inject__={createEx:mr,create:or,destroy:_r}}x.onExit(({next:e})=>(ne.getInstances().forEach(t=>t.destroy()),ye.clear(),e()));const[my,fy]=m({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Py,py]=m({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.MAP_ICON?fy(i,ne.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.MAP_ICON?py(i,ne.getInstance(t)):a());const Iy=Object.freeze({onStreamIn:my,onStreamOut:Py});class ie{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[StreamerPickup]: Invalid id");const i=ie.getInstance(t);if(i)return i;this._id=t,Me.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerPickup]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerPickup]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:r,areaId:n,priority:s}=this.sourceInfo;const{type:o,modelId:_,x:d,y:h,z:u,extended:I}=this.sourceInfo;if(o<0)throw new Error("[StreamerPickup]: Invalid pickup type");return t??=V.PICKUP_SD,s??=0,I?(typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],this._id=ie.__inject__.createEx(_,o,d,h,u,t,i,a,r,n,s)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,this._id=ie.__inject__.create(_,o,d,h,u,i,a,r,t,n,s)),Me.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerPickup]: Unable to destroy pickup before create");return D.skip||ie.__inject__.destroy(this.id),Me.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:ie.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerPickup]: Unable to toggle callbacks before create");return E.toggleItemCallbacks(T.PICKUP,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:E.isToggleItemCallbacks(T.PICKUP,this.id)}static isValid=hn;static togglePlayerUpdate(t,i=!0){return E.toggleItemUpdate(t,T.PICKUP,i)}static hideForPlayer(t,i=-5e4){return E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?E.updateEx(t,a.x,a.y,a.z):E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Me.get(t)}static getInstances(){return[...Me.values()]}static __inject__={create:cn,createEx:hr,destroy:dn}}x.onExit(({next:e})=>(ie.getInstances().forEach(t=>t.destroy()),Me.clear(),e()));const[Sy,yy]=m({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Cy,Ay]=m({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.PICKUP?yy(i,ie.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.PICKUP?Ay(i,ie.getInstance(t)):a());const[Ey]=m({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:ie.getInstance(t)}}}),Ny=Object.freeze({onPlayerPickUp:Ey,onStreamIn:Sy,onStreamOut:Cy});class K{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[StreamerCheckpoint]: Invalid id");const i=K.getInstance(t);if(i)return i;this._id=t,Se.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerCheckpoint]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerCheckpoint]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:r,areaId:n,priority:s}=this.sourceInfo;const{size:o,x:_,y:d,z:h,extended:u}=this.sourceInfo;if(o<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=V.CP_SD,s??=0,u?(typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],this._id=K.__inject__.createEx(_,d,h,o,t,i,a,r,n,s)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,this._id=K.__inject__.create(_,d,h,o,i,a,r,t,n,s)),Se.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerCheckpoint]: Unable to destroy the checkpoint before create");return D.skip||K.__inject__.destroy(this.id),Se.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:K.isValid(this.id)}togglePlayer(t,i){if(this.id===P.INVALID_ID)throw new Error("[StreamerCheckpoint]: Unable to toggle the player before create");return K.__inject__.togglePlayer(t.id,this.id,i),this}isPlayerIn(t){return this.id===P.INVALID_ID?!1:K.__inject__.isPlayerIn(t.id,this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerCheckpoint]: Unable to toggle callbacks before create");return E.toggleItemCallbacks(T.CP,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:E.isToggleItemCallbacks(T.CP,this.id)}static isValid=ft;static togglePlayerAll(t,i){return K.__inject__.togglePlayerAll(t.id,i)}static getPlayerVisible(t){return Se.get(K.__inject__.getPlayerVisible(t.id))}static togglePlayerUpdate(t,i=!0){return E.toggleItemUpdate(t,T.CP,i)}static hideForPlayer(t,i=-5e4){return E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?E.updateEx(t,a.x,a.y,a.z):E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Se.get(t)}static getInstances(){return[...Se.values()]}static __inject__={create:Xa,createEx:gr,destroy:Za,getPlayerVisible:$a,isPlayerIn:Ja,togglePlayerAll:za,togglePlayer:Ya}}x.onExit(({next:e})=>(K.getInstances().forEach(t=>t.destroy()),Se.clear(),e()));const[Dy,Ty]=m({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[vy,by]=m({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.CP?Ty(i,K.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.CP?by(i,K.getInstance(t)):a());const[Ly]=m({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),cp:K.getInstance(t)}}}),[wy]=m({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),cp:K.getInstance(t)}}}),Ry=Object.freeze({onPlayerEnter:Ly,onPlayerLeave:wy,onStreamIn:Dy,onStreamOut:vy});class X{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[StreamerRaceCP]: Invalid id");const i=X.getInstance(t);if(i)return i;this._id=t,Ce.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerRaceCP]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerRaceCP]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:r,areaId:n,priority:s}=this.sourceInfo;const{type:o,size:_,x:d,y:h,z:u,nextX:I,nextY:C,nextZ:y,extended:L}=this.sourceInfo;if(o<0||o>8)throw new Error("[StreamerRaceCP]: Invalid type");if(_<0)throw new Error("[StreamerRaceCP]: Invalid size");return t??=V.RACE_CP_SD,s??=0,L?(typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],this._id=X.__inject__.createEx(o,d,h,u,I,C,y,_,t,i,a,r,n,s)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,this._id=X.__inject__.create(o,d,h,u,I,C,y,_,i,a,r,t,n,s)),Ce.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerRaceCP]: Unable to destroy the checkpoint before create");return D.skip||X.__inject__.destroy(this.id),Ce.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:X.isValid(this.id)}togglePlayer(t,i){if(this.id===P.INVALID_ID)throw new Error("[StreamerRaceCP]: Unable to toggle player before create");return X.__inject__.togglePlayer(t.id,this.id,i),this}static togglePlayerAll(t,i){return X.__inject__.togglePlayerAll(t.id,i)}isPlayerIn(t){return this.id===P.INVALID_ID?!1:X.__inject__.isPlayerIn(t.id,this.id)}static getPlayerVisible(t){return Ce.get(X.__inject__.getPlayerVisible(t.id))}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerRaceCP]: Unable to toggle callbacks before create");return E.toggleItemCallbacks(T.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:E.isToggleItemCallbacks(T.RACE_CP,this.id)}static isValid=ft;static togglePlayerUpdate(t,i=!0){return E.toggleItemUpdate(t,T.RACE_CP,i)}static hideForPlayer(t,i=-5e4){return E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?E.updateEx(t,a.x,a.y,a.z):E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Ce.get(t)}static getInstances(){return[...Ce.values()]}static __inject__={create:gn,createEx:ur,destroy:un,getPlayerVisible:pn,isPlayerIn:Pn,isValid:ft,togglePlayerAll:fn,togglePlayer:mn}}x.onExit(({next:e})=>(X.getInstances().forEach(t=>t.destroy()),Ce.clear(),e()));const[Oy,Gy]=m({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[jy,Fy]=m({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.RACE_CP?Gy(i,X.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.RACE_CP?Fy(i,X.getInstance(t)):a());const[My]=m({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),raceCP:X.getInstance(t)}}}),[Vy]=m({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),raceCp:X.getInstance(t)}}}),By=Object.freeze({onPlayerEnter:My,onPlayerLeave:Vy,onStreamIn:Oy,onStreamOut:jy});class G{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[StreamerActor]: Invalid id");const i=G.getInstance(t);if(i)return i;this._id=t,he.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerActor]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerActor]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:r,areaId:n,priority:s}=this.sourceInfo;const{modelId:o,x:_,y:d,z:h,r:u,invulnerable:I,health:C,extended:y}=this.sourceInfo;return t??=V.ACTOR_SD,s??=0,y?(typeof i=="number"?i=[0]:i??=[0],typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],this._id=G.__inject__.createEx(o,_,d,h,u,I,C,t,i,a,r,n,s)):(Array.isArray(i)?i=0:i??=0,Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,this._id=G.__inject__.create(o,_,d,h,u,I,C,i,a,r,t,n,s)),he.set(this.id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerActor]: Unable to destroy to actor before create");return D.skip||G.__inject__.destroy(this.id),he.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:G.isValid(this.id)}isStreamedIn(t){return this.id===P.INVALID_ID?!1:G.__inject__.isStreamedIn(this.id,t.id)}getVirtualWorld(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to get virtual world before create");return G.__inject__.getVirtualWorld(this.id)}setVirtualWorld(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set virtual world before create");return G.__inject__.setVirtualWorld(this.id,t)}applyAnimation(t,i,a=4.1,r=!1,n=!0,s=!0,o=!1,_=0){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to apply animation before create");if(!yt(t,i))throw new Error(`[StreamerActor]: Invalid anim library or name ${t} ${i}`);return G.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_)}clearAnimations(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to clear animation before create");return G.__inject__.clearAnimations(this.id)}getFacingAngle(){return G.__inject__.getFacingAngle(this.id)}setFacingAngle(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set facing angle before create");return G.__inject__.setFacingAngle(this.id,t)}getPos(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to get pos before create");return G.__inject__.getPos(this.id)}setPos(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set pos before create");return G.__inject__.setPos(this.id,t,i,a)}getHealth(){return G.__inject__.getHealth(this.id)}setHealth(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set health before create");return G.__inject__.setHealth(this.id,t)}isInvulnerable(){return this.id===P.INVALID_ID?!1:G.__inject__.isInvulnerable(this.id)}setInvulnerable(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set invulnerable before create");return G.__inject__.setInvulnerable(this.id,t)}getPlayerTarget(t){const i=G.__inject__.getPlayerTarget(t.id);return he.get(i)}getPlayerCameraTarget(t){const i=G.__inject__.getPlayerCameraTarget(t.id);return he.get(i)}getAnimation(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to get animation before create");return G.__inject__.getAnimation(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to toggle callbacks before create");return E.toggleItemCallbacks(T.ACTOR,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:E.isToggleItemCallbacks(T.ACTOR,this.id)}static isValid=aa;static togglePlayerUpdate(t,i=!0){return E.toggleItemUpdate(t,T.ACTOR,i)}static hideForPlayer(t,i=-5e4){return E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?E.updateEx(t,a.x,a.y,a.z):E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return he.get(t)}static getInstances(){return[...he.values()]}static __inject__={createEx:Cr,create:ta,destroy:ia,getPlayerTarget:Pa,getPlayerCameraTarget:pa,isStreamedIn:ra,getVirtualWorld:na,setVirtualWorld:sa,applyAnimation:la,clearAnimations:oa,getFacingAngle:_a,setFacingAngle:ca,getPos:da,setPos:ha,getHealth:ga,setHealth:ua,isInvulnerable:fa,setInvulnerable:ma,getAnimation:Ia}}x.onExit(({next:e})=>(G.getInstances().forEach(t=>t.destroy()),he.clear(),e()));const[ky]=m({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:G.getInstance(e),forPlayer:c.getInstance(t)}}}),[xy]=m({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:G.getInstance(e),forPlayer:c.getInstance(t)}}}),[Hy]=m({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),actor:G.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),Uy=Object.freeze({onStreamIn:ky,onStreamOut:xy,onPlayerGiveDamage:Hy});class ee{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Invalid id");const i=ee.getInstance(t);if(i)return i;this._id=t,Fe.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to create again");if(!this.sourceInfo)throw new Error("[Streamer3DTextLabel]: Unable to create with only id");let{attachedPlayer:t,attachedVehicle:i,testLOS:a,streamDistance:r,worldId:n,interiorId:s,playerId:o,areaId:_,priority:d}=this.sourceInfo;const{charset:h,text:u,color:I,drawDistance:C,x:y,y:L,z:j,extended:J}=this.sourceInfo;return t??=l.PLAYER_ID,i??=l.VEHICLE_ID,r??=V.TEXT_3D_LABEL_SD,a??=!1,d??=0,J?(typeof n=="number"?n=[-1]:n??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof o=="number"?o=[-1]:o??=[-1],typeof _=="number"?_=[-1]:_??=[-1],this._id=ee.__inject__.createEx(u,N(I),y,L,j,C,t,i,a,r,n,s,o,_,d,h||"utf8")):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(o)?o=-1:o??=-1,Array.isArray(_)?_=-1:_??=-1,this._id=ee.__inject__.create(h||"utf8",u,N(I),y,L,j,C,t,i,a,n,s,o,r,_,d)),Fe.set(this.id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[Streamer3DTextLabel]: Unable to destroy before create");return D.skip||ee.__inject__.destroy(this.id),Fe.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:ee.isValid(this.id)}getColor(){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to get color before create");return this.sourceInfo?this.sourceInfo.color:E.getIntData(T.TEXT_3D_LABEL,this._id,le.COLOR)}getCharset(){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to get charset before create");return this.sourceInfo?.charset}getText(){return ee.__inject__.getText(this.id,this.sourceInfo?.charset||"utf8")}updateText(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to update text before create");let r="";return this.sourceInfo&&(r=a||this.sourceInfo.charset||"utf8",this.sourceInfo.charset=r),ee.__inject__.updateText(this.id,N(t),i,r)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to toggle callbacks before create");return E.toggleItemCallbacks(T.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:E.isToggleItemCallbacks(T.TEXT_3D_LABEL,this.id)}setOffsets(t,i,a){if(this.id===P.INVALID_ID)return 0;const r=E.setFloatData(T.TEXT_3D_LABEL,this.id,le.ATTACH_OFFSET_X,t);return E.setFloatData(T.TEXT_3D_LABEL,this.id,le.ATTACH_OFFSET_Y,i),E.setFloatData(T.TEXT_3D_LABEL,this.id,le.ATTACH_OFFSET_Z,a),this.sourceInfo&&(this.sourceInfo.x=t,this.sourceInfo.y=i,this.sourceInfo.z=a),r}attachToPlayer(t,i,a,r){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot attachToPlayer before created");const n=typeof t=="number"?t:t.id,s=E.setIntData(T.TEXT_3D_LABEL,this.id,le.ATTACHED_PLAYER,n);return n!==l.PLAYER_ID&&this.setOffsets(i,a,r),this.sourceInfo&&(this.sourceInfo.attachedPlayer=n),s}attachToVehicle(t,i,a,r){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot attachToVehicle before created");const n=typeof t=="number"?t:t.id,s=E.setIntData(T.TEXT_3D_LABEL,this.id,le.ATTACHED_VEHICLE,n);return n!==l.VEHICLE_ID&&this.setOffsets(i,a,r),this.sourceInfo&&(this.sourceInfo.attachedVehicle=n),s}static isValid=ti;static togglePlayerUpdate(t,i=!0){return E.toggleItemUpdate(t,T.TEXT_3D_LABEL,i)}static hideForPlayer(t,i=-5e4){return E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?E.updateEx(t,a.x,a.y,a.z):E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Fe.get(t)}static getInstances(){return[...Fe.values()]}static __inject__={create:CI,createEx:AI,getText:NI,updateText:EI,destroy:ea,isValid:ti}}x.onExit(({next:e})=>(ee.getInstances().forEach(t=>t.destroy()),Fe.clear(),e()));const[Wy,Ky]=m({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Xy,Zy]=m({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.TEXT_3D_LABEL?Ky(i,ee.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.TEXT_3D_LABEL?Zy(i,ee.getInstance(t)):a());const Yy=Object.freeze({onStreamIn:Wy,onStreamOut:Xy});class v{sourceInfo=null;_id=P.INVALID_ID;get type(){return this.sourceInfo?.type??void 0}get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[StreamerArea]: Invalid id");const i=v.getInstance(t);if(i)return i;this._id=t,Ie.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerArea]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerArea]: Unable to create with only id");let{worldId:t,interiorId:i,playerId:a,priority:r}=this.sourceInfo;r??=0;const{type:n,extended:s}=this.sourceInfo;if(s)if(typeof t=="number"?t=[-1]:t??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],n==="circle"){const{x:o,y:_,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid circle extend size");this._id=v.__inject__.createCircleEx(o,_,d,t,i,a,r)}else if(n==="cuboid"){const{minX:o,minY:_,minZ:d,maxX:h,maxY:u,maxZ:I}=this.sourceInfo;this._id=v.__inject__.createCuboidEx(o,_,d,h,u,I,t,i,a,r)}else if(n==="cylinder"){const{x:o,y:_,minZ:d,maxZ:h,size:u}=this.sourceInfo;if(u<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=v.__inject__.createCylinderEx(o,_,d,h,u,t,i,a,r)}else if(n==="polygon"){const{points:o,minZ:_,maxZ:d}=this.sourceInfo;if(o.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=v.__inject__.createPolygonEx(o,_,d,t,i,a,r)}else if(n==="rectangle"){const{minX:o,minY:_,maxX:d,maxY:h}=this.sourceInfo;this._id=v.__inject__.createRectangleEx(o,_,d,h,t,i,a,r)}else{const{x:o,y:_,z:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid sphere extended size");this._id=v.__inject__.createSphereEx(o,_,d,h,t,i,a,r)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,n==="circle"){const{x:o,y:_,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid circle size");this._id=v.__inject__.createCircle(o,_,d,t,i,a,r)}else if(n==="cuboid"){const{minX:o,minY:_,minZ:d,maxX:h,maxY:u,maxZ:I}=this.sourceInfo;this._id=v.__inject__.createCuboid(o,_,d,h,u,I,t,i,a,r)}else if(n==="cylinder"){const{x:o,y:_,minZ:d,maxZ:h,size:u}=this.sourceInfo;if(u<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=v.__inject__.createCylinder(o,_,d,h,u,t,i,a,r)}else if(n==="polygon"){const{points:o,minZ:_,maxZ:d}=this.sourceInfo;if(o.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=v.__inject__.createPolygon(o,_,d,t,i,a,r)}else if(n==="rectangle"){const{minX:o,minY:_,maxX:d,maxY:h}=this.sourceInfo;this._id=v.__inject__.createRectangle(o,_,d,h,t,i,a,r)}else{const{x:o,y:_,z:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid sphere size");this._id=v.__inject__.createSphere(o,_,d,h,t,i,a,r)}return Ie.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerArea]: Unable to destroy the area before create");return D.skip||v.__inject__.destroy(this.id),Ie.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:v.isValid(this.id)}getType(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerArea]: Unable to get type before create");return v.__inject__.getType(this.id)}getPolygonPoints(){return v.__inject__.getPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerArea]: Unable to getPolygonNumberPoints number before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonNumberPoints invalid area type");return v.__inject__.getPolygonNumberPoints(this.id)}isPlayerIn(t,i=!1){return this.id===P.INVALID_ID?!1:v.__inject__.isPlayerIn(t.id,this.id,i)}static isPlayerInAny(t,i=!1){return v.__inject__.isPlayerInAny(t.id,i)}isAnyPlayerIn(t=!1){return this.id===P.INVALID_ID?!1:v.__inject__.isAnyPlayerIn(this.id,t)}static isAnyPlayerInAny(t=!1){return v.__inject__.isAnyPlayerInAny(t)}static getPlayerAreas(t){return v.getPlayerAreasNumber(t)?v.__inject__.getPlayerAreas(t.id).areas.map(i=>Ie.get(i)):[]}static getPlayerAreasNumber(t){return v.__inject__.getPlayerAreasNumber(t.id)}isPointIn(t,i,a){return this.id===P.INVALID_ID?!1:v.__inject__.isPointIn(this.id,t,i,a)}static isPointInAny(t,i,a){return v.__inject__.isPointInAny(t,i,a)}isLineIn(t,i,a,r,n,s){return this.id===P.INVALID_ID?!1:v.__inject__.isLineIn(this.id,t,i,a,r,n,s)}static isLineInAny(t,i,a,r,n,s){return v.__inject__.isLineInAny(t,i,a,r,n,s)}static getForPoint(t,i,a){return v.getNumberForPoint(t,i,a)?v.__inject__.getForPoint(t,i,a).areas.map(r=>v.getInstance(r)).filter(Boolean):[]}static getNumberForPoint(t,i,a){return v.__inject__.getNumberForPoint(t,i,a)}static getForLine(t,i,a,r,n,s){return v.getNumberForLine(t,i,a,r,n,s)?v.__inject__.getForLine(t,i,a,r,n,s).areas.map(o=>v.getInstance(o)).filter(Boolean):[]}static getNumberForLine(t,i,a,r,n,s){return v.__inject__.getNumberForLine(t,i,a,r,n,s)}attachToObject(t,i=0,a=0,r=0){if(this.id===P.INVALID_ID||t.id===P.INVALID_ID)throw new Error("[StreamerArea]: Unable to toggle attach to object before create");return v.__inject__.attachToObject(this.id,t.id,nt.DYNAMIC,l.PLAYER_ID,i,a,r)}attachToPlayer(t,i=0,a=0,r=0){if(this.id===P.INVALID_ID||t.id===l.PLAYER_ID)throw new Error("[StreamerArea]: Unable to toggle attach to player before create");return v.__inject__.attachToPlayer(this.id,t.id,i,a,r)}attachToVehicle(t,i=0,a=0,r=0){if(this.id===P.INVALID_ID||t.id===l.VEHICLE_ID)throw new Error("[StreamerArea]: Unable to toggle attach to vehicle before create");return v.__inject__.attachToVehicle(this.id,t.id,i,a,r)}toggleSpectateMode(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerArea]: Unable to toggle spectate mode before create");return v.__inject__.toggleSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===P.INVALID_ID?!1:v.__inject__.isToggleSpectateMode(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerArea]: Unable to toggle callbacks before create");return E.toggleItemCallbacks(T.AREA,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:E.isToggleItemCallbacks(T.AREA,this.id)}static isValid=Ta;static togglePlayerUpdate(t,i=!0){return E.toggleItemUpdate(t,T.AREA,i)}static hideForPlayer(t,i=-5e4){return E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?E.updateEx(t,a.x,a.y,a.z):E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Ie.get(t)}static getInstances(){return[...Ie.values()]}static __inject__={createCircleEx:fr,createCuboidEx:Sr,createCylinderEx:Pr,createPolygonEx:yr,createRectangleEx:Ir,createSphereEx:pr,createCircle:Sa,createCuboid:Ea,createCylinder:ya,createPolygon:Na,createRectangle:Aa,createSphere:Ca,destroy:Da,getType:va,getPolygonPoints:ba,getPolygonNumberPoints:ii,isPlayerIn:La,isPlayerInAny:wa,isAnyPlayerIn:Ra,isAnyPlayerInAny:Oa,getPlayerAreas:Ga,getPlayerAreasNumber:ai,isPointIn:ja,isPointInAny:Fa,isLineIn:Ma,isLineInAny:Va,getForPoint:Ba,getNumberForPoint:ri,getForLine:ka,getNumberForLine:ni,attachToObject:xa,attachToPlayer:Ha,attachToVehicle:Ua,toggleSpectateMode:Wa,isToggleSpectateMode:Ka}}x.onExit(({next:e})=>(v.getInstances().forEach(t=>t.destroy()),Ie.clear(),e()));const[zy,Jy]=m({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[$y,Qy]=m({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.AREA?Jy(i,v.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.AREA?Qy(i,v.getInstance(t)):a());const[qy]=m({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),area:v.getInstance(t)}}}),[eC]=m({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),area:v.getInstance(t)}}}),tC=Object.freeze({onStreamIn:zy,onStreamOut:$y,onPlayerEnter:qy,onPlayerLeave:eC});class g{_id=l.NPC_ID;_name="";get id(){return this._id}constructor(t){if(typeof t=="string"&&(this._name=t),typeof t=="number"){if(t===l.NPC_ID)throw new Error("[Npc]: Invalid id");this._id=t;const i=g.getInstance(this._id);if(i)return i;fe.set(this._id,this)}return this}create(){if(this.id!==l.NPC_ID)throw new Error("[Npc]: Unable to create again");return this._id=g.__inject__.create(this._name),this._id!==l.NPC_ID&&(this.getPlayer()||new c(this._id),fe.set(this._id,this)),this}destroy(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to destroy before create");return D.skip||g.__inject__.destroy(this._id),fe.delete(this._id),this._id=l.NPC_ID,this}getPlayer(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getPlayer before create");return c.getInstance(this._id)}getName(){if(this._id===l.NPC_ID)throw new Error("[Npc]: Unable to getName before create");return this._name?this._name:this.getPlayer().getName().name}isValid(){return this.id===l.NPC_ID?!1:D.skip&&this._id!==l.NPC_ID?!0:g.isValid(this._id)}spawn(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to spawn before create");return g.__inject__.spawn(this._id),this}respawn(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to respawn before create");return g.__inject__.respawn(this._id),this}setPos(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setPos before create");return g.__inject__.setPos(this._id,t,i,a),this}setRot(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setRot before create");return g.__inject__.setRot(this._id,t,i,a),this}getRot(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getRot before create");return g.__inject__.getRot(this._id)}setFacingAngle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setFacingAngle before create");return g.__inject__.setFacingAngle(this._id,t),this}getFacingAngle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getFacingAngle before create");return g.__inject__.getFacingAngle(this._id)}setVirtualWorld(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVirtualWorld before create");return g.__inject__.setVirtualWorld(this._id,t),this}getVirtualWorld(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getVirtualWorld before create");return g.__inject__.getVirtualWorld(this._id)}move(t,i,a,r,n=Re.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to move before create");return g.__inject__.move(this._id,t,i,a,r,n)}moveToPlayer(t,i,a=Re.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to moveToPlayer before create");return g.__inject__.moveToPlayer(this._id,t.id,i,a)}stopMove(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopMove before create");return g.__inject__.stopMove(this._id),this}isMoving(){return this.id===l.NPC_ID?!1:g.__inject__.isMoving(this._id)}isMovingToPlayer(t){return this.id===l.NPC_ID?!1:g.__inject__.isMovingToPlayer(this._id,t.id)}setSkin(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSkin before create");return g.__inject__.setSkin(this._id,t),this}getSkin(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getSkin before create");return g.__inject__.getSkin(this._id)}isStreamedIn(t){return this.id===l.NPC_ID?!1:g.__inject__.isStreamedIn(this._id,t.id)}isAnyStreamedIn(){return this.id===l.NPC_ID?!1:g.__inject__.isAnyStreamedIn(this._id)}setInterior(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setInterior before create");return g.__inject__.setInterior(this._id,t),this}getInterior(){return this.id===l.NPC_ID?0:g.__inject__.getInterior(this._id)}setHealth(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setHealth before create");return g.__inject__.setHealth(this._id,t),this}getHealth(){return this.id===l.NPC_ID?0:g.__inject__.getHealth(this._id)}setArmour(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setArmour before create");return g.__inject__.setArmour(this._id,t),this}getArmour(){return this.id===l.NPC_ID?0:g.__inject__.getArmour(this._id)}isDead(){return this.id===l.NPC_ID?!1:g.__inject__.isDead(this._id)}applyAnimation(t,i,a,r,n,s,o,_,d){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to applyAnimation before create");return g.__inject__.applyAnimation(this._id,t,i,a,r,n,s,o,_,d),this}setWeapon(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeapon before create");return g.__inject__.setWeapon(this._id,t),this}getWeapon(){return this.id===l.NPC_ID?0:g.__inject__.getWeapon(this._id)}setAmmo(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setAmmo before create");return g.__inject__.setAmmo(this._id,t),this}getAmmo(){return this.id===l.NPC_ID?0:g.__inject__.getAmmo(this._id)}setKeys(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setKeys before create");return g.__inject__.setKeys(this._id,t,i,a),this}getKeys(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getKeys before create");return g.__inject__.getKeys(this._id)}setWeaponSkillLevel(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponSkillLevel before create");return g.__inject__.setWeaponSkillLevel(this._id,t,i),this}getWeaponSkillLevel(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getWeaponSkillLevel before create");return g.__inject__.getWeaponSkillLevel(this._id,t)}meleeAttack(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to meleeAttack before create");return g.__inject__.meleeAttack(this._id,t,i),this}stopMeleeAttack(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopMeleeAttack before create");return g.__inject__.stopMeleeAttack(this._id),this}isMeleeAttacking(){return this.id===l.NPC_ID?!1:g.__inject__.isMeleeAttacking(this._id)}setFightingStyle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setFightingStyle before create");return g.__inject__.setFightingStyle(this._id,t),this}getFightingStyle(){return this.id===l.NPC_ID?ht.NORMAL:g.__inject__.getFightingStyle(this._id)}enableReloading(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to enableReloading before create");return g.__inject__.enableReloading(this._id,t),this}isReloadEnabled(){return this.id===l.NPC_ID?!1:g.__inject__.isReloadEnabled(this._id)}isReloading(){return this.id===l.NPC_ID?!1:g.__inject__.isReloading(this._id)}enableInfiniteAmmo(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to enableInfiniteAmmo before create");return g.__inject__.enableInfiniteAmmo(this._id,t),this}isInfiniteAmmoEnabled(){return this.id===l.NPC_ID?!1:g.__inject__.isInfiniteAmmoEnabled(this._id)}setWeaponState(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponState before create");return g.__inject__.setWeaponState(this._id,t)}getWeaponState(){return this.id===l.NPC_ID?ut.UNKNOWN:g.__inject__.getWeaponState(this._id)}setAmmoInClip(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setAmmoInClip before create");return g.__inject__.setAmmoInClip(this._id,t),this}getAmmoInClip(){return this.id===l.NPC_ID?0:g.__inject__.getAmmoInClip(this._id)}shoot(t,i,a,r,n,s,o,_,d,h,u=Ye.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to shoot before create");return g.__inject__.shoot(this._id,t,i,a,r,n,s,o,_,d,h,u),this}isShooting(){return this.id===l.NPC_ID?!1:g.__inject__.isShooting(this._id)}aimAt(t,i,a,r,n,s,o,_,d,h=Ye.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to aimAt before create");return g.__inject__.aimAt(this._id,t,i,a,r,n,s,o,_,d,h),this}aimAtPlayer(t,i,a,r,n,s,o,_,d,h,u=Ye.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to aimAtPlayer before create");return g.__inject__.aimAtPlayer(this._id,t.id,i,a,r,n,s,o,_,d,h,u),this}stopAim(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopAim before create");return g.__inject__.stopAim(this._id),this}isAiming(){return this.id===l.NPC_ID?!1:g.__inject__.isAiming(this._id)}isAimingAtPlayer(t){return this.id===l.NPC_ID?!1:g.__inject__.isAimingAtPlayer(this._id,t.id)}setWeaponAccuracy(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponAccuracy before create");return g.__inject__.setWeaponAccuracy(this._id,t,i),this}getWeaponAccuracy(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponAccuracy(this._id,t)}setWeaponReloadTime(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponReloadTime before create");return g.__inject__.setWeaponReloadTime(this._id,t,i)}getWeaponReloadTime(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponReloadTime(this._id,t)}getWeaponActualReloadTime(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponActualReloadTime(this._id,t)}setWeaponShootTime(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponShootTime before create");return g.__inject__.setWeaponShootTime(this._id,t,i)}getWeaponShootTime(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponShootTime(this._id,t)}setWeaponClipSize(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponClipSize before create");return g.__inject__.setWeaponClipSize(this._id,t,i)}getWeaponClipSize(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponClipSize(this._id,t)}getWeaponActualClipSize(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponActualClipSize(this._id,t)}enterVehicle(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to enterVehicle before create");return g.__inject__.enterVehicle(this._id,t.id,i,a),this}exitVehicle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to exitVehicle before create");return g.__inject__.exitVehicle(this._id),this}putInVehicle(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to putInVehicle before create");return g.__inject__.putInVehicle(this._id,t.id,i)}removeFromVehicle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to removeFromVehicle before create");return g.__inject__.removeFromVehicle(this._id)}getVehicle(){return p.getInstance(this.getVehicleID())}getVehicleID(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getVehicle before create");return g.__inject__.getVehicle(this._id)}getVehicleSeat(){return this.id===l.NPC_ID?0:g.__inject__.getVehicleSeat(this._id)}getEnteringVehicle(){return p.getInstance(this.getEnteringVehicleId())}getEnteringVehicleId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getEnteringVehicle before create");return g.__inject__.getEnteringVehicle(this._id)}getEnteringVehicleSeat(){return this.id===l.NPC_ID?0:g.__inject__.getEnteringVehicleSeat(this._id)}isEnteringVehicle(){return this.id===l.NPC_ID?!1:g.__inject__.isEnteringVehicle(this._id)}useVehicleSiren(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to useVehicleSiren before create");return g.__inject__.useVehicleSiren(this._id,t)}isVehicleSirenUsed(){return this.id===l.NPC_ID?!1:g.__inject__.isVehicleSirenUsed(this._id)}setVehicleHealth(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVehicleHealth before create");return g.__inject__.setVehicleHealth(this._id,t)}getVehicleHealth(){return this.id===l.NPC_ID?0:g.__inject__.getVehicleHealth(this._id)}setVehicleHydraThrusters(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVehicleHydraThrusters before create");return g.__inject__.setVehicleHydraThrusters(this._id,t)}getVehicleHydraThrusters(){return this.id===l.NPC_ID?0:g.__inject__.getVehicleHydraThrusters(this._id)}setVehicleGearState(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVehicleGearState before create");return g.__inject__.setVehicleGearState(this._id,t)}getVehicleGearState(){return this.id===l.NPC_ID?0:g.__inject__.getVehicleGearState(this._id)}setVehicleTrainSpeed(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVehicleTrainSpeed before create");return g.__inject__.setVehicleTrainSpeed(this._id,t)}getVehicleTrainSpeed(){return this.id===l.NPC_ID?0:g.__inject__.getVehicleTrainSpeed(this._id)}resetAnimation(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to resetAnimation before create");return g.__inject__.resetAnimation(this._id)}setAnimation(t,i,a,r,n,s,o){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setAnimation before create");return g.__inject__.setAnimation(this._id,t,i,a,r,n,s,o)}getAnimation(){return this.id===l.NPC_ID?0:g.__inject__.getAnimation(this._id)}clearAnimations(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to clearAnimations before create");return g.__inject__.clearAnimations(this._id)}setSpecialAction(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSpecialAction before create");return g.__inject__.setSpecialAction(this._id,t)}getSpecialAction(){return this.id===l.NPC_ID?0:g.__inject__.getSpecialAction(this._id)}startPlayback(t,i,a,r,n,s,o,_){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to startPlayback before create");return g.__inject__.startPlayback(this._id,t,i,a,r,n,s,o,_)}startPlaybackEx(t,i,a,r,n,s,o,_){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to startPlaybackEx before create");return g.__inject__.startPlaybackEx(this._id,t.id,i,a,r,n,s,o,_)}stopPlayback(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopPlayback before create");return g.__inject__.stopPlayback(this._id)}pausePlayback(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to pausePlayback before create");return g.__inject__.pausePlayback(this._id,t)}isPlayingPlayback(){return this.id===l.NPC_ID?!1:g.__inject__.isPlayingPlayback(this._id)}isPlaybackPaused(){return this.id===l.NPC_ID?!1:g.__inject__.isPlaybackPaused(this._id)}playNode(t,i=at.JOG,a=Re.AUTO,r=0,n=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to playNode before create");return g.__inject__.playNode(this._id,t.id,i,a,r,n)}stopPlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopPlayingNode before create");return g.__inject__.stopPlayingNode(this._id)}pausePlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to pausePlayingNode before create");return g.__inject__.pausePlayingNode(this._id)}resumePlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to resumePlayingNode before create");return g.__inject__.resumePlayingNode(this._id)}isPlayingNodePaused(){return this.id===l.NPC_ID?!1:g.__inject__.isPlayingNodePaused(this._id)}isPlayingNode(){return this.id===l.NPC_ID?!1:g.__inject__.isPlayingNode(this._id)}changeNode(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to changeNode before create");return g.__inject__.changeNode(this._id,t.id,i)}updateNodePoint(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to updateNodePoint before create");return g.__inject__.updateNodePoint(this._id,t)}setInvulnerable(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setInvulnerable before create");return g.__inject__.setInvulnerable(this._id,t)}isInvulnerable(){return this.id===l.NPC_ID?!1:g.__inject__.isInvulnerable(this._id)}setSurfingOffsets(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingOffsets before create");return g.__inject__.setSurfingOffsets(this._id,t,i,a)}getSurfingOffsets(){return g.__inject__.getSurfingOffsets(this._id)}setSurfingVehicle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingVehicle before create");return g.__inject__.setSurfingVehicle(this._id,t.id)}getSurfingVehicle(){return p.getInstance(this.getSurfingVehicleId())}getSurfingVehicleId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getSurfingVehicle before create");return g.__inject__.getSurfingVehicle(this._id)}setSurfingObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingObject before create");return t.isGlobal()?g.__inject__.setSurfingObject(this._id,t.id):0}getSurfingObject(){return S.getInstance(this.getSurfingObjectId())}getSurfingObjectId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getSurfingObject before create");return g.__inject__.getSurfingObject(this._id)}setSurfingPlayerObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingPlayerObject before create");return t.isGlobal()?0:this._setSurfingPlayerObject(t.id)}getSurfingPlayerObject(){return S.getInstance(this.getSurfingPlayerObjectId(),this.getPlayer())}_setSurfingPlayerObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingPlayerObject before create");return g.__inject__.setSurfingPlayerObject(this._id,t)}getSurfingPlayerObjectId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getSurfingPlayerObject before create");return g.__inject__.getSurfingPlayerObject(this._id)}resetSurfingData(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to resetSurfingData before create");return g.__inject__.resetSurfingData(this._id)}setSurfingDynamicObject(t){return this._setSurfingPlayerObject(E.getItemInternalID(new c(this._id),T.OBJECT,t.id))}getSurfingDynamicObject(){return R.getInstance(this.getSurfingDynamicObjectId())}getSurfingDynamicObjectId(){return E.getItemStreamerID(new c(this._id),T.OBJECT,this.getSurfingPlayerObjectId())}isSpawned(){return this.id===l.NPC_ID?!1:g.__inject__.isSpawned(this._id)}kill(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to kill before create");return g.__inject__.kill(this._id,typeof t=="number"?t:t.id,i)}setVelocity(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVelocity before create");return g.__inject__.setVelocity(this._id,t,i,a)}getVelocity(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getVelocity before create");return g.__inject__.getVelocity(this._id)}getPlayerAimingAt(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getPlayerAimingAt before create");const t=g.__inject__.getPlayerAimingAt(this._id);return t!==l.PLAYER_ID?c.getInstance(t):null}getPlayerMovingTo(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getPlayerMovingTo before create");const t=g.__inject__.getPlayerMovingTo(this._id);return t!==l.PLAYER_ID?c.getInstance(t):null}static startRecordingPlayerData(t,i,a){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");g.__inject__.startRecordingPlayerData(t.id,i,a),t[B].isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)throw new Error("[NpcFunc]: It should be started before stop");g.__inject__.stopRecordingPlayerData(t.id),t[B].isRecording=!1}static isValid(t){return g.__inject__.isValid(t)}static getInstance(t){return fe.get(t)}static getInstances(){return[...fe.values()]}static __inject__={create:Wc,destroy:Kc,isValid:Xc,spawn:Zc,respawn:Yc,setPos:zc,setRot:Jc,getRot:$c,setFacingAngle:Qc,getFacingAngle:qc,setVirtualWorld:ed,getVirtualWorld:td,move:id,moveToPlayer:ad,stopMove:rd,isMoving:nd,isMovingToPlayer:sd,setSkin:ld,getSkin:od,isStreamedIn:_d,isAnyStreamedIn:cd,setInterior:dd,getInterior:hd,setHealth:gd,getHealth:ud,setArmour:md,getArmour:fd,isDead:Pd,applyAnimation:pd,setWeapon:Id,getWeapon:Sd,setAmmo:yd,getAmmo:Cd,setKeys:Ad,getKeys:Ed,setWeaponSkillLevel:Nd,getWeaponSkillLevel:Dd,meleeAttack:Td,stopMeleeAttack:vd,isMeleeAttacking:bd,setFightingStyle:Ld,getFightingStyle:wd,enableReloading:Rd,isReloadEnabled:Od,isReloading:Gd,enableInfiniteAmmo:jd,isInfiniteAmmoEnabled:Fd,setWeaponState:Md,getWeaponState:Vd,setAmmoInClip:Bd,getAmmoInClip:kd,shoot:xd,isShooting:Hd,aimAt:Ud,aimAtPlayer:Wd,stopAim:Kd,isAiming:Xd,isAimingAtPlayer:Zd,setWeaponAccuracy:Yd,getWeaponAccuracy:zd,setWeaponReloadTime:Jd,getWeaponReloadTime:$d,getWeaponActualReloadTime:Qd,setWeaponShootTime:qd,getWeaponShootTime:eh,setWeaponClipSize:th,getWeaponClipSize:ih,getWeaponActualClipSize:ah,enterVehicle:rh,exitVehicle:nh,putInVehicle:sh,removeFromVehicle:lh,getVehicle:oh,getVehicleSeat:_h,getEnteringVehicle:ch,getEnteringVehicleSeat:dh,isEnteringVehicle:hh,useVehicleSiren:gh,isVehicleSirenUsed:uh,setVehicleHealth:mh,getVehicleHealth:fh,setVehicleHydraThrusters:Ph,getVehicleHydraThrusters:ph,setVehicleGearState:Ih,getVehicleGearState:Sh,setVehicleTrainSpeed:yh,getVehicleTrainSpeed:Ch,resetAnimation:Ah,setAnimation:Eh,getAnimation:Nh,clearAnimations:Dh,setSpecialAction:Th,getSpecialAction:vh,startPlayback:bh,startPlaybackEx:Lh,stopPlayback:wh,pausePlayback:Rh,isPlayingPlayback:Oh,isPlaybackPaused:Gh,playNode:jh,stopPlayingNode:Fh,pausePlayingNode:Mh,resumePlayingNode:Vh,isPlayingNodePaused:Bh,isPlayingNode:kh,changeNode:xh,updateNodePoint:Hh,setInvulnerable:Uh,isInvulnerable:Wh,setSurfingOffsets:Kh,getSurfingOffsets:Xh,setSurfingVehicle:Zh,getSurfingVehicle:Yh,setSurfingObject:zh,getSurfingObject:Jh,setSurfingPlayerObject:$h,getSurfingPlayerObject:Qh,resetSurfingData:qh,isSpawned:eg,kill:tg,setVelocity:ig,getVelocity:ag,getPlayerAimingAt:rg,getPlayerMovingTo:ng,startRecordingPlayerData:U_,stopRecordingPlayerData:W_}}class Ke{_filePath="";_id=l.RECORD_ID;get id(){return this._id}get filePath(){return this._filePath}constructor(t){if(typeof t=="string"?(this._filePath=t,this._id=samp.callNative("NPC_LoadRecord","s",this._filePath)):this._id=t,de.has(this._id))return de.get(this._id)}unload(){const t=this._id;if(!D.skip){const i=!!samp.callNative("NPC_UnloadRecord","i",this._id);return i&&(this._id=l.RECORD_ID,this._filePath="",de.delete(t)),i}return this._id=l.RECORD_ID,this._filePath="",de.delete(t),!0}isValid(){return D.skip&&this._id!==l.RECORD_ID?!0:Ke.isValid(this._id)}static isValid(t){return!!samp.callNative("NPC_IsValidRecord","i",t)}static getCount(){return samp.callNative("NPC_GetRecordCount","")}static unloadAll(){const t=!!samp.callNative("NPC_UnloadAllRecords","");return t&&de.clear(),t}static getInstance(t){return de.get(t)}static getInstances(){return[...de.values()]}}class We{_id=l.NODE_ID;get id(){return this._id}constructor(t){if(this._id=t,re.has(this._id))return re.get(this._id);re.set(this._id,this)}open(){samp.callNative("NPC_OpenNode","i",this._id)&&!re.has(this._id)&&re.set(this._id,this)}close(){if(!D.skip){const t=!!samp.callNative("NPC_CloseNode","i",this._id);return t&&(re.delete(this._id),this._id=l.NODE_ID),t}return re.delete(this._id),this._id=l.NODE_ID,!0}isOpen(){return D.skip&&this._id!==l.NODE_ID?!0:!!samp.callNative("NPC_IsNodeOpen","i",this._id)}getType(){return samp.callNative("NPC_GetNodeType","i",this._id)}setPoint(t){return!!samp.callNative("NPC_SetNodePoint","ii",this._id,t)}getPointPosition(){const[t,i,a,r]=samp.callNative("NPC_GetNodePointPosition","iFFF",this._id);return{x:t,y:i,z:a,ret:!!r}}getPointCount(){return samp.callNative("NPC_GetNodePointCount","i",this._id)}getInfo(){const[t,i,a,r]=samp.callNative("NPC_GetNodeInfo","iIII",this._id);return{vehNodes:t,pedNodes:i,naviNode:a,ret:!!r}}static getInstance(t){return re.get(t)}static getInstances(){return[...re.values()]}}class Xe{_id=l.PATH_ID;get id(){return this._id}constructor(t){if(typeof t<"u"){if(Pe.has(t))return Pe.get(t);this._id=t}else this._id=samp.callNative("NPC_CreatePath","")}destroy(){const t=!!samp.callNative("NPC_DestroyPath","i",this._id);return t&&(this._id=l.PATH_ID,Pe.delete(this._id)),t}addPoint(t,i,a,r){return!!samp.callNative("NPC_AddPointToPath","iffff",this._id,t,i,a,r)}removePoint(t){return!!samp.callNative("NPC_RemovePointFromPath","ii",this._id,t)}clear(){return!!samp.callNative("NPC_ClearPath","i",this._id)}getPointCount(){return samp.callNative("NPC_GetPathPointCount","i",this._id)}getPoint(t){const[i,a,r,n,s]=samp.callNative("NPC_GetPathPoint","ii",this._id,t);return{x:i,y:a,z:r,stopRange:n,ret:s}}isValid(){return Xe.isValid(this._id)}getCurrentPointIndex(){return samp.callNative("NPC_GetCurrentPathPointIndex","i",this._id)}move(t=at.JOG,i=Re.AUTO,a=!1){return!!samp.callNative("NPC_MoveByPath","iiifi",this._id,this._id,t,i,a)}hasPointInRadius(t,i,a,r){return!!samp.callNative("NPC_HasPathPointInRange","iiffff",this._id,this._id,t,i,a,r)}static destroyAll(){const t=!!samp.callNative("NPC_DestroyAllPath","");return t&&Pe.clear(),t}static getCount(){return samp.callNative("NPC_GetPathCount","")}static isValid(t){return!!samp.callNative("NPC_IsValidPath","i",t)}static getInstance(t){return Pe.get(t)}static getInstances(){return[...Pe.values()]}}x.onExit(({next:e})=>(g.getInstances().forEach(t=>{t.isValid()&&t.destroy()}),fe.clear(),We.getInstances().forEach(t=>{t.isOpen()&&t.close()}),re.clear(),Xe.destroyAll(),Pe.clear(),Ke.getInstances().forEach(t=>{t.isValid()&&t.unload()}),de.clear(),e()));const[iC]=m({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:A.decodeFromBuf(t)}}}),[aC]=m({name:"OnNPCFinishMove",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}}}),[rC]=m({name:"OnNPCCreate",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}}}),[nC]=m({name:"OnNPCDestroy",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}},afterEach({npc:e}){fe.delete(e.id)}}),[sC]=m({name:"OnNPCWeaponStateChange",identifier:"iii",beforeEach(e,t,i){return{npc:g.getInstance(e),newState:t,oldState:i}}}),[lC]=m({name:"OnNPCTakeDamage",identifier:"iiiii",beforeEach(e,t,i,a,r){return{npc:g.getInstance(e),damager:c.getInstance(t),damage:i,weapon:a,bodyPart:r}}}),[oC]=m({name:"OnNPCGiveDamage",identifier:"iiiii",beforeEach(e,t,i,a,r){return{npc:g.getInstance(e),damager:c.getInstance(t),damage:i,weapon:a,bodyPart:r}}}),[_C]=m({name:"OnNPCDeath",identifier:"iii",beforeEach(e,t,i){const a=c.getInstance(t)||l.PLAYER_ID;return{npc:g.getInstance(e),killer:a,reason:i}}}),[cC]=m({name:"OnNPCSpawn",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}}}),[dC]=m({name:"OnNPCRespawn",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}}}),[hC]=m({name:"OnNPCPlaybackStart",identifier:"ii",beforeEach(e,t){return{npc:g.getInstance(e),record:Ke.getInstance(t),recordId:t}}}),[gC]=m({name:"OnNPCPlaybackEnd",identifier:"ii",beforeEach(e,t){return{npc:g.getInstance(e),record:Ke.getInstance(t),recordId:t}}}),[uC]=m({name:"OnNPCWeaponShot",identifier:"iiiifff",beforeEach(e,t,i,a,r,n,s){return{npc:g.getInstance(e),weapon:t,hitType:i,hitId:a,fX:r,fY:n,fZ:s}}}),[mC]=m({name:"OnNPCFinishNodePoint",identifier:"iii",beforeEach(e,t,i){return{npc:g.getInstance(e),node:We.getInstance(t),nodeId:t,pointId:i}}}),[fC]=m({name:"OnNPCFinishNode",identifier:"ii",beforeEach(e,t){return{npc:g.getInstance(e),node:We.getInstance(t),nodeId:t}}}),[PC]=m({name:"OnNPCChangeNode",identifier:"iii",beforeEach(e,t,i){return{npc:g.getInstance(e),newNode:We.getInstance(t),oldNode:We.getInstance(i),newNodeId:t,oldNodeId:i}}}),[pC]=m({name:"OnNPCFinishMovePath",identifier:"ii",beforeEach(e,t){return{npc:g.getInstance(e),path:Xe.getInstance(t),pathId:t}}}),[IC]=m({name:"OnNPCFinishMovePathPoint",identifier:"iii",beforeEach(e,t,i){return{npc:g.getInstance(e),path:Xe.getInstance(t),pathId:t,pointIndex:i}}}),SC=Object.freeze({onClientMessage:iC,onFinishMove:aC,onCreate:rC,onDestroy:nC,onSpawn:cC,onRespawn:dC,onWeaponStateChange:sC,onTakeDamage:lC,onGiveDamage:oC,onDeath:_C,onPlaybackStart:hC,onPlaybackEnd:gC,onWeaponShot:uC,onFinishNodePoint:mC,onFinishNode:fC,onChangeNode:PC,onFinishMovePath:pC,onFinishMovePathPoint:IC});class ${constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return $.__inject__.getNetworkStats()}static getPlayerNetworkStats(t){return $.__inject__.getPlayerNetworkStats(t.id)}static getBytesReceived(t){return $.__inject__.getBytesReceived(t.id)}static getBytesSent(t){return $.__inject__.getBytesSent(t.id)}static getConnectionStatus(t){return $.__inject__.getConnectionStatus(t.id)}static getConnectedTime(t){return $.__inject__.getConnectedTime(t.id)}static getIpPort(t){return $.__inject__.getIpPort(t.id)}static getMessagesReceived(t){return $.__inject__.getMessagesReceived(t.id)}static getMessagesRecvPerSecond(t){return $.__inject__.getMessagesRecvPerSecond(t.id)}static getMessagesSent(t){return $.__inject__.getMessagesSent(t.id)}static getPacketLossPercent(t){return $.__inject__.getPacketLossPercent(t.id)}static __inject__={getNetworkStats:Rl,getPlayerNetworkStats:wl,getBytesReceived:Sl,getBytesSent:Cl,getConnectionStatus:Nl,getConnectedTime:pl,getIpPort:Dl,getMessagesReceived:Il,getMessagesRecvPerSecond:Al,getMessagesSent:yl,getPacketLossPercent:El}}class be{_text;_time;_style;get text(){return this._text}set text(t){this._text=t}get time(){return this._time}set time(t){this._time=t}get style(){return this._style}set style(t){this._style=t}constructor(t,i,a){this._text=t,this._time=i,this._style=a}static hideForAll(t){be.__inject__.hideForAll(t)}static has(t,i){return be.__inject__.has(t.id,i)}forAll(t="win1252"){be.__inject__.forAll(A.encodeToBuf(A.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,i="win1252"){be.__inject__.forPlayer(t.id,A.encodeToBuf(A.convertSpecialChar(this.text),i),this.time,this.style)}hideForPlayer(t){return be.__inject__.hideForPlayer(t.id,this.style)}static __inject__={hideForAll:Fs,has:fo,forAll:js,forPlayer:mo,hideForPlayer:po}}class k{sourceInfo=null;_id=l.MENU;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===l.MENU)throw new Error("[Menu]: Invalid id");this._id=t;const i=k.getInstance(this._id);if(i)return i;Ge.set(this.id,this)}else this.sourceInfo=t}create(){if(!this.sourceInfo)throw new Error("[Menu]: Unable to create with only id");if(this._id!==l.MENU)throw new Error("[Menu]: Cannot be created twice");const{title:t,columns:i,x:a,y:r,colWidth:n,charset:s="ISO-8859-1"}=this.sourceInfo,[o,_]=n;if(this._id=k.__inject__.create(t,i,a,r,o,_,s),this.id===l.MENU||k.getInstances().length===H.MAX_MENUS)throw new Error("[Menu]: Unable to create menu");return Ge.set(this._id,this),this}destroy(){if(this._id===l.MENU)throw new Error("[Menu]: Cannot destroy before create");return D.skip||k.__inject__.destroy(this.id),Ge.delete(this._id),this._id=l.MENU,this}addItem(t,i){if(this._id===l.MENU)throw new Error("[Menu]: Cannot addItem before create");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return k.__inject__.addItem(this.id,t,i,this.sourceInfo?.charset||"ISO-8859-1"),this}setColumnHeader(t,i){if(this._id===l.MENU)throw new Error("[Menu]: Cannot setColumnHeader before create");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return k.__inject__.setColumnHeader(this.id,t,i,this.sourceInfo?.charset||"ISO-8859-1"),this}disable(){if(this._id===l.MENU)throw new Error("[Menu]: Cannot disable menu before create");return k.__inject__.disable(this.id),this}disableRow(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot disable row before create");return k.__inject__.disableRow(this.id,t)}isValid(){return D.skip&&this.id!==l.MENU?!0:k.isValid(this.id)}showForPlayer(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot show menu before create");return k.__inject__.showForPlayer(this.id,t.id)}hideForPlayer(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot hide menu before create");return k.__inject__.hideForPlayer(this.id,t.id)}isDisabled(){return this._id===l.MENU?!1:k.__inject__.isDisabled(this.id)}isRowDisabled(t){return this._id===l.MENU?!1:k.__inject__.isRowDisabled(this.id,t)}getItems(t){return this._id===l.MENU?0:k.__inject__.getItems(this.id,t)}getPos(){return k.__inject__.getPos(this.id)}getColumnWidth(){return k.__inject__.getColumnWidth(this.id)}getColumnHeader(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot get column header before create");return k.__inject__.getColumnHeader(this.id,t,this.sourceInfo?.charset||"ISO-8859-1")}getItem(t,i){if(this._id===l.MENU)throw new Error("[Menu]: Cannot get item before create");if(i<0||i>this.getItems(t)-1)throw new Error("[Menu]: invalid getItem range");return k.__inject__.getItem(this.id,t,i,this.sourceInfo?.charset||"ISO-8859-1")}static isValid(t){return k.__inject__.isValid(t)}static getInstance(t){return Ge.get(t)}static getInstances(){return[...Ge.values()]}static getInstanceByPlayer(t){return this.getInstance(Ei(t.id))}static __inject__={create:kI,destroy:$u,addItem:xI,setColumnHeader:HI,disable:tm,disableRow:im,isValid:em,showForPlayer:Qu,hideForPlayer:qu,isDisabled:Xu,isRowDisabled:Zu,getItems:Yu,getPos:zu,getColumnWidth:Ju,getColumnHeader:VI,getItem:BI,getPlayerMenu:Ei}}x.onExit(({next:e})=>(k.getInstances().forEach(t=>t.destroy()),Ge.clear(),e()));const[yC]=m({name:"OnPlayerExitedMenu",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[CC]=m({name:"OnPlayerSelectedMenuRow",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e),a=k.getInstanceByPlayer(i);return{player:i,menu:a,row:t}}}),AC=Object.freeze({onPlayerExited:yC,onPlayerSelectedRow:CC});class b{sourceInfo=null;_player=null;_id=l.GANG_ZONE;get id(){return this._id}constructor(t,i){if(typeof t=="number"){if(t===l.GANG_ZONE)throw new Error("[GangZone]: Invalid id");i&&(this._player=i);const a=b.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?Oe.set(this._id,this):i&&(Z.has(i)||Z.set(i,new Map),Z.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[GangZone]: Unable to create with only id");if(this.id!==l.GANG_ZONE)throw new Error("[GangZone]: Unable to create again");const{player:t}=this.sourceInfo;if(t){const{minX:i,minY:a,maxX:r,maxY:n}=this.sourceInfo;if(this._id=b.__inject__.createPlayer(t.id,i,a,r,n),this.id===l.GANG_ZONE||b.getInstances(t).length===H.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to create playerGangZone");const s=Ue.onDisconnect(({player:o,next:_})=>{_();const d=this.getPlayer();d&&o===d&&(this.isValid()&&this.destroy(),s())});Z.has(t)||Z.set(t,new Map),Z.get(t).set(this._id,this)}else{const{minX:i,minY:a,maxX:r,maxY:n}=this.sourceInfo;if(this._id=b.__inject__.create(i,a,r,n),this.id===l.GANG_ZONE||b.getInstances().length===H.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to create gangZone");Oe.set(this.id,this)}return this}destroy(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to destroy before create");const t=this.getPlayer();if(!t)D.skip||b.__inject__.destroy(this.id),Oe.delete(this.id);else if(D.skip||b.__inject__.destroyPlayer(t.id,this.id),Z.has(t)){const i=Z.get(t);i.delete(this.id),i.size||Z.delete(t)}this._id=l.GANG_ZONE}isGlobal(){return!(this.sourceInfo?this.sourceInfo.player:this._player)}isPlayer(){return!this.isGlobal()}getPlayer(){return this._player?this._player:this.sourceInfo&&this.sourceInfo.player?this.sourceInfo.player:null}getPlayerId(){const t=this.getPlayer();return t?t.id:l.PLAYER_ID}showForAll(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to show gangzone before create");if(!this.getPlayer())return b.__inject__.showForAll(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be show for all.")}showForPlayer(t,i){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to show gangzone before create");const a=this.getPlayer();if(a)b.__inject__.showPlayer(a.id,this.id,N(t));else if(i)b.__inject__.showForPlayer(i.id,this.id,t);else throw new Error("[GangZone]: invalid player for show");return this}hideForAll(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to hide gangzone before create");if(!this.getPlayer())return b.__inject__.hideForAll(this.id),this;throw new Error("[GangZone]: player's gangzone should not be hide for all.")}hideForPlayer(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to hide gangzone before create");const i=this.getPlayer();if(i)b.__inject__.hidePlayer(i.id,this.id);else if(t)b.__inject__.hideForPlayer(t.id,this.id);else throw new Error("[GangZone]: invalid player for hide");return this}flashForAll(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to flash gangzone before create");if(!this.getPlayer())return b.__inject__.flashForAll(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be flash for all.")}flashForPlayer(t,i){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to flash gangzone before create");const a=this.getPlayer();if(a)b.__inject__.flashPlayer(a.id,this.id,N(i));else if(t)b.__inject__.flashForPlayer(t.id,this.id,i);else throw new Error("[GangZone]: invalid player for flash");return this}stopFlashForAll(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to stop flash gangzone before create");if(!this.getPlayer())return b.__inject__.stopFlashForAll(this.id),this;throw new Error("[GangZone]: player's gangzone should not be stop flash for all.")}stopFlashForPlayer(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to stop flash gangzone before create");const i=this.getPlayer();if(i)b.__inject__.stopFlashPlayer(i.id,this.id);else if(t)b.__inject__.stopFlashForPlayer(t.id,this.id);else throw new Error("[GangZone]: invalid player for flash");return this}isValid(){if(D.skip&&this.id!==l.GANG_ZONE)return!0;if(this.id===l.GANG_ZONE)return!1;const t=this.getPlayer();return t?b.isValidPlayer(t.id,this.id):b.isValidGlobal(this.id)}isPlayerIn(t){if(this.id===l.GANG_ZONE)return!1;const i=this.getPlayer();return i?b.__inject__.isPlayerInPlayer(i.id,this.id):b.__inject__.isPlayerIn(t.id,this.id)}isVisibleForPlayer(t){if(this.id===l.GANG_ZONE)return!1;const i=this.getPlayer();return i?b.__inject__.isVisiblePlayer(i.id,this.id):b.__inject__.isVisibleForPlayer(t.id,this.id)}getColorForPlayer(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to get color before create");const i=this.getPlayer();return i?b.__inject__.getColorPlayer(i.id,this.id):b.__inject__.getColorForPlayer(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to get flash color before create");const i=this.getPlayer();return i?b.__inject__.getFlashColorPlayer(i.id,this.id):b.__inject__.getFlashColorForPlayer(t.id,this.id)}isFlashingForPlayer(t){if(this.id===l.GANG_ZONE)return!1;const i=this.getPlayer();return i?b.__inject__.isFlashingPlayer(i.id,this.id):b.__inject__.isFlashingForPlayer(t.id,this.id)}getPos(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to get position before create");const t=this.getPlayer();return t?b.__inject__.getPosPlayer(t.id,this.id):b.__inject__.getPos(this.id)}useCheck(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to use check before create");const i=this.getPlayer();return i?b.__inject__.useCheckPlayer(i.id,this.id,t):b.__inject__.useCheck(this.id,t),this}static isValidPlayer(t,i){return b.__inject__.isValidPlayer(t,i)}static isValidGlobal(t){return b.__inject__.isValidGlobal(t)}static getInstance(t,i){if(!i)return Oe.get(t);if(i.id!==l.PLAYER_ID)return Z.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...Z.get(t)?.values()||[]]:[...Oe.values()]}static getPlayersInstances(){return Array.from(Z.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:Fm,destroy:Mm,showForAll:Bm,hideForAll:xm,flashForAll:Um,stopFlashForAll:Km,getPos:Gm,useCheck:jm,createPlayer:Xm,destroyPlayer:Zm,showPlayer:Ym,showForPlayer:Vm,hidePlayer:zm,hideForPlayer:km,flashPlayer:Jm,flashForPlayer:Hm,stopFlashPlayer:$m,stopFlashForPlayer:Wm,getPosPlayer:nf,useCheckPlayer:sf,isPlayerIn:bm,isPlayerInPlayer:qm,isVisibleForPlayer:Lm,isVisiblePlayer:ef,getColorForPlayer:wm,getColorPlayer:tf,getFlashColorForPlayer:Rm,getFlashColorPlayer:af,isFlashingForPlayer:Om,isFlashingPlayer:rf,isValidPlayer:Qm,isValidGlobal:vm}}Ue.onDisconnect(({player:e,next:t})=>(Z.has(e)&&(b.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),Z.delete(e)),t())),x.onExit(({next:e})=>(b.getInstances().forEach(t=>t.destroy()),b.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Oe.clear(),Z.clear(),e()));const[EC]=m({name:"OnPlayerEnterGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[NC]=m({name:"OnPlayerLeaveGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[DC]=m({name:"OnPlayerEnterPlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),[TC]=m({name:"OnPlayerLeavePlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),[vC]=m({name:"OnPlayerClickGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[bC]=m({name:"OnPlayerClickPlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),LC=Object.freeze({onPlayerEnterGlobal:EC,onPlayerLeaveGlobal:NC,onPlayerEnterPlayer:DC,onPlayerLeavePlayer:TC,onPlayerClickGlobal:vC,onPlayerClickPlayer:bC});class f{sourceInfo=null;_player=null;_id=l.TEXT_DRAW;get id(){return this._id}constructor(t,i){if(typeof t=="number"){if(t===l.TEXT_DRAW||t===l.PLAYER_TEXT_DRAW)throw new Error("[TextDraw]: Invalid id");i&&(this._player=i);const a=f.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?je.set(this._id,this):i&&(Y.has(i)||Y.set(i,new Map),Y.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[TextDraw]: Unable to create with only id");if(this.id!==l.TEXT_DRAW)throw new Error("[TextDraw]: Unable to create again");const{x:t,y:i,text:a,player:r,charset:n="ISO-8859-1"}=this.sourceInfo,s=A.encodeToBuf(A.convertSpecialChar(a),n);if(r){if(this._id=f.__inject__.createPlayer(r.id,t,i,s),this.id===l.TEXT_DRAW||f.getInstances(r).length===H.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to create player textdraw");Y.has(r)||Y.set(r,new Map),Y.get(r).set(this._id,this)}else{if(this._id=f.__inject__.create(t,i,s),this.id===l.TEXT_DRAW||f.getInstances().length===H.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to create textdraw");je.set(this.id,this)}return this}destroy(){this.id===l.TEXT_DRAW&&f.beforeCreateWarn("destroy textdraw");const t=this.getPlayer();if(!t)D.skip||f.__inject__.destroy(this.id),je.delete(this.id);else if(D.skip||f.__inject__.destroyPlayer(t.id,this.id),Y.has(t)){const i=Y.get(t);i.delete(this.id),i.size||Y.delete(t)}return this._id=l.TEXT_DRAW,this}setFont(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set font"),this;const i=this.getPlayer();return i?f.__inject__.setFontPlayer(i.id,this.id,t):f.__inject__.setFont(this.id,t),this}setColor(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set color"),this;const i=this.getPlayer();return i?f.__inject__.setColorPlayer(i.id,this.id,t):f.__inject__.setColor(this.id,t),this}setBoxColors(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set box color"),this;const i=this.getPlayer();return i?f.__inject__.setBoxColorPlayer(i.id,this.id,t):f.__inject__.setBoxColor(this.id,t),this}setBackgroundColors(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set background color"),this;const i=this.getPlayer();return i?f.__inject__.setBackgroundColorPlayer(i.id,this.id,t):f.__inject__.setBackgroundColor(this.id,t),this}setAlignment(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set alignment"),this;const i=this.getPlayer();return i?f.__inject__.setAlignmentPlayer(i.id,this.id,t):f.__inject__.setAlignment(this.id,t),this}setLetterSize(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set letter size"),this;const a=this.getPlayer();return a?f.__inject__.setLetterSizePlayer(a.id,this.id,t,i):f.__inject__.setLetterSize(this.id,t,i),this}setOutline(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set outline model"),this;if(t<0)throw new Error("[TextDraw]: Invalid outline value");const i=this.getPlayer();return i?f.__inject__.setOutlinePlayer(i.id,this.id,t):f.__inject__.setOutline(this.id,t),this}setPreviewModel(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set preview model"),this;this.setFont($e.MODEL_PREVIEW);const i=this.getPlayer();return i?f.__inject__.setPreviewModelPlayer(i.id,this.id,t):f.__inject__.setPreviewModel(this.id,t),this}setPreviewRot(t,i,a,r=1){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set preview rot"),this;this.setFont($e.MODEL_PREVIEW);const n=this.getPlayer();return n?f.__inject__.setPreviewRotPlayer(n.id,this.id,t,i,a,r):f.__inject__.setPreviewRot(this.id,t,i,a,r),this}setPreviewVehColors(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set preview veh col"),this;this.setFont($e.MODEL_PREVIEW);const a=this.getPlayer();return a?f.__inject__.setPreviewVehicleColorsPlayer(a.id,this.id,t,i):f.__inject__.setPreviewVehicleColors(this.id,t,i),this}setProportional(t=!0){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set Proportional"),this;const i=this.getPlayer();return i?f.__inject__.setProportionalPlayer(i.id,this.id,t):f.__inject__.setProportional(this.id,t),this}setSelectable(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set Selectable"),this;const i=this.getPlayer();return i?f.__inject__.setSelectablePlayer(i.id,this.id,t):f.__inject__.setSelectable(this.id,t),this}setShadow(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set shadow"),this;if(t<0)throw new Error("[TextDraw]: Invalid shadow value");const i=this.getPlayer();return i?f.__inject__.setShadowPlayer(i.id,this.id,t):f.__inject__.setShadow(this.id,t),this}setString(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)throw new Error("[TextDraw]: Invalid text length");const a=this.sourceInfo?.charset||"ISO-8859-1",r=A.encodeToBuf(A.convertSpecialChar(t),a),n=this.getPlayer();return n?f.__inject__.setStringPlayer(n.id,this.id,r):i?f.__inject__.setStringForPlayer(this.id,i.id,r):f.__inject__.setString(this.id,r),this}setTextSize(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set TextSize"),this;const a=this.getPlayer();return a?f.__inject__.setTextSizePlayer(a.id,this.id,t,i):f.__inject__.setTextSize(this.id,t,i),this}useBox(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set TextSize"),this;const i=this.getPlayer();return i?f.__inject__.useBoxPlayer(i.id,this.id,t):f.__inject__.useBox(this.id,t),this}static beforeCreateWarn(t){throw new Error(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("show"),this;const i=this.getPlayer();if(i)f.__inject__.showPlayer(i.id,this.id);else if(t)f.__inject__.showForPlayer(t.id,this.id);else throw new Error("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("hide"),this;const i=this.getPlayer();if(i)f.__inject__.hidePlayer(i.id,this.id);else if(t)f.__inject__.hideForPlayer(t.id,this.id);else throw new Error("[TextDraw]: invalid player for hide");return this}showAll(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("show"),this;if(!this.getPlayer())return f.__inject__.showForAll(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be show for all.")}hideAll(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("hideAll"),this;if(!this.getPlayer())return f.__inject__.hideForAll(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be hide for all.")}isValid(){if(D.skip&&this.id!==l.TEXT_DRAW)return!0;const t=this.getPlayer();return t?f.__inject__.isValidPlayer(t.id,this.id):f.__inject__.isValid(this.id)}isVisibleForPlayer(t){if(this.id===l.TEXT_DRAW)return!1;const i=this.getPlayer();return i?f.__inject__.isVisiblePlayer(i.id,this.id):t?f.__inject__.isVisibleForPlayer(t.id,this.id):!1}getString(){this.id===l.TEXT_DRAW&&f.beforeCreateWarn("getString");const t=this.getPlayer();return t?f.__inject__.getStringPlayer(t.id,this.id).str:f.__inject__.getString(this.id).str}setPos(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set position"),this;const a=this.getPlayer();return a?f.__inject__.setPosPlayer(a.id,this.id,t,i):f.__inject__.setPos(this.id,t,i),this}getLetterSize(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get letter size");const t=this.getPlayer();return t?f.__inject__.getLetterSizePlayer(t.id,this.id):f.__inject__.getLetterSize(this.id)}getTextSize(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get text size");const t=this.getPlayer();return t?f.__inject__.getTextSizePlayer(t.id,this.id):f.__inject__.getTextSize(this.id)}getPos(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get position");const t=this.getPlayer();return t?f.__inject__.getPosPlayer(t.id,this.id):f.__inject__.getPos(this.id)}getColor(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get color");const t=this.getPlayer();return t?f.__inject__.getColorPlayer(t.id,this.id):f.__inject__.getColor(this.id)}getBoxColor(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get box color");const t=this.getPlayer();return t?f.__inject__.getBoxColorPlayer(t.id,this.id):f.__inject__.getBoxColor(this.id)}getBackgroundColor(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get bg color");const t=this.getPlayer();return t?f.__inject__.getBackgroundColorPlayer(t.id,this.id):f.__inject__.getBackgroundColor(this.id)}getShadow(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get shadow");const t=this.getPlayer();return t?f.__inject__.getShadowPlayer(t.id,this.id):f.__inject__.getShadow(this.id)}getOutline(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get outline");const t=this.getPlayer();return t?f.__inject__.getOutlinePlayer(t.id,this.id):f.__inject__.getOutline(this.id)}getFont(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get font");const t=this.getPlayer();return t?f.__inject__.getFontPlayer(t.id,this.id):f.__inject__.getFont(this.id)}isBox(){if(this.id===l.TEXT_DRAW)return!1;const t=this.getPlayer();return t?f.__inject__.isBoxPlayer(t.id,this.id):f.__inject__.isBox(this.id)}isProportional(){if(this.id===l.TEXT_DRAW)return!1;const t=this.getPlayer();return t?f.__inject__.isProportionalPlayer(t.id,this.id):f.__inject__.isProportional(this.id)}isSelectable(){if(this.id===l.TEXT_DRAW)return!1;const t=this.getPlayer();return t?f.__inject__.isSelectablePlayer(t.id,this.id):f.__inject__.isSelectable(this.id)}getAlignment(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get alignment");const t=this.getPlayer();return t?f.__inject__.getAlignmentPlayer(t.id,this.id):f.__inject__.getAlignment(this.id)}getPreviewModel(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get preview model");const t=this.getPlayer();return t?f.__inject__.getPreviewModelPlayer(t.id,this.id):f.__inject__.getPreviewModel(this.id)}getPreviewRot(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get preview rotation");const t=this.getPlayer();return t?f.__inject__.getPreviewRotPlayer(t.id,this.id):f.__inject__.getPreviewRot(this.id)}getPreviewVehColors(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get preview vel colors");const t=this.getPlayer();return t?f.__inject__.getPreviewVehicleColorsPlayer(t.id,this.id):f.__inject__.getPreviewVehicleColors(this.id)}isGlobal(){return!this.getPlayer()}isPlayer(){return!this.isGlobal()}getPlayer(){return this._player?this._player:this.sourceInfo&&this.sourceInfo.player?this.sourceInfo.player:null}getPlayerId(){const t=this.getPlayer();return t?t.id:l.PLAYER_ID}static getInstance(t,i){if(!i)return je.get(t);if(i.id!==l.PLAYER_ID)return Y.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...Y.get(t)?.values()||[]]:[...je.values()]}static getPlayersInstances(){return Array.from(Y.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:vf,createPlayer:pP,destroy:bf,destroyPlayer:IP,setFont:Bf,setFontPlayer:bP,setColor:Of,setColorPlayer:AP,setBoxColor:jf,setBoxColorPlayer:NP,setBackgroundColor:Vf,setBackgroundColorPlayer:vP,setAlignment:Rf,setAlignmentPlayer:CP,setLetterSize:Lf,setLetterSizePlayer:SP,setOutline:Mf,setOutlinePlayer:TP,setPreviewModel:Zf,setPreviewModelPlayer:jP,setPreviewRot:Yf,setPreviewRotPlayer:FP,setPreviewVehicleColors:zf,setPreviewVehicleColorsPlayer:MP,setProportional:kf,setProportionalPlayer:LP,setSelectable:xf,setSelectablePlayer:wP,setShadow:Ff,setShadowPlayer:DP,setStringPlayer:GP,setStringForPlayer:Tf,setString:Xf,setTextSize:wf,setTextSizePlayer:yP,useBoxPlayer:EP,useBox:Gf,showPlayer:RP,showForPlayer:Hf,hidePlayer:OP,hideForPlayer:Uf,showForAll:Wf,hideForAll:Kf,isValidPlayer:Qf,isValid:lf,isVisiblePlayer:qf,isVisibleForPlayer:of,getStringPlayer:eP,getString:_f,setPosPlayer:tP,setPos:cf,getLetterSizePlayer:iP,getLetterSize:df,getTextSizePlayer:aP,getTextSize:hf,getPosPlayer:rP,getPos:gf,getColorPlayer:nP,getColor:uf,getBoxColorPlayer:sP,getBoxColor:mf,getBackgroundColorPlayer:lP,getBackgroundColor:ff,getShadowPlayer:oP,getShadow:Pf,getOutlinePlayer:_P,getOutline:pf,getFontPlayer:cP,getFont:If,isBoxPlayer:dP,isBox:Sf,isProportionalPlayer:hP,isProportional:yf,isSelectablePlayer:gP,isSelectable:Cf,getAlignmentPlayer:uP,getAlignment:Af,getPreviewModelPlayer:mP,getPreviewModel:Ef,getPreviewRotPlayer:fP,getPreviewRot:Nf,getPreviewVehicleColors:Df,getPreviewVehicleColorsPlayer:PP}}Ue.onDisconnect(({player:e,next:t})=>(Y.has(e)&&(f.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),Y.delete(e)),t())),x.onExit(({next:e})=>(f.getInstances().forEach(t=>t.destroy()),f.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),je.clear(),Y.clear(),e()));const[wC]=m({name:"OnPlayerClickTextDraw",identifier:"ii",defaultValue:!1,beforeEach(e,t){return{player:c.getInstance(e),textDraw:t===l.TEXT_DRAW?t:f.getInstance(t)}}}),[RC]=m({name:"OnPlayerClickPlayerTextDraw",identifier:"ii",defaultValue:!1,beforeEach(e,t){const i=c.getInstance(e);return{player:i,textDraw:t===l.TEXT_DRAW?t:f.getInstance(t,i)}}}),OC=Object.freeze({onPlayerClickGlobal:wC,onPlayerClickPlayer:RC});Ue.onDisconnect(({player:e,next:t})=>(W.has(e)&&(S.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),W.delete(e)),t())),x.onExit(({next:e})=>(S.getInstances().forEach(t=>t.destroy()),S.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Ae.clear(),W.clear(),e()));const[GC]=m({name:"OnPlayerSelectObject",identifier:"iiiifff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s){const o=c.getInstance(e),_=t!==ge.UNKNOWN&&t===ge.PLAYER_OBJECT,d=t!==ge.UNKNOWN&&t===ge.GLOBAL_OBJECT;return{player:o,type:t,isPlayerObject:_,isGlobal:d,objectMp:t===ge.GLOBAL_OBJECT?S.getInstance(i):S.getInstance(i,o),modelId:a,fX:r,fY:n,fZ:s}}}),[jC]=m({name:"OnPlayerEditObject",identifier:"iiiiffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d){const h=c.getInstance(e),u=t===1;return{player:h,isPlayerObject:u,isGlobal:!u,objectMp:u?S.getInstance(i,h):S.getInstance(i),response:a,fX:r,fY:n,fZ:s,fRotX:o,fRotY:_,fRotZ:d}}}),[FC]=m({name:"OnPlayerEditAttachedObject",identifier:"iiiiifffffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d,h,u,I,C){return{player:c.getInstance(e),response:t,index:i,modelId:a,boneId:r,fOffsetX:n,fOffsetY:s,fOffsetZ:o,fRotX:_,fRotY:d,fRotZ:h,fScaleX:u,fScaleY:I,fScaleZ:C}}}),[MC]=m({name:"OnObjectMoved",identifier:"i",beforeEach(e){return{objectMp:S.getInstance(e)}}}),[VC]=m({name:"OnPlayerObjectMoved",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,playerObject:S.getInstance(t,i)}}}),BC=Object.freeze({onPlayerSelect:GC,onPlayerEdit:jC,onPlayerEditAttached:FC,onGlobalMoved:MC,onPlayerMoved:VC});class O{_id=l.ACTOR_ID;sourceInfo=null;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===l.ACTOR_ID)throw new Error("[Actor]: Invalid id");const i=O.getInstance(t);if(i)return i;this._id=t}else this.sourceInfo=t}create(){if(this._id!==l.ACTOR_ID)throw new Error("[Actor]: Cannot be created twice");const{skin:t,x:i,y:a,z:r,rotation:n}=this.sourceInfo;if(this._id=O.__inject__.create(t,i,a,r,n),this._id===l.ACTOR_ID||O.getInstances().length===H.MAX_ACTORS)throw new Error("[Actor]: Unable to create actor");return Ve.set(this._id,this),this}destroy(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot before create");return D.skip||O.__inject__.destroy(this._id),Ve.delete(this._id),this._id=l.ACTOR_ID,this}isStreamIn(t){return this._id===l.ACTOR_ID?!1:O.__inject__.isStreamedIn(this.id,t.id)}setVirtualWorld(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setVirtualWorld(this.id,t)}getVirtualWorld(){return this._id===l.ACTOR_ID?0:O.__inject__.getVirtualWorld(this.id)}applyAnimation(t,i,a,r,n,s,o,_){return this._id===l.ACTOR_ID?!1:O.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_)}clearAnimations(){return this._id===l.ACTOR_ID?!1:O.__inject__.clearAnimations(this.id)}setPos(t,i,a){return this._id===l.ACTOR_ID?!1:O.__inject__.setPos(this.id,t,i,a)}getPos(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getPos before create");return O.__inject__.getPos(this.id)}setFacingAngle(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setFacingAngle(this.id,t)}getFacingAngle(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getFacingAngle before create");return O.__inject__.getFacingAngle(this.id)}setHealth(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setHealth(this.id,t)}getHealth(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getHealth before create");return O.__inject__.getHealth(this.id)}setInvulnerable(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setInvulnerable(this.id,t)}isInvulnerable(){return this._id===l.ACTOR_ID?!1:O.__inject__.isInvulnerable(this.id)}isValid(){return O.isValid(this._id)}setSkin(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setSkin(this.id,t)}getSkin(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getSkin before create");return this.sourceInfo?this.sourceInfo.skin:O.__inject__.getSkin(this.id)}getAnimation(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getAnimation before create");return O.__inject__.getAnimation(this.id)}getSpawnInfo(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getSpawnInfo before create");return O.__inject__.getSpawnInfo(this.id)}static isValid(t){return O.__inject__.isValid(t)}static getInstance(t){return Ve.get(t)}static getInstances(){return[...Ve.values()]}static __inject__={create:vc,destroy:bc,applyAnimation:Oc,clearAnimations:Gc,getAnimation:Tc,getFacingAngle:Vc,getHealth:kc,getPos:Fc,getSkin:Ec,getSpawnInfo:Dc,getVirtualWorld:Rc,isInvulnerable:Hc,isStreamedIn:Lc,isValid:Uc,setFacingAngle:Mc,setHealth:Bc,setInvulnerable:xc,setPos:jc,setSkin:Nc,setVirtualWorld:wc}}x.onExit(({next:e})=>(O.getInstances().forEach(t=>t.destroy()),Ve.clear(),e()));const[kC]=m({name:"OnPlayerGiveDamageActor",identifier:"iifii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),actor:O.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),[xC]=m({name:"OnActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:O.getInstance(e),player:c.getInstance(t)}}}),[HC]=m({name:"OnActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:O.getInstance(e),player:c.getInstance(t)}}}),UC=Object.freeze({onPlayerGiveDamage:kC,onStreamIn:xC,onStreamOut:HC});class Le{static set(t,i,a,r,n){return Le.__inject__.set(t.id,i,a,r,n)}static disable(t){return Le.__inject__.disable(t.id)}static isPlayerIn(t){return Le.__inject__.isPlayerIn(t.id)}static isActive(t){return Le.__inject__.isActive(t.id)}static get(t){return Le.__inject__.get(t.id)}static __inject__={disable:xu,get:yi,isActive:Si,isPlayerIn:Wu,set:ku}}const[WC]=m({name:"OnPlayerEnterCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[KC]=m({name:"OnPlayerLeaveCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),XC=Object.freeze({onPlayerEnter:WC,onPlayerLeave:KC});class we{static set(t,i,a,r,n,s,o,_,d){return we.__inject__.set(t.id,i,a,r,n,s,o,_,d)}static disable(t){return we.__inject__.disable(t.id)}static isPlayerIn(t){return we.__inject__.isPlayerIn(t.id)}static isActive(t){return we.__inject__.isActive(t.id)}static get(t){return we.__inject__.get(t.id)}static __inject__={disable:Uu,get:Ai,isActive:Ci,isPlayerIn:Ku,set:Hu}}const[ZC]=m({name:"OnPlayerEnterRaceCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[YC]=m({name:"OnPlayerLeaveRaceCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),zC=Object.freeze({onPlayerEnter:ZC,onPlayerLeave:YC});class M{sourceInfo=null;_id=l.PICKUP_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===l.PICKUP_ID)throw new Error("[Pickup]: Invalid id");this._id=t;const i=M.getInstance(this._id);if(i)return i;Be.set(this.id,this)}else this.sourceInfo=t}create(){if(!this.sourceInfo)throw new Error("[Pickup]: Unable to create with only id");if(this.id!==l.PICKUP_ID)throw new Error("[Pickup]: Cannot be created twice");const{model:t,type:i,virtualWorld:a,x:r,y:n,z:s,isStatic:o}=this.sourceInfo;if(o)M.__inject__.addStatic(t,i,r,n,s,a);else{if(this._id=M.__inject__.create(t,i,r,n,s,a),M.getInstances().length===H.MAX_PICKUPS||this._id===l.PICKUP_ID)throw new Error("[Pickup]: Unable to create pickup");Be.set(this.id,this)}return this}destroy(){if(this.sourceInfo&&this.sourceInfo.isStatic)throw new Error("[Pickup]: Cannot destroy static pickups");if(this.id===l.PICKUP_ID)throw new Error("[Pickup]: Cannot be destroyed twice");D.skip||M.__inject__.destroy(this.id),Be.delete(this.id)}isValid(){return this.id===l.PICKUP_ID?!1:M.isValid(this.id)}isStreamedIn(t){return this.id===l.PICKUP_ID?!1:M.__inject__.isStreamedIn(t.id,this.id)}getPos(){return M.__inject__.getPos(this.id)}getModel(){return this.id===l.PICKUP_ID?0:M.__inject__.getModel(this.id)}getType(){return this.id===l.PICKUP_ID?0:M.__inject__.getType(this.id)}getVirtualWorld(){return this.id===l.PICKUP_ID?0:M.__inject__.getVirtualWorld(this.id)}setPos(t,i,a,r){return this.id===l.PICKUP_ID?!1:M.__inject__.setPos(this.id,t,i,a,r)}setModel(t,i=!0){return this.id===l.PICKUP_ID?!1:M.__inject__.setModel(this.id,t,i)}setType(t,i=!0){return this.id===l.PICKUP_ID?!1:M.__inject__.setType(this.id,t,i)}setVirtualWorld(t){return this.id===l.PICKUP_ID?!1:M.__inject__.setVirtualWorld(this.id,t)}showForPlayer(t){return this.id===l.PICKUP_ID?!1:M.__inject__.showForPlayer(t.id,this.id)}hideForPlayer(t){return this.id===l.PICKUP_ID?!1:M.__inject__.hideForPlayer(t.id,this.id)}isHiddenForPlayer(t){return this.id===l.PICKUP_ID?!1:M.__inject__.isHiddenForPlayer(t.id,this.id)}static isValid(t){return t===l.PICKUP_ID?!1:M.__inject__.isValid(t)}static getInstance(t){return Be.get(t)}static getInstances(){return[...Be.values()]}static __inject__={create:hI,addStatic:dI,destroy:gI,isStreamedIn:qp,getPos:eI,getModel:tI,getType:iI,getVirtualWorld:aI,setPos:rI,setModel:nI,setType:sI,setVirtualWorld:lI,showForPlayer:oI,hideForPlayer:_I,isHiddenForPlayer:cI,isValid:Qp}}x.onExit(({next:e})=>(M.getInstances().forEach(t=>t.destroy()),Be.clear(),e()));const[JC]=m({name:"OnPlayerPickUpPickup",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:M.getInstance(t)}}}),[$C]=m({name:"OnPickupStreamIn",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:M.getInstance(t)}}}),[QC]=m({name:"OnPickupStreamOut",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:M.getInstance(t)}}}),qC=Object.freeze({onPlayerPickUp:JC,onStreamIn:$C,onStreamOut:QC});class w{sourceInfo=null;_id=l._3DTEXT_ID;_player=null;get id(){return this._id}constructor(t,i){if(typeof t=="number"){if(t===l.PLAYER_3DTEXT_ID)throw new Error("[TextLabel]: Invalid id");i&&(this._player=i);const a=w.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?ke.set(this._id,this):i&&(z.has(i)||z.set(i,new Map),z.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[TextLabel]: Unable to create with only id");if(this.id!==l._3DTEXT_ID)throw new Error("[TextLabel]: Unable to create again");const{charset:t="utf8",text:i,color:a,x:r,y:n,z:s,drawDistance:o,virtualWorld:_,testLOS:d,attachedPlayer:h,attachedVehicle:u}=this.sourceInfo;if(this.isGlobal()){if(this._id=w.__inject__.create(t,i,a,r,n,s,o,_,d),this.id===l._3DTEXT_ID||w.getInstances().length===H.MAX_3DTEXT_GLOBAL)throw new Error("[TextLabel]: Unable to create textLabel");return ke.set(this._id,this),this}const I=this.getPlayerId();if(I===l.PLAYER_ID)return this;const C=this.getPlayer();if(this._id=w.__inject__.createPlayer(t,I,i,a,r,n,s,o,typeof h>"u"?l.PLAYER_ID:h.id,typeof u>"u"?l.VEHICLE_ID:u.id,d),this.id===l._3DTEXT_ID||w.getInstances(C).length===H.MAX_3DTEXT_PLAYER)throw new Error("[TextLabel]: Unable to create playerTextLabel");return z.has(C)||z.set(C,new Map),z.get(this.getPlayer()).set(this.id,this),this}destroy(){if(this.id===l._3DTEXT_ID)throw new Error("[TextLabel]: Unable to destroy the textLabel before create");if(this.isGlobal())D.skip||w.__inject__.delete(this.id),ke.delete(this.id);else{const t=this.getPlayerId();if(t===l.PLAYER_ID)return this;const i=this.getPlayer();if(D.skip||w.__inject__.deletePlayer(t,this.id),z.has(i)){const a=z.get(i);a.delete(this.id),a.size===0&&z.delete(i)}}return this._id=l._3DTEXT_ID,this}isGlobal(){return!(this.sourceInfo?this.sourceInfo.player:this._player)}isPlayer(){return!this.isGlobal()}getPlayer(){return this._player?this._player:this.sourceInfo&&this.sourceInfo.player?this.sourceInfo.player:null}getPlayerId(){const t=this.getPlayer();return t?t.id:l.PLAYER_ID}isValid(){return D.skip&&this.id!==l._3DTEXT_ID?!0:this.isGlobal()?w.isValid(this.id):w.isValid(this.id,this.getPlayerId())}attachToPlayer(t,i,a,r){if(this.id===l._3DTEXT_ID)return!1;if(!this.isGlobal())throw new Error("[TextLabel]: Unable to attach to player, textLabel is not global");return w.__inject__.attachToPlayer(this.id,t.id,i,a,r)}attachToVehicle(t,i,a,r){if(this.id===l._3DTEXT_ID)return!1;if(!this.isGlobal())throw new Error("[TextLabel]: Unable to attach to vehicle, textLabel is not global");return w.__inject__.attachToVehicle(this.id,t.id,i,a,r)}updateText(t,i,a="utf8"){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.updateText(a,this.id,t,i):w.__inject__.updatePlayerText(a,this.getPlayerId(),this.id,t,i)}isStreamedIn(t){if(this.id===l._3DTEXT_ID)return!1;if(!this.isGlobal())throw new Error("[TextLabel]: Unable to check stream in, textLabel is not global");return w.__inject__.isStreamedIn(this.id,t.id)}getText(t=this.sourceInfo?.charset||"utf8"){return this.isGlobal()?w.__inject__.getText(t,this.id):w.__inject__.getPlayerText(t,this.getPlayerId(),this.id)}getColor(){return this.isGlobal()?w.__inject__.getColor(this.id):w.__inject__.getPlayerColor(this.getPlayerId(),this.id)}getPos(){return this.isGlobal()?w.__inject__.getPos(this.id):w.__inject__.getPlayerPos(this.getPlayerId(),this.id)}setDrawDistance(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.setDrawDistance(this.id,t):w.__inject__.setPlayerDrawDistance(this.getPlayerId(),this.id,t)}getDrawDistance(){return this.isGlobal()?w.__inject__.getDrawDistance(this.id):w.__inject__.getPlayerDrawDistance(this.getPlayerId(),this.id)}getLOS(){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.getLOS(this.id):w.__inject__.getPlayerLOS(this.getPlayerId(),this.id)}setLOS(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.setLOS(this.id,t):w.__inject__.setPlayerLOS(this.getPlayerId(),this.id,t)}getVirtualWorld(){return this.id===l._3DTEXT_ID?0:this.isGlobal()?w.__inject__.getVirtualWorld(this.id):w.__inject__.getPlayerVirtualWorld(this.getPlayerId(),this.id)}setVirtualWorld(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.setVirtualWorld(this.id,t):w.__inject__.setPlayerVirtualWorld(this.getPlayerId(),this.id,t)}getAttachedData(){return this.isGlobal()?w.__inject__.getAttachedData(this.id):w.__inject__.getPlayerAttachedData(this.getPlayerId(),this.id)}static isValid(t,i){return i===l.PLAYER_ID?!1:typeof i>"u"?w.__inject__.isValid(t):w.__inject__.isValidPlayer(i,t)}static getInstance(t,i){if(!i)return ke.get(t);if(i.id!==l.PLAYER_ID)return z.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...z.get(t)?.values()||[]]:[...ke.values()]}static getPlayersInstances(){return Array.from(z.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:RI,createPlayer:OI,getText:FI,getPlayerText:MI,updateText:GI,updatePlayerText:jI,delete:um,attachToPlayer:mm,attachToVehicle:fm,isStreamedIn:rm,getColor:nm,getPos:sm,setDrawDistance:lm,getDrawDistance:om,getLOS:_m,setLOS:cm,getVirtualWorld:hm,setVirtualWorld:dm,getAttachedData:gm,isValid:am,deletePlayer:Tm,getPlayerColor:pm,getPlayerPos:Im,setPlayerDrawDistance:Sm,getPlayerDrawDistance:ym,getPlayerLOS:Cm,setPlayerLOS:Am,getPlayerVirtualWorld:Em,setPlayerVirtualWorld:Nm,getPlayerAttachedData:Dm,isValidPlayer:Pm}}Ue.onDisconnect(({player:e,next:t})=>(z.has(e)&&(w.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),z.delete(e)),t())),x.onExit(({next:e})=>(w.getInstances().forEach(t=>t.destroy()),w.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),ke.clear(),z.clear(),e()));function eA(e,t){return(e&t)===t}function tA(e,t,i){return(e&i)===i&&(t&i)!==i}function iA(e,t){return!!(e&t)}function aA(e,t,i){return(e&i)!==i&&(t&i)===i}function rA(e){const t=new Set,i=e.prototype,a=Object.getOwnPropertyNames(i).filter(n=>typeof i[n]=="function"&&n!=="constructor").reduce((n,s)=>(n[s]=i[s],n),{});function r(n,s){if(t.has(n))throw new Error(`Method '${String(n)}' of class '${e.name}' has already been hooked. Each method can only be hooked once per defineHooks call. `);if(typeof Reflect.get(i,n)!="function")throw new Error(`Invalid method: ${String(n)}`);return Reflect.set(i,n,s),t.add(n),s}return[a,r]}export{O as Actor,UC as ActorEvent,vt as ArtworkEnum,kt as BodyPartsEnum,xt as BoneIdsEnum,zt as BulletHitTypesEnum,ze as CameraCutStylesEnum,Bt as CameraModesEnum,Wt as CarModTypeEnum,XC as CheckPointEvent,Le as Checkpoint,bt as ClickSourcesEnum,wt as ConnectionStatusEnum,mt as DamageDeathReasonEnum,U as Dialog,dt as DialogStylesEnum,ee as Dynamic3DTextLabel,Yy as Dynamic3DTextLabelEvent,G as DynamicActor,Uy as DynamicActorEvent,v as DynamicArea,tC as DynamicAreaEvent,Ry as DynamicCheckPointEvent,K as DynamicCheckpoint,ne as DynamicMapIcon,Iy as DynamicMapIconEvent,R as DynamicObject,uy as DynamicObjectEvent,ie as DynamicPickup,Ny as DynamicPickupEvent,X as DynamicRaceCP,By as DynamicRaceCPEvent,le as E_STREAMER,Lt as EditResponseTypesEnum,ht as FightingStylesEnum,Ht as ForceSyncEnum,x as GameMode,be as GameText,b as GangZone,LC as GangZoneEvent,A as I18n,l as InvalidEnum,Rt as KeysEnum,H as LimitsEnum,ot as MapIconStyles,Vt as MapIconStylesEnum,Ot as MarkerModesEnum,Qt as MaterialTextAlign,st as MaterialTextSizes,k as Menu,AC as MenuEvent,Ye as NPCEntityCheckEnum,Re as NPCMoveSpeedEnum,at as NPCMoveTypeEnum,Gt as NPCPlaybackEnum,jt as NPCRecordStatusEnum,$ as NetStats,g as Npc,SC as NpcEvent,We as NpcNode,Xe as NpcPath,Ke as NpcRecord,Mt as ObjectMaterialAlignmentEnum,Ft as ObjectMaterialTextSizeEnum,S as ObjectMp,BC as ObjectMpEvent,qC as PickUpEvent,M as Pickup,c as Player,Ue as PlayerEvent,Je as PlayerStateEnum,we as RaceCheckpoint,zC as RaceCpEvent,Jt as RecordTypesEnum,ge as SelectObjectTypesEnum,gt as SpecialActionsEnum,rt as SpectateModesEnum,E as Streamer,$t as StreamerAreaTypes,V as StreamerDistances,T as StreamerItemTypes,P as StreamerMiscellaneous,nt as StreamerObjectTypes,f as TextDraw,Ut as TextDrawAlignEnum,OC as TextDrawEvent,$e as TextDrawFontsEnum,w as TextLabel,p as Vehicle,ry as VehicleEvent,Xt as VehicleModelInfoEnum,Kt as VehicleParamsEnum,Zt as WeaponEnum,Yt as WeaponSkillsEnum,ut as WeaponStatesEnum,Ti as animateLib,m as defineEvent,rA as defineHooks,uI as getAnimateDurationByLibName,eA as isHolding,tA as isPressed,iA as isPressing,aA as isReleased,St as isValidAnimateLib,yt as isValidAnimateName,N as rgba,ts as useTrigger,is as withTriggerOptions};
3
+ ${t}`)}},eS=async e=>{await Et(e),await At(e)},tS=e=>ct.has(e);Ri(async({next:e})=>{const t=Ee.map(i=>i.name);for(const i of t)await At(i);return e()}),Oi(async({next:e})=>{const t=xe.map(i=>i.name);for(const i of t)await Et(i);return e()});const iS=function(e,...t){if(Ee.some(i=>i.name===e.name)||xe.some(i=>i.name===e.name))throw new Error(`[GameMode]: script ${e.name} has already been applied`);e.load=e.load.bind(e,...t),Ee.push(e)},_e=new Uint32Array(65536),aS=(e,t)=>{const i=e.length,a=t.length,r=1<<i-1;let n=-1,s=0,o=i,_=i;for(;_--;)_e[e.charCodeAt(_)]|=1<<_;for(_=0;_<a;_++){let d=_e[t.charCodeAt(_)];const h=d|s;d|=(d&n)+n^n,s|=~(d|n),n&=d,s&r&&o++,n&r&&o--,s=s<<1|1,n=n<<1|~(h|s),s&=h}for(_=i;_--;)_e[e.charCodeAt(_)]=0;return o},rS=(e,t)=>{const i=t.length,a=e.length,r=[],n=[],s=Math.ceil(i/32),o=Math.ceil(a/32);for(let y=0;y<s;y++)n[y]=-1,r[y]=0;let _=0;for(;_<o-1;_++){let y=0,L=-1;const j=_*32,J=Math.min(32,a)+j;for(let F=j;F<J;F++)_e[e.charCodeAt(F)]|=1<<F;for(let F=0;F<i;F++){const ce=_e[t.charCodeAt(F)],se=n[F/32|0]>>>F&1,ae=r[F/32|0]>>>F&1,Dt=ce|y,Tt=((ce|ae)&L)+L^L|ce|ae;let Xe=y|~(Tt|L),it=L&Tt;Xe>>>31^se&&(n[F/32|0]^=1<<F),it>>>31^ae&&(r[F/32|0]^=1<<F),Xe=Xe<<1|se,it=it<<1|ae,L=it|~(Dt|Xe),y=Xe&Dt}for(let F=j;F<J;F++)_e[e.charCodeAt(F)]=0}let d=0,h=-1;const u=_*32,I=Math.min(32,a-u)+u;for(let y=u;y<I;y++)_e[e.charCodeAt(y)]|=1<<y;let C=a;for(let y=0;y<i;y++){const L=_e[t.charCodeAt(y)],j=n[y/32|0]>>>y&1,J=r[y/32|0]>>>y&1,F=L|d,ce=((L|J)&h)+h^h|L|J;let se=d|~(ce|h),ae=h&ce;C+=se>>>a-1&1,C-=ae>>>a-1&1,se>>>31^j&&(n[y/32|0]^=1<<y),ae>>>31^J&&(r[y/32|0]^=1<<y),se=se<<1|j,ae=ae<<1|J,h=ae|~(F|se),d=se&F}for(let y=u;y<I;y++)_e[e.charCodeAt(y)]=0;return C},Gi=(e,t)=>{if(e.length<t.length){const i=t;t=e,e=i}return t.length===0?e.length:e.length<=32?aS(e,t):rS(e,t)},nS=(e,t)=>{let i=1/0,a=0;for(let r=0;r<t.length;r++){const n=Gi(e,t[r]);n<i&&(i=n,a=r)}return t[a]},Ne=new Map,De=new Map,ji=/[^/\s]+/gi,Qe={NOT_EXIST:{code:1,msg:"command does not exist"},REJECTED:{code:2,msg:"An event registered through onCommandText returned false"},PERFORMED:{code:3,msg:"An event registered through onCommandPerformed returned false"},RECEIVED_THROW:{code:4,msg:"An event registered through onCommandReceived throw an error"},RECEIVED_REJECTED:{code:5,msg:"An event registered through onCommandReceived returned false"}},[sS,lS]=m({name:"OnCommandReceived",isNative:!1,throwOnError:!0,beforeEach(e,t,i,a,r,n,s,o,_){return{player:e,command:t,cmdText:i,buffer:a,strictMainCmd:r,noStrictMainCmd:n,hasStrict:s,hasNoStrict:o,subcommand:_}}}),[oS,_S]=m({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t,i,a,r,n,s,o,_){return{player:e,command:t,cmdText:i,buffer:a,strictMainCmd:r,noStrictMainCmd:n,hasStrict:s,hasNoStrict:o,subcommand:_}}}),[cS,qe]=m({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d){return{player:e,error:t,command:i,cmdText:a,buffer:r,strictMainCmd:n,noStrictMainCmd:s,hasStrict:o,hasNoStrict:_,subcommand:d,getSuggestion(){const h=nS(a,[...Ne.keys(),...De.keys()]),u=Gi(a,h);return{suggestion:h,distance:u}}}}}),[dS,hS]=m({name:"OnPlayerCommandTextI18n",identifier:"iai",defaultValue:!1,beforeEach(e,t){const i=oe.get(e);let a=t,r="";return typeof t=="string"?(r=t,a=A.encodeToBuf(r,"utf-8")):r=A.decodeFromBuf(t,i.charset),{player:i,buffer:a,cmdText:r}}}),[gS,uS]=m({name:"OnPlayerCommandTextRaw",isNative:!1,defaultValue:!1,beforeEach(e,t,i){return{player:e,buffer:t,cmdText:i}}});function mS(e){const t=[];let i="";for(let a=0;a<e.length;a++)i+=e[a]+" ",t.push(i.trimEnd());return t.reverse()}dS(({player:e,buffer:t,cmdText:i,next:a})=>{const r=uS(e,t,i);if(r)return r;const n=i.match(ji),s=mS(n),o=s.find(L=>Ne.has(L)),_=s.map(L=>L.toLowerCase()).find(L=>De.has(L)),d=!!o,h=!!_,u=n.join(" ");let I=[];const C=[[o,Ne,!0],[_,De,!1]],y=[u,i,t,o,_,d,h,I];if(d||h){const L=C[0][0]||C[1][0];I=u.replace(L,"").trim().split(" ")}else return qe(e,Qe.NOT_EXIST,...y);try{if(!lS(e,...y))return qe(e,Qe.RECEIVED_REJECTED,...y)}catch(L){const j=typeof L=="object"?L:{error:L};return qe(e,{...Qe.RECEIVED_THROW,...j},...y)}for(const[L,j,J]of C){if(!L)continue;const F=j.get(L),[,ce]=F;if(!ce(e,L,I,i,t,J))return qe(e,Qe.REJECTED,...y)}return _S(e,u,i,t,o,_,d,h,I)?(a(),!0):qe(e,Qe.PERFORMED,...y)});function fS(e,t,i,a,r,n){return{player:e,mainCommand:t,subcommand:i,cmdText:a,buffer:r,isStrict:n}}class te{static caseSensitive=!1;constructor(){}static on(t,i){let a=te.caseSensitive,r,n;typeof t=="string"||t instanceof Array?(r=t,n=i):(r=t.command,n=t.run,typeof t.caseSensitive<"u"&&(a=t.caseSensitive));const s=Array.isArray(r)?r:[r],o=s.find(h=>!h.match(ji));if(o)return console.log(`error command ${o} format`),()=>{};const _=a?Ne:De,d=s.map(h=>{const u=h.replaceAll("/",""),I=a?u:u.toLowerCase();if(!_.has(I)){const y=m({name:a?"$"+I:I,isNative:!1,beforeEach:fS});_.set(I,y)}const[C]=_.get(I);return[I,C(n)]});return()=>{d.forEach(h=>{const[u,I]=h;I()===0&&_.delete(u)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(i=>{let a=i.replaceAll("/","");Ne.has(a)&&(Q.has(a)&&Q.delete(a),Ne.has(a)&&Ne.delete(a)),a=a.toLowerCase(),De.has(a)&&(Q.has(a)&&Q.delete(a),De.has(a)&&De.delete(a))})}static enableCaseSensitive(){te.caseSensitive=!0}static disableCaseSensitive(){te.caseSensitive=!1}static isCaseSensitive(){return te.caseSensitive}static simulate(t,i){return hS(t.id,i)}}class x{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=Ri;static onExit=Oi;static onIncomingConnection=$I;static onRconCommand=QI;static onRconLoginAttempt=qI;static use(t,...i){return iS(t,...i),this}static loadUseScript=At;static reloadUseScript=eS;static unloadUseScript=Et;static isUseScriptLoaded=tS;static enableCmdCaseSensitive=te.enableCaseSensitive;static disableCmdCaseSensitive=te.disableCaseSensitive;static isCmdCaseSensitive=te.isCaseSensitive;static supportAllNickname(){for(let t=0;t<=255;t++)this.isNickNameCharacterAllowed(t)||this.allowNickNameCharacter(t,!0)}static setWeather(t){if(t<0||t>255)throw new Error("[GameMode]: The valid weather value is only 0 to 255");return Ks(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");return Hs(t)}static getWorldTime=Us;static setTeamCount=hl;static sendRconCommand=AI;static addPlayerClass=gl;static addPlayerClassEx=ul;static createExplosion(t,i,a,r,n){if(r<0||r>13)throw new Error("[GameMode]: The valid explosion type value is only 0 to 13");return Ys(t,i,a,r,n)}static manualVehicleEngineAndLights=zg;static blockIpAddress=Ol;static unBlockIpAddress=Gl;static getServerTickRate=il;static addSimpleModel(t,i,a,r,n){return this.checkSimpleModel(t,i,a,r,n)?Pp(t,i,a,r,n):!1}static addSimpleModelTimed(t,i,a,r,n,s,o){return this.checkSimpleModel(t,i,a,r,n,s,o)?pp(t,i,a,r,n,s,o):!1}static checkSimpleModel(t,i,a,r,n,s,o){if(t<-1)throw new Error("[GameMode]: AddSimpleModel - Error virtual world");if(i<0)throw new Error("[GameMode]: AddSimpleModel - Error baseId");if(a>H.MAX_CUSTOM_OBJECT_ID||a<H.MIN_CUSTOM_OBJECT_ID)throw new Error("[GameMode]: AddSimpleModel - Error newId range");if(r.trim().length===0)throw new Error("[GameMode]: AddSimpleModel - Empty dffName");if(n.trim().length===0)throw new Error("[GameMode]: AddSimpleModel - Empty txdName");if(s!==void 0&&(s<0||s>23))throw new Error("[GameMode]: AddSimpleModel - Error time on range");if(o!==void 0&&(o<0||o>23))throw new Error("[GameMode]: AddSimpleModel - Error time off range");return!0}static isValidCustomModel=Di;static getCustomModePath=Dp;static getConsoleVarAsString(t,i="utf8"){const{consoleVarBuf:a,ret:r}=Ts(t);return{consoleVar:A.decodeFromBuf(A.getValidStr(a),i),ret:r}}static getRestartTime=Gs;static setRestartTime=Os;static allowAdminTeleport=ys;static isAdminTeleportAllowed=Cs;static allowInteriorWeapons=As;static areInteriorWeaponsAllowed=Es;static areAllAnimationsEnabled=Ns;static enableAllAnimations=Ds;static enableStuntBonusForAll=rl;static enableVehicleFriendlyFire=Ws;static enableZoneNames=zs;static disableInteriorEnterExits=$s;static setGameModeText=Bs;static getGravity=Xs;static setGravity=Zs;static showNameTags=ks;static disableNameTagLOS=qs;static usePlayerPedAnims=Js;static showPlayerMarkers=xs;static limitPlayerMarkerRadius=tl;static limitGlobalChatRadius=el;static setNameTagDrawDistance=Qs;static findModelFileNameFromCRC=Sp;static findTextureFileNameFromCRC=yp;static getWeaponName=ol;static setObjectsDefaultCameraCollision=fp;static vectorSize=It;static clearBanList=Ml;static isBanned=Vl;static isValidNickName=us;static allowNickNameCharacter=ms;static isNickNameCharacterAllowed=fs;static addServerRule=Ps;static setServerRule=ps;static isValidServerRule=Is;static removeServerRule=Ss;static getWeaponSlot=ll;static getAvailableClasses=_l;static getPlayerClass=cl;static editPlayerClass=dl;static toggleChatTextReplacement=nl;static chatTextReplacementToggled=sl;static getConsoleVarAsInt=vs;static getConsoleVarAsBool=bs;static getWeather=Ls;static getServerRuleFlag=ws;static setServerRuleFlags=Rs;static getAnimationName=al}const D={skip:!1};x.onInit(({next:e})=>(D.skip=!1,e())),x.onExit(({next:e})=>(D.skip=!0,e()));class p{sourceInfo=null;isStatic=!1;static createdCount=0;_id=l.VEHICLE_ID;get id(){return this._id}constructor(t,i=!1){if(typeof t=="number"){if(t===l.VEHICLE_ID)throw new Error("[Vehicle]: Invalid id");const a=p.getInstance(t);if(a)return a;this._id=t,me.set(this._id,this),this.isValid()&&p.createdCount++}else this.sourceInfo=t,this.isStatic=i}create(t=!1){if(this.id!==l.VEHICLE_ID)throw new Error("[Vehicle]: Unable to create again");if(!this.sourceInfo)throw new Error("[Vehicle]: Unable to create with only id");const{modelId:i,x:a,y:r,z:n,zAngle:s,color:o,respawnDelay:_,addSiren:d}=this.sourceInfo;if(!(!t&&!Ct(i))){if(this.isStatic){if(typeof _>"u"){this._id=p.__inject__.addStatic(i,a,r,n,s,o[0],o[1]);return}this._id=p.__inject__.addStaticEx(i,a,r,n,s,o[0],o[1],_||-1,d||!1)}else this._id=p.__inject__.create(i,a,r,n,s,o[0],o[1],_||-1,d||!1);if(this._id===l.VEHICLE_ID||p.createdCount===H.MAX_VEHICLES)throw new Error("[Vehicle]: Unable to create vehicle");p.createdCount++,me.set(this._id,this)}}destroy(){if(this.id===l.VEHICLE_ID&&!D.skip)throw new Error("[Vehicle]: Unable to destroy the vehicle before create");D.skip||p.__inject__.destroy(this._id),p.createdCount--,me.delete(this._id),this._id=l.VEHICLE_ID,p.getInstances().length||(p.createdCount=0)}addComponent(t){if(this.id===l.VEHICLE_ID)return 0;if(!ZI(this.getModel(),t))throw new Error(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`);return p.__inject__.addComponent(this.id,t)}removeComponent(t){if(this.getComponentInSlot(p.getComponentType(t))===0)throw new Error(`[Vehicle]: component id ${t} does not exist on this vehicle`);return p.__inject__.removeComponent(this.id,t)}getComponentInSlot(t){return p.__inject__.getComponentInSlot(this.id,t)}linkToInterior(t){return this.id===l.VEHICLE_ID?0:p.__inject__.linkToInterior(this.id,t)}setVirtualWorld(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setVirtualWorld(this.id,t)}getVirtualWorld(){return this.id===l.VEHICLE_ID?0:p.__inject__.getVirtualWorld(this.id)}repair(){return this.id===l.VEHICLE_ID?0:p.__inject__.repair(this.id)}setPos(t,i,a){return this.id===l.VEHICLE_ID?!1:p.__inject__.setPos(this.id,t,i,a)}getPos(){return p.__inject__.getPos(this.id)}getHealth(){return p.__inject__.getHealth(this.id)}setHealth(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setHealth(this.id,t)}isPlayerIn(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.isPlayerIn(t.id,this.id)}putPlayerIn(t,i){if(this.id===l.VEHICLE_ID||i<0)return 0;if(i>4)throw new Error("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle.");return p.__inject__.putPlayerIn(t.id,this.id,i)}getZAngle(){return p.__inject__.getZAngle(this.id)}setZAngle(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setZAngle(this.id,t)}setNumberPlate(t){if(this.id===l.VEHICLE_ID)return 0;if(t.length<1||t.length>32)throw new Error("[Vehicle]: The length of the number plate ranges up to 32 characters");if(!/^[a-zA-Z0-9]+$/.test(t))throw new Error("[Vehicle]: number plates only allow letters and numbers");return p.__inject__.setNumberPlate(this.id,t)}changeColors(t,i){return this.id===l.VEHICLE_ID?0:p.__inject__.changeColors(this.id,t,i)}setVelocity(t,i,a){return this.id===l.VEHICLE_ID?!1:p.__inject__.setVelocity(this.id,t,i,a)}getVelocity(){return p.__inject__.getVelocity(this.id)}getSpeed(t=180){if(this.id===l.VEHICLE_ID)return 0;const{x:i,y:a,z:r}=this.getVelocity();return It(i,a,r)*t}setAngularVelocity(t,i,a){return this.id===l.VEHICLE_ID?!1:p.__inject__.setAngularVelocity(this.id,t,i,a)}getDamageStatus(){return p.__inject__.getDamageStatus(this.id)}updateDamageStatus(t,i,a,r){return p.__inject__.updateDamageStatus(this.id,t,i,a,r)}getDistanceFromPoint(t,i,a){return p.__inject__.getDistanceFromPoint(this.id,t,i,a)}getModel(){return p.__inject__.getModel(this.id)}static getModelInfo(t,i){return p.__inject__.getModelInfo(t,i)}getModelInfo(t){return p.getModelInfo(this.getModel(),t)}getRotation(){return p.__inject__.getRotation(this.id)}getRotationQuat(){return p.__inject__.getRotationQuat(this.id)}setRespawn(){return this.id===l.VEHICLE_ID?0:p.__inject__.setRespawn(this.id)}isStreamedIn(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.isStreamedIn(this.id,t.id)}setParamsCarDoors(t,i,a,r){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsCarDoors(this.id,t,i,a,r)}setParamsCarWindows(t,i,a,r){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsCarWindows(this.id,t,i,a,r)}getParamsCarDoors(){return p.__inject__.getParamsCarDoors(this.id)}getParamsCarWindows(){return p.__inject__.getParamsCarWindows(this.id)}setParamsEx(t,i,a,r,n,s,o){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsEx(this.id,t,i,a,r,n,s,o)}getParamsEx(){if(this.id===l.VEHICLE_ID)return{engine:-1,lights:-1,alarm:-1,doors:-1,bonnet:-1,boot:-1,objective:-1};const[t,i,a,r,n,s,o]=p.__inject__.getParamsEx(this.id);return{engine:t,lights:i,alarm:a,doors:r,bonnet:n,boot:s,objective:o}}toggleEngine(t){if(this.id===l.VEHICLE_ID)return 0;const{lights:i,alarm:a,doors:r,bonnet:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(t,i,a,r,n,s,o)}toggleLights(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,alarm:a,doors:r,bonnet:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,t,a,r,n,s,o)}toggleAlarm(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,doors:r,bonnet:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,a,t,r,n,s,o)}toggleDoors(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,alarm:r,bonnet:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,a,r,t,n,s,o)}toggleBonnet(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,alarm:r,doors:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,a,r,n,t,s,o)}toggleBoot(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,alarm:r,doors:n,bonnet:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,a,r,n,s,t,o)}toggleObjective(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,alarm:r,doors:n,bonnet:s,boot:o}=this.getParamsEx();return this.setParamsEx(i,a,r,n,s,o,t)}getParamsSirenState(){return this.id===l.VEHICLE_ID?-2:p.__inject__.getParamsSirenState(this.id)}setParamsForPlayer(t,i,a){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsForPlayer(this.id,t.id,i,a)}isTrailerAttached(){return this.id===l.VEHICLE_ID?!1:p.__inject__.isTrailerAttached(this.id)}changePaintjob(t){return this.id===l.VEHICLE_ID||!YI(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),p.__inject__.changePaintjob(this.id,t),1)}attachTrailer(t){return this.id===l.VEHICLE_ID?0:p.__inject__.attachTrailer(t.id,this.id)}detachTrailer(){this.isTrailerAttached()&&p.__inject__.detachTrailer(this.id)}getTrailer(){return p.getInstance(uu(this.id))}isValid(){return D.skip&&this.id!==l.VEHICLE_ID?!0:p.isValid(this.id)}getMatrix(){return p.__inject__.getMatrix(this.id)}getTrainSpeed(){return this.id===l.VEHICLE_ID?0:p.__inject__.getTrainSpeed(this.id)}getHydraReactorAngle(){return this.id===l.VEHICLE_ID?0:p.__inject__.getHydraReactorAngle(this.id)}getLandingGearState(){return this.id===l.VEHICLE_ID?0:p.__inject__.getLandingGearState(this.id)}getSirenState(){return this.id===l.VEHICLE_ID?0:p.__inject__.getSirenState(this.id)}getDriver(){return oe.get(Ii(this.id))}getLastDriver(){return oe.get(pi(this.id))}isSirenEnabled(){return p.__inject__.isSirenEnabled(this.id)}toggleSirenEnabled(t){return this.id===l.VEHICLE_ID?0:p.__inject__.toggleSirenEnabled(this.id,t)}setParamsSirenState(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsSirenState(this.id,t)}isDead(){return this.id===l.VEHICLE_ID?!0:p.__inject__.isDead(this.id)}setDead(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.setDead(this.id,t)}setBeenOccupied(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.setBeenOccupied(this.id,t)}getRespawnTick(){return this.id===l.VEHICLE_ID?0:p.__inject__.getRespawnTick(this.id)}setRespawnTick(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.setRespawnTick(this.id,t)}isOccupied(){return this.id===l.VEHICLE_ID?!1:p.__inject__.isOccupied(this.id)}hasBeenOccupied(){return this.id===l.VEHICLE_ID?!1:p.__inject__.hasBeenOccupied(this.id)}getOccupiedTick(){return this.id===l.VEHICLE_ID?0:p.__inject__.getOccupiedTick(this.id)}setOccupiedTick(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setOccupiedTick(this.id,t)}getCab(){return this.id===l.VEHICLE_ID?0:p.__inject__.getCab(this.id)}getRespawnDelay(){return this.id===l.VEHICLE_ID?0:p.__inject__.getRespawnDelay(this.id)}setRespawnDelay(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setRespawnDelay(this.id,t)}getNumberPlate(){return p.__inject__.getNumberPlate(this.id)}getInterior(){return this.id===l.VEHICLE_ID?0:p.__inject__.getInterior(this.id)}getPaintjob(){return this.id===l.VEHICLE_ID?l.VEHICLE_ID:p.__inject__.getPaintjob(this.id)}getColors(){return p.__inject__.getColors(this.id)}setSpawnInfo(t,i,a,r,n,s,o,_=-2,d=-2,h=!1){return this.id===l.VEHICLE_ID||!h&&!Ct(t)?0:p.__inject__.setSpawnInfo(this.id,t,i,a,r,n,N(s),N(o),_,d)}getSpawnInfo(){return p.__inject__.getSpawnInfo(this.id)}getRandomColorPair(){return p.__inject__.getRandomColorPair(this.getModel())}show(){return this.id===l.VEHICLE_ID?!1:p.__inject__.show(this.id)}hide(){return this.id===l.VEHICLE_ID?!1:p.__inject__.hide(this.id)}isHidden(){return this.id===l.VEHICLE_ID?!1:p.__inject__.isHidden(this.id)}getOccupant(t){return p.__inject__.getOccupant(this.id,t)}getMaxPassengers(){return p.__inject__.getMaxPassengers(this.getModel())}countOccupants(){return p.__inject__.countOccupants(this.getModel())}static getMaxPassengers(t){return p.__inject__.getMaxPassengers(t)}static getRandomColorPair(t){return p.__inject__.getRandomColorPair(t)}static getComponentType(t){return p.__inject__.getComponentType(t)}static colorIndexToColor(t,i=255){return p.__inject__.colorIndexToColor(t,i)}static isValid(t){return p.__inject__.isValid(t)}static getModelsUsed(){return p.__inject__.getModelsUsed()}static getModelCount(t){return p.__inject__.getModelCount(t)}static getInstance(t){return me.get(t)}static getInstances(){return[...me.values()]}static __inject__={addStatic:bu,addStaticEx:Lu,create:Vg,destroy:Bg,addComponent:nu,removeComponent:su,getComponentInSlot:Pu,linkToInterior:ru,setVirtualWorld:Du,getVirtualWorld:Tu,repair:Iu,setPos:Hg,getPos:xg,getHealth:cu,setHealth:_u,isPlayerIn:z_,putPlayerIn:D_,getZAngle:Ug,setZAngle:Zg,setNumberPlate:mu,changeColors:lu,setVelocity:yu,getVelocity:Su,setAngularVelocity:Cu,getDamageStatus:Au,updateDamageStatus:Eu,getDistanceFromPoint:Xg,getModel:fu,getModelInfo:Nu,getRotation:Wg,getRotationQuat:Kg,setRespawn:au,isStreamedIn:kg,setParamsCarDoors:qg,setParamsCarWindows:tu,getParamsCarDoors:eu,getParamsCarWindows:iu,setParamsEx:Jg,getParamsEx:$g,getParamsSirenState:Qg,setParamsForPlayer:Yg,isTrailerAttached:gu,changePaintjob:ou,attachTrailer:du,detachTrailer:hu,getMatrix:jg,getTrainSpeed:Gg,getHydraReactorAngle:Og,getLandingGearState:Rg,getSirenState:wg,getDriver:Ii,getLastDriver:pi,isSirenEnabled:vg,toggleSirenEnabled:Dg,setParamsSirenState:Tg,isDead:Ag,setDead:Eg,setBeenOccupied:Ng,getRespawnTick:yg,setRespawnTick:Cg,isOccupied:Sg,hasBeenOccupied:Ig,getOccupiedTick:Pg,setOccupiedTick:pg,getCab:fg,getRespawnDelay:mg,setRespawnDelay:ug,getNumberPlate:gg,getInterior:hg,getPaintjob:dg,getColors:cg,setSpawnInfo:_g,getSpawnInfo:og,getRandomColorPair:Fg,show:wu,hide:Ru,isHidden:Ou,getOccupant:Bu,getMaxPassengers:ku,countOccupants:xu,getComponentType:pu,colorIndexToColor:Mg,isValid:vu,getModelsUsed:Lg,getModelCount:bg}}class S{sourceInfo=null;_id=l.OBJECT_ID;_player=null;get id(){return this._id}constructor(t,i){if(typeof t=="number"){if(t===l.OBJECT_ID)throw new Error("[ObjectMp]: Invalid id");i&&(this._player=i);const a=S.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?Ae.set(this._id,this):i&&(W.has(i)||W.set(i,new Map),W.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[ObjectMp]: Unable to create with only id");if(this.id!==l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to create again");const{modelId:t,x:i,y:a,z:r,rx:n,ry:s,rz:o,drawDistance:_=0}=this.sourceInfo;if(this.isGlobal()){if(this._id=S.__inject__.create(t,i,a,r,n,s,o,_),this.id===l.OBJECT_ID||S.getInstances().length===H.MAX_OBJECTS)throw new Error("[ObjectMp]: Unable to create object");return Ae.set(this._id,this),this}const d=this.getPlayerId();if(d===l.PLAYER_ID)return this;const h=this.getPlayer();if(this._id=S.__inject__.createPlayer(d,t,i,a,r,n,s,o,_),this.id===l.OBJECT_ID||S.getInstances(h).length===H.MAX_OBJECTS)throw new Error("[ObjectMp]: Unable to create player object");return W.has(h)||W.set(h,new Map),W.get(this.getPlayer()).set(this.id,this),this}destroy(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to destroy before create");if(this.isGlobal())D.skip||S.__inject__.destroy(this.id),Ae.delete(this.id);else{const t=this.getPlayerId();if(t===l.PLAYER_ID)return this;const i=this.getPlayer();if(D.skip||S.__inject__.destroyPlayer(t,this.id),W.has(i)){const a=W.get(i);a.delete(this.id),a.size===0&&W.delete(i)}}return this._id=l.OBJECT_ID,this}isGlobal(){return!(this.sourceInfo?this.sourceInfo.player:this._player)}isPlayer(){return!this.isGlobal()}getPlayer(){return this._player?this._player:this.sourceInfo&&this.sourceInfo.player?this.sourceInfo.player:null}getPlayerId(){const t=this.getPlayer();return t?t.id:l.PLAYER_ID}isValid(){return D.skip&&this.id!==l.OBJECT_ID?!0:this.isGlobal()?S.isValid(this.id):S.isValid(this.id,this.getPlayerId())}getModel(){return this.sourceInfo?this.sourceInfo.modelId:this.isGlobal()?S.__inject__.getModel(this.id):S.__inject__.getModelPlayer(this.getPlayerId(),this.id)}getPos(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot get position before create");return this.isGlobal()?S.__inject__.getPos(this.id):S.__inject__.getPosPlayer(this.getPlayerId(),this.id)}setPos(t,i,a){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot set position before create");return this.isGlobal()?S.__inject__.setPos(this.id,t,i,a):S.__inject__.setPosPlayer(this.getPlayerId(),this.id,t,i,a)}getRot(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot get rotation before create");return this.isGlobal()?S.__inject__.getRot(this.id):S.__inject__.getRotPlayer(this.getPlayerId(),this.id)}setRot(t,i,a){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot set rotation before create");return this.isGlobal()?S.__inject__.setRot(this.id,t,i,a):S.__inject__.setRotPlayer(this.getPlayerId(),this.id,t,i,a)}move(t,i,a,r,n,s,o){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot start moving before create");if(r<0)throw new Error("[ObjectMp]: speed must not be less than 0");if(r>120*1e3)throw new Error("[ObjectMp]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),this.isGlobal()?S.__inject__.move(this.id,t,i,a,r,n,s,o):S.__inject__.movePlayer(this.getPlayerId(),this.id,t,i,a,r,n,s,o)}stop(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot stop moving before create");return this.isGlobal()?S.__inject__.stop(this.id):S.__inject__.stopPlayer(this.getPlayerId(),this.id)}isMoving(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.isMoving(this.id):S.__inject__.isMovingPlayer(this.getPlayerId(),this.id)}attachCamera(t){if(this.id===l.OBJECT_ID)return!1;if(this.isGlobal()){if(!t)throw new Error("[ObjectMp]: Cannot attachCamera without player");return S.__inject__.attachCamera(t.id,this.id)}return S.__inject__.attachCameraPlayer(this.getPlayerId(),this.id)}attachToObject(t,i,a,r,n,s,o,_=!0){if(this.id===l.OBJECT_ID||t.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot attachToObject before both are created");if(this.isGlobal()&&t.isGlobal())return S.__inject__.attachToObject(this.id,t.id,i,a,r,n,s,o,_);if(!this.isGlobal()&&!t.isGlobal())return S.__inject__.attachPlayerToObject(this.getPlayerId(),this.id,t.id,i,a,r,n,s,o,_);throw new Error("[ObjectMp]: Cannot attachToObject with global and player object")}attachToPlayer(t,i,a,r,n,s,o){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.attachToPlayer(this.id,t.id,i,a,r,n,s,o):S.__inject__.attachPlayerToPlayer(this.getPlayerId(),this.id,t.id,i,a,r,n,s,o)}attachToVehicle(t,i,a,r,n,s,o){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.attachToVehicle(this.id,t.id,i,a,r,n,s,o):S.__inject__.attachPlayerToVehicle(this.getPlayerId(),this.id,t.id,i,a,r,n,s,o)}edit(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to edit before create");if(this.isGlobal()){if(!t)throw new Error("[ObjectMp]: Cannot edit without player");return t.endObjectEditing(),S.__inject__.beginEditing(t.id,this.id)}const i=this.getPlayer();return i.endObjectEditing(),S.__inject__.beginEditingPlayer(i.id,this.id)}isMaterialUsed(t){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.isMaterialSlotUsed(this.id,t):S.__inject__.isMaterialSlotUsedPlayer(this.getPlayerId(),this.id,t)}getMaterial(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to get material before create");return this.isGlobal()?S.__inject__.getMaterial(this.id,t):S.__inject__.getMaterialPlayer(this.getPlayerId(),this.id,t)}setMaterial(t,i,a,r,n="#000"){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to set material before create");return this.isGlobal()?S.__inject__.setMaterial(this.id,t,i,a,r,N(n)):S.__inject__.setMaterialPlayer(this.getPlayerId(),this.id,t,i,a,r,N(n))}getMaterialText(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to get material text before create");return this.isGlobal()?S.__inject__.getMaterialText(this.id,t,this.sourceInfo?.charset||"utf8"):S.__inject__.getMaterialTextPlayer(this.getPlayerId(),this.id,t,this.sourceInfo?.charset||"utf8")}setMaterialText(t=this.sourceInfo?.charset,i,a,r=st.SIZE_256x128,n="Arial",s=24,o=!0,_="#fff",d="#000",h=0){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to set material text before create");return this.sourceInfo&&(this.sourceInfo.charset=t),this.isGlobal()?Li(t||"utf8",this.id,i,a,r,n,s,o,N(_),N(d),h):wi(t||"utf8",this.getPlayerId(),this.id,i,a,r,n,s,o,N(_),N(d),h)}setNoCameraCollision(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.setNoCameraCollision(this.id):S.__inject__.setNoCameraCollisionPlayer(this.getPlayerId(),this.id)}isNoCameraCol(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.isNoCameraCol(this.id):S.__inject__.isNoCameraColPlayer(this.getPlayerId(),this.id)}hasCameraCollision(){return!this.isNoCameraCol()}getDrawDistance(){return this.id===l.OBJECT_ID?0:this.isGlobal()?S.__inject__.getDrawDistance(this.id):S.__inject__.getDrawDistancePlayer(this.getPlayerId(),this.id)}setMoveSpeed(t){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.setMoveSpeed(this.id,t):S.__inject__.setMoveSpeedPlayer(this.getPlayerId(),this.id,t)}getMoveSpeed(){return this.id===l.OBJECT_ID?0:this.isGlobal()?S.__inject__.getMoveSpeed(this.id):S.__inject__.getMoveSpeedPlayer(this.getPlayerId(),this.id)}getMovingTargetPos(){return this.isGlobal()?S.__inject__.getMovingTargetPos(this.id):S.__inject__.getMovingTargetPosPlayer(this.getPlayerId(),this.id)}getSyncRotation(){return this.isGlobal()?S.__inject__.getSyncRotation(this.id):S.__inject__.getSyncRotationPlayer(this.getPlayerId(),this.id)}getAttachedOffset(){return this.isGlobal()?S.__inject__.getAttachedOffset(this.id):S.__inject__.getAttachedOffsetPlayer(this.getPlayerId(),this.id)}getTarget(){return this.isGlobal()?S.__inject__.getTarget(this.id):S.__inject__.getTargetPlayer(this.getPlayerId(),this.id)}static isValid(t,i){return i===l.PLAYER_ID?!1:typeof i>"u"?S.__inject__.isValid(t):S.__inject__.isValidPlayer(i,t)}static getInstance(t,i){if(!i)return Ae.get(t);if(i.id!==l.PLAYER_ID)return W.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...W.get(t)?.values()||[]]:[...Ae.values()]}static getPlayersInstances(){return Array.from(W.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:zP,createPlayer:Bp,destroy:_p,destroyPlayer:Yp,setMaterialText:Li,setMaterialTextPlayer:wi,setNoCameraCollision:sp,setNoCameraCollisionPlayer:Xp,isNoCameraCol:lp,isNoCameraColPlayer:Fp,getDrawDistance:kP,getDrawDistancePlayer:Tp,setMoveSpeed:HP,setMoveSpeedPlayer:vp,getMoveSpeed:xP,getMoveSpeedPlayer:bp,getMovingTargetPos:UP,getMovingTargetPosPlayer:wp,getSyncRotation:XP,getSyncRotationPlayer:Op,getAttachedOffset:KP,getAttachedOffsetPlayer:Rp,getTarget:WP,getTargetPlayer:Lp,isValid:op,isValidPlayer:Zp,getModel:np,getModelPlayer:Kp,getPos:ip,getPosPlayer:Hp,getRot:rp,getRotPlayer:Wp,setPos:tp,setPosPlayer:xp,setRot:ap,setRotPlayer:Up,move:cp,movePlayer:zp,setMaterial:mp,setMaterialPlayer:qp,stop:dp,stopPlayer:Jp,isMoving:hp,isMovingPlayer:$p,attachCamera:Pc,attachCameraPlayer:pc,attachToObject:QP,attachToPlayer:qP,attachToVehicle:JP,attachPlayerToObject:$P,attachPlayerToPlayer:Qp,attachPlayerToVehicle:kp,beginEditing:gp,beginEditingPlayer:Vp,endEditing:Ni,getMaterial:YP,getMaterialPlayer:jp,isMaterialSlotUsed:ZP,isMaterialSlotUsedPlayer:Gp,getMaterialText:RI,getMaterialTextPlayer:OI}}const[Fi]=m({name:"OnClientCheckResponse",identifier:"iiii",beforeEach(e,t,i,a){return{player:c.getInstance(e),actionId:t,memAddr:i,data:a}}}),[PS,pS]=m({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,i){return{player:e,newLocale:t,oldLocale:i}}}),[IS,SS]=m({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,i){return{player:e,newCharset:t,oldCharset:i}}});class c{constructor(t){if(this.id=t,t<0||t>=H.MAX_PLAYERS)throw new Error(`Invalid player ID: ${t} (valid range: 0-${H.MAX_PLAYERS-1})`);const i=c.getInstance(t);if(i)return i;oe.set(t,this)}static MAX_CHECK_ANDROID_DELAY=10;static SKIP_CHECK_ANDROID=!1;_charset="ISO-8859-1";_locale="en_US";[B]={isAndroid:!0,lastDrunkLevel:0,lastFps:0,lastUpdateTick:0,lastUpdateFpsTick:0,isPaused:!1,isRecording:!1};get lastDrunkLevel(){return this[B].lastDrunkLevel}get lastFps(){return this[B].lastFps}get lastUpdateTick(){return this[B].lastUpdateTick}get lastUpdateFpsTick(){return this[B].lastUpdateFpsTick}get isPaused(){return this[B].isPaused}get isRecording(){return this[B].isRecording}get charset(){return this._charset}set charset(t){const i=this._charset;this._charset=t,SS(this,t,i)}get locale(){return this._locale}set locale(t){const i=this._locale;this._locale=t,pS(this,t,i)}sendClientMessage(t,i){return c.__inject__.sendClientMessage(this,t,i)}static sendClientMessageToAll(t,i){c.__inject__.sendClientMessageToAll(c.getInstances(),t,i)}sendMessageToPlayer(t,i){return c.__inject__.sendMessageToPlayer(t,this.id,i)}sendMessageToAll(t){return c.__inject__.sendMessageToAll(c.getInstances(),this.id,t)}isNpc(){return c.__inject__.isNpc(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return c.__inject__.getDrunkLevel(this.id)}setDrunkLevel(t){if(t<0||t>5e4)throw new Error("[Player]: player's drunk level ranges from 0 to 50000");return c.__inject__.setDrunkLevel(this.id,t)}allowTeleport(t){return c.__inject__.allowTeleport(this.id,t)}isTeleportAllowed(){return c.__inject__.isTeleportAllowed(this.id)}enableCameraTarget(t){return c.__inject__.enableCameraTarget(this.id,t)}enableStuntBonus(t){return c.__inject__.enableStuntBonus(this.id,t)}getInterior(){return c.__inject__.getInterior(this.id)}setInterior(t){return c.__inject__.setInterior(this.id,t)}showNameTag(t,i){return c.__inject__.showNameTag(this.id,t.id,i)}setColor(t){return c.__inject__.setColor(this.id,t)}getColor(){return c.__inject__.getColor(this.id)}setMapIcon(t,i,a,r,n,s,o){return c.__inject__.setMapIcon(this.id,t,i,a,r,n,s,o)}removeMapIcon(t){return c.__inject__.removeMapIcon(this.id,t)}setMarker(t,i){c.__inject__.setMarker(this.id,t.id,i)}getMarker(t){return c.__inject__.getMarker(this.id,t.id)}resetMoney(){return c.__inject__.resetMoney(this.id)}getMoney(){return c.__inject__.getMoney(this.id)}giveMoney(t){return c.__inject__.giveMoney(this.id,t)}resetWeapons(){return c.__inject__.resetWeapons(this.id)}spawn(){return c.__inject__.spawn(this.id)}setHealth(t){return c.__inject__.setHealth(this.id,t)}getHealth(){return c.__inject__.getHealth(this.id)}toggleClock(t){return c.__inject__.toggleClock(this.id,t)}toggleControllable(t){return c.__inject__.toggleControllable(this.id,t)}toggleSpectating(t){return c.__inject__.toggleSpectating(this.id,t)}spectatePlayer(t,i=rt.NORMAL){return c.__inject__.spectatePlayer(this.id,t.id,i)}spectateVehicle(t,i=rt.NORMAL){return c.__inject__.spectateVehicle(this.id,t.id,i)}forceClassSelection(){return c.__inject__.forceClassSelection(this.id)}kick(){return c.__inject__.kick(this.id)}ban(){return c.__inject__.ban(this.id)}banEx(t,i){return c.__inject__.banEx(this.id,t,i)}isAdmin(){return c.__inject__.isAdmin(this.id)}isInRangeOfPoint(t,i,a,r){return c.__inject__.isInRangeOfPoint(this.id,t,i,a,r)}isStreamedIn(t){return c.__inject__.isStreamedIn(this.id,t.id)}setSkin(t,i=!1){return!i&&(t<0||t>311||t===74)||this.getHealth().health<=0||this.isInAnyVehicle()||this.getSpecialAction()===gt.DUCK?!1:c.__inject__.setSkin(this.id,t)}getSkin(){return c.__inject__.getSkin(this.id)}isInAnyVehicle(){return c.__inject__.isInAnyVehicle(this.id)}getSpecialAction(){return c.__inject__.getSpecialAction(this.id)}setSpecialAction(t){return c.__inject__.setSpecialAction(this.id,t)}setScore(t){return c.__inject__.setScore(this.id,t)}getScore(){return c.__inject__.getScore(this.id)}getPing(){return c.__inject__.getPing(this.id)||0}setPos(t,i,a){return c.__inject__.setPos(this.id,t,i,a)}getPos(){return c.__inject__.getPos(this.id)}isSpectating(){return this.getState()===ze.SPECTATING}isWasted(){return this.getState()===ze.WASTED}getState(){return c.__inject__.getState(this.id)}getVersion(){return c.__inject__.getVersion(this.id)}setVirtualWorld(t){return c.__inject__.setVirtualWorld(this.id,t)}getVirtualWorld(){return c.__inject__.getVirtualWorld(this.id)}removeFromVehicle(){return c.__inject__.removeFromVehicle(this.id)}setWantedLevel(t){if(t<0||t>6)throw new Error("[Player]: player's wanted level ranges from 0 to 6");return c.__inject__.setWantedLevel(this.id,t)}getWantedLevel(){return c.__inject__.getWantedLevel(this.id)}setFacingAngle(t){return c.__inject__.setFacingAngle(this.id,t)}getFacingAngle(){return c.__inject__.getFacingAngle(this.id)}setWeather(t){if(t<0||t>255)throw new Error("[Player]: The valid weather value is only 0 to 255");return c.__inject__.setWeather(this.id,t)}getWeather(){return c.__inject__.getWeather(this.id)}setTime(t,i){if(t<0||t>23)throw new Error("[Player]: The valid hour value is only 0 to 23");if(i<0||i>59)throw new Error("[Player]: The valid minute value is only 0 to 59");return c.__inject__.setTime(this.id,t,i)}getTime(){return c.__inject__.getTime(this.id)}removeBuilding(t,i,a,r,n){return c.__inject__.removeBuilding(this.id,t,i,a,r,n)}setTeam(t){t<0||t>l.NO_TEAM||c.__inject__.setTeam(this.id,t)}getTeam(){return c.__inject__.getTeam(this.id)}setSkillLevel(t,i){if(i<0||i>999)throw new Error("[Player]: The valid skill level is only 0 to 999");return c.__inject__.setSkillLevel(this.id,t,i)}getName(){return c.__inject__.getName(this)}setName(t){return c.__inject__.setName(this,t)}setVelocity(t,i,a){return c.__inject__.setVelocity(this.id,t,i,a)}getVelocity(){return c.__inject__.getVelocity(this.id)}getSpeed(t=180){if(this.id===-1)return 0;const{x:i,y:a,z:r}=this.getVelocity();return It(i,a,r)*t}getKeys(){return c.__inject__.getKeys(this.id)}getIp(){return c.__inject__.getIp(this.id)}getFightingStyle(){return c.__inject__.getFightingStyle(this.id)}setFightingStyle(t){return c.__inject__.setFightingStyle(this.id,t)}setArmour(t){return c.__inject__.setArmour(this.id,t)}getArmour(){return c.__inject__.getArmour(this.id)}setCameraBehind(){return c.__inject__.setCameraBehind(this.id)}setCameraPos(t,i,a){return c.__inject__.setCameraPos(this.id,t,i,a)}setCameraLookAt(t,i,a,r=Ye.CUT){return c.__inject__.setCameraLookAt(this.id,t,i,a,r)}getCameraAspectRatio(){return c.__inject__.getCameraAspectRatio(this.id)}getCameraFrontVector(){return c.__inject__.getCameraFrontVector(this.id)}getCameraMode(){return c.__inject__.getCameraMode(this.id)}getCameraPos(){return c.__inject__.getCameraPos(this.id)}getCameraTargetPlayer(){const t=c.__inject__.getCameraTargetPlayer(this.id);return c.getInstance(t)}getCameraTargetVehicle(){const t=c.__inject__.getCameraTargetVehicle(this.id);return me.get(t)}getCameraTargetActor(){const t=c.__inject__.getCameraTargetActor(this.id);return Ve.get(t)}getCameraTargetObject(){const t=c.__inject__.getCameraTargetObject(this.id);return Ae.get(t)}getCameraTargetPlayerObject(){const t=c.__inject__.getCameraTargetPlayerObject(this.id);return W.get(this)?.get(t)}getCameraZoom(){return c.__inject__.getCameraZoom(this.id)}playAudioStream(t,i=0,a=0,r=0,n=5){let s=!1;return(i!==0||a!==0||r!==0)&&(s=!0),c.__inject__.playAudioStream(this.id,t,i,a,r,n,s)}stopAudioStream(){return c.__inject__.stopAudioStream(this.id)}playSound(t,i=0,a=0,r=0){return c.__inject__.playSound(this.id,t,i,a,r)}static getMaxPlayers(){return c.__inject__.getMaxPlayers()}playCrimeReport(t,i){if(i<3||i>22)throw new Error("[Player]: Available crime ids range from 3 to 22");return c.__inject__.playCrimeReport(this.id,t.id,i)}interpolateCameraPos(t,i,a,r,n,s,o,_=Ye.CUT){return c.__inject__.interpolateCameraPos(this.id,t,i,a,r,n,s,o,_)}interpolateCameraLookAt(t,i,a,r,n,s,o,_=Ye.CUT){return c.__inject__.interpolateCameraLookAt(this.id,t,i,a,r,n,s,o,_)}createExplosion(t,i,a,r,n){if(r<0||r>13)throw new Error("[Player]: The valid explosion type value is only 0 to 13");return c.__inject__.createExplosion(this.id,t,i,a,r,n)}static isConnected(t){return c.__inject__.isConnected(t)}isConnected(){return c.isConnected(this.id)}disableRemoteVehicleCollisions(t){return c.__inject__.disableRemoteVehicleCollisions(this.id,t)}getVehicle(){if(!this.isInAnyVehicle())return;const t=c.__inject__.getVehicleID(this.id);return p.getInstance(t)}getVehicleSeat(){return c.__inject__.getVehicleSeat(this.id)}getSurfingVehicle(){const t=c.__inject__.getSurfingVehicleID(this.id);return p.getInstance(t)}applyAnimation(t,i,a=4.1,r=!1,n=!0,s=!0,o=!1,_=0,d=!1){if(!yt(t,i))throw new Error(`[Player]: Invalid anim library or name ${t} ${i}`);return c.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_,+d)}clearAnimations(t=!1){return c.__inject__.clearAnimations(this.id,t)}getAnimationIndex(){return c.__inject__.getAnimationIndex(this.id)}getAnimationName(){return x.getAnimationName(this.getAnimationIndex())}setShopName(t){return c.__inject__.setShopName(this.id,t)}setPosFindZ(t,i,a){return c.__inject__.setPosFindZ(this.id,t,i,a)}setWorldBounds(t,i,a,r){return c.__inject__.setWorldBounds(this.id,t,i,a,r)}clearWorldBounds(){return c.__inject__.clearWorldBounds(this.id)}setChatBubble(t,i,a,r,n=this.charset){return c.__inject__.setChatBubble(this.id,t,i,a,r,n)}getDistanceFromPoint(t,i,a){return c.__inject__.getDistanceFromPoint(this.id,t,i,a)}getCustomSkin(){return c.__inject__.getCustomSkin(this.id)}getTargetPlayer(){const t=c.__inject__.getTargetPlayer(this.id);return c.getInstance(t)}getLastShotVectors(){return c.__inject__.getLastShotVectors(this.id)}getWeapon(){return c.__inject__.getWeapon(this.id)}getWeaponData(t){return c.__inject__.getWeaponData(this.id,t)}getWeaponState(){return c.__inject__.getWeaponState(this.id)}giveWeapon(t,i){return c.__inject__.giveWeapon(this.id,t,i)}setAmmo(t,i){return c.__inject__.setAmmo(this.id,t,i)}getAmmo(){return c.__inject__.getAmmo(this.id)}setArmedWeapon(t){return c.__inject__.setArmedWeapon(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(l.PLAYER_ID,l.PLAYER_ID,mt.CONNECT)}sendDeathMessage(t,i){return c.__inject__.sendDeathMessage(t===l.PLAYER_ID?t:t.id,this.id,i)}sendDeathMessageToPlayer(t,i,a){return c.__inject__.sendDeathMessageToPlayer(this.id,t===l.PLAYER_ID?t:t.id,i===l.PLAYER_ID?i:i.id,a)}setSpawnInfo(t,i,a,r,n,s,o,_,d,h,u,I){return t<0||t>l.NO_TEAM||i<0||i>311||i===74||_<0||h<0||I<0?!1:c.__inject__.setSpawnInfo(this.id,t,i,a,r,n,s,o,_,d,h,u,I)}redirectDownload(t){return c.__inject__.redirectDownload(this.id,t)}sendClientCheck(t,i,a,r){const n=[2,5,69,70,71,72];if(!n.includes(t))throw new Error(`[Player]: sendClientCheck valid types are ${n.toString()}`);return new Promise((s,o)=>{if(this.isPaused)return o("[Player]: An attempt to check player client response, but player paused game");const _="[Player]: An attempt to check player client response timed out",d=this.getPing(),h=(d>=200?0:d)+200;let u=null;const I=Fi(({player:C,actionId:y,memAddr:L,data:j,next:J})=>(C!==this||(u&&(clearTimeout(u),u=null),s({actionId:y,memAddr:L,data:j})),J()));u=setTimeout(()=>{I(),o(_)},h),c.__inject__.sendClientCheck(this.id,t,i,a,r)})}selectTextDraw(t){c.__inject__.selectTextDraw(this.id,t)}cancelSelectTextDraw(){c.__inject__.cancelSelectTextDraw(this.id)}beginObjectSelecting(){return c.__inject__.beginObjectSelecting(this.id)}endObjectEditing(){return c.__inject__.endObjectEditing(this.id)}getSurfingObject(){const t=c.__inject__.getSurfingObjectID(this.id);if(t!==l.OBJECT_ID)return S.getInstance(t)}getSurfingPlayerObject(){const t=c.__inject__.getSurfingPlayerObjectID(this.id);if(t!==l.OBJECT_ID)return S.getInstance(t,this)}isAttachedObjectSlotUsed(t){return c.__inject__.isAttachedObjectSlotUsed(this.id,t)}editAttachedObject(t){return c.__inject__.editAttachedObject(this.id,t)}setAttachedObject(t,i,a,r=0,n=0,s=0,o=0,_=0,d=0,h=1,u=1,I=1,C=0,y=0){return this.isAttachedObjectSlotUsed(t)?0:c.__inject__.setAttachedObject(this.id,t,i,a,r,n,s,o,_,d,h,u,I,C,y)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?c.__inject__.removeAttachedObject(this.id,t):!1}getAnimationFlags(){return samp.callNative("GetPlayerAnimationFlags","i",this.id)}getLastSyncedTrailerID(){return samp.callNative("GetPlayerLastSyncedTrailerID","i",this.id)}getLastSyncedVehicleID(){return samp.callNative("GetPlayerLastSyncedVehicleID","i",this.id)}toggleWidescreen(t){return c.__inject__.toggleWidescreen(this.id,t)}isWidescreenToggled(){return c.__inject__.isWidescreenToggled(this.id)}getSpawnInfo(){return c.__inject__.getSpawnInfo(this.id)}getSkillLevel(t){return c.__inject__.getSkillLevel(this.id,t)}isCheckpointActive(){return c.__inject__.isCheckpointActive(this.id)}getCheckpoint(){return c.__inject__.getCheckpoint(this.id)}isRaceCheckpointActive(){return c.__inject__.isRaceCheckpointActive(this.id)}getRaceCheckpoint(){return c.__inject__.getRaceCheckpoint(this.id)}getWorldBounds(){return c.__inject__.getWorldBounds(this.id)}isInModShop(){return c.__inject__.isInModShop(this.id)}getSirenState(){return c.__inject__.getSirenState(this.id)}getLandingGearState(){return c.__inject__.getLandingGearState(this.id)}getHydraReactorAngle(){return c.__inject__.getHydraReactorAngle(this.id)}getTrainSpeed(){return c.__inject__.getTrainSpeed(this.id)}getZAim(){return c.__inject__.getZAim(this.id)}getSurfingOffsets(){return c.__inject__.getSurfingOffsets(this.id)}getRotationQuat(){return c.__inject__.getRotationQuat(this.id)}getDialogID(){return c.__inject__.getDialogID(this.id)}getSpectateID(){return c.__inject__.getSpectateID(this.id)}getSpectateType(){return c.__inject__.getSpectateType(this.id)}getRawIp(){return c.__inject__.getRawIp(this.id)}setGravity(t){return c.__inject__.setGravity(this.id,t)}getGravity(){return c.__inject__.getGravity(this.id)}setAdmin(t){return c.__inject__.setAdmin(this.id,t)}isSpawned(){return c.__inject__.isSpawned(this.id)}isControllable(){return c.__inject__.isControllable(this.id)}isCameraTargetEnabled(){return c.__inject__.isCameraTargetEnabled(this.id)}toggleGhostMode(t){return c.__inject__.toggleGhostMode(this.id,t)}getGhostMode(){return c.__inject__.getGhostMode(this.id)}getBuildingsRemoved(){return c.__inject__.getBuildingsRemoved(this.id)}getAttachedObject(t){return c.__inject__.getAttachedObject(this.id,t)}removeWeapon(t){return c.__inject__.removeWeapon(this.id,t)}isUsingOfficialClient(){return c.__inject__.isUsingOfficialClient(this.id)}allowWeapons(t){return c.__inject__.allowWeapons(this.id,t)}areWeaponsAllowed(){return c.__inject__.areWeaponsAllowed(this.id)}gpci(t=this.charset){return c.__inject__.gpci(this.id,t)}isCuffed(){return c.__inject__.isCuffed(this.id)}isInDriveByMode(){return c.__inject__.isInDriveByMode(this.id)}isAndroid(){return this.isConnected()&&this[B].isAndroid}isPC(){return this.isConnected()&&!this[B].isAndroid}isUsingOmp(){return c.__inject__.isUsingOmp(this.id)}simulateCommand(t){return te.simulate(this,t)}static getInstance(t){return oe.get(t)}static getInstances(){return[...oe.values()]}static __inject__={sendClientMessage:vi,sendClientMessageToAll:PI,sendMessageToPlayer:bi,sendMessageToAll:pI,banEx:CI,getName:SI,setName:yI,setChatBubble:wI,isNpc:Io,getDrunkLevel:Ho,setDrunkLevel:Uo,allowTeleport:co,isTeleportAllowed:ho,enableCameraTarget:cc,enableStuntBonus:k_,getInterior:bo,setInterior:vo,showNameTag:tc,setColor:Wo,getColor:Ko,setMapIcon:ic,removeMapIcon:ac,setMarker:q_,getMarker:ec,resetMoney:qo,getMoney:e_,giveMoney:Qo,resetWeapons:zo,spawn:fl,setHealth:Lo,getHealth:wo,toggleClock:l_,toggleControllable:L_,toggleSpectating:K_,spectatePlayer:X_,spectateVehicle:Z_,forceClassSelection:__,kick:bl,ban:Ll,isAdmin:Tl,isInRangeOfPoint:No,isStreamedIn:To,setSkin:Xo,getSkin:Zo,isInAnyVehicle:J_,getSpecialAction:j_,setSpecialAction:F_,setScore:ko,getScore:xo,getPing:i_,setPos:So,getPos:Co,getState:t_,getVersion:xl,setVirtualWorld:V_,getVirtualWorld:B_,removeFromVehicle:b_,setWantedLevel:c_,getWantedLevel:d_,setFacingAngle:Ao,getFacingAngle:Eo,setWeather:o_,getWeather:Kl,setTime:n_,getTime:s_,removeBuilding:E_,setTeam:Vo,getTeam:Bo,setSkillLevel:S_,setVelocity:u_,getVelocity:m_,getKeys:r_,getIp:kl,getFightingStyle:g_,setFightingStyle:h_,setArmour:Ro,getArmour:Oo,setCameraBehind:sc,setCameraPos:rc,setCameraLookAt:nc,getCameraAspectRatio:mc,getCameraFrontVector:oc,getCameraMode:_c,getCameraPos:lc,getCameraTargetPlayer:gc,getCameraTargetVehicle:hc,getCameraTargetActor:uc,getCameraTargetObject:dc,getCameraTargetPlayerObject:Mp,getCameraZoom:fc,playAudioStream:P_,stopAudioStream:p_,playSound:w_,getMaxPlayers:Vs,playCrimeReport:f_,interpolateCameraPos:Ic,interpolateCameraLookAt:Sc,createExplosion:H_,isConnected:Y_,disableRemoteVehicleCollisions:M_,getVehicleID:T_,getVehicleSeat:v_,getSurfingVehicleID:y_,applyAnimation:R_,clearAnimations:O_,getAnimationIndex:G_,setShopName:I_,setPosFindZ:yo,setWorldBounds:$_,clearWorldBounds:Q_,getDistanceFromPoint:Do,getCustomSkin:x_,getTargetPlayer:Mo,getLastShotVectors:N_,getWeapon:a_,getWeaponData:$o,getWeaponState:Fo,giveWeapon:Yo,setAmmo:Go,getAmmo:jo,setArmedWeapon:Jo,sendDeathMessage:Ms,sendDeathMessageToPlayer:Po,setSpawnInfo:ml,redirectDownload:Ip,sendClientCheck:Fl,selectTextDraw:Qf,cancelSelectTextDraw:qf,beginObjectSelecting:up,endObjectEditing:Ni,getSurfingObjectID:C_,getSurfingPlayerObjectID:A_,isAttachedObjectSlotUsed:Np,editAttachedObject:ep,setAttachedObject:Ap,removeAttachedObject:Ep,toggleWidescreen:Hl,isWidescreenToggled:Ul,getSpawnInfo:Pl,getSkillLevel:Wl,isCheckpointActive:Si,getCheckpoint:yi,isRaceCheckpointActive:Ci,getRaceCheckpoint:Ai,getWorldBounds:Xl,isInModShop:Gu,getSirenState:ju,getLandingGearState:Fu,getHydraReactorAngle:Mu,getTrainSpeed:Vu,getZAim:Zl,getSurfingOffsets:Yl,getRotationQuat:zl,getDialogID:Jl,getSpectateID:$l,getSpectateType:Ql,getRawIp:Bl,setGravity:ql,getGravity:eo,setAdmin:vl,isSpawned:to,isControllable:io,isCameraTargetEnabled:ao,toggleGhostMode:ro,getGhostMode:no,getBuildingsRemoved:so,getAttachedObject:Cp,removeWeapon:lo,isUsingOfficialClient:_o,allowWeapons:go,areWeaponsAllowed:uo,gpci:jl,isCuffed:yc,isInDriveByMode:Cc,isUsingOmp:Ac}}const[Mi]=m({name:"OnDialogResponseI18n",identifier:"iiiiai",defaultValue:!1,beforeEach(e,t,i,a,r){const n=c.getInstance(e),s=A.decodeFromBuf(r,n.charset);return{player:n,dialogId:t,response:i,listItem:a,buffer:r,inputText:s}}});Mi(({next:e,player:t,dialogId:i,response:a,listItem:r,buffer:n,inputText:s})=>{const o=U.waitingQueue.get(t);return!o||o.showId!==i||o.resolve({response:a,listItem:r,buffer:n,inputText:s}),e()});class U{_id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new WeakMap;constructor(t={style:dt.MSGBOX,caption:"",info:"",button1:"",button2:""}){this.dialog=t}get style(){return this.dialog.style}set style(t){this.dialog.style=t}get caption(){return this.dialog.caption}set caption(t){this.dialog.caption=t}get info(){return this.dialog.info}set info(t){this.dialog.info=t}get button1(){return this.dialog.button1}set button1(t){this.dialog.button1=t}get button2(){return this.dialog.button2}set button2(t){this.dialog.button2=t}static delDialogTask(t,i=!1){const a=U.waitingQueue.get(t);if(!a)return!1;i&&a.reject("[Dialog]: player timeout does not respond or second request show dialog"),U.waitingQueue.delete(t);const r=U.showingIds.indexOf(a.showId);return r>-1&&U.showingIds.splice(r,1),!0}show(t){return new Promise((i,a)=>{for(U.close(t);this._id===-1||U.showingIds.includes(this._id);){if(U.showingIds.length>=U.maxDialogId){this._id=-1;break}this._id=Math.floor(Math.random()*(U.maxDialogId+1))}if(this._id===-1){a("[Dialog]: Unable to create dialog");return}U.showingIds.push(this._id),U.waitingQueue.set(t,{resolve:i,reject:a,showId:this._id}),U.__inject__.show(t,this._id,this.dialog)}).catch(i=>Promise.reject(i)).finally(()=>U.delDialogTask(t))}static close(t){U.delDialogTask(t,!0),U.__inject__.hide(t.id)}static __inject__={show:II,hide:oo}}const[Vi]=m({name:"OnPlayerConnect",identifier:"i",beforeEach(e){const t=new c(e);return oe.set(e,t),U.close(t),{player:t}}}),[Bi]=m({name:"OnPlayerDisconnect",identifier:"ii",beforeEach(e,t){return{player:oe.get(e),reason:t}},afterEach({player:e}){oe.delete(e.id)}}),[ki]=m({name:"OnPlayerUpdate",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[yS]=m({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const i=c.getInstance(e);return{player:i,text:A.decodeFromBuf(t,i.charset),buffer:t}}}),[CS]=m({name:"OnPlayerEnterExitModShop",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),enterExit:t,interior:i}}}),[AS]=m({name:"OnPlayerClickMap",identifier:"ifff",defaultValue:!1,beforeEach(e,t,i,a){return{player:c.getInstance(e),fX:t,fY:i,fZ:a}}}),[ES]=m({name:"OnPlayerClickPlayer",identifier:"iii",defaultValue:!1,beforeEach(e,t,i){return{player:c.getInstance(e),clickedPlayer:c.getInstance(t),source:i}}}),[NS]=m({name:"OnPlayerDeath",identifier:"iii",beforeEach(e,t,i){const a=c.getInstance(t)||l.PLAYER_ID;return{player:c.getInstance(e),killer:a,reason:i}}}),[DS]=m({name:"OnPlayerGiveDamage",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),damage:c.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),[TS]=m({name:"OnPlayerKeyStateChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newKeys:t,oldKeys:i}}}),[vS]=m({name:"OnPlayerRequestClass",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),classId:t}}}),[bS]=m({name:"OnPlayerRequestSpawn",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[LS]=m({name:"OnPlayerSpawn",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[wS]=m({name:"OnPlayerStateChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newState:t,oldState:i}}}),[RS]=m({name:"OnPlayerStreamIn",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),forPlayer:c.getInstance(t)}}}),[OS]=m({name:"OnPlayerStreamOut",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),forPlayer:c.getInstance(t)}}}),[GS]=m({name:"OnPlayerTakeDamage",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,r){const n=c.getInstance(t)||l.PLAYER_ID;return{player:c.getInstance(e),damage:n,amount:i,weapon:a,bodyPart:r}}}),[jS]=m({name:"OnPlayerInteriorChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newInteriorId:t,oldInteriorId:i}}}),[FS]=m({name:"OnPlayerRequestDownload",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),type:t,crc:i}}}),[MS]=m({name:"OnPlayerFinishedDownloading",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),virtualWorld:t}}}),[VS]=m({name:"OnPlayerWeaponShot",identifier:"iiiifff",beforeEach(e,t,i,a,r,n,s){return{player:c.getInstance(e),weapon:t,hitType:i,hitId:a,fX:r,fY:n,fZ:s}}});let et=null;const q=new Map,He=new Map;function xi(e){if(!e.isConnected()){q.has(e)&&(clearInterval(q.get(e)),q.delete(e),He.delete(e));return}let t=He.get(e)||1;if(t>=c.MAX_CHECK_ANDROID_DELAY){clearInterval(q.get(e)),q.delete(e),He.delete(e),Nt(e,!0);return}e.sendClientCheck(72,0,0,2).then(({actionId:i})=>{i===72&&(e[B].isAndroid=!1,q.has(e)&&(clearInterval(q.get(e)),q.delete(e),He.delete(e)),Nt(e,!1))}).catch(()=>{}),t++,He.set(e,t)}const[BS,kS]=m({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[xS,HS]=m({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,i,a){return{player:e,pausedAt:t,now:i,diff:a}}}),[US,WS]=m({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,i){return{player:e,newFps:t,oldFps:i}}}),[KS,Nt]=m({name:"OnAndroidCheck",isNative:!1,beforeEach(e,t){return{player:e,result:t}}});Vi(({player:e,next:t})=>{if(!et&&c.getInstances().length&&(et=setInterval(()=>{c.getInstances().filter(a=>{const r=a.getState()!==ze.NONE;return!a.isPaused&&!a.isNpc()&&r}).forEach(a=>{Date.now()-a.lastUpdateTick>1e3&&(a[B].isPaused=!0,kS(a,a.lastUpdateTick))})},500)),e.isNpc())return e[B].isAndroid=!1,t();if(c.SKIP_CHECK_ANDROID)return e[B].isAndroid=!e.isUsingOfficialClient(),Nt(e,e[B].isAndroid),t();xi(e);const i=setInterval(()=>xi(e),1e3);return q.set(e,i),t()}),Bi(({player:e,next:t})=>(et&&c.getInstances().length<=1&&(clearInterval(et),et=null),q.has(e)&&(clearInterval(q.get(e)),q.delete(e),He.delete(e)),t()));function XS(e){if(!c.isConnected(e.id))return;const t=Date.now();if(t-e.lastUpdateFpsTick>=1e3){const i=e.getDrunkLevel();if(i<100){e.setDrunkLevel(2e3),e[B].lastDrunkLevel=2e3,e[B].lastFps=0;return}e[B].lastUpdateFpsTick=t;const a=e.lastFps,r=e.lastDrunkLevel-i-1;e[B].lastFps=r,e[B].lastDrunkLevel=i,WS(e,r,a)}}ki(({player:e,next:t})=>{if(!e.isNpc()){const i=Date.now();e.isPaused&&(e[B].isPaused=!1,HS(e,e.lastUpdateTick,i,i-e.lastUpdateTick)),e[B].lastUpdateTick=i,XS(e)}return t()});const tt=Object.freeze({onConnect:Vi,onDisconnect:Bi,onPause:BS,onResume:xS,onUpdate:ki,onText:yS,onEnterExitModShop:CS,onClickMap:AS,onClickPlayer:ES,onDeath:NS,onGiveDamage:DS,onKeyStateChange:TS,onRequestClass:vS,onRequestSpawn:bS,onSpawn:LS,onStateChange:wS,onStreamIn:RS,onStreamOut:OS,onTakeDamage:GS,onInteriorChange:jS,onRequestDownload:FS,onFinishedDownloading:MS,onCheckResponse:Fi,onCommandReceived:sS,onCommandPerformed:oS,onCommandError:cS,onCommandText:te.on,offCommandText:te.off,onDialogResponse:Mi,onLocaleChange:PS,onCharsetChange:IS,onFpsUpdate:US,onWeaponShot:VS,onAndroidCheck:KS,onCommandTextRaw:gS});x.onExit(({next:e})=>(p.getInstances().forEach(t=>t.destroy()),me.clear(),e()));const[ZS]=m({name:"OnVehicleDamageStatusUpdate",identifier:"ii",defaultValue:!1,beforeEach(e,t){return{vehicle:p.getInstance(e),player:c.getInstance(t)}}}),[YS]=m({name:"OnVehicleDeath",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),killer:c.getInstance(t)}}}),[zS]=m({name:"OnVehicleMod",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),componentId:i}}}),[JS]=m({name:"OnVehiclePaintjob",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),paintjobId:i}}}),[$S]=m({name:"OnVehicleRespray",identifier:"iiii",beforeEach(e,t,i,a){return{player:c.getInstance(e),vehicle:p.getInstance(t),color:[i,a]}}}),[QS]=m({name:"OnVehicleSirenStateChange",identifier:"iii",defaultValue:!1,beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),state:!!i}}}),[qS]=m({name:"OnVehicleSpawn",identifier:"i",beforeEach(e){return{vehicle:p.getInstance(e)}}}),[ey]=m({name:"OnVehicleStreamIn",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),forPlayer:c.getInstance(t)}}}),[ty]=m({name:"OnVehicleStreamOut",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),forPlayer:c.getInstance(t)}}}),[iy]=m({name:"OnPlayerEnterVehicle",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),isPassenger:!!i}}}),[ay]=m({name:"OnPlayerExitVehicle",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),vehicle:p.getInstance(t)}}}),[ry]=m({name:"OnTrailerUpdate",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),vehicle:p.getInstance(t)}}}),[ny]=m({name:"OnUnoccupiedVehicleUpdate",identifier:"iiiffffff",beforeEach(e,t,i,a,r,n,s,o,_){return{vehicle:p.getInstance(e),player:c.getInstance(t),passengerSeat:i,newX:a,newY:r,newZ:n,velX:s,velY:o,velZ:_}}}),sy=Object.freeze({onDamageStatusUpdate:ZS,onDeath:YS,onMod:zS,onPaintjob:JS,onRespray:$S,onSirenStateChange:QS,onSpawn:qS,onStreamIn:ey,onStreamOut:ty,onPlayerEnter:iy,onPlayerExit:ay,onTrailerUpdate:ry,onUnoccupiedUpdate:ny}),[Te]=m({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:c.getInstance(i)}}}),[ve]=m({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:c.getInstance(i)}}}),[ly]=m({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class E{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getTickRate=In;static setTickRate=Sn;static getPlayerTickRate(t){return yn(t.id)}static setPlayerTickRate(t,i=50){return Cn(t.id,i)}static toggleChunkStream=An;static isToggleChunkStream=En;static getChunkTickRate(t,i=-1){return i instanceof c?li(t,i.id):li(t,i)}static setChunkTickRate(t,i,a=-1){return a instanceof c?oi(t,i,a.id):oi(t,i,a)}static getChunkSize=Nn;static setChunkSize=Dn;static getMaxItems=Tn;static setMaxItems=vn;static getVisibleItems(t,i=-1){return i instanceof c?_i(t,i.id):_i(t,i)}static setVisibleItems(t,i,a=-1){return a instanceof c?ci(t,i,a.id):ci(t,i,a)}static getRadiusMultiplier(t,i=-1){return i instanceof c?di(t,i.id):di(t,i)}static setRadiusMultiplier(t,i,a=-1){return a instanceof c?hi(t,i,a.id):hi(t,i,a)}static getTypePriority=bn;static setTypePriority=Ln;static getCellDistance=wn;static setCellDistance=Rn;static getCellSize=On;static setCellSize=Gn;static toggleItemStatic=jn;static isToggleItemStatic=Fn;static toggleItemInvAreas=Mn;static isToggleItemInvAreas=Vn;static toggleItemCallbacks=Bn;static isToggleItemCallbacks=kn;static toggleErrorCallback=xn;static isToggleErrorCallback=Hn;static amxUnloadDestroyItems=Un;static processActiveItems=Wn;static toggleIdleUpdate(t,i){return Kn(t.id,i)}static isToggleIdleUpdate(t){return Xn(t.id)}static toggleCameraUpdate(t,i){return Zn(t.id,i)}static isToggleCameraUpdate(t){return Yn(t.id)}static toggleItemUpdate(t,i,a){return zn(t.id,i,a)}static isToggleItemUpdate(t,i){return Jn(t.id,i)}static getLastUpdateTime(){return $n()}static update(t,i=-1){return Qn(t.id,i)}static updateEx(t,i,a,r,n,s,o,_,d){return qn(t.id,i,a,r,n,s,o,_,d)}static getDistanceToItem=Ar;static toggleItem(t,i,a,r){return Er(t.id,i,a,r)}static isToggleItem(t,i,a){return Nr(t.id,i,a)}static toggleAllItems(t,i,a,r=[-1]){return Dr(t.id,i,a,r)}static getItemInternalID(t,i,a){return Tr(t.id,i,a)}static getItemStreamerID(t,i,a){return vr(t.id,i,a)}static isItemVisible(t,i,a){return br(t.id,i,a)}static destroyAllVisibleItems(t,i,a=1){return Lr(t.id,i,a)}static countVisibleItems(t,i,a=1){return wr(t.id,i,a)}static destroyAllItems=Rr;static countItems=Or;static getNearbyItems=Gr;static getAllVisibleItems(t,i,a){return jr(t.id,i,a)}static getItemPos=Fr;static setItemPos=Mr;static getItemOffset=Vr;static setItemOffset=Br;static getFloatData=Qa;static setFloatData=qa;static getIntData=er;static setIntData=tr;static getArrayData=ir;static setArrayData=ar;static isInArrayData=rr;static appendArrayData=nr;static removeArrayData=sr;static getArrayDataLength=si;static getUpperBound=lr;static onPluginError=ly}class R{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=R.getInstance(t);if(i)return i;this._id=t,pe.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerObject]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerObject]: Unable to create with only id");let{streamDistance:t,drawDistance:i,worldId:a,interiorId:r,playerId:n,areaId:s,priority:o}=this.sourceInfo;const{modelId:_,x:d,y:h,z:u,rx:I,ry:C,rz:y,extended:L}=this.sourceInfo;return t??=V.OBJECT_SD,i??=V.OBJECT_DD,o??=0,L?(typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=R.__inject__.createEx(_,d,h,u,I,C,y,t,i,a,r,n,s,o)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=R.__inject__.create(_,d,h,u,I,C,y,a,r,n,t,i,s,o)),pe.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerObject]: Unable to destroy object before create");return D.skip||R.__inject__.destroy(this.id),pe.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:R.isValid(this.id)}getModel(){return this.sourceInfo?this.sourceInfo.modelId:E.getIntData(T.OBJECT,this._id,le.MODEL_ID)}getPos(){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot get position before create");return R.__inject__.getPos(this.id)}setPos(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot set position before create");return R.__inject__.setPos(this.id,t,i,a)}getRot(){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot get rotation before create");return R.__inject__.getRot(this.id)}setRot(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot set rotation before create");return R.__inject__.setRot(this.id,t,i,a)}move(t,i,a,r,n=-1e3,s=-1e3,o=-1e3){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot start moving before create");if(r<0)throw new Error("[StreamerObject]: speed must not be less than 0");if(r>120*1e3)throw new Error("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),R.__inject__.move(this.id,t,i,a,r,n,s,o)}stop(){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot stop moving before create");return R.__inject__.stop(this.id)}isMoving(){return this.id===P.INVALID_ID?!1:R.__inject__.isMoving(this.id)}attachCamera(t){if(this.id===P.INVALID_ID||t.id===l.PLAYER_ID)throw new Error("[StreamerObject]: Cannot attachCamera before both are created");return R.__inject__.attachCamera(t.id,this.id)}attachToObject(t,i,a,r,n,s,o,_=!0){if(this.id===P.INVALID_ID||t.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot attachToObject before both are created");return R.__inject__.attachToObject(this.id,t.id,i,a,r,n,s,o,_)}attachToPlayer(t,i,a,r,n,s,o){if(this.id===P.INVALID_ID||t.id===l.PLAYER_ID)throw new Error("[StreamerObject]: Cannot attachToPlayer before both are created");return R.__inject__.attachToPlayer(this.id,t.id,i,a,r,n,s,o)}attachToVehicle(t,i,a,r,n,s,o){if(this.id===P.INVALID_ID||t.id===l.VEHICLE_ID)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return R.__inject__.attachToVehicle(this.id,t.id,i,a,r,n,s,o)}edit(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to edit before create");return t.endObjectEditing(),R.__inject__.edit(t.id,this.id)}isMaterialUsed(t){return this.id===P.INVALID_ID?!1:R.__inject__.isMaterialUsed(this.id,t)}removeMaterial(t){return this.id===P.INVALID_ID||!this.isMaterialUsed(t)?0:R.__inject__.removeMaterial(this.id,t)}getMaterial(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to get material before create");return R.__inject__.getMaterial(this.id,t)}setMaterial(t,i,a,r,n="#000"){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to set material before create");return R.__inject__.setMaterial(this.id,t,i,a,r,N(n))}isMaterialTextUsed(t){return this.id===P.INVALID_ID?!1:R.__inject__.isMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.id===P.INVALID_ID||!this.isMaterialTextUsed(t)?0:R.__inject__.removeMaterialText(this.id,t)}getMaterialText(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to get material text before create");return R.__inject__.getMaterialText(this.id,t,this.sourceInfo?.charset||"utf8")}setMaterialText(t=this.sourceInfo?.charset,i,a,r=st.SIZE_256x128,n="Arial",s=24,o=1,_="#fff",d="#000",h=0){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to set material text before create");return this.sourceInfo&&(this.sourceInfo.charset=t),R.__inject__.setMaterialText(t||"utf8",this.id,i,a,r,n,s,o,N(_),N(d),h)}getPlayerCameraTarget(t){const i=R.__inject__.getPlayerCameraTarget(t.id);if(i!==P.INVALID_ID)return pe.get(i)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to toggle callbacks before create");return E.toggleItemCallbacks(T.OBJECT,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:E.isToggleItemCallbacks(T.OBJECT,this.id)}setNoCameraCollision(){return R.__inject__.setNoCameraCol(this.id)}getNoCameraCollision(){return R.__inject__.getNoCameraCol(this.id)}static isValid=Hr;static togglePlayerUpdate(t,i=!0){return E.toggleItemUpdate(t,T.OBJECT,i)}static hideForPlayer(t,i=-5e4){return E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?E.updateEx(t,a.x,a.y,a.z):E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return pe.get(t)}static getInstances(){return[...pe.values()]}static __inject__={createEx:dr,create:kr,destroy:xr,getPos:Ur,setPos:Wr,getRot:Kr,setRot:Xr,move:Zr,stop:Yr,isMoving:zr,attachCamera:Jr,attachToObject:$r,attachToPlayer:Qr,attachToVehicle:qr,edit:en,isMaterialUsed:tn,removeMaterial:an,getMaterial:bI,setMaterial:rn,isMaterialTextUsed:nn,removeMaterialText:sn,getMaterialText:LI,setMaterialText:vI,getPlayerCameraTarget:ln,setNoCameraCol:on,getNoCameraCol:_n}}x.onExit(({next:e})=>(R.getInstances().forEach(t=>t.destroy()),pe.clear(),e()));const[oy,_y]=m({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[cy,dy]=m({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.OBJECT?_y(i,R.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.OBJECT?dy(i,R.getInstance(t)):a());const[hy]=m({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:R.getInstance(e)}}}),[gy]=m({name:"OnPlayerEditDynamicObject",identifier:"iiiffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_){return{player:c.getInstance(e),object:R.getInstance(t),response:i,x:a,y:r,z:n,rX:s,rY:o,rZ:_}}}),[uy]=m({name:"OnPlayerSelectDynamicObject",identifier:"iiifff",beforeEach(e,t,i,a,r,n){return{player:c.getInstance(e),object:R.getInstance(t),modelId:i,x:a,y:r,z:n}}}),[my]=m({name:"OnPlayerShootDynamicObject",identifier:"iiifff",beforeEach(e,t,i,a,r,n){return{player:c.getInstance(e),object:R.getInstance(i),weapon:t,x:a,y:r,z:n}}}),fy=Object.freeze({onMoved:hy,onPlayerEdit:gy,onPlayerSelect:uy,onPlayerShoot:my,onStreamIn:oy,onStreamOut:cy});class ne{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[StreamerMapIcon]: Invalid id");const i=ne.getInstance(t);if(i)return i;this._id=t,ye.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerMapIcon]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerMapIcon]: Unable to create with only id");let{style:t,streamDistance:i,worldId:a,interiorId:r,playerId:n,areaId:s,priority:o}=this.sourceInfo;const{x:_,y:d,z:h,type:u,color:I,extended:C}=this.sourceInfo;if(u<0||u>63)throw new Error("[StreamerMapIcon]: Invalid map icon type");return t??=ot.LOCAL,i??=V.MAP_ICON_SD,o??=0,C?(typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=ne.__inject__.createEx(_,d,h,u,N(I),t,i,a,r,n,s,o),ye.set(this._id,this),this):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=ne.__inject__.create(_,d,h,u,N(I),a,r,n,i,t,s,o),ye.set(this._id,this),this)}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerMapIcon]: Unable to destroy the map icon before create");return D.skip||ne.__inject__.destroy(this.id),ye.delete(this._id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:ne.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerMapIcon]: Unable to toggle callbacks before create");return E.toggleItemCallbacks(T.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:E.isToggleItemCallbacks(T.MAP_ICON,this.id)}static isValid=cr;static togglePlayerUpdate(t,i=!0){return E.toggleItemUpdate(t,T.MAP_ICON,i)}static hideForPlayer(t,i=-5e4){return E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?E.updateEx(t,a.x,a.y,a.z):E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return ye.get(t)}static getInstances(){return[...ye.values()]}static __inject__={createEx:mr,create:or,destroy:_r}}x.onExit(({next:e})=>(ne.getInstances().forEach(t=>t.destroy()),ye.clear(),e()));const[Py,py]=m({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Iy,Sy]=m({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.MAP_ICON?py(i,ne.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.MAP_ICON?Sy(i,ne.getInstance(t)):a());const yy=Object.freeze({onStreamIn:Py,onStreamOut:Iy});class ie{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[StreamerPickup]: Invalid id");const i=ie.getInstance(t);if(i)return i;this._id=t,Me.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerPickup]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerPickup]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:r,areaId:n,priority:s}=this.sourceInfo;const{type:o,modelId:_,x:d,y:h,z:u,extended:I}=this.sourceInfo;if(o<0)throw new Error("[StreamerPickup]: Invalid pickup type");return t??=V.PICKUP_SD,s??=0,I?(typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],this._id=ie.__inject__.createEx(_,o,d,h,u,t,i,a,r,n,s)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,this._id=ie.__inject__.create(_,o,d,h,u,i,a,r,t,n,s)),Me.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerPickup]: Unable to destroy pickup before create");return D.skip||ie.__inject__.destroy(this.id),Me.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:ie.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerPickup]: Unable to toggle callbacks before create");return E.toggleItemCallbacks(T.PICKUP,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:E.isToggleItemCallbacks(T.PICKUP,this.id)}static isValid=hn;static togglePlayerUpdate(t,i=!0){return E.toggleItemUpdate(t,T.PICKUP,i)}static hideForPlayer(t,i=-5e4){return E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?E.updateEx(t,a.x,a.y,a.z):E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Me.get(t)}static getInstances(){return[...Me.values()]}static __inject__={create:cn,createEx:hr,destroy:dn}}x.onExit(({next:e})=>(ie.getInstances().forEach(t=>t.destroy()),Me.clear(),e()));const[Cy,Ay]=m({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Ey,Ny]=m({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.PICKUP?Ay(i,ie.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.PICKUP?Ny(i,ie.getInstance(t)):a());const[Dy]=m({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:ie.getInstance(t)}}}),Ty=Object.freeze({onPlayerPickUp:Dy,onStreamIn:Cy,onStreamOut:Ey});class K{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[StreamerCheckpoint]: Invalid id");const i=K.getInstance(t);if(i)return i;this._id=t,Se.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerCheckpoint]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerCheckpoint]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:r,areaId:n,priority:s}=this.sourceInfo;const{size:o,x:_,y:d,z:h,extended:u}=this.sourceInfo;if(o<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=V.CP_SD,s??=0,u?(typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],this._id=K.__inject__.createEx(_,d,h,o,t,i,a,r,n,s)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,this._id=K.__inject__.create(_,d,h,o,i,a,r,t,n,s)),Se.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerCheckpoint]: Unable to destroy the checkpoint before create");return D.skip||K.__inject__.destroy(this.id),Se.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:K.isValid(this.id)}togglePlayer(t,i){if(this.id===P.INVALID_ID)throw new Error("[StreamerCheckpoint]: Unable to toggle the player before create");return K.__inject__.togglePlayer(t.id,this.id,i),this}isPlayerIn(t){return this.id===P.INVALID_ID?!1:K.__inject__.isPlayerIn(t.id,this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerCheckpoint]: Unable to toggle callbacks before create");return E.toggleItemCallbacks(T.CP,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:E.isToggleItemCallbacks(T.CP,this.id)}static isValid=ft;static togglePlayerAll(t,i){return K.__inject__.togglePlayerAll(t.id,i)}static getPlayerVisible(t){return Se.get(K.__inject__.getPlayerVisible(t.id))}static togglePlayerUpdate(t,i=!0){return E.toggleItemUpdate(t,T.CP,i)}static hideForPlayer(t,i=-5e4){return E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?E.updateEx(t,a.x,a.y,a.z):E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Se.get(t)}static getInstances(){return[...Se.values()]}static __inject__={create:Xa,createEx:gr,destroy:Za,getPlayerVisible:$a,isPlayerIn:Ja,togglePlayerAll:za,togglePlayer:Ya}}x.onExit(({next:e})=>(K.getInstances().forEach(t=>t.destroy()),Se.clear(),e()));const[vy,by]=m({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Ly,wy]=m({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.CP?by(i,K.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.CP?wy(i,K.getInstance(t)):a());const[Ry]=m({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),cp:K.getInstance(t)}}}),[Oy]=m({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),cp:K.getInstance(t)}}}),Gy=Object.freeze({onPlayerEnter:Ry,onPlayerLeave:Oy,onStreamIn:vy,onStreamOut:Ly});class X{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[StreamerRaceCP]: Invalid id");const i=X.getInstance(t);if(i)return i;this._id=t,Ce.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerRaceCP]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerRaceCP]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:r,areaId:n,priority:s}=this.sourceInfo;const{type:o,size:_,x:d,y:h,z:u,nextX:I,nextY:C,nextZ:y,extended:L}=this.sourceInfo;if(o<0||o>8)throw new Error("[StreamerRaceCP]: Invalid type");if(_<0)throw new Error("[StreamerRaceCP]: Invalid size");return t??=V.RACE_CP_SD,s??=0,L?(typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],this._id=X.__inject__.createEx(o,d,h,u,I,C,y,_,t,i,a,r,n,s)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,this._id=X.__inject__.create(o,d,h,u,I,C,y,_,i,a,r,t,n,s)),Ce.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerRaceCP]: Unable to destroy the checkpoint before create");return D.skip||X.__inject__.destroy(this.id),Ce.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:X.isValid(this.id)}togglePlayer(t,i){if(this.id===P.INVALID_ID)throw new Error("[StreamerRaceCP]: Unable to toggle player before create");return X.__inject__.togglePlayer(t.id,this.id,i),this}static togglePlayerAll(t,i){return X.__inject__.togglePlayerAll(t.id,i)}isPlayerIn(t){return this.id===P.INVALID_ID?!1:X.__inject__.isPlayerIn(t.id,this.id)}static getPlayerVisible(t){return Ce.get(X.__inject__.getPlayerVisible(t.id))}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerRaceCP]: Unable to toggle callbacks before create");return E.toggleItemCallbacks(T.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:E.isToggleItemCallbacks(T.RACE_CP,this.id)}static isValid=ft;static togglePlayerUpdate(t,i=!0){return E.toggleItemUpdate(t,T.RACE_CP,i)}static hideForPlayer(t,i=-5e4){return E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?E.updateEx(t,a.x,a.y,a.z):E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Ce.get(t)}static getInstances(){return[...Ce.values()]}static __inject__={create:gn,createEx:ur,destroy:un,getPlayerVisible:pn,isPlayerIn:Pn,isValid:ft,togglePlayerAll:fn,togglePlayer:mn}}x.onExit(({next:e})=>(X.getInstances().forEach(t=>t.destroy()),Ce.clear(),e()));const[jy,Fy]=m({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[My,Vy]=m({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.RACE_CP?Fy(i,X.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.RACE_CP?Vy(i,X.getInstance(t)):a());const[By]=m({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),raceCP:X.getInstance(t)}}}),[ky]=m({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),raceCp:X.getInstance(t)}}}),xy=Object.freeze({onPlayerEnter:By,onPlayerLeave:ky,onStreamIn:jy,onStreamOut:My});class G{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[StreamerActor]: Invalid id");const i=G.getInstance(t);if(i)return i;this._id=t,he.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerActor]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerActor]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:r,areaId:n,priority:s}=this.sourceInfo;const{modelId:o,x:_,y:d,z:h,r:u,invulnerable:I,health:C,extended:y}=this.sourceInfo;return t??=V.ACTOR_SD,s??=0,y?(typeof i=="number"?i=[0]:i??=[0],typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],this._id=G.__inject__.createEx(o,_,d,h,u,I,C,t,i,a,r,n,s)):(Array.isArray(i)?i=0:i??=0,Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,this._id=G.__inject__.create(o,_,d,h,u,I,C,i,a,r,t,n,s)),he.set(this.id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerActor]: Unable to destroy to actor before create");return D.skip||G.__inject__.destroy(this.id),he.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:G.isValid(this.id)}isStreamedIn(t){return this.id===P.INVALID_ID?!1:G.__inject__.isStreamedIn(this.id,t.id)}getVirtualWorld(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to get virtual world before create");return G.__inject__.getVirtualWorld(this.id)}setVirtualWorld(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set virtual world before create");return G.__inject__.setVirtualWorld(this.id,t)}applyAnimation(t,i,a=4.1,r=!1,n=!0,s=!0,o=!1,_=0){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to apply animation before create");if(!yt(t,i))throw new Error(`[StreamerActor]: Invalid anim library or name ${t} ${i}`);return G.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_)}clearAnimations(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to clear animation before create");return G.__inject__.clearAnimations(this.id)}getFacingAngle(){return G.__inject__.getFacingAngle(this.id)}setFacingAngle(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set facing angle before create");return G.__inject__.setFacingAngle(this.id,t)}getPos(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to get pos before create");return G.__inject__.getPos(this.id)}setPos(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set pos before create");return G.__inject__.setPos(this.id,t,i,a)}getHealth(){return G.__inject__.getHealth(this.id)}setHealth(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set health before create");return G.__inject__.setHealth(this.id,t)}isInvulnerable(){return this.id===P.INVALID_ID?!1:G.__inject__.isInvulnerable(this.id)}setInvulnerable(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set invulnerable before create");return G.__inject__.setInvulnerable(this.id,t)}getPlayerTarget(t){const i=G.__inject__.getPlayerTarget(t.id);return he.get(i)}getPlayerCameraTarget(t){const i=G.__inject__.getPlayerCameraTarget(t.id);return he.get(i)}getAnimation(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to get animation before create");return G.__inject__.getAnimation(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to toggle callbacks before create");return E.toggleItemCallbacks(T.ACTOR,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:E.isToggleItemCallbacks(T.ACTOR,this.id)}static isValid=aa;static togglePlayerUpdate(t,i=!0){return E.toggleItemUpdate(t,T.ACTOR,i)}static hideForPlayer(t,i=-5e4){return E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?E.updateEx(t,a.x,a.y,a.z):E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return he.get(t)}static getInstances(){return[...he.values()]}static __inject__={createEx:Cr,create:ta,destroy:ia,getPlayerTarget:Pa,getPlayerCameraTarget:pa,isStreamedIn:ra,getVirtualWorld:na,setVirtualWorld:sa,applyAnimation:la,clearAnimations:oa,getFacingAngle:_a,setFacingAngle:ca,getPos:da,setPos:ha,getHealth:ga,setHealth:ua,isInvulnerable:fa,setInvulnerable:ma,getAnimation:Ia}}x.onExit(({next:e})=>(G.getInstances().forEach(t=>t.destroy()),he.clear(),e()));const[Hy]=m({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:G.getInstance(e),forPlayer:c.getInstance(t)}}}),[Uy]=m({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:G.getInstance(e),forPlayer:c.getInstance(t)}}}),[Wy]=m({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),actor:G.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),Ky=Object.freeze({onStreamIn:Hy,onStreamOut:Uy,onPlayerGiveDamage:Wy});class ee{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Invalid id");const i=ee.getInstance(t);if(i)return i;this._id=t,Fe.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to create again");if(!this.sourceInfo)throw new Error("[Streamer3DTextLabel]: Unable to create with only id");let{attachedPlayer:t,attachedVehicle:i,testLOS:a,streamDistance:r,worldId:n,interiorId:s,playerId:o,areaId:_,priority:d}=this.sourceInfo;const{charset:h,text:u,color:I,drawDistance:C,x:y,y:L,z:j,extended:J}=this.sourceInfo;return t??=l.PLAYER_ID,i??=l.VEHICLE_ID,r??=V.TEXT_3D_LABEL_SD,a??=!1,d??=0,J?(typeof n=="number"?n=[-1]:n??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof o=="number"?o=[-1]:o??=[-1],typeof _=="number"?_=[-1]:_??=[-1],this._id=ee.__inject__.createEx(u,N(I),y,L,j,C,t,i,a,r,n,s,o,_,d,h||"utf8")):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(o)?o=-1:o??=-1,Array.isArray(_)?_=-1:_??=-1,this._id=ee.__inject__.create(h||"utf8",u,N(I),y,L,j,C,t,i,a,n,s,o,r,_,d)),Fe.set(this.id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[Streamer3DTextLabel]: Unable to destroy before create");return D.skip||ee.__inject__.destroy(this.id),Fe.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:ee.isValid(this.id)}getColor(){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to get color before create");return this.sourceInfo?this.sourceInfo.color:E.getIntData(T.TEXT_3D_LABEL,this._id,le.COLOR)}getCharset(){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to get charset before create");return this.sourceInfo?.charset}getText(){return ee.__inject__.getText(this.id,this.sourceInfo?.charset||"utf8")}updateText(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to update text before create");let r="";return this.sourceInfo&&(r=a||this.sourceInfo.charset||"utf8",this.sourceInfo.charset=r),ee.__inject__.updateText(this.id,N(t),i,r)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to toggle callbacks before create");return E.toggleItemCallbacks(T.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:E.isToggleItemCallbacks(T.TEXT_3D_LABEL,this.id)}setOffsets(t,i,a){if(this.id===P.INVALID_ID)return 0;const r=E.setFloatData(T.TEXT_3D_LABEL,this.id,le.ATTACH_OFFSET_X,t);return E.setFloatData(T.TEXT_3D_LABEL,this.id,le.ATTACH_OFFSET_Y,i),E.setFloatData(T.TEXT_3D_LABEL,this.id,le.ATTACH_OFFSET_Z,a),this.sourceInfo&&(this.sourceInfo.x=t,this.sourceInfo.y=i,this.sourceInfo.z=a),r}attachToPlayer(t,i,a,r){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot attachToPlayer before created");const n=typeof t=="number"?t:t.id,s=E.setIntData(T.TEXT_3D_LABEL,this.id,le.ATTACHED_PLAYER,n);return n!==l.PLAYER_ID&&this.setOffsets(i,a,r),this.sourceInfo&&(this.sourceInfo.attachedPlayer=n),s}attachToVehicle(t,i,a,r){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot attachToVehicle before created");const n=typeof t=="number"?t:t.id,s=E.setIntData(T.TEXT_3D_LABEL,this.id,le.ATTACHED_VEHICLE,n);return n!==l.VEHICLE_ID&&this.setOffsets(i,a,r),this.sourceInfo&&(this.sourceInfo.attachedVehicle=n),s}static isValid=ti;static togglePlayerUpdate(t,i=!0){return E.toggleItemUpdate(t,T.TEXT_3D_LABEL,i)}static hideForPlayer(t,i=-5e4){return E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?E.updateEx(t,a.x,a.y,a.z):E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Fe.get(t)}static getInstances(){return[...Fe.values()]}static __inject__={create:EI,createEx:NI,getText:TI,updateText:DI,destroy:ea,isValid:ti}}x.onExit(({next:e})=>(ee.getInstances().forEach(t=>t.destroy()),Fe.clear(),e()));const[Xy,Zy]=m({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Yy,zy]=m({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.TEXT_3D_LABEL?Zy(i,ee.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.TEXT_3D_LABEL?zy(i,ee.getInstance(t)):a());const Jy=Object.freeze({onStreamIn:Xy,onStreamOut:Yy});class v{sourceInfo=null;_id=P.INVALID_ID;get type(){return this.sourceInfo?.type??void 0}get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[StreamerArea]: Invalid id");const i=v.getInstance(t);if(i)return i;this._id=t,Ie.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerArea]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerArea]: Unable to create with only id");let{worldId:t,interiorId:i,playerId:a,priority:r}=this.sourceInfo;r??=0;const{type:n,extended:s}=this.sourceInfo;if(s)if(typeof t=="number"?t=[-1]:t??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],n==="circle"){const{x:o,y:_,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid circle extend size");this._id=v.__inject__.createCircleEx(o,_,d,t,i,a,r)}else if(n==="cuboid"){const{minX:o,minY:_,minZ:d,maxX:h,maxY:u,maxZ:I}=this.sourceInfo;this._id=v.__inject__.createCuboidEx(o,_,d,h,u,I,t,i,a,r)}else if(n==="cylinder"){const{x:o,y:_,minZ:d,maxZ:h,size:u}=this.sourceInfo;if(u<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=v.__inject__.createCylinderEx(o,_,d,h,u,t,i,a,r)}else if(n==="polygon"){const{points:o,minZ:_,maxZ:d}=this.sourceInfo;if(o.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=v.__inject__.createPolygonEx(o,_,d,t,i,a,r)}else if(n==="rectangle"){const{minX:o,minY:_,maxX:d,maxY:h}=this.sourceInfo;this._id=v.__inject__.createRectangleEx(o,_,d,h,t,i,a,r)}else{const{x:o,y:_,z:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid sphere extended size");this._id=v.__inject__.createSphereEx(o,_,d,h,t,i,a,r)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,n==="circle"){const{x:o,y:_,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid circle size");this._id=v.__inject__.createCircle(o,_,d,t,i,a,r)}else if(n==="cuboid"){const{minX:o,minY:_,minZ:d,maxX:h,maxY:u,maxZ:I}=this.sourceInfo;this._id=v.__inject__.createCuboid(o,_,d,h,u,I,t,i,a,r)}else if(n==="cylinder"){const{x:o,y:_,minZ:d,maxZ:h,size:u}=this.sourceInfo;if(u<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=v.__inject__.createCylinder(o,_,d,h,u,t,i,a,r)}else if(n==="polygon"){const{points:o,minZ:_,maxZ:d}=this.sourceInfo;if(o.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=v.__inject__.createPolygon(o,_,d,t,i,a,r)}else if(n==="rectangle"){const{minX:o,minY:_,maxX:d,maxY:h}=this.sourceInfo;this._id=v.__inject__.createRectangle(o,_,d,h,t,i,a,r)}else{const{x:o,y:_,z:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid sphere size");this._id=v.__inject__.createSphere(o,_,d,h,t,i,a,r)}return Ie.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerArea]: Unable to destroy the area before create");return D.skip||v.__inject__.destroy(this.id),Ie.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:v.isValid(this.id)}getType(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerArea]: Unable to get type before create");return v.__inject__.getType(this.id)}getPolygonPoints(){return v.__inject__.getPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerArea]: Unable to getPolygonNumberPoints number before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonNumberPoints invalid area type");return v.__inject__.getPolygonNumberPoints(this.id)}isPlayerIn(t,i=!1){return this.id===P.INVALID_ID?!1:v.__inject__.isPlayerIn(t.id,this.id,i)}static isPlayerInAny(t,i=!1){return v.__inject__.isPlayerInAny(t.id,i)}isAnyPlayerIn(t=!1){return this.id===P.INVALID_ID?!1:v.__inject__.isAnyPlayerIn(this.id,t)}static isAnyPlayerInAny(t=!1){return v.__inject__.isAnyPlayerInAny(t)}static getPlayerAreas(t){return v.getPlayerAreasNumber(t)?v.__inject__.getPlayerAreas(t.id).areas.map(i=>Ie.get(i)):[]}static getPlayerAreasNumber(t){return v.__inject__.getPlayerAreasNumber(t.id)}isPointIn(t,i,a){return this.id===P.INVALID_ID?!1:v.__inject__.isPointIn(this.id,t,i,a)}static isPointInAny(t,i,a){return v.__inject__.isPointInAny(t,i,a)}isLineIn(t,i,a,r,n,s){return this.id===P.INVALID_ID?!1:v.__inject__.isLineIn(this.id,t,i,a,r,n,s)}static isLineInAny(t,i,a,r,n,s){return v.__inject__.isLineInAny(t,i,a,r,n,s)}static getForPoint(t,i,a){return v.getNumberForPoint(t,i,a)?v.__inject__.getForPoint(t,i,a).areas.map(r=>v.getInstance(r)).filter(Boolean):[]}static getNumberForPoint(t,i,a){return v.__inject__.getNumberForPoint(t,i,a)}static getForLine(t,i,a,r,n,s){return v.getNumberForLine(t,i,a,r,n,s)?v.__inject__.getForLine(t,i,a,r,n,s).areas.map(o=>v.getInstance(o)).filter(Boolean):[]}static getNumberForLine(t,i,a,r,n,s){return v.__inject__.getNumberForLine(t,i,a,r,n,s)}attachToObject(t,i=0,a=0,r=0){if(this.id===P.INVALID_ID||t.id===P.INVALID_ID)throw new Error("[StreamerArea]: Unable to toggle attach to object before create");return v.__inject__.attachToObject(this.id,t.id,nt.DYNAMIC,l.PLAYER_ID,i,a,r)}attachToPlayer(t,i=0,a=0,r=0){if(this.id===P.INVALID_ID||t.id===l.PLAYER_ID)throw new Error("[StreamerArea]: Unable to toggle attach to player before create");return v.__inject__.attachToPlayer(this.id,t.id,i,a,r)}attachToVehicle(t,i=0,a=0,r=0){if(this.id===P.INVALID_ID||t.id===l.VEHICLE_ID)throw new Error("[StreamerArea]: Unable to toggle attach to vehicle before create");return v.__inject__.attachToVehicle(this.id,t.id,i,a,r)}toggleSpectateMode(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerArea]: Unable to toggle spectate mode before create");return v.__inject__.toggleSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===P.INVALID_ID?!1:v.__inject__.isToggleSpectateMode(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerArea]: Unable to toggle callbacks before create");return E.toggleItemCallbacks(T.AREA,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:E.isToggleItemCallbacks(T.AREA,this.id)}static isValid=Ta;static togglePlayerUpdate(t,i=!0){return E.toggleItemUpdate(t,T.AREA,i)}static hideForPlayer(t,i=-5e4){return E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?E.updateEx(t,a.x,a.y,a.z):E.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Ie.get(t)}static getInstances(){return[...Ie.values()]}static __inject__={createCircleEx:fr,createCuboidEx:Sr,createCylinderEx:Pr,createPolygonEx:yr,createRectangleEx:Ir,createSphereEx:pr,createCircle:Sa,createCuboid:Ea,createCylinder:ya,createPolygon:Na,createRectangle:Aa,createSphere:Ca,destroy:Da,getType:va,getPolygonPoints:ba,getPolygonNumberPoints:ii,isPlayerIn:La,isPlayerInAny:wa,isAnyPlayerIn:Ra,isAnyPlayerInAny:Oa,getPlayerAreas:Ga,getPlayerAreasNumber:ai,isPointIn:ja,isPointInAny:Fa,isLineIn:Ma,isLineInAny:Va,getForPoint:Ba,getNumberForPoint:ri,getForLine:ka,getNumberForLine:ni,attachToObject:xa,attachToPlayer:Ha,attachToVehicle:Ua,toggleSpectateMode:Wa,isToggleSpectateMode:Ka}}x.onExit(({next:e})=>(v.getInstances().forEach(t=>t.destroy()),Ie.clear(),e()));const[$y,Qy]=m({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[qy,eC]=m({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.AREA?Qy(i,v.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.AREA?eC(i,v.getInstance(t)):a());const[tC]=m({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),area:v.getInstance(t)}}}),[iC]=m({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),area:v.getInstance(t)}}}),aC=Object.freeze({onStreamIn:$y,onStreamOut:qy,onPlayerEnter:tC,onPlayerLeave:iC});class g{_id=l.NPC_ID;_name="";get id(){return this._id}constructor(t){if(typeof t=="string"&&(this._name=t),typeof t=="number"){if(t===l.NPC_ID)throw new Error("[Npc]: Invalid id");this._id=t;const i=g.getInstance(this._id);if(i)return i;fe.set(this._id,this)}return this}create(){if(this.id!==l.NPC_ID)throw new Error("[Npc]: Unable to create again");return this._id=g.__inject__.create(this._name),this._id!==l.NPC_ID&&(this.getPlayer()||new c(this._id),fe.set(this._id,this)),this}destroy(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to destroy before create");return D.skip||g.__inject__.destroy(this._id),fe.delete(this._id),this._id=l.NPC_ID,this}getPlayer(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getPlayer before create");return c.getInstance(this._id)}getName(){if(this._id===l.NPC_ID)throw new Error("[Npc]: Unable to getName before create");return this._name?this._name:this.getPlayer().getName().name}isValid(){return this.id===l.NPC_ID?!1:D.skip&&this._id!==l.NPC_ID?!0:g.isValid(this._id)}spawn(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to spawn before create");return g.__inject__.spawn(this._id),this}respawn(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to respawn before create");return g.__inject__.respawn(this._id),this}setPos(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setPos before create");return g.__inject__.setPos(this._id,t,i,a),this}setRot(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setRot before create");return g.__inject__.setRot(this._id,t,i,a),this}getRot(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getRot before create");return g.__inject__.getRot(this._id)}setFacingAngle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setFacingAngle before create");return g.__inject__.setFacingAngle(this._id,t),this}getFacingAngle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getFacingAngle before create");return g.__inject__.getFacingAngle(this._id)}setVirtualWorld(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVirtualWorld before create");return g.__inject__.setVirtualWorld(this._id,t),this}getVirtualWorld(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getVirtualWorld before create");return g.__inject__.getVirtualWorld(this._id)}move(t,i,a,r,n=Re.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to move before create");return g.__inject__.move(this._id,t,i,a,r,n)}moveToPlayer(t,i,a=Re.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to moveToPlayer before create");return g.__inject__.moveToPlayer(this._id,t.id,i,a)}stopMove(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopMove before create");return g.__inject__.stopMove(this._id),this}isMoving(){return this.id===l.NPC_ID?!1:g.__inject__.isMoving(this._id)}isMovingToPlayer(t){return this.id===l.NPC_ID?!1:g.__inject__.isMovingToPlayer(this._id,t.id)}setSkin(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSkin before create");return g.__inject__.setSkin(this._id,t),this}getSkin(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getSkin before create");return g.__inject__.getSkin(this._id)}isStreamedIn(t){return this.id===l.NPC_ID?!1:g.__inject__.isStreamedIn(this._id,t.id)}isAnyStreamedIn(){return this.id===l.NPC_ID?!1:g.__inject__.isAnyStreamedIn(this._id)}setInterior(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setInterior before create");return g.__inject__.setInterior(this._id,t),this}getInterior(){return this.id===l.NPC_ID?0:g.__inject__.getInterior(this._id)}setHealth(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setHealth before create");return g.__inject__.setHealth(this._id,t),this}getHealth(){return this.id===l.NPC_ID?0:g.__inject__.getHealth(this._id)}setArmour(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setArmour before create");return g.__inject__.setArmour(this._id,t),this}getArmour(){return this.id===l.NPC_ID?0:g.__inject__.getArmour(this._id)}isDead(){return this.id===l.NPC_ID?!1:g.__inject__.isDead(this._id)}applyAnimation(t,i,a,r,n,s,o,_,d){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to applyAnimation before create");return g.__inject__.applyAnimation(this._id,t,i,a,r,n,s,o,_,d),this}setWeapon(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeapon before create");return g.__inject__.setWeapon(this._id,t),this}getWeapon(){return this.id===l.NPC_ID?0:g.__inject__.getWeapon(this._id)}setAmmo(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setAmmo before create");return g.__inject__.setAmmo(this._id,t),this}getAmmo(){return this.id===l.NPC_ID?0:g.__inject__.getAmmo(this._id)}setKeys(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setKeys before create");return g.__inject__.setKeys(this._id,t,i,a),this}getKeys(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getKeys before create");return g.__inject__.getKeys(this._id)}setWeaponSkillLevel(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponSkillLevel before create");return g.__inject__.setWeaponSkillLevel(this._id,t,i),this}getWeaponSkillLevel(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getWeaponSkillLevel before create");return g.__inject__.getWeaponSkillLevel(this._id,t)}meleeAttack(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to meleeAttack before create");return g.__inject__.meleeAttack(this._id,t,i),this}stopMeleeAttack(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopMeleeAttack before create");return g.__inject__.stopMeleeAttack(this._id),this}isMeleeAttacking(){return this.id===l.NPC_ID?!1:g.__inject__.isMeleeAttacking(this._id)}setFightingStyle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setFightingStyle before create");return g.__inject__.setFightingStyle(this._id,t),this}getFightingStyle(){return this.id===l.NPC_ID?ht.NORMAL:g.__inject__.getFightingStyle(this._id)}enableReloading(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to enableReloading before create");return g.__inject__.enableReloading(this._id,t),this}isReloadEnabled(){return this.id===l.NPC_ID?!1:g.__inject__.isReloadEnabled(this._id)}isReloading(){return this.id===l.NPC_ID?!1:g.__inject__.isReloading(this._id)}enableInfiniteAmmo(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to enableInfiniteAmmo before create");return g.__inject__.enableInfiniteAmmo(this._id,t),this}isInfiniteAmmoEnabled(){return this.id===l.NPC_ID?!1:g.__inject__.isInfiniteAmmoEnabled(this._id)}setWeaponState(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponState before create");return g.__inject__.setWeaponState(this._id,t)}getWeaponState(){return this.id===l.NPC_ID?ut.UNKNOWN:g.__inject__.getWeaponState(this._id)}setAmmoInClip(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setAmmoInClip before create");return g.__inject__.setAmmoInClip(this._id,t),this}getAmmoInClip(){return this.id===l.NPC_ID?0:g.__inject__.getAmmoInClip(this._id)}shoot(t,i,a,r,n,s,o,_,d,h,u=Ze.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to shoot before create");return g.__inject__.shoot(this._id,t,i,a,r,n,s,o,_,d,h,u),this}isShooting(){return this.id===l.NPC_ID?!1:g.__inject__.isShooting(this._id)}aimAt(t,i,a,r,n,s,o,_,d,h=Ze.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to aimAt before create");return g.__inject__.aimAt(this._id,t,i,a,r,n,s,o,_,d,h),this}aimAtPlayer(t,i,a,r,n,s,o,_,d,h,u=Ze.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to aimAtPlayer before create");return g.__inject__.aimAtPlayer(this._id,t.id,i,a,r,n,s,o,_,d,h,u),this}stopAim(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopAim before create");return g.__inject__.stopAim(this._id),this}isAiming(){return this.id===l.NPC_ID?!1:g.__inject__.isAiming(this._id)}isAimingAtPlayer(t){return this.id===l.NPC_ID?!1:g.__inject__.isAimingAtPlayer(this._id,t.id)}setWeaponAccuracy(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponAccuracy before create");return g.__inject__.setWeaponAccuracy(this._id,t,i),this}getWeaponAccuracy(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponAccuracy(this._id,t)}setWeaponReloadTime(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponReloadTime before create");return g.__inject__.setWeaponReloadTime(this._id,t,i)}getWeaponReloadTime(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponReloadTime(this._id,t)}getWeaponActualReloadTime(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponActualReloadTime(this._id,t)}setWeaponShootTime(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponShootTime before create");return g.__inject__.setWeaponShootTime(this._id,t,i)}getWeaponShootTime(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponShootTime(this._id,t)}setWeaponClipSize(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponClipSize before create");return g.__inject__.setWeaponClipSize(this._id,t,i)}getWeaponClipSize(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponClipSize(this._id,t)}getWeaponActualClipSize(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponActualClipSize(this._id,t)}enterVehicle(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to enterVehicle before create");return g.__inject__.enterVehicle(this._id,t.id,i,a),this}exitVehicle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to exitVehicle before create");return g.__inject__.exitVehicle(this._id),this}putInVehicle(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to putInVehicle before create");return g.__inject__.putInVehicle(this._id,t.id,i)}removeFromVehicle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to removeFromVehicle before create");return g.__inject__.removeFromVehicle(this._id)}getVehicle(){return p.getInstance(this.getVehicleID())}getVehicleID(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getVehicle before create");return g.__inject__.getVehicle(this._id)}getVehicleSeat(){return this.id===l.NPC_ID?0:g.__inject__.getVehicleSeat(this._id)}getEnteringVehicle(){return p.getInstance(this.getEnteringVehicleId())}getEnteringVehicleId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getEnteringVehicle before create");return g.__inject__.getEnteringVehicle(this._id)}getEnteringVehicleSeat(){return this.id===l.NPC_ID?0:g.__inject__.getEnteringVehicleSeat(this._id)}isEnteringVehicle(){return this.id===l.NPC_ID?!1:g.__inject__.isEnteringVehicle(this._id)}useVehicleSiren(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to useVehicleSiren before create");return g.__inject__.useVehicleSiren(this._id,t)}isVehicleSirenUsed(){return this.id===l.NPC_ID?!1:g.__inject__.isVehicleSirenUsed(this._id)}setVehicleHealth(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVehicleHealth before create");return g.__inject__.setVehicleHealth(this._id,t)}getVehicleHealth(){return this.id===l.NPC_ID?0:g.__inject__.getVehicleHealth(this._id)}setVehicleHydraThrusters(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVehicleHydraThrusters before create");return g.__inject__.setVehicleHydraThrusters(this._id,t)}getVehicleHydraThrusters(){return this.id===l.NPC_ID?0:g.__inject__.getVehicleHydraThrusters(this._id)}setVehicleGearState(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVehicleGearState before create");return g.__inject__.setVehicleGearState(this._id,t)}getVehicleGearState(){return this.id===l.NPC_ID?0:g.__inject__.getVehicleGearState(this._id)}setVehicleTrainSpeed(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVehicleTrainSpeed before create");return g.__inject__.setVehicleTrainSpeed(this._id,t)}getVehicleTrainSpeed(){return this.id===l.NPC_ID?0:g.__inject__.getVehicleTrainSpeed(this._id)}resetAnimation(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to resetAnimation before create");return g.__inject__.resetAnimation(this._id)}setAnimation(t,i,a,r,n,s,o){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setAnimation before create");return g.__inject__.setAnimation(this._id,t,i,a,r,n,s,o)}getAnimation(){return this.id===l.NPC_ID?0:g.__inject__.getAnimation(this._id)}clearAnimations(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to clearAnimations before create");return g.__inject__.clearAnimations(this._id)}setSpecialAction(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSpecialAction before create");return g.__inject__.setSpecialAction(this._id,t)}getSpecialAction(){return this.id===l.NPC_ID?0:g.__inject__.getSpecialAction(this._id)}startPlayback(t,i,a,r,n,s,o,_){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to startPlayback before create");return g.__inject__.startPlayback(this._id,t,i,a,r,n,s,o,_)}startPlaybackEx(t,i,a,r,n,s,o,_){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to startPlaybackEx before create");return g.__inject__.startPlaybackEx(this._id,t.id,i,a,r,n,s,o,_)}stopPlayback(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopPlayback before create");return g.__inject__.stopPlayback(this._id)}pausePlayback(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to pausePlayback before create");return g.__inject__.pausePlayback(this._id,t)}isPlayingPlayback(){return this.id===l.NPC_ID?!1:g.__inject__.isPlayingPlayback(this._id)}isPlaybackPaused(){return this.id===l.NPC_ID?!1:g.__inject__.isPlaybackPaused(this._id)}playNode(t,i=at.JOG,a=Re.AUTO,r=0,n=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to playNode before create");return g.__inject__.playNode(this._id,t.id,i,a,r,n)}stopPlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopPlayingNode before create");return g.__inject__.stopPlayingNode(this._id)}pausePlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to pausePlayingNode before create");return g.__inject__.pausePlayingNode(this._id)}resumePlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to resumePlayingNode before create");return g.__inject__.resumePlayingNode(this._id)}isPlayingNodePaused(){return this.id===l.NPC_ID?!1:g.__inject__.isPlayingNodePaused(this._id)}isPlayingNode(){return this.id===l.NPC_ID?!1:g.__inject__.isPlayingNode(this._id)}changeNode(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to changeNode before create");return g.__inject__.changeNode(this._id,t.id,i)}updateNodePoint(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to updateNodePoint before create");return g.__inject__.updateNodePoint(this._id,t)}setInvulnerable(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setInvulnerable before create");return g.__inject__.setInvulnerable(this._id,t)}isInvulnerable(){return this.id===l.NPC_ID?!1:g.__inject__.isInvulnerable(this._id)}setSurfingOffsets(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingOffsets before create");return g.__inject__.setSurfingOffsets(this._id,t,i,a)}getSurfingOffsets(){return g.__inject__.getSurfingOffsets(this._id)}setSurfingVehicle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingVehicle before create");return g.__inject__.setSurfingVehicle(this._id,t.id)}getSurfingVehicle(){return p.getInstance(this.getSurfingVehicleId())}getSurfingVehicleId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getSurfingVehicle before create");return g.__inject__.getSurfingVehicle(this._id)}setSurfingObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingObject before create");return t.isGlobal()?g.__inject__.setSurfingObject(this._id,t.id):0}getSurfingObject(){return S.getInstance(this.getSurfingObjectId())}getSurfingObjectId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getSurfingObject before create");return g.__inject__.getSurfingObject(this._id)}setSurfingPlayerObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingPlayerObject before create");return t.isGlobal()?0:this._setSurfingPlayerObject(t.id)}getSurfingPlayerObject(){return S.getInstance(this.getSurfingPlayerObjectId(),this.getPlayer())}_setSurfingPlayerObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingPlayerObject before create");return g.__inject__.setSurfingPlayerObject(this._id,t)}getSurfingPlayerObjectId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getSurfingPlayerObject before create");return g.__inject__.getSurfingPlayerObject(this._id)}resetSurfingData(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to resetSurfingData before create");return g.__inject__.resetSurfingData(this._id)}setSurfingDynamicObject(t){return this._setSurfingPlayerObject(E.getItemInternalID(new c(this._id),T.OBJECT,t.id))}getSurfingDynamicObject(){return R.getInstance(this.getSurfingDynamicObjectId())}getSurfingDynamicObjectId(){return E.getItemStreamerID(new c(this._id),T.OBJECT,this.getSurfingPlayerObjectId())}isSpawned(){return this.id===l.NPC_ID?!1:g.__inject__.isSpawned(this._id)}kill(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to kill before create");return g.__inject__.kill(this._id,typeof t=="number"?t:t.id,i)}setVelocity(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVelocity before create");return g.__inject__.setVelocity(this._id,t,i,a)}getVelocity(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getVelocity before create");return g.__inject__.getVelocity(this._id)}getPlayerAimingAt(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getPlayerAimingAt before create");const t=g.__inject__.getPlayerAimingAt(this._id);return t!==l.PLAYER_ID?c.getInstance(t):null}getPlayerMovingTo(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getPlayerMovingTo before create");const t=g.__inject__.getPlayerMovingTo(this._id);return t!==l.PLAYER_ID?c.getInstance(t):null}getPosMovingTo(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getPosMovingTo before create");return g.__inject__.getPosMovingTo(this._id)}getCustomSkin(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getCustomSkin before create");return g.__inject__.getCustomSkin(this._id)}static startRecordingPlayerData(t,i,a){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");g.__inject__.startRecordingPlayerData(t.id,i,a),t[B].isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)throw new Error("[NpcFunc]: It should be started before stop");g.__inject__.stopRecordingPlayerData(t.id),t[B].isRecording=!1}static isValid(t){return g.__inject__.isValid(t)}static getInstance(t){return fe.get(t)}static getInstances(){return[...fe.values()]}static __inject__={create:Wc,destroy:Kc,isValid:Xc,spawn:Zc,respawn:Yc,setPos:zc,setRot:Jc,getRot:$c,setFacingAngle:Qc,getFacingAngle:qc,setVirtualWorld:ed,getVirtualWorld:td,move:id,moveToPlayer:ad,stopMove:rd,isMoving:nd,isMovingToPlayer:sd,setSkin:ld,getSkin:od,isStreamedIn:_d,isAnyStreamedIn:cd,setInterior:dd,getInterior:hd,setHealth:gd,getHealth:ud,setArmour:md,getArmour:fd,isDead:Pd,applyAnimation:pd,setWeapon:Id,getWeapon:Sd,setAmmo:yd,getAmmo:Cd,setKeys:Ad,getKeys:Ed,setWeaponSkillLevel:Nd,getWeaponSkillLevel:Dd,meleeAttack:Td,stopMeleeAttack:vd,isMeleeAttacking:bd,setFightingStyle:Ld,getFightingStyle:wd,enableReloading:Rd,isReloadEnabled:Od,isReloading:Gd,enableInfiniteAmmo:jd,isInfiniteAmmoEnabled:Fd,setWeaponState:Md,getWeaponState:Vd,setAmmoInClip:Bd,getAmmoInClip:kd,shoot:xd,isShooting:Hd,aimAt:Ud,aimAtPlayer:Wd,stopAim:Kd,isAiming:Xd,isAimingAtPlayer:Zd,setWeaponAccuracy:Yd,getWeaponAccuracy:zd,setWeaponReloadTime:Jd,getWeaponReloadTime:$d,getWeaponActualReloadTime:Qd,setWeaponShootTime:qd,getWeaponShootTime:eh,setWeaponClipSize:th,getWeaponClipSize:ih,getWeaponActualClipSize:ah,enterVehicle:rh,exitVehicle:nh,putInVehicle:sh,removeFromVehicle:lh,getVehicle:oh,getVehicleSeat:_h,getEnteringVehicle:ch,getEnteringVehicleSeat:dh,isEnteringVehicle:hh,useVehicleSiren:gh,isVehicleSirenUsed:uh,setVehicleHealth:mh,getVehicleHealth:fh,setVehicleHydraThrusters:Ph,getVehicleHydraThrusters:ph,setVehicleGearState:Ih,getVehicleGearState:Sh,setVehicleTrainSpeed:yh,getVehicleTrainSpeed:Ch,resetAnimation:Ah,setAnimation:Eh,getAnimation:Nh,clearAnimations:Dh,setSpecialAction:Th,getSpecialAction:vh,startPlayback:bh,startPlaybackEx:Lh,stopPlayback:wh,pausePlayback:Rh,isPlayingPlayback:Oh,isPlaybackPaused:Gh,playNode:jh,stopPlayingNode:Fh,pausePlayingNode:Mh,resumePlayingNode:Vh,isPlayingNodePaused:Bh,isPlayingNode:kh,changeNode:xh,updateNodePoint:Hh,setInvulnerable:Uh,isInvulnerable:Wh,setSurfingOffsets:Kh,getSurfingOffsets:Xh,setSurfingVehicle:Zh,getSurfingVehicle:Yh,setSurfingObject:zh,getSurfingObject:Jh,setSurfingPlayerObject:$h,getSurfingPlayerObject:Qh,resetSurfingData:qh,isSpawned:eg,kill:tg,setVelocity:ig,getVelocity:ag,getPlayerAimingAt:rg,getPlayerMovingTo:ng,getPosMovingTo:sg,getCustomSkin:lg,startRecordingPlayerData:U_,stopRecordingPlayerData:W_}}class We{_filePath="";_id=l.RECORD_ID;get id(){return this._id}get filePath(){return this._filePath}constructor(t){if(typeof t=="string"?(this._filePath=t,this._id=samp.callNative("NPC_LoadRecord","s",this._filePath)):this._id=t,de.has(this._id))return de.get(this._id)}unload(){const t=this._id;if(!D.skip){const i=!!samp.callNative("NPC_UnloadRecord","i",this._id);return i&&(this._id=l.RECORD_ID,this._filePath="",de.delete(t)),i}return this._id=l.RECORD_ID,this._filePath="",de.delete(t),!0}isValid(){return D.skip&&this._id!==l.RECORD_ID?!0:We.isValid(this._id)}static isValid(t){return!!samp.callNative("NPC_IsValidRecord","i",t)}static getCount(){return samp.callNative("NPC_GetRecordCount","")}static unloadAll(){const t=!!samp.callNative("NPC_UnloadAllRecords","");return t&&de.clear(),t}static getInstance(t){return de.get(t)}static getInstances(){return[...de.values()]}}class Ue{_id=l.NODE_ID;get id(){return this._id}constructor(t){if(this._id=t,re.has(this._id))return re.get(this._id);re.set(this._id,this)}open(){samp.callNative("NPC_OpenNode","i",this._id)&&!re.has(this._id)&&re.set(this._id,this)}close(){if(!D.skip){const t=!!samp.callNative("NPC_CloseNode","i",this._id);return t&&(re.delete(this._id),this._id=l.NODE_ID),t}return re.delete(this._id),this._id=l.NODE_ID,!0}isOpen(){return D.skip&&this._id!==l.NODE_ID?!0:!!samp.callNative("NPC_IsNodeOpen","i",this._id)}getType(){return samp.callNative("NPC_GetNodeType","i",this._id)}setPoint(t){return!!samp.callNative("NPC_SetNodePoint","ii",this._id,t)}getPointPosition(){const[t,i,a,r]=samp.callNative("NPC_GetNodePointPosition","iFFF",this._id);return{x:t,y:i,z:a,ret:!!r}}getPointCount(){return samp.callNative("NPC_GetNodePointCount","i",this._id)}getInfo(){const[t,i,a,r]=samp.callNative("NPC_GetNodeInfo","iIII",this._id);return{vehNodes:t,pedNodes:i,naviNode:a,ret:!!r}}static getInstance(t){return re.get(t)}static getInstances(){return[...re.values()]}}class Ke{_id=l.PATH_ID;get id(){return this._id}constructor(t){if(typeof t<"u"){if(Pe.has(t))return Pe.get(t);this._id=t}else this._id=samp.callNative("NPC_CreatePath","")}destroy(){const t=!!samp.callNative("NPC_DestroyPath","i",this._id);return t&&(this._id=l.PATH_ID,Pe.delete(this._id)),t}addPoint(t,i,a,r){return!!samp.callNative("NPC_AddPointToPath","iffff",this._id,t,i,a,r)}removePoint(t){return!!samp.callNative("NPC_RemovePointFromPath","ii",this._id,t)}clear(){return!!samp.callNative("NPC_ClearPath","i",this._id)}getPointCount(){return samp.callNative("NPC_GetPathPointCount","i",this._id)}getPoint(t){const[i,a,r,n,s]=samp.callNative("NPC_GetPathPoint","ii",this._id,t);return{x:i,y:a,z:r,stopRange:n,ret:s}}isValid(){return Ke.isValid(this._id)}getCurrentPointIndex(){return samp.callNative("NPC_GetCurrentPathPointIndex","i",this._id)}move(t=at.JOG,i=Re.AUTO,a=!1){return!!samp.callNative("NPC_MoveByPath","iiifi",this._id,this._id,t,i,a)}hasPointInRadius(t,i,a,r){return!!samp.callNative("NPC_HasPathPointInRange","iiffff",this._id,this._id,t,i,a,r)}static destroyAll(){const t=!!samp.callNative("NPC_DestroyAllPath","");return t&&Pe.clear(),t}static getCount(){return samp.callNative("NPC_GetPathCount","")}static isValid(t){return!!samp.callNative("NPC_IsValidPath","i",t)}static getInstance(t){return Pe.get(t)}static getInstances(){return[...Pe.values()]}}x.onExit(({next:e})=>(g.getInstances().forEach(t=>{t.isValid()&&t.destroy()}),fe.clear(),Ue.getInstances().forEach(t=>{t.isOpen()&&t.close()}),re.clear(),Ke.destroyAll(),Pe.clear(),We.getInstances().forEach(t=>{t.isValid()&&t.unload()}),de.clear(),e()));const[rC]=m({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:A.decodeFromBuf(t)}}}),[nC]=m({name:"OnNPCFinishMove",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}}}),[sC]=m({name:"OnNPCCreate",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}}}),[lC]=m({name:"OnNPCDestroy",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}},afterEach({npc:e}){fe.delete(e.id)}}),[oC]=m({name:"OnNPCWeaponStateChange",identifier:"iii",beforeEach(e,t,i){return{npc:g.getInstance(e),newState:t,oldState:i}}}),[_C]=m({name:"OnNPCTakeDamage",identifier:"iiiii",beforeEach(e,t,i,a,r){return{npc:g.getInstance(e),damager:c.getInstance(t),damage:i,weapon:a,bodyPart:r}}}),[cC]=m({name:"OnNPCGiveDamage",identifier:"iiiii",beforeEach(e,t,i,a,r){return{npc:g.getInstance(e),damager:c.getInstance(t),damage:i,weapon:a,bodyPart:r}}}),[dC]=m({name:"OnNPCDeath",identifier:"iii",beforeEach(e,t,i){const a=c.getInstance(t)||l.PLAYER_ID;return{npc:g.getInstance(e),killer:a,reason:i}}}),[hC]=m({name:"OnNPCSpawn",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}}}),[gC]=m({name:"OnNPCRespawn",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}}}),[uC]=m({name:"OnNPCPlaybackStart",identifier:"ii",beforeEach(e,t){return{npc:g.getInstance(e),record:We.getInstance(t),recordId:t}}}),[mC]=m({name:"OnNPCPlaybackEnd",identifier:"ii",beforeEach(e,t){return{npc:g.getInstance(e),record:We.getInstance(t),recordId:t}}}),[fC]=m({name:"OnNPCWeaponShot",identifier:"iiiifff",beforeEach(e,t,i,a,r,n,s){return{npc:g.getInstance(e),weapon:t,hitType:i,hitId:a,fX:r,fY:n,fZ:s}}}),[PC]=m({name:"OnNPCFinishNodePoint",identifier:"iii",beforeEach(e,t,i){return{npc:g.getInstance(e),node:Ue.getInstance(t),nodeId:t,pointId:i}}}),[pC]=m({name:"OnNPCFinishNode",identifier:"ii",beforeEach(e,t){return{npc:g.getInstance(e),node:Ue.getInstance(t),nodeId:t}}}),[IC]=m({name:"OnNPCChangeNode",identifier:"iii",beforeEach(e,t,i){return{npc:g.getInstance(e),newNode:Ue.getInstance(t),oldNode:Ue.getInstance(i),newNodeId:t,oldNodeId:i}}}),[SC]=m({name:"OnNPCFinishMovePath",identifier:"ii",beforeEach(e,t){return{npc:g.getInstance(e),path:Ke.getInstance(t),pathId:t}}}),[yC]=m({name:"OnNPCFinishMovePathPoint",identifier:"iii",beforeEach(e,t,i){return{npc:g.getInstance(e),path:Ke.getInstance(t),pathId:t,pointIndex:i}}}),CC=Object.freeze({onClientMessage:rC,onFinishMove:nC,onCreate:sC,onDestroy:lC,onSpawn:hC,onRespawn:gC,onWeaponStateChange:oC,onTakeDamage:_C,onGiveDamage:cC,onDeath:dC,onPlaybackStart:uC,onPlaybackEnd:mC,onWeaponShot:fC,onFinishNodePoint:PC,onFinishNode:pC,onChangeNode:IC,onFinishMovePath:SC,onFinishMovePathPoint:yC});class ${constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return $.__inject__.getNetworkStats()}static getPlayerNetworkStats(t){return $.__inject__.getPlayerNetworkStats(t.id)}static getBytesReceived(t){return $.__inject__.getBytesReceived(t.id)}static getBytesSent(t){return $.__inject__.getBytesSent(t.id)}static getConnectionStatus(t){return $.__inject__.getConnectionStatus(t.id)}static getConnectedTime(t){return $.__inject__.getConnectedTime(t.id)}static getIpPort(t){return $.__inject__.getIpPort(t.id)}static getMessagesReceived(t){return $.__inject__.getMessagesReceived(t.id)}static getMessagesRecvPerSecond(t){return $.__inject__.getMessagesRecvPerSecond(t.id)}static getMessagesSent(t){return $.__inject__.getMessagesSent(t.id)}static getPacketLossPercent(t){return $.__inject__.getPacketLossPercent(t.id)}static __inject__={getNetworkStats:Rl,getPlayerNetworkStats:wl,getBytesReceived:Sl,getBytesSent:Cl,getConnectionStatus:Nl,getConnectedTime:pl,getIpPort:Dl,getMessagesReceived:Il,getMessagesRecvPerSecond:Al,getMessagesSent:yl,getPacketLossPercent:El}}class be{_text;_time;_style;get text(){return this._text}set text(t){this._text=t}get time(){return this._time}set time(t){this._time=t}get style(){return this._style}set style(t){this._style=t}constructor(t,i,a){this._text=t,this._time=i,this._style=a}static hideForAll(t){be.__inject__.hideForAll(t)}static has(t,i){return be.__inject__.has(t.id,i)}forAll(t="win1252"){be.__inject__.forAll(A.encodeToBuf(A.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,i="win1252"){be.__inject__.forPlayer(t.id,A.encodeToBuf(A.convertSpecialChar(this.text),i),this.time,this.style)}hideForPlayer(t){return be.__inject__.hideForPlayer(t.id,this.style)}static __inject__={hideForAll:Fs,has:fo,forAll:js,forPlayer:mo,hideForPlayer:po}}class k{sourceInfo=null;_id=l.MENU;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===l.MENU)throw new Error("[Menu]: Invalid id");this._id=t;const i=k.getInstance(this._id);if(i)return i;Ge.set(this.id,this)}else this.sourceInfo=t}create(){if(!this.sourceInfo)throw new Error("[Menu]: Unable to create with only id");if(this._id!==l.MENU)throw new Error("[Menu]: Cannot be created twice");const{title:t,columns:i,x:a,y:r,colWidth:n,charset:s="ISO-8859-1"}=this.sourceInfo,[o,_]=n;if(this._id=k.__inject__.create(t,i,a,r,o,_,s),this.id===l.MENU||k.getInstances().length===H.MAX_MENUS)throw new Error("[Menu]: Unable to create menu");return Ge.set(this._id,this),this}destroy(){if(this._id===l.MENU)throw new Error("[Menu]: Cannot destroy before create");return D.skip||k.__inject__.destroy(this.id),Ge.delete(this._id),this._id=l.MENU,this}addItem(t,i){if(this._id===l.MENU)throw new Error("[Menu]: Cannot addItem before create");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return k.__inject__.addItem(this.id,t,i,this.sourceInfo?.charset||"ISO-8859-1"),this}setColumnHeader(t,i){if(this._id===l.MENU)throw new Error("[Menu]: Cannot setColumnHeader before create");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return k.__inject__.setColumnHeader(this.id,t,i,this.sourceInfo?.charset||"ISO-8859-1"),this}disable(){if(this._id===l.MENU)throw new Error("[Menu]: Cannot disable menu before create");return k.__inject__.disable(this.id),this}disableRow(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot disable row before create");return k.__inject__.disableRow(this.id,t)}isValid(){return D.skip&&this.id!==l.MENU?!0:k.isValid(this.id)}showForPlayer(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot show menu before create");return k.__inject__.showForPlayer(this.id,t.id)}hideForPlayer(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot hide menu before create");return k.__inject__.hideForPlayer(this.id,t.id)}isDisabled(){return this._id===l.MENU?!1:k.__inject__.isDisabled(this.id)}isRowDisabled(t){return this._id===l.MENU?!1:k.__inject__.isRowDisabled(this.id,t)}getItems(t){return this._id===l.MENU?0:k.__inject__.getItems(this.id,t)}getPos(){return k.__inject__.getPos(this.id)}getColumnWidth(){return k.__inject__.getColumnWidth(this.id)}getColumnHeader(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot get column header before create");return k.__inject__.getColumnHeader(this.id,t,this.sourceInfo?.charset||"ISO-8859-1")}getItem(t,i){if(this._id===l.MENU)throw new Error("[Menu]: Cannot get item before create");if(i<0||i>this.getItems(t)-1)throw new Error("[Menu]: invalid getItem range");return k.__inject__.getItem(this.id,t,i,this.sourceInfo?.charset||"ISO-8859-1")}static isValid(t){return k.__inject__.isValid(t)}static getInstance(t){return Ge.get(t)}static getInstances(){return[...Ge.values()]}static getInstanceByPlayer(t){return this.getInstance(Ei(t.id))}static __inject__={create:HI,destroy:qu,addItem:UI,setColumnHeader:WI,disable:am,disableRow:rm,isValid:im,showForPlayer:em,hideForPlayer:tm,isDisabled:Yu,isRowDisabled:zu,getItems:Ju,getPos:$u,getColumnWidth:Qu,getColumnHeader:kI,getItem:xI,getPlayerMenu:Ei}}x.onExit(({next:e})=>(k.getInstances().forEach(t=>t.destroy()),Ge.clear(),e()));const[AC]=m({name:"OnPlayerExitedMenu",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[EC]=m({name:"OnPlayerSelectedMenuRow",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e),a=k.getInstanceByPlayer(i);return{player:i,menu:a,row:t}}}),NC=Object.freeze({onPlayerExited:AC,onPlayerSelectedRow:EC});class b{sourceInfo=null;_player=null;_id=l.GANG_ZONE;get id(){return this._id}constructor(t,i){if(typeof t=="number"){if(t===l.GANG_ZONE)throw new Error("[GangZone]: Invalid id");i&&(this._player=i);const a=b.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?Oe.set(this._id,this):i&&(Z.has(i)||Z.set(i,new Map),Z.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[GangZone]: Unable to create with only id");if(this.id!==l.GANG_ZONE)throw new Error("[GangZone]: Unable to create again");const{player:t}=this.sourceInfo;if(t){const{minX:i,minY:a,maxX:r,maxY:n}=this.sourceInfo;if(this._id=b.__inject__.createPlayer(t.id,i,a,r,n),this.id===l.GANG_ZONE||b.getInstances(t).length===H.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to create playerGangZone");Z.has(t)||Z.set(t,new Map),Z.get(t).set(this._id,this)}else{const{minX:i,minY:a,maxX:r,maxY:n}=this.sourceInfo;if(this._id=b.__inject__.create(i,a,r,n),this.id===l.GANG_ZONE||b.getInstances().length===H.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to create gangZone");Oe.set(this.id,this)}return this}destroy(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to destroy before create");const t=this.getPlayer();if(!t)D.skip||b.__inject__.destroy(this.id),Oe.delete(this.id);else if(D.skip||b.__inject__.destroyPlayer(t.id,this.id),Z.has(t)){const i=Z.get(t);i.delete(this.id),i.size||Z.delete(t)}this._id=l.GANG_ZONE}isGlobal(){return!(this.sourceInfo?this.sourceInfo.player:this._player)}isPlayer(){return!this.isGlobal()}getPlayer(){return this._player?this._player:this.sourceInfo&&this.sourceInfo.player?this.sourceInfo.player:null}getPlayerId(){const t=this.getPlayer();return t?t.id:l.PLAYER_ID}showForAll(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to show gangzone before create");if(!this.getPlayer())return b.__inject__.showForAll(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be show for all.")}showForPlayer(t,i){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to show gangzone before create");const a=this.getPlayer();if(a)b.__inject__.showPlayer(a.id,this.id,N(t));else if(i)b.__inject__.showForPlayer(i.id,this.id,t);else throw new Error("[GangZone]: invalid player for show");return this}hideForAll(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to hide gangzone before create");if(!this.getPlayer())return b.__inject__.hideForAll(this.id),this;throw new Error("[GangZone]: player's gangzone should not be hide for all.")}hideForPlayer(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to hide gangzone before create");const i=this.getPlayer();if(i)b.__inject__.hidePlayer(i.id,this.id);else if(t)b.__inject__.hideForPlayer(t.id,this.id);else throw new Error("[GangZone]: invalid player for hide");return this}flashForAll(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to flash gangzone before create");if(!this.getPlayer())return b.__inject__.flashForAll(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be flash for all.")}flashForPlayer(t,i){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to flash gangzone before create");const a=this.getPlayer();if(a)b.__inject__.flashPlayer(a.id,this.id,N(i));else if(t)b.__inject__.flashForPlayer(t.id,this.id,i);else throw new Error("[GangZone]: invalid player for flash");return this}stopFlashForAll(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to stop flash gangzone before create");if(!this.getPlayer())return b.__inject__.stopFlashForAll(this.id),this;throw new Error("[GangZone]: player's gangzone should not be stop flash for all.")}stopFlashForPlayer(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to stop flash gangzone before create");const i=this.getPlayer();if(i)b.__inject__.stopFlashPlayer(i.id,this.id);else if(t)b.__inject__.stopFlashForPlayer(t.id,this.id);else throw new Error("[GangZone]: invalid player for flash");return this}isValid(){if(D.skip&&this.id!==l.GANG_ZONE)return!0;if(this.id===l.GANG_ZONE)return!1;const t=this.getPlayer();return t?b.isValidPlayer(t.id,this.id):b.isValidGlobal(this.id)}isPlayerIn(t){if(this.id===l.GANG_ZONE)return!1;const i=this.getPlayer();return i?b.__inject__.isPlayerInPlayer(i.id,this.id):b.__inject__.isPlayerIn(t.id,this.id)}isVisibleForPlayer(t){if(this.id===l.GANG_ZONE)return!1;const i=this.getPlayer();return i?b.__inject__.isVisiblePlayer(i.id,this.id):b.__inject__.isVisibleForPlayer(t.id,this.id)}getColorForPlayer(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to get color before create");const i=this.getPlayer();return i?b.__inject__.getColorPlayer(i.id,this.id):b.__inject__.getColorForPlayer(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to get flash color before create");const i=this.getPlayer();return i?b.__inject__.getFlashColorPlayer(i.id,this.id):b.__inject__.getFlashColorForPlayer(t.id,this.id)}isFlashingForPlayer(t){if(this.id===l.GANG_ZONE)return!1;const i=this.getPlayer();return i?b.__inject__.isFlashingPlayer(i.id,this.id):b.__inject__.isFlashingForPlayer(t.id,this.id)}getPos(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to get position before create");const t=this.getPlayer();return t?b.__inject__.getPosPlayer(t.id,this.id):b.__inject__.getPos(this.id)}useCheck(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to use check before create");const i=this.getPlayer();return i?b.__inject__.useCheckPlayer(i.id,this.id,t):b.__inject__.useCheck(this.id,t),this}static isValidPlayer(t,i){return b.__inject__.isValidPlayer(t,i)}static isValidGlobal(t){return b.__inject__.isValidGlobal(t)}static getInstance(t,i){if(!i)return Oe.get(t);if(i.id!==l.PLAYER_ID)return Z.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...Z.get(t)?.values()||[]]:[...Oe.values()]}static getPlayersInstances(){return Array.from(Z.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:Vm,destroy:Bm,showForAll:xm,hideForAll:Um,flashForAll:Km,stopFlashForAll:Zm,getPos:Fm,useCheck:Mm,createPlayer:Ym,destroyPlayer:zm,showPlayer:Jm,showForPlayer:km,hidePlayer:$m,hideForPlayer:Hm,flashPlayer:Qm,flashForPlayer:Wm,stopFlashPlayer:qm,stopFlashForPlayer:Xm,getPosPlayer:lf,useCheckPlayer:of,isPlayerIn:wm,isPlayerInPlayer:tf,isVisibleForPlayer:Rm,isVisiblePlayer:af,getColorForPlayer:Om,getColorPlayer:rf,getFlashColorForPlayer:Gm,getFlashColorPlayer:nf,isFlashingForPlayer:jm,isFlashingPlayer:sf,isValidPlayer:ef,isValidGlobal:Lm}}tt.onDisconnect(({player:e,next:t})=>(Z.has(e)&&(b.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),Z.delete(e)),t())),x.onExit(({next:e})=>(b.getInstances().forEach(t=>t.destroy()),b.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Oe.clear(),Z.clear(),e()));const[DC]=m({name:"OnPlayerEnterGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[TC]=m({name:"OnPlayerLeaveGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[vC]=m({name:"OnPlayerEnterPlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),[bC]=m({name:"OnPlayerLeavePlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),[LC]=m({name:"OnPlayerClickGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[wC]=m({name:"OnPlayerClickPlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),RC=Object.freeze({onPlayerEnterGlobal:DC,onPlayerLeaveGlobal:TC,onPlayerEnterPlayer:vC,onPlayerLeavePlayer:bC,onPlayerClickGlobal:LC,onPlayerClickPlayer:wC});class f{sourceInfo=null;_player=null;_id=l.TEXT_DRAW;get id(){return this._id}constructor(t,i){if(typeof t=="number"){if(t===l.TEXT_DRAW||t===l.PLAYER_TEXT_DRAW)throw new Error("[TextDraw]: Invalid id");i&&(this._player=i);const a=f.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?je.set(this._id,this):i&&(Y.has(i)||Y.set(i,new Map),Y.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[TextDraw]: Unable to create with only id");if(this.id!==l.TEXT_DRAW)throw new Error("[TextDraw]: Unable to create again");const{x:t,y:i,text:a,player:r,charset:n="ISO-8859-1"}=this.sourceInfo,s=A.encodeToBuf(A.convertSpecialChar(a),n);if(r){if(this._id=f.__inject__.createPlayer(r.id,t,i,s),this.id===l.TEXT_DRAW||f.getInstances(r).length===H.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to create player textdraw");Y.has(r)||Y.set(r,new Map),Y.get(r).set(this._id,this)}else{if(this._id=f.__inject__.create(t,i,s),this.id===l.TEXT_DRAW||f.getInstances().length===H.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to create textdraw");je.set(this.id,this)}return this}destroy(){this.id===l.TEXT_DRAW&&f.beforeCreateWarn("destroy textdraw");const t=this.getPlayer();if(!t)D.skip||f.__inject__.destroy(this.id),je.delete(this.id);else if(D.skip||f.__inject__.destroyPlayer(t.id,this.id),Y.has(t)){const i=Y.get(t);i.delete(this.id),i.size||Y.delete(t)}return this._id=l.TEXT_DRAW,this}setFont(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set font"),this;const i=this.getPlayer();return i?f.__inject__.setFontPlayer(i.id,this.id,t):f.__inject__.setFont(this.id,t),this}setColor(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set color"),this;const i=this.getPlayer();return i?f.__inject__.setColorPlayer(i.id,this.id,t):f.__inject__.setColor(this.id,t),this}setBoxColors(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set box color"),this;const i=this.getPlayer();return i?f.__inject__.setBoxColorPlayer(i.id,this.id,t):f.__inject__.setBoxColor(this.id,t),this}setBackgroundColors(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set background color"),this;const i=this.getPlayer();return i?f.__inject__.setBackgroundColorPlayer(i.id,this.id,t):f.__inject__.setBackgroundColor(this.id,t),this}setAlignment(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set alignment"),this;const i=this.getPlayer();return i?f.__inject__.setAlignmentPlayer(i.id,this.id,t):f.__inject__.setAlignment(this.id,t),this}setLetterSize(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set letter size"),this;const a=this.getPlayer();return a?f.__inject__.setLetterSizePlayer(a.id,this.id,t,i):f.__inject__.setLetterSize(this.id,t,i),this}setOutline(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set outline model"),this;if(t<0)throw new Error("[TextDraw]: Invalid outline value");const i=this.getPlayer();return i?f.__inject__.setOutlinePlayer(i.id,this.id,t):f.__inject__.setOutline(this.id,t),this}setPreviewModel(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set preview model"),this;this.setFont(Je.MODEL_PREVIEW);const i=this.getPlayer();return i?f.__inject__.setPreviewModelPlayer(i.id,this.id,t):f.__inject__.setPreviewModel(this.id,t),this}setPreviewRot(t,i,a,r=1){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set preview rot"),this;this.setFont(Je.MODEL_PREVIEW);const n=this.getPlayer();return n?f.__inject__.setPreviewRotPlayer(n.id,this.id,t,i,a,r):f.__inject__.setPreviewRot(this.id,t,i,a,r),this}setPreviewVehColors(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set preview veh col"),this;this.setFont(Je.MODEL_PREVIEW);const a=this.getPlayer();return a?f.__inject__.setPreviewVehicleColorsPlayer(a.id,this.id,t,i):f.__inject__.setPreviewVehicleColors(this.id,t,i),this}setProportional(t=!0){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set Proportional"),this;const i=this.getPlayer();return i?f.__inject__.setProportionalPlayer(i.id,this.id,t):f.__inject__.setProportional(this.id,t),this}setSelectable(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set Selectable"),this;const i=this.getPlayer();return i?f.__inject__.setSelectablePlayer(i.id,this.id,t):f.__inject__.setSelectable(this.id,t),this}setShadow(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set shadow"),this;if(t<0)throw new Error("[TextDraw]: Invalid shadow value");const i=this.getPlayer();return i?f.__inject__.setShadowPlayer(i.id,this.id,t):f.__inject__.setShadow(this.id,t),this}setString(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)throw new Error("[TextDraw]: Invalid text length");const a=this.sourceInfo?.charset||"ISO-8859-1",r=A.encodeToBuf(A.convertSpecialChar(t),a),n=this.getPlayer();return n?f.__inject__.setStringPlayer(n.id,this.id,r):i?f.__inject__.setStringForPlayer(this.id,i.id,r):f.__inject__.setString(this.id,r),this}setTextSize(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set TextSize"),this;const a=this.getPlayer();return a?f.__inject__.setTextSizePlayer(a.id,this.id,t,i):f.__inject__.setTextSize(this.id,t,i),this}useBox(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set TextSize"),this;const i=this.getPlayer();return i?f.__inject__.useBoxPlayer(i.id,this.id,t):f.__inject__.useBox(this.id,t),this}static beforeCreateWarn(t){throw new Error(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("show"),this;const i=this.getPlayer();if(i)f.__inject__.showPlayer(i.id,this.id);else if(t)f.__inject__.showForPlayer(t.id,this.id);else throw new Error("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("hide"),this;const i=this.getPlayer();if(i)f.__inject__.hidePlayer(i.id,this.id);else if(t)f.__inject__.hideForPlayer(t.id,this.id);else throw new Error("[TextDraw]: invalid player for hide");return this}showAll(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("show"),this;if(!this.getPlayer())return f.__inject__.showForAll(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be show for all.")}hideAll(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("hideAll"),this;if(!this.getPlayer())return f.__inject__.hideForAll(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be hide for all.")}isValid(){if(D.skip&&this.id!==l.TEXT_DRAW)return!0;const t=this.getPlayer();return t?f.__inject__.isValidPlayer(t.id,this.id):f.__inject__.isValid(this.id)}isVisibleForPlayer(t){if(this.id===l.TEXT_DRAW)return!1;const i=this.getPlayer();return i?f.__inject__.isVisiblePlayer(i.id,this.id):t?f.__inject__.isVisibleForPlayer(t.id,this.id):!1}getString(){this.id===l.TEXT_DRAW&&f.beforeCreateWarn("getString");const t=this.getPlayer();return t?f.__inject__.getStringPlayer(t.id,this.id).str:f.__inject__.getString(this.id).str}setPos(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set position"),this;const a=this.getPlayer();return a?f.__inject__.setPosPlayer(a.id,this.id,t,i):f.__inject__.setPos(this.id,t,i),this}getLetterSize(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get letter size");const t=this.getPlayer();return t?f.__inject__.getLetterSizePlayer(t.id,this.id):f.__inject__.getLetterSize(this.id)}getTextSize(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get text size");const t=this.getPlayer();return t?f.__inject__.getTextSizePlayer(t.id,this.id):f.__inject__.getTextSize(this.id)}getPos(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get position");const t=this.getPlayer();return t?f.__inject__.getPosPlayer(t.id,this.id):f.__inject__.getPos(this.id)}getColor(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get color");const t=this.getPlayer();return t?f.__inject__.getColorPlayer(t.id,this.id):f.__inject__.getColor(this.id)}getBoxColor(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get box color");const t=this.getPlayer();return t?f.__inject__.getBoxColorPlayer(t.id,this.id):f.__inject__.getBoxColor(this.id)}getBackgroundColor(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get bg color");const t=this.getPlayer();return t?f.__inject__.getBackgroundColorPlayer(t.id,this.id):f.__inject__.getBackgroundColor(this.id)}getShadow(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get shadow");const t=this.getPlayer();return t?f.__inject__.getShadowPlayer(t.id,this.id):f.__inject__.getShadow(this.id)}getOutline(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get outline");const t=this.getPlayer();return t?f.__inject__.getOutlinePlayer(t.id,this.id):f.__inject__.getOutline(this.id)}getFont(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get font");const t=this.getPlayer();return t?f.__inject__.getFontPlayer(t.id,this.id):f.__inject__.getFont(this.id)}isBox(){if(this.id===l.TEXT_DRAW)return!1;const t=this.getPlayer();return t?f.__inject__.isBoxPlayer(t.id,this.id):f.__inject__.isBox(this.id)}isProportional(){if(this.id===l.TEXT_DRAW)return!1;const t=this.getPlayer();return t?f.__inject__.isProportionalPlayer(t.id,this.id):f.__inject__.isProportional(this.id)}isSelectable(){if(this.id===l.TEXT_DRAW)return!1;const t=this.getPlayer();return t?f.__inject__.isSelectablePlayer(t.id,this.id):f.__inject__.isSelectable(this.id)}getAlignment(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get alignment");const t=this.getPlayer();return t?f.__inject__.getAlignmentPlayer(t.id,this.id):f.__inject__.getAlignment(this.id)}getPreviewModel(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get preview model");const t=this.getPlayer();return t?f.__inject__.getPreviewModelPlayer(t.id,this.id):f.__inject__.getPreviewModel(this.id)}getPreviewRot(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get preview rotation");const t=this.getPlayer();return t?f.__inject__.getPreviewRotPlayer(t.id,this.id):f.__inject__.getPreviewRot(this.id)}getPreviewVehColors(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get preview vel colors");const t=this.getPlayer();return t?f.__inject__.getPreviewVehicleColorsPlayer(t.id,this.id):f.__inject__.getPreviewVehicleColors(this.id)}isGlobal(){return!this.getPlayer()}isPlayer(){return!this.isGlobal()}getPlayer(){return this._player?this._player:this.sourceInfo&&this.sourceInfo.player?this.sourceInfo.player:null}getPlayerId(){const t=this.getPlayer();return t?t.id:l.PLAYER_ID}static getInstance(t,i){if(!i)return je.get(t);if(i.id!==l.PLAYER_ID)return Y.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...Y.get(t)?.values()||[]]:[...je.values()]}static getPlayersInstances(){return Array.from(Y.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:Lf,createPlayer:SP,destroy:wf,destroyPlayer:yP,setFont:xf,setFontPlayer:wP,setColor:jf,setColorPlayer:NP,setBoxColor:Mf,setBoxColorPlayer:TP,setBackgroundColor:kf,setBackgroundColorPlayer:LP,setAlignment:Gf,setAlignmentPlayer:EP,setLetterSize:Rf,setLetterSizePlayer:CP,setOutline:Bf,setOutlinePlayer:bP,setPreviewModel:zf,setPreviewModelPlayer:MP,setPreviewRot:Jf,setPreviewRotPlayer:VP,setPreviewVehicleColors:$f,setPreviewVehicleColorsPlayer:BP,setProportional:Hf,setProportionalPlayer:RP,setSelectable:Uf,setSelectablePlayer:OP,setShadow:Vf,setShadowPlayer:vP,setStringPlayer:FP,setStringForPlayer:bf,setString:Yf,setTextSize:Of,setTextSizePlayer:AP,useBoxPlayer:DP,useBox:Ff,showPlayer:GP,showForPlayer:Wf,hidePlayer:jP,hideForPlayer:Kf,showForAll:Xf,hideForAll:Zf,isValidPlayer:eP,isValid:_f,isVisiblePlayer:tP,isVisibleForPlayer:cf,getStringPlayer:iP,getString:df,setPosPlayer:aP,setPos:hf,getLetterSizePlayer:rP,getLetterSize:gf,getTextSizePlayer:nP,getTextSize:uf,getPosPlayer:sP,getPos:mf,getColorPlayer:lP,getColor:ff,getBoxColorPlayer:oP,getBoxColor:Pf,getBackgroundColorPlayer:_P,getBackgroundColor:pf,getShadowPlayer:cP,getShadow:If,getOutlinePlayer:dP,getOutline:Sf,getFontPlayer:hP,getFont:yf,isBoxPlayer:gP,isBox:Cf,isProportionalPlayer:uP,isProportional:Af,isSelectablePlayer:mP,isSelectable:Ef,getAlignmentPlayer:fP,getAlignment:Nf,getPreviewModelPlayer:PP,getPreviewModel:Df,getPreviewRotPlayer:pP,getPreviewRot:Tf,getPreviewVehicleColors:vf,getPreviewVehicleColorsPlayer:IP}}tt.onDisconnect(({player:e,next:t})=>(Y.has(e)&&(f.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),Y.delete(e)),t())),x.onExit(({next:e})=>(f.getInstances().forEach(t=>t.destroy()),f.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),je.clear(),Y.clear(),e()));const[OC]=m({name:"OnPlayerClickTextDraw",identifier:"ii",defaultValue:!1,beforeEach(e,t){return{player:c.getInstance(e),textDraw:t===l.TEXT_DRAW?t:f.getInstance(t)}}}),[GC]=m({name:"OnPlayerClickPlayerTextDraw",identifier:"ii",defaultValue:!1,beforeEach(e,t){const i=c.getInstance(e);return{player:i,textDraw:t===l.TEXT_DRAW?t:f.getInstance(t,i)}}}),jC=Object.freeze({onPlayerClickGlobal:OC,onPlayerClickPlayer:GC});tt.onDisconnect(({player:e,next:t})=>(W.has(e)&&(S.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),W.delete(e)),t())),x.onExit(({next:e})=>(S.getInstances().forEach(t=>t.destroy()),S.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Ae.clear(),W.clear(),e()));const[FC]=m({name:"OnPlayerSelectObject",identifier:"iiiifff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s){const o=c.getInstance(e),_=t!==ge.UNKNOWN&&t===ge.PLAYER_OBJECT,d=t!==ge.UNKNOWN&&t===ge.GLOBAL_OBJECT;return{player:o,type:t,isPlayerObject:_,isGlobal:d,objectMp:t===ge.GLOBAL_OBJECT?S.getInstance(i):S.getInstance(i,o),modelId:a,fX:r,fY:n,fZ:s}}}),[MC]=m({name:"OnPlayerEditObject",identifier:"iiiiffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d){const h=c.getInstance(e),u=t===1;return{player:h,isPlayerObject:u,isGlobal:!u,objectMp:u?S.getInstance(i,h):S.getInstance(i),response:a,fX:r,fY:n,fZ:s,fRotX:o,fRotY:_,fRotZ:d}}}),[VC]=m({name:"OnPlayerEditAttachedObject",identifier:"iiiiifffffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d,h,u,I,C){return{player:c.getInstance(e),response:t,index:i,modelId:a,boneId:r,fOffsetX:n,fOffsetY:s,fOffsetZ:o,fRotX:_,fRotY:d,fRotZ:h,fScaleX:u,fScaleY:I,fScaleZ:C}}}),[BC]=m({name:"OnObjectMoved",identifier:"i",beforeEach(e){return{objectMp:S.getInstance(e)}}}),[kC]=m({name:"OnPlayerObjectMoved",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,playerObject:S.getInstance(t,i)}}}),xC=Object.freeze({onPlayerSelect:FC,onPlayerEdit:MC,onPlayerEditAttached:VC,onGlobalMoved:BC,onPlayerMoved:kC});class O{_id=l.ACTOR_ID;sourceInfo=null;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===l.ACTOR_ID)throw new Error("[Actor]: Invalid id");const i=O.getInstance(t);if(i)return i;this._id=t}else this.sourceInfo=t}create(){if(this._id!==l.ACTOR_ID)throw new Error("[Actor]: Cannot be created twice");const{skin:t,x:i,y:a,z:r,rotation:n}=this.sourceInfo;if(this._id=O.__inject__.create(t,i,a,r,n),this._id===l.ACTOR_ID||O.getInstances().length===H.MAX_ACTORS)throw new Error("[Actor]: Unable to create actor");return Ve.set(this._id,this),this}destroy(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot before create");return D.skip||O.__inject__.destroy(this._id),Ve.delete(this._id),this._id=l.ACTOR_ID,this}isStreamIn(t){return this._id===l.ACTOR_ID?!1:O.__inject__.isStreamedIn(this.id,t.id)}setVirtualWorld(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setVirtualWorld(this.id,t)}getVirtualWorld(){return this._id===l.ACTOR_ID?0:O.__inject__.getVirtualWorld(this.id)}applyAnimation(t,i,a,r,n,s,o,_){return this._id===l.ACTOR_ID?!1:O.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_)}clearAnimations(){return this._id===l.ACTOR_ID?!1:O.__inject__.clearAnimations(this.id)}setPos(t,i,a){return this._id===l.ACTOR_ID?!1:O.__inject__.setPos(this.id,t,i,a)}getPos(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getPos before create");return O.__inject__.getPos(this.id)}setFacingAngle(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setFacingAngle(this.id,t)}getFacingAngle(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getFacingAngle before create");return O.__inject__.getFacingAngle(this.id)}setHealth(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setHealth(this.id,t)}getHealth(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getHealth before create");return O.__inject__.getHealth(this.id)}setInvulnerable(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setInvulnerable(this.id,t)}isInvulnerable(){return this._id===l.ACTOR_ID?!1:O.__inject__.isInvulnerable(this.id)}isValid(){return O.isValid(this._id)}setSkin(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setSkin(this.id,t)}getSkin(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getSkin before create");return this.sourceInfo?this.sourceInfo.skin:O.__inject__.getSkin(this.id)}getAnimation(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getAnimation before create");return O.__inject__.getAnimation(this.id)}getSpawnInfo(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getSpawnInfo before create");return O.__inject__.getSpawnInfo(this.id)}static isValid(t){return O.__inject__.isValid(t)}static getInstance(t){return Ve.get(t)}static getInstances(){return[...Ve.values()]}static __inject__={create:vc,destroy:bc,applyAnimation:Oc,clearAnimations:Gc,getAnimation:Tc,getFacingAngle:Vc,getHealth:kc,getPos:Fc,getSkin:Ec,getSpawnInfo:Dc,getVirtualWorld:Rc,isInvulnerable:Hc,isStreamedIn:Lc,isValid:Uc,setFacingAngle:Mc,setHealth:Bc,setInvulnerable:xc,setPos:jc,setSkin:Nc,setVirtualWorld:wc}}x.onExit(({next:e})=>(O.getInstances().forEach(t=>t.destroy()),Ve.clear(),e()));const[HC]=m({name:"OnPlayerGiveDamageActor",identifier:"iifii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),actor:O.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),[UC]=m({name:"OnActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:O.getInstance(e),player:c.getInstance(t)}}}),[WC]=m({name:"OnActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:O.getInstance(e),player:c.getInstance(t)}}}),KC=Object.freeze({onPlayerGiveDamage:HC,onStreamIn:UC,onStreamOut:WC});class Le{static set(t,i,a,r,n){return Le.__inject__.set(t.id,i,a,r,n)}static disable(t){return Le.__inject__.disable(t.id)}static isPlayerIn(t){return Le.__inject__.isPlayerIn(t.id)}static isActive(t){return Le.__inject__.isActive(t.id)}static get(t){return Le.__inject__.get(t.id)}static __inject__={disable:Uu,get:yi,isActive:Si,isPlayerIn:Xu,set:Hu}}const[XC]=m({name:"OnPlayerEnterCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[ZC]=m({name:"OnPlayerLeaveCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),YC=Object.freeze({onPlayerEnter:XC,onPlayerLeave:ZC});class we{static set(t,i,a,r,n,s,o,_,d){return we.__inject__.set(t.id,i,a,r,n,s,o,_,d)}static disable(t){return we.__inject__.disable(t.id)}static isPlayerIn(t){return we.__inject__.isPlayerIn(t.id)}static isActive(t){return we.__inject__.isActive(t.id)}static get(t){return we.__inject__.get(t.id)}static __inject__={disable:Ku,get:Ai,isActive:Ci,isPlayerIn:Zu,set:Wu}}const[zC]=m({name:"OnPlayerEnterRaceCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[JC]=m({name:"OnPlayerLeaveRaceCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),$C=Object.freeze({onPlayerEnter:zC,onPlayerLeave:JC});class M{sourceInfo=null;_id=l.PICKUP_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===l.PICKUP_ID)throw new Error("[Pickup]: Invalid id");this._id=t;const i=M.getInstance(this._id);if(i)return i;Be.set(this.id,this)}else this.sourceInfo=t}create(){if(!this.sourceInfo)throw new Error("[Pickup]: Unable to create with only id");if(this.id!==l.PICKUP_ID)throw new Error("[Pickup]: Cannot be created twice");const{model:t,type:i,virtualWorld:a,x:r,y:n,z:s,isStatic:o}=this.sourceInfo;if(o)M.__inject__.addStatic(t,i,r,n,s,a);else{if(this._id=M.__inject__.create(t,i,r,n,s,a),M.getInstances().length===H.MAX_PICKUPS||this._id===l.PICKUP_ID)throw new Error("[Pickup]: Unable to create pickup");Be.set(this.id,this)}return this}destroy(){if(this.sourceInfo&&this.sourceInfo.isStatic)throw new Error("[Pickup]: Cannot destroy static pickups");if(this.id===l.PICKUP_ID)throw new Error("[Pickup]: Cannot be destroyed twice");D.skip||M.__inject__.destroy(this.id),Be.delete(this.id)}isValid(){return this.id===l.PICKUP_ID?!1:M.isValid(this.id)}isStreamedIn(t){return this.id===l.PICKUP_ID?!1:M.__inject__.isStreamedIn(t.id,this.id)}getPos(){return M.__inject__.getPos(this.id)}getModel(){return this.id===l.PICKUP_ID?0:M.__inject__.getModel(this.id)}getType(){return this.id===l.PICKUP_ID?0:M.__inject__.getType(this.id)}getVirtualWorld(){return this.id===l.PICKUP_ID?0:M.__inject__.getVirtualWorld(this.id)}setPos(t,i,a,r){return this.id===l.PICKUP_ID?!1:M.__inject__.setPos(this.id,t,i,a,r)}setModel(t,i=!0){return this.id===l.PICKUP_ID?!1:M.__inject__.setModel(this.id,t,i)}setType(t,i=!0){return this.id===l.PICKUP_ID?!1:M.__inject__.setType(this.id,t,i)}setVirtualWorld(t){return this.id===l.PICKUP_ID?!1:M.__inject__.setVirtualWorld(this.id,t)}showForPlayer(t){return this.id===l.PICKUP_ID?!1:M.__inject__.showForPlayer(t.id,this.id)}hideForPlayer(t){return this.id===l.PICKUP_ID?!1:M.__inject__.hideForPlayer(t.id,this.id)}isHiddenForPlayer(t){return this.id===l.PICKUP_ID?!1:M.__inject__.isHiddenForPlayer(t.id,this.id)}static isValid(t){return t===l.PICKUP_ID?!1:M.__inject__.isValid(t)}static getInstance(t){return Be.get(t)}static getInstances(){return[...Be.values()]}static __inject__={create:uI,addStatic:gI,destroy:mI,isStreamedIn:tI,getPos:iI,getModel:aI,getType:rI,getVirtualWorld:nI,setPos:sI,setModel:lI,setType:oI,setVirtualWorld:_I,showForPlayer:cI,hideForPlayer:dI,isHiddenForPlayer:hI,isValid:eI}}x.onExit(({next:e})=>(M.getInstances().forEach(t=>t.destroy()),Be.clear(),e()));const[QC]=m({name:"OnPlayerPickUpPickup",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:M.getInstance(t)}}}),[qC]=m({name:"OnPickupStreamIn",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:M.getInstance(t)}}}),[eA]=m({name:"OnPickupStreamOut",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:M.getInstance(t)}}}),tA=Object.freeze({onPlayerPickUp:QC,onStreamIn:qC,onStreamOut:eA});class w{sourceInfo=null;_id=l._3DTEXT_ID;_player=null;get id(){return this._id}constructor(t,i){if(typeof t=="number"){if(t===l.PLAYER_3DTEXT_ID)throw new Error("[TextLabel]: Invalid id");i&&(this._player=i);const a=w.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?ke.set(this._id,this):i&&(z.has(i)||z.set(i,new Map),z.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[TextLabel]: Unable to create with only id");if(this.id!==l._3DTEXT_ID)throw new Error("[TextLabel]: Unable to create again");const{charset:t="utf8",text:i,color:a,x:r,y:n,z:s,drawDistance:o,virtualWorld:_,testLOS:d,attachedPlayer:h,attachedVehicle:u}=this.sourceInfo;if(this.isGlobal()){if(this._id=w.__inject__.create(t,i,a,r,n,s,o,_,d),this.id===l._3DTEXT_ID||w.getInstances().length===H.MAX_3DTEXT_GLOBAL)throw new Error("[TextLabel]: Unable to create textLabel");return ke.set(this._id,this),this}const I=this.getPlayerId();if(I===l.PLAYER_ID)return this;const C=this.getPlayer();if(this._id=w.__inject__.createPlayer(t,I,i,a,r,n,s,o,typeof h>"u"?l.PLAYER_ID:h.id,typeof u>"u"?l.VEHICLE_ID:u.id,d),this.id===l._3DTEXT_ID||w.getInstances(C).length===H.MAX_3DTEXT_PLAYER)throw new Error("[TextLabel]: Unable to create playerTextLabel");return z.has(C)||z.set(C,new Map),z.get(this.getPlayer()).set(this.id,this),this}destroy(){if(this.id===l._3DTEXT_ID)throw new Error("[TextLabel]: Unable to destroy the textLabel before create");if(this.isGlobal())D.skip||w.__inject__.delete(this.id),ke.delete(this.id);else{const t=this.getPlayerId();if(t===l.PLAYER_ID)return this;const i=this.getPlayer();if(D.skip||w.__inject__.deletePlayer(t,this.id),z.has(i)){const a=z.get(i);a.delete(this.id),a.size===0&&z.delete(i)}}return this._id=l._3DTEXT_ID,this}isGlobal(){return!(this.sourceInfo?this.sourceInfo.player:this._player)}isPlayer(){return!this.isGlobal()}getPlayer(){return this._player?this._player:this.sourceInfo&&this.sourceInfo.player?this.sourceInfo.player:null}getPlayerId(){const t=this.getPlayer();return t?t.id:l.PLAYER_ID}isValid(){return D.skip&&this.id!==l._3DTEXT_ID?!0:this.isGlobal()?w.isValid(this.id):w.isValid(this.id,this.getPlayerId())}attachToPlayer(t,i,a,r){if(this.id===l._3DTEXT_ID)return!1;if(!this.isGlobal())throw new Error("[TextLabel]: Unable to attach to player, textLabel is not global");return w.__inject__.attachToPlayer(this.id,t.id,i,a,r)}attachToVehicle(t,i,a,r){if(this.id===l._3DTEXT_ID)return!1;if(!this.isGlobal())throw new Error("[TextLabel]: Unable to attach to vehicle, textLabel is not global");return w.__inject__.attachToVehicle(this.id,t.id,i,a,r)}updateText(t,i,a="utf8"){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.updateText(a,this.id,t,i):w.__inject__.updatePlayerText(a,this.getPlayerId(),this.id,t,i)}isStreamedIn(t){if(this.id===l._3DTEXT_ID)return!1;if(!this.isGlobal())throw new Error("[TextLabel]: Unable to check stream in, textLabel is not global");return w.__inject__.isStreamedIn(this.id,t.id)}getText(t=this.sourceInfo?.charset||"utf8"){return this.isGlobal()?w.__inject__.getText(t,this.id):w.__inject__.getPlayerText(t,this.getPlayerId(),this.id)}getColor(){return this.isGlobal()?w.__inject__.getColor(this.id):w.__inject__.getPlayerColor(this.getPlayerId(),this.id)}getPos(){return this.isGlobal()?w.__inject__.getPos(this.id):w.__inject__.getPlayerPos(this.getPlayerId(),this.id)}setDrawDistance(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.setDrawDistance(this.id,t):w.__inject__.setPlayerDrawDistance(this.getPlayerId(),this.id,t)}getDrawDistance(){return this.isGlobal()?w.__inject__.getDrawDistance(this.id):w.__inject__.getPlayerDrawDistance(this.getPlayerId(),this.id)}getLOS(){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.getLOS(this.id):w.__inject__.getPlayerLOS(this.getPlayerId(),this.id)}setLOS(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.setLOS(this.id,t):w.__inject__.setPlayerLOS(this.getPlayerId(),this.id,t)}getVirtualWorld(){return this.id===l._3DTEXT_ID?0:this.isGlobal()?w.__inject__.getVirtualWorld(this.id):w.__inject__.getPlayerVirtualWorld(this.getPlayerId(),this.id)}setVirtualWorld(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.setVirtualWorld(this.id,t):w.__inject__.setPlayerVirtualWorld(this.getPlayerId(),this.id,t)}getAttachedData(){return this.isGlobal()?w.__inject__.getAttachedData(this.id):w.__inject__.getPlayerAttachedData(this.getPlayerId(),this.id)}static isValid(t,i){return i===l.PLAYER_ID?!1:typeof i>"u"?w.__inject__.isValid(t):w.__inject__.isValidPlayer(i,t)}static getInstance(t,i){if(!i)return ke.get(t);if(i.id!==l.PLAYER_ID)return z.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...z.get(t)?.values()||[]]:[...ke.values()]}static getPlayersInstances(){return Array.from(z.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:GI,createPlayer:jI,getText:VI,getPlayerText:BI,updateText:FI,updatePlayerText:MI,delete:fm,attachToPlayer:Pm,attachToVehicle:pm,isStreamedIn:sm,getColor:lm,getPos:om,setDrawDistance:_m,getDrawDistance:cm,getLOS:dm,setLOS:hm,getVirtualWorld:um,setVirtualWorld:gm,getAttachedData:mm,isValid:nm,deletePlayer:bm,getPlayerColor:Sm,getPlayerPos:ym,setPlayerDrawDistance:Cm,getPlayerDrawDistance:Am,getPlayerLOS:Em,setPlayerLOS:Nm,getPlayerVirtualWorld:Dm,setPlayerVirtualWorld:Tm,getPlayerAttachedData:vm,isValidPlayer:Im}}tt.onDisconnect(({player:e,next:t})=>(z.has(e)&&(w.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),z.delete(e)),t())),x.onExit(({next:e})=>(w.getInstances().forEach(t=>t.destroy()),w.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),ke.clear(),z.clear(),e()));function iA(e,t){return(e&t)===t}function aA(e,t,i){return(e&i)===i&&(t&i)!==i}function rA(e,t){return!!(e&t)}function nA(e,t,i){return(e&i)!==i&&(t&i)===i}function sA(e){const t=new Set,i=e.prototype,a=Object.getOwnPropertyNames(i).filter(n=>typeof i[n]=="function"&&n!=="constructor").reduce((n,s)=>(n[s]=i[s],n),{});function r(n,s){if(t.has(n))throw new Error(`Method '${String(n)}' of class '${e.name}' has already been hooked. Each method can only be hooked once per defineHooks call. `);if(typeof Reflect.get(i,n)!="function")throw new Error(`Invalid method: ${String(n)}`);return Reflect.set(i,n,s),t.add(n),s}return[a,r]}export{O as Actor,KC as ActorEvent,vt as ArtworkEnum,kt as BodyPartsEnum,xt as BoneIdsEnum,zt as BulletHitTypesEnum,Ye as CameraCutStylesEnum,Bt as CameraModesEnum,Wt as CarModTypeEnum,YC as CheckPointEvent,Le as Checkpoint,bt as ClickSourcesEnum,wt as ConnectionStatusEnum,mt as DamageDeathReasonEnum,U as Dialog,dt as DialogStylesEnum,ee as Dynamic3DTextLabel,Jy as Dynamic3DTextLabelEvent,G as DynamicActor,Ky as DynamicActorEvent,v as DynamicArea,aC as DynamicAreaEvent,Gy as DynamicCheckPointEvent,K as DynamicCheckpoint,ne as DynamicMapIcon,yy as DynamicMapIconEvent,R as DynamicObject,fy as DynamicObjectEvent,ie as DynamicPickup,Ty as DynamicPickupEvent,X as DynamicRaceCP,xy as DynamicRaceCPEvent,le as E_STREAMER,Lt as EditResponseTypesEnum,ht as FightingStylesEnum,Ht as ForceSyncEnum,x as GameMode,be as GameText,b as GangZone,RC as GangZoneEvent,A as I18n,l as InvalidEnum,Rt as KeysEnum,H as LimitsEnum,ot as MapIconStyles,Vt as MapIconStylesEnum,Ot as MarkerModesEnum,Qt as MaterialTextAlign,st as MaterialTextSizes,k as Menu,NC as MenuEvent,Ze as NPCEntityCheckEnum,Re as NPCMoveSpeedEnum,at as NPCMoveTypeEnum,Gt as NPCPlaybackEnum,jt as NPCRecordStatusEnum,$ as NetStats,g as Npc,CC as NpcEvent,Ue as NpcNode,Ke as NpcPath,We as NpcRecord,Mt as ObjectMaterialAlignmentEnum,Ft as ObjectMaterialTextSizeEnum,S as ObjectMp,xC as ObjectMpEvent,tA as PickUpEvent,M as Pickup,c as Player,tt as PlayerEvent,ze as PlayerStateEnum,we as RaceCheckpoint,$C as RaceCpEvent,Jt as RecordTypesEnum,ge as SelectObjectTypesEnum,gt as SpecialActionsEnum,rt as SpectateModesEnum,E as Streamer,$t as StreamerAreaTypes,V as StreamerDistances,T as StreamerItemTypes,P as StreamerMiscellaneous,nt as StreamerObjectTypes,f as TextDraw,Ut as TextDrawAlignEnum,jC as TextDrawEvent,Je as TextDrawFontsEnum,w as TextLabel,p as Vehicle,sy as VehicleEvent,Xt as VehicleModelInfoEnum,Kt as VehicleParamsEnum,Zt as WeaponEnum,Yt as WeaponSkillsEnum,ut as WeaponStatesEnum,Ti as animateLib,m as defineEvent,sA as defineHooks,fI as getAnimateDurationByLibName,iA as isHolding,aA as isPressed,rA as isPressing,nA as isReleased,St as isValidAnimateLib,yt as isValidAnimateName,N as rgba,ts as useTrigger,is as withTriggerOptions};