@infernus/core 0.14.0 → 0.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bundle.js CHANGED
@@ -1,3 +1,3 @@
1
- "use strict";var Wi=require("node:util"),Ui=require("iconv-lite"),bt=(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))(bt||{}),wt=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(wt||{}),ht=(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))(ht||{}),Lt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Lt||{}),Rt=(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))(Rt||{}),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||{}),Ot=(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))(Ot||{}),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||{}),Gt=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(Gt||{}),jt=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(jt||{}),Ft=(e=>(e[e.NONE=0]="NONE",e[e.START=1]="START",e[e.PAUSE=2]="PAUSE",e))(Ft||{}),ge=(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))(ge||{}),Je=(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))(Je||{}),Ge=(e=>(e[e.AUTO=-1]="AUTO",e[e.WALK=.1552086]="WALK",e[e.JOG=.56444]="JOG",e[e.SPRINT=.926784]="SPRINT",e))(Ge||{}),Mt=(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))(Mt||{}),Vt=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Vt||{}),me=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(me||{}),ut=(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))(ut||{}),kt=(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))(kt||{}),$e=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))($e||{}),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||{}),nt=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(nt||{}),Qe=(e=>(e[e.NONE=0]="NONE",e[e.ONFOOT=1]="ONFOOT",e[e.DRIVER=2]="DRIVER",e[e.PASSENGER=3]="PASSENGER",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.ENTER_VEHICLE_DRIVER=5]="ENTER_VEHICLE_DRIVER",e[e.ENTER_VEHICLE_PASSENGER=6]="ENTER_VEHICLE_PASSENGER",e[e.WASTED=7]="WASTED",e[e.SPAWNED=8]="SPAWNED",e[e.SPECTATING=9]="SPECTATING",e))(Qe||{}),xt=(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))(xt||{}),Ht=(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))(Ht||{}),Wt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(Wt||{}),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||{}),qe=(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))(qe||{}),Ut=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Ut||{}),Kt=(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))(Kt||{}),Xt=(e=>(e[e.UNSET=-1]="UNSET",e[e.OFF=0]="OFF",e[e.ON=1]="ON",e))(Xt||{}),Zt=(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))(Zt||{}),Yt=(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))(Yt||{}),zt=(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))(zt||{}),Jt=(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))(Jt||{}),mt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NO_BULLETS=0]="NO_BULLETS",e[e.LAST_BULLET=1]="LAST_BULLET",e[e.MORE_BULLETS=2]="MORE_BULLETS",e[e.RELOADING=3]="RELOADING",e))(mt||{}),Pt=(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))(Pt||{}),$t=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))($t||{}),Qt=(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))(Qt||{}),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||{}),f=(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))(f||{}),st=(e=>(e[e.GLOBAL=0]="GLOBAL",e[e.PLAYER=1]="PLAYER",e[e.DYNAMIC=2]="DYNAMIC",e))(st||{}),oe=(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))(oe||{}),qt=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(qt||{}),lt=(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))(lt||{});const ei=-1,Ki=-1,Xi=-1,Zi=-1,Yi=0,zi=-1e3,Ji=-1e3,$i=-1e3,Qi=0,ti=32,qi=300,ea=!0,ot=1,ta=e=>samp.callNative("DestroyDynamic3DTextLabel","i",e),ii=e=>!!samp.callNative("IsValidDynamic3DTextLabel","i",e),ia=(e,t,i,a,r,n=!0,s=100,o=0,_=-1,d=-1,h=V.ACTOR_SD,g=-1,I=0)=>samp.callNative("CreateDynamicActor","iffffifiiifii",e,t,i,a,r,n,s,o,_,d,h,g,I),aa=e=>samp.callNative("DestroyDynamicActor","i",e),ra=e=>!!samp.callNative("IsValidDynamicActor","i",e),na=(e,t)=>!!samp.callNative("IsDynamicActorStreamedIn","ii",e,t),sa=e=>samp.callNative("GetDynamicActorVirtualWorld","i",e),la=(e,t)=>samp.callNative("SetDynamicActorVirtualWorld","ii",e,t),oa=(e,t,i,a,r,n,s,o,_)=>samp.callNative("ApplyDynamicActorAnimation","issfiiiii",e,t,i,a,r,n,s,o,_),_a=e=>samp.callNative("ClearDynamicActorAnimations","i",e),ca=e=>{const[t,i]=samp.callNative("GetDynamicActorFacingAngle","iF",e);return{angle:t,ret:i}},da=(e,t)=>samp.callNative("SetDynamicActorFacingAngle","if",e,t),ha=e=>{const[t,i,a,r]=samp.callNative("GetDynamicActorPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},ua=(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}},ma=(e,t)=>samp.callNative("SetDynamicActorHealth","if",e,t),Pa=(e,t=!0)=>samp.callNative("SetDynamicActorInvulnerable","ii",e,t),fa=e=>!!samp.callNative("IsDynamicActorInvulnerable","i",e),pa=e=>samp.callNative("GetPlayerTargetDynamicActor","i",e),Ia=e=>samp.callNative("GetPlayerCameraTargetDynActor","i",e),ya=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}},Ca=(e,t,i,a=-1,r=-1,n=-1,s=0)=>samp.callNative("CreateDynamicCircle","fffiiii",e,t,i,a,r,n,s),Sa=(e,t,i,a,r,n=-1,s=-1,o=-1,_=0)=>samp.callNative("CreateDynamicCylinder","fffffiiii",e,t,i,a,r,n,s,o,_),Ea=(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),Na=(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),Da=(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),Ta=e=>samp.callNative("DestroyDynamicArea","i",e),va=e=>!!samp.callNative("IsValidDynamicArea","i",e),ba=e=>samp.callNative("GetDynamicAreaType","i",e),wa=e=>{const[t,i]=samp.callNative("GetDynamicPolygonPoints","iAi",e,ai(e));return{points:t,ret:i}},ai=e=>samp.callNative("GetDynamicPolygonNumberPoints","i",e),La=(e,t,i=!1)=>!!samp.callNative("IsPlayerInDynamicArea","iii",e,t,i),Ra=(e,t=!1)=>!!samp.callNative("IsPlayerInAnyDynamicArea","ii",e,t),Oa=(e,t=!1)=>!!samp.callNative("IsAnyPlayerInDynamicArea","ii",e,t),Ga=(e=!1)=>!!samp.callNative("IsAnyPlayerInAnyDynamicArea","i",e),ja=e=>{const[t,i]=samp.callNative("GetPlayerDynamicAreas","iAi",e,ri(e));return{areas:t,ret:i}},ri=e=>samp.callNative("GetPlayerNumberDynamicAreas","i",e),Fa=(e,t,i,a)=>!!samp.callNative("IsPointInDynamicArea","ifff",e,t,i,a),Ma=(e,t,i)=>!!samp.callNative("IsPointInAnyDynamicArea","fff",e,t,i),Va=(e,t,i,a,r,n,s)=>!!samp.callNative("IsLineInDynamicArea","iffffff",e,t,i,a,r,n,s),ka=(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,ni(e,t,i));return{areas:a,ret:r}},ni=(e,t,i)=>samp.callNative("GetNumberDynamicAreasForPoint","fff",e,t,i),xa=(e,t,i,a,r,n)=>{const[s,o]=samp.callNative("GetDynamicAreasForLine","ffffffAi",e,t,i,a,r,n,si(e,t,i,a,r,n));return{areas:s,ret:o}},si=(e,t,i,a,r,n)=>samp.callNative("GetNumberDynamicAreasForLine","ffffff",e,t,i,a,r,n),Ha=(e,t,i=st.DYNAMIC,a=65535,r=0,n=0,s=0)=>samp.callNative("AttachDynamicAreaToObject","iiiifff",e,t,i,a,r,n,s),Wa=(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),Ka=(e,t)=>samp.callNative("ToggleDynAreaSpectateMode","ii",e,t),Xa=e=>!!samp.callNative("IsToggleDynAreaSpectateMode","i",e),Za=(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),Ya=e=>samp.callNative("DestroyDynamicCP","i",e),ft=e=>!!samp.callNative("IsValidDynamicCP","i",e),za=(e,t,i)=>samp.callNative("TogglePlayerDynamicCP","iii",e,t,i),Ja=(e,t)=>samp.callNative("TogglePlayerAllDynamicCPs","ii",e,t),$a=(e,t)=>!!samp.callNative("IsPlayerInDynamicCP","ii",e,t),Qa=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}},er=(e,t,i,a)=>samp.callNative("Streamer_SetFloatData","iiif",e,t,i,a),tr=(e,t,i)=>samp.callNative("Streamer_GetIntData","iii",e,t,i),ir=(e,t,i,a)=>samp.callNative("Streamer_SetIntData","iiii",e,t,i,a),ar=(e,t,i)=>{const[a,r]=samp.callNative("Streamer_GetArrayData","iiiAi",e,t,i,li(e,t,i));return{arrayData:a,ret:r}},rr=(e,t,i,a)=>samp.callNative("Streamer_SetArrayData","iiiai",e,t,i,a,a.length),nr=(e,t,i,a)=>!!samp.callNative("Streamer_IsInArrayData","iiii",e,t,i,a),sr=(e,t,i,a)=>samp.callNative("Streamer_AppendArrayData","iiii",e,t,i,a),lr=(e,t,i,a)=>samp.callNative("Streamer_RemoveArrayData","iiii",e,t,i,a),li=(e,t,i)=>samp.callNative("Streamer_GetArrayDataLength","iii",e,t,i),or=e=>samp.callNative("Streamer_GetUpperBound","i",e);var _t=(e=>(e[e.LOCAL=0]="LOCAL",e[e.GLOBAL=1]="GLOBAL",e[e.LOCAL_CHECKPOINT=2]="LOCAL_CHECKPOINT",e[e.GLOBAL_CHECKPOINT=3]="GLOBAL_CHECKPOINT",e))(_t||{});const _r=(e,t,i,a,r,n=-1,s=-1,o=-1,_=V.MAP_ICON_SD,d=0,h=-1,g=0)=>samp.callNative("CreateDynamicMapIcon","fffiiiiifiii",e,t,i,a,r,n,s,o,_,d,h,g),cr=e=>samp.callNative("DestroyDynamicMapIcon","i",e),dr=e=>!!samp.callNative("IsValidDynamicMapIcon","i",e),hr=(e,t,i,a,r,n,s,o=V.OBJECT_SD,_=V.OBJECT_DD,d=[-1],h=[-1],g=[-1],I=[-1],S=0)=>samp.callNative("CreateDynamicObjectEx","iffffffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,g,I,S,d.length,h.length,g.length,I.length),ur=(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),mr=(e,t,i,a,r,n,s,o,_=V.RACE_CP_SD,d=[-1],h=[-1],g=[-1],I=[-1],S=0)=>samp.callNative("CreateDynamicRaceCPEx","iffffffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,g,I,S,d.length,h.length,g.length,I.length),Pr=(e,t,i,a,r,n=_t.LOCAL,s=V.MAP_ICON_SD,o=[-1],_=[-1],d=[-1],h=[-1],g=0)=>samp.callNative("CreateDynamicMapIconEx","fffiiifaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,g,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,_),Ir=(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),yr=(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),Cr=(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),Sr=(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),Er=(e,t,i,a,r,n=!0,s=100,o=V.ACTOR_SD,_=[0],d=[-1],h=[-1],g=[-1],I=0)=>samp.callNative("CreateDynamicActorEx","iffffiffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,g,I,_.length,d.length,h.length,g.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}},Nr=(e,t,i,a)=>samp.callNative("Streamer_ToggleItem","iiii",e,t,i,a),Dr=(e,t,i)=>!!samp.callNative("Streamer_IsToggleItem","iii",e,t,i),Tr=(e,t,i,a=[-1])=>samp.callNative("Streamer_ToggleAllItems","iiiai",e,t,i,a,a.length),vr=(e,t,i)=>samp.callNative("Streamer_GetItemInternalID","iii",e,t,i),br=(e,t,i)=>samp.callNative("Streamer_GetItemStreamerID","iii",e,t,i),wr=(e,t,i)=>!!samp.callNative("Streamer_IsItemVisible","iii",e,t,i),Lr=(e,t,i=ot)=>samp.callNative("Streamer_DestroyAllVisibleItems","iii",e,t,i),Rr=(e,t,i=ot)=>samp.callNative("Streamer_CountVisibleItems","iii",e,t,i),Or=(e,t=ot)=>samp.callNative("Streamer_DestroyAllItems","ii",e,t),Gr=(e,t=ot)=>samp.callNative("Streamer_CountItems","ii",e,t),jr=(e,t,i,a,r=ti,n=qi,s=ei)=>{const[o=[],_=0]=samp.callNative("Streamer_GetNearbyItems","fffiAifi",e,t,i,a,r,n,s);return o.slice(0,_)},Fr=(e,t,i=ti)=>{const[a=[],r=0]=samp.callNative("Streamer_GetAllVisibleItems","iiAi",e,t,i);return a.slice(0,r)},Mr=(e,t)=>{const[i,a,r,n]=samp.callNative("Streamer_GetItemPos","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Vr=(e,t,i,a,r)=>samp.callNative("Streamer_SetItemPos","iifff",e,t,i,a,r),kr=(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),xr=(e,t,i,a,r,n,s,o=ei,_=Ki,d=Xi,h=V.OBJECT_SD,g=V.OBJECT_DD,I=Zi,S=Yi)=>samp.callNative("CreateDynamicObject","iffffffiiiffii",e,t,i,a,r,n,s,o,_,d,h,g,I,S),Hr=e=>samp.callNative("DestroyDynamicObject","i",e),Wr=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}},Kr=(e,t,i,a)=>samp.callNative("SetDynamicObjectPos","ifff",e,t,i,a),Xr=e=>{const[t,i,a,r]=samp.callNative("GetDynamicObjectRot","iFFF",e);return{rx:t,ry:i,rz:a,ret:r}},Zr=(e,t,i,a)=>samp.callNative("SetDynamicObjectRot","ifff",e,t,i,a),Yr=(e,t,i,a,r,n=zi,s=Ji,o=$i)=>samp.callNative("MoveDynamicObject","ifffffff",e,t,i,a,r,n,s,o),zr=e=>samp.callNative("StopDynamicObject","i",e),Jr=e=>!!samp.callNative("IsDynamicObjectMoving","i",e),$r=(e,t)=>samp.callNative("AttachCameraToDynamicObject","ii",e,t),Qr=(e,t,i,a,r,n,s,o,_=ea)=>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),en=(e,t,i,a,r,n,s,o)=>samp.callNative("AttachDynamicObjectToVehicle","iiffffff",e,t,i,a,r,n,s,o),tn=(e,t)=>samp.callNative("EditDynamicObject","ii",e,t),an=(e,t)=>!!samp.callNative("IsDynamicObjectMaterialUsed","ii",e,t),rn=(e,t)=>samp.callNative("RemoveDynamicObjectMaterial","ii",e,t),nn=(e,t,i,a,r,n=Qi)=>samp.callNative("SetDynamicObjectMaterial","iiissi",e,t,i,a,r,n),sn=(e,t)=>!!samp.callNative("IsDynamicObjectMaterialTextUsed","ii",e,t),ln=(e,t)=>samp.callNative("RemoveDynamicObjectMaterialText","ii",e,t),on=e=>samp.callNative("GetPlayerCameraTargetDynObject","i",e),_n=e=>!!samp.callNative("SetDynamicObjectNoCameraCol","i",e),cn=e=>!!samp.callNative("GetDynamicObjectNoCameraCol","i",e),dn=(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),hn=e=>!!samp.callNative("DestroyDynamicPickup","i",e),un=e=>!!samp.callNative("IsValidDynamicPickup","i",e),gn=(e,t,i,a,r,n,s,o,_=-1,d=-1,h=-1,g=V.RACE_CP_SD,I=-1,S=0)=>samp.callNative("CreateDynamicRaceCP","ifffffffiiifii",e,t,i,a,r,n,s,o,_,d,h,g,I,S),mn=e=>samp.callNative("DestroyDynamicRaceCP","i",e),Pn=(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),In=e=>samp.callNative("GetPlayerVisibleDynamicRaceCP","i",e),yn=()=>samp.callNative("Streamer_GetTickRate",""),Cn=(e=50)=>samp.callNative("Streamer_SetTickRate","i",e),Sn=e=>samp.callNative("Streamer_GetPlayerTickRate","i",e),En=(e,t=50)=>samp.callNative("Streamer_SetPlayerTickRate","ii",e,t),An=(e=!1)=>samp.callNative("Streamer_ToggleChunkStream","i",e),Nn=()=>!!samp.callNative("Streamer_IsToggleChunkStream",""),oi=(e,t=-1)=>samp.callNative("Streamer_GetChunkTickRate","ii",e,t),_i=(e,t,i=-1)=>samp.callNative("Streamer_SetChunkTickRate","iii",e,t,i),Dn=e=>samp.callNative("Streamer_GetChunkSize","i",e),Tn=(e,t)=>samp.callNative("Streamer_SetChunkSize","ii",e,t),vn=e=>samp.callNative("Streamer_GetMaxItems","i",e),bn=(e,t)=>samp.callNative("Streamer_SetMaxItems","ii",e,t),ci=(e,t=-1)=>samp.callNative("Streamer_GetVisibleItems","ii",e,t),di=(e,t,i=-1)=>samp.callNative("Streamer_SetVisibleItems","iii",e,t,i),hi=(e,t=-1)=>{const[i,a]=samp.callNative("Streamer_GetRadiusMultiplier","iFi",e,t);return{multiplier:i,ret:a}},ui=(e,t,i=-1)=>samp.callNative("Streamer_SetRadiusMultiplier","ifi",e,t,i),wn=()=>{const[e,t]=samp.callNative("Streamer_GetTypePriority","Ai",f.MAX_TYPES);return{priority:e,ret:t}},Ln=e=>samp.callNative("Streamer_SetTypePriority","ai",e,f.MAX_TYPES),Rn=()=>{const[e,t]=samp.callNative("Streamer_GetCellDistance","F");return{distance:e,ret:t}},On=(e=600)=>samp.callNative("Streamer_SetCellDistance","f",e),Gn=()=>{const[e,t]=samp.callNative("Streamer_GetCellSize","F");return{size:e,ret:t}},jn=(e=300)=>samp.callNative("Streamer_SetCellSize","f",e),Fn=(e,t,i)=>samp.callNative("Streamer_ToggleItemStatic","iii",e,t,i),Mn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemStatic","ii",e,t),Vn=(e,t,i)=>samp.callNative("Streamer_ToggleItemInvAreas","iii",e,t,i),kn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemInvAreas","ii",e,t),Bn=(e,t,i)=>samp.callNative("Streamer_ToggleItemCallbacks","iii",e,t,i),xn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemCallbacks","ii",e,t),Hn=e=>samp.callNative("Streamer_ToggleErrorCallback","i",e),Wn=()=>!!samp.callNative("Streamer_IsToggleErrorCallback",""),Un=e=>samp.callNative("Streamer_AmxUnloadDestroyItems","i",e),Kn=()=>samp.callNative("Streamer_ProcessActiveItems",""),Xn=(e,t)=>samp.callNative("Streamer_ToggleIdleUpdate","ii",e,t),Zn=e=>!!samp.callNative("Streamer_IsToggleIdleUpdate","i",e),Yn=(e,t)=>samp.callNative("Streamer_ToggleCameraUpdate","ii",e,t),zn=e=>!!samp.callNative("Streamer_IsToggleCameraUpdate","i",e),Jn=(e,t,i)=>samp.callNative("Streamer_ToggleItemUpdate","iii",e,t,i),$n=(e,t)=>!!samp.callNative("Streamer_IsToggleItemUpdate","ii",e,t),Qn=()=>{const[e,t]=samp.callNative("Streamer_GetLastUpdateTime","F");return{time:e,ret:t}},qn=(e,t=-1)=>samp.callNative("Streamer_Update","ii",e,t),es=(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 ts(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function mi(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 g=t;const I=()=>{s&&(h.length?Promise.allSettled(h).then(()=>s(d)):s(d))},S=C=>{if(g++,g<_.length){try{C&&Object.assign(d,C);const w={next:S,defaultValue:a,...d},F=_[g](w);return F instanceof Promise?(h.push(F),a):F}catch(w){const F=`executing event [name:${r},index:${g}]`;if(o)throw new Error(F);console.log(F),w instanceof Error?console.log(w):console.log(JSON.stringify(w)),I()}return a}return I(),a};return ts(S(),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 g=h.indexOf(_.skipToNext);g>-1&&(d=g)}}return mi(e,d,..._.args)}return mi(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 g=q.get(t);if(!g)return;const I=g.length-1,S=I<h?I:h;for(let C=S;C>=0;C--)if(g[C]===o){g.splice(C,1);break}return g.length===0&&q.delete(t),g.length}}const s=[n,r];return a&&(typeof i<"u"&&samp.registerEvent(t,i),samp.on(t,r)),gi.set(t,r),s}function is(e){return gi.get(e)}function as(e){return Object.assign(e,{__trigger__:!0})}function Pi(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 rs(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 ct(e){return e==="__proto__"}function et(e,t){const i=Object.keys(t);for(let a=0;a<i.length;a++){const r=i[a];if(ct(r))continue;const n=t[r],s=e[r];Array.isArray(n)?Array.isArray(s)?e[r]=et(s,n):e[r]=et([],n):Pi(n)?Pi(s)?e[r]=et(s,n):e[r]=et({},n):(s===void 0||n!==void 0)&&(e[r]=n)}return e}function ns(e,t){const i={...e};for(let a=0;a<t.length;a++){const r=t[a];delete i[r]}return i}const ss=new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+","gu");function ls(e){return Array.from(e.match(ss)??[])}function pt(e){return ls(e).map(i=>i.toLowerCase()).join("_")}function os(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 _s(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 It(e,t,i){if(e==null)return i;switch(typeof t){case"string":{if(ct(t))return i;const a=e[t];return a===void 0?os(t)?It(e,_s(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 cs(e,t,i);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),ct(t))return i;const a=e[t];return a===void 0?i:a}}}function cs(e,t,i){if(t.length===0)return i;let a=e;for(let r=0;r<t.length;r++){if(a==null||ct(t[r]))return i;a=a[t[r]]}return a===void 0?i:a}const{encode:ds,decode:hs,encodingExists:us}=Ui;function gs(e){return e instanceof Buffer}class E{constructor(t,i){this.defaultLocale=t,this.locales=i,this.defaultLocale=pt(t),this.locales=E.snakeLocaleKeys(i)}addLocales=t=>{et(this.locales,E.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=ns(this.locales,t)};$t=(t,i,a=this.defaultLocale)=>{const r=this.locales[pt(a)],n=It(this.locales[this.defaultLocale],t),s=It(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=Wi.format(o,...i)),o};static isValidate(t){if(!us(t))throw new Error(`[i18n]: unknown charset ${t}`)}static encodeToBuf(t,i){return E.isValidate(i),[...ds(t,i),0]}static decodeFromBuf(t,i="utf8"){E.isValidate(i);const a=gs(t)?t:Buffer.from(E.getValidStr(t));return hs(a,i)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return rs(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 ms=e=>!!samp.callNative("IsValidNickName","s",e),Ps=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},fs=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),ps=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),Is=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),ys=e=>!!samp.callNative("IsValidServerRule","s",e),Cs=e=>!!samp.callNative("RemoveServerRule","s",e),Ss=e=>{samp.callNative("AllowAdminTeleport","i",e)},Es=()=>!!samp.callNative("IsAdminTeleportAllowed",""),As=e=>{samp.callNative("AllowInteriorWeapons","i",e)},Ns=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),Ds=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Ts=e=>{samp.callNative("EnableAllAnimations","i",e)},vs=e=>{const[t,i]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return{consoleVarBuf:t,ret:i}},bs=e=>samp.callNative("GetConsoleVarAsInt","s",e),ws=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),Ls=()=>samp.callNative("GetWeather",""),Rs=e=>samp.callNative("GetServerRuleFlags","s",e),Os=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Gs=e=>!!samp.callNative("SetModeRestartTime","f",e),js=()=>samp.callNativeFloat("GetModeRestartTime",""),Fs=(e,t,i)=>samp.callNative("GameTextForAll","aii",e,t,i),Ms=e=>{samp.callNative("HideGameTextForAll","i",e)},Vs=(e,t,i)=>samp.callNative("SendDeathMessage","iii",e,t,i),ks=()=>samp.callNative("GetMaxPlayers",""),yt=(e,t,i)=>Math.sqrt(e*e+t*t+i*i),Bs=e=>samp.callNative("SetGameModeText","s",e),xs=e=>samp.callNative("ShowNameTags","i",e),Hs=e=>samp.callNative("ShowPlayerMarkers","i",e),Ws=e=>samp.callNative("SetWorldTime","i",e),Us=()=>samp.callNative("GetWorldTime",""),Ks=()=>!!samp.callNative("EnableVehicleFriendlyFire",""),Xs=e=>samp.callNative("SetWeather","i",e),Zs=()=>samp.callNativeFloat("GetGravity",""),Ys=e=>samp.callNative("SetGravity","f",e),zs=(e,t,i,a,r)=>samp.callNative("CreateExplosion","fffif",e,t,i,a,r),Js=e=>samp.callNative("EnableZoneNames","i",e),$s=()=>!!samp.callNative("UsePlayerPedAnims",""),Qs=()=>!!samp.callNative("DisableInteriorEnterExits",""),qs=e=>samp.callNative("SetNameTagDrawDistance","f",e),el=()=>samp.callNative("DisableNameTagLOS",""),tl=e=>samp.callNative("LimitGlobalChatRadius","f",e),il=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),al=()=>samp.callNative("GetServerTickRate",""),rl=e=>{const[t,i]=samp.callNative("GetAnimationName","iSiSi",e,32,32);return{animLib:t,animName:i}},nl=e=>!!samp.callNative("EnableStuntBonusForAll","i",e),sl=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},ll=()=>!!samp.callNative("ChatTextReplacementToggled",""),ol=e=>samp.callNative("GetWeaponSlot","i",e),_l=e=>{const[t,i]=samp.callNative("GetWeaponName","iSi",e,32);return{name:t,ret:i}},cl=()=>samp.callNative("GetAvailableClasses",""),dl=e=>{const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[i,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h=0,g=0,I=0,S=0,C]=t;return{teamId:i,modelId:a,spawnX:r,spawnY:n,spawnZ:s,zAngle:o,weapon1:_,weapon1Ammo:d,weapon2:h,weapon2Ammo:g,weapon3:I,weapon3Ammo:S,ret:C}},hl=(e,t,i,a,r,n,s,o,_,d,h,g,I)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,g,I),ul=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),ml=(e,t,i,a,r,n,s,o,_,d,h,g)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,g),Pl=(e,t,i,a,r,n,s,o,_,d,h,g,I)=>!!samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,g,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,g=0,I=0,S]=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:g,weapon3Ammo:I,ret:S}},Il=e=>samp.callNative("NetStats_GetConnectedTime","i",e),yl=e=>samp.callNative("NetStats_MessagesReceived","i",e),Cl=e=>samp.callNative("NetStats_BytesReceived","i",e),Sl=e=>samp.callNative("NetStats_MessagesSent","i",e),El=e=>samp.callNative("NetStats_BytesSent","i",e),Al=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),Nl=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Dl=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Tl=e=>{const[t,i]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return{ipPort:t,ret:i}},vl=e=>!!samp.callNative("IsPlayerAdmin","i",e),bl=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),wl=e=>!!samp.callNative("Kick","i",e),Ll=e=>!!samp.callNative("Ban","i",e),Rl=e=>{const[t,i]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return{stats:t,ret:i}},Ol=()=>{const[e,t]=samp.callNative("GetNetworkStats","Si",1024);return{stats:e,ret:t}},Gl=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),jl=e=>samp.callNative("UnBlockIpAddress","s",e),Fl=(e,t)=>{const[i,a]=samp.callNative("gpci","iAi",e,41);return{val:E.decodeFromBuf(E.getValidStr(i),t),ret:a}},Ml=(e,t,i,a,r)=>samp.callNative("SendClientCheck","iiiii",e,t,i,a,r),Vl=()=>{samp.callNative("ClearBanList","")},kl=e=>!!samp.callNative("IsBanned","s",e),Bl=e=>samp.callNative("GetPlayerRawIp","i",e),xl=e=>{const[t,i]=samp.callNative("GetPlayerIp","iSi",e,128);return{ip:t,ret:i}},Hl=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},Wl=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),Ul=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Kl=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Xl=e=>samp.callNative("GetPlayerWeather","i",e),Zl=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}},Yl=e=>samp.callNativeFloat("GetPlayerZAim","i",e),zl=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:i,fOffsetZ:a,ret:r}},Jl=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}},$l=e=>samp.callNative("GetPlayerDialogID","i",e),Ql=e=>samp.callNative("GetPlayerSpectateID","i",e),ql=e=>samp.callNative("GetPlayerSpectateType","i",e),eo=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),to=e=>samp.callNativeFloat("GetPlayerGravity","i",e),io=e=>!!samp.callNative("IsPlayerSpawned","i",e),ao=e=>!!samp.callNative("IsPlayerControllable","i",e),ro=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),no=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),so=e=>!!samp.callNative("GetPlayerGhostMode","i",e),lo=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),oo=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),_o=e=>!!samp.callNative("HidePlayerDialog","i",e),co=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),ho=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),uo=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),go=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),mo=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),Po=(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),Io=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),yo=e=>!!samp.callNative("IsPlayerNPC","i",e),Co=(e,t,i,a)=>!!samp.callNative("SetPlayerPos","ifff",e,t,i,a),So=(e,t,i,a)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,i,a),Eo=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),No=e=>{const[t,i]=samp.callNative("GetPlayerFacingAngle","iF",e);return{angle:t,ret:i}},Do=(e,t,i,a,r)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,i,a,r),To=(e,t,i,a)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,i,a),vo=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),bo=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),wo=e=>samp.callNative("GetPlayerInterior","i",e),Lo=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),Ro=e=>{const[t,i]=samp.callNative("GetPlayerHealth","iF",e);return{health:t,ret:i}},Oo=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),Go=e=>{const[t,i]=samp.callNative("GetPlayerArmour","iF",e);return{armour:t,ret:i}},jo=(e,t,i)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,i),Fo=e=>samp.callNative("GetPlayerAmmo","i",e),Mo=e=>samp.callNative("GetPlayerWeaponState","i",e),Vo=e=>samp.callNative("GetPlayerTargetPlayer","i",e),ko=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Bo=e=>samp.callNative("GetPlayerTeam","i",e),xo=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),Ho=e=>samp.callNative("GetPlayerScore","i",e),Wo=e=>samp.callNative("GetPlayerDrunkLevel","i",e),Uo=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),Ko=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,N(t)),Xo=e=>samp.callNative("GetPlayerColor","i",e),Zo=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),Yo=e=>samp.callNative("GetPlayerSkin","i",e),zo=(e,t,i)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,i),Jo=e=>!!samp.callNative("ResetPlayerWeapons","i",e),$o=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),Qo=(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),e_=e=>!!samp.callNative("ResetPlayerMoney","i",e),t_=e=>samp.callNative("GetPlayerMoney","i",e),i_=e=>samp.callNative("GetPlayerState","i",e),a_=e=>samp.callNative("GetPlayerPing","i",e),r_=e=>samp.callNative("GetPlayerWeapon","i",e),n_=e=>{const[t,i,a,r]=samp.callNative("GetPlayerKeys","iIII",e);return{keys:t,upDown:i,leftRight:a,ret:r}},s_=(e,t,i)=>!!samp.callNative("SetPlayerTime","iii",e,t,i),l_=e=>{const[t,i,a]=samp.callNative("GetPlayerTime","iII",e);return{hour:t,minute:i,ret:a}},o_=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),__=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),c_=e=>!!samp.callNative("ForceClassSelection","i",e),d_=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),h_=e=>samp.callNative("GetPlayerWantedLevel","i",e),u_=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),g_=e=>samp.callNative("GetPlayerFightingStyle","i",e),m_=(e,t,i,a)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,i,a),P_=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),I_=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),y_=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),C_=(e,t,i)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,i),S_=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),E_=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),A_=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),N_=(e,t,i,a,r,n)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,i,a,r,n),D_=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}},T_=(e,t,i)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,i),v_=e=>samp.callNative("GetPlayerVehicleID","i",e),b_=e=>samp.callNative("GetPlayerVehicleSeat","i",e),w_=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),L_=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),R_=(e,t,i,a,r)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,i,a,r),O_=(e,t,i,a,r,n,s,o,_,d)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,i,a,r,n,s,o,_,d),G_=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),j_=e=>samp.callNative("GetPlayerAnimationIndex","i",e),F_=e=>samp.callNative("GetPlayerSpecialAction","i",e),M_=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),V_=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),k_=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),B_=e=>samp.callNative("GetPlayerVirtualWorld","i",e),x_=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),H_=e=>samp.callNative("GetPlayerCustomSkin","i",e),W_=(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),K_=e=>!!samp.callNative("StopRecordingPlayerData","i",e),X_=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),Z_=(e,t,i)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,i),Y_=(e,t,i)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,i),z_=e=>!!samp.callNative("IsPlayerConnected","i",e),J_=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),$_=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),Q_=(e,t,i,a,r)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,i,a,r),q_=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),ec=(e,t,i)=>{samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,N(i))};function tc(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",e,t)}const ic=(e,t,i)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,i),ac=(e,t,i,a,r,n,s,o)=>!!samp.callNative("SetPlayerMapIcon","iifffiii",e,t,i,a,r,n,N(s),o),rc=(e,t)=>!!samp.callNative("RemovePlayerMapIcon","ii",e,t),nc=(e,t,i,a)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,i,a),sc=(e,t,i,a,r)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,i,a,r),lc=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),oc=e=>{const[t,i,a,r]=samp.callNative("GetPlayerCameraPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},_c=e=>{const[t,i,a,r]=samp.callNative("GetPlayerCameraFrontVector","iFFF",e);return{x:t,y:i,z:a,ret:r}},cc=e=>samp.callNative("GetPlayerCameraMode","i",e),dc=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),hc=e=>samp.callNative("GetPlayerCameraTargetObject","i",e),uc=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),gc=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),mc=e=>samp.callNative("GetPlayerCameraTargetActor","i",e),Pc=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),fc=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),pc=(e,t)=>!!samp.callNative("AttachCameraToObject","ii",e,t),Ic=(e,t)=>!!samp.callNative("AttachCameraToPlayerObject","ii",e,t),yc=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,i,a,r,n,s,o,_),Cc=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,i,a,r,n,s,o,_),Sc=e=>!!samp.callNative("IsPlayerCuffed","i",e),Ec=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),Ac=e=>!!samp.callNative("IsPlayerUsingOmp","i",e),Nc=e=>samp.callNative("GetActorSkin","i",e),Dc=(e,t)=>!!samp.callNative("SetActorSkin","ii",e,t),Tc=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}},vc=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}},bc=(e,t,i,a,r)=>samp.callNative("CreateActor","iffff",e,t,i,a,r),wc=e=>!!samp.callNative("DestroyActor","i",e),Lc=(e,t)=>!!samp.callNative("IsActorStreamedIn","ii",e,t),Rc=(e,t)=>!!samp.callNative("SetActorVirtualWorld","ii",e,t),Oc=e=>samp.callNative("GetActorVirtualWorld","i",e),Gc=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("ApplyActorAnimation","issfiiiii",e,t,i,a,r,n,s,o,_),jc=e=>!!samp.callNative("ClearActorAnimations","i",e),Fc=(e,t,i,a)=>!!samp.callNative("SetActorPos","ifff",e,t,i,a),Mc=e=>{const[t,i,a,r]=samp.callNative("GetActorPos","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},Vc=(e,t)=>!!samp.callNative("SetActorFacingAngle","if",e,t),kc=e=>{const[t,i]=samp.callNative("GetActorFacingAngle","iF",e);return{angle:t,ret:!!i}},Bc=(e,t)=>!!samp.callNative("SetActorHealth","if",e,t),xc=e=>{const[t,i]=samp.callNative("GetActorHealth","iF",e);return{health:t,ret:!!i}},Hc=(e,t)=>!!samp.callNative("SetActorInvulnerable","ii",e,t),Wc=e=>!!samp.callNative("IsActorInvulnerable","i",e),Uc=e=>!!samp.callNative("IsValidActor","i",e),Kc=e=>samp.callNative("NPC_Create","s",e),Xc=e=>samp.callNative("NPC_Destroy","i",e),Zc=e=>!!samp.callNative("NPC_IsValid","i",e),Yc=e=>samp.callNative("NPC_Spawn","i",e),zc=e=>samp.callNative("NPC_Respawn","i",e),Jc=(e,t,i,a)=>samp.callNative("NPC_SetPos","ifff",e,t,i,a),$c=(e,t,i,a)=>samp.callNative("NPC_SetRot","ifff",e,t,i,a),Qc=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),ed=e=>{const[t,i]=samp.callNative("NPC_GetFacingAngle","iF",e);return{angle:t,ret:i}},td=(e,t)=>samp.callNative("NPC_SetVirtualWorld","ii",e,t),id=e=>samp.callNative("NPC_GetVirtualWorld","i",e),ad=(e,t,i,a,r,n)=>!!samp.callNative("NPC_Move","ifffif",e,t,i,a,r,n),rd=(e,t,i,a)=>!!samp.callNative("NPC_MoveToPlayer","iiif",e,t,i,a),nd=e=>samp.callNative("NPC_StopMove","i",e),sd=e=>!!samp.callNative("NPC_IsMoving","i",e),ld=(e,t)=>!!samp.callNative("NPC_IsMovingToPlayer","ii",e,t),od=(e,t)=>samp.callNative("NPC_SetSkin","ii",e,t),_d=e=>samp.callNative("NPC_GetSkin","i",e),cd=(e,t)=>!!samp.callNative("NPC_IsStreamedIn","ii",e,t),dd=e=>!!samp.callNative("NPC_IsAnyStreamedIn","i",e),hd=(e,t)=>samp.callNative("NPC_SetInterior","ii",e,t),ud=e=>samp.callNative("NPC_GetInterior","i",e),gd=(e,t)=>samp.callNative("NPC_SetHealth","if",e,t),md=e=>samp.callNativeFloat("NPC_GetHealth","i",e),Pd=(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),Id=(e,t,i,a,r,n,s,o,_,d)=>samp.callNative("NPC_ApplyAnimation","issfiiiiii",e,t,i,a,r,n,s,o,_,d),yd=(e,t)=>samp.callNative("NPC_SetWeapon","ii",e,t),Cd=e=>samp.callNative("NPC_GetWeapon","i",e),Sd=(e,t)=>samp.callNative("NPC_SetAmmo","ii",e,t),Ed=e=>samp.callNative("NPC_GetAmmo","i",e),Ad=(e,t,i,a)=>samp.callNative("NPC_SetKeys","iiii",e,t,i,a),Nd=e=>{const[t,i,a,r]=samp.callNative("NPC_GetKeys","iIII",e);return{upAndDown:t,leftAndDown:i,keys:a,ret:r}},Dd=(e,t,i)=>samp.callNative("NPC_SetWeaponSkillLevel","iii",e,t,i),Td=(e,t)=>samp.callNative("NPC_GetWeaponSkillLevel","ii",e,t),vd=(e,t,i)=>samp.callNative("NPC_MeleeAttack","iii",e,t,i),bd=e=>samp.callNative("NPC_StopMeleeAttack","i",e),wd=e=>!!samp.callNative("NPC_IsMeleeAttacking","i",e),Ld=(e,t)=>samp.callNative("NPC_SetFightingStyle","ii",e,t),Rd=e=>samp.callNative("NPC_GetFightingStyle","i",e),Od=(e,t)=>samp.callNative("NPC_EnableReloading","ii",e,t),Gd=e=>!!samp.callNative("NPC_IsReloadEnabled","i",e),jd=e=>!!samp.callNative("NPC_IsReloading","i",e),Fd=(e,t)=>samp.callNative("NPC_EnableInfiniteAmmo","ii",e,t),Md=e=>!!samp.callNative("NPC_IsInfiniteAmmoEnabled","i",e),Vd=(e,t)=>!!samp.callNative("NPC_SetWeaponState","ii",e,t),kd=e=>samp.callNative("NPC_GetWeaponState","i",e),Bd=(e,t)=>samp.callNative("NPC_SetAmmoInClip","ii",e,t),xd=e=>samp.callNative("NPC_GetAmmoInClip","i",e),Hd=(e,t,i,a,r,n,s,o,_,d,h,g)=>samp.callNative("NPC_Shoot","iiiffffffii",e,t,i,a,r,n,s,o,_,d,h,g),Wd=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),Kd=(e,t,i,a,r,n,s,o,_,d,h,g)=>samp.callNative("NPC_AimAtPlayer","iiiiiffffffi",e,t,i,a,r,n,s,o,_,d,h,g),Xd=e=>samp.callNative("NPC_StopAim","i",e),Zd=e=>!!samp.callNative("NPC_IsAiming","i",e),Yd=(e,t)=>!!samp.callNative("NPC_IsAimingAtPlayer","ii",e,t),zd=(e,t,i)=>samp.callNative("NPC_SetWeaponAccuracy","iif",e,t,i),Jd=(e,t)=>samp.callNativeFloat("NPC_GetWeaponAccuracy","ii",e,t),$d=(e,t,i)=>samp.callNative("NPC_SetWeaponReloadTime","iii",e,t,i),Qd=(e,t)=>samp.callNative("NPC_GetWeaponReloadTime","ii",e,t),qd=(e,t)=>samp.callNative("NPC_GetWeaponActualReloadTime","ii",e,t),eh=(e,t,i)=>samp.callNative("NPC_SetWeaponShootTime","iii",e,t,i),th=(e,t)=>samp.callNative("NPC_GetWeaponShootTime","ii",e,t),ih=(e,t,i)=>samp.callNative("NPC_SetWeaponClipSize","iii",e,t,i),ah=(e,t)=>samp.callNative("NPC_GetWeaponClipSize","ii",e,t),rh=(e,t)=>samp.callNative("NPC_GetWeaponActualClipSize","ii",e,t),nh=(e,t,i,a)=>samp.callNative("NPC_EnterVehicle","iiii",e,t,i,a),sh=e=>samp.callNative("NPC_ExitVehicle","i",e),lh=(e,t,i)=>samp.callNative("NPC_PutInVehicle","iii",e,t,i),oh=e=>samp.callNative("NPC_RemoveFromVehicle","i",e),_h=e=>samp.callNative("NPC_GetVehicle","i",e),ch=e=>samp.callNative("NPC_GetVehicleSeat","i",e),dh=e=>samp.callNative("NPC_GetEnteringVehicle","i",e),hh=e=>samp.callNative("NPC_GetEnteringVehicleSeat","i",e),uh=e=>!!samp.callNative("NPC_IsEnteringVehicle","i",e),gh=(e,t)=>samp.callNative("NPC_UseVehicleSiren","ii",e,t),mh=e=>!!samp.callNative("NPC_IsVehicleSirenUsed","i",e),Ph=(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),Ih=e=>samp.callNative("NPC_GetVehicleHydraThrusters","i",e),yh=(e,t)=>samp.callNative("NPC_SetVehicleGearState","ii",e,t),Ch=e=>samp.callNative("NPC_GetVehicleGearState","i",e),Sh=(e,t)=>samp.callNative("NPC_SetVehicleTrainSpeed","if",e,t),Eh=e=>samp.callNativeFloat("NPC_GetVehicleTrainSpeed","i",e),Ah=e=>samp.callNative("NPC_ResetAnimation","i",e),Nh=(e,t,i,a,r,n,s,o)=>samp.callNative("NPC_SetAnimation","iifiiiii",e,t,i,a,r,n,s,o),Dh=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:_}},Th=e=>samp.callNative("NPC_ClearAnimations","i",e),vh=(e,t)=>samp.callNative("NPC_SetSpecialAction","ii",e,t),bh=e=>samp.callNative("NPC_GetSpecialAction","i",e),wh=(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,_),Rh=e=>samp.callNative("NPC_StopPlayback","i",e),Oh=(e,t)=>samp.callNative("NPC_PausePlayback","ii",e,t),Gh=e=>!!samp.callNative("NPC_IsPlayingPlayback","i",e),jh=e=>!!samp.callNative("NPC_IsPlaybackPaused","i",e),Fh=(e,t,i,a,r,n)=>!!samp.callNative("NPC_PlayNode","iiiffi",e,t,i,a,r,n),Mh=e=>!!samp.callNative("NPC_StopPlayingNode","i",e),Vh=e=>!!samp.callNative("NPC_PausePlayingNode","i",e),kh=e=>!!samp.callNative("NPC_ResumePlayingNode","i",e),Bh=e=>!!samp.callNative("NPC_IsPlayingNodePaused","i",e),xh=e=>!!samp.callNative("NPC_IsPlayingNode","i",e),Hh=(e,t,i)=>samp.callNative("NPC_ChangeNode","iii",e,t,i),Wh=(e,t)=>!!samp.callNative("NPC_UpdateNodePoint","ii",e,t),Uh=(e,t)=>samp.callNative("NPC_SetInvulnerable","ii",e,t),Kh=e=>!!samp.callNative("NPC_IsInvulnerable","i",e),Xh=(e,t,i,a)=>samp.callNative("NPC_SetSurfingOffsets","ifff",e,t,i,a),Zh=e=>{const[t,i,a,r]=samp.callNative("NPC_GetSurfingOffsets","iFFF",e);return{x:t,y:i,z:a,ret:r}},Yh=(e,t)=>samp.callNative("NPC_SetSurfingVehicle","ii",e,t),zh=e=>samp.callNative("NPC_GetSurfingVehicle","i",e),Jh=(e,t)=>samp.callNative("NPC_SetSurfingObject","ii",e,t),$h=e=>samp.callNative("NPC_GetSurfingObject","i",e),Qh=(e,t)=>samp.callNative("NPC_SetSurfingPlayerObject","ii",e,t),qh=e=>samp.callNative("NPC_GetSurfingPlayerObject","i",e),eu=e=>samp.callNative("NPC_ResetSurfingData","i",e),tu=e=>!!samp.callNative("NPC_IsSpawned","i",e),iu=(e,t,i)=>!!samp.callNative("NPC_Kill","iii",e,t,i),au=(e,t,i,a)=>!!samp.callNative("NPC_SetVelocity","ifff",e,t,i,a),ru=e=>{const[t,i,a,r]=samp.callNative("NPC_GetVelocity","iFFF",e);return{x:t,y:i,z:a,ret:r}},nu=e=>samp.callNative("NPC_GetPlayerAimingAt","i",e),su=e=>samp.callNative("NPC_GetPlayerMovingTo","i",e),lu=e=>{const[t,i,a,r]=samp.callNative("NPC_GetPosMovingTo","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},ou=e=>samp.callNative("NPC_GetCustomSkin","i",e),_u=(e,t,i,a)=>!!samp.callNative("NPC_SetAngleToPos","ifff",e,t,i,a),cu=(e,t)=>!!samp.callNative("NPC_SetAngleToPlayer","ii",e,t),du=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}},hu=(e,t,i,a,r,n,s,o,_=-2,d=-2)=>samp.callNative("SetVehicleSpawnInfo","iiffffiiii",e,t,i,a,r,n,s,o,_,d),uu=e=>{const[t=0,i=0,a]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:i,ret:a}},gu=e=>samp.callNative("GetVehiclePaintjob","i",e),mu=e=>samp.callNative("GetVehicleInterior","i",e),Pu=e=>{const[t,i]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return{plate:t,ret:i}},fu=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),pu=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Iu=e=>samp.callNative("GetVehicleCab","i",e),yu=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Cu=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Su=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Eu=e=>!!samp.callNative("IsVehicleOccupied","i",e),Au=e=>samp.callNative("GetVehicleRespawnTick","i",e),Nu=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Du=e=>!!samp.callNative("IsVehicleDead","i",e),Tu=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),vu=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),bu=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),wu=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),Lu=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),Ru=e=>samp.callNative("GetVehicleModelCount","i",e),Ii=e=>samp.callNative("GetVehicleLastDriver","i",e),yi=e=>samp.callNative("GetVehicleDriver","i",e),Ou=()=>samp.callNative("GetVehicleModelsUsed",""),Gu=e=>samp.callNative("GetVehicleSirenState","i",e),ju=e=>samp.callNative("GetVehicleLandingGearState","i",e),Fu=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),Mu=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),Vu=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}},ku=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,i,a,r],ret:n}},Bu=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),xu=(e,t,i,a,r,n,s,o,_)=>samp.callNative("CreateVehicle","iffffiiii",e,t,i,a,r,N(n),N(s),o,_),Hu=e=>samp.callNative("DestroyVehicle","i",e),Wu=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),Uu=e=>{const[t,i,a,r]=samp.callNative("GetVehiclePos","iFFF",e);return{x:t,y:i,z:a,ret:r}},Ku=(e,t,i,a)=>!!samp.callNative("SetVehiclePos","ifff",e,t,i,a),Xu=e=>{const[t,i]=samp.callNative("GetVehicleZAngle","iF",e);return{angle:t,ret:i}},Zu=e=>{const[t,i,a,r]=samp.callNative("GetVehicleRotation","iFFF",e);return{x:t,y:i,z:a,ret:r}},Yu=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleRotationQuat","iFFFF",e);return{w:t,x:i,y:a,z:r,ret:n}},zu=(e,t,i,a)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,i,a),Ju=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),$u=(e,t,i,a)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,i,a),Qu=()=>samp.callNative("ManualVehicleEngineAndLights",""),qu=(e,t,i,a,r,n,s,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,i,a,r,n,s,o),eg=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),tg=e=>samp.callNative("GetVehicleParamsSirenState","i",e),ig=(e,t,i,a,r)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,i,a,r),ag=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t,passenger:i,backLeft:a,backRight:r,ret:n}},rg=(e,t,i,a,r)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,i,a,r),ng=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t,passenger:i,backLeft:a,backRight:r,ret:n}},sg=e=>samp.callNative("SetVehicleToRespawn","i",e),lg=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),og=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),_g=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),cg=(e,t,i)=>samp.callNative("ChangeVehicleColor","iii",e,N(t),N(i)),dg=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),hg=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),ug=e=>{const[t,i]=samp.callNative("GetVehicleHealth","iF",e);return{health:t,ret:i}},gg=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),mg=e=>samp.callNative("DetachTrailerFromVehicle","i",e),Pg=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),fg=e=>samp.callNative("GetVehicleTrailer","i",e),pg=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),Ig=e=>samp.callNative("GetVehicleModel","i",e),yg=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Cg=e=>samp.callNative("GetVehicleComponentType","i",e),Sg=e=>samp.callNative("RepairVehicle","i",e),Eg=e=>{const[t,i,a,r]=samp.callNative("GetVehicleVelocity","iFFF",e);return{x:t,y:i,z:a,ret:r}},Ag=(e,t,i,a)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,i,a),Ng=(e,t,i,a)=>!!samp.callNative("SetVehicleAngularVelocity","ifff",e,t,i,a),Dg=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleDamageStatus","iIIII",e);return{panels:t,doors:i,lights:a,tires:r,ret:n}},Tg=(e,t,i,a,r)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,i,a,r),vg=(e,t)=>{const[i,a,r,n]=samp.callNative("GetVehicleModelInfo","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},bg=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),wg=e=>samp.callNative("GetVehicleVirtualWorld","i",e),Lg=e=>!!samp.callNative("IsValidVehicle","i",e),Rg=(e,t,i,a,r,n,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,i,a,r,N(n),N(s)),Og=(e,t,i,a,r,n,s,o,_)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,i,a,r,N(n),N(s),o,_),Gg=e=>!!samp.callNative("ShowVehicle","i",e),jg=e=>!!samp.callNative("HideVehicle","i",e),Fg=e=>!!samp.callNative("IsVehicleHidden","i",e),Mg=e=>!!samp.callNative("IsPlayerInModShop","i",e),Vg=e=>samp.callNative("GetPlayerSirenState","i",e),kg=e=>samp.callNative("GetPlayerLandingGearState","i",e),Bg=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),xg=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),Hg=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),Wg=e=>samp.callNative("GetVehicleMaxPassengers","i",e),Ug=e=>samp.callNative("CountVehicleOccupants","i",e),Kg=(e,t,i,a,r)=>!!samp.callNative("SetPlayerCheckpoint","iffff",e,t,i,a,r),Xg=e=>!!samp.callNative("DisablePlayerCheckpoint","i",e),Zg=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("SetPlayerRaceCheckpoint","iifffffff",e,t,i,a,r,n,s,o,_),Yg=e=>!!samp.callNative("DisablePlayerRaceCheckpoint","i",e),zg=e=>!!samp.callNative("IsPlayerInCheckpoint","i",e),Jg=e=>!!samp.callNative("IsPlayerInRaceCheckpoint","i",e),Ci=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),Si=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}},Ei=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:_}},$g=e=>!!samp.callNative("IsMenuDisabled","i",e),Qg=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),qg=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),em=e=>{const[t=0,i=0,a]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:i,ret:a}},tm=e=>{const[t=0,i=0,a]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:i,ret:a}},im=e=>samp.callNative("DestroyMenu","i",e),am=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),rm=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),nm=e=>!!samp.callNative("IsValidMenu","i",e),sm=e=>samp.callNative("DisableMenu","i",e),lm=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),Ni=e=>samp.callNative("GetPlayerMenu","i",e),om=e=>!!samp.callNative("IsValid3DTextLabel","i",e),_m=(e,t)=>!!samp.callNative("Is3DTextLabelStreamedIn","ii",e,t),cm=e=>samp.callNative("Get3DTextLabelColor","i",e),dm=e=>{const[t=0,i=0,a=0,r]=samp.callNative("Get3DTextLabelPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},hm=(e,t)=>!!samp.callNative("Set3DTextLabelDrawDistance","ii",e,t),um=e=>samp.callNativeFloat("Get3DTextLabelDrawDistance","i",e),gm=e=>!!samp.callNative("Get3DTextLabelLOS","i",e),mm=(e,t)=>!!samp.callNative("Set3DTextLabelLOS","ii",e,t),Pm=(e,t)=>!!samp.callNative("Set3DTextLabelVirtualWorld","ii",e,t),fm=e=>samp.callNative("Get3DTextLabelVirtualWorld","i",e),pm=e=>{const[t=0,i=0]=samp.callNative("Get3DTextLabelAttachedData","i",e);return{attachedPlayerId:t,attachedVehicleId:i}},Im=e=>samp.callNative("Delete3DTextLabel","i",e),ym=(e,t,i,a,r)=>!!samp.callNative("Attach3DTextLabelToPlayer","iifff",e,t,i,a,r),Cm=(e,t,i,a,r)=>!!samp.callNative("Attach3DTextLabelToVehicle","iifff",e,t,i,a,r),Sm=(e,t)=>!!samp.callNative("IsValidPlayer3DTextLabel","ii",e,t),Em=(e,t)=>samp.callNative("GetPlayer3DTextLabelColor","ii",e,t),Am=(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}},Nm=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelDrawDistance","iii",e,t,i),Dm=(e,t)=>samp.callNativeFloat("GetPlayer3DTextLabelDrawDistance","ii",e,t),Tm=(e,t)=>!!samp.callNative("GetPlayer3DTextLabelLOS","ii",e,t),vm=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelLOS","iii",e,t,i),bm=(e,t)=>samp.callNative("GetPlayer3DTextLabelVirtualWorld","ii",e,t),wm=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelVirtualWorld","iii",e,t,i),Lm=(e,t)=>{const[i=0,a=0]=samp.callNative("GetPlayer3DTextLabelAttachedData","ii",e,t);return{attachedPlayerId:i,attachedVehicleId:a}},Rm=(e,t)=>samp.callNative("DeletePlayer3DTextLabel","ii",e,t),Om=e=>!!samp.callNative("IsValidGangZone","i",e),Gm=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),jm=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),Fm=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),Mm=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),Vm=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),km=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}},Bm=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},xm=(e,t,i,a)=>samp.callNative("GangZoneCreate","ffff",e,t,i,a),Hm=e=>samp.callNative("GangZoneDestroy","i",e),Wm=(e,t,i)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,N(i)),Um=(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),Zm=(e,t,i)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,N(i)),Ym=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,N(t)),zm=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Jm=e=>samp.callNative("GangZoneStopFlashForAll","i",e),$m=(e,t,i,a,r)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,i,a,r),Qm=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),qm=(e,t,i)=>samp.callNative("PlayerGangZoneShow","iii",e,t,i),eP=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),tP=(e,t,i)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,i),iP=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),aP=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),rP=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),nP=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),sP=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),lP=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),oP=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),_P=(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}},cP=(e,t,i)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,i)},dP=e=>!!samp.callNative("IsValidTextDraw","i",e),hP=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),uP=e=>{const[t,i]=samp.callNative("TextDrawGetString","iSi",e,1024);return{str:t,ret:i}},gP=(e,t,i)=>{samp.callNative("TextDrawSetPos","iff",e,t,i)},mP=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:i,ret:a}},PP=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:i,ret:a}},fP=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:i,ret:a}},pP=e=>samp.callNative("TextDrawGetColor","i",e),IP=e=>samp.callNative("TextDrawGetBoxColor","i",e),yP=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),CP=e=>samp.callNative("TextDrawGetShadow","i",e),SP=e=>samp.callNative("TextDrawGetOutline","i",e),EP=e=>samp.callNative("TextDrawGetFont","i",e),AP=e=>!!samp.callNative("TextDrawIsBox","i",e),NP=e=>!!samp.callNative("TextDrawIsProportional","i",e),DP=e=>!!samp.callNative("TextDrawIsSelectable","i",e),TP=e=>samp.callNative("TextDrawGetAlignment","i",e),vP=e=>samp.callNative("TextDrawGetPreviewModel","i",e),bP=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}},wP=e=>{const[t,i,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:i,ret:a}},LP=(e,t,i)=>{samp.callNative("TextDrawSetStringForPlayer","iia",e,t,i)},RP=(e,t,i)=>samp.callNative("TextDrawCreate","ffa",e,t,i),OP=e=>samp.callNative("TextDrawDestroy","i",e),GP=(e,t,i)=>samp.callNative("TextDrawLetterSize","iff",e,t,i),jP=(e,t,i)=>samp.callNative("TextDrawTextSize","iff",e,t,i),FP=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),MP=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,N(t)),VP=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),kP=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,N(t)),BP=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),xP=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),HP=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,N(t)),WP=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),UP=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),KP=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),XP=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),ZP=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),YP=e=>samp.callNative("TextDrawShowForAll","i",e),zP=e=>samp.callNative("TextDrawHideForAll","i",e),JP=(e,t)=>samp.callNative("TextDrawSetString","ia",e,t),$P=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),QP=(e,t,i,a,r=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,i,a,r)},qP=(e,t,i)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,N(t),N(i)),ef=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,N(t))},tf=e=>{samp.callNative("CancelSelectTextDraw","i",e)},af=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),rf=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),nf=(e,t)=>{const[i,a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return{str:i,ret:a}},sf=(e,t,i,a)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,i,a)},lf=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:i,fY:a,ret:r}},of=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:i,fY:a,ret:r}},_f=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:i,fY:a,ret:r}},cf=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),df=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),hf=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),uf=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),gf=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),mf=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),Pf=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),ff=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),pf=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),If=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),yf=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),Cf=(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}},Sf=(e,t)=>{const[i,a,r]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:i,color2:a,ret:r}},Ef=(e,t,i,a)=>samp.callNative("CreatePlayerTextDraw","iffa",e,t,i,a),Af=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},Nf=(e,t,i,a)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,i,a),Df=(e,t,i,a)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,i,a),Tf=(e,t,i)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,i),vf=(e,t,i)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,N(i)),bf=(e,t,i)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,i),wf=(e,t,i)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,N(i)),Lf=(e,t,i)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,i),Rf=(e,t,i)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,i),Of=(e,t,i)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,N(i)),Gf=(e,t,i)=>samp.callNative("PlayerTextDrawFont","iii",e,t,i),jf=(e,t,i)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,i),Ff=(e,t,i)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,i),Mf=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),Vf=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),kf=(e,t,i)=>samp.callNative("PlayerTextDrawSetString","iia",e,t,i),Bf=(e,t,i)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,i),xf=(e,t,i,a,r,n)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,i,a,r,n),Hf=(e,t,i,a)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,i,a),Wf=e=>samp.callNativeFloat("GetObjectDrawDistance","i",e),Uf=e=>samp.callNativeFloat("GetObjectMoveSpeed","i",e),Kf=(e,t)=>!!samp.callNativeFloat("SetObjectMoveSpeed","if",e,t),Xf=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetObjectMovingTargetPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},Zf=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetObjectTarget","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},Yf=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}},zf=e=>samp.callNative("GetObjectSyncRotation","i",e),Jf=(e,t)=>!!samp.callNative("IsObjectMaterialSlotUsed","ii",e,t),$f=(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}},Qf=(e,t,i,a,r,n,s,o=0)=>samp.callNative("CreateObject","ifffffff",e,t,i,a,r,n,s,o),qf=(e,t,i,a,r,n,s,o)=>!!samp.callNative("AttachObjectToVehicle","iiffffff",e,t,i,a,r,n,s,o),ep=(e,t,i,a,r,n,s,o,_,d=!0)=>!!samp.callNative("AttachPlayerObjectToObject","iiiffffffi",e,t,i,a,r,n,s,o,_,d),tp=(e,t,i,a,r,n,s,o,_=!0)=>!!samp.callNative("AttachObjectToObject","iiffffffi",e,t,i,a,r,n,s,o,_),ip=(e,t,i,a,r,n,s,o)=>!!samp.callNative("AttachObjectToPlayer","iiffffff",e,t,i,a,r,n,s,o),ap=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),rp=(e,t,i,a)=>!!samp.callNative("SetObjectPos","ifff",e,t,i,a),np=e=>{const[t,i,a,r]=samp.callNative("GetObjectPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},sp=(e,t,i,a)=>!!samp.callNative("SetObjectRot","ifff",e,t,i,a),lp=e=>{const[t,i,a,r]=samp.callNative("GetObjectRot","iFFF",e);return{x:t,y:i,z:a,ret:r}},op=e=>samp.callNative("GetObjectModel","i",e),_p=e=>!!samp.callNative("SetObjectNoCameraCol","i",e),cp=e=>!!samp.callNative("IsObjectNoCameraCol","i",e),dp=e=>!!samp.callNative("IsValidObject","i",e),hp=e=>samp.callNative("DestroyObject","i",e),up=(e,t,i,a,r,n,s,o)=>samp.callNative("MoveObject","ifffffff",e,t,i,a,r,n,s,o),gp=e=>samp.callNative("StopObject","i",e),mp=e=>!!samp.callNative("IsObjectMoving","i",e),Pp=(e,t)=>!!samp.callNative("BeginObjectEditing","ii",e,t),fp=e=>!!samp.callNative("BeginObjectSelecting","i",e),Di=e=>!!samp.callNative("EndObjectEditing","i",e),pp=(e,t,i,a,r,n)=>!!samp.callNative("SetObjectMaterial","iiissi",e,t,i,a,r,N(n)),Ip=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),yp=(e,t,i,a,r)=>!!samp.callNative("AddSimpleModel","iiiss",e,t,i,a,r),Cp=(e,t,i,a,r,n,s)=>!!samp.callNative("AddSimpleModelTimed","iiissii",e,t,i,a,r,n,s),Sp=(e,t)=>!!samp.callNative("RedirectDownload","is",e,t),Ep=e=>{const[t,i]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return{name:t,ret:i}},Ap=e=>{const[t,i]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return{name:t,ret:i}},Np=(e,t)=>{const[i=0,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h=0,g=0,I=0,S=0,C=0,w]=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:g,fScaleZ:I,materialColor1:S,materialColor2:C,ret:w}},Dp=(e,t,i,a,r,n,s,o,_,d,h,g,I,S,C)=>!!samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,i,a,r,n,s,o,_,d,h,g,I,N(S),N(C)),Tp=(e,t)=>!!samp.callNative("RemovePlayerAttachedObject","ii",e,t),vp=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),Ti=e=>!!samp.callNative("IsValidCustomModel","i",e),bp=e=>{if(!Ti(e))return null;const[t,i,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:i,ret:a}},wp=(e,t)=>samp.callNativeFloat("GetPlayerObjectDrawDistance","ii",e,t),Lp=(e,t,i)=>!!samp.callNativeFloat("SetPlayerObjectMoveSpeed","iif",e,t,i),Rp=(e,t)=>samp.callNativeFloat("GetPlayerObjectMoveSpeed","ii",e,t),Op=(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}},Gp=(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}},jp=(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:_}},Fp=(e,t)=>!!samp.callNative("GetPlayerObjectSyncRotation","ii",e,t),Mp=(e,t,i)=>!!samp.callNative("IsPlayerObjectMaterialSlotUsed","iii",e,t,i),Vp=(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}},kp=(e,t)=>!!samp.callNative("IsPlayerObjectNoCameraCol","ii",e,t),Bp=e=>samp.callNative("GetPlayerCameraTargetPlayerObj","i",e),xp=(e,t)=>!!samp.callNative("BeginPlayerObjectEditing","ii",e,t),Hp=(e,t,i,a,r,n,s,o,_=0)=>samp.callNative("CreatePlayerObject","iifffffff",e,t,i,a,r,n,s,o,_),Wp=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("AttachPlayerObjectToVehicle","iiiffffff",e,t,i,a,r,n,s,o,_),Up=(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),Zp=(e,t)=>{const[i,a,r,n]=samp.callNative("GetPlayerObjectRot","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Yp=(e,t)=>samp.callNative("GetPlayerObjectModel","ii",e,t),zp=(e,t)=>!!samp.callNative("SetPlayerObjectNoCameraCollision","ii",e,t),Jp=(e,t)=>!!samp.callNative("IsValidPlayerObject","ii",e,t),$p=(e,t)=>samp.callNative("DestroyPlayerObject","ii",e,t),Qp=(e,t,i,a,r,n,s,o,_)=>samp.callNative("MovePlayerObject","iifffffff",e,t,i,a,r,n,s,o,_),qp=(e,t)=>samp.callNative("StopPlayerObject","ii",e,t),eI=(e,t)=>!!samp.callNative("IsPlayerObjectMoving","ii",e,t),tI=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("AttachPlayerObjectToPlayer","iiiffffff",e,t,i,a,r,n,s,o,_),iI=(e,t,i,a,r,n,s)=>!!samp.callNative("SetPlayerObjectMaterial","iiiissi",e,t,i,a,r,n,N(s)),aI=e=>!!samp.callNative("IsValidPickup","i",e),rI=(e,t)=>!!samp.callNative("IsPickupStreamedIn","ii",e,t),nI=e=>{const[t,i,a,r]=samp.callNative("GetPickupPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},sI=e=>samp.callNative("GetPickupModel","i",e),lI=e=>samp.callNative("GetPickupType","i",e),oI=e=>samp.callNative("GetPickupVirtualWorld","i",e),_I=(e,t,i,a,r=!0)=>!!samp.callNative("SetPickupPos","ifffi",e,t,i,a,r),cI=(e,t,i=!0)=>!!samp.callNative("SetPickupModel","iii",e,t,i),dI=(e,t,i=!0)=>!!samp.callNative("SetPickupType","iii",e,t,i),hI=(e,t)=>!!samp.callNative("SetPickupVirtualWorld","ii",e,t),uI=(e,t)=>!!samp.callNative("ShowPickupForPlayer","ii",e,t),gI=(e,t)=>!!samp.callNative("HidePickupForPlayer","ii",e,t),mI=(e,t)=>!!samp.callNative("IsPickupHiddenForPlayer","ii",e,t),PI=(e,t,i,a,r,n)=>samp.callNative("AddStaticPickup","iifffi",e,t,i,a,r,n),fI=(e,t,i,a,r,n)=>samp.callNative("CreatePickup","iifffi",e,t,i,a,r,n),pI=e=>!!samp.callNative("DestroyPickup","i",e);function II(e,t,i,a,r,n,s=0){return samp.callNative("CreatePlayerPickup","iiifffi",e,t,i,a,r,n,s)}function yI(e,t){return!!samp.callNative("DestroyPlayerPickup","ii",e,t)}function CI(e,t){return!!samp.callNative("IsValidPlayerPickup","ii",e,t)}function SI(e,t){return!!samp.callNative("IsPlayerPickupStreamedIn","ii",e,t)}function EI(e,t){const[i,a,r,n]=samp.callNative("GetPlayerPickupPos","iiFFF",e,t);return{x:i,y:a,z:r,ret:!!n}}function AI(e,t,i,a,r,n=!0){return!!samp.callNative("SetPlayerPickupPos","iifffi",e,t,i,a,r,n)}function NI(e,t,i,a=!0){return!!samp.callNative("SetPlayerPickupModel","iiii",e,t,i,a)}function DI(e,t,i,a=!0){return!!samp.callNative("SetPlayerPickupType","iiii",e,t,i,a)}function TI(e,t,i){return!!samp.callNative("SetPlayerPickupVirtualWorld","iii",e,t,i)}function vI(e,t){return samp.callNative("GetPlayerPickupModel","ii",e,t)}function bI(e,t){return samp.callNative("GetPlayerPickupType","ii",e,t)}function wI(e,t){return samp.callNative("GetPlayerPickupVirtualWorld","ii",e,t)}const vi=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}]]]),Ct=e=>{const t=vi.get(e.toUpperCase());return typeof t>"u"?!1:t},St=(e,t)=>{const i=Ct(e);if(i)return t==="null"?!0:i.some(a=>a.n===t)},LI=(e,t)=>{const i=Ct(e);if(i)return i.find(a=>a.n===t)?.d},Pe=(e,t)=>{const i=t.replace("-","")==="utf8"?e:E.encodeToBuf(e,t);return[i instanceof Array?"a":"s",i]},bi=(e,t,i)=>{const a=Pe(i,e.charset);return samp.callNative("SendClientMessage",`ii${a[0]}`,e.id,N(t),a[1])},RI=(e,t,i)=>(e.forEach(a=>bi(a,t,i)),1),wi=(e,t,i)=>{const a=Pe(i,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${a[0]}`,e.id,t,a[1])},OI=(e,t,i)=>(e.forEach(a=>{wi(a,t,i)}),1),GI=(e,t,i)=>{const{charset:a}=e,{style:r,caption:n,info:s,button1:o,button2:_}=i,[d,h]=Pe(n||"",a),[,g]=Pe(s||"",a),[,I]=Pe(o||"",a),[,S]=Pe(_||"",a);return!!samp.callNative("ShowPlayerDialog",`iii${d.repeat(4)}`,e.id,t,r,h,g,I,S)},jI=e=>{const[t,i]=samp.callNative("GetPlayerName","iAi",e.id,H.MAX_PLAYER_NAME);return{name:E.decodeFromBuf(E.getValidStr(t),e.charset),ret:i}},FI=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,E.encodeToBuf(t,e.charset)),MI=(e,t,i)=>{const a=E.encodeToBuf(t,i);return samp.callNative("BanEx","ia",e,a)},VI=(e,t="utf8")=>{const[i,a]=Pe(e,t);return samp.callNative("SendRconCommand",i,a)},kI=(e,t,i,a,r,n,s,o,_,d,h,g,I,S,C,w)=>{const F=E.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",F,i,a,r,n,s,o,_,d,h,g,I,S,C,w)},BI=(e,t,i,a,r,n,s,o,_,d,h,g,I,S,C,w)=>{const F=E.encodeToBuf(e,w);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",F,t,i,a,r,n,s,o,_,d,h,g,I,S,C,h.length,g.length,I.length,S.length)},xI=(e,t,i,a)=>{const r=E.encodeToBuf(i,a);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,r)},HI=(e,t)=>{const[i,a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return{text:E.decodeFromBuf(E.getValidStr(i),t),ret:a}},WI=(e,t,i,a,r,n,s,o,_,d,h)=>{const g=E.encodeToBuf(a,e),I=E.encodeToBuf(n,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,i,g,r,I,s,o,_,d,h)},UI=(e,t,i="utf8")=>{const[a,r,n,s,o]=samp.callNative("GetDynamicObjectMaterial","iiIAAIii",e,t,64,64);return{modelId:a,txdName:E.decodeFromBuf(E.getValidStr(r),i),textureName:E.decodeFromBuf(E.getValidStr(n),i),materialColor:s,ret:o}},KI=(e,t,i)=>{const[a,r,n,s,o,_,d,h,g]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),I=E.decodeFromBuf(a,i),S=E.decodeFromBuf(n,i);return{text:I,materialSize:r,fontFace:S,fontSize:s,bold:o,fontColor:_,backColor:d,textAlignment:h,ret:g}},XI=(e,t,i,a,r,n)=>{const s=E.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 g=E.encodeToBuf(i,e),I=E.encodeToBuf(n,e);return!!samp.callNative("SetObjectMaterialText","iaiiaiiiii",t,g,a,r,I,s,o,N(_),N(d),h)},ZI=(e,t,i)=>{const[a,r=0,n,s=0,o=0,_=0,d=0,h=0,g]=samp.callNative("GetObjectMaterialText","iiAiIAiIIIII",e,t,2048,32),I=E.decodeFromBuf(a,i),S=E.decodeFromBuf(n,i);return{text:I,materialSize:r,fontFace:S,fontSize:s,bold:o,fontColor:_,backColor:d,textAlignment:h,ret:g}},Ri=(e,t,i,a,r,n,s,o,_=!0,d,h,g)=>{const I=E.encodeToBuf(a,e),S=E.encodeToBuf(s,e);return!!samp.callNative("SetPlayerObjectMaterialText","iiaiiaiiiii",t,i,I,r,n,S,o,_,N(d),N(h),g)},YI=(e,t,i,a)=>{const[r,n=0,s,o=0,_=0,d=0,h=0,g=0,I]=samp.callNative("GetPlayerObjectMaterialText","iiiAiIAiIIIII",e,t,i,2048,32),S=E.decodeFromBuf(r,a),C=E.decodeFromBuf(s,a);return{text:S,materialSize:n,fontFace:C,fontSize:o,bold:_,fontColor:d,backColor:h,textAlignment:g,ret:I}},zI=(e,t,i,a,r,n,s,o,_=!1)=>{const d=E.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 g=E.encodeToBuf(i,e);return samp.callNative("CreatePlayer3DTextLabel","iaiffffiii",t,g,N(a),r,n,s,o,_,d,h)},$I=(e,t,i,a)=>{const r=E.encodeToBuf(a,e);return!!samp.callNative("Update3DTextLabelText","iia",t,N(i),r)},QI=(e,t,i,a,r)=>{const n=E.encodeToBuf(r,e);return!!samp.callNative("UpdatePlayer3DTextLabelText","iiia",t,i,N(a),n)},qI=(e,t)=>{const[i,a]=samp.callNative("Get3DTextLabelText","iAi",t,144);return{text:E.decodeFromBuf(i,e),buf:i,ret:a}},ey=(e,t,i)=>{const[a,r]=samp.callNative("GetPlayer3DTextLabelText","iiAi",t,i,144);return{text:E.decodeFromBuf(a,e),buf:a,ret:r}},ty=(e,t,i)=>{const[a,r]=samp.callNative("GetMenuColumnHeader","iiAi",e,t,31);return{header:E.decodeFromBuf(a,i),buf:a,ret:r}},iy=(e,t,i,a)=>{const[r,n]=samp.callNative("GetMenuItem","iiiAi",e,t,i,31);return{item:E.decodeFromBuf(r,a),buf:r,ret:n}},ay=(e,t,i,a,r,n,s)=>samp.callNative("CreateMenu","aiffff",E.encodeToBuf(e,s),t,i,a,r,n),ry=(e,t,i,a)=>samp.callNative("AddMenuItem","iia",e,t,E.encodeToBuf(i,a)),ny=(e,t,i,a)=>samp.callNative("SetMenuColumnHeader","iia",e,t,E.encodeToBuf(i,a)),sy=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],ly=[[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],[],[],[],[],[],[],[],[]],oy=(e,t)=>{if(!Et(e))return!1;const i=ly[e-400];if(i===null)return!1;const a=t-1e3;return sy.includes(a)||i.includes(a)},Et=e=>e>=400&&e<=611,_y=(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},k=Symbol("internalPlayerProps"),_e=new Map,fe=new Map,je=new Map,Z=new Map,Fe=new Map,pe=new Map,ne=new Map,Ie=new Map,he=new Map,Me=new Map,Y=new Map,ye=new Map,Ve=new Map,ue=new Map,Ce=new Map,Se=new Map,Ee=new Map,ke=new Map,Ae=new Map,Ne=new Map,U=new Map,Be=new Map,xe=new Map,z=new Map,He=new Map,J=new Map,[cy]=m({name:"OnGameModeInit",identifier:""}),[Oi,dy]=m({name:"OnGameModeInitReal",isNative:!1});cy(()=>{Promise.resolve().then(dy)});const[Gi]=m({name:"OnGameModeExit",identifier:""}),[hy]=m({name:"OnIncomingConnection",identifier:"isi",defaultValue:!1,beforeEach(e,t,i){return{playerId:e,ipAddress:t,port:i}}}),[uy]=m({name:"OnRconCommandI18n",identifier:"ai",defaultValue:!1,beforeEach(e){return{buffer:e,cmd:E.decodeFromBuf(e)}}}),[gy]=m({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,i){return{ip:E.decodeFromBuf(e),password:E.decodeFromBuf(t),success:!!i,ipBuffer:e,passwordBuffer:t}}}),De=[],We=[],dt=new Map,At=async e=>{try{return await new Promise((t,i)=>{const a=De.findIndex(o=>o.name===e);if(a===-1)return;const r=De[a];function n(o){o.length&&dt.set(e,o),De.splice(a,1),We.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
- err:${t}`)}},Nt=async e=>{try{return await new Promise((t,i)=>{const a=We.findIndex(_=>_.name===e);if(a===-1)return;const r=We[a],n=dt.get(e);n&&(n.forEach(_=>_()),dt.delete(e));function s(){We.splice(a,1),De.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}`)}},my=async e=>{await Nt(e),await At(e)},Py=e=>dt.has(e);Oi(async({next:e})=>{const t=De.map(i=>i.name);for(const i of t)await At(i);return e()}),Gi(async({next:e})=>{const t=We.map(i=>i.name);for(const i of t)await Nt(i);return e()});const fy=function(e,...t){if(De.some(i=>i.name===e.name)||We.some(i=>i.name===e.name))throw new Error(`[GameMode]: script ${e.name} has already been applied`);e.load=e.load.bind(e,...t),De.push(e)},ce=new Uint32Array(65536),py=(e,t)=>{const i=e.length,a=t.length,r=1<<i-1;let n=-1,s=0,o=i,_=i;for(;_--;)ce[e.charCodeAt(_)]|=1<<_;for(_=0;_<a;_++){let d=ce[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;_--;)ce[e.charCodeAt(_)]=0;return o},Iy=(e,t)=>{const i=t.length,a=e.length,r=[],n=[],s=Math.ceil(i/32),o=Math.ceil(a/32);for(let C=0;C<s;C++)n[C]=-1,r[C]=0;let _=0;for(;_<o-1;_++){let C=0,w=-1;const F=_*32,$=Math.min(32,a)+F;for(let M=F;M<$;M++)ce[e.charCodeAt(M)]|=1<<M;for(let M=0;M<i;M++){const de=ce[t.charCodeAt(M)],le=n[M/32|0]>>>M&1,re=r[M/32|0]>>>M&1,Tt=de|C,vt=((de|re)&w)+w^w|de|re;let ze=C|~(vt|w),rt=w&vt;ze>>>31^le&&(n[M/32|0]^=1<<M),rt>>>31^re&&(r[M/32|0]^=1<<M),ze=ze<<1|le,rt=rt<<1|re,w=rt|~(Tt|ze),C=ze&Tt}for(let M=F;M<$;M++)ce[e.charCodeAt(M)]=0}let d=0,h=-1;const g=_*32,I=Math.min(32,a-g)+g;for(let C=g;C<I;C++)ce[e.charCodeAt(C)]|=1<<C;let S=a;for(let C=0;C<i;C++){const w=ce[t.charCodeAt(C)],F=n[C/32|0]>>>C&1,$=r[C/32|0]>>>C&1,M=w|d,de=((w|$)&h)+h^h|w|$;let le=d|~(de|h),re=h&de;S+=le>>>a-1&1,S-=re>>>a-1&1,le>>>31^F&&(n[C/32|0]^=1<<C),re>>>31^$&&(r[C/32|0]^=1<<C),le=le<<1|F,re=re<<1|$,h=re|~(M|le),d=le&M}for(let C=g;C<I;C++)ce[e.charCodeAt(C)]=0;return S},ji=(e,t)=>{if(e.length<t.length){const i=t;t=e,e=i}return t.length===0?e.length:e.length<=32?py(e,t):Iy(e,t)},yy=(e,t)=>{let i=1/0,a=0;for(let r=0;r<t.length;r++){const n=ji(e,t[r]);n<i&&(i=n,a=r)}return t[a]},Te=new Map,ve=new Map,Fi=/[^/\s]+/gi,tt={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"}},[Cy,Sy]=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:_}}}),[Ey,Ay]=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:_}}}),[Ny,it]=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=yy(a,[...Te.keys(),...ve.keys()]),g=ji(a,h);return{suggestion:h,distance:g}}}}}),[Dy,Ty]=m({name:"OnPlayerCommandTextI18n",identifier:"iai",defaultValue:!1,beforeEach(e,t){const i=_e.get(e);let a=t,r="";return typeof t=="string"?(r=t,a=E.encodeToBuf(r,"utf-8")):r=E.decodeFromBuf(t,i.charset),{player:i,buffer:a,cmdText:r}}}),[vy,by]=m({name:"OnPlayerCommandTextRaw",isNative:!1,defaultValue:!1,beforeEach(e,t,i){return{player:e,buffer:t,cmdText:i}}});function wy(e){const t=[];let i="";for(let a=0;a<e.length;a++)i+=e[a]+" ",t.push(i.trimEnd());return t.reverse()}Dy(({player:e,buffer:t,cmdText:i,next:a})=>{const r=by(e,t,i);if(r)return r;const n=i.match(Fi),s=wy(n),o=s.find(w=>Te.has(w)),_=s.map(w=>w.toLowerCase()).find(w=>ve.has(w)),d=!!o,h=!!_,g=n.join(" ");let I=[];const S=[[o,Te,!0],[_,ve,!1]],C=[g,i,t,o,_,d,h,I];if(d||h){const w=S[0][0]||S[1][0];I=g.replace(w,"").trim().split(" ")}else return it(e,tt.NOT_EXIST,...C);try{if(!Sy(e,...C))return it(e,tt.RECEIVED_REJECTED,...C)}catch(w){const F=typeof w=="object"?w:{error:w};return it(e,{...tt.RECEIVED_THROW,...F},...C)}for(const[w,F,$]of S){if(!w)continue;const M=F.get(w),[,de]=M;if(!de(e,w,I,i,t,$))return it(e,tt.REJECTED,...C)}return Ay(e,g,i,t,o,_,d,h,I)?(a(),!0):it(e,tt.PERFORMED,...C)});function Ly(e,t,i,a,r,n){return{player:e,mainCommand:t,subcommand:i,cmdText:a,buffer:r,isStrict:n}}class ie{static caseSensitive=!1;constructor(){}static on(t,i){let a=ie.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(Fi));if(o)return console.log(`error command ${o} format`),()=>{};const _=a?Te:ve,d=s.map(h=>{const g=h.replaceAll("/",""),I=a?g:g.toLowerCase();if(!_.has(I)){const C=m({name:a?"$"+I:I,isNative:!1,beforeEach:Ly});_.set(I,C)}const[S]=_.get(I);return[I,S(n)]});return()=>{d.forEach(h=>{const[g,I]=h;I()===0&&_.delete(g)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(i=>{let a=i.replaceAll("/","");Te.has(a)&&(q.has(a)&&q.delete(a),Te.has(a)&&Te.delete(a)),a=a.toLowerCase(),ve.has(a)&&(q.has(a)&&q.delete(a),ve.has(a)&&ve.delete(a))})}static enableCaseSensitive(){ie.caseSensitive=!0}static disableCaseSensitive(){ie.caseSensitive=!1}static isCaseSensitive(){return ie.caseSensitive}static simulate(t,i){return Ty(t.id,i)}}class x{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=Oi;static onExit=Gi;static onIncomingConnection=hy;static onRconCommand=uy;static onRconLoginAttempt=gy;static use(t,...i){return fy(t,...i),this}static loadUseScript=At;static reloadUseScript=my;static unloadUseScript=Nt;static isUseScriptLoaded=Py;static enableCmdCaseSensitive=ie.enableCaseSensitive;static disableCmdCaseSensitive=ie.disableCaseSensitive;static isCmdCaseSensitive=ie.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 Xs(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");return Ws(t)}static getWorldTime=Us;static setTeamCount=ul;static sendRconCommand=VI;static addPlayerClass=gl;static addPlayerClassEx=ml;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 zs(t,i,a,r,n)}static manualVehicleEngineAndLights=Qu;static blockIpAddress=Gl;static unBlockIpAddress=jl;static getServerTickRate=al;static addSimpleModel(t,i,a,r,n){return this.checkSimpleModel(t,i,a,r,n)?yp(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)?Cp(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=Ti;static getCustomModePath=bp;static getConsoleVarAsString(t,i="utf8"){const{consoleVarBuf:a,ret:r}=vs(t);return{consoleVar:E.decodeFromBuf(E.getValidStr(a),i),ret:r}}static getRestartTime=js;static setRestartTime=Gs;static allowAdminTeleport=Ss;static isAdminTeleportAllowed=Es;static allowInteriorWeapons=As;static areInteriorWeaponsAllowed=Ns;static areAllAnimationsEnabled=Ds;static enableAllAnimations=Ts;static enableStuntBonusForAll=nl;static enableVehicleFriendlyFire=Ks;static enableZoneNames=Js;static disableInteriorEnterExits=Qs;static setGameModeText=Bs;static getGravity=Zs;static setGravity=Ys;static showNameTags=xs;static disableNameTagLOS=el;static usePlayerPedAnims=$s;static showPlayerMarkers=Hs;static limitPlayerMarkerRadius=il;static limitGlobalChatRadius=tl;static setNameTagDrawDistance=qs;static findModelFileNameFromCRC=Ep;static findTextureFileNameFromCRC=Ap;static getWeaponName=_l;static setObjectsDefaultCameraCollision=Ip;static vectorSize=yt;static clearBanList=Vl;static isBanned=kl;static isValidNickName=ms;static allowNickNameCharacter=Ps;static isNickNameCharacterAllowed=fs;static addServerRule=ps;static setServerRule=Is;static isValidServerRule=ys;static removeServerRule=Cs;static getWeaponSlot=ol;static getAvailableClasses=cl;static getPlayerClass=dl;static editPlayerClass=hl;static toggleChatTextReplacement=sl;static chatTextReplacementToggled=ll;static getConsoleVarAsInt=bs;static getConsoleVarAsBool=ws;static getWeather=Ls;static getServerRuleFlag=Rs;static setServerRuleFlags=Os;static getAnimationName=rl}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,fe.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]: Cannot create again");if(!this.sourceInfo)throw new Error("[Vehicle]: Cannot create with only id");const{modelId:i,x:a,y:r,z:n,zAngle:s,color:o,respawnDelay:_,addSiren:d}=this.sourceInfo;if(!(!t&&!Et(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]: Cannot create vehicle");p.createdCount++,fe.set(this._id,this)}}destroy(){if(this.id===l.VEHICLE_ID&&!D.skip)throw new Error("[Vehicle]: Cannot destroy the vehicle before create");D.skip||p.__inject__.destroy(this._id),p.createdCount--,fe.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(!oy(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 yt(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||!_y(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(fg(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 _e.get(yi(this.id))}getLastDriver(){return _e.get(Ii(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&&!Et(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 fe.get(t)}static getInstances(){return[...fe.values()]}static __inject__={addStatic:Rg,addStaticEx:Og,create:xu,destroy:Hu,addComponent:og,removeComponent:_g,getComponentInSlot:yg,linkToInterior:lg,setVirtualWorld:bg,getVirtualWorld:wg,repair:Sg,setPos:Ku,getPos:Uu,getHealth:ug,setHealth:hg,isPlayerIn:J_,putPlayerIn:T_,getZAngle:Xu,setZAngle:Ju,setNumberPlate:pg,changeColors:cg,setVelocity:Ag,getVelocity:Eg,setAngularVelocity:Ng,getDamageStatus:Dg,updateDamageStatus:Tg,getDistanceFromPoint:zu,getModel:Ig,getModelInfo:vg,getRotation:Zu,getRotationQuat:Yu,setRespawn:sg,isStreamedIn:Wu,setParamsCarDoors:ig,setParamsCarWindows:rg,getParamsCarDoors:ag,getParamsCarWindows:ng,setParamsEx:qu,getParamsEx:eg,getParamsSirenState:tg,setParamsForPlayer:$u,isTrailerAttached:Pg,changePaintjob:dg,attachTrailer:gg,detachTrailer:mg,getMatrix:Vu,getTrainSpeed:Mu,getHydraReactorAngle:Fu,getLandingGearState:ju,getSirenState:Gu,getDriver:yi,getLastDriver:Ii,isSirenEnabled:Lu,toggleSirenEnabled:bu,setParamsSirenState:wu,isDead:Du,setDead:Tu,setBeenOccupied:vu,getRespawnTick:Au,setRespawnTick:Nu,isOccupied:Eu,hasBeenOccupied:Su,getOccupiedTick:yu,setOccupiedTick:Cu,getCab:Iu,getRespawnDelay:pu,setRespawnDelay:fu,getNumberPlate:Pu,getInterior:mu,getPaintjob:gu,getColors:uu,setSpawnInfo:hu,getSpawnInfo:du,getRandomColorPair:ku,show:Gg,hide:jg,isHidden:Fg,getOccupant:Hg,getMaxPassengers:Wg,countOccupants:Ug,getComponentType:Cg,colorIndexToColor:Bu,isValid:Lg,getModelsUsed:Ou,getModelCount:Ru}}class y{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=y.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?Ne.set(this._id,this):i&&(U.has(i)||U.set(i,new Map),U.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[ObjectMp]: Cannot create with only id");if(this.id!==l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot 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=y.__inject__.create(t,i,a,r,n,s,o,_),this.id===l.OBJECT_ID||y.getInstances().length===H.MAX_OBJECTS)throw new Error("[ObjectMp]: Cannot create object");return Ne.set(this._id,this),this}const d=this.getPlayerId();if(d===l.PLAYER_ID)return this;const h=this.getPlayer();if(this._id=y.__inject__.createPlayer(d,t,i,a,r,n,s,o,_),this.id===l.OBJECT_ID||y.getInstances(h).length===H.MAX_OBJECTS)throw new Error("[ObjectMp]: Cannot create player object");return U.has(h)||U.set(h,new Map),U.get(this.getPlayer()).set(this.id,this),this}destroy(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot destroy before create");if(this.isGlobal())D.skip||y.__inject__.destroy(this.id),Ne.delete(this.id);else{const t=this.getPlayerId();if(t===l.PLAYER_ID)return this;const i=this.getPlayer();if(D.skip||y.__inject__.destroyPlayer(t,this.id),U.has(i)){const a=U.get(i);a.delete(this.id),a.size===0&&U.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()?y.isValid(this.id):y.isValid(this.id,this.getPlayerId())}getModel(){return this.sourceInfo?this.sourceInfo.modelId:this.isGlobal()?y.__inject__.getModel(this.id):y.__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()?y.__inject__.getPos(this.id):y.__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()?y.__inject__.setPos(this.id,t,i,a):y.__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()?y.__inject__.getRot(this.id):y.__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()?y.__inject__.setRot(this.id,t,i,a):y.__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()?y.__inject__.move(this.id,t,i,a,r,n,s,o):y.__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()?y.__inject__.stop(this.id):y.__inject__.stopPlayer(this.getPlayerId(),this.id)}isMoving(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?y.__inject__.isMoving(this.id):y.__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 y.__inject__.attachCamera(t.id,this.id)}return y.__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 y.__inject__.attachToObject(this.id,t.id,i,a,r,n,s,o,_);if(!this.isGlobal()&&!t.isGlobal())return y.__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()?y.__inject__.attachToPlayer(this.id,t.id,i,a,r,n,s,o):y.__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()?y.__inject__.attachToVehicle(this.id,t.id,i,a,r,n,s,o):y.__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]: Cannot edit before create");if(this.isGlobal()){if(!t)throw new Error("[ObjectMp]: Cannot edit without player");return t.endObjectEditing(),y.__inject__.beginEditing(t.id,this.id)}const i=this.getPlayer();return i.endObjectEditing(),y.__inject__.beginEditingPlayer(i.id,this.id)}isMaterialUsed(t){return this.id===l.OBJECT_ID?!1:this.isGlobal()?y.__inject__.isMaterialSlotUsed(this.id,t):y.__inject__.isMaterialSlotUsedPlayer(this.getPlayerId(),this.id,t)}getMaterial(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot get material before create");return this.isGlobal()?y.__inject__.getMaterial(this.id,t):y.__inject__.getMaterialPlayer(this.getPlayerId(),this.id,t)}setMaterial(t,i,a,r,n="#000"){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot set material before create");return this.isGlobal()?y.__inject__.setMaterial(this.id,t,i,a,r,N(n)):y.__inject__.setMaterialPlayer(this.getPlayerId(),this.id,t,i,a,r,N(n))}getMaterialText(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot get material text before create");return this.isGlobal()?y.__inject__.getMaterialText(this.id,t,this.sourceInfo?.charset||"utf8"):y.__inject__.getMaterialTextPlayer(this.getPlayerId(),this.id,t,this.sourceInfo?.charset||"utf8")}setMaterialText(t=this.sourceInfo?.charset,i,a,r=lt.SIZE_256x128,n="Arial",s=24,o=!0,_="#fff",d="#000",h=0){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot 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):Ri(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()?y.__inject__.setNoCameraCollision(this.id):y.__inject__.setNoCameraCollisionPlayer(this.getPlayerId(),this.id)}isNoCameraCol(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?y.__inject__.isNoCameraCol(this.id):y.__inject__.isNoCameraColPlayer(this.getPlayerId(),this.id)}hasCameraCollision(){return!this.isNoCameraCol()}getDrawDistance(){return this.id===l.OBJECT_ID?0:this.isGlobal()?y.__inject__.getDrawDistance(this.id):y.__inject__.getDrawDistancePlayer(this.getPlayerId(),this.id)}setMoveSpeed(t){return this.id===l.OBJECT_ID?!1:this.isGlobal()?y.__inject__.setMoveSpeed(this.id,t):y.__inject__.setMoveSpeedPlayer(this.getPlayerId(),this.id,t)}getMoveSpeed(){return this.id===l.OBJECT_ID?0:this.isGlobal()?y.__inject__.getMoveSpeed(this.id):y.__inject__.getMoveSpeedPlayer(this.getPlayerId(),this.id)}getMovingTargetPos(){return this.isGlobal()?y.__inject__.getMovingTargetPos(this.id):y.__inject__.getMovingTargetPosPlayer(this.getPlayerId(),this.id)}getSyncRotation(){return this.isGlobal()?y.__inject__.getSyncRotation(this.id):y.__inject__.getSyncRotationPlayer(this.getPlayerId(),this.id)}getAttachedOffset(){return this.isGlobal()?y.__inject__.getAttachedOffset(this.id):y.__inject__.getAttachedOffsetPlayer(this.getPlayerId(),this.id)}getTarget(){return this.isGlobal()?y.__inject__.getTarget(this.id):y.__inject__.getTargetPlayer(this.getPlayerId(),this.id)}static isValid(t,i){return i===l.PLAYER_ID?!1:typeof i>"u"?y.__inject__.isValid(t):y.__inject__.isValidPlayer(i,t)}static getInstance(t,i){if(!i)return Ne.get(t);if(i.id!==l.PLAYER_ID)return U.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...U.get(t)?.values()||[]]:[...Ne.values()]}static getPlayersInstances(){return Array.from(U.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:Qf,createPlayer:Hp,destroy:hp,destroyPlayer:$p,setMaterialText:Li,setMaterialTextPlayer:Ri,setNoCameraCollision:_p,setNoCameraCollisionPlayer:zp,isNoCameraCol:cp,isNoCameraColPlayer:kp,getDrawDistance:Wf,getDrawDistancePlayer:wp,setMoveSpeed:Kf,setMoveSpeedPlayer:Lp,getMoveSpeed:Uf,getMoveSpeedPlayer:Rp,getMovingTargetPos:Xf,getMovingTargetPosPlayer:Gp,getSyncRotation:zf,getSyncRotationPlayer:Fp,getAttachedOffset:Yf,getAttachedOffsetPlayer:jp,getTarget:Zf,getTargetPlayer:Op,isValid:dp,isValidPlayer:Jp,getModel:op,getModelPlayer:Yp,getPos:np,getPosPlayer:Kp,getRot:lp,getRotPlayer:Zp,setPos:rp,setPosPlayer:Up,setRot:sp,setRotPlayer:Xp,move:up,movePlayer:Qp,setMaterial:pp,setMaterialPlayer:iI,stop:gp,stopPlayer:qp,isMoving:mp,isMovingPlayer:eI,attachCamera:pc,attachCameraPlayer:Ic,attachToObject:tp,attachToPlayer:ip,attachToVehicle:qf,attachPlayerToObject:ep,attachPlayerToPlayer:tI,attachPlayerToVehicle:Wp,beginEditing:Pp,beginEditingPlayer:xp,endEditing:Di,getMaterial:$f,getMaterialPlayer:Vp,isMaterialSlotUsed:Jf,isMaterialSlotUsedPlayer:Mp,getMaterialText:ZI,getMaterialTextPlayer:YI}}const[Mi]=m({name:"OnClientCheckResponse",identifier:"iiii",beforeEach(e,t,i,a){return{player:c.getInstance(e),actionId:t,memAddr:i,data:a}}}),[Ry,Oy]=m({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,i){return{player:e,newLocale:t,oldLocale:i}}}),[Gy,jy]=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;_e.set(t,this)}static MAX_CHECK_ANDROID_DELAY=10;static SKIP_CHECK_ANDROID=!1;_charset="ISO-8859-1";_locale="en_US";[k]={isAndroid:!0,lastDrunkLevel:0,lastFps:0,lastUpdateTick:0,lastUpdateFpsTick:0,isPaused:!1,isRecording:!1};get lastDrunkLevel(){return this[k].lastDrunkLevel}get lastFps(){return this[k].lastFps}get lastUpdateTick(){return this[k].lastUpdateTick}get lastUpdateFpsTick(){return this[k].lastUpdateFpsTick}get isPaused(){return this[k].isPaused}get isRecording(){return this[k].isRecording}get charset(){return this._charset}set charset(t){const i=this._charset;this._charset=t,jy(this,t,i)}get locale(){return this._locale}set locale(t){const i=this._locale;this._locale=t,Oy(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=nt.NORMAL){return c.__inject__.spectatePlayer(this.id,t.id,i)}spectateVehicle(t,i=nt.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()===Qe.SPECTATING}isWasted(){return this.getState()===Qe.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 yt(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=$e.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 fe.get(t)}getCameraTargetActor(){const t=c.__inject__.getCameraTargetActor(this.id);return Be.get(t)}getCameraTargetObject(){const t=c.__inject__.getCameraTargetObject(this.id);return Ne.get(t)}getCameraTargetPlayerObject(){const t=c.__inject__.getCameraTargetPlayerObject(this.id);return U.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,_=$e.CUT){return c.__inject__.interpolateCameraPos(this.id,t,i,a,r,n,s,o,_)}interpolateCameraLookAt(t,i,a,r,n,s,o,_=$e.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(!St(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,Pt.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,g,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,g,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 g=null;const I=Mi(({player:S,actionId:C,memAddr:w,data:F,next:$})=>(S!==this||(g&&(clearTimeout(g),g=null),s({actionId:C,memAddr:w,data:F})),$()));g=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 y.getInstance(t)}getSurfingPlayerObject(){const t=c.__inject__.getSurfingPlayerObjectID(this.id);if(t!==l.OBJECT_ID)return y.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,g=1,I=1,S=0,C=0){return this.isAttachedObjectSlotUsed(t)?0:c.__inject__.setAttachedObject(this.id,t,i,a,r,n,s,o,_,d,h,g,I,S,C)}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[k].isAndroid}isPC(){return this.isConnected()&&!this[k].isAndroid}isUsingOmp(){return c.__inject__.isUsingOmp(this.id)}simulateCommand(t){return ie.simulate(this,t)}static getInstance(t){return _e.get(t)}static getInstances(){return[..._e.values()]}static __inject__={sendClientMessage:bi,sendClientMessageToAll:RI,sendMessageToPlayer:wi,sendMessageToAll:OI,banEx:MI,getName:jI,setName:FI,setChatBubble:XI,isNpc:yo,getDrunkLevel:Wo,setDrunkLevel:Uo,allowTeleport:ho,isTeleportAllowed:uo,enableCameraTarget:dc,enableStuntBonus:x_,getInterior:wo,setInterior:bo,showNameTag:ic,setColor:Ko,getColor:Xo,setMapIcon:ac,removeMapIcon:rc,setMarker:ec,getMarker:tc,resetMoney:e_,getMoney:t_,giveMoney:qo,resetWeapons:Jo,spawn:fl,setHealth:Lo,getHealth:Ro,toggleClock:o_,toggleControllable:L_,toggleSpectating:X_,spectatePlayer:Z_,spectateVehicle:Y_,forceClassSelection:c_,kick:wl,ban:Ll,isAdmin:vl,isInRangeOfPoint:Do,isStreamedIn:vo,setSkin:Zo,getSkin:Yo,isInAnyVehicle:$_,getSpecialAction:F_,setSpecialAction:M_,setScore:xo,getScore:Ho,getPing:a_,setPos:Co,getPos:Eo,getState:i_,getVersion:Hl,setVirtualWorld:k_,getVirtualWorld:B_,removeFromVehicle:w_,setWantedLevel:d_,getWantedLevel:h_,setFacingAngle:Ao,getFacingAngle:No,setWeather:__,getWeather:Xl,setTime:s_,getTime:l_,removeBuilding:N_,setTeam:ko,getTeam:Bo,setSkillLevel:C_,setVelocity:m_,getVelocity:P_,getKeys:n_,getIp:xl,getFightingStyle:g_,setFightingStyle:u_,setArmour:Oo,getArmour:Go,setCameraBehind:lc,setCameraPos:nc,setCameraLookAt:sc,getCameraAspectRatio:Pc,getCameraFrontVector:_c,getCameraMode:cc,getCameraPos:oc,getCameraTargetPlayer:gc,getCameraTargetVehicle:uc,getCameraTargetActor:mc,getCameraTargetObject:hc,getCameraTargetPlayerObject:Bp,getCameraZoom:fc,playAudioStream:p_,stopAudioStream:I_,playSound:R_,getMaxPlayers:ks,playCrimeReport:f_,interpolateCameraPos:yc,interpolateCameraLookAt:Cc,createExplosion:W_,isConnected:z_,disableRemoteVehicleCollisions:V_,getVehicleID:v_,getVehicleSeat:b_,getSurfingVehicleID:S_,applyAnimation:O_,clearAnimations:G_,getAnimationIndex:j_,setShopName:y_,setPosFindZ:So,setWorldBounds:Q_,clearWorldBounds:q_,getDistanceFromPoint:To,getCustomSkin:H_,getTargetPlayer:Vo,getLastShotVectors:D_,getWeapon:r_,getWeaponData:Qo,getWeaponState:Mo,giveWeapon:zo,setAmmo:jo,getAmmo:Fo,setArmedWeapon:$o,sendDeathMessage:Vs,sendDeathMessageToPlayer:po,setSpawnInfo:Pl,redirectDownload:Sp,sendClientCheck:Ml,selectTextDraw:ef,cancelSelectTextDraw:tf,beginObjectSelecting:fp,endObjectEditing:Di,getSurfingObjectID:E_,getSurfingPlayerObjectID:A_,isAttachedObjectSlotUsed:vp,editAttachedObject:ap,setAttachedObject:Dp,removeAttachedObject:Tp,toggleWidescreen:Wl,isWidescreenToggled:Ul,getSpawnInfo:pl,getSkillLevel:Kl,isCheckpointActive:Ci,getCheckpoint:Si,isRaceCheckpointActive:Ei,getRaceCheckpoint:Ai,getWorldBounds:Zl,isInModShop:Mg,getSirenState:Vg,getLandingGearState:kg,getHydraReactorAngle:Bg,getTrainSpeed:xg,getZAim:Yl,getSurfingOffsets:zl,getRotationQuat:Jl,getDialogID:$l,getSpectateID:Ql,getSpectateType:ql,getRawIp:Bl,setGravity:eo,getGravity:to,setAdmin:bl,isSpawned:io,isControllable:ao,isCameraTargetEnabled:ro,toggleGhostMode:no,getGhostMode:so,getBuildingsRemoved:lo,getAttachedObject:Np,removeWeapon:oo,isUsingOfficialClient:co,allowWeapons:go,areWeaponsAllowed:mo,gpci:Fl,isCuffed:Sc,isInDriveByMode:Ec,isUsingOmp:Ac}}const[Vi]=m({name:"OnDialogResponseI18n",identifier:"iiiiai",defaultValue:!1,beforeEach(e,t,i,a,r){const n=c.getInstance(e),s=E.decodeFromBuf(r,n.charset);return{player:n,dialogId:t,response:i,listItem:a,buffer:r,inputText:s}}});Vi(({next:e,player:t,dialogId:i,response:a,listItem:r,buffer:n,inputText:s})=>{const o=W.waitingQueue.get(t);return!o||o.showId!==i||o.resolve({response:a,listItem:r,buffer:n,inputText:s}),e()});class W{_id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new WeakMap;constructor(t={style:ht.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=W.waitingQueue.get(t);if(!a)return!1;i&&a.reject("[Dialog]: player timeout does not respond or second request show dialog"),W.waitingQueue.delete(t);const r=W.showingIds.indexOf(a.showId);return r>-1&&W.showingIds.splice(r,1),!0}show(t){return new Promise((i,a)=>{for(W.close(t);this._id===-1||W.showingIds.includes(this._id);){if(W.showingIds.length>=W.maxDialogId){this._id=-1;break}this._id=Math.floor(Math.random()*(W.maxDialogId+1))}if(this._id===-1){a("[Dialog]: Cannot create dialog");return}W.showingIds.push(this._id),W.waitingQueue.set(t,{resolve:i,reject:a,showId:this._id}),W.__inject__.show(t,this._id,this.dialog)}).catch(i=>Promise.reject(i)).finally(()=>W.delDialogTask(t))}static close(t){W.delDialogTask(t,!0),W.__inject__.hide(t.id)}static __inject__={show:GI,hide:_o}}const[ki]=m({name:"OnPlayerConnect",identifier:"i",beforeEach(e){const t=new c(e);return _e.set(e,t),W.close(t),{player:t}}}),[Bi]=m({name:"OnPlayerDisconnect",identifier:"ii",beforeEach(e,t){return{player:_e.get(e),reason:t}},afterEach({player:e}){_e.delete(e.id)}}),[xi]=m({name:"OnPlayerUpdate",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[Fy]=m({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const i=c.getInstance(e);return{player:i,text:E.decodeFromBuf(t,i.charset),buffer:t}}}),[My]=m({name:"OnPlayerEnterExitModShop",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),enterExit:t,interior:i}}}),[Vy]=m({name:"OnPlayerClickMap",identifier:"ifff",defaultValue:!1,beforeEach(e,t,i,a){return{player:c.getInstance(e),fX:t,fY:i,fZ:a}}}),[ky]=m({name:"OnPlayerClickPlayer",identifier:"iii",defaultValue:!1,beforeEach(e,t,i){return{player:c.getInstance(e),clickedPlayer:c.getInstance(t),source:i}}}),[By]=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}}}),[xy]=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}}}),[Hy]=m({name:"OnPlayerKeyStateChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newKeys:t,oldKeys:i}}}),[Wy]=m({name:"OnPlayerRequestClass",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),classId:t}}}),[Uy]=m({name:"OnPlayerRequestSpawn",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[Ky]=m({name:"OnPlayerSpawn",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[Xy]=m({name:"OnPlayerStateChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newState:t,oldState:i}}}),[Zy]=m({name:"OnPlayerStreamIn",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),forPlayer:c.getInstance(t)}}}),[Yy]=m({name:"OnPlayerStreamOut",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),forPlayer:c.getInstance(t)}}}),[zy]=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}}}),[Jy]=m({name:"OnPlayerInteriorChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newInteriorId:t,oldInteriorId:i}}}),[$y]=m({name:"OnPlayerRequestDownload",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),type:t,crc:i}}}),[Qy]=m({name:"OnPlayerFinishedDownloading",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),virtualWorld:t}}}),[qy]=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 at=null;const ee=new Map,Ue=new Map;function Hi(e){if(!e.isConnected()){ee.has(e)&&(clearInterval(ee.get(e)),ee.delete(e),Ue.delete(e));return}let t=Ue.get(e)||1;if(t>=c.MAX_CHECK_ANDROID_DELAY){clearInterval(ee.get(e)),ee.delete(e),Ue.delete(e),Dt(e,!0);return}e.sendClientCheck(72,0,0,2).then(({actionId:i})=>{i===72&&(e[k].isAndroid=!1,ee.has(e)&&(clearInterval(ee.get(e)),ee.delete(e),Ue.delete(e)),Dt(e,!1))}).catch(()=>{}),t++,Ue.set(e,t)}const[eC,tC]=m({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[iC,aC]=m({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,i,a){return{player:e,pausedAt:t,now:i,diff:a}}}),[rC,nC]=m({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,i){return{player:e,newFps:t,oldFps:i}}}),[sC,Dt]=m({name:"OnAndroidCheck",isNative:!1,beforeEach(e,t){return{player:e,result:t}}});ki(({player:e,next:t})=>{if(!at&&c.getInstances().length&&(at=setInterval(()=>{c.getInstances().filter(a=>{const r=a.getState()!==Qe.NONE;return!a.isPaused&&!a.isNpc()&&r}).forEach(a=>{Date.now()-a.lastUpdateTick>1e3&&(a[k].isPaused=!0,tC(a,a.lastUpdateTick))})},500)),e.isNpc())return e[k].isAndroid=!1,t();if(c.SKIP_CHECK_ANDROID)return e[k].isAndroid=!e.isUsingOfficialClient(),Dt(e,e[k].isAndroid),t();Hi(e);const i=setInterval(()=>Hi(e),1e3);return ee.set(e,i),t()}),Bi(({player:e,next:t})=>(at&&c.getInstances().length<=1&&(clearInterval(at),at=null),ee.has(e)&&(clearInterval(ee.get(e)),ee.delete(e),Ue.delete(e)),t()));function lC(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[k].lastDrunkLevel=2e3,e[k].lastFps=0;return}e[k].lastUpdateFpsTick=t;const a=e.lastFps,r=e.lastDrunkLevel-i-1;e[k].lastFps=r,e[k].lastDrunkLevel=i,nC(e,r,a)}}xi(({player:e,next:t})=>{if(!e.isNpc()){const i=Date.now();e.isPaused&&(e[k].isPaused=!1,aC(e,e.lastUpdateTick,i,i-e.lastUpdateTick)),e[k].lastUpdateTick=i,lC(e)}return t()});const Ke=Object.freeze({onConnect:ki,onDisconnect:Bi,onPause:eC,onResume:iC,onUpdate:xi,onText:Fy,onEnterExitModShop:My,onClickMap:Vy,onClickPlayer:ky,onDeath:By,onGiveDamage:xy,onKeyStateChange:Hy,onRequestClass:Wy,onRequestSpawn:Uy,onSpawn:Ky,onStateChange:Xy,onStreamIn:Zy,onStreamOut:Yy,onTakeDamage:zy,onInteriorChange:Jy,onRequestDownload:$y,onFinishedDownloading:Qy,onCheckResponse:Mi,onCommandReceived:Cy,onCommandPerformed:Ey,onCommandError:Ny,onCommandText:ie.on,offCommandText:ie.off,onDialogResponse:Vi,onLocaleChange:Ry,onCharsetChange:Gy,onFpsUpdate:rC,onWeaponShot:qy,onAndroidCheck:sC,onCommandTextRaw:vy});x.onExit(({next:e})=>(p.getInstances().forEach(t=>t.destroy()),fe.clear(),e()));const[oC]=m({name:"OnVehicleDamageStatusUpdate",identifier:"ii",defaultValue:!1,beforeEach(e,t){return{vehicle:p.getInstance(e),player:c.getInstance(t)}}}),[_C]=m({name:"OnVehicleDeath",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),killer:c.getInstance(t)}}}),[cC]=m({name:"OnVehicleMod",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),componentId:i}}}),[dC]=m({name:"OnVehiclePaintjob",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),paintjobId:i}}}),[hC]=m({name:"OnVehicleRespray",identifier:"iiii",beforeEach(e,t,i,a){return{player:c.getInstance(e),vehicle:p.getInstance(t),color:[i,a]}}}),[uC]=m({name:"OnVehicleSirenStateChange",identifier:"iii",defaultValue:!1,beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),state:!!i}}}),[gC]=m({name:"OnVehicleSpawn",identifier:"i",beforeEach(e){return{vehicle:p.getInstance(e)}}}),[mC]=m({name:"OnVehicleStreamIn",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),forPlayer:c.getInstance(t)}}}),[PC]=m({name:"OnVehicleStreamOut",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),forPlayer:c.getInstance(t)}}}),[fC]=m({name:"OnPlayerEnterVehicle",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),isPassenger:!!i}}}),[pC]=m({name:"OnPlayerExitVehicle",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),vehicle:p.getInstance(t)}}}),[IC]=m({name:"OnTrailerUpdate",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),vehicle:p.getInstance(t)}}}),[yC]=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:_}}}),CC=Object.freeze({onDamageStatusUpdate:oC,onDeath:_C,onMod:cC,onPaintjob:dC,onRespray:hC,onSirenStateChange:uC,onSpawn:gC,onStreamIn:mC,onStreamOut:PC,onPlayerEnter:fC,onPlayerExit:pC,onTrailerUpdate:IC,onUnoccupiedUpdate:yC}),[be]=m({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:c.getInstance(i)}}}),[we]=m({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:c.getInstance(i)}}}),[SC]=m({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class A{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getTickRate=yn;static setTickRate=Cn;static getPlayerTickRate(t){return Sn(t.id)}static setPlayerTickRate(t,i=50){return En(t.id,i)}static toggleChunkStream=An;static isToggleChunkStream=Nn;static getChunkTickRate(t,i=-1){return i instanceof c?oi(t,i.id):oi(t,i)}static setChunkTickRate(t,i,a=-1){return a instanceof c?_i(t,i,a.id):_i(t,i,a)}static getChunkSize=Dn;static setChunkSize=Tn;static getMaxItems=vn;static setMaxItems=bn;static getVisibleItems(t,i=-1){return i instanceof c?ci(t,i.id):ci(t,i)}static setVisibleItems(t,i,a=-1){return a instanceof c?di(t,i,a.id):di(t,i,a)}static getRadiusMultiplier(t,i=-1){return i instanceof c?hi(t,i.id):hi(t,i)}static setRadiusMultiplier(t,i,a=-1){return a instanceof c?ui(t,i,a.id):ui(t,i,a)}static getTypePriority=wn;static setTypePriority=Ln;static getCellDistance=Rn;static setCellDistance=On;static getCellSize=Gn;static setCellSize=jn;static toggleItemStatic=Fn;static isToggleItemStatic=Mn;static toggleItemInvAreas=Vn;static isToggleItemInvAreas=kn;static toggleItemCallbacks=Bn;static isToggleItemCallbacks=xn;static toggleErrorCallback=Hn;static isToggleErrorCallback=Wn;static amxUnloadDestroyItems=Un;static processActiveItems=Kn;static toggleIdleUpdate(t,i){return Xn(t.id,i)}static isToggleIdleUpdate(t){return Zn(t.id)}static toggleCameraUpdate(t,i){return Yn(t.id,i)}static isToggleCameraUpdate(t){return zn(t.id)}static toggleItemUpdate(t,i,a){return Jn(t.id,i,a)}static isToggleItemUpdate(t,i){return $n(t.id,i)}static getLastUpdateTime(){return Qn()}static update(t,i=-1){return qn(t.id,i)}static updateEx(t,i,a,r,n,s,o,_,d){return es(t.id,i,a,r,n,s,o,_,d)}static getDistanceToItem=Ar;static toggleItem(t,i,a,r){return Nr(t.id,i,a,r)}static isToggleItem(t,i,a){return Dr(t.id,i,a)}static toggleAllItems(t,i,a,r=[-1]){return Tr(t.id,i,a,r)}static getItemInternalID(t,i,a){return vr(t.id,i,a)}static getItemStreamerID(t,i,a){return br(t.id,i,a)}static isItemVisible(t,i,a){return wr(t.id,i,a)}static destroyAllVisibleItems(t,i,a=1){return Lr(t.id,i,a)}static countVisibleItems(t,i,a=1){return Rr(t.id,i,a)}static destroyAllItems=Or;static countItems=Gr;static getNearbyItems=jr;static getAllVisibleItems(t,i,a){return Fr(t.id,i,a)}static getItemPos=Mr;static setItemPos=Vr;static getItemOffset=kr;static setItemOffset=Br;static getFloatData=qa;static setFloatData=er;static getIntData=tr;static setIntData=ir;static getArrayData=ar;static setArrayData=rr;static isInArrayData=nr;static appendArrayData=sr;static removeArrayData=lr;static getArrayDataLength=li;static getUpperBound=or;static onPluginError=SC}class O{sourceInfo=null;_id=f.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=O.getInstance(t);if(i)return i;this._id=t,ye.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==f.INVALID_ID)throw new Error("[StreamerObject]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerObject]: Cannot 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:g,rx:I,ry:S,rz:C,extended:w}=this.sourceInfo;return t??=V.OBJECT_SD,i??=V.OBJECT_DD,o??=0,w?(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=O.__inject__.createEx(_,d,h,g,I,S,C,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=O.__inject__.create(_,d,h,g,I,S,C,a,r,n,t,i,s,o)),ye.set(this._id,this),this}destroy(){if(this.id===f.INVALID_ID&&!D.skip)throw new Error("[StreamerObject]: Cannot destroy object before create");return D.skip||O.__inject__.destroy(this.id),ye.delete(this.id),this._id=f.INVALID_ID,this}isValid(){return D.skip&&this.id!==f.INVALID_ID?!0:O.isValid(this.id)}getModel(){return this.sourceInfo?this.sourceInfo.modelId:A.getIntData(T.OBJECT,this._id,oe.MODEL_ID)}getPos(){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot get position before create");return O.__inject__.getPos(this.id)}setPos(t,i,a){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot set position before create");return O.__inject__.setPos(this.id,t,i,a)}getRot(){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot get rotation before create");return O.__inject__.getRot(this.id)}setRot(t,i,a){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot set rotation before create");return O.__inject__.setRot(this.id,t,i,a)}move(t,i,a,r,n=-1e3,s=-1e3,o=-1e3){if(this.id===f.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(),O.__inject__.move(this.id,t,i,a,r,n,s,o)}stop(){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot stop moving before create");return O.__inject__.stop(this.id)}isMoving(){return this.id===f.INVALID_ID?!1:O.__inject__.isMoving(this.id)}attachCamera(t){if(this.id===f.INVALID_ID||t.id===l.PLAYER_ID)throw new Error("[StreamerObject]: Cannot attachCamera before both are created");return O.__inject__.attachCamera(t.id,this.id)}attachToObject(t,i,a,r,n,s,o,_=!0){if(this.id===f.INVALID_ID||t.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot attachToObject before both are created");return O.__inject__.attachToObject(this.id,t.id,i,a,r,n,s,o,_)}attachToPlayer(t,i,a,r,n,s,o){if(this.id===f.INVALID_ID||t.id===l.PLAYER_ID)throw new Error("[StreamerObject]: Cannot attachToPlayer before both are created");return O.__inject__.attachToPlayer(this.id,t.id,i,a,r,n,s,o)}attachToVehicle(t,i,a,r,n,s,o){if(this.id===f.INVALID_ID||t.id===l.VEHICLE_ID)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return O.__inject__.attachToVehicle(this.id,t.id,i,a,r,n,s,o)}edit(t){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot edit before create");return t.endObjectEditing(),O.__inject__.edit(t.id,this.id)}isMaterialUsed(t){return this.id===f.INVALID_ID?!1:O.__inject__.isMaterialUsed(this.id,t)}removeMaterial(t){return this.id===f.INVALID_ID||!this.isMaterialUsed(t)?0:O.__inject__.removeMaterial(this.id,t)}getMaterial(t){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot get material before create");return O.__inject__.getMaterial(this.id,t)}setMaterial(t,i,a,r,n="#000"){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot set material before create");return O.__inject__.setMaterial(this.id,t,i,a,r,N(n))}isMaterialTextUsed(t){return this.id===f.INVALID_ID?!1:O.__inject__.isMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.id===f.INVALID_ID||!this.isMaterialTextUsed(t)?0:O.__inject__.removeMaterialText(this.id,t)}getMaterialText(t){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot get material text before create");return O.__inject__.getMaterialText(this.id,t,this.sourceInfo?.charset||"utf8")}setMaterialText(t=this.sourceInfo?.charset,i,a,r=lt.SIZE_256x128,n="Arial",s=24,o=1,_="#fff",d="#000",h=0){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot set material text before create");return this.sourceInfo&&(this.sourceInfo.charset=t),O.__inject__.setMaterialText(t||"utf8",this.id,i,a,r,n,s,o,N(_),N(d),h)}getPlayerCameraTarget(t){const i=O.__inject__.getPlayerCameraTarget(t.id);if(i!==f.INVALID_ID)return ye.get(i)}toggleCallbacks(t=!0){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot toggle callbacks before create");return A.toggleItemCallbacks(T.OBJECT,this.id,t)}isToggleCallbacks(){return this.id===f.INVALID_ID?!1:A.isToggleItemCallbacks(T.OBJECT,this.id)}setNoCameraCollision(){return O.__inject__.setNoCameraCol(this.id)}getNoCameraCollision(){return O.__inject__.getNoCameraCol(this.id)}static isValid=Wr;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.OBJECT,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return ye.get(t)}static getInstances(){return[...ye.values()]}static __inject__={createEx:hr,create:xr,destroy:Hr,getPos:Ur,setPos:Kr,getRot:Xr,setRot:Zr,move:Yr,stop:zr,isMoving:Jr,attachCamera:$r,attachToObject:Qr,attachToPlayer:qr,attachToVehicle:en,edit:tn,isMaterialUsed:an,removeMaterial:rn,getMaterial:UI,setMaterial:nn,isMaterialTextUsed:sn,removeMaterialText:ln,getMaterialText:KI,setMaterialText:WI,getPlayerCameraTarget:on,setNoCameraCol:_n,getNoCameraCol:cn}}x.onExit(({next:e})=>(O.getInstances().forEach(t=>t.destroy()),ye.clear(),e()));const[EC,AC]=m({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[NC,DC]=m({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});be(({type:e,id:t,forPlayer:i,next:a})=>e===T.OBJECT?AC(i,O.getInstance(t)):a()),we(({type:e,id:t,forPlayer:i,next:a})=>e===T.OBJECT?DC(i,O.getInstance(t)):a());const[TC]=m({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:O.getInstance(e)}}}),[vC]=m({name:"OnPlayerEditDynamicObject",identifier:"iiiffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_){return{player:c.getInstance(e),object:O.getInstance(t),response:i,x:a,y:r,z:n,rX:s,rY:o,rZ:_}}}),[bC]=m({name:"OnPlayerSelectDynamicObject",identifier:"iiifff",beforeEach(e,t,i,a,r,n){return{player:c.getInstance(e),object:O.getInstance(t),modelId:i,x:a,y:r,z:n}}}),[wC]=m({name:"OnPlayerShootDynamicObject",identifier:"iiifff",beforeEach(e,t,i,a,r,n){return{player:c.getInstance(e),object:O.getInstance(i),weapon:t,x:a,y:r,z:n}}}),LC=Object.freeze({onMoved:TC,onPlayerEdit:vC,onPlayerSelect:bC,onPlayerShoot:wC,onStreamIn:EC,onStreamOut:NC});class se{sourceInfo=null;_id=f.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===f.INVALID_ID)throw new Error("[StreamerMapIcon]: Invalid id");const i=se.getInstance(t);if(i)return i;this._id=t,Ee.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==f.INVALID_ID)throw new Error("[StreamerMapIcon]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerMapIcon]: Cannot 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:g,color:I,extended:S}=this.sourceInfo;if(g<0||g>63)throw new Error("[StreamerMapIcon]: Invalid map icon type");return t??=_t.LOCAL,i??=V.MAP_ICON_SD,o??=0,S?(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=se.__inject__.createEx(_,d,h,g,N(I),t,i,a,r,n,s,o),Ee.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=se.__inject__.create(_,d,h,g,N(I),a,r,n,i,t,s,o),Ee.set(this._id,this),this)}destroy(){if(this.id===f.INVALID_ID&&!D.skip)throw new Error("[StreamerMapIcon]: Cannot destroy the map icon before create");return D.skip||se.__inject__.destroy(this.id),Ee.delete(this._id),this._id=f.INVALID_ID,this}isValid(){return D.skip&&this.id!==f.INVALID_ID?!0:se.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===f.INVALID_ID)throw new Error("[StreamerMapIcon]: Cannot toggle callbacks before create");return A.toggleItemCallbacks(T.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id===f.INVALID_ID?!1:A.isToggleItemCallbacks(T.MAP_ICON,this.id)}static isValid=dr;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.MAP_ICON,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Ee.get(t)}static getInstances(){return[...Ee.values()]}static __inject__={createEx:Pr,create:_r,destroy:cr}}x.onExit(({next:e})=>(se.getInstances().forEach(t=>t.destroy()),Ee.clear(),e()));const[RC,OC]=m({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[GC,jC]=m({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});be(({type:e,id:t,forPlayer:i,next:a})=>e===T.MAP_ICON?OC(i,se.getInstance(t)):a()),we(({type:e,id:t,forPlayer:i,next:a})=>e===T.MAP_ICON?jC(i,se.getInstance(t)):a());const FC=Object.freeze({onStreamIn:RC,onStreamOut:GC});class ae{sourceInfo=null;_id=f.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===f.INVALID_ID)throw new Error("[StreamerPickup]: Invalid id");const i=ae.getInstance(t);if(i)return i;this._id=t,ke.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==f.INVALID_ID)throw new Error("[StreamerPickup]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerPickup]: Cannot 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:g,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=ae.__inject__.createEx(_,o,d,h,g,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=ae.__inject__.create(_,o,d,h,g,i,a,r,t,n,s)),ke.set(this._id,this),this}destroy(){if(this.id===f.INVALID_ID&&!D.skip)throw new Error("[StreamerPickup]: Cannot destroy pickup before create");return D.skip||ae.__inject__.destroy(this.id),ke.delete(this.id),this._id=f.INVALID_ID,this}isValid(){return D.skip&&this.id!==f.INVALID_ID?!0:ae.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===f.INVALID_ID)throw new Error("[StreamerPickup]: Cannot toggle callbacks before create");return A.toggleItemCallbacks(T.PICKUP,this.id,t)}isToggleCallbacks(){return this.id===f.INVALID_ID?!1:A.isToggleItemCallbacks(T.PICKUP,this.id)}static isValid=un;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.PICKUP,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return ke.get(t)}static getInstances(){return[...ke.values()]}static __inject__={create:dn,createEx:ur,destroy:hn}}x.onExit(({next:e})=>(ae.getInstances().forEach(t=>t.destroy()),ke.clear(),e()));const[MC,VC]=m({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[kC,BC]=m({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});be(({type:e,id:t,forPlayer:i,next:a})=>e===T.PICKUP?VC(i,ae.getInstance(t)):a()),we(({type:e,id:t,forPlayer:i,next:a})=>e===T.PICKUP?BC(i,ae.getInstance(t)):a());const[xC]=m({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:ae.getInstance(t)}}}),HC=Object.freeze({onPlayerPickUp:xC,onStreamIn:MC,onStreamOut:kC});class K{sourceInfo=null;_id=f.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===f.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!==f.INVALID_ID)throw new Error("[StreamerCheckpoint]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerCheckpoint]: Cannot 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:g}=this.sourceInfo;if(o<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=V.CP_SD,s??=0,g?(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===f.INVALID_ID&&!D.skip)throw new Error("[StreamerCheckpoint]: Cannot destroy the checkpoint before create");return D.skip||K.__inject__.destroy(this.id),Se.delete(this.id),this._id=f.INVALID_ID,this}isValid(){return D.skip&&this.id!==f.INVALID_ID?!0:K.isValid(this.id)}togglePlayer(t,i){if(this.id===f.INVALID_ID)throw new Error("[StreamerCheckpoint]: Cannot toggle the player before create");return K.__inject__.togglePlayer(t.id,this.id,i),this}isPlayerIn(t){return this.id===f.INVALID_ID?!1:K.__inject__.isPlayerIn(t.id,this.id)}toggleCallbacks(t=!0){if(this.id===f.INVALID_ID)throw new Error("[StreamerCheckpoint]: Cannot toggle callbacks before create");return A.toggleItemCallbacks(T.CP,this.id,t)}isToggleCallbacks(){return this.id===f.INVALID_ID?!1:A.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 A.toggleItemUpdate(t,T.CP,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Se.get(t)}static getInstances(){return[...Se.values()]}static __inject__={create:Za,createEx:gr,destroy:Ya,getPlayerVisible:Qa,isPlayerIn:$a,togglePlayerAll:Ja,togglePlayer:za}}x.onExit(({next:e})=>(K.getInstances().forEach(t=>t.destroy()),Se.clear(),e()));const[WC,UC]=m({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[KC,XC]=m({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});be(({type:e,id:t,forPlayer:i,next:a})=>e===T.CP?UC(i,K.getInstance(t)):a()),we(({type:e,id:t,forPlayer:i,next:a})=>e===T.CP?XC(i,K.getInstance(t)):a());const[ZC]=m({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),cp:K.getInstance(t)}}}),[YC]=m({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),cp:K.getInstance(t)}}}),zC=Object.freeze({onPlayerEnter:ZC,onPlayerLeave:YC,onStreamIn:WC,onStreamOut:KC});class X{sourceInfo=null;_id=f.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===f.INVALID_ID)throw new Error("[StreamerRaceCP]: Invalid id");const i=X.getInstance(t);if(i)return i;this._id=t,Ae.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==f.INVALID_ID)throw new Error("[StreamerRaceCP]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerRaceCP]: Cannot 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:g,nextX:I,nextY:S,nextZ:C,extended:w}=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,w?(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,g,I,S,C,_,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,g,I,S,C,_,i,a,r,t,n,s)),Ae.set(this._id,this),this}destroy(){if(this.id===f.INVALID_ID&&!D.skip)throw new Error("[StreamerRaceCP]: Cannot destroy the checkpoint before create");return D.skip||X.__inject__.destroy(this.id),Ae.delete(this.id),this._id=f.INVALID_ID,this}isValid(){return D.skip&&this.id!==f.INVALID_ID?!0:X.isValid(this.id)}togglePlayer(t,i){if(this.id===f.INVALID_ID)throw new Error("[StreamerRaceCP]: Cannot 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===f.INVALID_ID?!1:X.__inject__.isPlayerIn(t.id,this.id)}static getPlayerVisible(t){return Ae.get(X.__inject__.getPlayerVisible(t.id))}toggleCallbacks(t=!0){if(this.id===f.INVALID_ID)throw new Error("[StreamerRaceCP]: Cannot toggle callbacks before create");return A.toggleItemCallbacks(T.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id===f.INVALID_ID?!1:A.isToggleItemCallbacks(T.RACE_CP,this.id)}static isValid=ft;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.RACE_CP,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Ae.get(t)}static getInstances(){return[...Ae.values()]}static __inject__={create:gn,createEx:mr,destroy:mn,getPlayerVisible:In,isPlayerIn:pn,isValid:ft,togglePlayerAll:fn,togglePlayer:Pn}}x.onExit(({next:e})=>(X.getInstances().forEach(t=>t.destroy()),Ae.clear(),e()));const[JC,$C]=m({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[QC,qC]=m({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});be(({type:e,id:t,forPlayer:i,next:a})=>e===T.RACE_CP?$C(i,X.getInstance(t)):a()),we(({type:e,id:t,forPlayer:i,next:a})=>e===T.RACE_CP?qC(i,X.getInstance(t)):a());const[eS]=m({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),raceCP:X.getInstance(t)}}}),[tS]=m({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),raceCp:X.getInstance(t)}}}),iS=Object.freeze({onPlayerEnter:eS,onPlayerLeave:tS,onStreamIn:JC,onStreamOut:QC});class j{sourceInfo=null;_id=f.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===f.INVALID_ID)throw new Error("[StreamerActor]: Invalid id");const i=j.getInstance(t);if(i)return i;this._id=t,ue.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==f.INVALID_ID)throw new Error("[StreamerActor]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerActor]: Cannot 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:g,invulnerable:I,health:S,extended:C}=this.sourceInfo;return t??=V.ACTOR_SD,s??=0,C?(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=j.__inject__.createEx(o,_,d,h,g,I,S,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=j.__inject__.create(o,_,d,h,g,I,S,i,a,r,t,n,s)),ue.set(this.id,this),this}destroy(){if(this.id===f.INVALID_ID&&!D.skip)throw new Error("[StreamerActor]: Cannot destroy to actor before create");return D.skip||j.__inject__.destroy(this.id),ue.delete(this.id),this._id=f.INVALID_ID,this}isValid(){return D.skip&&this.id!==f.INVALID_ID?!0:j.isValid(this.id)}isStreamedIn(t){return this.id===f.INVALID_ID?!1:j.__inject__.isStreamedIn(this.id,t.id)}getVirtualWorld(){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot get virtual world before create");return j.__inject__.getVirtualWorld(this.id)}setVirtualWorld(t){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot set virtual world before create");return j.__inject__.setVirtualWorld(this.id,t)}applyAnimation(t,i,a=4.1,r=!1,n=!0,s=!0,o=!1,_=0){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot apply animation before create");if(!St(t,i))throw new Error(`[StreamerActor]: Invalid anim library or name ${t} ${i}`);return j.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_)}clearAnimations(){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot clear animation before create");return j.__inject__.clearAnimations(this.id)}getFacingAngle(){return j.__inject__.getFacingAngle(this.id)}setFacingAngle(t){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot set facing angle before create");return j.__inject__.setFacingAngle(this.id,t)}getPos(){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot get pos before create");return j.__inject__.getPos(this.id)}setPos(t,i,a){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot set pos before create");return j.__inject__.setPos(this.id,t,i,a)}getHealth(){return j.__inject__.getHealth(this.id)}setHealth(t){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot set health before create");return j.__inject__.setHealth(this.id,t)}isInvulnerable(){return this.id===f.INVALID_ID?!1:j.__inject__.isInvulnerable(this.id)}setInvulnerable(t=!0){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot set invulnerable before create");return j.__inject__.setInvulnerable(this.id,t)}getPlayerTarget(t){const i=j.__inject__.getPlayerTarget(t.id);return ue.get(i)}getPlayerCameraTarget(t){const i=j.__inject__.getPlayerCameraTarget(t.id);return ue.get(i)}getAnimation(){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot get animation before create");return j.__inject__.getAnimation(this.id)}toggleCallbacks(t=!0){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot toggle callbacks before create");return A.toggleItemCallbacks(T.ACTOR,this.id,t)}isToggleCallbacks(){return this.id===f.INVALID_ID?!1:A.isToggleItemCallbacks(T.ACTOR,this.id)}static isValid=ra;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.ACTOR,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return ue.get(t)}static getInstances(){return[...ue.values()]}static __inject__={createEx:Er,create:ia,destroy:aa,getPlayerTarget:pa,getPlayerCameraTarget:Ia,isStreamedIn:na,getVirtualWorld:sa,setVirtualWorld:la,applyAnimation:oa,clearAnimations:_a,getFacingAngle:ca,setFacingAngle:da,getPos:ha,setPos:ua,getHealth:ga,setHealth:ma,isInvulnerable:fa,setInvulnerable:Pa,getAnimation:ya}}x.onExit(({next:e})=>(j.getInstances().forEach(t=>t.destroy()),ue.clear(),e()));const[aS]=m({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:j.getInstance(e),forPlayer:c.getInstance(t)}}}),[rS]=m({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:j.getInstance(e),forPlayer:c.getInstance(t)}}}),[nS]=m({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),actor:j.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),sS=Object.freeze({onStreamIn:aS,onStreamOut:rS,onPlayerGiveDamage:nS});class te{sourceInfo=null;_id=f.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===f.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Invalid id");const i=te.getInstance(t);if(i)return i;this._id=t,Ve.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==f.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot create again");if(!this.sourceInfo)throw new Error("[Streamer3DTextLabel]: Cannot 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:g,color:I,drawDistance:S,x:C,y:w,z:F,extended:$}=this.sourceInfo;return t??=l.PLAYER_ID,i??=l.VEHICLE_ID,r??=V.TEXT_3D_LABEL_SD,a??=!1,d??=0,$?(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=te.__inject__.createEx(g,N(I),C,w,F,S,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=te.__inject__.create(h||"utf8",g,N(I),C,w,F,S,t,i,a,n,s,o,r,_,d)),Ve.set(this.id,this),this}destroy(){if(this.id===f.INVALID_ID&&!D.skip)throw new Error("[Streamer3DTextLabel]: Cannot destroy before create");return D.skip||te.__inject__.destroy(this.id),Ve.delete(this.id),this._id=f.INVALID_ID,this}isValid(){return D.skip&&this.id!==f.INVALID_ID?!0:te.isValid(this.id)}getColor(){if(this.id===f.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot get color before create");return this.sourceInfo?this.sourceInfo.color:A.getIntData(T.TEXT_3D_LABEL,this._id,oe.COLOR)}getCharset(){if(this.id===f.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot get charset before create");return this.sourceInfo?.charset}getText(){return te.__inject__.getText(this.id,this.sourceInfo?.charset||"utf8")}updateText(t,i,a){if(this.id===f.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot update text before create");let r="";return this.sourceInfo&&(r=a||this.sourceInfo.charset||"utf8",this.sourceInfo.charset=r),te.__inject__.updateText(this.id,N(t),i,r)}toggleCallbacks(t=!0){if(this.id===f.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot toggle callbacks before create");return A.toggleItemCallbacks(T.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id===f.INVALID_ID?!1:A.isToggleItemCallbacks(T.TEXT_3D_LABEL,this.id)}setOffsets(t,i,a){if(this.id===f.INVALID_ID)return 0;const r=A.setFloatData(T.TEXT_3D_LABEL,this.id,oe.ATTACH_OFFSET_X,t);return A.setFloatData(T.TEXT_3D_LABEL,this.id,oe.ATTACH_OFFSET_Y,i),A.setFloatData(T.TEXT_3D_LABEL,this.id,oe.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===f.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot attachToPlayer before created");const n=typeof t=="number"?t:t.id,s=A.setIntData(T.TEXT_3D_LABEL,this.id,oe.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===f.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot attachToVehicle before created");const n=typeof t=="number"?t:t.id,s=A.setIntData(T.TEXT_3D_LABEL,this.id,oe.ATTACHED_VEHICLE,n);return n!==l.VEHICLE_ID&&this.setOffsets(i,a,r),this.sourceInfo&&(this.sourceInfo.attachedVehicle=n),s}static isValid=ii;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.TEXT_3D_LABEL,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Ve.get(t)}static getInstances(){return[...Ve.values()]}static __inject__={create:kI,createEx:BI,getText:HI,updateText:xI,destroy:ta,isValid:ii}}x.onExit(({next:e})=>(te.getInstances().forEach(t=>t.destroy()),Ve.clear(),e()));const[lS,oS]=m({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[_S,cS]=m({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});be(({type:e,id:t,forPlayer:i,next:a})=>e===T.TEXT_3D_LABEL?oS(i,te.getInstance(t)):a()),we(({type:e,id:t,forPlayer:i,next:a})=>e===T.TEXT_3D_LABEL?cS(i,te.getInstance(t)):a());const dS=Object.freeze({onStreamIn:lS,onStreamOut:_S});class v{sourceInfo=null;_id=f.INVALID_ID;get type(){return this.sourceInfo?.type??void 0}get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===f.INVALID_ID)throw new Error("[StreamerArea]: Invalid id");const i=v.getInstance(t);if(i)return i;this._id=t,Ce.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==f.INVALID_ID)throw new Error("[StreamerArea]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerArea]: Cannot 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:g,maxZ:I}=this.sourceInfo;this._id=v.__inject__.createCuboidEx(o,_,d,h,g,I,t,i,a,r)}else if(n==="cylinder"){const{x:o,y:_,minZ:d,maxZ:h,size:g}=this.sourceInfo;if(g<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=v.__inject__.createCylinderEx(o,_,d,h,g,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]: Cannot 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:g,maxZ:I}=this.sourceInfo;this._id=v.__inject__.createCuboid(o,_,d,h,g,I,t,i,a,r)}else if(n==="cylinder"){const{x:o,y:_,minZ:d,maxZ:h,size:g}=this.sourceInfo;if(g<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=v.__inject__.createCylinder(o,_,d,h,g,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]: Cannot 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 Ce.set(this._id,this),this}destroy(){if(this.id===f.INVALID_ID&&!D.skip)throw new Error("[StreamerArea]: Cannot destroy the area before create");return D.skip||v.__inject__.destroy(this.id),Ce.delete(this.id),this._id=f.INVALID_ID,this}isValid(){return D.skip&&this.id!==f.INVALID_ID?!0:v.isValid(this.id)}getType(){if(this.id!==f.INVALID_ID)throw new Error("[StreamerArea]: Cannot get type before create");return v.__inject__.getType(this.id)}getPolygonPoints(){return v.__inject__.getPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==f.INVALID_ID)throw new Error("[StreamerArea]: Cannot 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===f.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===f.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=>Ce.get(i)):[]}static getPlayerAreasNumber(t){return v.__inject__.getPlayerAreasNumber(t.id)}isPointIn(t,i,a){return this.id===f.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===f.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===f.INVALID_ID||t.id===f.INVALID_ID)throw new Error("[StreamerArea]: Cannot toggle attach to object before create");return v.__inject__.attachToObject(this.id,t.id,st.DYNAMIC,l.PLAYER_ID,i,a,r)}attachToPlayer(t,i=0,a=0,r=0){if(this.id===f.INVALID_ID||t.id===l.PLAYER_ID)throw new Error("[StreamerArea]: Cannot 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===f.INVALID_ID||t.id===l.VEHICLE_ID)throw new Error("[StreamerArea]: Cannot toggle attach to vehicle before create");return v.__inject__.attachToVehicle(this.id,t.id,i,a,r)}toggleSpectateMode(t){if(this.id===f.INVALID_ID)throw new Error("[StreamerArea]: Cannot toggle spectate mode before create");return v.__inject__.toggleSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===f.INVALID_ID?!1:v.__inject__.isToggleSpectateMode(this.id)}toggleCallbacks(t=!0){if(this.id===f.INVALID_ID)throw new Error("[StreamerArea]: Cannot toggle callbacks before create");return A.toggleItemCallbacks(T.AREA,this.id,t)}isToggleCallbacks(){return this.id===f.INVALID_ID?!1:A.isToggleItemCallbacks(T.AREA,this.id)}static isValid=va;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.AREA,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Ce.get(t)}static getInstances(){return[...Ce.values()]}static __inject__={createCircleEx:fr,createCuboidEx:Cr,createCylinderEx:pr,createPolygonEx:Sr,createRectangleEx:yr,createSphereEx:Ir,createCircle:Ca,createCuboid:Na,createCylinder:Sa,createPolygon:Da,createRectangle:Aa,createSphere:Ea,destroy:Ta,getType:ba,getPolygonPoints:wa,getPolygonNumberPoints:ai,isPlayerIn:La,isPlayerInAny:Ra,isAnyPlayerIn:Oa,isAnyPlayerInAny:Ga,getPlayerAreas:ja,getPlayerAreasNumber:ri,isPointIn:Fa,isPointInAny:Ma,isLineIn:Va,isLineInAny:ka,getForPoint:Ba,getNumberForPoint:ni,getForLine:xa,getNumberForLine:si,attachToObject:Ha,attachToPlayer:Wa,attachToVehicle:Ua,toggleSpectateMode:Ka,isToggleSpectateMode:Xa}}x.onExit(({next:e})=>(v.getInstances().forEach(t=>t.destroy()),Ce.clear(),e()));const[hS,uS]=m({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[gS,mS]=m({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});be(({type:e,id:t,forPlayer:i,next:a})=>e===T.AREA?uS(i,v.getInstance(t)):a()),we(({type:e,id:t,forPlayer:i,next:a})=>e===T.AREA?mS(i,v.getInstance(t)):a());const[PS]=m({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),area:v.getInstance(t)}}}),[fS]=m({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),area:v.getInstance(t)}}}),pS=Object.freeze({onStreamIn:hS,onStreamOut:gS,onPlayerEnter:PS,onPlayerLeave:fS});class u{_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=u.getInstance(this._id);if(i)return i;pe.set(this._id,this)}return this}create(){if(this.id!==l.NPC_ID)throw new Error("[Npc]: Cannot create again");return this._id=u.__inject__.create(this._name),this._id!==l.NPC_ID&&(this.getPlayer()||new c(this._id),pe.set(this._id,this)),this}destroy(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot destroy before create");return D.skip||u.__inject__.destroy(this._id),pe.delete(this._id),this._id=l.NPC_ID,this}getPlayer(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getPlayer before create");return c.getInstance(this._id)}getName(){if(this._id===l.NPC_ID)throw new Error("[Npc]: Cannot 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:u.isValid(this._id)}spawn(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot spawn before create");return u.__inject__.spawn(this._id),this}respawn(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot respawn before create");return u.__inject__.respawn(this._id),this}setPos(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setPos before create");return u.__inject__.setPos(this._id,t,i,a),this}setRot(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setRot before create");return u.__inject__.setRot(this._id,t,i,a),this}getRot(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getRot before create");return u.__inject__.getRot(this._id)}setFacingAngle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setFacingAngle before create");return u.__inject__.setFacingAngle(this._id,t),this}getFacingAngle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getFacingAngle before create");return u.__inject__.getFacingAngle(this._id)}setVirtualWorld(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVirtualWorld before create");return u.__inject__.setVirtualWorld(this._id,t),this}getVirtualWorld(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getVirtualWorld before create");return u.__inject__.getVirtualWorld(this._id)}move(t,i,a,r=ge.AUTO,n=Ge.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot move before create");return u.__inject__.move(this._id,t,i,a,r,n)}moveToPlayer(t,i=ge.AUTO,a=Ge.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot moveToPlayer before create");return u.__inject__.moveToPlayer(this._id,t.id,i,a)}stopMove(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopMove before create");return u.__inject__.stopMove(this._id),this}isMoving(){return this.id===l.NPC_ID?!1:u.__inject__.isMoving(this._id)}isMovingToPlayer(t){return this.id===l.NPC_ID?!1:u.__inject__.isMovingToPlayer(this._id,t.id)}setSkin(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSkin before create");return u.__inject__.setSkin(this._id,t),this}getSkin(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getSkin before create");return u.__inject__.getSkin(this._id)}isStreamedIn(t){return this.id===l.NPC_ID?!1:u.__inject__.isStreamedIn(this._id,t.id)}isAnyStreamedIn(){return this.id===l.NPC_ID?!1:u.__inject__.isAnyStreamedIn(this._id)}setInterior(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setInterior before create");return u.__inject__.setInterior(this._id,t),this}getInterior(){return this.id===l.NPC_ID?0:u.__inject__.getInterior(this._id)}setHealth(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setHealth before create");return u.__inject__.setHealth(this._id,t),this}getHealth(){return this.id===l.NPC_ID?0:u.__inject__.getHealth(this._id)}setArmour(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setArmour before create");return u.__inject__.setArmour(this._id,t),this}getArmour(){return this.id===l.NPC_ID?0:u.__inject__.getArmour(this._id)}isDead(){return this.id===l.NPC_ID?!1:u.__inject__.isDead(this._id)}applyAnimation(t,i,a,r,n,s,o,_,d){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot applyAnimation before create");return u.__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]: Cannot setWeapon before create");return u.__inject__.setWeapon(this._id,t),this}getWeapon(){return this.id===l.NPC_ID?0:u.__inject__.getWeapon(this._id)}setAmmo(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAmmo before create");return u.__inject__.setAmmo(this._id,t),this}getAmmo(){return this.id===l.NPC_ID?0:u.__inject__.getAmmo(this._id)}setKeys(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setKeys before create");return u.__inject__.setKeys(this._id,t,i,a),this}getKeys(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getKeys before create");return u.__inject__.getKeys(this._id)}setWeaponSkillLevel(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponSkillLevel before create");return u.__inject__.setWeaponSkillLevel(this._id,t,i),this}getWeaponSkillLevel(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getWeaponSkillLevel before create");return u.__inject__.getWeaponSkillLevel(this._id,t)}meleeAttack(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot meleeAttack before create");return u.__inject__.meleeAttack(this._id,t,i),this}stopMeleeAttack(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopMeleeAttack before create");return u.__inject__.stopMeleeAttack(this._id),this}isMeleeAttacking(){return this.id===l.NPC_ID?!1:u.__inject__.isMeleeAttacking(this._id)}setFightingStyle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setFightingStyle before create");return u.__inject__.setFightingStyle(this._id,t),this}getFightingStyle(){return this.id===l.NPC_ID?ut.NORMAL:u.__inject__.getFightingStyle(this._id)}enableReloading(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot enableReloading before create");return u.__inject__.enableReloading(this._id,t),this}isReloadEnabled(){return this.id===l.NPC_ID?!1:u.__inject__.isReloadEnabled(this._id)}isReloading(){return this.id===l.NPC_ID?!1:u.__inject__.isReloading(this._id)}enableInfiniteAmmo(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot enableInfiniteAmmo before create");return u.__inject__.enableInfiniteAmmo(this._id,t),this}isInfiniteAmmoEnabled(){return this.id===l.NPC_ID?!1:u.__inject__.isInfiniteAmmoEnabled(this._id)}setWeaponState(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponState before create");return u.__inject__.setWeaponState(this._id,t)}getWeaponState(){return this.id===l.NPC_ID?mt.UNKNOWN:u.__inject__.getWeaponState(this._id)}setAmmoInClip(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAmmoInClip before create");return u.__inject__.setAmmoInClip(this._id,t),this}getAmmoInClip(){return this.id===l.NPC_ID?0:u.__inject__.getAmmoInClip(this._id)}shoot(t,i,a,r,n,s,o,_,d,h,g=Je.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot shoot before create");return u.__inject__.shoot(this._id,t,i,a,r,n,s,o,_,d,h,g),this}isShooting(){return this.id===l.NPC_ID?!1:u.__inject__.isShooting(this._id)}aimAt(t,i,a,r,n,s,o,_,d,h=Je.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot aimAt before create");return u.__inject__.aimAt(this._id,t,i,a,r,n,s,o,_,d,h),this}aimAtPlayer(t,i,a,r,n,s,o,_,d,h,g=Je.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot aimAtPlayer before create");return u.__inject__.aimAtPlayer(this._id,t.id,i,a,r,n,s,o,_,d,h,g),this}stopAim(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopAim before create");return u.__inject__.stopAim(this._id),this}isAiming(){return this.id===l.NPC_ID?!1:u.__inject__.isAiming(this._id)}isAimingAtPlayer(t){return this.id===l.NPC_ID?!1:u.__inject__.isAimingAtPlayer(this._id,t.id)}setWeaponAccuracy(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponAccuracy before create");return u.__inject__.setWeaponAccuracy(this._id,t,i),this}getWeaponAccuracy(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponAccuracy(this._id,t)}setWeaponReloadTime(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponReloadTime before create");return u.__inject__.setWeaponReloadTime(this._id,t,i)}getWeaponReloadTime(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponReloadTime(this._id,t)}getWeaponActualReloadTime(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponActualReloadTime(this._id,t)}setWeaponShootTime(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponShootTime before create");return u.__inject__.setWeaponShootTime(this._id,t,i)}getWeaponShootTime(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponShootTime(this._id,t)}setWeaponClipSize(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponClipSize before create");return u.__inject__.setWeaponClipSize(this._id,t,i)}getWeaponClipSize(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponClipSize(this._id,t)}getWeaponActualClipSize(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponActualClipSize(this._id,t)}enterVehicle(t,i,a=ge.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot enterVehicle before create");return u.__inject__.enterVehicle(this._id,t.id,i,a),this}exitVehicle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot exitVehicle before create");return u.__inject__.exitVehicle(this._id),this}putInVehicle(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot putInVehicle before create");return u.__inject__.putInVehicle(this._id,t.id,i)}removeFromVehicle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot removeFromVehicle before create");return u.__inject__.removeFromVehicle(this._id)}getVehicle(){return p.getInstance(this.getVehicleID())}getVehicleID(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getVehicle before create");return u.__inject__.getVehicle(this._id)}getVehicleSeat(){return this.id===l.NPC_ID?0:u.__inject__.getVehicleSeat(this._id)}getEnteringVehicle(){return p.getInstance(this.getEnteringVehicleId())}getEnteringVehicleId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getEnteringVehicle before create");return u.__inject__.getEnteringVehicle(this._id)}getEnteringVehicleSeat(){return this.id===l.NPC_ID?0:u.__inject__.getEnteringVehicleSeat(this._id)}isEnteringVehicle(){return this.id===l.NPC_ID?!1:u.__inject__.isEnteringVehicle(this._id)}useVehicleSiren(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot useVehicleSiren before create");return u.__inject__.useVehicleSiren(this._id,t)}isVehicleSirenUsed(){return this.id===l.NPC_ID?!1:u.__inject__.isVehicleSirenUsed(this._id)}setVehicleHealth(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVehicleHealth before create");return u.__inject__.setVehicleHealth(this._id,t)}getVehicleHealth(){return this.id===l.NPC_ID?0:u.__inject__.getVehicleHealth(this._id)}setVehicleHydraThrusters(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVehicleHydraThrusters before create");return u.__inject__.setVehicleHydraThrusters(this._id,t)}getVehicleHydraThrusters(){return this.id===l.NPC_ID?0:u.__inject__.getVehicleHydraThrusters(this._id)}setVehicleGearState(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVehicleGearState before create");return u.__inject__.setVehicleGearState(this._id,t)}getVehicleGearState(){return this.id===l.NPC_ID?0:u.__inject__.getVehicleGearState(this._id)}setVehicleTrainSpeed(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVehicleTrainSpeed before create");return u.__inject__.setVehicleTrainSpeed(this._id,t)}getVehicleTrainSpeed(){return this.id===l.NPC_ID?0:u.__inject__.getVehicleTrainSpeed(this._id)}resetAnimation(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot resetAnimation before create");return u.__inject__.resetAnimation(this._id)}setAnimation(t,i,a,r,n,s,o){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAnimation before create");return u.__inject__.setAnimation(this._id,t,i,a,r,n,s,o)}getAnimation(){return this.id===l.NPC_ID?0:u.__inject__.getAnimation(this._id)}clearAnimations(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot clearAnimations before create");return u.__inject__.clearAnimations(this._id)}setSpecialAction(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSpecialAction before create");return u.__inject__.setSpecialAction(this._id,t)}getSpecialAction(){return this.id===l.NPC_ID?0:u.__inject__.getSpecialAction(this._id)}startPlayback(t,i,a,r,n,s,o,_){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot startPlayback before create");return u.__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]: Cannot startPlaybackEx before create");return u.__inject__.startPlaybackEx(this._id,t.id,i,a,r,n,s,o,_)}stopPlayback(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopPlayback before create");return u.__inject__.stopPlayback(this._id)}pausePlayback(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot pausePlayback before create");return u.__inject__.pausePlayback(this._id,t)}isPlayingPlayback(){return this.id===l.NPC_ID?!1:u.__inject__.isPlayingPlayback(this._id)}isPlaybackPaused(){return this.id===l.NPC_ID?!1:u.__inject__.isPlaybackPaused(this._id)}playNode(t,i=ge.AUTO,a=Ge.AUTO,r=0,n=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot playNode before create");return u.__inject__.playNode(this._id,t.id,i,a,r,n)}stopPlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopPlayingNode before create");return u.__inject__.stopPlayingNode(this._id)}pausePlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot pausePlayingNode before create");return u.__inject__.pausePlayingNode(this._id)}resumePlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot resumePlayingNode before create");return u.__inject__.resumePlayingNode(this._id)}isPlayingNodePaused(){return this.id===l.NPC_ID?!1:u.__inject__.isPlayingNodePaused(this._id)}isPlayingNode(){return this.id===l.NPC_ID?!1:u.__inject__.isPlayingNode(this._id)}changeNode(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot changeNode before create");return u.__inject__.changeNode(this._id,t.id,i)}updateNodePoint(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot updateNodePoint before create");return u.__inject__.updateNodePoint(this._id,t)}setInvulnerable(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setInvulnerable before create");return u.__inject__.setInvulnerable(this._id,t)}isInvulnerable(){return this.id===l.NPC_ID?!1:u.__inject__.isInvulnerable(this._id)}setSurfingOffsets(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingOffsets before create");return u.__inject__.setSurfingOffsets(this._id,t,i,a)}getSurfingOffsets(){return u.__inject__.getSurfingOffsets(this._id)}setSurfingVehicle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingVehicle before create");return u.__inject__.setSurfingVehicle(this._id,t.id)}getSurfingVehicle(){return p.getInstance(this.getSurfingVehicleId())}getSurfingVehicleId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getSurfingVehicle before create");return u.__inject__.getSurfingVehicle(this._id)}setSurfingObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingObject before create");return t.isGlobal()?u.__inject__.setSurfingObject(this._id,t.id):0}getSurfingObject(){return y.getInstance(this.getSurfingObjectId())}getSurfingObjectId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getSurfingObject before create");return u.__inject__.getSurfingObject(this._id)}setSurfingPlayerObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingPlayerObject before create");return t.isGlobal()?0:this._setSurfingPlayerObject(t.id)}getSurfingPlayerObject(){return y.getInstance(this.getSurfingPlayerObjectId(),this.getPlayer())}_setSurfingPlayerObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingPlayerObject before create");return u.__inject__.setSurfingPlayerObject(this._id,t)}getSurfingPlayerObjectId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getSurfingPlayerObject before create");return u.__inject__.getSurfingPlayerObject(this._id)}resetSurfingData(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot resetSurfingData before create");return u.__inject__.resetSurfingData(this._id)}setSurfingDynamicObject(t){return this._setSurfingPlayerObject(A.getItemInternalID(new c(this._id),T.OBJECT,t.id))}getSurfingDynamicObject(){return O.getInstance(this.getSurfingDynamicObjectId())}getSurfingDynamicObjectId(){return A.getItemStreamerID(new c(this._id),T.OBJECT,this.getSurfingPlayerObjectId())}isSpawned(){return this.id===l.NPC_ID?!1:u.__inject__.isSpawned(this._id)}kill(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot kill before create");return u.__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]: Cannot setVelocity before create");return u.__inject__.setVelocity(this._id,t,i,a)}getVelocity(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getVelocity before create");return u.__inject__.getVelocity(this._id)}getPlayerAimingAt(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getPlayerAimingAt before create");const t=u.__inject__.getPlayerAimingAt(this._id);return t!==l.PLAYER_ID?c.getInstance(t):null}getPlayerMovingTo(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getPlayerMovingTo before create");const t=u.__inject__.getPlayerMovingTo(this._id);return t!==l.PLAYER_ID?c.getInstance(t):null}getPosMovingTo(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getPosMovingTo before create");return u.__inject__.getPosMovingTo(this._id)}getCustomSkin(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getCustomSkin before create");return u.__inject__.getCustomSkin(this._id)}setAngleToPos(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAngleToPos before create");return u.__inject__.setAngleToPos(this._id,t,i,a)}setAngleToPlayer(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAngleToPlayer before create");return u.__inject__.setAngleToPlayer(this._id,t.id)}static startRecordingPlayerData(t,i,a){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");u.__inject__.startRecordingPlayerData(t.id,i,a),t[k].isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)throw new Error("[NpcFunc]: It should be started before stop");u.__inject__.stopRecordingPlayerData(t.id),t[k].isRecording=!1}static isValid(t){return u.__inject__.isValid(t)}static getInstance(t){return pe.get(t)}static getInstances(){return[...pe.values()]}static __inject__={create:Kc,destroy:Xc,isValid:Zc,spawn:Yc,respawn:zc,setPos:Jc,setRot:$c,getRot:Qc,setFacingAngle:qc,getFacingAngle:ed,setVirtualWorld:td,getVirtualWorld:id,move:ad,moveToPlayer:rd,stopMove:nd,isMoving:sd,isMovingToPlayer:ld,setSkin:od,getSkin:_d,isStreamedIn:cd,isAnyStreamedIn:dd,setInterior:hd,getInterior:ud,setHealth:gd,getHealth:md,setArmour:Pd,getArmour:fd,isDead:pd,applyAnimation:Id,setWeapon:yd,getWeapon:Cd,setAmmo:Sd,getAmmo:Ed,setKeys:Ad,getKeys:Nd,setWeaponSkillLevel:Dd,getWeaponSkillLevel:Td,meleeAttack:vd,stopMeleeAttack:bd,isMeleeAttacking:wd,setFightingStyle:Ld,getFightingStyle:Rd,enableReloading:Od,isReloadEnabled:Gd,isReloading:jd,enableInfiniteAmmo:Fd,isInfiniteAmmoEnabled:Md,setWeaponState:Vd,getWeaponState:kd,setAmmoInClip:Bd,getAmmoInClip:xd,shoot:Hd,isShooting:Wd,aimAt:Ud,aimAtPlayer:Kd,stopAim:Xd,isAiming:Zd,isAimingAtPlayer:Yd,setWeaponAccuracy:zd,getWeaponAccuracy:Jd,setWeaponReloadTime:$d,getWeaponReloadTime:Qd,getWeaponActualReloadTime:qd,setWeaponShootTime:eh,getWeaponShootTime:th,setWeaponClipSize:ih,getWeaponClipSize:ah,getWeaponActualClipSize:rh,enterVehicle:nh,exitVehicle:sh,putInVehicle:lh,removeFromVehicle:oh,getVehicle:_h,getVehicleSeat:ch,getEnteringVehicle:dh,getEnteringVehicleSeat:hh,isEnteringVehicle:uh,useVehicleSiren:gh,isVehicleSirenUsed:mh,setVehicleHealth:Ph,getVehicleHealth:fh,setVehicleHydraThrusters:ph,getVehicleHydraThrusters:Ih,setVehicleGearState:yh,getVehicleGearState:Ch,setVehicleTrainSpeed:Sh,getVehicleTrainSpeed:Eh,resetAnimation:Ah,setAnimation:Nh,getAnimation:Dh,clearAnimations:Th,setSpecialAction:vh,getSpecialAction:bh,startPlayback:wh,startPlaybackEx:Lh,stopPlayback:Rh,pausePlayback:Oh,isPlayingPlayback:Gh,isPlaybackPaused:jh,playNode:Fh,stopPlayingNode:Mh,pausePlayingNode:Vh,resumePlayingNode:kh,isPlayingNodePaused:Bh,isPlayingNode:xh,changeNode:Hh,updateNodePoint:Wh,setInvulnerable:Uh,isInvulnerable:Kh,setSurfingOffsets:Xh,getSurfingOffsets:Zh,setSurfingVehicle:Yh,getSurfingVehicle:zh,setSurfingObject:Jh,getSurfingObject:$h,setSurfingPlayerObject:Qh,getSurfingPlayerObject:qh,resetSurfingData:eu,isSpawned:tu,kill:iu,setVelocity:au,getVelocity:ru,getPlayerAimingAt:nu,getPlayerMovingTo:su,getPosMovingTo:lu,getCustomSkin:ou,setAngleToPos:_u,setAngleToPlayer:cu,startRecordingPlayerData:U_,stopRecordingPlayerData:K_}}class Ze{_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,he.has(this._id))return he.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="",he.delete(t)),i}return this._id=l.RECORD_ID,this._filePath="",he.delete(t),!0}isValid(){return D.skip&&this._id!==l.RECORD_ID?!0:Ze.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&&he.clear(),t}static getInstance(t){return he.get(t)}static getInstances(){return[...he.values()]}}class Xe{_id=l.NODE_ID;get id(){return this._id}constructor(t){if(this._id=t,ne.has(this._id))return ne.get(this._id);ne.set(this._id,this)}open(){samp.callNative("NPC_OpenNode","i",this._id)&&!ne.has(this._id)&&ne.set(this._id,this)}close(){if(!D.skip){const t=!!samp.callNative("NPC_CloseNode","i",this._id);return t&&(ne.delete(this._id),this._id=l.NODE_ID),t}return ne.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 ne.get(t)}static getInstances(){return[...ne.values()]}}class Ye{_id=l.PATH_ID;get id(){return this._id}constructor(t){if(typeof t<"u"){if(Ie.has(t))return Ie.get(t);this._id=t}else this._id=samp.callNative("NPC_CreatePath","")}destroy(){const t=!!samp.callNative("NPC_DestroyPath","i",this._id);return t&&(this._id=l.PATH_ID,Ie.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 Ye.isValid(this._id)}getCurrentPointIndex(){return samp.callNative("NPC_GetCurrentPathPointIndex","i",this._id)}move(t=ge.AUTO,i=Ge.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&&Ie.clear(),t}static getCount(){return samp.callNative("NPC_GetPathCount","")}static isValid(t){return!!samp.callNative("NPC_IsValidPath","i",t)}static getInstance(t){return Ie.get(t)}static getInstances(){return[...Ie.values()]}}x.onExit(({next:e})=>(u.getInstances().forEach(t=>{t.isValid()&&t.destroy()}),pe.clear(),Xe.getInstances().forEach(t=>{t.isOpen()&&t.close()}),ne.clear(),Ye.destroyAll(),Ie.clear(),Ze.getInstances().forEach(t=>{t.isValid()&&t.unload()}),he.clear(),e()));const[IS]=m({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:E.decodeFromBuf(t)}}}),[yS]=m({name:"OnNPCFinishMove",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}}}),[CS]=m({name:"OnNPCCreate",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}}}),[SS]=m({name:"OnNPCDestroy",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}},afterEach({npc:e}){pe.delete(e.id)}}),[ES]=m({name:"OnNPCWeaponStateChange",identifier:"iii",beforeEach(e,t,i){return{npc:u.getInstance(e),newState:t,oldState:i}}}),[AS]=m({name:"OnNPCTakeDamage",identifier:"iiiii",beforeEach(e,t,i,a,r){return{npc:u.getInstance(e),damager:c.getInstance(t),damage:i,weapon:a,bodyPart:r}}}),[NS]=m({name:"OnNPCGiveDamage",identifier:"iiiii",beforeEach(e,t,i,a,r){return{npc:u.getInstance(e),damager:c.getInstance(t),damage:i,weapon:a,bodyPart:r}}}),[DS]=m({name:"OnNPCDeath",identifier:"iii",beforeEach(e,t,i){const a=c.getInstance(t)||l.PLAYER_ID;return{npc:u.getInstance(e),killer:a,reason:i}}}),[TS]=m({name:"OnNPCSpawn",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}}}),[vS]=m({name:"OnNPCRespawn",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}}}),[bS]=m({name:"OnNPCPlaybackStart",identifier:"ii",beforeEach(e,t){return{npc:u.getInstance(e),record:Ze.getInstance(t),recordId:t}}}),[wS]=m({name:"OnNPCPlaybackEnd",identifier:"ii",beforeEach(e,t){return{npc:u.getInstance(e),record:Ze.getInstance(t),recordId:t}}}),[LS]=m({name:"OnNPCWeaponShot",identifier:"iiiifff",beforeEach(e,t,i,a,r,n,s){return{npc:u.getInstance(e),weapon:t,hitType:i,hitId:a,fX:r,fY:n,fZ:s}}}),[RS]=m({name:"OnNPCFinishNodePoint",identifier:"iii",beforeEach(e,t,i){return{npc:u.getInstance(e),node:Xe.getInstance(t),nodeId:t,pointId:i}}}),[OS]=m({name:"OnNPCFinishNode",identifier:"ii",beforeEach(e,t){return{npc:u.getInstance(e),node:Xe.getInstance(t),nodeId:t}}}),[GS]=m({name:"OnNPCChangeNode",identifier:"iii",beforeEach(e,t,i){return{npc:u.getInstance(e),newNode:Xe.getInstance(t),oldNode:Xe.getInstance(i),newNodeId:t,oldNodeId:i}}}),[jS]=m({name:"OnNPCFinishMovePath",identifier:"ii",beforeEach(e,t){return{npc:u.getInstance(e),path:Ye.getInstance(t),pathId:t}}}),[FS]=m({name:"OnNPCFinishMovePathPoint",identifier:"iii",beforeEach(e,t,i){return{npc:u.getInstance(e),path:Ye.getInstance(t),pathId:t,pointIndex:i}}}),MS=Object.freeze({onClientMessage:IS,onFinishMove:yS,onCreate:CS,onDestroy:SS,onSpawn:TS,onRespawn:vS,onWeaponStateChange:ES,onTakeDamage:AS,onGiveDamage:NS,onDeath:DS,onPlaybackStart:bS,onPlaybackEnd:wS,onWeaponShot:LS,onFinishNodePoint:RS,onFinishNode:OS,onChangeNode:GS,onFinishMovePath:jS,onFinishMovePathPoint:FS});class Q{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return Q.__inject__.getNetworkStats()}static getPlayerNetworkStats(t){return Q.__inject__.getPlayerNetworkStats(t.id)}static getBytesReceived(t){return Q.__inject__.getBytesReceived(t.id)}static getBytesSent(t){return Q.__inject__.getBytesSent(t.id)}static getConnectionStatus(t){return Q.__inject__.getConnectionStatus(t.id)}static getConnectedTime(t){return Q.__inject__.getConnectedTime(t.id)}static getIpPort(t){return Q.__inject__.getIpPort(t.id)}static getMessagesReceived(t){return Q.__inject__.getMessagesReceived(t.id)}static getMessagesRecvPerSecond(t){return Q.__inject__.getMessagesRecvPerSecond(t.id)}static getMessagesSent(t){return Q.__inject__.getMessagesSent(t.id)}static getPacketLossPercent(t){return Q.__inject__.getPacketLossPercent(t.id)}static __inject__={getNetworkStats:Ol,getPlayerNetworkStats:Rl,getBytesReceived:Cl,getBytesSent:El,getConnectionStatus:Dl,getConnectedTime:Il,getIpPort:Tl,getMessagesReceived:yl,getMessagesRecvPerSecond:Al,getMessagesSent:Sl,getPacketLossPercent:Nl}}class Le{_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){Le.__inject__.hideForAll(t)}static has(t,i){return Le.__inject__.has(t.id,i)}forAll(t="win1252"){Le.__inject__.forAll(E.encodeToBuf(E.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,i="win1252"){Le.__inject__.forPlayer(t.id,E.encodeToBuf(E.convertSpecialChar(this.text),i),this.time,this.style)}hideForPlayer(t){return Le.__inject__.hideForPlayer(t.id,this.style)}static __inject__={hideForAll:Ms,has:fo,forAll:Fs,forPlayer:Po,hideForPlayer:Io}}class B{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=B.getInstance(this._id);if(i)return i;Fe.set(this.id,this)}else this.sourceInfo=t}create(){if(!this.sourceInfo)throw new Error("[Menu]: Cannot 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=B.__inject__.create(t,i,a,r,o,_,s),this.id===l.MENU||B.getInstances().length===H.MAX_MENUS)throw new Error("[Menu]: Cannot create menu");return Fe.set(this._id,this),this}destroy(){if(this._id===l.MENU)throw new Error("[Menu]: Cannot destroy before create");return D.skip||B.__inject__.destroy(this.id),Fe.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 B.__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 B.__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 B.__inject__.disable(this.id),this}disableRow(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot disable row before create");return B.__inject__.disableRow(this.id,t)}isValid(){return D.skip&&this.id!==l.MENU?!0:B.isValid(this.id)}showForPlayer(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot show menu before create");return B.__inject__.showForPlayer(this.id,t.id)}hideForPlayer(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot hide menu before create");return B.__inject__.hideForPlayer(this.id,t.id)}isDisabled(){return this._id===l.MENU?!1:B.__inject__.isDisabled(this.id)}isRowDisabled(t){return this._id===l.MENU?!1:B.__inject__.isRowDisabled(this.id,t)}getItems(t){return this._id===l.MENU?0:B.__inject__.getItems(this.id,t)}getPos(){return B.__inject__.getPos(this.id)}getColumnWidth(){return B.__inject__.getColumnWidth(this.id)}getColumnHeader(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot get column header before create");return B.__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 B.__inject__.getItem(this.id,t,i,this.sourceInfo?.charset||"ISO-8859-1")}static isValid(t){return B.__inject__.isValid(t)}static getInstance(t){return Fe.get(t)}static getInstances(){return[...Fe.values()]}static getInstanceByPlayer(t){return this.getInstance(Ni(t.id))}static __inject__={create:ay,destroy:im,addItem:ry,setColumnHeader:ny,disable:sm,disableRow:lm,isValid:nm,showForPlayer:am,hideForPlayer:rm,isDisabled:$g,isRowDisabled:Qg,getItems:qg,getPos:em,getColumnWidth:tm,getColumnHeader:ty,getItem:iy,getPlayerMenu:Ni}}x.onExit(({next:e})=>(B.getInstances().forEach(t=>t.destroy()),Fe.clear(),e()));const[VS]=m({name:"OnPlayerExitedMenu",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[kS]=m({name:"OnPlayerSelectedMenuRow",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e),a=B.getInstanceByPlayer(i);return{player:i,menu:a,row:t}}}),BS=Object.freeze({onPlayerExited:VS,onPlayerSelectedRow:kS});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()?je.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]: Cannot create with only id");if(this.id!==l.GANG_ZONE)throw new Error("[GangZone]: Cannot 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]: Cannot 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]: Cannot create gangZone");je.set(this.id,this)}return this}destroy(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Cannot destroy before create");const t=this.getPlayer();if(!t)D.skip||b.__inject__.destroy(this.id),je.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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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 je.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()||[]]:[...je.values()]}static getPlayersInstances(){return Array.from(Z.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:xm,destroy:Hm,showForAll:Um,hideForAll:Xm,flashForAll:Ym,stopFlashForAll:Jm,getPos:km,useCheck:Bm,createPlayer:$m,destroyPlayer:Qm,showPlayer:qm,showForPlayer:Wm,hidePlayer:eP,hideForPlayer:Km,flashPlayer:tP,flashForPlayer:Zm,stopFlashPlayer:iP,stopFlashForPlayer:zm,getPosPlayer:_P,useCheckPlayer:cP,isPlayerIn:Gm,isPlayerInPlayer:rP,isVisibleForPlayer:jm,isVisiblePlayer:nP,getColorForPlayer:Fm,getColorPlayer:sP,getFlashColorForPlayer:Mm,getFlashColorPlayer:lP,isFlashingForPlayer:Vm,isFlashingPlayer:oP,isValidPlayer:aP,isValidGlobal:Om}}Ke.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()),je.clear(),Z.clear(),e()));const[xS]=m({name:"OnPlayerEnterGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[HS]=m({name:"OnPlayerLeaveGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[WS]=m({name:"OnPlayerEnterPlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),[US]=m({name:"OnPlayerLeavePlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),[KS]=m({name:"OnPlayerClickGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[XS]=m({name:"OnPlayerClickPlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),ZS=Object.freeze({onPlayerEnterGlobal:xS,onPlayerLeaveGlobal:HS,onPlayerEnterPlayer:WS,onPlayerLeavePlayer:US,onPlayerClickGlobal:KS,onPlayerClickPlayer:XS});class P{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=P.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?Me.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]: Cannot create with only id");if(this.id!==l.TEXT_DRAW)throw new Error("[TextDraw]: Cannot create again");const{x:t,y:i,text:a,player:r,charset:n="ISO-8859-1"}=this.sourceInfo,s=E.encodeToBuf(E.convertSpecialChar(a),n);if(r){if(this._id=P.__inject__.createPlayer(r.id,t,i,s),this.id===l.TEXT_DRAW||P.getInstances(r).length===H.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Cannot create player textdraw");Y.has(r)||Y.set(r,new Map),Y.get(r).set(this._id,this)}else{if(this._id=P.__inject__.create(t,i,s),this.id===l.TEXT_DRAW||P.getInstances().length===H.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Cannot create textdraw");Me.set(this.id,this)}return this}destroy(){this.id===l.TEXT_DRAW&&P.beforeCreateWarn("destroy textdraw");const t=this.getPlayer();if(!t)D.skip||P.__inject__.destroy(this.id),Me.delete(this.id);else if(D.skip||P.__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 P.beforeCreateWarn("set font"),this;const i=this.getPlayer();return i?P.__inject__.setFontPlayer(i.id,this.id,t):P.__inject__.setFont(this.id,t),this}setColor(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set color"),this;const i=this.getPlayer();return i?P.__inject__.setColorPlayer(i.id,this.id,t):P.__inject__.setColor(this.id,t),this}setBoxColors(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set box color"),this;const i=this.getPlayer();return i?P.__inject__.setBoxColorPlayer(i.id,this.id,t):P.__inject__.setBoxColor(this.id,t),this}setBackgroundColors(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set background color"),this;const i=this.getPlayer();return i?P.__inject__.setBackgroundColorPlayer(i.id,this.id,t):P.__inject__.setBackgroundColor(this.id,t),this}setAlignment(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set alignment"),this;const i=this.getPlayer();return i?P.__inject__.setAlignmentPlayer(i.id,this.id,t):P.__inject__.setAlignment(this.id,t),this}setLetterSize(t,i){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set letter size"),this;const a=this.getPlayer();return a?P.__inject__.setLetterSizePlayer(a.id,this.id,t,i):P.__inject__.setLetterSize(this.id,t,i),this}setOutline(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set outline model"),this;if(t<0)throw new Error("[TextDraw]: Invalid outline value");const i=this.getPlayer();return i?P.__inject__.setOutlinePlayer(i.id,this.id,t):P.__inject__.setOutline(this.id,t),this}setPreviewModel(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set preview model"),this;this.setFont(qe.MODEL_PREVIEW);const i=this.getPlayer();return i?P.__inject__.setPreviewModelPlayer(i.id,this.id,t):P.__inject__.setPreviewModel(this.id,t),this}setPreviewRot(t,i,a,r=1){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set preview rot"),this;this.setFont(qe.MODEL_PREVIEW);const n=this.getPlayer();return n?P.__inject__.setPreviewRotPlayer(n.id,this.id,t,i,a,r):P.__inject__.setPreviewRot(this.id,t,i,a,r),this}setPreviewVehColors(t,i){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set preview veh col"),this;this.setFont(qe.MODEL_PREVIEW);const a=this.getPlayer();return a?P.__inject__.setPreviewVehicleColorsPlayer(a.id,this.id,t,i):P.__inject__.setPreviewVehicleColors(this.id,t,i),this}setProportional(t=!0){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set Proportional"),this;const i=this.getPlayer();return i?P.__inject__.setProportionalPlayer(i.id,this.id,t):P.__inject__.setProportional(this.id,t),this}setSelectable(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set Selectable"),this;const i=this.getPlayer();return i?P.__inject__.setSelectablePlayer(i.id,this.id,t):P.__inject__.setSelectable(this.id,t),this}setShadow(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set shadow"),this;if(t<0)throw new Error("[TextDraw]: Invalid shadow value");const i=this.getPlayer();return i?P.__inject__.setShadowPlayer(i.id,this.id,t):P.__inject__.setShadow(this.id,t),this}setString(t,i){if(this.id===l.TEXT_DRAW)return P.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=E.encodeToBuf(E.convertSpecialChar(t),a),n=this.getPlayer();return n?P.__inject__.setStringPlayer(n.id,this.id,r):i?P.__inject__.setStringForPlayer(this.id,i.id,r):P.__inject__.setString(this.id,r),this}setTextSize(t,i){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set TextSize"),this;const a=this.getPlayer();return a?P.__inject__.setTextSizePlayer(a.id,this.id,t,i):P.__inject__.setTextSize(this.id,t,i),this}useBox(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set TextSize"),this;const i=this.getPlayer();return i?P.__inject__.useBoxPlayer(i.id,this.id,t):P.__inject__.useBox(this.id,t),this}static beforeCreateWarn(t){throw new Error(`[TextDraw]: Cannot ${t} before create`)}show(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("show"),this;const i=this.getPlayer();if(i)P.__inject__.showPlayer(i.id,this.id);else if(t)P.__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 P.beforeCreateWarn("hide"),this;const i=this.getPlayer();if(i)P.__inject__.hidePlayer(i.id,this.id);else if(t)P.__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 P.beforeCreateWarn("show"),this;if(!this.getPlayer())return P.__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 P.beforeCreateWarn("hideAll"),this;if(!this.getPlayer())return P.__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?P.__inject__.isValidPlayer(t.id,this.id):P.__inject__.isValid(this.id)}isVisibleForPlayer(t){if(this.id===l.TEXT_DRAW)return!1;const i=this.getPlayer();return i?P.__inject__.isVisiblePlayer(i.id,this.id):t?P.__inject__.isVisibleForPlayer(t.id,this.id):!1}getString(){this.id===l.TEXT_DRAW&&P.beforeCreateWarn("getString");const t=this.getPlayer();return t?P.__inject__.getStringPlayer(t.id,this.id).str:P.__inject__.getString(this.id).str}setPos(t,i){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set position"),this;const a=this.getPlayer();return a?P.__inject__.setPosPlayer(a.id,this.id,t,i):P.__inject__.setPos(this.id,t,i),this}getLetterSize(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get letter size");const t=this.getPlayer();return t?P.__inject__.getLetterSizePlayer(t.id,this.id):P.__inject__.getLetterSize(this.id)}getTextSize(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get text size");const t=this.getPlayer();return t?P.__inject__.getTextSizePlayer(t.id,this.id):P.__inject__.getTextSize(this.id)}getPos(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get position");const t=this.getPlayer();return t?P.__inject__.getPosPlayer(t.id,this.id):P.__inject__.getPos(this.id)}getColor(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get color");const t=this.getPlayer();return t?P.__inject__.getColorPlayer(t.id,this.id):P.__inject__.getColor(this.id)}getBoxColor(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get box color");const t=this.getPlayer();return t?P.__inject__.getBoxColorPlayer(t.id,this.id):P.__inject__.getBoxColor(this.id)}getBackgroundColor(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get bg color");const t=this.getPlayer();return t?P.__inject__.getBackgroundColorPlayer(t.id,this.id):P.__inject__.getBackgroundColor(this.id)}getShadow(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get shadow");const t=this.getPlayer();return t?P.__inject__.getShadowPlayer(t.id,this.id):P.__inject__.getShadow(this.id)}getOutline(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get outline");const t=this.getPlayer();return t?P.__inject__.getOutlinePlayer(t.id,this.id):P.__inject__.getOutline(this.id)}getFont(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get font");const t=this.getPlayer();return t?P.__inject__.getFontPlayer(t.id,this.id):P.__inject__.getFont(this.id)}isBox(){if(this.id===l.TEXT_DRAW)return!1;const t=this.getPlayer();return t?P.__inject__.isBoxPlayer(t.id,this.id):P.__inject__.isBox(this.id)}isProportional(){if(this.id===l.TEXT_DRAW)return!1;const t=this.getPlayer();return t?P.__inject__.isProportionalPlayer(t.id,this.id):P.__inject__.isProportional(this.id)}isSelectable(){if(this.id===l.TEXT_DRAW)return!1;const t=this.getPlayer();return t?P.__inject__.isSelectablePlayer(t.id,this.id):P.__inject__.isSelectable(this.id)}getAlignment(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get alignment");const t=this.getPlayer();return t?P.__inject__.getAlignmentPlayer(t.id,this.id):P.__inject__.getAlignment(this.id)}getPreviewModel(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get preview model");const t=this.getPlayer();return t?P.__inject__.getPreviewModelPlayer(t.id,this.id):P.__inject__.getPreviewModel(this.id)}getPreviewRot(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get preview rotation");const t=this.getPlayer();return t?P.__inject__.getPreviewRotPlayer(t.id,this.id):P.__inject__.getPreviewRot(this.id)}getPreviewVehColors(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get preview vel colors");const t=this.getPlayer();return t?P.__inject__.getPreviewVehicleColorsPlayer(t.id,this.id):P.__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 Me.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()||[]]:[...Me.values()]}static getPlayersInstances(){return Array.from(Y.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:RP,createPlayer:Ef,destroy:OP,destroyPlayer:Af,setFont:WP,setFontPlayer:Gf,setColor:MP,setColorPlayer:vf,setBoxColor:kP,setBoxColorPlayer:wf,setBackgroundColor:HP,setBackgroundColorPlayer:Of,setAlignment:FP,setAlignmentPlayer:Tf,setLetterSize:GP,setLetterSizePlayer:Nf,setOutline:xP,setOutlinePlayer:Rf,setPreviewModel:$P,setPreviewModelPlayer:Bf,setPreviewRot:QP,setPreviewRotPlayer:xf,setPreviewVehicleColors:qP,setPreviewVehicleColorsPlayer:Hf,setProportional:UP,setProportionalPlayer:jf,setSelectable:KP,setSelectablePlayer:Ff,setShadow:BP,setShadowPlayer:Lf,setStringPlayer:kf,setStringForPlayer:LP,setString:JP,setTextSize:jP,setTextSizePlayer:Df,useBoxPlayer:bf,useBox:VP,showPlayer:Mf,showForPlayer:XP,hidePlayer:Vf,hideForPlayer:ZP,showForAll:YP,hideForAll:zP,isValidPlayer:af,isValid:dP,isVisiblePlayer:rf,isVisibleForPlayer:hP,getStringPlayer:nf,getString:uP,setPosPlayer:sf,setPos:gP,getLetterSizePlayer:lf,getLetterSize:mP,getTextSizePlayer:of,getTextSize:PP,getPosPlayer:_f,getPos:fP,getColorPlayer:cf,getColor:pP,getBoxColorPlayer:df,getBoxColor:IP,getBackgroundColorPlayer:hf,getBackgroundColor:yP,getShadowPlayer:uf,getShadow:CP,getOutlinePlayer:gf,getOutline:SP,getFontPlayer:mf,getFont:EP,isBoxPlayer:Pf,isBox:AP,isProportionalPlayer:ff,isProportional:NP,isSelectablePlayer:pf,isSelectable:DP,getAlignmentPlayer:If,getAlignment:TP,getPreviewModelPlayer:yf,getPreviewModel:vP,getPreviewRotPlayer:Cf,getPreviewRot:bP,getPreviewVehicleColors:wP,getPreviewVehicleColorsPlayer:Sf}}Ke.onDisconnect(({player:e,next:t})=>(Y.has(e)&&(P.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),Y.delete(e)),t())),x.onExit(({next:e})=>(P.getInstances().forEach(t=>t.destroy()),P.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Me.clear(),Y.clear(),e()));const[YS]=m({name:"OnPlayerClickTextDraw",identifier:"ii",defaultValue:!1,beforeEach(e,t){return{player:c.getInstance(e),textDraw:t===l.TEXT_DRAW?t:P.getInstance(t)}}}),[zS]=m({name:"OnPlayerClickPlayerTextDraw",identifier:"ii",defaultValue:!1,beforeEach(e,t){const i=c.getInstance(e);return{player:i,textDraw:t===l.TEXT_DRAW?t:P.getInstance(t,i)}}}),JS=Object.freeze({onPlayerClickGlobal:YS,onPlayerClickPlayer:zS});Ke.onDisconnect(({player:e,next:t})=>(U.has(e)&&(y.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),U.delete(e)),t())),x.onExit(({next:e})=>(y.getInstances().forEach(t=>t.destroy()),y.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Ne.clear(),U.clear(),e()));const[$S]=m({name:"OnPlayerSelectObject",identifier:"iiiifff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s){const o=c.getInstance(e),_=t!==me.UNKNOWN&&t===me.PLAYER_OBJECT,d=t!==me.UNKNOWN&&t===me.GLOBAL_OBJECT;return{player:o,type:t,isPlayerObject:_,isGlobal:d,objectMp:t===me.GLOBAL_OBJECT?y.getInstance(i):y.getInstance(i,o),modelId:a,fX:r,fY:n,fZ:s}}}),[QS]=m({name:"OnPlayerEditObject",identifier:"iiiiffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d){const h=c.getInstance(e),g=t===1;return{player:h,isPlayerObject:g,isGlobal:!g,objectMp:g?y.getInstance(i,h):y.getInstance(i),response:a,fX:r,fY:n,fZ:s,fRotX:o,fRotY:_,fRotZ:d}}}),[qS]=m({name:"OnPlayerEditAttachedObject",identifier:"iiiiifffffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d,h,g,I,S){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:g,fScaleY:I,fScaleZ:S}}}),[eE]=m({name:"OnObjectMoved",identifier:"i",beforeEach(e){return{objectMp:y.getInstance(e)}}}),[tE]=m({name:"OnPlayerObjectMoved",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,playerObject:y.getInstance(t,i)}}}),iE=Object.freeze({onPlayerSelect:$S,onPlayerEdit:QS,onPlayerEditAttached:qS,onGlobalMoved:eE,onPlayerMoved:tE});class G{_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=G.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=G.__inject__.create(t,i,a,r,n),this._id===l.ACTOR_ID||G.getInstances().length===H.MAX_ACTORS)throw new Error("[Actor]: Cannot create actor");return Be.set(this._id,this),this}destroy(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot before create");return D.skip||G.__inject__.destroy(this._id),Be.delete(this._id),this._id=l.ACTOR_ID,this}isStreamIn(t){return this._id===l.ACTOR_ID?!1:G.__inject__.isStreamedIn(this.id,t.id)}setVirtualWorld(t){return this._id===l.ACTOR_ID?!1:G.__inject__.setVirtualWorld(this.id,t)}getVirtualWorld(){return this._id===l.ACTOR_ID?0:G.__inject__.getVirtualWorld(this.id)}applyAnimation(t,i,a,r,n,s,o,_){return this._id===l.ACTOR_ID?!1:G.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_)}clearAnimations(){return this._id===l.ACTOR_ID?!1:G.__inject__.clearAnimations(this.id)}setPos(t,i,a){return this._id===l.ACTOR_ID?!1:G.__inject__.setPos(this.id,t,i,a)}getPos(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getPos before create");return G.__inject__.getPos(this.id)}setFacingAngle(t){return this._id===l.ACTOR_ID?!1:G.__inject__.setFacingAngle(this.id,t)}getFacingAngle(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getFacingAngle before create");return G.__inject__.getFacingAngle(this.id)}setHealth(t){return this._id===l.ACTOR_ID?!1:G.__inject__.setHealth(this.id,t)}getHealth(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getHealth before create");return G.__inject__.getHealth(this.id)}setInvulnerable(t){return this._id===l.ACTOR_ID?!1:G.__inject__.setInvulnerable(this.id,t)}isInvulnerable(){return this._id===l.ACTOR_ID?!1:G.__inject__.isInvulnerable(this.id)}isValid(){return G.isValid(this._id)}setSkin(t){return this._id===l.ACTOR_ID?!1:G.__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:G.__inject__.getSkin(this.id)}getAnimation(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getAnimation before create");return G.__inject__.getAnimation(this.id)}getSpawnInfo(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getSpawnInfo before create");return G.__inject__.getSpawnInfo(this.id)}static isValid(t){return G.__inject__.isValid(t)}static getInstance(t){return Be.get(t)}static getInstances(){return[...Be.values()]}static __inject__={create:bc,destroy:wc,applyAnimation:Gc,clearAnimations:jc,getAnimation:vc,getFacingAngle:kc,getHealth:xc,getPos:Mc,getSkin:Nc,getSpawnInfo:Tc,getVirtualWorld:Oc,isInvulnerable:Wc,isStreamedIn:Lc,isValid:Uc,setFacingAngle:Vc,setHealth:Bc,setInvulnerable:Hc,setPos:Fc,setSkin:Dc,setVirtualWorld:Rc}}x.onExit(({next:e})=>(G.getInstances().forEach(t=>t.destroy()),Be.clear(),e()));const[aE]=m({name:"OnPlayerGiveDamageActor",identifier:"iifii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),actor:G.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),[rE]=m({name:"OnActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:G.getInstance(e),player:c.getInstance(t)}}}),[nE]=m({name:"OnActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:G.getInstance(e),player:c.getInstance(t)}}}),sE=Object.freeze({onPlayerGiveDamage:aE,onStreamIn:rE,onStreamOut:nE});class Re{static set(t,i,a,r,n){return Re.__inject__.set(t.id,i,a,r,n)}static disable(t){return Re.__inject__.disable(t.id)}static isPlayerIn(t){return Re.__inject__.isPlayerIn(t.id)}static isActive(t){return Re.__inject__.isActive(t.id)}static get(t){return Re.__inject__.get(t.id)}static __inject__={disable:Xg,get:Si,isActive:Ci,isPlayerIn:zg,set:Kg}}const[lE]=m({name:"OnPlayerEnterCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[oE]=m({name:"OnPlayerLeaveCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),_E=Object.freeze({onPlayerEnter:lE,onPlayerLeave:oE});class Oe{static set(t,i,a,r,n,s,o,_,d){return Oe.__inject__.set(t.id,i,a,r,n,s,o,_,d)}static disable(t){return Oe.__inject__.disable(t.id)}static isPlayerIn(t){return Oe.__inject__.isPlayerIn(t.id)}static isActive(t){return Oe.__inject__.isActive(t.id)}static get(t){return Oe.__inject__.get(t.id)}static __inject__={disable:Yg,get:Ai,isActive:Ei,isPlayerIn:Jg,set:Zg}}const[cE]=m({name:"OnPlayerEnterRaceCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[dE]=m({name:"OnPlayerLeaveRaceCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),hE=Object.freeze({onPlayerEnter:cE,onPlayerLeave:dE});class L{sourceInfo=null;_player=null;_id=l.PICKUP_ID;get id(){return this._id}constructor(t,i){if(typeof t=="number"){if(t===l.PICKUP_ID)throw new Error("[Pickup]: Invalid id");i&&(this._player=i);const a=L.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?xe.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("[Pickup]: Cannot 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,_=this.getPlayer();if(o){if(_)throw new Error("[Pickup]: Cannot create static pickup for player");L.__inject__.addStatic(t,i,r,n,s,a)}else if(_){if(this._id=L.__inject__.createPlayer(_.id,t,i,r,n,s,a),_&&L.getInstances(_).length===H.MAX_PICKUPS||this._id===l.PICKUP_ID)throw new Error("[Pickup]: Cannot create player pickup");z.has(_)||z.set(_,new Map),z.get(_).set(this.id,this)}else{if(this._id=L.__inject__.create(t,i,r,n,s,a),L.getInstances().length===H.MAX_PICKUPS||this._id===l.PICKUP_ID)throw new Error("[Pickup]: Cannot create pickup");xe.set(this.id,this)}return this}destroy(){if(this.sourceInfo&&this.sourceInfo.isStatic)throw new Error("[Pickup]: Cannot destroy static pickup");if(this.id===l.PICKUP_ID)throw new Error("[Pickup]: Cannot destroy before create");const t=this.getPlayer();if(!t)D.skip||L.__inject__.destroy(this.id),xe.delete(this.id);else if(D.skip||L.__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.PICKUP_ID}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(){if(D.skip&&this.id!==l.PICKUP_ID)return!0;if(this.id===l.PICKUP_ID)return!1;const t=this.getPlayer();return t?L.isValidPlayer(t.id,this.id):L.isValidGlobal(this.id)}isStreamedIn(t){if(this.id===l.PICKUP_ID)return!1;const i=this.getPlayer();return i?L.__inject__.isStreamedInPlayer(i.id,this.id):L.__inject__.isStreamedIn(t.id,this.id)}getPos(){const t=this.getPlayer();return t?L.__inject__.getPosPlayer(t.id,this.id):L.__inject__.getPos(this.id)}getModel(){if(this.id===l.PICKUP_ID)return 0;const t=this.getPlayer();return t?L.__inject__.getModelPlayer(t.id,this.id):L.__inject__.getModel(this.id)}getType(){if(this.id===l.PICKUP_ID)return 0;const t=this.getPlayer();return t?L.__inject__.getTypePlayer(t.id,this.id):L.__inject__.getType(this.id)}getVirtualWorld(){if(this.id===l.PICKUP_ID)return 0;const t=this.getPlayer();return t?L.__inject__.getVirtualWorldPlayer(t.id,this.id):L.__inject__.getVirtualWorld(this.id)}setPos(t,i,a,r){if(this.id===l.PICKUP_ID)return!1;const n=this.getPlayer();return n?L.__inject__.setPosPlayer(n.id,this.id,t,i,a,r):L.__inject__.setPos(this.id,t,i,a,r)}setModel(t,i=!0){if(this.id===l.PICKUP_ID)return!1;const a=this.getPlayer();return a?L.__inject__.setModelPlayer(a.id,this.id,t,i):L.__inject__.setModel(this.id,t,i)}setType(t,i=!0){if(this.id===l.PICKUP_ID)return!1;const a=this.getPlayer();return a?L.__inject__.setTypePlayer(a.id,this.id,t,i):L.__inject__.setType(this.id,t,i)}setVirtualWorld(t){if(this.id===l.PICKUP_ID)return!1;const i=this.getPlayer();return i?L.__inject__.setVirtualWorldPlayer(i.id,this.id,t):L.__inject__.setVirtualWorld(this.id,t)}showForPlayer(t){if(this.id===l.PICKUP_ID)return!1;if(this.getPlayer())throw new Error("[Pickup]: Cannot show for player pickup");return L.__inject__.showForPlayer(t.id,this.id)}hideForPlayer(t){if(this.id===l.PICKUP_ID)return!1;if(this.getPlayer())throw new Error("[Pickup]: Cannot hide for player pickup");return L.__inject__.hideForPlayer(t.id,this.id)}isHiddenForPlayer(t){if(this.id===l.PICKUP_ID)return!1;if(this.isPlayer())throw new Error("[Pickup]: Cannot isHiddenForPlayer for player pickup");return L.__inject__.isHiddenForPlayer(t.id,this.id)}static isValidPlayer(t,i){return L.__inject__.isValidPlayer(t,i)}static isValidGlobal(t){return L.__inject__.isValidGlobal(t)}static getInstance(t,i){if(!i)return xe.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()||[]]:[...xe.values()]}static getPlayersInstances(){return Array.from(z.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:fI,addStatic:PI,destroy:pI,isStreamedIn:rI,getPos:nI,getModel:sI,getType:lI,getVirtualWorld:oI,setPos:_I,setModel:cI,setType:dI,setVirtualWorld:hI,showForPlayer:uI,hideForPlayer:gI,isHiddenForPlayer:mI,isValidGlobal:aI,createPlayer:II,destroyPlayer:yI,isStreamedInPlayer:SI,getPosPlayer:EI,getModelPlayer:vI,getTypePlayer:bI,getVirtualWorldPlayer:wI,setPosPlayer:AI,setModelPlayer:NI,setTypePlayer:DI,setVirtualWorldPlayer:TI,isValidPlayer:CI}}Ke.onDisconnect(({player:e,next:t})=>(z.has(e)&&(L.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),z.delete(e)),t())),x.onExit(({next:e})=>(L.getInstances().forEach(t=>t.destroy()),L.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),xe.clear(),z.clear(),e()));const[uE]=m({name:"OnPlayerPickUpPickup",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:L.getInstance(t)}}}),[gE]=m({name:"OnPickupStreamIn",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:L.getInstance(t)}}}),[mE]=m({name:"OnPickupStreamOut",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:L.getInstance(t)}}}),[PE]=m({name:"OnPlayerPickUpPlayerPickup",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,pickup:L.getInstance(t,i)}}}),[fE]=m({name:"OnPlayerPickupStreamIn",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,pickup:L.getInstance(t,i)}}}),[pE]=m({name:"OnPlayerPickupStreamOut",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,pickup:L.getInstance(t,i)}}}),IE=Object.freeze({onPlayerPickUpGlobal:uE,onStreamInGlobal:gE,onStreamOutGlobal:mE,onPlayerPickupPlayer:PE,onStreamInPlayer:fE,onStreamOutPlayer:pE});class R{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=R.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?He.set(this._id,this):i&&(J.has(i)||J.set(i,new Map),J.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[TextLabel]: Cannot create with only id");if(this.id!==l._3DTEXT_ID)throw new Error("[TextLabel]: Cannot create again");const{charset:t="utf8",text:i,color:a,x:r,y:n,z:s,drawDistance:o,virtualWorld:_,testLOS:d,attachedPlayer:h,attachedVehicle:g}=this.sourceInfo;if(this.isGlobal()){if(this._id=R.__inject__.create(t,i,a,r,n,s,o,_,d),this.id===l._3DTEXT_ID||R.getInstances().length===H.MAX_3DTEXT_GLOBAL)throw new Error("[TextLabel]: Cannot create textLabel");return He.set(this._id,this),this}const I=this.getPlayerId();if(I===l.PLAYER_ID)return this;const S=this.getPlayer();if(this._id=R.__inject__.createPlayer(t,I,i,a,r,n,s,o,typeof h>"u"?l.PLAYER_ID:h.id,typeof g>"u"?l.VEHICLE_ID:g.id,d),this.id===l._3DTEXT_ID||R.getInstances(S).length===H.MAX_3DTEXT_PLAYER)throw new Error("[TextLabel]: Cannot create playerTextLabel");return J.has(S)||J.set(S,new Map),J.get(this.getPlayer()).set(this.id,this),this}destroy(){if(this.id===l._3DTEXT_ID)throw new Error("[TextLabel]: Cannot destroy the textLabel before create");if(this.isGlobal())D.skip||R.__inject__.delete(this.id),He.delete(this.id);else{const t=this.getPlayerId();if(t===l.PLAYER_ID)return this;const i=this.getPlayer();if(D.skip||R.__inject__.deletePlayer(t,this.id),J.has(i)){const a=J.get(i);a.delete(this.id),a.size===0&&J.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()?R.isValid(this.id):R.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]: Cannot attach to player, textLabel is not global");return R.__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]: Cannot attach to vehicle, textLabel is not global");return R.__inject__.attachToVehicle(this.id,t.id,i,a,r)}updateText(t,i,a="utf8"){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.updateText(a,this.id,t,i):R.__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]: Cannot check stream in, textLabel is not global");return R.__inject__.isStreamedIn(this.id,t.id)}getText(t=this.sourceInfo?.charset||"utf8"){return this.isGlobal()?R.__inject__.getText(t,this.id):R.__inject__.getPlayerText(t,this.getPlayerId(),this.id)}getColor(){return this.isGlobal()?R.__inject__.getColor(this.id):R.__inject__.getPlayerColor(this.getPlayerId(),this.id)}getPos(){return this.isGlobal()?R.__inject__.getPos(this.id):R.__inject__.getPlayerPos(this.getPlayerId(),this.id)}setDrawDistance(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.setDrawDistance(this.id,t):R.__inject__.setPlayerDrawDistance(this.getPlayerId(),this.id,t)}getDrawDistance(){return this.isGlobal()?R.__inject__.getDrawDistance(this.id):R.__inject__.getPlayerDrawDistance(this.getPlayerId(),this.id)}getLOS(){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.getLOS(this.id):R.__inject__.getPlayerLOS(this.getPlayerId(),this.id)}setLOS(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.setLOS(this.id,t):R.__inject__.setPlayerLOS(this.getPlayerId(),this.id,t)}getVirtualWorld(){return this.id===l._3DTEXT_ID?0:this.isGlobal()?R.__inject__.getVirtualWorld(this.id):R.__inject__.getPlayerVirtualWorld(this.getPlayerId(),this.id)}setVirtualWorld(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.setVirtualWorld(this.id,t):R.__inject__.setPlayerVirtualWorld(this.getPlayerId(),this.id,t)}getAttachedData(){return this.isGlobal()?R.__inject__.getAttachedData(this.id):R.__inject__.getPlayerAttachedData(this.getPlayerId(),this.id)}static isValid(t,i){return i===l.PLAYER_ID?!1:typeof i>"u"?R.__inject__.isValid(t):R.__inject__.isValidPlayer(i,t)}static getInstance(t,i){if(!i)return He.get(t);if(i.id!==l.PLAYER_ID)return J.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...J.get(t)?.values()||[]]:[...He.values()]}static getPlayersInstances(){return Array.from(J.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:zI,createPlayer:JI,getText:qI,getPlayerText:ey,updateText:$I,updatePlayerText:QI,delete:Im,attachToPlayer:ym,attachToVehicle:Cm,isStreamedIn:_m,getColor:cm,getPos:dm,setDrawDistance:hm,getDrawDistance:um,getLOS:gm,setLOS:mm,getVirtualWorld:fm,setVirtualWorld:Pm,getAttachedData:pm,isValid:om,deletePlayer:Rm,getPlayerColor:Em,getPlayerPos:Am,setPlayerDrawDistance:Nm,getPlayerDrawDistance:Dm,getPlayerLOS:Tm,setPlayerLOS:vm,getPlayerVirtualWorld:bm,setPlayerVirtualWorld:wm,getPlayerAttachedData:Lm,isValidPlayer:Sm}}Ke.onDisconnect(({player:e,next:t})=>(J.has(e)&&(R.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),J.delete(e)),t())),x.onExit(({next:e})=>(R.getInstances().forEach(t=>t.destroy()),R.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),He.clear(),J.clear(),e()));function yE(e,t){return(e&t)===t}function CE(e,t,i){return(e&i)===i&&(t&i)!==i}function SE(e,t){return!!(e&t)}function EE(e,t,i){return(e&i)!==i&&(t&i)===i}function AE(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]}exports.Actor=G,exports.ActorEvent=sE,exports.ArtworkEnum=bt,exports.BodyPartsEnum=xt,exports.BoneIdsEnum=Ht,exports.BulletHitTypesEnum=Jt,exports.CameraCutStylesEnum=$e,exports.CameraModesEnum=Bt,exports.CarModTypeEnum=Kt,exports.CheckPointEvent=_E,exports.Checkpoint=Re,exports.ClickSourcesEnum=wt,exports.ConnectionStatusEnum=Rt,exports.DamageDeathReasonEnum=Pt,exports.Dialog=W,exports.DialogStylesEnum=ht,exports.Dynamic3DTextLabel=te,exports.Dynamic3DTextLabelEvent=dS,exports.DynamicActor=j,exports.DynamicActorEvent=sS,exports.DynamicArea=v,exports.DynamicAreaEvent=pS,exports.DynamicCheckPointEvent=zC,exports.DynamicCheckpoint=K,exports.DynamicMapIcon=se,exports.DynamicMapIconEvent=FC,exports.DynamicObject=O,exports.DynamicObjectEvent=LC,exports.DynamicPickup=ae,exports.DynamicPickupEvent=HC,exports.DynamicRaceCP=X,exports.DynamicRaceCPEvent=iS,exports.E_STREAMER=oe,exports.EditResponseTypesEnum=Lt,exports.FightingStylesEnum=ut,exports.ForceSyncEnum=Wt,exports.GameMode=x,exports.GameText=Le,exports.GangZone=b,exports.GangZoneEvent=ZS,exports.I18n=E,exports.InvalidEnum=l,exports.KeysEnum=Ot,exports.LimitsEnum=H,exports.MapIconStyles=_t,exports.MapIconStylesEnum=kt,exports.MarkerModesEnum=Gt,exports.MaterialTextAlign=qt,exports.MaterialTextSizes=lt,exports.Menu=B,exports.MenuEvent=BS,exports.NPCEntityCheckEnum=Je,exports.NPCMoveSpeedEnum=Ge,exports.NPCMoveTypeEnum=ge,exports.NPCPlaybackEnum=jt,exports.NPCRecordStatusEnum=Ft,exports.NetStats=Q,exports.Npc=u,exports.NpcEvent=MS,exports.NpcNode=Xe,exports.NpcPath=Ye,exports.NpcRecord=Ze,exports.ObjectMaterialAlignmentEnum=Vt,exports.ObjectMaterialTextSizeEnum=Mt,exports.ObjectMp=y,exports.ObjectMpEvent=iE,exports.PickUpEvent=IE,exports.Pickup=L,exports.Player=c,exports.PlayerEvent=Ke,exports.PlayerStateEnum=Qe,exports.RaceCheckpoint=Oe,exports.RaceCpEvent=hE,exports.RecordTypesEnum=$t,exports.SelectObjectTypesEnum=me,exports.SpecialActionsEnum=gt,exports.SpectateModesEnum=nt,exports.Streamer=A,exports.StreamerAreaTypes=Qt,exports.StreamerDistances=V,exports.StreamerItemTypes=T,exports.StreamerMiscellaneous=f,exports.StreamerObjectTypes=st,exports.TextDraw=P,exports.TextDrawAlignEnum=Ut,exports.TextDrawEvent=JS,exports.TextDrawFontsEnum=qe,exports.TextLabel=R,exports.Vehicle=p,exports.VehicleEvent=CC,exports.VehicleModelInfoEnum=Zt,exports.VehicleParamsEnum=Xt,exports.WeaponEnum=Yt,exports.WeaponSkillsEnum=zt,exports.WeaponStatesEnum=mt,exports.animateLib=vi,exports.defineEvent=m,exports.defineHooks=AE,exports.getAnimateDurationByLibName=LI,exports.isHolding=yE,exports.isPressed=CE,exports.isPressing=SE,exports.isReleased=EE,exports.isValidAnimateLib=Ct,exports.isValidAnimateName=St,exports.rgba=N,exports.useTrigger=is,exports.withTriggerOptions=as;
1
+ "use strict";var Wi=require("node:util"),Ui=require("iconv-lite"),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||{}),ut=(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))(ut||{}),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||{}),W=(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))(W||{}),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||{}),Pe=(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))(Pe||{}),ue=(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))(ue||{}),Fe=(e=>(e[e.AUTO=-1]="AUTO",e[e.WALK=.1552086]="WALK",e[e.JOG=.56444]="JOG",e[e.SPRINT=.926784]="SPRINT",e))(Fe||{}),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||{}),fe=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(fe||{}),gt=(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))(gt||{}),kt=(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))(kt||{}),Qe=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(Qe||{}),Vt=(e=>(e[e.BEHINDCAR=3]="BEHINDCAR",e[e.FOLLOWPED=4]="FOLLOWPED",e[e.SNIPER=7]="SNIPER",e[e.ROCKETLAUNCHER=8]="ROCKETLAUNCHER",e[e.FIXED=15]="FIXED",e[e._1STPERSON=16]="_1STPERSON",e[e.CAM_ON_A_STRING=18]="CAM_ON_A_STRING",e[e.BEHINDBOAT=22]="BEHINDBOAT",e[e.CAMERA=46]="CAMERA",e[e.ROCKETLAUNCHER_HS=51]="ROCKETLAUNCHER_HS",e[e.AIMWEAPON=53]="AIMWEAPON",e[e.AIMWEAPON_FROMCAR=55]="AIMWEAPON_FROMCAR",e[e.DW_HELI_CHASE=56]="DW_HELI_CHASE",e[e.DW_CAM_MAN=57]="DW_CAM_MAN",e[e.DW_BIRDY=58]="DW_BIRDY",e[e.DW_PLANE_SPOTTER=59]="DW_PLANE_SPOTTER",e[e.DW_PLANECAM1=62]="DW_PLANECAM1",e[e.DW_PLANECAM2=63]="DW_PLANECAM2",e[e.DW_PLANECAM3=64]="DW_PLANECAM3",e))(Vt||{}),st=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(st||{}),qe=(e=>(e[e.NONE=0]="NONE",e[e.ONFOOT=1]="ONFOOT",e[e.DRIVER=2]="DRIVER",e[e.PASSENGER=3]="PASSENGER",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.ENTER_VEHICLE_DRIVER=5]="ENTER_VEHICLE_DRIVER",e[e.ENTER_VEHICLE_PASSENGER=6]="ENTER_VEHICLE_PASSENGER",e[e.WASTED=7]="WASTED",e[e.SPAWNED=8]="SPAWNED",e[e.SPECTATING=9]="SPECTATING",e))(qe||{}),Bt=(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))(Bt||{}),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||{}),Wt=(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))(Wt||{}),et=(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))(et||{}),Ut=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Ut||{}),Kt=(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))(Kt||{}),G=(e=>(e[e.UNSET=-1]="UNSET",e[e.OFF=0]="OFF",e[e.ON=1]="ON",e))(G||{}),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.DOWN=0]="DOWN",e[e.UP=1]="UP",e))(Zt||{}),Yt=(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))(Yt||{}),zt=(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))(zt||{}),Jt=(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))(Jt||{}),mt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NO_BULLETS=0]="NO_BULLETS",e[e.LAST_BULLET=1]="LAST_BULLET",e[e.MORE_BULLETS=2]="MORE_BULLETS",e[e.RELOADING=3]="RELOADING",e))(mt||{}),Pt=(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))(Pt||{}),$t=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))($t||{}),Qt=(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))(Qt||{}),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||{}),f=(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))(f||{}),lt=(e=>(e[e.GLOBAL=0]="GLOBAL",e[e.PLAYER=1]="PLAYER",e[e.DYNAMIC=2]="DYNAMIC",e))(lt||{}),_e=(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))(_e||{}),qt=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(qt||{}),ot=(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))(ot||{});const ei=-1,Ki=-1,Xi=-1,Zi=-1,Yi=0,zi=-1e3,Ji=-1e3,$i=-1e3,Qi=0,ti=32,qi=300,ea=!0,_t=1,ta=e=>samp.callNative("DestroyDynamic3DTextLabel","i",e),ii=e=>!!samp.callNative("IsValidDynamic3DTextLabel","i",e),ia=(e,t,i,a,r,n=!0,s=100,o=0,_=-1,d=-1,h=V.ACTOR_SD,g=-1,I=0)=>samp.callNative("CreateDynamicActor","iffffifiiifii",e,t,i,a,r,n,s,o,_,d,h,g,I),aa=e=>samp.callNative("DestroyDynamicActor","i",e),ra=e=>!!samp.callNative("IsValidDynamicActor","i",e),na=(e,t)=>!!samp.callNative("IsDynamicActorStreamedIn","ii",e,t),sa=e=>samp.callNative("GetDynamicActorVirtualWorld","i",e),la=(e,t)=>samp.callNative("SetDynamicActorVirtualWorld","ii",e,t),oa=(e,t,i,a,r,n,s,o,_)=>samp.callNative("ApplyDynamicActorAnimation","issfiiiii",e,t,i,a,r,n,s,o,_),_a=e=>samp.callNative("ClearDynamicActorAnimations","i",e),ca=e=>{const[t,i]=samp.callNative("GetDynamicActorFacingAngle","iF",e);return{angle:t,ret:i}},da=(e,t)=>samp.callNative("SetDynamicActorFacingAngle","if",e,t),ha=e=>{const[t,i,a,r]=samp.callNative("GetDynamicActorPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},ua=(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}},ma=(e,t)=>samp.callNative("SetDynamicActorHealth","if",e,t),Pa=(e,t=!0)=>samp.callNative("SetDynamicActorInvulnerable","ii",e,t),fa=e=>!!samp.callNative("IsDynamicActorInvulnerable","i",e),pa=e=>samp.callNative("GetPlayerTargetDynamicActor","i",e),Ia=e=>samp.callNative("GetPlayerCameraTargetDynActor","i",e),Ca=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}},ya=(e,t,i,a=-1,r=-1,n=-1,s=0)=>samp.callNative("CreateDynamicCircle","fffiiii",e,t,i,a,r,n,s),Sa=(e,t,i,a,r,n=-1,s=-1,o=-1,_=0)=>samp.callNative("CreateDynamicCylinder","fffffiiii",e,t,i,a,r,n,s,o,_),Ea=(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),Na=(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),Da=(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),Ta=e=>samp.callNative("DestroyDynamicArea","i",e),va=e=>!!samp.callNative("IsValidDynamicArea","i",e),ba=e=>samp.callNative("GetDynamicAreaType","i",e),La=e=>{const[t,i]=samp.callNative("GetDynamicPolygonPoints","iAi",e,ai(e));return{points:t,ret:i}},ai=e=>samp.callNative("GetDynamicPolygonNumberPoints","i",e),wa=(e,t,i=!1)=>!!samp.callNative("IsPlayerInDynamicArea","iii",e,t,i),Ra=(e,t=!1)=>!!samp.callNative("IsPlayerInAnyDynamicArea","ii",e,t),Oa=(e,t=!1)=>!!samp.callNative("IsAnyPlayerInDynamicArea","ii",e,t),Ga=(e=!1)=>!!samp.callNative("IsAnyPlayerInAnyDynamicArea","i",e),ja=e=>{const[t,i]=samp.callNative("GetPlayerDynamicAreas","iAi",e,ri(e));return{areas:t,ret:i}},ri=e=>samp.callNative("GetPlayerNumberDynamicAreas","i",e),Fa=(e,t,i,a)=>!!samp.callNative("IsPointInDynamicArea","ifff",e,t,i,a),Ma=(e,t,i)=>!!samp.callNative("IsPointInAnyDynamicArea","fff",e,t,i),ka=(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,ni(e,t,i));return{areas:a,ret:r}},ni=(e,t,i)=>samp.callNative("GetNumberDynamicAreasForPoint","fff",e,t,i),xa=(e,t,i,a,r,n)=>{const[s,o]=samp.callNative("GetDynamicAreasForLine","ffffffAi",e,t,i,a,r,n,si(e,t,i,a,r,n));return{areas:s,ret:o}},si=(e,t,i,a,r,n)=>samp.callNative("GetNumberDynamicAreasForLine","ffffff",e,t,i,a,r,n),Ha=(e,t,i=lt.DYNAMIC,a=65535,r=0,n=0,s=0)=>samp.callNative("AttachDynamicAreaToObject","iiiifff",e,t,i,a,r,n,s),Wa=(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),Ka=(e,t)=>samp.callNative("ToggleDynAreaSpectateMode","ii",e,t),Xa=e=>!!samp.callNative("IsToggleDynAreaSpectateMode","i",e),Za=(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),Ya=e=>samp.callNative("DestroyDynamicCP","i",e),ft=e=>!!samp.callNative("IsValidDynamicCP","i",e),za=(e,t,i)=>samp.callNative("TogglePlayerDynamicCP","iii",e,t,i),Ja=(e,t)=>samp.callNative("TogglePlayerAllDynamicCPs","ii",e,t),$a=(e,t)=>!!samp.callNative("IsPlayerInDynamicCP","ii",e,t),Qa=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}},er=(e,t,i,a)=>samp.callNative("Streamer_SetFloatData","iiif",e,t,i,a),tr=(e,t,i)=>samp.callNative("Streamer_GetIntData","iii",e,t,i),ir=(e,t,i,a)=>samp.callNative("Streamer_SetIntData","iiii",e,t,i,a),ar=(e,t,i)=>{const[a,r]=samp.callNative("Streamer_GetArrayData","iiiAi",e,t,i,li(e,t,i));return{arrayData:a,ret:r}},rr=(e,t,i,a)=>samp.callNative("Streamer_SetArrayData","iiiai",e,t,i,a,a.length),nr=(e,t,i,a)=>!!samp.callNative("Streamer_IsInArrayData","iiii",e,t,i,a),sr=(e,t,i,a)=>samp.callNative("Streamer_AppendArrayData","iiii",e,t,i,a),lr=(e,t,i,a)=>samp.callNative("Streamer_RemoveArrayData","iiii",e,t,i,a),li=(e,t,i)=>samp.callNative("Streamer_GetArrayDataLength","iii",e,t,i),or=e=>samp.callNative("Streamer_GetUpperBound","i",e);var ct=(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))(ct||{});const _r=(e,t,i,a,r,n=-1,s=-1,o=-1,_=V.MAP_ICON_SD,d=0,h=-1,g=0)=>samp.callNative("CreateDynamicMapIcon","fffiiiiifiii",e,t,i,a,r,n,s,o,_,d,h,g),cr=e=>samp.callNative("DestroyDynamicMapIcon","i",e),dr=e=>!!samp.callNative("IsValidDynamicMapIcon","i",e),hr=(e,t,i,a,r,n,s,o=V.OBJECT_SD,_=V.OBJECT_DD,d=[-1],h=[-1],g=[-1],I=[-1],S=0)=>samp.callNative("CreateDynamicObjectEx","iffffffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,g,I,S,d.length,h.length,g.length,I.length),ur=(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),mr=(e,t,i,a,r,n,s,o,_=V.RACE_CP_SD,d=[-1],h=[-1],g=[-1],I=[-1],S=0)=>samp.callNative("CreateDynamicRaceCPEx","iffffffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,g,I,S,d.length,h.length,g.length,I.length),Pr=(e,t,i,a,r,n=ct.LOCAL,s=V.MAP_ICON_SD,o=[-1],_=[-1],d=[-1],h=[-1],g=0)=>samp.callNative("CreateDynamicMapIconEx","fffiiifaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,g,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,_),Ir=(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),Cr=(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),yr=(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),Sr=(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),Er=(e,t,i,a,r,n=!0,s=100,o=V.ACTOR_SD,_=[0],d=[-1],h=[-1],g=[-1],I=0)=>samp.callNative("CreateDynamicActorEx","iffffiffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,g,I,_.length,d.length,h.length,g.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}},Nr=(e,t,i,a)=>samp.callNative("Streamer_ToggleItem","iiii",e,t,i,a),Dr=(e,t,i)=>!!samp.callNative("Streamer_IsToggleItem","iii",e,t,i),Tr=(e,t,i,a=[-1])=>samp.callNative("Streamer_ToggleAllItems","iiiai",e,t,i,a,a.length),vr=(e,t,i)=>samp.callNative("Streamer_GetItemInternalID","iii",e,t,i),br=(e,t,i)=>samp.callNative("Streamer_GetItemStreamerID","iii",e,t,i),Lr=(e,t,i)=>!!samp.callNative("Streamer_IsItemVisible","iii",e,t,i),wr=(e,t,i=_t)=>samp.callNative("Streamer_DestroyAllVisibleItems","iii",e,t,i),Rr=(e,t,i=_t)=>samp.callNative("Streamer_CountVisibleItems","iii",e,t,i),Or=(e,t=_t)=>samp.callNative("Streamer_DestroyAllItems","ii",e,t),Gr=(e,t=_t)=>samp.callNative("Streamer_CountItems","ii",e,t),jr=(e,t,i,a,r=ti,n=qi,s=ei)=>{const[o=[],_=0]=samp.callNative("Streamer_GetNearbyItems","fffiAifi",e,t,i,a,r,n,s);return o.slice(0,_)},Fr=(e,t,i=ti)=>{const[a=[],r=0]=samp.callNative("Streamer_GetAllVisibleItems","iiAi",e,t,i);return a.slice(0,r)},Mr=(e,t)=>{const[i,a,r,n]=samp.callNative("Streamer_GetItemPos","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},kr=(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),xr=(e,t,i,a,r,n,s,o=ei,_=Ki,d=Xi,h=V.OBJECT_SD,g=V.OBJECT_DD,I=Zi,S=Yi)=>samp.callNative("CreateDynamicObject","iffffffiiiffii",e,t,i,a,r,n,s,o,_,d,h,g,I,S),Hr=e=>samp.callNative("DestroyDynamicObject","i",e),Wr=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}},Kr=(e,t,i,a)=>samp.callNative("SetDynamicObjectPos","ifff",e,t,i,a),Xr=e=>{const[t,i,a,r]=samp.callNative("GetDynamicObjectRot","iFFF",e);return{rx:t,ry:i,rz:a,ret:r}},Zr=(e,t,i,a)=>samp.callNative("SetDynamicObjectRot","ifff",e,t,i,a),Yr=(e,t,i,a,r,n=zi,s=Ji,o=$i)=>samp.callNative("MoveDynamicObject","ifffffff",e,t,i,a,r,n,s,o),zr=e=>samp.callNative("StopDynamicObject","i",e),Jr=e=>!!samp.callNative("IsDynamicObjectMoving","i",e),$r=(e,t)=>samp.callNative("AttachCameraToDynamicObject","ii",e,t),Qr=(e,t,i,a,r,n,s,o,_=ea)=>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),en=(e,t,i,a,r,n,s,o)=>samp.callNative("AttachDynamicObjectToVehicle","iiffffff",e,t,i,a,r,n,s,o),tn=(e,t)=>samp.callNative("EditDynamicObject","ii",e,t),an=(e,t)=>!!samp.callNative("IsDynamicObjectMaterialUsed","ii",e,t),rn=(e,t)=>samp.callNative("RemoveDynamicObjectMaterial","ii",e,t),nn=(e,t,i,a,r,n=Qi)=>samp.callNative("SetDynamicObjectMaterial","iiissi",e,t,i,a,r,n),sn=(e,t)=>!!samp.callNative("IsDynamicObjectMaterialTextUsed","ii",e,t),ln=(e,t)=>samp.callNative("RemoveDynamicObjectMaterialText","ii",e,t),on=e=>samp.callNative("GetPlayerCameraTargetDynObject","i",e),_n=e=>!!samp.callNative("SetDynamicObjectNoCameraCol","i",e),cn=e=>!!samp.callNative("GetDynamicObjectNoCameraCol","i",e),dn=(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),hn=e=>!!samp.callNative("DestroyDynamicPickup","i",e),un=e=>!!samp.callNative("IsValidDynamicPickup","i",e),gn=(e,t,i,a,r,n,s,o,_=-1,d=-1,h=-1,g=V.RACE_CP_SD,I=-1,S=0)=>samp.callNative("CreateDynamicRaceCP","ifffffffiiifii",e,t,i,a,r,n,s,o,_,d,h,g,I,S),mn=e=>samp.callNative("DestroyDynamicRaceCP","i",e),Pn=(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),In=e=>samp.callNative("GetPlayerVisibleDynamicRaceCP","i",e),Cn=()=>samp.callNative("Streamer_GetTickRate",""),yn=(e=50)=>samp.callNative("Streamer_SetTickRate","i",e),Sn=e=>samp.callNative("Streamer_GetPlayerTickRate","i",e),En=(e,t=50)=>samp.callNative("Streamer_SetPlayerTickRate","ii",e,t),An=(e=!1)=>samp.callNative("Streamer_ToggleChunkStream","i",e),Nn=()=>!!samp.callNative("Streamer_IsToggleChunkStream",""),oi=(e,t=-1)=>samp.callNative("Streamer_GetChunkTickRate","ii",e,t),_i=(e,t,i=-1)=>samp.callNative("Streamer_SetChunkTickRate","iii",e,t,i),Dn=e=>samp.callNative("Streamer_GetChunkSize","i",e),Tn=(e,t)=>samp.callNative("Streamer_SetChunkSize","ii",e,t),vn=e=>samp.callNative("Streamer_GetMaxItems","i",e),bn=(e,t)=>samp.callNative("Streamer_SetMaxItems","ii",e,t),ci=(e,t=-1)=>samp.callNative("Streamer_GetVisibleItems","ii",e,t),di=(e,t,i=-1)=>samp.callNative("Streamer_SetVisibleItems","iii",e,t,i),hi=(e,t=-1)=>{const[i,a]=samp.callNative("Streamer_GetRadiusMultiplier","iFi",e,t);return{multiplier:i,ret:a}},ui=(e,t,i=-1)=>samp.callNative("Streamer_SetRadiusMultiplier","ifi",e,t,i),Ln=()=>{const[e,t]=samp.callNative("Streamer_GetTypePriority","Ai",f.MAX_TYPES);return{priority:e,ret:t}},wn=e=>samp.callNative("Streamer_SetTypePriority","ai",e,f.MAX_TYPES),Rn=()=>{const[e,t]=samp.callNative("Streamer_GetCellDistance","F");return{distance:e,ret:t}},On=(e=600)=>samp.callNative("Streamer_SetCellDistance","f",e),Gn=()=>{const[e,t]=samp.callNative("Streamer_GetCellSize","F");return{size:e,ret:t}},jn=(e=300)=>samp.callNative("Streamer_SetCellSize","f",e),Fn=(e,t,i)=>samp.callNative("Streamer_ToggleItemStatic","iii",e,t,i),Mn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemStatic","ii",e,t),kn=(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),xn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemCallbacks","ii",e,t),Hn=e=>samp.callNative("Streamer_ToggleErrorCallback","i",e),Wn=()=>!!samp.callNative("Streamer_IsToggleErrorCallback",""),Un=e=>samp.callNative("Streamer_AmxUnloadDestroyItems","i",e),Kn=()=>samp.callNative("Streamer_ProcessActiveItems",""),Xn=(e,t)=>samp.callNative("Streamer_ToggleIdleUpdate","ii",e,t),Zn=e=>!!samp.callNative("Streamer_IsToggleIdleUpdate","i",e),Yn=(e,t)=>samp.callNative("Streamer_ToggleCameraUpdate","ii",e,t),zn=e=>!!samp.callNative("Streamer_IsToggleCameraUpdate","i",e),Jn=(e,t,i)=>samp.callNative("Streamer_ToggleItemUpdate","iii",e,t,i),$n=(e,t)=>!!samp.callNative("Streamer_IsToggleItemUpdate","ii",e,t),Qn=()=>{const[e,t]=samp.callNative("Streamer_GetLastUpdateTime","F");return{time:e,ret:t}},qn=(e,t=-1)=>samp.callNative("Streamer_Update","ii",e,t),es=(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,_),ee=new Map,gi=new Map;function ts(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function mi(e,t,...i){const{defaultValue:a=!0,name:r,beforeEach:n,afterEach:s,throwOnError:o=!1}=e,_=ee.get(r);if(!_||!_.length)return+a;const d=n?n(...i):{},h=[];let g=t;const I=()=>{s&&(h.length?Promise.allSettled(h).then(()=>s(d)):s(d))},S=y=>{if(g++,g<_.length){try{y&&Object.assign(d,y);const L={next:S,defaultValue:a,...d},M=_[g](L);return M instanceof Promise?(h.push(M),a):M}catch(L){const M=`executing event [name:${r},index:${g}]`;if(o)throw new Error(M);console.log(M),L instanceof Error?console.log(L):console.log(JSON.stringify(L)),I()}return a}return I(),a};return ts(S(),a)}function m(e){const{name:t,identifier:i,isNative:a=!0}=e;if(ee.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=ee.get(t);if(h&&h.length){const g=h.indexOf(_.skipToNext);g>-1&&(d=g)}}return mi(e,d,..._.args)}return mi(e,-1,...o)}function n(o,_=!1){ee.has(t)||ee.set(t,[]);const d=ee.get(t),h=(_?d.unshift(o):d.push(o))-1;return()=>{const g=ee.get(t);if(!g)return;const I=g.length-1,S=I<h?I:h;for(let y=S;y>=0;y--)if(g[y]===o){g.splice(y,1);break}return g.length===0&&ee.delete(t),g.length}}const s=[n,r];return a&&(typeof i<"u"&&samp.registerEvent(t,i),samp.on(t,r)),gi.set(t,r),s}function is(e){return gi.get(e)}function as(e){return Object.assign(e,{__trigger__:!0})}function Pi(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 rs(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 dt(e){return e==="__proto__"}function tt(e,t){const i=Object.keys(t);for(let a=0;a<i.length;a++){const r=i[a];if(dt(r))continue;const n=t[r],s=e[r];Array.isArray(n)?Array.isArray(s)?e[r]=tt(s,n):e[r]=tt([],n):Pi(n)?Pi(s)?e[r]=tt(s,n):e[r]=tt({},n):(s===void 0||n!==void 0)&&(e[r]=n)}return e}function ns(e,t){const i={...e};for(let a=0;a<t.length;a++){const r=t[a];delete i[r]}return i}const ss=new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+","gu");function ls(e){return Array.from(e.match(ss)??[])}function pt(e){return ls(e).map(i=>i.toLowerCase()).join("_")}function os(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 _s(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 It(e,t,i){if(e==null)return i;switch(typeof t){case"string":{if(dt(t))return i;const a=e[t];return a===void 0?os(t)?It(e,_s(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 cs(e,t,i);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),dt(t))return i;const a=e[t];return a===void 0?i:a}}}function cs(e,t,i){if(t.length===0)return i;let a=e;for(let r=0;r<t.length;r++){if(a==null||dt(t[r]))return i;a=a[t[r]]}return a===void 0?i:a}const{encode:ds,decode:hs,encodingExists:us}=Ui;function gs(e){return e instanceof Buffer}class E{constructor(t,i){this.defaultLocale=t,this.locales=i,this.defaultLocale=pt(t),this.locales=E.snakeLocaleKeys(i)}addLocales=t=>{tt(this.locales,E.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=ns(this.locales,t)};$t=(t,i,a=this.defaultLocale)=>{const r=this.locales[pt(a)],n=It(this.locales[this.defaultLocale],t),s=It(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=Wi.format(o,...i)),o};static isValidate(t){if(!us(t))throw new Error(`[i18n]: unknown charset ${t}`)}static encodeToBuf(t,i){return E.isValidate(i),[...ds(t,i),0]}static decodeFromBuf(t,i="utf8"){E.isValidate(i);const a=gs(t)?t:Buffer.from(E.getValidStr(t));return hs(a,i)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return rs(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 ms=e=>!!samp.callNative("IsValidNickName","s",e),Ps=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},fs=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),ps=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),Is=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),Cs=e=>!!samp.callNative("IsValidServerRule","s",e),ys=e=>!!samp.callNative("RemoveServerRule","s",e),Ss=e=>{samp.callNative("AllowAdminTeleport","i",e)},Es=()=>!!samp.callNative("IsAdminTeleportAllowed",""),As=e=>{samp.callNative("AllowInteriorWeapons","i",e)},Ns=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),Ds=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Ts=e=>{samp.callNative("EnableAllAnimations","i",e)},vs=e=>{const[t,i]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return{consoleVarBuf:t,ret:i}},bs=e=>samp.callNative("GetConsoleVarAsInt","s",e),Ls=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),ws=()=>samp.callNative("GetWeather",""),Rs=e=>samp.callNative("GetServerRuleFlags","s",e),Os=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Gs=e=>!!samp.callNative("SetModeRestartTime","f",e),js=()=>samp.callNativeFloat("GetModeRestartTime",""),Fs=(e,t,i)=>!!samp.callNative("GameTextForAll","aii",e,t,i),Ms=e=>!!samp.callNative("HideGameTextForAll","i",e),ks=(e,t,i)=>!!samp.callNative("SendDeathMessage","iii",e,t,i),Vs=()=>samp.callNative("GetMaxPlayers",""),Ct=(e,t,i)=>Math.sqrt(e*e+t*t+i*i),Bs=e=>!!samp.callNative("SetGameModeText","s",e),xs=e=>{samp.callNative("ShowNameTags","i",e)},Hs=e=>{samp.callNative("ShowPlayerMarkers","i",e)},Ws=e=>{samp.callNative("SetWorldTime","i",e)},Us=()=>samp.callNative("GetWorldTime",""),Ks=()=>{samp.callNative("EnableVehicleFriendlyFire","")},Xs=e=>{samp.callNative("SetWeather","i",e)},Zs=()=>samp.callNativeFloat("GetGravity",""),Ys=e=>{samp.callNative("SetGravity","f",e)},zs=(e,t,i,a,r)=>!!samp.callNative("CreateExplosion","fffif",e,t,i,a,r),Js=e=>{samp.callNative("EnableZoneNames","i",e)},$s=()=>{samp.callNative("UsePlayerPedAnims","")},Qs=()=>{samp.callNative("DisableInteriorEnterExits","")},qs=e=>{samp.callNative("SetNameTagDrawDistance","f",e)},el=()=>{samp.callNative("DisableNameTagLOS","")},tl=e=>!!samp.callNative("LimitGlobalChatRadius","f",e),il=e=>!!samp.callNative("LimitPlayerMarkerRadius","f",e),al=()=>samp.callNative("GetServerTickRate",""),rl=e=>{const[t,i,a]=samp.callNative("GetAnimationName","iSiSi",e,32,32);return{animLib:t,animName:i,ret:!!a}},nl=e=>{samp.callNative("EnableStuntBonusForAll","i",e)},sl=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},ll=()=>!!samp.callNative("ChatTextReplacementToggled",""),ol=e=>samp.callNative("GetWeaponSlot","i",e),_l=e=>{const[t,i]=samp.callNative("GetWeaponName","iSi",e,32);return{name:t,ret:!!i}},cl=()=>samp.callNative("GetAvailableClasses",""),dl=e=>{const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[i,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h=0,g=0,I=0,S=0,y]=t;return{teamId:i,modelId:a,spawnX:r,spawnY:n,spawnZ:s,zAngle:o,weapon1:_,weapon1Ammo:d,weapon2:h,weapon2Ammo:g,weapon3:I,weapon3Ammo:S,ret:!!y}},hl=(e,t,i,a,r,n,s,o,_,d,h,g,I)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,g,I),ul=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),ml=(e,t,i,a,r,n,s,o,_,d,h,g)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,g),Pl=(e,t,i,a,r,n,s,o,_,d,h,g,I)=>!!samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,g,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,g=0,I=0,S]=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:g,weapon3Ammo:I,ret:!!S}},Il=e=>samp.callNative("NetStats_GetConnectedTime","i",e),Cl=e=>samp.callNative("NetStats_MessagesReceived","i",e),yl=e=>samp.callNative("NetStats_BytesReceived","i",e),Sl=e=>samp.callNative("NetStats_MessagesSent","i",e),El=e=>samp.callNative("NetStats_BytesSent","i",e),Al=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),Nl=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Dl=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Tl=e=>{const[t,i]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return{ipPort:t,ret:i}},vl=e=>!!samp.callNative("IsPlayerAdmin","i",e),bl=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),Ll=e=>!!samp.callNative("Kick","i",e),wl=e=>!!samp.callNative("Ban","i",e),Rl=e=>{const[t,i]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return{stats:t,ret:!!i}},Ol=()=>{const[e,t]=samp.callNative("GetNetworkStats","Si",1024);return{stats:e,ret:!!t}},Gl=(e,t)=>!!samp.callNative("BlockIpAddress","si",e,t),jl=e=>!!samp.callNative("UnBlockIpAddress","s",e),Fl=(e,t)=>{const[i,a]=samp.callNative("gpci","iAi",e,41);return{val:E.decodeFromBuf(E.getValidStr(i),t),ret:a}},Ml=(e,t,i,a,r)=>!!samp.callNative("SendClientCheck","iiiii",e,t,i,a,r),kl=()=>!!samp.callNative("ClearBanList",""),Vl=e=>!!samp.callNative("IsBanned","s",e),Bl=e=>samp.callNative("GetPlayerRawIp","i",e),xl=e=>{const[t,i]=samp.callNative("GetPlayerIp","iSi",e,128);return{ip:t,ret:i}},Hl=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},Wl=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),Ul=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Kl=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Xl=e=>samp.callNative("GetPlayerWeather","i",e),Zl=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}},Yl=e=>samp.callNativeFloat("GetPlayerZAim","i",e),zl=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:i,fOffsetZ:a,ret:!!r}},Jl=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}},$l=e=>samp.callNative("GetPlayerDialogID","i",e),Ql=e=>samp.callNative("GetPlayerSpectateID","i",e),ql=e=>samp.callNative("GetPlayerSpectateType","i",e),eo=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),to=e=>samp.callNativeFloat("GetPlayerGravity","i",e),io=e=>!!samp.callNative("IsPlayerSpawned","i",e),ao=e=>!!samp.callNative("IsPlayerControllable","i",e),ro=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),no=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),so=e=>!!samp.callNative("GetPlayerGhostMode","i",e),lo=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),oo=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),_o=e=>!!samp.callNative("HidePlayerDialog","i",e),co=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),ho=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),uo=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),go=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),mo=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),Po=(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),Io=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),Co=e=>!!samp.callNative("IsPlayerNPC","i",e),yo=(e,t,i,a)=>!!samp.callNative("SetPlayerPos","ifff",e,t,i,a),So=(e,t,i,a)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,i,a),Eo=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),No=e=>{const[t,i]=samp.callNative("GetPlayerFacingAngle","iF",e);return{angle:t,ret:!!i}},Do=(e,t,i,a,r)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,i,a,r),To=(e,t,i,a)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,i,a),vo=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),bo=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),Lo=e=>samp.callNative("GetPlayerInterior","i",e),wo=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),Ro=e=>{const[t,i]=samp.callNative("GetPlayerHealth","iF",e);return{health:t,ret:!!i}},Oo=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),Go=e=>{const[t,i]=samp.callNative("GetPlayerArmour","iF",e);return{armour:t,ret:!!i}},jo=(e,t,i)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,i),Fo=e=>samp.callNative("GetPlayerAmmo","i",e),Mo=e=>samp.callNative("GetPlayerWeaponState","i",e),ko=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Vo=(e,t)=>!!samp.callNative("SetPlayerTeam","ii",e,t),Bo=e=>samp.callNative("GetPlayerTeam","i",e),xo=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),Ho=e=>samp.callNative("GetPlayerScore","i",e),Wo=e=>samp.callNative("GetPlayerDrunkLevel","i",e),Uo=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),Ko=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,N(t)),Xo=e=>samp.callNative("GetPlayerColor","i",e),Zo=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),Yo=e=>samp.callNative("GetPlayerSkin","i",e),zo=(e,t,i)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,i),Jo=e=>!!samp.callNative("ResetPlayerWeapons","i",e),$o=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),Qo=(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),e_=e=>!!samp.callNative("ResetPlayerMoney","i",e),t_=e=>samp.callNative("GetPlayerMoney","i",e),i_=e=>samp.callNative("GetPlayerState","i",e),a_=e=>samp.callNative("GetPlayerPing","i",e),r_=e=>samp.callNative("GetPlayerWeapon","i",e),n_=e=>{const[t,i,a,r]=samp.callNative("GetPlayerKeys","iIII",e);return{keys:t,upDown:i,leftRight:a,ret:!!r}},s_=(e,t,i)=>!!samp.callNative("SetPlayerTime","iii",e,t,i),l_=e=>{const[t,i,a]=samp.callNative("GetPlayerTime","iII",e);return{hour:t,minute:i,ret:!!a}},o_=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),__=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),c_=e=>!!samp.callNative("ForceClassSelection","i",e),d_=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),h_=e=>samp.callNative("GetPlayerWantedLevel","i",e),u_=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),g_=e=>samp.callNative("GetPlayerFightingStyle","i",e),m_=(e,t,i,a)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,i,a),P_=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),I_=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),C_=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),y_=(e,t,i)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,i),S_=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),E_=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),A_=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),N_=(e,t,i,a,r,n)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,i,a,r,n),D_=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}},T_=(e,t,i)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,i),v_=e=>samp.callNative("GetPlayerVehicleID","i",e),b_=e=>samp.callNative("GetPlayerVehicleSeat","i",e),L_=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),w_=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),R_=(e,t,i,a,r)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,i,a,r),O_=(e,t,i,a,r,n,s,o,_,d)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,i,a,r,n,s,o,_,d),G_=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),j_=e=>samp.callNative("GetPlayerAnimationIndex","i",e),F_=e=>samp.callNative("GetPlayerSpecialAction","i",e),M_=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),k_=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),V_=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),B_=e=>samp.callNative("GetPlayerVirtualWorld","i",e),x_=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),H_=e=>samp.callNative("GetPlayerCustomSkin","i",e),W_=(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),K_=e=>!!samp.callNative("StopRecordingPlayerData","i",e),X_=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),Z_=(e,t,i)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,i),Y_=(e,t,i)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,i),z_=e=>!!samp.callNative("IsPlayerConnected","i",e),J_=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),$_=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),Q_=(e,t,i,a,r)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,i,a,r),q_=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),ec=(e,t,i)=>!!samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,N(i));function tc(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",e,t)}const ic=(e,t,i)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,i),ac=(e,t,i,a,r,n,s,o)=>!!samp.callNative("SetPlayerMapIcon","iifffiii",e,t,i,a,r,n,N(s),o),rc=(e,t)=>!!samp.callNative("RemovePlayerMapIcon","ii",e,t),nc=(e,t,i,a)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,i,a),sc=(e,t,i,a,r)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,i,a,r),lc=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),oc=e=>{const[t,i,a,r]=samp.callNative("GetPlayerCameraPos","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},_c=e=>{const[t,i,a,r]=samp.callNative("GetPlayerCameraFrontVector","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},cc=e=>samp.callNative("GetPlayerCameraMode","i",e),dc=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),hc=e=>samp.callNative("GetPlayerCameraTargetObject","i",e),uc=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),gc=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),mc=e=>samp.callNative("GetPlayerCameraTargetActor","i",e),Pc=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),fc=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),pc=(e,t)=>!!samp.callNative("AttachCameraToObject","ii",e,t),Ic=(e,t)=>!!samp.callNative("AttachCameraToPlayerObject","ii",e,t),Cc=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,i,a,r,n,s,o,_),yc=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,i,a,r,n,s,o,_),Sc=e=>!!samp.callNative("IsPlayerCuffed","i",e),Ec=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),Ac=e=>!!samp.callNative("IsPlayerUsingOmp","i",e),Nc=e=>!!samp.callNative("PlayerHasClockEnabled","i",e),Dc=e=>samp.callNative("GetActorSkin","i",e),Tc=(e,t)=>!!samp.callNative("SetActorSkin","ii",e,t),vc=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}},bc=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}},Lc=(e,t,i,a,r)=>samp.callNative("CreateActor","iffff",e,t,i,a,r),wc=e=>!!samp.callNative("DestroyActor","i",e),Rc=(e,t)=>!!samp.callNative("IsActorStreamedIn","ii",e,t),Oc=(e,t)=>!!samp.callNative("SetActorVirtualWorld","ii",e,t),Gc=e=>samp.callNative("GetActorVirtualWorld","i",e),jc=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("ApplyActorAnimation","issfiiiii",e,t,i,a,r,n,s,o,_),Fc=e=>!!samp.callNative("ClearActorAnimations","i",e),Mc=(e,t,i,a)=>!!samp.callNative("SetActorPos","ifff",e,t,i,a),kc=e=>{const[t,i,a,r]=samp.callNative("GetActorPos","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},Vc=(e,t)=>!!samp.callNative("SetActorFacingAngle","if",e,t),Bc=e=>{const[t,i]=samp.callNative("GetActorFacingAngle","iF",e);return{angle:t,ret:!!i}},xc=(e,t)=>!!samp.callNative("SetActorHealth","if",e,t),Hc=e=>{const[t,i]=samp.callNative("GetActorHealth","iF",e);return{health:t,ret:!!i}},Wc=(e,t)=>!!samp.callNative("SetActorInvulnerable","ii",e,t),Uc=e=>!!samp.callNative("IsActorInvulnerable","i",e),Kc=e=>!!samp.callNative("IsValidActor","i",e),Xc=e=>samp.callNative("NPC_Create","s",e),Zc=e=>!!samp.callNative("NPC_Destroy","i",e),Yc=e=>!!samp.callNative("NPC_IsValid","i",e),zc=e=>!!samp.callNative("NPC_Spawn","i",e),Jc=e=>!!samp.callNative("NPC_Respawn","i",e),$c=(e,t,i,a)=>!!samp.callNative("NPC_SetPos","ifff",e,t,i,a),Qc=(e,t,i,a)=>!!samp.callNative("NPC_SetRot","ifff",e,t,i,a),qc=e=>{const[t,i,a,r]=samp.callNative("NPC_GetRot","iFFF",e);return{rX:t,rY:i,rZ:a,ret:!!r}},ed=(e,t)=>!!samp.callNative("NPC_SetFacingAngle","if",e,t),td=e=>{const[t,i]=samp.callNative("NPC_GetFacingAngle","iF",e);return{angle:t,ret:!!i}},id=(e,t)=>!!samp.callNative("NPC_SetVirtualWorld","ii",e,t),ad=e=>samp.callNative("NPC_GetVirtualWorld","i",e),rd=(e,t,i,a,r,n)=>!!samp.callNative("NPC_Move","ifffif",e,t,i,a,r,n),nd=(e,t,i,a)=>!!samp.callNative("NPC_MoveToPlayer","iiif",e,t,i,a),sd=e=>!!samp.callNative("NPC_StopMove","i",e),ld=e=>!!samp.callNative("NPC_IsMoving","i",e),od=(e,t)=>!!samp.callNative("NPC_IsMovingToPlayer","ii",e,t),_d=(e,t)=>!!samp.callNative("NPC_SetSkin","ii",e,t),cd=e=>samp.callNative("NPC_GetSkin","i",e),dd=(e,t)=>!!samp.callNative("NPC_IsStreamedIn","ii",e,t),hd=e=>!!samp.callNative("NPC_IsAnyStreamedIn","i",e),ud=(e,t)=>!!samp.callNative("NPC_SetInterior","ii",e,t),gd=e=>samp.callNative("NPC_GetInterior","i",e),md=(e,t)=>!!samp.callNative("NPC_SetHealth","if",e,t),Pd=e=>samp.callNativeFloat("NPC_GetHealth","i",e),fd=(e,t)=>!!samp.callNative("NPC_SetArmour","if",e,t),pd=e=>samp.callNativeFloat("NPC_GetArmour","i",e),Id=e=>!!samp.callNative("NPC_IsDead","i",e),Cd=(e,t,i,a,r,n,s,o,_,d)=>!!samp.callNative("NPC_ApplyAnimation","issfiiiiii",e,t,i,a,r,n,s,o,_,d),yd=(e,t)=>!!samp.callNative("NPC_SetWeapon","ii",e,t),Sd=e=>samp.callNative("NPC_GetWeapon","i",e),Ed=(e,t)=>!!samp.callNative("NPC_SetAmmo","ii",e,t),Ad=e=>samp.callNative("NPC_GetAmmo","i",e),Nd=(e,t,i,a)=>!!samp.callNative("NPC_SetKeys","iiii",e,t,i,a),Dd=e=>{const[t,i,a,r]=samp.callNative("NPC_GetKeys","iIII",e);return{upAndDown:t,leftAndDown:i,keys:a,ret:!!r}},Td=(e,t,i)=>!!samp.callNative("NPC_SetWeaponSkillLevel","iii",e,t,i),vd=(e,t)=>samp.callNative("NPC_GetWeaponSkillLevel","ii",e,t),bd=(e,t=-1,i=!1)=>!!samp.callNative("NPC_MeleeAttack","iii",e,t,i),Ld=e=>!!samp.callNative("NPC_StopMeleeAttack","i",e),wd=e=>!!samp.callNative("NPC_IsMeleeAttacking","i",e),Rd=(e,t)=>!!samp.callNative("NPC_SetFightingStyle","ii",e,t),Od=e=>samp.callNative("NPC_GetFightingStyle","i",e),Gd=(e,t=!0)=>!!samp.callNative("NPC_EnableReloading","ii",e,t),jd=e=>!!samp.callNative("NPC_IsReloadEnabled","i",e),Fd=e=>!!samp.callNative("NPC_IsReloading","i",e),Md=(e,t=!0)=>!!samp.callNative("NPC_EnableInfiniteAmmo","ii",e,t),kd=e=>!!samp.callNative("NPC_IsInfiniteAmmoEnabled","i",e),Vd=(e,t)=>!!samp.callNative("NPC_SetWeaponState","ii",e,t),Bd=e=>samp.callNative("NPC_GetWeaponState","i",e),xd=(e,t)=>!!samp.callNative("NPC_SetAmmoInClip","ii",e,t),Hd=e=>samp.callNative("NPC_GetAmmoInClip","i",e),Wd=(e,t,i,a,r,n,s,o=0,_=0,d=0,h=!0,g=ue.ALL)=>!!samp.callNative("NPC_Shoot","iiiffffffii",e,t,i,a,r,n,s,o,_,d,h,g),Ud=e=>!!samp.callNative("NPC_IsShooting","i",e),Kd=(e,t,i,a,r=!1,n=-1,s=!0,o=0,_=0,d=0,h=ue.ALL)=>!!samp.callNative("NPC_AimAt","ifffiiifffi",e,t,i,a,r,n,s,o,_,d,h),Xd=(e,t,i=!1,a=-1,r=!0,n=0,s=0,o=0,_=0,d=0,h=0,g=ue.ALL)=>!!samp.callNative("NPC_AimAtPlayer","iiiiiffffffi",e,t,i,a,r,n,s,o,_,d,h,g),Zd=e=>!!samp.callNative("NPC_StopAim","i",e),Yd=e=>!!samp.callNative("NPC_IsAiming","i",e),zd=(e,t)=>!!samp.callNative("NPC_IsAimingAtPlayer","ii",e,t),Jd=(e,t,i)=>!!samp.callNative("NPC_SetWeaponAccuracy","iif",e,t,i),$d=(e,t)=>samp.callNativeFloat("NPC_GetWeaponAccuracy","ii",e,t),Qd=(e,t,i)=>!!samp.callNative("NPC_SetWeaponReloadTime","iii",e,t,i),qd=(e,t)=>samp.callNative("NPC_GetWeaponReloadTime","ii",e,t),eh=(e,t)=>samp.callNative("NPC_GetWeaponActualReloadTime","ii",e,t),th=(e,t,i)=>!!samp.callNative("NPC_SetWeaponShootTime","iii",e,t,i),ih=(e,t)=>samp.callNative("NPC_GetWeaponShootTime","ii",e,t),ah=(e,t,i)=>!!samp.callNative("NPC_SetWeaponClipSize","iii",e,t,i),rh=(e,t)=>samp.callNative("NPC_GetWeaponClipSize","ii",e,t),nh=(e,t)=>samp.callNative("NPC_GetWeaponActualClipSize","ii",e,t),sh=(e,t,i,a)=>!!samp.callNative("NPC_EnterVehicle","iiii",e,t,i,a),lh=e=>!!samp.callNative("NPC_ExitVehicle","i",e),oh=(e,t,i)=>!!samp.callNative("NPC_PutInVehicle","iii",e,t,i),_h=e=>!!samp.callNative("NPC_RemoveFromVehicle","i",e),ch=e=>samp.callNative("NPC_GetVehicle","i",e),dh=e=>samp.callNative("NPC_GetVehicleSeat","i",e),hh=e=>samp.callNative("NPC_GetEnteringVehicle","i",e),uh=e=>samp.callNative("NPC_GetEnteringVehicleSeat","i",e),gh=e=>!!samp.callNative("NPC_IsEnteringVehicle","i",e),mh=(e,t)=>!!samp.callNative("NPC_UseVehicleSiren","ii",e,t),Ph=e=>!!samp.callNative("NPC_IsVehicleSirenUsed","i",e),fh=(e,t)=>!!samp.callNative("NPC_SetVehicleHealth","if",e,t),ph=e=>samp.callNativeFloat("NPC_GetVehicleHealth","i",e),Ih=(e,t)=>!!samp.callNative("NPC_SetVehicleHydraThrusters","ii",e,t),Ch=e=>samp.callNative("NPC_GetVehicleHydraThrusters","i",e),yh=(e,t)=>!!samp.callNative("NPC_SetVehicleGearState","ii",e,t),Sh=e=>samp.callNative("NPC_GetVehicleGearState","i",e),Eh=(e,t)=>!!samp.callNative("NPC_SetVehicleTrainSpeed","if",e,t),Ah=e=>samp.callNativeFloat("NPC_GetVehicleTrainSpeed","i",e),Nh=e=>!!samp.callNative("NPC_ResetAnimation","i",e),Dh=(e,t,i,a,r,n,s,o)=>!!samp.callNative("NPC_SetAnimation","iifiiiii",e,t,i,a,r,n,s,o),Th=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:!!_}},vh=e=>!!samp.callNative("NPC_ClearAnimations","i",e),bh=(e,t)=>!!samp.callNative("NPC_SetSpecialAction","ii",e,t),Lh=e=>samp.callNative("NPC_GetSpecialAction","i",e),wh=(e,t,i=!1,a=0,r=0,n=0,s=0,o=0,_=0)=>!!samp.callNative("NPC_StartPlayback","isiffffff",e,t,i,a,r,n,s,o,_),Rh=(e,t,i=!1,a=0,r=0,n=0,s=0,o=0,_=0)=>!!samp.callNative("NPC_StartPlaybackEx","iiiffffff",e,t,i,a,r,n,s,o,_),Oh=e=>!!samp.callNative("NPC_StopPlayback","i",e),Gh=(e,t=!0)=>!!samp.callNative("NPC_PausePlayback","ii",e,t),jh=e=>!!samp.callNative("NPC_IsPlayingPlayback","i",e),Fh=e=>!!samp.callNative("NPC_IsPlaybackPaused","i",e),Mh=(e,t,i,a,r,n)=>!!samp.callNative("NPC_PlayNode","iiiffi",e,t,i,a,r,n),kh=e=>!!samp.callNative("NPC_StopPlayingNode","i",e),Vh=e=>!!samp.callNative("NPC_PausePlayingNode","i",e),Bh=e=>!!samp.callNative("NPC_ResumePlayingNode","i",e),xh=e=>!!samp.callNative("NPC_IsPlayingNodePaused","i",e),Hh=e=>!!samp.callNative("NPC_IsPlayingNode","i",e),Wh=(e,t,i)=>!!samp.callNative("NPC_ChangeNode","iii",e,t,i),Uh=(e,t)=>!!samp.callNative("NPC_UpdateNodePoint","ii",e,t),Kh=(e,t=!0)=>!!samp.callNative("NPC_SetInvulnerable","ii",e,t),Xh=e=>!!samp.callNative("NPC_IsInvulnerable","i",e),Zh=(e,t,i,a)=>!!samp.callNative("NPC_SetSurfingOffsets","ifff",e,t,i,a),Yh=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),Jh=e=>samp.callNative("NPC_GetSurfingVehicle","i",e),$h=(e,t)=>!!samp.callNative("NPC_SetSurfingObject","ii",e,t),Qh=e=>samp.callNative("NPC_GetSurfingObject","i",e),qh=(e,t)=>!!samp.callNative("NPC_SetSurfingPlayerObject","ii",e,t),eu=e=>samp.callNative("NPC_GetSurfingPlayerObject","i",e),tu=e=>!!samp.callNative("NPC_ResetSurfingData","i",e),iu=e=>!!samp.callNative("NPC_IsSpawned","i",e),au=(e,t,i)=>!!samp.callNative("NPC_Kill","iii",e,t,i),ru=(e,t,i,a)=>!!samp.callNative("NPC_SetVelocity","ifff",e,t,i,a),nu=e=>{const[t,i,a,r]=samp.callNative("NPC_GetVelocity","iFFF",e);return{x:t,y:i,z:a,ret:r}},su=e=>samp.callNative("NPC_GetPlayerAimingAt","i",e),lu=e=>samp.callNative("NPC_GetPlayerMovingTo","i",e),ou=e=>{const[t,i,a,r]=samp.callNative("NPC_GetPosMovingTo","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},_u=e=>samp.callNative("NPC_GetCustomSkin","i",e),cu=(e,t,i,a)=>!!samp.callNative("NPC_SetAngleToPos","ifff",e,t,i,a),du=(e,t)=>!!samp.callNative("NPC_SetAngleToPlayer","ii",e,t),hu=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}},uu=(e,t,i,a,r,n,s,o,_=-2,d=-2)=>!!samp.callNative("SetVehicleSpawnInfo","iiffffiiii",e,t,i,a,r,n,s,o,_,d),gu=e=>{const[t=0,i=0,a]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:i,ret:!!a}},mu=e=>samp.callNative("GetVehiclePaintjob","i",e),Pu=e=>samp.callNative("GetVehicleInterior","i",e),fu=e=>{const[t,i]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return{plate:t,ret:!!i}},pu=(e,t)=>!!samp.callNative("SetVehicleRespawnDelay","ii",e,t),Iu=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Cu=e=>samp.callNative("GetVehicleCab","i",e),yu=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Su=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Eu=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Au=e=>!!samp.callNative("IsVehicleOccupied","i",e),Nu=e=>samp.callNative("GetVehicleRespawnTick","i",e),Du=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Tu=e=>!!samp.callNative("IsVehicleDead","i",e),vu=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),bu=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),Lu=(e,t)=>!!samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),wu=(e,t)=>!!samp.callNative("SetVehicleParamsSirenState","ii",e,+t),Ru=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),Ou=e=>samp.callNative("GetVehicleModelCount","i",e),Ii=e=>samp.callNative("GetVehicleLastDriver","i",e),Ci=e=>samp.callNative("GetVehicleDriver","i",e),Gu=()=>samp.callNative("GetVehicleModelsUsed",""),ju=e=>!!samp.callNative("GetVehicleSirenState","i",e),Fu=e=>samp.callNative("GetVehicleLandingGearState","i",e),Mu=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),ku=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),Vu=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}},Bu=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,i,a,r],ret:!!n}},xu=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),Hu=(e,t,i,a,r,n,s,o,_)=>samp.callNative("CreateVehicle","iffffiiii",e,t,i,a,r,N(n),N(s),o,_),Wu=e=>!!samp.callNative("DestroyVehicle","i",e),Uu=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),Ku=e=>{const[t,i,a,r]=samp.callNative("GetVehiclePos","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},Xu=(e,t,i,a)=>!!samp.callNative("SetVehiclePos","ifff",e,t,i,a),Zu=e=>{const[t,i]=samp.callNative("GetVehicleZAngle","iF",e);return{angle:t,ret:!!i}},Yu=e=>{const[t,i,a,r]=samp.callNative("GetVehicleRotation","iFFF",e);return{x:t,y:i,z:a,ret:r}},zu=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleRotationQuat","iFFFF",e);return{w:t,x:i,y:a,z:r,ret:!!n}},Ju=(e,t,i,a)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,i,a),$u=(e,t)=>!!samp.callNative("SetVehicleZAngle","if",e,t),Qu=(e,t,i=G.UNSET,a=G.UNSET)=>!!samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,i,a),qu=()=>{samp.callNative("ManualVehicleEngineAndLights","")},eg=(e,t,i,a,r,n,s,o)=>!!samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,i,a,r,n,s,o),tg=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),ig=e=>samp.callNative("GetVehicleParamsSirenState","i",e),ag=(e,t=G.UNSET,i=G.UNSET,a=G.UNSET,r=G.UNSET)=>!!samp.callNative("SetVehicleParamsCarDoors","iiiii",e,+t,+i,+a,+r),rg=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t,passenger:i,backLeft:a,backRight:r,ret:!!n}},ng=(e,t=G.UNSET,i=G.UNSET,a=G.UNSET,r=G.UNSET)=>!!samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,i,a,r),sg=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t,passenger:i,backLeft:a,backRight:r,ret:!!n}},lg=e=>!!samp.callNative("SetVehicleToRespawn","i",e),og=(e,t)=>!!samp.callNative("LinkVehicleToInterior","ii",e,t),_g=(e,t)=>!!samp.callNative("AddVehicleComponent","ii",e,t),cg=(e,t)=>!!samp.callNative("RemoveVehicleComponent","ii",e,t),dg=(e,t,i)=>!!samp.callNative("ChangeVehicleColor","iii",e,N(t),N(i)),hg=(e,t)=>!!samp.callNative("ChangeVehiclePaintjob","ii",e,t),ug=(e,t)=>!!samp.callNative("SetVehicleHealth","if",e,t),gg=e=>{const[t,i]=samp.callNative("GetVehicleHealth","iF",e);return{health:t,ret:!!i}},mg=(e,t)=>!!samp.callNative("AttachTrailerToVehicle","ii",e,t),Pg=e=>!!samp.callNative("DetachTrailerFromVehicle","i",e),fg=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),pg=e=>samp.callNative("GetVehicleTrailer","i",e),Ig=(e,t)=>!!samp.callNative("SetVehicleNumberPlate","is",e,t),Cg=e=>samp.callNative("GetVehicleModel","i",e),yg=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Sg=e=>samp.callNative("GetVehicleComponentType","i",e),Eg=e=>!!samp.callNative("RepairVehicle","i",e),Ag=e=>{const[t,i,a,r]=samp.callNative("GetVehicleVelocity","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},Ng=(e,t,i,a)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,i,a),Dg=(e,t,i,a)=>!!samp.callNative("SetVehicleAngularVelocity","ifff",e,t,i,a),Tg=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleDamageStatus","iIIII",e);return{panels:t,doors:i,lights:a,tires:r,ret:!!n}},vg=(e,t,i,a,r)=>!!samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,i,a,r),bg=(e,t)=>{const[i,a,r,n]=samp.callNative("GetVehicleModelInfo","iiFFF",e,t);return{x:i,y:a,z:r,ret:!!n}},Lg=(e,t)=>!!samp.callNative("SetVehicleVirtualWorld","ii",e,t),wg=e=>samp.callNative("GetVehicleVirtualWorld","i",e),Rg=e=>!!samp.callNative("IsValidVehicle","i",e),Og=(e,t,i,a,r,n,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,i,a,r,N(n),N(s)),Gg=(e,t,i,a,r,n,s,o,_)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,i,a,r,N(n),N(s),o,_),jg=e=>!!samp.callNative("ShowVehicle","i",e),Fg=e=>!!samp.callNative("HideVehicle","i",e),Mg=e=>!!samp.callNative("IsVehicleHidden","i",e),kg=e=>!!samp.callNative("IsPlayerInModShop","i",e),Vg=e=>!!samp.callNative("GetPlayerSirenState","i",e),Bg=e=>samp.callNative("GetPlayerLandingGearState","i",e),xg=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),Hg=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),Wg=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),Ug=e=>samp.callNative("GetVehicleMaxPassengers","i",e),Kg=e=>samp.callNative("CountVehicleOccupants","i",e),Xg=(e,t)=>!!samp.callNative("VehicleCanHaveComponent","ii",e,t),Zg=e=>samp.callNative("GetVehicleSeats","i",e),Yg=(e,t,i,a,r)=>!!samp.callNative("SetPlayerCheckpoint","iffff",e,t,i,a,r),zg=e=>!!samp.callNative("DisablePlayerCheckpoint","i",e),Jg=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("SetPlayerRaceCheckpoint","iifffffff",e,t,i,a,r,n,s,o,_),$g=e=>!!samp.callNative("DisablePlayerRaceCheckpoint","i",e),Qg=e=>!!samp.callNative("IsPlayerInCheckpoint","i",e),qg=e=>!!samp.callNative("IsPlayerInRaceCheckpoint","i",e),yi=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),Si=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}},Ei=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:!!_}},em=e=>!!samp.callNative("IsMenuDisabled","i",e),tm=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),im=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),am=e=>{const[t=0,i=0,a]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:i,ret:!!a}},rm=e=>{const[t=0,i=0,a]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:i,ret:!!a}},nm=e=>!!samp.callNative("DestroyMenu","i",e),sm=(e,t)=>!!samp.callNative("ShowMenuForPlayer","ii",e,t),lm=(e,t)=>!!samp.callNative("HideMenuForPlayer","ii",e,t),om=e=>!!samp.callNative("IsValidMenu","i",e),_m=e=>!!samp.callNative("DisableMenu","i",e),cm=(e,t)=>!!samp.callNative("DisableMenuRow","ii",e,t),Ni=e=>samp.callNative("GetPlayerMenu","i",e),dm=e=>!!samp.callNative("IsValid3DTextLabel","i",e),hm=(e,t)=>!!samp.callNative("Is3DTextLabelStreamedIn","ii",e,t),um=e=>samp.callNative("Get3DTextLabelColor","i",e),gm=e=>{const[t=0,i=0,a=0,r]=samp.callNative("Get3DTextLabelPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:!!r}},mm=(e,t)=>!!samp.callNative("Set3DTextLabelDrawDistance","ii",e,t),Pm=e=>samp.callNativeFloat("Get3DTextLabelDrawDistance","i",e),fm=e=>!!samp.callNative("Get3DTextLabelLOS","i",e),pm=(e,t)=>!!samp.callNative("Set3DTextLabelLOS","ii",e,t),Im=(e,t)=>!!samp.callNative("Set3DTextLabelVirtualWorld","ii",e,t),Cm=e=>samp.callNative("Get3DTextLabelVirtualWorld","i",e),ym=e=>{const[t=0,i=0,a]=samp.callNative("Get3DTextLabelAttachedData","i",e);return{attachedPlayerId:t,attachedVehicleId:i,ret:!!a}},Sm=e=>!!samp.callNative("Delete3DTextLabel","i",e),Em=(e,t,i,a,r)=>!!samp.callNative("Attach3DTextLabelToPlayer","iifff",e,t,i,a,r),Am=(e,t,i,a,r)=>!!samp.callNative("Attach3DTextLabelToVehicle","iifff",e,t,i,a,r),Nm=(e,t)=>!!samp.callNative("IsValidPlayer3DTextLabel","ii",e,t),Dm=(e,t)=>samp.callNative("GetPlayer3DTextLabelColor","ii",e,t),Tm=(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}},vm=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelDrawDistance","iii",e,t,i),bm=(e,t)=>samp.callNativeFloat("GetPlayer3DTextLabelDrawDistance","ii",e,t),Lm=(e,t)=>!!samp.callNative("GetPlayer3DTextLabelLOS","ii",e,t),wm=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelLOS","iii",e,t,i),Rm=(e,t)=>samp.callNative("GetPlayer3DTextLabelVirtualWorld","ii",e,t),Om=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelVirtualWorld","iii",e,t,i),Gm=(e,t)=>{const[i=0,a=0,r]=samp.callNative("GetPlayer3DTextLabelAttachedData","ii",e,t);return{attachedPlayerId:i,attachedVehicleId:a,ret:!!r}},jm=(e,t)=>!!samp.callNative("DeletePlayer3DTextLabel","ii",e,t),Fm=e=>!!samp.callNative("IsValidGangZone","i",e),Mm=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),km=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),Vm=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),Bm=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),xm=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Hm=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}},Wm=(e,t)=>!!samp.callNative("UseGangZoneCheck","ii",e,t),Um=(e,t,i,a)=>samp.callNative("GangZoneCreate","ffff",e,t,i,a),Km=e=>!!samp.callNative("GangZoneDestroy","i",e),Xm=(e,t,i)=>!!samp.callNative("GangZoneShowForPlayer","iii",e,t,N(i)),Zm=(e,t)=>!!samp.callNative("GangZoneShowForAll","ii",e,N(t)),Ym=(e,t)=>!!samp.callNative("GangZoneHideForPlayer","ii",e,t),zm=e=>!!samp.callNative("GangZoneHideForAll","i",e),Jm=(e,t,i)=>!!samp.callNative("GangZoneFlashForPlayer","iii",e,t,N(i)),$m=(e,t)=>!!samp.callNative("GangZoneFlashForAll","ii",e,N(t)),Qm=(e,t)=>!!samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),qm=e=>!!samp.callNative("GangZoneStopFlashForAll","i",e),eP=(e,t,i,a,r)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,i,a,r),tP=(e,t)=>!!samp.callNative("PlayerGangZoneDestroy","ii",e,t),iP=(e,t,i)=>!!samp.callNative("PlayerGangZoneShow","iii",e,t,i),aP=(e,t)=>!!samp.callNative("PlayerGangZoneHide","ii",e,t),rP=(e,t,i)=>!!samp.callNative("PlayerGangZoneFlash","iii",e,t,i),nP=(e,t)=>!!samp.callNative("PlayerGangZoneStopFlash","ii",e,t),sP=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),lP=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),oP=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),_P=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),cP=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),dP=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),hP=(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}},uP=(e,t,i)=>!!samp.callNative("UsePlayerGangZoneCheck","iii",e,t,i),gP=e=>!!samp.callNative("IsValidTextDraw","i",e),mP=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),PP=e=>{const[t,i]=samp.callNative("TextDrawGetString","iSi",e,1024);return{str:t,ret:!!i}},fP=(e,t,i)=>{samp.callNative("TextDrawSetPos","iff",e,t,i)},pP=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:i,ret:!!a}},IP=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:i,ret:!!a}},CP=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:i,ret:!!a}},yP=e=>samp.callNative("TextDrawGetColor","i",e),SP=e=>samp.callNative("TextDrawGetBoxColor","i",e),EP=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),AP=e=>samp.callNative("TextDrawGetShadow","i",e),NP=e=>samp.callNative("TextDrawGetOutline","i",e),DP=e=>samp.callNative("TextDrawGetFont","i",e),TP=e=>!!samp.callNative("TextDrawIsBox","i",e),vP=e=>!!samp.callNative("TextDrawIsProportional","i",e),bP=e=>!!samp.callNative("TextDrawIsSelectable","i",e),LP=e=>samp.callNative("TextDrawGetAlignment","i",e),wP=e=>samp.callNative("TextDrawGetPreviewModel","i",e),RP=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}},OP=e=>{const[t,i,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:i,ret:!!a}},GP=(e,t,i)=>!!samp.callNative("TextDrawSetStringForPlayer","iia",e,t,i),jP=(e,t,i)=>samp.callNative("TextDrawCreate","ffa",e,t,i),FP=e=>!!samp.callNative("TextDrawDestroy","i",e),MP=(e,t,i)=>!!samp.callNative("TextDrawLetterSize","iff",e,t,i),kP=(e,t,i)=>!!samp.callNative("TextDrawTextSize","iff",e,t,i),VP=(e,t)=>!!samp.callNative("TextDrawAlignment","ii",e,t),BP=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,N(t)),xP=(e,t)=>!!samp.callNative("TextDrawUseBox","ii",e,t),HP=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,N(t)),WP=(e,t)=>!!samp.callNative("TextDrawSetShadow","ii",e,t),UP=(e,t)=>!!samp.callNative("TextDrawSetOutline","ii",e,t),KP=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,N(t)),XP=(e,t)=>!!samp.callNative("TextDrawFont","ii",e,t),ZP=(e,t)=>!!samp.callNative("TextDrawSetProportional","ii",e,t),YP=(e,t)=>!!samp.callNative("TextDrawSetSelectable","ii",e,t),zP=(e,t)=>!!samp.callNative("TextDrawShowForPlayer","ii",e,t),JP=(e,t)=>!!samp.callNative("TextDrawHideForPlayer","ii",e,t),$P=e=>!!samp.callNative("TextDrawShowForAll","i",e),QP=e=>!!samp.callNative("TextDrawHideForAll","i",e),qP=(e,t)=>!!samp.callNative("TextDrawSetString","ia",e,t),ef=(e,t)=>!!samp.callNative("TextDrawSetPreviewModel","ii",e,t),tf=(e,t,i,a,r=1)=>!!samp.callNative("TextDrawSetPreviewRot","iffff",e,t,i,a,r),af=(e,t,i)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,N(t),N(i)),rf=(e,t)=>!!samp.callNative("SelectTextDraw","ii",e,N(t)),nf=e=>!!samp.callNative("CancelSelectTextDraw","i",e),sf=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),lf=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),of=(e,t)=>{const[i,a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return{str:i,ret:!!a}},_f=(e,t,i,a)=>!!samp.callNative("PlayerTextDrawSetPos","iiff",e,t,i,a),cf=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:i,fY:a,ret:!!r}},df=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:i,fY:a,ret:!!r}},hf=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:i,fY:a,ret:!!r}},uf=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),gf=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),mf=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),Pf=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),ff=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),pf=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),If=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),Cf=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),yf=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),Sf=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),Ef=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),Af=(e,t)=>{const[i=0,a=0,r=0,n=0,s]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:i,fRotY:a,fRotZ:r,fZoom:n,ret:!!s}},Nf=(e,t)=>{const[i,a,r]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:i,color2:a,ret:!!r}},Df=(e,t,i,a)=>samp.callNative("CreatePlayerTextDraw","iffa",e,t,i,a),Tf=(e,t)=>!!samp.callNative("PlayerTextDrawDestroy","ii",e,t),vf=(e,t,i,a)=>!!samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,i,a),bf=(e,t,i,a)=>!!samp.callNative("PlayerTextDrawTextSize","iiff",e,t,i,a),Lf=(e,t,i)=>!!samp.callNative("PlayerTextDrawAlignment","iii",e,t,i),wf=(e,t,i)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,N(i)),Rf=(e,t,i)=>!!samp.callNative("PlayerTextDrawUseBox","iii",e,t,i),Of=(e,t,i)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,N(i)),Gf=(e,t,i)=>!!samp.callNative("PlayerTextDrawSetShadow","iii",e,t,i),jf=(e,t,i)=>!!samp.callNative("PlayerTextDrawSetOutline","iii",e,t,i),Ff=(e,t,i)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,N(i)),Mf=(e,t,i)=>!!samp.callNative("PlayerTextDrawFont","iii",e,t,i),kf=(e,t,i)=>!!samp.callNative("PlayerTextDrawSetProportional","iii",e,t,i),Vf=(e,t,i)=>!!samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,i),Bf=(e,t)=>!!samp.callNative("PlayerTextDrawShow","ii",e,t),xf=(e,t)=>!!samp.callNative("PlayerTextDrawHide","ii",e,t),Hf=(e,t,i)=>!!samp.callNative("PlayerTextDrawSetString","iia",e,t,i),Wf=(e,t,i)=>!!samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,i),Uf=(e,t,i,a,r,n)=>!!samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,i,a,r,n),Kf=(e,t,i,a)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,i,a),Xf=e=>samp.callNativeFloat("GetObjectDrawDistance","i",e),Zf=e=>samp.callNativeFloat("GetObjectMoveSpeed","i",e),Yf=(e,t)=>!!samp.callNativeFloat("SetObjectMoveSpeed","if",e,t),zf=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetObjectMovingTargetPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:!!r}},Jf=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetObjectTarget","iFFF",e);return{fX:t,fY:i,fZ:a,ret:!!r}},$f=e=>{const[t=0,i=0,a=0,r=0,n=0,s=0,o]=samp.callNative("GetObjectAttachedOffset","i",e);return{fX:t,fY:i,fZ:a,fRotX:r,fRotY:n,fRotZ:s,ret:!!o}},Qf=e=>!!samp.callNative("GetObjectSyncRotation","i",e),qf=(e,t)=>!!samp.callNative("IsObjectMaterialSlotUsed","ii",e,t),ep=(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}},tp=(e,t,i,a,r,n,s,o=0)=>samp.callNative("CreateObject","ifffffff",e,t,i,a,r,n,s,o),ip=(e,t,i,a,r,n,s,o)=>!!samp.callNative("AttachObjectToVehicle","iiffffff",e,t,i,a,r,n,s,o),ap=(e,t,i,a,r,n,s,o,_,d=!0)=>!!samp.callNative("AttachPlayerObjectToObject","iiiffffffi",e,t,i,a,r,n,s,o,_,d),rp=(e,t,i,a,r,n,s,o,_=!0)=>!!samp.callNative("AttachObjectToObject","iiffffffi",e,t,i,a,r,n,s,o,_),np=(e,t,i,a,r,n,s,o)=>!!samp.callNative("AttachObjectToPlayer","iiffffff",e,t,i,a,r,n,s,o),sp=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),lp=(e,t,i,a)=>!!samp.callNative("SetObjectPos","ifff",e,t,i,a),op=e=>{const[t,i,a,r]=samp.callNative("GetObjectPos","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},_p=(e,t,i,a)=>!!samp.callNative("SetObjectRot","ifff",e,t,i,a),cp=e=>{const[t,i,a,r]=samp.callNative("GetObjectRot","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},dp=e=>samp.callNative("GetObjectModel","i",e),hp=e=>!!samp.callNative("SetObjectNoCameraCol","i",e),up=e=>!!samp.callNative("IsObjectNoCameraCol","i",e),gp=e=>!!samp.callNative("IsValidObject","i",e),mp=e=>!!samp.callNative("DestroyObject","i",e),Pp=(e,t,i,a,r,n,s,o)=>!!samp.callNative("MoveObject","ifffffff",e,t,i,a,r,n,s,o),fp=e=>!!samp.callNative("StopObject","i",e),pp=e=>!!samp.callNative("IsObjectMoving","i",e),Ip=(e,t)=>!!samp.callNative("BeginObjectEditing","ii",e,t),Cp=e=>!!samp.callNative("BeginObjectSelecting","i",e),Di=e=>!!samp.callNative("EndObjectEditing","i",e),yp=(e,t,i,a,r,n)=>!!samp.callNative("SetObjectMaterial","iiissi",e,t,i,a,r,N(n)),Sp=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),Ep=(e,t,i,a)=>!!samp.callNative("AddCharModel","iiss",e,t,i,a),Ap=(e,t,i,a,r)=>!!samp.callNative("AddSimpleModel","iiiss",e,t,i,a,r),Np=(e,t,i,a,r,n,s)=>!!samp.callNative("AddSimpleModelTimed","iiissii",e,t,i,a,r,n,s),Dp=(e,t)=>!!samp.callNative("RedirectDownload","is",e,t),Tp=e=>{const[t,i,a]=samp.callNative("GetCustomModelPath","iSiSi",e,255,255);return{dffPath:t,txdPath:i,ret:!!a}},vp=e=>{const[t,i]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return{name:t,ret:i}},bp=e=>{const[t,i]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return{name:t,ret:i}},Lp=(e,t)=>{const[i=0,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h=0,g=0,I=0,S=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:g,fScaleZ:I,materialColor1:S,materialColor2:y,ret:!!L}},wp=(e,t,i,a,r,n,s,o,_,d,h,g,I,S,y)=>!!samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,i,a,r,n,s,o,_,d,h,g,I,N(S),N(y)),Rp=(e,t)=>!!samp.callNative("RemovePlayerAttachedObject","ii",e,t),Op=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),Ti=e=>!!samp.callNative("IsValidCustomModel","i",e),Gp=e=>{if(!Ti(e))return null;const[t,i,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:i,ret:a}},jp=(e,t)=>samp.callNativeFloat("GetPlayerObjectDrawDistance","ii",e,t),Fp=(e,t,i)=>!!samp.callNativeFloat("SetPlayerObjectMoveSpeed","iif",e,t,i),Mp=(e,t)=>samp.callNativeFloat("GetPlayerObjectMoveSpeed","ii",e,t),kp=(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}},Vp=(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}},Bp=(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:!!_}},xp=(e,t)=>!!samp.callNative("GetPlayerObjectSyncRotation","ii",e,t),Hp=(e,t,i)=>!!samp.callNative("IsPlayerObjectMaterialSlotUsed","iii",e,t,i),Wp=(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}},Up=(e,t)=>!!samp.callNative("IsPlayerObjectNoCameraCol","ii",e,t),Kp=e=>samp.callNative("GetPlayerCameraTargetPlayerObj","i",e),Xp=(e,t)=>!!samp.callNative("BeginPlayerObjectEditing","ii",e,t),Zp=(e,t,i,a,r,n,s,o,_=0)=>samp.callNative("CreatePlayerObject","iifffffff",e,t,i,a,r,n,s,o,_),Yp=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("AttachPlayerObjectToVehicle","iiiffffff",e,t,i,a,r,n,s,o,_),zp=(e,t,i,a,r)=>samp.callNative("SetPlayerObjectPos","iifff",e,t,i,a,r),Jp=(e,t)=>{const[i,a,r,n]=samp.callNative("GetPlayerObjectPos","iiFFF",e,t);return{x:i,y:a,z:r,ret:!!n}},$p=(e,t,i,a,r)=>samp.callNative("SetPlayerObjectRot","iifff",e,t,i,a,r),Qp=(e,t)=>{const[i,a,r,n]=samp.callNative("GetPlayerObjectRot","iiFFF",e,t);return{x:i,y:a,z:r,ret:!!n}},qp=(e,t)=>samp.callNative("GetPlayerObjectModel","ii",e,t),eI=(e,t)=>!!samp.callNative("SetPlayerObjectNoCameraCollision","ii",e,t),tI=(e,t)=>!!samp.callNative("IsValidPlayerObject","ii",e,t),iI=(e,t)=>!!samp.callNative("DestroyPlayerObject","ii",e,t),aI=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("MovePlayerObject","iifffffff",e,t,i,a,r,n,s,o,_),rI=(e,t)=>!!samp.callNative("StopPlayerObject","ii",e,t),nI=(e,t)=>!!samp.callNative("IsPlayerObjectMoving","ii",e,t),sI=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("AttachPlayerObjectToPlayer","iiiffffff",e,t,i,a,r,n,s,o,_),lI=(e,t,i,a,r,n,s)=>!!samp.callNative("SetPlayerObjectMaterial","iiiissi",e,t,i,a,r,n,N(s)),oI=e=>!!samp.callNative("IsValidPickup","i",e),_I=(e,t)=>!!samp.callNative("IsPickupStreamedIn","ii",e,t),cI=e=>{const[t,i,a,r]=samp.callNative("GetPickupPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:!!r}},dI=e=>samp.callNative("GetPickupModel","i",e),hI=e=>samp.callNative("GetPickupType","i",e),uI=e=>samp.callNative("GetPickupVirtualWorld","i",e),gI=(e,t,i,a,r=!0)=>!!samp.callNative("SetPickupPos","ifffi",e,t,i,a,r),mI=(e,t,i=!0)=>!!samp.callNative("SetPickupModel","iii",e,t,i),PI=(e,t,i=!0)=>!!samp.callNative("SetPickupType","iii",e,t,i),fI=(e,t)=>!!samp.callNative("SetPickupVirtualWorld","ii",e,t),pI=(e,t)=>!!samp.callNative("ShowPickupForPlayer","ii",e,t),II=(e,t)=>!!samp.callNative("HidePickupForPlayer","ii",e,t),CI=(e,t)=>!!samp.callNative("IsPickupHiddenForPlayer","ii",e,t),yI=(e,t,i,a,r,n)=>samp.callNative("AddStaticPickup","iifffi",e,t,i,a,r,n),SI=(e,t,i,a,r,n)=>samp.callNative("CreatePickup","iifffi",e,t,i,a,r,n),EI=e=>!!samp.callNative("DestroyPickup","i",e);function AI(e,t,i,a,r,n,s=0){return samp.callNative("CreatePlayerPickup","iiifffi",e,t,i,a,r,n,s)}function NI(e,t){return!!samp.callNative("DestroyPlayerPickup","ii",e,t)}function DI(e,t){return!!samp.callNative("IsValidPlayerPickup","ii",e,t)}function TI(e,t){return!!samp.callNative("IsPlayerPickupStreamedIn","ii",e,t)}function vI(e,t){const[i,a,r,n]=samp.callNative("GetPlayerPickupPos","iiFFF",e,t);return{x:i,y:a,z:r,ret:!!n}}function bI(e,t,i,a,r,n=!0){return!!samp.callNative("SetPlayerPickupPos","iifffi",e,t,i,a,r,n)}function LI(e,t,i,a=!0){return!!samp.callNative("SetPlayerPickupModel","iiii",e,t,i,a)}function wI(e,t,i,a=!0){return!!samp.callNative("SetPlayerPickupType","iiii",e,t,i,a)}function RI(e,t,i){return!!samp.callNative("SetPlayerPickupVirtualWorld","iii",e,t,i)}function OI(e,t){return samp.callNative("GetPlayerPickupModel","ii",e,t)}function GI(e,t){return samp.callNative("GetPlayerPickupType","ii",e,t)}function jI(e,t){return samp.callNative("GetPlayerPickupVirtualWorld","ii",e,t)}const vi=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}]]]),yt=e=>{const t=vi.get(e.toUpperCase());return typeof t>"u"?!1:t},St=(e,t)=>{const i=yt(e);if(i)return t==="null"?!0:i.some(a=>a.n===t)},FI=(e,t)=>{const i=yt(e);if(i)return i.find(a=>a.n===t)?.d},pe=(e,t)=>{const i=t.replace("-","")==="utf8"?e:E.encodeToBuf(e,t);return[i instanceof Array?"a":"s",i]},bi=(e,t,i)=>{const a=pe(i,e.charset);return!!samp.callNative("SendClientMessage",`ii${a[0]}`,e.id,N(t),a[1])},MI=(e,t,i)=>e.map(a=>bi(a,t,i)).every(a=>a===!0),Li=(e,t,i)=>{const a=pe(i,e.charset);return!!samp.callNative("SendPlayerMessageToPlayer",`ii${a[0]}`,e.id,t,a[1])},kI=(e,t,i)=>e.map(a=>Li(a,t,i)).every(a=>a===!0),VI=(e,t,i)=>{const{charset:a}=e,{style:r,caption:n,info:s,button1:o,button2:_}=i,[d,h]=pe(n||"",a),[,g]=pe(s||"",a),[,I]=pe(o||"",a),[,S]=pe(_||"",a);return!!samp.callNative("ShowPlayerDialog",`iii${d.repeat(4)}`,e.id,t,r,h,g,I,S)},BI=e=>{const[t,i]=samp.callNative("GetPlayerName","iAi",e.id,W.MAX_PLAYER_NAME);return{name:E.decodeFromBuf(E.getValidStr(t),e.charset),ret:i}},xI=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,E.encodeToBuf(t,e.charset)),HI=(e,t,i)=>{const a=E.encodeToBuf(t,i);return!!samp.callNative("BanEx","ia",e,a)},WI=(e,t="utf8")=>{const[i,a]=pe(e,t);return!!samp.callNative("SendRconCommand",i,a)},UI=(e,t,i,a,r,n,s,o,_,d,h,g,I,S,y,L)=>{const M=E.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",M,i,a,r,n,s,o,_,d,h,g,I,S,y,L)},KI=(e,t,i,a,r,n,s,o,_,d,h,g,I,S,y,L)=>{const M=E.encodeToBuf(e,L);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",M,t,i,a,r,n,s,o,_,d,h,g,I,S,y,h.length,g.length,I.length,S.length)},XI=(e,t,i,a)=>{const r=E.encodeToBuf(i,a);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,r)},ZI=(e,t)=>{const[i,a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return{text:E.decodeFromBuf(E.getValidStr(i),t),ret:a}},YI=(e,t,i,a,r,n,s,o,_,d,h)=>{const g=E.encodeToBuf(a,e),I=E.encodeToBuf(n,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,i,g,r,I,s,o,_,d,h)},zI=(e,t,i="utf8")=>{const[a,r,n,s,o]=samp.callNative("GetDynamicObjectMaterial","iiIAAIii",e,t,64,64);return{modelId:a,txdName:E.decodeFromBuf(E.getValidStr(r),i),textureName:E.decodeFromBuf(E.getValidStr(n),i),materialColor:s,ret:o}},JI=(e,t,i)=>{const[a,r,n,s,o,_,d,h,g]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),I=E.decodeFromBuf(a,i),S=E.decodeFromBuf(n,i);return{text:I,materialSize:r,fontFace:S,fontSize:s,bold:o,fontColor:_,backColor:d,textAlignment:h,ret:g}},$I=(e,t,i,a,r,n)=>{const s=E.encodeToBuf(t,n);return!!samp.callNative("SetPlayerChatBubble","iaifi",e,s,N(i),a,r)},wi=(e,t,i,a,r,n,s,o=!0,_,d,h)=>{const g=E.encodeToBuf(i,e),I=E.encodeToBuf(n,e);return!!samp.callNative("SetObjectMaterialText","iaiiaiiiii",t,g,a,r,I,s,o,N(_),N(d),h)},QI=(e,t,i)=>{const[a,r=0,n,s=0,o=0,_=0,d=0,h=0,g]=samp.callNative("GetObjectMaterialText","iiAiIAiIIIII",e,t,2048,32),I=E.decodeFromBuf(a,i),S=E.decodeFromBuf(n,i);return{text:I,materialSize:r,fontFace:S,fontSize:s,bold:o,fontColor:_,backColor:d,textAlignment:h,ret:!!g}},Ri=(e,t,i,a,r,n,s,o,_=!0,d,h,g)=>{const I=E.encodeToBuf(a,e),S=E.encodeToBuf(s,e);return!!samp.callNative("SetPlayerObjectMaterialText","iiaiiaiiiii",t,i,I,r,n,S,o,_,N(d),N(h),g)},qI=(e,t,i,a)=>{const[r,n=0,s,o=0,_=0,d=0,h=0,g=0,I]=samp.callNative("GetPlayerObjectMaterialText","iiiAiIAiIIIII",e,t,i,2048,32),S=E.decodeFromBuf(r,a),y=E.decodeFromBuf(s,a);return{text:S,materialSize:n,fontFace:y,fontSize:o,bold:_,fontColor:d,backColor:h,textAlignment:g,ret:!!I}},eC=(e,t,i,a,r,n,s,o,_=!1)=>{const d=E.encodeToBuf(t,e);return samp.callNative("Create3DTextLabel","aiffffii",d,N(i),a,r,n,s,o,_)},tC=(e,t,i,a,r,n,s,o,_,d,h)=>{const g=E.encodeToBuf(i,e);return samp.callNative("CreatePlayer3DTextLabel","iaiffffiii",t,g,N(a),r,n,s,o,_,d,h)},iC=(e,t,i,a)=>{const r=E.encodeToBuf(a,e);return!!samp.callNative("Update3DTextLabelText","iia",t,N(i),r)},aC=(e,t,i,a,r)=>{const n=E.encodeToBuf(r,e);return!!samp.callNative("UpdatePlayer3DTextLabelText","iiia",t,i,N(a),n)},rC=(e,t)=>{const[i,a]=samp.callNative("Get3DTextLabelText","iAi",t,144);return{text:E.decodeFromBuf(i,e),buf:i,ret:!!a}},nC=(e,t,i)=>{const[a,r]=samp.callNative("GetPlayer3DTextLabelText","iiAi",t,i,144);return{text:E.decodeFromBuf(a,e),buf:a,ret:!!r}},sC=(e,t,i)=>{const[a,r]=samp.callNative("GetMenuColumnHeader","iiAi",e,t,31);return{header:E.decodeFromBuf(a,i),buf:a,ret:!!r}},lC=(e,t,i,a)=>{const[r,n]=samp.callNative("GetMenuItem","iiiAi",e,t,i,31);return{item:E.decodeFromBuf(r,a),buf:r,ret:!!n}},oC=(e,t,i,a,r,n,s)=>samp.callNative("CreateMenu","aiffff",E.encodeToBuf(e,s),t,i,a,r,n),_C=(e,t,i,a)=>samp.callNative("AddMenuItem","iia",e,t,E.encodeToBuf(i,a)),cC=(e,t,i,a)=>!!samp.callNative("SetMenuColumnHeader","iia",e,t,E.encodeToBuf(i,a)),B=Symbol("internalPlayerProps"),ce=new Map,Ie=new Map,Me=new Map,Y=new Map,ke=new Map,Ce=new Map,se=new Map,ye=new Map,ge=new Map,Ve=new Map,z=new Map,Se=new Map,Be=new Map,me=new Map,Ee=new Map,Ae=new Map,Ne=new Map,xe=new Map,De=new Map,Te=new Map,K=new Map,He=new Map,We=new Map,J=new Map,Ue=new Map,$=new Map,[dC]=m({name:"OnGameModeInit",identifier:""}),[Oi,hC]=m({name:"OnGameModeInitReal",isNative:!1});dC(()=>{Promise.resolve().then(hC)});const[Gi]=m({name:"OnGameModeExit",identifier:""}),[uC]=m({name:"OnIncomingConnection",identifier:"isi",defaultValue:!1,beforeEach(e,t,i){return{playerId:e,ipAddress:t,port:i}}}),[gC]=m({name:"OnRconCommandI18n",identifier:"ai",defaultValue:!1,beforeEach(e){return{buffer:e,cmd:E.decodeFromBuf(e)}}}),[mC]=m({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,i){return{ip:E.decodeFromBuf(e),password:E.decodeFromBuf(t),success:!!i,ipBuffer:e,passwordBuffer:t}}}),ve=[],Ke=[],ht=new Map,Et=async e=>{try{return await new Promise((t,i)=>{const a=ve.findIndex(o=>o.name===e);if(a===-1)return;const r=ve[a];function n(o){o.length&&ht.set(e,o),ve.splice(a,1),Ke.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
+ err:${t}`)}},At=async e=>{try{return await new Promise((t,i)=>{const a=Ke.findIndex(_=>_.name===e);if(a===-1)return;const r=Ke[a],n=ht.get(e);n&&(n.forEach(_=>_()),ht.delete(e));function s(){Ke.splice(a,1),ve.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}`)}},PC=async e=>{await At(e),await Et(e)},fC=e=>ht.has(e);Oi(async({next:e})=>{const t=ve.map(i=>i.name);for(const i of t)await Et(i);return e()}),Gi(async({next:e})=>{const t=Ke.map(i=>i.name);for(const i of t)await At(i);return e()});const pC=function(e,...t){if(ve.some(i=>i.name===e.name)||Ke.some(i=>i.name===e.name))throw new Error(`[GameMode]: script ${e.name} has already been applied`);e.load=e.load.bind(e,...t),ve.push(e)},de=new Uint32Array(65536),IC=(e,t)=>{const i=e.length,a=t.length,r=1<<i-1;let n=-1,s=0,o=i,_=i;for(;_--;)de[e.charCodeAt(_)]|=1<<_;for(_=0;_<a;_++){let d=de[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;_--;)de[e.charCodeAt(_)]=0;return o},CC=(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 M=_*32,Q=Math.min(32,a)+M;for(let k=M;k<Q;k++)de[e.charCodeAt(k)]|=1<<k;for(let k=0;k<i;k++){const he=de[t.charCodeAt(k)],oe=n[k/32|0]>>>k&1,ne=r[k/32|0]>>>k&1,Dt=he|y,Tt=((he|ne)&L)+L^L|he|ne;let $e=y|~(Tt|L),nt=L&Tt;$e>>>31^oe&&(n[k/32|0]^=1<<k),nt>>>31^ne&&(r[k/32|0]^=1<<k),$e=$e<<1|oe,nt=nt<<1|ne,L=nt|~(Dt|$e),y=$e&Dt}for(let k=M;k<Q;k++)de[e.charCodeAt(k)]=0}let d=0,h=-1;const g=_*32,I=Math.min(32,a-g)+g;for(let y=g;y<I;y++)de[e.charCodeAt(y)]|=1<<y;let S=a;for(let y=0;y<i;y++){const L=de[t.charCodeAt(y)],M=n[y/32|0]>>>y&1,Q=r[y/32|0]>>>y&1,k=L|d,he=((L|Q)&h)+h^h|L|Q;let oe=d|~(he|h),ne=h&he;S+=oe>>>a-1&1,S-=ne>>>a-1&1,oe>>>31^M&&(n[y/32|0]^=1<<y),ne>>>31^Q&&(r[y/32|0]^=1<<y),oe=oe<<1|M,ne=ne<<1|Q,h=ne|~(k|oe),d=oe&k}for(let y=g;y<I;y++)de[e.charCodeAt(y)]=0;return S},ji=(e,t)=>{if(e.length<t.length){const i=t;t=e,e=i}return t.length===0?e.length:e.length<=32?IC(e,t):CC(e,t)},yC=(e,t)=>{let i=1/0,a=0;for(let r=0;r<t.length;r++){const n=ji(e,t[r]);n<i&&(i=n,a=r)}return t[a]},be=new Map,Le=new Map,Fi=/[^/\s]+/gi,it={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"}},[SC,EC]=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:_}}}),[AC,NC]=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:_}}}),[DC,at]=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=yC(a,[...be.keys(),...Le.keys()]),g=ji(a,h);return{suggestion:h,distance:g}}}}}),[TC,vC]=m({name:"OnPlayerCommandTextI18n",identifier:"iai",defaultValue:!1,beforeEach(e,t){const i=ce.get(e);let a=t,r="";return typeof t=="string"?(r=t,a=E.encodeToBuf(r,"utf-8")):r=E.decodeFromBuf(t,i.charset),{player:i,buffer:a,cmdText:r}}}),[bC,LC]=m({name:"OnPlayerCommandTextRaw",isNative:!1,defaultValue:!1,beforeEach(e,t,i){return{player:e,buffer:t,cmdText:i}}});function wC(e){const t=[];let i="";for(let a=0;a<e.length;a++)i+=e[a]+" ",t.push(i.trimEnd());return t.reverse()}TC(({player:e,buffer:t,cmdText:i,next:a})=>{const r=LC(e,t,i);if(r)return r;const n=i.match(Fi)||[],s=wC(n),o=s.find(L=>be.has(L)),_=s.map(L=>L.toLowerCase()).find(L=>Le.has(L)),d=!!o,h=!!_,g=n.join(" ");let I=[];const S=[[o,be,!0],[_,Le,!1]],y=[g,i,t,o,_,d,h,I];if(d||h){const L=S[0][0]||S[1][0];I=g.replace(L,"").trim().split(" ")}else return at(e,it.NOT_EXIST,...y);try{if(!EC(e,...y))return at(e,it.RECEIVED_REJECTED,...y)}catch(L){const M=typeof L=="object"?L:{error:L};return at(e,{...it.RECEIVED_THROW,...M},...y)}for(const[L,M,Q]of S){if(!L)continue;const k=M.get(L),[,he]=k;if(!he(e,L,I,i,t,Q))return at(e,it.REJECTED,...y)}return NC(e,g,i,t,o,_,d,h,I)?(a(),!0):at(e,it.PERFORMED,...y)});function RC(e,t,i,a,r,n){return{player:e,mainCommand:t,subcommand:i,cmdText:a,buffer:r,isStrict:n}}class ae{static caseSensitive=!1;constructor(){}static on(t,i){let a=ae.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(Fi));if(o)return console.log(`error command ${o} format`),()=>{};const _=a?be:Le,d=s.map(h=>{const g=h.replaceAll("/",""),I=a?g:g.toLowerCase();if(!_.has(I)){const y=m({name:a?"$"+I:I,isNative:!1,beforeEach:RC});_.set(I,y)}const[S]=_.get(I);return[I,S(n)]});return()=>{d.forEach(h=>{const[g,I]=h;I()===0&&_.delete(g)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(i=>{let a=i.replaceAll("/","");be.has(a)&&(ee.has(a)&&ee.delete(a),be.has(a)&&be.delete(a)),a=a.toLowerCase(),Le.has(a)&&(ee.has(a)&&ee.delete(a),Le.has(a)&&Le.delete(a))})}static enableCaseSensitive(){ae.caseSensitive=!0}static disableCaseSensitive(){ae.caseSensitive=!1}static isCaseSensitive(){return ae.caseSensitive}static simulate(t,i){return vC(t.id,i)}}class H{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=Oi;static onExit=Gi;static onIncomingConnection=uC;static onRconCommand=gC;static onRconLoginAttempt=mC;static use(t,...i){return pC(t,...i),this}static loadUseScript=Et;static reloadUseScript=PC;static unloadUseScript=At;static isUseScriptLoaded=fC;static enableCmdCaseSensitive=ae.enableCaseSensitive;static disableCmdCaseSensitive=ae.disableCaseSensitive;static isCmdCaseSensitive=ae.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");Xs(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");Ws(t)}static getWorldTime=Us;static setTeamCount=ul;static sendRconCommand=WI;static addPlayerClass=gl;static addPlayerClassEx=ml;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 zs(t,i,a,r,n)}static manualVehicleEngineAndLights=qu;static blockIpAddress=Gl;static unBlockIpAddress=jl;static getServerTickRate=al;static addCharModel=Ep;static getCustomModelPath=Tp;static addSimpleModel(t,i,a,r,n){return this.checkSimpleModel(t,i,a,r,n)?Ap(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)?Np(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>W.MAX_CUSTOM_OBJECT_ID||a<W.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=Ti;static getCustomModePath=Gp;static getConsoleVarAsString(t,i="utf8"){const{consoleVarBuf:a,ret:r}=vs(t);return{consoleVar:E.decodeFromBuf(E.getValidStr(a),i),ret:r}}static getRestartTime=js;static setRestartTime=Gs;static allowAdminTeleport=Ss;static isAdminTeleportAllowed=Es;static allowInteriorWeapons=As;static areInteriorWeaponsAllowed=Ns;static areAllAnimationsEnabled=Ds;static enableAllAnimations=Ts;static enableStuntBonusForAll=nl;static enableVehicleFriendlyFire=Ks;static enableZoneNames=Js;static disableInteriorEnterExits=Qs;static setGameModeText=Bs;static getGravity=Zs;static setGravity=Ys;static showNameTags=xs;static disableNameTagLOS=el;static usePlayerPedAnims=$s;static showPlayerMarkers=Hs;static limitPlayerMarkerRadius=il;static limitGlobalChatRadius=tl;static setNameTagDrawDistance=qs;static findModelFileNameFromCRC=vp;static findTextureFileNameFromCRC=bp;static getWeaponName=_l;static setObjectsDefaultCameraCollision=Sp;static vectorSize=Ct;static clearBanList=kl;static isBanned=Vl;static isValidNickName=ms;static allowNickNameCharacter=Ps;static isNickNameCharacterAllowed=fs;static addServerRule=ps;static setServerRule=Is;static isValidServerRule=Cs;static removeServerRule=ys;static getWeaponSlot=ol;static getAvailableClasses=cl;static getPlayerClass=dl;static editPlayerClass=hl;static toggleChatTextReplacement=sl;static chatTextReplacementToggled=ll;static getConsoleVarAsInt=bs;static getConsoleVarAsBool=Ls;static getWeather=ws;static getServerRuleFlag=Rs;static setServerRuleFlags=Os;static getAnimationName=rl}const D={skip:!1};H.onInit(({next:e})=>(D.skip=!1,e())),H.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,Ie.set(this._id,this),this.isValid()&&p.createdCount++}else this.sourceInfo=t,this.isStatic=i}create(){if(this.id!==l.VEHICLE_ID)throw new Error("[Vehicle]: Cannot create again");if(!this.sourceInfo)throw new Error("[Vehicle]: Cannot create with only id");const{modelId:t,x:i,y:a,z:r,zAngle:n,color:s,respawnDelay:o,addSiren:_}=this.sourceInfo;if(this.isStatic){if(typeof o>"u"){this._id=p.__inject__.addStatic(t,i,a,r,n,s[0],s[1]);return}this._id=p.__inject__.addStaticEx(t,i,a,r,n,s[0],s[1],o||-1,_||!1)}else this._id=p.__inject__.create(t,i,a,r,n,s[0],s[1],o||-1,_||!1);if(this._id===l.VEHICLE_ID||p.createdCount===W.MAX_VEHICLES)throw new Error("[Vehicle]: Cannot create vehicle");p.createdCount++,Ie.set(this._id,this)}destroy(){if(this.id===l.VEHICLE_ID&&!D.skip)throw new Error("[Vehicle]: Cannot destroy the vehicle before create");D.skip||p.__inject__.destroy(this._id),p.createdCount--,Ie.delete(this._id),this._id=l.VEHICLE_ID,p.getInstances().length||(p.createdCount=0)}addComponent(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.addComponent(this.id,t)}removeComponent(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.removeComponent(this.id,t)}getComponentInSlot(t){return this.id===l.VEHICLE_ID?0:p.__inject__.getComponentInSlot(this.id,t)}linkToInterior(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.linkToInterior(this.id,t)}setVirtualWorld(t){return this.id===l.VEHICLE_ID?!1: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?!1: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?!1: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?!1:p.__inject__.setZAngle(this.id,t)}setNumberPlate(t){if(this.id===l.VEHICLE_ID)return!1;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?!1: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 Ct(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?!1:p.__inject__.setRespawn(this.id)}isStreamedIn(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.isStreamedIn(this.id,t.id)}setParamsCarDoors(t=G.UNSET,i=G.UNSET,a=G.UNSET,r=G.UNSET){return this.id===l.VEHICLE_ID?!1:p.__inject__.setParamsCarDoors(this.id,t,i,a,r)}setParamsCarWindows(t=G.UNSET,i=G.UNSET,a=G.UNSET,r=G.UNSET){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?!1:p.__inject__.setParamsEx(this.id,t,i,a,r,n,s,o)}getParamsEx(){if(this.id===l.VEHICLE_ID)return{engine:G.UNSET,lights:G.UNSET,alarm:G.UNSET,doors:G.UNSET,bonnet:G.UNSET,boot:G.UNSET,objective:G.UNSET,ret:!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,ret:!!_}}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?G.UNSET:p.__inject__.getParamsSirenState(this.id)}setParamsForPlayer(t,i=G.UNSET,a=G.UNSET){return this.id===l.VEHICLE_ID?!1: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?!1:p.__inject__.changePaintjob(this.id,t)}attachTrailer(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.attachTrailer(t.id,this.id)}detachTrailer(){this.isTrailerAttached()&&p.__inject__.detachTrailer(this.id)}getTrailer(){return p.getInstance(pg(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?!1:p.__inject__.getSirenState(this.id)}getDriver(){return ce.get(Ci(this.id))}getLastDriver(){return ce.get(Ii(this.id))}isSirenEnabled(){return p.__inject__.isSirenEnabled(this.id)}toggleSirenEnabled(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.toggleSirenEnabled(this.id,t)}setParamsSirenState(t){return this.id===l.VEHICLE_ID?!1: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?!1: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){return this.id===l.VEHICLE_ID?!1: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())}canHaveComponent(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.canHaveComponent(this.getModel(),t)}getSeats(){return p.__inject__.getSeats(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 canHaveComponent(t,i){return p.__inject__.canHaveComponent(t,i)}static getSeats(t){return p.__inject__.getSeats(t)}static getInstance(t){return Ie.get(t)}static getInstances(){return[...Ie.values()]}static __inject__={addStatic:Og,addStaticEx:Gg,create:Hu,destroy:Wu,addComponent:_g,removeComponent:cg,getComponentInSlot:yg,linkToInterior:og,setVirtualWorld:Lg,getVirtualWorld:wg,repair:Eg,setPos:Xu,getPos:Ku,getHealth:gg,setHealth:ug,isPlayerIn:J_,putPlayerIn:T_,getZAngle:Zu,setZAngle:$u,setNumberPlate:Ig,changeColors:dg,setVelocity:Ng,getVelocity:Ag,setAngularVelocity:Dg,getDamageStatus:Tg,updateDamageStatus:vg,getDistanceFromPoint:Ju,getModel:Cg,getModelInfo:bg,getRotation:Yu,getRotationQuat:zu,setRespawn:lg,isStreamedIn:Uu,setParamsCarDoors:ag,setParamsCarWindows:ng,getParamsCarDoors:rg,getParamsCarWindows:sg,setParamsEx:eg,getParamsEx:tg,getParamsSirenState:ig,setParamsForPlayer:Qu,isTrailerAttached:fg,changePaintjob:hg,attachTrailer:mg,detachTrailer:Pg,getMatrix:Vu,getTrainSpeed:ku,getHydraReactorAngle:Mu,getLandingGearState:Fu,getSirenState:ju,getDriver:Ci,getLastDriver:Ii,isSirenEnabled:Ru,toggleSirenEnabled:Lu,setParamsSirenState:wu,isDead:Tu,setDead:vu,setBeenOccupied:bu,getRespawnTick:Nu,setRespawnTick:Du,isOccupied:Au,hasBeenOccupied:Eu,getOccupiedTick:yu,setOccupiedTick:Su,getCab:Cu,getRespawnDelay:Iu,setRespawnDelay:pu,getNumberPlate:fu,getInterior:Pu,getPaintjob:mu,getColors:gu,setSpawnInfo:uu,getSpawnInfo:hu,getRandomColorPair:Bu,show:jg,hide:Fg,isHidden:Mg,getOccupant:Wg,getMaxPassengers:Ug,countOccupants:Kg,getComponentType:Sg,colorIndexToColor:xu,isValid:Rg,getModelsUsed:Gu,getModelCount:Ou,canHaveComponent:Xg,getSeats:Zg}}class C{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=C.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?Te.set(this._id,this):i&&(K.has(i)||K.set(i,new Map),K.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[ObjectMp]: Cannot create with only id");if(this.id!==l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot 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=C.__inject__.create(t,i,a,r,n,s,o,_),this.id===l.OBJECT_ID||C.getInstances().length===W.MAX_OBJECTS)throw new Error("[ObjectMp]: Cannot create object");return Te.set(this._id,this),this}const d=this.getPlayerId();if(d===l.PLAYER_ID)return this;const h=this.getPlayer();if(this._id=C.__inject__.createPlayer(d,t,i,a,r,n,s,o,_),this.id===l.OBJECT_ID||C.getInstances(h).length===W.MAX_OBJECTS)throw new Error("[ObjectMp]: Cannot create player object");return K.has(h)||K.set(h,new Map),K.get(this.getPlayer()).set(this.id,this),this}destroy(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot destroy before create");if(this.isGlobal())D.skip||C.__inject__.destroy(this.id),Te.delete(this.id);else{const t=this.getPlayerId();if(t===l.PLAYER_ID)return this;const i=this.getPlayer();if(D.skip||C.__inject__.destroyPlayer(t,this.id),K.has(i)){const a=K.get(i);a.delete(this.id),a.size===0&&K.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()?C.isValid(this.id):C.isValid(this.id,this.getPlayerId())}getModel(){return this.sourceInfo?this.sourceInfo.modelId:this.isGlobal()?C.__inject__.getModel(this.id):C.__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()?C.__inject__.getPos(this.id):C.__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()?C.__inject__.setPos(this.id,t,i,a):C.__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()?C.__inject__.getRot(this.id):C.__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()?C.__inject__.setRot(this.id,t,i,a):C.__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()?C.__inject__.move(this.id,t,i,a,r,n,s,o):C.__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()?C.__inject__.stop(this.id):C.__inject__.stopPlayer(this.getPlayerId(),this.id)}isMoving(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?C.__inject__.isMoving(this.id):C.__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 C.__inject__.attachCamera(t.id,this.id)}return C.__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 C.__inject__.attachToObject(this.id,t.id,i,a,r,n,s,o,_);if(!this.isGlobal()&&!t.isGlobal())return C.__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()?C.__inject__.attachToPlayer(this.id,t.id,i,a,r,n,s,o):C.__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()?C.__inject__.attachToVehicle(this.id,t.id,i,a,r,n,s,o):C.__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]: Cannot edit before create");if(this.isGlobal()){if(!t)throw new Error("[ObjectMp]: Cannot edit without player");return t.endObjectEditing(),C.__inject__.beginEditing(t.id,this.id)}const i=this.getPlayer();return i.endObjectEditing(),C.__inject__.beginEditingPlayer(i.id,this.id)}isMaterialUsed(t){return this.id===l.OBJECT_ID?!1:this.isGlobal()?C.__inject__.isMaterialSlotUsed(this.id,t):C.__inject__.isMaterialSlotUsedPlayer(this.getPlayerId(),this.id,t)}getMaterial(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot get material before create");return this.isGlobal()?C.__inject__.getMaterial(this.id,t):C.__inject__.getMaterialPlayer(this.getPlayerId(),this.id,t)}setMaterial(t,i,a,r,n="#000"){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot set material before create");return this.isGlobal()?C.__inject__.setMaterial(this.id,t,i,a,r,N(n)):C.__inject__.setMaterialPlayer(this.getPlayerId(),this.id,t,i,a,r,N(n))}getMaterialText(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot get material text before create");return this.isGlobal()?C.__inject__.getMaterialText(this.id,t,this.sourceInfo?.charset||"utf8"):C.__inject__.getMaterialTextPlayer(this.getPlayerId(),this.id,t,this.sourceInfo?.charset||"utf8")}setMaterialText(t=this.sourceInfo?.charset,i,a,r=ot.SIZE_256x128,n="Arial",s=24,o=!0,_="#fff",d="#000",h=0){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot set material text before create");return this.sourceInfo&&(this.sourceInfo.charset=t),this.isGlobal()?wi(t||"utf8",this.id,i,a,r,n,s,o,N(_),N(d),h):Ri(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()?C.__inject__.setNoCameraCollision(this.id):C.__inject__.setNoCameraCollisionPlayer(this.getPlayerId(),this.id)}isNoCameraCol(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?C.__inject__.isNoCameraCol(this.id):C.__inject__.isNoCameraColPlayer(this.getPlayerId(),this.id)}hasCameraCollision(){return!this.isNoCameraCol()}getDrawDistance(){return this.id===l.OBJECT_ID?0:this.isGlobal()?C.__inject__.getDrawDistance(this.id):C.__inject__.getDrawDistancePlayer(this.getPlayerId(),this.id)}setMoveSpeed(t){return this.id===l.OBJECT_ID?!1:this.isGlobal()?C.__inject__.setMoveSpeed(this.id,t):C.__inject__.setMoveSpeedPlayer(this.getPlayerId(),this.id,t)}getMoveSpeed(){return this.id===l.OBJECT_ID?0:this.isGlobal()?C.__inject__.getMoveSpeed(this.id):C.__inject__.getMoveSpeedPlayer(this.getPlayerId(),this.id)}getMovingTargetPos(){return this.isGlobal()?C.__inject__.getMovingTargetPos(this.id):C.__inject__.getMovingTargetPosPlayer(this.getPlayerId(),this.id)}getSyncRotation(){return this.isGlobal()?C.__inject__.getSyncRotation(this.id):C.__inject__.getSyncRotationPlayer(this.getPlayerId(),this.id)}getAttachedOffset(){return this.isGlobal()?C.__inject__.getAttachedOffset(this.id):C.__inject__.getAttachedOffsetPlayer(this.getPlayerId(),this.id)}getTarget(){return this.isGlobal()?C.__inject__.getTarget(this.id):C.__inject__.getTargetPlayer(this.getPlayerId(),this.id)}static isValid(t,i){return i===l.PLAYER_ID?!1:typeof i>"u"?C.__inject__.isValid(t):C.__inject__.isValidPlayer(i,t)}static getInstance(t,i){if(!i)return Te.get(t);if(i.id!==l.PLAYER_ID)return K.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...K.get(t)?.values()||[]]:[...Te.values()]}static getPlayersInstances(){return Array.from(K.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:tp,createPlayer:Zp,destroy:mp,destroyPlayer:iI,setMaterialText:wi,setMaterialTextPlayer:Ri,setNoCameraCollision:hp,setNoCameraCollisionPlayer:eI,isNoCameraCol:up,isNoCameraColPlayer:Up,getDrawDistance:Xf,getDrawDistancePlayer:jp,setMoveSpeed:Yf,setMoveSpeedPlayer:Fp,getMoveSpeed:Zf,getMoveSpeedPlayer:Mp,getMovingTargetPos:zf,getMovingTargetPosPlayer:Vp,getSyncRotation:Qf,getSyncRotationPlayer:xp,getAttachedOffset:$f,getAttachedOffsetPlayer:Bp,getTarget:Jf,getTargetPlayer:kp,isValid:gp,isValidPlayer:tI,getModel:dp,getModelPlayer:qp,getPos:op,getPosPlayer:Jp,getRot:cp,getRotPlayer:Qp,setPos:lp,setPosPlayer:zp,setRot:_p,setRotPlayer:$p,move:Pp,movePlayer:aI,setMaterial:yp,setMaterialPlayer:lI,stop:fp,stopPlayer:rI,isMoving:pp,isMovingPlayer:nI,attachCamera:pc,attachCameraPlayer:Ic,attachToObject:rp,attachToPlayer:np,attachToVehicle:ip,attachPlayerToObject:ap,attachPlayerToPlayer:sI,attachPlayerToVehicle:Yp,beginEditing:Ip,beginEditingPlayer:Xp,endEditing:Di,getMaterial:ep,getMaterialPlayer:Wp,isMaterialSlotUsed:qf,isMaterialSlotUsedPlayer:Hp,getMaterialText:QI,getMaterialTextPlayer:qI}}const[Mi]=m({name:"OnClientCheckResponse",identifier:"iiii",beforeEach(e,t,i,a){return{player:c.getInstance(e),actionId:t,memAddr:i,data:a}}}),[OC,GC]=m({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,i){return{player:e,newLocale:t,oldLocale:i}}}),[jC,FC]=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>=W.MAX_PLAYERS)throw new Error(`Invalid player ID: ${t} (valid range: 0-${W.MAX_PLAYERS-1})`);const i=c.getInstance(t);if(i)return i;ce.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,FC(this,t,i)}get locale(){return this._locale}set locale(t){const i=this._locale;this._locale=t,GC(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=st.NORMAL){return c.__inject__.spectatePlayer(this.id,t.id,i)}spectateVehicle(t,i=st.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){return 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()===qe.SPECTATING}isWasted(){return this.getState()===qe.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){return c.__inject__.setWeather(this.id,t)}getWeather(){return c.__inject__.getWeather(this.id)}setTime(t,i){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 Ct(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=Qe.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 Ie.get(t)}getCameraTargetActor(){const t=c.__inject__.getCameraTargetActor(this.id);return He.get(t)}getCameraTargetObject(){const t=c.__inject__.getCameraTargetObject(this.id);return Te.get(t)}getCameraTargetPlayerObject(){const t=c.__inject__.getCameraTargetPlayerObject(this.id);return K.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,_=Qe.CUT){return c.__inject__.interpolateCameraPos(this.id,t,i,a,r,n,s,o,_)}interpolateCameraLookAt(t,i,a,r,n,s,o,_=Qe.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(!St(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 H.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,Pt.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,g,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,g,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 g=null;const I=Mi(({player:S,actionId:y,memAddr:L,data:M,next:Q})=>(S!==this||(g&&(clearTimeout(g),g=null),s({actionId:y,memAddr:L,data:M})),Q()));g=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 C.getInstance(t)}getSurfingPlayerObject(){const t=c.__inject__.getSurfingPlayerObjectID(this.id);if(t!==l.OBJECT_ID)return C.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,g=1,I=1,S=0,y=0){return this.isAttachedObjectSlotUsed(t)?0:c.__inject__.setAttachedObject(this.id,t,i,a,r,n,s,o,_,d,h,g,I,S,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 ae.simulate(this,t)}hasClockEnabled(){return c.__inject__.hasClockEnabled(this.id)}static getInstance(t){return ce.get(t)}static getInstances(){return[...ce.values()]}static __inject__={sendClientMessage:bi,sendClientMessageToAll:MI,sendMessageToPlayer:Li,sendMessageToAll:kI,banEx:HI,getName:BI,setName:xI,setChatBubble:$I,isNpc:Co,getDrunkLevel:Wo,setDrunkLevel:Uo,allowTeleport:ho,isTeleportAllowed:uo,enableCameraTarget:dc,enableStuntBonus:x_,getInterior:Lo,setInterior:bo,showNameTag:ic,setColor:Ko,getColor:Xo,setMapIcon:ac,removeMapIcon:rc,setMarker:ec,getMarker:tc,resetMoney:e_,getMoney:t_,giveMoney:qo,resetWeapons:Jo,spawn:fl,setHealth:wo,getHealth:Ro,toggleClock:o_,toggleControllable:w_,toggleSpectating:X_,spectatePlayer:Z_,spectateVehicle:Y_,forceClassSelection:c_,kick:Ll,ban:wl,isAdmin:vl,isInRangeOfPoint:Do,isStreamedIn:vo,setSkin:Zo,getSkin:Yo,isInAnyVehicle:$_,getSpecialAction:F_,setSpecialAction:M_,setScore:xo,getScore:Ho,getPing:a_,setPos:yo,getPos:Eo,getState:i_,getVersion:Hl,setVirtualWorld:V_,getVirtualWorld:B_,removeFromVehicle:L_,setWantedLevel:d_,getWantedLevel:h_,setFacingAngle:Ao,getFacingAngle:No,setWeather:__,getWeather:Xl,setTime:s_,getTime:l_,removeBuilding:N_,setTeam:Vo,getTeam:Bo,setSkillLevel:y_,setVelocity:m_,getVelocity:P_,getKeys:n_,getIp:xl,getFightingStyle:g_,setFightingStyle:u_,setArmour:Oo,getArmour:Go,setCameraBehind:lc,setCameraPos:nc,setCameraLookAt:sc,getCameraAspectRatio:Pc,getCameraFrontVector:_c,getCameraMode:cc,getCameraPos:oc,getCameraTargetPlayer:gc,getCameraTargetVehicle:uc,getCameraTargetActor:mc,getCameraTargetObject:hc,getCameraTargetPlayerObject:Kp,getCameraZoom:fc,playAudioStream:p_,stopAudioStream:I_,playSound:R_,getMaxPlayers:Vs,playCrimeReport:f_,interpolateCameraPos:Cc,interpolateCameraLookAt:yc,createExplosion:W_,isConnected:z_,disableRemoteVehicleCollisions:k_,getVehicleID:v_,getVehicleSeat:b_,getSurfingVehicleID:S_,applyAnimation:O_,clearAnimations:G_,getAnimationIndex:j_,setShopName:C_,setPosFindZ:So,setWorldBounds:Q_,clearWorldBounds:q_,getDistanceFromPoint:To,getCustomSkin:H_,getTargetPlayer:ko,getLastShotVectors:D_,getWeapon:r_,getWeaponData:Qo,getWeaponState:Mo,giveWeapon:zo,setAmmo:jo,getAmmo:Fo,setArmedWeapon:$o,sendDeathMessage:ks,sendDeathMessageToPlayer:po,setSpawnInfo:Pl,redirectDownload:Dp,sendClientCheck:Ml,selectTextDraw:rf,cancelSelectTextDraw:nf,beginObjectSelecting:Cp,endObjectEditing:Di,getSurfingObjectID:E_,getSurfingPlayerObjectID:A_,isAttachedObjectSlotUsed:Op,editAttachedObject:sp,setAttachedObject:wp,removeAttachedObject:Rp,toggleWidescreen:Wl,isWidescreenToggled:Ul,getSpawnInfo:pl,getSkillLevel:Kl,isCheckpointActive:yi,getCheckpoint:Si,isRaceCheckpointActive:Ei,getRaceCheckpoint:Ai,getWorldBounds:Zl,isInModShop:kg,getSirenState:Vg,getLandingGearState:Bg,getHydraReactorAngle:xg,getTrainSpeed:Hg,getZAim:Yl,getSurfingOffsets:zl,getRotationQuat:Jl,getDialogID:$l,getSpectateID:Ql,getSpectateType:ql,getRawIp:Bl,setGravity:eo,getGravity:to,setAdmin:bl,isSpawned:io,isControllable:ao,isCameraTargetEnabled:ro,toggleGhostMode:no,getGhostMode:so,getBuildingsRemoved:lo,getAttachedObject:Lp,removeWeapon:oo,isUsingOfficialClient:co,allowWeapons:go,areWeaponsAllowed:mo,gpci:Fl,isCuffed:Sc,isInDriveByMode:Ec,isUsingOmp:Ac,hasClockEnabled:Nc}}const[ki]=m({name:"OnDialogResponseI18n",identifier:"iiiiai",defaultValue:!1,beforeEach(e,t,i,a,r){const n=c.getInstance(e),s=E.decodeFromBuf(r,n.charset);return{player:n,dialogId:t,response:i,listItem:a,buffer:r,inputText:s}}});ki(({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:ut.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]: Cannot 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:VI,hide:_o}}const[Vi]=m({name:"OnPlayerConnect",identifier:"i",beforeEach(e){const t=new c(e);return ce.set(e,t),U.close(t),{player:t}}}),[Bi]=m({name:"OnPlayerDisconnect",identifier:"ii",beforeEach(e,t){return{player:ce.get(e),reason:t}},afterEach({player:e}){ce.delete(e.id)}}),[xi]=m({name:"OnPlayerUpdate",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[MC]=m({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const i=c.getInstance(e);return{player:i,text:E.decodeFromBuf(t,i.charset),buffer:t}}}),[kC]=m({name:"OnPlayerEnterExitModShop",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),enterExit:t,interior:i}}}),[VC]=m({name:"OnPlayerClickMap",identifier:"ifff",defaultValue:!1,beforeEach(e,t,i,a){return{player:c.getInstance(e),fX:t,fY:i,fZ:a}}}),[BC]=m({name:"OnPlayerClickPlayer",identifier:"iii",defaultValue:!1,beforeEach(e,t,i){return{player:c.getInstance(e),clickedPlayer:c.getInstance(t),source:i}}}),[xC]=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}}}),[HC]=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}}}),[WC]=m({name:"OnPlayerKeyStateChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newKeys:t,oldKeys:i}}}),[UC]=m({name:"OnPlayerRequestClass",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),classId:t}}}),[KC]=m({name:"OnPlayerRequestSpawn",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[XC]=m({name:"OnPlayerSpawn",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[ZC]=m({name:"OnPlayerStateChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newState:t,oldState:i}}}),[YC]=m({name:"OnPlayerStreamIn",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),forPlayer:c.getInstance(t)}}}),[zC]=m({name:"OnPlayerStreamOut",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),forPlayer:c.getInstance(t)}}}),[JC]=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}}}),[$C]=m({name:"OnPlayerInteriorChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newInteriorId:t,oldInteriorId:i}}}),[QC]=m({name:"OnPlayerRequestDownload",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),type:t,crc:i}}}),[qC]=m({name:"OnPlayerFinishedDownloading",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),virtualWorld:t}}}),[ey]=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 rt=null;const te=new Map,Xe=new Map;function Hi(e){if(!e.isConnected()){te.has(e)&&(clearInterval(te.get(e)),te.delete(e),Xe.delete(e));return}let t=Xe.get(e)||1;if(t>=c.MAX_CHECK_ANDROID_DELAY){clearInterval(te.get(e)),te.delete(e),Xe.delete(e),Nt(e,!0);return}e.sendClientCheck(72,0,0,2).then(({actionId:i})=>{i===72&&(e[B].isAndroid=!1,te.has(e)&&(clearInterval(te.get(e)),te.delete(e),Xe.delete(e)),Nt(e,!1))}).catch(()=>{}),t++,Xe.set(e,t)}const[ty,iy]=m({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[ay,ry]=m({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,i,a){return{player:e,pausedAt:t,now:i,diff:a}}}),[ny,sy]=m({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,i){return{player:e,newFps:t,oldFps:i}}}),[ly,Nt]=m({name:"OnAndroidCheck",isNative:!1,beforeEach(e,t){return{player:e,result:t}}});Vi(({player:e,next:t})=>{if(!rt&&c.getInstances().length&&(rt=setInterval(()=>{c.getInstances().filter(a=>{const r=a.getState()!==qe.NONE;return!a.isPaused&&!a.isNpc()&&r}).forEach(a=>{Date.now()-a.lastUpdateTick>1e3&&(a[B].isPaused=!0,iy(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();Hi(e);const i=setInterval(()=>Hi(e),1e3);return te.set(e,i),t()}),Bi(({player:e,next:t})=>(rt&&c.getInstances().length<=1&&(clearInterval(rt),rt=null),te.has(e)&&(clearInterval(te.get(e)),te.delete(e),Xe.delete(e)),t()));function oy(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,sy(e,r,a)}}xi(({player:e,next:t})=>{if(!e.isNpc()){const i=Date.now();e.isPaused&&(e[B].isPaused=!1,ry(e,e.lastUpdateTick,i,i-e.lastUpdateTick)),e[B].lastUpdateTick=i,oy(e)}return t()});const Ze=Object.freeze({onConnect:Vi,onDisconnect:Bi,onPause:ty,onResume:ay,onUpdate:xi,onText:MC,onEnterExitModShop:kC,onClickMap:VC,onClickPlayer:BC,onDeath:xC,onGiveDamage:HC,onKeyStateChange:WC,onRequestClass:UC,onRequestSpawn:KC,onSpawn:XC,onStateChange:ZC,onStreamIn:YC,onStreamOut:zC,onTakeDamage:JC,onInteriorChange:$C,onRequestDownload:QC,onFinishedDownloading:qC,onCheckResponse:Mi,onCommandReceived:SC,onCommandPerformed:AC,onCommandError:DC,onCommandText:ae.on,offCommandText:ae.off,onDialogResponse:ki,onLocaleChange:OC,onCharsetChange:jC,onFpsUpdate:ny,onWeaponShot:ey,onAndroidCheck:ly,onCommandTextRaw:bC});H.onExit(({next:e})=>(p.getInstances().forEach(t=>t.destroy()),Ie.clear(),e()));const[_y]=m({name:"OnVehicleDamageStatusUpdate",identifier:"ii",defaultValue:!1,beforeEach(e,t){return{vehicle:p.getInstance(e),player:c.getInstance(t)}}}),[cy]=m({name:"OnVehicleDeath",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),killer:c.getInstance(t)}}}),[dy]=m({name:"OnVehicleMod",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),componentId:i}}}),[hy]=m({name:"OnVehiclePaintjob",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),paintjobId:i}}}),[uy]=m({name:"OnVehicleRespray",identifier:"iiii",beforeEach(e,t,i,a){return{player:c.getInstance(e),vehicle:p.getInstance(t),color:[i,a]}}}),[gy]=m({name:"OnVehicleSirenStateChange",identifier:"iii",defaultValue:!1,beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),state:!!i}}}),[my]=m({name:"OnVehicleSpawn",identifier:"i",beforeEach(e){return{vehicle:p.getInstance(e)}}}),[Py]=m({name:"OnVehicleStreamIn",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),forPlayer:c.getInstance(t)}}}),[fy]=m({name:"OnVehicleStreamOut",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),forPlayer:c.getInstance(t)}}}),[py]=m({name:"OnPlayerEnterVehicle",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),isPassenger:!!i}}}),[Iy]=m({name:"OnPlayerExitVehicle",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),vehicle:p.getInstance(t)}}}),[Cy]=m({name:"OnTrailerUpdate",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),vehicle:p.getInstance(t)}}}),[yy]=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:_y,onDeath:cy,onMod:dy,onPaintjob:hy,onRespray:uy,onSirenStateChange:gy,onSpawn:my,onStreamIn:Py,onStreamOut:fy,onPlayerEnter:py,onPlayerExit:Iy,onTrailerUpdate:Cy,onUnoccupiedUpdate:yy}),[we]=m({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:c.getInstance(i)}}}),[Re]=m({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:c.getInstance(i)}}}),[Ey]=m({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class A{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getTickRate=Cn;static setTickRate=yn;static getPlayerTickRate(t){return Sn(t.id)}static setPlayerTickRate(t,i=50){return En(t.id,i)}static toggleChunkStream=An;static isToggleChunkStream=Nn;static getChunkTickRate(t,i=-1){return i instanceof c?oi(t,i.id):oi(t,i)}static setChunkTickRate(t,i,a=-1){return a instanceof c?_i(t,i,a.id):_i(t,i,a)}static getChunkSize=Dn;static setChunkSize=Tn;static getMaxItems=vn;static setMaxItems=bn;static getVisibleItems(t,i=-1){return i instanceof c?ci(t,i.id):ci(t,i)}static setVisibleItems(t,i,a=-1){return a instanceof c?di(t,i,a.id):di(t,i,a)}static getRadiusMultiplier(t,i=-1){return i instanceof c?hi(t,i.id):hi(t,i)}static setRadiusMultiplier(t,i,a=-1){return a instanceof c?ui(t,i,a.id):ui(t,i,a)}static getTypePriority=Ln;static setTypePriority=wn;static getCellDistance=Rn;static setCellDistance=On;static getCellSize=Gn;static setCellSize=jn;static toggleItemStatic=Fn;static isToggleItemStatic=Mn;static toggleItemInvAreas=kn;static isToggleItemInvAreas=Vn;static toggleItemCallbacks=Bn;static isToggleItemCallbacks=xn;static toggleErrorCallback=Hn;static isToggleErrorCallback=Wn;static amxUnloadDestroyItems=Un;static processActiveItems=Kn;static toggleIdleUpdate(t,i){return Xn(t.id,i)}static isToggleIdleUpdate(t){return Zn(t.id)}static toggleCameraUpdate(t,i){return Yn(t.id,i)}static isToggleCameraUpdate(t){return zn(t.id)}static toggleItemUpdate(t,i,a){return Jn(t.id,i,a)}static isToggleItemUpdate(t,i){return $n(t.id,i)}static getLastUpdateTime(){return Qn()}static update(t,i=-1){return qn(t.id,i)}static updateEx(t,i,a,r,n,s,o,_,d){return es(t.id,i,a,r,n,s,o,_,d)}static getDistanceToItem=Ar;static toggleItem(t,i,a,r){return Nr(t.id,i,a,r)}static isToggleItem(t,i,a){return Dr(t.id,i,a)}static toggleAllItems(t,i,a,r=[-1]){return Tr(t.id,i,a,r)}static getItemInternalID(t,i,a){return vr(t.id,i,a)}static getItemStreamerID(t,i,a){return br(t.id,i,a)}static isItemVisible(t,i,a){return Lr(t.id,i,a)}static destroyAllVisibleItems(t,i,a=1){return wr(t.id,i,a)}static countVisibleItems(t,i,a=1){return Rr(t.id,i,a)}static destroyAllItems=Or;static countItems=Gr;static getNearbyItems=jr;static getAllVisibleItems(t,i,a){return Fr(t.id,i,a)}static getItemPos=Mr;static setItemPos=kr;static getItemOffset=Vr;static setItemOffset=Br;static getFloatData=qa;static setFloatData=er;static getIntData=tr;static setIntData=ir;static getArrayData=ar;static setArrayData=rr;static isInArrayData=nr;static appendArrayData=sr;static removeArrayData=lr;static getArrayDataLength=li;static getUpperBound=or;static onPluginError=Ey}class O{sourceInfo=null;_id=f.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=O.getInstance(t);if(i)return i;this._id=t,Se.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==f.INVALID_ID)throw new Error("[StreamerObject]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerObject]: Cannot 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:g,rx:I,ry:S,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=O.__inject__.createEx(_,d,h,g,I,S,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=O.__inject__.create(_,d,h,g,I,S,y,a,r,n,t,i,s,o)),Se.set(this._id,this),this}destroy(){if(this.id===f.INVALID_ID&&!D.skip)throw new Error("[StreamerObject]: Cannot destroy object before create");return D.skip||O.__inject__.destroy(this.id),Se.delete(this.id),this._id=f.INVALID_ID,this}isValid(){return D.skip&&this.id!==f.INVALID_ID?!0:O.isValid(this.id)}getModel(){return this.sourceInfo?this.sourceInfo.modelId:A.getIntData(T.OBJECT,this._id,_e.MODEL_ID)}getPos(){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot get position before create");return O.__inject__.getPos(this.id)}setPos(t,i,a){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot set position before create");return O.__inject__.setPos(this.id,t,i,a)}getRot(){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot get rotation before create");return O.__inject__.getRot(this.id)}setRot(t,i,a){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot set rotation before create");return O.__inject__.setRot(this.id,t,i,a)}move(t,i,a,r,n=-1e3,s=-1e3,o=-1e3){if(this.id===f.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(),O.__inject__.move(this.id,t,i,a,r,n,s,o)}stop(){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot stop moving before create");return O.__inject__.stop(this.id)}isMoving(){return this.id===f.INVALID_ID?!1:O.__inject__.isMoving(this.id)}attachCamera(t){if(this.id===f.INVALID_ID||t.id===l.PLAYER_ID)throw new Error("[StreamerObject]: Cannot attachCamera before both are created");return O.__inject__.attachCamera(t.id,this.id)}attachToObject(t,i,a,r,n,s,o,_=!0){if(this.id===f.INVALID_ID||t.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot attachToObject before both are created");return O.__inject__.attachToObject(this.id,t.id,i,a,r,n,s,o,_)}attachToPlayer(t,i,a,r,n,s,o){if(this.id===f.INVALID_ID||t.id===l.PLAYER_ID)throw new Error("[StreamerObject]: Cannot attachToPlayer before both are created");return O.__inject__.attachToPlayer(this.id,t.id,i,a,r,n,s,o)}attachToVehicle(t,i,a,r,n,s,o){if(this.id===f.INVALID_ID||t.id===l.VEHICLE_ID)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return O.__inject__.attachToVehicle(this.id,t.id,i,a,r,n,s,o)}edit(t){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot edit before create");return t.endObjectEditing(),O.__inject__.edit(t.id,this.id)}isMaterialUsed(t){return this.id===f.INVALID_ID?!1:O.__inject__.isMaterialUsed(this.id,t)}removeMaterial(t){return this.id===f.INVALID_ID||!this.isMaterialUsed(t)?0:O.__inject__.removeMaterial(this.id,t)}getMaterial(t){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot get material before create");return O.__inject__.getMaterial(this.id,t)}setMaterial(t,i,a,r,n="#000"){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot set material before create");return O.__inject__.setMaterial(this.id,t,i,a,r,N(n))}isMaterialTextUsed(t){return this.id===f.INVALID_ID?!1:O.__inject__.isMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.id===f.INVALID_ID||!this.isMaterialTextUsed(t)?0:O.__inject__.removeMaterialText(this.id,t)}getMaterialText(t){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot get material text before create");return O.__inject__.getMaterialText(this.id,t,this.sourceInfo?.charset||"utf8")}setMaterialText(t=this.sourceInfo?.charset,i,a,r=ot.SIZE_256x128,n="Arial",s=24,o=1,_="#fff",d="#000",h=0){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot set material text before create");return this.sourceInfo&&(this.sourceInfo.charset=t),O.__inject__.setMaterialText(t||"utf8",this.id,i,a,r,n,s,o,N(_),N(d),h)}getPlayerCameraTarget(t){const i=O.__inject__.getPlayerCameraTarget(t.id);if(i!==f.INVALID_ID)return Se.get(i)}toggleCallbacks(t=!0){if(this.id===f.INVALID_ID)throw new Error("[StreamerObject]: Cannot toggle callbacks before create");return A.toggleItemCallbacks(T.OBJECT,this.id,t)}isToggleCallbacks(){return this.id===f.INVALID_ID?!1:A.isToggleItemCallbacks(T.OBJECT,this.id)}setNoCameraCollision(){return O.__inject__.setNoCameraCol(this.id)}getNoCameraCollision(){return O.__inject__.getNoCameraCol(this.id)}static isValid=Wr;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.OBJECT,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Se.get(t)}static getInstances(){return[...Se.values()]}static __inject__={createEx:hr,create:xr,destroy:Hr,getPos:Ur,setPos:Kr,getRot:Xr,setRot:Zr,move:Yr,stop:zr,isMoving:Jr,attachCamera:$r,attachToObject:Qr,attachToPlayer:qr,attachToVehicle:en,edit:tn,isMaterialUsed:an,removeMaterial:rn,getMaterial:zI,setMaterial:nn,isMaterialTextUsed:sn,removeMaterialText:ln,getMaterialText:JI,setMaterialText:YI,getPlayerCameraTarget:on,setNoCameraCol:_n,getNoCameraCol:cn}}H.onExit(({next:e})=>(O.getInstances().forEach(t=>t.destroy()),Se.clear(),e()));const[Ay,Ny]=m({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Dy,Ty]=m({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,forPlayer:i,next:a})=>e===T.OBJECT?Ny(i,O.getInstance(t)):a()),Re(({type:e,id:t,forPlayer:i,next:a})=>e===T.OBJECT?Ty(i,O.getInstance(t)):a());const[vy]=m({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:O.getInstance(e)}}}),[by]=m({name:"OnPlayerEditDynamicObject",identifier:"iiiffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_){return{player:c.getInstance(e),object:O.getInstance(t),response:i,x:a,y:r,z:n,rX:s,rY:o,rZ:_}}}),[Ly]=m({name:"OnPlayerSelectDynamicObject",identifier:"iiifff",beforeEach(e,t,i,a,r,n){return{player:c.getInstance(e),object:O.getInstance(t),modelId:i,x:a,y:r,z:n}}}),[wy]=m({name:"OnPlayerShootDynamicObject",identifier:"iiifff",beforeEach(e,t,i,a,r,n){return{player:c.getInstance(e),object:O.getInstance(i),weapon:t,x:a,y:r,z:n}}}),Ry=Object.freeze({onMoved:vy,onPlayerEdit:by,onPlayerSelect:Ly,onPlayerShoot:wy,onStreamIn:Ay,onStreamOut:Dy});class le{sourceInfo=null;_id=f.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===f.INVALID_ID)throw new Error("[StreamerMapIcon]: Invalid id");const i=le.getInstance(t);if(i)return i;this._id=t,Ne.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==f.INVALID_ID)throw new Error("[StreamerMapIcon]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerMapIcon]: Cannot 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:g,color:I,extended:S}=this.sourceInfo;if(g<0||g>63)throw new Error("[StreamerMapIcon]: Invalid map icon type");return t??=ct.LOCAL,i??=V.MAP_ICON_SD,o??=0,S?(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=le.__inject__.createEx(_,d,h,g,N(I),t,i,a,r,n,s,o),Ne.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=le.__inject__.create(_,d,h,g,N(I),a,r,n,i,t,s,o),Ne.set(this._id,this),this)}destroy(){if(this.id===f.INVALID_ID&&!D.skip)throw new Error("[StreamerMapIcon]: Cannot destroy the map icon before create");return D.skip||le.__inject__.destroy(this.id),Ne.delete(this._id),this._id=f.INVALID_ID,this}isValid(){return D.skip&&this.id!==f.INVALID_ID?!0:le.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===f.INVALID_ID)throw new Error("[StreamerMapIcon]: Cannot toggle callbacks before create");return A.toggleItemCallbacks(T.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id===f.INVALID_ID?!1:A.isToggleItemCallbacks(T.MAP_ICON,this.id)}static isValid=dr;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.MAP_ICON,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Ne.get(t)}static getInstances(){return[...Ne.values()]}static __inject__={createEx:Pr,create:_r,destroy:cr}}H.onExit(({next:e})=>(le.getInstances().forEach(t=>t.destroy()),Ne.clear(),e()));const[Oy,Gy]=m({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[jy,Fy]=m({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,forPlayer:i,next:a})=>e===T.MAP_ICON?Gy(i,le.getInstance(t)):a()),Re(({type:e,id:t,forPlayer:i,next:a})=>e===T.MAP_ICON?Fy(i,le.getInstance(t)):a());const My=Object.freeze({onStreamIn:Oy,onStreamOut:jy});class re{sourceInfo=null;_id=f.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===f.INVALID_ID)throw new Error("[StreamerPickup]: Invalid id");const i=re.getInstance(t);if(i)return i;this._id=t,xe.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==f.INVALID_ID)throw new Error("[StreamerPickup]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerPickup]: Cannot 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:g,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=re.__inject__.createEx(_,o,d,h,g,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=re.__inject__.create(_,o,d,h,g,i,a,r,t,n,s)),xe.set(this._id,this),this}destroy(){if(this.id===f.INVALID_ID&&!D.skip)throw new Error("[StreamerPickup]: Cannot destroy pickup before create");return D.skip||re.__inject__.destroy(this.id),xe.delete(this.id),this._id=f.INVALID_ID,this}isValid(){return D.skip&&this.id!==f.INVALID_ID?!0:re.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===f.INVALID_ID)throw new Error("[StreamerPickup]: Cannot toggle callbacks before create");return A.toggleItemCallbacks(T.PICKUP,this.id,t)}isToggleCallbacks(){return this.id===f.INVALID_ID?!1:A.isToggleItemCallbacks(T.PICKUP,this.id)}static isValid=un;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.PICKUP,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return xe.get(t)}static getInstances(){return[...xe.values()]}static __inject__={create:dn,createEx:ur,destroy:hn}}H.onExit(({next:e})=>(re.getInstances().forEach(t=>t.destroy()),xe.clear(),e()));const[ky,Vy]=m({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[By,xy]=m({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,next:i})=>e===T.PICKUP?Vy(l.PLAYER_ID,re.getInstance(t)):i()),Re(({type:e,id:t,next:i})=>e===T.PICKUP?xy(l.PLAYER_ID,re.getInstance(t)):i());const[Hy]=m({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:re.getInstance(t)}}}),Wy=Object.freeze({onPlayerPickUp:Hy,onStreamIn:ky,onStreamOut:By});class X{sourceInfo=null;_id=f.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===f.INVALID_ID)throw new Error("[StreamerCheckpoint]: Invalid id");const i=X.getInstance(t);if(i)return i;this._id=t,Ae.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==f.INVALID_ID)throw new Error("[StreamerCheckpoint]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerCheckpoint]: Cannot 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:g}=this.sourceInfo;if(o<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=V.CP_SD,s??=0,g?(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(_,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=X.__inject__.create(_,d,h,o,i,a,r,t,n,s)),Ae.set(this._id,this),this}destroy(){if(this.id===f.INVALID_ID&&!D.skip)throw new Error("[StreamerCheckpoint]: Cannot destroy the checkpoint before create");return D.skip||X.__inject__.destroy(this.id),Ae.delete(this.id),this._id=f.INVALID_ID,this}isValid(){return D.skip&&this.id!==f.INVALID_ID?!0:X.isValid(this.id)}togglePlayer(t,i){if(this.id===f.INVALID_ID)throw new Error("[StreamerCheckpoint]: Cannot toggle the player before create");return X.__inject__.togglePlayer(t.id,this.id,i),this}isPlayerIn(t){return this.id===f.INVALID_ID?!1:X.__inject__.isPlayerIn(t.id,this.id)}toggleCallbacks(t=!0){if(this.id===f.INVALID_ID)throw new Error("[StreamerCheckpoint]: Cannot toggle callbacks before create");return A.toggleItemCallbacks(T.CP,this.id,t)}isToggleCallbacks(){return this.id===f.INVALID_ID?!1:A.isToggleItemCallbacks(T.CP,this.id)}static isValid=ft;static togglePlayerAll(t,i){return X.__inject__.togglePlayerAll(t.id,i)}static getPlayerVisible(t){return Ae.get(X.__inject__.getPlayerVisible(t.id))}static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.CP,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Ae.get(t)}static getInstances(){return[...Ae.values()]}static __inject__={create:Za,createEx:gr,destroy:Ya,getPlayerVisible:Qa,isPlayerIn:$a,togglePlayerAll:Ja,togglePlayer:za}}H.onExit(({next:e})=>(X.getInstances().forEach(t=>t.destroy()),Ae.clear(),e()));const[Uy,Ky]=m({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Xy,Zy]=m({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,forPlayer:i,next:a})=>e===T.CP?Ky(i,X.getInstance(t)):a()),Re(({type:e,id:t,forPlayer:i,next:a})=>e===T.CP?Zy(i,X.getInstance(t)):a());const[Yy]=m({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),cp:X.getInstance(t)}}}),[zy]=m({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),cp:X.getInstance(t)}}}),Jy=Object.freeze({onPlayerEnter:Yy,onPlayerLeave:zy,onStreamIn:Uy,onStreamOut:Xy});class Z{sourceInfo=null;_id=f.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===f.INVALID_ID)throw new Error("[StreamerRaceCP]: Invalid id");const i=Z.getInstance(t);if(i)return i;this._id=t,De.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==f.INVALID_ID)throw new Error("[StreamerRaceCP]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerRaceCP]: Cannot 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:g,nextX:I,nextY:S,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=Z.__inject__.createEx(o,d,h,g,I,S,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=Z.__inject__.create(o,d,h,g,I,S,y,_,i,a,r,t,n,s)),De.set(this._id,this),this}destroy(){if(this.id===f.INVALID_ID&&!D.skip)throw new Error("[StreamerRaceCP]: Cannot destroy the checkpoint before create");return D.skip||Z.__inject__.destroy(this.id),De.delete(this.id),this._id=f.INVALID_ID,this}isValid(){return D.skip&&this.id!==f.INVALID_ID?!0:Z.isValid(this.id)}togglePlayer(t,i){if(this.id===f.INVALID_ID)throw new Error("[StreamerRaceCP]: Cannot toggle player before create");return Z.__inject__.togglePlayer(t.id,this.id,i),this}static togglePlayerAll(t,i){return Z.__inject__.togglePlayerAll(t.id,i)}isPlayerIn(t){return this.id===f.INVALID_ID?!1:Z.__inject__.isPlayerIn(t.id,this.id)}static getPlayerVisible(t){return De.get(Z.__inject__.getPlayerVisible(t.id))}toggleCallbacks(t=!0){if(this.id===f.INVALID_ID)throw new Error("[StreamerRaceCP]: Cannot toggle callbacks before create");return A.toggleItemCallbacks(T.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id===f.INVALID_ID?!1:A.isToggleItemCallbacks(T.RACE_CP,this.id)}static isValid=ft;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.RACE_CP,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return De.get(t)}static getInstances(){return[...De.values()]}static __inject__={create:gn,createEx:mr,destroy:mn,getPlayerVisible:In,isPlayerIn:pn,isValid:ft,togglePlayerAll:fn,togglePlayer:Pn}}H.onExit(({next:e})=>(Z.getInstances().forEach(t=>t.destroy()),De.clear(),e()));const[$y,Qy]=m({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[qy,eS]=m({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,forPlayer:i,next:a})=>e===T.RACE_CP?Qy(i,Z.getInstance(t)):a()),Re(({type:e,id:t,forPlayer:i,next:a})=>e===T.RACE_CP?eS(i,Z.getInstance(t)):a());const[tS]=m({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),raceCP:Z.getInstance(t)}}}),[iS]=m({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),raceCp:Z.getInstance(t)}}}),aS=Object.freeze({onPlayerEnter:tS,onPlayerLeave:iS,onStreamIn:$y,onStreamOut:qy});class F{sourceInfo=null;_id=f.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===f.INVALID_ID)throw new Error("[StreamerActor]: Invalid id");const i=F.getInstance(t);if(i)return i;this._id=t,me.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==f.INVALID_ID)throw new Error("[StreamerActor]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerActor]: Cannot 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:g,invulnerable:I,health:S,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=F.__inject__.createEx(o,_,d,h,g,I,S,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=F.__inject__.create(o,_,d,h,g,I,S,i,a,r,t,n,s)),me.set(this.id,this),this}destroy(){if(this.id===f.INVALID_ID&&!D.skip)throw new Error("[StreamerActor]: Cannot destroy to actor before create");return D.skip||F.__inject__.destroy(this.id),me.delete(this.id),this._id=f.INVALID_ID,this}isValid(){return D.skip&&this.id!==f.INVALID_ID?!0:F.isValid(this.id)}isStreamedIn(t){return this.id===f.INVALID_ID?!1:F.__inject__.isStreamedIn(this.id,t.id)}getVirtualWorld(){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot get virtual world before create");return F.__inject__.getVirtualWorld(this.id)}setVirtualWorld(t){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot set virtual world before create");return F.__inject__.setVirtualWorld(this.id,t)}applyAnimation(t,i,a=4.1,r=!1,n=!0,s=!0,o=!1,_=0){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot apply animation before create");if(!St(t,i))throw new Error(`[StreamerActor]: Invalid anim library or name ${t} ${i}`);return F.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_)}clearAnimations(){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot clear animation before create");return F.__inject__.clearAnimations(this.id)}getFacingAngle(){return F.__inject__.getFacingAngle(this.id)}setFacingAngle(t){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot set facing angle before create");return F.__inject__.setFacingAngle(this.id,t)}getPos(){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot get pos before create");return F.__inject__.getPos(this.id)}setPos(t,i,a){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot set pos before create");return F.__inject__.setPos(this.id,t,i,a)}getHealth(){return F.__inject__.getHealth(this.id)}setHealth(t){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot set health before create");return F.__inject__.setHealth(this.id,t)}isInvulnerable(){return this.id===f.INVALID_ID?!1:F.__inject__.isInvulnerable(this.id)}setInvulnerable(t=!0){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot set invulnerable before create");return F.__inject__.setInvulnerable(this.id,t)}getPlayerTarget(t){const i=F.__inject__.getPlayerTarget(t.id);return me.get(i)}getPlayerCameraTarget(t){const i=F.__inject__.getPlayerCameraTarget(t.id);return me.get(i)}getAnimation(){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot get animation before create");return F.__inject__.getAnimation(this.id)}toggleCallbacks(t=!0){if(this.id===f.INVALID_ID)throw new Error("[StreamerActor]: Cannot toggle callbacks before create");return A.toggleItemCallbacks(T.ACTOR,this.id,t)}isToggleCallbacks(){return this.id===f.INVALID_ID?!1:A.isToggleItemCallbacks(T.ACTOR,this.id)}static isValid=ra;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.ACTOR,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return me.get(t)}static getInstances(){return[...me.values()]}static __inject__={createEx:Er,create:ia,destroy:aa,getPlayerTarget:pa,getPlayerCameraTarget:Ia,isStreamedIn:na,getVirtualWorld:sa,setVirtualWorld:la,applyAnimation:oa,clearAnimations:_a,getFacingAngle:ca,setFacingAngle:da,getPos:ha,setPos:ua,getHealth:ga,setHealth:ma,isInvulnerable:fa,setInvulnerable:Pa,getAnimation:Ca}}H.onExit(({next:e})=>(F.getInstances().forEach(t=>t.destroy()),me.clear(),e()));const[rS]=m({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:F.getInstance(e),forPlayer:c.getInstance(t)}}}),[nS]=m({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:F.getInstance(e),forPlayer:c.getInstance(t)}}}),[sS]=m({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),actor:F.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),lS=Object.freeze({onStreamIn:rS,onStreamOut:nS,onPlayerGiveDamage:sS});class ie{sourceInfo=null;_id=f.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===f.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Invalid id");const i=ie.getInstance(t);if(i)return i;this._id=t,Be.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==f.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot create again");if(!this.sourceInfo)throw new Error("[Streamer3DTextLabel]: Cannot 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:g,color:I,drawDistance:S,x:y,y:L,z:M,extended:Q}=this.sourceInfo;return t??=l.PLAYER_ID,i??=l.VEHICLE_ID,r??=V.TEXT_3D_LABEL_SD,a??=!1,d??=0,Q?(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=ie.__inject__.createEx(g,N(I),y,L,M,S,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=ie.__inject__.create(h||"utf8",g,N(I),y,L,M,S,t,i,a,n,s,o,r,_,d)),Be.set(this.id,this),this}destroy(){if(this.id===f.INVALID_ID&&!D.skip)throw new Error("[Streamer3DTextLabel]: Cannot destroy before create");return D.skip||ie.__inject__.destroy(this.id),Be.delete(this.id),this._id=f.INVALID_ID,this}isValid(){return D.skip&&this.id!==f.INVALID_ID?!0:ie.isValid(this.id)}getColor(){if(this.id===f.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot get color before create");return this.sourceInfo?this.sourceInfo.color:A.getIntData(T.TEXT_3D_LABEL,this._id,_e.COLOR)}getCharset(){if(this.id===f.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot get charset before create");return this.sourceInfo?.charset}getText(){return ie.__inject__.getText(this.id,this.sourceInfo?.charset||"utf8")}updateText(t,i,a){if(this.id===f.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot update text before create");let r="";return this.sourceInfo&&(r=a||this.sourceInfo.charset||"utf8",this.sourceInfo.charset=r),ie.__inject__.updateText(this.id,N(t),i,r)}toggleCallbacks(t=!0){if(this.id===f.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot toggle callbacks before create");return A.toggleItemCallbacks(T.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id===f.INVALID_ID?!1:A.isToggleItemCallbacks(T.TEXT_3D_LABEL,this.id)}setOffsets(t,i,a){if(this.id===f.INVALID_ID)return 0;const r=A.setFloatData(T.TEXT_3D_LABEL,this.id,_e.ATTACH_OFFSET_X,t);return A.setFloatData(T.TEXT_3D_LABEL,this.id,_e.ATTACH_OFFSET_Y,i),A.setFloatData(T.TEXT_3D_LABEL,this.id,_e.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===f.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot attachToPlayer before created");const n=typeof t=="number"?t:t.id,s=A.setIntData(T.TEXT_3D_LABEL,this.id,_e.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===f.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot attachToVehicle before created");const n=typeof t=="number"?t:t.id,s=A.setIntData(T.TEXT_3D_LABEL,this.id,_e.ATTACHED_VEHICLE,n);return n!==l.VEHICLE_ID&&this.setOffsets(i,a,r),this.sourceInfo&&(this.sourceInfo.attachedVehicle=n),s}static isValid=ii;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.TEXT_3D_LABEL,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Be.get(t)}static getInstances(){return[...Be.values()]}static __inject__={create:UI,createEx:KI,getText:ZI,updateText:XI,destroy:ta,isValid:ii}}H.onExit(({next:e})=>(ie.getInstances().forEach(t=>t.destroy()),Be.clear(),e()));const[oS,_S]=m({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[cS,dS]=m({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,forPlayer:i,next:a})=>e===T.TEXT_3D_LABEL?_S(i,ie.getInstance(t)):a()),Re(({type:e,id:t,forPlayer:i,next:a})=>e===T.TEXT_3D_LABEL?dS(i,ie.getInstance(t)):a());const hS=Object.freeze({onStreamIn:oS,onStreamOut:cS});class v{sourceInfo=null;_id=f.INVALID_ID;get type(){return this.sourceInfo?.type??void 0}get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===f.INVALID_ID)throw new Error("[StreamerArea]: Invalid id");const i=v.getInstance(t);if(i)return i;this._id=t,Ee.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==f.INVALID_ID)throw new Error("[StreamerArea]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerArea]: Cannot 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:g,maxZ:I}=this.sourceInfo;this._id=v.__inject__.createCuboidEx(o,_,d,h,g,I,t,i,a,r)}else if(n==="cylinder"){const{x:o,y:_,minZ:d,maxZ:h,size:g}=this.sourceInfo;if(g<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=v.__inject__.createCylinderEx(o,_,d,h,g,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]: Cannot 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:g,maxZ:I}=this.sourceInfo;this._id=v.__inject__.createCuboid(o,_,d,h,g,I,t,i,a,r)}else if(n==="cylinder"){const{x:o,y:_,minZ:d,maxZ:h,size:g}=this.sourceInfo;if(g<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=v.__inject__.createCylinder(o,_,d,h,g,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]: Cannot 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 Ee.set(this._id,this),this}destroy(){if(this.id===f.INVALID_ID&&!D.skip)throw new Error("[StreamerArea]: Cannot destroy the area before create");return D.skip||v.__inject__.destroy(this.id),Ee.delete(this.id),this._id=f.INVALID_ID,this}isValid(){return D.skip&&this.id!==f.INVALID_ID?!0:v.isValid(this.id)}getType(){if(this.id!==f.INVALID_ID)throw new Error("[StreamerArea]: Cannot get type before create");return v.__inject__.getType(this.id)}getPolygonPoints(){return v.__inject__.getPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==f.INVALID_ID)throw new Error("[StreamerArea]: Cannot 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===f.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===f.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=>Ee.get(i)):[]}static getPlayerAreasNumber(t){return v.__inject__.getPlayerAreasNumber(t.id)}isPointIn(t,i,a){return this.id===f.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===f.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===f.INVALID_ID||t.id===f.INVALID_ID)throw new Error("[StreamerArea]: Cannot toggle attach to object before create");return v.__inject__.attachToObject(this.id,t.id,lt.DYNAMIC,l.PLAYER_ID,i,a,r)}attachToPlayer(t,i=0,a=0,r=0){if(this.id===f.INVALID_ID||t.id===l.PLAYER_ID)throw new Error("[StreamerArea]: Cannot 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===f.INVALID_ID||t.id===l.VEHICLE_ID)throw new Error("[StreamerArea]: Cannot toggle attach to vehicle before create");return v.__inject__.attachToVehicle(this.id,t.id,i,a,r)}toggleSpectateMode(t){if(this.id===f.INVALID_ID)throw new Error("[StreamerArea]: Cannot toggle spectate mode before create");return v.__inject__.toggleSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===f.INVALID_ID?!1:v.__inject__.isToggleSpectateMode(this.id)}toggleCallbacks(t=!0){if(this.id===f.INVALID_ID)throw new Error("[StreamerArea]: Cannot toggle callbacks before create");return A.toggleItemCallbacks(T.AREA,this.id,t)}isToggleCallbacks(){return this.id===f.INVALID_ID?!1:A.isToggleItemCallbacks(T.AREA,this.id)}static isValid=va;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.AREA,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Ee.get(t)}static getInstances(){return[...Ee.values()]}static __inject__={createCircleEx:fr,createCuboidEx:yr,createCylinderEx:pr,createPolygonEx:Sr,createRectangleEx:Cr,createSphereEx:Ir,createCircle:ya,createCuboid:Na,createCylinder:Sa,createPolygon:Da,createRectangle:Aa,createSphere:Ea,destroy:Ta,getType:ba,getPolygonPoints:La,getPolygonNumberPoints:ai,isPlayerIn:wa,isPlayerInAny:Ra,isAnyPlayerIn:Oa,isAnyPlayerInAny:Ga,getPlayerAreas:ja,getPlayerAreasNumber:ri,isPointIn:Fa,isPointInAny:Ma,isLineIn:ka,isLineInAny:Va,getForPoint:Ba,getNumberForPoint:ni,getForLine:xa,getNumberForLine:si,attachToObject:Ha,attachToPlayer:Wa,attachToVehicle:Ua,toggleSpectateMode:Ka,isToggleSpectateMode:Xa}}H.onExit(({next:e})=>(v.getInstances().forEach(t=>t.destroy()),Ee.clear(),e()));const[uS,gS]=m({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[mS,PS]=m({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,forPlayer:i,next:a})=>e===T.AREA?gS(i,v.getInstance(t)):a()),Re(({type:e,id:t,forPlayer:i,next:a})=>e===T.AREA?PS(i,v.getInstance(t)):a());const[fS]=m({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),area:v.getInstance(t)}}}),[pS]=m({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),area:v.getInstance(t)}}}),IS=Object.freeze({onStreamIn:uS,onStreamOut:mS,onPlayerEnter:fS,onPlayerLeave:pS});class u{_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=u.getInstance(this._id);if(i)return i;Ce.set(this._id,this)}return this}create(){if(this.id!==l.NPC_ID)throw new Error("[Npc]: Cannot create again");return this._id=u.__inject__.create(this._name),this._id!==l.NPC_ID&&(this.getPlayer()||new c(this._id),Ce.set(this._id,this)),this}destroy(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot destroy before create");return D.skip||u.__inject__.destroy(this._id),Ce.delete(this._id),this._id=l.NPC_ID,this}getPlayer(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getPlayer before create");return c.getInstance(this._id)}getName(){if(this._id===l.NPC_ID)throw new Error("[Npc]: Cannot 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:u.isValid(this._id)}spawn(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot spawn before create");return u.__inject__.spawn(this._id),this}respawn(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot respawn before create");return u.__inject__.respawn(this._id),this}setPos(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setPos before create");return u.__inject__.setPos(this._id,t,i,a),this}setRot(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setRot before create");return u.__inject__.setRot(this._id,t,i,a),this}getRot(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getRot before create");return u.__inject__.getRot(this._id)}setFacingAngle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setFacingAngle before create");return u.__inject__.setFacingAngle(this._id,t),this}getFacingAngle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getFacingAngle before create");return u.__inject__.getFacingAngle(this._id)}setVirtualWorld(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVirtualWorld before create");return u.__inject__.setVirtualWorld(this._id,t),this}getVirtualWorld(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getVirtualWorld before create");return u.__inject__.getVirtualWorld(this._id)}move(t,i,a,r=Pe.AUTO,n=Fe.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot move before create");return u.__inject__.move(this._id,t,i,a,r,n)}moveToPlayer(t,i=Pe.AUTO,a=Fe.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot moveToPlayer before create");return u.__inject__.moveToPlayer(this._id,t.id,i,a)}stopMove(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopMove before create");return u.__inject__.stopMove(this._id),this}isMoving(){return this.id===l.NPC_ID?!1:u.__inject__.isMoving(this._id)}isMovingToPlayer(t){return this.id===l.NPC_ID?!1:u.__inject__.isMovingToPlayer(this._id,t.id)}setSkin(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSkin before create");return u.__inject__.setSkin(this._id,t),this}getSkin(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getSkin before create");return u.__inject__.getSkin(this._id)}isStreamedIn(t){return this.id===l.NPC_ID?!1:u.__inject__.isStreamedIn(this._id,t.id)}isAnyStreamedIn(){return this.id===l.NPC_ID?!1:u.__inject__.isAnyStreamedIn(this._id)}setInterior(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setInterior before create");return u.__inject__.setInterior(this._id,t),this}getInterior(){return this.id===l.NPC_ID?0:u.__inject__.getInterior(this._id)}setHealth(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setHealth before create");return u.__inject__.setHealth(this._id,t),this}getHealth(){return this.id===l.NPC_ID?0:u.__inject__.getHealth(this._id)}setArmour(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setArmour before create");return u.__inject__.setArmour(this._id,t),this}getArmour(){return this.id===l.NPC_ID?0:u.__inject__.getArmour(this._id)}isDead(){return this.id===l.NPC_ID?!1:u.__inject__.isDead(this._id)}applyAnimation(t,i,a,r,n,s,o,_,d){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot applyAnimation before create");return u.__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]: Cannot setWeapon before create");return u.__inject__.setWeapon(this._id,t),this}getWeapon(){return this.id===l.NPC_ID?0:u.__inject__.getWeapon(this._id)}setAmmo(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAmmo before create");return u.__inject__.setAmmo(this._id,t),this}getAmmo(){return this.id===l.NPC_ID?0:u.__inject__.getAmmo(this._id)}setKeys(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setKeys before create");return u.__inject__.setKeys(this._id,t,i,a),this}getKeys(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getKeys before create");return u.__inject__.getKeys(this._id)}setWeaponSkillLevel(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponSkillLevel before create");return u.__inject__.setWeaponSkillLevel(this._id,t,i),this}getWeaponSkillLevel(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getWeaponSkillLevel before create");return u.__inject__.getWeaponSkillLevel(this._id,t)}meleeAttack(t=-1,i=!1){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot meleeAttack before create");return u.__inject__.meleeAttack(this._id,t,i),this}stopMeleeAttack(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopMeleeAttack before create");return u.__inject__.stopMeleeAttack(this._id),this}isMeleeAttacking(){return this.id===l.NPC_ID?!1:u.__inject__.isMeleeAttacking(this._id)}setFightingStyle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setFightingStyle before create");return u.__inject__.setFightingStyle(this._id,t),this}getFightingStyle(){return this.id===l.NPC_ID?gt.NORMAL:u.__inject__.getFightingStyle(this._id)}enableReloading(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot enableReloading before create");return u.__inject__.enableReloading(this._id,t),this}isReloadEnabled(){return this.id===l.NPC_ID?!1:u.__inject__.isReloadEnabled(this._id)}isReloading(){return this.id===l.NPC_ID?!1:u.__inject__.isReloading(this._id)}enableInfiniteAmmo(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot enableInfiniteAmmo before create");return u.__inject__.enableInfiniteAmmo(this._id,t),this}isInfiniteAmmoEnabled(){return this.id===l.NPC_ID?!1:u.__inject__.isInfiniteAmmoEnabled(this._id)}setWeaponState(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponState before create");return u.__inject__.setWeaponState(this._id,t)}getWeaponState(){return this.id===l.NPC_ID?mt.UNKNOWN:u.__inject__.getWeaponState(this._id)}setAmmoInClip(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAmmoInClip before create");return u.__inject__.setAmmoInClip(this._id,t),this}getAmmoInClip(){return this.id===l.NPC_ID?0:u.__inject__.getAmmoInClip(this._id)}shoot(t,i,a,r,n,s,o=0,_=0,d=0,h=!0,g=ue.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot shoot before create");return u.__inject__.shoot(this._id,t,i,a,r,n,s,o,_,d,h,g),this}isShooting(){return this.id===l.NPC_ID?!1:u.__inject__.isShooting(this._id)}aimAt(t,i,a,r=!1,n=-1,s=!0,o=0,_=0,d=0,h=ue.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot aimAt before create");return u.__inject__.aimAt(this._id,t,i,a,r,n,s,o,_,d,h),this}aimAtPlayer(t,i=!1,a=-1,r=!0,n=0,s=0,o=0,_=0,d=0,h=0,g=ue.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot aimAtPlayer before create");return u.__inject__.aimAtPlayer(this._id,t.id,i,a,r,n,s,o,_,d,h,g),this}stopAim(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopAim before create");return u.__inject__.stopAim(this._id),this}isAiming(){return this.id===l.NPC_ID?!1:u.__inject__.isAiming(this._id)}isAimingAtPlayer(t){return this.id===l.NPC_ID?!1:u.__inject__.isAimingAtPlayer(this._id,t.id)}setWeaponAccuracy(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponAccuracy before create");return u.__inject__.setWeaponAccuracy(this._id,t,i),this}getWeaponAccuracy(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponAccuracy(this._id,t)}setWeaponReloadTime(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponReloadTime before create");return u.__inject__.setWeaponReloadTime(this._id,t,i)}getWeaponReloadTime(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponReloadTime(this._id,t)}getWeaponActualReloadTime(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponActualReloadTime(this._id,t)}setWeaponShootTime(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponShootTime before create");return u.__inject__.setWeaponShootTime(this._id,t,i)}getWeaponShootTime(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponShootTime(this._id,t)}setWeaponClipSize(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponClipSize before create");return u.__inject__.setWeaponClipSize(this._id,t,i)}getWeaponClipSize(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponClipSize(this._id,t)}getWeaponActualClipSize(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponActualClipSize(this._id,t)}enterVehicle(t,i,a=Pe.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot enterVehicle before create");return u.__inject__.enterVehicle(this._id,t.id,i,a),this}exitVehicle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot exitVehicle before create");return u.__inject__.exitVehicle(this._id),this}putInVehicle(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot putInVehicle before create");return u.__inject__.putInVehicle(this._id,t.id,i)}removeFromVehicle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot removeFromVehicle before create");return u.__inject__.removeFromVehicle(this._id)}getVehicle(){return p.getInstance(this.getVehicleID())}getVehicleID(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getVehicle before create");return u.__inject__.getVehicle(this._id)}getVehicleSeat(){return this.id===l.NPC_ID?0:u.__inject__.getVehicleSeat(this._id)}getEnteringVehicle(){return p.getInstance(this.getEnteringVehicleId())}getEnteringVehicleId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getEnteringVehicle before create");return u.__inject__.getEnteringVehicle(this._id)}getEnteringVehicleSeat(){return this.id===l.NPC_ID?0:u.__inject__.getEnteringVehicleSeat(this._id)}isEnteringVehicle(){return this.id===l.NPC_ID?!1:u.__inject__.isEnteringVehicle(this._id)}useVehicleSiren(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot useVehicleSiren before create");return u.__inject__.useVehicleSiren(this._id,t)}isVehicleSirenUsed(){return this.id===l.NPC_ID?!1:u.__inject__.isVehicleSirenUsed(this._id)}setVehicleHealth(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVehicleHealth before create");return u.__inject__.setVehicleHealth(this._id,t)}getVehicleHealth(){return this.id===l.NPC_ID?0:u.__inject__.getVehicleHealth(this._id)}setVehicleHydraThrusters(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVehicleHydraThrusters before create");return u.__inject__.setVehicleHydraThrusters(this._id,t)}getVehicleHydraThrusters(){return this.id===l.NPC_ID?0:u.__inject__.getVehicleHydraThrusters(this._id)}setVehicleGearState(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVehicleGearState before create");return u.__inject__.setVehicleGearState(this._id,t)}getVehicleGearState(){return u.__inject__.getVehicleGearState(this._id)}setVehicleTrainSpeed(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVehicleTrainSpeed before create");return u.__inject__.setVehicleTrainSpeed(this._id,t)}getVehicleTrainSpeed(){return this.id===l.NPC_ID?0:u.__inject__.getVehicleTrainSpeed(this._id)}resetAnimation(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot resetAnimation before create");return u.__inject__.resetAnimation(this._id)}setAnimation(t,i,a,r,n,s,o){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAnimation before create");return u.__inject__.setAnimation(this._id,t,i,a,r,n,s,o)}getAnimation(){return this.id===l.NPC_ID?0:u.__inject__.getAnimation(this._id)}clearAnimations(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot clearAnimations before create");return u.__inject__.clearAnimations(this._id)}setSpecialAction(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSpecialAction before create");return u.__inject__.setSpecialAction(this._id,t)}getSpecialAction(){return u.__inject__.getSpecialAction(this._id)}startPlayback(t,i=!1,a=0,r=0,n=0,s=0,o=0,_=0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot startPlayback before create");return u.__inject__.startPlayback(this._id,t,i,a,r,n,s,o,_)}startPlaybackEx(t,i=!1,a=0,r=0,n=0,s=0,o=0,_=0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot startPlaybackEx before create");return u.__inject__.startPlaybackEx(this._id,t.id,i,a,r,n,s,o,_)}stopPlayback(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopPlayback before create");return u.__inject__.stopPlayback(this._id)}pausePlayback(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot pausePlayback before create");return u.__inject__.pausePlayback(this._id,t)}isPlayingPlayback(){return this.id===l.NPC_ID?!1:u.__inject__.isPlayingPlayback(this._id)}isPlaybackPaused(){return this.id===l.NPC_ID?!1:u.__inject__.isPlaybackPaused(this._id)}playNode(t,i=Pe.AUTO,a=Fe.AUTO,r=0,n=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot playNode before create");return u.__inject__.playNode(this._id,t.id,i,a,r,n)}stopPlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopPlayingNode before create");return u.__inject__.stopPlayingNode(this._id)}pausePlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot pausePlayingNode before create");return u.__inject__.pausePlayingNode(this._id)}resumePlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot resumePlayingNode before create");return u.__inject__.resumePlayingNode(this._id)}isPlayingNodePaused(){return this.id===l.NPC_ID?!1:u.__inject__.isPlayingNodePaused(this._id)}isPlayingNode(){return this.id===l.NPC_ID?!1:u.__inject__.isPlayingNode(this._id)}changeNode(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot changeNode before create");return u.__inject__.changeNode(this._id,t.id,i)}updateNodePoint(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot updateNodePoint before create");return u.__inject__.updateNodePoint(this._id,t)}setInvulnerable(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setInvulnerable before create");return u.__inject__.setInvulnerable(this._id,t)}isInvulnerable(){return this.id===l.NPC_ID?!1:u.__inject__.isInvulnerable(this._id)}setSurfingOffsets(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingOffsets before create");return u.__inject__.setSurfingOffsets(this._id,t,i,a)}getSurfingOffsets(){return u.__inject__.getSurfingOffsets(this._id)}setSurfingVehicle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingVehicle before create");return u.__inject__.setSurfingVehicle(this._id,t.id)}getSurfingVehicle(){return p.getInstance(this.getSurfingVehicleId())}getSurfingVehicleId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getSurfingVehicle before create");return u.__inject__.getSurfingVehicle(this._id)}setSurfingObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingObject before create");return t.isGlobal()?u.__inject__.setSurfingObject(this._id,t.id):0}getSurfingObject(){return C.getInstance(this.getSurfingObjectId())}getSurfingObjectId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getSurfingObject before create");return u.__inject__.getSurfingObject(this._id)}setSurfingPlayerObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingPlayerObject before create");return t.isGlobal()?0:this._setSurfingPlayerObject(t.id)}getSurfingPlayerObject(){return C.getInstance(this.getSurfingPlayerObjectId(),this.getPlayer())}_setSurfingPlayerObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingPlayerObject before create");return u.__inject__.setSurfingPlayerObject(this._id,t)}getSurfingPlayerObjectId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getSurfingPlayerObject before create");return u.__inject__.getSurfingPlayerObject(this._id)}resetSurfingData(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot resetSurfingData before create");return u.__inject__.resetSurfingData(this._id)}setSurfingDynamicObject(t){return this._setSurfingPlayerObject(A.getItemInternalID(new c(this._id),T.OBJECT,t.id))}getSurfingDynamicObject(){return O.getInstance(this.getSurfingDynamicObjectId())}getSurfingDynamicObjectId(){return A.getItemStreamerID(new c(this._id),T.OBJECT,this.getSurfingPlayerObjectId())}isSpawned(){return this.id===l.NPC_ID?!1:u.__inject__.isSpawned(this._id)}kill(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot kill before create");return u.__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]: Cannot setVelocity before create");return u.__inject__.setVelocity(this._id,t,i,a)}getVelocity(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getVelocity before create");return u.__inject__.getVelocity(this._id)}getPlayerAimingAt(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getPlayerAimingAt before create");const t=u.__inject__.getPlayerAimingAt(this._id);return t!==l.PLAYER_ID?c.getInstance(t):null}getPlayerMovingTo(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getPlayerMovingTo before create");const t=u.__inject__.getPlayerMovingTo(this._id);return t!==l.PLAYER_ID?c.getInstance(t):null}getPosMovingTo(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getPosMovingTo before create");return u.__inject__.getPosMovingTo(this._id)}getCustomSkin(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getCustomSkin before create");return u.__inject__.getCustomSkin(this._id)}setAngleToPos(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAngleToPos before create");return u.__inject__.setAngleToPos(this._id,t,i,a)}setAngleToPlayer(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAngleToPlayer before create");return u.__inject__.setAngleToPlayer(this._id,t.id)}static startRecordingPlayerData(t,i,a){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");u.__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");u.__inject__.stopRecordingPlayerData(t.id),t[B].isRecording=!1}static isValid(t){return u.__inject__.isValid(t)}static getInstance(t){return Ce.get(t)}static getInstances(){return[...Ce.values()]}static __inject__={create:Xc,destroy:Zc,isValid:Yc,spawn:zc,respawn:Jc,setPos:$c,setRot:Qc,getRot:qc,setFacingAngle:ed,getFacingAngle:td,setVirtualWorld:id,getVirtualWorld:ad,move:rd,moveToPlayer:nd,stopMove:sd,isMoving:ld,isMovingToPlayer:od,setSkin:_d,getSkin:cd,isStreamedIn:dd,isAnyStreamedIn:hd,setInterior:ud,getInterior:gd,setHealth:md,getHealth:Pd,setArmour:fd,getArmour:pd,isDead:Id,applyAnimation:Cd,setWeapon:yd,getWeapon:Sd,setAmmo:Ed,getAmmo:Ad,setKeys:Nd,getKeys:Dd,setWeaponSkillLevel:Td,getWeaponSkillLevel:vd,meleeAttack:bd,stopMeleeAttack:Ld,isMeleeAttacking:wd,setFightingStyle:Rd,getFightingStyle:Od,enableReloading:Gd,isReloadEnabled:jd,isReloading:Fd,enableInfiniteAmmo:Md,isInfiniteAmmoEnabled:kd,setWeaponState:Vd,getWeaponState:Bd,setAmmoInClip:xd,getAmmoInClip:Hd,shoot:Wd,isShooting:Ud,aimAt:Kd,aimAtPlayer:Xd,stopAim:Zd,isAiming:Yd,isAimingAtPlayer:zd,setWeaponAccuracy:Jd,getWeaponAccuracy:$d,setWeaponReloadTime:Qd,getWeaponReloadTime:qd,getWeaponActualReloadTime:eh,setWeaponShootTime:th,getWeaponShootTime:ih,setWeaponClipSize:ah,getWeaponClipSize:rh,getWeaponActualClipSize:nh,enterVehicle:sh,exitVehicle:lh,putInVehicle:oh,removeFromVehicle:_h,getVehicle:ch,getVehicleSeat:dh,getEnteringVehicle:hh,getEnteringVehicleSeat:uh,isEnteringVehicle:gh,useVehicleSiren:mh,isVehicleSirenUsed:Ph,setVehicleHealth:fh,getVehicleHealth:ph,setVehicleHydraThrusters:Ih,getVehicleHydraThrusters:Ch,setVehicleGearState:yh,getVehicleGearState:Sh,setVehicleTrainSpeed:Eh,getVehicleTrainSpeed:Ah,resetAnimation:Nh,setAnimation:Dh,getAnimation:Th,clearAnimations:vh,setSpecialAction:bh,getSpecialAction:Lh,startPlayback:wh,startPlaybackEx:Rh,stopPlayback:Oh,pausePlayback:Gh,isPlayingPlayback:jh,isPlaybackPaused:Fh,playNode:Mh,stopPlayingNode:kh,pausePlayingNode:Vh,resumePlayingNode:Bh,isPlayingNodePaused:xh,isPlayingNode:Hh,changeNode:Wh,updateNodePoint:Uh,setInvulnerable:Kh,isInvulnerable:Xh,setSurfingOffsets:Zh,getSurfingOffsets:Yh,setSurfingVehicle:zh,getSurfingVehicle:Jh,setSurfingObject:$h,getSurfingObject:Qh,setSurfingPlayerObject:qh,getSurfingPlayerObject:eu,resetSurfingData:tu,isSpawned:iu,kill:au,setVelocity:ru,getVelocity:nu,getPlayerAimingAt:su,getPlayerMovingTo:lu,getPosMovingTo:ou,getCustomSkin:_u,setAngleToPos:cu,setAngleToPlayer:du,startRecordingPlayerData:U_,stopRecordingPlayerData:K_}}class ze{_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,ge.has(this._id))return ge.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="",ge.delete(t)),i}return this._id=l.RECORD_ID,this._filePath="",ge.delete(t),!0}isValid(){return D.skip&&this._id!==l.RECORD_ID?!0:ze.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&&ge.clear(),t}static getInstance(t){return ge.get(t)}static getInstances(){return[...ge.values()]}}class Ye{_id=l.NODE_ID;get id(){return this._id}constructor(t){if(this._id=t,se.has(this._id))return se.get(this._id);se.set(this._id,this)}open(){samp.callNative("NPC_OpenNode","i",this._id)&&!se.has(this._id)&&se.set(this._id,this)}close(){if(!D.skip){const t=!!samp.callNative("NPC_CloseNode","i",this._id);return t&&(se.delete(this._id),this._id=l.NODE_ID),t}return se.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 se.get(t)}static getInstances(){return[...se.values()]}}class Je{_id=l.PATH_ID;get id(){return this._id}constructor(t){if(typeof t<"u"){if(ye.has(t))return ye.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,ye.delete(this._id)),t}addPoint(t,i,a,r=.2){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=.2,s]=samp.callNative("NPC_GetPathPoint","ii",this._id,t);return{x:i,y:a,z:r,stopRange:n,ret:!!s}}isValid(){return Je.isValid(this._id)}getCurrentPointIndex(){return samp.callNative("NPC_GetCurrentPathPointIndex","i",this._id)}move(t=Pe.AUTO,i=Fe.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&&ye.clear(),t}static getCount(){return samp.callNative("NPC_GetPathCount","")}static isValid(t){return!!samp.callNative("NPC_IsValidPath","i",t)}static getInstance(t){return ye.get(t)}static getInstances(){return[...ye.values()]}}H.onExit(({next:e})=>(u.getInstances().forEach(t=>{t.isValid()&&t.destroy()}),Ce.clear(),Ye.getInstances().forEach(t=>{t.isOpen()&&t.close()}),se.clear(),Je.destroyAll(),ye.clear(),ze.getInstances().forEach(t=>{t.isValid()&&t.unload()}),ge.clear(),e()));const[CS]=m({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:E.decodeFromBuf(t)}}}),[yS]=m({name:"OnNPCFinishMove",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}}}),[SS]=m({name:"OnNPCCreate",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}}}),[ES]=m({name:"OnNPCDestroy",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}},afterEach({npc:e}){Ce.delete(e.id)}}),[AS]=m({name:"OnNPCWeaponStateChange",identifier:"iii",beforeEach(e,t,i){return{npc:u.getInstance(e),newState:t,oldState:i}}}),[NS]=m({name:"OnNPCTakeDamage",identifier:"iiiii",beforeEach(e,t,i,a,r){return{npc:u.getInstance(e),damager:c.getInstance(t),damage:i,weapon:a,bodyPart:r}}}),[DS]=m({name:"OnNPCGiveDamage",identifier:"iiiii",beforeEach(e,t,i,a,r){return{npc:u.getInstance(e),damager:c.getInstance(t),damage:i,weapon:a,bodyPart:r}}}),[TS]=m({name:"OnNPCDeath",identifier:"iii",beforeEach(e,t,i){const a=c.getInstance(t)||l.PLAYER_ID;return{npc:u.getInstance(e),killer:a,reason:i}}}),[vS]=m({name:"OnNPCSpawn",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}}}),[bS]=m({name:"OnNPCRespawn",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}}}),[LS]=m({name:"OnNPCPlaybackStart",identifier:"ii",beforeEach(e,t){return{npc:u.getInstance(e),record:ze.getInstance(t),recordId:t}}}),[wS]=m({name:"OnNPCPlaybackEnd",identifier:"ii",beforeEach(e,t){return{npc:u.getInstance(e),record:ze.getInstance(t),recordId:t}}}),[RS]=m({name:"OnNPCWeaponShot",identifier:"iiiifff",beforeEach(e,t,i,a,r,n,s){return{npc:u.getInstance(e),weapon:t,hitType:i,hitId:a,fX:r,fY:n,fZ:s}}}),[OS]=m({name:"OnNPCFinishNodePoint",identifier:"iii",beforeEach(e,t,i){return{npc:u.getInstance(e),node:Ye.getInstance(t),nodeId:t,pointId:i}}}),[GS]=m({name:"OnNPCFinishNode",identifier:"ii",beforeEach(e,t){return{npc:u.getInstance(e),node:Ye.getInstance(t),nodeId:t}}}),[jS]=m({name:"OnNPCChangeNode",identifier:"iii",beforeEach(e,t,i){return{npc:u.getInstance(e),newNode:Ye.getInstance(t),oldNode:Ye.getInstance(i),newNodeId:t,oldNodeId:i}}}),[FS]=m({name:"OnNPCFinishMovePath",identifier:"ii",beforeEach(e,t){return{npc:u.getInstance(e),path:Je.getInstance(t),pathId:t}}}),[MS]=m({name:"OnNPCFinishMovePathPoint",identifier:"iii",beforeEach(e,t,i){return{npc:u.getInstance(e),path:Je.getInstance(t),pathId:t,pointIndex:i}}}),kS=Object.freeze({onClientMessage:CS,onFinishMove:yS,onCreate:SS,onDestroy:ES,onSpawn:vS,onRespawn:bS,onWeaponStateChange:AS,onTakeDamage:NS,onGiveDamage:DS,onDeath:TS,onPlaybackStart:LS,onPlaybackEnd:wS,onWeaponShot:RS,onFinishNodePoint:OS,onFinishNode:GS,onChangeNode:jS,onFinishMovePath:FS,onFinishMovePathPoint:MS});class q{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return q.__inject__.getNetworkStats()}static getPlayerNetworkStats(t){return q.__inject__.getPlayerNetworkStats(t.id)}static getBytesReceived(t){return q.__inject__.getBytesReceived(t.id)}static getBytesSent(t){return q.__inject__.getBytesSent(t.id)}static getConnectionStatus(t){return q.__inject__.getConnectionStatus(t.id)}static getConnectedTime(t){return q.__inject__.getConnectedTime(t.id)}static getIpPort(t){return q.__inject__.getIpPort(t.id)}static getMessagesReceived(t){return q.__inject__.getMessagesReceived(t.id)}static getMessagesRecvPerSecond(t){return q.__inject__.getMessagesRecvPerSecond(t.id)}static getMessagesSent(t){return q.__inject__.getMessagesSent(t.id)}static getPacketLossPercent(t){return q.__inject__.getPacketLossPercent(t.id)}static __inject__={getNetworkStats:Ol,getPlayerNetworkStats:Rl,getBytesReceived:yl,getBytesSent:El,getConnectionStatus:Dl,getConnectedTime:Il,getIpPort:Tl,getMessagesReceived:Cl,getMessagesRecvPerSecond:Al,getMessagesSent:Sl,getPacketLossPercent:Nl}}class Oe{_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){Oe.__inject__.hideForAll(t)}static has(t,i){return Oe.__inject__.has(t.id,i)}forAll(t="win1252"){Oe.__inject__.forAll(E.encodeToBuf(E.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,i="win1252"){Oe.__inject__.forPlayer(t.id,E.encodeToBuf(E.convertSpecialChar(this.text),i),this.time,this.style)}hideForPlayer(t){return Oe.__inject__.hideForPlayer(t.id,this.style)}static __inject__={hideForAll:Ms,has:fo,forAll:Fs,forPlayer:Po,hideForPlayer:Io}}class x{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=x.getInstance(this._id);if(i)return i;ke.set(this.id,this)}else this.sourceInfo=t}create(){if(!this.sourceInfo)throw new Error("[Menu]: Cannot 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=x.__inject__.create(t,i,a,r,o,_,s),this.id===l.MENU||x.getInstances().length===W.MAX_MENUS)throw new Error("[Menu]: Cannot create menu");return ke.set(this._id,this),this}destroy(){if(this._id===l.MENU)throw new Error("[Menu]: Cannot destroy before create");return D.skip||x.__inject__.destroy(this.id),ke.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 x.__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 x.__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 x.__inject__.disable(this.id),this}disableRow(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot disable row before create");return x.__inject__.disableRow(this.id,t)}isValid(){return D.skip&&this.id!==l.MENU?!0:x.isValid(this.id)}showForPlayer(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot show menu before create");return x.__inject__.showForPlayer(this.id,t.id)}hideForPlayer(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot hide menu before create");return x.__inject__.hideForPlayer(this.id,t.id)}isDisabled(){return this._id===l.MENU?!1:x.__inject__.isDisabled(this.id)}isRowDisabled(t){return this._id===l.MENU?!1:x.__inject__.isRowDisabled(this.id,t)}getItems(t){return this._id===l.MENU?0:x.__inject__.getItems(this.id,t)}getPos(){return x.__inject__.getPos(this.id)}getColumnWidth(){return x.__inject__.getColumnWidth(this.id)}getColumnHeader(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot get column header before create");return x.__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 x.__inject__.getItem(this.id,t,i,this.sourceInfo?.charset||"ISO-8859-1")}static isValid(t){return x.__inject__.isValid(t)}static getInstance(t){return ke.get(t)}static getInstances(){return[...ke.values()]}static getInstanceByPlayer(t){return this.getInstance(Ni(t.id))}static __inject__={create:oC,destroy:nm,addItem:_C,setColumnHeader:cC,disable:_m,disableRow:cm,isValid:om,showForPlayer:sm,hideForPlayer:lm,isDisabled:em,isRowDisabled:tm,getItems:im,getPos:am,getColumnWidth:rm,getColumnHeader:sC,getItem:lC,getPlayerMenu:Ni}}H.onExit(({next:e})=>(x.getInstances().forEach(t=>t.destroy()),ke.clear(),e()));const[VS]=m({name:"OnPlayerExitedMenu",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[BS]=m({name:"OnPlayerSelectedMenuRow",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e),a=x.getInstanceByPlayer(i);return{player:i,menu:a,row:t}}}),xS=Object.freeze({onPlayerExited:VS,onPlayerSelectedRow:BS});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()?Me.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("[GangZone]: Cannot create with only id");if(this.id!==l.GANG_ZONE)throw new Error("[GangZone]: Cannot 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===W.MAX_GANG_ZONES)throw new Error("[GangZone]: Cannot create playerGangZone");Y.has(t)||Y.set(t,new Map),Y.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===W.MAX_GANG_ZONES)throw new Error("[GangZone]: Cannot create gangZone");Me.set(this.id,this)}return this}destroy(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Cannot destroy before create");const t=this.getPlayer();if(!t)D.skip||b.__inject__.destroy(this.id),Me.delete(this.id);else if(D.skip||b.__inject__.destroyPlayer(t.id,this.id),Y.has(t)){const i=Y.get(t);i.delete(this.id),i.size||Y.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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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 Me.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()||[]]:[...Me.values()]}static getPlayersInstances(){return Array.from(Y.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:Um,destroy:Km,showForAll:Zm,hideForAll:zm,flashForAll:$m,stopFlashForAll:qm,getPos:Hm,useCheck:Wm,createPlayer:eP,destroyPlayer:tP,showPlayer:iP,showForPlayer:Xm,hidePlayer:aP,hideForPlayer:Ym,flashPlayer:rP,flashForPlayer:Jm,stopFlashPlayer:nP,stopFlashForPlayer:Qm,getPosPlayer:hP,useCheckPlayer:uP,isPlayerIn:Mm,isPlayerInPlayer:lP,isVisibleForPlayer:km,isVisiblePlayer:oP,getColorForPlayer:Vm,getColorPlayer:_P,getFlashColorForPlayer:Bm,getFlashColorPlayer:cP,isFlashingForPlayer:xm,isFlashingPlayer:dP,isValidPlayer:sP,isValidGlobal:Fm}}Ze.onDisconnect(({player:e,next:t})=>(Y.has(e)&&(b.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),Y.delete(e)),t())),H.onExit(({next:e})=>(b.getInstances().forEach(t=>t.destroy()),b.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Me.clear(),Y.clear(),e()));const[HS]=m({name:"OnPlayerEnterGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[WS]=m({name:"OnPlayerLeaveGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[US]=m({name:"OnPlayerEnterPlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),[KS]=m({name:"OnPlayerLeavePlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),[XS]=m({name:"OnPlayerClickGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[ZS]=m({name:"OnPlayerClickPlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),YS=Object.freeze({onPlayerEnterGlobal:HS,onPlayerLeaveGlobal:WS,onPlayerEnterPlayer:US,onPlayerLeavePlayer:KS,onPlayerClickGlobal:XS,onPlayerClickPlayer:ZS});class P{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=P.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?Ve.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("[TextDraw]: Cannot create with only id");if(this.id!==l.TEXT_DRAW)throw new Error("[TextDraw]: Cannot create again");const{x:t,y:i,text:a,player:r,charset:n="ISO-8859-1"}=this.sourceInfo,s=E.encodeToBuf(E.convertSpecialChar(a),n);if(r){if(this._id=P.__inject__.createPlayer(r.id,t,i,s),this.id===l.TEXT_DRAW||P.getInstances(r).length===W.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Cannot create player textdraw");z.has(r)||z.set(r,new Map),z.get(r).set(this._id,this)}else{if(this._id=P.__inject__.create(t,i,s),this.id===l.TEXT_DRAW||P.getInstances().length===W.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Cannot create textdraw");Ve.set(this.id,this)}return this}destroy(){this.id===l.TEXT_DRAW&&P.beforeCreateWarn("destroy textdraw");const t=this.getPlayer();if(!t)D.skip||P.__inject__.destroy(this.id),Ve.delete(this.id);else if(D.skip||P.__inject__.destroyPlayer(t.id,this.id),z.has(t)){const i=z.get(t);i.delete(this.id),i.size||z.delete(t)}return this._id=l.TEXT_DRAW,this}setFont(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set font"),this;const i=this.getPlayer();return i?P.__inject__.setFontPlayer(i.id,this.id,t):P.__inject__.setFont(this.id,t),this}setColor(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set color"),this;const i=this.getPlayer();return i?P.__inject__.setColorPlayer(i.id,this.id,t):P.__inject__.setColor(this.id,t),this}setBoxColors(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set box color"),this;const i=this.getPlayer();return i?P.__inject__.setBoxColorPlayer(i.id,this.id,t):P.__inject__.setBoxColor(this.id,t),this}setBackgroundColors(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set background color"),this;const i=this.getPlayer();return i?P.__inject__.setBackgroundColorPlayer(i.id,this.id,t):P.__inject__.setBackgroundColor(this.id,t),this}setAlignment(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set alignment"),this;const i=this.getPlayer();return i?P.__inject__.setAlignmentPlayer(i.id,this.id,t):P.__inject__.setAlignment(this.id,t),this}setLetterSize(t,i){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set letter size"),this;const a=this.getPlayer();return a?P.__inject__.setLetterSizePlayer(a.id,this.id,t,i):P.__inject__.setLetterSize(this.id,t,i),this}setOutline(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set outline model"),this;if(t<0)throw new Error("[TextDraw]: Invalid outline value");const i=this.getPlayer();return i?P.__inject__.setOutlinePlayer(i.id,this.id,t):P.__inject__.setOutline(this.id,t),this}setPreviewModel(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set preview model"),this;this.setFont(et.MODEL_PREVIEW);const i=this.getPlayer();return i?P.__inject__.setPreviewModelPlayer(i.id,this.id,t):P.__inject__.setPreviewModel(this.id,t),this}setPreviewRot(t,i,a,r=1){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set preview rot"),this;this.setFont(et.MODEL_PREVIEW);const n=this.getPlayer();return n?P.__inject__.setPreviewRotPlayer(n.id,this.id,t,i,a,r):P.__inject__.setPreviewRot(this.id,t,i,a,r),this}setPreviewVehColors(t,i){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set preview veh col"),this;this.setFont(et.MODEL_PREVIEW);const a=this.getPlayer();return a?P.__inject__.setPreviewVehicleColorsPlayer(a.id,this.id,t,i):P.__inject__.setPreviewVehicleColors(this.id,t,i),this}setProportional(t=!0){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set Proportional"),this;const i=this.getPlayer();return i?P.__inject__.setProportionalPlayer(i.id,this.id,t):P.__inject__.setProportional(this.id,t),this}setSelectable(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set Selectable"),this;const i=this.getPlayer();return i?P.__inject__.setSelectablePlayer(i.id,this.id,t):P.__inject__.setSelectable(this.id,t),this}setShadow(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set shadow"),this;if(t<0)throw new Error("[TextDraw]: Invalid shadow value");const i=this.getPlayer();return i?P.__inject__.setShadowPlayer(i.id,this.id,t):P.__inject__.setShadow(this.id,t),this}setString(t,i){if(this.id===l.TEXT_DRAW)return P.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=E.encodeToBuf(E.convertSpecialChar(t),a),n=this.getPlayer();return n?P.__inject__.setStringPlayer(n.id,this.id,r):i?P.__inject__.setStringForPlayer(this.id,i.id,r):P.__inject__.setString(this.id,r),this}setTextSize(t,i){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set TextSize"),this;const a=this.getPlayer();return a?P.__inject__.setTextSizePlayer(a.id,this.id,t,i):P.__inject__.setTextSize(this.id,t,i),this}useBox(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set TextSize"),this;const i=this.getPlayer();return i?P.__inject__.useBoxPlayer(i.id,this.id,t):P.__inject__.useBox(this.id,t),this}static beforeCreateWarn(t){throw new Error(`[TextDraw]: Cannot ${t} before create`)}show(t){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("show"),this;const i=this.getPlayer();if(i)P.__inject__.showPlayer(i.id,this.id);else if(t)P.__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 P.beforeCreateWarn("hide"),this;const i=this.getPlayer();if(i)P.__inject__.hidePlayer(i.id,this.id);else if(t)P.__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 P.beforeCreateWarn("show"),this;if(!this.getPlayer())return P.__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 P.beforeCreateWarn("hideAll"),this;if(!this.getPlayer())return P.__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?P.__inject__.isValidPlayer(t.id,this.id):P.__inject__.isValid(this.id)}isVisibleForPlayer(t){if(this.id===l.TEXT_DRAW)return!1;const i=this.getPlayer();return i?P.__inject__.isVisiblePlayer(i.id,this.id):t?P.__inject__.isVisibleForPlayer(t.id,this.id):!1}getString(){this.id===l.TEXT_DRAW&&P.beforeCreateWarn("getString");const t=this.getPlayer();return t?P.__inject__.getStringPlayer(t.id,this.id).str:P.__inject__.getString(this.id).str}setPos(t,i){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("set position"),this;const a=this.getPlayer();return a?P.__inject__.setPosPlayer(a.id,this.id,t,i):P.__inject__.setPos(this.id,t,i),this}getLetterSize(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get letter size");const t=this.getPlayer();return t?P.__inject__.getLetterSizePlayer(t.id,this.id):P.__inject__.getLetterSize(this.id)}getTextSize(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get text size");const t=this.getPlayer();return t?P.__inject__.getTextSizePlayer(t.id,this.id):P.__inject__.getTextSize(this.id)}getPos(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get position");const t=this.getPlayer();return t?P.__inject__.getPosPlayer(t.id,this.id):P.__inject__.getPos(this.id)}getColor(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get color");const t=this.getPlayer();return t?P.__inject__.getColorPlayer(t.id,this.id):P.__inject__.getColor(this.id)}getBoxColor(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get box color");const t=this.getPlayer();return t?P.__inject__.getBoxColorPlayer(t.id,this.id):P.__inject__.getBoxColor(this.id)}getBackgroundColor(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get bg color");const t=this.getPlayer();return t?P.__inject__.getBackgroundColorPlayer(t.id,this.id):P.__inject__.getBackgroundColor(this.id)}getShadow(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get shadow");const t=this.getPlayer();return t?P.__inject__.getShadowPlayer(t.id,this.id):P.__inject__.getShadow(this.id)}getOutline(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get outline");const t=this.getPlayer();return t?P.__inject__.getOutlinePlayer(t.id,this.id):P.__inject__.getOutline(this.id)}getFont(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get font");const t=this.getPlayer();return t?P.__inject__.getFontPlayer(t.id,this.id):P.__inject__.getFont(this.id)}isBox(){if(this.id===l.TEXT_DRAW)return!1;const t=this.getPlayer();return t?P.__inject__.isBoxPlayer(t.id,this.id):P.__inject__.isBox(this.id)}isProportional(){if(this.id===l.TEXT_DRAW)return!1;const t=this.getPlayer();return t?P.__inject__.isProportionalPlayer(t.id,this.id):P.__inject__.isProportional(this.id)}isSelectable(){if(this.id===l.TEXT_DRAW)return!1;const t=this.getPlayer();return t?P.__inject__.isSelectablePlayer(t.id,this.id):P.__inject__.isSelectable(this.id)}getAlignment(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get alignment");const t=this.getPlayer();return t?P.__inject__.getAlignmentPlayer(t.id,this.id):P.__inject__.getAlignment(this.id)}getPreviewModel(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get preview model");const t=this.getPlayer();return t?P.__inject__.getPreviewModelPlayer(t.id,this.id):P.__inject__.getPreviewModel(this.id)}getPreviewRot(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get preview rotation");const t=this.getPlayer();return t?P.__inject__.getPreviewRotPlayer(t.id,this.id):P.__inject__.getPreviewRot(this.id)}getPreviewVehColors(){if(this.id===l.TEXT_DRAW)return P.beforeCreateWarn("get preview vel colors");const t=this.getPlayer();return t?P.__inject__.getPreviewVehicleColorsPlayer(t.id,this.id):P.__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 Ve.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()||[]]:[...Ve.values()]}static getPlayersInstances(){return Array.from(z.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:jP,createPlayer:Df,destroy:FP,destroyPlayer:Tf,setFont:XP,setFontPlayer:Mf,setColor:BP,setColorPlayer:wf,setBoxColor:HP,setBoxColorPlayer:Of,setBackgroundColor:KP,setBackgroundColorPlayer:Ff,setAlignment:VP,setAlignmentPlayer:Lf,setLetterSize:MP,setLetterSizePlayer:vf,setOutline:UP,setOutlinePlayer:jf,setPreviewModel:ef,setPreviewModelPlayer:Wf,setPreviewRot:tf,setPreviewRotPlayer:Uf,setPreviewVehicleColors:af,setPreviewVehicleColorsPlayer:Kf,setProportional:ZP,setProportionalPlayer:kf,setSelectable:YP,setSelectablePlayer:Vf,setShadow:WP,setShadowPlayer:Gf,setStringPlayer:Hf,setStringForPlayer:GP,setString:qP,setTextSize:kP,setTextSizePlayer:bf,useBoxPlayer:Rf,useBox:xP,showPlayer:Bf,showForPlayer:zP,hidePlayer:xf,hideForPlayer:JP,showForAll:$P,hideForAll:QP,isValidPlayer:sf,isValid:gP,isVisiblePlayer:lf,isVisibleForPlayer:mP,getStringPlayer:of,getString:PP,setPosPlayer:_f,setPos:fP,getLetterSizePlayer:cf,getLetterSize:pP,getTextSizePlayer:df,getTextSize:IP,getPosPlayer:hf,getPos:CP,getColorPlayer:uf,getColor:yP,getBoxColorPlayer:gf,getBoxColor:SP,getBackgroundColorPlayer:mf,getBackgroundColor:EP,getShadowPlayer:Pf,getShadow:AP,getOutlinePlayer:ff,getOutline:NP,getFontPlayer:pf,getFont:DP,isBoxPlayer:If,isBox:TP,isProportionalPlayer:Cf,isProportional:vP,isSelectablePlayer:yf,isSelectable:bP,getAlignmentPlayer:Sf,getAlignment:LP,getPreviewModelPlayer:Ef,getPreviewModel:wP,getPreviewRotPlayer:Af,getPreviewRot:RP,getPreviewVehicleColors:OP,getPreviewVehicleColorsPlayer:Nf}}Ze.onDisconnect(({player:e,next:t})=>(z.has(e)&&(P.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),z.delete(e)),t())),H.onExit(({next:e})=>(P.getInstances().forEach(t=>t.destroy()),P.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Ve.clear(),z.clear(),e()));const[zS]=m({name:"OnPlayerClickTextDraw",identifier:"ii",defaultValue:!1,beforeEach(e,t){return{player:c.getInstance(e),textDraw:t===l.TEXT_DRAW?t:P.getInstance(t)}}}),[JS]=m({name:"OnPlayerClickPlayerTextDraw",identifier:"ii",defaultValue:!1,beforeEach(e,t){const i=c.getInstance(e);return{player:i,textDraw:t===l.TEXT_DRAW?t:P.getInstance(t,i)}}}),$S=Object.freeze({onPlayerClickGlobal:zS,onPlayerClickPlayer:JS});Ze.onDisconnect(({player:e,next:t})=>(K.has(e)&&(C.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),K.delete(e)),t())),H.onExit(({next:e})=>(C.getInstances().forEach(t=>t.destroy()),C.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Te.clear(),K.clear(),e()));const[QS]=m({name:"OnPlayerSelectObject",identifier:"iiiifff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s){const o=c.getInstance(e),_=t!==fe.UNKNOWN&&t===fe.PLAYER_OBJECT,d=t!==fe.UNKNOWN&&t===fe.GLOBAL_OBJECT;return{player:o,type:t,isPlayerObject:_,isGlobal:d,objectMp:t===fe.GLOBAL_OBJECT?C.getInstance(i):C.getInstance(i,o),modelId:a,fX:r,fY:n,fZ:s}}}),[qS]=m({name:"OnPlayerEditObject",identifier:"iiiiffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d){const h=c.getInstance(e),g=t===1;return{player:h,isPlayerObject:g,isGlobal:!g,objectMp:g?C.getInstance(i,h):C.getInstance(i),response:a,fX:r,fY:n,fZ:s,fRotX:o,fRotY:_,fRotZ:d}}}),[eE]=m({name:"OnPlayerEditAttachedObject",identifier:"iiiiifffffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d,h,g,I,S){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:g,fScaleY:I,fScaleZ:S}}}),[tE]=m({name:"OnObjectMoved",identifier:"i",beforeEach(e){return{objectMp:C.getInstance(e)}}}),[iE]=m({name:"OnPlayerObjectMoved",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,playerObject:C.getInstance(t,i)}}}),aE=Object.freeze({onPlayerSelect:QS,onPlayerEdit:qS,onPlayerEditAttached:eE,onGlobalMoved:tE,onPlayerMoved:iE});class j{_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=j.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=j.__inject__.create(t,i,a,r,n),this._id===l.ACTOR_ID||j.getInstances().length===W.MAX_ACTORS)throw new Error("[Actor]: Cannot create actor");return He.set(this._id,this),this}destroy(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot before create");return D.skip||j.__inject__.destroy(this._id),He.delete(this._id),this._id=l.ACTOR_ID,this}isStreamIn(t){return this._id===l.ACTOR_ID?!1:j.__inject__.isStreamedIn(this.id,t.id)}setVirtualWorld(t){return this._id===l.ACTOR_ID?!1:j.__inject__.setVirtualWorld(this.id,t)}getVirtualWorld(){return this._id===l.ACTOR_ID?0:j.__inject__.getVirtualWorld(this.id)}applyAnimation(t,i,a,r,n,s,o,_){return this._id===l.ACTOR_ID?!1:j.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_)}clearAnimations(){return this._id===l.ACTOR_ID?!1:j.__inject__.clearAnimations(this.id)}setPos(t,i,a){return this._id===l.ACTOR_ID?!1:j.__inject__.setPos(this.id,t,i,a)}getPos(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getPos before create");return j.__inject__.getPos(this.id)}setFacingAngle(t){return this._id===l.ACTOR_ID?!1:j.__inject__.setFacingAngle(this.id,t)}getFacingAngle(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getFacingAngle before create");return j.__inject__.getFacingAngle(this.id)}setHealth(t){return this._id===l.ACTOR_ID?!1:j.__inject__.setHealth(this.id,t)}getHealth(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getHealth before create");return j.__inject__.getHealth(this.id)}setInvulnerable(t){return this._id===l.ACTOR_ID?!1:j.__inject__.setInvulnerable(this.id,t)}isInvulnerable(){return this._id===l.ACTOR_ID?!1:j.__inject__.isInvulnerable(this.id)}isValid(){return j.isValid(this._id)}setSkin(t){return this._id===l.ACTOR_ID?!1:j.__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:j.__inject__.getSkin(this.id)}getAnimation(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getAnimation before create");return j.__inject__.getAnimation(this.id)}getSpawnInfo(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getSpawnInfo before create");return j.__inject__.getSpawnInfo(this.id)}static isValid(t){return j.__inject__.isValid(t)}static getInstance(t){return He.get(t)}static getInstances(){return[...He.values()]}static __inject__={create:Lc,destroy:wc,applyAnimation:jc,clearAnimations:Fc,getAnimation:bc,getFacingAngle:Bc,getHealth:Hc,getPos:kc,getSkin:Dc,getSpawnInfo:vc,getVirtualWorld:Gc,isInvulnerable:Uc,isStreamedIn:Rc,isValid:Kc,setFacingAngle:Vc,setHealth:xc,setInvulnerable:Wc,setPos:Mc,setSkin:Tc,setVirtualWorld:Oc}}H.onExit(({next:e})=>(j.getInstances().forEach(t=>t.destroy()),He.clear(),e()));const[rE]=m({name:"OnPlayerGiveDamageActor",identifier:"iifii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),actor:j.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),[nE]=m({name:"OnActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:j.getInstance(e),player:c.getInstance(t)}}}),[sE]=m({name:"OnActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:j.getInstance(e),player:c.getInstance(t)}}}),lE=Object.freeze({onPlayerGiveDamage:rE,onStreamIn:nE,onStreamOut:sE});class Ge{static set(t,i,a,r,n){return Ge.__inject__.set(t.id,i,a,r,n)}static disable(t){return Ge.__inject__.disable(t.id)}static isPlayerIn(t){return Ge.__inject__.isPlayerIn(t.id)}static isActive(t){return Ge.__inject__.isActive(t.id)}static get(t){return Ge.__inject__.get(t.id)}static __inject__={disable:zg,get:Si,isActive:yi,isPlayerIn:Qg,set:Yg}}const[oE]=m({name:"OnPlayerEnterCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[_E]=m({name:"OnPlayerLeaveCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),cE=Object.freeze({onPlayerEnter:oE,onPlayerLeave:_E});class je{static set(t,i,a,r,n,s,o,_,d){return je.__inject__.set(t.id,i,a,r,n,s,o,_,d)}static disable(t){return je.__inject__.disable(t.id)}static isPlayerIn(t){return je.__inject__.isPlayerIn(t.id)}static isActive(t){return je.__inject__.isActive(t.id)}static get(t){return je.__inject__.get(t.id)}static __inject__={disable:$g,get:Ai,isActive:Ei,isPlayerIn:qg,set:Jg}}const[dE]=m({name:"OnPlayerEnterRaceCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[hE]=m({name:"OnPlayerLeaveRaceCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),uE=Object.freeze({onPlayerEnter:dE,onPlayerLeave:hE});class w{sourceInfo=null;_player=null;_id=l.PICKUP_ID;get id(){return this._id}constructor(t,i){if(typeof t=="number"){if(t===l.PICKUP_ID)throw new Error("[Pickup]: Invalid id");i&&(this._player=i);const a=w.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?We.set(this._id,this):i&&(J.has(i)||J.set(i,new Map),J.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[Pickup]: Cannot 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,_=this.getPlayer();if(o){if(_)throw new Error("[Pickup]: Cannot create static pickup for player");w.__inject__.addStatic(t,i,r,n,s,a)}else if(_){if(this._id=w.__inject__.createPlayer(_.id,t,i,r,n,s,a),_&&w.getInstances(_).length===W.MAX_PICKUPS||this._id===l.PICKUP_ID)throw new Error("[Pickup]: Cannot create player pickup");J.has(_)||J.set(_,new Map),J.get(_).set(this.id,this)}else{if(this._id=w.__inject__.create(t,i,r,n,s,a),w.getInstances().length===W.MAX_PICKUPS||this._id===l.PICKUP_ID)throw new Error("[Pickup]: Cannot create pickup");We.set(this.id,this)}return this}destroy(){if(this.sourceInfo&&this.sourceInfo.isStatic)throw new Error("[Pickup]: Cannot destroy static pickup");if(this.id===l.PICKUP_ID)throw new Error("[Pickup]: Cannot destroy before create");const t=this.getPlayer();if(!t)D.skip||w.__inject__.destroy(this.id),We.delete(this.id);else if(D.skip||w.__inject__.destroyPlayer(t.id,this.id),J.has(t)){const i=J.get(t);i.delete(this.id),i.size||J.delete(t)}this._id=l.PICKUP_ID}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(){if(D.skip&&this.id!==l.PICKUP_ID)return!0;if(this.id===l.PICKUP_ID)return!1;const t=this.getPlayer();return t?w.isValidPlayer(t.id,this.id):w.isValidGlobal(this.id)}isStreamedIn(t){if(this.id===l.PICKUP_ID)return!1;const i=this.getPlayer();return i?w.__inject__.isStreamedInPlayer(i.id,this.id):w.__inject__.isStreamedIn(t.id,this.id)}getPos(){const t=this.getPlayer();return t?w.__inject__.getPosPlayer(t.id,this.id):w.__inject__.getPos(this.id)}getModel(){if(this.id===l.PICKUP_ID)return 0;const t=this.getPlayer();return t?w.__inject__.getModelPlayer(t.id,this.id):w.__inject__.getModel(this.id)}getType(){if(this.id===l.PICKUP_ID)return 0;const t=this.getPlayer();return t?w.__inject__.getTypePlayer(t.id,this.id):w.__inject__.getType(this.id)}getVirtualWorld(){if(this.id===l.PICKUP_ID)return 0;const t=this.getPlayer();return t?w.__inject__.getVirtualWorldPlayer(t.id,this.id):w.__inject__.getVirtualWorld(this.id)}setPos(t,i,a,r){if(this.id===l.PICKUP_ID)return!1;const n=this.getPlayer();return n?w.__inject__.setPosPlayer(n.id,this.id,t,i,a,r):w.__inject__.setPos(this.id,t,i,a,r)}setModel(t,i=!0){if(this.id===l.PICKUP_ID)return!1;const a=this.getPlayer();return a?w.__inject__.setModelPlayer(a.id,this.id,t,i):w.__inject__.setModel(this.id,t,i)}setType(t,i=!0){if(this.id===l.PICKUP_ID)return!1;const a=this.getPlayer();return a?w.__inject__.setTypePlayer(a.id,this.id,t,i):w.__inject__.setType(this.id,t,i)}setVirtualWorld(t){if(this.id===l.PICKUP_ID)return!1;const i=this.getPlayer();return i?w.__inject__.setVirtualWorldPlayer(i.id,this.id,t):w.__inject__.setVirtualWorld(this.id,t)}showForPlayer(t){if(this.id===l.PICKUP_ID)return!1;if(this.getPlayer())throw new Error("[Pickup]: Cannot show for player pickup");return w.__inject__.showForPlayer(t.id,this.id)}hideForPlayer(t){if(this.id===l.PICKUP_ID)return!1;if(this.getPlayer())throw new Error("[Pickup]: Cannot hide for player pickup");return w.__inject__.hideForPlayer(t.id,this.id)}isHiddenForPlayer(t){if(this.id===l.PICKUP_ID)return!1;if(this.isPlayer())throw new Error("[Pickup]: Cannot isHiddenForPlayer for player pickup");return w.__inject__.isHiddenForPlayer(t.id,this.id)}static isValidPlayer(t,i){return w.__inject__.isValidPlayer(t,i)}static isValidGlobal(t){return w.__inject__.isValidGlobal(t)}static getInstance(t,i){if(!i)return We.get(t);if(i.id!==l.PLAYER_ID)return J.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...J.get(t)?.values()||[]]:[...We.values()]}static getPlayersInstances(){return Array.from(J.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:SI,addStatic:yI,destroy:EI,isStreamedIn:_I,getPos:cI,getModel:dI,getType:hI,getVirtualWorld:uI,setPos:gI,setModel:mI,setType:PI,setVirtualWorld:fI,showForPlayer:pI,hideForPlayer:II,isHiddenForPlayer:CI,isValidGlobal:oI,createPlayer:AI,destroyPlayer:NI,isStreamedInPlayer:TI,getPosPlayer:vI,getModelPlayer:OI,getTypePlayer:GI,getVirtualWorldPlayer:jI,setPosPlayer:bI,setModelPlayer:LI,setTypePlayer:wI,setVirtualWorldPlayer:RI,isValidPlayer:DI}}Ze.onDisconnect(({player:e,next:t})=>(J.has(e)&&(w.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),J.delete(e)),t())),H.onExit(({next:e})=>(w.getInstances().forEach(t=>t.destroy()),w.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),We.clear(),J.clear(),e()));const[gE]=m({name:"OnPlayerPickUpPickup",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:w.getInstance(t)}}}),[mE]=m({name:"OnPickupStreamIn",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:w.getInstance(t)}}}),[PE]=m({name:"OnPickupStreamOut",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:w.getInstance(t)}}}),[fE]=m({name:"OnPlayerPickUpPlayerPickup",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,pickup:w.getInstance(t,i)}}}),[pE]=m({name:"OnPlayerPickupStreamIn",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,pickup:w.getInstance(t,i)}}}),[IE]=m({name:"OnPlayerPickupStreamOut",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,pickup:w.getInstance(t,i)}}}),CE=Object.freeze({onPlayerPickUpGlobal:gE,onStreamInGlobal:mE,onStreamOutGlobal:PE,onPlayerPickupPlayer:fE,onStreamInPlayer:pE,onStreamOutPlayer:IE});class R{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=R.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?Ue.set(this._id,this):i&&($.has(i)||$.set(i,new Map),$.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[TextLabel]: Cannot create with only id");if(this.id!==l._3DTEXT_ID)throw new Error("[TextLabel]: Cannot create again");const{charset:t="utf8",text:i,color:a,x:r,y:n,z:s,drawDistance:o,virtualWorld:_,testLOS:d,attachedPlayer:h,attachedVehicle:g}=this.sourceInfo;if(this.isGlobal()){if(this._id=R.__inject__.create(t,i,a,r,n,s,o,_,d),this.id===l._3DTEXT_ID||R.getInstances().length===W.MAX_3DTEXT_GLOBAL)throw new Error("[TextLabel]: Cannot create textLabel");return Ue.set(this._id,this),this}const I=this.getPlayerId();if(I===l.PLAYER_ID)return this;const S=this.getPlayer();if(this._id=R.__inject__.createPlayer(t,I,i,a,r,n,s,o,typeof h>"u"?l.PLAYER_ID:h.id,typeof g>"u"?l.VEHICLE_ID:g.id,d),this.id===l._3DTEXT_ID||R.getInstances(S).length===W.MAX_3DTEXT_PLAYER)throw new Error("[TextLabel]: Cannot create playerTextLabel");return $.has(S)||$.set(S,new Map),$.get(this.getPlayer()).set(this.id,this),this}destroy(){if(this.id===l._3DTEXT_ID)throw new Error("[TextLabel]: Cannot destroy the textLabel before create");if(this.isGlobal())D.skip||R.__inject__.delete(this.id),Ue.delete(this.id);else{const t=this.getPlayerId();if(t===l.PLAYER_ID)return this;const i=this.getPlayer();if(D.skip||R.__inject__.deletePlayer(t,this.id),$.has(i)){const a=$.get(i);a.delete(this.id),a.size===0&&$.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()?R.isValid(this.id):R.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]: Cannot attach to player, textLabel is not global");return R.__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]: Cannot attach to vehicle, textLabel is not global");return R.__inject__.attachToVehicle(this.id,t.id,i,a,r)}updateText(t,i,a="utf8"){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.updateText(a,this.id,t,i):R.__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]: Cannot check stream in, textLabel is not global");return R.__inject__.isStreamedIn(this.id,t.id)}getText(t=this.sourceInfo?.charset||"utf8"){return this.isGlobal()?R.__inject__.getText(t,this.id):R.__inject__.getPlayerText(t,this.getPlayerId(),this.id)}getColor(){return this.isGlobal()?R.__inject__.getColor(this.id):R.__inject__.getPlayerColor(this.getPlayerId(),this.id)}getPos(){return this.isGlobal()?R.__inject__.getPos(this.id):R.__inject__.getPlayerPos(this.getPlayerId(),this.id)}setDrawDistance(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.setDrawDistance(this.id,t):R.__inject__.setPlayerDrawDistance(this.getPlayerId(),this.id,t)}getDrawDistance(){return this.isGlobal()?R.__inject__.getDrawDistance(this.id):R.__inject__.getPlayerDrawDistance(this.getPlayerId(),this.id)}getLOS(){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.getLOS(this.id):R.__inject__.getPlayerLOS(this.getPlayerId(),this.id)}setLOS(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.setLOS(this.id,t):R.__inject__.setPlayerLOS(this.getPlayerId(),this.id,t)}getVirtualWorld(){return this.id===l._3DTEXT_ID?0:this.isGlobal()?R.__inject__.getVirtualWorld(this.id):R.__inject__.getPlayerVirtualWorld(this.getPlayerId(),this.id)}setVirtualWorld(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.setVirtualWorld(this.id,t):R.__inject__.setPlayerVirtualWorld(this.getPlayerId(),this.id,t)}getAttachedData(){return this.isGlobal()?R.__inject__.getAttachedData(this.id):R.__inject__.getPlayerAttachedData(this.getPlayerId(),this.id)}static isValid(t,i){return i===l.PLAYER_ID?!1:typeof i>"u"?R.__inject__.isValid(t):R.__inject__.isValidPlayer(i,t)}static getInstance(t,i){if(!i)return Ue.get(t);if(i.id!==l.PLAYER_ID)return $.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...$.get(t)?.values()||[]]:[...Ue.values()]}static getPlayersInstances(){return Array.from($.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:eC,createPlayer:tC,getText:rC,getPlayerText:nC,updateText:iC,updatePlayerText:aC,delete:Sm,attachToPlayer:Em,attachToVehicle:Am,isStreamedIn:hm,getColor:um,getPos:gm,setDrawDistance:mm,getDrawDistance:Pm,getLOS:fm,setLOS:pm,getVirtualWorld:Cm,setVirtualWorld:Im,getAttachedData:ym,isValid:dm,deletePlayer:jm,getPlayerColor:Dm,getPlayerPos:Tm,setPlayerDrawDistance:vm,getPlayerDrawDistance:bm,getPlayerLOS:Lm,setPlayerLOS:wm,getPlayerVirtualWorld:Rm,setPlayerVirtualWorld:Om,getPlayerAttachedData:Gm,isValidPlayer:Nm}}Ze.onDisconnect(({player:e,next:t})=>($.has(e)&&(R.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),$.delete(e)),t())),H.onExit(({next:e})=>(R.getInstances().forEach(t=>t.destroy()),R.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Ue.clear(),$.clear(),e()));function yE(e,t){return(e&t)===t}function SE(e,t,i){return(e&i)===i&&(t&i)!==i}function EE(e,t){return!!(e&t)}function AE(e,t,i){return(e&i)!==i&&(t&i)===i}function NE(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]}exports.Actor=j,exports.ActorEvent=lE,exports.ArtworkEnum=vt,exports.BodyPartsEnum=Bt,exports.BoneIdsEnum=xt,exports.BulletHitTypesEnum=Jt,exports.CameraCutStylesEnum=Qe,exports.CameraModesEnum=Vt,exports.CarModTypeEnum=Kt,exports.CheckPointEvent=cE,exports.Checkpoint=Ge,exports.ClickSourcesEnum=bt,exports.ConnectionStatusEnum=wt,exports.DamageDeathReasonEnum=Pt,exports.Dialog=U,exports.DialogStylesEnum=ut,exports.Dynamic3DTextLabel=ie,exports.Dynamic3DTextLabelEvent=hS,exports.DynamicActor=F,exports.DynamicActorEvent=lS,exports.DynamicArea=v,exports.DynamicAreaEvent=IS,exports.DynamicCheckPointEvent=Jy,exports.DynamicCheckpoint=X,exports.DynamicMapIcon=le,exports.DynamicMapIconEvent=My,exports.DynamicObject=O,exports.DynamicObjectEvent=Ry,exports.DynamicPickup=re,exports.DynamicPickupEvent=Wy,exports.DynamicRaceCP=Z,exports.DynamicRaceCPEvent=aS,exports.E_STREAMER=_e,exports.EditResponseTypesEnum=Lt,exports.FightingStylesEnum=gt,exports.ForceSyncEnum=Ht,exports.GameMode=H,exports.GameText=Oe,exports.GangZone=b,exports.GangZoneEvent=YS,exports.I18n=E,exports.InvalidEnum=l,exports.KeysEnum=Rt,exports.LandingGearStateEnum=Zt,exports.LimitsEnum=W,exports.MapIconStyles=ct,exports.MapIconStylesEnum=kt,exports.MarkerModesEnum=Ot,exports.MaterialTextAlign=qt,exports.MaterialTextSizes=ot,exports.Menu=x,exports.MenuEvent=xS,exports.NPCEntityCheckEnum=ue,exports.NPCMoveSpeedEnum=Fe,exports.NPCMoveTypeEnum=Pe,exports.NPCPlaybackEnum=Gt,exports.NPCRecordStatusEnum=jt,exports.NetStats=q,exports.Npc=u,exports.NpcEvent=kS,exports.NpcNode=Ye,exports.NpcPath=Je,exports.NpcRecord=ze,exports.ObjectMaterialAlignmentEnum=Mt,exports.ObjectMaterialTextSizeEnum=Ft,exports.ObjectMp=C,exports.ObjectMpEvent=aE,exports.PickUpEvent=CE,exports.Pickup=w,exports.Player=c,exports.PlayerEvent=Ze,exports.PlayerStateEnum=qe,exports.RaceCheckpoint=je,exports.RaceCpEvent=uE,exports.RecordTypesEnum=$t,exports.SelectObjectTypesEnum=fe,exports.SpecialActionsEnum=Wt,exports.SpectateModesEnum=st,exports.Streamer=A,exports.StreamerAreaTypes=Qt,exports.StreamerDistances=V,exports.StreamerItemTypes=T,exports.StreamerMiscellaneous=f,exports.StreamerObjectTypes=lt,exports.TextDraw=P,exports.TextDrawAlignEnum=Ut,exports.TextDrawEvent=$S,exports.TextDrawFontsEnum=et,exports.TextLabel=R,exports.Vehicle=p,exports.VehicleEvent=Sy,exports.VehicleModelInfoEnum=Xt,exports.VehicleParamsEnum=G,exports.WeaponEnum=Yt,exports.WeaponSkillsEnum=zt,exports.WeaponStatesEnum=mt,exports.animateLib=vi,exports.defineEvent=m,exports.defineHooks=NE,exports.getAnimateDurationByLibName=FI,exports.isHolding=yE,exports.isPressed=SE,exports.isPressing=EE,exports.isReleased=AE,exports.isValidAnimateLib=yt,exports.isValidAnimateName=St,exports.rgba=N,exports.useTrigger=is,exports.withTriggerOptions=as;