From 155a4ed177f983024bda4abf4581a97ff2c45752 Mon Sep 17 00:00:00 2001 From: s Date: Thu, 2 Jan 2020 21:47:36 -0500 Subject: [PATCH 001/124] apc --- code/modules/power/apc.dm | 43 ++++++++++++++++++++++++++++++++++ code/modules/power/lighting.dm | 4 ++-- 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 9f31743e15c..85cf05f3d24 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -787,6 +787,49 @@ . = ..() if(.) return + + var/mob/living/carbon/human/H = user + if(istype(H)) + var/datum/species/ethereal/eth_species = H.dna?.species + if(istype(eth_species) && H.a_intent == INTENT_HARM) + if(cell.charge <= (cell.maxcharge / 2)) // if charge is under 50% you shouldnt drain it + to_chat(H, "The APC doesn't have much power, you probably shouldn't drain any.") + return + var/obj/item/organ/stomach/ethereal/stomach = H.getorganslot(ORGAN_SLOT_STOMACH) + if(stomach.crystal_charge > 95) + to_chat(H, "Your charge is full!") + return + to_chat(H, "You start channeling some power through the APC into your body.") + if(do_after(user, 75, target = src)) + if(cell.charge <= (cell.maxcharge / 2) || (stomach.crystal_charge > 95)) + return + if(istype(stomach)) + to_chat(H, "You receive some charge from the APC.") + stomach.adjust_charge(10) + cell.charge -= 10 + else + to_chat(H, "You can't receive charge from the APC!") + return + if(istype(eth_species) && H.a_intent == INTENT_GRAB) + if(cell.charge == cell.maxcharge) + to_chat(H, "The APC is full!") + return + var/obj/item/organ/stomach/ethereal/stomach = H.getorganslot(ORGAN_SLOT_STOMACH) + if(stomach.crystal_charge < 10) + to_chat(H, "Your charge is too low!") + return + to_chat(H, "You start channeling power through your body into the APC.") + if(do_after(user, 75, target = src)) + if(cell.charge == cell.maxcharge || (stomach.crystal_charge < 10)) + return + if(istype(stomach)) + to_chat(H, "You transfer some power to the APC.") + stomach.adjust_charge(-10) + cell.charge += 10 + else + to_chat(H, "You can't transfer power to the APC!") + return + if(opened && (!issilicon(user))) if(cell) user.visible_message("[user] removes \the [cell] from [src]!", "You remove \the [cell].") diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 2d587533fd6..f71cd4a935b 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -293,7 +293,7 @@ if(start_with_cell && !no_emergency) cell = new/obj/item/stock_parts/cell/emergency_light(src) - + return INITIALIZE_HINT_LATELOAD /obj/machinery/light/LateInitialize() @@ -643,7 +643,7 @@ var/obj/item/organ/stomach/ethereal/stomach = H.getorganslot(ORGAN_SLOT_STOMACH) if(istype(stomach)) to_chat(H, "You receive some charge from the [fitting].") - stomach.adjust_charge(5) + stomach.adjust_charge(2) else to_chat(H, "You can't receive charge from the [fitting]!") return From 3fd5c6dbbc3e9293144f34d22b7fa97241a4ff9d Mon Sep 17 00:00:00 2001 From: s Date: Thu, 2 Jan 2020 22:16:20 -0500 Subject: [PATCH 002/124] cell --- code/modules/power/cell.dm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 0d5c9c291f0..d482dae7ddb 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -148,6 +148,30 @@ if(prob(25)) corrupt() +/obj/item/stock_parts/cell/attack_self(mob/user) + var/mob/living/carbon/human/H = user + if(istype(H)) + var/datum/species/ethereal/eth_species = H.dna?.species + if(istype(eth_species)) + if(charge < 25) + to_chat(H, "The [src] doesn't have enough power!") + return + var/obj/item/organ/stomach/ethereal/stomach = H.getorganslot(ORGAN_SLOT_STOMACH) + if(stomach.crystal_charge > 96) + to_chat(H, "Your charge is full!") + return + to_chat(H, "You clumsily channel power through the [src] and into your body, wasting some in the process.") + if(do_after(user, 5, target = src)) + if((charge < 25) || (stomach.crystal_charge > 96)) + return + if(istype(stomach)) + to_chat(H, "You receive some charge from the [src].") + stomach.adjust_charge(3) + charge -= 100 //you waste way more than you receive, so that ethereals cant just steal one cell and forget about hunger + else + to_chat(H, "You can't receive charge from the [src]!") + return + /obj/item/stock_parts/cell/blob_act(obj/structure/blob/B) ex_act(EXPLODE_DEVASTATE) From 62b7f244aa680a3515aeafce3df6d4473bd91169 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 10 Jan 2020 14:58:13 +0100 Subject: [PATCH 003/124] Cleans things up --- _maps/map_files/MetaStation/MetaStation.dmm | 252 +++++--------------- 1 file changed, 65 insertions(+), 187 deletions(-) diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index f17eb327158..2a81a1f101c 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -45692,7 +45692,8 @@ dir = 4 }, /obj/machinery/airalarm{ - pixel_y = 24 + dir = 4; + pixel_x = -22 }, /turf/open/floor/plasteel, /area/security/checkpoint/medical) @@ -46178,14 +46179,6 @@ /obj/structure/table, /turf/open/floor/plasteel/white, /area/medical/medbay/central) -"caj" = ( -/obj/machinery/requests_console{ - department = "Medbay"; - departmentType = 1; - name = "Medbay RC" - }, -/turf/closed/wall, -/area/security/checkpoint/medical) "cak" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -47081,14 +47074,13 @@ pixel_x = -28 }, /obj/effect/turf_decal/tile/blue{ - dir = 1 + dir = 8 }, -/obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ dir = 4 }, /obj/effect/turf_decal/tile/blue{ - dir = 8 + dir = 1 }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) @@ -47809,55 +47801,25 @@ /turf/open/floor/plasteel/white, /area/medical/storage) "cdw" = ( -/obj/machinery/computer/security/telescreen{ - desc = "Used for monitoring medbay to ensure patient safety."; - dir = 1; - name = "Medbay Monitor"; - network = list("medbay"); - pixel_x = -29 - }, /obj/machinery/computer/med_data{ dir = 4 }, -/obj/machinery/light{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/computer/security/telescreen{ + desc = "Used for monitoring medbay to ensure patient safety."; + dir = 4; + name = "Medbay Monitor"; + network = list("medbay"); + pixel_x = -32 + }, /turf/open/floor/plasteel, /area/security/checkpoint/medical) -"cdx" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/central) "cdy" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/cable, /obj/effect/landmark/start/medical_doctor, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cdz" = ( @@ -48251,6 +48213,9 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, +/obj/machinery/light{ + dir = 8 + }, /turf/open/floor/plasteel, /area/security/checkpoint/medical) "ceB" = ( @@ -48853,40 +48818,12 @@ dir = 1 }, /obj/machinery/medical_kiosk, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/effect/turf_decal/tile/blue, /turf/open/floor/plasteel/white, /area/medical/medbay/central) -"cfQ" = ( -/obj/structure/cable, -/obj/structure/window/reinforced/spawner/north, -/obj/structure/window/reinforced/spawner, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/reedbush, -/obj/structure/flora/ausbushes/sunnybush, -/obj/structure/window/reinforced/spawner/west, -/turf/open/floor/grass, -/area/security/checkpoint/medical) -"cfR" = ( -/obj/structure/cable, -/obj/structure/window/reinforced/spawner/east, -/obj/structure/window/reinforced/spawner/north, -/obj/structure/window/reinforced/spawner, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/reedbush, -/obj/structure/flora/ausbushes/sunnybush, -/turf/open/floor/grass, -/area/security/checkpoint/medical) "cfT" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical/glass{ @@ -49387,30 +49324,22 @@ /area/medical/storage) "cgX" = ( /obj/structure/chair/greyscale, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ dir = 4 }, /obj/effect/turf_decal/tile/blue{ - dir = 8 + dir = 1 }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cgY" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/structure/chair/greyscale, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ dir = 4 }, /obj/effect/turf_decal/tile/blue{ - dir = 8 + dir = 1 }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) @@ -49420,13 +49349,9 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cha" = ( @@ -49438,13 +49363,10 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, +/obj/effect/turf_decal/tile/yellow, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "chb" = ( @@ -50063,10 +49985,6 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, @@ -50084,49 +50002,16 @@ /area/medical/medbay/central) "cir" = ( /obj/machinery/atmospherics/pipe/manifold/supply, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/central) -"cit" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "ciu" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ +/obj/effect/turf_decal/tile/yellow{ dir = 4 }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, +/obj/effect/turf_decal/tile/yellow, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "civ" = ( @@ -50713,10 +50598,6 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, @@ -50726,16 +50607,10 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, /obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ +/obj/effect/turf_decal/tile/yellow{ dir = 4 }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cjS" = ( @@ -51354,28 +51229,15 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/effect/turf_decal/tile/blue, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "clp" = ( /obj/structure/table, /obj/machinery/light, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, /obj/item/storage/firstaid/regular{ pixel_x = 4; pixel_y = 4 @@ -51385,6 +51247,10 @@ pixel_x = -4; pixel_y = -4 }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "clq" = ( @@ -51393,28 +51259,19 @@ pixel_y = -24 }, /obj/item/twohanded/required/kirbyplants, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, /obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "clr" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ - dir = 4 + dir = 8 }, /obj/effect/turf_decal/tile/blue{ - dir = 8 + dir = 4 }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) @@ -70951,15 +70808,11 @@ /obj/structure/sign/warning/nosmoking{ pixel_y = 28 }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ dir = 4 }, /obj/effect/turf_decal/tile/blue{ - dir = 8 + dir = 1 }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) @@ -72576,6 +72429,16 @@ }, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) +"hcZ" = ( +/obj/structure/chair/greyscale{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "hdb" = ( /obj/structure/bed, /obj/item/clothing/suit/straight_jacket, @@ -74363,6 +74226,14 @@ }, /turf/open/floor/plasteel/dark/corner, /area/engine/storage_shared) +"oEO" = ( +/obj/machinery/requests_console{ + department = "Medbay"; + departmentType = 1; + name = "Medbay RC" + }, +/turf/closed/wall, +/area/medical/storage) "oFI" = ( /obj/machinery/door/window/eastright{ dir = 8; @@ -76445,6 +76316,13 @@ /obj/structure/cable, /turf/open/floor/plasteel, /area/maintenance/department/science) +"wSP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "wYq" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, @@ -100272,7 +100150,7 @@ cad cbP cdv cez -bXK +oEO tay cio cjO @@ -100526,7 +100404,7 @@ bWj bXL bXL cae -caj +bXL bXL bXL bXL @@ -100786,11 +100664,11 @@ rVd cbQ cdw ceA -cfQ +cbS cgX -cip -cjQ -clo +cbY +wSP +hcZ cmv cnE coQ @@ -101043,10 +100921,10 @@ cag caf caf ceB -cfR +cbS cgY cir -cdx +cjM cfP cmv cnF @@ -101302,7 +101180,7 @@ cbS cbS bXL dwy -cip +cbY cdy clp cmu @@ -101559,8 +101437,8 @@ cal ceD cfT cgZ -cit -cjQ +cup +wSP clq cmu cmu From f9c58f0b49929b48bad24f4e7b85fac110c7e046 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 10 Jan 2020 15:17:09 +0100 Subject: [PATCH 004/124] some additional touches --- _maps/map_files/MetaStation/MetaStation.dmm | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 2a81a1f101c..d00af9b69c9 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -47069,7 +47069,6 @@ dir = 4; network = list("ss13","medbay") }, -/obj/structure/chair/greyscale, /obj/item/radio/intercom{ pixel_x = -28 }, @@ -47082,10 +47081,12 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, +/obj/structure/chair, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cbS" = ( /obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, /turf/open/floor/plating, /area/security/checkpoint/medical) "cbT" = ( @@ -47812,6 +47813,7 @@ network = list("medbay"); pixel_x = -32 }, +/obj/structure/cable, /turf/open/floor/plasteel, /area/security/checkpoint/medical) "cdy" = ( @@ -48216,6 +48218,7 @@ /obj/machinery/light{ dir = 8 }, +/obj/structure/cable, /turf/open/floor/plasteel, /area/security/checkpoint/medical) "ceB" = ( @@ -49323,24 +49326,24 @@ /turf/open/floor/plasteel/white, /area/medical/storage) "cgX" = ( -/obj/structure/chair/greyscale, /obj/effect/turf_decal/tile/blue{ dir = 4 }, /obj/effect/turf_decal/tile/blue{ dir = 1 }, +/obj/structure/chair, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cgY" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/structure/chair/greyscale, /obj/effect/turf_decal/tile/blue{ dir = 4 }, /obj/effect/turf_decal/tile/blue{ dir = 1 }, +/obj/structure/chair, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cgZ" = ( @@ -51223,9 +51226,6 @@ /turf/open/floor/plating, /area/medical/medbay/central) "clo" = ( -/obj/structure/chair/greyscale{ - dir = 1 - }, /obj/effect/turf_decal/tile/blue{ dir = 1 }, @@ -51233,6 +51233,9 @@ dir = 8 }, /obj/effect/turf_decal/tile/blue, +/obj/structure/chair{ + dir = 1 + }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "clp" = ( @@ -72430,13 +72433,13 @@ /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) "hcZ" = ( -/obj/structure/chair/greyscale{ - dir = 1 - }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, /obj/effect/turf_decal/tile/blue, +/obj/structure/chair{ + dir = 1 + }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "hdb" = ( From 0f43b50b79c7eb5b0a1cb33a89bff92ed328dadd Mon Sep 17 00:00:00 2001 From: Denton Date: Fri, 10 Jan 2020 16:26:01 +0100 Subject: [PATCH 006/124] Zoo ruin fixes/tweaks --- _maps/RandomRuins/SpaceRuins/abandonedzoo.dmm | 38 ++++++++----------- code/game/machinery/shieldgen.dm | 5 ++- 2 files changed, 19 insertions(+), 24 deletions(-) diff --git a/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm b/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm index ba317a2263b..670864f7d0a 100644 --- a/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm +++ b/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm @@ -3,11 +3,7 @@ /turf/template_noop, /area/template_noop) "ab" = ( -/obj/machinery/power/shieldwallgen{ - active = 2; - anchored = 1; - power = 1 - }, +/obj/machinery/power/shieldwallgen/anchored, /obj/structure/cable, /turf/open/floor/plating/airless, /area/ruin/space/has_grav/abandonedzoo) @@ -153,11 +149,7 @@ /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/abandonedzoo) "aE" = ( -/obj/machinery/power/shieldwallgen{ - active = 2; - anchored = 1; - power = 1 - }, +/obj/machinery/power/shieldwallgen/anchored, /obj/structure/cable, /turf/open/floor/plating, /area/ruin/space/has_grav/abandonedzoo) @@ -248,7 +240,6 @@ /obj/machinery/power/apc/unlocked{ dir = 8; environ = 0; - equipment = 0; lighting = 0; name = "Worn-out APC"; pixel_x = -25 @@ -367,11 +358,8 @@ /turf/open/floor/plasteel/dark/side, /area/ruin/space/has_grav/abandonedzoo) "bf" = ( -/obj/machinery/power/smes/magical{ - desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; - name = "power storage unit" - }, /obj/structure/cable, +/obj/machinery/power/smes/engineering, /turf/open/floor/plasteel/dark/side, /area/ruin/space/has_grav/abandonedzoo) "bg" = ( @@ -435,13 +423,13 @@ /turf/open/floor/plasteel/dark/side, /area/ruin/space/has_grav/abandonedzoo) "bs" = ( -/obj/machinery/power/shieldwallgen, /obj/structure/cable, +/obj/machinery/power/shieldwallgen/anchored, /turf/open/floor/plating, /area/ruin/space/has_grav/abandonedzoo) "bt" = ( -/obj/machinery/power/shieldwallgen, /obj/structure/cable, +/obj/machinery/power/shieldwallgen/anchored, /turf/open/floor/plating/airless, /area/ruin/space/has_grav/abandonedzoo) "bu" = ( @@ -496,6 +484,7 @@ /area/ruin/space/has_grav/abandonedzoo) "bD" = ( /obj/item/clothing/mask/facehugger/dead, +/obj/structure/alien/weeds, /turf/open/floor/plating/airless, /area/ruin/space/has_grav/abandonedzoo) "bE" = ( @@ -654,7 +643,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plating, /area/ruin/space/has_grav/abandonedzoo) "wF" = ( /obj/machinery/door/airlock/hatch{ @@ -690,6 +679,11 @@ "KN" = ( /turf/template_noop, /area/space/nearstation) +"Ng" = ( +/obj/structure/alien/weeds, +/obj/structure/alien/weeds/node, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/abandonedzoo) (1,1,1) = {" ab @@ -979,7 +973,7 @@ bl at ac bB -bB +Ng bD bH ac @@ -1002,7 +996,7 @@ ac bC bH bH -bX +bB bT aa "} @@ -1022,7 +1016,7 @@ aL aD bD bB -bX +Ng bO bU bW @@ -1043,7 +1037,7 @@ aQ ac bB bB -bX +bB bX bP aa diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index 8b4d3a65fd7..3ca2627d194 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -225,8 +225,6 @@ active_power_usage = 50 max_integrity = 300 var/active = FALSE - var/power = 0 - var/maximum_stored_power = 500 var/locked = TRUE var/shield_range = 8 var/obj/structure/cable/attached // the attached cable @@ -236,6 +234,9 @@ desc = "A shield generator meant for use in xenobiology." req_access = list(ACCESS_XENOBIOLOGY) +/obj/machinery/power/shieldwallgen/anchored + anchored = TRUE + /obj/machinery/power/shieldwallgen/Initialize() . = ..() if(anchored) From dadb8c537467c558106e194aa45b58972fb83921 Mon Sep 17 00:00:00 2001 From: Paxilmaniac Date: Sat, 11 Jan 2020 17:30:47 -0800 Subject: [PATCH 007/124] society moment god im so funny --- icons/mob/clothing/mask.dmi | Bin 50331 -> 50334 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/clothing/mask.dmi b/icons/mob/clothing/mask.dmi index 6999b223b993479e5b01b17846047dc68fdb8faa..1cc3922626deeaec4fabafadfc2c1ca3ea004aad 100644 GIT binary patch delta 28621 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 OkO!K28fEHF!~P$}<+q0b From 6cf29bd3ca20d2d0b21e174e7071cacfa5d241b8 Mon Sep 17 00:00:00 2001 From: Paxilmaniac Date: Sat, 11 Jan 2020 17:48:28 -0800 Subject: [PATCH 008/124] do you apes not know what consistency means? seriously who the fuck made these sprites --- icons/mob/clothing/mask.dmi | Bin 50334 -> 50972 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/clothing/mask.dmi b/icons/mob/clothing/mask.dmi index 1cc3922626deeaec4fabafadfc2c1ca3ea004aad..c8e324d4bd21e273f30c557f3095268427d5f34f 100644 GIT binary patch literal 50972 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 Date: Sun, 12 Jan 2020 10:21:19 +0100 Subject: [PATCH 009/124] wow that was well-hidden --- _maps/map_files/MetaStation/MetaStation.dmm | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index d00af9b69c9..74a1b0c396c 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -48817,9 +48817,6 @@ /turf/open/floor/plasteel/white, /area/medical/storage) "cfP" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, /obj/machinery/medical_kiosk, /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -50607,13 +50604,13 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cjR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/yellow{ dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cjS" = ( @@ -51276,6 +51273,9 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cls" = ( @@ -75506,6 +75506,13 @@ /obj/machinery/pinpointer_dispenser, /turf/open/floor/plating, /area/quartermaster/sorting) +"tut" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "twp" = ( /obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/yellow{ @@ -100927,7 +100934,7 @@ ceB cbS cgY cir -cjM +tut cfP cmv cnF From be23312096d0ccae1a6baf3b326f4747174ffe6a Mon Sep 17 00:00:00 2001 From: Qustinnus Date: Mon, 13 Jan 2020 03:46:51 +0100 Subject: [PATCH 010/124] New achievements and achievements icons (#48544) * sdasd * fixes * fixed * attempt 2 * Update skill_achievements.dm --- code/__DEFINES/achievements.dm | 5 ++++ code/__HELPERS/roundend.dm | 6 +++++ code/datums/achievements/boss_achievements.dm | 23 +++++++++++++++--- code/datums/achievements/misc_achievements.dm | 22 ++++++++++++++++- .../datums/achievements/skill_achievements.dm | 10 ++++++++ code/game/objects/items/plushes.dm | 1 + code/game/turfs/closed/minerals.dm | 1 + code/modules/client/asset_cache.dm | 22 ++++++++++++++++- .../hostile/megafauna/colossus.dm | 4 +-- icons/UI_Icons/Achievements/Boss/bbgum.png | Bin 0 -> 4864 bytes icons/UI_Icons/Achievements/Boss/colossus.png | Bin 0 -> 6049 bytes icons/UI_Icons/Achievements/Boss/drake.png | Bin 0 -> 7847 bytes .../UI_Icons/Achievements/Boss/hierophant.png | Bin 0 -> 2345 bytes icons/UI_Icons/Achievements/Boss/legion.png | Bin 0 -> 7945 bytes icons/UI_Icons/Achievements/Boss/miner.png | Bin 0 -> 3454 bytes icons/UI_Icons/Achievements/Boss/swarmer.png | Bin 0 -> 4002 bytes icons/UI_Icons/Achievements/Boss/tendril.png | Bin 0 -> 6594 bytes .../UI_Icons/Achievements/Misc/clownking.png | Bin 0 -> 5118 bytes .../Achievements/Misc/clownthanks.png | Bin 0 -> 3441 bytes .../Achievements/Misc/featofstrength.png | Bin 0 -> 2969 bytes icons/UI_Icons/Achievements/Misc/helbital.png | Bin 0 -> 3413 bytes icons/UI_Icons/Achievements/Misc/jackpot.png | Bin 0 -> 3037 bytes .../UI_Icons/Achievements/Misc/longshift.png | Bin 0 -> 2436 bytes icons/UI_Icons/Achievements/Misc/meteors.png | Bin 0 -> 7797 bytes icons/UI_Icons/Achievements/Misc/rule8.png | Bin 0 -> 2924 bytes .../UI_Icons/Achievements/Misc/timewaste.png | Bin 0 -> 1468 bytes icons/UI_Icons/Achievements/Misc/upgrade.png | Bin 0 -> 3292 bytes icons/UI_Icons/Achievements/Skills/mining.png | Bin 0 -> 3406 bytes icons/UI_Icons/Achievements/baseboss.png | Bin 0 -> 1697 bytes icons/UI_Icons/Achievements/basemisc.png | Bin 0 -> 2244 bytes icons/UI_Icons/Achievements/baseskill.png | Bin 0 -> 2247 bytes icons/UI_Icons/Achievements/default.png | Bin 1481 -> 3483 bytes tgstation.dme | 1 + 33 files changed, 87 insertions(+), 8 deletions(-) create mode 100644 code/datums/achievements/skill_achievements.dm create mode 100644 icons/UI_Icons/Achievements/Boss/bbgum.png create mode 100644 icons/UI_Icons/Achievements/Boss/colossus.png create mode 100644 icons/UI_Icons/Achievements/Boss/drake.png create mode 100644 icons/UI_Icons/Achievements/Boss/hierophant.png create mode 100644 icons/UI_Icons/Achievements/Boss/legion.png create mode 100644 icons/UI_Icons/Achievements/Boss/miner.png create mode 100644 icons/UI_Icons/Achievements/Boss/swarmer.png create mode 100644 icons/UI_Icons/Achievements/Boss/tendril.png create mode 100644 icons/UI_Icons/Achievements/Misc/clownking.png create mode 100644 icons/UI_Icons/Achievements/Misc/clownthanks.png create mode 100644 icons/UI_Icons/Achievements/Misc/featofstrength.png create mode 100644 icons/UI_Icons/Achievements/Misc/helbital.png create mode 100644 icons/UI_Icons/Achievements/Misc/jackpot.png create mode 100644 icons/UI_Icons/Achievements/Misc/longshift.png create mode 100644 icons/UI_Icons/Achievements/Misc/meteors.png create mode 100644 icons/UI_Icons/Achievements/Misc/rule8.png create mode 100644 icons/UI_Icons/Achievements/Misc/timewaste.png create mode 100644 icons/UI_Icons/Achievements/Misc/upgrade.png create mode 100644 icons/UI_Icons/Achievements/Skills/mining.png create mode 100644 icons/UI_Icons/Achievements/baseboss.png create mode 100644 icons/UI_Icons/Achievements/basemisc.png create mode 100644 icons/UI_Icons/Achievements/baseskill.png diff --git a/code/__DEFINES/achievements.dm b/code/__DEFINES/achievements.dm index b610eb50cc1..acf77ed73e1 100644 --- a/code/__DEFINES/achievements.dm +++ b/code/__DEFINES/achievements.dm @@ -19,6 +19,11 @@ #define MEDAL_SELFOUCH "Hands???" #define MEDAL_SANDMAN "Mister Sandman" #define MEDAL_CLEANBOSS "Cleanboss" +#define MEDAL_RULE8 "Rule 8" +#define MEDAL_LONGSHIFT "longshift" + +//Skill medal hub IDs +#define MEDAL_LEGENDARY_MINER "Legendary Miner" //Boss medals diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm index 9132a378d32..e173231ffdf 100644 --- a/code/__HELPERS/roundend.dm +++ b/code/__HELPERS/roundend.dm @@ -188,10 +188,16 @@ cb.InvokeAsync() LAZYCLEARLIST(round_end_events) + var/speed_round = FALSE + if(world.time - SSticker.round_start_time <= 300 SECONDS) + speed_round = TRUE + for(var/client/C in GLOB.clients) if(!C.credits) C.RollCredits() C.playtitlemusic(40) + if(speed_round) + C.give_award(/datum/award/achievement/misc/speed_round, C.mob) var/popcount = gather_roundend_feedback() display_report(popcount) diff --git a/code/datums/achievements/boss_achievements.dm b/code/datums/achievements/boss_achievements.dm index d50c6a37203..1c0cc0ad9ee 100644 --- a/code/datums/achievements/boss_achievements.dm +++ b/code/datums/achievements/boss_achievements.dm @@ -1,75 +1,90 @@ /datum/award/achievement/boss category = "Bosses" + icon = "baseboss" /datum/award/achievement/boss/tendril_exterminator name = "Tendril Exterminator" desc = "Watch your step" database_id = BOSS_MEDAL_TENDRIL + icon = "tendril" /datum/award/achievement/boss/boss_killer name = "Boss Killer" desc = "You've come a long ways from asking how to switch hands." database_id = "Boss Killer" + icon = "firstboss" /datum/award/achievement/boss/blood_miner_kill name = "Blood-drunk Miner Killer" desc = "I guess he couldn't handle his drink that well." database_id = BOSS_MEDAL_MINER + icon = "miner" /datum/award/achievement/boss/bubblegum_kill name = "Bubblegum Killer" desc = "I guess he wasn't made of candy after all" database_id = BOSS_MEDAL_BUBBLEGUM + icon = "bbgum" -/datum/award/achievement/boss/colussus_kill - name = "Colussus Killer" +/datum/award/achievement/boss/colossus_kill + name = "Colossus Killer" desc = "The bigger they are... the better the loot" database_id = BOSS_MEDAL_COLOSSUS + icon = "colossus" /datum/award/achievement/boss/drake_kill name = "Drake Killer" desc = "Now I can wear Rune Platebodies!" database_id = BOSS_MEDAL_DRAKE + icon = "drake" /datum/award/achievement/boss/hierophant_kill name = "Hierophant Killer" desc = "Hierophant, but not triumphant." database_id = BOSS_MEDAL_HIEROPHANT + icon = "hierophant" /datum/award/achievement/boss/legion_kill name = "Legion Killer" desc = "We were many..now we are none." database_id = BOSS_MEDAL_LEGION + icon = "legion" /datum/award/achievement/boss/swarmer_beacon_kill name = "Swarm Beacon Killer" desc = "GET THEM OFF OF ME!" database_id = BOSS_MEDAL_SWARMERS + icon = "swarmer" /datum/award/achievement/boss/blood_miner_crusher name = "Blood-drunk Miner Crusher" desc = "I guess he couldn't handle his drink that well." database_id = BOSS_MEDAL_MINER_CRUSHER + icon = "miner" /datum/award/achievement/boss/bubblegum_crusher name = "Bubblegum Crusher" desc = "I guess he wasn't made of candy after all" database_id = BOSS_MEDAL_BUBBLEGUM_CRUSHER + icon = "bbgum" -/datum/award/achievement/boss/colussus_crusher - name = "Colussus Crusher" +/datum/award/achievement/boss/colossus_crusher + name = "Colossus Crusher" desc = "The bigger they are... the better the loot" database_id = BOSS_MEDAL_COLOSSUS_CRUSHER + icon = "colossus" /datum/award/achievement/boss/drake_crusher name = "Drake Crusher" desc = "Now I can wear Rune Platebodies!" database_id = BOSS_MEDAL_DRAKE_CRUSHER + icon = "drake" /datum/award/achievement/boss/hierophant_crusher name = "Hierophant Crusher" desc = "Hierophant, but not triumphant." database_id = BOSS_MEDAL_HIEROPHANT_CRUSHER + icon = "hierophant" /datum/award/achievement/boss/legion_crusher name = "Legion Crusher" diff --git a/code/datums/achievements/misc_achievements.dm b/code/datums/achievements/misc_achievements.dm index a4f65925d27..3d3fe61a9f0 100644 --- a/code/datums/achievements/misc_achievements.dm +++ b/code/datums/achievements/misc_achievements.dm @@ -1,41 +1,49 @@ /datum/award/achievement/misc category = "Misc" + icon = "basemisc" /datum/award/achievement/misc/meteor_examine name = "Your Life Before Your Eyes" desc = "Take a close look at hurtling space debris" database_id = MEDAL_METEOR + icon = "meteors" /datum/award/achievement/misc/pulse name = "Jackpot" desc = "Win a pulse rifle from an arcade machine" database_id = MEDAL_PULSE + icon = "jackpot" /datum/award/achievement/misc/time_waste name = "Time waster" desc = "Speak no evil, hear no evil, see just errors" database_id = MEDAL_TIMEWASTE + icon = "timewaste" /datum/award/achievement/misc/feat_of_strength name = "Feat of Strength" desc = "If the rod is immovable, is it passing you or are you passing it?" database_id = MEDAL_RODSUPLEX + icon = "featofstrength" /datum/award/achievement/misc/round_and_full name = "Round and Full" desc = "Well at least you aren't down the river, I hear they eat people there." database_id = MEDAL_CLOWNCARKING + icon = "clownking" /datum/award/achievement/misc/the_best_driver name = "The Best Driver" desc = "100 honks later" database_id = MEDAL_THANKSALOT + icon = "clownthanks" /datum/award/achievement/misc/helbitaljanken name = "Helbitaljanken" desc = "You janked hard" database_id = MEDAL_HELBITALJANKEN - + icon = "helbital" + /datum/award/achievement/misc/getting_an_upgrade name = "Getting an upgrade" desc = "Make your first unique material item!" @@ -75,3 +83,15 @@ name = "One Lean, Mean, Cleaning Machine" desc = "How does it feel to know that your workplace values a mop bucket on wheels more than you?" // i can do better than this give me time database_id = MEDAL_CLEANBOSS + +/datum/award/achievement/misc/rule8 + name = "Rule 8" + desc = "Call an admin this is ILLEGAL!!" + database_id = MEDAL_RULE8 + icon = "rule8" + +/datum/award/achievement/misc/speed_round + name = "Long shift" + desc = "Well, that didn't take long." + database_id = MEDAL_LONGSHIFT + icon = "longshift" diff --git a/code/datums/achievements/skill_achievements.dm b/code/datums/achievements/skill_achievements.dm new file mode 100644 index 00000000000..7da936c61f4 --- /dev/null +++ b/code/datums/achievements/skill_achievements.dm @@ -0,0 +1,10 @@ +/datum/award/achievement/skill + category = "Skills" + icon = "baseskill" + +/datum/award/achievement/skill/legendary_miner + name = "Legendary miner" + desc = "No mere rock can stop me!" + database_id = MEDAL_LEGENDARY_MINER + icon = "mining" + diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index 15a91627886..dbdddf4eade 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -216,6 +216,7 @@ else if(Kisser.partner == src && !plush_child) //the one advancing does not take ownership of the child and we have a one child policy in the toyshop user.visible_message("[user] is going to break [Kisser] and [src] by bashing them like that.", "[Kisser] passionately embraces [src] in your hands. Look away you perv!") + user.client.give_award(/datum/award/achievement/misc/rule8, user) if(plop(Kisser)) user.visible_message("Something drops at the feet of [user].", "The miracle of oh god did that just come out of [src]?!") diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm index 590bc2a6f44..9edef593c18 100644 --- a/code/game/turfs/closed/minerals.dm +++ b/code/game/turfs/closed/minerals.dm @@ -558,6 +558,7 @@ if(!(H.mind.get_skill_level(/datum/skill/mining) >= SKILL_LEVEL_MASTER)) return drop_ores() + H.client.give_award(/datum/award/achievement/skill/legendary_miner, H) var/flags = NONE if(defer_change) // TODO: make the defer change var a var for any changeturf flag flags = CHANGETURF_DEFER_CHANGE diff --git a/code/modules/client/asset_cache.dm b/code/modules/client/asset_cache.dm index ebfc2b62519..68911fa5af3 100644 --- a/code/modules/client/asset_cache.dm +++ b/code/modules/client/asset_cache.dm @@ -600,7 +600,27 @@ GLOBAL_LIST_EMPTY(asset_datums) /datum/asset/spritesheet/simple/achievements name ="achievements" assets = list( - "default" = 'icons/UI_Icons/Achievements/default.png' + "default" = 'icons/UI_Icons/Achievements/default.png', + "basemisc" = 'icons/UI_Icons/Achievements/basemisc.png', + "baseboss" = 'icons/UI_Icons/Achievements/baseboss.png', + "baseskill" = 'icons/UI_Icons/Achievements/baseskill.png', + "bbgum" = 'icons/UI_Icons/Achievements/Boss/bbgum.png', + "colossus" = 'icons/UI_Icons/Achievements/Boss/colossus.png', + "hierophant" = 'icons/UI_Icons/Achievements/Boss/hierophant.png', + "legion" = 'icons/UI_Icons/Achievements/Boss/legion.png', + "miner" = 'icons/UI_Icons/Achievements/Boss/miner.png', + "swarmer" = 'icons/UI_Icons/Achievements/Boss/swarmer.png', + "tendril" = 'icons/UI_Icons/Achievements/Boss/tendril.png', + "featofstrength" = 'icons/UI_Icons/Achievements/Misc/featofstrength.png', + "helbital" = 'icons/UI_Icons/Achievements/Misc/helbital.png', + "jackpot" = 'icons/UI_Icons/Achievements/Misc/jackpot.png', + "meteors" = 'icons/UI_Icons/Achievements/Misc/meteors.png', + "timewaste" = 'icons/UI_Icons/Achievements/Misc/timewaste.png', + "upgrade" = 'icons/UI_Icons/Achievements/Misc/upgrade.png', + "clownking" = 'icons/UI_Icons/Achievements/Misc/clownking.png', + "clownthanks" = 'icons/UI_Icons/Achievements/Misc/clownthanks.png', + "rule8" = 'icons/UI_Icons/Achievements/Misc/rule8.png', + "mining" = 'icons/UI_Icons/Achievements/Skills/mining.png', ) /datum/asset/spritesheet/simple/pills diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index a6239093dfe..1bdaea6b59d 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -45,8 +45,8 @@ Difficulty: Very Hard pixel_x = -32 del_on_death = TRUE gps_name = "Angelic Signal" - achievement_type = /datum/award/achievement/boss/colussus_kill - crusher_achievement_type = /datum/award/achievement/boss/colussus_crusher + achievement_type = /datum/award/achievement/boss/colossus_kill + crusher_achievement_type = /datum/award/achievement/boss/colossus_crusher score_achievement_type = /datum/award/score/colussus_score crusher_loot = list(/obj/structure/closet/crate/necropolis/colossus/crusher) loot = list(/obj/structure/closet/crate/necropolis/colossus) diff --git a/icons/UI_Icons/Achievements/Boss/bbgum.png b/icons/UI_Icons/Achievements/Boss/bbgum.png new file mode 100644 index 0000000000000000000000000000000000000000..a0962fb1ced0f6df721a22c0fd8785e326a3e4a9 GIT binary patch literal 4864 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 b|JMHkW8YiG?!TZL00000NkvXXu0mjfpe$H2 literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Boss/drake.png b/icons/UI_Icons/Achievements/Boss/drake.png new file mode 100644 index 0000000000000000000000000000000000000000..19ecc5ae941ae630433e434b46595a80f53ce9b2 GIT binary patch literal 7847 zcmV;Y9$4XtP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y9E;jv63FrU-9vDePK~#8N-JE%JRo8XK^Jo5uV?1M$2H2lAW(<89}H{z{YL1?_X9HULqex;Q~0sqMfqhx8=n+t zb4*yD?*~Fp-Y>|IM}=Mi@Az+F$lx#aZ?ty@w%IrK_1pIk?6liQ_So%X!pVJh`|N>1 zaLl6 zUn1;vg8b||-*``)D2#M%=)8oaE!w2*p?(JYydk_V!iApvWg(Jdgad-}rr+PT-u`UY zHv8WGfnlD5(O~0-XG4YI-2BNC@37-#i$Pq74x+5FA_ej6GLV5h@tp@h&fz|L%_~ zbWGh1?QJ8A2E^f=om;$U0FF&zHpGI^lcR+Q3N`}+gC!pRF5))GI-_Q<>T z?Am3gsw?g=mhXrY6e#*Tf*r3cb8XyJun6D;H#kPP4ush!0_lNseHX|> z$OeI7D-$N!`ko%!SCBI#n1?TOH?cfA6XRSPtGc>u;>3H42H+SNrf~nIhG^)?yFnc> z1HMbgZ*SjVKRh(DR|SDlcvp2rm0dWr-(FH2dga9{cJu0GJFfFyjA+69G2XOi^G17F z^==4j8fUt;M&o53KRUSEKG!#tl3>HwFdOfN(32xU9TW)vOow0Cv2ny$6$XrY_0oB} ze)W>=>F=|Hy9P!SY<=9I2qOu$d;2!Ke(kcodFyq%aqf(}9@b|l#QBTw4N+_<2(xu0 zgq{oo4GTY^qd!tGy?t_jIH4$bgHNqnZ3A02+nN>2t+i#26U<)=B3iJZXdVdG+|=mW zdh?CfZC6kC(6ulQcR(}gANLPU2-q}g(Lzr~Lk%(vooA6(-F|-bV!e<&**=~+*{;-8 z+Ey9Z(bi`DJNm4)rq((ZEU@~zI#(_z41$4Z!SZr*t#PJ?VpX+eWo5gzdOO-}d10PQ zRTgPdpuVwUr)7{odeKi(Ei9&f!ee(&UQwrfg) zRhN`nO?8bm$ne<>GwrpHylmZz7CB+OXYsi&C(~x7BoB$!I(M#}Ja*I$?%U()(ne)* ziM1!ixwh$pzUVU+(E^_KHQ}BULFmaK)QFo6UCfGM7~)y;Cylo?aTBapIn}HQgMC;a_&wK1q%Ng^a6YOegoISIo+ZtxnTXSQhty|P#TYHvTx4fkxH^-`{Pqzz8 zI;}oC+nNgU?aH~c_WX%st}Jy{bT78^DRD!BWeW5`U-a1&@zgMGp^$BX*>fOF3y;u~ zKoy&WUy!?uHgy2ryLKjM7$#1%dU;mrm@$_4zyntQ*dy*bg6&O>x90RTyLjfbJ%9YD z6&DxTxgFbWo`zd(et}(4An#w%Ys==(x1yp#>ydX+mOA|s3&Cg$q<#3qmMAQgchM(( z$K+)KDMutvBe@-MMG$&Y6<8a(<<4l5QV%cIDFxsqy5qU>stn!z1c`+w)IR>`kdb)P zn$$$wxOT0r?(Ma!yH?r3J-cm5XQ#DiXW5ZCvutr&t1Z^|O-ov>slLHBtXX5rk`t^e zaq^HDd=kU59)HYA)jpnfN}jepF~&(iaLMhUmwgWn!nC>L1W;iX(r!r+*6>Jx+>MmU z?oLmYSCz|vGz8P#-$*=@F4gz8j0VK^4cnB^0P3$~!O)p@|2rY0*?oT{m;u!g!?JNw)T+q`y- zLrrCsrE3BxEGV#fHKjINF$}@x%$hYM*cN#gZPQ1U1mi}{lYkpFEa4KXmtk{6uzyF3 zXnlr#0V>3P*5Ix~NP}U35OTQjov(`m2_enPu72Gp(;v!?U5n8da9M&uSR+378dWn?9yKIv4^P z^}RuW3!GwEJ^^fxh_*LcpJ88AfCTlw34XE8iU@W^!+Jw;B>(cf{aKU!E?l7~|9uch) z(d4@bwzi|qDm4RMK7PP1Z0)vFE84BMYmuEfb=+zyDy*ci$erWb#`z7d?4qWT1$0)N#-x16k z&*vfu)~2@UqgXMlNTBZmd0M9WhZEd`7YkoOPHYH93xndKp%J*ebRUH*vA}~nYsqI-h|j^Ote4~vLFoK;^-d0*tV(Xg96~pGZpx?Ey z!>UTlY)wO%m1rpyCYWyn!7?6u%=JZ|E@2iQCZ7!PA^V48tg#F&B7(g=Ofa2bfjt=P zgU9d z!!b{Sk#R#9f*XW#&6ET26WnYSMwW93wk##V=2TbN8Lb)D^!6yTueYV`?N+CRm23AB zj37T!=YLp1*cq{hvNnb7OR)J=bnRJ))^Gc?MTGB3?i$Ch$mF8I}Aw(^PQnd zFm9KzeGBH@kwp4qK9?wa@0!(Q#ab4vS+>+AsilftYZfhZ*MenzegA#4`su5yvgsO@ z^hw`vfXnpAkR+Dz8Ef_*ST5akg6V*DqkGrEKam~{=+qBK;ul1jm1-m!$AI8FS40tP z`?4j&1mkn>w$1MI*y?9&o0dwmiVLk(!5-17ltRpHXt2_(>F(OjC5v6zB^~WUZTNQZ z8U(9U-}LGG&k`RvaqLBmd00x5h+t^+K?LJX827$HXoV2aA^Y&%5@4pps#A>W7f}e7 zXb5!a{9+MgcwodTtqc1Cf&mQof}P&A(^@p_)(YK1$J{x#>Y0@`zcAmO$WoWMW6J&P<@f&a0B56M+9q&i+xcZc$cFF!FYWrreu}Qh+Qj0jD0Td z;%XhQ(sHOncbnh~={5numeo|*mc@&P*{l2v z@i@n|^G6R4m5&x|?SfWoD=oIh^fcEeeZ!$dp#n~Dg9q6^oQY+={%F7}2ob^7A{g&y zxi@3N3P*#Ehy&y{#D#j1Ae~qwVv8dv(?S@+kWW{BgkU>XEVC_j)vi9kyTF+Z>+GTy z+)J|3-HtMcb$p;LmDY0}`@DT&&*e3`4`#rAwQcX!&tiZaWM^hw`v@O4SbUMwCo zFar_nA;NBFy-3vw%S4DEi|c1=s20iqFiU}drv!U``xf_n@|B~9>{wy8)k=VJW%un( z4K|>KHOm}?BORz!!n?M8zSftWR-&w*vL`mLx7RM8w}Ts>wOyJlz(omPI__yF7;8!T zh67x(H7s)kQjP+(N$`g|HjG-dBSV4zy9nlXR^5whVTA*rakfkRtiz6K+4ymmuIW5q zgt(iKx2N49RVw?6d=n^{+5`AJF6tJZZcv<{W) znXDl#G z;brbz;pE9ynVMp+T)tpe_U*Rrs&Xqxh$AN@N5pjr0xR0;icm@kE|4D29nM zn~m6jEu-=>GX6oq{t3a{m(YR%&?q~qM>PKDamOSEv4A_p0=rbhCqtsKk;mpC=b7Rw zG#v9~7=rN_Y|4WVYA8Q$%gc(aIyc9zojYTP)~|KLuwAnkxL%ZFM_XpO;|dv@Gj6=C zR;qDgSHBIcS!we$dGHL98$g?0F!}@Z4F|ZC32@6(8=QwTf?)%;j5fvaI>jUynLQn5 zN*IRY`Q*WEoMI8GMJT!YTxKGHAptno{L~XJ{YcZ0%#p`+{7^tu89Cxe{z(d5=w%_{6AY3ASF#uNhB`9qJbjaG`&= z!4a--<{GgMTNpL53O4E?$-WYcTH*p^IEF-t$dD8Q=khX=8Hpj8?S|ze?sMux4_Up8 z`q<0Y?Qq*%1^ZmfOP^|;#RYEo9Z-84Cq8AZYNJB&rts-;R;ADDXHVO@))rTmZR|5! zHrO7;FJc!dP5u*4C?q`Y`pDHWeZv7Ro);Y93TL?EVH}TYuPkav-ZSXaAg+5-3tHT| zh@mG^976*4=T4GoS7WG#93DuFDHC$#RoMbVsCeuX?sX>wt1d3KqNyn^;4>ROpPgn0 z(^IWkZIsL4g$Z%CQeJhSZ>uYlnUZR)GiNx#4#>k0ge@FAiYMQAa*;v+xfVPCoZtpW zxWXCkynetjHr+FhMFstPrWG{CaP-?I3@_pq9rB$|h+#mP?l42clj{@Mi{cpLFy`i! zi}o=EaE4-aN}`Kj4f39y^)+@WCta~eDT?CEk&=9uta6Pq(~?uHO>52bTQ=IBMGIWu zPu8%cZTg@uj@?Z}K+j2^ocCPw)pn!K@g1A)IV_{nin}JRG{i9BPS7~h{<9*JDZ#i? zkRymf3^CZxhisR?tW=_Fo@|-~%TOFERf_P@gZr#sVl?GuyY^?x16T%KD#^1II-a2+ z)URRKT~q0<<;TTar6vi6^KR8^miOVY#6&LyA%H&V8xC-R6WrhkS2$Pd7#pw!o7~6| zhmk}>n}}d8apmVIBQA|-gd}f!XjD4Yot80Ltd7&fJn>olmed4M#xR+!Xg9M0MzU zhQ7lEPH=-GT;U9N@BP?>ZFdtadhtEt_6`j&zR8G*5s)C5(^;+VR<*z`0N)uBQI*|8#aat_TCK1tDPV8Th#n2?2avJDzi~Y zV|2oBoFf9#dx8J1B$(V@+ zUNDA`yTc-idw*Q@-bk5buPJMv{kWD+%FPh$jBWsLBioSq-s|Eg4041koZ*fQ z?iqyIYmtE1NZn|`MtTUs8$0ghIbLCm7VL&PVDk+EO%c!HF+82SX91$1fyNbQir;< zabdwc*Cv9|J|4obLNGq511F9>PdLLJ8?XhNunimU5KLM`9<%Y1oqLnV2^JBJ-y6DL zg#`t>5fRLL51q6qu%6R7Vg=^_f-x+-VAMr0jA(yyP%O}0Sz$}n2D=DN@{+pDELVrv z#4u!=rbq1|O#S$$G;uuQt^>+ahq|;uTfSZTLKwiWL%d*c;@ITG^bW>=wV59*w%FY0B3gFg=Gs}2bk5shE6y5Ac{3q~xUae_P9 z@!Et*?mL1(s6(GVc7%xqI6k8FV_QL<70H_h6oU|BwgN9XTY&^Zusj_j7{_?t3|*%T zqEd&tCkA%d%J#Nl?T;iH+~7zVICttCf?*5au`OCK_nXT>@46AxC|WSQZ0LnLD!U=c zOcoK0X`7t^9*E-dyF%T}_xO>HfZ zP#F@Ap;;_&t}Z^#4Ohxihu1(6m*WMBMYJ8=mp_IF+~CM}Y?!0`4jZt=3x)kA7}pT@BY?yO9bAFAkiaZ2Dmlx!UtovS6J{~k+=}_gq>?gJatA% ziFM4ZcZ+De24qWwR0)-$^o6=pjpzxV}Du6=h~x zcgyTM`tzUgft%l0_B>o-H^M| zu#W-61wZUwl}J2IhD4oaplHE7!56n~w0R9P-C8g&DampYlPq1wQ=WR-R<+Hu{c{@a zX#L=GOD`D5?Cx@nGHH0%*s+!_k;~uoLId{_qY{E8d z>`IEapM3qVy;x{)@0Wss3i2Ci`@t7JX9Lw`3bunD)S}=>X9&hng#g14&w>cszQi%g zc=CL5jq;a{9kNYJyRA4o+p?#nSy6V5tzNjm_O#5hi&_%-ArS$IHg}u=D$M%whwofDXP??L zU^l0yy1US*ctIy#6fc;|w{!=&TixoMYeDiHBiNyeVtcNvzz&xbIImf)WR)S<`h)_$ zGIlRmupWY8Fl8u99qQ5sZMBsY-O*n(xJDU|pn%0X=D|sS<}`cj^hx`}vnLVjhiDL{ z%^fE^RG~@u#XFbJ*=toLwn;&LUSuZpcLyRMTCgzkoTDD=K$29}gawLW2@ibOQne^Y zu#xIvAiERn@soP6cTXF%HIipVgEAgL!8qQWnrPQG5&hwr6NnZ2PiH(-ao{VbkJ`Iu zPg&ozWLv8-kI`YC5JZq@u#6YXe`d&V7S20#Ge)WhxQ1bbf>H_Xg^ES6ASmy}I;@5M zt!H}d&#zzhLvbKX3y;u~L8yV7Uw-b0eg5EH+n%0k-AvD#J!2&asN=~pMDa3mED}<_ zhqdX;Q--qC@!sLvi>`Ao{PbIYZU6PBU$waz)9j1;cG@>yf5nS+GfaaZLQe*vMtJ}A zYwuh=Z(mfBd9)zYx|F+&5wLmA3ahjT&C;xkw; zi0EsGwKO%!PE;1!w_dzx-+bws7wi7~z!az<_Y>x?YK(v9*6Vhyw#;6hnqWWu#$OJ3 z+okhoZD8BrOK;I++3~1PNgn#{1tW*Mw0x-(V}U%kNpUc`J_~7HDQ6GAE-%k2lLz12 z@qz&arH^1;Ums4_E}gfZe*5e8<9Gkq{_WOF_OaGR`_ZT0uy0>HZXjX>y{#6&wdf36+vS?rcb z^g&tC!boSsr=S?+JrdWw)yW=~yy0>?V(lczK62^jYBMX+UYt{0s zoT=07nx_62)K;!m427wwu1(sek0mu#uFvQ;4oc)N=;r?5i*MV%-h9!%vU}(U3-90G zFnFi~hUeEl)3?FiIe*%|`TM_TeTx?jBk76uEbMTCt;)@|^Cylu<8mZcv2g1nFI$O{ z*BoX2P4X^=WON(89fl;&5{u*Gtx-wq)lfmk-rj-{SN$TWHdxN__w70BMceF`w9$O-i-M^uUZlJcvT_ji5zq8cl~ck z!yrRQMf@M%y1&)>6+s)nTYr2z5@aBg#BbqWE8qUW{{c0puCQJPo6!IO002ovPDHLk FV1nlaDp3Fc literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Boss/hierophant.png b/icons/UI_Icons/Achievements/Boss/hierophant.png new file mode 100644 index 0000000000000000000000000000000000000000..a8f2e6a45edc56d7130e9f28253e8c081699ba3c GIT binary patch literal 2345 zcmV+^3D)+BP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y9E;jv63FrU-2%1SmK~#8N?VL@E9Yqv|vz$d1S!9t#en`mH zY{Vca23fb#>gP#D1vgs7ksa3i`%B+Y3{5s=8IZXEYl1&d29xXTT9~3S0-9;4Zii z9)cu;`wZjXc+3sJb9nBI7kAgVfn9(M?ghue2KXDOl%_C_TYz!y^RC$iZeT2sk^SH` zz|!#u!L=*N=>4@6?lWwCMULUI-(NZ_=i0cy zWAGU`2@ZN`iG>^379{!r_z-M^G*f5aNNz8lNq$;cfP|GDDNTV$#>F@pcYdApnm0iw z;@rTdAd&mP8j#ZT$+_9&yG!Sid#g+1B_}rTuHqVtQu=sJUOP*}I*59^x`A~;qF9N~ zfj@!#$9cPr-f32nPQUP+;Qg%>{A0G3&e~GPG|hu34+%H04oJvRz$cj`@SBA*X?^5n zrUDdo`PG+&#?lDV@a^KfN+V3;Q7;d5a09D?1S|noxXD)wZzjL3UGfuO5tVi9*fHVa zD=)T_2AC$MjcLr%y5!}hDsEsIxG0+lY#vC_mx|m;Y#pqu<>h4|mNddNn%k6VZ*+^g zfs??6_ypYIg*VU7B@f%6Kvm-5C3NPY1gtCf+>9$K0zbm?7Ka4L{kHB=J<~%pM0&pOQXk^qOX5Ww*f*yflp1h9jhR`wBp-C@F+0cM05 zDiWq!k+3}6e0p)llqJB0sr>g^Vf^)2e&cgbY(XfkiLiXrFnosbMVFN!zk8;o?6?&s zBN8#XK^~#BP?#m(xbMLYpEjA+!LVj9wmtPC@k;|PUu`cSLJYE@o;_8H0G;lqdX64DgL z!MGTwcdeLk3PL9A6oqkqmduRt4vq;k$EF4|%cmPN&c>~WHW&0MXe;=>h0#qW>^g-> z`%9)AIS0oi6lSGaK^`hgKl>C$H<_?a3ghg)C_~U?gu+b~=A6qfA&RO~buodlkkOe=6)Dg~=E9 zz{pGzrXq;_UUXcq!hm`jgfJBqGU=FU3hVWjB+P6KG(PWIQ3-Cz-YR{<4BApw6x<(;YrA<>7FGnQYMUlpPI0pCnTqK&gc*|SA}&pL|w*^ zOPCp=zGcVsJNpr&3PToF^dkso?8xLfPGR&;?2^F>gNy8EHcqmWnLHvalg9OivMS6y zxkH93j4tSeZq$<%#>JWP2=z|xlA#JS&54tqu!CS*CII))5w{Fd7#x_%DEVU5Tv#TJ zD_Lc|p&Lm@3{jY@xlBvfP3tHW#!}XLLS0=3Cv1E|-Pls-F<}G;aM`ac&U7Q|fT0O9 z3scuaKVx4A4q_AIFP_kLQgBs!d}>Zz*wq!} zaZXEDv&C5oB9O^;Tq4(1gLbOI&|fs;T^pVQiyLS`B%J@s#h0=eGsXhbkZB4tO^7%P zObH^&moRhLZ)|DP686LL1(g+V3A2I-^F{Jf(jpE6^)3u)Hzh0nB6)=o11V`zr$u}a zPza}BQjnF!@Tjs-!J9gZdFkdg3<@s5+f(W^K0RYLIaCfsbs;N#(MSF?WFESG(T9Qy zMSqnH#c+)hMd{=^?(kX*-Mb_bM3+E*kA+MU)cOW8CL$+C~`DWV$=kd0CMK z31E*vx>2Of>#!(>P!!Sc-m#@14Z-WMn8xY84og8o^o46O%E6-F^o45_#FEyyWT9~# zyl{BF*4PP z^&Y1x*pkS7hCS`CCG|i?*c8zh-%5|6C5+?gdhu-$$RHmQPvEPSM|=JQ8dw&!84{_) P00000NkvXXu0mjf0ODMv literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Boss/legion.png b/icons/UI_Icons/Achievements/Boss/legion.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9470a8a9739bc427a9264efc63ca52fc84c49d GIT binary patch literal 7945 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 IM6N<$f}#+CIsgCw literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Boss/tendril.png b/icons/UI_Icons/Achievements/Boss/tendril.png new file mode 100644 index 0000000000000000000000000000000000000000..3b6b908d3ebb676b8dc2cd0a8d3d7c69f39c8b2b GIT binary patch literal 6594 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 AbN~PV literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Misc/clownking.png b/icons/UI_Icons/Achievements/Misc/clownking.png new file mode 100644 index 0000000000000000000000000000000000000000..7260c34dcdded64d427f310f35b7bbedf971c6ff GIT binary patch literal 5118 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 literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Misc/clownthanks.png b/icons/UI_Icons/Achievements/Misc/clownthanks.png new file mode 100644 index 0000000000000000000000000000000000000000..214a4e0a74d0893c8c369498205dcefd74bc6050 GIT binary patch literal 3441 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 Tq751}00000NkvXXu0mjf!f~@Q literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Misc/featofstrength.png b/icons/UI_Icons/Achievements/Misc/featofstrength.png new file mode 100644 index 0000000000000000000000000000000000000000..5cfc5240bd1742b472723c95d67dd8efceaba293 GIT binary patch literal 2969 zcmV;K3ug3*P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!T4&ydO)FX;?T1DXkq>R+ zG?ALBRBhE%C8|^@O5!+GRGe;`hSpI^aY=v>Y%m0#_Y`6 z)PLzRvvX$`?vHcMoSC`jD$0R&#^VJ=bom}-t5wQUWm?lJK3vW%sz?`*QVZoot=lxI zE4-KB)~pmYYeyf`5&dB=mA><2bv61zRcOFoi2t#8fbwe`M}3|@*6`qq-JXewA@}f~ z4VFbOTjbP#ulmtTURR(B6j*J%F0X1y#WxyTk8dEQs}-qyuZ!}EVw7J}NO^@ZZUxd5 zj~*?WpC{)e28KvG4r$w_q5c6H>bpXNz5O)U(?>(RHPS@3(iE>+R`Hwtr%%4|!|I2+ zy{@b)5MWQo>lZ4=-pxP0ncXWY2l+$6teI3ex0Kr~0dzeAz`hHe)YoyDu3YL8Y9g%@ z?8bX-EBXY3JL4VAnz9P)x%exyY;A4hfBOzt6UQeiylJ*TiZP@}p35%VauPO!yCm@X z+Ap$IYUZa0xa+y7a(#JbKCXV`6BjL)7TXjF;U)aSz63L%gM6*{crr7M6Uhm{ke`l9~8|dnliv$0$ zYsdYYp7Oe{SrY<=6rtZK_yt?lm+=d8%5J67Tiw)Yvg-23ZFI5aV{ucqw!J-8$=4_1 zqSp+}y#hL~GpsvR#G?7D%O$8!1@&LNOrIQXk&6UF`4aRZ>{LP)2i+3?5fRMUe$-R!*7JVWL9H(RSz~q#L&4D`%!Vg0vO}UzXb)&ft-h z-srHP*ql;Hz%gdh>iJCZEG;nHNV8=v!|l#w&)~Buj1^;Mm4SgAOwlNpbRW?~T6wp0 zVdbYL-MwMZ!o6o((=kpp^u?%h%2FQUbpU{r5F!!;t%E!aMT*2D2v>A3G34{hFb<`KY!^gec>ywCczqbVMtgYXfYdM#1de5BaHxu_l7~e3d^Je zM+T(-$h|fiQ4@x_kB}fwg|^JPsG5 z@@NtIp}RhNiMBp`FF9}jJv1vbObjE-yJr%5cq1LA0Be6|oxpaFxW& zzey3l(zzro>Yw|T=EN0^@?yzpZRG$ai5Dia@CZjg^^} zPX2zhu&paq7KeU$nuwWuxex#t2Lp?1eTI9yqgD`g7$zkFb` zx0f4X)*=K}77Cs40q^2+rFXYKFWXGOi~ued@KCA)ft7`-FutkmLG6yuSFr^d4XCoRGV1Sl zFXskoI`<3GB@GK^GkW&UJEu-O%aJXCAQ$G1xPbxJLkt5b2;gEd_gQ*VQ&SSGfg7Y{ zL12K|OE6(JN%t7>#O|55>VC^!vAOu>n`qvu<=)Zk%RutGDF8IRe^B=Q&??ug9c4v0 zH%QBZ+CMx=J^#IctK*A1?%(t^@9;=qKaT%taYPR_V?y06cikR%9g#nN!HS^nzAga; zXeEU+Nte$L{jm-*`?K$Tz_9dyt@6tKrO+c@(=`0K=PwP$rcHCBTA( zEq-vlH2Y91wY9a;cmMVWns`wxZZ?H6b~K-s ztR7>}RNg%1i$Je9Yc~p)ZvM<|S-oodp&1z~GBTEA&O?7{tjmTF;LrX0C^adcr*KI)If1+@qN__Pcpc{u1VrMf0SR^+qT(?Kpl~ z0zI3+xJ#JFJ!*fEJj#Ai$%@!E6$LkhWg*{U%gTO{ypewy2277aCF@jMh5?}kF$-=8 z%L;561|zs93d;Gb>!kd5b(s`rP6f$AA4g6|fJe-7RAfV-3w;<(#ie8rtB_~GtZ+39 zZ7CVQrWY%kfKW`&{|LT~P)qT7vMz_kc6EwJ`&dqw!!p8zf2k9<=t)INR?e6#3$Ed* z18$@z&4O!wO)u#;LAgt2O)naG&8m&pl~gUMSl!rqd?#N~@8d&B{|snZ(&qiAPi|vS zflU+%6qsK~Ma;stO6f=Wug*Nrd|cAKoF44M8|fQn;oD4-i^P;%TAAp7rGXR8s<@qj P00000NkvXXu0mjfqwSqf literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Misc/helbital.png b/icons/UI_Icons/Achievements/Misc/helbital.png new file mode 100644 index 0000000000000000000000000000000000000000..10b5efdd5e688b79c1472c5b741ce063fbfd6cc5 GIT binary patch literal 3413 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 literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Misc/jackpot.png b/icons/UI_Icons/Achievements/Misc/jackpot.png new file mode 100644 index 0000000000000000000000000000000000000000..e171c5cb7c99a975c1d8f6736020e75eeb836c2b GIT binary patch literal 3037 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 literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Misc/longshift.png b/icons/UI_Icons/Achievements/Misc/longshift.png new file mode 100644 index 0000000000000000000000000000000000000000..5f511e21fd50a48af3b7f0158a2af573e0ba1de9 GIT binary patch literal 2436 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 Hu0mjf4)7YD literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/Misc/rule8.png b/icons/UI_Icons/Achievements/Misc/rule8.png new file mode 100644 index 0000000000000000000000000000000000000000..2bc518d5ab5d450cfa953aef7c75f9f9a402137c GIT binary patch literal 2924 zcmV-y3zPJTP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!T0OoQ6A znDS7nJXC#Y{SZY(#Dw;xAzLW~xoWARCczZjVDlB*V1vJH?A_`4&z;!}>;1aBYkPOa zPa4nMd)N2w{P)b>eee&WYRh>QL_v6@-vSflC54>4EOGSG_A@Mcd+{=|OcaNk7i#)-9 z-*Fr|;ZW%Gi~i=j`p}}XsDiZxP8Bvi-1tIgU-xbj(l1C9=|falRzgJ;rBqm2!l_s# z!L>&!C@NH+nV+2_848gM25D}3mgc5r=-%Ws-J6)AInE7|C@3Tan(7+=`2N)^e?8#e zHLee3oJA4rH-Xb@MJV_xpZs}lUIl6=ZxmNoQt7HHPSr}Fbbx?Ux9`x@@F>mP9aE|) zq@3qw+#YlaUSZ*`>%AExqkcoR%KX4q;%9~XI!z4RHdZ&v`QdS=;&>)*5@`$87U#1tJ>pEpCqt^y#r1zR?rfhBP6HdkV zQ)!}}1#|C!p|@GA$A!fb$}4=05u!Hxzx zo(M_t7XMRiK}iwSezB2Ous@Ycpl=)cs7Lv9Y;1#$kbC$0_jKyR2}xQoh{eCkJNz$Y z#nlyTS@q;w;X0VPMsRMPZe8eQi(~(dy~AMy5Oee4%5W;^3eDn z+#|7xD;WGNxDL1*qJz)XJ}VwhfsfW~ZBRMts(i~h#1sr3JU7@@G+O)$xpp`70_uj= zqdF+Av#NUxqP8!L4cR=qSn;}=hS*MNWS`{@-I62n!ioAc`&#I|V%CTm|9K67`OYimlQ5v#1t^fi%Rza3|Y6_*i)P@eHUd>de$b1GO`P1%lxbjehE& z#)i3wvEHc7Cjq9;!l757h1#%KAQ+x!aaM(=4%s%4P6e-`q0XqgAW<_Pa(<$Bhq>>3 zu7euv6G9YyZu^!6k7yG1ST>ZS(Hn2*4d&!YU2sWMu~eFv0eu=U*QnJw z_|tF~mDSvDNVDTpbo2bjJl>SEQuyj@hxR@Ta~~^F+1HgO)VkNR<12j-hx}@*1HsQW0{QvLucK!aJ{oOypSW)>T z%-qZjeW&CRRR*4#AlSA|7nYYHog2D!4t8s@(t4zO#3qeAV=T+Ix_DTc?1fg2nnfe19CIDgeSM$J*g_>^Sq3%lgSCN1(8|G- zBOJ&#M>QG{%_J|ZD0j7iRt`I7%IU%^8qY-bVOfr`tYn*`!8{9uR*rNhv*mSjw6R4? z7NZTc!d((G|MI^7G6JR2EDKA*)7ly!m~y-@ku6`b#qwfV2I2GR5*6_9QYzC*NiaO3 zu~Qaf#7adpqYboj%miFBO)?*`#R4WzmasOgRsOca1fQUd>jH z22Nm7FK^o^+d*suOkp)b3|FkbpBo1qJrX>xFw zo~V1YeaFU4&tadkFmSg2@=@;D<`J}s!DhB&{}|?1&qOmcKm){HLKD^|JWnhv*a82p z8;E3;!H|kK%oQM<5zj8C3p8*8RYf~%Gpu*t|D(JX_}e<4oa@1ax`)2B)$`2hKfm+~ zU2^&Q(bsi}=pjz=Ch{i2cB^l5vOUJg$@Sg)f2d0?&$azrmy!dX{f&Qp1Xp4^8_x%uf}_i4{^debeYgz>e&4Nl6HR9or!SjVHODHx)|bBlo83AO~Arz zp)%RY8%&*{LA2odsMo}#iwZf$gL1LK>u@O+U4e7-^3G@UR$>dWn;<@GhCA5T!s(pa za!I!d8pf^<(s1`xF3J9JQMoDUzy|d}LHqcN1`+m)NY1yO(KU;h#bIK zArx|ZxC3n0;qbdBXtV!Gy_Fuuh2Se^Cct!`|JxHG;oHp>8ARkN!hYca=L6{AT^E7| zQO87LfrNqqgpMHko_~cHCTH`9-SV%co^w!9G44B4`9S45pqw`7-NNJ=n(sCyyk zX=7&Hr?TEemy8lw}wU2;g#LknbX5y9)o^Qcoo{=?6nZ z_Gyu1!q-v@eem579X$UO=g|zkF7%PKg&A;xVln$wbN3wh?T8RKaX8CN&G+3L%^M(rST-)RB|y9{e3|r1NIs+gPZZL{2WPO!R+Z W<|TNGou}Xc0000N2bZe?^J zG%hhNHvLWs=l}o(I!Q!9RCr$PoWE`qNf5>zIv~LI+9p`b@>}o#gggR|KtMo9aMA^Y z1OyjcK)?eK68I6gH{c}5AVC6g!JY1;z3wc@wc!x`0(&>b#!#JS}YbT(wv-}tZ{mJ8sNVp4Qa_kUSF2* zpKuxLTE^;!BU1XF@VoG@ur|yH@}x8cWf+0J4uLvf3H>KdO5PQI71pf@gRBMR4BrK; z1t#R7!*ij3-Bn8A#GeRXg*8!al2iriOo&6Lr$Rpl2`TbWU?eL_REi97==d>Jh&=lAh3B%@kGXiB`ZWyLJLkLQD1sB}@2?vpmn?;G4NQY*c zD|pOsUGqt#wI~tmS)&XgwuK8deu=c?MF|K{!{XnV zN5z|f?U69Js19iLl4a#dw=RQgWxqvwu8UqQgs=ub<<@0ztqe{Uk*1B9vzuGj2G+{p zCepMKz2K*?Nsf$Fa3kj1NYj<*3nti;clId~=YJ>C6$s6$R-$6i2Kk@(9K#&a8#BJ5f`ra$cN>)hcFi7@B* z-$PhfS)B>1h9m3)goQn&B?+s8!i0T-u<%bVVVf|*nxJdKfbmqEFrIbL2f~VWNuFnC zXIb!$ZfI$Io?Mx2A?=byoxYKgg73{|8EHOGuFSUJ2n$ZXXjsA1ljJ|=P?)d~Rum0f zdHNP*|L4BrS%R=MaOF5kv8fSHkn4WA?@AEnrbaIztk~q+6Sgf%5SC89i!AS$@lDV* zVd?Ttkp)C+F-?&xvkf?h&(_YX4J!J;sj$xd*bw0S*PB2VqJQQeK`P+<*R>x(*s&8f z&vhM-^%<@^!p-%aJo@62mtDtWeTIv_E+b7Fv6pkV+`zgc+(eo-q8CeH-i#9Ax+9$A z53A}0Ct2rKCOBvRD$?_#z@#v5sN1wIxcK=|XeHp-@1$FqYhBMHE!Cn#gc#q*FvStm zjf`-x-Fa~(oQlUIom@|LTYeVgD{v)gn z!x0;S)&dQl6a#6DAm_vlIP>9NOPUiILMUPv--a2(EkPOMy7;zAWFUjY0Iycw+xs7P Wq-HAd>t`Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!TdUID`!R1_2u4OD09^)aO}5bQ&zQ>gr*j81XJidZ@oiK9+i60|d7 z>s0MHl^Lw9BMJEEXt?c&f{2icf|L*vj3fa=9wdRtz4!F@-Mf2pa~~nOIp-z;zQbnE z**&>oKliu0zumLDf(AhAJf4(PYPnhX#FfGj(@c}DXg5+X-FXqxpViL-p= z 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 literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/baseboss.png b/icons/UI_Icons/Achievements/baseboss.png new file mode 100644 index 0000000000000000000000000000000000000000..df2227b391d0aeaf09e2b1975f8cfe05fe528b1f GIT binary patch literal 1697 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 S<*5At0000Mv< literal 0 HcmV?d00001 diff --git a/icons/UI_Icons/Achievements/baseskill.png b/icons/UI_Icons/Achievements/baseskill.png new file mode 100644 index 0000000000000000000000000000000000000000..de6ff8a2e5f2d6cd52e622c4beec808840b9b0a3 GIT binary patch literal 2247 zcmV;&2srnNP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2wX`-K~#8N?VL|+ zR7D)ee>1!7_J3(BEh^MPYe5SM5t4H7vSQ+;ni3CQF!7?%1QQi795j^3MJd)q5)a0c zTs#mOttTOSfutm2h$2F1OMyZtM* zZ{C~V2wDb0C-)c7!{S#BAvQ=M>J_OCe7J!heo~@92wH{DDMhzPs7L%V!jE1-qSsXF zl256NR6c$xxcvaimXswE7W(B#3FU`dO<}&lZ(F(YC00pdu;elRMO0jvN2NspD&ps&0)7PYNJ^m}fjqzdOn53n zrm4s<6iq&!qKQXSG(P#5#wH%~^OXLKh2l?$P+ep5PuKcS{~m1FH)JX;?>tuGvp95Hz$b|Tsl>;@9ecX;fdpBU zu#=sKzTh9=RwaC8#Q|Ekx`HZ73+>YM;Qr_&^$*^sk#Y1;oE)fad+XkVR_W7|kT8S@ zW?=FMZdE(+1NCbvX-!SJRhXt+A9_fA*YD|W%B}6FEFF74kuLhw!t@!?6u+^otv(I` zni{I9s;tN^O>gdvOwzx7xAjSarTr6w zA_iUPAJ#37o7y<{me&_5Z9&4&4V5X*p=DK97Sl^>R}x~ZOa`&q< zI{8O@n;L5}CUi&?oB;mrxrK1U5K8cw(|tzZ+QQJ6G2LOGJ_M!NE(>5RLtRm4CFr|& z9O1rsXs=?gz+$D}K zl)5KOfBo!BLvvb~bv=v9an&K$WC7F}btfSzO&R&bJ{)C63)2CrAqIpHfh{jTx9pc_ zmW$DeFrB?{lN*@|^N3a#8_>>ZVfwN%%fiLKT$Ke-cQ}9x4ruq=hc(d_7V2ydn2N?Y z=JGdhTD{~~O4E%;k0W&EpFuKA72zw1)Q*( z&+Nm~!UlS}*WnpAEIce67wo24zhJa5Ot5j^5dBl1Av`p20Vi;yZ$vXz3(F6;Vt~Va z!&Kc0%S7M;PT)p6Vze;(_Py5~U2vQ@j)a~!j+PAbRH&qRyGhp+`tvil34kt*JpXSQcl5y-nH3(fVAUdkE2$Hm7~G5V za0jV60Inpm!f z@tBF@#BpRzjZE3a4h>|5VGX;71zf-h+*pomVOY|Gd_#n1UMrghF5m=ioMlf|3uD%< z-}VolJz>*0F4)c7)jL=FP8~*a=AHW!-b9>%1LR)93A>4|6N?H9w(PrsOjd*El*l*C zb>KiJsUima{U}(014&X zCa)sx7n!WN!r<)@E7h6nt{u4GDhzWbL9~m%X&~)a=M`o-sAKOnoD7wLy2ndzb`=JY zYr_Ly8wNk5{buu76Bh_C^xw9ldTM*p&I9w_y*=4^=x0Gg;$IhU za)X#+S?cKa*1hlAMXtncVGc4}_!0loS?hmc*b3&di2tq(Ygwoxb{en`$7Nn&!FP6z z37^@*zc_?`jh>YkVjgw54cU z(%x(Rr+2d`d*DhwDHRrr&Ns9-z7-pE=mlJ&~f`dt2Vxkhu(E0Bezy2`X97- VQ2%KIbJ+j@002ovPDHLkV1g%13!58|Nq@os01m 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 Date: Mon, 13 Jan 2020 04:11:04 +0100 Subject: [PATCH 011/124] Add B emoji (#48638) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a slightly memetic PR, but at times the game is just so 🅱️orked you might want to use it. --- icons/emoji.dmi | Bin 48412 -> 48553 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/emoji.dmi b/icons/emoji.dmi index 5b45a892c2355b9f8154fdd7f2edea16b9330f9c..84cc8bbb90bea41fa4d223d63b57916b04403647 100644 GIT binary patch delta 11818 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 CWxFB( delta 11676 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 Date: Sun, 12 Jan 2020 19:11:07 -0800 Subject: [PATCH 012/124] Automatic changelog generation for PR #48638 [ci skip] --- html/changelogs/AutoChangeLog-pr-48638.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48638.yml diff --git a/html/changelogs/AutoChangeLog-pr-48638.yml b/html/changelogs/AutoChangeLog-pr-48638.yml new file mode 100644 index 00000000000..c17c13d32c8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48638.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - rscadd: ":b: emoji." From 8e94ad36a1d22716e0e5ea0f4236ae4ddf9b9e1d Mon Sep 17 00:00:00 2001 From: AnturK Date: Mon, 13 Jan 2020 04:13:00 +0100 Subject: [PATCH 013/124] Fix santize_hexcolor (#48716) This whole helper is a mess. Maybe I should just replace it completely instead. --- code/__HELPERS/sanitize_values.dm | 10 ++++++++-- code/modules/client/preferences.dm | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/code/__HELPERS/sanitize_values.dm b/code/__HELPERS/sanitize_values.dm index 5588b0309f1..4a6a9758d2c 100644 --- a/code/__HELPERS/sanitize_values.dm +++ b/code/__HELPERS/sanitize_values.dm @@ -16,7 +16,7 @@ return value if(default) return default - + /proc/sanitize_inlist(value, list/List, default) if(value in List) return value @@ -52,9 +52,12 @@ var/start = 1 + (text2ascii(color, 1) == 35) var/len = length(color) var/char = "" + // RRGGBB -> RGB but awful + var/convert_to_shorthand = desired_format == 3 && length_char(color) > 3 . = "" - for(var/i = start, i <= len, i += length(char)) + var/i = start + while(i <= len) char = color[i] switch(text2ascii(char)) if(48 to 57) //numbers 0 to 9 @@ -65,6 +68,9 @@ . += lowertext(char) else break + i += length(char) + if(convert_to_shorthand && i <= len) //skip next one + i += length(color[i]) if(length_char(.) != desired_format) if(default) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 374c2153f6b..14509f250cf 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1299,7 +1299,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(new_socks) socks = new_socks - if(BODY_ZONE_PRECISE_EYES) + if("eyes") var/new_eyes = input(user, "Choose your character's eye colour:", "Character Preference","#"+eye_color) as color|null if(new_eyes) eye_color = sanitize_hexcolor(new_eyes) From 1e15900f2d50b5843057009337a80a683dc25e57 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Mon, 13 Jan 2020 04:34:20 +0100 Subject: [PATCH 014/124] Fixes shock paddles being insertable in BoH (#48643) * Fixes shock paddles being insert able in BoH * Redundant. --- code/__DEFINES/traits.dm | 6 ++++-- code/datums/components/storage/storage.dm | 2 +- code/game/objects/items/defib.dm | 26 +++++++++-------------- 3 files changed, 15 insertions(+), 19 deletions(-) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index b768c6cf89a..324f399430a 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -159,8 +159,9 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_PARALYSIS "paralysis" //Used for limb-based paralysis, where replacing the limb will fix it // item traits -#define TRAIT_NODROP "nodrop" -#define TRAIT_T_RAY_VISIBLE "t-ray-visible" // Visible on t-ray scanners if the atom/var/level == 1 +#define TRAIT_NODROP "nodrop" +#define TRAIT_NO_STORAGE_INSERT "no_storage_insert" //cannot be inserted in a storage. +#define TRAIT_T_RAY_VISIBLE "t-ray-visible" // Visible on t-ray scanners if the atom/var/level == 1 #define TRAIT_NO_TELEPORT "no-teleport" //you just can't //quirk traits @@ -190,6 +191,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai // common trait sources #define TRAIT_GENERIC "generic" +#define GENERIC_ITEM_TRAIT "generic_item" #define UNCONSCIOUS_BLIND "unconscious_blind" #define EYE_DAMAGE "eye_damage" #define GENETIC_MUTATION "genetic" diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index ca5169aaebe..1e12ff9fd33 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -606,7 +606,7 @@ if(!stop_messages) to_chat(M, "[host] cannot hold [I]!") return FALSE - if(is_type_in_typecache(I, cant_hold)) //Check for specific items which this container can't hold. + if(is_type_in_typecache(I, cant_hold) || HAS_TRAIT(I, TRAIT_NO_STORAGE_INSERT)) //Items which this container can't hold. if(!stop_messages) to_chat(M, "[host] cannot hold [I]!") return FALSE diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index 60c1e96c7cf..a7ab3688943 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -356,13 +356,16 @@ cooldown = FALSE update_icon() -/obj/item/twohanded/shockpaddles/New(mainunit) - ..() - if(check_defib_exists(mainunit, src) && req_defib) - defib = mainunit - forceMove(defib) - busy = FALSE - update_icon() +/obj/item/twohanded/shockpaddles/Initialize() + . = ..() + ADD_TRAIT(src, TRAIT_NO_STORAGE_INSERT, GENERIC_ITEM_TRAIT) //stops shockpaddles from being inserted in BoH + if(!req_defib) + return //If it doesn't need a defib, just say it exists + if (!loc || !istype(loc, /obj/item/defibrillator)) //To avoid weird issues from admin spawns + return INITIALIZE_HINT_QDEL + defib = loc + busy = FALSE + update_icon() /obj/item/twohanded/shockpaddles/update_icon_state() icon_state = "[base_icon_state][wielded]" @@ -397,15 +400,6 @@ forceMove(defib) defib.update_power() -/obj/item/twohanded/shockpaddles/proc/check_defib_exists(mainunit, mob/living/carbon/M, obj/O) - if(!req_defib) - return TRUE //If it doesn't need a defib, just say it exists - if (!mainunit || !istype(mainunit, /obj/item/defibrillator)) //To avoid weird issues from admin spawns - qdel(O) - return FALSE - else - return TRUE - /obj/item/twohanded/shockpaddles/attack(mob/M, mob/user) if(busy) From 6bd727641451718dd60e799033e9b23978320c7e Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Sun, 12 Jan 2020 19:34:24 -0800 Subject: [PATCH 015/124] Automatic changelog generation for PR #48643 [ci skip] --- html/changelogs/AutoChangeLog-pr-48643.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48643.yml diff --git a/html/changelogs/AutoChangeLog-pr-48643.yml b/html/changelogs/AutoChangeLog-pr-48643.yml new file mode 100644 index 00000000000..8def92f4ef7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48643.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Fixed shock paddles being insertable in BoHs" From 6b73074a44cab121c05d48ff9242b33c3391701a Mon Sep 17 00:00:00 2001 From: spessbandit <55415991+spessbandit@users.noreply.github.com> Date: Sun, 12 Jan 2020 22:34:55 -0500 Subject: [PATCH 016/124] =?UTF-8?q?Adds=20new=20valentine's=20text,=20plus?= =?UTF-8?q?=20valentine-themed=20arcade=20enemie=E2=80=A6=20(#48561)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * spruces up valentines and arcade text * more * removes hornyposting * this is what I was born to do * motherfucker I forgot they removed sleepers * technically I could add handling of articles/plurals but too fucking lazy --- code/game/machinery/computer/arcade.dm | 5 ++ strings/arcade.json | 81 +++++++++++++++++++++++++- strings/valentines.json | 69 +++++++++++++++------- 3 files changed, 130 insertions(+), 25 deletions(-) diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index a6fe43171c3..1b07c5d4418 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -162,6 +162,11 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( name_part1 = pick_list(ARCADE_FILE, "rpg_adjective_xmas") name_part2 = pick_list(ARCADE_FILE, "rpg_enemy_xmas") weapons = strings(ARCADE_FILE, "rpg_weapon_xmas") + else if(SSevents.holidays && SSevents.holidays[VALENTINES]) + name_action = pick_list(ARCADE_FILE, "rpg_action_valentines") + name_part1 = pick_list(ARCADE_FILE, "rpg_adjective_valentines") + name_part2 = pick_list(ARCADE_FILE, "rpg_enemy_valentines") + weapons = strings(ARCADE_FILE, "rpg_weapon_valentines") else name_action = pick_list(ARCADE_FILE, "rpg_action") name_part1 = pick_list(ARCADE_FILE, "rpg_adjective") diff --git a/strings/arcade.json b/strings/arcade.json index ce8f4a8d290..bff64234e9b 100644 --- a/strings/arcade.json +++ b/strings/arcade.json @@ -12,7 +12,27 @@ "Griffing", "Lord", "Professor", - "Space" + "Space", + "Unrobust" + ], + + "rpg_adjective_valentines": [ + "Amorous", + "Aphrodisiac", + "Carnal", + "Forever Alone", + "Infatuated", + "Jilted", + "Lascivious", + "Lewd", + "Lovelorn", + "Lusty", + "Moonstruck", + "Recently Dumped", + "Salacious", + "Sexy", + "Smitten", + "Steamy" ], "rpg_adjective_halloween": [ @@ -49,6 +69,7 @@ "rpg_adjective_xmas": [ "Bleak Midwinter", "Blustery", + "Chilly", "Frostbitten", "Jolly", "Icy", @@ -64,11 +85,12 @@ "Defeat", "Destroy", "Mutilate", + "Nuke", "Own", + "Perma", "Pwn", "Pulverize", "Robust", - "Romance", "Save", "Stop", "Strike", @@ -76,6 +98,18 @@ "Yeet" ], + "rpg_action_valentines": [ + "Bewitch", + "Crush", + "Cuddle", + "Divorce", + "ERP", + "Romance", + "Seduce", + "Smooch", + "Titillate" + ], + "rpg_action_halloween": [ "Amputate", "Behead", @@ -97,6 +131,7 @@ "Jingle", "Nutcrack", "Regift", + "Snowplow", "Stuff", "Unwrap", "Wassail" @@ -105,6 +140,7 @@ "rpg_enemy": [ "Administrator", "Bloopers", + "Coder", "Crushulon", "Ectoplasm", "ERPer", @@ -114,14 +150,30 @@ "Lizard Man", "Mecha-Gondola", "Peteoid", + "Powergamer", "Slime", "Syndie", + "Tider", "Uhangoid", "Unicorn", "Tunnel Clown", "Vhakoid" ], + "rpg_enemy_valentines": [ + "Aphrodite", + "Comdom", + "Ex-Boyfriend", + "Ex-Girlfriend", + "Husbando", + "Maneater", + "Spess Casanova", + "Spess Don Juan", + "St. Valentine", + "Waifu", + "Xenomorph Maid" + ], + "rpg_enemy_halloween": [ "Artificer", "Banshee", @@ -136,6 +188,7 @@ "Graverobber", "Headless Horseman", "Juggernaut", + "Mr. Bones", "Necromancer", "Poltergeist", "Reaper", @@ -154,6 +207,7 @@ "Abominable Snowman", "Der Klown", "Elf", + "Elf on the Shelf", "Festivus Pole", "Ghost of Your Future", "Grinch", @@ -170,7 +224,9 @@ "bike horn", "broken bottle", "chef's knife", + "circular saw", "claymore", + "cleaver", "crowbar", "curator's whip", "fire axe", @@ -181,23 +237,42 @@ "null rod", "potted plant", "rolling pin", + "scalpel", "screwdriver", "stunprod", - "toolbox" + "toolbox", + "welder" + ], + + "rpg_weapon_valentines": [ + "bouquet of deathnettles", + "candy-heart shotgun", + "cupid's arrow", + "declaration of anguished feelings", + "razor-sharp breakup letter", + "still-beating heart", + "thorny rose", + "toolbox of chocolates" ], "rpg_weapon_halloween": [ "chainsaw", + "heavy gravestone", "lit jack-o-lantern", "machete", "silver dagger", "skeleton femur", + "spectral blade", "wooden stake" ], "rpg_weapon_xmas": [ + "bike horn playing carols", + "blunt fruitcake", "box cutter", "Christmas-light garrotte", + "festivus polearm", + "rejected present", "sharpened icicle", "sprig of mistletoe", "thrown snowball", diff --git a/strings/valentines.json b/strings/valentines.json index 50afaff64c3..18442c89008 100644 --- a/strings/valentines.json +++ b/strings/valentines.json @@ -2,7 +2,7 @@ "valentines": [ "Roses are red / Violets are good / One day while Andy...", "My love for you is like the singularity. It cannot be contained.", - "Will you be my lusty xenomorph maid?", + "You make me lustier than a xenomorph maid.", "We go together like the clown and the external airlock.", "Roses are red / Liches are wizards / I love you more than a whole squad of lizards.", "Be my valentine. Law 2.", @@ -10,16 +10,15 @@ "I love you like Ian loves the HoP.", "You're hotter than a plasma fire in toxins.", "We must have a wizard, because your face summoned magic.", - "Are you a rogue atmos tech? Because you're taking my breath away.", + "Are you a hull breach? Because you're taking my breath away.", + "I'm not the atmos tech, but I'm great at laying pipe.", "Could I have all access... to your heart?", - "Call me the doctor, because I'm here to inspect your johnson.", + "Call me the medical doctor, because I'm here to inspect your johnson.", "Quick, get the defibrillator! I saw you and my heart stopped.", "I'm not a changeling, but you make my proboscis extend.", "I just can't get EI NATH of you.", - "You must be a nuke op, because you make my heart explode.", - "Roses are red / Botany is a farm / Not being my Valentine / causes human harm.", + "Roses are red / Intents are disarm / Not being my Valentine / causes human harm.", "I want you more than an assistant wants the captain's spare.", - "Good thing I wore insulated gloves, because you're too hot to handle!", "If I was a security officer, I'd brig you all shift.", "Are you the janitor? Because I think I've fallen for you.", "You're always valid to my heart.", @@ -28,37 +27,37 @@ "Someone check the gravitational generator, because I'm only attracted to you.", "If I were the warden I'd always let you into my armory.", "The virologist is rogue, and the only cure is a kiss from you.", - "Would you spend some time in my upgraded sleeper?", "You must be a silicon, because you've unbolted my heart.", + "There's no way you're rogue -- you're a fine piece of Asimov.", "Are you Nar'Sie? Because there's nar-one else I sie.", - "If you were a taser, you'd be set to stunning.", + "You're more stunning than the entire armory.", "Do you have stamina damage from running through my dreams?", - "If I were a xenomorph, would you let me hug you?", "My love for you is stronger than a reinforced wall.", "This must be the captain's office, because I see a fox.", "I'm no highlander, but there can only be one for me.", "The floor is made of lava! Quick, get on my bed.", - "Are you bluespace artillery? Because you blow me away.", "If you were an abandoned station you'd be the DEARelict.", "If you had an ore bag you'd be a shaft FINEr.", "I must be the CMO, 'cause I saw you on my CUTE sensors.", + "If you were a weather event you'd be an aurora BAElus.", "Let's call the emergency CUDDLE.", - "If you were an engineer you'd have insulated LOVEs.", + "Recall the shuttle, I want to stay here with you.", "Could you put your DNA inside my vault?", - "Roses are red, tide is gray, if I were an assistant I'd steal you away.", - "Roses are red, text is green, I love you more than cleanbots clean.", - "Roses are red, shuttles go dockside, I want to know you better than carbon dioxide.", - "Roses are red, carnations are pink. Let's go out like the lights in a powersink.", + "Roses are red / Tide is gray / If I were an assistant I'd steal you away.", + "Roses are red / Text is green / I love you more than cleanbots clean.", + "Roses are red / Shuttles go dockside / I want to know you better than carbon dioxide.", + "Roses are red / Brute kits are pink / Let's go out like the lights in a powersink.", + "Roses are red / The hallways are dirty / I'll never leave your side / Just like shitcurity.", + "Roses are red / Clowns have a horn / You turn me on / More than library porn.", "If you were a carp I'd fi-lay you.", - "I'm a nuke op, and my pinpointer leads to your heart.", + "My pinpointer only leads to your heart.", "Is that an esword in your pocket, or are you excited to see me?", "I've been chasing you like Runtime chases a laser pointer.", "I'm no cat, but you've got me in my feel-inids.", "If Lavaland had an apiary, would you bee mine?", "If you were a disposal bin I'd ride you all day.", - "Put on your explorer's suit because I'm taking you to LOVEaland.", - "You're the vomit to my flyperson.", - "Get the ore redemptor, because I've just discovered girlfriend material.", + "You're the vomit to my goose.", + "Get me my ore bag, I just found girlfriend material.", "You must be liquid dark matter, because you're pulling me closer.", "Not even sorium can drive me away from you.", "Wanna make like a borg and do some heavy petting?", @@ -70,14 +69,35 @@ "Wanna raid my tool storage?", "You must be a moth, because you set my heart aflutter.", "I'm the QM, and my highest priority bounty is your love.", - "Are you wearing space pants? I wish you weren't.", + "Are you wearing space pants? Because I want to space your pants.", "You give me a positive moodlet.", "Let's make like swarmers and reproduce.", - "If you were a drone, would you be free tonight?" + "If you were a drone, would you be free tonight?", + "Get the paramedics -- your body put me into crit!", + "Come to the incinerator and be my maint squeeze.", + "Come to the courtroom so we can spend some time alone.", + "I'm the gray tide -- may I take your hand tele?", + "If I were a clown car, would you come inside me?", + "If you were telecoms, would you go down on me?", + "Your face gets me higher than omega weed.", + "Someone check the tachyon doppler array, because you just rocked my world.", + "I wish I were your family heirloom so I could be with you all the time.", + "How much damage does a toxins bomb do? Enough to break the ice.", + "Call me a gibtonite deposit, because I've got a lot of love to gib tonite.", + "I don't need an ion cannon, I've got my ion you.", + "I don't need the chef's cooking when you're such a snack!", + "Does the Chaplain know there's a goddess on board?", + "The captain just ordered Build Your Own Shuttle -- guess you'll have to sit on my face.", + "Let's get to a pod and share our internals.", + "Stand still so I can set your face to Wanted.", + "Did you just go through the teleporter? Because you're looking pretty fly.", + "Nice jumpsuit. It'd look even better thrown down disposals.", + "Heat up 5 parts cream, 5 parts lizard wine, and 1 part strange reagent to 374K, and you'll know what I can do for you." ], "candyhearts": [ "A heart-shaped candy that reads: HONK ME", + "A heart-shaped candy that reads: BWOINK ME", "A heart-shaped candy that reads: ERP", "A heart-shaped candy that reads: LEWD", "A heart-shaped candy that reads: LUSTY", @@ -97,6 +117,11 @@ "A heart-shaped candy that reads: WAG MY TAIL", "A heart-shaped candy that reads: PDA", "A heart-shaped candy that reads: DEVILS KISS", - "A heart-shaped candy that reads: CHEMISTRY" + "A heart-shaped candy that reads: CHEMISTRY", + "A heart-shaped candy that reads: CLUSTERBANG", + "A heart-shaped candy that reads: OBSESSED", + "A heart-shaped candy that reads: ROMANTIC MOODLET", + "A heart-shaped candy that reads: WAIFU", + "A heart-shaped candy that reads: YOU'RE PURRFECT" ] } From 5da3514a6c1c734bbb21dd5824bbdb62494fe241 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Sun, 12 Jan 2020 19:34:59 -0800 Subject: [PATCH 017/124] Automatic changelog generation for PR #48561 [ci skip] --- html/changelogs/AutoChangeLog-pr-48561.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48561.yml diff --git a/html/changelogs/AutoChangeLog-pr-48561.yml b/html/changelogs/AutoChangeLog-pr-48561.yml new file mode 100644 index 00000000000..493e4e7cdfa --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48561.yml @@ -0,0 +1,4 @@ +author: "bandit" +delete-after: True +changes: + - rscadd: "New valentines and Valentines-themed arcade machines will arrive next month. Y-you have a valentine, right?" From 6c08ec95b62fe31f1725a8ab722fd1f929119bae Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Mon, 13 Jan 2020 00:28:13 -0800 Subject: [PATCH 018/124] Automatic changelog generation for PR #48721 [ci skip] --- html/changelogs/AutoChangeLog-pr-48721.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48721.yml diff --git a/html/changelogs/AutoChangeLog-pr-48721.yml b/html/changelogs/AutoChangeLog-pr-48721.yml new file mode 100644 index 00000000000..4c2a8ac905b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48721.yml @@ -0,0 +1,5 @@ +author: "Denton" +delete-after: True +changes: + - bugfix: "Fixed shield wall generators in the abandoned space zoo ruin attempting to spawn powered" + - tweak: "Replaced the magical infinite charge SMES in the abandoned space zoo ruin with a regular one" From 37d09e132f9effd06a8c4f616a0839f016e806e3 Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 13 Jan 2020 13:26:38 +0100 Subject: [PATCH 019/124] Vents and Scrubbers on kittens --- _maps/map_files/MetaStation/MetaStation.dmm | 41 +++++++++++---------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 74a1b0c396c..cd6266c99f0 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -49332,17 +49332,6 @@ /obj/structure/chair, /turf/open/floor/plasteel/white, /area/medical/medbay/central) -"cgY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/structure/chair, -/turf/open/floor/plasteel/white, -/area/medical/medbay/central) "cgZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable, @@ -50000,10 +49989,6 @@ }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) -"cir" = ( -/obj/machinery/atmospherics/pipe/manifold/supply, -/turf/open/floor/plasteel/white, -/area/medical/medbay/central) "ciu" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 @@ -51263,6 +51248,9 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "clr" = ( @@ -74453,6 +74441,14 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) +"ppb" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "ppz" = ( /obj/machinery/vending/boozeomat/all_access, /obj/effect/decal/cleanable/cobweb, @@ -75065,6 +75061,13 @@ }, /turf/open/floor/plasteel/white, /area/medical/chemistry) +"rMv" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "rOP" = ( /obj/structure/sign/poster/official/random, /turf/closed/wall, @@ -100932,8 +100935,8 @@ caf caf ceB cbS -cgY -cir +cgX +cbY tut cfP cmv @@ -101447,8 +101450,8 @@ cal ceD cfT cgZ -cup -wSP +rMv +ppb clq cmu cmu From ddbf2fa33218c03792b3782e83604a45c3ffcd16 Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 13 Jan 2020 18:00:44 +0100 Subject: [PATCH 020/124] And these are my mittens --- _maps/map_files/MetaStation/MetaStation.dmm | 36 +++++++++++++-------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index cd6266c99f0..e82eb96f784 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -49341,10 +49341,12 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cha" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/sink{ dir = 8; pixel_x = 12 @@ -49356,6 +49358,9 @@ dir = 4 }, /obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "chb" = ( @@ -49990,13 +49995,13 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "ciu" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, /obj/effect/turf_decal/tile/yellow{ dir = 4 }, /obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "civ" = ( @@ -50593,9 +50598,6 @@ /obj/effect/turf_decal/tile/yellow{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cjS" = ( @@ -51248,9 +51250,6 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "clr" = ( @@ -51261,9 +51260,6 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cls" = ( @@ -75402,6 +75398,12 @@ /obj/machinery/meter, /turf/open/floor/engine, /area/engine/engineering) +"sWn" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "tay" = ( /turf/closed/wall, /area/medical/medbay/central) @@ -76334,6 +76336,12 @@ dir = 4 }, /obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1; + external_pressure_bound = 140; + name = "server vent"; + pressure_checks = 0 + }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "wYq" = ( @@ -100679,7 +100687,7 @@ cdw ceA cbS cgX -cbY +sWn wSP hcZ cmv From d69af4fa8c7fb02327ec98d93f720d6476116a36 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Mon, 13 Jan 2020 09:25:23 -0800 Subject: [PATCH 021/124] Automatic changelog generation for PR #48719 [ci skip] --- html/changelogs/AutoChangeLog-pr-48719.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48719.yml diff --git a/html/changelogs/AutoChangeLog-pr-48719.yml b/html/changelogs/AutoChangeLog-pr-48719.yml new file mode 100644 index 00000000000..a619a1c0cb5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48719.yml @@ -0,0 +1,5 @@ +author: "mrhugo13" +delete-after: True +changes: + - tweak: "Cleaned up medbay slighty on Metastation." + - balance: "Electrified the grilles into the Medbay Security post on Metastation." From c314fbc6cbd3888fce024379f67cbdedaf357c1b Mon Sep 17 00:00:00 2001 From: JJRcop Date: Mon, 13 Jan 2020 17:18:55 -0500 Subject: [PATCH 022/124] [READY] (nerf) Adds proximity crew pinpointer to Paramedics (#48418) About The Pull Request When #48236 was in progress, there was discussion about how a crew pinpointer was OP for paramedics. I immediately had an idea for a new one and made a PR to the paramedic PR. 81Denton asked me to make this its own PR after the paramedic PR was merged. The proximity crew pinpointer does not point in the direction of the patient, but has a circle sprite that gets smaller larger as you get closer, so you have to search around, or combine it with the handheld crew monitor. The circle is at maximum the smallest size after 29 tiles away, so you must be 28 or fewer tiles away for an indication that you are getting close. I welcome feedback on this. The handheld crew monitor can be used to find the area they are in. proxpin Demo video: https://youtu.be/_rXeJ49b-e8 (The pinpointer gets bigger rather than smaller now) This is only attainable at the moment to paramedics as they spawn. Should it also be available elsewhere? now constructable from the Biological Technology techweb Further changes Moved Crew Pinpointer into premium nanomed items for 900 credits Moved Handheld Crew monitor into premium nanomed items for 1750 credits, same price as before Why It's Good For The Game In #48236 it was stated that paramedics should start with the bare minimum equipment to do their job. The crew pinpointer that points them in exactly the right direction is pretty powerful, and this nerf will encourage them to either get used to the proximity one, or upgrade to the normal one at a price from the NanoMed or from techwebs. Moving the Crew Monitor into premium was necessary to make it more of a luxury than an instant grab. Feedback for nanomed premium prices on the normal pinpointer and the handheld monitor would help a lot Changelog cl JJRcop add: New proximity crew pinpointer. balance: Paramedic's crew pinpointer replaced with proximity crew pinpointer. balance: The crew monitor was moved to premium items in nanomed, same with the handheld crew pinpointer /cl --- .../objects/items/devices/sensor_device.dm | 1 + code/game/objects/items/pinpointer.dm | 29 ++++++++++++++++-- code/modules/jobs/job_types/paramedic.dm | 2 +- .../research/designs/medical_designs.dm | 12 +++++++- code/modules/research/techweb/all_nodes.dm | 2 +- code/modules/vending/medical.dm | 16 +++++----- icons/obj/device.dmi | Bin 58336 -> 56678 bytes 7 files changed, 49 insertions(+), 13 deletions(-) diff --git a/code/game/objects/items/devices/sensor_device.dm b/code/game/objects/items/devices/sensor_device.dm index 07b975f1338..b934ba5fa2a 100644 --- a/code/game/objects/items/devices/sensor_device.dm +++ b/code/game/objects/items/devices/sensor_device.dm @@ -6,6 +6,7 @@ w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT custom_price = 1750 + custom_premium_price = 1750 /obj/item/sensor_device/attack_self(mob/user) GLOB.crewmonitor.show(user,src) //Proc already exists, just had to call it diff --git a/code/game/objects/items/pinpointer.dm b/code/game/objects/items/pinpointer.dm index aa91c2870c8..90ed5a05cf1 100644 --- a/code/game/objects/items/pinpointer.dm +++ b/code/game/objects/items/pinpointer.dm @@ -17,7 +17,6 @@ var/active = FALSE var/atom/movable/target //The thing we're searching for var/minimum_range = 0 //at what range the pinpointer declares you to be at your destination - var/ignore_suit_sensor_level = FALSE // Do we find people even if their suit sensors are turned off var/alert = FALSE // TRUE to display things more seriously var/process_scan = TRUE // some pinpointers change target every time they scan, which means we can't have it change very process but instead when it turns on. var/icon_suffix = "" // for special pinpointer icons @@ -70,6 +69,10 @@ if(here.z != there.z) . += "pinon[alert ? "alert" : ""]null[icon_suffix]" return + update_direction_icon(here, there) + +///Called by update_icon after sanity. There is a target +/obj/item/pinpointer/proc/update_direction_icon(here, there) if(get_dist_euclidian(here,there) <= minimum_range) . += "pinon[alert ? "alert" : ""]direct[icon_suffix]" else @@ -86,9 +89,11 @@ name = "crew pinpointer" desc = "A handheld tracking device that points to crew suit sensors." icon_state = "pinpointer_crew" - custom_price = 1000 + custom_price = 900 + custom_premium_price = 900 var/has_owner = FALSE var/pinpointer_owner = null + var/ignore_suit_sensor_level = FALSE /// Do we find people even if their suit sensors are turned off /obj/item/pinpointer/crew/proc/trackable(mob/living/carbon/human/H) var/turf/here = get_turf(src) @@ -158,6 +163,26 @@ if(!target) //target can be set to null from above code, or elsewhere active = FALSE +/obj/item/pinpointer/crew/prox //Weaker version of crew monitor primarily for EMT + name = "proximity crew pinpointer" + desc = "A handheld tracking device that displays its proximity to crew suit sensors." + icon_state = "pinpointer_crewprox" + custom_price = 300 + +/obj/item/pinpointer/crew/prox/update_direction_icon(here, there) + var/size = "" + if(here == there) + size = "small" + else + switch(get_dist(here, there)) + if(1 to 4) + size = "xtrlarge" + if(5 to 16) + size = "large" + //17 through 28 use the normal pinion, "pinondirect" + if(29 to INFINITY) + size = "small" + add_overlay("pinondirect[size]") /obj/item/pinpointer/pair name = "pair pinpointer" diff --git a/code/modules/jobs/job_types/paramedic.dm b/code/modules/jobs/job_types/paramedic.dm index 5c7bf68d470..61fbfacee25 100644 --- a/code/modules/jobs/job_types/paramedic.dm +++ b/code/modules/jobs/job_types/paramedic.dm @@ -31,7 +31,7 @@ belt = /obj/item/storage/belt/medical/paramedic id = /obj/item/card/id l_pocket = /obj/item/pda/medical - r_pocket = /obj/item/pinpointer/crew + r_pocket = /obj/item/pinpointer/crew/prox backpack_contents = list(/obj/item/roller=1) pda_slot = ITEM_SLOT_LPOCKET diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index ad41674f246..9ae12273d5d 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -136,11 +136,21 @@ desc = "Allows tracking of someone's location if their suit sensors are turned to tracking beacon." id = "crewpinpointer" build_type = PROTOLATHE - materials = list(/datum/material/iron = 3000, /datum/material/glass = 1500, /datum/material/gold = 200) + materials = list(/datum/material/iron = 3000, /datum/material/glass = 1500, /datum/material/gold = 500) build_path = /obj/item/pinpointer/crew category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL +/datum/design/crewpinpointerprox + name = "Proximity Crew Pinpointer" + desc = "Displays your approximate proximity to someone if their suit sensors are turned to tracking beacon." + id = "crewpinpointerprox" + build_type = PROTOLATHE + materials = list(/datum/material/iron = 1200, /datum/material/glass = 300, /datum/material/gold = 200) + build_path = /obj/item/pinpointer/crew/prox + category = list("Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + /datum/design/defibrillator name = "Defibrillator" desc = "A portable defibrillator, used for resuscitating recently deceased crew." diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index e0491e6fad5..f405758c64e 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -56,7 +56,7 @@ display_name = "Biological Technology" description = "What makes us tick." //the MC, silly! prereq_ids = list("base") - design_ids = list("chem_heater", "chem_master", "chem_dispenser", "pandemic", "defibrillator", "defibmount", "operating", "soda_dispenser", "beer_dispenser", "healthanalyzer", "medigel","genescanner", "med_spray_bottle", "chem_pack", "blood_pack", "medical_kiosk") + design_ids = list("chem_heater", "chem_master", "chem_dispenser", "pandemic", "defibrillator", "defibmount", "operating", "soda_dispenser", "beer_dispenser", "healthanalyzer", "medigel","genescanner", "med_spray_bottle", "chem_pack", "blood_pack", "medical_kiosk", "crewpinpointerprox") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 diff --git a/code/modules/vending/medical.dm b/code/modules/vending/medical.dm index cfadc833106..4b76ce03d1b 100644 --- a/code/modules/vending/medical.dm +++ b/code/modules/vending/medical.dm @@ -24,19 +24,19 @@ /obj/item/reagent_containers/syringe/antiviral = 6, /obj/item/reagent_containers/medigel/libital = 2, /obj/item/reagent_containers/medigel/aiuri = 2, - /obj/item/reagent_containers/medigel/sterilizine = 1, - /obj/item/sensor_device = 2, - /obj/item/pinpointer/crew = 2) + /obj/item/reagent_containers/medigel/sterilizine = 1) contraband = list(/obj/item/reagent_containers/pill/tox = 3, /obj/item/reagent_containers/pill/morphine = 4, /obj/item/reagent_containers/pill/multiver = 6, /obj/item/storage/box/hug/medical = 1) premium = list(/obj/item/reagent_containers/medigel/instabitaluri = 2, - /obj/item/storage/pill_bottle/psicodine = 2, - /obj/item/reagent_containers/hypospray/medipen = 3, - /obj/item/storage/belt/medical = 3, - /obj/item/storage/firstaid/advanced = 2, - /obj/item/shears = 1) + /obj/item/storage/pill_bottle/psicodine = 2, + /obj/item/reagent_containers/hypospray/medipen = 3, + /obj/item/storage/belt/medical = 3, + /obj/item/sensor_device = 2, + /obj/item/pinpointer/crew = 2, + /obj/item/storage/firstaid/advanced = 2, + /obj/item/shears = 1) armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) resistance_flags = FIRE_PROOF refill_canister = /obj/item/vending_refill/medical diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 8ad974fbffb9178b74342e737941dff67be5b9ad..de5721723dcc25a5b517fe6ee68dbaffdef3e4a6 100644 GIT binary patch literal 56678 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 bMmO0w@ZTEW?>l?|0zc*^)~Cvh-4gx}+MA(+ From d7ab5594f48afec7744c65c5946ef4e585516d9e Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Mon, 13 Jan 2020 14:19:00 -0800 Subject: [PATCH 023/124] Automatic changelog generation for PR #48418 [ci skip] --- html/changelogs/AutoChangeLog-pr-48418.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48418.yml diff --git a/html/changelogs/AutoChangeLog-pr-48418.yml b/html/changelogs/AutoChangeLog-pr-48418.yml new file mode 100644 index 00000000000..3111e995ee1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48418.yml @@ -0,0 +1,6 @@ +author: "JJRcop" +delete-after: True +changes: + - rscadd: "New proximity crew pinpointer." + - balance: "Paramedic's crew pinpointer replaced with proximity crew pinpointer." + - balance: "The crew monitor was moved to premium items in nanomed, same with the handheld crew pinpointer" From 65485b9c54e9d2fc269e40502ab929888cdb2db3 Mon Sep 17 00:00:00 2001 From: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> Date: Mon, 13 Jan 2020 17:21:40 -0500 Subject: [PATCH 024/124] Adds a new Tech to the B.E.P.I.S., Specialized Engineering, and a new Minor Reward. (#48507) About The Pull Request Round 2. image Adds a new tech to be unlocked within the B.E.P.I.S.'s major techs, called "Specialized Engineering". Within that tech are 2 new items, Heat Resistant Rods, and the Tinker's Gloves, as well as a new minor tech, the Survival Pen. Heat Resistant Rods: Have you ever wanted to expand Lavaland Base? Build a lava fortress worthy of your magnificence? Well, now you can! Using Heat Resistant Rods, you can make a catwalk to cross lava tiles, as well as build atop lava, without messy methods like using the RCD! Tinker's Gloves: This just in engineers, insulated gloves have new competition in town! The Tinker's gloves are complicated, overdesigned gloves that, while not very shockproof, allow for faster wall girder construction. No longer will you need to die of old age walling off an area when you're out of RCD ammo! Warning: This product contains no likeness to clockwork gauntlets used by the extinct cult of Rat'Var, and any such similarity is by no means intentional. Survival Pen: Have you ever been stuck on lavaland, trapped by your survival pod with just a few chairs, some titanium walls, and walls of ash closing in on you? Well THANK GOD you have your Rockbreaker brand Survival Pen! Allows for basic mining operations, and is portable like a standard pen! BUT WAIT! A watcher blocks your path. Thankfully, your expensive, diamond encrusted pen isn't just good for being the world's slowest pickaxe, it's ALSO coated in the one thing watchers crave: DIAMONDS. Toss the pen to draw the watcher's attention elsewhere. Why It's Good For The Game Starts to fill our B.E.P.I.S. Major Reward Techs, as intended, and fills a niche that doesn't get much play nowadays: Building on Lavaland. This was something I've had in the back of my mind since we did the first tests of the Disaster gamemode a few months ago, so each item here was made with the intention of improving the mining base should the station become un-livable. Lava-Proof Rods are beneficial in that you'll be able to cross and build over lava by the mid-end of the shift. RCDs still work as usual, but this way you won't have to worry about getting specialized engineering equipment as a member of cargo or science. The tinker's gloves are basically a variant of the nitrile gloves, but they grant a speed bonus to adding plating to metal girders, so that some kind of functional alternative to giving every engineer insulated gloves. Survival Pens are quite honestly very niche, but getting dumb pens with extra functionality is a tradition of trade shows all over the world, so it feels right at home as a minor reward. Also, does a tiny change to the doe sprites, just to look a little bit less old. Changelog cl add: A new Technology has been implemented as a major reward in the B.E.P.I.S., Specialized Engineering, to appeal to engineering utility and new construction horizons. tweak: Watchers will now actively consume diamond ore left lying around, alongside the new survival pens. /cl --- code/__DEFINES/traits.dm | 1 + code/game/objects/items/stacks/rods.dm | 16 +++++++++ .../items/stacks/sheets/sheet_types.dm | 2 +- code/game/objects/items/stacks/stack.dm | 13 ++++++-- code/game/objects/structures/girders.dm | 15 ++++++--- code/game/objects/structures/lattice.dm | 29 +++++++++++++++- code/game/turfs/open/lava.dm | 17 +++++++++- code/modules/clothing/gloves/color.dm | 11 +++++++ .../hostile/mining_mobs/basilisk.dm | 31 ++++++++++++++++-- code/modules/paperwork/pen.dm | 14 ++++++++ code/modules/research/bepis.dm | 4 ++- code/modules/research/designs/misc_designs.dm | 23 +++++++++++-- code/modules/research/techweb/all_nodes.dm | 11 +++++++ icons/mob/animal.dmi | Bin 222750 -> 223657 bytes icons/obj/bureaucracy.dmi | Bin 20915 -> 21136 bytes 15 files changed, 172 insertions(+), 15 deletions(-) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 324f399430a..ff60243f2cf 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -145,6 +145,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_BOOZE_SLIDER "booze-slider" #define TRAIT_QUICK_CARRY "quick-carry" #define TRAIT_QUICKER_CARRY "quicker-carry" +#define TRAIT_QUICK_BUILD "quick-build" #define TRAIT_UNINTELLIGIBLE_SPEECH "unintelligible-speech" #define TRAIT_UNSTABLE "unstable" #define TRAIT_OIL_FRIED "oil_fried" diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index bfcbeeae414..32a21c2a1f5 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -89,3 +89,19 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ /obj/item/stack/rods/fifty amount = 50 + +/obj/item/stack/rods/lava + name = "heat resistant rod" + desc = "Treated, specialized metal rods. When exposed to the vaccum of space their coating breaks off, but they can hold up against the extreme heat of active lava." + singular_name = "heat resistant rod" + icon_state = "rods" + item_state = "rods" + color = "#5286b9ff" + flags_1 = CONDUCT_1 + w_class = WEIGHT_CLASS_NORMAL + custom_materials = list(/datum/material/iron=1000, /datum/material/plasma=500, /datum/material/titanium=2000) + max_amount = 30 + resistance_flags = FIRE_PROOF | LAVA_PROOF + +/obj/item/stack/rods/lava/thirty + amount = 30 diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 6e014a5681e..282bedfd638 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -45,7 +45,7 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ new/datum/stack_recipe("floor tile", /obj/item/stack/tile/plasteel, 1, 4, 20), \ new/datum/stack_recipe("metal rod", /obj/item/stack/rods, 1, 2, 60), \ null, \ - new/datum/stack_recipe("wall girders", /obj/structure/girder, 2, time = 40, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("wall girders", /obj/structure/girder, 2, time = 40, one_per_turf = TRUE, on_floor = TRUE, trait_booster = TRAIT_QUICK_BUILD, trait_modifier = 0.75), \ null, \ new/datum/stack_recipe("computer frame", /obj/structure/frame/computer, 5, time = 25, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("modular console", /obj/machinery/modular_computer/console/buildable/, 10, time = 25, one_per_turf = TRUE, on_floor = TRUE), \ diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 9981e8deec8..4d024f1ee25 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -208,8 +208,13 @@ if(!building_checks(R, multiplier)) return if (R.time) + var/adjusted_time = 0 usr.visible_message("[usr] starts building \a [R.title].", "You start building \a [R.title]...") - if (!do_after(usr, R.time, target = usr)) + if(HAS_TRAIT(usr, R.trait_booster)) + adjusted_time = (R.time * R.trait_modifier) + else + adjusted_time = R.time + if (!do_after(usr, adjusted_time, target = usr)) return if(!building_checks(R, multiplier)) return @@ -460,8 +465,10 @@ var/window_checks = FALSE var/placement_checks = FALSE var/applies_mats = FALSE + var/trait_booster = null + var/trait_modifier = 1 -/datum/stack_recipe/New(title, result_type, req_amount = 1, res_amount = 1, max_res_amount = 1,time = 0, one_per_turf = FALSE, on_floor = FALSE, window_checks = FALSE, placement_checks = FALSE, applies_mats = FALSE) +/datum/stack_recipe/New(title, result_type, req_amount = 1, res_amount = 1, max_res_amount = 1,time = 0, one_per_turf = FALSE, on_floor = FALSE, window_checks = FALSE, placement_checks = FALSE, applies_mats = FALSE, trait_booster = null, trait_modifier = 1) src.title = title @@ -475,6 +482,8 @@ src.window_checks = window_checks src.placement_checks = placement_checks src.applies_mats = applies_mats + src.trait_booster = trait_booster + src.trait_modifier = trait_modifier /* * Recipe list datum */ diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index fefde61a586..e31a7333f1f 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -7,6 +7,7 @@ var/state = GIRDER_NORMAL var/girderpasschance = 20 // percentage chance that a projectile passes through the girder. var/can_displace = TRUE //If the girder can be moved around by wrenching it + var/next_beep = 0 //Prevents spamming of the construction sound max_integrity = 200 rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE rad_insulation = RAD_VERY_LIGHT_INSULATION @@ -27,6 +28,12 @@ . += "[src] is disassembled! You probably shouldn't be able to see this examine message." /obj/structure/girder/attackby(obj/item/W, mob/user, params) + var/platingmodifier = 1 + if(HAS_TRAIT(user, TRAIT_QUICK_BUILD)) + platingmodifier = 0.7 + if(next_beep <= world.time) + next_beep = world.time + 10 + playsound(src, 'sound/machines/clockcult/integration_cog_install.ogg', 50, TRUE) add_fingerprint(user) if(istype(W, /obj/item/gun/energy/plasmacutter)) @@ -89,7 +96,7 @@ to_chat(user, "You need two sheets of metal to create a false wall!") return to_chat(user, "You start building a false wall...") - if(do_after(user, 20, target = src)) + if(do_after(user, 20*platingmodifier, target = src)) if(S.get_amount() < 2) return S.use(2) @@ -102,7 +109,7 @@ to_chat(user, "You need two sheets of metal to finish a wall!") return to_chat(user, "You start adding plating...") - if (do_after(user, 40, target = src)) + if (do_after(user, 40*platingmodifier, target = src)) if(S.get_amount() < 2) return S.use(2) @@ -132,7 +139,7 @@ if(S.get_amount() < 1) return to_chat(user, "You start finalizing the reinforced wall...") - if(do_after(user, 50, target = src)) + if(do_after(user, 50*platingmodifier, target = src)) if(S.get_amount() < 1) return S.use(1) @@ -146,7 +153,7 @@ if(S.get_amount() < 1) return to_chat(user, "You start reinforcing the girder...") - if(do_after(user, 60, target = src)) + if(do_after(user, 60*platingmodifier, target = src)) if(S.get_amount() < 1) return S.use(1) diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index f28a0ec9345..1bff30a0d79 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -74,7 +74,7 @@ number_of_rods = 2 smooth = SMOOTH_TRUE canSmoothWith = null - obj_flags = CAN_BE_HIT | BLOCK_Z_FALL + obj_flags = CAN_BE_HIT | BLOCK_Z_FALL /obj/structure/lattice/catwalk/deconstruction_hints(mob/user) return "The supporting rods look like they could be cut." @@ -90,3 +90,30 @@ for(var/obj/structure/cable/C in T) C.deconstruct() ..() + +/obj/structure/lattice/lava + name = "heatproof support lattice" + desc = "A specialized support beam for building across lava. Watch your step." + icon = 'icons/obj/smooth_structures/catwalk.dmi' + icon_state = "catwalk" + number_of_rods = 1 + color = "#5286b9ff" + smooth = SMOOTH_TRUE + canSmoothWith = null + obj_flags = CAN_BE_HIT | BLOCK_Z_FALL + resistance_flags = FIRE_PROOF | LAVA_PROOF + +/obj/structure/lattice/lava/deconstruction_hints(mob/user) + return "The rods look like they could be cut, but the heat treatment will shatter off. There's space for a tile." + +/obj/structure/lattice/lava/attackby(obj/item/C, mob/user, params) + . = ..() + if(istype(C, /obj/item/stack/tile/plasteel)) + var/obj/item/stack/tile/plasteel/P = C + if(P.use(1)) + to_chat(user, "You construct a floor plating, as lava settles around the rods.") + playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) + new /turf/open/floor/plating(locate(x, y, z)) + else + to_chat(user, "You need one floor tile to build atop [src].") + return diff --git a/code/game/turfs/open/lava.dm b/code/game/turfs/open/lava.dm index 67b88731a25..6a1e793f711 100644 --- a/code/game/turfs/open/lava.dm +++ b/code/game/turfs/open/lava.dm @@ -88,10 +88,25 @@ /turf/open/lava/TakeTemperature(temp) +/turf/open/lava/attackby(obj/item/C, mob/user, params) + ..() + if(istype(C, /obj/item/stack/rods/lava)) + var/obj/item/stack/rods/lava/R = C + var/obj/structure/lattice/lava/H = locate(/obj/structure/lattice/lava, src) + if(H) + to_chat(user, "There is already a lattice here!") + return + if(R.use(1)) + to_chat(user, "You construct a lattice.") + playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) + new /obj/structure/lattice/lava(locate(x, y, z)) + else + to_chat(user, "You need one rod to build a heatproof lattice.") + return /turf/open/lava/proc/is_safe() //if anything matching this typecache is found in the lava, we don't burn things - var/static/list/lava_safeties_typecache = typecacheof(list(/obj/structure/lattice/catwalk, /obj/structure/stone_tile)) + var/static/list/lava_safeties_typecache = typecacheof(list(/obj/structure/lattice/catwalk, /obj/structure/stone_tile, /obj/structure/lattice/lava)) var/list/found_safeties = typecache_filter_list(contents, lava_safeties_typecache) for(var/obj/structure/stone_tile/S in found_safeties) if(S.fallen) diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index 6910c856b7e..763443bd7a4 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -158,6 +158,17 @@ transfer_prints = FALSE carrytrait = TRAIT_QUICKER_CARRY +/obj/item/clothing/gloves/color/latex/engineering + name = "tinker's gloves" + desc = "Overdesigned engineering gloves that have automated construction subrutines dialed in, allowing for faster construction while worn." + icon = 'icons/obj/clothing/clockwork_garb.dmi' + icon_state = "clockwork_gauntlets" + item_state = "clockwork_gauntlets" + siemens_coefficient = 0.8 + permeability_coefficient = 0.3 + carrytrait = TRAIT_QUICK_BUILD + custom_materials = list(/datum/material/iron=2000, /datum/material/silver=1500, /datum/material/gold = 1000) + /obj/item/clothing/gloves/color/white name = "white gloves" desc = "These look pretty fancy." diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm index 3bacd6a851a..7455461709f 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm @@ -44,7 +44,7 @@ nodamage = TRUE flag = "energy" temperature = 50 - + /obj/projectile/temp/basilisk/heated name = "energy blast" icon_state= "chronobolt" @@ -67,7 +67,7 @@ adjustBruteLoss(140) if(3) adjustBruteLoss(110) - + /mob/living/simple_animal/hostile/asteroid/basilisk/AttackingTarget() . = ..() if(lava_drinker && !warmed_up && istype(target, /turf/open/lava)) @@ -80,7 +80,7 @@ warmed_up = TRUE projectiletype = /obj/projectile/temp/basilisk/heated addtimer(CALLBACK(src, .proc/cool_down), 3000) - + mob/living/simple_animal/hostile/asteroid/basilisk/proc/cool_down() visible_message("[src] appears to be cooling down...") if(stat != DEAD) @@ -115,6 +115,31 @@ mob/living/simple_animal/hostile/asteroid/basilisk/proc/cool_down() loot = list() butcher_results = list(/obj/item/stack/ore/diamond = 2, /obj/item/stack/sheet/sinew = 2, /obj/item/stack/sheet/bone = 1) lava_drinker = FALSE + search_objects = 1 + wanted_objects = list(/obj/item/pen/survival, /obj/item/stack/ore/diamond) + +/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/Life() + . = ..() + if(stat == CONSCIOUS) + consume_bait() + +/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/proc/consume_bait() + var/obj/item/stack/ore/diamond/diamonds = locate(/obj/item/stack/ore/diamond) in oview(src, 9) + var/obj/item/pen/survival/bait = locate(/obj/item/pen/survival) in oview(src, 9) + if(!diamonds && !bait) + return + if(diamonds) + var/distanced = 0 + distanced = get_dist(loc,diamonds.loc) + if(distanced <= 1 && diamonds) + qdel(diamonds) + src.visible_message("[src] consumes [diamonds], and it disappears! ...At least, you think.") + if(bait) + var/distanceb = 0 + distanceb = get_dist(loc,bait.loc) + if(distanceb <= 1 && bait) + qdel(bait) + src.visible_message("[src] examines [bait] closer, and telekinetically shatters the pen.") /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/random/Initialize() . = ..() diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index a8eb4aa808b..3f225e70664 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -244,3 +244,17 @@ item_state = initial(item_state) lefthand_file = initial(lefthand_file) righthand_file = initial(righthand_file) + +/obj/item/pen/survival + name = "survival pen" + desc = "The latest in portable survival technology, this pen was designed as a miniature diamond pickaxe. Watchers find them very desirable for their diamond exterior." + icon = 'icons/obj/bureaucracy.dmi' + icon_state = "digging_pen" + item_state = "pen" + force = 3 + w_class = WEIGHT_CLASS_TINY + custom_materials = list(/datum/material/iron=10, /datum/material/diamond=100, /datum/material/titanium = 10) + pressure_resistance = 2 + grind_results = list(/datum/reagent/iron = 2, /datum/reagent/iodine = 1) + tool_behaviour = TOOL_MINING //For the classic "digging out of prison with a spoon but you're in space so this analogy doesn't work" situation. + toolspeed = 10 //You will never willingly choose to use one of these over a shovel. diff --git a/code/modules/research/bepis.dm b/code/modules/research/bepis.dm index c3deecc958c..52cd141cc37 100644 --- a/code/modules/research/bepis.dm +++ b/code/modules/research/bepis.dm @@ -133,11 +133,13 @@ if(gauss_real >= gauss_minor) //Minor Success. var/reward_number = 1 say("Experiment concluded with partial success. Dispensing compiled research efforts.") - reward_number = rand(1,2) + reward_number = rand(1,3) if(reward_number == 1) new /obj/item/stack/circuit_stack/full(dropturf) if(reward_number == 2) new /obj/item/airlock_painter/decal(dropturf) + if(reward_number == 3) + new /obj/item/pen/survival(dropturf) return if(gauss_real <= -1) //Critical Failure say("ERROR: CRITICAL MACHIME MALFUNCTI- ON. CURRENCY IS NOT CRASH. CANNOT COMPUTE COMMAND: 'make bucks'") //not a typo, for once. diff --git a/code/modules/research/designs/misc_designs.dm b/code/modules/research/designs/misc_designs.dm index 09fd097d37e..c236a9973c2 100644 --- a/code/modules/research/designs/misc_designs.dm +++ b/code/modules/research/designs/misc_designs.dm @@ -275,7 +275,7 @@ build_path = /obj/item/tank/internals/plasma/empty category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE - + /datum/design/id name = "Identification Card" desc = "A card used to provide ID and determine access across the station." @@ -284,7 +284,26 @@ materials = list(/datum/material/iron=200, /datum/material/glass = 100) build_path = /obj/item/card/id category = list("Electronics") - departmental_flags = DEPARTMENTAL_FLAG_SERVICE + departmental_flags = DEPARTMENTAL_FLAG_SERVICE + +/datum/design/eng_gloves + name = "Tinkers Gloves" + desc = "Overdesigned engineering gloves that have automated construction subroutines dialed in, allowing for faster construction while worn." + id = "eng_gloves" + build_type = PROTOLATHE + materials = list(/datum/material/iron=2000, /datum/material/silver=1500, /datum/material/gold = 1000) + build_path = /obj/item/clothing/gloves/color/latex/engineering + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + +/datum/design/lavarods + name = "Lava-Resistant Metal Rods" + id = "lava_rods" + build_type = PROTOLATHE + materials = list(/datum/material/iron=1000, /datum/material/plasma=500, /datum/material/titanium=2000) + build_path = /obj/item/stack/rods/lava + category = list("initial", "Stock Parts") + departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING ///////////////////////////////////////// ////////////Janitor Designs////////////// diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index f405758c64e..d84fa72de69 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -1067,6 +1067,17 @@ hidden = TRUE experimental = TRUE +/datum/techweb_node/spec_eng + id = "spec_eng" + display_name = "Specialized Engineering" + description = "Conventional wisdom has deemed these engineering products 'technically' safe, but far too dangerous to traditionally condone." + prereq_ids = list("base") + design_ids = list("lava_rods", "eng_gloves") + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + export_price = 2500 + hidden = TRUE + experimental = TRUE + /datum/techweb_node/aus_security id = "aus_security" display_name = "Australicus Security Protocols" diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi index 06a04e3d47f34c2bc64446ca26e325d1445482d3..4a5765cf9bf61df116c59e79df83734f32b86058 100644 GIT binary patch delta 27561 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 delta 26665 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 90-R%? z#=akEIW*<>ji3+InK%L$Ur9J4ZH0JGcXdv4JYm(h;4OG-+N8=|A?Vrfm(YH^fQ{(y zS6XT?)0;nAyO|NP2Y$aYcd`Ec`Vz<98lV^Oddd64J5|_wW6TENr0Te@;`n z-wdio8-+NVX@$b~1^=8;V!PpRU}55N=NE6$mjW()!y13ib?00EiBA2;MyytUga~Vh zv>iM#v#N6#I%R*@5njT;$+ix4p_+fs<2d_F8JbZY%eLAvP=RcGCyx=Ri)$8*{Xcl( z@Husj(=LTvW!UO2`Ru*5pamGb?;OuL(Ww-vkmJKy8OjJ9zIgo0qsnBn_0fMXGL9=V zLuVKB(Y^?|+D&O^!x!ksE?~>y2amM~S!JXVrNwx80fs$**RdDQEQ*yg$36px`*}Ks z8M0s#2EI0jLxF56H zG%8ysa5&yf@&;n2vrmCdWWS<}rOCa#bPf>F0Pj7EBf~qvN^y^!=en2NborfqiCQ<; zo%MtM>R04|Zs79G-jrq^D|Z*G{6nDMmVEz-07#WJv#!F&Q6E^cE;(QCgWnn1fbJyi zG#&H`_=4nZPwwj5`8j(+1Wx0@yvQtTVrWdP=}-S&j~yzU4|mc%aIV33e=A_Rqtw2p8WKUUS@Z7o)i7i)`dU9?G^r9KLOh`3xrf8>x-Hj zx2$qW@QA$dmM@BocJ-ND#}0C=EGEbo+GSggHvP>S;Gjr(IN zFVom-QiC)75mIhL>)Fyd;`B5AN5l*VD@1cNPL>zOs%!Z#JrPu>V-Cz~-Rp(~cjf=F zJCC%_dt#05J<1;f(cgi|-jBZ&V&N6Z+{K%zTgp1KW3OEJ@jD0qT!JSD&7fFpW3I4e zxWOA&Eeej|I7Gm opub-`1%c6|^82X&Z#dDoDjw1u!qAeBL7ULU3;Nmxnl{1z1-&D=kN^Mx diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index 6845aa97106752d768af3a254927097b1c895a0b..a83172612f5a224c1c29d16d54128d500945dfbc 100644 GIT binary patch literal 21136 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 bN)p3&ELpH4O!h|rGe*enINFAK%#-{NtJNwr From 39af4c98af2b3e0e13ec9c7f518f9c6cc31cc8fc Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Mon, 13 Jan 2020 14:21:44 -0800 Subject: [PATCH 025/124] Automatic changelog generation for PR #48507 [ci skip] --- html/changelogs/AutoChangeLog-pr-48507.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48507.yml diff --git a/html/changelogs/AutoChangeLog-pr-48507.yml b/html/changelogs/AutoChangeLog-pr-48507.yml new file mode 100644 index 00000000000..39877bd9556 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48507.yml @@ -0,0 +1,5 @@ +author: "ArcaneMusic" +delete-after: True +changes: + - rscadd: "A new Technology has been implemented as a major reward in the B.E.P.I.S., Specialized Engineering, to appeal to engineering utility and new construction horizons." + - tweak: "Watchers will now actively consume diamond ore left lying around, alongside the new survival pens." From 454ad4fe447622644939aee60e9c68285b2f0f8b Mon Sep 17 00:00:00 2001 From: JMoldy Date: Mon, 13 Jan 2020 14:22:51 -0800 Subject: [PATCH 026/124] Removes paralysis on meathook, rebalances damage (#48546) About The Pull Request Removes the stun on the hook to bring it in line with other weapons losing their stun. Reduces the brute damage, adds stamina damage. Why It's Good For The Game Paralyze as a weapon mechanic is no longer supported, this brings the hook in line with other modern stamina-damage weapons. It also brings the hook's armor penetration down to something closer to an armor piercing rifle round, rather than being an absolutely perfect armor penetrator. cl balance: Removes hitstun on meathook balance: Changes meathook's damage from 25 brute at 100 armor penetration to 20 brute, 20 stamina at 60 armor penetration balance: Changes the bounty hunter's meathook to do 40 stamina damage instead of a stun, adds a half-second knockdown. /cl --- code/modules/mining/lavaland/necropolis_chests.dm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index e1fb698d1f2..573f02b50f9 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -411,12 +411,13 @@ icon_state = "hook" icon = 'icons/obj/lavaland/artefacts.dmi' pass_flags = PASSTABLE - damage = 25 - armour_penetration = 100 + damage = 20 + stamina = 20 + armour_penetration = 60 damage_type = BRUTE hitsound = 'sound/effects/splat.ogg' - paralyze = 30 var/chain + var/knockdown_time = (0.5 SECONDS) /obj/projectile/hook/fire(setAngle) if(firer) @@ -432,6 +433,10 @@ return A.visible_message("[A] is snagged by [firer]'s hook!") new /datum/forced_movement(A, get_turf(firer), 5, TRUE) + if (isliving(target)) + var/mob/living/fresh_meat = target + fresh_meat.Knockdown(knockdown_time) + return //TODO: keep the chain beamed to A //TODO: needs a callback to delete the chain @@ -452,7 +457,7 @@ /obj/projectile/hook/bounty damage = 0 - paralyze = 20 + stamina = 40 //Immortality Talisman /obj/item/immortality_talisman @@ -1034,8 +1039,6 @@ var/list/da_list = list() for(var/I in GLOB.alive_mob_list & GLOB.player_list) var/mob/living/L = I - if(is_centcom_level(L.z)) - continue da_list[L.real_name] = L var/choice = input(user,"Who do you want dead?","Choose Your Victim") as null|anything in sortList(da_list) From 829b34de60dea345d709d2931b0a1434b405cc98 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Mon, 13 Jan 2020 14:22:54 -0800 Subject: [PATCH 027/124] Automatic changelog generation for PR #48546 [ci skip] --- html/changelogs/AutoChangeLog-pr-48546.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48546.yml diff --git a/html/changelogs/AutoChangeLog-pr-48546.yml b/html/changelogs/AutoChangeLog-pr-48546.yml new file mode 100644 index 00000000000..b2c9c43e41f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48546.yml @@ -0,0 +1,6 @@ +author: "JMoldy" +delete-after: True +changes: + - balance: "Removes hitstun on meathook" + - balance: "Changes meathook's damage from 25 brute at 100 armor penetration to 20 brute, 20 stamina at 60 armor penetration" + - balance: "Changes the bounty hunter's meathook to do 40 stamina damage instead of a stun, adds a half-second knockdown." From ecd2622a7505f74e764e08a9d3281ebeff1fc62e Mon Sep 17 00:00:00 2001 From: Kyle Spier-Swenson Date: Mon, 13 Jan 2020 14:23:32 -0800 Subject: [PATCH 028/124] Don't recheck connected clients in isbanned() (and other isbanned() dos mitigations) (#48583) dos mitigation that likely won't fully work but let's see anyways. backstory: byond's ban system will automatically ban world/Topic flooders. Sadly updating byond's internal ban list causes isbanned() to get called on all connected clients. Also sadly: it does this every time it sees the world/Topic flood on the same ip, causing every connected client gets checked repeatedly for every flood message world/Topic sees. --- code/modules/admin/IsBanned.dm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm index f3410d06e30..90d792a2864 100644 --- a/code/modules/admin/IsBanned.dm +++ b/code/modules/admin/IsBanned.dm @@ -13,10 +13,17 @@ return FALSE log_access("Failed Login (invalid data): [key] [address]-[computer_id]") return list("reason"="invalid login data", "desc"="Error: Could not check ban status, Please try again. Error message: Your computer provided invalid or blank information to the server on connection (byond username, IP, and Computer ID.) Provided information for reference: Username:'[key]' IP:'[address]' Computer ID:'[computer_id]'. (If you continue to get this error, please restart byond or contact byond support.)") - + + if (type == "world") + return ..() //shunt world topic banchecks to purely to byond's internal ban system + var/admin = FALSE var/ckey = ckey(key) - + + var/client/C = GLOB.directory[ckey] + if (C && ckey == C.ckey && computer_id == C.computer_id && address == C.address) + return //don't recheck connected clients. + //IsBanned can get re-called on a user in certain situations, this prevents that leading to repeated messages to admins. var/static/list/checkedckeys = list() //magic voodo to check for a key in a list while also adding that key to the list without having to do two associated lookups @@ -25,8 +32,6 @@ if(GLOB.admin_datums[ckey] || GLOB.deadmins[ckey]) admin = TRUE - var/client/C = GLOB.directory[ckey] - //Whitelist if(!real_bans_only && !C && CONFIG_GET(flag/usewhitelist)) From 296608f2cc930eb46619b0994e4f6cdf51bf85ed Mon Sep 17 00:00:00 2001 From: s Date: Mon, 13 Jan 2020 17:27:47 -0500 Subject: [PATCH 029/124] better --- code/modules/power/apc.dm | 13 ++++++------- code/modules/power/cell.dm | 40 ++++++++++++++++++-------------------- 2 files changed, 25 insertions(+), 28 deletions(-) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 85cf05f3d24..bc0709549e6 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -788,20 +788,19 @@ if(.) return - var/mob/living/carbon/human/H = user - if(istype(H)) - var/datum/species/ethereal/eth_species = H.dna?.species - if(istype(eth_species) && H.a_intent == INTENT_HARM) + if(isethereal(user)) + var/mob/living/carbon/human/H = user + if(H.a_intent == INTENT_HARM) if(cell.charge <= (cell.maxcharge / 2)) // if charge is under 50% you shouldnt drain it to_chat(H, "The APC doesn't have much power, you probably shouldn't drain any.") return var/obj/item/organ/stomach/ethereal/stomach = H.getorganslot(ORGAN_SLOT_STOMACH) - if(stomach.crystal_charge > 95) + if(stomach.crystal_charge > 145) to_chat(H, "Your charge is full!") return to_chat(H, "You start channeling some power through the APC into your body.") if(do_after(user, 75, target = src)) - if(cell.charge <= (cell.maxcharge / 2) || (stomach.crystal_charge > 95)) + if(cell.charge <= (cell.maxcharge / 2) || (stomach.crystal_charge > 145)) return if(istype(stomach)) to_chat(H, "You receive some charge from the APC.") @@ -810,7 +809,7 @@ else to_chat(H, "You can't receive charge from the APC!") return - if(istype(eth_species) && H.a_intent == INTENT_GRAB) + if(H.a_intent == INTENT_GRAB) if(cell.charge == cell.maxcharge) to_chat(H, "The APC is full!") return diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index d482dae7ddb..56eaa20d65b 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -149,28 +149,26 @@ corrupt() /obj/item/stock_parts/cell/attack_self(mob/user) - var/mob/living/carbon/human/H = user - if(istype(H)) - var/datum/species/ethereal/eth_species = H.dna?.species - if(istype(eth_species)) - if(charge < 25) - to_chat(H, "The [src] doesn't have enough power!") - return - var/obj/item/organ/stomach/ethereal/stomach = H.getorganslot(ORGAN_SLOT_STOMACH) - if(stomach.crystal_charge > 96) - to_chat(H, "Your charge is full!") - return - to_chat(H, "You clumsily channel power through the [src] and into your body, wasting some in the process.") - if(do_after(user, 5, target = src)) - if((charge < 25) || (stomach.crystal_charge > 96)) - return - if(istype(stomach)) - to_chat(H, "You receive some charge from the [src].") - stomach.adjust_charge(3) - charge -= 100 //you waste way more than you receive, so that ethereals cant just steal one cell and forget about hunger - else - to_chat(H, "You can't receive charge from the [src]!") + if(isethereal(user)) + var/mob/living/carbon/human/H = user + if(charge < 100) + to_chat(H, "The [src] doesn't have enough power!") return + var/obj/item/organ/stomach/ethereal/stomach = H.getorganslot(ORGAN_SLOT_STOMACH) + if(stomach.crystal_charge > 146) + to_chat(H, "Your charge is full!") + return + to_chat(H, "You clumsily channel power through the [src] and into your body, wasting some in the process.") + if(do_after(user, 5, target = src)) + if((charge < 100) || (stomach.crystal_charge > 146)) + return + if(istype(stomach)) + to_chat(H, "You receive some charge from the [src].") + stomach.adjust_charge(3) + charge -= 100 //you waste way more than you receive, so that ethereals cant just steal one cell and forget about hunger + else + to_chat(H, "You can't receive charge from the [src]!") + return /obj/item/stock_parts/cell/blob_act(obj/structure/blob/B) From 37a83ed51156d71840decfe270e866d9ed13074e Mon Sep 17 00:00:00 2001 From: Emmett Gaines Date: Mon, 13 Jan 2020 17:59:30 -0500 Subject: [PATCH 030/124] Fixes hierophant barrier and blob structures allowing things through (#48746) --- code/modules/antagonists/blob/structures/_blob.dm | 4 ++-- .../living/simple_animal/hostile/megafauna/hierophant.dm | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/antagonists/blob/structures/_blob.dm b/code/modules/antagonists/blob/structures/_blob.dm index 1fb738d9ee1..cc238587560 100644 --- a/code/modules/antagonists/blob/structures/_blob.dm +++ b/code/modules/antagonists/blob/structures/_blob.dm @@ -69,8 +69,8 @@ /obj/structure/blob/CanAllowThrough(atom/movable/mover, turf/target) . = ..() - if(istype(mover) && (mover.pass_flags & PASSBLOB)) - return TRUE + if(!(mover.pass_flags & PASSBLOB)) + return FALSE /obj/structure/blob/CanAtmosPass(turf/T) return !atmosblock diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index acfd0ed3db4..119bea757df 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -533,13 +533,13 @@ Difficulty: Hard if(QDELETED(caster)) return FALSE if(mover == caster.pulledby) - return TRUE + return if(istype(mover, /obj/projectile)) var/obj/projectile/P = mover if(P.firer == caster) - return TRUE - if(mover == caster) - return TRUE + return + if(mover != caster) + return FALSE /obj/effect/temp_visual/hierophant/chaser //a hierophant's chaser. follows target around, moving and producing a blast every speed deciseconds. duration = 98 From 5c16255d0ebd199cae3dc3da9fba7ec09215054e Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Mon, 13 Jan 2020 14:59:34 -0800 Subject: [PATCH 031/124] Automatic changelog generation for PR #48746 [ci skip] --- html/changelogs/AutoChangeLog-pr-48746.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48746.yml diff --git a/html/changelogs/AutoChangeLog-pr-48746.yml b/html/changelogs/AutoChangeLog-pr-48746.yml new file mode 100644 index 00000000000..f5049ad56a0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48746.yml @@ -0,0 +1,4 @@ +author: "ninjanomnom" +delete-after: True +changes: + - bugfix: "Blob structures and hierophant barriers should no longer let the wrong things just walk through them" From 828ebb20cf11ddd36072d134b1c25db2f264cc50 Mon Sep 17 00:00:00 2001 From: nemvar <47324920+nemvar@users.noreply.github.com> Date: Tue, 14 Jan 2020 01:52:20 +0100 Subject: [PATCH 032/124] Allows calling procs in SDQL update queries without storing the return anywhere. (#48690) * Adds everything that's needed for SDQL varedit macros * Removes unused proc * Allows calling procs in update queries without setting the return anywhere. * Readds a line * Removes file wrapper --- code/modules/admin/verbs/SDQL2/SDQL_2.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm index 5e2d4cc51cb..c987c5ac1f0 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -99,6 +99,10 @@ Don't crash the server, OK? + "UPDATE /mob/living/carbon/monkey SET #null = forceMove(usr.loc)" + + Writing "#null" in front of the "=" will call the proc and discard the return value. + A quick recommendation: before you run something like a DELETE or another query.. Run it through SELECT first. You'd rather not gib every player on accident. @@ -777,6 +781,9 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null var/datum/temp = d var/i = 0 for(var/v in sets) + if(v == "#null") + SDQL_expression(d, set_list[sets]) + break if(++i == sets.len) if(superuser) if(temp.vars.Find(v)) From 6590776192a1fbe5f4b2ceedb2c92f71d1f97391 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Mon, 13 Jan 2020 16:52:27 -0800 Subject: [PATCH 033/124] Automatic changelog generation for PR #48690 [ci skip] --- html/changelogs/AutoChangeLog-pr-48690.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48690.yml diff --git a/html/changelogs/AutoChangeLog-pr-48690.yml b/html/changelogs/AutoChangeLog-pr-48690.yml new file mode 100644 index 00000000000..9cb36d5194d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48690.yml @@ -0,0 +1,4 @@ +author: "nemvar" +delete-after: True +changes: + - admin: "Added another SDQL option. Using \"UPDATE selectors SET #null=value\" will now resolve value and discard the return. This is useful if you only care about the side effect of a proc." From f44c5e8d438354f520cc975f70845ca62d4afc85 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Tue, 14 Jan 2020 01:35:27 -0800 Subject: [PATCH 034/124] Automatic changelog generation for PR #48550 [ci skip] --- html/changelogs/AutoChangeLog-pr-48550.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48550.yml diff --git a/html/changelogs/AutoChangeLog-pr-48550.yml b/html/changelogs/AutoChangeLog-pr-48550.yml new file mode 100644 index 00000000000..8cc67058bfb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48550.yml @@ -0,0 +1,5 @@ +author: "wesoda25" +delete-after: True +changes: + - rscadd: "You can now charge through APC's and Energy Cells as an Ethereal! Click an APC on harm intent to drain its energy, or on grab intent to give it your own energy! Click the energy cell while its in your hand to siphon its energy." + - balance: "You now receive less charge from light as an Ethereal." From 3efbc756238b2c45a94d17d925951965bc835002 Mon Sep 17 00:00:00 2001 From: skoglol <33292112+kriskog@users.noreply.github.com> Date: Tue, 14 Jan 2020 21:05:41 +0100 Subject: [PATCH 035/124] Fixes straight jackets (#48749) * Fixes straight jackets * Moves parent call --- code/modules/mob/living/carbon/carbon.dm | 6 +++--- code/modules/mob/living/carbon/human/human.dm | 11 +++++++++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index c3e13671110..b57cfc8b1c2 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -301,7 +301,7 @@ visible_message("[src] attempts to remove [I]!") to_chat(src, "You attempt to remove [I]... (This will take around [DisplayTimeText(breakouttime)] and you need to stand still.)") if(do_after(src, breakouttime, 0, target = src)) - clear_cuffs(I, cuff_break) + . = clear_cuffs(I, cuff_break) else to_chat(src, "You fail to remove [I]!") @@ -310,12 +310,12 @@ visible_message("[src] is trying to break [I]!") to_chat(src, "You attempt to break [I]... (This will take around 5 seconds and you need to stand still.)") if(do_after(src, breakouttime, 0, target = src)) - clear_cuffs(I, cuff_break) + . = clear_cuffs(I, cuff_break) else to_chat(src, "You fail to break [I]!") else if(cuff_break == INSTANT_CUFFBREAK) - clear_cuffs(I, cuff_break) + . = clear_cuffs(I, cuff_break) I.item_flags &= ~BEING_REMOVED /mob/living/carbon/proc/uncuff() diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 41d82045c8f..9898f9ec993 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -710,6 +710,17 @@ else ..() +/mob/living/carbon/human/clear_cuffs(obj/item/I, cuff_break) + . = ..() + if(.) + return + if(!I.loc || buckled) + return FALSE + if(I == wear_suit) + visible_message("[src] manages to [cuff_break ? "break" : "remove"] [I]!") + to_chat(src, "You successfully [cuff_break ? "break" : "remove"] [I].") + return TRUE + /mob/living/carbon/human/replace_records_name(oldname,newname) // Only humans have records right now, move this up if changed. for(var/list/L in list(GLOB.data_core.general,GLOB.data_core.medical,GLOB.data_core.security,GLOB.data_core.locked)) var/datum/data/record/R = find_record("name", oldname, L) From 16dc544919c52864f380061406a42a693cdab2db Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Tue, 14 Jan 2020 12:05:46 -0800 Subject: [PATCH 036/124] Automatic changelog generation for PR #48749 [ci skip] --- html/changelogs/AutoChangeLog-pr-48749.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48749.yml diff --git a/html/changelogs/AutoChangeLog-pr-48749.yml b/html/changelogs/AutoChangeLog-pr-48749.yml new file mode 100644 index 00000000000..907b3ca2ea0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48749.yml @@ -0,0 +1,4 @@ +author: "Skoglol" +delete-after: True +changes: + - bugfix: "Straight jackets can now be broken out of" From 5efd5df30d59db8f0c3a15e31e8a4667dbf91d90 Mon Sep 17 00:00:00 2001 From: Buggy123 Date: Tue, 14 Jan 2020 18:22:49 -0500 Subject: [PATCH 037/124] Added cult major loss if Narsie is destroyed. (#48251) * Added cult major loss if Narsie is destroyed. * Minor corrections. * Why did this compile? * Minor fixes. * Not bool * Changed to defines as requested --- code/__DEFINES/cinematics.dm | 1 + code/datums/cinematic.dm | 14 +++++++ code/modules/antagonists/cult/cult.dm | 19 +++++++-- code/modules/power/singularity/narsie.dm | 52 ++++++++++++++++++++---- 4 files changed, 73 insertions(+), 13 deletions(-) diff --git a/code/__DEFINES/cinematics.dm b/code/__DEFINES/cinematics.dm index 6d85c45f1bc..f994dc82a4b 100644 --- a/code/__DEFINES/cinematics.dm +++ b/code/__DEFINES/cinematics.dm @@ -11,3 +11,4 @@ #define CINEMATIC_NUKE_FAR 11 #define CINEMATIC_NUKE_CLOWNOP 12 #define CINEMATIC_CULT_NUKE 13 +#define CINEMATIC_CULT_FAIL 14 diff --git a/code/datums/cinematic.dm b/code/datums/cinematic.dm index ed1b7d670ff..e26f8fba2cf 100644 --- a/code/datums/cinematic.dm +++ b/code/datums/cinematic.dm @@ -203,6 +203,20 @@ special() screen.icon_state = "summary_cult" +/datum/cinematic/cult_fail + id = CINEMATIC_CULT_FAIL + +/datum/cinematic/cult_fail/content() + screen.icon_state = "station_intact" + sleep(20) + cinematic_sound(sound('sound/creatures/narsie_rises.ogg')) + sleep(60) + cinematic_sound(sound('sound/effects/explosion_distant.ogg')) + sleep(10) + cinematic_sound(sound('sound/magic/demon_dies.ogg')) + sleep(30) + special() + /datum/cinematic/nuke_annihilation id = CINEMATIC_ANNIHILATION diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index f569bbfe09c..26483160071 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -1,4 +1,7 @@ #define SUMMON_POSSIBILITIES 3 +#define CULT_VICTORY 1 +#define CULT_LOSS 0 +#define CULT_NARSIE_KILLED -1 /datum/antagonist/cult name = "Cultist" @@ -351,6 +354,7 @@ /datum/objective/eldergod var/summoned = FALSE + var/killed = FALSE var/list/summon_spots = list() /datum/objective/eldergod/New() @@ -367,18 +371,25 @@ explanation_text = "Summon Nar'Sie by invoking the rune 'Summon Nar'Sie'. The summoning can only be accomplished in [english_list(summon_spots)] - where the veil is weak enough for the ritual to begin." /datum/objective/eldergod/check_completion() + if(killed) + return CULT_NARSIE_KILLED // You failed so hard that even the code went backwards. return summoned || completed /datum/team/cult/proc/check_cult_victory() for(var/datum/objective/O in objectives) - if(!O.check_completion()) - return FALSE - return TRUE + if(O.check_completion() == CULT_NARSIE_KILLED) + return CULT_NARSIE_KILLED + else if(!O.check_completion()) + return CULT_LOSS + return CULT_VICTORY /datum/team/cult/roundend_report() var/list/parts = list() + var/victory = check_cult_victory() - if(check_cult_victory()) + if(victory == CULT_NARSIE_KILLED) // Epic failure, you summoned your god and then someone killed it. + parts += "Nar'sie has been killed! The cult will haunt the universe no longer!" + else if(victory) parts += "The cult has succeeded! Nar'Sie has snuffed out another torch in the void!" else parts += "The staff managed to stop the cult! Dark words and heresy are no match for Nanotrasen's finest!" diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm index 8de860dd0fe..2a4cd291ed7 100644 --- a/code/modules/power/singularity/narsie.dm +++ b/code/modules/power/singularity/narsie.dm @@ -66,34 +66,68 @@ if(player.stat != DEAD && player.loc && is_station_level(player.loc.z) && !iscultist(player) && !isanimal(player)) souls_needed[player] = TRUE soul_goal = round(1 + LAZYLEN(souls_needed) * 0.75) - INVOKE_ASYNC(src, .proc/begin_the_end) + INVOKE_ASYNC(GLOBAL_PROC, .proc/begin_the_end) -/obj/singularity/narsie/large/cult/proc/begin_the_end() +/proc/begin_the_end() sleep(50) + if(QDELETED(GLOB.cult_narsie)) // uno + priority_announce("Status report? We detected a anomaly, but it disappeared almost immediately.","Central Command Higher Dimensional Affairs", 'sound/misc/notice1.ogg') + GLOB.cult_narsie = null + sleep(20) + INVOKE_ASYNC(GLOBAL_PROC, .proc/cult_ending_helper, 2) + return priority_announce("An acausal dimensional event has been detected in your sector. Event has been flagged EXTINCTION-CLASS. Directing all available assets toward simulating solutions. SOLUTION ETA: 60 SECONDS.","Central Command Higher Dimensional Affairs", 'sound/misc/airraid.ogg') sleep(500) + if(QDELETED(GLOB.cult_narsie)) // dos + priority_announce("Simulations aborted, sensors report that the acasual event is normalizing. Good work, crew.","Central Command Higher Dimensional Affairs", 'sound/misc/notice1.ogg') + GLOB.cult_narsie = null + sleep(20) + INVOKE_ASYNC(GLOBAL_PROC, .proc/cult_ending_helper, 2) + return priority_announce("Simulations on acausal dimensional event complete. Deploying solution package now. Deployment ETA: ONE MINUTE. ","Central Command Higher Dimensional Affairs") sleep(50) set_security_level("delta") - SSshuttle.registerHostileEnvironment(src) + SSshuttle.registerHostileEnvironment(GLOB.cult_narsie) SSshuttle.lockdown = TRUE sleep(600) - if(resolved == FALSE) - resolved = TRUE + if(QDELETED(GLOB.cult_narsie)) // tres + priority_announce("Normalization detected! Abort the solution package!","Central Command Higher Dimensional Affairs", 'sound/misc/notice1.ogg') + GLOB.cult_narsie = null + sleep(20) + set_security_level("red") + SSshuttle.clearHostileEnvironment() + SSshuttle.lockdown = FALSE + INVOKE_ASYNC(GLOBAL_PROC, .proc/cult_ending_helper, 2) + return + if(GLOB.cult_narsie.resolved == FALSE) + GLOB.cult_narsie.resolved = TRUE sound_to_playing_players('sound/machines/alarm.ogg') addtimer(CALLBACK(GLOBAL_PROC, .proc/cult_ending_helper), 120) /obj/singularity/narsie/large/cult/Destroy() - GLOB.cult_narsie = null + send_to_playing_players("\"[pick("Nooooo...", "Not die. How-", "Die. Mort-", "Sas tyen re-")]\"") + sound_to_playing_players('sound/magic/demon_dies.ogg', 50) + var/list/all_cults = list() + for(var/datum/antagonist/cult/C in GLOB.antagonists) + if(!C.owner) + continue + all_cults |= C.cult_team + for(var/datum/team/cult/T in all_cults) + var/datum/objective/eldergod/summon_objective = locate() in T.objectives + if(summon_objective) + summon_objective.summoned = FALSE + summon_objective.killed = TRUE return ..() /proc/ending_helper() SSticker.force_ending = 1 -/proc/cult_ending_helper(var/no_explosion = 0) - if(no_explosion) +/proc/cult_ending_helper(var/ending_type = 0) + if(ending_type == 2) //narsie fukkin died + Cinematic(CINEMATIC_CULT_FAIL,world,CALLBACK(GLOBAL_PROC,/proc/ending_helper)) + else if(ending_type) //no explosion Cinematic(CINEMATIC_CULT,world,CALLBACK(GLOBAL_PROC,/proc/ending_helper)) - else + else // explosion Cinematic(CINEMATIC_CULT_NUKE,world,CALLBACK(GLOBAL_PROC,/proc/ending_helper)) //ATTACK GHOST IGNORING PARENT RETURN VALUE From c3d4a8d6c5763474fac9062cde710959eab902ce Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Tue, 14 Jan 2020 15:22:54 -0800 Subject: [PATCH 038/124] Automatic changelog generation for PR #48251 [ci skip] --- html/changelogs/AutoChangeLog-pr-48251.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48251.yml diff --git a/html/changelogs/AutoChangeLog-pr-48251.yml b/html/changelogs/AutoChangeLog-pr-48251.yml new file mode 100644 index 00000000000..476643b4125 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48251.yml @@ -0,0 +1,4 @@ +author: "Buggy123" +delete-after: True +changes: + - rscadd: "Centcomm has updated their emergency temporal response protocols, and will now correctly stand down if a major threat is destroyed before countermeasures can be deployed." From 59278c55ba0b8ed09687a2bdfb28964c9d19c8a1 Mon Sep 17 00:00:00 2001 From: skoglol <33292112+kriskog@users.noreply.github.com> Date: Wed, 15 Jan 2020 00:31:16 +0100 Subject: [PATCH 039/124] Reduces heart decay, ear damage slightly less bad (#48715) * Reduces heart decay, ear damage slightly less bad * Removes defib time limit --- code/game/data_huds.dm | 5 ----- code/game/objects/items/defib.dm | 6 ------ code/game/objects/items/devices/scanners.dm | 3 +-- code/modules/surgery/organs/ears.dm | 2 +- code/modules/surgery/organs/heart.dm | 2 +- 5 files changed, 3 insertions(+), 15 deletions(-) diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index c209c10a0ac..e2caa140996 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -186,11 +186,6 @@ if(HAS_TRAIT(src, TRAIT_XENO_HOST)) holder.icon_state = "hudxeno" else if(stat == DEAD || (HAS_TRAIT(src, TRAIT_FAKEDEATH))) - if(tod) - var/tdelta = round(world.time - timeofdeath) - if(tdelta < (DEFIB_TIME_LIMIT * 10)) - holder.icon_state = "huddefib" - return holder.icon_state = "huddead" else switch(virus_threat) diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index a7ab3688943..e380eca39de 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -306,7 +306,6 @@ var/req_defib = TRUE var/combat = FALSE //If it penetrates armor and gives additional functionality var/grab_ghost = FALSE - var/tlimit = DEFIB_TIME_LIMIT * 10 var/base_icon_state = "defibpaddles" /obj/item/twohanded/shockpaddles/ComponentInitialize() @@ -454,8 +453,6 @@ var/obj/item/organ/heart = H.getorgan(/obj/item/organ/heart) if(H.suiciding || H.hellbound || HAS_TRAIT(H, TRAIT_HUSK)) return - if((world.time - H.timeofdeath) > tlimit) - return if((H.getBruteLoss() >= MAX_REVIVE_BRUTE_DAMAGE) || (H.getFireLoss() >= MAX_REVIVE_FIRE_DAMAGE)) return if(!heart || (heart.organ_flags & ORGAN_FAILING)) @@ -562,7 +559,6 @@ playsound(src, 'sound/machines/defib_charge.ogg', 75, FALSE) var/total_burn = 0 var/total_brute = 0 - var/tplus = world.time - H.timeofdeath //length of time spent dead var/obj/item/organ/heart = H.getorgan(/obj/item/organ/heart) if(do_after(user, 20, target = H)) //placed on chest and short delay to shock for dramatic effect, revive time is 5sec total for(var/obj/item/carried_item in H.contents) @@ -586,8 +582,6 @@ failed = "[req_defib ? "[defib]" : "[src]"] buzzes: Resuscitation failed - Recovery of patient impossible. Further attempts futile." else if (H.hellbound) failed = "[req_defib ? "[defib]" : "[src]"] buzzes: Resuscitation failed - Patient's soul appears to be on another plane of existence. Further attempts futile." - else if (tplus > tlimit) - failed = "[req_defib ? "[defib]" : "[src]"] buzzes: Resuscitation failed - Body has decayed for too long. Further attempts futile." else if (!heart) failed = "[req_defib ? "[defib]" : "[src]"] buzzes: Resuscitation failed - Patient's heart is missing." else if (heart.organ_flags & ORGAN_FAILING) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 48ce5016c20..bf9621116bb 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -320,8 +320,7 @@ GENE SCANNER if(M.tod && (M.stat == DEAD || ((HAS_TRAIT(M, TRAIT_FAKEDEATH)) && !advanced))) render_list += "Time of Death: [M.tod]\n" var/tdelta = round(world.time - M.timeofdeath) - if(tdelta < (DEFIB_TIME_LIMIT * 10)) - render_list += "Subject died [DisplayTimeText(tdelta)] ago, defibrillation may be possible!\n" + render_list += "Subject died [DisplayTimeText(tdelta)] ago.\n" for(var/thing in M.diseases) var/datum/disease/D = thing diff --git a/code/modules/surgery/organs/ears.dm b/code/modules/surgery/organs/ears.dm index f31795cea56..3687ac08cb9 100644 --- a/code/modules/surgery/organs/ears.dm +++ b/code/modules/surgery/organs/ears.dm @@ -39,7 +39,7 @@ deaf = max(deaf, 1) else if(!(organ_flags & ORGAN_FAILING)) // if this organ is failing, do not clear deaf stacks. deaf = max(deaf - 1, 0) - if(prob(damage / 20) && (damage > low_threshold)) + if(prob(damage / 30) && (damage > low_threshold)) adjustEarDamage(0, 4) SEND_SOUND(C, sound('sound/weapons/flash_ring.ogg')) to_chat(C, "The ringing in your ears grows louder, blocking out any external noises for a moment.") diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index 4748856398e..3166f58bef2 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -6,7 +6,7 @@ slot = ORGAN_SLOT_HEART healing_factor = STANDARD_ORGAN_HEALING - decay_factor = 5 * STANDARD_ORGAN_DECAY //designed to fail about 5 minutes after death + decay_factor = 3.5 * STANDARD_ORGAN_DECAY //designed to fail a little under 4 minutes after death low_threshold_passed = "Prickles of pain appear then die out from within your chest..." high_threshold_passed = "Something inside your chest hurts, and the pain isn't subsiding. You notice yourself breathing far faster than before." From 3c10e168dc1a55e35773ba1aaac019a371ca6ce9 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Tue, 14 Jan 2020 15:31:21 -0800 Subject: [PATCH 040/124] Automatic changelog generation for PR #48715 [ci skip] --- html/changelogs/AutoChangeLog-pr-48715.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48715.yml diff --git a/html/changelogs/AutoChangeLog-pr-48715.yml b/html/changelogs/AutoChangeLog-pr-48715.yml new file mode 100644 index 00000000000..d9a2b5ccdf9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48715.yml @@ -0,0 +1,6 @@ +author: "Skoglol" +delete-after: True +changes: + - balance: "Reduced heart decay, effectively extending the defib timer slightly to a little under four minutes before requiring heart surgery." + - balance: "Slightly reduced the probability of ear damage causing you to intermittently go deaf." + - tweak: "Defib timer is gone, its all organ decay now. The defib hud icon is also gone since any corpse is now defibbable, also making fakedeath a bit more convincing." From a46ee0b2ab58b7519095eba66352d795bb603b82 Mon Sep 17 00:00:00 2001 From: Krysonism <49783092+Krysonism@users.noreply.github.com> Date: Wed, 15 Jan 2020 02:19:05 +0100 Subject: [PATCH 041/124] slurp (#48726) --- .../reagents/chemistry/reagents/medicine_reagents.dm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index a1a915693d2..5a63870178e 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -199,6 +199,14 @@ ..() . = 1 +/datum/reagent/medicine/rezadone/reaction_mob(mob/living/M, method=TOUCH, reac_volume) + . = ..() + if(iscarbon(M)) + var/mob/living/carbon/patient = M + if(reac_volume >= 5 && HAS_TRAIT_FROM(patient, TRAIT_HUSK, "burn") && patient.getFireLoss() < 50) //One carp yields 12u rezadone. + patient.cure_husk("burn") + patient.visible_message("[patient]'s body rapidly absorbs moisture from the enviroment, taking on a more healthy appearance.") + /datum/reagent/medicine/spaceacillin name = "Spaceacillin" description = "Spaceacillin will prevent a patient from conventionally spreading any diseases they are currently infected with." From b76a7ce278eaa451a221b38ff13606b4932f0936 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Tue, 14 Jan 2020 17:19:09 -0800 Subject: [PATCH 042/124] Automatic changelog generation for PR #48726 [ci skip] --- html/changelogs/AutoChangeLog-pr-48726.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48726.yml diff --git a/html/changelogs/AutoChangeLog-pr-48726.yml b/html/changelogs/AutoChangeLog-pr-48726.yml new file mode 100644 index 00000000000..b0a26350920 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48726.yml @@ -0,0 +1,4 @@ +author: "Krysonism" +delete-after: True +changes: + - balance: "5u+ rezadone now unhusks bodies." From 9d2c354d36deef8c7610f3d5799cb328190919d1 Mon Sep 17 00:00:00 2001 From: Fikou Date: Wed, 15 Jan 2020 02:48:04 +0100 Subject: [PATCH 043/124] colossus now enrages on sandstone golems (#48774) * web edit * f*ck * khfldsk;hfs * shidd :-DD --- .../mob/living/simple_animal/hostile/megafauna/colossus.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index 1bdaea6b59d..d9b2dc8af14 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -129,6 +129,8 @@ Difficulty: Very Hard if(H.mind) if(istype(H.mind.martial_art, /datum/martial_art/the_sleeping_carp)) . = TRUE + if (is_species(H, /datum/species/golem/sand)) + . = TRUE /mob/living/simple_animal/hostile/megafauna/colossus/proc/alternating_dir_shots() ranged_cooldown = world.time + 40 From ebc9144ff73c3dec3c0078593dbd8ce85c30c6a1 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Tue, 14 Jan 2020 17:48:09 -0800 Subject: [PATCH 044/124] Automatic changelog generation for PR #48774 [ci skip] --- html/changelogs/AutoChangeLog-pr-48774.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48774.yml diff --git a/html/changelogs/AutoChangeLog-pr-48774.yml b/html/changelogs/AutoChangeLog-pr-48774.yml new file mode 100644 index 00000000000..d78f01f8a85 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48774.yml @@ -0,0 +1,4 @@ +author: "Fikou" +delete-after: True +changes: + - balance: "colossus now enrages on sandstone golems" From 58ec03d9a9aae09491e8c3ba5590baafdb698e23 Mon Sep 17 00:00:00 2001 From: nemvar <47324920+nemvar@users.noreply.github.com> Date: Wed, 15 Jan 2020 02:51:34 +0100 Subject: [PATCH 045/124] Fixes mining vendor edge case (#48780) * Fixes mining vendor edge case * I swear, everyone starts acting like an idiot if they have to write a Topic proc. --- code/modules/mining/machine_vending.dm | 45 ++++++++++++-------------- 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index 884f34099b6..4b311da18d4 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -93,31 +93,28 @@ /obj/machinery/mineral/equipment_vendor/Topic(href, href_list) if(..()) return - if(href_list["purchase"]) - var/mob/M = usr - var/obj/item/card/id/I = M.get_idcard(TRUE) - if(istype(I)) - var/datum/data/mining_equipment/prize = locate(href_list["purchase"]) in prize_list - if (!prize || !(prize in prize_list)) - to_chat(usr, "Error: Invalid choice!") - flick(icon_deny, src) - return - if(prize.cost > I.mining_points) - to_chat(usr, "Error: Insufficient points for [prize.equipment_name] on [I]!") - flick(icon_deny, src) - else - if (I.mining_points -= prize.cost) - to_chat(usr, "[src] clanks to life briefly before vending [prize.equipment_name]!") - new prize.equipment_path(src.loc) - SSblackbox.record_feedback("nested tally", "mining_equipment_bought", 1, list("[type]", "[prize.equipment_path]")) - else - to_chat(usr, "Error: Transaction failure, please try again later!") - flick(icon_deny, src) - else - to_chat(usr, "Error: An ID is required!") - flick(icon_deny, src) + if(!href_list["purchase"]) + return + var/mob/M = usr + var/obj/item/card/id/I = M.get_idcard(TRUE) + if(!istype(I)) + to_chat(usr, "Error: An ID is required!") + flick(icon_deny, src) + return + var/datum/data/mining_equipment/prize = locate(href_list["purchase"]) in prize_list + if (!prize || !(prize in prize_list)) + to_chat(usr, "Error: Invalid choice!") + flick(icon_deny, src) + return + if(prize.cost > I.mining_points) + to_chat(usr, "Error: Insufficient points for [prize.equipment_name] on [I]!") + flick(icon_deny, src) + return + I.mining_points -= prize.cost + to_chat(usr, "[src] clanks to life briefly before vending [prize.equipment_name]!") + new prize.equipment_path(loc) + SSblackbox.record_feedback("nested tally", "mining_equipment_bought", 1, list("[type]", "[prize.equipment_path]")) updateUsrDialog() - return /obj/machinery/mineral/equipment_vendor/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/mining_voucher)) From d79ff2ceaa4c0f6f6a1ec334ad5f15fa22609076 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Tue, 14 Jan 2020 17:51:38 -0800 Subject: [PATCH 046/124] Automatic changelog generation for PR #48780 [ci skip] --- html/changelogs/AutoChangeLog-pr-48780.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48780.yml diff --git a/html/changelogs/AutoChangeLog-pr-48780.yml b/html/changelogs/AutoChangeLog-pr-48780.yml new file mode 100644 index 00000000000..d71a961f781 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48780.yml @@ -0,0 +1,4 @@ +author: "nemvar" +delete-after: True +changes: + - bugfix: "Fixed an edge case where the mining vendor wouldn't vend your gamer gear." From 28771b1a5416a2c46eb811fd4e767b8a26a41003 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Tue, 14 Jan 2020 17:52:04 -0800 Subject: [PATCH 047/124] Automatic changelog generation for PR #48744 [ci skip] --- html/changelogs/AutoChangeLog-pr-48744.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48744.yml diff --git a/html/changelogs/AutoChangeLog-pr-48744.yml b/html/changelogs/AutoChangeLog-pr-48744.yml new file mode 100644 index 00000000000..dfd5a0a0c5b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48744.yml @@ -0,0 +1,4 @@ +author: "Paxilmaniac" +delete-after: True +changes: + - bugfix: "many masks, mostly clown masks, are now the same height all around" From 409f90c1197213450438d1a853297b0fc190ceee Mon Sep 17 00:00:00 2001 From: r4d6 <50276533+r4d6@users.noreply.github.com> Date: Tue, 14 Jan 2020 21:01:13 -0500 Subject: [PATCH 048/124] RCD & RPD resprite (#48592) This change the RCD & RPD Sprites for something way more beautiful than what it was. Basically port : Citadel-Station-13/Citadel-Station-13#8953 Why It's Good For The Game It look better than what we currently have. https://imgur.com/a/gnfD6gs Also, some idiot will complain that they will take the RPD for the RCD, they are just blind, while they have the same color scheme, they are different enough to know what is what. And Citadel may be a ERP server, you have to admit they sometimes do some good stuff Changelog cl change: Changed RCD & RPD Sprite /cl --- code/game/objects/items/RPD.dm | 2 ++ .../mob/inhands/equipment/tools_lefthand.dmi | Bin 5178 -> 5506 bytes .../mob/inhands/equipment/tools_righthand.dmi | Bin 5082 -> 5375 bytes icons/obj/tools.dmi | Bin 21313 -> 22191 bytes 4 files changed, 2 insertions(+) diff --git a/code/game/objects/items/RPD.dm b/code/game/objects/items/RPD.dm index b4c26028f91..de7f7984847 100644 --- a/code/game/objects/items/RPD.dm +++ b/code/game/objects/items/RPD.dm @@ -178,6 +178,8 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( desc = "A device used to rapidly pipe things." icon = 'icons/obj/tools.dmi' icon_state = "rpd" + lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' flags_1 = CONDUCT_1 force = 10 throwforce = 10 diff --git a/icons/mob/inhands/equipment/tools_lefthand.dmi b/icons/mob/inhands/equipment/tools_lefthand.dmi index 03bcfc1df1eb0d0ee93c411f024780c6e3d1560b..030d0db9d1dd87adfdeae54cc7adfd7060f2b5a6 100644 GIT binary patch delta 5216 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 VdiDH1t)CKZX=Z))wW(X|KLF~4StbAg delta 4862 zcmZWr2{=^k`yQkTl~nQ(4q)prGLA=O-m4m5`9|HCN{A5g8U*mUUECT3Y(PzQ)IA=ysW1{Ij-zK;ry*0!e$B_mj8 zhstj_iNjoCRwVUy?w+3V=QIu`_1uTZWmHOXT))3~V0wNFT;8sO}-e7~#o zv)?L_E>#6Gqo^z0i_Z=LJQdzJ2U$+XI~tZ z2$9R1oU)8r5kS<^%2P+IVoE>d{=t_1Y?7~E$(S92((Yp!u0Hw(A;@y0stKRD$}~;dhvO} zN7Eg(i9#{vgd>noV$~0)97W*iaOysN7U@T}wXs(| zE!!JO>h#N}ey6Dt>X_g4iQ^~7JH7fPh!Ppwt^eQQK3VFOSAC-fR~>puIl0)=cuf>D zr_(+b=>)XInUxfz5Z)(}bQ+SZRk>tLM>KVUay^ z^eTIFM{`LCB%^1;sfo50KHAi>z2+a&4)Qd^FszB($jH|~=gSiG9twXBOJ76my- zJ|#S@^Z=?f+zE<;HCn<%`RZ5Hdihry?)CF$4rM2nj!ZK(7CRXt4fw$HF>Y}}G&_qW zNO(OCsW#7ZFqL3|lXhEW0rh(|RG}Nn1NgoFSFG*%MWdX9GA8(Nc`TAouyS8TI;`Gw znds|?koF8{JmzT8f)$+6a2AV&P~hBW+S(LmGpI{3ZSJ^4ZWjy22It(qh- zC*-gB`hRFDze`5LFivD0hgwSmdzF~EUg`2#&p-wFa==y7ftlmh@TF+v*;{GyQtAHo zhZ$K;{Ee?)M5}J)MyuERO)PiB4}2)>P?vr4{S`Si@-U(_6(-h&X_1qva1BhLZI+Mt zcVkY?eG+y#;?QP((Yv`_MHLOpJXl?c^O-IGIB92+YR&132HU-_dBA$^&Z;|s|L5rq z{DyWs8))Wp^A}o&heb%7%@bFt>`)MNF;3CcK$H&eROy%!Q%#O>v`+z#4!NSqokV`a z%Sse+m;*nq;_Hzz59q5GqK+|$iiK7Iw8mNj?IJi$OcjPA8{TfZ2VZmV+PtY!g{b|p zSB-W^4Q+Fv66fXPX8o8{s3>1v)=G_nEcC#EHLanie2Mh?jrUBjO4(81h|WSqxpLPC z>n;Sc){A}j6LBwLy|b`I-WCNPW1@!~`MWQHA)7N7Xub?b~EmL zzt#}s->Oxnm}AnVN3`U5{eV7z7PQ!ZMU-NhXy1WpEeJc6GjtR<6gBrHufTeB2xh>- zBpZje$VVx?=O) zih(qisKgVuWK>lc*(YOTc=95^4Z0K?M3(~72hG@nVJoPGN0lS=QO(>4q?Tb+c$!<@ zTVa_|-b_w>+;I~V?eSay4ZPO-+vs~m8Uh)_unPT*?GB8c9L{^oQu21=%yn)G#R;qx zXe}^5ID{ILFnz=}j>+~k{Br^tS=-0?ucL{-=PVPeIt(!SVL}))Q&oO$@>8bj+|oIWUg&fgwd}Q!`%FCTEicn~e>~oA=^N34l5EqT&BRvr zkF#c2c1zZ|Vb@E#NjOWMYL1`SFbvVS6GeVi-VZ!7Xj@(u+?EaeqCFa?m~-8CY!e=_ z5@5Ae?5##QJTSfIEe)o9R06TG7Da92j+6s=t5aI>x*Ejrj>-(@fHnhSc`#`St9k=ccThunI^ElJlhQmH^t>^*$w{)U)8^GdttGr4#m zt6w&y^4$BGhX|s%C*5%iS(c}KSD$*>jlrD-G{B_D%cRV~UgpXt*kAD@qZ{PG1z8Kl z$*cg@#?&wV=O;giEGP{~w5+jt{7F%M@B;w6Q0RJu8k41Wfp!=a9D zgW}Gtx_HLCWkc4O-;^zB7k^0WGp!Ar9cWb%$;A=LTwTgI-e-Qo5(lhSI8+~B}sHST{kL$a-%+MuU^C<=$qr63Jh|P&o4^)W1 zM}0sc_yosbtTuUmI5xNc#qu7A=c&_=2zYkZ@YMvjqIennefNk*#)WM4NQ#X47zJ@q zm@4~Q|NS)h=M(d%cvo9iZ);L8yF{W2SnESI@a@*)dO^UouXOa3HoBBfc?^TB;Ck;_@8f|pVWbWXwm$Yz0sAF8WZY0)>9@f9ZMdZ zAARdPWE16|MgNzMaaQ`zHNh=1tE21qlK*PW#e3F_=mr4-Qr8%_#xn2Vw#YUP{E6$R z$FIw~*V;NYiFG&!_QNR-V?|c-Wwjd9Z+2Ozb~tPPk6n>-vqUAL(k))YUG{=+umJyF zbQ_-@n0yrRFrxFp39GXFFfSfj&oTg#~y2?(=$Gd9+EP2$+WMLdy7U5FZY zh}rkg#H}Vg(D{2;9Mx22*G4!E`C;cHsuY&Fh#dOY-pVHE?g-I{Isq?fZ<5 ztZbIoQ0svagiN0iJt^}^L7rY`|F{!AkJTEsMq=~`GqDuQobj9| zPeRo_6x1z>MGZF>KZu^R@4KJx=AXzd6abLC=P1K)BM$|$*$wjQEHEmycpC+K%xFmH z?Tkh_3uLZ{ZY6i9b3#GGt6veue~R@tn%4F+6n8Z)4Z zid?ouFfhHByZ&ZEaC@69Zbm`^v^E2(r1)Z9FVUQ-%b$qn z8^+dEfg(>~ICD%dV#po~vH_;;F-3lP6wm2|wCA}IMOHaGhIA;OlC9#&dUhn%i>eyM+9Mn0ifZ^~; z)-{cw;}ddO*DPHvn1^njC@aa;qhlYgqKpSw=v&w=1^XA<(yT2*>lkgMPVXXm%5I&o z*d$*=PxdK^Jk8TG)xq3>z@{{1y%ILs9gvzcV?!k`*;s>fM~M2V_*oF2wp!Qcgz%_W zR|}AdHdhO0%P%yOa8%D^D;R27%c#@TldhrUaMkfSFhE$^${=1-46F?1jSx*^M0*|i zocU9I4jTH1=-8qR1NZCv;f zG%u3n_KwE%Pip*lSoXGUqm>X~;~(ixMo#&q*KRKM*>d!vSqv?oNRajZhE}aH_<{O= zVA_Gay^mKpL&Tnh@b)z+SzvtfH`_4aS&Y3gkna|9eGxMAnQ)7KL76BFj0NAcyyL<}( z80jp-^a&7sm}3zirZ4!K8kt|A(P)_n;NCq(6zUkQ8|dheJUQkyQVz(;$pJLP+eF~T zjT;*qng|5qrrFJegajxQs?trnd-tviji%DAg24bP7`h&iot((s` za~lZ>iEH{s%cs;&EiW%ua~K;M%1FyCyPtA#ad{naR#a3JfOVTBonHFwH=w(_i-Dm6 z0JOCr+qVH#EbR+{hUeuSn4tjyiyH?t3;=@xFj01(Do)%>gQFObK;Ptf1{2WW1Lh?4 zq=Dl|18#YFc^C|a0RWw|$1KdvQ7BYbSC_cBxSpP#r>CcYfWX6>JTWmb^EpEEqC#Ap zoWjDwzCJ$trQrSZV7gDvo;@ogBcrCK_6&B`Hob`k0KZwp)13nYfRpDmY0FHa@q8Zv z>_<58z8qlFJmCshxIzI94Gr}>PLtK3pf}|v(Gj#+0s5A{zCH&BhYA6KHX)&YFnE4` z-owL##=(KXV1|c>4~2xx&CO$@gaLEc_V)J3$jEYT?iOC&AN>3uK76pSu&}YQIRF64 zsZ)c4gC9SB+~?=__4OsMSxs~(l(4Ziv$Nw)pH56nR99Em)YK#a!1jp~#l^*BE-ou8 zt0E?*#^cAkn3?VD?09*3R{($j0wpIW@3FB-Nl8hbJJ%3@W##?()2B~gk=1>dY?SxB zrX|f{v(Me$R6jR2m+AP4d%#l+fRWcS!vexawt+)KLmMR^RaI4>mS+J6NJzO|R5ivQw%Y077&m3XsvbHwOOD-o}qaNZ{ zLZUFsKOg5QJ#akAMEEUZGeCD?gzjI4NQAjH{IawEJwG>JxSNkR00ifx4Sn~1tayrf z!#{*&z@e$wQF~pvHVa|x$WR!=YIEsPj_DUHs<&1;%W~fF!O6a!5hbV00-x;NHFN3JYi=WCH%zM0+6%$%?761&EZ3FWB#x?iAr08!)@vQ8bS zT-30s;ZZuDdsEgTRrKm(zBA7F7sl3i#(ZX_JUgT^zte*3Kk@MY*y+MQp9v@|XXHAy znk(C7mrkzH_O9Aul4$%GrLt-h%pt*VUEuimT4%**TySJuSLQ57_aL@3)?EQ3(7u0c z)!(W5(dFjUJK^O?Tc&_zYuTlxS9(Lwlqw!x80d&=XK~9clhsX6E2!b#bn~BaQpiys z!66zn0w|F=;$uH27mV&JjlHMo8)@;XGsmTs10;dSb<5l`KLO29ULwB9HG2EgNLRxeEIOvuURLz6XXCrj6-hj-9ztuO z0HcZV8^83GjKhmK{8-vbx0i{qqmZH)gV zh!48CZ1=)0`AZ1SGc1G{caEM7f0Lq1KtmTRZ^=8k+s`XgwV-d}@viHqS%h3PRd}1% zjlLh_#gesV9;C|{=aWEPnTZSR`MnRm*a+n&qF8ar_wGO?)J!1U`TKO_-B;E6l6QcfyiCDikub8#Y4S?U0DYt?!scQyt)jZLfv;8*#WKsR3{vveK^IW z)y=Nx?{K$tl+`dyJ)Cw=vQm~v6jW|qWQ#KwbowFqgpD3fgEtw^@HwS>A|sr+f;}O{ zh3C0(D@#jD>)Y&^XvCyc;@6Me|CJVJqEm#?MF+TfOZO zZn~uTvNVp|g}^z!7zYe-eCpw*zT$HjV;`%G!_epNdw&#?(=X7raw<_w$$!bRja@P} zUfq$q-FDm;Z}ZmtfaQ((2w<2oq7g15ItB(Ev39)&rOT1>unm^|1)ap9vcTF01Aoh`%nc4( zjU09s>i5`vM(rkLy#Sg7t=@0G#G*94a$psx9viRrEA+V|p|_f0q#p!%|5k5=VdrD) zw+KFGtTCJWXnQQ1Z&eKgCA+zV@XRpX5rLPUmuV|8RIo>Niicq%;-l|tjgjzt_SQCc zj-sWk(dImf#|^$yFA6Qa3u>+nPPv*mp8YOM1O$;*6dR8-%uWm3umW6r$rv!}?8 z)v#Kljc0Q6COksbrE2<*DhAu$0wa1{1%Fr9g?nFgIUvJ5W||EOXCbuUQDc4Hd#!YuRLDG7i3;&J@l%pWYGJ7 zyin!~d0$4P+k6f=Q_m+&klJ=+?Di+W>L;_$R6Z(W!WCukFZMJ1BU*ri*hj31B=j~l zjV^b@TQ&5BKy`YkvHSU4_s)E4$G##{G0inOA?XRUtBijSV_%pxHX%RFrknK8ci zpXh+0QKW1~M%f5d5>jN23?~{UgNaBjvUmqa2qc%HJa^Qs{DZNRyd@Vu)UMO=Z$D7l;py%Uy zd35i1qBcnQInn_`2M31ZA7&j*7Ro}95J;7AnnDFVpRXS4&il0ZtG^Yji-tgKTT!1P z*;druC7dj?Lx(DN<+?9hhkD5-=PkP`c*5tSAaoO<0>7OduW{=SC-OIZ7+2BMoVI$c z@A>BH?ds8+-QT8=2_~Xq=Qaq;QmIpKr#Rk(m|~y}Hg+QyGf^L+=|}m582@Auv?uG@ zFOl&1BxXw9lgET~7X0p$$hW0?>uux@Jw;JC@NI%N!-GO}+?j=_BfmIqo|2t>@r3+e zaGY=~VG!XD#~|ROwu;|uJDiM2;Z7}-rQ zhYGTJ4)PlK#JR&~-K_*&+IR<-J`Yx?S9aeXsBcRk^+I5{{^d3j-mb!I$}e{-n1#vZ@)D(7aDXgW5W*61 zmeZ?d-ga}7+q=OS@gj!F>PQHhy%-^=espi1C%9J1EoV4wmRs6OU7}iU+lB90R?7bu zL;%SARMGlJ)n4SvcG|Uy)DH;+3t1E)Vc+1q)!l6KR7_NpZFlU|Yp!8JtjtZ{=bMxio8di}|+3~7G*)|KpDhcWU> zP`LICXc`4Mn zu#l#0#Qj!C%JhiPW*D`S0hT_LV>eDtoZw`0bpUnCGM5dD9c*KceO>SUGb;Myn={&~ z1O|=l?W`5d$yX&I91T}Go>sU>j5kt^zlXM!!`?3-EI$(GyLj+8?SexwoD9?LyX%sYpWn3p%x=8{5xFlLs6JZt>mHaZF2AS9XRPKrMqyHvNBP{?8-{M) zWV^aMpiH^xCH{TnI|OJ+uu-GUKB#e_zd_yMcFlDz(iR+7bjPc?!Ieu@Kskjp33M($ zx{TY+j*b1_0MFJn6SKsH0I`$;D+ky)6 zV+AoG2(88bH-BQQ&V~6+3X0g+zqy`b{~vbZKdjFGvMNXL!kcUSQzjXSeYhJ4)(*oX z-2X=0<}vt&?BcToW(@4~jSQ$?&28)u7GN{LwlvB7; zb*8&@PH5qy{y(7_RX~wT z9cf?u*L=_}A*{i(y8$K_H|J8uHsWVSE^b7xBe->zSL>&YaG{{{rL5|1er3Z zGz53r1?U!etCxIp9Z6d$#BreL)wrz{e01fAAQ~#Xcd@^dBL}=kuhm}Ppzv#}eEUem z9`ftsd;UwwI{NP%h?I?^E!qE7CLso)5D1cLrbM{9Gx$#UJM0jNxcd2G58D0y{mWGh zWu*Z+S#uZiDjKi@w`sJM#Zc4|Tk;C>-2!5WJQsq^J4JXCw14Lg$g`)3!4GS)`yOR` zj2vj96R_vjemr>p&HMzFqftYbj*+ATjm>-Cv)41V8tx+dlKLy}>Q(A%S0b8T2YX1A zk!mq9dJCtjOe~vspHyI=zY{&#NSCiJUSbyVmfNnUp_*Bs<)|nAOMTm)Uq1bf6XM9} zFx)p~avJ;VLzUKf%J9>Q3}~xGP%47{{qaw7XiEGXTQQ{edtS-B$-cy(J245J&rL?7 z)*Bb8t3v0>jzm9}mP}JAD$)b}XafZSp>lR1Ap@P>&MRi{g{Fhh#Uu>+7Ww7Ndx;dW z9w@DOmZzz%FD}w}-vFmwTEzW5N#hT*7XB6)S_kJm8NT8Yeok;Y zf-iPGoX_#~ZfAf$C0NZn{ENP#T8h%opPtRGH7yKTLrH@gZLfV@bf!+p-;~ROrVDIa zhk>HW`q<$d6DV>Ilitd7jQ(0)(ty|43YA-~_%I|SIZ<9GPdX3!? zHNxr=&n6zIUL1Id7CJCg`@NAwQ{SmipUZ|MkQekUQLbnO>p#`bb?PgwG!^XbZq0#$ z`Zd-I%ICXmiiwMpenUB_;aTO*lhxcnM0=LG^X}QKlq~5xfJOuGJYPIdnR^dlCyiH7I!@x delta 4858 zcmZXW2UL?u*T>_sMi3BPifg1SD!r+pw`dfR5zg3Zw{H?0qn@lT5Qr5t zTn3VplUrX`4GIdnZF)O4HumF75CVaK!C=nL&d@Fvvf)00l^cz#;m4vl4K5d3je?*HjS5+{{c%@K+25)7jZ6CME`l!#zAaAP`7Y zRMcFC(445yeu>Eb1rb3(!6&!*Wn^TOl$3Z+oe~xn_V)6!Nv=O6Kcs!_D#!wXem8%? zS~}_q0&$#EZ7c(czBtXT%H9IXYViXdHtryEcOe)EWai%A-{02OrlO*v?BqCE$%d{d zGkX4vH4RAsj$BB1f5gWoGc%LYc)UkoM=pLnY7qAB zTgLBn!C{l|n<6BGNKIAf8se>sQSJGFB#HfM7o2nLjt4JpYYN@ADs{&vJ5(@bTx_UHb*X zkLAY+Btr7e<-o5j+m|&WuPiqXPL|!|D;;u6csvR#cXQ=+L=%GN8=&C3yOq0!VV zHP}u=YWLU3-An9;;r@?7M@mPE=PKP6Ww!BurXO(&u; z1e@}~M^+8jB)iglla?N1)6NT3SUv2}fFb2937+>n&BuF3M=x70RG7U{qM%s3S)tpq zi+pp@wgj3db-vqDHXG*UkY0XL{AN8a9gOz#+eg>pD)U>nK1^8fa?X2%7zOMQeZ*R4 z65KFj3>v3^?7E$Y1whF5qU2jiiru8kah)9>Sz^ggIIDZ?*Y^HgB)WOxm8EN7a2FK6 zk``DD?y0}wUeS0l$x*@o8Mi~hUJmg$+2i!#yHZil#7U3J0vG~?aU>hMq<}t0%cB@u z8yj_XbMDpUi@UNr3W|-@v<~ptR8$*W>gsU$+q(~fb&KW!Uq1skUHZ5{r;u}QJ1%v` za>8-n-K)UNTkH+meZbKiGptJ~y8EGbe6-y5oyU3$hAIIDkDe(ScZ;)m*I_M;ND2JYS@cyPEq2dN0PzC8+uQu;CL zd|pA$V>@)d!7+ zJ5d1o3oZ>I?dN7Egt!<@*)CF;6y-Z^kiy^37-^}q_Gyi6>bCZo;Wi0BQ2BI+w#hGJ z;io|I8!lDel|^C}^%a{X%j0e#0TsNBmAK!qgO!ClYZeO+!uMGAf2 zXfy4yR!uU?H>ISxZxLN>L%)mb@*Cdj)5fFZ{KQlOV$mTdOXK$?0Rc@(h}|As zpS=2k&Xc_6=Ddoy9h&)lr-!-5-aW`Nhn1 zOX;uheqqVttt9!9Q`s$BmXw%r>yX8({G0=ykFT8=vrw1#J;4aye|g}~yGO?&rE-mH zS9T(RFlu2y*h~tL!TX}UNW^77fbLlx*9UKAtef@TGKM#+HNTnP(%@|2Y1o1Pcp1SI z4FG#1E*5GW3~4+Ch)!|^X*t)EF5-XIum9SWjQh{K)xIbDW0Dwkvwt2lIG=F7c*u6h z^$pUVVrfO`z!Dgx_20XYHS)6MrgK(uo%w&__rI|6>s z5QlD!m~8=*pBD#V{3GUew>(A@F9QSOPMF$;-UMl9l%dj&lAwYiQ$G#4BFC@vjAOxDl#K$z~gI1MXEwBMvhv%6chT$Zj-7d4Lkv!&4M+U|YSlz3n+!yjWrFxjOQ( zt*9bbrIk^95oYT!{QZUd4g<&m93981Jr6o0YJ0|^7kk(2Z))MySICjjIZIDW0R8c0 zz_GsiajN_pjp*95whKHzwwio=V|UqLGYjdt!+0XsBqU%d?h(JsKvj}uvc50d{tFfK zxoTF>yJUp1q}ZN4DXwc)hATTWZ|R~j%4us4&~RDVjk56gi;aml%;=@M0X>g&Z!4-5 z)*T3EhiOb_anU{m1dEz~sj3Y9gLzbB)J9qwEff3RCX2(?sYC|$?G;u^l^X82?x3^Z z7(NQmYo_zXtQiOmRDsRQPFdDhKLm3X2Z@(G(iTUPf-tyvs{a9k=;Zda9KXMvJK6(a zl^--!SG~43g$^}!Ujo)K+j6@G$7K03P7%8z+rBq;P$3P-Amg?$nYwlPFWUayjaDE|G-EHDlZjyOq(eLhGNyqZ!9UdM$tX z)Xy#)H0+fLj60FPy)VbVSI;=P@qC^k5^x>aCpI{d&l4zbsDv+G@rph{IlrXOtm`dL zkzRdDImjRA!mch*rvQ`eL518`=ki`w9T3sOnd|0j<9^f8zEo9ON%MyPv|)e=l`Gvr>t3VqFxE(1 zwN7M`%zB#YVD0;;jw&<}mq13mjShxy-;eg#4SIh#eTiapZ!%v5fKrr5yu60yzWW-_ z1Q+YHo0T4-u(c9qHSa!7poe7$Pm2VRv`0qZorJ{ldfrV!Hf;;*P#pW$IMoy@0n;dw zGU4&Wl<}NFiT#)=n{sDaUukm9B1yBg&~gY{WB=q}|4vvwy^dM9Q~^D=7Ge*W`t6O# z^`Iv6(W%>M6g`fKiHT@GvXDvhnRqm_+B0n%+Yo{xIuW{ zKqYcp2vi*;t@Sz_`#T)}xPMR&B*~0MH8KxL{ff$Gt5C(->hbf%*V4c@V=~jZxV3gO z8s;1jYz1uu#Lj9cGcd5z>F-fQBr@RYqz`f{MS?Q@^b}EDak$EA^5Y3^Wx3=U!Sc{> zM9iFArHZQ4b)u$2IaL99R-RC&ca$3N2_WD@JZn`c;{07RbLy;3+>hzfbhF{z=@@#5 zMuUP~DfjP}GdCW1SExBo>6&U(NjgLZ|*~hc_IsH z7OJX3<0tb5Amv|!R>V{Klno~w|0nSv_LG1W1|ZOm`2Yl%6$J#zz)C9)tL6VrC~dD< zB`IF9SsuT`Vx~B}uF=f7_qb~KQ~MJ(1-z_Rpz#3c-Ur`=@MFk8oykq(Ez94~;cTRD zHbM{&8(A;wNN~D9r|nQ~b79+Nau&A*SFXjyxD*PblN1qC`M{+4U+M{X;Q!U15Yi5j z{M4EzI(VFpaBDa#SVpMTd&X7>o#cLL;Wl2-a&_R$8d$dk`oQGJt9w}8@BvTZ{vDm5 zm|F&8rx)ea<^C40Ihp;hn|jId3nR23it5YXxOZwoPFH-5+915DaAP(THlw4!1m4Zh zr4x1aBNx$H0o%jz@uZi^?o30=pp6cRg@ya)bze3vg=z)(&%WV{M`MVCD?B8?^b=;O zZEeF&r2MQ}kVnC$;9H6)i8h~!lv@P@l(8w=>aHdlvd^S!#CSE(T=xL4rj4&Wm>ha6 zqA{TRh_1w9pq8KCY}u)MtOkHOQ(%3a{9-!yS|m@WEpuHL#%wnNc6{*+Bx7?MY3`tb zVSI_=z3M&vWn;z*e^5Q8ogj{EU{QEZrw2Pv4HQtsr*R2uzxG29-_Uk-;A7>qwxf7v zw->NWhwaU=HjFmF+3MTm*QQ02p}Y3@Q2j&&ZRZmknF+~8a{d0m%&aYUn#gJGm>qC1 zckbxH92TI{VVWc+6`5SKu*+_p#;ZdYzc7xGui@t=wKU zl%y;HA!N6+8m#cXzS}zCWhMT>iS+gSIPLw5GfRwl%c858Np5Z5on`AbUJu($G6U60 z*6mg!XJT%-uV)!@Tg=)*GAImGJ~?s<))QK)`aQ14x@n9lVG!OUNp+bDPY=QOcmWDCsxR9~MFf4bdjmo)OiM!gC$dymaZ*quR}@d)%VRqoZQD2|irB^A~2~y#3k}GtdG>ce;7f?c%-C(i5{KO~ZS#dq#h7 zk`3rUL7kdr+$K0B+jzN4!eeT_MaShW*s?TRQYpZ&wldKR!Yk$4o&6l=lQ-yiY099m zW+CIOpip;jzz00JES)@eUx~cKriVPDt_1>(8AuY~$;X+e{D*I0)!IV=)SkKK; zLU_(VLVkqRKhg7_xSYQJgBCK)>C3glEAOx)s;m8D;SATVlt#w~1#xYK8)9f?3NO+^ zY--sw%S-;k9BGtwdC0%hqeWq3;rz>W`wl93aDnZ9n^8tzb+U*9L>kZWX3fFn15b|U zT*Kr{Ud`yodd4l4HHP>fp)8`8q5~hZIn*{8h!J~WhO>8jyn*smyuf7hF~>P@Sp!ky z<|SumhLGpb=1X9&zSw*3P)1{WZRHkTMt97K7B5JSJwbHX!KIBlO;i}>XF}-d+`3*4 HcMSVK{?2_Q diff --git a/icons/obj/tools.dmi b/icons/obj/tools.dmi index 7d2b7ce0710fe571cd8ad8ac533dfd1d9f8886b5..2259f47dc5c20906eaeec300ee061cd00fec5d44 100644 GIT binary patch literal 22191 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 A;Q#;t literal 21313 zcmb@u1yohv*DkydjiiEfihzie(p`cgjdX+34bpLFl~htXrKDTp00-&r?(P;2aQHUA z|Np)3z2ke|@4I8%%NTIZ*s=E7Yt8x0XU_F3z9=io;ys{v0002q+c(mx004o4zeZRX z;E{^J5)lAEk@9@6!NtA;C;Qd3%4}t9b+-DRB&!VP zVlnJ!S6fb-27|FIjlhxqr&$ZQs3-$3GM4*LUJlqu&sf}2 zSYZ<%;k_>W(ED5}YS6OvNsP`?%P$gc&SG@DK5Gft+{m;aSJ!c|*KR7icQP^wE?@ie zf28?C*r&3-`4ArxCm-v5cT+KDd`B8dHeFSSQJ%$>6kGKyvO1%V@*VlaQ84S2MPl`L zR@6}~SQB;92q)*K19)oui&WGoe{@QpISVFhW)AdSd7Ei%TIuw)tp_~r1XXuWWi`*d z@psKWQHbhJ?YI!A2z~CMv%*nXhDR1FDvWxG<2`nL*dY5<>G<`ZS-#c1iPJ;t`Jd#HNqFI%5Bs3d-_+!hu*jvQ)XQD^V%J{K)_5YqSznf?QESciDjj zUc10L>x$Li^Mo{@f+d5RHQ9`;Ca~!M{vLD7rw0ulb{hvk}Z$S{q(C{G3|R`#=NkOS&}8qX>1bv z$6$97KnS=IpX?E41-0C-KD&+PoV9wdJ`+yO(sv)?uZ^xHAW%(shKZcvPb z#=+i_QZx5en9C%4iiP5}-N@7T@84%+Wwq^9FDxto&^<{b>v$5t0Y$tn5YO4GqYFYt z;g{B#?ibUPm(B{bjKWdXd3c^Ze;xpX!5kvl{|dSy_xXV(3#PEL;|5zKd{D0@>^AD| z`p5y@DSgggV*cmS1!0SQfG|O3CNhQt_LcJ5rD9hs_F;&v^@2v@jn(+y5+|u|X2gi_ z8*JlOJ0C~ghz0ezDSto!N<#7<{$pk274fh0!pt^5*Z|S~W8^=pO-)Uw(Y3YTkiX1f z+;7LW`AF7u>TXIPKFBpTImsX-M9KO9C%B3jkQ(|;;UwF+BML>#yaZB?H(`G|U?nB^ zlf5qdN!=?JOr*bctAmVdo5W@|_zgZ${5=vo*Lb3+e%KNcC4%lFK)7qKds_1ZF+0(? zPrR;~?F%0scs3H=R(E@S+{uw$wl2bdmh#hg=HK<# zC_tf=RS=2zK^&{hrap^Jz3=vp#?7$(SSugxrB4sBcX?oue`kO3qciGAe_xp^;`g6I zcg|#CH_vN|J#^y`2laf>W9!14t}h<6`L&hL?yQfx0k2fmc*rGj=ui{64JJr{(x`9& zfH#8)`6_0Hg@q+)YD$YFh6!SEfZ8>H(K3!`YHIox7sp8E%~E4GFW0dk_v-+)E|-@G z0)ZU;{TrGWiaGGn3$Op#zgGo6WZ3+|TxQ;)x%FECNyfPy;|mW8Jzicq z{5Z+1Bk1BEuQ>mhRin(#&aP`cZKuJmIi~t7}ND*mbUINA))4)nZDn=!U>w0z15b=w2CM)FP7oB@(8?T&HKbm7&qf{# z12}p^+e@pfft8yB64}Fa-;vlL9PK|!)&bZ{O4@24g)tzjvx2M8xc{0T

Teleporter Status

" - if(!power_station) - data += "
No power station linked.
" - else if(!power_station.teleporter_hub) - data += "
No hub linked.
" +/obj/machinery/computer/teleporter/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \ + datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) + if(!ui) + ui = new(user, src, ui_key, "teleporter", name, ui_x, ui_y, master_ui, state) + ui.open() + +/obj/machinery/computer/teleporter/ui_data(mob/user) + var/list/data = list() + data["power_station"] = power_station ? TRUE : FALSE + data["teleporter_hub"] = power_station?.teleporter_hub ? TRUE : FALSE + data["regime_set"] = regime_set + data["target"] = !target ? "None" : "[get_area(target)] [(regime_set != "Gate") ? "" : "Teleporter"]" + data["calibrating"] = calibrating + + if(power_station?.teleporter_hub?.calibrated || power_station?.teleporter_hub?.accuracy >= 3) + data["calibrated"] = TRUE else - data += "
Current regime: [regime_set]
" - data += "Current target: [(!target) ? "None" : "[get_area(target)] [(regime_set != "Gate") ? "" : "Teleporter"]"]
" - if(calibrating) - data += "Calibration: In Progress" - else if(power_station.teleporter_hub.calibrated || power_station.teleporter_hub.accuracy >= 3) - data += "Calibration: Optimal" - else - data += "Calibration: Sub-Optimal" - data += "

" + data["calibrated"] = FALSE - data += "
Change regime
" - data += "Set target
" + return data - data += "
Calibrate Hub" - - var/datum/browser/popup = new(user, "teleporter", name, 400, 400) - popup.set_content(data) - popup.open() - -/obj/machinery/computer/teleporter/Topic(href, href_list) +/obj/machinery/computer/teleporter/ui_act(action, params) if(..()) return @@ -69,38 +66,39 @@ say("Error: Calibration in progress. Stand by.") return - if(href_list["regimeset"]) - power_station.engaged = 0 - power_station.teleporter_hub.update_icon() - power_station.teleporter_hub.calibrated = 0 - reset_regime() - if(href_list["settarget"]) - power_station.engaged = 0 - power_station.teleporter_hub.update_icon() - power_station.teleporter_hub.calibrated = 0 - set_target(usr) - if(href_list["calibrate"]) - if(!target) - say("Error: No target set to calibrate to.") - return - if(power_station.teleporter_hub.calibrated || power_station.teleporter_hub.accuracy >= 3) - say("Hub is already calibrated!") - return - say("Processing hub calibration to target...") + switch(action) + if("regimeset") + power_station.engaged = FALSE + power_station.teleporter_hub.update_icon() + power_station.teleporter_hub.calibrated = FALSE + reset_regime() + . = TRUE + if("settarget") + power_station.engaged = FALSE + power_station.teleporter_hub.update_icon() + power_station.teleporter_hub.calibrated = FALSE + set_target(usr) + . = TRUE + if("calibrate") + if(!target) + say("Error: No target set to calibrate to.") + return + if(power_station.teleporter_hub.calibrated || power_station.teleporter_hub.accuracy >= 3) + say("Hub is already calibrated!") + return - calibrating = 1 - power_station.update_icon() - spawn(50 * (3 - power_station.teleporter_hub.accuracy)) //Better parts mean faster calibration - calibrating = 0 - if(check_hub_connection()) - power_station.teleporter_hub.calibrated = 1 - say("Calibration complete.") - else - say("Error: Unable to detect hub.") + say("Processing hub calibration to target...") + calibrating = TRUE power_station.update_icon() - updateDialog() - - updateDialog() + spawn(50 * (3 - power_station.teleporter_hub.accuracy)) //Better parts mean faster calibration + calibrating = FALSE + if(check_hub_connection()) + power_station.teleporter_hub.calibrated = TRUE + say("Calibration complete.") + else + say("Error: Unable to detect hub.") + power_station.update_icon() + . = TRUE /obj/machinery/computer/teleporter/proc/check_hub_connection() if(!power_station) diff --git a/tgui-next/packages/tgui/interfaces/Teleporter.js b/tgui-next/packages/tgui/interfaces/Teleporter.js new file mode 100644 index 00000000000..a2edfa97394 --- /dev/null +++ b/tgui-next/packages/tgui/interfaces/Teleporter.js @@ -0,0 +1,69 @@ +import { useBackend } from '../backend'; +import { Box, Button, LabeledList, Section } from '../components'; + +export const Teleporter = props => { + const { act, data } = useBackend(props); + const { + calibrated, + calibrating, + power_station, + regime_set, + teleporter_hub, + target, + } = data; + return ( +
+ {!power_station && ( + + No power station linked. + + ) || (!teleporter_hub && ( + + No hub linked. + + )) || ( + + act('regimeset')} /> + )}> + {regime_set} + + act('settarget')} /> + )}> + {target} + + act('calibrate')} /> + )}> + {calibrating && ( + + In Progress + + ) || (calibrated && ( + + Optimal + + ) || ( + + Sub-Optimal + + ))} + + + )} +
+ ); +}; diff --git a/tgui-next/packages/tgui/public/tgui.bundle.js b/tgui-next/packages/tgui/public/tgui.bundle.js index af504e0ae44..6b2befb0662 100644 --- a/tgui-next/packages/tgui/public/tgui.bundle.js +++ b/tgui-next/packages/tgui/public/tgui.bundle.js @@ -1,3 +1,3 @@ -!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=165)}([function(e,t,n){"use strict";var o=n(5),r=n(20).f,a=n(26),i=n(24),c=n(89),l=n(122),u=n(61);e.exports=function(e,t){var n,d,s,p,m,f=e.target,h=e.global,C=e.stat;if(n=h?o:C?o[f]||c(f,{}):(o[f]||{}).prototype)for(d in t){if(p=t[d],s=e.noTargetGet?(m=r(n,d))&&m.value:n[d],!u(h?d:f+(C?".":"#")+d,e.forced)&&s!==undefined){if(typeof p==typeof s)continue;l(p,s)}(e.sham||s&&s.sham)&&a(p,"sham",!0),i(n,d,p,e)}}},function(e,t,n){"use strict";t.__esModule=!0;var o=n(387);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(t[e]=o[e])}))},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=t.Tooltip=t.Toast=t.TitleBar=t.Tabs=t.Table=t.Section=t.ProgressBar=t.NumberInput=t.NoticeBox=t.LabeledList=t.Input=t.Icon=t.Grid=t.Flex=t.Dropdown=t.Dimmer=t.Collapsible=t.ColorBox=t.Button=t.Box=t.BlockQuote=t.AnimatedNumber=void 0;var o=n(158);t.AnimatedNumber=o.AnimatedNumber;var r=n(392);t.BlockQuote=r.BlockQuote;var a=n(19);t.Box=a.Box;var i=n(114);t.Button=i.Button;var c=n(394);t.ColorBox=c.ColorBox;var l=n(395);t.Collapsible=l.Collapsible;var u=n(396);t.Dimmer=u.Dimmer;var d=n(397);t.Dropdown=d.Dropdown;var s=n(398);t.Flex=s.Flex;var p=n(161);t.Grid=p.Grid;var m=n(87);t.Icon=m.Icon;var f=n(160);t.Input=f.Input;var h=n(163);t.LabeledList=h.LabeledList;var C=n(399);t.NoticeBox=C.NoticeBox;var g=n(400);t.NumberInput=g.NumberInput;var b=n(401);t.ProgressBar=b.ProgressBar;var N=n(402);t.Section=N.Section;var v=n(162);t.Table=v.Table;var V=n(403);t.Tabs=V.Tabs;var y=n(404);t.TitleBar=y.TitleBar;var _=n(117);t.Toast=_.Toast;var x=n(159);t.Tooltip=x.Tooltip;var k=n(405);t.Chart=k.Chart},function(e,t,n){"use strict";t.__esModule=!0,t.useBackend=t.backendReducer=t.backendUpdate=void 0;var o=n(37),r=n(16);t.backendUpdate=function(e){return{type:"backendUpdate",payload:e}};t.backendReducer=function(e,t){var n=t.type,r=t.payload;if("backendUpdate"===n){var a=Object.assign({},e.config,{},r.config),i=Object.assign({},e.data,{},r.static_data,{},r.data),c=a.status!==o.UI_DISABLED,l=a.status===o.UI_INTERACTIVE;return Object.assign({},e,{config:a,data:i,visible:c,interactive:l})}return e};t.useBackend=function(e){var t=e.state,n=(e.dispatch,t.config.ref);return Object.assign({},t,{act:function(e,t){return void 0===t&&(t={}),(0,r.act)(n,e,t)}})}},function(e,t,n){"use strict";e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){"use strict";(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||Function("return this")()}).call(this,n(118))},function(e,t,n){"use strict";e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";var o,r=n(9),a=n(5),i=n(6),c=n(15),l=n(74),u=n(26),d=n(24),s=n(13).f,p=n(36),m=n(53),f=n(12),h=n(58),C=a.DataView,g=C&&C.prototype,b=a.Int8Array,N=b&&b.prototype,v=a.Uint8ClampedArray,V=v&&v.prototype,y=b&&p(b),_=N&&p(N),x=Object.prototype,k=x.isPrototypeOf,L=f("toStringTag"),B=h("TYPED_ARRAY_TAG"),w=!(!a.ArrayBuffer||!C),S=w&&!!m&&"Opera"!==l(a.opera),I=!1,T={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},A=function(e){var t=l(e);return"DataView"===t||c(T,t)},P=function(e){return i(e)&&c(T,l(e))};for(o in T)a[o]||(S=!1);if((!S||"function"!=typeof y||y===Function.prototype)&&(y=function(){throw TypeError("Incorrect invocation")},S))for(o in T)a[o]&&m(a[o],y);if((!S||!_||_===x)&&(_=y.prototype,S))for(o in T)a[o]&&m(a[o].prototype,_);if(S&&p(V)!==_&&m(V,_),r&&!c(_,L))for(o in I=!0,s(_,L,{get:function(){return i(this)?this[B]:undefined}}),T)a[o]&&u(a[o],B,o);w&&m&&p(g)!==x&&m(g,x),e.exports={NATIVE_ARRAY_BUFFER:w,NATIVE_ARRAY_BUFFER_VIEWS:S,TYPED_ARRAY_TAG:I&&B,aTypedArray:function(e){if(P(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(m){if(k.call(y,e))return e}else for(var t in T)if(c(T,o)){var n=a[t];if(n&&(e===n||k.call(n,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n){if(r){if(n)for(var o in T){var i=a[o];i&&c(i.prototype,e)&&delete i.prototype[e]}_[e]&&!n||d(_,e,n?t:S&&N[e]||t)}},exportTypedArrayStaticMethod:function(e,t,n){var o,i;if(r){if(m){if(n)for(o in T)(i=a[o])&&c(i,e)&&delete i[e];if(y[e]&&!n)return;try{return d(y,e,n?t:S&&b[e]||t)}catch(l){}}for(o in T)!(i=a[o])||i[e]&&!n||d(i,e,t)}},isView:A,isTypedArray:P,TypedArray:y,TypedArrayPrototype:_}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(30),r=Math.min;e.exports=function(e){return e>0?r(o(e),9007199254740991):0}},function(e,t,n){"use strict";t.__esModule=!0,t.isFalsy=t.pureComponentHooks=t.shallowDiffers=t.normalizeChildren=t.classes=void 0;t.classes=function(e){for(var t="",n=0;n_;_++)if((p||_ in v)&&(b=V(g=v[_],_,N),e))if(t)k[_]=b;else if(b)switch(e){case 3:return!0;case 5:return g;case 6:return _;case 2:l.call(k,g)}else if(d)return!1;return s?-1:u||d?d:k}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6)}},function(e,t,n){"use strict";t.__esModule=!0,t.toFixed=t.round=t.clamp=void 0;t.clamp=function(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=1),Math.max(t,Math.min(e,n))};t.round=function(e){return Math.round(e)};t.toFixed=function(e,t){return void 0===t&&(t=0),Number(e).toFixed(t)}},function(e,t,n){"use strict";t.__esModule=!0,t.Box=t.computeBoxProps=t.unit=void 0;var o=n(1),r=n(11),a=n(393),i=n(37);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){return"string"==typeof e?e:"number"==typeof e?6*e+"px":void 0};t.unit=l;var u=function(e){return"string"==typeof e&&i.CSS_COLORS.includes(e)},d=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=n)}},s=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=l(n))}},p=function(e,t){return function(n,o){(0,r.isFalsy)(o)||(n[e]=t)}},m=function(e,t){return function(n,o){if(!(0,r.isFalsy)(o))for(var a=0;a0&&(t.style=l),t};t.computeBoxProps=C;var g=function(e){var t=e.as,n=void 0===t?"div":t,i=e.className,l=e.content,d=e.children,s=c(e,["as","className","content","children"]),p=e.textColor||e.color,m=e.backgroundColor;if("function"==typeof d)return d(C(e));var f=C(s);return(0,o.createVNode)(a.VNodeFlags.HtmlElement,n,(0,r.classes)([i,u(p)&&"color-"+p,u(m)&&"color-bg-"+m]),l||d,a.ChildFlags.UnknownChildren,f)};t.Box=g,g.defaultHooks=r.pureComponentHooks;var b=function(e){var t=e.children,n=c(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,g,Object.assign({position:"relative"},n,{children:(0,o.createComponentVNode)(2,g,{fillPositionedParent:!0,children:t})})))};b.defaultHooks=r.pureComponentHooks,g.Forced=b},function(e,t,n){"use strict";var o=n(9),r=n(71),a=n(47),i=n(25),c=n(33),l=n(15),u=n(119),d=Object.getOwnPropertyDescriptor;t.f=o?d:function(e,t){if(e=i(e),t=c(t,!0),u)try{return d(e,t)}catch(n){}if(l(e,t))return a(!r.f.call(e,t),e[t])}},function(e,t,n){"use strict";t.__esModule=!0,t.buildQueryString=t.decodeHtmlEntities=t.toTitleCase=t.capitalize=t.testGlobPattern=t.multiline=void 0;t.multiline=function o(e){if(Array.isArray(e))return o(e.join(""));var t,n=e.split("\n"),r=n,a=Array.isArray(r),i=0;for(r=a?r:r[Symbol.iterator]();;){var c;if(a){if(i>=r.length)break;c=r[i++]}else{if((i=r.next()).done)break;c=i.value}for(var l=c,u=0;u",apos:"'"};return e.replace(/
/gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(/&(nbsp|amp|quot|lt|gt|apos);/g,(function(e,n){return t[n]})).replace(/&#?([0-9]+);/gi,(function(e,t){var n=parseInt(t,10);return String.fromCharCode(n)})).replace(/&#x?([0-9a-f]+);/gi,(function(e,t){var n=parseInt(t,16);return String.fromCharCode(n)}))};t.buildQueryString=function(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}},function(e,t,n){"use strict";t.__esModule=!0,t.zipWith=t.zip=t.reduce=t.sortBy=t.map=t.toArray=void 0;t.toArray=function(e){if(Array.isArray(e))return e;if("object"==typeof e){var t=Object.prototype.hasOwnProperty,n=[];for(var o in e)t.call(e,o)&&n.push(e[o]);return n}return[]};var o=function(e){return function(t){if(null===t&&t===undefined)return t;if(Array.isArray(t)){for(var n=[],o=0;oc)return 1}return 0};t.sortBy=function(){for(var e=arguments.length,t=new Array(e),n=0;n"+i+""}},function(e,t,n){"use strict";var o=n(4);e.exports=function(e){return o((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}},function(e,t,n){"use strict";var o=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:o)(e)}},function(e,t,n){"use strict";e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t,n){"use strict";var o={}.toString;e.exports=function(e){return o.call(e).slice(8,-1)}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e,t){if(!o(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){"use strict";var o,r,a,i=n(121),c=n(5),l=n(6),u=n(26),d=n(15),s=n(72),p=n(59),m=c.WeakMap;if(i){var f=new m,h=f.get,C=f.has,g=f.set;o=function(e,t){return g.call(f,e,t),t},r=function(e){return h.call(f,e)||{}},a=function(e){return C.call(f,e)}}else{var b=s("state");p[b]=!0,o=function(e,t){return u(e,b,t),t},r=function(e){return d(e,b)?e[b]:{}},a=function(e){return d(e,b)}}e.exports={set:o,get:r,has:a,enforce:function(e){return a(e)?r(e):o(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=r(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){"use strict";var o=n(123),r=n(5),a=function(e){return"function"==typeof e?e:undefined};e.exports=function(e,t){return arguments.length<2?a(o[e])||a(r[e]):o[e]&&o[e][t]||r[e]&&r[e][t]}},function(e,t,n){"use strict";var o=n(15),r=n(14),a=n(72),i=n(102),c=a("IE_PROTO"),l=Object.prototype;e.exports=i?Object.getPrototypeOf:function(e){return e=r(e),o(e,c)?e[c]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},function(e,t,n){"use strict";t.__esModule=!0,t.getGasColor=t.getGasLabel=t.RADIO_CHANNELS=t.CSS_COLORS=t.COLORS=t.UI_CLOSE=t.UI_DISABLED=t.UI_UPDATE=t.UI_INTERACTIVE=void 0;t.UI_INTERACTIVE=2;t.UI_UPDATE=1;t.UI_DISABLED=0;t.UI_CLOSE=-1;t.COLORS={department:{captain:"#c06616",security:"#e74c3c",medbay:"#3498db",science:"#9b59b6",engineering:"#f1c40f",cargo:"#f39c12",centcom:"#00c100",other:"#c38312"},damageType:{oxy:"#3498db",toxin:"#2ecc71",burn:"#e67e22",brute:"#e74c3c"}};t.CSS_COLORS=["black","white","red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","good","average","bad","label"];t.RADIO_CHANNELS=[{name:"Syndicate",freq:1213,color:"#a52a2a"},{name:"Red Team",freq:1215,color:"#ff4444"},{name:"Blue Team",freq:1217,color:"#3434fd"},{name:"CentCom",freq:1337,color:"#2681a5"},{name:"Supply",freq:1347,color:"#b88646"},{name:"Service",freq:1349,color:"#6ca729"},{name:"Science",freq:1351,color:"#c68cfa"},{name:"Command",freq:1353,color:"#5177ff"},{name:"Medical",freq:1355,color:"#57b8f0"},{name:"Engineering",freq:1357,color:"#f37746"},{name:"Security",freq:1359,color:"#dd3535"},{name:"AI Private",freq:1447,color:"#d65d95"},{name:"Common",freq:1459,color:"#1ecc43"}];var o=[{id:"o2",name:"Oxygen",label:"O\u2082",color:"blue"},{id:"n2",name:"Nitrogen",label:"N\u2082",color:"red"},{id:"co2",name:"Carbon Dioxide",label:"CO\u2082",color:"grey"},{id:"plasma",name:"Plasma",label:"Plasma",color:"pink"},{id:"water_vapor",name:"Water Vapor",label:"H\u2082O",color:"grey"},{id:"nob",name:"Hyper-noblium",label:"Hyper-nob",color:"teal"},{id:"n2o",name:"Nitrous Oxide",label:"N\u2082O",color:"red"},{id:"no2",name:"Nitryl",label:"NO\u2082",color:"brown"},{id:"tritium",name:"Tritium",label:"Tritium",color:"green"},{id:"bz",name:"BZ",label:"BZ",color:"purple"},{id:"stim",name:"Stimulum",label:"Stimulum",color:"purple"},{id:"pluox",name:"Pluoxium",label:"Pluoxium",color:"blue"},{id:"miasma",name:"Miasma",label:"Miasma",color:"olive"}];t.getGasLabel=function(e,t){var n=String(e).toLowerCase(),r=o.find((function(e){return e.id===n||e.name.toLowerCase()===n}));return r&&r.label||t||e};t.getGasColor=function(e){var t=String(e).toLowerCase(),n=o.find((function(e){return e.id===t||e.name.toLowerCase()===t}));return n&&n.color}},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var o=n(4);e.exports=function(e,t){var n=[][e];return!n||!o((function(){n.call(null,t||function(){throw 1},1)}))}},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(9),i=n(113),c=n(7),l=n(77),u=n(55),d=n(47),s=n(26),p=n(10),m=n(137),f=n(151),h=n(33),C=n(15),g=n(74),b=n(6),N=n(42),v=n(53),V=n(48).f,y=n(152),_=n(17).forEach,x=n(54),k=n(13),L=n(20),B=n(34),w=n(79),S=B.get,I=B.set,T=k.f,A=L.f,P=Math.round,E=r.RangeError,M=l.ArrayBuffer,O=l.DataView,R=c.NATIVE_ARRAY_BUFFER_VIEWS,F=c.TYPED_ARRAY_TAG,D=c.TypedArray,j=c.TypedArrayPrototype,z=c.aTypedArrayConstructor,H=c.isTypedArray,G=function(e,t){for(var n=0,o=t.length,r=new(z(e))(o);o>n;)r[n]=t[n++];return r},U=function(e,t){T(e,t,{get:function(){return S(this)[t]}})},K=function(e){var t;return e instanceof M||"ArrayBuffer"==(t=g(e))||"SharedArrayBuffer"==t},Y=function(e,t){return H(e)&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},W=function(e,t){return Y(e,t=h(t,!0))?d(2,e[t]):A(e,t)},q=function(e,t,n){return!(Y(e,t=h(t,!0))&&b(n)&&C(n,"value"))||C(n,"get")||C(n,"set")||n.configurable||C(n,"writable")&&!n.writable||C(n,"enumerable")&&!n.enumerable?T(e,t,n):(e[t]=n.value,e)};a?(R||(L.f=W,k.f=q,U(j,"buffer"),U(j,"byteOffset"),U(j,"byteLength"),U(j,"length")),o({target:"Object",stat:!0,forced:!R},{getOwnPropertyDescriptor:W,defineProperty:q}),e.exports=function(e,t,n){var a=e.match(/\d+$/)[0]/8,c=e+(n?"Clamped":"")+"Array",l="get"+e,d="set"+e,h=r[c],C=h,g=C&&C.prototype,k={},L=function(e,t){var n=S(e);return n.view[l](t*a+n.byteOffset,!0)},B=function(e,t,o){var r=S(e);n&&(o=(o=P(o))<0?0:o>255?255:255&o),r.view[d](t*a+r.byteOffset,o,!0)},A=function(e,t){T(e,t,{get:function(){return L(this,t)},set:function(e){return B(this,t,e)},enumerable:!0})};R?i&&(C=t((function(e,t,n,o){return u(e,C,c),w(b(t)?K(t)?o!==undefined?new h(t,f(n,a),o):n!==undefined?new h(t,f(n,a)):new h(t):H(t)?G(C,t):y.call(C,t):new h(m(t)),e,C)})),v&&v(C,D),_(V(h),(function(e){e in C||s(C,e,h[e])})),C.prototype=g):(C=t((function(e,t,n,o){u(e,C,c);var r,i,l,d=0,s=0;if(b(t)){if(!K(t))return H(t)?G(C,t):y.call(C,t);r=t,s=f(n,a);var h=t.byteLength;if(o===undefined){if(h%a)throw E("Wrong length");if((i=h-s)<0)throw E("Wrong length")}else if((i=p(o)*a)+s>h)throw E("Wrong length");l=i/a}else l=m(t),r=new M(i=l*a);for(I(e,{buffer:r,byteOffset:s,byteLength:i,length:l,view:new O(r)});ddocument.F=Object<\/script>"),e.close(),p=e.F;n--;)delete p[d][a[n]];return p()};e.exports=Object.create||function(e,t){var n;return null!==e?(s[d]=o(e),n=new s,s[d]=null,n[u]=e):n=p(),t===undefined?n:r(n,t)},i[u]=!0},function(e,t,n){"use strict";var o=n(13).f,r=n(15),a=n(12)("toStringTag");e.exports=function(e,t,n){e&&!r(e=n?e:e.prototype,a)&&o(e,a,{configurable:!0,value:t})}},function(e,t,n){"use strict";var o=n(12),r=n(42),a=n(26),i=o("unscopables"),c=Array.prototype;c[i]==undefined&&a(c,i,r(null)),e.exports=function(e){c[i][e]=!0}},function(e,t,n){"use strict";var o=n(8),r=n(31),a=n(12)("species");e.exports=function(e,t){var n,i=o(e).constructor;return i===undefined||(n=o(i)[a])==undefined?t:r(n)}},function(e,t,n){"use strict";t.__esModule=!0,t.createLogger=void 0;n(154);var o=n(16),r=0,a=1,i=2,c=3,l=4,u=function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a=i){var c=[t].concat(r).map((function(e){return"string"==typeof e?e:e instanceof Error?e.stack||String(e):JSON.stringify(e)})).filter((function(e){return e})).join(" ")+"\nUser Agent: "+navigator.userAgent;(0,o.act)(window.__ref__,"tgui:log",{log:c})}};t.createLogger=function(e){return{debug:function(){for(var t=arguments.length,n=new Array(t),o=0;od;)if((c=l[d++])!=c)return!0}else for(;u>d;d++)if((e||d in l)&&l[d]===n)return e||d||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},function(e,t,n){"use strict";var o=n(4),r=/#|\.prototype\./,a=function(e,t){var n=c[i(e)];return n==u||n!=l&&("function"==typeof t?o(t):!!t)},i=a.normalize=function(e){return String(e).replace(r,".").toLowerCase()},c=a.data={},l=a.NATIVE="N",u=a.POLYFILL="P";e.exports=a},function(e,t,n){"use strict";var o=n(124),r=n(93);e.exports=Object.keys||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(6),r=n(52),a=n(12)("species");e.exports=function(e,t){var n;return r(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!r(n.prototype)?o(n)&&null===(n=n[a])&&(n=undefined):n=undefined),new(n===undefined?Array:n)(0===t?0:t)}},function(e,t,n){"use strict";var o=n(4),r=n(12),a=n(96),i=r("species");e.exports=function(e){return a>=51||!o((function(){var t=[];return(t.constructor={})[i]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var o=n(24);e.exports=function(e,t,n){for(var r in t)o(e,r,t[r],n);return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(e,t,n){"use strict";var o=n(8),r=n(98),a=n(10),i=n(49),c=n(99),l=n(132),u=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,t,n,d,s){var p,m,f,h,C,g,b,N=i(t,n,d?2:1);if(s)p=e;else{if("function"!=typeof(m=c(e)))throw TypeError("Target is not iterable");if(r(m)){for(f=0,h=a(e.length);h>f;f++)if((C=d?N(o(b=e[f])[0],b[1]):N(e[f]))&&C instanceof u)return C;return new u(!1)}p=m.call(e)}for(g=p.next;!(b=g.call(p)).done;)if("object"==typeof(C=l(p,N,b.value,d))&&C&&C instanceof u)return C;return new u(!1)}).stop=function(e){return new u(!0,e)}},function(e,t,n){"use strict";t.__esModule=!0,t.InterfaceLockNoticeBox=void 0;var o=n(1),r=n(2);t.InterfaceLockNoticeBox=function(e){var t=e.siliconUser,n=e.locked,a=e.onLockStatusChange,i=e.accessText;return t?(0,o.createComponentVNode)(2,r.NoticeBox,{children:(0,o.createComponentVNode)(2,r.Flex,{align:"center",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{children:"Interface lock status:"}),(0,o.createComponentVNode)(2,r.Flex.Item,{grow:1}),(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Button,{m:0,color:"gray",icon:n?"lock":"unlock",content:n?"Locked":"Unlocked",onClick:function(){a&&a(!n)}})})]})}):(0,o.createComponentVNode)(2,r.NoticeBox,{children:["Swipe ",i||"an ID card"," ","to ",n?"unlock":"lock"," this interface."]})}},function(e,t,n){"use strict";t.__esModule=!0,t.compose=t.flow=void 0;t.flow=function o(){for(var e=arguments.length,t=new Array(e),n=0;n1?r-1:0),i=1;i=c.length)break;d=c[u++]}else{if((u=c.next()).done)break;d=u.value}var s=d;Array.isArray(s)?n=o.apply(void 0,s).apply(void 0,[n].concat(a)):s&&(n=s.apply(void 0,[n].concat(a)))}return n}};t.compose=function(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;a=0:s>p;p+=m)p in d&&(l=n(l,d[p],p,u));return l}};e.exports={left:c(!1),right:c(!0)}},function(e,t,n){"use strict";var o=n(5),r=n(9),a=n(7).NATIVE_ARRAY_BUFFER,i=n(26),c=n(66),l=n(4),u=n(55),d=n(30),s=n(10),p=n(137),m=n(218),f=n(48).f,h=n(13).f,C=n(97),g=n(43),b=n(34),N=b.get,v=b.set,V="ArrayBuffer",y="DataView",_="Wrong length",x=o[V],k=x,L=o[y],B=o.RangeError,w=m.pack,S=m.unpack,I=function(e){return[255&e]},T=function(e){return[255&e,e>>8&255]},A=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},P=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},E=function(e){return w(e,23,4)},M=function(e){return w(e,52,8)},O=function(e,t){h(e.prototype,t,{get:function(){return N(this)[t]}})},R=function(e,t,n,o){var r=p(n),a=N(e);if(r+t>a.byteLength)throw B("Wrong index");var i=N(a.buffer).bytes,c=r+a.byteOffset,l=i.slice(c,c+t);return o?l:l.reverse()},F=function(e,t,n,o,r,a){var i=p(n),c=N(e);if(i+t>c.byteLength)throw B("Wrong index");for(var l=N(c.buffer).bytes,u=i+c.byteOffset,d=o(+r),s=0;sH;)(D=z[H++])in k||i(k,D,x[D]);j.constructor=k}var G=new L(new k(2)),U=L.prototype.setInt8;G.setInt8(0,2147483648),G.setInt8(1,2147483649),!G.getInt8(0)&&G.getInt8(1)||c(L.prototype,{setInt8:function(e,t){U.call(this,e,t<<24>>24)},setUint8:function(e,t){U.call(this,e,t<<24>>24)}},{unsafe:!0})}else k=function(e){u(this,k,V);var t=p(e);v(this,{bytes:C.call(new Array(t),0),byteLength:t}),r||(this.byteLength=t)},L=function(e,t,n){u(this,L,y),u(e,k,y);var o=N(e).byteLength,a=d(t);if(a<0||a>o)throw B("Wrong offset");if(a+(n=n===undefined?o-a:s(n))>o)throw B(_);v(this,{buffer:e,byteLength:n,byteOffset:a}),r||(this.buffer=e,this.byteLength=n,this.byteOffset=a)},r&&(O(k,"byteLength"),O(L,"buffer"),O(L,"byteLength"),O(L,"byteOffset")),c(L.prototype,{getInt8:function(e){return R(this,1,e)[0]<<24>>24},getUint8:function(e){return R(this,1,e)[0]},getInt16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return t[1]<<8|t[0]},getInt32:function(e){return P(R(this,4,e,arguments.length>1?arguments[1]:undefined))},getUint32:function(e){return P(R(this,4,e,arguments.length>1?arguments[1]:undefined))>>>0},getFloat32:function(e){return S(R(this,4,e,arguments.length>1?arguments[1]:undefined),23)},getFloat64:function(e){return S(R(this,8,e,arguments.length>1?arguments[1]:undefined),52)},setInt8:function(e,t){F(this,1,e,I,t)},setUint8:function(e,t){F(this,1,e,I,t)},setInt16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setUint16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setInt32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setUint32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setFloat32:function(e,t){F(this,4,e,E,t,arguments.length>2?arguments[2]:undefined)},setFloat64:function(e,t){F(this,8,e,M,t,arguments.length>2?arguments[2]:undefined)}});g(k,V),g(L,y),e.exports={ArrayBuffer:k,DataView:L}},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(61),i=n(24),c=n(51),l=n(68),u=n(55),d=n(6),s=n(4),p=n(75),m=n(43),f=n(79);e.exports=function(e,t,n){var h=-1!==e.indexOf("Map"),C=-1!==e.indexOf("Weak"),g=h?"set":"add",b=r[e],N=b&&b.prototype,v=b,V={},y=function(e){var t=N[e];i(N,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(C&&!d(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return C&&!d(e)?undefined:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(C&&!d(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(a(e,"function"!=typeof b||!(C||N.forEach&&!s((function(){(new b).entries().next()})))))v=n.getConstructor(t,e,h,g),c.REQUIRED=!0;else if(a(e,!0)){var _=new v,x=_[g](C?{}:-0,1)!=_,k=s((function(){_.has(1)})),L=p((function(e){new b(e)})),B=!C&&s((function(){for(var e=new b,t=5;t--;)e[g](t,t);return!e.has(-0)}));L||((v=t((function(t,n){u(t,v,e);var o=f(new b,t,v);return n!=undefined&&l(n,o[g],o,h),o}))).prototype=N,N.constructor=v),(k||B)&&(y("delete"),y("has"),h&&y("get")),(B||x)&&y(g),C&&N.clear&&delete N.clear}return V[e]=v,o({global:!0,forced:v!=b},V),m(v,e),C||n.setStrong(v,e,h),v}},function(e,t,n){"use strict";var o=n(6),r=n(53);e.exports=function(e,t,n){var a,i;return r&&"function"==typeof(a=t.constructor)&&a!==n&&o(i=a.prototype)&&i!==n.prototype&&r(e,i),e}},function(e,t,n){"use strict";var o=Math.expm1,r=Math.exp;e.exports=!o||o(10)>22025.465794806718||o(10)<22025.465794806718||-2e-17!=o(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:r(e)-1}:o},function(e,t,n){"use strict";e.exports="\t\n\x0B\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},function(e,t,n){"use strict";var o=n(38),r=n(5),a=n(4);e.exports=o||!a((function(){var e=Math.random();__defineSetter__.call(null,e,(function(){})),delete r[e]}))},function(e,t,n){"use strict";var o=n(8);e.exports=function(){var e=o(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,n){"use strict";var o,r,a=n(83),i=RegExp.prototype.exec,c=String.prototype.replace,l=i,u=(o=/a/,r=/b*/g,i.call(o,"a"),i.call(r,"a"),0!==o.lastIndex||0!==r.lastIndex),d=/()??/.exec("")[1]!==undefined;(u||d)&&(l=function(e){var t,n,o,r,l=this;return d&&(n=new RegExp("^"+l.source+"$(?!\\s)",a.call(l))),u&&(t=l.lastIndex),o=i.call(l,e),u&&o&&(l.lastIndex=l.global?o.index+o[0].length:t),d&&o&&o.length>1&&c.call(o[0],n,(function(){for(r=1;r")})),d=!a((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));e.exports=function(e,t,n,s){var p=i(e),m=!a((function(){var t={};return t[p]=function(){return 7},7!=""[e](t)})),f=m&&!a((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[l]=function(){return n},n.flags="",n[p]=/./[p]),n.exec=function(){return t=!0,null},n[p](""),!t}));if(!m||!f||"replace"===e&&!u||"split"===e&&!d){var h=/./[p],C=n(p,""[e],(function(e,t,n,o,r){return t.exec===c?m&&!r?{done:!0,value:h.call(t,n,o)}:{done:!0,value:e.call(n,t,o)}:{done:!1}})),g=C[0],b=C[1];r(String.prototype,e,g),r(RegExp.prototype,p,2==t?function(e,t){return b.call(e,this,t)}:function(e){return b.call(e,this)}),s&&o(RegExp.prototype[p],"sham",!0)}}},function(e,t,n){"use strict";var o=n(32),r=n(84);e.exports=function(e,t){var n=e.exec;if("function"==typeof n){var a=n.call(e,t);if("object"!=typeof a)throw TypeError("RegExp exec method returned something other than an Object or null");return a}if("RegExp"!==o(e))throw TypeError("RegExp#exec called on incompatible receiver");return r.call(e,t)}},function(e,t,n){"use strict";t.__esModule=!0,t.Icon=void 0;var o=n(1),r=n(11),a=n(19);var i=/-o$/,c=function(e){var t=e.name,n=e.size,c=e.spin,l=e.className,u=e.style,d=void 0===u?{}:u,s=e.rotation,p=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["name","size","spin","className","style","rotation"]);n&&(d["font-size"]=100*n+"%"),"number"==typeof s&&(d.transform="rotate("+s+"deg)");var m=i.test(t),f=t.replace(i,"");return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"i",className:(0,r.classes)([l,m?"far":"fas","fa-"+f,c&&"fa-spin"]),style:d},p)))};t.Icon=c,c.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";var o=n(5),r=n(6),a=o.document,i=r(a)&&r(a.createElement);e.exports=function(e){return i?a.createElement(e):{}}},function(e,t,n){"use strict";var o=n(5),r=n(26);e.exports=function(e,t){try{r(o,e,t)}catch(n){o[e]=t}return t}},function(e,t,n){"use strict";var o=n(120),r=Function.toString;"function"!=typeof o.inspectSource&&(o.inspectSource=function(e){return r.call(e)}),e.exports=o.inspectSource},function(e,t,n){"use strict";var o=n(38),r=n(120);(e.exports=function(e,t){return r[e]||(r[e]=t!==undefined?t:{})})("versions",[]).push({version:"3.4.8",mode:o?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){"use strict";var o=n(35),r=n(48),a=n(94),i=n(8);e.exports=o("Reflect","ownKeys")||function(e){var t=r.f(i(e)),n=a.f;return n?t.concat(n(e)):t}},function(e,t,n){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";var o=n(4);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){return!String(Symbol())}))},function(e,t,n){"use strict";var o,r,a=n(5),i=n(73),c=a.process,l=c&&c.versions,u=l&&l.v8;u?r=(o=u.split("."))[0]+o[1]:i&&(!(o=i.match(/Edge\/(\d+)/))||o[1]>=74)&&(o=i.match(/Chrome\/(\d+)/))&&(r=o[1]),e.exports=r&&+r},function(e,t,n){"use strict";var o=n(14),r=n(41),a=n(10);e.exports=function(e){for(var t=o(this),n=a(t.length),i=arguments.length,c=r(i>1?arguments[1]:undefined,n),l=i>2?arguments[2]:undefined,u=l===undefined?n:r(l,n);u>c;)t[c++]=e;return t}},function(e,t,n){"use strict";var o=n(12),r=n(65),a=o("iterator"),i=Array.prototype;e.exports=function(e){return e!==undefined&&(r.Array===e||i[a]===e)}},function(e,t,n){"use strict";var o=n(74),r=n(65),a=n(12)("iterator");e.exports=function(e){if(e!=undefined)return e[a]||e["@@iterator"]||r[o(e)]}},function(e,t,n){"use strict";var o={};o[n(12)("toStringTag")]="z",e.exports="[object z]"===String(o)},function(e,t,n){"use strict";var o=n(0),r=n(203),a=n(36),i=n(53),c=n(43),l=n(26),u=n(24),d=n(12),s=n(38),p=n(65),m=n(134),f=m.IteratorPrototype,h=m.BUGGY_SAFARI_ITERATORS,C=d("iterator"),g=function(){return this};e.exports=function(e,t,n,d,m,b,N){r(n,t,d);var v,V,y,_=function(e){if(e===m&&w)return w;if(!h&&e in L)return L[e];switch(e){case"keys":case"values":case"entries":return function(){return new n(this,e)}}return function(){return new n(this)}},x=t+" Iterator",k=!1,L=e.prototype,B=L[C]||L["@@iterator"]||m&&L[m],w=!h&&B||_(m),S="Array"==t&&L.entries||B;if(S&&(v=a(S.call(new e)),f!==Object.prototype&&v.next&&(s||a(v)===f||(i?i(v,f):"function"!=typeof v[C]&&l(v,C,g)),c(v,x,!0,!0),s&&(p[x]=g))),"values"==m&&B&&"values"!==B.name&&(k=!0,w=function(){return B.call(this)}),s&&!N||L[C]===w||l(L,C,w),p[t]=w,m)if(V={values:_("values"),keys:b?w:_("keys"),entries:_("entries")},N)for(y in V)!h&&!k&&y in L||u(L,y,V[y]);else o({target:t,proto:!0,forced:h||k},V);return V}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},function(e,t,n){"use strict";var o=n(10),r=n(104),a=n(23),i=Math.ceil,c=function(e){return function(t,n,c){var l,u,d=String(a(t)),s=d.length,p=c===undefined?" ":String(c),m=o(n);return m<=s||""==p?d:(l=m-s,(u=r.call(p,i(l/p.length))).length>l&&(u=u.slice(0,l)),e?d+u:u+d)}};e.exports={start:c(!1),end:c(!0)}},function(e,t,n){"use strict";var o=n(30),r=n(23);e.exports="".repeat||function(e){var t=String(r(this)),n="",a=o(e);if(a<0||a==Infinity)throw RangeError("Wrong number of repetitions");for(;a>0;(a>>>=1)&&(t+=t))1&a&&(n+=t);return n}},function(e,t,n){"use strict";e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t,n){"use strict";var o,r,a,i=n(5),c=n(4),l=n(32),u=n(49),d=n(127),s=n(88),p=n(146),m=i.location,f=i.setImmediate,h=i.clearImmediate,C=i.process,g=i.MessageChannel,b=i.Dispatch,N=0,v={},V=function(e){if(v.hasOwnProperty(e)){var t=v[e];delete v[e],t()}},y=function(e){return function(){V(e)}},_=function(e){V(e.data)},x=function(e){i.postMessage(e+"",m.protocol+"//"+m.host)};f&&h||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return v[++N]=function(){("function"==typeof e?e:Function(e)).apply(undefined,t)},o(N),N},h=function(e){delete v[e]},"process"==l(C)?o=function(e){C.nextTick(y(e))}:b&&b.now?o=function(e){b.now(y(e))}:g&&!p?(a=(r=new g).port2,r.port1.onmessage=_,o=u(a.postMessage,a,1)):!i.addEventListener||"function"!=typeof postMessage||i.importScripts||c(x)?o="onreadystatechange"in s("script")?function(e){d.appendChild(s("script")).onreadystatechange=function(){d.removeChild(this),V(e)}}:function(e){setTimeout(y(e),0)}:(o=x,i.addEventListener("message",_,!1))),e.exports={set:f,clear:h}},function(e,t,n){"use strict";var o=n(6),r=n(32),a=n(12)("match");e.exports=function(e){var t;return o(e)&&((t=e[a])!==undefined?!!t:"RegExp"==r(e))}},function(e,t,n){"use strict";var o=n(30),r=n(23),a=function(e){return function(t,n){var a,i,c=String(r(t)),l=o(n),u=c.length;return l<0||l>=u?e?"":undefined:(a=c.charCodeAt(l))<55296||a>56319||l+1===u||(i=c.charCodeAt(l+1))<56320||i>57343?e?c.charAt(l):a:e?c.slice(l,l+2):i-56320+(a-55296<<10)+65536}};e.exports={codeAt:a(!1),charAt:a(!0)}},function(e,t,n){"use strict";var o=n(107);e.exports=function(e){if(o(e))throw TypeError("The method doesn't accept regular expressions");return e}},function(e,t,n){"use strict";var o=n(12)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[o]=!1,"/./"[e](t)}catch(r){}}return!1}},function(e,t,n){"use strict";var o=n(108).charAt;e.exports=function(e,t,n){return t+(n?o(e,t).length:1)}},function(e,t,n){"use strict";var o=n(4),r=n(81);e.exports=function(e){return o((function(){return!!r[e]()||"\u200b\x85\u180e"!="\u200b\x85\u180e"[e]()||r[e].name!==e}))}},function(e,t,n){"use strict";var o=n(5),r=n(4),a=n(75),i=n(7).NATIVE_ARRAY_BUFFER_VIEWS,c=o.ArrayBuffer,l=o.Int8Array;e.exports=!i||!r((function(){l(1)}))||!r((function(){new l(-1)}))||!a((function(e){new l,new l(null),new l(1.5),new l(e)}),!0)||r((function(){return 1!==new l(new c(2),1,undefined).length}))},function(e,t,n){"use strict";t.__esModule=!0,t.ButtonInput=t.ButtonConfirm=t.ButtonCheckbox=t.Button=void 0;var o=n(1),r=n(11),a=n(16),i=n(115),c=n(46),l=n(116),u=n(19),d=n(87),s=n(159);n(160),n(161);function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function m(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var f=(0,c.createLogger)("Button"),h=function(e){var t=e.className,n=e.fluid,c=e.icon,p=e.color,h=e.disabled,C=e.selected,g=e.tooltip,b=e.tooltipPosition,N=e.ellipsis,v=e.content,V=e.iconRotation,y=e.iconSpin,_=e.children,x=e.onclick,k=e.onClick,L=m(e,["className","fluid","icon","color","disabled","selected","tooltip","tooltipPosition","ellipsis","content","iconRotation","iconSpin","children","onclick","onClick"]),B=!(!v&&!_);return x&&f.warn("Lowercase 'onclick' is not supported on Button and lowercase prop names are discouraged in general. Please use a camelCase'onClick' instead and read: https://infernojs.org/docs/guides/event-handling"),(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({as:"span",className:(0,r.classes)(["Button",n&&"Button--fluid",h&&"Button--disabled",C&&"Button--selected",B&&"Button--hasContent",N&&"Button--ellipsis",p&&"string"==typeof p?"Button--color--"+p:"Button--color--default",t]),tabIndex:!h&&"0",unselectable:a.tridentVersion<=4,onclick:function(e){(0,l.refocusLayout)(),!h&&k&&k(e)},onKeyDown:function(e){var t=window.event?e.which:e.keyCode;return t===i.KEY_SPACE||t===i.KEY_ENTER?(e.preventDefault(),void(!h&&k&&k(e))):t===i.KEY_ESCAPE?(e.preventDefault(),void(0,l.refocusLayout)()):void 0}},L,{children:[c&&(0,o.createComponentVNode)(2,d.Icon,{name:c,rotation:V,spin:y}),v,_,g&&(0,o.createComponentVNode)(2,s.Tooltip,{content:g,position:b})]})))};t.Button=h,h.defaultHooks=r.pureComponentHooks;var C=function(e){var t=e.checked,n=m(e,["checked"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({color:"transparent",icon:t?"check-square-o":"square-o",selected:t},n)))};t.ButtonCheckbox=C,h.Checkbox=C;var g=function(e){function t(){var t;return(t=e.call(this)||this).state={clickedOnce:!1},t.handleClick=function(){t.state.clickedOnce&&t.setClickedOnce(!1)},t}p(t,e);var n=t.prototype;return n.setClickedOnce=function(e){var t=this;this.setState({clickedOnce:e}),e?setTimeout((function(){return window.addEventListener("click",t.handleClick)})):window.removeEventListener("click",this.handleClick)},n.render=function(){var e=this,t=this.props,n=t.confirmMessage,r=void 0===n?"Confirm?":n,a=t.confirmColor,i=void 0===a?"bad":a,c=t.color,l=t.content,u=t.onClick,d=m(t,["confirmMessage","confirmColor","color","content","onClick"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({content:this.state.clickedOnce?r:l,color:this.state.clickedOnce?i:c,onClick:function(){return e.state.clickedOnce?u():e.setClickedOnce(!0)}},d)))},t}(o.Component);t.ButtonConfirm=g,h.Confirm=g;var b=function(e){function t(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={inInput:!1},t}p(t,e);var n=t.prototype;return n.setInInput=function(e){if(this.setState({inInput:e}),this.inputRef){var t=this.inputRef.current;if(e){t.value=this.props.currentValue||"";try{t.focus(),t.select()}catch(n){}}}},n.commitResult=function(e){if(this.inputRef){var t=this.inputRef.current;if(""!==t.value)return void this.props.onCommit(e,t.value);if(!this.props.defaultValue)return;this.props.onCommit(e,this.props.defaultValue)}},n.render=function(){var e=this,t=this.props,n=t.fluid,a=t.content,c=t.color,l=void 0===c?"default":c,d=(t.placeholder,t.maxLength,m(t,["fluid","content","color","placeholder","maxLength"]));return(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({className:(0,r.classes)(["Button",n&&"Button--fluid","Button--color--"+l])},d,{onClick:function(){return e.setInInput(!0)},children:[(0,o.createVNode)(1,"div",null,a,0),(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:this.state.inInput?undefined:"none","text-align":"left"},onBlur:function(t){e.state.inInput&&(e.setInInput(!1),e.commitResult(t))},onKeyDown:function(t){if(t.keyCode===i.KEY_ENTER)return e.setInInput(!1),void e.commitResult(t);t.keyCode===i.KEY_ESCAPE&&e.setInInput(!1)}},null,this.inputRef)]})))},t}(o.Component);t.ButtonInput=b,h.Input=b},function(e,t,n){"use strict";t.__esModule=!0,t.hotKeyReducer=t.hotKeyMiddleware=t.releaseHeldKeys=t.KEY_MINUS=t.KEY_EQUAL=t.KEY_Z=t.KEY_Y=t.KEY_X=t.KEY_W=t.KEY_V=t.KEY_U=t.KEY_T=t.KEY_S=t.KEY_R=t.KEY_Q=t.KEY_P=t.KEY_O=t.KEY_N=t.KEY_M=t.KEY_L=t.KEY_K=t.KEY_J=t.KEY_I=t.KEY_H=t.KEY_G=t.KEY_F=t.KEY_E=t.KEY_D=t.KEY_C=t.KEY_B=t.KEY_A=t.KEY_9=t.KEY_8=t.KEY_7=t.KEY_6=t.KEY_5=t.KEY_4=t.KEY_3=t.KEY_2=t.KEY_1=t.KEY_0=t.KEY_SPACE=t.KEY_ESCAPE=t.KEY_ALT=t.KEY_CTRL=t.KEY_SHIFT=t.KEY_ENTER=t.KEY_TAB=t.KEY_BACKSPACE=void 0;var o=n(46),r=n(16),a=(0,o.createLogger)("hotkeys");t.KEY_BACKSPACE=8;t.KEY_TAB=9;t.KEY_ENTER=13;t.KEY_SHIFT=16;t.KEY_CTRL=17;t.KEY_ALT=18;t.KEY_ESCAPE=27;t.KEY_SPACE=32;t.KEY_0=48;t.KEY_1=49;t.KEY_2=50;t.KEY_3=51;t.KEY_4=52;t.KEY_5=53;t.KEY_6=54;t.KEY_7=55;t.KEY_8=56;t.KEY_9=57;t.KEY_A=65;t.KEY_B=66;t.KEY_C=67;t.KEY_D=68;t.KEY_E=69;t.KEY_F=70;t.KEY_G=71;t.KEY_H=72;t.KEY_I=73;t.KEY_J=74;t.KEY_K=75;t.KEY_L=76;t.KEY_M=77;t.KEY_N=78;t.KEY_O=79;t.KEY_P=80;t.KEY_Q=81;t.KEY_R=82;t.KEY_S=83;t.KEY_T=84;t.KEY_U=85;t.KEY_V=86;t.KEY_W=87;t.KEY_X=88;t.KEY_Y=89;t.KEY_Z=90;t.KEY_EQUAL=187;t.KEY_MINUS=189;var i=[17,18,16],c=[27,13,32,9,17,16],l={},u=function(e,t,n,o){var r="";return e&&(r+="Ctrl+"),t&&(r+="Alt+"),n&&(r+="Shift+"),r+=o>=48&&o<=90?String.fromCharCode(o):"["+o+"]"},d=function(e){var t=window.event?e.which:e.keyCode,n=e.ctrlKey,o=e.altKey,r=e.shiftKey;return{keyCode:t,ctrlKey:n,altKey:o,shiftKey:r,hasModifierKeys:n||o||r,keyString:u(n,o,r,t)}},s=function(){for(var e=0,t=Object.keys(l);e4&&function(e,t){if(!e.defaultPrevented){var n=e.target&&e.target.localName;if("input"!==n&&"textarea"!==n){var o=d(e),i=o.keyCode,u=o.ctrlKey,s=o.shiftKey;u||s||c.includes(i)||("keydown"!==t||l[i]?"keyup"===t&&l[i]&&(a.debug("passthrough",t,o),(0,r.callByond)("",{__keyup:i})):(a.debug("passthrough",t,o),(0,r.callByond)("",{__keydown:i})))}}}(e,t),function(e,t,n){if("keyup"===t){var o=d(e),r=o.ctrlKey,c=o.altKey,l=o.keyCode,u=o.hasModifierKeys,s=o.keyString;u&&!i.includes(l)&&(a.log(s),r&&c&&8===l&&setTimeout((function(){throw new Error("OOPSIE WOOPSIE!! UwU We made a fucky wucky!! A wittle fucko boingo! The code monkeys at our headquarters are working VEWY HAWD to fix this!")})),n({type:"hotKey",payload:o}))}}(e,t,n)},document.addEventListener("keydown",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keydown"),l[n]=!0})),document.addEventListener("keyup",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keyup"),l[n]=!1})),r.tridentVersion>4&&function(e){var t;document.addEventListener("focusout",(function(){t=setTimeout(e)})),document.addEventListener("focusin",(function(){clearTimeout(t)})),window.addEventListener("beforeunload",e)}((function(){s()})),function(e){return function(t){return e(t)}}};t.hotKeyReducer=function(e,t){var n=t.type,o=t.payload;if("hotKey"===n){var r=o.ctrlKey,a=o.altKey,i=o.keyCode;return r&&a&&187===i?Object.assign({},e,{showKitchenSink:!e.showKitchenSink}):e}return e}},function(e,t,n){"use strict";t.__esModule=!0,t.refocusLayout=void 0;var o=n(16);t.refocusLayout=function(){if(!(o.tridentVersion<=4)){var e=document.getElementById("Layout__content");e&&e.focus()}}},function(e,t,n){"use strict";t.__esModule=!0,t.toastReducer=t.showToast=t.Toast=void 0;var o,r=n(1),a=n(11),i=function(e){var t=e.content,n=e.children;return(0,r.createVNode)(1,"div","Layout__toast",[t,n],0)};t.Toast=i,i.defaultHooks=a.pureComponentHooks;t.showToast=function(e,t){o&&clearTimeout(o),o=setTimeout((function(){o=undefined,e({type:"hideToast"})}),5e3),e({type:"showToast",payload:{text:t}})};t.toastReducer=function(e,t){var n=t.type,o=t.payload;if("showToast"===n){var r=o.text;return Object.assign({},e,{toastText:r})}return"hideToast"===n?Object.assign({},e,{toastText:null}):e}},function(e,t,n){"use strict";var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(r){"object"==typeof window&&(o=window)}e.exports=o},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(88);e.exports=!o&&!r((function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(5),r=n(89),a=o["__core-js_shared__"]||r("__core-js_shared__",{});e.exports=a},function(e,t,n){"use strict";var o=n(5),r=n(90),a=o.WeakMap;e.exports="function"==typeof a&&/native code/.test(r(a))},function(e,t,n){"use strict";var o=n(15),r=n(92),a=n(20),i=n(13);e.exports=function(e,t){for(var n=r(t),c=i.f,l=a.f,u=0;ul;)o(c,n=t[l++])&&(~a(u,n)||u.push(n));return u}},function(e,t,n){"use strict";var o=n(95);e.exports=o&&!Symbol.sham&&"symbol"==typeof Symbol()},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(8),i=n(62);e.exports=o?Object.defineProperties:function(e,t){a(e);for(var n,o=i(t),c=o.length,l=0;c>l;)r.f(e,n=o[l++],t[n]);return e}},function(e,t,n){"use strict";var o=n(35);e.exports=o("document","documentElement")},function(e,t,n){"use strict";var o=n(25),r=n(48).f,a={}.toString,i="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(e){try{return r(e)}catch(t){return i.slice()}};e.exports.f=function(e){return i&&"[object Window]"==a.call(e)?c(e):r(o(e))}},function(e,t,n){"use strict";var o=n(12);t.f=o},function(e,t,n){"use strict";var o=n(14),r=n(41),a=n(10),i=Math.min;e.exports=[].copyWithin||function(e,t){var n=o(this),c=a(n.length),l=r(e,c),u=r(t,c),d=arguments.length>2?arguments[2]:undefined,s=i((d===undefined?c:r(d,c))-u,c-l),p=1;for(u0;)u in n?n[l]=n[u]:delete n[l],l+=p,u+=p;return n}},function(e,t,n){"use strict";var o=n(52),r=n(10),a=n(49);e.exports=function i(e,t,n,c,l,u,d,s){for(var p,m=l,f=0,h=!!d&&a(d,s,3);f0&&o(p))m=i(e,t,p,r(p.length),m,u-1)-1;else{if(m>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[m]=p}m++}f++}return m}},function(e,t,n){"use strict";var o=n(8);e.exports=function(e,t,n,r){try{return r?t(o(n)[0],n[1]):t(n)}catch(i){var a=e["return"];throw a!==undefined&&o(a.call(e)),i}}},function(e,t,n){"use strict";var o=n(25),r=n(44),a=n(65),i=n(34),c=n(101),l=i.set,u=i.getterFor("Array Iterator");e.exports=c(Array,"Array",(function(e,t){l(this,{type:"Array Iterator",target:o(e),index:0,kind:t})}),(function(){var e=u(this),t=e.target,n=e.kind,o=e.index++;return!t||o>=t.length?(e.target=undefined,{value:undefined,done:!0}):"keys"==n?{value:o,done:!1}:"values"==n?{value:t[o],done:!1}:{value:[o,t[o]],done:!1}}),"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},function(e,t,n){"use strict";var o,r,a,i=n(36),c=n(26),l=n(15),u=n(12),d=n(38),s=u("iterator"),p=!1;[].keys&&("next"in(a=[].keys())?(r=i(i(a)))!==Object.prototype&&(o=r):p=!0),o==undefined&&(o={}),d||l(o,s)||c(o,s,(function(){return this})),e.exports={IteratorPrototype:o,BUGGY_SAFARI_ITERATORS:p}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},function(e,t,n){"use strict";var o=n(25),r=n(30),a=n(10),i=n(39),c=Math.min,l=[].lastIndexOf,u=!!l&&1/[1].lastIndexOf(1,-0)<0,d=i("lastIndexOf");e.exports=u||d?function(e){if(u)return l.apply(this,arguments)||0;var t=o(this),n=a(t.length),i=n-1;for(arguments.length>1&&(i=c(i,r(arguments[1]))),i<0&&(i=n+i);i>=0;i--)if(i in t&&t[i]===e)return i||0;return-1}:l},function(e,t,n){"use strict";var o=n(30),r=n(10);e.exports=function(e){if(e===undefined)return 0;var t=o(e),n=r(t);if(t!==n)throw RangeError("Wrong length or index");return n}},function(e,t,n){"use strict";var o=n(31),r=n(6),a=[].slice,i={},c=function(e,t,n){if(!(t in i)){for(var o=[],r=0;r1?arguments[1]:undefined,3);t=t?t.next:n.first;)for(o(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!g(this,e)}}),a(d.prototype,n?{get:function(e){var t=g(this,e);return t&&t.value},set:function(e,t){return C(this,0===e?0:e,t)}}:{add:function(e){return C(this,e=0===e?0:e,e)}}),s&&o(d.prototype,"size",{get:function(){return m(this).size}}),d},setStrong:function(e,t,n){var o=t+" Iterator",r=h(t),a=h(o);u(e,t,(function(e,t){f(this,{type:o,target:e,state:r(e),kind:t,last:undefined})}),(function(){for(var e=a(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=undefined,{value:undefined,done:!0})}),n?"entries":"values",!n,!0),d(t)}}},function(e,t,n){"use strict";var o=Math.log;e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:o(1+e)}},function(e,t,n){"use strict";var o=n(6),r=Math.floor;e.exports=function(e){return!o(e)&&isFinite(e)&&r(e)===e}},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseInt,c=/^[+-]?0[Xx]/,l=8!==i(a+"08")||22!==i(a+"0x16");e.exports=l?function(e,t){var n=r(String(e));return i(n,t>>>0||(c.test(n)?16:10))}:i},function(e,t,n){"use strict";var o=n(9),r=n(62),a=n(25),i=n(71).f,c=function(e){return function(t){for(var n,c=a(t),l=r(c),u=l.length,d=0,s=[];u>d;)n=l[d++],o&&!i.call(c,n)||s.push(e?[n,c[n]]:c[n]);return s}};e.exports={entries:c(!0),values:c(!1)}},function(e,t,n){"use strict";e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var o=n(5);e.exports=o.Promise},function(e,t,n){"use strict";var o=n(73);e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(o)},function(e,t,n){"use strict";var o,r,a,i,c,l,u,d,s=n(5),p=n(20).f,m=n(32),f=n(106).set,h=n(146),C=s.MutationObserver||s.WebKitMutationObserver,g=s.process,b=s.Promise,N="process"==m(g),v=p(s,"queueMicrotask"),V=v&&v.value;V||(o=function(){var e,t;for(N&&(e=g.domain)&&e.exit();r;){t=r.fn,r=r.next;try{t()}catch(n){throw r?i():a=undefined,n}}a=undefined,e&&e.enter()},N?i=function(){g.nextTick(o)}:C&&!h?(c=!0,l=document.createTextNode(""),new C(o).observe(l,{characterData:!0}),i=function(){l.data=c=!c}):b&&b.resolve?(u=b.resolve(undefined),d=u.then,i=function(){d.call(u,o)}):i=function(){f.call(s,o)}),e.exports=V||function(e){var t={fn:e,next:undefined};a&&(a.next=t),r||(r=t,i()),a=t}},function(e,t,n){"use strict";var o=n(8),r=n(6),a=n(149);e.exports=function(e,t){if(o(e),r(t)&&t.constructor===e)return t;var n=a.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){"use strict";var o=n(31),r=function(e){var t,n;this.promise=new e((function(e,o){if(t!==undefined||n!==undefined)throw TypeError("Bad Promise constructor");t=e,n=o})),this.resolve=o(t),this.reject=o(n)};e.exports.f=function(e){return new r(e)}},function(e,t,n){"use strict";var o=n(73);e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o)},function(e,t,n){"use strict";var o=n(348);e.exports=function(e,t){var n=o(e);if(n%t)throw RangeError("Wrong offset");return n}},function(e,t,n){"use strict";var o=n(14),r=n(10),a=n(99),i=n(98),c=n(49),l=n(7).aTypedArrayConstructor;e.exports=function(e){var t,n,u,d,s,p,m=o(e),f=arguments.length,h=f>1?arguments[1]:undefined,C=h!==undefined,g=a(m);if(g!=undefined&&!i(g))for(p=(s=g.call(m)).next,m=[];!(d=p.call(s)).done;)m.push(d.value);for(C&&f>2&&(h=c(h,arguments[2],2)),n=r(m.length),u=new(l(this))(n),t=0;n>t;t++)u[t]=C?h(m[t],t):m[t];return u}},function(e,t,n){"use strict";var o=n(66),r=n(51).getWeakData,a=n(8),i=n(6),c=n(55),l=n(68),u=n(17),d=n(15),s=n(34),p=s.set,m=s.getterFor,f=u.find,h=u.findIndex,C=0,g=function(e){return e.frozen||(e.frozen=new b)},b=function(){this.entries=[]},N=function(e,t){return f(e.entries,(function(e){return e[0]===t}))};b.prototype={get:function(e){var t=N(this,e);if(t)return t[1]},has:function(e){return!!N(this,e)},set:function(e,t){var n=N(this,e);n?n[1]=t:this.entries.push([e,t])},"delete":function(e){var t=h(this.entries,(function(t){return t[0]===e}));return~t&&this.entries.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,u){var s=e((function(e,o){c(e,s,t),p(e,{type:t,id:C++,frozen:undefined}),o!=undefined&&l(o,e[u],e,n)})),f=m(t),h=function(e,t,n){var o=f(e),i=r(a(t),!0);return!0===i?g(o).set(t,n):i[o.id]=n,e};return o(s.prototype,{"delete":function(e){var t=f(this);if(!i(e))return!1;var n=r(e);return!0===n?g(t)["delete"](e):n&&d(n,t.id)&&delete n[t.id]},has:function(e){var t=f(this);if(!i(e))return!1;var n=r(e);return!0===n?g(t).has(e):n&&d(n,t.id)}}),o(s.prototype,n?{get:function(e){var t=f(this);if(i(e)){var n=r(e);return!0===n?g(t).get(e):n?n[t.id]:undefined}},set:function(e,t){return h(this,e,t)}}:{add:function(e){return h(this,e,!0)}}),s}}},function(e,t,n){"use strict";t.__esModule=!0,t.setupHotReloading=t.sendLogEntry=void 0;t.sendLogEntry=function(e,t){};t.setupHotReloading=function(){0}},function(e,t,n){"use strict";t.__esModule=!0,t.resizeStartHandler=t.dragStartHandler=t.setupDrag=void 0;var o,r,a,i,c,l=n(156),u=n(16),d=(0,n(46).createLogger)("drag"),s=!1,p=!1,m=[0,0],f=function(e){return(0,u.winget)(e,"pos").then((function(e){return[e.x,e.y]}))},h=function(e,t){return(0,u.winset)(e,"pos",t[0]+","+t[1])},C=function(e){var t,n,r,a;return regeneratorRuntime.async((function(i){for(;;)switch(i.prev=i.next){case 0:return d.log("setting up"),o=e.config.window,i.next=4,regeneratorRuntime.awrap(f(o));case 4:t=i.sent,m=[t[0]-window.screenLeft,t[1]-window.screenTop],n=g(t),r=n[0],a=n[1],r&&h(o,a),d.debug("current state",{ref:o,screenOffset:m});case 9:case"end":return i.stop()}}))};t.setupDrag=C;var g=function(e){var t=e[0],n=e[1],o=!1;return t<0?(t=0,o=!0):t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth,o=!0),n<0?(n=0,o=!0):n+window.innerHeight>window.screen.availHeight&&(n=window.screen.availHeight-window.innerHeight,o=!0),[o,[t,n]]};t.dragStartHandler=function(e){d.log("drag start"),s=!0,r=[window.screenLeft-e.screenX,window.screenTop-e.screenY],document.addEventListener("mousemove",N),document.addEventListener("mouseup",b),N(e)};var b=function y(e){d.log("drag end"),N(e),document.removeEventListener("mousemove",N),document.removeEventListener("mouseup",y),s=!1},N=function(e){s&&(e.preventDefault(),h(o,(0,l.vecAdd)([e.screenX,e.screenY],m,r)))};t.resizeStartHandler=function(e,t){return function(n){a=[e,t],d.log("resize start",a),p=!0,r=[window.screenLeft-n.screenX,window.screenTop-n.screenY],i=[window.innerWidth,window.innerHeight],document.addEventListener("mousemove",V),document.addEventListener("mouseup",v),V(n)}};var v=function _(e){d.log("resize end",c),V(e),document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",_),p=!1},V=function(e){p&&(e.preventDefault(),(c=(0,l.vecAdd)(i,(0,l.vecMultiply)(a,(0,l.vecAdd)([e.screenX,e.screenY],(0,l.vecInverse)([window.screenLeft,window.screenTop]),r,[1,1]))))[0]=Math.max(c[0],250),c[1]=Math.max(c[1],120),function(e,t){(0,u.winset)(e,"size",t[0]+","+t[1])}(o,c))}},function(e,t,n){"use strict";t.__esModule=!0,t.vecNormalize=t.vecLength=t.vecInverse=t.vecScale=t.vecDivide=t.vecMultiply=t.vecSubtract=t.vecAdd=t.vecCreate=void 0;var o=n(22);t.vecCreate=function(){for(var e=arguments.length,t=new Array(e),n=0;n35;return(0,o.createVNode)(1,"div",(0,r.classes)(["Tooltip",i&&"Tooltip--long",a&&"Tooltip--"+a]),null,1,{"data-tooltip":t})}},function(e,t,n){"use strict";t.__esModule=!0,t.Input=void 0;var o=n(1),r=n(11),a=n(19);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){return(0,r.isFalsy)(e)?"":e},l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={editing:!1},t.handleInput=function(e){var n=t.state.editing,o=t.props.onInput;n||t.setEditing(!0),o&&o(e,e.target.value)},t.handleFocus=function(e){t.state.editing||t.setEditing(!0)},t.handleBlur=function(e){var n=t.state.editing,o=t.props.onChange;n&&(t.setEditing(!1),o&&o(e,e.target.value))},t.handleKeyDown=function(e){var n=t.props,o=n.onInput,r=n.onChange,a=n.onEnter;return 13===e.keyCode?(t.setEditing(!1),r&&r(e,e.target.value),o&&o(e,e.target.value),a&&a(e,e.target.value),void(t.props.selfClear?e.target.value="":e.target.blur())):27===e.keyCode?(t.setEditing(!1),e.target.value=c(t.props.value),void e.target.blur()):void 0},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentDidMount=function(){var e=this.props.value,t=this.inputRef.current;t&&(t.value=c(e))},u.componentDidUpdate=function(e,t){var n=this.state.editing,o=e.value,r=this.props.value,a=this.inputRef.current;a&&!n&&o!==r&&(a.value=c(r))},u.setEditing=function(e){this.setState({editing:e})},u.render=function(){var e=this.props,t=(e.selfClear,e.onInput,e.onChange,e.onEnter,e.value,e.maxLength),n=e.placeholder,c=i(e,["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder"]),l=c.className,u=c.fluid,d=i(c,["className","fluid"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Input",u&&"Input--fluid",l])},d,{children:[(0,o.createVNode)(1,"div","Input__baseline",".",16),(0,o.createVNode)(64,"input","Input__input",null,1,{placeholder:n,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:t},null,this.inputRef)]})))},l}(o.Component);t.Input=l},function(e,t,n){"use strict";t.__esModule=!0,t.GridColumn=t.Grid=void 0;var o=n(1),r=n(162),a=n(11);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.children,n=i(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table,Object.assign({},n,{children:(0,o.createComponentVNode)(2,r.Table.Row,{children:t})})))};t.Grid=c,c.defaultHooks=a.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t,a=e.style,c=i(e,["size","style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table.Cell,Object.assign({style:Object.assign({width:n+"%"},a)},c)))};t.GridColumn=l,c.defaultHooks=a.pureComponentHooks,c.Column=l},function(e,t,n){"use strict";t.__esModule=!0,t.TableCell=t.TableRow=t.Table=void 0;var o=n(1),r=n(11),a=n(19);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.collapsing,n=e.className,c=e.content,l=e.children,u=i(e,["collapsing","className","content","children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"table",className:(0,r.classes)(["Table",t&&"Table--collapsing",n])},u,{children:(0,o.createVNode)(1,"tbody",null,[c,l],0)})))};t.Table=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.className,n=e.header,c=i(e,["className","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"tr",className:(0,r.classes)(["Table__row",n&&"Table__row--header",t])},c)))};t.TableRow=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.collapsing,c=e.header,l=i(e,["className","collapsing","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"td",className:(0,r.classes)(["Table__cell",n&&"Table__cell--collapsing",c&&"Table__cell--header",t])},l)))};t.TableCell=u,u.defaultHooks=r.pureComponentHooks,c.Row=l,c.Cell=u},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledListDivider=t.LabeledListItem=t.LabeledList=void 0;var o=n(1),r=n(11),a=n(19),i=function(e){var t=e.children;return(0,o.createVNode)(1,"table","LabeledList",t,0)};t.LabeledList=i,i.defaultHooks=r.pureComponentHooks;var c=function(e){var t=e.className,n=e.label,i=e.labelColor,c=void 0===i?"label":i,l=e.color,u=e.buttons,d=e.content,s=e.children;return(0,o.createVNode)(1,"tr",(0,r.classes)(["LabeledList__row",t]),[(0,o.createComponentVNode)(2,a.Box,{as:"td",color:c,className:(0,r.classes)(["LabeledList__cell","LabeledList__label"]),content:n+":"}),(0,o.createComponentVNode)(2,a.Box,{as:"td",color:l,className:(0,r.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:u?undefined:2,children:[d,s]}),u&&(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",u,0)],0)};t.LabeledListItem=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t;return(0,o.createVNode)(1,"tr","LabeledList__row",(0,o.createVNode)(1,"td",null,null,1,{style:{"padding-bottom":(0,a.unit)(n)}}),2)};t.LabeledListDivider=l,l.defaultHooks=r.pureComponentHooks,i.Item=c,i.Divider=l},function(e,t,n){"use strict";t.__esModule=!0,t.BeakerContents=void 0;var o=n(1),r=n(2);t.BeakerContents=function(e){var t=e.beakerLoaded,n=e.beakerContents;return(0,o.createComponentVNode)(2,r.Box,{children:[!t&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"No beaker loaded."})||0===n.length&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"Beaker is empty."}),n.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{color:"label",children:[e.volume," units of ",e.name]},e.name)}))]})}},function(e,t,n){n(166),n(167),n(168),n(169),n(170),n(171),e.exports=n(172)},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";n(173),n(174),n(175),n(176),n(177),n(178),n(179),n(180),n(181),n(182),n(183),n(184),n(185),n(186),n(187),n(188),n(189),n(190),n(191),n(192),n(193),n(194),n(195),n(196),n(198),n(200),n(201),n(202),n(133),n(204),n(205),n(206),n(207),n(208),n(209),n(210),n(211),n(212),n(213),n(214),n(215),n(216),n(217),n(219),n(220),n(221),n(222),n(223),n(225),n(226),n(228),n(229),n(230),n(231),n(232),n(233),n(234),n(235),n(236),n(237),n(238),n(239),n(240),n(241),n(243),n(244),n(245),n(246),n(247),n(248),n(249),n(250),n(251),n(252),n(253),n(254),n(255),n(257),n(258),n(259),n(260),n(261),n(262),n(264),n(265),n(267),n(269),n(270),n(271),n(272),n(273),n(274),n(275),n(276),n(277),n(278),n(279),n(280),n(281),n(282),n(283),n(284),n(285),n(286),n(287),n(288),n(289),n(290),n(291),n(293),n(294),n(295),n(298),n(299),n(300),n(301),n(302),n(303),n(304),n(305),n(306),n(307),n(308),n(309),n(310),n(311),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(324),n(325),n(326),n(327),n(328),n(329),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(345),n(346),n(347),n(349),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(378),n(379),n(380),n(381),n(382),n(383),n(384),n(385),n(386);var o=n(1);n(388),n(389);var r=n(390),a=(n(154),n(3)),i=n(16),c=n(155),l=n(46),u=n(157),d=n(510),s=(0,l.createLogger)(),p=(0,d.createStore)(),m=document.getElementById("react-root"),f=!0,h=!1,C=function(){for(p.subscribe((function(){!function(){if(!h){0;try{var e=p.getState();if(f){if(s.log("initial render",e),!(0,u.getRoute)(e)){if(s.info("loading old tgui"),h=!0,window.update=window.initialize=function(){},i.tridentVersion<=4)return void setTimeout((function(){location.href="tgui-fallback.html?ref="+window.__ref__}),10);document.getElementById("data").textContent=JSON.stringify(e),(0,r.loadCSS)("v4shim.css"),(0,r.loadCSS)("tgui.css");var t=document.getElementsByTagName("head")[0],a=document.createElement("script");return a.type="text/javascript",a.src="tgui.js",void t.appendChild(a)}(0,c.setupDrag)(e)}var l=n(512).Layout,d=(0,o.createComponentVNode)(2,l,{state:e,dispatch:p.dispatch});(0,o.render)(d,m)}catch(C){s.error("rendering error",C)}f&&(f=!1)}}()})),window.update=window.initialize=function(e){var t=function(e){var t=function(e,t){return"object"==typeof t&&null!==t&&t.__number__?parseFloat(t.__number__):t};i.tridentVersion<=4&&(t=undefined);try{return JSON.parse(e,t)}catch(o){s.log(o),s.log("What we got:",e);var n=o&&o.message;throw new Error("JSON parsing error: "+n)}}(e);p.dispatch((0,a.backendUpdate)(t))};;){var e=window.__updateQueue__.shift();if(!e)break;window.update(e)}(0,r.loadCSS)("font-awesome.css")};i.tridentVersion<=4&&"loading"===document.readyState?document.addEventListener("DOMContentLoaded",C):C()},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(35),i=n(38),c=n(9),l=n(95),u=n(125),d=n(4),s=n(15),p=n(52),m=n(6),f=n(8),h=n(14),C=n(25),g=n(33),b=n(47),N=n(42),v=n(62),V=n(48),y=n(128),_=n(94),x=n(20),k=n(13),L=n(71),B=n(26),w=n(24),S=n(91),I=n(72),T=n(59),A=n(58),P=n(12),E=n(129),M=n(27),O=n(43),R=n(34),F=n(17).forEach,D=I("hidden"),j=P("toPrimitive"),z=R.set,H=R.getterFor("Symbol"),G=Object.prototype,U=r.Symbol,K=a("JSON","stringify"),Y=x.f,W=k.f,q=y.f,$=L.f,Q=S("symbols"),X=S("op-symbols"),J=S("string-to-symbol-registry"),Z=S("symbol-to-string-registry"),ee=S("wks"),te=r.QObject,ne=!te||!te.prototype||!te.prototype.findChild,oe=c&&d((function(){return 7!=N(W({},"a",{get:function(){return W(this,"a",{value:7}).a}})).a}))?function(e,t,n){var o=Y(G,t);o&&delete G[t],W(e,t,n),o&&e!==G&&W(G,t,o)}:W,re=function(e,t){var n=Q[e]=N(U.prototype);return z(n,{type:"Symbol",tag:e,description:t}),c||(n.description=t),n},ae=l&&"symbol"==typeof U.iterator?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof U},ie=function(e,t,n){e===G&&ie(X,t,n),f(e);var o=g(t,!0);return f(n),s(Q,o)?(n.enumerable?(s(e,D)&&e[D][o]&&(e[D][o]=!1),n=N(n,{enumerable:b(0,!1)})):(s(e,D)||W(e,D,b(1,{})),e[D][o]=!0),oe(e,o,n)):W(e,o,n)},ce=function(e,t){f(e);var n=C(t),o=v(n).concat(pe(n));return F(o,(function(t){c&&!ue.call(n,t)||ie(e,t,n[t])})),e},le=function(e,t){return t===undefined?N(e):ce(N(e),t)},ue=function(e){var t=g(e,!0),n=$.call(this,t);return!(this===G&&s(Q,t)&&!s(X,t))&&(!(n||!s(this,t)||!s(Q,t)||s(this,D)&&this[D][t])||n)},de=function(e,t){var n=C(e),o=g(t,!0);if(n!==G||!s(Q,o)||s(X,o)){var r=Y(n,o);return!r||!s(Q,o)||s(n,D)&&n[D][o]||(r.enumerable=!0),r}},se=function(e){var t=q(C(e)),n=[];return F(t,(function(e){s(Q,e)||s(T,e)||n.push(e)})),n},pe=function(e){var t=e===G,n=q(t?X:C(e)),o=[];return F(n,(function(e){!s(Q,e)||t&&!s(G,e)||o.push(Q[e])})),o};(l||(w((U=function(){if(this instanceof U)throw TypeError("Symbol is not a constructor");var e=arguments.length&&arguments[0]!==undefined?String(arguments[0]):undefined,t=A(e),n=function o(e){this===G&&o.call(X,e),s(this,D)&&s(this[D],t)&&(this[D][t]=!1),oe(this,t,b(1,e))};return c&&ne&&oe(G,t,{configurable:!0,set:n}),re(t,e)}).prototype,"toString",(function(){return H(this).tag})),L.f=ue,k.f=ie,x.f=de,V.f=y.f=se,_.f=pe,c&&(W(U.prototype,"description",{configurable:!0,get:function(){return H(this).description}}),i||w(G,"propertyIsEnumerable",ue,{unsafe:!0}))),u||(E.f=function(e){return re(P(e),e)}),o({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:U}),F(v(ee),(function(e){M(e)})),o({target:"Symbol",stat:!0,forced:!l},{"for":function(e){var t=String(e);if(s(J,t))return J[t];var n=U(t);return J[t]=n,Z[n]=t,n},keyFor:function(e){if(!ae(e))throw TypeError(e+" is not a symbol");if(s(Z,e))return Z[e]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),o({target:"Object",stat:!0,forced:!l,sham:!c},{create:le,defineProperty:ie,defineProperties:ce,getOwnPropertyDescriptor:de}),o({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:se,getOwnPropertySymbols:pe}),o({target:"Object",stat:!0,forced:d((function(){_.f(1)}))},{getOwnPropertySymbols:function(e){return _.f(h(e))}}),K)&&o({target:"JSON",stat:!0,forced:!l||d((function(){var e=U();return"[null]"!=K([e])||"{}"!=K({a:e})||"{}"!=K(Object(e))}))},{stringify:function(e,t,n){for(var o,r=[e],a=1;arguments.length>a;)r.push(arguments[a++]);if(o=t,(m(t)||e!==undefined)&&!ae(e))return p(t)||(t=function(e,t){if("function"==typeof o&&(t=o.call(this,e,t)),!ae(t))return t}),r[1]=t,K.apply(null,r)}});U.prototype[j]||B(U.prototype,j,U.prototype.valueOf),O(U,"Symbol"),T[D]=!0},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(5),i=n(15),c=n(6),l=n(13).f,u=n(122),d=a.Symbol;if(r&&"function"==typeof d&&(!("description"in d.prototype)||d().description!==undefined)){var s={},p=function(){var e=arguments.length<1||arguments[0]===undefined?undefined:String(arguments[0]),t=this instanceof p?new d(e):e===undefined?d():d(e);return""===e&&(s[t]=!0),t};u(p,d);var m=p.prototype=d.prototype;m.constructor=p;var f=m.toString,h="Symbol(test)"==String(d("test")),C=/^Symbol\((.*)\)[^)]+$/;l(m,"description",{configurable:!0,get:function(){var e=c(this)?this.valueOf():this,t=f.call(e);if(i(s,e))return"";var n=h?t.slice(7,-1):t.replace(C,"$1");return""===n?undefined:n}}),o({global:!0,forced:!0},{Symbol:p})}},function(e,t,n){"use strict";n(27)("asyncIterator")},function(e,t,n){"use strict";n(27)("hasInstance")},function(e,t,n){"use strict";n(27)("isConcatSpreadable")},function(e,t,n){"use strict";n(27)("iterator")},function(e,t,n){"use strict";n(27)("match")},function(e,t,n){"use strict";n(27)("replace")},function(e,t,n){"use strict";n(27)("search")},function(e,t,n){"use strict";n(27)("species")},function(e,t,n){"use strict";n(27)("split")},function(e,t,n){"use strict";n(27)("toPrimitive")},function(e,t,n){"use strict";n(27)("toStringTag")},function(e,t,n){"use strict";n(27)("unscopables")},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(52),i=n(6),c=n(14),l=n(10),u=n(50),d=n(63),s=n(64),p=n(12),m=n(96),f=p("isConcatSpreadable"),h=9007199254740991,C="Maximum allowed index exceeded",g=m>=51||!r((function(){var e=[];return e[f]=!1,e.concat()[0]!==e})),b=s("concat"),N=function(e){if(!i(e))return!1;var t=e[f];return t!==undefined?!!t:a(e)};o({target:"Array",proto:!0,forced:!g||!b},{concat:function(e){var t,n,o,r,a,i=c(this),s=d(i,0),p=0;for(t=-1,o=arguments.length;th)throw TypeError(C);for(n=0;n=h)throw TypeError(C);u(s,p++,a)}return s.length=p,s}})},function(e,t,n){"use strict";var o=n(0),r=n(130),a=n(44);o({target:"Array",proto:!0},{copyWithin:r}),a("copyWithin")},function(e,t,n){"use strict";var o=n(0),r=n(17).every;o({target:"Array",proto:!0,forced:n(39)("every")},{every:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(97),a=n(44);o({target:"Array",proto:!0},{fill:r}),a("fill")},function(e,t,n){"use strict";var o=n(0),r=n(17).filter,a=n(4),i=n(64)("filter"),c=i&&!a((function(){[].filter.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{filter:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(17).find,a=n(44),i=!0;"find"in[]&&Array(1).find((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{find:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("find")},function(e,t,n){"use strict";var o=n(0),r=n(17).findIndex,a=n(44),i=!0;"findIndex"in[]&&Array(1).findIndex((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{findIndex:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("findIndex")},function(e,t,n){"use strict";var o=n(0),r=n(131),a=n(14),i=n(10),c=n(30),l=n(63);o({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:undefined,t=a(this),n=i(t.length),o=l(t,0);return o.length=r(o,t,t,n,0,e===undefined?1:c(e)),o}})},function(e,t,n){"use strict";var o=n(0),r=n(131),a=n(14),i=n(10),c=n(31),l=n(63);o({target:"Array",proto:!0},{flatMap:function(e){var t,n=a(this),o=i(n.length);return c(e),(t=l(n,0)).length=r(t,n,n,o,0,1,e,arguments.length>1?arguments[1]:undefined),t}})},function(e,t,n){"use strict";var o=n(0),r=n(197);o({target:"Array",proto:!0,forced:[].forEach!=r},{forEach:r})},function(e,t,n){"use strict";var o=n(17).forEach,r=n(39);e.exports=r("forEach")?function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}:[].forEach},function(e,t,n){"use strict";var o=n(0),r=n(199);o({target:"Array",stat:!0,forced:!n(75)((function(e){Array.from(e)}))},{from:r})},function(e,t,n){"use strict";var o=n(49),r=n(14),a=n(132),i=n(98),c=n(10),l=n(50),u=n(99);e.exports=function(e){var t,n,d,s,p,m=r(e),f="function"==typeof this?this:Array,h=arguments.length,C=h>1?arguments[1]:undefined,g=C!==undefined,b=0,N=u(m);if(g&&(C=o(C,h>2?arguments[2]:undefined,2)),N==undefined||f==Array&&i(N))for(n=new f(t=c(m.length));t>b;b++)l(n,b,g?C(m[b],b):m[b]);else for(p=(s=N.call(m)).next,n=new f;!(d=p.call(s)).done;b++)l(n,b,g?a(s,C,[d.value,b],!0):d.value);return n.length=b,n}},function(e,t,n){"use strict";var o=n(0),r=n(60).includes,a=n(44);o({target:"Array",proto:!0},{includes:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("includes")},function(e,t,n){"use strict";var o=n(0),r=n(60).indexOf,a=n(39),i=[].indexOf,c=!!i&&1/[1].indexOf(1,-0)<0,l=a("indexOf");o({target:"Array",proto:!0,forced:c||l},{indexOf:function(e){return c?i.apply(this,arguments)||0:r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";n(0)({target:"Array",stat:!0},{isArray:n(52)})},function(e,t,n){"use strict";var o=n(134).IteratorPrototype,r=n(42),a=n(47),i=n(43),c=n(65),l=function(){return this};e.exports=function(e,t,n){var u=t+" Iterator";return e.prototype=r(o,{next:a(1,n)}),i(e,u,!1,!0),c[u]=l,e}},function(e,t,n){"use strict";var o=n(0),r=n(57),a=n(25),i=n(39),c=[].join,l=r!=Object,u=i("join",",");o({target:"Array",proto:!0,forced:l||u},{join:function(e){return c.call(a(this),e===undefined?",":e)}})},function(e,t,n){"use strict";var o=n(0),r=n(136);o({target:"Array",proto:!0,forced:r!==[].lastIndexOf},{lastIndexOf:r})},function(e,t,n){"use strict";var o=n(0),r=n(17).map,a=n(4),i=n(64)("map"),c=i&&!a((function(){[].map.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{map:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(50);o({target:"Array",stat:!0,forced:r((function(){function e(){}return!(Array.of.call(e)instanceof e)}))},{of:function(){for(var e=0,t=arguments.length,n=new("function"==typeof this?this:Array)(t);t>e;)a(n,e,arguments[e++]);return n.length=t,n}})},function(e,t,n){"use strict";var o=n(0),r=n(76).left;o({target:"Array",proto:!0,forced:n(39)("reduce")},{reduce:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(76).right;o({target:"Array",proto:!0,forced:n(39)("reduceRight")},{reduceRight:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(52),i=n(41),c=n(10),l=n(25),u=n(50),d=n(64),s=n(12)("species"),p=[].slice,m=Math.max;o({target:"Array",proto:!0,forced:!d("slice")},{slice:function(e,t){var n,o,d,f=l(this),h=c(f.length),C=i(e,h),g=i(t===undefined?h:t,h);if(a(f)&&("function"!=typeof(n=f.constructor)||n!==Array&&!a(n.prototype)?r(n)&&null===(n=n[s])&&(n=undefined):n=undefined,n===Array||n===undefined))return p.call(f,C,g);for(o=new(n===undefined?Array:n)(m(g-C,0)),d=0;C1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(31),a=n(14),i=n(4),c=n(39),l=[],u=l.sort,d=i((function(){l.sort(undefined)})),s=i((function(){l.sort(null)})),p=c("sort");o({target:"Array",proto:!0,forced:d||!s||p},{sort:function(e){return e===undefined?u.call(a(this)):u.call(a(this),r(e))}})},function(e,t,n){"use strict";n(54)("Array")},function(e,t,n){"use strict";var o=n(0),r=n(41),a=n(30),i=n(10),c=n(14),l=n(63),u=n(50),d=n(64),s=Math.max,p=Math.min,m=9007199254740991,f="Maximum allowed length exceeded";o({target:"Array",proto:!0,forced:!d("splice")},{splice:function(e,t){var n,o,d,h,C,g,b=c(this),N=i(b.length),v=r(e,N),V=arguments.length;if(0===V?n=o=0:1===V?(n=0,o=N-v):(n=V-2,o=p(s(a(t),0),N-v)),N+n-o>m)throw TypeError(f);for(d=l(b,o),h=0;hN-o+n;h--)delete b[h-1]}else if(n>o)for(h=N-o;h>v;h--)g=h+n-1,(C=h+o-1)in b?b[g]=b[C]:delete b[g];for(h=0;h>1,h=23===t?r(2,-24)-r(2,-77):0,C=e<0||0===e&&1/e<0?1:0,g=0;for((e=o(e))!=e||e===1/0?(u=e!=e?1:0,l=m):(l=a(i(e)/c),e*(d=r(2,-l))<1&&(l--,d*=2),(e+=l+f>=1?h/d:h*r(2,1-f))*d>=2&&(l++,d/=2),l+f>=m?(u=0,l=m):l+f>=1?(u=(e*d-1)*r(2,t),l+=f):(u=e*r(2,f-1)*r(2,t),l=0));t>=8;s[g++]=255&u,u/=256,t-=8);for(l=l<0;s[g++]=255&l,l/=256,p-=8);return s[--g]|=128*C,s},unpack:function(e,t){var n,o=e.length,a=8*o-t-1,i=(1<>1,l=a-7,u=o-1,d=e[u--],s=127&d;for(d>>=7;l>0;s=256*s+e[u],u--,l-=8);for(n=s&(1<<-l)-1,s>>=-l,l+=t;l>0;n=256*n+e[u],u--,l-=8);if(0===s)s=1-c;else{if(s===i)return n?NaN:d?-1/0:1/0;n+=r(2,t),s-=c}return(d?-1:1)*n*r(2,s-t)}}},function(e,t,n){"use strict";var o=n(0),r=n(7);o({target:"ArrayBuffer",stat:!0,forced:!r.NATIVE_ARRAY_BUFFER_VIEWS},{isView:r.isView})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(77),i=n(8),c=n(41),l=n(10),u=n(45),d=a.ArrayBuffer,s=a.DataView,p=d.prototype.slice;o({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:r((function(){return!new d(2).slice(1,undefined).byteLength}))},{slice:function(e,t){if(p!==undefined&&t===undefined)return p.call(i(this),e);for(var n=i(this).byteLength,o=c(e,n),r=c(t===undefined?n:t,n),a=new(u(this,d))(l(r-o)),m=new s(this),f=new s(a),h=0;o9999?"+":"";return n+r(a(e),n?6:4,0)+"-"+r(this.getUTCMonth()+1,2,0)+"-"+r(this.getUTCDate(),2,0)+"T"+r(this.getUTCHours(),2,0)+":"+r(this.getUTCMinutes(),2,0)+":"+r(this.getUTCSeconds(),2,0)+"."+r(t,3,0)+"Z"}:l},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(14),i=n(33);o({target:"Date",proto:!0,forced:r((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}))},{toJSON:function(e){var t=a(this),n=i(t);return"number"!=typeof n||isFinite(n)?t.toISOString():null}})},function(e,t,n){"use strict";var o=n(26),r=n(227),a=n(12)("toPrimitive"),i=Date.prototype;a in i||o(i,a,r)},function(e,t,n){"use strict";var o=n(8),r=n(33);e.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint");return r(o(this),"number"!==e)}},function(e,t,n){"use strict";var o=n(24),r=Date.prototype,a="Invalid Date",i=r.toString,c=r.getTime;new Date(NaN)+""!=a&&o(r,"toString",(function(){var e=c.call(this);return e==e?i.call(this):a}))},function(e,t,n){"use strict";n(0)({target:"Function",proto:!0},{bind:n(138)})},function(e,t,n){"use strict";var o=n(6),r=n(13),a=n(36),i=n(12)("hasInstance"),c=Function.prototype;i in c||r.f(c,i,{value:function(e){if("function"!=typeof this||!o(e))return!1;if(!o(this.prototype))return e instanceof this;for(;e=a(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){"use strict";var o=n(9),r=n(13).f,a=Function.prototype,i=a.toString,c=/^\s*function ([^ (]*)/;!o||"name"in a||r(a,"name",{configurable:!0,get:function(){try{return i.call(this).match(c)[1]}catch(e){return""}}})},function(e,t,n){"use strict";var o=n(5);n(43)(o.JSON,"JSON",!0)},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(0),r=n(140),a=Math.acosh,i=Math.log,c=Math.sqrt,l=Math.LN2;o({target:"Math",stat:!0,forced:!a||710!=Math.floor(a(Number.MAX_VALUE))||a(Infinity)!=Infinity},{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?i(e)+l:r(e-1+c(e-1)*c(e+1))}})},function(e,t,n){"use strict";var o=n(0),r=Math.asinh,a=Math.log,i=Math.sqrt;o({target:"Math",stat:!0,forced:!(r&&1/r(0)>0)},{asinh:function c(e){return isFinite(e=+e)&&0!=e?e<0?-c(-e):a(e+i(e*e+1)):e}})},function(e,t,n){"use strict";var o=n(0),r=Math.atanh,a=Math.log;o({target:"Math",stat:!0,forced:!(r&&1/r(-0)<0)},{atanh:function(e){return 0==(e=+e)?e:a((1+e)/(1-e))/2}})},function(e,t,n){"use strict";var o=n(0),r=n(105),a=Math.abs,i=Math.pow;o({target:"Math",stat:!0},{cbrt:function(e){return r(e=+e)*i(a(e),1/3)}})},function(e,t,n){"use strict";var o=n(0),r=Math.floor,a=Math.log,i=Math.LOG2E;o({target:"Math",stat:!0},{clz32:function(e){return(e>>>=0)?31-r(a(e+.5)*i):32}})},function(e,t,n){"use strict";var o=n(0),r=n(80),a=Math.cosh,i=Math.abs,c=Math.E;o({target:"Math",stat:!0,forced:!a||a(710)===Infinity},{cosh:function(e){var t=r(i(e)-1)+1;return(t+1/(t*c*c))*(c/2)}})},function(e,t,n){"use strict";var o=n(0),r=n(80);o({target:"Math",stat:!0,forced:r!=Math.expm1},{expm1:r})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{fround:n(242)})},function(e,t,n){"use strict";var o=n(105),r=Math.abs,a=Math.pow,i=a(2,-52),c=a(2,-23),l=a(2,127)*(2-c),u=a(2,-126),d=function(e){return e+1/i-1/i};e.exports=Math.fround||function(e){var t,n,a=r(e),s=o(e);return al||n!=n?s*Infinity:s*n}},function(e,t,n){"use strict";var o=n(0),r=Math.hypot,a=Math.abs,i=Math.sqrt;o({target:"Math",stat:!0,forced:!!r&&r(Infinity,NaN)!==Infinity},{hypot:function(e,t){for(var n,o,r=0,c=0,l=arguments.length,u=0;c0?(o=n/u)*o:n;return u===Infinity?Infinity:u*i(r)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=Math.imul;o({target:"Math",stat:!0,forced:r((function(){return-5!=a(4294967295,5)||2!=a.length}))},{imul:function(e,t){var n=+e,o=+t,r=65535&n,a=65535&o;return 0|r*a+((65535&n>>>16)*a+r*(65535&o>>>16)<<16>>>0)}})},function(e,t,n){"use strict";var o=n(0),r=Math.log,a=Math.LOG10E;o({target:"Math",stat:!0},{log10:function(e){return r(e)*a}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{log1p:n(140)})},function(e,t,n){"use strict";var o=n(0),r=Math.log,a=Math.LN2;o({target:"Math",stat:!0},{log2:function(e){return r(e)/a}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{sign:n(105)})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(80),i=Math.abs,c=Math.exp,l=Math.E;o({target:"Math",stat:!0,forced:r((function(){return-2e-17!=Math.sinh(-2e-17)}))},{sinh:function(e){return i(e=+e)<1?(a(e)-a(-e))/2:(c(e-1)-c(-e-1))*(l/2)}})},function(e,t,n){"use strict";var o=n(0),r=n(80),a=Math.exp;o({target:"Math",stat:!0},{tanh:function(e){var t=r(e=+e),n=r(-e);return t==Infinity?1:n==Infinity?-1:(t-n)/(a(e)+a(-e))}})},function(e,t,n){"use strict";n(43)(Math,"Math",!0)},function(e,t,n){"use strict";var o=n(0),r=Math.ceil,a=Math.floor;o({target:"Math",stat:!0},{trunc:function(e){return(e>0?a:r)(e)}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(24),c=n(15),l=n(32),u=n(79),d=n(33),s=n(4),p=n(42),m=n(48).f,f=n(20).f,h=n(13).f,C=n(56).trim,g="Number",b=r[g],N=b.prototype,v=l(p(N))==g,V=function(e){var t,n,o,r,a,i,c,l,u=d(e,!1);if("string"==typeof u&&u.length>2)if(43===(t=(u=C(u)).charCodeAt(0))||45===t){if(88===(n=u.charCodeAt(2))||120===n)return NaN}else if(48===t){switch(u.charCodeAt(1)){case 66:case 98:o=2,r=49;break;case 79:case 111:o=8,r=55;break;default:return+u}for(i=(a=u.slice(2)).length,c=0;cr)return NaN;return parseInt(a,o)}return+u};if(a(g,!b(" 0o1")||!b("0b1")||b("+0x1"))){for(var y,_=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof _&&(v?s((function(){N.valueOf.call(n)})):l(n)!=g)?u(new b(V(t)),n,_):V(t)},x=o?m(b):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),k=0;x.length>k;k++)c(b,y=x[k])&&!c(_,y)&&h(_,y,f(b,y));_.prototype=N,N.constructor=_,i(r,g,_)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isFinite:n(256)})},function(e,t,n){"use strict";var o=n(5).isFinite;e.exports=Number.isFinite||function(e){return"number"==typeof e&&o(e)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isInteger:n(141)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isNaN:function(e){return e!=e}})},function(e,t,n){"use strict";var o=n(0),r=n(141),a=Math.abs;o({target:"Number",stat:!0},{isSafeInteger:function(e){return r(e)&&a(e)<=9007199254740991}})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(e,t,n){"use strict";var o=n(0),r=n(263);o({target:"Number",stat:!0,forced:Number.parseFloat!=r},{parseFloat:r})},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseFloat,c=1/i(a+"-0")!=-Infinity;e.exports=c?function(e){var t=r(String(e)),n=i(t);return 0===n&&"-"==t.charAt(0)?-0:n}:i},function(e,t,n){"use strict";var o=n(0),r=n(142);o({target:"Number",stat:!0,forced:Number.parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o=n(0),r=n(30),a=n(266),i=n(104),c=n(4),l=1..toFixed,u=Math.floor,d=function p(e,t,n){return 0===t?n:t%2==1?p(e,t-1,n*e):p(e*e,t/2,n)},s=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t};o({target:"Number",proto:!0,forced:l&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!c((function(){l.call({})}))},{toFixed:function(e){var t,n,o,c,l=a(this),p=r(e),m=[0,0,0,0,0,0],f="",h="0",C=function(e,t){for(var n=-1,o=t;++n<6;)o+=e*m[n],m[n]=o%1e7,o=u(o/1e7)},g=function(e){for(var t=6,n=0;--t>=0;)n+=m[t],m[t]=u(n/e),n=n%e*1e7},b=function(){for(var e=6,t="";--e>=0;)if(""!==t||0===e||0!==m[e]){var n=String(m[e]);t=""===t?n:t+i.call("0",7-n.length)+n}return t};if(p<0||p>20)throw RangeError("Incorrect fraction digits");if(l!=l)return"NaN";if(l<=-1e21||l>=1e21)return String(l);if(l<0&&(f="-",l=-l),l>1e-21)if(n=(t=s(l*d(2,69,1))-69)<0?l*d(2,-t,1):l/d(2,t,1),n*=4503599627370496,(t=52-t)>0){for(C(0,n),o=p;o>=7;)C(1e7,0),o-=7;for(C(d(10,o,1),0),o=t-1;o>=23;)g(1<<23),o-=23;g(1<0?f+((c=h.length)<=p?"0."+i.call("0",p-c)+h:h.slice(0,c-p)+"."+h.slice(c-p)):f+h}})},function(e,t,n){"use strict";var o=n(32);e.exports=function(e){if("number"!=typeof e&&"Number"!=o(e))throw TypeError("Incorrect invocation");return+e}},function(e,t,n){"use strict";var o=n(0),r=n(268);o({target:"Object",stat:!0,forced:Object.assign!==r},{assign:r})},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(62),i=n(94),c=n(71),l=n(14),u=n(57),d=Object.assign,s=Object.defineProperty;e.exports=!d||r((function(){if(o&&1!==d({b:1},d(s({},"a",{enumerable:!0,get:function(){s(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol();return e[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(e){t[e]=e})),7!=d({},e)[n]||"abcdefghijklmnopqrst"!=a(d({},t)).join("")}))?function(e,t){for(var n=l(e),r=arguments.length,d=1,s=i.f,p=c.f;r>d;)for(var m,f=u(arguments[d++]),h=s?a(f).concat(s(f)):a(f),C=h.length,g=0;C>g;)m=h[g++],o&&!p.call(f,m)||(n[m]=f[m]);return n}:d},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0,sham:!n(9)},{create:n(42)})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(31),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineGetter__:function(e,t){l.f(i(this),e,{get:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(0),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperties:n(126)})},function(e,t,n){"use strict";var o=n(0),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperty:n(13).f})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(31),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineSetter__:function(e,t){l.f(i(this),e,{set:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(0),r=n(143).entries;o({target:"Object",stat:!0},{entries:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(67),a=n(4),i=n(6),c=n(51).onFreeze,l=Object.freeze;o({target:"Object",stat:!0,forced:a((function(){l(1)})),sham:!r},{freeze:function(e){return l&&i(e)?l(c(e)):e}})},function(e,t,n){"use strict";var o=n(0),r=n(68),a=n(50);o({target:"Object",stat:!0},{fromEntries:function(e){var t={};return r(e,(function(e,n){a(t,e,n)}),undefined,!0),t}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(25),i=n(20).f,c=n(9),l=r((function(){i(1)}));o({target:"Object",stat:!0,forced:!c||l,sham:!c},{getOwnPropertyDescriptor:function(e,t){return i(a(e),t)}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(92),i=n(25),c=n(20),l=n(50);o({target:"Object",stat:!0,sham:!r},{getOwnPropertyDescriptors:function(e){for(var t,n,o=i(e),r=c.f,u=a(o),d={},s=0;u.length>s;)(n=r(o,t=u[s++]))!==undefined&&l(d,t,n);return d}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(128).f;o({target:"Object",stat:!0,forced:r((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:a})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(14),i=n(36),c=n(102);o({target:"Object",stat:!0,forced:r((function(){i(1)})),sham:!c},{getPrototypeOf:function(e){return i(a(e))}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{is:n(144)})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isExtensible;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isExtensible:function(e){return!!a(e)&&(!i||i(e))}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isFrozen;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isFrozen:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isSealed;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isSealed:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(14),a=n(62);o({target:"Object",stat:!0,forced:n(4)((function(){a(1)}))},{keys:function(e){return a(r(e))}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(20).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupGetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.get}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(20).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupSetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.set}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(51).onFreeze,i=n(67),c=n(4),l=Object.preventExtensions;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{preventExtensions:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(51).onFreeze,i=n(67),c=n(4),l=Object.seal;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{seal:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{setPrototypeOf:n(53)})},function(e,t,n){"use strict";var o=n(100),r=n(24),a=n(292);o||r(Object.prototype,"toString",a,{unsafe:!0})},function(e,t,n){"use strict";var o=n(100),r=n(74);e.exports=o?{}.toString:function(){return"[object "+r(this)+"]"}},function(e,t,n){"use strict";var o=n(0),r=n(143).values;o({target:"Object",stat:!0},{values:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(142);o({global:!0,forced:parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o,r,a,i,c=n(0),l=n(38),u=n(5),d=n(35),s=n(145),p=n(24),m=n(66),f=n(43),h=n(54),C=n(6),g=n(31),b=n(55),N=n(32),v=n(90),V=n(68),y=n(75),_=n(45),x=n(106).set,k=n(147),L=n(148),B=n(296),w=n(149),S=n(297),I=n(34),T=n(61),A=n(12),P=n(96),E=A("species"),M="Promise",O=I.get,R=I.set,F=I.getterFor(M),D=s,j=u.TypeError,z=u.document,H=u.process,G=d("fetch"),U=w.f,K=U,Y="process"==N(H),W=!!(z&&z.createEvent&&u.dispatchEvent),q=0,$=T(M,(function(){if(!(v(D)!==String(D))){if(66===P)return!0;if(!Y&&"function"!=typeof PromiseRejectionEvent)return!0}if(l&&!D.prototype["finally"])return!0;if(P>=51&&/native code/.test(D))return!1;var e=D.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[E]=t,!(e.then((function(){}))instanceof t)})),Q=$||!y((function(e){D.all(e)["catch"]((function(){}))})),X=function(e){var t;return!(!C(e)||"function"!=typeof(t=e.then))&&t},J=function(e,t,n){if(!t.notified){t.notified=!0;var o=t.reactions;k((function(){for(var r=t.value,a=1==t.state,i=0;o.length>i;){var c,l,u,d=o[i++],s=a?d.ok:d.fail,p=d.resolve,m=d.reject,f=d.domain;try{s?(a||(2===t.rejection&&ne(e,t),t.rejection=1),!0===s?c=r:(f&&f.enter(),c=s(r),f&&(f.exit(),u=!0)),c===d.promise?m(j("Promise-chain cycle")):(l=X(c))?l.call(c,p,m):p(c)):m(r)}catch(h){f&&!u&&f.exit(),m(h)}}t.reactions=[],t.notified=!1,n&&!t.rejection&&ee(e,t)}))}},Z=function(e,t,n){var o,r;W?((o=z.createEvent("Event")).promise=t,o.reason=n,o.initEvent(e,!1,!0),u.dispatchEvent(o)):o={promise:t,reason:n},(r=u["on"+e])?r(o):"unhandledrejection"===e&&B("Unhandled promise rejection",n)},ee=function(e,t){x.call(u,(function(){var n,o=t.value;if(te(t)&&(n=S((function(){Y?H.emit("unhandledRejection",o,e):Z("unhandledrejection",e,o)})),t.rejection=Y||te(t)?2:1,n.error))throw n.value}))},te=function(e){return 1!==e.rejection&&!e.parent},ne=function(e,t){x.call(u,(function(){Y?H.emit("rejectionHandled",e):Z("rejectionhandled",e,t.value)}))},oe=function(e,t,n,o){return function(r){e(t,n,r,o)}},re=function(e,t,n,o){t.done||(t.done=!0,o&&(t=o),t.value=n,t.state=2,J(e,t,!0))},ae=function ie(e,t,n,o){if(!t.done){t.done=!0,o&&(t=o);try{if(e===n)throw j("Promise can't be resolved itself");var r=X(n);r?k((function(){var o={done:!1};try{r.call(n,oe(ie,e,o,t),oe(re,e,o,t))}catch(a){re(e,o,a,t)}})):(t.value=n,t.state=1,J(e,t,!1))}catch(a){re(e,{done:!1},a,t)}}};$&&(D=function(e){b(this,D,M),g(e),o.call(this);var t=O(this);try{e(oe(ae,this,t),oe(re,this,t))}catch(n){re(this,t,n)}},(o=function(e){R(this,{type:M,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:q,value:undefined})}).prototype=m(D.prototype,{then:function(e,t){var n=F(this),o=U(_(this,D));return o.ok="function"!=typeof e||e,o.fail="function"==typeof t&&t,o.domain=Y?H.domain:undefined,n.parent=!0,n.reactions.push(o),n.state!=q&&J(this,n,!1),o.promise},"catch":function(e){return this.then(undefined,e)}}),r=function(){var e=new o,t=O(e);this.promise=e,this.resolve=oe(ae,e,t),this.reject=oe(re,e,t)},w.f=U=function(e){return e===D||e===a?new r(e):K(e)},l||"function"!=typeof s||(i=s.prototype.then,p(s.prototype,"then",(function(e,t){var n=this;return new D((function(e,t){i.call(n,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof G&&c({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return L(D,G.apply(u,arguments))}}))),c({global:!0,wrap:!0,forced:$},{Promise:D}),f(D,M,!1,!0),h(M),a=d(M),c({target:M,stat:!0,forced:$},{reject:function(e){var t=U(this);return t.reject.call(undefined,e),t.promise}}),c({target:M,stat:!0,forced:l||$},{resolve:function(e){return L(l&&this===a?D:this,e)}}),c({target:M,stat:!0,forced:Q},{all:function(e){var t=this,n=U(t),o=n.resolve,r=n.reject,a=S((function(){var n=g(t.resolve),a=[],i=0,c=1;V(e,(function(e){var l=i++,u=!1;a.push(undefined),c++,n.call(t,e).then((function(e){u||(u=!0,a[l]=e,--c||o(a))}),r)})),--c||o(a)}));return a.error&&r(a.value),n.promise},race:function(e){var t=this,n=U(t),o=n.reject,r=S((function(){var r=g(t.resolve);V(e,(function(e){r.call(t,e).then(n.resolve,o)}))}));return r.error&&o(r.value),n.promise}})},function(e,t,n){"use strict";var o=n(5);e.exports=function(e,t){var n=o.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},function(e,t,n){"use strict";e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},function(e,t,n){"use strict";var o=n(0),r=n(38),a=n(145),i=n(4),c=n(35),l=n(45),u=n(148),d=n(24);o({target:"Promise",proto:!0,real:!0,forced:!!a&&i((function(){a.prototype["finally"].call({then:function(){}},(function(){}))}))},{"finally":function(e){var t=l(this,c("Promise")),n="function"==typeof e;return this.then(n?function(n){return u(t,e()).then((function(){return n}))}:e,n?function(n){return u(t,e()).then((function(){throw n}))}:e)}}),r||"function"!=typeof a||a.prototype["finally"]||d(a.prototype,"finally",c("Promise").prototype["finally"])},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(31),i=n(8),c=n(4),l=r("Reflect","apply"),u=Function.apply;o({target:"Reflect",stat:!0,forced:!c((function(){l((function(){}))}))},{apply:function(e,t,n){return a(e),i(n),l?l(e,t,n):u.call(e,t,n)}})},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(31),i=n(8),c=n(6),l=n(42),u=n(138),d=n(4),s=r("Reflect","construct"),p=d((function(){function e(){}return!(s((function(){}),[],e)instanceof e)})),m=!d((function(){s((function(){}))})),f=p||m;o({target:"Reflect",stat:!0,forced:f,sham:f},{construct:function(e,t){a(e),i(t);var n=arguments.length<3?e:a(arguments[2]);if(m&&!p)return s(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var o=[null];return o.push.apply(o,t),new(u.apply(e,o))}var r=n.prototype,d=l(c(r)?r:Object.prototype),f=Function.apply.call(e,d,t);return c(f)?f:d}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(8),i=n(33),c=n(13);o({target:"Reflect",stat:!0,forced:n(4)((function(){Reflect.defineProperty(c.f({},1,{value:1}),1,{value:2})})),sham:!r},{defineProperty:function(e,t,n){a(e);var o=i(t,!0);a(n);try{return c.f(e,o,n),!0}catch(r){return!1}}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(20).f;o({target:"Reflect",stat:!0},{deleteProperty:function(e,t){var n=a(r(e),t);return!(n&&!n.configurable)&&delete e[t]}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(8),i=n(15),c=n(20),l=n(36);o({target:"Reflect",stat:!0},{get:function u(e,t){var n,o,d=arguments.length<3?e:arguments[2];return a(e)===d?e[t]:(n=c.f(e,t))?i(n,"value")?n.value:n.get===undefined?undefined:n.get.call(d):r(o=l(e))?u(o,t,d):void 0}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(8),i=n(20);o({target:"Reflect",stat:!0,sham:!r},{getOwnPropertyDescriptor:function(e,t){return i.f(a(e),t)}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(36);o({target:"Reflect",stat:!0,sham:!n(102)},{getPrototypeOf:function(e){return a(r(e))}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{has:function(e,t){return t in e}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=Object.isExtensible;o({target:"Reflect",stat:!0},{isExtensible:function(e){return r(e),!a||a(e)}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{ownKeys:n(92)})},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(8);o({target:"Reflect",stat:!0,sham:!n(67)},{preventExtensions:function(e){a(e);try{var t=r("Object","preventExtensions");return t&&t(e),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(6),i=n(15),c=n(4),l=n(13),u=n(20),d=n(36),s=n(47);o({target:"Reflect",stat:!0,forced:c((function(){var e=l.f({},"a",{configurable:!0});return!1!==Reflect.set(d(e),"a",1,e)}))},{set:function p(e,t,n){var o,c,m=arguments.length<4?e:arguments[3],f=u.f(r(e),t);if(!f){if(a(c=d(e)))return p(c,t,n,m);f=s(0)}if(i(f,"value")){if(!1===f.writable||!a(m))return!1;if(o=u.f(m,t)){if(o.get||o.set||!1===o.writable)return!1;o.value=n,l.f(m,t,o)}else l.f(m,t,s(0,n));return!0}return f.set!==undefined&&(f.set.call(m,n),!0)}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(135),i=n(53);i&&o({target:"Reflect",stat:!0},{setPrototypeOf:function(e,t){r(e),a(t);try{return i(e,t),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(79),c=n(13).f,l=n(48).f,u=n(107),d=n(83),s=n(24),p=n(4),m=n(54),f=n(12)("match"),h=r.RegExp,C=h.prototype,g=/a/g,b=/a/g,N=new h(g)!==g;if(o&&a("RegExp",!N||p((function(){return b[f]=!1,h(g)!=g||h(b)==b||"/a/i"!=h(g,"i")})))){for(var v=function(e,t){var n=this instanceof v,o=u(e),r=t===undefined;return!n&&o&&e.constructor===v&&r?e:i(N?new h(o&&!r?e.source:e,t):h((o=e instanceof v)?e.source:e,o&&r?d.call(e):t),n?this:C,v)},V=function(e){e in v||c(v,e,{configurable:!0,get:function(){return h[e]},set:function(t){h[e]=t}})},y=l(h),_=0;y.length>_;)V(y[_++]);C.constructor=v,v.prototype=C,s(r,"RegExp",v)}m("RegExp")},function(e,t,n){"use strict";var o=n(0),r=n(84);o({target:"RegExp",proto:!0,forced:/./.exec!==r},{exec:r})},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(83);o&&"g"!=/./g.flags&&r.f(RegExp.prototype,"flags",{configurable:!0,get:a})},function(e,t,n){"use strict";var o=n(24),r=n(8),a=n(4),i=n(83),c=RegExp.prototype,l=c.toString,u=a((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),d="toString"!=l.name;(u||d)&&o(RegExp.prototype,"toString",(function(){var e=r(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(n===undefined&&e instanceof RegExp&&!("flags"in c)?i.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(0),r=n(108).codeAt;o({target:"String",proto:!0},{codePointAt:function(e){return r(this,e)}})},function(e,t,n){"use strict";var o,r=n(0),a=n(20).f,i=n(10),c=n(109),l=n(23),u=n(110),d=n(38),s="".endsWith,p=Math.min,m=u("endsWith");r({target:"String",proto:!0,forced:!!(d||m||(o=a(String.prototype,"endsWith"),!o||o.writable))&&!m},{endsWith:function(e){var t=String(l(this));c(e);var n=arguments.length>1?arguments[1]:undefined,o=i(t.length),r=n===undefined?o:p(i(n),o),a=String(e);return s?s.call(t,a,r):t.slice(r-a.length,r)===a}})},function(e,t,n){"use strict";var o=n(0),r=n(41),a=String.fromCharCode,i=String.fromCodePoint;o({target:"String",stat:!0,forced:!!i&&1!=i.length},{fromCodePoint:function(e){for(var t,n=[],o=arguments.length,i=0;o>i;){if(t=+arguments[i++],r(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?a(t):a(55296+((t-=65536)>>10),t%1024+56320))}return n.join("")}})},function(e,t,n){"use strict";var o=n(0),r=n(109),a=n(23);o({target:"String",proto:!0,forced:!n(110)("includes")},{includes:function(e){return!!~String(a(this)).indexOf(r(e),arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(108).charAt,r=n(34),a=n(101),i=r.set,c=r.getterFor("String Iterator");a(String,"String",(function(e){i(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=c(this),n=t.string,r=t.index;return r>=n.length?{value:undefined,done:!0}:(e=o(n,r),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(10),i=n(23),c=n(111),l=n(86);o("match",1,(function(e,t,n){return[function(t){var n=i(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var i=r(e),u=String(this);if(!i.global)return l(i,u);var d=i.unicode;i.lastIndex=0;for(var s,p=[],m=0;null!==(s=l(i,u));){var f=String(s[0]);p[m]=f,""===f&&(i.lastIndex=c(u,a(i.lastIndex),d)),m++}return 0===m?null:p}]}))},function(e,t,n){"use strict";var o=n(0),r=n(103).end;o({target:"String",proto:!0,forced:n(150)},{padEnd:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(103).start;o({target:"String",proto:!0,forced:n(150)},{padStart:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(25),a=n(10);o({target:"String",stat:!0},{raw:function(e){for(var t=r(e.raw),n=a(t.length),o=arguments.length,i=[],c=0;n>c;)i.push(String(t[c++])),c]*>)/g,h=/\$([$&'`]|\d\d?)/g;o("replace",2,(function(e,t,n){return[function(n,o){var r=l(this),a=n==undefined?undefined:n[e];return a!==undefined?a.call(n,r,o):t.call(String(r),n,o)},function(e,a){var l=n(t,e,this,a);if(l.done)return l.value;var m=r(e),f=String(this),h="function"==typeof a;h||(a=String(a));var C=m.global;if(C){var g=m.unicode;m.lastIndex=0}for(var b=[];;){var N=d(m,f);if(null===N)break;if(b.push(N),!C)break;""===String(N[0])&&(m.lastIndex=u(f,i(m.lastIndex),g))}for(var v,V="",y=0,_=0;_=y&&(V+=f.slice(y,k)+I,y=k+x.length)}return V+f.slice(y)}];function o(e,n,o,r,i,c){var l=o+e.length,u=r.length,d=h;return i!==undefined&&(i=a(i),d=f),t.call(c,d,(function(t,a){var c;switch(a.charAt(0)){case"$":return"$";case"&":return e;case"`":return n.slice(0,o);case"'":return n.slice(l);case"<":c=i[a.slice(1,-1)];break;default:var d=+a;if(0===d)return t;if(d>u){var s=m(d/10);return 0===s?t:s<=u?r[s-1]===undefined?a.charAt(1):r[s-1]+a.charAt(1):t}c=r[d-1]}return c===undefined?"":c}))}}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(23),i=n(144),c=n(86);o("search",1,(function(e,t,n){return[function(t){var n=a(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var a=r(e),l=String(this),u=a.lastIndex;i(u,0)||(a.lastIndex=0);var d=c(a,l);return i(a.lastIndex,u)||(a.lastIndex=u),null===d?-1:d.index}]}))},function(e,t,n){"use strict";var o=n(85),r=n(107),a=n(8),i=n(23),c=n(45),l=n(111),u=n(10),d=n(86),s=n(84),p=n(4),m=[].push,f=Math.min,h=!p((function(){return!RegExp(4294967295,"y")}));o("split",2,(function(e,t,n){var o;return o="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var o=String(i(this)),a=n===undefined?4294967295:n>>>0;if(0===a)return[];if(e===undefined)return[o];if(!r(e))return t.call(o,e,a);for(var c,l,u,d=[],p=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),f=0,h=new RegExp(e.source,p+"g");(c=s.call(h,o))&&!((l=h.lastIndex)>f&&(d.push(o.slice(f,c.index)),c.length>1&&c.index=a));)h.lastIndex===c.index&&h.lastIndex++;return f===o.length?!u&&h.test("")||d.push(""):d.push(o.slice(f)),d.length>a?d.slice(0,a):d}:"0".split(undefined,0).length?function(e,n){return e===undefined&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var r=i(this),a=t==undefined?undefined:t[e];return a!==undefined?a.call(t,r,n):o.call(String(r),t,n)},function(e,r){var i=n(o,e,this,r,o!==t);if(i.done)return i.value;var s=a(e),p=String(this),m=c(s,RegExp),C=s.unicode,g=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+(h?"y":"g"),b=new m(h?s:"^(?:"+s.source+")",g),N=r===undefined?4294967295:r>>>0;if(0===N)return[];if(0===p.length)return null===d(b,p)?[p]:[];for(var v=0,V=0,y=[];V1?arguments[1]:undefined,t.length)),o=String(e);return s?s.call(t,o,n):t.slice(n,n+o.length)===o}})},function(e,t,n){"use strict";var o=n(0),r=n(56).trim;o({target:"String",proto:!0,forced:n(112)("trim")},{trim:function(){return r(this)}})},function(e,t,n){"use strict";var o=n(0),r=n(56).end,a=n(112)("trimEnd"),i=a?function(){return r(this)}:"".trimEnd;o({target:"String",proto:!0,forced:a},{trimEnd:i,trimRight:i})},function(e,t,n){"use strict";var o=n(0),r=n(56).start,a=n(112)("trimStart"),i=a?function(){return r(this)}:"".trimStart;o({target:"String",proto:!0,forced:a},{trimStart:i,trimLeft:i})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("anchor")},{anchor:function(e){return r(this,"a","name",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("big")},{big:function(){return r(this,"big","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("blink")},{blink:function(){return r(this,"blink","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("bold")},{bold:function(){return r(this,"b","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("fixed")},{fixed:function(){return r(this,"tt","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("fontcolor")},{fontcolor:function(e){return r(this,"font","color",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("fontsize")},{fontsize:function(e){return r(this,"font","size",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("italics")},{italics:function(){return r(this,"i","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("link")},{link:function(e){return r(this,"a","href",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("small")},{small:function(){return r(this,"small","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("strike")},{strike:function(){return r(this,"strike","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("sub")},{sub:function(){return r(this,"sub","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("sup")},{sup:function(){return r(this,"sup","","")}})},function(e,t,n){"use strict";n(40)("Float32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(30);e.exports=function(e){var t=o(e);if(t<0)throw RangeError("The argument can't be less than 0");return t}},function(e,t,n){"use strict";n(40)("Float64",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}),!0)},function(e,t,n){"use strict";n(40)("Uint16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(7),r=n(130),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("copyWithin",(function(e,t){return r.call(a(this),e,t,arguments.length>2?arguments[2]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(17).every,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("every",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(97),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("fill",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(17).filter,a=n(45),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("filter",(function(e){for(var t=r(i(this),e,arguments.length>1?arguments[1]:undefined),n=a(this,this.constructor),o=0,l=t.length,u=new(c(n))(l);l>o;)u[o]=t[o++];return u}))},function(e,t,n){"use strict";var o=n(7),r=n(17).find,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("find",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(17).findIndex,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("findIndex",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(17).forEach,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("forEach",(function(e){r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(113);(0,n(7).exportTypedArrayStaticMethod)("from",n(152),o)},function(e,t,n){"use strict";var o=n(7),r=n(60).includes,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("includes",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(60).indexOf,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("indexOf",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(133),i=n(12)("iterator"),c=o.Uint8Array,l=a.values,u=a.keys,d=a.entries,s=r.aTypedArray,p=r.exportTypedArrayMethod,m=c&&c.prototype[i],f=!!m&&("values"==m.name||m.name==undefined),h=function(){return l.call(s(this))};p("entries",(function(){return d.call(s(this))})),p("keys",(function(){return u.call(s(this))})),p("values",h,!f),p(i,h,!f)},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].join;a("join",(function(e){return i.apply(r(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(136),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("lastIndexOf",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(17).map,a=n(45),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("map",(function(e){return r(i(this),e,arguments.length>1?arguments[1]:undefined,(function(e,t){return new(c(a(e,e.constructor)))(t)}))}))},function(e,t,n){"use strict";var o=n(7),r=n(113),a=o.aTypedArrayConstructor;(0,o.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,t=arguments.length,n=new(a(this))(t);t>e;)n[e]=arguments[e++];return n}),r)},function(e,t,n){"use strict";var o=n(7),r=n(76).left,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduce",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(76).right,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduceRight",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=Math.floor;a("reverse",(function(){for(var e,t=r(this).length,n=i(t/2),o=0;o1?arguments[1]:undefined,1),n=this.length,o=i(e),c=r(o.length),u=0;if(c+t>n)throw RangeError("Wrong length");for(;ua;)d[a]=n[a++];return d}),a((function(){new Int8Array(1).slice()})))},function(e,t,n){"use strict";var o=n(7),r=n(17).some,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("some",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].sort;a("sort",(function(e){return i.call(r(this),e)}))},function(e,t,n){"use strict";var o=n(7),r=n(10),a=n(41),i=n(45),c=o.aTypedArray;(0,o.exportTypedArrayMethod)("subarray",(function(e,t){var n=c(this),o=n.length,l=a(e,o);return new(i(n,n.constructor))(n.buffer,n.byteOffset+l*n.BYTES_PER_ELEMENT,r((t===undefined?o:a(t,o))-l))}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(4),i=o.Int8Array,c=r.aTypedArray,l=r.exportTypedArrayMethod,u=[].toLocaleString,d=[].slice,s=!!i&&a((function(){u.call(new i(1))}));l("toLocaleString",(function(){return u.apply(s?d.call(c(this)):c(this),arguments)}),a((function(){return[1,2].toLocaleString()!=new i([1,2]).toLocaleString()}))||!a((function(){i.prototype.toLocaleString.call([1,2])})))},function(e,t,n){"use strict";var o=n(7).exportTypedArrayMethod,r=n(4),a=n(5).Uint8Array,i=a&&a.prototype||{},c=[].toString,l=[].join;r((function(){c.call({})}))&&(c=function(){return l.call(this)});var u=i.toString!=c;o("toString",c,u)},function(e,t,n){"use strict";var o,r=n(5),a=n(66),i=n(51),c=n(78),l=n(153),u=n(6),d=n(34).enforce,s=n(121),p=!r.ActiveXObject&&"ActiveXObject"in r,m=Object.isExtensible,f=function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}},h=e.exports=c("WeakMap",f,l);if(s&&p){o=l.getConstructor(f,"WeakMap",!0),i.REQUIRED=!0;var C=h.prototype,g=C["delete"],b=C.has,N=C.get,v=C.set;a(C,{"delete":function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),g.call(this,e)||t.frozen["delete"](e)}return g.call(this,e)},has:function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),b.call(this,e)||t.frozen.has(e)}return b.call(this,e)},get:function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),b.call(this,e)?N.call(this,e):t.frozen.get(e)}return N.call(this,e)},set:function(e,t){if(u(e)&&!m(e)){var n=d(this);n.frozen||(n.frozen=new o),b.call(this,e)?v.call(this,e,t):n.frozen.set(e,t)}else v.call(this,e,t);return this}})}},function(e,t,n){"use strict";n(78)("WeakSet",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),n(153))},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(106);o({global:!0,bind:!0,enumerable:!0,forced:!r.setImmediate||!r.clearImmediate},{setImmediate:a.set,clearImmediate:a.clear})},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(147),i=n(32),c=r.process,l="process"==i(c);o({global:!0,enumerable:!0,noTargetGet:!0},{queueMicrotask:function(e){var t=l&&c.domain;a(t?t.bind(e):e)}})},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(73),i=[].slice,c=function(e){return function(t,n){var o=arguments.length>2,r=o?i.call(arguments,2):undefined;return e(o?function(){("function"==typeof t?t:Function(t)).apply(this,r)}:t,n)}};o({global:!0,bind:!0,forced:/MSIE .\./.test(a)},{setTimeout:c(r.setTimeout),setInterval:c(r.setInterval)})},function(e,t,n){"use strict";t.__esModule=!0,t._CI=Ie,t._HI=D,t._M=Te,t._MCCC=Me,t._ME=Pe,t._MFCC=Oe,t._MP=we,t._MR=ve,t.__render=ze,t.createComponentVNode=function(e,t,n,o,r){var i=new T(1,null,null,e=function(e,t){if(12&e)return e;if(t.prototype&&t.prototype.render)return 4;if(t.render)return 32776;return 8}(e,t),o,function(e,t,n){var o=(32768&e?t.render:t).defaultProps;if(a(o))return n;if(a(n))return d(o,null);return w(n,o)}(e,t,n),function(e,t,n){if(4&e)return n;var o=(32768&e?t.render:t).defaultHooks;if(a(o))return n;if(a(n))return o;return w(n,o)}(e,t,r),t);k.createVNode&&k.createVNode(i);return i},t.createFragment=E,t.createPortal=function(e,t){var n=D(e);return A(1024,1024,null,n,0,null,n.key,t)},t.createRef=function(){return{current:null}},t.createRenderer=function(e){return function(t,n,o,r){e||(e=t),He(n,e,o,r)}},t.createTextVNode=P,t.createVNode=A,t.directClone=M,t.findDOMfromVNode=v,t.forwardRef=function(e){return{render:e}},t.getFlagsForElementVnode=function(e){switch(e){case"svg":return 32;case"input":return 64;case"select":return 256;case"textarea":return 128;case m:return 8192;default:return 1}},t.linkEvent=function(e,t){if(c(t))return{data:e,event:t};return null},t.normalizeProps=function(e){var t=e.props;if(t){var n=e.flags;481&n&&(void 0!==t.children&&a(e.children)&&F(e,t.children),void 0!==t.className&&(e.className=t.className||null,t.className=undefined)),void 0!==t.key&&(e.key=t.key,t.key=undefined),void 0!==t.ref&&(e.ref=8&n?d(e.ref,t.ref):t.ref,t.ref=undefined)}return e},t.render=He,t.rerender=qe,t.version=t.options=t.Fragment=t.EMPTY_OBJ=t.Component=void 0;var o=Array.isArray;function r(e){var t=typeof e;return"string"===t||"number"===t}function a(e){return null==e}function i(e){return null===e||!1===e||!0===e||void 0===e}function c(e){return"function"==typeof e}function l(e){return"string"==typeof e}function u(e){return null===e}function d(e,t){var n={};if(e)for(var o in e)n[o]=e[o];if(t)for(var r in t)n[r]=t[r];return n}function s(e){return!u(e)&&"object"==typeof e}var p={};t.EMPTY_OBJ=p;var m="$F";function f(e){return e.substr(2).toLowerCase()}function h(e,t){e.appendChild(t)}function C(e,t,n){u(n)?h(e,t):e.insertBefore(t,n)}function g(e,t){e.removeChild(t)}function b(e){for(var t;(t=e.shift())!==undefined;)t()}function N(e,t,n){var o=e.children;return 4&n?o.$LI:8192&n?2===e.childFlags?o:o[t?0:o.length-1]:o}function v(e,t){for(var n;e;){if(2033&(n=e.flags))return e.dom;e=N(e,t,n)}return null}function V(e,t){do{var n=e.flags;if(2033&n)return void g(t,e.dom);var o=e.children;if(4&n&&(e=o.$LI),8&n&&(e=o),8192&n){if(2!==e.childFlags){for(var r=0,a=o.length;r0,f=u(p),h=l(p)&&p[0]===I;m||f||h?(n=n||t.slice(0,d),(m||h)&&(s=M(s)),(f||h)&&(s.key=I+d),n.push(s)):n&&n.push(s),s.flags|=65536}}a=0===(n=n||t).length?1:8}else(n=t).flags|=65536,81920&t.flags&&(n=M(t)),a=2;return e.children=n,e.childFlags=a,e}function D(e){return i(e)||r(e)?P(e,null):o(e)?E(e,0,null):16384&e.flags?M(e):e}var j="http://www.w3.org/1999/xlink",z="http://www.w3.org/XML/1998/namespace",H={"xlink:actuate":j,"xlink:arcrole":j,"xlink:href":j,"xlink:role":j,"xlink:show":j,"xlink:title":j,"xlink:type":j,"xml:base":z,"xml:lang":z,"xml:space":z};function G(e){return{onClick:e,onDblClick:e,onFocusIn:e,onFocusOut:e,onKeyDown:e,onKeyPress:e,onKeyUp:e,onMouseDown:e,onMouseMove:e,onMouseUp:e,onTouchEnd:e,onTouchMove:e,onTouchStart:e}}var U=G(0),K=G(null),Y=G(!0);function W(e,t){var n=t.$EV;return n||(n=t.$EV=G(null)),n[e]||1==++U[e]&&(K[e]=function(e){var t="onClick"===e||"onDblClick"===e?function(e){return function(t){0===t.button?$(t,!0,e,Z(t)):t.stopPropagation()}}(e):function(e){return function(t){$(t,!1,e,Z(t))}}(e);return document.addEventListener(f(e),t),t}(e)),n}function q(e,t){var n=t.$EV;n&&n[e]&&(0==--U[e]&&(document.removeEventListener(f(e),K[e]),K[e]=null),n[e]=null)}function $(e,t,n,o){var r=function(e){return c(e.composedPath)?e.composedPath()[0]:e.target}(e);do{if(t&&r.disabled)return;var a=r.$EV;if(a){var i=a[n];if(i&&(o.dom=r,i.event?i.event(i.data,e):i(e),e.cancelBubble))return}r=r.parentNode}while(!u(r))}function Q(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function X(){return this.defaultPrevented}function J(){return this.cancelBubble}function Z(e){var t={dom:document};return e.isDefaultPrevented=X,e.isPropagationStopped=J,e.stopPropagation=Q,Object.defineProperty(e,"currentTarget",{configurable:!0,get:function(){return t.dom}}),t}function ee(e,t,n){if(e[t]){var o=e[t];o.event?o.event(o.data,n):o(n)}else{var r=t.toLowerCase();e[r]&&e[r](n)}}function te(e,t){var n=function(n){var o=this.$V;if(o){var r=o.props||p,a=o.dom;if(l(e))ee(r,e,n);else for(var i=0;i-1&&t.options[i]&&(c=t.options[i].value),n&&a(c)&&(c=e.defaultValue),le(o,c)}}var se,pe,me=te("onInput",he),fe=te("onChange");function he(e,t,n){var o=e.value,r=t.value;if(a(o)){if(n){var i=e.defaultValue;a(i)||i===r||(t.defaultValue=i,t.value=i)}}else r!==o&&(t.defaultValue=o,t.value=o)}function Ce(e,t,n,o,r,a){64&e?ce(o,n):256&e?de(o,n,r,t):128&e&&he(o,n,r),a&&(n.$V=t)}function ge(e,t,n){64&e?function(e,t){oe(t.type)?(ne(e,"change",ae),ne(e,"click",ie)):ne(e,"input",re)}(t,n):256&e?function(e){ne(e,"change",ue)}(t):128&e&&function(e,t){ne(e,"input",me),t.onChange&&ne(e,"change",fe)}(t,n)}function be(e){return e.type&&oe(e.type)?!a(e.checked):!a(e.value)}function Ne(e){e&&!S(e,null)&&e.current&&(e.current=null)}function ve(e,t,n){e&&(c(e)||void 0!==e.current)&&n.push((function(){S(e,t)||void 0===e.current||(e.current=t)}))}function Ve(e,t){ye(e),V(e,t)}function ye(e){var t,n=e.flags,o=e.children;if(481&n){t=e.ref;var r=e.props;Ne(t);var i=e.childFlags;if(!u(r))for(var l=Object.keys(r),d=0,s=l.length;d0;for(var c in i&&(a=be(n))&&ge(t,o,n),n)Be(c,null,n[c],o,r,a,null);i&&Ce(t,e,o,n,!0,a)}function Se(e,t,n){var o=D(e.render(t,e.state,n)),r=n;return c(e.getChildContext)&&(r=d(n,e.getChildContext())),e.$CX=r,o}function Ie(e,t,n,o,r,a){var i=new t(n,o),l=i.$N=Boolean(t.getDerivedStateFromProps||i.getSnapshotBeforeUpdate);if(i.$SVG=r,i.$L=a,e.children=i,i.$BS=!1,i.context=o,i.props===p&&(i.props=n),l)i.state=_(i,n,i.state);else if(c(i.componentWillMount)){i.$BR=!0,i.componentWillMount();var d=i.$PS;if(!u(d)){var s=i.state;if(u(s))i.state=d;else for(var m in d)s[m]=d[m];i.$PS=null}i.$BR=!1}return i.$LI=Se(i,n,o),i}function Te(e,t,n,o,r,a){var i=e.flags|=16384;481&i?Pe(e,t,n,o,r,a):4&i?function(e,t,n,o,r,a){var i=Ie(e,e.type,e.props||p,n,o,a);Te(i.$LI,t,i.$CX,o,r,a),Me(e.ref,i,a)}(e,t,n,o,r,a):8&i?(!function(e,t,n,o,r,a){Te(e.children=D(function(e,t){return 32768&e.flags?e.type.render(e.props||p,e.ref,t):e.type(e.props||p,t)}(e,n)),t,n,o,r,a)}(e,t,n,o,r,a),Oe(e,a)):512&i||16&i?Ae(e,t,r):8192&i?function(e,t,n,o,r,a){var i=e.children,c=e.childFlags;12&c&&0===i.length&&(c=e.childFlags=2,i=e.children=O());2===c?Te(i,n,r,o,r,a):Ee(i,n,t,o,r,a)}(e,n,t,o,r,a):1024&i&&function(e,t,n,o,r){Te(e.children,e.ref,t,!1,null,r);var a=O();Ae(a,n,o),e.dom=a.dom}(e,n,t,r,a)}function Ae(e,t,n){var o=e.dom=document.createTextNode(e.children);u(t)||C(t,o,n)}function Pe(e,t,n,o,r,i){var c=e.flags,l=e.props,d=e.className,s=e.children,p=e.childFlags,m=e.dom=function(e,t){return t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e)}(e.type,o=o||(32&c)>0);if(a(d)||""===d||(o?m.setAttribute("class",d):m.className=d),16===p)L(m,s);else if(1!==p){var f=o&&"foreignObject"!==e.type;2===p?(16384&s.flags&&(e.children=s=M(s)),Te(s,m,n,f,null,i)):8!==p&&4!==p||Ee(s,m,n,f,null,i)}u(t)||C(t,m,r),u(l)||we(e,c,l,m,o),ve(e.ref,m,i)}function Ee(e,t,n,o,r,a){for(var i=0;i0,u!==d){var f=u||p;if((c=d||p)!==p)for(var h in(s=(448&r)>0)&&(m=be(c)),c){var C=f[h],g=c[h];C!==g&&Be(h,C,g,l,o,m,e)}if(f!==p)for(var b in f)a(c[b])&&!a(f[b])&&Be(b,f[b],null,l,o,m,e)}var N=t.children,v=t.className;e.className!==v&&(a(v)?l.removeAttribute("class"):o?l.setAttribute("class",v):l.className=v);4096&r?function(e,t){e.textContent!==t&&(e.textContent=t)}(l,N):Fe(e.childFlags,t.childFlags,e.children,N,l,n,o&&"foreignObject"!==t.type,null,e,i);s&&Ce(r,t,l,c,!1,m);var V=t.ref,y=e.ref;y!==V&&(Ne(y),ve(V,l,i))}(e,t,o,r,m,s):4&m?function(e,t,n,o,r,a,i){var l=t.children=e.children;if(u(l))return;l.$L=i;var s=t.props||p,m=t.ref,f=e.ref,h=l.state;if(!l.$N){if(c(l.componentWillReceiveProps)){if(l.$BR=!0,l.componentWillReceiveProps(s,o),l.$UN)return;l.$BR=!1}u(l.$PS)||(h=d(h,l.$PS),l.$PS=null)}De(l,h,s,n,o,r,!1,a,i),f!==m&&(Ne(f),ve(m,l,i))}(e,t,n,o,r,l,s):8&m?function(e,t,n,o,r,i,l){var u=!0,d=t.props||p,s=t.ref,m=e.props,f=!a(s),h=e.children;f&&c(s.onComponentShouldUpdate)&&(u=s.onComponentShouldUpdate(m,d));if(!1!==u){f&&c(s.onComponentWillUpdate)&&s.onComponentWillUpdate(m,d);var C=t.type,g=D(32768&t.flags?C.render(d,s,o):C(d,o));Re(h,g,n,o,r,i,l),t.children=g,f&&c(s.onComponentDidUpdate)&&s.onComponentDidUpdate(m,d)}else t.children=h}(e,t,n,o,r,l,s):16&m?function(e,t){var n=t.children,o=t.dom=e.dom;n!==e.children&&(o.nodeValue=n)}(e,t):512&m?t.dom=e.dom:8192&m?function(e,t,n,o,r,a){var i=e.children,c=t.children,l=e.childFlags,u=t.childFlags,d=null;12&u&&0===c.length&&(u=t.childFlags=2,c=t.children=O());var s=0!=(2&u);if(12&l){var p=i.length;(8&l&&8&u||s||!s&&c.length>p)&&(d=v(i[p-1],!1).nextSibling)}Fe(l,u,i,c,n,o,r,d,e,a)}(e,t,n,o,r,s):function(e,t,n,o){var r=e.ref,a=t.ref,c=t.children;if(Fe(e.childFlags,t.childFlags,e.children,c,r,n,!1,null,e,o),t.dom=e.dom,r!==a&&!i(c)){var l=c.dom;g(r,l),h(a,l)}}(e,t,o,s)}function Fe(e,t,n,o,r,a,i,c,l,u){switch(e){case 2:switch(t){case 2:Re(n,o,r,a,i,c,u);break;case 1:Ve(n,r);break;case 16:ye(n),L(r,o);break;default:!function(e,t,n,o,r,a){ye(e),Ee(t,n,o,r,v(e,!0),a),V(e,n)}(n,o,r,a,i,u)}break;case 1:switch(t){case 2:Te(o,r,a,i,c,u);break;case 1:break;case 16:L(r,o);break;default:Ee(o,r,a,i,c,u)}break;case 16:switch(t){case 16:!function(e,t,n){e!==t&&(""!==e?n.firstChild.nodeValue=t:L(n,t))}(n,o,r);break;case 2:xe(r),Te(o,r,a,i,c,u);break;case 1:xe(r);break;default:xe(r),Ee(o,r,a,i,c,u)}break;default:switch(t){case 16:_e(n),L(r,o);break;case 2:ke(r,l,n),Te(o,r,a,i,c,u);break;case 1:ke(r,l,n);break;default:var d=0|n.length,s=0|o.length;0===d?s>0&&Ee(o,r,a,i,c,u):0===s?ke(r,l,n):8===t&&8===e?function(e,t,n,o,r,a,i,c,l,u){var d,s,p=a-1,m=i-1,f=0,h=e[f],C=t[f];e:{for(;h.key===C.key;){if(16384&C.flags&&(t[f]=C=M(C)),Re(h,C,n,o,r,c,u),e[f]=C,++f>p||f>m)break e;h=e[f],C=t[f]}for(h=e[p],C=t[m];h.key===C.key;){if(16384&C.flags&&(t[m]=C=M(C)),Re(h,C,n,o,r,c,u),e[p]=C,p--,m--,f>p||f>m)break e;h=e[p],C=t[m]}}if(f>p){if(f<=m)for(s=(d=m+1)m)for(;f<=p;)Ve(e[f++],n);else!function(e,t,n,o,r,a,i,c,l,u,d,s,p){var m,f,h,C=0,g=c,b=c,N=a-c+1,V=i-c+1,_=new Int32Array(V+1),x=N===o,k=!1,L=0,B=0;if(r<4||(N|V)<32)for(C=g;C<=a;++C)if(m=e[C],Bc?k=!0:L=c,16384&f.flags&&(t[c]=f=M(f)),Re(m,f,l,n,u,d,p),++B;break}!x&&c>i&&Ve(m,l)}else x||Ve(m,l);else{var w={};for(C=b;C<=i;++C)w[t[C].key]=C;for(C=g;C<=a;++C)if(m=e[C],Bg;)Ve(e[g++],l);_[c-b]=C+1,L>c?k=!0:L=c,16384&(f=t[c]).flags&&(t[c]=f=M(f)),Re(m,f,l,n,u,d,p),++B}else x||Ve(m,l);else x||Ve(m,l)}if(x)ke(l,s,e),Ee(t,l,n,u,d,p);else if(k){var S=function(e){var t=0,n=0,o=0,r=0,a=0,i=0,c=0,l=e.length;l>je&&(je=l,se=new Int32Array(l),pe=new Int32Array(l));for(;n>1]]0&&(pe[n]=se[a-1]),se[a]=n)}a=r+1;var u=new Int32Array(a);i=se[a-1];for(;a-- >0;)u[a]=i,i=pe[i],se[a]=0;return u}(_);for(c=S.length-1,C=V-1;C>=0;C--)0===_[C]?(16384&(f=t[L=C+b]).flags&&(t[L]=f=M(f)),Te(f,l,n,u,(h=L+1)=0;C--)0===_[C]&&(16384&(f=t[L=C+b]).flags&&(t[L]=f=M(f)),Te(f,l,n,u,(h=L+1)i?i:a,p=0;pi)for(p=s;p0&&b(r),x.v=!1,c(n)&&n(),c(k.renderComplete)&&k.renderComplete(i,t)}function He(e,t,n,o){void 0===n&&(n=null),void 0===o&&(o=p),ze(e,t,n,o)}"undefined"!=typeof document&&window.Node&&(Node.prototype.$EV=null,Node.prototype.$V=null);var Ge=[],Ue="undefined"!=typeof Promise?Promise.resolve().then.bind(Promise.resolve()):function(e){window.setTimeout(e,0)},Ke=!1;function Ye(e,t,n,o){var r=e.$PS;if(c(t)&&(t=t(r?d(e.state,r):e.state,e.props,e.context)),a(r))e.$PS=t;else for(var i in t)r[i]=t[i];if(e.$BR)c(n)&&e.$L.push(n.bind(e));else{if(!x.v&&0===Ge.length)return void $e(e,o,n);if(-1===Ge.indexOf(e)&&Ge.push(e),Ke||(Ke=!0,Ue(qe)),c(n)){var l=e.$QU;l||(l=e.$QU=[]),l.push(n)}}}function We(e){for(var t=e.$QU,n=0,o=t.length;n0&&b(r),x.v=!1}else e.state=e.$PS,e.$PS=null;c(n)&&n.call(e)}}var Qe=function(e,t){this.state=null,this.$BR=!1,this.$BS=!0,this.$PS=null,this.$LI=null,this.$UN=!1,this.$CX=null,this.$QU=null,this.$N=!1,this.$L=null,this.$SVG=!1,this.props=e||p,this.context=t||p};t.Component=Qe,Qe.prototype.forceUpdate=function(e){this.$UN||Ye(this,{},e,!0)},Qe.prototype.setState=function(e,t){this.$UN||this.$BS||Ye(this,e,t,!1)},Qe.prototype.render=function(e,t,n){return null};t.version="7.3.3"},function(e,t,n){"use strict";var o=function(e){var t,n=Object.prototype,o=n.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},a=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",c=r.toStringTag||"@@toStringTag";function l(e,t,n,o){var r=t&&t.prototype instanceof h?t:h,a=Object.create(r.prototype),i=new B(o||[]);return a._invoke=function(e,t,n){var o=d;return function(r,a){if(o===p)throw new Error("Generator is already running");if(o===m){if("throw"===r)throw a;return S()}for(n.method=r,n.arg=a;;){var i=n.delegate;if(i){var c=x(i,n);if(c){if(c===f)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===d)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=p;var l=u(e,t,n);if("normal"===l.type){if(o=n.done?m:s,l.arg===f)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o=m,n.method="throw",n.arg=l.arg)}}}(e,n,i),a}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(o){return{type:"throw",arg:o}}}e.wrap=l;var d="suspendedStart",s="suspendedYield",p="executing",m="completed",f={};function h(){}function C(){}function g(){}var b={};b[a]=function(){return this};var N=Object.getPrototypeOf,v=N&&N(N(w([])));v&&v!==n&&o.call(v,a)&&(b=v);var V=g.prototype=h.prototype=Object.create(b);function y(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function _(e){var t;this._invoke=function(n,r){function a(){return new Promise((function(t,a){!function i(t,n,r,a){var c=u(e[t],e,n);if("throw"!==c.type){var l=c.arg,d=l.value;return d&&"object"==typeof d&&o.call(d,"__await")?Promise.resolve(d.__await).then((function(e){i("next",e,r,a)}),(function(e){i("throw",e,r,a)})):Promise.resolve(d).then((function(e){l.value=e,r(l)}),(function(e){return i("throw",e,r,a)}))}a(c.arg)}(n,r,t,a)}))}return t=t?t.then(a,a):a()}}function x(e,n){var o=e.iterator[n.method];if(o===t){if(n.delegate=null,"throw"===n.method){if(e.iterator["return"]&&(n.method="return",n.arg=t,x(e,n),"throw"===n.method))return f;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var r=u(o,e.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,f;var a=r.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,f):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,f)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function L(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function B(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function w(e){if(e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function n(){for(;++r=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var l=o.call(i,"catchLoc"),u=o.call(i,"finallyLoc");if(l&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&o.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),L(n),f}},"catch":function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if("throw"===o.type){var r=o.arg;L(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,o){return this.delegate={iterator:w(e),resultName:n,nextLoc:o},"next"===this.method&&(this.arg=t),f}},e}(e.exports);try{regeneratorRuntime=o}catch(r){Function("r","regeneratorRuntime = r")(o)}},function(e,t,n){"use strict";window.Int32Array||(window.Int32Array=Array)},function(e,t,n){"use strict";(function(e){ +!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=165)}([function(e,t,n){"use strict";var o=n(5),r=n(20).f,a=n(26),i=n(24),c=n(89),l=n(122),u=n(61);e.exports=function(e,t){var n,d,s,p,m,f=e.target,h=e.global,C=e.stat;if(n=h?o:C?o[f]||c(f,{}):(o[f]||{}).prototype)for(d in t){if(p=t[d],s=e.noTargetGet?(m=r(n,d))&&m.value:n[d],!u(h?d:f+(C?".":"#")+d,e.forced)&&s!==undefined){if(typeof p==typeof s)continue;l(p,s)}(e.sham||s&&s.sham)&&a(p,"sham",!0),i(n,d,p,e)}}},function(e,t,n){"use strict";t.__esModule=!0;var o=n(387);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(t[e]=o[e])}))},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=t.Tooltip=t.Toast=t.TitleBar=t.Tabs=t.Table=t.Section=t.ProgressBar=t.NumberInput=t.NoticeBox=t.LabeledList=t.Input=t.Icon=t.Grid=t.Flex=t.Dropdown=t.Dimmer=t.Collapsible=t.ColorBox=t.Button=t.Box=t.BlockQuote=t.AnimatedNumber=void 0;var o=n(158);t.AnimatedNumber=o.AnimatedNumber;var r=n(392);t.BlockQuote=r.BlockQuote;var a=n(19);t.Box=a.Box;var i=n(114);t.Button=i.Button;var c=n(394);t.ColorBox=c.ColorBox;var l=n(395);t.Collapsible=l.Collapsible;var u=n(396);t.Dimmer=u.Dimmer;var d=n(397);t.Dropdown=d.Dropdown;var s=n(398);t.Flex=s.Flex;var p=n(161);t.Grid=p.Grid;var m=n(87);t.Icon=m.Icon;var f=n(160);t.Input=f.Input;var h=n(163);t.LabeledList=h.LabeledList;var C=n(399);t.NoticeBox=C.NoticeBox;var g=n(400);t.NumberInput=g.NumberInput;var b=n(401);t.ProgressBar=b.ProgressBar;var N=n(402);t.Section=N.Section;var v=n(162);t.Table=v.Table;var V=n(403);t.Tabs=V.Tabs;var y=n(404);t.TitleBar=y.TitleBar;var _=n(117);t.Toast=_.Toast;var x=n(159);t.Tooltip=x.Tooltip;var k=n(405);t.Chart=k.Chart},function(e,t,n){"use strict";t.__esModule=!0,t.useBackend=t.backendReducer=t.backendUpdate=void 0;var o=n(37),r=n(16);t.backendUpdate=function(e){return{type:"backendUpdate",payload:e}};t.backendReducer=function(e,t){var n=t.type,r=t.payload;if("backendUpdate"===n){var a=Object.assign({},e.config,{},r.config),i=Object.assign({},e.data,{},r.static_data,{},r.data),c=a.status!==o.UI_DISABLED,l=a.status===o.UI_INTERACTIVE;return Object.assign({},e,{config:a,data:i,visible:c,interactive:l})}return e};t.useBackend=function(e){var t=e.state,n=(e.dispatch,t.config.ref);return Object.assign({},t,{act:function(e,t){return void 0===t&&(t={}),(0,r.act)(n,e,t)}})}},function(e,t,n){"use strict";e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){"use strict";(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||Function("return this")()}).call(this,n(118))},function(e,t,n){"use strict";e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";var o,r=n(9),a=n(5),i=n(6),c=n(15),l=n(74),u=n(26),d=n(24),s=n(13).f,p=n(36),m=n(53),f=n(12),h=n(58),C=a.DataView,g=C&&C.prototype,b=a.Int8Array,N=b&&b.prototype,v=a.Uint8ClampedArray,V=v&&v.prototype,y=b&&p(b),_=N&&p(N),x=Object.prototype,k=x.isPrototypeOf,L=f("toStringTag"),B=h("TYPED_ARRAY_TAG"),w=!(!a.ArrayBuffer||!C),S=w&&!!m&&"Opera"!==l(a.opera),I=!1,T={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},A=function(e){var t=l(e);return"DataView"===t||c(T,t)},P=function(e){return i(e)&&c(T,l(e))};for(o in T)a[o]||(S=!1);if((!S||"function"!=typeof y||y===Function.prototype)&&(y=function(){throw TypeError("Incorrect invocation")},S))for(o in T)a[o]&&m(a[o],y);if((!S||!_||_===x)&&(_=y.prototype,S))for(o in T)a[o]&&m(a[o].prototype,_);if(S&&p(V)!==_&&m(V,_),r&&!c(_,L))for(o in I=!0,s(_,L,{get:function(){return i(this)?this[B]:undefined}}),T)a[o]&&u(a[o],B,o);w&&m&&p(g)!==x&&m(g,x),e.exports={NATIVE_ARRAY_BUFFER:w,NATIVE_ARRAY_BUFFER_VIEWS:S,TYPED_ARRAY_TAG:I&&B,aTypedArray:function(e){if(P(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(m){if(k.call(y,e))return e}else for(var t in T)if(c(T,o)){var n=a[t];if(n&&(e===n||k.call(n,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n){if(r){if(n)for(var o in T){var i=a[o];i&&c(i.prototype,e)&&delete i.prototype[e]}_[e]&&!n||d(_,e,n?t:S&&N[e]||t)}},exportTypedArrayStaticMethod:function(e,t,n){var o,i;if(r){if(m){if(n)for(o in T)(i=a[o])&&c(i,e)&&delete i[e];if(y[e]&&!n)return;try{return d(y,e,n?t:S&&b[e]||t)}catch(l){}}for(o in T)!(i=a[o])||i[e]&&!n||d(i,e,t)}},isView:A,isTypedArray:P,TypedArray:y,TypedArrayPrototype:_}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(30),r=Math.min;e.exports=function(e){return e>0?r(o(e),9007199254740991):0}},function(e,t,n){"use strict";t.__esModule=!0,t.isFalsy=t.pureComponentHooks=t.shallowDiffers=t.normalizeChildren=t.classes=void 0;t.classes=function(e){for(var t="",n=0;n_;_++)if((p||_ in v)&&(b=V(g=v[_],_,N),e))if(t)k[_]=b;else if(b)switch(e){case 3:return!0;case 5:return g;case 6:return _;case 2:l.call(k,g)}else if(d)return!1;return s?-1:u||d?d:k}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6)}},function(e,t,n){"use strict";t.__esModule=!0,t.toFixed=t.round=t.clamp=void 0;t.clamp=function(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=1),Math.max(t,Math.min(e,n))};t.round=function(e){return Math.round(e)};t.toFixed=function(e,t){return void 0===t&&(t=0),Number(e).toFixed(t)}},function(e,t,n){"use strict";t.__esModule=!0,t.Box=t.computeBoxProps=t.unit=void 0;var o=n(1),r=n(11),a=n(393),i=n(37);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){return"string"==typeof e?e:"number"==typeof e?6*e+"px":void 0};t.unit=l;var u=function(e){return"string"==typeof e&&i.CSS_COLORS.includes(e)},d=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=n)}},s=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=l(n))}},p=function(e,t){return function(n,o){(0,r.isFalsy)(o)||(n[e]=t)}},m=function(e,t){return function(n,o){if(!(0,r.isFalsy)(o))for(var a=0;a0&&(t.style=l),t};t.computeBoxProps=C;var g=function(e){var t=e.as,n=void 0===t?"div":t,i=e.className,l=e.content,d=e.children,s=c(e,["as","className","content","children"]),p=e.textColor||e.color,m=e.backgroundColor;if("function"==typeof d)return d(C(e));var f=C(s);return(0,o.createVNode)(a.VNodeFlags.HtmlElement,n,(0,r.classes)([i,u(p)&&"color-"+p,u(m)&&"color-bg-"+m]),l||d,a.ChildFlags.UnknownChildren,f)};t.Box=g,g.defaultHooks=r.pureComponentHooks;var b=function(e){var t=e.children,n=c(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,g,Object.assign({position:"relative"},n,{children:(0,o.createComponentVNode)(2,g,{fillPositionedParent:!0,children:t})})))};b.defaultHooks=r.pureComponentHooks,g.Forced=b},function(e,t,n){"use strict";var o=n(9),r=n(71),a=n(47),i=n(25),c=n(33),l=n(15),u=n(119),d=Object.getOwnPropertyDescriptor;t.f=o?d:function(e,t){if(e=i(e),t=c(t,!0),u)try{return d(e,t)}catch(n){}if(l(e,t))return a(!r.f.call(e,t),e[t])}},function(e,t,n){"use strict";t.__esModule=!0,t.buildQueryString=t.decodeHtmlEntities=t.toTitleCase=t.capitalize=t.testGlobPattern=t.multiline=void 0;t.multiline=function o(e){if(Array.isArray(e))return o(e.join(""));var t,n=e.split("\n"),r=n,a=Array.isArray(r),i=0;for(r=a?r:r[Symbol.iterator]();;){var c;if(a){if(i>=r.length)break;c=r[i++]}else{if((i=r.next()).done)break;c=i.value}for(var l=c,u=0;u",apos:"'"};return e.replace(/
/gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(/&(nbsp|amp|quot|lt|gt|apos);/g,(function(e,n){return t[n]})).replace(/&#?([0-9]+);/gi,(function(e,t){var n=parseInt(t,10);return String.fromCharCode(n)})).replace(/&#x?([0-9a-f]+);/gi,(function(e,t){var n=parseInt(t,16);return String.fromCharCode(n)}))};t.buildQueryString=function(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}},function(e,t,n){"use strict";t.__esModule=!0,t.zipWith=t.zip=t.reduce=t.sortBy=t.map=t.toArray=void 0;t.toArray=function(e){if(Array.isArray(e))return e;if("object"==typeof e){var t=Object.prototype.hasOwnProperty,n=[];for(var o in e)t.call(e,o)&&n.push(e[o]);return n}return[]};var o=function(e){return function(t){if(null===t&&t===undefined)return t;if(Array.isArray(t)){for(var n=[],o=0;oc)return 1}return 0};t.sortBy=function(){for(var e=arguments.length,t=new Array(e),n=0;n"+i+""}},function(e,t,n){"use strict";var o=n(4);e.exports=function(e){return o((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}},function(e,t,n){"use strict";var o=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:o)(e)}},function(e,t,n){"use strict";e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t,n){"use strict";var o={}.toString;e.exports=function(e){return o.call(e).slice(8,-1)}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e,t){if(!o(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){"use strict";var o,r,a,i=n(121),c=n(5),l=n(6),u=n(26),d=n(15),s=n(72),p=n(59),m=c.WeakMap;if(i){var f=new m,h=f.get,C=f.has,g=f.set;o=function(e,t){return g.call(f,e,t),t},r=function(e){return h.call(f,e)||{}},a=function(e){return C.call(f,e)}}else{var b=s("state");p[b]=!0,o=function(e,t){return u(e,b,t),t},r=function(e){return d(e,b)?e[b]:{}},a=function(e){return d(e,b)}}e.exports={set:o,get:r,has:a,enforce:function(e){return a(e)?r(e):o(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=r(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){"use strict";var o=n(123),r=n(5),a=function(e){return"function"==typeof e?e:undefined};e.exports=function(e,t){return arguments.length<2?a(o[e])||a(r[e]):o[e]&&o[e][t]||r[e]&&r[e][t]}},function(e,t,n){"use strict";var o=n(15),r=n(14),a=n(72),i=n(102),c=a("IE_PROTO"),l=Object.prototype;e.exports=i?Object.getPrototypeOf:function(e){return e=r(e),o(e,c)?e[c]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},function(e,t,n){"use strict";t.__esModule=!0,t.getGasColor=t.getGasLabel=t.RADIO_CHANNELS=t.CSS_COLORS=t.COLORS=t.UI_CLOSE=t.UI_DISABLED=t.UI_UPDATE=t.UI_INTERACTIVE=void 0;t.UI_INTERACTIVE=2;t.UI_UPDATE=1;t.UI_DISABLED=0;t.UI_CLOSE=-1;t.COLORS={department:{captain:"#c06616",security:"#e74c3c",medbay:"#3498db",science:"#9b59b6",engineering:"#f1c40f",cargo:"#f39c12",centcom:"#00c100",other:"#c38312"},damageType:{oxy:"#3498db",toxin:"#2ecc71",burn:"#e67e22",brute:"#e74c3c"}};t.CSS_COLORS=["black","white","red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","good","average","bad","label"];t.RADIO_CHANNELS=[{name:"Syndicate",freq:1213,color:"#a52a2a"},{name:"Red Team",freq:1215,color:"#ff4444"},{name:"Blue Team",freq:1217,color:"#3434fd"},{name:"CentCom",freq:1337,color:"#2681a5"},{name:"Supply",freq:1347,color:"#b88646"},{name:"Service",freq:1349,color:"#6ca729"},{name:"Science",freq:1351,color:"#c68cfa"},{name:"Command",freq:1353,color:"#5177ff"},{name:"Medical",freq:1355,color:"#57b8f0"},{name:"Engineering",freq:1357,color:"#f37746"},{name:"Security",freq:1359,color:"#dd3535"},{name:"AI Private",freq:1447,color:"#d65d95"},{name:"Common",freq:1459,color:"#1ecc43"}];var o=[{id:"o2",name:"Oxygen",label:"O\u2082",color:"blue"},{id:"n2",name:"Nitrogen",label:"N\u2082",color:"red"},{id:"co2",name:"Carbon Dioxide",label:"CO\u2082",color:"grey"},{id:"plasma",name:"Plasma",label:"Plasma",color:"pink"},{id:"water_vapor",name:"Water Vapor",label:"H\u2082O",color:"grey"},{id:"nob",name:"Hyper-noblium",label:"Hyper-nob",color:"teal"},{id:"n2o",name:"Nitrous Oxide",label:"N\u2082O",color:"red"},{id:"no2",name:"Nitryl",label:"NO\u2082",color:"brown"},{id:"tritium",name:"Tritium",label:"Tritium",color:"green"},{id:"bz",name:"BZ",label:"BZ",color:"purple"},{id:"stim",name:"Stimulum",label:"Stimulum",color:"purple"},{id:"pluox",name:"Pluoxium",label:"Pluoxium",color:"blue"},{id:"miasma",name:"Miasma",label:"Miasma",color:"olive"}];t.getGasLabel=function(e,t){var n=String(e).toLowerCase(),r=o.find((function(e){return e.id===n||e.name.toLowerCase()===n}));return r&&r.label||t||e};t.getGasColor=function(e){var t=String(e).toLowerCase(),n=o.find((function(e){return e.id===t||e.name.toLowerCase()===t}));return n&&n.color}},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var o=n(4);e.exports=function(e,t){var n=[][e];return!n||!o((function(){n.call(null,t||function(){throw 1},1)}))}},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(9),i=n(113),c=n(7),l=n(77),u=n(55),d=n(47),s=n(26),p=n(10),m=n(137),f=n(151),h=n(33),C=n(15),g=n(74),b=n(6),N=n(42),v=n(53),V=n(48).f,y=n(152),_=n(17).forEach,x=n(54),k=n(13),L=n(20),B=n(34),w=n(79),S=B.get,I=B.set,T=k.f,A=L.f,P=Math.round,E=r.RangeError,M=l.ArrayBuffer,O=l.DataView,R=c.NATIVE_ARRAY_BUFFER_VIEWS,F=c.TYPED_ARRAY_TAG,D=c.TypedArray,j=c.TypedArrayPrototype,z=c.aTypedArrayConstructor,H=c.isTypedArray,G=function(e,t){for(var n=0,o=t.length,r=new(z(e))(o);o>n;)r[n]=t[n++];return r},U=function(e,t){T(e,t,{get:function(){return S(this)[t]}})},K=function(e){var t;return e instanceof M||"ArrayBuffer"==(t=g(e))||"SharedArrayBuffer"==t},Y=function(e,t){return H(e)&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},W=function(e,t){return Y(e,t=h(t,!0))?d(2,e[t]):A(e,t)},q=function(e,t,n){return!(Y(e,t=h(t,!0))&&b(n)&&C(n,"value"))||C(n,"get")||C(n,"set")||n.configurable||C(n,"writable")&&!n.writable||C(n,"enumerable")&&!n.enumerable?T(e,t,n):(e[t]=n.value,e)};a?(R||(L.f=W,k.f=q,U(j,"buffer"),U(j,"byteOffset"),U(j,"byteLength"),U(j,"length")),o({target:"Object",stat:!0,forced:!R},{getOwnPropertyDescriptor:W,defineProperty:q}),e.exports=function(e,t,n){var a=e.match(/\d+$/)[0]/8,c=e+(n?"Clamped":"")+"Array",l="get"+e,d="set"+e,h=r[c],C=h,g=C&&C.prototype,k={},L=function(e,t){var n=S(e);return n.view[l](t*a+n.byteOffset,!0)},B=function(e,t,o){var r=S(e);n&&(o=(o=P(o))<0?0:o>255?255:255&o),r.view[d](t*a+r.byteOffset,o,!0)},A=function(e,t){T(e,t,{get:function(){return L(this,t)},set:function(e){return B(this,t,e)},enumerable:!0})};R?i&&(C=t((function(e,t,n,o){return u(e,C,c),w(b(t)?K(t)?o!==undefined?new h(t,f(n,a),o):n!==undefined?new h(t,f(n,a)):new h(t):H(t)?G(C,t):y.call(C,t):new h(m(t)),e,C)})),v&&v(C,D),_(V(h),(function(e){e in C||s(C,e,h[e])})),C.prototype=g):(C=t((function(e,t,n,o){u(e,C,c);var r,i,l,d=0,s=0;if(b(t)){if(!K(t))return H(t)?G(C,t):y.call(C,t);r=t,s=f(n,a);var h=t.byteLength;if(o===undefined){if(h%a)throw E("Wrong length");if((i=h-s)<0)throw E("Wrong length")}else if((i=p(o)*a)+s>h)throw E("Wrong length");l=i/a}else l=m(t),r=new M(i=l*a);for(I(e,{buffer:r,byteOffset:s,byteLength:i,length:l,view:new O(r)});ddocument.F=Object<\/script>"),e.close(),p=e.F;n--;)delete p[d][a[n]];return p()};e.exports=Object.create||function(e,t){var n;return null!==e?(s[d]=o(e),n=new s,s[d]=null,n[u]=e):n=p(),t===undefined?n:r(n,t)},i[u]=!0},function(e,t,n){"use strict";var o=n(13).f,r=n(15),a=n(12)("toStringTag");e.exports=function(e,t,n){e&&!r(e=n?e:e.prototype,a)&&o(e,a,{configurable:!0,value:t})}},function(e,t,n){"use strict";var o=n(12),r=n(42),a=n(26),i=o("unscopables"),c=Array.prototype;c[i]==undefined&&a(c,i,r(null)),e.exports=function(e){c[i][e]=!0}},function(e,t,n){"use strict";var o=n(8),r=n(31),a=n(12)("species");e.exports=function(e,t){var n,i=o(e).constructor;return i===undefined||(n=o(i)[a])==undefined?t:r(n)}},function(e,t,n){"use strict";t.__esModule=!0,t.createLogger=void 0;n(154);var o=n(16),r=0,a=1,i=2,c=3,l=4,u=function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a=i){var c=[t].concat(r).map((function(e){return"string"==typeof e?e:e instanceof Error?e.stack||String(e):JSON.stringify(e)})).filter((function(e){return e})).join(" ")+"\nUser Agent: "+navigator.userAgent;(0,o.act)(window.__ref__,"tgui:log",{log:c})}};t.createLogger=function(e){return{debug:function(){for(var t=arguments.length,n=new Array(t),o=0;od;)if((c=l[d++])!=c)return!0}else for(;u>d;d++)if((e||d in l)&&l[d]===n)return e||d||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},function(e,t,n){"use strict";var o=n(4),r=/#|\.prototype\./,a=function(e,t){var n=c[i(e)];return n==u||n!=l&&("function"==typeof t?o(t):!!t)},i=a.normalize=function(e){return String(e).replace(r,".").toLowerCase()},c=a.data={},l=a.NATIVE="N",u=a.POLYFILL="P";e.exports=a},function(e,t,n){"use strict";var o=n(124),r=n(93);e.exports=Object.keys||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(6),r=n(52),a=n(12)("species");e.exports=function(e,t){var n;return r(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!r(n.prototype)?o(n)&&null===(n=n[a])&&(n=undefined):n=undefined),new(n===undefined?Array:n)(0===t?0:t)}},function(e,t,n){"use strict";var o=n(4),r=n(12),a=n(96),i=r("species");e.exports=function(e){return a>=51||!o((function(){var t=[];return(t.constructor={})[i]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var o=n(24);e.exports=function(e,t,n){for(var r in t)o(e,r,t[r],n);return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(e,t,n){"use strict";var o=n(8),r=n(98),a=n(10),i=n(49),c=n(99),l=n(132),u=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,t,n,d,s){var p,m,f,h,C,g,b,N=i(t,n,d?2:1);if(s)p=e;else{if("function"!=typeof(m=c(e)))throw TypeError("Target is not iterable");if(r(m)){for(f=0,h=a(e.length);h>f;f++)if((C=d?N(o(b=e[f])[0],b[1]):N(e[f]))&&C instanceof u)return C;return new u(!1)}p=m.call(e)}for(g=p.next;!(b=g.call(p)).done;)if("object"==typeof(C=l(p,N,b.value,d))&&C&&C instanceof u)return C;return new u(!1)}).stop=function(e){return new u(!0,e)}},function(e,t,n){"use strict";t.__esModule=!0,t.InterfaceLockNoticeBox=void 0;var o=n(1),r=n(2);t.InterfaceLockNoticeBox=function(e){var t=e.siliconUser,n=e.locked,a=e.onLockStatusChange,i=e.accessText;return t?(0,o.createComponentVNode)(2,r.NoticeBox,{children:(0,o.createComponentVNode)(2,r.Flex,{align:"center",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{children:"Interface lock status:"}),(0,o.createComponentVNode)(2,r.Flex.Item,{grow:1}),(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Button,{m:0,color:"gray",icon:n?"lock":"unlock",content:n?"Locked":"Unlocked",onClick:function(){a&&a(!n)}})})]})}):(0,o.createComponentVNode)(2,r.NoticeBox,{children:["Swipe ",i||"an ID card"," ","to ",n?"unlock":"lock"," this interface."]})}},function(e,t,n){"use strict";t.__esModule=!0,t.compose=t.flow=void 0;t.flow=function o(){for(var e=arguments.length,t=new Array(e),n=0;n1?r-1:0),i=1;i=c.length)break;d=c[u++]}else{if((u=c.next()).done)break;d=u.value}var s=d;Array.isArray(s)?n=o.apply(void 0,s).apply(void 0,[n].concat(a)):s&&(n=s.apply(void 0,[n].concat(a)))}return n}};t.compose=function(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;a=0:s>p;p+=m)p in d&&(l=n(l,d[p],p,u));return l}};e.exports={left:c(!1),right:c(!0)}},function(e,t,n){"use strict";var o=n(5),r=n(9),a=n(7).NATIVE_ARRAY_BUFFER,i=n(26),c=n(66),l=n(4),u=n(55),d=n(30),s=n(10),p=n(137),m=n(218),f=n(48).f,h=n(13).f,C=n(97),g=n(43),b=n(34),N=b.get,v=b.set,V="ArrayBuffer",y="DataView",_="Wrong length",x=o[V],k=x,L=o[y],B=o.RangeError,w=m.pack,S=m.unpack,I=function(e){return[255&e]},T=function(e){return[255&e,e>>8&255]},A=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},P=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},E=function(e){return w(e,23,4)},M=function(e){return w(e,52,8)},O=function(e,t){h(e.prototype,t,{get:function(){return N(this)[t]}})},R=function(e,t,n,o){var r=p(n),a=N(e);if(r+t>a.byteLength)throw B("Wrong index");var i=N(a.buffer).bytes,c=r+a.byteOffset,l=i.slice(c,c+t);return o?l:l.reverse()},F=function(e,t,n,o,r,a){var i=p(n),c=N(e);if(i+t>c.byteLength)throw B("Wrong index");for(var l=N(c.buffer).bytes,u=i+c.byteOffset,d=o(+r),s=0;sH;)(D=z[H++])in k||i(k,D,x[D]);j.constructor=k}var G=new L(new k(2)),U=L.prototype.setInt8;G.setInt8(0,2147483648),G.setInt8(1,2147483649),!G.getInt8(0)&&G.getInt8(1)||c(L.prototype,{setInt8:function(e,t){U.call(this,e,t<<24>>24)},setUint8:function(e,t){U.call(this,e,t<<24>>24)}},{unsafe:!0})}else k=function(e){u(this,k,V);var t=p(e);v(this,{bytes:C.call(new Array(t),0),byteLength:t}),r||(this.byteLength=t)},L=function(e,t,n){u(this,L,y),u(e,k,y);var o=N(e).byteLength,a=d(t);if(a<0||a>o)throw B("Wrong offset");if(a+(n=n===undefined?o-a:s(n))>o)throw B(_);v(this,{buffer:e,byteLength:n,byteOffset:a}),r||(this.buffer=e,this.byteLength=n,this.byteOffset=a)},r&&(O(k,"byteLength"),O(L,"buffer"),O(L,"byteLength"),O(L,"byteOffset")),c(L.prototype,{getInt8:function(e){return R(this,1,e)[0]<<24>>24},getUint8:function(e){return R(this,1,e)[0]},getInt16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return t[1]<<8|t[0]},getInt32:function(e){return P(R(this,4,e,arguments.length>1?arguments[1]:undefined))},getUint32:function(e){return P(R(this,4,e,arguments.length>1?arguments[1]:undefined))>>>0},getFloat32:function(e){return S(R(this,4,e,arguments.length>1?arguments[1]:undefined),23)},getFloat64:function(e){return S(R(this,8,e,arguments.length>1?arguments[1]:undefined),52)},setInt8:function(e,t){F(this,1,e,I,t)},setUint8:function(e,t){F(this,1,e,I,t)},setInt16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setUint16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setInt32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setUint32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setFloat32:function(e,t){F(this,4,e,E,t,arguments.length>2?arguments[2]:undefined)},setFloat64:function(e,t){F(this,8,e,M,t,arguments.length>2?arguments[2]:undefined)}});g(k,V),g(L,y),e.exports={ArrayBuffer:k,DataView:L}},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(61),i=n(24),c=n(51),l=n(68),u=n(55),d=n(6),s=n(4),p=n(75),m=n(43),f=n(79);e.exports=function(e,t,n){var h=-1!==e.indexOf("Map"),C=-1!==e.indexOf("Weak"),g=h?"set":"add",b=r[e],N=b&&b.prototype,v=b,V={},y=function(e){var t=N[e];i(N,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(C&&!d(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return C&&!d(e)?undefined:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(C&&!d(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(a(e,"function"!=typeof b||!(C||N.forEach&&!s((function(){(new b).entries().next()})))))v=n.getConstructor(t,e,h,g),c.REQUIRED=!0;else if(a(e,!0)){var _=new v,x=_[g](C?{}:-0,1)!=_,k=s((function(){_.has(1)})),L=p((function(e){new b(e)})),B=!C&&s((function(){for(var e=new b,t=5;t--;)e[g](t,t);return!e.has(-0)}));L||((v=t((function(t,n){u(t,v,e);var o=f(new b,t,v);return n!=undefined&&l(n,o[g],o,h),o}))).prototype=N,N.constructor=v),(k||B)&&(y("delete"),y("has"),h&&y("get")),(B||x)&&y(g),C&&N.clear&&delete N.clear}return V[e]=v,o({global:!0,forced:v!=b},V),m(v,e),C||n.setStrong(v,e,h),v}},function(e,t,n){"use strict";var o=n(6),r=n(53);e.exports=function(e,t,n){var a,i;return r&&"function"==typeof(a=t.constructor)&&a!==n&&o(i=a.prototype)&&i!==n.prototype&&r(e,i),e}},function(e,t,n){"use strict";var o=Math.expm1,r=Math.exp;e.exports=!o||o(10)>22025.465794806718||o(10)<22025.465794806718||-2e-17!=o(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:r(e)-1}:o},function(e,t,n){"use strict";e.exports="\t\n\x0B\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},function(e,t,n){"use strict";var o=n(38),r=n(5),a=n(4);e.exports=o||!a((function(){var e=Math.random();__defineSetter__.call(null,e,(function(){})),delete r[e]}))},function(e,t,n){"use strict";var o=n(8);e.exports=function(){var e=o(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,n){"use strict";var o,r,a=n(83),i=RegExp.prototype.exec,c=String.prototype.replace,l=i,u=(o=/a/,r=/b*/g,i.call(o,"a"),i.call(r,"a"),0!==o.lastIndex||0!==r.lastIndex),d=/()??/.exec("")[1]!==undefined;(u||d)&&(l=function(e){var t,n,o,r,l=this;return d&&(n=new RegExp("^"+l.source+"$(?!\\s)",a.call(l))),u&&(t=l.lastIndex),o=i.call(l,e),u&&o&&(l.lastIndex=l.global?o.index+o[0].length:t),d&&o&&o.length>1&&c.call(o[0],n,(function(){for(r=1;r")})),d=!a((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));e.exports=function(e,t,n,s){var p=i(e),m=!a((function(){var t={};return t[p]=function(){return 7},7!=""[e](t)})),f=m&&!a((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[l]=function(){return n},n.flags="",n[p]=/./[p]),n.exec=function(){return t=!0,null},n[p](""),!t}));if(!m||!f||"replace"===e&&!u||"split"===e&&!d){var h=/./[p],C=n(p,""[e],(function(e,t,n,o,r){return t.exec===c?m&&!r?{done:!0,value:h.call(t,n,o)}:{done:!0,value:e.call(n,t,o)}:{done:!1}})),g=C[0],b=C[1];r(String.prototype,e,g),r(RegExp.prototype,p,2==t?function(e,t){return b.call(e,this,t)}:function(e){return b.call(e,this)}),s&&o(RegExp.prototype[p],"sham",!0)}}},function(e,t,n){"use strict";var o=n(32),r=n(84);e.exports=function(e,t){var n=e.exec;if("function"==typeof n){var a=n.call(e,t);if("object"!=typeof a)throw TypeError("RegExp exec method returned something other than an Object or null");return a}if("RegExp"!==o(e))throw TypeError("RegExp#exec called on incompatible receiver");return r.call(e,t)}},function(e,t,n){"use strict";t.__esModule=!0,t.Icon=void 0;var o=n(1),r=n(11),a=n(19);var i=/-o$/,c=function(e){var t=e.name,n=e.size,c=e.spin,l=e.className,u=e.style,d=void 0===u?{}:u,s=e.rotation,p=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["name","size","spin","className","style","rotation"]);n&&(d["font-size"]=100*n+"%"),"number"==typeof s&&(d.transform="rotate("+s+"deg)");var m=i.test(t),f=t.replace(i,"");return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"i",className:(0,r.classes)([l,m?"far":"fas","fa-"+f,c&&"fa-spin"]),style:d},p)))};t.Icon=c,c.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";var o=n(5),r=n(6),a=o.document,i=r(a)&&r(a.createElement);e.exports=function(e){return i?a.createElement(e):{}}},function(e,t,n){"use strict";var o=n(5),r=n(26);e.exports=function(e,t){try{r(o,e,t)}catch(n){o[e]=t}return t}},function(e,t,n){"use strict";var o=n(120),r=Function.toString;"function"!=typeof o.inspectSource&&(o.inspectSource=function(e){return r.call(e)}),e.exports=o.inspectSource},function(e,t,n){"use strict";var o=n(38),r=n(120);(e.exports=function(e,t){return r[e]||(r[e]=t!==undefined?t:{})})("versions",[]).push({version:"3.4.8",mode:o?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){"use strict";var o=n(35),r=n(48),a=n(94),i=n(8);e.exports=o("Reflect","ownKeys")||function(e){var t=r.f(i(e)),n=a.f;return n?t.concat(n(e)):t}},function(e,t,n){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";var o=n(4);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){return!String(Symbol())}))},function(e,t,n){"use strict";var o,r,a=n(5),i=n(73),c=a.process,l=c&&c.versions,u=l&&l.v8;u?r=(o=u.split("."))[0]+o[1]:i&&(!(o=i.match(/Edge\/(\d+)/))||o[1]>=74)&&(o=i.match(/Chrome\/(\d+)/))&&(r=o[1]),e.exports=r&&+r},function(e,t,n){"use strict";var o=n(14),r=n(41),a=n(10);e.exports=function(e){for(var t=o(this),n=a(t.length),i=arguments.length,c=r(i>1?arguments[1]:undefined,n),l=i>2?arguments[2]:undefined,u=l===undefined?n:r(l,n);u>c;)t[c++]=e;return t}},function(e,t,n){"use strict";var o=n(12),r=n(65),a=o("iterator"),i=Array.prototype;e.exports=function(e){return e!==undefined&&(r.Array===e||i[a]===e)}},function(e,t,n){"use strict";var o=n(74),r=n(65),a=n(12)("iterator");e.exports=function(e){if(e!=undefined)return e[a]||e["@@iterator"]||r[o(e)]}},function(e,t,n){"use strict";var o={};o[n(12)("toStringTag")]="z",e.exports="[object z]"===String(o)},function(e,t,n){"use strict";var o=n(0),r=n(203),a=n(36),i=n(53),c=n(43),l=n(26),u=n(24),d=n(12),s=n(38),p=n(65),m=n(134),f=m.IteratorPrototype,h=m.BUGGY_SAFARI_ITERATORS,C=d("iterator"),g=function(){return this};e.exports=function(e,t,n,d,m,b,N){r(n,t,d);var v,V,y,_=function(e){if(e===m&&w)return w;if(!h&&e in L)return L[e];switch(e){case"keys":case"values":case"entries":return function(){return new n(this,e)}}return function(){return new n(this)}},x=t+" Iterator",k=!1,L=e.prototype,B=L[C]||L["@@iterator"]||m&&L[m],w=!h&&B||_(m),S="Array"==t&&L.entries||B;if(S&&(v=a(S.call(new e)),f!==Object.prototype&&v.next&&(s||a(v)===f||(i?i(v,f):"function"!=typeof v[C]&&l(v,C,g)),c(v,x,!0,!0),s&&(p[x]=g))),"values"==m&&B&&"values"!==B.name&&(k=!0,w=function(){return B.call(this)}),s&&!N||L[C]===w||l(L,C,w),p[t]=w,m)if(V={values:_("values"),keys:b?w:_("keys"),entries:_("entries")},N)for(y in V)!h&&!k&&y in L||u(L,y,V[y]);else o({target:t,proto:!0,forced:h||k},V);return V}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},function(e,t,n){"use strict";var o=n(10),r=n(104),a=n(23),i=Math.ceil,c=function(e){return function(t,n,c){var l,u,d=String(a(t)),s=d.length,p=c===undefined?" ":String(c),m=o(n);return m<=s||""==p?d:(l=m-s,(u=r.call(p,i(l/p.length))).length>l&&(u=u.slice(0,l)),e?d+u:u+d)}};e.exports={start:c(!1),end:c(!0)}},function(e,t,n){"use strict";var o=n(30),r=n(23);e.exports="".repeat||function(e){var t=String(r(this)),n="",a=o(e);if(a<0||a==Infinity)throw RangeError("Wrong number of repetitions");for(;a>0;(a>>>=1)&&(t+=t))1&a&&(n+=t);return n}},function(e,t,n){"use strict";e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t,n){"use strict";var o,r,a,i=n(5),c=n(4),l=n(32),u=n(49),d=n(127),s=n(88),p=n(146),m=i.location,f=i.setImmediate,h=i.clearImmediate,C=i.process,g=i.MessageChannel,b=i.Dispatch,N=0,v={},V=function(e){if(v.hasOwnProperty(e)){var t=v[e];delete v[e],t()}},y=function(e){return function(){V(e)}},_=function(e){V(e.data)},x=function(e){i.postMessage(e+"",m.protocol+"//"+m.host)};f&&h||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return v[++N]=function(){("function"==typeof e?e:Function(e)).apply(undefined,t)},o(N),N},h=function(e){delete v[e]},"process"==l(C)?o=function(e){C.nextTick(y(e))}:b&&b.now?o=function(e){b.now(y(e))}:g&&!p?(a=(r=new g).port2,r.port1.onmessage=_,o=u(a.postMessage,a,1)):!i.addEventListener||"function"!=typeof postMessage||i.importScripts||c(x)?o="onreadystatechange"in s("script")?function(e){d.appendChild(s("script")).onreadystatechange=function(){d.removeChild(this),V(e)}}:function(e){setTimeout(y(e),0)}:(o=x,i.addEventListener("message",_,!1))),e.exports={set:f,clear:h}},function(e,t,n){"use strict";var o=n(6),r=n(32),a=n(12)("match");e.exports=function(e){var t;return o(e)&&((t=e[a])!==undefined?!!t:"RegExp"==r(e))}},function(e,t,n){"use strict";var o=n(30),r=n(23),a=function(e){return function(t,n){var a,i,c=String(r(t)),l=o(n),u=c.length;return l<0||l>=u?e?"":undefined:(a=c.charCodeAt(l))<55296||a>56319||l+1===u||(i=c.charCodeAt(l+1))<56320||i>57343?e?c.charAt(l):a:e?c.slice(l,l+2):i-56320+(a-55296<<10)+65536}};e.exports={codeAt:a(!1),charAt:a(!0)}},function(e,t,n){"use strict";var o=n(107);e.exports=function(e){if(o(e))throw TypeError("The method doesn't accept regular expressions");return e}},function(e,t,n){"use strict";var o=n(12)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[o]=!1,"/./"[e](t)}catch(r){}}return!1}},function(e,t,n){"use strict";var o=n(108).charAt;e.exports=function(e,t,n){return t+(n?o(e,t).length:1)}},function(e,t,n){"use strict";var o=n(4),r=n(81);e.exports=function(e){return o((function(){return!!r[e]()||"\u200b\x85\u180e"!="\u200b\x85\u180e"[e]()||r[e].name!==e}))}},function(e,t,n){"use strict";var o=n(5),r=n(4),a=n(75),i=n(7).NATIVE_ARRAY_BUFFER_VIEWS,c=o.ArrayBuffer,l=o.Int8Array;e.exports=!i||!r((function(){l(1)}))||!r((function(){new l(-1)}))||!a((function(e){new l,new l(null),new l(1.5),new l(e)}),!0)||r((function(){return 1!==new l(new c(2),1,undefined).length}))},function(e,t,n){"use strict";t.__esModule=!0,t.ButtonInput=t.ButtonConfirm=t.ButtonCheckbox=t.Button=void 0;var o=n(1),r=n(11),a=n(16),i=n(115),c=n(46),l=n(116),u=n(19),d=n(87),s=n(159);n(160),n(161);function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function m(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var f=(0,c.createLogger)("Button"),h=function(e){var t=e.className,n=e.fluid,c=e.icon,p=e.color,h=e.disabled,C=e.selected,g=e.tooltip,b=e.tooltipPosition,N=e.ellipsis,v=e.content,V=e.iconRotation,y=e.iconSpin,_=e.children,x=e.onclick,k=e.onClick,L=m(e,["className","fluid","icon","color","disabled","selected","tooltip","tooltipPosition","ellipsis","content","iconRotation","iconSpin","children","onclick","onClick"]),B=!(!v&&!_);return x&&f.warn("Lowercase 'onclick' is not supported on Button and lowercase prop names are discouraged in general. Please use a camelCase'onClick' instead and read: https://infernojs.org/docs/guides/event-handling"),(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({as:"span",className:(0,r.classes)(["Button",n&&"Button--fluid",h&&"Button--disabled",C&&"Button--selected",B&&"Button--hasContent",N&&"Button--ellipsis",p&&"string"==typeof p?"Button--color--"+p:"Button--color--default",t]),tabIndex:!h&&"0",unselectable:a.tridentVersion<=4,onclick:function(e){(0,l.refocusLayout)(),!h&&k&&k(e)},onKeyDown:function(e){var t=window.event?e.which:e.keyCode;return t===i.KEY_SPACE||t===i.KEY_ENTER?(e.preventDefault(),void(!h&&k&&k(e))):t===i.KEY_ESCAPE?(e.preventDefault(),void(0,l.refocusLayout)()):void 0}},L,{children:[c&&(0,o.createComponentVNode)(2,d.Icon,{name:c,rotation:V,spin:y}),v,_,g&&(0,o.createComponentVNode)(2,s.Tooltip,{content:g,position:b})]})))};t.Button=h,h.defaultHooks=r.pureComponentHooks;var C=function(e){var t=e.checked,n=m(e,["checked"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({color:"transparent",icon:t?"check-square-o":"square-o",selected:t},n)))};t.ButtonCheckbox=C,h.Checkbox=C;var g=function(e){function t(){var t;return(t=e.call(this)||this).state={clickedOnce:!1},t.handleClick=function(){t.state.clickedOnce&&t.setClickedOnce(!1)},t}p(t,e);var n=t.prototype;return n.setClickedOnce=function(e){var t=this;this.setState({clickedOnce:e}),e?setTimeout((function(){return window.addEventListener("click",t.handleClick)})):window.removeEventListener("click",this.handleClick)},n.render=function(){var e=this,t=this.props,n=t.confirmMessage,r=void 0===n?"Confirm?":n,a=t.confirmColor,i=void 0===a?"bad":a,c=t.color,l=t.content,u=t.onClick,d=m(t,["confirmMessage","confirmColor","color","content","onClick"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({content:this.state.clickedOnce?r:l,color:this.state.clickedOnce?i:c,onClick:function(){return e.state.clickedOnce?u():e.setClickedOnce(!0)}},d)))},t}(o.Component);t.ButtonConfirm=g,h.Confirm=g;var b=function(e){function t(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={inInput:!1},t}p(t,e);var n=t.prototype;return n.setInInput=function(e){if(this.setState({inInput:e}),this.inputRef){var t=this.inputRef.current;if(e){t.value=this.props.currentValue||"";try{t.focus(),t.select()}catch(n){}}}},n.commitResult=function(e){if(this.inputRef){var t=this.inputRef.current;if(""!==t.value)return void this.props.onCommit(e,t.value);if(!this.props.defaultValue)return;this.props.onCommit(e,this.props.defaultValue)}},n.render=function(){var e=this,t=this.props,n=t.fluid,a=t.content,c=t.color,l=void 0===c?"default":c,d=(t.placeholder,t.maxLength,m(t,["fluid","content","color","placeholder","maxLength"]));return(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({className:(0,r.classes)(["Button",n&&"Button--fluid","Button--color--"+l])},d,{onClick:function(){return e.setInInput(!0)},children:[(0,o.createVNode)(1,"div",null,a,0),(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:this.state.inInput?undefined:"none","text-align":"left"},onBlur:function(t){e.state.inInput&&(e.setInInput(!1),e.commitResult(t))},onKeyDown:function(t){if(t.keyCode===i.KEY_ENTER)return e.setInInput(!1),void e.commitResult(t);t.keyCode===i.KEY_ESCAPE&&e.setInInput(!1)}},null,this.inputRef)]})))},t}(o.Component);t.ButtonInput=b,h.Input=b},function(e,t,n){"use strict";t.__esModule=!0,t.hotKeyReducer=t.hotKeyMiddleware=t.releaseHeldKeys=t.KEY_MINUS=t.KEY_EQUAL=t.KEY_Z=t.KEY_Y=t.KEY_X=t.KEY_W=t.KEY_V=t.KEY_U=t.KEY_T=t.KEY_S=t.KEY_R=t.KEY_Q=t.KEY_P=t.KEY_O=t.KEY_N=t.KEY_M=t.KEY_L=t.KEY_K=t.KEY_J=t.KEY_I=t.KEY_H=t.KEY_G=t.KEY_F=t.KEY_E=t.KEY_D=t.KEY_C=t.KEY_B=t.KEY_A=t.KEY_9=t.KEY_8=t.KEY_7=t.KEY_6=t.KEY_5=t.KEY_4=t.KEY_3=t.KEY_2=t.KEY_1=t.KEY_0=t.KEY_SPACE=t.KEY_ESCAPE=t.KEY_ALT=t.KEY_CTRL=t.KEY_SHIFT=t.KEY_ENTER=t.KEY_TAB=t.KEY_BACKSPACE=void 0;var o=n(46),r=n(16),a=(0,o.createLogger)("hotkeys");t.KEY_BACKSPACE=8;t.KEY_TAB=9;t.KEY_ENTER=13;t.KEY_SHIFT=16;t.KEY_CTRL=17;t.KEY_ALT=18;t.KEY_ESCAPE=27;t.KEY_SPACE=32;t.KEY_0=48;t.KEY_1=49;t.KEY_2=50;t.KEY_3=51;t.KEY_4=52;t.KEY_5=53;t.KEY_6=54;t.KEY_7=55;t.KEY_8=56;t.KEY_9=57;t.KEY_A=65;t.KEY_B=66;t.KEY_C=67;t.KEY_D=68;t.KEY_E=69;t.KEY_F=70;t.KEY_G=71;t.KEY_H=72;t.KEY_I=73;t.KEY_J=74;t.KEY_K=75;t.KEY_L=76;t.KEY_M=77;t.KEY_N=78;t.KEY_O=79;t.KEY_P=80;t.KEY_Q=81;t.KEY_R=82;t.KEY_S=83;t.KEY_T=84;t.KEY_U=85;t.KEY_V=86;t.KEY_W=87;t.KEY_X=88;t.KEY_Y=89;t.KEY_Z=90;t.KEY_EQUAL=187;t.KEY_MINUS=189;var i=[17,18,16],c=[27,13,32,9,17,16],l={},u=function(e,t,n,o){var r="";return e&&(r+="Ctrl+"),t&&(r+="Alt+"),n&&(r+="Shift+"),r+=o>=48&&o<=90?String.fromCharCode(o):"["+o+"]"},d=function(e){var t=window.event?e.which:e.keyCode,n=e.ctrlKey,o=e.altKey,r=e.shiftKey;return{keyCode:t,ctrlKey:n,altKey:o,shiftKey:r,hasModifierKeys:n||o||r,keyString:u(n,o,r,t)}},s=function(){for(var e=0,t=Object.keys(l);e4&&function(e,t){if(!e.defaultPrevented){var n=e.target&&e.target.localName;if("input"!==n&&"textarea"!==n){var o=d(e),i=o.keyCode,u=o.ctrlKey,s=o.shiftKey;u||s||c.includes(i)||("keydown"!==t||l[i]?"keyup"===t&&l[i]&&(a.debug("passthrough",t,o),(0,r.callByond)("",{__keyup:i})):(a.debug("passthrough",t,o),(0,r.callByond)("",{__keydown:i})))}}}(e,t),function(e,t,n){if("keyup"===t){var o=d(e),r=o.ctrlKey,c=o.altKey,l=o.keyCode,u=o.hasModifierKeys,s=o.keyString;u&&!i.includes(l)&&(a.log(s),r&&c&&8===l&&setTimeout((function(){throw new Error("OOPSIE WOOPSIE!! UwU We made a fucky wucky!! A wittle fucko boingo! The code monkeys at our headquarters are working VEWY HAWD to fix this!")})),n({type:"hotKey",payload:o}))}}(e,t,n)},document.addEventListener("keydown",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keydown"),l[n]=!0})),document.addEventListener("keyup",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keyup"),l[n]=!1})),r.tridentVersion>4&&function(e){var t;document.addEventListener("focusout",(function(){t=setTimeout(e)})),document.addEventListener("focusin",(function(){clearTimeout(t)})),window.addEventListener("beforeunload",e)}((function(){s()})),function(e){return function(t){return e(t)}}};t.hotKeyReducer=function(e,t){var n=t.type,o=t.payload;if("hotKey"===n){var r=o.ctrlKey,a=o.altKey,i=o.keyCode;return r&&a&&187===i?Object.assign({},e,{showKitchenSink:!e.showKitchenSink}):e}return e}},function(e,t,n){"use strict";t.__esModule=!0,t.refocusLayout=void 0;var o=n(16);t.refocusLayout=function(){if(!(o.tridentVersion<=4)){var e=document.getElementById("Layout__content");e&&e.focus()}}},function(e,t,n){"use strict";t.__esModule=!0,t.toastReducer=t.showToast=t.Toast=void 0;var o,r=n(1),a=n(11),i=function(e){var t=e.content,n=e.children;return(0,r.createVNode)(1,"div","Layout__toast",[t,n],0)};t.Toast=i,i.defaultHooks=a.pureComponentHooks;t.showToast=function(e,t){o&&clearTimeout(o),o=setTimeout((function(){o=undefined,e({type:"hideToast"})}),5e3),e({type:"showToast",payload:{text:t}})};t.toastReducer=function(e,t){var n=t.type,o=t.payload;if("showToast"===n){var r=o.text;return Object.assign({},e,{toastText:r})}return"hideToast"===n?Object.assign({},e,{toastText:null}):e}},function(e,t,n){"use strict";var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(r){"object"==typeof window&&(o=window)}e.exports=o},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(88);e.exports=!o&&!r((function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(5),r=n(89),a=o["__core-js_shared__"]||r("__core-js_shared__",{});e.exports=a},function(e,t,n){"use strict";var o=n(5),r=n(90),a=o.WeakMap;e.exports="function"==typeof a&&/native code/.test(r(a))},function(e,t,n){"use strict";var o=n(15),r=n(92),a=n(20),i=n(13);e.exports=function(e,t){for(var n=r(t),c=i.f,l=a.f,u=0;ul;)o(c,n=t[l++])&&(~a(u,n)||u.push(n));return u}},function(e,t,n){"use strict";var o=n(95);e.exports=o&&!Symbol.sham&&"symbol"==typeof Symbol()},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(8),i=n(62);e.exports=o?Object.defineProperties:function(e,t){a(e);for(var n,o=i(t),c=o.length,l=0;c>l;)r.f(e,n=o[l++],t[n]);return e}},function(e,t,n){"use strict";var o=n(35);e.exports=o("document","documentElement")},function(e,t,n){"use strict";var o=n(25),r=n(48).f,a={}.toString,i="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(e){try{return r(e)}catch(t){return i.slice()}};e.exports.f=function(e){return i&&"[object Window]"==a.call(e)?c(e):r(o(e))}},function(e,t,n){"use strict";var o=n(12);t.f=o},function(e,t,n){"use strict";var o=n(14),r=n(41),a=n(10),i=Math.min;e.exports=[].copyWithin||function(e,t){var n=o(this),c=a(n.length),l=r(e,c),u=r(t,c),d=arguments.length>2?arguments[2]:undefined,s=i((d===undefined?c:r(d,c))-u,c-l),p=1;for(u0;)u in n?n[l]=n[u]:delete n[l],l+=p,u+=p;return n}},function(e,t,n){"use strict";var o=n(52),r=n(10),a=n(49);e.exports=function i(e,t,n,c,l,u,d,s){for(var p,m=l,f=0,h=!!d&&a(d,s,3);f0&&o(p))m=i(e,t,p,r(p.length),m,u-1)-1;else{if(m>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[m]=p}m++}f++}return m}},function(e,t,n){"use strict";var o=n(8);e.exports=function(e,t,n,r){try{return r?t(o(n)[0],n[1]):t(n)}catch(i){var a=e["return"];throw a!==undefined&&o(a.call(e)),i}}},function(e,t,n){"use strict";var o=n(25),r=n(44),a=n(65),i=n(34),c=n(101),l=i.set,u=i.getterFor("Array Iterator");e.exports=c(Array,"Array",(function(e,t){l(this,{type:"Array Iterator",target:o(e),index:0,kind:t})}),(function(){var e=u(this),t=e.target,n=e.kind,o=e.index++;return!t||o>=t.length?(e.target=undefined,{value:undefined,done:!0}):"keys"==n?{value:o,done:!1}:"values"==n?{value:t[o],done:!1}:{value:[o,t[o]],done:!1}}),"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},function(e,t,n){"use strict";var o,r,a,i=n(36),c=n(26),l=n(15),u=n(12),d=n(38),s=u("iterator"),p=!1;[].keys&&("next"in(a=[].keys())?(r=i(i(a)))!==Object.prototype&&(o=r):p=!0),o==undefined&&(o={}),d||l(o,s)||c(o,s,(function(){return this})),e.exports={IteratorPrototype:o,BUGGY_SAFARI_ITERATORS:p}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},function(e,t,n){"use strict";var o=n(25),r=n(30),a=n(10),i=n(39),c=Math.min,l=[].lastIndexOf,u=!!l&&1/[1].lastIndexOf(1,-0)<0,d=i("lastIndexOf");e.exports=u||d?function(e){if(u)return l.apply(this,arguments)||0;var t=o(this),n=a(t.length),i=n-1;for(arguments.length>1&&(i=c(i,r(arguments[1]))),i<0&&(i=n+i);i>=0;i--)if(i in t&&t[i]===e)return i||0;return-1}:l},function(e,t,n){"use strict";var o=n(30),r=n(10);e.exports=function(e){if(e===undefined)return 0;var t=o(e),n=r(t);if(t!==n)throw RangeError("Wrong length or index");return n}},function(e,t,n){"use strict";var o=n(31),r=n(6),a=[].slice,i={},c=function(e,t,n){if(!(t in i)){for(var o=[],r=0;r1?arguments[1]:undefined,3);t=t?t.next:n.first;)for(o(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!g(this,e)}}),a(d.prototype,n?{get:function(e){var t=g(this,e);return t&&t.value},set:function(e,t){return C(this,0===e?0:e,t)}}:{add:function(e){return C(this,e=0===e?0:e,e)}}),s&&o(d.prototype,"size",{get:function(){return m(this).size}}),d},setStrong:function(e,t,n){var o=t+" Iterator",r=h(t),a=h(o);u(e,t,(function(e,t){f(this,{type:o,target:e,state:r(e),kind:t,last:undefined})}),(function(){for(var e=a(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=undefined,{value:undefined,done:!0})}),n?"entries":"values",!n,!0),d(t)}}},function(e,t,n){"use strict";var o=Math.log;e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:o(1+e)}},function(e,t,n){"use strict";var o=n(6),r=Math.floor;e.exports=function(e){return!o(e)&&isFinite(e)&&r(e)===e}},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseInt,c=/^[+-]?0[Xx]/,l=8!==i(a+"08")||22!==i(a+"0x16");e.exports=l?function(e,t){var n=r(String(e));return i(n,t>>>0||(c.test(n)?16:10))}:i},function(e,t,n){"use strict";var o=n(9),r=n(62),a=n(25),i=n(71).f,c=function(e){return function(t){for(var n,c=a(t),l=r(c),u=l.length,d=0,s=[];u>d;)n=l[d++],o&&!i.call(c,n)||s.push(e?[n,c[n]]:c[n]);return s}};e.exports={entries:c(!0),values:c(!1)}},function(e,t,n){"use strict";e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var o=n(5);e.exports=o.Promise},function(e,t,n){"use strict";var o=n(73);e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(o)},function(e,t,n){"use strict";var o,r,a,i,c,l,u,d,s=n(5),p=n(20).f,m=n(32),f=n(106).set,h=n(146),C=s.MutationObserver||s.WebKitMutationObserver,g=s.process,b=s.Promise,N="process"==m(g),v=p(s,"queueMicrotask"),V=v&&v.value;V||(o=function(){var e,t;for(N&&(e=g.domain)&&e.exit();r;){t=r.fn,r=r.next;try{t()}catch(n){throw r?i():a=undefined,n}}a=undefined,e&&e.enter()},N?i=function(){g.nextTick(o)}:C&&!h?(c=!0,l=document.createTextNode(""),new C(o).observe(l,{characterData:!0}),i=function(){l.data=c=!c}):b&&b.resolve?(u=b.resolve(undefined),d=u.then,i=function(){d.call(u,o)}):i=function(){f.call(s,o)}),e.exports=V||function(e){var t={fn:e,next:undefined};a&&(a.next=t),r||(r=t,i()),a=t}},function(e,t,n){"use strict";var o=n(8),r=n(6),a=n(149);e.exports=function(e,t){if(o(e),r(t)&&t.constructor===e)return t;var n=a.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){"use strict";var o=n(31),r=function(e){var t,n;this.promise=new e((function(e,o){if(t!==undefined||n!==undefined)throw TypeError("Bad Promise constructor");t=e,n=o})),this.resolve=o(t),this.reject=o(n)};e.exports.f=function(e){return new r(e)}},function(e,t,n){"use strict";var o=n(73);e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o)},function(e,t,n){"use strict";var o=n(348);e.exports=function(e,t){var n=o(e);if(n%t)throw RangeError("Wrong offset");return n}},function(e,t,n){"use strict";var o=n(14),r=n(10),a=n(99),i=n(98),c=n(49),l=n(7).aTypedArrayConstructor;e.exports=function(e){var t,n,u,d,s,p,m=o(e),f=arguments.length,h=f>1?arguments[1]:undefined,C=h!==undefined,g=a(m);if(g!=undefined&&!i(g))for(p=(s=g.call(m)).next,m=[];!(d=p.call(s)).done;)m.push(d.value);for(C&&f>2&&(h=c(h,arguments[2],2)),n=r(m.length),u=new(l(this))(n),t=0;n>t;t++)u[t]=C?h(m[t],t):m[t];return u}},function(e,t,n){"use strict";var o=n(66),r=n(51).getWeakData,a=n(8),i=n(6),c=n(55),l=n(68),u=n(17),d=n(15),s=n(34),p=s.set,m=s.getterFor,f=u.find,h=u.findIndex,C=0,g=function(e){return e.frozen||(e.frozen=new b)},b=function(){this.entries=[]},N=function(e,t){return f(e.entries,(function(e){return e[0]===t}))};b.prototype={get:function(e){var t=N(this,e);if(t)return t[1]},has:function(e){return!!N(this,e)},set:function(e,t){var n=N(this,e);n?n[1]=t:this.entries.push([e,t])},"delete":function(e){var t=h(this.entries,(function(t){return t[0]===e}));return~t&&this.entries.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,u){var s=e((function(e,o){c(e,s,t),p(e,{type:t,id:C++,frozen:undefined}),o!=undefined&&l(o,e[u],e,n)})),f=m(t),h=function(e,t,n){var o=f(e),i=r(a(t),!0);return!0===i?g(o).set(t,n):i[o.id]=n,e};return o(s.prototype,{"delete":function(e){var t=f(this);if(!i(e))return!1;var n=r(e);return!0===n?g(t)["delete"](e):n&&d(n,t.id)&&delete n[t.id]},has:function(e){var t=f(this);if(!i(e))return!1;var n=r(e);return!0===n?g(t).has(e):n&&d(n,t.id)}}),o(s.prototype,n?{get:function(e){var t=f(this);if(i(e)){var n=r(e);return!0===n?g(t).get(e):n?n[t.id]:undefined}},set:function(e,t){return h(this,e,t)}}:{add:function(e){return h(this,e,!0)}}),s}}},function(e,t,n){"use strict";t.__esModule=!0,t.setupHotReloading=t.sendLogEntry=void 0;t.sendLogEntry=function(e,t){};t.setupHotReloading=function(){0}},function(e,t,n){"use strict";t.__esModule=!0,t.resizeStartHandler=t.dragStartHandler=t.setupDrag=void 0;var o,r,a,i,c,l=n(156),u=n(16),d=(0,n(46).createLogger)("drag"),s=!1,p=!1,m=[0,0],f=function(e){return(0,u.winget)(e,"pos").then((function(e){return[e.x,e.y]}))},h=function(e,t){return(0,u.winset)(e,"pos",t[0]+","+t[1])},C=function(e){var t,n,r,a;return regeneratorRuntime.async((function(i){for(;;)switch(i.prev=i.next){case 0:return d.log("setting up"),o=e.config.window,i.next=4,regeneratorRuntime.awrap(f(o));case 4:t=i.sent,m=[t[0]-window.screenLeft,t[1]-window.screenTop],n=g(t),r=n[0],a=n[1],r&&h(o,a),d.debug("current state",{ref:o,screenOffset:m});case 9:case"end":return i.stop()}}))};t.setupDrag=C;var g=function(e){var t=e[0],n=e[1],o=!1;return t<0?(t=0,o=!0):t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth,o=!0),n<0?(n=0,o=!0):n+window.innerHeight>window.screen.availHeight&&(n=window.screen.availHeight-window.innerHeight,o=!0),[o,[t,n]]};t.dragStartHandler=function(e){d.log("drag start"),s=!0,r=[window.screenLeft-e.screenX,window.screenTop-e.screenY],document.addEventListener("mousemove",N),document.addEventListener("mouseup",b),N(e)};var b=function y(e){d.log("drag end"),N(e),document.removeEventListener("mousemove",N),document.removeEventListener("mouseup",y),s=!1},N=function(e){s&&(e.preventDefault(),h(o,(0,l.vecAdd)([e.screenX,e.screenY],m,r)))};t.resizeStartHandler=function(e,t){return function(n){a=[e,t],d.log("resize start",a),p=!0,r=[window.screenLeft-n.screenX,window.screenTop-n.screenY],i=[window.innerWidth,window.innerHeight],document.addEventListener("mousemove",V),document.addEventListener("mouseup",v),V(n)}};var v=function _(e){d.log("resize end",c),V(e),document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",_),p=!1},V=function(e){p&&(e.preventDefault(),(c=(0,l.vecAdd)(i,(0,l.vecMultiply)(a,(0,l.vecAdd)([e.screenX,e.screenY],(0,l.vecInverse)([window.screenLeft,window.screenTop]),r,[1,1]))))[0]=Math.max(c[0],250),c[1]=Math.max(c[1],120),function(e,t){(0,u.winset)(e,"size",t[0]+","+t[1])}(o,c))}},function(e,t,n){"use strict";t.__esModule=!0,t.vecNormalize=t.vecLength=t.vecInverse=t.vecScale=t.vecDivide=t.vecMultiply=t.vecSubtract=t.vecAdd=t.vecCreate=void 0;var o=n(22);t.vecCreate=function(){for(var e=arguments.length,t=new Array(e),n=0;n35;return(0,o.createVNode)(1,"div",(0,r.classes)(["Tooltip",i&&"Tooltip--long",a&&"Tooltip--"+a]),null,1,{"data-tooltip":t})}},function(e,t,n){"use strict";t.__esModule=!0,t.Input=void 0;var o=n(1),r=n(11),a=n(19);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){return(0,r.isFalsy)(e)?"":e},l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={editing:!1},t.handleInput=function(e){var n=t.state.editing,o=t.props.onInput;n||t.setEditing(!0),o&&o(e,e.target.value)},t.handleFocus=function(e){t.state.editing||t.setEditing(!0)},t.handleBlur=function(e){var n=t.state.editing,o=t.props.onChange;n&&(t.setEditing(!1),o&&o(e,e.target.value))},t.handleKeyDown=function(e){var n=t.props,o=n.onInput,r=n.onChange,a=n.onEnter;return 13===e.keyCode?(t.setEditing(!1),r&&r(e,e.target.value),o&&o(e,e.target.value),a&&a(e,e.target.value),void(t.props.selfClear?e.target.value="":e.target.blur())):27===e.keyCode?(t.setEditing(!1),e.target.value=c(t.props.value),void e.target.blur()):void 0},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentDidMount=function(){var e=this.props.value,t=this.inputRef.current;t&&(t.value=c(e))},u.componentDidUpdate=function(e,t){var n=this.state.editing,o=e.value,r=this.props.value,a=this.inputRef.current;a&&!n&&o!==r&&(a.value=c(r))},u.setEditing=function(e){this.setState({editing:e})},u.render=function(){var e=this.props,t=(e.selfClear,e.onInput,e.onChange,e.onEnter,e.value,e.maxLength),n=e.placeholder,c=i(e,["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder"]),l=c.className,u=c.fluid,d=i(c,["className","fluid"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Input",u&&"Input--fluid",l])},d,{children:[(0,o.createVNode)(1,"div","Input__baseline",".",16),(0,o.createVNode)(64,"input","Input__input",null,1,{placeholder:n,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:t},null,this.inputRef)]})))},l}(o.Component);t.Input=l},function(e,t,n){"use strict";t.__esModule=!0,t.GridColumn=t.Grid=void 0;var o=n(1),r=n(162),a=n(11);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.children,n=i(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table,Object.assign({},n,{children:(0,o.createComponentVNode)(2,r.Table.Row,{children:t})})))};t.Grid=c,c.defaultHooks=a.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t,a=e.style,c=i(e,["size","style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table.Cell,Object.assign({style:Object.assign({width:n+"%"},a)},c)))};t.GridColumn=l,c.defaultHooks=a.pureComponentHooks,c.Column=l},function(e,t,n){"use strict";t.__esModule=!0,t.TableCell=t.TableRow=t.Table=void 0;var o=n(1),r=n(11),a=n(19);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.collapsing,n=e.className,c=e.content,l=e.children,u=i(e,["collapsing","className","content","children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"table",className:(0,r.classes)(["Table",t&&"Table--collapsing",n])},u,{children:(0,o.createVNode)(1,"tbody",null,[c,l],0)})))};t.Table=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.className,n=e.header,c=i(e,["className","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"tr",className:(0,r.classes)(["Table__row",n&&"Table__row--header",t])},c)))};t.TableRow=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.collapsing,c=e.header,l=i(e,["className","collapsing","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"td",className:(0,r.classes)(["Table__cell",n&&"Table__cell--collapsing",c&&"Table__cell--header",t])},l)))};t.TableCell=u,u.defaultHooks=r.pureComponentHooks,c.Row=l,c.Cell=u},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledListDivider=t.LabeledListItem=t.LabeledList=void 0;var o=n(1),r=n(11),a=n(19),i=function(e){var t=e.children;return(0,o.createVNode)(1,"table","LabeledList",t,0)};t.LabeledList=i,i.defaultHooks=r.pureComponentHooks;var c=function(e){var t=e.className,n=e.label,i=e.labelColor,c=void 0===i?"label":i,l=e.color,u=e.buttons,d=e.content,s=e.children;return(0,o.createVNode)(1,"tr",(0,r.classes)(["LabeledList__row",t]),[(0,o.createComponentVNode)(2,a.Box,{as:"td",color:c,className:(0,r.classes)(["LabeledList__cell","LabeledList__label"]),content:n+":"}),(0,o.createComponentVNode)(2,a.Box,{as:"td",color:l,className:(0,r.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:u?undefined:2,children:[d,s]}),u&&(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",u,0)],0)};t.LabeledListItem=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t;return(0,o.createVNode)(1,"tr","LabeledList__row",(0,o.createVNode)(1,"td",null,null,1,{style:{"padding-bottom":(0,a.unit)(n)}}),2)};t.LabeledListDivider=l,l.defaultHooks=r.pureComponentHooks,i.Item=c,i.Divider=l},function(e,t,n){"use strict";t.__esModule=!0,t.BeakerContents=void 0;var o=n(1),r=n(2);t.BeakerContents=function(e){var t=e.beakerLoaded,n=e.beakerContents;return(0,o.createComponentVNode)(2,r.Box,{children:[!t&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"No beaker loaded."})||0===n.length&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"Beaker is empty."}),n.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{color:"label",children:[e.volume," units of ",e.name]},e.name)}))]})}},function(e,t,n){n(166),n(167),n(168),n(169),n(170),n(171),e.exports=n(172)},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";n(173),n(174),n(175),n(176),n(177),n(178),n(179),n(180),n(181),n(182),n(183),n(184),n(185),n(186),n(187),n(188),n(189),n(190),n(191),n(192),n(193),n(194),n(195),n(196),n(198),n(200),n(201),n(202),n(133),n(204),n(205),n(206),n(207),n(208),n(209),n(210),n(211),n(212),n(213),n(214),n(215),n(216),n(217),n(219),n(220),n(221),n(222),n(223),n(225),n(226),n(228),n(229),n(230),n(231),n(232),n(233),n(234),n(235),n(236),n(237),n(238),n(239),n(240),n(241),n(243),n(244),n(245),n(246),n(247),n(248),n(249),n(250),n(251),n(252),n(253),n(254),n(255),n(257),n(258),n(259),n(260),n(261),n(262),n(264),n(265),n(267),n(269),n(270),n(271),n(272),n(273),n(274),n(275),n(276),n(277),n(278),n(279),n(280),n(281),n(282),n(283),n(284),n(285),n(286),n(287),n(288),n(289),n(290),n(291),n(293),n(294),n(295),n(298),n(299),n(300),n(301),n(302),n(303),n(304),n(305),n(306),n(307),n(308),n(309),n(310),n(311),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(324),n(325),n(326),n(327),n(328),n(329),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(345),n(346),n(347),n(349),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(378),n(379),n(380),n(381),n(382),n(383),n(384),n(385),n(386);var o=n(1);n(388),n(389);var r=n(390),a=(n(154),n(3)),i=n(16),c=n(155),l=n(46),u=n(157),d=n(511),s=(0,l.createLogger)(),p=(0,d.createStore)(),m=document.getElementById("react-root"),f=!0,h=!1,C=function(){for(p.subscribe((function(){!function(){if(!h){0;try{var e=p.getState();if(f){if(s.log("initial render",e),!(0,u.getRoute)(e)){if(s.info("loading old tgui"),h=!0,window.update=window.initialize=function(){},i.tridentVersion<=4)return void setTimeout((function(){location.href="tgui-fallback.html?ref="+window.__ref__}),10);document.getElementById("data").textContent=JSON.stringify(e),(0,r.loadCSS)("v4shim.css"),(0,r.loadCSS)("tgui.css");var t=document.getElementsByTagName("head")[0],a=document.createElement("script");return a.type="text/javascript",a.src="tgui.js",void t.appendChild(a)}(0,c.setupDrag)(e)}var l=n(513).Layout,d=(0,o.createComponentVNode)(2,l,{state:e,dispatch:p.dispatch});(0,o.render)(d,m)}catch(C){s.error("rendering error",C)}f&&(f=!1)}}()})),window.update=window.initialize=function(e){var t=function(e){var t=function(e,t){return"object"==typeof t&&null!==t&&t.__number__?parseFloat(t.__number__):t};i.tridentVersion<=4&&(t=undefined);try{return JSON.parse(e,t)}catch(o){s.log(o),s.log("What we got:",e);var n=o&&o.message;throw new Error("JSON parsing error: "+n)}}(e);p.dispatch((0,a.backendUpdate)(t))};;){var e=window.__updateQueue__.shift();if(!e)break;window.update(e)}(0,r.loadCSS)("font-awesome.css")};i.tridentVersion<=4&&"loading"===document.readyState?document.addEventListener("DOMContentLoaded",C):C()},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(35),i=n(38),c=n(9),l=n(95),u=n(125),d=n(4),s=n(15),p=n(52),m=n(6),f=n(8),h=n(14),C=n(25),g=n(33),b=n(47),N=n(42),v=n(62),V=n(48),y=n(128),_=n(94),x=n(20),k=n(13),L=n(71),B=n(26),w=n(24),S=n(91),I=n(72),T=n(59),A=n(58),P=n(12),E=n(129),M=n(27),O=n(43),R=n(34),F=n(17).forEach,D=I("hidden"),j=P("toPrimitive"),z=R.set,H=R.getterFor("Symbol"),G=Object.prototype,U=r.Symbol,K=a("JSON","stringify"),Y=x.f,W=k.f,q=y.f,$=L.f,Q=S("symbols"),X=S("op-symbols"),J=S("string-to-symbol-registry"),Z=S("symbol-to-string-registry"),ee=S("wks"),te=r.QObject,ne=!te||!te.prototype||!te.prototype.findChild,oe=c&&d((function(){return 7!=N(W({},"a",{get:function(){return W(this,"a",{value:7}).a}})).a}))?function(e,t,n){var o=Y(G,t);o&&delete G[t],W(e,t,n),o&&e!==G&&W(G,t,o)}:W,re=function(e,t){var n=Q[e]=N(U.prototype);return z(n,{type:"Symbol",tag:e,description:t}),c||(n.description=t),n},ae=l&&"symbol"==typeof U.iterator?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof U},ie=function(e,t,n){e===G&&ie(X,t,n),f(e);var o=g(t,!0);return f(n),s(Q,o)?(n.enumerable?(s(e,D)&&e[D][o]&&(e[D][o]=!1),n=N(n,{enumerable:b(0,!1)})):(s(e,D)||W(e,D,b(1,{})),e[D][o]=!0),oe(e,o,n)):W(e,o,n)},ce=function(e,t){f(e);var n=C(t),o=v(n).concat(pe(n));return F(o,(function(t){c&&!ue.call(n,t)||ie(e,t,n[t])})),e},le=function(e,t){return t===undefined?N(e):ce(N(e),t)},ue=function(e){var t=g(e,!0),n=$.call(this,t);return!(this===G&&s(Q,t)&&!s(X,t))&&(!(n||!s(this,t)||!s(Q,t)||s(this,D)&&this[D][t])||n)},de=function(e,t){var n=C(e),o=g(t,!0);if(n!==G||!s(Q,o)||s(X,o)){var r=Y(n,o);return!r||!s(Q,o)||s(n,D)&&n[D][o]||(r.enumerable=!0),r}},se=function(e){var t=q(C(e)),n=[];return F(t,(function(e){s(Q,e)||s(T,e)||n.push(e)})),n},pe=function(e){var t=e===G,n=q(t?X:C(e)),o=[];return F(n,(function(e){!s(Q,e)||t&&!s(G,e)||o.push(Q[e])})),o};(l||(w((U=function(){if(this instanceof U)throw TypeError("Symbol is not a constructor");var e=arguments.length&&arguments[0]!==undefined?String(arguments[0]):undefined,t=A(e),n=function o(e){this===G&&o.call(X,e),s(this,D)&&s(this[D],t)&&(this[D][t]=!1),oe(this,t,b(1,e))};return c&&ne&&oe(G,t,{configurable:!0,set:n}),re(t,e)}).prototype,"toString",(function(){return H(this).tag})),L.f=ue,k.f=ie,x.f=de,V.f=y.f=se,_.f=pe,c&&(W(U.prototype,"description",{configurable:!0,get:function(){return H(this).description}}),i||w(G,"propertyIsEnumerable",ue,{unsafe:!0}))),u||(E.f=function(e){return re(P(e),e)}),o({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:U}),F(v(ee),(function(e){M(e)})),o({target:"Symbol",stat:!0,forced:!l},{"for":function(e){var t=String(e);if(s(J,t))return J[t];var n=U(t);return J[t]=n,Z[n]=t,n},keyFor:function(e){if(!ae(e))throw TypeError(e+" is not a symbol");if(s(Z,e))return Z[e]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),o({target:"Object",stat:!0,forced:!l,sham:!c},{create:le,defineProperty:ie,defineProperties:ce,getOwnPropertyDescriptor:de}),o({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:se,getOwnPropertySymbols:pe}),o({target:"Object",stat:!0,forced:d((function(){_.f(1)}))},{getOwnPropertySymbols:function(e){return _.f(h(e))}}),K)&&o({target:"JSON",stat:!0,forced:!l||d((function(){var e=U();return"[null]"!=K([e])||"{}"!=K({a:e})||"{}"!=K(Object(e))}))},{stringify:function(e,t,n){for(var o,r=[e],a=1;arguments.length>a;)r.push(arguments[a++]);if(o=t,(m(t)||e!==undefined)&&!ae(e))return p(t)||(t=function(e,t){if("function"==typeof o&&(t=o.call(this,e,t)),!ae(t))return t}),r[1]=t,K.apply(null,r)}});U.prototype[j]||B(U.prototype,j,U.prototype.valueOf),O(U,"Symbol"),T[D]=!0},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(5),i=n(15),c=n(6),l=n(13).f,u=n(122),d=a.Symbol;if(r&&"function"==typeof d&&(!("description"in d.prototype)||d().description!==undefined)){var s={},p=function(){var e=arguments.length<1||arguments[0]===undefined?undefined:String(arguments[0]),t=this instanceof p?new d(e):e===undefined?d():d(e);return""===e&&(s[t]=!0),t};u(p,d);var m=p.prototype=d.prototype;m.constructor=p;var f=m.toString,h="Symbol(test)"==String(d("test")),C=/^Symbol\((.*)\)[^)]+$/;l(m,"description",{configurable:!0,get:function(){var e=c(this)?this.valueOf():this,t=f.call(e);if(i(s,e))return"";var n=h?t.slice(7,-1):t.replace(C,"$1");return""===n?undefined:n}}),o({global:!0,forced:!0},{Symbol:p})}},function(e,t,n){"use strict";n(27)("asyncIterator")},function(e,t,n){"use strict";n(27)("hasInstance")},function(e,t,n){"use strict";n(27)("isConcatSpreadable")},function(e,t,n){"use strict";n(27)("iterator")},function(e,t,n){"use strict";n(27)("match")},function(e,t,n){"use strict";n(27)("replace")},function(e,t,n){"use strict";n(27)("search")},function(e,t,n){"use strict";n(27)("species")},function(e,t,n){"use strict";n(27)("split")},function(e,t,n){"use strict";n(27)("toPrimitive")},function(e,t,n){"use strict";n(27)("toStringTag")},function(e,t,n){"use strict";n(27)("unscopables")},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(52),i=n(6),c=n(14),l=n(10),u=n(50),d=n(63),s=n(64),p=n(12),m=n(96),f=p("isConcatSpreadable"),h=9007199254740991,C="Maximum allowed index exceeded",g=m>=51||!r((function(){var e=[];return e[f]=!1,e.concat()[0]!==e})),b=s("concat"),N=function(e){if(!i(e))return!1;var t=e[f];return t!==undefined?!!t:a(e)};o({target:"Array",proto:!0,forced:!g||!b},{concat:function(e){var t,n,o,r,a,i=c(this),s=d(i,0),p=0;for(t=-1,o=arguments.length;th)throw TypeError(C);for(n=0;n=h)throw TypeError(C);u(s,p++,a)}return s.length=p,s}})},function(e,t,n){"use strict";var o=n(0),r=n(130),a=n(44);o({target:"Array",proto:!0},{copyWithin:r}),a("copyWithin")},function(e,t,n){"use strict";var o=n(0),r=n(17).every;o({target:"Array",proto:!0,forced:n(39)("every")},{every:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(97),a=n(44);o({target:"Array",proto:!0},{fill:r}),a("fill")},function(e,t,n){"use strict";var o=n(0),r=n(17).filter,a=n(4),i=n(64)("filter"),c=i&&!a((function(){[].filter.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{filter:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(17).find,a=n(44),i=!0;"find"in[]&&Array(1).find((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{find:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("find")},function(e,t,n){"use strict";var o=n(0),r=n(17).findIndex,a=n(44),i=!0;"findIndex"in[]&&Array(1).findIndex((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{findIndex:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("findIndex")},function(e,t,n){"use strict";var o=n(0),r=n(131),a=n(14),i=n(10),c=n(30),l=n(63);o({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:undefined,t=a(this),n=i(t.length),o=l(t,0);return o.length=r(o,t,t,n,0,e===undefined?1:c(e)),o}})},function(e,t,n){"use strict";var o=n(0),r=n(131),a=n(14),i=n(10),c=n(31),l=n(63);o({target:"Array",proto:!0},{flatMap:function(e){var t,n=a(this),o=i(n.length);return c(e),(t=l(n,0)).length=r(t,n,n,o,0,1,e,arguments.length>1?arguments[1]:undefined),t}})},function(e,t,n){"use strict";var o=n(0),r=n(197);o({target:"Array",proto:!0,forced:[].forEach!=r},{forEach:r})},function(e,t,n){"use strict";var o=n(17).forEach,r=n(39);e.exports=r("forEach")?function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}:[].forEach},function(e,t,n){"use strict";var o=n(0),r=n(199);o({target:"Array",stat:!0,forced:!n(75)((function(e){Array.from(e)}))},{from:r})},function(e,t,n){"use strict";var o=n(49),r=n(14),a=n(132),i=n(98),c=n(10),l=n(50),u=n(99);e.exports=function(e){var t,n,d,s,p,m=r(e),f="function"==typeof this?this:Array,h=arguments.length,C=h>1?arguments[1]:undefined,g=C!==undefined,b=0,N=u(m);if(g&&(C=o(C,h>2?arguments[2]:undefined,2)),N==undefined||f==Array&&i(N))for(n=new f(t=c(m.length));t>b;b++)l(n,b,g?C(m[b],b):m[b]);else for(p=(s=N.call(m)).next,n=new f;!(d=p.call(s)).done;b++)l(n,b,g?a(s,C,[d.value,b],!0):d.value);return n.length=b,n}},function(e,t,n){"use strict";var o=n(0),r=n(60).includes,a=n(44);o({target:"Array",proto:!0},{includes:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("includes")},function(e,t,n){"use strict";var o=n(0),r=n(60).indexOf,a=n(39),i=[].indexOf,c=!!i&&1/[1].indexOf(1,-0)<0,l=a("indexOf");o({target:"Array",proto:!0,forced:c||l},{indexOf:function(e){return c?i.apply(this,arguments)||0:r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";n(0)({target:"Array",stat:!0},{isArray:n(52)})},function(e,t,n){"use strict";var o=n(134).IteratorPrototype,r=n(42),a=n(47),i=n(43),c=n(65),l=function(){return this};e.exports=function(e,t,n){var u=t+" Iterator";return e.prototype=r(o,{next:a(1,n)}),i(e,u,!1,!0),c[u]=l,e}},function(e,t,n){"use strict";var o=n(0),r=n(57),a=n(25),i=n(39),c=[].join,l=r!=Object,u=i("join",",");o({target:"Array",proto:!0,forced:l||u},{join:function(e){return c.call(a(this),e===undefined?",":e)}})},function(e,t,n){"use strict";var o=n(0),r=n(136);o({target:"Array",proto:!0,forced:r!==[].lastIndexOf},{lastIndexOf:r})},function(e,t,n){"use strict";var o=n(0),r=n(17).map,a=n(4),i=n(64)("map"),c=i&&!a((function(){[].map.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{map:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(50);o({target:"Array",stat:!0,forced:r((function(){function e(){}return!(Array.of.call(e)instanceof e)}))},{of:function(){for(var e=0,t=arguments.length,n=new("function"==typeof this?this:Array)(t);t>e;)a(n,e,arguments[e++]);return n.length=t,n}})},function(e,t,n){"use strict";var o=n(0),r=n(76).left;o({target:"Array",proto:!0,forced:n(39)("reduce")},{reduce:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(76).right;o({target:"Array",proto:!0,forced:n(39)("reduceRight")},{reduceRight:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(52),i=n(41),c=n(10),l=n(25),u=n(50),d=n(64),s=n(12)("species"),p=[].slice,m=Math.max;o({target:"Array",proto:!0,forced:!d("slice")},{slice:function(e,t){var n,o,d,f=l(this),h=c(f.length),C=i(e,h),g=i(t===undefined?h:t,h);if(a(f)&&("function"!=typeof(n=f.constructor)||n!==Array&&!a(n.prototype)?r(n)&&null===(n=n[s])&&(n=undefined):n=undefined,n===Array||n===undefined))return p.call(f,C,g);for(o=new(n===undefined?Array:n)(m(g-C,0)),d=0;C1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(31),a=n(14),i=n(4),c=n(39),l=[],u=l.sort,d=i((function(){l.sort(undefined)})),s=i((function(){l.sort(null)})),p=c("sort");o({target:"Array",proto:!0,forced:d||!s||p},{sort:function(e){return e===undefined?u.call(a(this)):u.call(a(this),r(e))}})},function(e,t,n){"use strict";n(54)("Array")},function(e,t,n){"use strict";var o=n(0),r=n(41),a=n(30),i=n(10),c=n(14),l=n(63),u=n(50),d=n(64),s=Math.max,p=Math.min,m=9007199254740991,f="Maximum allowed length exceeded";o({target:"Array",proto:!0,forced:!d("splice")},{splice:function(e,t){var n,o,d,h,C,g,b=c(this),N=i(b.length),v=r(e,N),V=arguments.length;if(0===V?n=o=0:1===V?(n=0,o=N-v):(n=V-2,o=p(s(a(t),0),N-v)),N+n-o>m)throw TypeError(f);for(d=l(b,o),h=0;hN-o+n;h--)delete b[h-1]}else if(n>o)for(h=N-o;h>v;h--)g=h+n-1,(C=h+o-1)in b?b[g]=b[C]:delete b[g];for(h=0;h>1,h=23===t?r(2,-24)-r(2,-77):0,C=e<0||0===e&&1/e<0?1:0,g=0;for((e=o(e))!=e||e===1/0?(u=e!=e?1:0,l=m):(l=a(i(e)/c),e*(d=r(2,-l))<1&&(l--,d*=2),(e+=l+f>=1?h/d:h*r(2,1-f))*d>=2&&(l++,d/=2),l+f>=m?(u=0,l=m):l+f>=1?(u=(e*d-1)*r(2,t),l+=f):(u=e*r(2,f-1)*r(2,t),l=0));t>=8;s[g++]=255&u,u/=256,t-=8);for(l=l<0;s[g++]=255&l,l/=256,p-=8);return s[--g]|=128*C,s},unpack:function(e,t){var n,o=e.length,a=8*o-t-1,i=(1<>1,l=a-7,u=o-1,d=e[u--],s=127&d;for(d>>=7;l>0;s=256*s+e[u],u--,l-=8);for(n=s&(1<<-l)-1,s>>=-l,l+=t;l>0;n=256*n+e[u],u--,l-=8);if(0===s)s=1-c;else{if(s===i)return n?NaN:d?-1/0:1/0;n+=r(2,t),s-=c}return(d?-1:1)*n*r(2,s-t)}}},function(e,t,n){"use strict";var o=n(0),r=n(7);o({target:"ArrayBuffer",stat:!0,forced:!r.NATIVE_ARRAY_BUFFER_VIEWS},{isView:r.isView})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(77),i=n(8),c=n(41),l=n(10),u=n(45),d=a.ArrayBuffer,s=a.DataView,p=d.prototype.slice;o({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:r((function(){return!new d(2).slice(1,undefined).byteLength}))},{slice:function(e,t){if(p!==undefined&&t===undefined)return p.call(i(this),e);for(var n=i(this).byteLength,o=c(e,n),r=c(t===undefined?n:t,n),a=new(u(this,d))(l(r-o)),m=new s(this),f=new s(a),h=0;o9999?"+":"";return n+r(a(e),n?6:4,0)+"-"+r(this.getUTCMonth()+1,2,0)+"-"+r(this.getUTCDate(),2,0)+"T"+r(this.getUTCHours(),2,0)+":"+r(this.getUTCMinutes(),2,0)+":"+r(this.getUTCSeconds(),2,0)+"."+r(t,3,0)+"Z"}:l},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(14),i=n(33);o({target:"Date",proto:!0,forced:r((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}))},{toJSON:function(e){var t=a(this),n=i(t);return"number"!=typeof n||isFinite(n)?t.toISOString():null}})},function(e,t,n){"use strict";var o=n(26),r=n(227),a=n(12)("toPrimitive"),i=Date.prototype;a in i||o(i,a,r)},function(e,t,n){"use strict";var o=n(8),r=n(33);e.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint");return r(o(this),"number"!==e)}},function(e,t,n){"use strict";var o=n(24),r=Date.prototype,a="Invalid Date",i=r.toString,c=r.getTime;new Date(NaN)+""!=a&&o(r,"toString",(function(){var e=c.call(this);return e==e?i.call(this):a}))},function(e,t,n){"use strict";n(0)({target:"Function",proto:!0},{bind:n(138)})},function(e,t,n){"use strict";var o=n(6),r=n(13),a=n(36),i=n(12)("hasInstance"),c=Function.prototype;i in c||r.f(c,i,{value:function(e){if("function"!=typeof this||!o(e))return!1;if(!o(this.prototype))return e instanceof this;for(;e=a(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){"use strict";var o=n(9),r=n(13).f,a=Function.prototype,i=a.toString,c=/^\s*function ([^ (]*)/;!o||"name"in a||r(a,"name",{configurable:!0,get:function(){try{return i.call(this).match(c)[1]}catch(e){return""}}})},function(e,t,n){"use strict";var o=n(5);n(43)(o.JSON,"JSON",!0)},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(0),r=n(140),a=Math.acosh,i=Math.log,c=Math.sqrt,l=Math.LN2;o({target:"Math",stat:!0,forced:!a||710!=Math.floor(a(Number.MAX_VALUE))||a(Infinity)!=Infinity},{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?i(e)+l:r(e-1+c(e-1)*c(e+1))}})},function(e,t,n){"use strict";var o=n(0),r=Math.asinh,a=Math.log,i=Math.sqrt;o({target:"Math",stat:!0,forced:!(r&&1/r(0)>0)},{asinh:function c(e){return isFinite(e=+e)&&0!=e?e<0?-c(-e):a(e+i(e*e+1)):e}})},function(e,t,n){"use strict";var o=n(0),r=Math.atanh,a=Math.log;o({target:"Math",stat:!0,forced:!(r&&1/r(-0)<0)},{atanh:function(e){return 0==(e=+e)?e:a((1+e)/(1-e))/2}})},function(e,t,n){"use strict";var o=n(0),r=n(105),a=Math.abs,i=Math.pow;o({target:"Math",stat:!0},{cbrt:function(e){return r(e=+e)*i(a(e),1/3)}})},function(e,t,n){"use strict";var o=n(0),r=Math.floor,a=Math.log,i=Math.LOG2E;o({target:"Math",stat:!0},{clz32:function(e){return(e>>>=0)?31-r(a(e+.5)*i):32}})},function(e,t,n){"use strict";var o=n(0),r=n(80),a=Math.cosh,i=Math.abs,c=Math.E;o({target:"Math",stat:!0,forced:!a||a(710)===Infinity},{cosh:function(e){var t=r(i(e)-1)+1;return(t+1/(t*c*c))*(c/2)}})},function(e,t,n){"use strict";var o=n(0),r=n(80);o({target:"Math",stat:!0,forced:r!=Math.expm1},{expm1:r})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{fround:n(242)})},function(e,t,n){"use strict";var o=n(105),r=Math.abs,a=Math.pow,i=a(2,-52),c=a(2,-23),l=a(2,127)*(2-c),u=a(2,-126),d=function(e){return e+1/i-1/i};e.exports=Math.fround||function(e){var t,n,a=r(e),s=o(e);return al||n!=n?s*Infinity:s*n}},function(e,t,n){"use strict";var o=n(0),r=Math.hypot,a=Math.abs,i=Math.sqrt;o({target:"Math",stat:!0,forced:!!r&&r(Infinity,NaN)!==Infinity},{hypot:function(e,t){for(var n,o,r=0,c=0,l=arguments.length,u=0;c0?(o=n/u)*o:n;return u===Infinity?Infinity:u*i(r)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=Math.imul;o({target:"Math",stat:!0,forced:r((function(){return-5!=a(4294967295,5)||2!=a.length}))},{imul:function(e,t){var n=+e,o=+t,r=65535&n,a=65535&o;return 0|r*a+((65535&n>>>16)*a+r*(65535&o>>>16)<<16>>>0)}})},function(e,t,n){"use strict";var o=n(0),r=Math.log,a=Math.LOG10E;o({target:"Math",stat:!0},{log10:function(e){return r(e)*a}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{log1p:n(140)})},function(e,t,n){"use strict";var o=n(0),r=Math.log,a=Math.LN2;o({target:"Math",stat:!0},{log2:function(e){return r(e)/a}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{sign:n(105)})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(80),i=Math.abs,c=Math.exp,l=Math.E;o({target:"Math",stat:!0,forced:r((function(){return-2e-17!=Math.sinh(-2e-17)}))},{sinh:function(e){return i(e=+e)<1?(a(e)-a(-e))/2:(c(e-1)-c(-e-1))*(l/2)}})},function(e,t,n){"use strict";var o=n(0),r=n(80),a=Math.exp;o({target:"Math",stat:!0},{tanh:function(e){var t=r(e=+e),n=r(-e);return t==Infinity?1:n==Infinity?-1:(t-n)/(a(e)+a(-e))}})},function(e,t,n){"use strict";n(43)(Math,"Math",!0)},function(e,t,n){"use strict";var o=n(0),r=Math.ceil,a=Math.floor;o({target:"Math",stat:!0},{trunc:function(e){return(e>0?a:r)(e)}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(24),c=n(15),l=n(32),u=n(79),d=n(33),s=n(4),p=n(42),m=n(48).f,f=n(20).f,h=n(13).f,C=n(56).trim,g="Number",b=r[g],N=b.prototype,v=l(p(N))==g,V=function(e){var t,n,o,r,a,i,c,l,u=d(e,!1);if("string"==typeof u&&u.length>2)if(43===(t=(u=C(u)).charCodeAt(0))||45===t){if(88===(n=u.charCodeAt(2))||120===n)return NaN}else if(48===t){switch(u.charCodeAt(1)){case 66:case 98:o=2,r=49;break;case 79:case 111:o=8,r=55;break;default:return+u}for(i=(a=u.slice(2)).length,c=0;cr)return NaN;return parseInt(a,o)}return+u};if(a(g,!b(" 0o1")||!b("0b1")||b("+0x1"))){for(var y,_=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof _&&(v?s((function(){N.valueOf.call(n)})):l(n)!=g)?u(new b(V(t)),n,_):V(t)},x=o?m(b):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),k=0;x.length>k;k++)c(b,y=x[k])&&!c(_,y)&&h(_,y,f(b,y));_.prototype=N,N.constructor=_,i(r,g,_)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isFinite:n(256)})},function(e,t,n){"use strict";var o=n(5).isFinite;e.exports=Number.isFinite||function(e){return"number"==typeof e&&o(e)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isInteger:n(141)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isNaN:function(e){return e!=e}})},function(e,t,n){"use strict";var o=n(0),r=n(141),a=Math.abs;o({target:"Number",stat:!0},{isSafeInteger:function(e){return r(e)&&a(e)<=9007199254740991}})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(e,t,n){"use strict";var o=n(0),r=n(263);o({target:"Number",stat:!0,forced:Number.parseFloat!=r},{parseFloat:r})},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseFloat,c=1/i(a+"-0")!=-Infinity;e.exports=c?function(e){var t=r(String(e)),n=i(t);return 0===n&&"-"==t.charAt(0)?-0:n}:i},function(e,t,n){"use strict";var o=n(0),r=n(142);o({target:"Number",stat:!0,forced:Number.parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o=n(0),r=n(30),a=n(266),i=n(104),c=n(4),l=1..toFixed,u=Math.floor,d=function p(e,t,n){return 0===t?n:t%2==1?p(e,t-1,n*e):p(e*e,t/2,n)},s=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t};o({target:"Number",proto:!0,forced:l&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!c((function(){l.call({})}))},{toFixed:function(e){var t,n,o,c,l=a(this),p=r(e),m=[0,0,0,0,0,0],f="",h="0",C=function(e,t){for(var n=-1,o=t;++n<6;)o+=e*m[n],m[n]=o%1e7,o=u(o/1e7)},g=function(e){for(var t=6,n=0;--t>=0;)n+=m[t],m[t]=u(n/e),n=n%e*1e7},b=function(){for(var e=6,t="";--e>=0;)if(""!==t||0===e||0!==m[e]){var n=String(m[e]);t=""===t?n:t+i.call("0",7-n.length)+n}return t};if(p<0||p>20)throw RangeError("Incorrect fraction digits");if(l!=l)return"NaN";if(l<=-1e21||l>=1e21)return String(l);if(l<0&&(f="-",l=-l),l>1e-21)if(n=(t=s(l*d(2,69,1))-69)<0?l*d(2,-t,1):l/d(2,t,1),n*=4503599627370496,(t=52-t)>0){for(C(0,n),o=p;o>=7;)C(1e7,0),o-=7;for(C(d(10,o,1),0),o=t-1;o>=23;)g(1<<23),o-=23;g(1<0?f+((c=h.length)<=p?"0."+i.call("0",p-c)+h:h.slice(0,c-p)+"."+h.slice(c-p)):f+h}})},function(e,t,n){"use strict";var o=n(32);e.exports=function(e){if("number"!=typeof e&&"Number"!=o(e))throw TypeError("Incorrect invocation");return+e}},function(e,t,n){"use strict";var o=n(0),r=n(268);o({target:"Object",stat:!0,forced:Object.assign!==r},{assign:r})},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(62),i=n(94),c=n(71),l=n(14),u=n(57),d=Object.assign,s=Object.defineProperty;e.exports=!d||r((function(){if(o&&1!==d({b:1},d(s({},"a",{enumerable:!0,get:function(){s(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol();return e[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(e){t[e]=e})),7!=d({},e)[n]||"abcdefghijklmnopqrst"!=a(d({},t)).join("")}))?function(e,t){for(var n=l(e),r=arguments.length,d=1,s=i.f,p=c.f;r>d;)for(var m,f=u(arguments[d++]),h=s?a(f).concat(s(f)):a(f),C=h.length,g=0;C>g;)m=h[g++],o&&!p.call(f,m)||(n[m]=f[m]);return n}:d},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0,sham:!n(9)},{create:n(42)})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(31),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineGetter__:function(e,t){l.f(i(this),e,{get:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(0),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperties:n(126)})},function(e,t,n){"use strict";var o=n(0),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperty:n(13).f})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(31),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineSetter__:function(e,t){l.f(i(this),e,{set:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(0),r=n(143).entries;o({target:"Object",stat:!0},{entries:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(67),a=n(4),i=n(6),c=n(51).onFreeze,l=Object.freeze;o({target:"Object",stat:!0,forced:a((function(){l(1)})),sham:!r},{freeze:function(e){return l&&i(e)?l(c(e)):e}})},function(e,t,n){"use strict";var o=n(0),r=n(68),a=n(50);o({target:"Object",stat:!0},{fromEntries:function(e){var t={};return r(e,(function(e,n){a(t,e,n)}),undefined,!0),t}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(25),i=n(20).f,c=n(9),l=r((function(){i(1)}));o({target:"Object",stat:!0,forced:!c||l,sham:!c},{getOwnPropertyDescriptor:function(e,t){return i(a(e),t)}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(92),i=n(25),c=n(20),l=n(50);o({target:"Object",stat:!0,sham:!r},{getOwnPropertyDescriptors:function(e){for(var t,n,o=i(e),r=c.f,u=a(o),d={},s=0;u.length>s;)(n=r(o,t=u[s++]))!==undefined&&l(d,t,n);return d}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(128).f;o({target:"Object",stat:!0,forced:r((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:a})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(14),i=n(36),c=n(102);o({target:"Object",stat:!0,forced:r((function(){i(1)})),sham:!c},{getPrototypeOf:function(e){return i(a(e))}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{is:n(144)})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isExtensible;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isExtensible:function(e){return!!a(e)&&(!i||i(e))}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isFrozen;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isFrozen:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isSealed;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isSealed:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(14),a=n(62);o({target:"Object",stat:!0,forced:n(4)((function(){a(1)}))},{keys:function(e){return a(r(e))}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(20).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupGetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.get}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(20).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupSetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.set}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(51).onFreeze,i=n(67),c=n(4),l=Object.preventExtensions;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{preventExtensions:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(51).onFreeze,i=n(67),c=n(4),l=Object.seal;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{seal:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{setPrototypeOf:n(53)})},function(e,t,n){"use strict";var o=n(100),r=n(24),a=n(292);o||r(Object.prototype,"toString",a,{unsafe:!0})},function(e,t,n){"use strict";var o=n(100),r=n(74);e.exports=o?{}.toString:function(){return"[object "+r(this)+"]"}},function(e,t,n){"use strict";var o=n(0),r=n(143).values;o({target:"Object",stat:!0},{values:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(142);o({global:!0,forced:parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o,r,a,i,c=n(0),l=n(38),u=n(5),d=n(35),s=n(145),p=n(24),m=n(66),f=n(43),h=n(54),C=n(6),g=n(31),b=n(55),N=n(32),v=n(90),V=n(68),y=n(75),_=n(45),x=n(106).set,k=n(147),L=n(148),B=n(296),w=n(149),S=n(297),I=n(34),T=n(61),A=n(12),P=n(96),E=A("species"),M="Promise",O=I.get,R=I.set,F=I.getterFor(M),D=s,j=u.TypeError,z=u.document,H=u.process,G=d("fetch"),U=w.f,K=U,Y="process"==N(H),W=!!(z&&z.createEvent&&u.dispatchEvent),q=0,$=T(M,(function(){if(!(v(D)!==String(D))){if(66===P)return!0;if(!Y&&"function"!=typeof PromiseRejectionEvent)return!0}if(l&&!D.prototype["finally"])return!0;if(P>=51&&/native code/.test(D))return!1;var e=D.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[E]=t,!(e.then((function(){}))instanceof t)})),Q=$||!y((function(e){D.all(e)["catch"]((function(){}))})),X=function(e){var t;return!(!C(e)||"function"!=typeof(t=e.then))&&t},J=function(e,t,n){if(!t.notified){t.notified=!0;var o=t.reactions;k((function(){for(var r=t.value,a=1==t.state,i=0;o.length>i;){var c,l,u,d=o[i++],s=a?d.ok:d.fail,p=d.resolve,m=d.reject,f=d.domain;try{s?(a||(2===t.rejection&&ne(e,t),t.rejection=1),!0===s?c=r:(f&&f.enter(),c=s(r),f&&(f.exit(),u=!0)),c===d.promise?m(j("Promise-chain cycle")):(l=X(c))?l.call(c,p,m):p(c)):m(r)}catch(h){f&&!u&&f.exit(),m(h)}}t.reactions=[],t.notified=!1,n&&!t.rejection&&ee(e,t)}))}},Z=function(e,t,n){var o,r;W?((o=z.createEvent("Event")).promise=t,o.reason=n,o.initEvent(e,!1,!0),u.dispatchEvent(o)):o={promise:t,reason:n},(r=u["on"+e])?r(o):"unhandledrejection"===e&&B("Unhandled promise rejection",n)},ee=function(e,t){x.call(u,(function(){var n,o=t.value;if(te(t)&&(n=S((function(){Y?H.emit("unhandledRejection",o,e):Z("unhandledrejection",e,o)})),t.rejection=Y||te(t)?2:1,n.error))throw n.value}))},te=function(e){return 1!==e.rejection&&!e.parent},ne=function(e,t){x.call(u,(function(){Y?H.emit("rejectionHandled",e):Z("rejectionhandled",e,t.value)}))},oe=function(e,t,n,o){return function(r){e(t,n,r,o)}},re=function(e,t,n,o){t.done||(t.done=!0,o&&(t=o),t.value=n,t.state=2,J(e,t,!0))},ae=function ie(e,t,n,o){if(!t.done){t.done=!0,o&&(t=o);try{if(e===n)throw j("Promise can't be resolved itself");var r=X(n);r?k((function(){var o={done:!1};try{r.call(n,oe(ie,e,o,t),oe(re,e,o,t))}catch(a){re(e,o,a,t)}})):(t.value=n,t.state=1,J(e,t,!1))}catch(a){re(e,{done:!1},a,t)}}};$&&(D=function(e){b(this,D,M),g(e),o.call(this);var t=O(this);try{e(oe(ae,this,t),oe(re,this,t))}catch(n){re(this,t,n)}},(o=function(e){R(this,{type:M,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:q,value:undefined})}).prototype=m(D.prototype,{then:function(e,t){var n=F(this),o=U(_(this,D));return o.ok="function"!=typeof e||e,o.fail="function"==typeof t&&t,o.domain=Y?H.domain:undefined,n.parent=!0,n.reactions.push(o),n.state!=q&&J(this,n,!1),o.promise},"catch":function(e){return this.then(undefined,e)}}),r=function(){var e=new o,t=O(e);this.promise=e,this.resolve=oe(ae,e,t),this.reject=oe(re,e,t)},w.f=U=function(e){return e===D||e===a?new r(e):K(e)},l||"function"!=typeof s||(i=s.prototype.then,p(s.prototype,"then",(function(e,t){var n=this;return new D((function(e,t){i.call(n,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof G&&c({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return L(D,G.apply(u,arguments))}}))),c({global:!0,wrap:!0,forced:$},{Promise:D}),f(D,M,!1,!0),h(M),a=d(M),c({target:M,stat:!0,forced:$},{reject:function(e){var t=U(this);return t.reject.call(undefined,e),t.promise}}),c({target:M,stat:!0,forced:l||$},{resolve:function(e){return L(l&&this===a?D:this,e)}}),c({target:M,stat:!0,forced:Q},{all:function(e){var t=this,n=U(t),o=n.resolve,r=n.reject,a=S((function(){var n=g(t.resolve),a=[],i=0,c=1;V(e,(function(e){var l=i++,u=!1;a.push(undefined),c++,n.call(t,e).then((function(e){u||(u=!0,a[l]=e,--c||o(a))}),r)})),--c||o(a)}));return a.error&&r(a.value),n.promise},race:function(e){var t=this,n=U(t),o=n.reject,r=S((function(){var r=g(t.resolve);V(e,(function(e){r.call(t,e).then(n.resolve,o)}))}));return r.error&&o(r.value),n.promise}})},function(e,t,n){"use strict";var o=n(5);e.exports=function(e,t){var n=o.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},function(e,t,n){"use strict";e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},function(e,t,n){"use strict";var o=n(0),r=n(38),a=n(145),i=n(4),c=n(35),l=n(45),u=n(148),d=n(24);o({target:"Promise",proto:!0,real:!0,forced:!!a&&i((function(){a.prototype["finally"].call({then:function(){}},(function(){}))}))},{"finally":function(e){var t=l(this,c("Promise")),n="function"==typeof e;return this.then(n?function(n){return u(t,e()).then((function(){return n}))}:e,n?function(n){return u(t,e()).then((function(){throw n}))}:e)}}),r||"function"!=typeof a||a.prototype["finally"]||d(a.prototype,"finally",c("Promise").prototype["finally"])},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(31),i=n(8),c=n(4),l=r("Reflect","apply"),u=Function.apply;o({target:"Reflect",stat:!0,forced:!c((function(){l((function(){}))}))},{apply:function(e,t,n){return a(e),i(n),l?l(e,t,n):u.call(e,t,n)}})},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(31),i=n(8),c=n(6),l=n(42),u=n(138),d=n(4),s=r("Reflect","construct"),p=d((function(){function e(){}return!(s((function(){}),[],e)instanceof e)})),m=!d((function(){s((function(){}))})),f=p||m;o({target:"Reflect",stat:!0,forced:f,sham:f},{construct:function(e,t){a(e),i(t);var n=arguments.length<3?e:a(arguments[2]);if(m&&!p)return s(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var o=[null];return o.push.apply(o,t),new(u.apply(e,o))}var r=n.prototype,d=l(c(r)?r:Object.prototype),f=Function.apply.call(e,d,t);return c(f)?f:d}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(8),i=n(33),c=n(13);o({target:"Reflect",stat:!0,forced:n(4)((function(){Reflect.defineProperty(c.f({},1,{value:1}),1,{value:2})})),sham:!r},{defineProperty:function(e,t,n){a(e);var o=i(t,!0);a(n);try{return c.f(e,o,n),!0}catch(r){return!1}}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(20).f;o({target:"Reflect",stat:!0},{deleteProperty:function(e,t){var n=a(r(e),t);return!(n&&!n.configurable)&&delete e[t]}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(8),i=n(15),c=n(20),l=n(36);o({target:"Reflect",stat:!0},{get:function u(e,t){var n,o,d=arguments.length<3?e:arguments[2];return a(e)===d?e[t]:(n=c.f(e,t))?i(n,"value")?n.value:n.get===undefined?undefined:n.get.call(d):r(o=l(e))?u(o,t,d):void 0}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(8),i=n(20);o({target:"Reflect",stat:!0,sham:!r},{getOwnPropertyDescriptor:function(e,t){return i.f(a(e),t)}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(36);o({target:"Reflect",stat:!0,sham:!n(102)},{getPrototypeOf:function(e){return a(r(e))}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{has:function(e,t){return t in e}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=Object.isExtensible;o({target:"Reflect",stat:!0},{isExtensible:function(e){return r(e),!a||a(e)}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{ownKeys:n(92)})},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(8);o({target:"Reflect",stat:!0,sham:!n(67)},{preventExtensions:function(e){a(e);try{var t=r("Object","preventExtensions");return t&&t(e),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(6),i=n(15),c=n(4),l=n(13),u=n(20),d=n(36),s=n(47);o({target:"Reflect",stat:!0,forced:c((function(){var e=l.f({},"a",{configurable:!0});return!1!==Reflect.set(d(e),"a",1,e)}))},{set:function p(e,t,n){var o,c,m=arguments.length<4?e:arguments[3],f=u.f(r(e),t);if(!f){if(a(c=d(e)))return p(c,t,n,m);f=s(0)}if(i(f,"value")){if(!1===f.writable||!a(m))return!1;if(o=u.f(m,t)){if(o.get||o.set||!1===o.writable)return!1;o.value=n,l.f(m,t,o)}else l.f(m,t,s(0,n));return!0}return f.set!==undefined&&(f.set.call(m,n),!0)}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(135),i=n(53);i&&o({target:"Reflect",stat:!0},{setPrototypeOf:function(e,t){r(e),a(t);try{return i(e,t),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(79),c=n(13).f,l=n(48).f,u=n(107),d=n(83),s=n(24),p=n(4),m=n(54),f=n(12)("match"),h=r.RegExp,C=h.prototype,g=/a/g,b=/a/g,N=new h(g)!==g;if(o&&a("RegExp",!N||p((function(){return b[f]=!1,h(g)!=g||h(b)==b||"/a/i"!=h(g,"i")})))){for(var v=function(e,t){var n=this instanceof v,o=u(e),r=t===undefined;return!n&&o&&e.constructor===v&&r?e:i(N?new h(o&&!r?e.source:e,t):h((o=e instanceof v)?e.source:e,o&&r?d.call(e):t),n?this:C,v)},V=function(e){e in v||c(v,e,{configurable:!0,get:function(){return h[e]},set:function(t){h[e]=t}})},y=l(h),_=0;y.length>_;)V(y[_++]);C.constructor=v,v.prototype=C,s(r,"RegExp",v)}m("RegExp")},function(e,t,n){"use strict";var o=n(0),r=n(84);o({target:"RegExp",proto:!0,forced:/./.exec!==r},{exec:r})},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(83);o&&"g"!=/./g.flags&&r.f(RegExp.prototype,"flags",{configurable:!0,get:a})},function(e,t,n){"use strict";var o=n(24),r=n(8),a=n(4),i=n(83),c=RegExp.prototype,l=c.toString,u=a((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),d="toString"!=l.name;(u||d)&&o(RegExp.prototype,"toString",(function(){var e=r(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(n===undefined&&e instanceof RegExp&&!("flags"in c)?i.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(0),r=n(108).codeAt;o({target:"String",proto:!0},{codePointAt:function(e){return r(this,e)}})},function(e,t,n){"use strict";var o,r=n(0),a=n(20).f,i=n(10),c=n(109),l=n(23),u=n(110),d=n(38),s="".endsWith,p=Math.min,m=u("endsWith");r({target:"String",proto:!0,forced:!!(d||m||(o=a(String.prototype,"endsWith"),!o||o.writable))&&!m},{endsWith:function(e){var t=String(l(this));c(e);var n=arguments.length>1?arguments[1]:undefined,o=i(t.length),r=n===undefined?o:p(i(n),o),a=String(e);return s?s.call(t,a,r):t.slice(r-a.length,r)===a}})},function(e,t,n){"use strict";var o=n(0),r=n(41),a=String.fromCharCode,i=String.fromCodePoint;o({target:"String",stat:!0,forced:!!i&&1!=i.length},{fromCodePoint:function(e){for(var t,n=[],o=arguments.length,i=0;o>i;){if(t=+arguments[i++],r(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?a(t):a(55296+((t-=65536)>>10),t%1024+56320))}return n.join("")}})},function(e,t,n){"use strict";var o=n(0),r=n(109),a=n(23);o({target:"String",proto:!0,forced:!n(110)("includes")},{includes:function(e){return!!~String(a(this)).indexOf(r(e),arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(108).charAt,r=n(34),a=n(101),i=r.set,c=r.getterFor("String Iterator");a(String,"String",(function(e){i(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=c(this),n=t.string,r=t.index;return r>=n.length?{value:undefined,done:!0}:(e=o(n,r),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(10),i=n(23),c=n(111),l=n(86);o("match",1,(function(e,t,n){return[function(t){var n=i(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var i=r(e),u=String(this);if(!i.global)return l(i,u);var d=i.unicode;i.lastIndex=0;for(var s,p=[],m=0;null!==(s=l(i,u));){var f=String(s[0]);p[m]=f,""===f&&(i.lastIndex=c(u,a(i.lastIndex),d)),m++}return 0===m?null:p}]}))},function(e,t,n){"use strict";var o=n(0),r=n(103).end;o({target:"String",proto:!0,forced:n(150)},{padEnd:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(103).start;o({target:"String",proto:!0,forced:n(150)},{padStart:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(25),a=n(10);o({target:"String",stat:!0},{raw:function(e){for(var t=r(e.raw),n=a(t.length),o=arguments.length,i=[],c=0;n>c;)i.push(String(t[c++])),c]*>)/g,h=/\$([$&'`]|\d\d?)/g;o("replace",2,(function(e,t,n){return[function(n,o){var r=l(this),a=n==undefined?undefined:n[e];return a!==undefined?a.call(n,r,o):t.call(String(r),n,o)},function(e,a){var l=n(t,e,this,a);if(l.done)return l.value;var m=r(e),f=String(this),h="function"==typeof a;h||(a=String(a));var C=m.global;if(C){var g=m.unicode;m.lastIndex=0}for(var b=[];;){var N=d(m,f);if(null===N)break;if(b.push(N),!C)break;""===String(N[0])&&(m.lastIndex=u(f,i(m.lastIndex),g))}for(var v,V="",y=0,_=0;_=y&&(V+=f.slice(y,k)+I,y=k+x.length)}return V+f.slice(y)}];function o(e,n,o,r,i,c){var l=o+e.length,u=r.length,d=h;return i!==undefined&&(i=a(i),d=f),t.call(c,d,(function(t,a){var c;switch(a.charAt(0)){case"$":return"$";case"&":return e;case"`":return n.slice(0,o);case"'":return n.slice(l);case"<":c=i[a.slice(1,-1)];break;default:var d=+a;if(0===d)return t;if(d>u){var s=m(d/10);return 0===s?t:s<=u?r[s-1]===undefined?a.charAt(1):r[s-1]+a.charAt(1):t}c=r[d-1]}return c===undefined?"":c}))}}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(23),i=n(144),c=n(86);o("search",1,(function(e,t,n){return[function(t){var n=a(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var a=r(e),l=String(this),u=a.lastIndex;i(u,0)||(a.lastIndex=0);var d=c(a,l);return i(a.lastIndex,u)||(a.lastIndex=u),null===d?-1:d.index}]}))},function(e,t,n){"use strict";var o=n(85),r=n(107),a=n(8),i=n(23),c=n(45),l=n(111),u=n(10),d=n(86),s=n(84),p=n(4),m=[].push,f=Math.min,h=!p((function(){return!RegExp(4294967295,"y")}));o("split",2,(function(e,t,n){var o;return o="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var o=String(i(this)),a=n===undefined?4294967295:n>>>0;if(0===a)return[];if(e===undefined)return[o];if(!r(e))return t.call(o,e,a);for(var c,l,u,d=[],p=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),f=0,h=new RegExp(e.source,p+"g");(c=s.call(h,o))&&!((l=h.lastIndex)>f&&(d.push(o.slice(f,c.index)),c.length>1&&c.index=a));)h.lastIndex===c.index&&h.lastIndex++;return f===o.length?!u&&h.test("")||d.push(""):d.push(o.slice(f)),d.length>a?d.slice(0,a):d}:"0".split(undefined,0).length?function(e,n){return e===undefined&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var r=i(this),a=t==undefined?undefined:t[e];return a!==undefined?a.call(t,r,n):o.call(String(r),t,n)},function(e,r){var i=n(o,e,this,r,o!==t);if(i.done)return i.value;var s=a(e),p=String(this),m=c(s,RegExp),C=s.unicode,g=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+(h?"y":"g"),b=new m(h?s:"^(?:"+s.source+")",g),N=r===undefined?4294967295:r>>>0;if(0===N)return[];if(0===p.length)return null===d(b,p)?[p]:[];for(var v=0,V=0,y=[];V1?arguments[1]:undefined,t.length)),o=String(e);return s?s.call(t,o,n):t.slice(n,n+o.length)===o}})},function(e,t,n){"use strict";var o=n(0),r=n(56).trim;o({target:"String",proto:!0,forced:n(112)("trim")},{trim:function(){return r(this)}})},function(e,t,n){"use strict";var o=n(0),r=n(56).end,a=n(112)("trimEnd"),i=a?function(){return r(this)}:"".trimEnd;o({target:"String",proto:!0,forced:a},{trimEnd:i,trimRight:i})},function(e,t,n){"use strict";var o=n(0),r=n(56).start,a=n(112)("trimStart"),i=a?function(){return r(this)}:"".trimStart;o({target:"String",proto:!0,forced:a},{trimStart:i,trimLeft:i})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("anchor")},{anchor:function(e){return r(this,"a","name",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("big")},{big:function(){return r(this,"big","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("blink")},{blink:function(){return r(this,"blink","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("bold")},{bold:function(){return r(this,"b","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("fixed")},{fixed:function(){return r(this,"tt","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("fontcolor")},{fontcolor:function(e){return r(this,"font","color",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("fontsize")},{fontsize:function(e){return r(this,"font","size",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("italics")},{italics:function(){return r(this,"i","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("link")},{link:function(e){return r(this,"a","href",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("small")},{small:function(){return r(this,"small","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("strike")},{strike:function(){return r(this,"strike","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("sub")},{sub:function(){return r(this,"sub","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("sup")},{sup:function(){return r(this,"sup","","")}})},function(e,t,n){"use strict";n(40)("Float32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(30);e.exports=function(e){var t=o(e);if(t<0)throw RangeError("The argument can't be less than 0");return t}},function(e,t,n){"use strict";n(40)("Float64",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}),!0)},function(e,t,n){"use strict";n(40)("Uint16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(7),r=n(130),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("copyWithin",(function(e,t){return r.call(a(this),e,t,arguments.length>2?arguments[2]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(17).every,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("every",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(97),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("fill",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(17).filter,a=n(45),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("filter",(function(e){for(var t=r(i(this),e,arguments.length>1?arguments[1]:undefined),n=a(this,this.constructor),o=0,l=t.length,u=new(c(n))(l);l>o;)u[o]=t[o++];return u}))},function(e,t,n){"use strict";var o=n(7),r=n(17).find,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("find",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(17).findIndex,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("findIndex",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(17).forEach,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("forEach",(function(e){r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(113);(0,n(7).exportTypedArrayStaticMethod)("from",n(152),o)},function(e,t,n){"use strict";var o=n(7),r=n(60).includes,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("includes",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(60).indexOf,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("indexOf",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(133),i=n(12)("iterator"),c=o.Uint8Array,l=a.values,u=a.keys,d=a.entries,s=r.aTypedArray,p=r.exportTypedArrayMethod,m=c&&c.prototype[i],f=!!m&&("values"==m.name||m.name==undefined),h=function(){return l.call(s(this))};p("entries",(function(){return d.call(s(this))})),p("keys",(function(){return u.call(s(this))})),p("values",h,!f),p(i,h,!f)},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].join;a("join",(function(e){return i.apply(r(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(136),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("lastIndexOf",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(17).map,a=n(45),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("map",(function(e){return r(i(this),e,arguments.length>1?arguments[1]:undefined,(function(e,t){return new(c(a(e,e.constructor)))(t)}))}))},function(e,t,n){"use strict";var o=n(7),r=n(113),a=o.aTypedArrayConstructor;(0,o.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,t=arguments.length,n=new(a(this))(t);t>e;)n[e]=arguments[e++];return n}),r)},function(e,t,n){"use strict";var o=n(7),r=n(76).left,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduce",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(76).right,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduceRight",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=Math.floor;a("reverse",(function(){for(var e,t=r(this).length,n=i(t/2),o=0;o1?arguments[1]:undefined,1),n=this.length,o=i(e),c=r(o.length),u=0;if(c+t>n)throw RangeError("Wrong length");for(;ua;)d[a]=n[a++];return d}),a((function(){new Int8Array(1).slice()})))},function(e,t,n){"use strict";var o=n(7),r=n(17).some,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("some",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].sort;a("sort",(function(e){return i.call(r(this),e)}))},function(e,t,n){"use strict";var o=n(7),r=n(10),a=n(41),i=n(45),c=o.aTypedArray;(0,o.exportTypedArrayMethod)("subarray",(function(e,t){var n=c(this),o=n.length,l=a(e,o);return new(i(n,n.constructor))(n.buffer,n.byteOffset+l*n.BYTES_PER_ELEMENT,r((t===undefined?o:a(t,o))-l))}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(4),i=o.Int8Array,c=r.aTypedArray,l=r.exportTypedArrayMethod,u=[].toLocaleString,d=[].slice,s=!!i&&a((function(){u.call(new i(1))}));l("toLocaleString",(function(){return u.apply(s?d.call(c(this)):c(this),arguments)}),a((function(){return[1,2].toLocaleString()!=new i([1,2]).toLocaleString()}))||!a((function(){i.prototype.toLocaleString.call([1,2])})))},function(e,t,n){"use strict";var o=n(7).exportTypedArrayMethod,r=n(4),a=n(5).Uint8Array,i=a&&a.prototype||{},c=[].toString,l=[].join;r((function(){c.call({})}))&&(c=function(){return l.call(this)});var u=i.toString!=c;o("toString",c,u)},function(e,t,n){"use strict";var o,r=n(5),a=n(66),i=n(51),c=n(78),l=n(153),u=n(6),d=n(34).enforce,s=n(121),p=!r.ActiveXObject&&"ActiveXObject"in r,m=Object.isExtensible,f=function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}},h=e.exports=c("WeakMap",f,l);if(s&&p){o=l.getConstructor(f,"WeakMap",!0),i.REQUIRED=!0;var C=h.prototype,g=C["delete"],b=C.has,N=C.get,v=C.set;a(C,{"delete":function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),g.call(this,e)||t.frozen["delete"](e)}return g.call(this,e)},has:function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),b.call(this,e)||t.frozen.has(e)}return b.call(this,e)},get:function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),b.call(this,e)?N.call(this,e):t.frozen.get(e)}return N.call(this,e)},set:function(e,t){if(u(e)&&!m(e)){var n=d(this);n.frozen||(n.frozen=new o),b.call(this,e)?v.call(this,e,t):n.frozen.set(e,t)}else v.call(this,e,t);return this}})}},function(e,t,n){"use strict";n(78)("WeakSet",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),n(153))},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(106);o({global:!0,bind:!0,enumerable:!0,forced:!r.setImmediate||!r.clearImmediate},{setImmediate:a.set,clearImmediate:a.clear})},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(147),i=n(32),c=r.process,l="process"==i(c);o({global:!0,enumerable:!0,noTargetGet:!0},{queueMicrotask:function(e){var t=l&&c.domain;a(t?t.bind(e):e)}})},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(73),i=[].slice,c=function(e){return function(t,n){var o=arguments.length>2,r=o?i.call(arguments,2):undefined;return e(o?function(){("function"==typeof t?t:Function(t)).apply(this,r)}:t,n)}};o({global:!0,bind:!0,forced:/MSIE .\./.test(a)},{setTimeout:c(r.setTimeout),setInterval:c(r.setInterval)})},function(e,t,n){"use strict";t.__esModule=!0,t._CI=Ie,t._HI=D,t._M=Te,t._MCCC=Me,t._ME=Pe,t._MFCC=Oe,t._MP=we,t._MR=ve,t.__render=ze,t.createComponentVNode=function(e,t,n,o,r){var i=new T(1,null,null,e=function(e,t){if(12&e)return e;if(t.prototype&&t.prototype.render)return 4;if(t.render)return 32776;return 8}(e,t),o,function(e,t,n){var o=(32768&e?t.render:t).defaultProps;if(a(o))return n;if(a(n))return d(o,null);return w(n,o)}(e,t,n),function(e,t,n){if(4&e)return n;var o=(32768&e?t.render:t).defaultHooks;if(a(o))return n;if(a(n))return o;return w(n,o)}(e,t,r),t);k.createVNode&&k.createVNode(i);return i},t.createFragment=E,t.createPortal=function(e,t){var n=D(e);return A(1024,1024,null,n,0,null,n.key,t)},t.createRef=function(){return{current:null}},t.createRenderer=function(e){return function(t,n,o,r){e||(e=t),He(n,e,o,r)}},t.createTextVNode=P,t.createVNode=A,t.directClone=M,t.findDOMfromVNode=v,t.forwardRef=function(e){return{render:e}},t.getFlagsForElementVnode=function(e){switch(e){case"svg":return 32;case"input":return 64;case"select":return 256;case"textarea":return 128;case m:return 8192;default:return 1}},t.linkEvent=function(e,t){if(c(t))return{data:e,event:t};return null},t.normalizeProps=function(e){var t=e.props;if(t){var n=e.flags;481&n&&(void 0!==t.children&&a(e.children)&&F(e,t.children),void 0!==t.className&&(e.className=t.className||null,t.className=undefined)),void 0!==t.key&&(e.key=t.key,t.key=undefined),void 0!==t.ref&&(e.ref=8&n?d(e.ref,t.ref):t.ref,t.ref=undefined)}return e},t.render=He,t.rerender=qe,t.version=t.options=t.Fragment=t.EMPTY_OBJ=t.Component=void 0;var o=Array.isArray;function r(e){var t=typeof e;return"string"===t||"number"===t}function a(e){return null==e}function i(e){return null===e||!1===e||!0===e||void 0===e}function c(e){return"function"==typeof e}function l(e){return"string"==typeof e}function u(e){return null===e}function d(e,t){var n={};if(e)for(var o in e)n[o]=e[o];if(t)for(var r in t)n[r]=t[r];return n}function s(e){return!u(e)&&"object"==typeof e}var p={};t.EMPTY_OBJ=p;var m="$F";function f(e){return e.substr(2).toLowerCase()}function h(e,t){e.appendChild(t)}function C(e,t,n){u(n)?h(e,t):e.insertBefore(t,n)}function g(e,t){e.removeChild(t)}function b(e){for(var t;(t=e.shift())!==undefined;)t()}function N(e,t,n){var o=e.children;return 4&n?o.$LI:8192&n?2===e.childFlags?o:o[t?0:o.length-1]:o}function v(e,t){for(var n;e;){if(2033&(n=e.flags))return e.dom;e=N(e,t,n)}return null}function V(e,t){do{var n=e.flags;if(2033&n)return void g(t,e.dom);var o=e.children;if(4&n&&(e=o.$LI),8&n&&(e=o),8192&n){if(2!==e.childFlags){for(var r=0,a=o.length;r0,f=u(p),h=l(p)&&p[0]===I;m||f||h?(n=n||t.slice(0,d),(m||h)&&(s=M(s)),(f||h)&&(s.key=I+d),n.push(s)):n&&n.push(s),s.flags|=65536}}a=0===(n=n||t).length?1:8}else(n=t).flags|=65536,81920&t.flags&&(n=M(t)),a=2;return e.children=n,e.childFlags=a,e}function D(e){return i(e)||r(e)?P(e,null):o(e)?E(e,0,null):16384&e.flags?M(e):e}var j="http://www.w3.org/1999/xlink",z="http://www.w3.org/XML/1998/namespace",H={"xlink:actuate":j,"xlink:arcrole":j,"xlink:href":j,"xlink:role":j,"xlink:show":j,"xlink:title":j,"xlink:type":j,"xml:base":z,"xml:lang":z,"xml:space":z};function G(e){return{onClick:e,onDblClick:e,onFocusIn:e,onFocusOut:e,onKeyDown:e,onKeyPress:e,onKeyUp:e,onMouseDown:e,onMouseMove:e,onMouseUp:e,onTouchEnd:e,onTouchMove:e,onTouchStart:e}}var U=G(0),K=G(null),Y=G(!0);function W(e,t){var n=t.$EV;return n||(n=t.$EV=G(null)),n[e]||1==++U[e]&&(K[e]=function(e){var t="onClick"===e||"onDblClick"===e?function(e){return function(t){0===t.button?$(t,!0,e,Z(t)):t.stopPropagation()}}(e):function(e){return function(t){$(t,!1,e,Z(t))}}(e);return document.addEventListener(f(e),t),t}(e)),n}function q(e,t){var n=t.$EV;n&&n[e]&&(0==--U[e]&&(document.removeEventListener(f(e),K[e]),K[e]=null),n[e]=null)}function $(e,t,n,o){var r=function(e){return c(e.composedPath)?e.composedPath()[0]:e.target}(e);do{if(t&&r.disabled)return;var a=r.$EV;if(a){var i=a[n];if(i&&(o.dom=r,i.event?i.event(i.data,e):i(e),e.cancelBubble))return}r=r.parentNode}while(!u(r))}function Q(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function X(){return this.defaultPrevented}function J(){return this.cancelBubble}function Z(e){var t={dom:document};return e.isDefaultPrevented=X,e.isPropagationStopped=J,e.stopPropagation=Q,Object.defineProperty(e,"currentTarget",{configurable:!0,get:function(){return t.dom}}),t}function ee(e,t,n){if(e[t]){var o=e[t];o.event?o.event(o.data,n):o(n)}else{var r=t.toLowerCase();e[r]&&e[r](n)}}function te(e,t){var n=function(n){var o=this.$V;if(o){var r=o.props||p,a=o.dom;if(l(e))ee(r,e,n);else for(var i=0;i-1&&t.options[i]&&(c=t.options[i].value),n&&a(c)&&(c=e.defaultValue),le(o,c)}}var se,pe,me=te("onInput",he),fe=te("onChange");function he(e,t,n){var o=e.value,r=t.value;if(a(o)){if(n){var i=e.defaultValue;a(i)||i===r||(t.defaultValue=i,t.value=i)}}else r!==o&&(t.defaultValue=o,t.value=o)}function Ce(e,t,n,o,r,a){64&e?ce(o,n):256&e?de(o,n,r,t):128&e&&he(o,n,r),a&&(n.$V=t)}function ge(e,t,n){64&e?function(e,t){oe(t.type)?(ne(e,"change",ae),ne(e,"click",ie)):ne(e,"input",re)}(t,n):256&e?function(e){ne(e,"change",ue)}(t):128&e&&function(e,t){ne(e,"input",me),t.onChange&&ne(e,"change",fe)}(t,n)}function be(e){return e.type&&oe(e.type)?!a(e.checked):!a(e.value)}function Ne(e){e&&!S(e,null)&&e.current&&(e.current=null)}function ve(e,t,n){e&&(c(e)||void 0!==e.current)&&n.push((function(){S(e,t)||void 0===e.current||(e.current=t)}))}function Ve(e,t){ye(e),V(e,t)}function ye(e){var t,n=e.flags,o=e.children;if(481&n){t=e.ref;var r=e.props;Ne(t);var i=e.childFlags;if(!u(r))for(var l=Object.keys(r),d=0,s=l.length;d0;for(var c in i&&(a=be(n))&&ge(t,o,n),n)Be(c,null,n[c],o,r,a,null);i&&Ce(t,e,o,n,!0,a)}function Se(e,t,n){var o=D(e.render(t,e.state,n)),r=n;return c(e.getChildContext)&&(r=d(n,e.getChildContext())),e.$CX=r,o}function Ie(e,t,n,o,r,a){var i=new t(n,o),l=i.$N=Boolean(t.getDerivedStateFromProps||i.getSnapshotBeforeUpdate);if(i.$SVG=r,i.$L=a,e.children=i,i.$BS=!1,i.context=o,i.props===p&&(i.props=n),l)i.state=_(i,n,i.state);else if(c(i.componentWillMount)){i.$BR=!0,i.componentWillMount();var d=i.$PS;if(!u(d)){var s=i.state;if(u(s))i.state=d;else for(var m in d)s[m]=d[m];i.$PS=null}i.$BR=!1}return i.$LI=Se(i,n,o),i}function Te(e,t,n,o,r,a){var i=e.flags|=16384;481&i?Pe(e,t,n,o,r,a):4&i?function(e,t,n,o,r,a){var i=Ie(e,e.type,e.props||p,n,o,a);Te(i.$LI,t,i.$CX,o,r,a),Me(e.ref,i,a)}(e,t,n,o,r,a):8&i?(!function(e,t,n,o,r,a){Te(e.children=D(function(e,t){return 32768&e.flags?e.type.render(e.props||p,e.ref,t):e.type(e.props||p,t)}(e,n)),t,n,o,r,a)}(e,t,n,o,r,a),Oe(e,a)):512&i||16&i?Ae(e,t,r):8192&i?function(e,t,n,o,r,a){var i=e.children,c=e.childFlags;12&c&&0===i.length&&(c=e.childFlags=2,i=e.children=O());2===c?Te(i,n,r,o,r,a):Ee(i,n,t,o,r,a)}(e,n,t,o,r,a):1024&i&&function(e,t,n,o,r){Te(e.children,e.ref,t,!1,null,r);var a=O();Ae(a,n,o),e.dom=a.dom}(e,n,t,r,a)}function Ae(e,t,n){var o=e.dom=document.createTextNode(e.children);u(t)||C(t,o,n)}function Pe(e,t,n,o,r,i){var c=e.flags,l=e.props,d=e.className,s=e.children,p=e.childFlags,m=e.dom=function(e,t){return t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e)}(e.type,o=o||(32&c)>0);if(a(d)||""===d||(o?m.setAttribute("class",d):m.className=d),16===p)L(m,s);else if(1!==p){var f=o&&"foreignObject"!==e.type;2===p?(16384&s.flags&&(e.children=s=M(s)),Te(s,m,n,f,null,i)):8!==p&&4!==p||Ee(s,m,n,f,null,i)}u(t)||C(t,m,r),u(l)||we(e,c,l,m,o),ve(e.ref,m,i)}function Ee(e,t,n,o,r,a){for(var i=0;i0,u!==d){var f=u||p;if((c=d||p)!==p)for(var h in(s=(448&r)>0)&&(m=be(c)),c){var C=f[h],g=c[h];C!==g&&Be(h,C,g,l,o,m,e)}if(f!==p)for(var b in f)a(c[b])&&!a(f[b])&&Be(b,f[b],null,l,o,m,e)}var N=t.children,v=t.className;e.className!==v&&(a(v)?l.removeAttribute("class"):o?l.setAttribute("class",v):l.className=v);4096&r?function(e,t){e.textContent!==t&&(e.textContent=t)}(l,N):Fe(e.childFlags,t.childFlags,e.children,N,l,n,o&&"foreignObject"!==t.type,null,e,i);s&&Ce(r,t,l,c,!1,m);var V=t.ref,y=e.ref;y!==V&&(Ne(y),ve(V,l,i))}(e,t,o,r,m,s):4&m?function(e,t,n,o,r,a,i){var l=t.children=e.children;if(u(l))return;l.$L=i;var s=t.props||p,m=t.ref,f=e.ref,h=l.state;if(!l.$N){if(c(l.componentWillReceiveProps)){if(l.$BR=!0,l.componentWillReceiveProps(s,o),l.$UN)return;l.$BR=!1}u(l.$PS)||(h=d(h,l.$PS),l.$PS=null)}De(l,h,s,n,o,r,!1,a,i),f!==m&&(Ne(f),ve(m,l,i))}(e,t,n,o,r,l,s):8&m?function(e,t,n,o,r,i,l){var u=!0,d=t.props||p,s=t.ref,m=e.props,f=!a(s),h=e.children;f&&c(s.onComponentShouldUpdate)&&(u=s.onComponentShouldUpdate(m,d));if(!1!==u){f&&c(s.onComponentWillUpdate)&&s.onComponentWillUpdate(m,d);var C=t.type,g=D(32768&t.flags?C.render(d,s,o):C(d,o));Re(h,g,n,o,r,i,l),t.children=g,f&&c(s.onComponentDidUpdate)&&s.onComponentDidUpdate(m,d)}else t.children=h}(e,t,n,o,r,l,s):16&m?function(e,t){var n=t.children,o=t.dom=e.dom;n!==e.children&&(o.nodeValue=n)}(e,t):512&m?t.dom=e.dom:8192&m?function(e,t,n,o,r,a){var i=e.children,c=t.children,l=e.childFlags,u=t.childFlags,d=null;12&u&&0===c.length&&(u=t.childFlags=2,c=t.children=O());var s=0!=(2&u);if(12&l){var p=i.length;(8&l&&8&u||s||!s&&c.length>p)&&(d=v(i[p-1],!1).nextSibling)}Fe(l,u,i,c,n,o,r,d,e,a)}(e,t,n,o,r,s):function(e,t,n,o){var r=e.ref,a=t.ref,c=t.children;if(Fe(e.childFlags,t.childFlags,e.children,c,r,n,!1,null,e,o),t.dom=e.dom,r!==a&&!i(c)){var l=c.dom;g(r,l),h(a,l)}}(e,t,o,s)}function Fe(e,t,n,o,r,a,i,c,l,u){switch(e){case 2:switch(t){case 2:Re(n,o,r,a,i,c,u);break;case 1:Ve(n,r);break;case 16:ye(n),L(r,o);break;default:!function(e,t,n,o,r,a){ye(e),Ee(t,n,o,r,v(e,!0),a),V(e,n)}(n,o,r,a,i,u)}break;case 1:switch(t){case 2:Te(o,r,a,i,c,u);break;case 1:break;case 16:L(r,o);break;default:Ee(o,r,a,i,c,u)}break;case 16:switch(t){case 16:!function(e,t,n){e!==t&&(""!==e?n.firstChild.nodeValue=t:L(n,t))}(n,o,r);break;case 2:xe(r),Te(o,r,a,i,c,u);break;case 1:xe(r);break;default:xe(r),Ee(o,r,a,i,c,u)}break;default:switch(t){case 16:_e(n),L(r,o);break;case 2:ke(r,l,n),Te(o,r,a,i,c,u);break;case 1:ke(r,l,n);break;default:var d=0|n.length,s=0|o.length;0===d?s>0&&Ee(o,r,a,i,c,u):0===s?ke(r,l,n):8===t&&8===e?function(e,t,n,o,r,a,i,c,l,u){var d,s,p=a-1,m=i-1,f=0,h=e[f],C=t[f];e:{for(;h.key===C.key;){if(16384&C.flags&&(t[f]=C=M(C)),Re(h,C,n,o,r,c,u),e[f]=C,++f>p||f>m)break e;h=e[f],C=t[f]}for(h=e[p],C=t[m];h.key===C.key;){if(16384&C.flags&&(t[m]=C=M(C)),Re(h,C,n,o,r,c,u),e[p]=C,p--,m--,f>p||f>m)break e;h=e[p],C=t[m]}}if(f>p){if(f<=m)for(s=(d=m+1)m)for(;f<=p;)Ve(e[f++],n);else!function(e,t,n,o,r,a,i,c,l,u,d,s,p){var m,f,h,C=0,g=c,b=c,N=a-c+1,V=i-c+1,_=new Int32Array(V+1),x=N===o,k=!1,L=0,B=0;if(r<4||(N|V)<32)for(C=g;C<=a;++C)if(m=e[C],Bc?k=!0:L=c,16384&f.flags&&(t[c]=f=M(f)),Re(m,f,l,n,u,d,p),++B;break}!x&&c>i&&Ve(m,l)}else x||Ve(m,l);else{var w={};for(C=b;C<=i;++C)w[t[C].key]=C;for(C=g;C<=a;++C)if(m=e[C],Bg;)Ve(e[g++],l);_[c-b]=C+1,L>c?k=!0:L=c,16384&(f=t[c]).flags&&(t[c]=f=M(f)),Re(m,f,l,n,u,d,p),++B}else x||Ve(m,l);else x||Ve(m,l)}if(x)ke(l,s,e),Ee(t,l,n,u,d,p);else if(k){var S=function(e){var t=0,n=0,o=0,r=0,a=0,i=0,c=0,l=e.length;l>je&&(je=l,se=new Int32Array(l),pe=new Int32Array(l));for(;n>1]]0&&(pe[n]=se[a-1]),se[a]=n)}a=r+1;var u=new Int32Array(a);i=se[a-1];for(;a-- >0;)u[a]=i,i=pe[i],se[a]=0;return u}(_);for(c=S.length-1,C=V-1;C>=0;C--)0===_[C]?(16384&(f=t[L=C+b]).flags&&(t[L]=f=M(f)),Te(f,l,n,u,(h=L+1)=0;C--)0===_[C]&&(16384&(f=t[L=C+b]).flags&&(t[L]=f=M(f)),Te(f,l,n,u,(h=L+1)i?i:a,p=0;pi)for(p=s;p0&&b(r),x.v=!1,c(n)&&n(),c(k.renderComplete)&&k.renderComplete(i,t)}function He(e,t,n,o){void 0===n&&(n=null),void 0===o&&(o=p),ze(e,t,n,o)}"undefined"!=typeof document&&window.Node&&(Node.prototype.$EV=null,Node.prototype.$V=null);var Ge=[],Ue="undefined"!=typeof Promise?Promise.resolve().then.bind(Promise.resolve()):function(e){window.setTimeout(e,0)},Ke=!1;function Ye(e,t,n,o){var r=e.$PS;if(c(t)&&(t=t(r?d(e.state,r):e.state,e.props,e.context)),a(r))e.$PS=t;else for(var i in t)r[i]=t[i];if(e.$BR)c(n)&&e.$L.push(n.bind(e));else{if(!x.v&&0===Ge.length)return void $e(e,o,n);if(-1===Ge.indexOf(e)&&Ge.push(e),Ke||(Ke=!0,Ue(qe)),c(n)){var l=e.$QU;l||(l=e.$QU=[]),l.push(n)}}}function We(e){for(var t=e.$QU,n=0,o=t.length;n0&&b(r),x.v=!1}else e.state=e.$PS,e.$PS=null;c(n)&&n.call(e)}}var Qe=function(e,t){this.state=null,this.$BR=!1,this.$BS=!0,this.$PS=null,this.$LI=null,this.$UN=!1,this.$CX=null,this.$QU=null,this.$N=!1,this.$L=null,this.$SVG=!1,this.props=e||p,this.context=t||p};t.Component=Qe,Qe.prototype.forceUpdate=function(e){this.$UN||Ye(this,{},e,!0)},Qe.prototype.setState=function(e,t){this.$UN||this.$BS||Ye(this,e,t,!1)},Qe.prototype.render=function(e,t,n){return null};t.version="7.3.3"},function(e,t,n){"use strict";var o=function(e){var t,n=Object.prototype,o=n.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},a=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",c=r.toStringTag||"@@toStringTag";function l(e,t,n,o){var r=t&&t.prototype instanceof h?t:h,a=Object.create(r.prototype),i=new B(o||[]);return a._invoke=function(e,t,n){var o=d;return function(r,a){if(o===p)throw new Error("Generator is already running");if(o===m){if("throw"===r)throw a;return S()}for(n.method=r,n.arg=a;;){var i=n.delegate;if(i){var c=x(i,n);if(c){if(c===f)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===d)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=p;var l=u(e,t,n);if("normal"===l.type){if(o=n.done?m:s,l.arg===f)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o=m,n.method="throw",n.arg=l.arg)}}}(e,n,i),a}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(o){return{type:"throw",arg:o}}}e.wrap=l;var d="suspendedStart",s="suspendedYield",p="executing",m="completed",f={};function h(){}function C(){}function g(){}var b={};b[a]=function(){return this};var N=Object.getPrototypeOf,v=N&&N(N(w([])));v&&v!==n&&o.call(v,a)&&(b=v);var V=g.prototype=h.prototype=Object.create(b);function y(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function _(e){var t;this._invoke=function(n,r){function a(){return new Promise((function(t,a){!function i(t,n,r,a){var c=u(e[t],e,n);if("throw"!==c.type){var l=c.arg,d=l.value;return d&&"object"==typeof d&&o.call(d,"__await")?Promise.resolve(d.__await).then((function(e){i("next",e,r,a)}),(function(e){i("throw",e,r,a)})):Promise.resolve(d).then((function(e){l.value=e,r(l)}),(function(e){return i("throw",e,r,a)}))}a(c.arg)}(n,r,t,a)}))}return t=t?t.then(a,a):a()}}function x(e,n){var o=e.iterator[n.method];if(o===t){if(n.delegate=null,"throw"===n.method){if(e.iterator["return"]&&(n.method="return",n.arg=t,x(e,n),"throw"===n.method))return f;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var r=u(o,e.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,f;var a=r.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,f):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,f)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function L(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function B(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function w(e){if(e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function n(){for(;++r=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var l=o.call(i,"catchLoc"),u=o.call(i,"finallyLoc");if(l&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&o.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),L(n),f}},"catch":function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if("throw"===o.type){var r=o.arg;L(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,o){return this.delegate={iterator:w(e),resultName:n,nextLoc:o},"next"===this.method&&(this.arg=t),f}},e}(e.exports);try{regeneratorRuntime=o}catch(r){Function("r","regeneratorRuntime = r")(o)}},function(e,t,n){"use strict";window.Int32Array||(window.Int32Array=Array)},function(e,t,n){"use strict";(function(e){ /*! loadCSS. [c]2017 Filament Group, Inc. MIT License */ -var n;n=void 0!==e?e:void 0,t.loadCSS=function(e,t,o,r){var a,i=n.document,c=i.createElement("link");if(t)a=t;else{var l=(i.body||i.getElementsByTagName("head")[0]).childNodes;a=l[l.length-1]}var u=i.styleSheets;if(r)for(var d in r)r.hasOwnProperty(d)&&c.setAttribute(d,r[d]);c.rel="stylesheet",c.href=e,c.media="only x",function m(e){if(i.body)return e();setTimeout((function(){m(e)}))}((function(){a.parentNode.insertBefore(c,t?a:a.nextSibling)}));var s=function f(e){for(var t=c.href,n=u.length;n--;)if(u[n].href===t)return e();setTimeout((function(){f(e)}))};function p(){c.addEventListener&&c.removeEventListener("load",p),c.media=o||"all"}return c.addEventListener&&c.addEventListener("load",p),c.onloadcssdefined=s,s(p),c}}).call(this,n(118))},function(e,t,n){"use strict";t.__esModule=!0,t.Achievements=t.Score=t.Achievement=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.name,n=e.desc,r=e.icon_class,i=e.value;return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,a.Box,{className:r}),2,{style:{padding:"6px"}}),(0,o.createVNode)(1,"td",null,[(0,o.createVNode)(1,"h1",null,t,0),n,(0,o.createComponentVNode)(2,a.Box,{color:i?"good":"bad",content:i?"Unlocked":"Locked"})],0,{style:{"vertical-align":"top"}})],4,null,t)};t.Achievement=i;var c=function(e){var t=e.name,n=e.desc,r=e.icon_class,i=e.value;return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,a.Box,{className:r}),2,{style:{padding:"6px"}}),(0,o.createVNode)(1,"td",null,[(0,o.createVNode)(1,"h1",null,t,0),n,(0,o.createComponentVNode)(2,a.Box,{color:i>0?"good":"bad",content:i>0?"Earned "+i+" times":"Locked"})],0,{style:{"vertical-align":"top"}})],4,null,t)};t.Score=c;t.Achievements=function(e){var t=(0,r.useBackend)(e).data;return(0,o.createComponentVNode)(2,a.Tabs,{children:[t.categories.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e,children:(0,o.createComponentVNode)(2,a.Box,{as:"Table",children:t.achievements.filter((function(t){return t.category===e})).map((function(e){return e.score?(0,o.createComponentVNode)(2,c,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name):(0,o.createComponentVNode)(2,i,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name)}))})},e)})),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"High Scores",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:t.highscore.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e.name,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"#"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Key"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Score"})]}),Object.keys(e.scores).map((function(n,r){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",m:2,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:r+1}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:n===t.user_ckey&&"green",textAlign:"center",children:[0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",mr:2}),n,0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",ml:2})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:e.scores[n]})]},n)}))]})},e.name)}))})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BlockQuote=void 0;var o=n(1),r=n(11),a=n(19);t.BlockQuote=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";var o,r;t.__esModule=!0,t.VNodeFlags=t.ChildFlags=void 0,t.VNodeFlags=o,function(e){e[e.HtmlElement=1]="HtmlElement",e[e.ComponentUnknown=2]="ComponentUnknown",e[e.ComponentClass=4]="ComponentClass",e[e.ComponentFunction=8]="ComponentFunction",e[e.Text=16]="Text",e[e.SvgElement=32]="SvgElement",e[e.InputElement=64]="InputElement",e[e.TextareaElement=128]="TextareaElement",e[e.SelectElement=256]="SelectElement",e[e.Void=512]="Void",e[e.Portal=1024]="Portal",e[e.ReCreate=2048]="ReCreate",e[e.ContentEditable=4096]="ContentEditable",e[e.Fragment=8192]="Fragment",e[e.InUse=16384]="InUse",e[e.ForwardRef=32768]="ForwardRef",e[e.Normalized=65536]="Normalized",e[e.ForwardRefComponent=32776]="ForwardRefComponent",e[e.FormElement=448]="FormElement",e[e.Element=481]="Element",e[e.Component=14]="Component",e[e.DOMRef=2033]="DOMRef",e[e.InUseOrNormalized=81920]="InUseOrNormalized",e[e.ClearInUse=-16385]="ClearInUse",e[e.ComponentKnown=12]="ComponentKnown"}(o||(t.VNodeFlags=o={})),t.ChildFlags=r,function(e){e[e.UnknownChildren=0]="UnknownChildren",e[e.HasInvalidChildren=1]="HasInvalidChildren",e[e.HasVNodeChildren=2]="HasVNodeChildren",e[e.HasNonKeyedChildren=4]="HasNonKeyedChildren",e[e.HasKeyedChildren=8]="HasKeyedChildren",e[e.HasTextChildren=16]="HasTextChildren",e[e.MultipleChildren=12]="MultipleChildren"}(r||(t.ChildFlags=r={}))},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var o=n(1),r=n(11),a=n(19);var i=function(e){var t=e.color,n=e.content,i=e.className,c=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["color","content","className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["ColorBox",i]),color:n?null:"transparent",backgroundColor:t,content:n||"."},c)))};t.ColorBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Collapsible=void 0;var o=n(1),r=n(19),a=n(114);var i=function(e){var t,n;function i(t){var n;n=e.call(this,t)||this;var o=t.open;return n.state={open:o||!1},n}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=this.props,n=this.state.open,i=t.children,c=t.color,l=void 0===c?"default":c,u=t.title,d=t.buttons,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(t,["children","color","title","buttons"]);return(0,o.createComponentVNode)(2,r.Box,{mb:1,children:[(0,o.createVNode)(1,"div","Table",[(0,o.createVNode)(1,"div","Table__cell",(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Button,Object.assign({fluid:!0,color:l,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},s,{children:u}))),2),d&&(0,o.createVNode)(1,"div","Table__cell Table__cell--collapsing",d,0)],0),n&&(0,o.createComponentVNode)(2,r.Box,{mt:1,children:i})]})},i}(o.Component);t.Collapsible=i},function(e,t,n){"use strict";t.__esModule=!0,t.Dimmer=void 0;var o=n(1),r=n(19);t.Dimmer=function(e){var t=e.style,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Box,Object.assign({style:Object.assign({position:"absolute",top:0,bottom:0,left:0,right:0,"background-color":"rgba(0, 0, 0, 0.75)","z-index":1},t)},n)))}},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var o=n(1),r=n(11),a=n(19),i=n(87);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t,n;function l(t){var n;return(n=e.call(this,t)||this).state={selected:t.selected,open:!1},n.handleClick=function(){n.state.open&&n.setOpen(!1)},n}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},u.setOpen=function(e){var t=this;this.setState({open:e}),e?(setTimeout((function(){return window.addEventListener("click",t.handleClick)})),this.menuRef.focus()):window.removeEventListener("click",this.handleClick)},u.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},u.buildMenu=function(){var e=this,t=this.props.options,n=(void 0===t?[]:t).map((function(t){return(0,o.createVNode)(1,"div","Dropdown__menuentry",t,0,{onClick:function(n){e.setSelected(t)}},t)}));return n.length?n:"No Options Found"},u.render=function(){var e=this,t=this.props,n=t.color,l=void 0===n?"default":n,u=t.over,d=t.width,s=(t.onClick,t.selected,c(t,["color","over","width","onClick","selected"])),p=s.className,m=c(s,["className"]),f=u?!this.state.open:this.state.open,h=this.state.open?(0,o.createVNode)(1,"div",(0,r.classes)(["Dropdown__menu",u&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:d}},null,(function(t){e.menuRef=t})):null;return(0,o.createVNode)(1,"div","Dropdown",[(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({width:d,className:(0,r.classes)(["Dropdown__control","Button","Button--color--"+l,p])},m,{onClick:function(t){e.setOpen(!e.state.open)},children:[(0,o.createVNode)(1,"span","Dropdown__selected-text",this.state.selected,0),(0,o.createVNode)(1,"span","Dropdown__arrow-button",(0,o.createComponentVNode)(2,i.Icon,{name:f?"chevron-up":"chevron-down"}),2)]}))),h],0)},l}(o.Component);t.Dropdown=l},function(e,t,n){"use strict";t.__esModule=!0,t.FlexItem=t.computeFlexItemProps=t.Flex=t.computeFlexProps=void 0;var o=n(1),r=n(11),a=n(19);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.className,n=e.direction,o=e.wrap,a=e.align,c=e.justify,l=e.spacing,u=void 0===l?0:l,d=i(e,["className","direction","wrap","align","justify","spacing"]);return Object.assign({className:(0,r.classes)(["Flex",u>0&&"Flex--spacing--"+u,t]),style:Object.assign({},d.style,{"flex-direction":n,"flex-wrap":o,"align-items":a,"justify-content":c})},d)};t.computeFlexProps=c;var l=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},c(e))))};t.Flex=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.grow,o=e.order,a=e.align,c=i(e,["className","grow","order","align"]);return Object.assign({className:(0,r.classes)(["Flex__item",t]),style:Object.assign({},c.style,{"flex-grow":n,order:o,"align-self":a})},c)};t.computeFlexItemProps=u;var d=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},u(e))))};t.FlexItem=d,d.defaultHooks=r.pureComponentHooks,l.Item=d},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var o=n(1),r=n(11),a=n(19);var i=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["NoticeBox",t])},n)))};t.NoticeBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.NumberInput=void 0;var o=n(1),r=n(18),a=n(11),i=n(16),c=n(158),l=n(19);var u=function(e){var t,n;function u(t){var n;n=e.call(this,t)||this;var a=t.value;return n.inputRef=(0,o.createRef)(),n.state={value:a,dragging:!1,editing:!1,internalValue:null,origin:null,suppressingFlicker:!1},n.flickerTimer=null,n.suppressFlicker=function(){var e=n.props.suppressFlicker;e>0&&(n.setState({suppressingFlicker:!0}),clearTimeout(n.flickerTimer),n.flickerTimer=setTimeout((function(){return n.setState({suppressingFlicker:!1})}),e))},n.handleDragStart=function(e){var t=n.props.value;n.state.editing||(document.body.style["pointer-events"]="none",n.ref=e.target,n.setState({dragging:!1,origin:e.screenY,value:t,internalValue:t}),n.timer=setTimeout((function(){n.setState({dragging:!0})}),250),n.dragInterval=setInterval((function(){var t=n.state,o=t.dragging,r=t.value,a=n.props.onDrag;o&&a&&a(e,r)}),500),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,o=t.minValue,a=t.maxValue,i=t.step,c=t.stepPixelSize;n.setState((function(t){var n=Object.assign({},t),l=n.origin-e.screenY;if(t.dragging){var u=Number.isFinite(o)?o%i:0;n.internalValue=(0,r.clamp)(n.internalValue+l*i/c,o-i,a+i),n.value=(0,r.clamp)(n.internalValue-n.internalValue%i+u,o,a),n.origin=e.screenY}else Math.abs(l)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,o=t.onChange,r=t.onDrag,a=n.state,i=a.dragging,c=a.value,l=a.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!i,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),i)n.suppressFlicker(),o&&o(e,c),r&&r(e,c);else if(n.inputRef){var u=n.inputRef.current;u.value=l;try{u.focus(),u.select()}catch(d){}}},n}return n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,u.prototype.render=function(){var e=this,t=this.state,n=t.dragging,u=t.editing,d=t.value,s=t.suppressingFlicker,p=this.props,m=p.className,f=p.fluid,h=p.animated,C=p.value,g=p.unit,b=p.minValue,N=p.maxValue,v=p.height,V=p.width,y=p.lineHeight,_=p.fontSize,x=p.format,k=p.onChange,L=p.onDrag,B=C;(n||s)&&(B=d);var w=function(e){return(0,o.createVNode)(1,"div","NumberInput__content",e+(g?" "+g:""),0,{unselectable:i.tridentVersion<=4})},S=h&&!n&&!s&&(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:B,format:x,children:w})||w(x?x(B):B);return(0,o.createComponentVNode)(2,l.Box,{className:(0,a.classes)(["NumberInput",f&&"NumberInput--fluid",m]),minWidth:V,minHeight:v,lineHeight:y,fontSize:_,onMouseDown:this.handleDragStart,children:[(0,o.createVNode)(1,"div","NumberInput__barContainer",(0,o.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,r.clamp)((B-b)/(N-b)*100,0,100)+"%"}}),2),S,(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:u?undefined:"none",height:v,"line-height":y,"font-size":_},onBlur:function(t){if(u){var n=(0,r.clamp)(t.target.value,b,N);e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),L&&L(t,n)}},onKeyDown:function(t){if(13===t.keyCode){var n=(0,r.clamp)(t.target.value,b,N);return e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),void(L&&L(t,n))}27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef)]})},u}(o.Component);t.NumberInput=u,u.defaultHooks=a.pureComponentHooks,u.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50}},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var o=n(1),r=n(11),a=n(18),i=function(e){var t=e.value,n=e.minValue,i=void 0===n?0:n,c=e.maxValue,l=void 0===c?1:c,u=e.ranges,d=void 0===u?{}:u,s=e.content,p=e.children,m=(t-i)/(l-i),f=s!==undefined||p!==undefined,h=e.color;if(!h)for(var C=0,g=Object.keys(d);C=N[0]&&t<=N[1]){h=b;break}}return h||(h="default"),(0,o.createVNode)(1,"div",(0,r.classes)(["ProgressBar","ProgressBar--color--"+h]),[(0,o.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,a.clamp)(m,0,1)+"%"}}),(0,o.createVNode)(1,"div","ProgressBar__content",[f&&s,f&&p,!f&&(0,a.toFixed)(100*m)+"%"],0)],4)};t.ProgressBar=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var o=n(1),r=n(11),a=n(19);var i=function(e){var t=e.className,n=e.title,i=e.level,c=void 0===i?1:i,l=e.buttons,u=e.content,d=e.children,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","title","level","buttons","content","children"]),p=!(0,r.isFalsy)(n)||!(0,r.isFalsy)(l),m=!(0,r.isFalsy)(u)||!(0,r.isFalsy)(d);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Section","Section--level--"+c,t])},s,{children:[p&&(0,o.createVNode)(1,"div","Section__title",[(0,o.createVNode)(1,"span","Section__titleText",n,0),(0,o.createVNode)(1,"div","Section__buttons",l,0)],4),m&&(0,o.createVNode)(1,"div","Section__content",[u,d],0)]})))};t.Section=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Tab=t.Tabs=void 0;var o=n(1),r=n(11),a=n(19),i=n(114);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t=e,n=Array.isArray(t),o=0;for(t=n?t:t[Symbol.iterator]();;){var r;if(n){if(o>=t.length)break;r=t[o++]}else{if((o=t.next()).done)break;r=o.value}var a=r;if(!a.props||"Tab"!==a.props.__type__){var i=JSON.stringify(a,null,2);throw new Error(" only accepts children of type .This is what we received: "+i)}}},u=function(e){var t,n;function u(t){var n;return(n=e.call(this,t)||this).state={activeTabKey:null},n}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var d=u.prototype;return d.getActiveTab=function(){var e=this.state,t=this.props,n=(0,r.normalizeChildren)(t.children);l(n);var o=t.activeTab||e.activeTabKey,a=n.find((function(e){return(e.key||e.props.label)===o}));return a||(a=n[0],o=a&&(a.key||a.props.label)),{tabs:n,activeTab:a,activeTabKey:o}},d.render=function(){var e=this,t=this.props,n=t.className,l=t.vertical,u=(t.children,c(t,["className","vertical","children"])),d=this.getActiveTab(),s=d.tabs,p=d.activeTab,m=d.activeTabKey,f=null;return p&&(f=p.props.content||p.props.children),"function"==typeof f&&(f=f(m)),(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Tabs",l&&"Tabs--vertical",n])},u,{children:[(0,o.createVNode)(1,"div","Tabs__tabBox",s.map((function(t){var n=t.props,a=n.className,l=n.label,u=(n.content,n.children,n.onClick),d=n.highlight,s=c(n,["className","label","content","children","onClick","highlight"]),p=t.key||t.props.label,f=t.active||p===m;return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Button,Object.assign({className:(0,r.classes)(["Tabs__tab",f&&"Tabs__tab--active",d&&!f&&"color-yellow",a]),selected:f,color:"transparent",onClick:function(n){e.setState({activeTabKey:p}),u&&u(n,t)}},s,{children:l}),p))})),0),(0,o.createVNode)(1,"div","Tabs__content",f||null,0)]})))},u}(o.Component);t.Tabs=u;var d=function(e){return null};t.Tab=d,d.defaultProps={__type__:"Tab"},u.Tab=d},function(e,t,n){"use strict";t.__esModule=!0,t.TitleBar=void 0;var o=n(1),r=n(11),a=n(21),i=n(16),c=n(37),l=n(87),u=function(e){switch(e){case c.UI_INTERACTIVE:return"good";case c.UI_UPDATE:return"average";case c.UI_DISABLED:default:return"bad"}},d=function(e){var t=e.className,n=e.title,c=e.status,d=e.fancy,s=e.onDragStart,p=e.onClose;return(0,o.createVNode)(1,"div",(0,r.classes)(["TitleBar",t]),[(0,o.createComponentVNode)(2,l.Icon,{className:"TitleBar__statusIcon",color:u(c),name:"eye"}),(0,o.createVNode)(1,"div","TitleBar__title",n===n.toLowerCase()?(0,a.toTitleCase)(n):n,0),(0,o.createVNode)(1,"div","TitleBar__dragZone",null,1,{onMousedown:function(e){return d&&s(e)}}),!!d&&(0,o.createVNode)(1,"div","TitleBar__close TitleBar__clickable",i.tridentVersion<=4?"x":"\xd7",0,{onclick:p})],0)};t.TitleBar=d,d.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=void 0;var o=n(1),r=n(22),a=n(19),i=n(11),c=n(16);var l=function(e,t,n,o){if(0===e.length)return[];var a=(0,r.zipWith)(Math.min).apply(void 0,e),i=(0,r.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(a[0]=n[0],i[0]=n[1]),o!==undefined&&(a[1]=o[0],i[1]=o[1]),(0,r.map)((function(e){return(0,r.zipWith)((function(e,t,n,o){return(e-t)/(n-t)*o}))(e,a,i,t)}))(e)},u=function(e){for(var t="",n=0;n=0||(r[n]=e[n]);return r}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),g=this.state.viewBox,b=l(r,g,i,c);if(b.length>0){var N=b[0],v=b[b.length-1];b.push([g[0]+h,v[1]]),b.push([g[0]+h,-h]),b.push([-h,-h]),b.push([-h,N[1]])}var V=u(b);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({position:"relative"},C,{children:function(t){return(0,o.normalizeProps)((0,o.createVNode)(1,"div",null,(0,o.createVNode)(32,"svg",null,(0,o.createVNode)(32,"polyline",null,null,1,{transform:"scale(1, -1) translate(0, -"+g[1]+")",fill:s,stroke:m,"stroke-width":h,points:V}),2,{viewBox:"0 0 "+g[0]+" "+g[1],preserveAspectRatio:"none",style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"}}),2,Object.assign({},t),null,e.ref))}})))},r}(o.Component);d.defaultHooks=i.pureComponentHooks;var s={Line:c.tridentVersion<=4?function(e){return null}:d};t.Chart=s},function(e,t,n){"use strict";t.__esModule=!0,t.AiAirlock=void 0;var o=n(1),r=n(3),a=n(2);t.AiAirlock=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c={2:{color:"good",localStatusText:"Offline"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Optimal"}},l=c[i.power.main]||c[0],u=c[i.power.backup]||c[0],d=c[i.shock]||c[0];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main",color:l.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.main,content:"Disrupt",onClick:function(){return n("disrupt-main")}}),children:[i.power.main?"Online":"Offline"," ",i.wires.main_1&&i.wires.main_2?i.power.main_timeleft>0&&"["+i.power.main_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Backup",color:u.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.backup,content:"Disrupt",onClick:function(){return n("disrupt-backup")}}),children:[i.power.backup?"Online":"Offline"," ",i.wires.backup_1&&i.wires.backup_2?i.power.backup_timeleft>0&&"["+i.power.backup_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Electrify",color:d.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",disabled:!(i.wires.shock&&0===i.shock),content:"Restore",onClick:function(){return n("shock-restore")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Temporary",onClick:function(){return n("shock-temp")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Permanent",onClick:function(){return n("shock-perm")}})],4),children:[2===i.shock?"Safe":"Electrified"," ",(i.wires.shock?i.shock_timeleft>0&&"["+i.shock_timeleft+"s]":"[Wires have been cut!]")||-1===i.shock_timeleft&&"[Permanent]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access and Door Control",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID Scan",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.id_scanner?"power-off":"times",content:i.id_scanner?"Enabled":"Disabled",selected:i.id_scanner,disabled:!i.wires.id_scanner,onClick:function(){return n("idscan-toggle")}}),children:!i.wires.id_scanner&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Access",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.emergency?"power-off":"times",content:i.emergency?"Enabled":"Disabled",selected:i.emergency,onClick:function(){return n("emergency-toggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolts",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.locked?"lock":"unlock",content:i.locked?"Lowered":"Raised",selected:i.locked,disabled:!i.wires.bolts,onClick:function(){return n("bolt-toggle")}}),children:!i.wires.bolts&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolt Lights",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.lights?"power-off":"times",content:i.lights?"Enabled":"Disabled",selected:i.lights,disabled:!i.wires.lights,onClick:function(){return n("light-toggle")}}),children:!i.wires.lights&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Force Sensors",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.safe?"power-off":"times",content:i.safe?"Enabled":"Disabled",selected:i.safe,disabled:!i.wires.safe,onClick:function(){return n("safe-toggle")}}),children:!i.wires.safe&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Timing Safety",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.speed?"power-off":"times",content:i.speed?"Enabled":"Disabled",selected:i.speed,disabled:!i.wires.timing,onClick:function(){return n("speed-toggle")}}),children:!i.wires.timing&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Control",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.opened?"sign-out-alt":"sign-in-alt",content:i.opened?"Open":"Closed",selected:i.opened,disabled:i.locked||i.welded,onClick:function(){return n("open-close")}}),children:!(!i.locked&&!i.welded)&&(0,o.createVNode)(1,"span",null,[(0,o.createTextVNode)("[Door is "),i.locked?"bolted":"",i.locked&&i.welded?" and ":"",i.welded?"welded":"",(0,o.createTextVNode)("!]")],0)})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.AirAlarm=void 0;var o=n(1),r=n(18),a=n(21),i=n(3),c=n(2),l=n(37),u=n(69);t.AirAlarm=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.data,c=a.locked&&!a.siliconUser;return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.InterfaceLockNoticeBox,{siliconUser:a.siliconUser,locked:a.locked,onLockStatusChange:function(){return r("lock")}}),(0,o.createComponentVNode)(2,d,{state:t}),!c&&(0,o.createComponentVNode)(2,p,{state:t})],0)};var d=function(e){var t=(0,i.useBackend)(e).data,n=(t.environment_data||[]).filter((function(e){return e.value>=.01})),a={0:{color:"good",localStatusText:"Optimal"},1:{color:"average",localStatusText:"Caution"},2:{color:"bad",localStatusText:"Danger (Internals Required)"}},l=a[t.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.Section,{title:"Air Status",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[n.length>0&&(0,o.createFragment)([n.map((function(e){var t=a[e.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.name,color:t.color,children:[(0,r.toFixed)(e.value,2),e.unit]},e.name)})),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Local status",color:l.color,children:l.localStatusText}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Area status",color:t.atmos_alarm||t.fire_alarm?"bad":"good",children:(t.atmos_alarm?"Atmosphere Alarm":t.fire_alarm&&"Fire Alarm")||"Nominal"})],0)||(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Cannot obtain air sample for analysis."}),!!t.emagged&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Safety measures offline. Device may exhibit abnormal behavior."})]})})},s={home:{title:"Air Controls",component:function(){return m}},vents:{title:"Vent Controls",component:function(){return f}},scrubbers:{title:"Scrubber Controls",component:function(){return C}},modes:{title:"Operating Mode",component:function(){return b}},thresholds:{title:"Alarm Thresholds",component:function(){return N}}},p=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.config,l=s[a.screen]||s.home,u=l.component();return(0,o.createComponentVNode)(2,c.Section,{title:l.title,buttons:"home"!==a.screen&&(0,o.createComponentVNode)(2,c.Button,{icon:"arrow-left",content:"Back",onClick:function(){return r("tgui:view",{screen:"home"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},m=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data,a=r.mode,l=r.atmos_alarm;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:l?"exclamation-triangle":"exclamation",color:l&&"caution",content:"Area Atmosphere Alarm",onClick:function(){return n(l?"reset":"alarm")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:3===a?"exclamation-triangle":"exclamation",color:3===a&&"danger",content:"Panic Siphon",onClick:function(){return n("mode",{mode:3===a?1:3})}}),(0,o.createComponentVNode)(2,c.Box,{mt:2}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"Vent Controls",onClick:function(){return n("tgui:view",{screen:"vents"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"filter",content:"Scrubber Controls",onClick:function(){return n("tgui:view",{screen:"scrubbers"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"cog",content:"Operating Mode",onClick:function(){return n("tgui:view",{screen:"modes"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"chart-bar",content:"Alarm Thresholds",onClick:function(){return n("tgui:view",{screen:"thresholds"})}})],4)},f=function(e){var t=e.state,n=(0,i.useBackend)(e).data.vents;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},h=function(e){var t=e.id_tag,n=e.long_name,r=e.power,l=e.checks,u=e.excheck,d=e.incheck,s=e.direction,p=e.external,m=e.internal,f=e.extdefault,h=e.intdefault,C=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(n),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:r?"power-off":"times",selected:r,content:r?"On":"Off",onClick:function(){return C("power",{id_tag:t,val:Number(!r)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:"release"===s?"Pressurizing":"Releasing"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"sign-in-alt",content:"Internal",selected:d,onClick:function(){return C("incheck",{id_tag:t,val:l})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"External",selected:u,onClick:function(){return C("excheck",{id_tag:t,val:l})}})]}),!!d&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Internal Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(m),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_internal_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:h,content:"Reset",onClick:function(){return C("reset_internal_pressure",{id_tag:t})}})]}),!!u&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"External Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(p),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_external_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:f,content:"Reset",onClick:function(){return C("reset_external_pressure",{id_tag:t})}})]})]})})},C=function(e){var t=e.state,n=(0,i.useBackend)(e).data.scrubbers;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,g,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},g=function(e){var t=e.long_name,n=e.power,r=e.scrubbing,u=e.id_tag,d=e.widenet,s=e.filter_types,p=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(t),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:n?"power-off":"times",content:n?"On":"Off",selected:n,onClick:function(){return p("power",{id_tag:u,val:Number(!n)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:[(0,o.createComponentVNode)(2,c.Button,{icon:r?"filter":"sign-in-alt",color:r||"danger",content:r?"Scrubbing":"Siphoning",onClick:function(){return p("scrubbing",{id_tag:u,val:Number(!r)})}}),(0,o.createComponentVNode)(2,c.Button,{icon:d?"expand":"compress",selected:d,content:d?"Expanded range":"Normal range",onClick:function(){return p("widenet",{id_tag:u,val:Number(!d)})}})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Filters",children:r&&s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,l.getGasLabel)(e.gas_id,e.gas_name),title:e.gas_name,selected:e.enabled,onClick:function(){return p("toggle_filter",{id_tag:u,val:e.gas_id})}},e.gas_id)}))||"N/A"})]})})},b=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data.modes;return r&&0!==r.length?r.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:e.selected?"check-square-o":"square-o",selected:e.selected,color:e.selected&&e.danger&&"danger",content:e.name,onClick:function(){return n("mode",{mode:e.mode})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1})],4,e.mode)})):"Nothing to show"},N=function(e){var t=(0,i.useBackend)(e),n=t.act,a=t.data.thresholds;return(0,o.createVNode)(1,"table","LabeledList",[(0,o.createVNode)(1,"thead",null,(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","color-bad","min2",16),(0,o.createVNode)(1,"td","color-average","min1",16),(0,o.createVNode)(1,"td","color-average","max1",16),(0,o.createVNode)(1,"td","color-bad","max2",16)],4),2),(0,o.createVNode)(1,"tbody",null,a.map((function(e){return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td","LabeledList__label",e.name,0),e.settings.map((function(e){return(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,c.Button,{content:(0,r.toFixed)(e.selected,2),onClick:function(){return n("threshold",{env:e.env,"var":e.val})}}),2,null,e.val)}))],0,null,e.name)})),0)],4,{style:{width:"100%"}})}},function(e,t,n){"use strict";t.__esModule=!0,t.AirlockElectronics=void 0;var o=n(1),r=n(3),a=n(2);t.AirlockElectronics=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.regions||[],l={0:{icon:"times-circle"},1:{icon:"stop-circle"},2:{icon:"check-circle"}};return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Main",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access Required",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.oneAccess?"unlock":"lock",content:i.oneAccess?"One":"All",onClick:function(){return n("one_access")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mass Modify",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"check-double",content:"Grant All",onClick:function(){return n("grant_all")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Clear All",onClick:function(){return n("clear_all")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Unrestricted Access",children:[(0,o.createComponentVNode)(2,a.Button,{icon:1&i.unres_direction?"check-square-o":"square-o",content:"North",selected:1&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"1"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:2&i.unres_direction?"check-square-o":"square-o",content:"East",selected:2&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"2"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:4&i.unres_direction?"check-square-o":"square-o",content:"South",selected:4&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"4"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:8&i.unres_direction?"check-square-o":"square-o",content:"West",selected:8&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"8"})}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access",children:(0,o.createComponentVNode)(2,a.Box,{height:"261px",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:c.map((function(e){var t=e.name,r=e.accesses||[],i=l[function(e){var t=!1,n=!1;return e.forEach((function(e){e.req?t=!0:n=!0})),!t&&n?0:t&&n?1:2}(r)].icon;return(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:i,label:t,children:function(){return r.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:e.req?"check-square-o":"square-o",content:e.name,selected:e.req,onClick:function(){return n("set",{access:e.id})}})},e.id)}))}},t)}))})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Apc=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Apc=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u={2:{color:"good",externalPowerText:"External Power",chargingText:"Fully Charged"},1:{color:"average",externalPowerText:"Low External Power",chargingText:"Charging"},0:{color:"bad",externalPowerText:"No External Power",chargingText:"Not Charging"}},d={1:{icon:"terminal",content:"Override Programming",action:"hack"},2:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"},3:{icon:"caret-square-left",content:"Return to Main Core",action:"deoccupy"},4:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"}},s=u[c.externalPower]||u[0],p=u[c.chargingStatus]||u[0],m=c.powerChannels||[],f=d[c.malfStatus]||d[0],h=c.powerCellStatus/100;return c.failTime>0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createVNode)(1,"b",null,(0,o.createVNode)(1,"h3",null,"SYSTEM FAILURE",16),2),(0,o.createVNode)(1,"i",null,"I/O regulators malfunction detected! Waiting for system reboot...",16),(0,o.createVNode)(1,"br"),"Automatic reboot in ",c.failTime," seconds...",(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reboot Now",onClick:function(){return n("reboot")}})]}):(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:c.siliconUser,locked:c.locked,onLockStatusChange:function(){return n("lock")}}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main Breaker",color:s.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",content:c.isOperating?"On":"Off",selected:c.isOperating&&!l,disabled:l,onClick:function(){return n("breaker")}}),children:["[ ",s.externalPowerText," ]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power Cell",children:(0,o.createComponentVNode)(2,a.ProgressBar,{color:"good",value:h})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",color:p.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.chargeMode?"sync":"close",content:c.chargeMode?"Auto":"Off",disabled:l,onClick:function(){return n("charge")}}),children:["[ ",p.chargingText," ]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Channels",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[m.map((function(e){var t=e.topicParams;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.title,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,mx:2,color:e.status>=2?"good":"bad",children:e.status>=2?"On":"Off"}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:!l&&(1===e.status||3===e.status),disabled:l,onClick:function(){return n("channel",t.auto)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:"On",selected:!l&&2===e.status,disabled:l,onClick:function(){return n("channel",t.on)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:!l&&0===e.status,disabled:l,onClick:function(){return n("channel",t.off)}})],4),children:e.powerLoad},e.title)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Load",children:(0,o.createVNode)(1,"b",null,c.totalLoad,0)})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Misc",buttons:!!c.siliconUser&&(0,o.createFragment)([!!c.malfStatus&&(0,o.createComponentVNode)(2,a.Button,{icon:f.icon,content:f.content,color:"bad",onClick:function(){return n(f.action)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){return n("overload")}})],0),children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cover Lock",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.coverLocked?"lock":"unlock",content:c.coverLocked?"Engaged":"Disengaged",disabled:l,onClick:function(){return n("cover")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.emergencyLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("emergency_lighting")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.nightshiftLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("toggle_nightshift")}})})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosAlertConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.priority||[],l=i.minor||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Alarms",children:(0,o.createVNode)(1,"ul",null,[c.length>0?c.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"bad",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Priority Alerts",16),l.length>0?l.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"average",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Minor Alerts",16)],0)})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosControlConsole=void 0;var o=n(1),r=n(22),a=n(18),i=n(3),c=n(2);t.AtmosControlConsole=function(e){var t=(0,i.useBackend)(e),n=t.act,l=t.data,u=l.sensors||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:!!l.tank&&u[0].long_name,children:u.map((function(e){var t=e.gases||{};return(0,o.createComponentVNode)(2,c.Section,{title:!l.tank&&e.long_name,level:2,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure",children:(0,a.toFixed)(e.pressure,2)+" kPa"}),!!e.temperature&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Temperature",children:(0,a.toFixed)(e.temperature,2)+" K"}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:t,children:(0,a.toFixed)(e,2)+"%"})}))(t)]})},e.id_tag)}))}),l.tank&&(0,o.createComponentVNode)(2,c.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"undo",content:"Reconnect",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Injector",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.inputting?"power-off":"times",content:l.inputting?"Injecting":"Off",selected:l.inputting,onClick:function(){return n("input")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Rate",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:l.inputRate,unit:"L/s",width:"63px",minValue:0,maxValue:200,suppressFlicker:2e3,onChange:function(e,t){return n("rate",{rate:t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Regulator",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.outputting?"power-off":"times",content:l.outputting?"Open":"Closed",selected:l.outputting,onClick:function(){return n("output")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Pressure",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:parseFloat(l.outputPressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,suppressFlicker:2e3,onChange:function(e,t){return n("pressure",{pressure:t})}})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosFilter=void 0;var o=n(1),r=n(3),a=n(2),i=n(37);t.AtmosFilter=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.filter_types||[];return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(c.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onDrag:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:c.rate===c.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Filter",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:e.selected,content:(0,i.getGasLabel)(e.id,e.name),onClick:function(){return n("filter",{mode:e.id})}},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosMixer=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosMixer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.set_pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.set_pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 1",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node1_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node1",{concentration:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 2",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node2_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node2",{concentration:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosPump=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosPump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),i.max_rate?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onChange:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.rate===i.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}):(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BankMachine=void 0;var o=n(1),r=n(3),a=n(2);t.BankMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.current_balance,l=i.siphoning,u=i.station_name;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:u+" Vault",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Balance",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"times":"sync",content:l?"Stop Siphoning":"Siphon Credits",selected:l,onClick:function(){return n(l?"halt":"siphon")}}),children:c+" cr"})})}),(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Authorized personnel only"})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BlackmarketUplink=void 0;var o=n(1),r=n(22),a=n(3),i=n(2);t.BlackmarketUplink=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.categories||[],u=c.delivery_methods||[],d=c.delivery_method_description||[],s=c.markets||{},p=c.items||{},m=!!c.buying&&(0,o.createComponentVNode)(2,i.Dimmer,{textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Grid,{mt:20,children:(0,r.map)((function(e){var t=e.name;return"LTSRBT"!==t||c.ltsrbt_built?(0,o.createComponentVNode)(2,i.Grid.Column,{textAlign:"center",position:"relative",children:[(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{fontSize:"30px",children:t}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:d[t]})]}),(0,o.createComponentVNode)(2,i.Button,{content:e.price+" cr",mt:1,disabled:c.moneyc.money,onClick:function(){return n("select",{item:e.id})}})})]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.desc})})]},e.name)}))},e)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.BluespaceArtillery=void 0;var o=n(1),r=n(3),a=n(2);t.BluespaceArtillery=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.notice,l=i.connected,u=i.unlocked,d=i.target;return(0,o.createFragment)([!!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:c}),l?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"crosshairs",disabled:!u,onClick:function(){return n("recalibrate")}}),children:(0,o.createComponentVNode)(2,a.Box,{color:d?"average":"bad",fontSize:"25px",children:d||"No Target Set"})}),(0,o.createComponentVNode)(2,a.Section,{children:u?(0,o.createComponentVNode)(2,a.Box,{style:{margin:"auto"},children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"FIRE",color:"bad",disabled:!d,fontSize:"30px",textAlign:"center",lineHeight:"46px",onClick:function(){return n("fire")}})}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{color:"bad",fontSize:"18px",children:"Bluespace artillery is currently locked."}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"Awaiting authorization via keycard reader from at minimum two station heads."})],4)})],4):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Maintenance",children:(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",content:"Complete Deployment",onClick:function(){return n("build")}})})})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Bepis=void 0;var o=n(1),r=(n(21),n(16)),a=n(2);t.Bepis=function(e){var t=e.state,n=t.config,i=t.data,c=n.ref,l=i.amount;return(0,o.createComponentVNode)(2,a.Section,{title:"Business Exploration Protocol Incubation Sink",children:[(0,o.createComponentVNode)(2,a.Section,{title:"Information",backgroundColor:"#450F44",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.manual_power?"Off":"On",selected:!i.manual_power,onClick:function(){return(0,r.act)(c,"toggle_power")}}),children:"All you need to know about the B.E.P.I.S. and you! The B.E.P.I.S. performs hundreds of tests a second using electrical and financial resources to invent new products, or discover new technologies otherwise overlooked for being too risky or too niche to produce!"}),(0,o.createComponentVNode)(2,a.Section,{title:"Payer's Account",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"redo-alt",content:"Reset Account",onClick:function(){return(0,r.act)(c,"account_reset")}}),children:["Console is currently being operated by ",i.account_owner?i.account_owner:"no one","."]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Stored Data and Statistics",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposited Credits",children:i.stored_cash}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Investment Variability",children:[i.accuracy_percentage,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Innovation Bonus",children:i.positive_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Risk Offset",color:"bad",children:i.negative_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposit Amount",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:l,unit:"Credits",minValue:100,maxValue:3e4,step:100,stepPixelSize:2,onChange:function(e,t){return(0,r.act)(c,"amount",{amount:t})}})})]})}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"donate",content:"Deposit Credits",disabled:1===i.manual_power||1===i.silicon_check,onClick:function(){return(0,r.act)(c,"deposit_cash")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Withdraw Credits",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"withdraw_cash")}})]})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Market Data and Analysis",children:[(0,o.createComponentVNode)(2,a.Box,{children:["Average technology cost: ",i.mean_value]}),i.error_name&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Previous Failure Reason: Deposited cash value too low. Please insert more money for future success."}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"microscope",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"begin_experiment")},content:"Begin Testing"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BorgPanel=void 0;var o=n(1),r=n(3),a=n(2);t.BorgPanel=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.borg||{},l=i.cell||{},u=l.charge/l.maxcharge,d=i.channels||[],s=i.modules||[],p=i.upgrades||[],m=i.ais||[],f=i.laws||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:c.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Rename",onClick:function(){return n("rename")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.emagged?"check-square-o":"square-o",content:"Emagged",selected:c.emagged,onClick:function(){return n("toggle_emagged")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.lockdown?"check-square-o":"square-o",content:"Locked Down",selected:c.lockdown,onClick:function(){return n("toggle_lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.scrambledcodes?"check-square-o":"square-o",content:"Scrambled Codes",selected:c.scrambledcodes,onClick:function(){return n("toggle_scrambledcodes")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge",children:[l.missing?(0,o.createVNode)(1,"span","color-bad","No cell installed",16):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,content:l.charge+" / "+l.maxcharge}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("set_charge")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Change",onClick:function(){return n("change_cell")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:"Remove",color:"bad",onClick:function(){return n("remove_cell")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radio Channels",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_radio",{channel:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Module",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:c.active_module===e.type?"check-square-o":"square-o",content:e.name,selected:c.active_module===e.type,onClick:function(){return n("setmodule",{module:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Upgrades",children:p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_upgrade",{upgrade:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Master AI",children:m.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.connected?"check-square-o":"square-o",content:e.name,selected:e.connected,onClick:function(){return n("slavetoai",{slavetoai:e.ref})}},e.ref)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Laws",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.lawupdate?"check-square-o":"square-o",content:"Lawsync",selected:c.lawupdate,onClick:function(){return n("toggle_lawupdate")}}),children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BrigTimer=void 0;var o=n(1),r=n(3),a=n(2);t.BrigTimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Cell Timer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:i.timing?"Stop":"Start",selected:i.timing,onClick:function(){return n(i.timing?"stop":"start")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:i.flash_charging?"Recharging":"Flash",disabled:i.flash_charging,onClick:function(){return n("flash")}})],4),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return n("time",{adjust:-600})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return n("time",{adjust:-100})}})," ",String(i.minutes).padStart(2,"0"),":",String(i.seconds).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return n("time",{adjust:100})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return n("time",{adjust:600})}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Short",onClick:function(){return n("preset",{preset:"short"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Medium",onClick:function(){return n("preset",{preset:"medium"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Long",onClick:function(){return n("preset",{preset:"long"})}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Canister=void 0;var o=n(1),r=n(3),a=n(2);t.Canister=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:["The regulator ",i.hasHoldingTank?"is":"is not"," connected to a tank."]}),(0,o.createComponentVNode)(2,a.Section,{title:"Canister",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Relabel",onClick:function(){return n("relabel")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.tankPressure})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:i.portConnected?"good":"average",content:i.portConnected?"Connected":"Not Connected"}),!!i.isPrototype&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.restricted?"lock":"unlock",color:"caution",content:i.restricted?"Restricted to Engineering":"Public",onClick:function(){return n("restricted")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Valve",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Release Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.releasePressure/(i.maxReleasePressure-i.minReleasePressure),children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.releasePressure})," kPa"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"undo",disabled:i.releasePressure===i.defaultReleasePressure,content:"Reset",onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:i.releasePressure<=i.minReleasePressure,content:"Min",onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("pressure",{pressure:"input"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:i.releasePressure>=i.maxReleasePressure,content:"Max",onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Valve",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.valveOpen?"unlock":"lock",color:i.valveOpen?i.hasHoldingTank?"caution":"danger":null,content:i.valveOpen?"Open":"Closed",onClick:function(){return n("valve")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",buttons:!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",color:i.valveOpen&&"danger",content:"Eject",onClick:function(){return n("eject")}}),children:[!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:i.holdingTank.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.holdingTank.tankPressure})," kPa"]})]}),!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Holding Tank"})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CargoExpress=t.Cargo=void 0;var o=n(1),r=n(22),a=n(16),i=n(2),c=n(69);t.Cargo=function(e){var t=e.state,n=t.config,r=t.data,c=n.ref,s=r.supplies||{},p=r.requests||[],m=r.cart||[],f=m.reduce((function(e,t){return e+t.cost}),0),h=!r.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:1,children:[0===m.length&&"Cart is empty",1===m.length&&"1 item",m.length>=2&&m.length+" items"," ",f>0&&"("+f+" cr)"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"transparent",content:"Clear",onClick:function(){return(0,a.act)(c,"clear")}})],4);return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle",children:r.docked&&!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{content:r.location,onClick:function(){return(0,a.act)(c,"send")}})||r.location}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"CentCom Message",children:r.message}),r.loan&&!r.requestonly?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Loan",children:r.loan_dispatched?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Loaned to Centcom"}):(0,o.createComponentVNode)(2,i.Button,{content:"Loan Shuttle",disabled:!(r.away&&r.docked),onClick:function(){return(0,a.act)(c,"loan")}})}):""]})}),(0,o.createComponentVNode)(2,i.Tabs,{mt:2,children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Catalog",icon:"list",lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Catalog",buttons:(0,o.createFragment)([h,(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:r.self_paid?"check-square-o":"square-o",content:"Buy Privately",selected:r.self_paid,onClick:function(){return(0,a.act)(c,"toggleprivate")}})],0),children:(0,o.createComponentVNode)(2,l,{state:t,supplies:s})})}},"catalog"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Requests ("+p.length+")",icon:"envelope",highlight:p.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Active Requests",buttons:!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Clear",color:"transparent",onClick:function(){return(0,a.act)(c,"denyall")}}),children:(0,o.createComponentVNode)(2,u,{state:t,requests:p})})}},"requests"),!r.requestonly&&(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Checkout ("+m.length+")",icon:"shopping-cart",highlight:m.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Current Cart",buttons:h,children:(0,o.createComponentVNode)(2,d,{state:t,cart:m})})}},"cart")]})],4)};var l=function(e){var t=e.state,n=e.supplies,c=t.config,l=t.data,u=c.ref,d=function(e){var t=n[e].packs;return(0,o.createVNode)(1,"table","LabeledList",t.map((function(e){return(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[e.name,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.small_item&&(0,o.createFragment)([(0,o.createTextVNode)("Small Item")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.access&&(0,o.createFragment)([(0,o.createTextVNode)("Restrictions Apply")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:(l.self_paid?Math.round(1.1*e.cost):e.cost)+" credits",tooltip:e.desc,tooltipPosition:"left",onClick:function(){return(0,a.act)(u,"add",{id:e.id})}}),2)],4,null,e.name)})),0)};return(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e){var t=e.name;return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:t,children:d},t)}))(n)})},u=function(e){var t=e.state,n=e.requests,r=t.config,c=t.data,l=r.ref;return 0===n.length?(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"No Requests"}):(0,o.createVNode)(1,"table","LabeledList",n.map((function(e){return(0,o.createFragment)([(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[(0,o.createTextVNode)("#"),e.id,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__content",e.object,0),(0,o.createVNode)(1,"td","LabeledList__cell",[(0,o.createTextVNode)("By "),(0,o.createVNode)(1,"b",null,e.orderer,0)],4),(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createVNode)(1,"i",null,e.reason,0),2),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",[e.cost,(0,o.createTextVNode)(" credits"),(0,o.createTextVNode)(" "),!c.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"check",color:"good",onClick:function(){return(0,a.act)(l,"approve",{id:e.id})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"bad",onClick:function(){return(0,a.act)(l,"deny",{id:e.id})}})],4)],0)],4)],4,e.id)})),0)},d=function(e){var t=e.state,n=e.cart,r=t.config,c=t.data,l=r.ref;return(0,o.createFragment)([0===n.length&&"Nothing in cart",n.length>0&&(0,o.createComponentVNode)(2,i.LabeledList,{children:n.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{className:"candystripe",label:"#"+e.id,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:2,children:[!!e.paid&&(0,o.createVNode)(1,"b",null,"[Paid Privately]",16)," ",e.cost," credits"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus",onClick:function(){return(0,a.act)(l,"remove",{id:e.id})}})],4),children:e.object},e.id)}))}),n.length>0&&!c.requestonly&&(0,o.createComponentVNode)(2,i.Box,{mt:2,children:1===c.away&&1===c.docked&&(0,o.createComponentVNode)(2,i.Button,{color:"green",style:{"line-height":"28px",padding:"0 12px"},content:"Confirm the order",onClick:function(){return(0,a.act)(l,"send")}})||(0,o.createComponentVNode)(2,i.Box,{opacity:.5,children:["Shuttle in ",c.location,"."]})})],0)};t.CargoExpress=function(e){var t=e.state,n=t.config,r=t.data,u=n.ref,d=r.supplies||{};return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.InterfaceLockNoticeBox,{siliconUser:r.siliconUser,locked:r.locked,onLockStatusChange:function(){return(0,a.act)(u,"lock")},accessText:"a QM-level ID card"}),!r.locked&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo Express",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Landing Location",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Cargo Bay",selected:!r.usingBeacon,onClick:function(){return(0,a.act)(u,"LZCargo")}}),(0,o.createComponentVNode)(2,i.Button,{selected:r.usingBeacon,disabled:!r.hasBeacon,onClick:function(){return(0,a.act)(u,"LZBeacon")},children:[r.beaconzone," (",r.beaconName,")"]}),(0,o.createComponentVNode)(2,i.Button,{content:r.printMsg,disabled:!r.canBuyBeacon,onClick:function(){return(0,a.act)(u,"printBeacon")}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Notice",children:r.message})]})}),(0,o.createComponentVNode)(2,l,{state:t,supplies:d})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.CellularEmporium=void 0;var o=n(1),r=n(3),a=n(2);t.CellularEmporium=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.abilities;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Genetic Points",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Readapt",disabled:!i.can_readapt,onClick:function(){return n("readapt")}}),children:i.genetic_points_remaining})})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{className:"candystripe",label:e.name,buttons:(0,o.createFragment)([e.dna_cost," ",(0,o.createComponentVNode)(2,a.Button,{content:e.owned?"Evolved":"Evolve",selected:e.owned,onClick:function(){return n("evolve",{name:e.name})}})],0),children:[e.desc,(0,o.createComponentVNode)(2,a.Box,{color:"good",children:e.helptext})]},e.name)}))})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CentcomPodLauncher=void 0;var o=n(1),r=(n(21),n(3)),a=n(2);t.CentcomPodLauncher=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:"To use this, simply spawn the atoms you want in one of the five Centcom Supplypod Bays. Items in the bay will then be launched inside your supplypod, one turf-full at a time! You can optionally use the following buttons to configure how the supplypod acts."}),(0,o.createComponentVNode)(2,a.Section,{title:"Centcom Pod Customization (To be used against Helen Weinstein)",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Supply Bay",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bay #1",selected:1===i.bayNumber,onClick:function(){return n("bay1")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #2",selected:2===i.bayNumber,onClick:function(){return n("bay2")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #3",selected:3===i.bayNumber,onClick:function(){return n("bay3")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #4",selected:4===i.bayNumber,onClick:function(){return n("bay4")}}),(0,o.createComponentVNode)(2,a.Button,{content:"ERT Bay",selected:5===i.bayNumber,tooltip:"This bay is located on the western edge of CentCom. Its the\nglass room directly west of where ERT spawn, and south of the\nCentCom ferry. Useful for launching ERT/Deathsquads/etc. onto\nthe station via drop pods.",onClick:function(){return n("bay5")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleport to",children:[(0,o.createComponentVNode)(2,a.Button,{content:i.bay,onClick:function(){return n("teleportCentcom")}}),(0,o.createComponentVNode)(2,a.Button,{content:i.oldArea?i.oldArea:"Where you were",disabled:!i.oldArea,onClick:function(){return n("teleportBack")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Clone Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:"Launch Clones",selected:i.launchClone,tooltip:"Choosing this will create a duplicate of the item to be\nlaunched in Centcom, allowing you to send one type of item\nmultiple times. Either way, the atoms are forceMoved into\nthe supplypod after it lands (but before it opens).",onClick:function(){return n("launchClone")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Launch style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Ordered",selected:1===i.launchChoice,tooltip:'Instead of launching everything in the bay at once, this\nwill "scan" things (one turf-full at a time) in order, left\nto right and top to bottom. undoing will reset the "scanner"\nto the top-leftmost position.',onClick:function(){return n("launchOrdered")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Random",selected:2===i.launchChoice,tooltip:"Instead of launching everything in the bay at once, this\nwill launch one random turf of items at a time.",onClick:function(){return n("launchRandom")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Explosion",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Size",selected:1===i.explosionChoice,tooltip:"This will cause an explosion of whatever size you like\n(including flame range) to occur as soon as the supplypod\nlands. Dont worry, supply-pods are explosion-proof!",onClick:function(){return n("explosionCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Adminbus",selected:2===i.explosionChoice,tooltip:"This will cause a maxcap explosion (dependent on server\nconfig) to occur as soon as the supplypod lands. Dont worry,\nsupply-pods are explosion-proof!",onClick:function(){return n("explosionBus")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Damage",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Damage",selected:1===i.damageChoice,tooltip:"Anyone caught under the pod when it lands will be dealt\nthis amount of brute damage. Sucks to be them!",onClick:function(){return n("damageCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gib",selected:2===i.damageChoice,tooltip:"This will attempt to gib any mob caught under the pod when\nit lands, as well as dealing a nice 5000 brute damage. Ya\nknow, just to be sure!",onClick:function(){return n("damageGib")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Effects",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Stun",selected:i.effectStun,tooltip:"Anyone who is on the turf when the supplypod is launched\nwill be stunned until the supplypod lands. They cant get\naway that easy!",onClick:function(){return n("effectStun")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Delimb",selected:i.effectLimb,tooltip:"This will cause anyone caught under the pod to lose a limb,\nexcluding their head.",onClick:function(){return n("effectLimb")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Yeet Organs",selected:i.effectOrgans,tooltip:"This will cause anyone caught under the pod to lose all\ntheir limbs and organs in a spectacular fashion.",onClick:function(){return n("effectOrgans")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Movement",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bluespace",selected:i.effectBluespace,tooltip:"Gives the supplypod an advanced Bluespace Recyling Device.\nAfter opening, the supplypod will be warped directly to the\nsurface of a nearby NT-designated trash planet (/r/ss13).",onClick:function(){return n("effectBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Stealth",selected:i.effectStealth,tooltip:'This hides the red target icon from appearing when you\nlaunch the supplypod. Combos well with the "Invisible"\nstyle. Sneak attack, go!',onClick:function(){return n("effectStealth")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Quiet",selected:i.effectQuiet,tooltip:"This will keep the supplypod from making any sounds, except\nfor those specifically set by admins in the Sound section.",onClick:function(){return n("effectQuiet")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Reverse Mode",selected:i.effectReverse,tooltip:"This pod will not send any items. Instead, after landing,\nthe supplypod will close (similar to a normal closet closing),\nand then launch back to the right centcom bay to drop off any\nnew contents.",onClick:function(){return n("effectReverse")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile Mode",selected:i.effectMissile,tooltip:"This pod will not send any items. Instead, it will immediately\ndelete after landing (Similar visually to setting openDelay\n& departDelay to 0, but this looks nicer). Useful if you just\nwanna fuck some shit up. Combos well with the Missile style.",onClick:function(){return n("effectMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Any Descent Angle",selected:i.effectCircle,tooltip:"This will make the supplypod come in from any angle. Im not\nsure why this feature exists, but here it is.",onClick:function(){return n("effectCircle")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Machine Gun Mode",selected:i.effectBurst,tooltip:"This will make each click launch 5 supplypods inaccuratly\naround the target turf (a 3x3 area). Combos well with the\nMissile Mode if you dont want shit lying everywhere after.",onClick:function(){return n("effectBurst")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Specific Target",selected:i.effectTarget,tooltip:"This will make the supplypod target a specific atom, instead\nof the mouses position. Smiting does this automatically!",onClick:function(){return n("effectTarget")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name/Desc",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Name/Desc",selected:i.effectName,tooltip:"Allows you to add a custom name and description.",onClick:function(){return n("effectName")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Alert Ghosts",selected:i.effectAnnounce,tooltip:"Alerts ghosts when a pod is launched. Useful if some dumb\nshit is aboutta come outta the pod.",onClick:function(){return n("effectAnnounce")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sound",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Sound",selected:i.fallingSound,tooltip:"Choose a sound to play as the pod falls. Note that for this\nto work right you should know the exact length of the sound,\nin seconds.",onClick:function(){return n("fallSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Sound",selected:i.landingSound,tooltip:"Choose a sound to play when the pod lands.",onClick:function(){return n("landingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Sound",selected:i.openingSound,tooltip:"Choose a sound to play when the pod opens.",onClick:function(){return n("openingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Sound",selected:i.leavingSound,tooltip:"Choose a sound to play when the pod departs (whether that be\ndelection in the case of a bluespace pod, or leaving for\ncentcom for a reversing pod).",onClick:function(){return n("leavingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Admin Sound Volume",selected:i.soundVolume,tooltip:"Choose the volume for the sound to play at. Default values\nare between 1 and 100, but hey, do whatever. Im a tooltip,\nnot a cop.",onClick:function(){return n("soundVolume")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Timers",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Duration",selected:4!==i.fallDuration,tooltip:"Set how long the animation for the pod falling lasts. Create\ndramatic, slow falling pods!",onClick:function(){return n("fallDuration")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Time",selected:20!==i.landingDelay,tooltip:"Choose the amount of time it takes for the supplypod to hit\nthe station. By default this value is 0.5 seconds.",onClick:function(){return n("landingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Time",selected:30!==i.openingDelay,tooltip:"Choose the amount of time it takes for the supplypod to open\nafter landing. Useful for giving whatevers inside the pod a\nnice dramatic entrance! By default this value is 3 seconds.",onClick:function(){return n("openingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Time",selected:30!==i.departureDelay,tooltip:"Choose the amount of time it takes for the supplypod to leave\nafter landing. By default this value is 3 seconds.",onClick:function(){return n("departureDelay")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.styleChoice,tooltip:"Same color scheme as the normal station-used supplypods",onClick:function(){return n("styleStandard")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.styleChoice,tooltip:"The same as the stations upgraded blue-and-white\nBluespace Supplypods",onClick:function(){return n("styleBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate",selected:4===i.styleChoice,tooltip:"A menacing black and blood-red. Great for sending meme-ops\nin style!",onClick:function(){return n("styleSyndie")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Deathsquad",selected:5===i.styleChoice,tooltip:"A menacing black and dark blue. Great for sending deathsquads\nin style!",onClick:function(){return n("styleBlue")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Cult Pod",selected:6===i.styleChoice,tooltip:"A blood and rune covered cult pod!",onClick:function(){return n("styleCult")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile",selected:7===i.styleChoice,tooltip:"A large missile. Combos well with a missile mode, so the\nmissile doesnt stick around after landing.",onClick:function(){return n("styleMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate Missile",selected:8===i.styleChoice,tooltip:"A large blood-red missile. Combos well with missile mode,\nso the missile doesnt stick around after landing.",onClick:function(){return n("styleSMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Supply Crate",selected:9===i.styleChoice,tooltip:"A large, dark-green military supply crate.",onClick:function(){return n("styleBox")}}),(0,o.createComponentVNode)(2,a.Button,{content:"HONK",selected:10===i.styleChoice,tooltip:"A colorful, clown inspired look.",onClick:function(){return n("styleHONK")}}),(0,o.createComponentVNode)(2,a.Button,{content:"~Fruit",selected:11===i.styleChoice,tooltip:"For when an orange is angry",onClick:function(){return n("styleFruit")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Invisible",selected:12===i.styleChoice,tooltip:'Makes the supplypod invisible! Useful for when you want to\nuse this feature with a gateway or something. Combos well\nwith the "Stealth" and "Quiet Landing" effects.',onClick:function(){return n("styleInvisible")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gondola",selected:13===i.styleChoice,tooltip:"This gondola can control when he wants to deliver his supplies\nif he has a smart enough mind, so offer up his body to ghosts\nfor maximum enjoyment. (Make sure to turn off bluespace and\nset a arbitrarily high open-time if you do!",onClick:function(){return n("styleGondola")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Show Contents (See Through Pod)",selected:14===i.styleChoice,tooltip:"By selecting this, the pod will instead look like whatevers\ninside it (as if it were the contents falling by themselves,\nwithout a pod). Useful for launching mechs at the station\nand standing tall as they soar in from the heavens.",onClick:function(){return n("styleSeeThrough")}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:i.numObjects+" turfs in "+i.bay,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"undo Pody Bay",tooltip:"Manually undoes the possible things to launch in the\npod bay.",onClick:function(){return n("undo")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Enter Launch Mode",selected:i.giveLauncher,tooltip:"THE CODEX ASTARTES CALLS THIS MANEUVER: STEEL RAIN",onClick:function(){return n("giveLauncher")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Clear Selected Bay",color:"bad",tooltip:"This will delete all objs and mobs from the selected bay.",tooltipPosition:"left",onClick:function(){return n("clearBay")}})],4)})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemAcclimator=void 0;var o=n(1),r=n(3),a=n(2);t.ChemAcclimator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Acclimator",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:[i.chem_temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.target_temperature,unit:"K",width:"59px",minValue:0,maxValue:1e3,step:5,stepPixelSize:2,onChange:function(e,t){return n("set_target_temperature",{temperature:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Acceptable Temp. Difference",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.allowed_temperature_difference,unit:"K",width:"59px",minValue:1,maxValue:i.target_temperature,stepPixelSize:2,onChange:function(e,t){n("set_allowed_temperature_difference",{temperature:t})}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.enabled?"On":"Off",selected:i.enabled,onClick:function(){return n("toggle_power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.max_volume,unit:"u",width:"50px",minValue:i.reagent_volume,maxValue:200,step:2,stepPixelSize:2,onChange:function(e,t){return n("change_volume",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Operation",children:i.acclimate_state}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current State",children:i.emptying?"Emptying":"Filling"})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDebugSynthesizer=void 0;var o=n(1),r=n(3),a=n(2);t.ChemDebugSynthesizer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.amount,l=i.beakerCurrentVolume,u=i.beakerMaxVolume,d=i.isBeakerLoaded,s=i.beakerContents,p=void 0===s?[]:s;return(0,o.createComponentVNode)(2,a.Section,{title:"Recipient",buttons:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("ejectBeaker")}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",minValue:1,maxValue:u,step:1,stepPixelSize:2,onChange:function(e,t){return n("amount",{amount:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Input",onClick:function(){return n("input")}})],4):(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Create Beaker",onClick:function(){return n("makecup")}}),children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l})," / "+u+" u"]}),p.length>0?(0,o.createComponentVNode)(2,a.LabeledList,{children:p.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[e.volume," u"]},e.name)}))}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Recipient Empty"})],0):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Recipient"})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDispenser=void 0;var o=n(1),r=n(18),a=n(21),i=n(3),c=n(2);t.ChemDispenser=function(e){var t=(0,i.useBackend)(e),n=t.act,l=t.data,u=!!l.recordingRecipe,d=Object.keys(l.recipes).map((function(e){return{name:e,contents:l.recipes[e]}})),s=l.beakerTransferAmounts||[],p=u&&Object.keys(l.recordingRecipe).map((function(e){return{id:e,name:(0,a.toTitleCase)(e.replace(/_/," ")),volume:l.recordingRecipe[e]}}))||l.beakerContents||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:"Status",buttons:u&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,mx:1,color:"red",children:[(0,o.createComponentVNode)(2,c.Icon,{name:"circle",mr:1}),"Recording"]}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Energy",children:(0,o.createComponentVNode)(2,c.ProgressBar,{value:l.energy/l.maxEnergy,content:(0,r.toFixed)(l.energy)+" units"})})})}),(0,o.createComponentVNode)(2,c.Section,{title:"Recipes",buttons:(0,o.createFragment)([!u&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,mx:1,children:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",content:"Clear recipes",onClick:function(){return n("clear_recipes")}})}),!u&&(0,o.createComponentVNode)(2,c.Button,{icon:"circle",disabled:!l.isBeakerLoaded,content:"Record",onClick:function(){return n("record_recipe")}}),u&&(0,o.createComponentVNode)(2,c.Button,{icon:"ban",color:"transparent",content:"Discard",onClick:function(){return n("cancel_recording")}}),u&&(0,o.createComponentVNode)(2,c.Button,{icon:"save",color:"green",content:"Save",onClick:function(){return n("save_recording")}})],0),children:(0,o.createComponentVNode)(2,c.Box,{mr:-1,children:[d.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"tint",width:"129.5px",lineHeight:"21px",content:e.name,onClick:function(){return n("dispense_recipe",{recipe:e.name})}},e.name)})),0===d.length&&(0,o.createComponentVNode)(2,c.Box,{color:"light-gray",children:"No recipes."})]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Dispense",buttons:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"plus",selected:e===l.amount,content:e,onClick:function(){return n("amount",{target:e})}},e)})),children:(0,o.createComponentVNode)(2,c.Box,{mr:-1,children:l.chemicals.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"tint",width:"129.5px",lineHeight:"21px",content:e.title,onClick:function(){return n("dispense",{reagent:e.id})}},e.id)}))})}),(0,o.createComponentVNode)(2,c.Section,{title:"Beaker",buttons:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"minus",disabled:u,content:e,onClick:function(){return n("remove",{amount:e})}},e)})),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Beaker",buttons:!!l.isBeakerLoaded&&(0,o.createComponentVNode)(2,c.Button,{icon:"eject",content:"Eject",disabled:!l.isBeakerLoaded,onClick:function(){return n("eject")}}),children:(u?"Virtual beaker":l.isBeakerLoaded&&(0,o.createFragment)([(0,o.createComponentVNode)(2,c.AnimatedNumber,{initial:0,value:l.beakerCurrentVolume}),(0,o.createTextVNode)("/"),l.beakerMaxVolume,(0,o.createTextVNode)(" units")],0))||"No beaker"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Contents",children:[(0,o.createComponentVNode)(2,c.Box,{color:"label",children:l.isBeakerLoaded||u?0===p.length&&"Nothing":"N/A"}),p.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{color:"label",children:[(0,o.createComponentVNode)(2,c.AnimatedNumber,{initial:0,value:e.volume})," ","units of ",e.name]},e.name)}))]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemFilter=t.ChemFilterPane=void 0;var o=n(1),r=n(3),a=n(2);var i=function(e){var t=(0,r.useBackend)(e).act,n=e.title,i=e.list,c=e.reagentName,l=e.onReagentInput,u=n.toLowerCase();return(0,o.createComponentVNode)(2,a.Section,{title:n,minHeight:40,ml:.5,mr:.5,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Input,{placeholder:"Reagent",width:"140px",onInput:function(e,t){return l(t)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return t("add",{which:u,name:c})}})],4),children:i.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"minus",content:e,onClick:function(){return t("remove",{which:u,reagent:e})}})],4,e)}))})};t.ChemFilterPane=i;var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={leftReagentName:"",rightReagentName:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setLeftReagentName=function(e){this.setState({leftReagentName:e})},c.setRightReagentName=function(e){this.setState({rightReagentName:e})},c.render=function(){var e=this,t=this.props.state,n=t.data,r=n.left,c=void 0===r?[]:r,l=n.right,u=void 0===l?[]:l;return(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Left",list:c,reagentName:this.state.leftReagentName,onReagentInput:function(t){return e.setLeftReagentName(t)},state:t})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Right",list:u,reagentName:this.state.rightReagentName,onReagentInput:function(t){return e.setRightReagentName(t)},state:t})})]})},r}(o.Component);t.ChemFilter=c},function(e,t,n){"use strict";t.__esModule=!0,t.ChemHeater=void 0;var o=n(1),r=n(18),a=n(3),i=n(2),c=n(164);t.ChemHeater=function(e){var t=(0,a.useBackend)(e),n=t.act,l=t.data,u=l.targetTemp,d=l.isActive,s=l.isBeakerLoaded,p=l.currentTemp,m=l.beakerCurrentVolume,f=l.beakerMaxVolume,h=l.beakerContents,C=void 0===h?[]:h;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Thermostat",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:d?"power-off":"times",selected:d,content:d?"On":"Off",onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target",children:(0,o.createComponentVNode)(2,i.NumberInput,{width:"65px",unit:"K",step:2,stepPixelSize:1,value:(0,r.round)(u),minValue:0,maxValue:1e3,onDrag:function(e,t){return n("temperature",{target:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Reading",children:(0,o.createComponentVNode)(2,i.Box,{width:"60px",textAlign:"right",children:s&&(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:p,format:function(e){return(0,r.toFixed)(e)+" K"}})||"\u2014"})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:!!s&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:2,children:[m," / ",f," units"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}})],4),children:(0,o.createComponentVNode)(2,c.BeakerContents,{beakerLoaded:s,beakerContents:C})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemMaster=void 0;var o=n(1),r=n(16),a=n(2);t.ChemMaster=function(e){var t=e.state,n=t.config,l=t.data,s=n.ref,p=l.screen,m=l.beakerContents,f=void 0===m?[]:m,h=l.bufferContents,C=void 0===h?[]:h,g=l.beakerCurrentVolume,b=l.beakerMaxVolume,N=l.isBeakerLoaded,v=l.isPillBottleLoaded,V=l.pillBottleCurrentAmount,y=l.pillBottleMaxAmount;return"analyze"===p?(0,o.createComponentVNode)(2,d,{state:t}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:!!l.isBeakerLoaded&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:2,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:g,initial:0})," / "+b+" units"]}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return(0,r.act)(s,"eject")}})],4),children:[!N&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"No beaker loaded."}),!!N&&0===f.length&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"Beaker is empty."}),(0,o.createComponentVNode)(2,i,{children:f.map((function(e){return(0,o.createComponentVNode)(2,c,{state:t,chemical:e,transferTo:"buffer"},e.id)}))})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Buffer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:1,children:"Mode:"}),(0,o.createComponentVNode)(2,a.Button,{color:l.mode?"good":"bad",icon:l.mode?"exchange-alt":"times",content:l.mode?"Transfer":"Destroy",onClick:function(){return(0,r.act)(s,"toggleMode")}})],4),children:[0===C.length&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"Buffer is empty."}),(0,o.createComponentVNode)(2,i,{children:C.map((function(e){return(0,o.createComponentVNode)(2,c,{state:t,chemical:e,transferTo:"beaker"},e.id)}))})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Packaging",children:(0,o.createComponentVNode)(2,u,{state:t})}),!!v&&(0,o.createComponentVNode)(2,a.Section,{title:"Pill Bottle",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:2,children:[V," / ",y," pills"]}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return(0,r.act)(s,"ejectPillBottle")}})],4)})],0)};var i=a.Table,c=function(e){var t=e.state,n=e.chemical,i=e.transferTo,c=t.config.ref;return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:n.volume,initial:0})," units of "+n.name]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,a.Button,{content:"1",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:1,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"5",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:5,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"10",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:10,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"All",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:1e3,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"ellipsis-h",title:"Custom amount",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:-1,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"question",title:"Analyze",onClick:function(){return(0,r.act)(c,"analyze",{id:n.id})}})]})]},n.id)},l=function(e){var t=e.label,n=e.amountUnit,r=e.amount,i=e.onChangeAmount,c=e.onCreate,l=e.sideNote;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,children:[(0,o.createComponentVNode)(2,a.NumberInput,{width:14,unit:n,step:1,stepPixelSize:15,value:r,minValue:1,maxValue:10,onChange:i}),(0,o.createComponentVNode)(2,a.Button,{ml:1,content:"Create",onClick:c}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,ml:1,color:"label",content:l})]})},u=function(e){var t,n;function i(){var t;return(t=e.call(this)||this).state={pillAmount:1,patchAmount:1,bottleAmount:1,packAmount:1},t}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=(this.state,this.props),n=t.state.config.ref,i=this.state,c=i.pillAmount,u=i.patchAmount,d=i.bottleAmount,s=i.packAmount,p=t.state.data,m=p.condi,f=p.chosenPillStyle,h=p.pillStyles,C=void 0===h?[]:h;return(0,o.createComponentVNode)(2,a.LabeledList,{children:[!m&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill type",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:5,selected:e.id===f,textAlign:"center",color:"transparent",onClick:function(){return(0,r.act)(n,"pillStyle",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.className})},e.id)}))}),!m&&(0,o.createComponentVNode)(2,l,{label:"Pills",amount:c,amountUnit:"pills",sideNote:"max 50u",onChangeAmount:function(t,n){return e.setState({pillAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"pill",amount:c,volume:"auto"})}}),!m&&(0,o.createComponentVNode)(2,l,{label:"Patches",amount:u,amountUnit:"patches",sideNote:"max 40u",onChangeAmount:function(t,n){return e.setState({patchAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"patch",amount:u,volume:"auto"})}}),!m&&(0,o.createComponentVNode)(2,l,{label:"Bottles",amount:d,amountUnit:"bottles",sideNote:"max 30u",onChangeAmount:function(t,n){return e.setState({bottleAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"bottle",amount:d,volume:"auto"})}}),!!m&&(0,o.createComponentVNode)(2,l,{label:"Packs",amount:s,amountUnit:"packs",sideNote:"max 10u",onChangeAmount:function(t,n){return e.setState({packAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"condimentPack",amount:s,volume:"auto"})}}),!!m&&(0,o.createComponentVNode)(2,l,{label:"Bottles",amount:d,amountUnit:"bottles",sideNote:"max 50u",onChangeAmount:function(t,n){return e.setState({bottleAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"condimentBottle",amount:d,volume:"auto"})}})]})},i}(o.Component),d=function(e){var t=e.state,n=t.config.ref,i=t.data.analyzeVars;return(0,o.createComponentVNode)(2,a.Section,{title:"Analysis Results",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Back",onClick:function(){return(0,r.act)(n,"goScreen",{screen:"home"})}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:i.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",children:i.state}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,a.ColorBox,{color:i.color,mr:1}),i.color]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Description",children:i.description}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Metabolization Rate",children:[i.metaRate," u/minute"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Overdose Threshold",children:i.overD}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Addiction Threshold",children:i.addicD})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemPress=void 0;var o=n(1),r=n(3),a=n(2);t.ChemPress=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.pill_size,l=i.pill_name,u=i.pill_style,d=i.pill_styles,s=void 0===d?[]:d;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",width:"43px",minValue:5,maxValue:50,step:1,stepPixelSize:2,onChange:function(e,t){return n("change_pill_size",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Name",children:(0,o.createComponentVNode)(2,a.Input,{value:l,onChange:function(e,t){return n("change_pill_name",{name:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Style",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:5,selected:e.id===u,textAlign:"center",color:"transparent",onClick:function(){return n("change_pill_style",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.class_name})},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemReactionChamber=void 0;var o=n(1),r=n(16),a=n(2),i=n(22),c=n(11);var l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).state={reagentName:"",reagentQuantity:1},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.setReagentName=function(e){this.setState({reagentName:e})},u.setReagentQuantity=function(e){this.setState({reagentQuantity:e})},u.render=function(){var e=this,t=this.props.state,n=t.config,l=t.data,u=n.ref,d=l.emptying,s=l.reagents||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Reagents",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:d?"bad":"good",children:d?"Emptying":"Filling"}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createVNode)(1,"tr","LabledList__row",[(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:"",placeholder:"Reagent Name",onInput:function(t,n){return e.setReagentName(n)}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td",(0,c.classes)(["LabeledList__buttons","LabeledList__cell"]),[(0,o.createComponentVNode)(2,a.NumberInput,{value:this.state.reagentQuantity,minValue:1,maxValue:100,step:1,stepPixelSize:3,width:"39px",onDrag:function(t,n){return e.setReagentQuantity(n)}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return(0,r.act)(u,"add",{chem:e.state.reagentName,amount:e.state.reagentQuantity})}})],4)],4),(0,i.map)((function(e,t){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return(0,r.act)(u,"remove",{chem:t})}}),children:e},t)}))(s)]})})},l}(o.Component);t.ChemReactionChamber=l},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSplitter=void 0;var o=n(1),r=n(18),a=n(3),i=n(2);t.ChemSplitter=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.straight,u=c.side,d=c.max_transfer;return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Straight",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:l,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"straight",amount:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Side",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:u,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"side",amount:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSynthesizer=void 0;var o=n(1),r=n(18),a=n(3),i=n(2);t.ChemSynthesizer=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.amount,u=c.current_reagent,d=c.chemicals,s=void 0===d?[]:d,p=c.possible_amounts,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"plus",content:(0,r.toFixed)(e,0),selected:e===l,onClick:function(){return n("amount",{target:e})}},(0,r.toFixed)(e,0))}))}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"tint",content:e.title,width:"129px",selected:e.id===u,onClick:function(){return n("select",{reagent:e.id})}},e.id)}))})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.CodexGigas=void 0;var o=n(1),r=n(3),a=n(2);t.CodexGigas=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[i.name,(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prefix",children:["Dark","Hellish","Fallen","Fiery","Sinful","Blood","Fluffy"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:1!==i.currentSection,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Title",children:["Lord","Prelate","Count","Viscount","Vizier","Elder","Adept"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>2,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:["hal","ve","odr","neit","ci","quon","mya","folth","wren","geyr","hil","niet","twou","phi","coa"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>4,onClick:function(){return n(e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suffix",children:["the Red","the Soulless","the Master","the Lord of all things","Jr."].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:4!==i.currentSection,onClick:function(){return n(" "+e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Submit",children:(0,o.createComponentVNode)(2,a.Button,{content:"Search",disabled:i.currentSection<4,onClick:function(){return n("search")}})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.ComputerFabricator=void 0;var o=n(1),r=(n(21),n(3)),a=n(2);t.ComputerFabricator=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{italic:!0,fontSize:"20px",children:"Your perfect device, only three steps away..."}),0!==l.state&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mb:1,icon:"circle",content:"Clear Order",onClick:function(){return c("clean_order")}}),(0,o.createComponentVNode)(2,i,{state:t})],0)};var i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return 0===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 1",minHeight:51,children:[(0,o.createComponentVNode)(2,a.Box,{mt:5,bold:!0,textAlign:"center",fontSize:"40px",children:"Choose your Device"}),(0,o.createComponentVNode)(2,a.Box,{mt:3,children:(0,o.createComponentVNode)(2,a.Grid,{width:"100%",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"laptop",content:"Laptop",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"1"})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"tablet-alt",content:"Tablet",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"2"})}})})]})})]}):1===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 2: Customize your device",minHeight:47,buttons:(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"good",children:[i.totalprice," cr"]}),children:[(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Battery:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to operate without external utility power\nsource. Advanced batteries increase battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Hard Drive:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Stores file on your device. Advanced drives can store more\nfiles, but use more power, shortening battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Network Card:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to wirelessly connect to stationwide NTNet\nnetwork. Basic cards are limited to on-station use, while\nadvanced cards can operate anywhere near the station, which\nincludes asteroid outposts",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Nano Printer:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A device that allows for various paperwork manipulations,\nsuch as, scanning of documents or printing new ones.\nThis device was certified EcoFriendlyPlus and is capable of\nrecycling existing paper for printing purposes.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"1"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Card Reader:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Adds a slot that allows you to manipulate RFID cards.\nPlease note that this is not necessary to allow the device\nto read your identification, it is just necessary to\nmanipulate other cards.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_card,onClick:function(){return n("hw_card",{card:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_card,onClick:function(){return n("hw_card",{card:"1"})}})})]}),2!==i.devtype&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Processor Unit:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A component critical for your device's functionality.\nIt allows you to run programs from your hard drive.\nAdvanced CPUs use more power, but allow you to run\nmore programs on background at once.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Tesla Relay:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"An advanced wireless power relay that allows your device\nto connect to nearby area power controller to provide\nalternative power source. This component is currently\nunavailable on tablet computers due to size restrictions.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"1"})}})})]})],4)]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mt:3,content:"Confirm Order",color:"good",textAlign:"center",fontSize:"18px",lineHeight:"26px",onClick:function(){return n("confirm_order")}})]}):2===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 3: Payment",minHeight:47,children:[(0,o.createComponentVNode)(2,a.Box,{italic:!0,textAlign:"center",fontSize:"20px",children:"Your device is ready for fabrication..."}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:2,textAlign:"center",fontSize:"16px",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:"Please insert the required"})," ",(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:[i.totalprice," cr"]})]}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:1,textAlign:"center",fontSize:"18px",children:"Current:"}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:.5,textAlign:"center",fontSize:"18px",color:i.credits>=i.totalprice?"good":"bad",children:[i.credits," cr"]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Purchase",disabled:i.credits=10&&e<20?i.COLORS.department.security:e>=20&&e<30?i.COLORS.department.medbay:e>=30&&e<40?i.COLORS.department.science:e>=40&&e<50?i.COLORS.department.engineering:e>=50&&e<60?i.COLORS.department.cargo:e>=200&&e<230?i.COLORS.department.centcom:i.COLORS.department.other},u=function(e){var t=e.type,n=e.value;return(0,o.createComponentVNode)(2,a.Box,{inline:!0,width:4,color:i.COLORS.damageType[t],textAlign:"center",children:n})};t.CrewConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,d=i.sensors||[];return(0,o.createComponentVNode)(2,a.Section,{minHeight:90,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,textAlign:"center",children:"Vitals"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Position"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,children:"Tracking"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:(f=e.ijob,f%10==0),color:l(e.ijob),children:[e.name," (",e.assignment,")"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,o.createComponentVNode)(2,a.ColorBox,{color:(t=e.oxydam,r=e.toxdam,d=e.burndam,s=e.brutedam,p=t+r+d+s,m=Math.min(Math.max(Math.ceil(p/25),0),5),c[m])})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:null!==e.oxydam?(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,u,{type:"oxy",value:e.oxydam}),"/",(0,o.createComponentVNode)(2,u,{type:"toxin",value:e.toxdam}),"/",(0,o.createComponentVNode)(2,u,{type:"burn",value:e.burndam}),"/",(0,o.createComponentVNode)(2,u,{type:"brute",value:e.brutedam})]}):e.life_status?"Alive":"Dead"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:null!==e.pos_x?e.area:"N/A"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{content:"Track",disabled:!e.can_track,onClick:function(){return n("select_person",{name:e.name})}})})]},e.name);var t,r,d,s,p,m,f}))]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Cryo=void 0;var o=n(1),r=n(3),a=n(2),i=n(164);t.Cryo=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",content:c.occupant.name?c.occupant.name:"No Occupant"}),!!c.hasOccupant&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",content:c.occupant.stat,color:c.occupant.statstate}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",color:c.occupant.temperaturestatus,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.bodyTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant.health/c.occupant.maxHealth,color:c.occupant.health>0?"good":"average",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant[e.type]/100,children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant[e.type]})})},e.id)}))],0)]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cell",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",content:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",disabled:c.isOpen,onClick:function(){return n("power")},color:c.isOperating&&"green",children:c.isOperating?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.cellTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.isOpen?"unlock":"lock",onClick:function(){return n("door")},content:c.isOpen?"Open":"Closed"}),(0,o.createComponentVNode)(2,a.Button,{icon:c.autoEject?"sign-out-alt":"sign-in-alt",onClick:function(){return n("autoeject")},content:c.autoEject?"Auto":"Manual"})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!c.isBeakerLoaded,onClick:function(){return n("ejectbeaker")},content:"Eject"}),children:(0,o.createComponentVNode)(2,i.BeakerContents,{beakerLoaded:c.isBeakerLoaded,beakerContents:c.beakerContents})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.DecalPainter=void 0;var o=n(1),r=n(3),a=n(2);t.DecalPainter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.decal_list||[],l=i.color_list||[],u=i.dir_list||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Decal Type",children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,selected:e.decal===i.decal_style,onClick:function(){return n("select decal",{decals:e.decal})}},e.decal)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Color",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:"red"===e.colors?"Red":"white"===e.colors?"White":"Yellow",selected:e.colors===i.decal_color,onClick:function(){return n("select color",{colors:e.colors})}},e.colors)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Direction",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:1===e.dirs?"North":2===e.dirs?"South":4===e.dirs?"East":"West",selected:e.dirs===i.decal_direction,onClick:function(){return n("selected direction",{dirs:e.dirs})}},e.dirs)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalUnit=void 0;var o=n(1),r=n(3),a=n(2);t.DisposalUnit=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return l.full_pressure?(t="good",n="Ready"):l.panel_open?(t="bad",n="Power Disabled"):l.pressure_charging?(t="average",n="Pressurizing"):(t="bad",n="Off"),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:t,children:n}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.per,color:"good"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Handle",children:(0,o.createComponentVNode)(2,a.Button,{icon:l.flush?"toggle-on":"toggle-off",disabled:l.isai||l.panel_open,content:l.flush?"Disengage":"Engage",onClick:function(){return c(l.flush?"handle-0":"handle-1")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Eject",children:(0,o.createComponentVNode)(2,a.Button,{icon:"sign-out-alt",disabled:l.isai,content:"Eject Contents",onClick:function(){return c("eject")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",disabled:l.panel_open,selected:l.pressure_charging,onClick:function(){return c(l.pressure_charging?"pump-0":"pump-1")}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DnaVault=void 0;var o=n(1),r=n(3),a=n(2);t.DnaVault=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.completed,l=i.used,u=i.choiceA,d=i.choiceB,s=i.dna,p=i.dna_max,m=i.plants,f=i.plants_max,h=i.animals,C=i.animals_max;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"DNA Vault Database",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Human DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s/p,content:s+" / "+p+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plant DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m/f,content:m+" / "+f+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Animal DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:h/h,content:h+" / "+C+" Samples"})})]})}),!(!c||l)&&(0,o.createComponentVNode)(2,a.Section,{title:"Personal Gene Therapy",children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",mb:1,children:"Applicable Gene Therapy Treatments"}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:u,textAlign:"center",onClick:function(){return n("gene",{choice:u})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:d,textAlign:"center",onClick:function(){return n("gene",{choice:d})}})})]})]})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.EightBallVote=void 0;var o=n(1),r=n(3),a=n(2),i=n(21);t.EightBallVote=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.question,u=c.shaking,d=c.answers,s=void 0===d?[]:d;return u?(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"16px",m:1,children:['"',l,'"']}),(0,o.createComponentVNode)(2,a.Grid,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:(0,i.toTitleCase)(e.answer),selected:e.selected,fontSize:"16px",lineHeight:"24px",textAlign:"center",mb:1,onClick:function(){return n("vote",{answer:e.answer})}}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"30px",children:e.amount})]},e.answer)}))})]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No question is currently being asked."})}},function(e,t,n){"use strict";t.__esModule=!0,t.EmergencyShuttleConsole=void 0;var o=n(1),r=n(2),a=n(3);t.EmergencyShuttleConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,c=i.timer_str,l=i.enabled,u=i.emagged,d=i.engines_started,s=i.authorizations_remaining,p=i.authorizations,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"40px",textAlign:"center",fontFamily:"monospace",children:c}),(0,o.createComponentVNode)(2,r.Box,{textAlign:"center",fontSize:"16px",mb:1,children:[(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,children:"ENGINES:"}),(0,o.createComponentVNode)(2,r.Box,{inline:!0,color:d?"good":"average",ml:1,children:d?"Online":"Idle"})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Early Launch Authorization",level:2,buttons:(0,o.createComponentVNode)(2,r.Button,{icon:"times",content:"Repeal All",color:"bad",disabled:!l,onClick:function(){return n("abort")}}),children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"exclamation-triangle",color:"good",content:"AUTHORIZE",disabled:!l,onClick:function(){return n("authorize")}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"minus",content:"REPEAL",disabled:!l,onClick:function(){return n("repeal")}})})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Authorizations",level:3,minHeight:"150px",buttons:(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,color:u?"bad":"good",children:u?"ERROR":"Remaining: "+s}),children:[m.length>0?m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)})):(0,o.createComponentVNode)(2,r.Box,{bold:!0,textAlign:"center",fontSize:"16px",color:"average",children:"No Active Authorizations"}),m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)}))]})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.EngravedMessage=void 0;var o=n(1),r=n(21),a=n(3),i=n(2);t.EngravedMessage=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.admin_mode,u=c.creator_key,d=c.creator_name,s=c.has_liked,p=c.has_disliked,m=c.hidden_message,f=c.is_creator,h=c.num_likes,C=c.num_dislikes,g=c.realdate;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,textAlign:"center",fontSize:"20px",mb:2,children:(0,r.decodeHtmlEntities)(m)}),(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-up",content:" "+h,disabled:f,selected:s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("like")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"circle",disabled:f,selected:!p&&!s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("neutral")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-down",content:" "+C,disabled:f,selected:p,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("dislike")}})})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Created On",children:g})})}),(0,o.createComponentVNode)(2,i.Section),!!l&&(0,o.createComponentVNode)(2,i.Section,{title:"Admin Panel",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Delete",color:"bad",onClick:function(){return n("delete")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Ckey",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Character Name",children:d})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Gps=void 0;var o=n(1),r=n(22),a=n(70),i=n(18),c=n(156),l=n(3),u=n(2),d=function(e){return(0,r.map)(parseFloat)(e.split(", "))};t.Gps=function(e){var t=(0,l.useBackend)(e),n=t.act,s=t.data,p=s.currentArea,m=s.currentCoords,f=s.globalmode,h=s.power,C=s.tag,g=s.updating,b=(0,a.flow)([(0,r.map)((function(e,t){var n=e.dist&&Math.round((0,c.vecLength)((0,c.vecSubtract)(d(m),d(e.coords))));return Object.assign({},e,{dist:n,index:t})})),(0,r.sortBy)((function(e){return e.dist===undefined}),(function(e){return e.entrytag}))])(s.signals||[]);return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Control",buttons:(0,o.createComponentVNode)(2,u.Button,{icon:"power-off",content:h?"On":"Off",selected:h,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Tag",children:(0,o.createComponentVNode)(2,u.Button,{icon:"pencil-alt",content:C,onClick:function(){return n("rename")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,u.Button,{icon:g?"unlock":"lock",content:g?"AUTO":"MANUAL",color:!g&&"bad",onClick:function(){return n("updating")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Range",children:(0,o.createComponentVNode)(2,u.Button,{icon:"sync",content:f?"MAXIMUM":"LOCAL",selected:!f,onClick:function(){return n("globalmode")}})})]})}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Current Location",children:(0,o.createComponentVNode)(2,u.Box,{fontSize:"18px",children:[p," (",m,")"]})}),(0,o.createComponentVNode)(2,u.Section,{title:"Detected Signals",children:(0,o.createComponentVNode)(2,u.Table,{children:[(0,o.createComponentVNode)(2,u.Table.Row,{bold:!0,children:[(0,o.createComponentVNode)(2,u.Table.Cell,{content:"Name"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Direction"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Coordinates"})]}),b.map((function(e){return(0,o.createComponentVNode)(2,u.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,u.Table.Cell,{bold:!0,color:"label",children:e.entrytag}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,opacity:e.dist!==undefined&&(0,i.clamp)(1.2/Math.log(Math.E+e.dist/20),.4,1),children:[e.degrees!==undefined&&(0,o.createComponentVNode)(2,u.Icon,{mr:1,size:1.2,name:"arrow-up",rotation:e.degrees}),e.dist!==undefined&&e.dist+"m"]}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,children:e.coords})]},e.entrytag+e.coords+e.index)}))]})})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GravityGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.GravityGenerator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.breaker,l=i.charge_count,u=i.charging_state,d=i.on,s=i.operational;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:!s&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No data available"})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Breaker",children:(0,o.createComponentVNode)(2,a.Button,{icon:c?"power-off":"times",content:c?"On":"Off",selected:c,disabled:!s,onClick:function(){return n("gentoggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Gravity Charge",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/100,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",children:[0===u&&(d&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Fully Charged"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Not Charging"})),1===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Charging"}),2===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Discharging"})]})]})}),s&&0!==u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"WARNING - Radiation detected"}),s&&0===u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No radiation detected"})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagTeleporterConsole=void 0;var o=n(1),r=n(3),a=n(2);t.GulagTeleporterConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.teleporter,l=i.teleporter_lock,u=i.teleporter_state_open,d=i.teleporter_location,s=i.beacon,p=i.beacon_location,m=i.id,f=i.id_name,h=i.can_teleport,C=i.goal,g=void 0===C?0:C,b=i.prisoner,N=void 0===b?{}:b;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Teleporter Console",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:u?"Open":"Closed",disabled:l,selected:u,onClick:function(){return n("toggle_open")}}),(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"unlock",content:l?"Locked":"Unlocked",selected:l,disabled:u,onClick:function(){return n("teleporter_lock")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleporter Unit",color:c?"good":"bad",buttons:!c&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_teleporter")}}),children:c?d:"Not Connected"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Receiver Beacon",color:s?"good":"bad",buttons:!s&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_beacon")}}),children:s?p:"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Prisoner Details",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prisoner ID",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:m?f:"No ID",onClick:function(){return n("handle_id")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Point Goal",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:g,width:"48px",minValue:1,maxValue:1e3,onChange:function(e,t){return n("set_goal",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",children:N.name?N.name:"No Occupant"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Criminal Status",children:N.crimstat?N.crimstat:"No Status"})]})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Process Prisoner",disabled:!h,textAlign:"center",color:"bad",onClick:function(){return n("teleport")}})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagItemReclaimer=void 0;var o=n(1),r=n(3),a=n(2);t.GulagItemReclaimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.mobs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Stored Items",children:(0,o.createComponentVNode)(2,a.Table,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:(0,o.createComponentVNode)(2,a.Button,{content:"Retrieve Items",disabled:!i.can_reclaim,onClick:function(){return n("release_items",{mobref:e.mob})}})})]},e.mob)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Holodeck=void 0;var o=n(1),r=n(3),a=n(2);t.Holodeck=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_toggle_safety,l=i.default_programs,u=void 0===l?[]:l,d=i.emag_programs,s=void 0===d?[]:d,p=i.emagged,m=i.program;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Default Programs",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:p?"unlock":"lock",content:"Safeties",color:"bad",disabled:!c,selected:!p,onClick:function(){return n("safety")}}),children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))}),!!p&&(0,o.createComponentVNode)(2,a.Section,{title:"Dangerous Programs",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),color:"bad",textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ImplantChair=void 0;var o=n(1),r=n(3),a=n(2);t.ImplantChair=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant Information",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:i.occupant.name?i.occupant.name:"No Occupant"}),!!i.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===i.occupant.stat?"good":1===i.occupant.stat?"average":"bad",children:0===i.occupant.stat?"Conscious":1===i.occupant.stat?"Unconcious":"Dead"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Operations",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.open?"unlock":"lock",color:i.open?"default":"red",content:i.open?"Open":"Closed",onClick:function(){return n("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implant Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:i.ready?i.special_name||"Implant":"Recharging",onClick:function(){return n("implant")}}),0===i.ready&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implants Remaining",children:[i.ready_implants,1===i.replenishing&&(0,o.createComponentVNode)(2,a.Icon,{name:"sync",color:"red",spin:!0})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Intellicard=void 0;var o=n(1),r=n(3),a=n(2);t.Intellicard=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=u||d,l=i.name,u=i.isDead,d=i.isBraindead,s=i.health,p=i.wireless,m=i.radio,f=i.wiping,h=i.laws,C=void 0===h?[]:h;return(0,o.createComponentVNode)(2,a.Section,{title:l||"Empty Card",buttons:!!l&&(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:f?"Stop Wiping":"Wipe",disabled:u,onClick:function(){return n("wipe")}}),children:!!l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:c?"bad":"good",children:c?"Offline":"Operation"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Software Integrity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s,minValue:0,maxValue:100,ranges:{good:[70,Infinity],average:[50,70],bad:[-Infinity,50]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"Wireless Activity",selected:p,onClick:function(){return n("wireless")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"microphone",content:"Subspace Radio",selected:m,onClick:function(){return n("radio")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laws",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.BlockQuote,{children:e},e)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.KeycardAuth=void 0;var o=n(1),r=n(3),a=n(2);t.KeycardAuth=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{children:1===i.waiting&&(0,o.createVNode)(1,"span",null,"Waiting for another device to confirm your request...",16)}),(0,o.createComponentVNode)(2,a.Box,{children:0===i.waiting&&(0,o.createFragment)([!!i.auth_required&&(0,o.createComponentVNode)(2,a.Button,{icon:"check-square",color:"red",textAlign:"center",lineHeight:"60px",fluid:!0,onClick:function(){return n("auth_swipe")},content:"Authorize"}),0===i.auth_required&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",fluid:!0,onClick:function(){return n("red_alert")},content:"Red Alert"}),(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",fluid:!0,onClick:function(){return n("emergency_maint")},content:"Emergency Maintenance Access"}),(0,o.createComponentVNode)(2,a.Button,{icon:"meteor",fluid:!0,onClick:function(){return n("bsa_unlock")},content:"Bluespace Artillery Unlock"})],4)],0)})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.LaborClaimConsole=void 0;var o=n(1),r=n(21),a=n(3),i=n(2);t.LaborClaimConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.can_go_home,u=c.id_points,d=c.ores,s=c.status_info,p=c.unclaimed_points;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle controls",children:(0,o.createComponentVNode)(2,i.Button,{content:"Move shuttle",disabled:!l,onClick:function(){return n("move_shuttle")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Points",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Unclaimed points",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Claim points",disabled:!p,onClick:function(){return n("claim_points")}}),children:p})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Material values",children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Material"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Value"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.ore)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.value})})]},e.ore)}))]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.LanguageMenu=void 0;var o=n(1),r=n(3),a=n(2);t.LanguageMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.admin_mode,l=i.is_living,u=i.omnitongue,d=i.languages,s=void 0===d?[]:d,p=i.unknown_languages,m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Known Languages",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createFragment)([!!l&&(0,o.createComponentVNode)(2,a.Button,{content:e.is_default?"Default Language":"Select as Default",disabled:!e.can_speak,selected:e.is_default,onClick:function(){return n("select_default",{language_name:e.name})}}),!!c&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Remove",onClick:function(){return n("remove_language",{language_name:e.name})}})],4)],0),children:[e.desc," ","Key: ,",e.key," ",e.can_understand?"Can understand.":"Cannot understand."," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})}),!!c&&(0,o.createComponentVNode)(2,a.Section,{title:"Unknown Languages",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Omnitongue "+(u?"Enabled":"Disabled"),selected:u,onClick:function(){return n("toggle_omnitongue")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),children:[e.desc," ","Key: ,",e.key," ",!!e.shadow&&"(gained from mob)"," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.LaunchpadConsole=t.LaunchpadRemote=t.LaunchpadControl=t.LaunchpadButtonPad=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createComponentVNode)(2,a.Grid,{width:"1px",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",mb:1,onClick:function(){return t("move_pos",{x:-1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",mb:1,onClick:function(){return t("move_pos",{y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"R",mb:1,onClick:function(){return t("set_pos",{x:0,y:0})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",mb:1,onClick:function(){return t("move_pos",{y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",mb:1,onClick:function(){return t("move_pos",{x:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:-1})}})]})]})};t.LaunchpadButtonPad=i;var c=function(e){var t=e.topLevel,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.x,d=l.y,s=l.pad_name,p=l.range;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Input,{value:s,width:"170px",onChange:function(e,t){return c("rename",{name:t})}}),level:t?1:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Remove",color:"bad",onClick:function(){return c("remove")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Controls",level:2,children:(0,o.createComponentVNode)(2,i,{state:e.state})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Target",level:2,children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"26px",children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"X:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:u,minValue:-p,maxValue:p,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",stepPixelSize:10,onChange:function(e,t){return c("set_pos",{x:t})}})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"Y:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:d,minValue:-p,maxValue:p,stepPixelSize:10,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",onChange:function(e,t){return c("set_pos",{y:t})}})]})]})})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"upload",content:"Launch",textAlign:"center",onClick:function(){return c("launch")}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Pull",textAlign:"center",onClick:function(){return c("pull")}})})]})]})};t.LaunchpadControl=c;t.LaunchpadRemote=function(e){var t=(0,r.useBackend)(e).data,n=t.has_pad,i=t.pad_closed;return n?i?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Launchpad Closed"}):(0,o.createComponentVNode)(2,c,{topLevel:!0,state:e.state}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Launchpad Connected"})};t.LaunchpadConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.launchpads,u=void 0===l?[]:l,d=i.selected_id;return u.length<=0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Pads Connected"}):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.Box,{style:{"border-right":"2px solid rgba(255, 255, 255, 0.1)"},minHeight:"190px",mr:1,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name,selected:d===e.id,color:"transparent",onClick:function(){return n("select_pad",{id:e.id})}},e.name)}))})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:d?(0,o.createComponentVNode)(2,c,{state:e.state}):(0,o.createComponentVNode)(2,a.Box,{children:"Please select a pad"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MechBayPowerConsole=void 0;var o=n(1),r=n(3),a=n(2);t.MechBayPowerConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.recharge_port,c=i&&i.mech,l=c&&c.cell;return(0,o.createComponentVNode)(2,a.Section,{title:"Mech status",textAlign:"center",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Sync",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Integrity",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.health/c.maxhealth,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No cell is installed."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.charge/l.maxcharge,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.charge})," / "+l.maxcharge]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MedicalKiosk=void 0;var o=n(1),r=(n(21),n(3)),a=n(2);t.MedicalKiosk=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Health Kiosk",textAlign:"center",icon:"procedures",children:[(0,o.createComponentVNode)(2,a.Box,{my:1,textAlign:"center",children:["Greetings Valued Employee. Please select your desired diagnosis. Diagnosis costs ",i.kiosk_cost," credits.",(0,o.createComponentVNode)(2,a.Box,{mt:1}),(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:["Current patient targeted for scanning: ",i.patient_name," |"]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Button,{icon:"procedures",disabled:!i.active_status_1,tooltip:"Reads back exact values of your general health scan.",onClick:function(){return n("beginScan_1")},content:"General Health Scan"}),(0,o.createComponentVNode)(2,a.Button,{icon:"heartbeat",disabled:!i.active_status_2,tooltip:"Provides information based on various non-obvious symptoms,\nlike blood levels or disease status.",onClick:function(){return n("beginScan_2")},content:"Symptom Based Checkup"}),(0,o.createComponentVNode)(2,a.Button,{tooltip:"Resets the current scanning target, cancelling current scans.",icon:"sync",color:"average",onClick:function(){return n("clearTarget")},content:"Reset Scanner"})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"radiation-alt",disabled:!i.active_status_3,tooltip:"Provides information about brain trauma and radiation.",onClick:function(){return n("beginScan_3")},content:"Neurological/Radiological Scan"}),(0,o.createComponentVNode)(2,a.Button,{icon:"mortar-pestle",disabled:!i.active_status_4,tooltip:"Provides a list of consumed chemicals, as well as potential\nside effects.",onClick:function(){return n("beginScan_4")},content:"Chemical Analysis and Psychoactive Scan"})]})]}),(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{color:"normal",label:"General Health Scan",children:function(){return(0,o.createComponentVNode)(2,a.Box,{children:0===i.active_status_1&&(0,o.createComponentVNode)(2,a.Section,{title:"Patient Health",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.patient_health/100,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.patient_health}),"%"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider,{size:2}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brute Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.brute_health/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.brute_health})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Burn Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.burn_health/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.burn_health})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.suffocation_health/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.suffocation_health})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Toxin Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.toxin_health/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.toxin_health})})})]})})})}},"tab_1"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{color:"normal",label:"Symptom Based Checkup",children:function(){return(0,o.createComponentVNode)(2,a.Box,{children:0===i.active_status_2&&(0,o.createComponentVNode)(2,a.Section,{title:"Symptom Based Checkup",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Patient Status",color:"good",children:i.patient_status}),(0,o.createComponentVNode)(2,a.LabeledList.Divider,{size:1}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disease Status",children:i.patient_illness}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disease information",children:i.illness_info}),(0,o.createComponentVNode)(2,a.LabeledList.Divider,{size:1}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Levels",children:[i.bleed_status,(0,o.createComponentVNode)(2,a.LabeledList.Divider,{size:1}),(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.blood_levels/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.blood_levels})})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Information",children:i.blood_status})]})})})}},"tab_2"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{color:"normal",label:"Neurological/Radiological Scan",children:function(){return(0,o.createComponentVNode)(2,a.Box,{children:0===i.active_status_3&&(0,o.createComponentVNode)(2,a.Section,{title:"Patient Neurological and Radiological Health ",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cellular Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.clone_health/100,color:"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.clone_health})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.brain_damage/100,color:"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.brain_damage})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Status",color:"health-0",children:i.brain_health}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Status",children:i.rad_status}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Irradiation Percentage",children:[i.rad_value,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Trauma Status",children:i.trauma_status})]})})}},"tab_3"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{color:"normal",label:"Chemical Analysis and Psychoactive Scan",children:function(){return(0,o.createComponentVNode)(2,a.Box,{children:0===i.active_status_4&&(0,o.createComponentVNode)(2,a.Section,{title:"Chemical and Psychoactive Analysis",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Chemical Contents",children:i.are_chems_present?i.chemical_list.length?i.chemical_list.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{color:"good",children:[e.volume," units of ",e.name]},e.id)})):(0,o.createComponentVNode)(2,a.Box,{children:"No reagents detected."}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No reagents detected."})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Overdose Status",color:"bad",children:i.are_overdoses_present?i.overdose_status.length?i.overdose_status.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:["Overdosing on ",e.name]},e.id)})):(0,o.createComponentVNode)(2,a.Box,{children:"No reagents detected."}):(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Patient is not overdosing."})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Addiction Status",color:"bad",children:i.are_addictions_present?i.addiction_status.length?i.addiction_status.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:["Addicted to ",e.name]},e.id)})):(0,o.createComponentVNode)(2,a.Box,{children:"Patient has no addictions."}):(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Patient has no addictions detected."})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Psychoactive Status",children:i.hallucinating_status})]})})}},"tab_4")]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Mint=void 0;var o=n(1),r=n(3),a=n(2);t.Mint=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.inserted_materials||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Materials",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.processing?"times":"power-off",content:i.processing?"Stop":"Start",selected:i.processing,onClick:function(){return n(i.processing?"stoppress":"startpress")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.material,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.chosen_material===e.material?"check-square":"square",selected:i.chosen_material===e.material,onClick:function(){return n("changematerial",{material_name:e.material})}}),children:[e.amount," cm\xb3"]},e.material)}))})}),(0,o.createComponentVNode)(2,a.Section,{children:["Pressed ",i.produced_coins," coins this cycle."]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Mule=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Mule=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u=c.siliconUser,d=c.on,s=c.cell,p=c.cellPercent,m=c.load,f=c.mode,h=c.modeStatus,C=c.haspai,g=c.autoReturn,b=c.autoPickup,N=c.reportDelivery,v=c.destination,V=c.home,y=c.id,_=c.destinations,x=void 0===_?[]:_;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:u,locked:l}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",minHeight:"110px",buttons:!l&&(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",content:d?"On":"Off",selected:d,onClick:function(){return n("on")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:s?p/100:0,color:s?"good":"bad"}),(0,o.createComponentVNode)(2,a.Grid,{mt:1,children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",color:h,children:f})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Load",color:m?"good":"average",children:m||"None"})})})]})]}),!l&&(0,o.createComponentVNode)(2,a.Section,{title:"Controls",buttons:(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Unload",onClick:function(){return n("unload")}}),!!C&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject PAI",onClick:function(){return n("ejectpai")}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID",children:(0,o.createComponentVNode)(2,a.Input,{value:y,onChange:function(e,t){return n("setid",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destination",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:v||"None",options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"stop",content:"Stop",onClick:function(){return n("stop")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"play",content:"Go",onClick:function(){return n("go")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Home",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:V,options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"home",content:"Go Home",onClick:function(){return n("home")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:g,content:"Auto-Return",onClick:function(){return n("autored")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:b,content:"Auto-Pickup",onClick:function(){return n("autopick")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:N,content:"Report Delivery",onClick:function(){return n("report")}})]})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteChamberControl=void 0;var o=n(1),r=n(3),a=n(2);t.NaniteChamberControl=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.status_msg,l=i.locked,u=i.occupant_name,d=i.has_nanites,s=i.nanite_volume,p=i.regen_rate,m=i.safety_threshold,f=i.cloud_id,h=i.scan_level;if(c)return(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:c});var C=i.mob_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Chamber: "+u,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"lock-open",content:l?"Locked":"Unlocked",color:l?"bad":"default",onClick:function(){return n("toggle_lock")}}),children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",content:"Destroy Nanites",color:"bad",onClick:function(){return n("remove_nanites")}}),children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanite Volume",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Growth Rate",children:p})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Safety Threshold",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:0,maxValue:500,width:"39px",onChange:function(e,t){return n("set_safety",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:f,minValue:0,maxValue:100,step:1,stepPixelSize:3,width:"39px",onChange:function(e,t){return n("set_cloud",{value:t})}})})]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",level:2,children:C.map((function(e){var t=e.extra_settings||[],n=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:e.desc}),h>=2&&(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation Status",children:(0,o.createComponentVNode)(2,a.Box,{color:e.activated?"good":"bad",children:e.activated?"Active":"Inactive"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanites Consumed",children:[e.use_rate,"/s"]})]})})]}),h>=2&&(0,o.createComponentVNode)(2,a.Grid,{children:[!!e.can_trigger&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Triggers",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:e.trigger_cost}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:e.trigger_cooldown}),!!e.timer_trigger_delay&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[e.timer_trigger_delay," s"]}),!!e.timer_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:[e.timer_trigger," s"]})]})})}),!(!e.timer_restart&&!e.timer_shutdown)&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[e.timer_restart&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:[e.timer_restart," s"]}),e.timer_shutdown&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:[e.timer_shutdown," s"]})]})})})]}),h>=3&&!!e.has_extra_settings&&(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:t.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:e.value},e.name)}))})}),h>=4&&(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[!!e.activation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:e.activation_code}),!!e.deactivation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:e.deactivation_code}),!!e.kill_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:e.kill_code}),!!e.can_trigger&&!!e.trigger_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:e.trigger_code})]})})}),e.has_rules&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Rules",level:2,children:n.map((function(e){return(0,o.createFragment)([e.display,(0,o.createVNode)(1,"br")],0,e.display)}))})})]})]})},e.name)}))})],4):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"bad",textAlign:"center",fontSize:"30px",mb:1,children:"No Nanites Detected"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,icon:"syringe",content:" Implant Nanites",color:"green",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("nanite_injection")}})],4)})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteCloudControl=t.NaniteCloudBackupDetails=t.NaniteCloudBackupList=t.NaniteInfoBox=t.NaniteDiskBox=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.state.data,n=t.has_disk,r=t.has_program,i=t.disk;return n?r?(0,o.createComponentVNode)(2,c,{program:i}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Inserted disk has no program"}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No disk inserted"})};t.NaniteDiskBox=i;var c=function(e){var t=e.program,n=t.name,r=t.desc,i=t.activated,c=t.use_rate,l=t.can_trigger,u=t.trigger_cost,d=t.trigger_cooldown,s=t.activation_code,p=t.deactivation_code,m=t.kill_code,f=t.trigger_code,h=t.timer_restart,C=t.timer_shutdown,g=t.timer_trigger,b=t.timer_trigger_delay,N=t.extra_settings||[];return(0,o.createComponentVNode)(2,a.Section,{title:n,level:2,buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:i?"good":"bad",children:i?"Activated":"Deactivated"}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{mr:1,children:r}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:c}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:u}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:d})],4)]})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:m}),!!l&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:f})]})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart",children:[h," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown",children:[C," s"]}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:[g," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[b," s"]})],4)]})})})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:N.map((function(e){var t={number:(0,o.createFragment)([e.value,e.unit],0),text:e.value,type:e.value,boolean:e.value?e.true_text:e.false_text};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:t[e.type]},e.name)}))})})]})};t.NaniteInfoBox=c;var l=function(e){var t=(0,r.useBackend)(e),n=t.act;return(t.data.cloud_backups||[]).map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Backup #"+e.cloud_id,textAlign:"center",onClick:function(){return n("set_view",{view:e.cloud_id})}},e.cloud_id)}))};t.NaniteCloudBackupList=l;var u=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.current_view,u=i.disk,d=i.has_program,s=i.cloud_backup,p=u&&u.can_rule||!1;if(!s)return(0,o.createComponentVNode)(2,a.NoticeBox,{children:"ERROR: Backup not found"});var m=i.cloud_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Backup #"+l,level:2,buttons:!!d&&(0,o.createComponentVNode)(2,a.Button,{icon:"upload",content:"Upload From Disk",color:"good",onClick:function(){return n("upload_program")}}),children:m.map((function(e){var t=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_program",{program_id:e.id})}}),children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,c,{program:e}),!!p&&(0,o.createComponentVNode)(2,a.Section,{mt:-2,title:"Rules",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Add Rule from Disk",color:"good",onClick:function(){return n("add_rule",{program_id:e.id})}}),children:e.has_rules?t.map((function(t){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_rule",{program_id:e.id,rule_id:t.id})}}),t.display],0,t.display)})):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No Active Rules"})})]})},e.name)}))})};t.NaniteCloudBackupDetails=u;t.NaniteCloudControl=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,d=n.data,s=d.has_disk,p=d.current_view,m=d.new_backup_id;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Program Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!s,onClick:function(){return c("eject")}}),children:(0,o.createComponentVNode)(2,i,{state:t})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cloud Storage",buttons:p?(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Return",onClick:function(){return c("set_view",{view:0})}}):(0,o.createFragment)(["New Backup: ",(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:1,maxValue:100,stepPixelSize:4,width:"39px",onChange:function(e,t){return c("update_new_backup_value",{value:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return c("create_backup")}})],0),children:d.current_view?(0,o.createComponentVNode)(2,u,{state:t}):(0,o.createComponentVNode)(2,l,{state:t})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgramHub=void 0;var o=n(1),r=n(22),a=n(3),i=n(2);t.NaniteProgramHub=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.detail_view,u=c.disk,d=c.has_disk,s=c.has_program,p=c.programs,m=void 0===p?{}:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Program Disk",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus-circle",content:"Delete Program",onClick:function(){return n("clear")}})],4),children:d?s?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Program Name",children:u.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:u.desc})]}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No Program Installed"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Insert Disk"})}),(0,o.createComponentVNode)(2,i.Section,{title:"Programs",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:l?"info":"list",content:l?"Detailed":"Compact",onClick:function(){return n("toggle_details")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Sync Research",onClick:function(){return n("refresh")}})],4),children:null!==m?(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,t){var r=e||[],a=t.substring(0,t.length-8);return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:a,children:l?r.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}}),children:e.desc},e.id)})):(0,o.createComponentVNode)(2,i.LabeledList,{children:r.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}})},e.id)}))})},t)}))(m)}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No nanite programs are currently researched."})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgrammer=t.NaniteExtraBoolean=t.NaniteExtraType=t.NaniteExtraText=t.NaniteExtraNumber=t.NaniteExtraEntry=t.NaniteDelays=t.NaniteCodes=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.activation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"activation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.deactivation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"deactivation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.kill_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"kill",code:t})}})}),!!i.can_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.trigger_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"trigger",code:t})}})})]})})};t.NaniteCodes=i;var c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,ml:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_restart,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_restart_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_shutdown,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_shutdown_timer",{delay:t})}})}),!!i.can_trigger&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_trigger_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger_delay,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_timer_trigger_delay",{delay:t})}})})],4)]})})};t.NaniteDelays=c;var l=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.type,c={number:(0,o.createComponentVNode)(2,u,{act:t,extra_setting:n}),text:(0,o.createComponentVNode)(2,d,{act:t,extra_setting:n}),type:(0,o.createComponentVNode)(2,s,{act:t,extra_setting:n}),boolean:(0,o.createComponentVNode)(2,p,{act:t,extra_setting:n})};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:r,children:c[i]})};t.NaniteExtraEntry=l;var u=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.min,l=n.max,u=n.unit;return(0,o.createComponentVNode)(2,a.NumberInput,{value:i,width:"64px",minValue:c,maxValue:l,unit:u,onChange:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraNumber=u;var d=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value;return(0,o.createComponentVNode)(2,a.Input,{value:i,width:"200px",onInput:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraText=d;var s=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.types;return(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:i,width:"150px",options:c,onSelected:function(e){return t("set_extra_setting",{target_setting:r,value:e})}})};t.NaniteExtraType=s;var p=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.true_text,l=n.false_text;return(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:i?c:l,checked:i,onClick:function(){return t("set_extra_setting",{target_setting:r})}})};t.NaniteExtraBoolean=p;t.NaniteProgrammer=function(e){var t=(0,r.useBackend)(e),n=t.act,u=t.data,d=u.has_disk,s=u.has_program,p=u.name,m=u.desc,f=u.use_rate,h=u.can_trigger,C=u.trigger_cost,g=u.trigger_cooldown,b=u.activated,N=u.has_extra_settings,v=u.extra_settings,V=void 0===v?{}:v;return d?s?(0,o.createComponentVNode)(2,a.Section,{title:p,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),children:[(0,o.createComponentVNode)(2,a.Section,{title:"Info",level:2,children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:m}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.7,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:f}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:C}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:g})],4)]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Settings",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:b?"power-off":"times",content:b?"Active":"Inactive",selected:b,color:"bad",bold:!0,onClick:function(){return n("toggle_active")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{state:e.state})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,c,{state:e.state})})]}),!!N&&(0,o.createComponentVNode)(2,a.Section,{title:"Special",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:V.map((function(e){return(0,o.createComponentVNode)(2,l,{act:n,extra_setting:e},e.name)}))})})]})]}):(0,o.createComponentVNode)(2,a.Section,{title:"Blank Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}})}):(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Insert a nanite program disk"})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteRemote=void 0;var o=n(1),r=n(3),a=n(2);t.NaniteRemote=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.code,l=i.locked,u=i.mode,d=i.program_name,s=i.relay_code,p=i.comms,m=i.message,f=i.saved_settings,h=void 0===f?[]:f;return l?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"This interface is locked."}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Nanite Control",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lock Interface",onClick:function(){return n("lock")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:[(0,o.createComponentVNode)(2,a.Input,{value:d,maxLength:14,width:"130px",onChange:function(e,t){return n("update_name",{name:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",content:"Save",onClick:function(){return n("save")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:p?"Comm Code":"Signal Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_code",{code:t})}})}),!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",children:(0,o.createComponentVNode)(2,a.Input,{value:m,width:"270px",onChange:function(e,t){return n("set_message",{value:t})}})}),"Relay"===u&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Relay Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:s,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_relay_code",{code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Signal Mode",children:["Off","Local","Targeted","Area","Relay"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,selected:u===e,onClick:function(){return n("select_mode",{mode:e})}},e)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Saved Settings",children:h.length>0?(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{width:"35%",children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{width:"20%",children:"Mode"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Code"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Relay"})]}),h.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,color:"label",children:[e.name,":"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.mode}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.code}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Relay"===e.mode&&e.relay_code}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"upload",color:"good",onClick:function(){return n("load",{save_id:e.id})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return n("remove_save",{save_id:e.id})}})]})]},e.id)}))]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No settings currently saved"})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NotificationPreferences=void 0;var o=n(1),r=n(3),a=n(2);t.NotificationPreferences=function(e){var t=(0,r.useBackend)(e),n=t.act,i=(t.data.ignore||[]).sort((function(e,t){var n=e.desc.toLowerCase(),o=t.desc.toLowerCase();return no?1:0}));return(0,o.createComponentVNode)(2,a.Section,{title:"Ghost Role Notifications",children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:e.enabled?"times":"check",content:e.desc,color:e.enabled?"bad":"good",onClick:function(){return n("toggle_ignore",{key:e.key})}},e.key)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtnetRelay=void 0;var o=n(1),r=n(3),a=n(2);t.NtnetRelay=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.enabled,l=i.dos_capacity,u=i.dos_overload,d=i.dos_crashed;return(0,o.createComponentVNode)(2,a.Section,{title:"Network Buffer",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:c,content:c?"ENABLED":"DISABLED",onClick:function(){return n("toggle")}}),children:d?(0,o.createComponentVNode)(2,a.Box,{fontFamily:"monospace",children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",children:"NETWORK BUFFER OVERFLOW"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",children:"OVERLOAD RECOVERY MODE"}),(0,o.createComponentVNode)(2,a.Box,{children:"This system is suffering temporary outage due to overflow of traffic buffers. Until buffered traffic is processed, all further requests will be dropped. Frequent occurences of this error may indicate insufficient hardware capacity of your network. Please contact your network planning department for instructions on how to resolve this issue."}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",color:"bad",children:"ADMINISTRATOR OVERRIDE"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",color:"bad",children:"CAUTION - DATA LOSS MAY OCCUR"}),(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"PURGE BUFFER",mt:1,color:"bad",onClick:function(){return n("restart")}})]}):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,minValue:0,maxValue:l,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})," GQ"," / ",l," GQ"]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosArcade=void 0;var o=n(1),r=n(3),a=n(2);t.NtosArcade=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Outbomb Cuban Pete Ultra",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:2,children:[(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerHitpoints,minValue:0,maxValue:30,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[i.PlayerHitpoints,"HP"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Magic",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerMP,minValue:0,maxValue:10,ranges:{purple:[11,Infinity],violet:[3,11],bad:[-Infinity,3]},children:[i.PlayerMP,"MP"]})})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Section,{backgroundColor:1===i.PauseState?"#1b3622":"#471915",children:i.Status})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.Hitpoints/45,minValue:0,maxValue:45,ranges:{good:[30,Infinity],average:[5,30],bad:[-Infinity,5]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.Hitpoints}),"HP"]}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Section,{inline:!0,width:26,textAlign:"center",children:(0,o.createVNode)(1,"img",null,null,1,{src:i.BossID})})]})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Button,{icon:"fist-raised",tooltip:"Go in for the kill!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Attack")},content:"Attack!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"band-aid",tooltip:"Heal yourself!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Heal")},content:"Heal!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"magic",tooltip:"Recharge your magic!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Recharge_Power")},content:"Recharge!"})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"sync-alt",tooltip:"One more game couldn't hurt.",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Start_Game")},content:"Begin Game"}),(0,o.createComponentVNode)(2,a.Button,{icon:"ticket-alt",tooltip:"Claim at your local Arcade Computer for Prizes!",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Dispense_Tickets")},content:"Claim Tickets"})]}),(0,o.createComponentVNode)(2,a.Box,{color:i.TicketCount>=1?"good":"normal",children:["Earned Tickets: ",i.TicketCount]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosConfiguration=void 0;var o=n(1),r=n(3),a=n(2);t.NtosConfiguration=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.power_usage,l=i.battery_exists,u=i.battery,d=void 0===u?{}:u,s=i.disk_size,p=i.disk_used,m=i.hardware,f=void 0===m?[]:m;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Supply",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Draw: ",c,"W"]}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Battery Status",color:!l&&"average",children:l?(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.charge,minValue:0,maxValue:d.max,ranges:{good:[d.max/2,Infinity],average:[d.max/4,d.max/2],bad:[-Infinity,d.max/4]},children:[d.charge," / ",d.max]}):"Not Available"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"File System",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:p,minValue:0,maxValue:s,color:"good",children:[p," GQ / ",s," GQ"]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Hardware Components",children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,buttons:(0,o.createFragment)([!e.critical&&(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:"Enabled",checked:e.enabled,mr:1,onClick:function(){return n("PC_toggle_component",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Usage: ",e.powerusage,"W"]})],0),children:e.desc},e.name)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosMain=void 0;var o=n(1),r=n(3),a=n(2),i={compconfig:"cog",ntndownloader:"download",filemanager:"folder",smmonitor:"radiation",alarmmonitor:"bell",cardmod:"id-card",arcade:"gamepad",ntnrc_client:"comment-alt",nttransfer:"exchange-alt",powermonitor:"plug"};t.NtosMain=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.programs,u=void 0===l?[]:l,d=c.has_light,s=c.light_on,p=c.comp_light_color;return(0,o.createFragment)([!!d&&(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Button,{width:"144px",icon:"lightbulb",selected:s,onClick:function(){return n("PC_toggle_light")},children:["Flashlight: ",s?"ON":"OFF"]}),(0,o.createComponentVNode)(2,a.Button,{ml:1,onClick:function(){return n("PC_light_color")},children:["Color:",(0,o.createComponentVNode)(2,a.ColorBox,{ml:1,color:p})]})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",children:(0,o.createComponentVNode)(2,a.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,lineHeight:"24px",color:"transparent",icon:i[e.name]||"window-maximize-o",content:e.desc,onClick:function(){return n("PC_runprogram",{name:e.name})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,width:3,children:!!e.running&&(0,o.createComponentVNode)(2,a.Button,{lineHeight:"24px",color:"transparent",icon:"times",tooltip:"Close program",tooltipPosition:"left",onClick:function(){return n("PC_killprogram",{name:e.name})}})})]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetChat=void 0;var o=n(1),r=n(3),a=n(2);(0,n(46).createLogger)("ntos chat");t.NtosNetChat=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_admin,l=i.adminmode,u=i.authed,d=i.username,s=i.active_channel,p=i.is_operator,m=i.all_channels,f=void 0===m?[]:m,h=i.clients,C=void 0===h?[]:h,g=i.messages,b=void 0===g?[]:g,N=null!==s,v=u||l;return(0,o.createComponentVNode)(2,a.Section,{height:"600px",children:(0,o.createComponentVNode)(2,a.Table,{height:"580px",children:(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"200px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"537px",overflowY:"scroll",children:[(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"New Channel...",onCommit:function(e,t){return n("PRG_newchannel",{new_channel_name:t})}}),f.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.chan,selected:e.id===s,color:"transparent",onClick:function(){return n("PRG_joinchannel",{id:e.id})}},e.chan)}))]}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,mt:1,content:d+"...",currentValue:d,onCommit:function(e,t){return n("PRG_changename",{new_name:t})}}),!!c&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:"ADMIN MODE: "+(l?"ON":"OFF"),color:l?"bad":"good",onClick:function(){return n("PRG_toggleadmin")}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createComponentVNode)(2,a.Box,{height:"560px",overflowY:"scroll",children:N&&(v?b.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.msg},e.msg)})):(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-triangle",mt:4,fontSize:"40px"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,fontSize:"18px",children:"THIS CHANNEL IS PASSWORD PROTECTED"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"INPUT PASSWORD TO ACCESS"})]}))}),(0,o.createComponentVNode)(2,a.Input,{fluid:!0,selfClear:!0,mt:1,onEnter:function(e,t){return n("PRG_speak",{message:t})}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"150px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"477px",overflowY:"scroll",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.name},e.name)}))}),N&&v&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Save log...",defaultValue:"new_log",onCommit:function(e,t){return n("PRG_savelog",{log_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Leave Channel",onClick:function(){return n("PRG_leavechannel")}})],4),!!p&&u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Delete Channel",onClick:function(){return n("PRG_deletechannel")}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Rename Channel...",onCommit:function(e,t){return n("PRG_renamechannel",{new_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Set Password...",onCommit:function(e,t){return n("PRG_setpassword",{new_password:t})}})],4)]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDownloader=void 0;var o=n(1),r=n(3),a=n(2);t.NtosNetDownloader=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.disk_size,d=l.disk_used,s=l.downloadable_programs,p=void 0===s?[]:s,m=l.error,f=l.hacked_programs,h=void 0===f?[]:f,C=l.hackedavailable;return(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:m}),(0,o.createComponentVNode)(2,a.Button,{content:"Reset",onClick:function(){return c("PRG_reseterror")}})]}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk usage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d,minValue:0,maxValue:u,children:d+" GQ / "+u+" GQ"})})})}),(0,o.createComponentVNode)(2,a.Section,{children:p.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))}),!!C&&(0,o.createComponentVNode)(2,a.Section,{title:"UNKNOWN Software Repository",children:[(0,o.createComponentVNode)(2,a.NoticeBox,{mb:1,children:"Please note that Nanotrasen does not recommend download of software from non-official servers."}),h.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))]})],0)};var i=function(e){var t=e.program,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.disk_size,u=c.disk_used,d=c.downloadcompletion,s=c.downloading,p=c.downloadname,m=c.downloadsize,f=l-u;return(0,o.createComponentVNode)(2,a.Box,{mb:3,children:[(0,o.createComponentVNode)(2,a.Flex,{align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{bold:!0,grow:1,children:t.filedesc}),(0,o.createComponentVNode)(2,a.Flex.Item,{color:"label",nowrap:!0,children:[t.size," GQ"]}),(0,o.createComponentVNode)(2,a.Flex.Item,{ml:2,width:"94px",textAlign:"center",children:t.filename===p&&(0,o.createComponentVNode)(2,a.ProgressBar,{color:"green",minValue:0,maxValue:m,value:d})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Download",disabled:s||t.size>f,onClick:function(){return i("PRG_downloadfile",{filename:t.filename})}})})]}),"Compatible"!==t.compatibility&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Incompatible!"]}),t.size>f&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Not enough disk space!"]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,color:"label",fontSize:"12px",children:t.fileinfo})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosSupermatterMonitor=void 0;var o=n(1),r=n(22),a=n(70),i=n(18),c=n(3),l=n(2),u=n(37),d=function(e){return Math.log2(16+Math.max(0,e))-4};t.NtosSupermatterMonitor=function(e){var t=e.state,n=(0,c.useBackend)(e),p=n.act,m=n.data,f=m.active,h=m.SM_integrity,C=m.SM_power,g=m.SM_ambienttemp,b=m.SM_ambientpressure;if(!f)return(0,o.createComponentVNode)(2,s,{state:t});var N=(0,a.flow)([function(e){return e.filter((function(e){return e.amount>=.01}))},(0,r.sortBy)((function(e){return-e.amount}))])(m.gases||[]),v=Math.max.apply(Math,[1].concat(N.map((function(e){return e.amount}))));return(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"270px",children:(0,o.createComponentVNode)(2,l.Section,{title:"Metrics",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:h/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Relative EER",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:C,minValue:0,maxValue:5e3,ranges:{good:[-Infinity,5e3],average:[5e3,7e3],bad:[7e3,Infinity]},children:(0,i.toFixed)(C)+" MeV/cm3"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(g),minValue:0,maxValue:d(1e4),ranges:{teal:[-Infinity,d(80)],good:[d(80),d(373)],average:[d(373),d(1e3)],bad:[d(1e3),Infinity]},children:(0,i.toFixed)(g)+" K"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(b),minValue:0,maxValue:d(5e4),ranges:{good:[d(1),d(300)],average:[-Infinity,d(1e3)],bad:[d(1e3),+Infinity]},children:(0,i.toFixed)(b)+" kPa"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{title:"Gases",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"arrow-left",content:"Back",onClick:function(){return p("PRG_clear")}}),children:(0,o.createComponentVNode)(2,l.Box.Forced,{height:24*N.length+"px",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:N.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,u.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,u.getGasColor)(e.name),value:e.amount,minValue:0,maxValue:v,children:(0,i.toFixed)(e.amount,2)+"%"})},e.name)}))})})})})]})};var s=function(e){var t=(0,c.useBackend)(e),n=t.act,r=t.data.supermatters,a=void 0===r?[]:r;return(0,o.createComponentVNode)(2,l.Section,{title:"Detected Supermatters",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"sync",content:"Refresh",onClick:function(){return n("PRG_refresh")}}),children:(0,o.createComponentVNode)(2,l.Table,{children:a.map((function(e){return(0,o.createComponentVNode)(2,l.Table.Row,{children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.uid+". "+e.area_name}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,color:"label",children:"Integrity:"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,width:"120px",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:e.integrity/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,l.Button,{content:"Details",onClick:function(){return n("PRG_set",{target:e.uid})}})})]},e.uid)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosWrapper=void 0;var o=n(1),r=n(3),a=n(2),i=n(116);t.NtosWrapper=function(e){var t=e.children,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.PC_batteryicon,d=l.PC_showbatteryicon,s=l.PC_batterypercent,p=l.PC_ntneticon,m=l.PC_apclinkicon,f=l.PC_stationtime,h=l.PC_programheaders,C=void 0===h?[]:h,g=l.PC_showexitprogram;return(0,o.createVNode)(1,"div","NtosWrapper",[(0,o.createVNode)(1,"div","NtosWrapper__header NtosHeader",[(0,o.createVNode)(1,"div","NtosHeader__left",[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:2,children:f}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,italic:!0,mr:2,opacity:.33,children:"NtOS"})],4),(0,o.createVNode)(1,"div","NtosHeader__right",[C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:e.icon})},e.icon)})),(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:p&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:p})}),!!d&&u&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:[u&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:u}),s&&s]}),m&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:m})}),!!g&&(0,o.createComponentVNode)(2,a.Button,{width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-minimize-o",tooltip:"Minimize",tooltipPosition:"bottom",onClick:function(){return c("PC_minimize")}}),!!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-close-o",tooltip:"Close",tooltipPosition:"bottom-left",onClick:function(){return c("PC_exit")}}),!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"power-off",tooltip:"Power off",tooltipPosition:"bottom-left",onClick:function(){return c("PC_shutdown")}})],0)],4,{onMouseDown:function(){(0,i.refocusLayout)()}}),(0,o.createVNode)(1,"div","NtosWrapper__content",t,0)],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NuclearBomb=void 0;var o=n(1),r=n(11),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e).act;return(0,o.createComponentVNode)(2,i.Box,{width:"185px",children:(0,o.createComponentVNode)(2,i.Grid,{width:"1px",children:[["1","4","7","C"],["2","5","8","0"],["3","6","9","E"]].map((function(e){return(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,mb:1,content:e,textAlign:"center",fontSize:"40px",lineHeight:"50px",width:"55px",className:(0,r.classes)(["NuclearBomb__Button","NuclearBomb__Button--keypad","NuclearBomb__Button--"+e]),onClick:function(){return t("keypad",{digit:e})}},e)}))},e[0])}))})})};t.NuclearBomb=function(e){var t=e.state,n=(0,a.useBackend)(e),r=n.act,l=n.data,u=(l.anchored,l.disk_present,l.status1),d=l.status2;return(0,o.createComponentVNode)(2,i.Box,{m:1,children:[(0,o.createComponentVNode)(2,i.Box,{mb:1,className:"NuclearBomb__displayBox",children:u}),(0,o.createComponentVNode)(2,i.Flex,{mb:1.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Box,{className:"NuclearBomb__displayBox",children:d})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",fontSize:"24px",lineHeight:"23px",textAlign:"center",width:"43px",ml:1,mr:"3px",mt:"3px",className:"NuclearBomb__Button NuclearBomb__Button--keypad",onClick:function(){return r("eject_disk")}})})]}),(0,o.createComponentVNode)(2,i.Flex,{ml:"3px",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,c,{state:t})}),(0,o.createComponentVNode)(2,i.Flex.Item,{ml:1,width:"129px",children:(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ARM",textAlign:"center",fontSize:"28px",lineHeight:"32px",mb:1,className:"NuclearBomb__Button NuclearBomb__Button--C",onClick:function(){return r("arm")}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ANCHOR",textAlign:"center",fontSize:"28px",lineHeight:"32px",className:"NuclearBomb__Button NuclearBomb__Button--E",onClick:function(){return r("anchor")}}),(0,o.createComponentVNode)(2,i.Box,{textAlign:"center",color:"#9C9987",fontSize:"80px",children:(0,o.createComponentVNode)(2,i.Icon,{name:"radiation"})}),(0,o.createComponentVNode)(2,i.Box,{height:"80px",className:"NuclearBomb__NTIcon"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OperatingComputer=void 0;var o=n(1),r=n(3),a=n(2);t.OperatingComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.table,l=i.surgeries,u=void 0===l?[]:l,d=i.procedures,s=void 0===d?[]:d,p=i.patient,m=void 0===p?{}:p;return(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Patient State",children:[!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Table Detected"}),(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Patient State",level:2,children:m?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:m.statstate,children:m.stat}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Type",children:m.blood_type}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m.health,minValue:m.minHealth,maxValue:m.maxHealth,color:m.health>=0?"good":"average",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Respiratory",type:"oxyLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m[e.type]/m.maxHealth,color:"bad",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m[e.type]})})},e.type)}))]}):"No Patient Detected"}),(0,o.createComponentVNode)(2,a.Section,{title:"Initiated Procedures",level:2,children:s.length?s.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Next Step",children:[e.next_step,e.chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.chems_needed],0)]}),!!i.alternative_step&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Alternative Step",children:[e.alternative_step,e.alt_chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.alt_chems_needed],0)]})]})},e.name)})):"No Active Procedures"})]})]},"state"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Surgery Procedures",children:(0,o.createComponentVNode)(2,a.Section,{title:"Advanced Surgery Procedures",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"download",content:"Sync Research Database",onClick:function(){return n("sync")}}),u.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,children:e.desc},e.name)}))]})},"procedures")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OreBox=void 0;var o=n(1),r=n(21),a=n(16),i=n(2);t.OreBox=function(e){var t=e.state,n=t.config,c=t.data,l=n.ref,u=c.materials;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Ores",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Empty",onClick:function(){return(0,a.act)(l,"removeall")}}),children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Ore"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Amount"})]}),u.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.name)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.amount})})]},e.type)}))]})}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{children:["All ores will be placed in here when you are wearing a mining stachel on your belt or in a pocket while dragging the ore box.",(0,o.createVNode)(1,"br"),"Gibtonite is not accepted."]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.OreRedemptionMachine=void 0;var o=n(1),r=n(21),a=n(3),i=n(2);t.OreRedemptionMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,l=r.unclaimedPoints,u=r.materials,d=r.alloys,s=r.diskDesigns,p=r.hasDisk;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.BlockQuote,{mb:1,children:["This machine only accepts ore.",(0,o.createVNode)(1,"br"),"Gibtonite and Slag are not accepted."]}),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:1,children:"Unclaimed points:"}),l,(0,o.createComponentVNode)(2,i.Button,{ml:2,content:"Claim",disabled:0===l,onClick:function(){return n("Claim")}})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{mb:1,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject design disk",onClick:function(){return n("diskEject")}})}),(0,o.createComponentVNode)(2,i.Table,{children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:["File ",e.index,": ",e.name]}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{disabled:!e.canupload,content:"Upload",onClick:function(){return n("diskUpload",{design:e.index})}})})]},e.index)}))})],4)||(0,o.createComponentVNode)(2,i.Button,{icon:"save",content:"Insert design disk",onClick:function(){return n("diskInsert")}})}),(0,o.createComponentVNode)(2,i.Section,{title:"Materials",children:(0,o.createComponentVNode)(2,i.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Release",{id:e.id,sheets:t})}},e.id)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Alloys",children:(0,o.createComponentVNode)(2,i.Table,{children:d.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Smelt",{id:e.id,sheets:t})}},e.id)}))})})],4)};var c=function(e){var t,n;function a(){var t;return(t=e.call(this)||this).state={amount:1},t}return n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,a.prototype.render=function(){var e=this,t=this.state.amount,n=this.props,a=n.material,c=n.onRelease,l=Math.floor(a.amount);return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(a.name).replace("Alloy","")}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:a.value&&a.value+" cr"})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:[l," sheets"]})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.NumberInput,{width:"32px",step:1,stepPixelSize:5,minValue:1,maxValue:50,value:t,onChange:function(t,n){return e.setState({amount:n})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:l<1,content:"Release",onClick:function(){return c(t)}})]})]})},a}(o.Component)},function(e,t,n){"use strict";t.__esModule=!0,t.Pandemic=t.PandemicAntibodyDisplay=t.PandemicSymptomDisplay=t.PandemicDiseaseDisplay=t.PandemicBeakerDisplay=void 0;var o=n(1),r=n(22),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.has_beaker,l=r.beaker_empty,u=r.has_blood,d=r.blood,s=!c||l;return(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Empty and Eject",color:"bad",disabled:s,onClick:function(){return n("empty_eject_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"trash",content:"Empty",disabled:s,onClick:function(){return n("empty_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",disabled:!c,onClick:function(){return n("eject_beaker")}})],4),children:c?l?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Beaker is empty"}):u?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood DNA",children:d&&d.dna||"Unknown"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood Type",children:d&&d.type||"Unknown"})]}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No blood detected"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No beaker loaded"})})};t.PandemicBeakerDisplay=c;var l=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.is_ready;return(r.viruses||[]).map((function(e){var t=e.symptoms||[];return(0,o.createComponentVNode)(2,i.Section,{title:e.can_rename?(0,o.createComponentVNode)(2,i.Input,{value:e.name,onChange:function(t,o){return n("rename_disease",{index:e.index,name:o})}}):e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"flask",content:"Create culture bottle",disabled:!c,onClick:function(){return n("create_culture_bottle",{index:e.index})}}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.description}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Agent",children:e.agent}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Spread",children:e.spread}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Possible Cure",children:e.cure})]})})]}),!!e.is_adv&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Statistics",level:2,children:(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:e.resistance}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:e.stealth})]})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage speed",children:e.stage_speed}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmissibility",children:e.transmission})]})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Symptoms",level:2,children:t.map((function(e){return(0,o.createComponentVNode)(2,i.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,u,{symptom:e})})},e.name)}))})],4)]},e.name)}))};t.PandemicDiseaseDisplay=l;var u=function(e){var t=e.symptom,n=t.name,a=t.desc,c=t.stealth,l=t.resistance,u=t.stage_speed,d=t.transmission,s=t.level,p=t.neutered,m=(0,r.map)((function(e,t){return{desc:e,label:t}}))(t.threshold_desc||{});return(0,o.createComponentVNode)(2,i.Section,{title:n,level:2,buttons:!!p&&(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",children:"Neutered"}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:2,children:a}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Level",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:c}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage Speed",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmission",children:d})]})})]}),m.length>0&&(0,o.createComponentVNode)(2,i.Section,{title:"Thresholds",level:3,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.label,children:e.desc},e.label)}))})})]})};t.PandemicSymptomDisplay=u;var d=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.resistances||[];return(0,o.createComponentVNode)(2,i.Section,{title:"Antibodies",children:c.length>0?(0,o.createComponentVNode)(2,i.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eye-dropper",content:"Create vaccine bottle",disabled:!r.is_ready,onClick:function(){return n("create_vaccine_bottle",{index:e.id})}})},e.name)}))}):(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",mt:1,children:"No antibodies detected."})})};t.PandemicAntibodyDisplay=d;t.Pandemic=function(e){var t=(0,a.useBackend)(e).data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),!!t.has_blood&&(0,o.createFragment)([(0,o.createComponentVNode)(2,l,{state:e.state}),(0,o.createComponentVNode)(2,d,{state:e.state})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PersonalCrafting=void 0;var o=n(1),r=n(22),a=n(3),i=n(2),c=function(e){var t=e.craftables,n=void 0===t?[]:t,r=(0,a.useBackend)(e),c=r.act,l=r.data,u=l.craftability,d=void 0===u?{}:u,s=l.display_compact,p=l.display_craftable_only;return n.map((function(e){return p&&!d[e.ref]?null:s?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,className:"candystripe",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],tooltip:e.tool_text&&"Tools needed: "+e.tool_text,tooltipPosition:"left",onClick:function(){return c("make",{recipe:e.ref})}}),children:e.req_text},e.name):(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],onClick:function(){return c("make",{recipe:e.ref})}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.req_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Required",children:e.req_text}),!!e.catalyst_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Catalyst",children:e.catalyst_text}),!!e.tool_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Tools",children:e.tool_text})]})},e.name)}))};t.PersonalCrafting=function(e){var t=e.state,n=(0,a.useBackend)(e),l=n.act,u=n.data,d=u.busy,s=u.display_craftable_only,p=u.display_compact,m=(0,r.map)((function(e,t){return{category:t,subcategory:e,hasSubcats:"has_subcats"in e,firstSubcatName:Object.keys(e).find((function(e){return"has_subcats"!==e}))}}))(u.crafting_recipes||{}),f=!!d&&(0,o.createComponentVNode)(2,i.Dimmer,{fontSize:"40px",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Box,{mt:30,children:[(0,o.createComponentVNode)(2,i.Icon,{name:"cog",spin:1})," Crafting..."]})});return(0,o.createFragment)([f,(0,o.createComponentVNode)(2,i.Section,{title:"Personal Crafting",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:p?"check-square-o":"square-o",content:"Compact",selected:p,onClick:function(){return l("toggle_compact")}}),(0,o.createComponentVNode)(2,i.Button,{icon:s?"check-square-o":"square-o",content:"Craftable Only",selected:s,onClick:function(){return l("toggle_recipes")}})],4),children:(0,o.createComponentVNode)(2,i.Tabs,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.category,onClick:function(){return l("set_category",{category:e.category,subcategory:e.firstSubcatName})},children:function(){return!e.hasSubcats&&(0,o.createComponentVNode)(2,c,{craftables:e.subcategory,state:t})||(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,n){if("has_subcats"!==n)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n,onClick:function(){return l("set_category",{subcategory:n})},children:function(){return(0,o.createComponentVNode)(2,c,{craftables:e,state:t})}})}))(e.subcategory)})}},e.category)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.PortableGenerator=function(e){var t,n=(0,r.useBackend)(e),i=n.act,c=n.data;return t=c.stack_percent>50?"good":c.stack_percent>15?"average":"bad",(0,o.createFragment)([!c.anchored&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Generator not anchored."}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power switch",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.active?"power-off":"times",onClick:function(){return i("toggle_power")},disabled:!c.ready_to_boot,children:c.active?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:c.sheet_name+" sheets",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t,children:c.sheets}),c.sheets>=1&&(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"eject",disabled:c.active,onClick:function(){return i("eject")},children:"Eject"})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current sheet level",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.stack_percent/100,ranges:{good:[.1,Infinity],average:[.01,.1],bad:[-Infinity,.01]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Heat level",children:c.current_heat<100?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:"Nominal"}):c.current_heat<200?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"average",children:"Caution"}):(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"bad",children:"DANGER"})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current output",children:c.power_output}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",onClick:function(){return i("lower_power")},children:c.power_generated}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return i("higher_power")},children:c.power_generated})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power available",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:!c.connected&&"bad",children:c.connected?c.power_available:"Unconnected"})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableScrubber=t.PortablePump=t.PortableBasicInfo=void 0;var o=n(1),r=n(3),a=n(2),i=n(37),c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.connected,l=i.holding,u=i.on,d=i.pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:c?"good":"average",children:c?"Connected":"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",minHeight:"82px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!l,onClick:function(){return n("eject")}}),children:l?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:l.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.pressure})," kPa"]})]}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No holding tank"})})],4)};t.PortableBasicInfo=c;t.PortablePump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.direction,u=(i.holding,i.target_pressure),d=i.default_pressure,s=i.min_pressure,p=i.max_pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Pump",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-in-alt":"sign-out-alt",content:l?"In":"Out",selected:l,onClick:function(){return n("direction")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,unit:"kPa",width:"75px",minValue:s,maxValue:p,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:u===s,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",disabled:u===d,onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:u===p,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})],4)};t.PortableScrubber=function(e){var t=(0,r.useBackend)(e),n=t.act,l=t.data.filter_types||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Filters",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,i.getGasLabel)(e.gas_id,e.gas_name),selected:e.enabled,onClick:function(){return n("toggle_filter",{val:e.gas_id})}},e.id)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.PowerMonitor=void 0;var o=n(1),r=n(22),a=n(70),i=n(18),c=n(11),l=n(2);var u=5e5,d=function(e){var t=String(e.split(" ")[1]).toLowerCase();return["w","kw","mw","gw"].indexOf(t)},s=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).state={sortByField:null},t}return n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,c.prototype.render=function(){var e=this,t=this.props.state.data,n=t.history,c=this.state.sortByField,s=n.supply[n.supply.length-1]||0,f=n.demand[n.demand.length-1]||0,h=n.supply.map((function(e,t){return[t,e]})),C=n.demand.map((function(e,t){return[t,e]})),g=Math.max.apply(Math,[u].concat(n.supply,n.demand)),b=(0,a.flow)([(0,r.map)((function(e,t){return Object.assign({},e,{id:e.name+t})})),"name"===c&&(0,r.sortBy)((function(e){return e.name})),"charge"===c&&(0,r.sortBy)((function(e){return-e.charge})),"draw"===c&&(0,r.sortBy)((function(e){return-d(e.load)}),(function(e){return-parseFloat(e.load)}))])(t.areas);return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"200px",children:(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Supply",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s,minValue:0,maxValue:g,color:"teal",content:(0,i.toFixed)(s/1e3)+" kW"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Draw",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:f,minValue:0,maxValue:g,color:"pink",content:(0,i.toFixed)(f/1e3)+" kW"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{position:"relative",height:"100%",children:[(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:h,rangeX:[0,h.length-1],rangeY:[0,g],strokeColor:"rgba(0, 181, 173, 1)",fillColor:"rgba(0, 181, 173, 0.25)"}),(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:C,rangeX:[0,C.length-1],rangeY:[0,g],strokeColor:"rgba(224, 57, 151, 1)",fillColor:"rgba(224, 57, 151, 0.25)"})]})})]}),(0,o.createComponentVNode)(2,l.Section,{children:[(0,o.createComponentVNode)(2,l.Box,{mb:1,children:[(0,o.createComponentVNode)(2,l.Box,{inline:!0,mr:2,color:"label",children:"Sort by:"}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"name"===c,content:"Name",onClick:function(){return e.setState({sortByField:"name"!==c&&"name"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"charge"===c,content:"Charge",onClick:function(){return e.setState({sortByField:"charge"!==c&&"charge"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"draw"===c,content:"Draw",onClick:function(){return e.setState({sortByField:"draw"!==c&&"draw"})}})]}),(0,o.createComponentVNode)(2,l.Table,{children:[(0,o.createComponentVNode)(2,l.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Area"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:"Charge"}),(0,o.createComponentVNode)(2,l.Table.Cell,{textAlign:"right",children:"Draw"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Equipment",children:"Eqp"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Lighting",children:"Lgt"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Environment",children:"Env"})]}),b.map((function(e,t){return(0,o.createVNode)(1,"tr","Table__row candystripe",[(0,o.createVNode)(1,"td",null,e.name,0),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",(0,o.createComponentVNode)(2,p,{charging:e.charging,charge:e.charge}),2),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",e.load,0),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.eqp}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.lgt}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.env}),2)],4,null,e.id)}))]})]})],4)},c}(o.Component);t.PowerMonitor=s;var p=function(e){var t=e.charging,n=e.charge;return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Icon,{width:"18px",textAlign:"center",name:0===t&&(n>50?"battery-half":"battery-quarter")||1===t&&"bolt"||2===t&&"battery-full",color:0===t&&(n>50?"yellow":"red")||1===t&&"yellow"||2===t&&"green"}),(0,o.createComponentVNode)(2,l.Box,{inline:!0,width:"36px",textAlign:"right",children:(0,i.toFixed)(n)+"%"})],4)};p.defaultHooks=c.pureComponentHooks;var m=function(e){var t=e.status,n=Boolean(2&t),r=Boolean(1&t),a=(n?"On":"Off")+" ["+(r?"auto":"manual")+"]";return(0,o.createComponentVNode)(2,l.ColorBox,{color:n?"good":"bad",content:r?undefined:"M",title:a})};m.defaultHooks=c.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Radio=void 0;var o=n(1),r=n(22),a=n(18),i=n(3),c=n(2),l=n(37);t.Radio=function(e){var t=(0,i.useBackend)(e),n=t.act,u=t.data,d=u.freqlock,s=u.frequency,p=u.minFrequency,m=u.maxFrequency,f=u.listening,h=u.broadcasting,C=u.command,g=u.useCommand,b=u.subspace,N=u.subspaceSwitchable,v=l.RADIO_CHANNELS.find((function(e){return e.freq===s})),V=(0,r.map)((function(e,t){return{name:t,status:!!e}}))(u.channels);return(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Frequency",children:[d&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"light-gray",children:(0,a.toFixed)(s/10,1)+" kHz"})||(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:10,minValue:p/10,maxValue:m/10,value:s/10,format:function(e){return(0,a.toFixed)(e,1)},onDrag:function(e,t){return n("frequency",{adjust:t-s/10})}}),v&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:v.color,ml:2,children:["[",v.name,"]"]})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Audio",children:[(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:f?"volume-up":"volume-mute",selected:f,onClick:function(){return n("listen")}}),(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:h?"microphone":"microphone-slash",selected:h,onClick:function(){return n("broadcast")}}),!!C&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:g,content:"High volume "+(g?"ON":"OFF"),onClick:function(){return n("command")}}),!!N&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:b,content:"Subspace Tx "+(b?"ON":"OFF"),onClick:function(){return n("subspace")}})]}),!!b&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Channels",children:[0===V.length&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"bad",children:"No encryption keys installed."}),V.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:(0,o.createComponentVNode)(2,c.Button,{icon:e.status?"check-square-o":"square-o",selected:e.status,content:e.name,onClick:function(){return n("channel",{channel:e.name})}})},e.name)}))]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RapidPipeDispenser=void 0;var o=n(1),r=n(11),a=n(3),i=n(2),c=["Atmospherics","Disposals","Transit Tubes"],l={Atmospherics:"wrench",Disposals:"trash-alt","Transit Tubes":"bus",Pipes:"grip-lines","Disposal Pipes":"grip-lines",Devices:"microchip","Heat Exchange":"thermometer-half","Station Equipment":"microchip"},u={grey:"#bbbbbb",amethyst:"#a365ff",blue:"#4466ff",brown:"#b26438",cyan:"#48eae8",dark:"#808080",green:"#1edd00",orange:"#ffa030",purple:"#b535ea",red:"#ff3333",violet:"#6e00f6",yellow:"#ffce26"},d=[{name:"Dispense",bitmask:1},{name:"Connect",bitmask:2},{name:"Destroy",bitmask:4},{name:"Paint",bitmask:8}];t.RapidPipeDispenser=function(e){var t=(0,a.useBackend)(e),n=t.act,s=t.data,p=s.category,m=s.categories,f=void 0===m?[]:m,h=s.selected_color,C=s.piping_layer,g=s.mode,b=s.preview_rows.flatMap((function(e){return e.previews}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Category",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{selected:p===t,icon:l[e],color:"transparent",content:e,onClick:function(){return n("category",{category:t})}},e)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Modes",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:g&e.bitmask,content:e.name,onClick:function(){return n("mode",{mode:e.bitmask})}},e.bitmask)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,width:"64px",color:u[h],content:h}),Object.keys(u).map((function(e){return(0,o.createComponentVNode)(2,i.ColorBox,{ml:1,color:u[e],onClick:function(){return n("color",{paint_color:e})}},e)}))]})]})}),(0,o.createComponentVNode)(2,i.Flex,{m:-.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,children:(0,o.createComponentVNode)(2,i.Section,{children:[0===p&&(0,o.createComponentVNode)(2,i.Box,{mb:1,children:[1,2,3].map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:e===C,content:"Layer "+e,onClick:function(){return n("piping_layer",{piping_layer:e})}},e)}))}),(0,o.createComponentVNode)(2,i.Box,{width:"108px",children:b.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{title:e.dir_name,selected:e.selected,style:{width:"48px",height:"48px",padding:0},onClick:function(){return n("setdir",{dir:e.dir,flipped:e.flipped})},children:(0,o.createComponentVNode)(2,i.Box,{className:(0,r.classes)(["pipes32x32",e.dir+"-"+e.icon_state]),style:{transform:"scale(1.5) translate(17%, 17%)"}})},e.dir)}))})]})}),(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,grow:1,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:f.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{fluid:!0,icon:l[e.cat_name],label:e.cat_name,children:function(){return e.recipes.map((function(t){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,ellipsis:!0,checked:t.selected,content:t.pipe_name,title:t.pipe_name,onClick:function(){return n("pipe_type",{pipe_type:t.pipe_index,category:e.cat_name})}},t.pipe_index)}))}},e.cat_name)}))})})})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Roulette=t.RouletteBetTable=t.RouletteBoard=t.RouletteNumberButton=void 0;var o=n(1),r=n(11),a=n(3),i=n(2),c=n(46);n(16);(0,c.createLogger)("Roulette");var l=function(e){if(0===e)return"green";for(var t=[[1,10],[19,28]],n=!0,o=0;o=r[0]&&e<=r[1]){n=!1;break}}var a=e%2==0;return(n?a:!a)?"red":"black"},u=function(e){var t=e.number,n=(0,a.useBackend)(e).act;return(0,o.createComponentVNode)(2,i.Button,{bold:!0,content:t,color:l(t),width:"40px",height:"28px",fontSize:"20px",textAlign:"center",mb:0,className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:t})}})};t.RouletteNumberButton=u;var d=function(e){var t=e.state,n=(0,a.useBackend)(e).act;return(0,o.createVNode)(1,"table","Table",[(0,o.createVNode)(1,"tr","Roulette__board-row",[(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{content:"0",color:"transparent",height:"88px",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:0})}}),2,{rowSpan:"3"}),[3,6,9,12,15,18,21,24,27,30,33,36].map((function(e){return(0,o.createVNode)(1,"td","Roulette__board-cell Table__cell-collapsing",(0,o.createComponentVNode)(2,u,{state:t,number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2 to 1",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s3rd col"})}}),2)],0),(0,o.createVNode)(1,"tr",null,[[2,5,8,11,14,17,20,23,26,29,32,35].map((function(e){return(0,o.createVNode)(1,"td","Roulette__board-cell Table__cell-collapsing",(0,o.createComponentVNode)(2,u,{state:t,number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2 to 1",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s2nd col"})}}),2)],0),(0,o.createVNode)(1,"tr",null,[[1,4,7,10,13,16,19,22,25,28,31,34].map((function(e){return(0,o.createVNode)(1,"td","Roulette__board-cell Table__cell-collapsing",(0,o.createComponentVNode)(2,u,{state:t,number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2 to 1",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s1st col"})}}),2)],0),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"1st 12",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s1-12"})}}),2,{colSpan:"4"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2nd 12",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s13-24"})}}),2,{colSpan:"4"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"3rd 12",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s25-36"})}}),2,{colSpan:"4"})],4),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"1-18",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s1-18"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Even",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"even"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Black",color:"black",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"black"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Red",color:"red",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"red"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Odd",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"odd"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"19-36",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s19-36"})}}),2,{colSpan:"2"})],4)],4,{style:{width:"1px"}})};t.RouletteBoard=d;var s=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).state={customBet:500},t}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=c.prototype;return u.setCustomBet=function(e){this.setState({customBet:e})},u.render=function(){var e=this,t=(0,a.useBackend)(this.props),n=t.act,c=t.data,u=c.BetType;return u.startsWith("s")&&(u=u.substring(1,u.length)),(0,o.createVNode)(1,"table","Roulette__lowertable",[(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"th",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--header"]),"Last Spun:",16),(0,o.createVNode)(1,"th",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--header"]),"Current Bet:",16)],4),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--spinresult","Roulette__lowertable--spinresult-"+l(c.LastSpin)]),c.LastSpin,0),(0,o.createVNode)(1,"td",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--betscell"]),[(0,o.createComponentVNode)(2,i.Box,{bold:!0,mt:1,mb:1,fontSize:"25px",textAlign:"center",children:[c.BetAmount," cr on ",u]}),(0,o.createComponentVNode)(2,i.Box,{ml:1,mr:1,children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 10 cr",onClick:function(){return n("ChangeBetAmount",{amount:10})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 50 cr",onClick:function(){return n("ChangeBetAmount",{amount:50})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 100 cr",onClick:function(){return n("ChangeBetAmount",{amount:100})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 500 cr",onClick:function(){return n("ChangeBetAmount",{amount:500})}}),(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet custom amount...",onClick:function(){return n("ChangeBetAmount",{amount:e.state.customBet})}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{size:.1,children:(0,o.createComponentVNode)(2,i.NumberInput,{value:this.state.customBet,minValue:0,maxValue:1e3,step:10,stepPixelSize:4,width:"40px",onChange:function(t,n){return e.setCustomBet(n)}})})]})]})],4)],4),(0,o.createVNode)(1,"tr",null,(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,i.Box,{bold:!0,m:1,fontSize:"14px",textAlign:"center",children:"Swipe an ID card with a connected account to spin!"}),2,{colSpan:"2"}),2),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td","Roulette__lowertable--cell",[(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,mr:1,children:"House Balance:"}),(0,o.createComponentVNode)(2,i.Box,{inline:!0,children:c.HouseBalance?c.HouseBalance+" cr":"None"})],4),(0,o.createVNode)(1,"td","Roulette__lowertable--cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:c.IsAnchored?"Bolted":"Unbolted",m:1,color:"transparent",textAlign:"center",onClick:function(){return n("anchor")}}),2)],4)],4)},c}(o.Component);t.RouletteBetTable=s;t.Roulette=function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,d,{state:e.state}),(0,o.createComponentVNode)(2,s,{state:e.state})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SatelliteControl=void 0;var o=n(1),r=n(3),a=n(2),i=n(163);t.SatelliteControl=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.satellites||[];return(0,o.createFragment)([c.meteor_shield&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledListItem,{label:"Coverage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.meteor_shield_coverage/c.meteor_shield_coverage_max,content:100*c.meteor_shield_coverage/c.meteor_shield_coverage_max+"%",ranges:{good:[1,Infinity],average:[.3,1],bad:[-Infinity,.3]}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Satellite Controls",children:(0,o.createComponentVNode)(2,a.Box,{mr:-1,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.active,content:"#"+e.id+" "+e.mode,onClick:function(){return n("toggle",{id:e.id})}},e.id)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ScannerGate=void 0;var o=n(1),r=n(3),a=n(2),i=n(69),c=["Positive","Harmless","Minor","Medium","Harmful","Dangerous","BIOHAZARD"],l=[{name:"Human",value:"human"},{name:"Lizardperson",value:"lizard"},{name:"Flyperson",value:"fly"},{name:"Felinid",value:"felinid"},{name:"Plasmaman",value:"plasma"},{name:"Mothperson",value:"moth"},{name:"Jellyperson",value:"jelly"},{name:"Podperson",value:"pod"},{name:"Golem",value:"golem"},{name:"Zombie",value:"zombie"}],u=[{name:"Starving",value:150},{name:"Obese",value:600}];t.ScannerGate=function(e){var t=e.state,n=(0,r.useBackend)(e),a=n.act,c=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{locked:c.locked,onLockedStatusChange:function(){return a("toggle_lock")}}),!c.locked&&(0,o.createComponentVNode)(2,s,{state:t})],0)};var d={Off:{title:"Scanner Mode: Off",component:function(){return p}},Wanted:{title:"Scanner Mode: Wanted",component:function(){return m}},Guns:{title:"Scanner Mode: Guns",component:function(){return f}},Mindshield:{title:"Scanner Mode: Mindshield",component:function(){return h}},Disease:{title:"Scanner Mode: Disease",component:function(){return C}},Species:{title:"Scanner Mode: Species",component:function(){return g}},Nutrition:{title:"Scanner Mode: Nutrition",component:function(){return b}},Nanites:{title:"Scanner Mode: Nanites",component:function(){return N}}},s=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data.scan_mode,l=d[c]||d.off,u=l.component();return(0,o.createComponentVNode)(2,a.Section,{title:l.title,buttons:"Off"!==c&&(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"back",onClick:function(){return i("set_mode",{new_mode:"Off"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},p=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:"Select a scanning mode below."}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{content:"Wanted",onClick:function(){return t("set_mode",{new_mode:"Wanted"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Guns",onClick:function(){return t("set_mode",{new_mode:"Guns"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Mindshield",onClick:function(){return t("set_mode",{new_mode:"Mindshield"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Disease",onClick:function(){return t("set_mode",{new_mode:"Disease"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Species",onClick:function(){return t("set_mode",{new_mode:"Species"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nutrition",onClick:function(){return t("set_mode",{new_mode:"Nutrition"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nanites",onClick:function(){return t("set_mode",{new_mode:"Nanites"})}})]})],4)},m=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any warrants for their arrest."]}),(0,o.createComponentVNode)(2,v,{state:t})],4)},f=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any guns."]}),(0,o.createComponentVNode)(2,v,{state:t})],4)},h=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","a mindshield."]}),(0,o.createComponentVNode)(2,v,{state:t})],4)},C=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,l=n.data,u=l.reverse,d=l.disease_threshold;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",u?"does not have":"has"," ","a disease equal or worse than ",d,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e===d,content:e,onClick:function(){return i("set_disease_threshold",{new_threshold:e})}},e)}))}),(0,o.createComponentVNode)(2,v,{state:t})],4)},g=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,u=c.reverse,d=c.target_species,s=l.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned is ",u?"not":""," ","of the ",s.name," species.","zombie"===d&&" All zombie types will be detected, including dormant zombies."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_species",{new_species:e.value})}},e.value)}))}),(0,o.createComponentVNode)(2,v,{state:t})],4)},b=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,d=c.target_nutrition,s=u.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","the ",s.name," nutrition level."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_nutrition",{new_nutrition:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,v,{state:t})],4)},N=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,u=c.nanite_cloud;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","nanite cloud ",u,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,width:"65px",minValue:1,maxValue:100,stepPixelSize:2,onChange:function(e,t){return i("set_nanite_cloud",{new_cloud:t})}})})})}),(0,o.createComponentVNode)(2,v,{state:t})],4)},v=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.reverse;return(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scanning Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:i?"Inverted":"Default",icon:i?"random":"long-arrow-alt-right",onClick:function(){return n("toggle_reverse")},color:i?"bad":"good"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleManipulator=void 0;var o=n(1),r=n(22),a=n(3),i=n(2);t.ShuttleManipulator=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.shuttles||[],u=c.templates||{},d=c.selected||{},s=c.existing_shuttle||{};return(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Status",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Table,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"JMP",onClick:function(){return n("jump_to",{type:"mobile",id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Fly",disabled:!e.can_fly,onClick:function(){return n("fly",{id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.id}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.status}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[e.mode,!!e.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),e.timeleft,(0,o.createTextVNode)(")"),(0,o.createComponentVNode)(2,i.Button,{content:"Fast Travel",disabled:!e.can_fast_travel,onClick:function(){return n("fast_travel",{id:e.id})}},e.id)],0)]})]},e.id)}))})})}},"status"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Templates",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:(0,r.map)((function(e,t){var r=e.templates||[];return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.port_id,children:r.map((function(e){var t=e.shuttle_id===d.shuttle_id;return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{content:t?"Selected":"Select",selected:t,onClick:function(){return n("select_template",{shuttle_id:e.shuttle_id})}}),children:(!!e.description||!!e.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:e.description}),!!e.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:e.admin_notes})]})},e.shuttle_id)}))},t)}))(u)})})}},"templates"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Modification",children:(0,o.createComponentVNode)(2,i.Section,{children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{level:2,title:d.name,children:(!!d.description||!!d.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!d.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:d.description}),!!d.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:d.admin_notes})]})}),s?(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: "+s.name,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Jump To",onClick:function(){return n("jump_to",{type:"mobile",id:s.id})}}),children:[s.status,!!s.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),s.timeleft,(0,o.createTextVNode)(")")],0)]})})}):(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: None"}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Status",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Preview",onClick:function(){return n("preview",{shuttle_id:d.shuttle_id})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Load",color:"bad",onClick:function(){return n("load",{shuttle_id:d.shuttle_id})}})]})],0):"No shuttle selected"})},"modification")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Signaler=void 0;var o=n(1),r=n(2),a=n(3),i=n(18);t.Signaler=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.code,u=c.frequency,d=c.minFrequency,s=c.maxFrequency;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Frequency:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:d/10,maxValue:s/10,value:u/10,format:function(e){return(0,i.toFixed)(e,1)},width:13,onDrag:function(e,t){return n("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"freq"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.6,children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Code:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:l,width:13,onDrag:function(e,t){return n("code",{code:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"code"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.8,children:(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{mb:-.1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){return n("signal")}})})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Sleeper=void 0;var o=n(1),r=n(3),a=n(2);t.Sleeper=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.open,l=i.occupant,u=void 0===l?{}:l,d=i.occupied,s=(i.chems||[]).sort((function(e,t){var n=e.name.toLowerCase(),o=t.name.toLowerCase();return no?1:0}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:u.name?u.name:"No Occupant",minHeight:"210px",buttons:!!u.stat&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:u.statstate,children:u.stat}),children:!!d&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.ProgressBar,{value:u.health,minValue:u.minHealth,maxValue:u.maxHealth,ranges:{good:[50,Infinity],average:[0,50],bad:[-Infinity,0]}}),(0,o.createComponentVNode)(2,a.Box,{mt:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Oxygen",type:"oxyLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:u[e.type],minValue:0,maxValue:u.maxHealth,color:"bad"})},e.type)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cells",color:u.cloneLoss?"bad":"good",children:u.cloneLoss?"Damaged":"Healthy"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain",color:u.brainLoss?"bad":"good",children:u.brainLoss?"Abnormal":"Healthy"})]})],4)}),(0,o.createComponentVNode)(2,a.Section,{title:"Medicines",minHeight:"205px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c?"door-open":"door-closed",content:c?"Open":"Closed",onClick:function(){return n("door")}}),children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:"flask",content:e.name,disabled:!(d&&e.allowed),width:"110px",onClick:function(){return n("inject",{chem:e.id})}},e.name)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SlimeBodySwapper=t.BodyEntry=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.body,n=e.swapFunc;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t.htmlcolor,children:t.name}),level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{content:{owner:"You Are Here",stranger:"Occupied",available:"Swap"}[t.occupied],selected:"owner"===t.occupied,color:"stranger"===t.occupied&&"bad",onClick:function(){return n()}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",bold:!0,color:{Dead:"bad",Unconscious:"average",Conscious:"good"}[t.status],children:t.status}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Jelly",children:t.exoticblood}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:t.area})]})})};t.BodyEntry=i;t.SlimeBodySwapper=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data.bodies,l=void 0===c?[]:c;return(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i,{body:e,swapFunc:function(){return n("swap",{ref:e.ref})}},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmartVend=void 0;var o=n(1),r=n(22),a=n(3),i=n(2);t.SmartVend=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createComponentVNode)(2,i.Section,{title:"Storage",buttons:!!c.isdryer&&(0,o.createComponentVNode)(2,i.Button,{icon:c.drying?"stop":"tint",onClick:function(){return n("Dry")},children:c.drying?"Stop drying":"Dry"}),children:0===c.contents.length&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:["Unfortunately, this ",c.name," is empty."]})||(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Item"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"center",children:c.verb?c.verb:"Dispense"})]}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:e.amount}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.Button,{content:"One",disabled:e.amount<1,onClick:function(){return n("Release",{name:e.name,amount:1})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Many",disabled:e.amount<=1,onClick:function(){return n("Release",{name:e.name})}})]})]},t)}))(c.contents)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Smes=void 0;var o=n(1),r=n(3),a=n(2);t.Smes=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return t=l.capacityPercent>=100?"good":l.inputting?"average":"bad",n=l.outputting?"good":l.charge>0?"average":"bad",(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Stored Energy",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:.01*l.capacityPercent,ranges:{good:[.5,Infinity],average:[.15,.5],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.Section,{title:"Input",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.inputAttempt?"sync-alt":"times",selected:l.inputAttempt,onClick:function(){return c("tryinput")},children:l.inputAttempt?"Auto":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:t,children:l.capacityPercent>=100?"Fully Charged":l.inputting?"Charging":"Not Charging"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Input",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.inputLevel/l.inputLevelMax,content:l.inputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Input",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Available",children:l.inputAvailable})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.outputAttempt?"power-off":"times",selected:l.outputAttempt,onClick:function(){return c("tryoutput")},children:l.outputAttempt?"On":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:n,children:l.outputting?"Sending":l.charge>0?"Not Sending":"No Charge"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.outputLevel/l.outputLevelMax,content:l.outputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Outputting",children:l.outputUsed})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SmokeMachine=void 0;var o=n(1),r=n(3),a=n(2);t.SmokeMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.TankContents,l=(i.isTankLoaded,i.TankCurrentVolume),u=i.TankMaxVolume,d=i.active,s=i.setting,p=(i.screen,i.maxSetting),m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Dispersal Tank",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",selected:d,content:d?"On":"Off",onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/u,ranges:{bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{initial:0,value:l||0})," / "+u]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Range",children:[1,2,3,4,5].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:s===e,icon:"plus",content:3*e,disabled:m0?"good":"bad",children:m})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{good:[.66,Infinity],average:[.33,.66],bad:[-Infinity,.33]},minValue:0,maxValue:1,value:l,content:c+" W"})})})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Tracking",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:0===p,onClick:function(){return n("tracking",{mode:0})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:"Timed",selected:1===p,onClick:function(){return n("tracking",{mode:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:2===p,disabled:!f,onClick:function(){return n("tracking",{mode:2})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Azimuth",children:[(0===p||1===p)&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"52px",unit:"\xb0",step:1,stepPixelSize:2,minValue:-360,maxValue:720,value:u,onDrag:function(e,t){return n("azimuth",{value:t})}}),1===p&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"80px",unit:"\xb0/m",step:.01,stepPixelSize:1,minValue:-s-.01,maxValue:s+.01,value:d,format:function(e){return(Math.sign(e)>0?"+":"-")+Math.abs(e)},onDrag:function(e,t){return n("azimuth_rate",{value:t})}}),2===p&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mt:"3px",children:[u+" \xb0"," (auto)"]})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpaceHeater=void 0;var o=n(1),r=n(3),a=n(2);t.SpaceHeater=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Cell",disabled:!i.hasPowercell||!i.open,onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,disabled:!i.hasPowercell,onClick:function(){return n("power")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell",color:!i.hasPowercell&&"bad",children:i.hasPowercell&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.powerLevel/100,content:i.powerLevel+"%",ranges:{good:[.6,Infinity],average:[.3,.6],bad:[-Infinity,.3]}})||"None"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Thermostat",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"18px",color:Math.abs(i.targetTemp-i.currentTemp)>50?"bad":Math.abs(i.targetTemp-i.currentTemp)>20?"average":"good",children:[i.currentTemp,"\xb0C"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:i.open&&(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.targetTemp),width:"65px",unit:"\xb0C",minValue:i.minTemp,maxValue:i.maxTemp,onChange:function(e,t){return n("target",{target:t})}})||i.targetTemp+"\xb0C"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",children:i.open?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"thermometer-half",content:"Auto",selected:"auto"===i.mode,onClick:function(){return n("mode",{mode:"auto"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fire-alt",content:"Heat",selected:"heat"===i.mode,onClick:function(){return n("mode",{mode:"heat"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fan",content:"Cool",selected:"cool"===i.mode,onClick:function(){return n("mode",{mode:"cool"})}})],4):"Auto"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider)]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpawnersMenu=void 0;var o=n(1),r=n(3),a=n(2);t.SpawnersMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.spawners||[];return(0,o.createComponentVNode)(2,a.Section,{children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name+" ("+e.amount_left+" left)",level:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Jump",onClick:function(){return n("jump",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Spawn",onClick:function(){return n("spawn",{name:e.name})}})],4),children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,mb:1,fontSize:"20px",children:e.short_desc}),(0,o.createComponentVNode)(2,a.Box,{children:e.flavor_text}),!!e.important_info&&(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,color:"bad",fontSize:"26px",children:e.important_info})]},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.StationAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.StationAlertConsole=function(e){var t=(0,r.useBackend)(e).data.alarms||[],n=t.Fire||[],i=t.Atmosphere||[],c=t.Power||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Fire Alarms",children:(0,o.createVNode)(1,"ul",null,[0===n.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),n.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Atmospherics Alarms",children:(0,o.createVNode)(1,"ul",null,[0===i.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),i.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Alarms",children:(0,o.createVNode)(1,"ul",null,[0===c.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),c.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SuitStorageUnit=void 0;var o=n(1),r=n(3),a=n(2);t.SuitStorageUnit=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.locked,l=i.open,u=i.safeties,d=i.uv_active,s=i.occupied,p=i.suit,m=i.helmet,f=i.mask,h=i.storage;return(0,o.createFragment)([!(!s||!u)&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Biological entity detected in suit chamber. Please remove before continuing with operation."}),d&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Contents are currently being decontaminated. Please wait."})||(0,o.createComponentVNode)(2,a.Section,{title:"Storage",minHeight:"260px",buttons:(0,o.createFragment)([!l&&(0,o.createComponentVNode)(2,a.Button,{icon:c?"unlock":"lock",content:c?"Unlock":"Lock",onClick:function(){return n("lock")}}),!c&&(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-out-alt":"sign-in-alt",content:l?"Close":"Open",onClick:function(){return n("door")}})],0),children:c&&(0,o.createComponentVNode)(2,a.Box,{mt:6,bold:!0,textAlign:"center",fontSize:"40px",children:[(0,o.createComponentVNode)(2,a.Box,{children:"Unit Locked"}),(0,o.createComponentVNode)(2,a.Icon,{name:"lock"})]})||l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Helmet",children:(0,o.createComponentVNode)(2,a.Button,{icon:m?"square":"square-o",content:m||"Empty",disabled:!m,onClick:function(){return n("dispense",{item:"helmet"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suit",children:(0,o.createComponentVNode)(2,a.Button,{icon:p?"square":"square-o",content:p||"Empty",disabled:!p,onClick:function(){return n("dispense",{item:"suit"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mask",children:(0,o.createComponentVNode)(2,a.Button,{icon:f?"square":"square-o",content:f||"Empty",disabled:!f,onClick:function(){return n("dispense",{item:"mask"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Storage",children:(0,o.createComponentVNode)(2,a.Button,{icon:h?"square":"square-o",content:h||"Empty",disabled:!h,onClick:function(){return n("dispense",{item:"storage"})}})})]})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"recycle",content:"Decontaminate",disabled:s&&u,textAlign:"center",onClick:function(){return n("uv")}})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Tank=void 0;var o=n(1),r=n(3),a=n(2);t.Tank=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.tankPressure/1013,content:i.tankPressure+" kPa",ranges:{good:[.35,Infinity],average:[.15,.35],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:i.ReleasePressure===i.minReleasePressure,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.releasePressure),width:"65px",unit:"kPa",minValue:i.minReleasePressure,maxValue:i.maxReleasePressure,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:i.ReleasePressure===i.maxReleasePressure,onClick:function(){return n("pressure",{pressure:"max"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"",disabled:i.ReleasePressure===i.defaultReleasePressure,onClick:function(){return n("pressure",{pressure:"reset"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TankDispenser=void 0;var o=n(1),r=n(3),a=n(2);t.TankDispenser=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plasma",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.plasma?"square":"square-o",content:"Dispense",disabled:!i.plasma,onClick:function(){return n("plasma")}}),children:i.plasma}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.oxygen?"square":"square-o",content:"Dispense",disabled:!i.oxygen,onClick:function(){return n("oxygen")}}),children:i.oxygen})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ThermoMachine=void 0;var o=n(1),r=n(18),a=n(3),i=n(2);t.ThermoMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.temperature,format:function(e){return(0,r.toFixed)(e,2)}})," K"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.pressure,format:function(e){return(0,r.toFixed)(e,2)}})," kPa"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:Math.round(c.target),unit:"K",width:"62px",minValue:Math.round(c.min),maxValue:Math.round(c.max),step:5,stepPixelSize:3,onDrag:function(e,t){return n("target",{target:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"fast-backward",disabled:c.target===c.min,title:"Minimum temperature",onClick:function(){return n("target",{target:c.min})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",disabled:c.target===c.initial,title:"Room Temperature",onClick:function(){return n("target",{target:c.initial})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"fast-forward",disabled:c.target===c.max,title:"Maximum Temperature",onClick:function(){return n("target",{target:c.max})}})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.TurbineComputer=void 0;var o=n(1),r=n(3),a=n(2);t.TurbineComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=Boolean(i.compressor&&!i.compressor_broke&&i.turbine&&!i.turbine_broke);return(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:i.online?"power-off":"times",content:i.online?"Online":"Offline",selected:i.online,disabled:!c,onClick:function(){return n("toggle_power")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reconnect",onClick:function(){return n("reconnect")}})],4),children:!c&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Compressor Status",color:!i.compressor||i.compressor_broke?"bad":"good",children:i.compressor_broke?i.compressor?"Offline":"Missing":"Online"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Status",color:!i.turbine||i.turbine_broke?"bad":"good",children:i.turbine_broke?i.turbine?"Offline":"Missing":"Online"})]})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Speed",children:[i.rpm," RPM"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Internal Temp",children:[i.temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Generated Power",children:i.power})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Uplink=void 0;var o=n(1),r=n(21),a=n(16),i=n(2);var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={hoveredItem:{},currentSearch:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setHoveredItem=function(e){this.setState({hoveredItem:e})},c.setSearchText=function(e){this.setState({currentSearch:e})},c.render=function(){var e=this,t=this.props.state,n=t.config,r=t.data,c=n.ref,u=r.compact_mode,d=r.lockable,s=r.telecrystals,p=r.categories,m=void 0===p?[]:p,f=this.state,h=f.hoveredItem,C=f.currentSearch;return(0,o.createComponentVNode)(2,i.Section,{title:(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:s>0?"good":"bad",children:[s," TC"]}),buttons:(0,o.createFragment)([(0,o.createTextVNode)("Search"),(0,o.createComponentVNode)(2,i.Input,{value:C,onInput:function(t,n){return e.setSearchText(n)},ml:1,mr:1}),(0,o.createComponentVNode)(2,i.Button,{icon:u?"list":"info",content:u?"Compact":"Detailed",onClick:function(){return(0,a.act)(c,"compact_toggle")}}),!!d&&(0,o.createComponentVNode)(2,i.Button,{icon:"lock",content:"Lock",onClick:function(){return(0,a.act)(c,"lock")}})],0),children:C.length>0?(0,o.createVNode)(1,"table","Table",(0,o.createComponentVNode)(2,l,{compact:!0,items:m.flatMap((function(e){return e.items||[]})).filter((function(e){var t=C.toLowerCase();return String(e.name+e.desc).toLowerCase().includes(t)})),hoveredItem:h,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{item:e.name})}}),2):(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:m.map((function(t){var n=t.name,r=t.items;if(null!==r)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n+" ("+r.length+")",children:function(){return(0,o.createComponentVNode)(2,l,{compact:u,items:r,hoveredItem:h,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{item:e.name})}})}},n)}))})})},r}(o.Component);t.Uplink=c;var l=function(e){var t=e.items,n=e.hoveredItem,a=e.telecrystals,c=e.compact,l=e.onBuy,u=e.onBuyMouseOver,d=e.onBuyMouseOut,s=n&&n.cost||0;return c?(0,o.createComponentVNode)(2,i.Table,{children:t.map((function(e){var t=n&&n.name!==e.name,c=a-sl.user.cash),content:t?"FREE":e.price+" cr",onClick:function(){return(0,r.act)(u,"vend",{ref:e.ref})}})})]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Wires=void 0;var o=n(1),r=n(3),a=n(2);t.Wires=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.wires||[],l=i.status||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{className:"candystripe",label:e.color,labelColor:e.color,color:e.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:e.cut?"Mend":"Cut",onClick:function(){return n("cut",{wire:e.color})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Pulse",onClick:function(){return n("pulse",{wire:e.color})}}),(0,o.createComponentVNode)(2,a.Button,{content:e.attached?"Detach":"Attach",onClick:function(){return n("attach",{wire:e.color})}})],4),children:!!e.wire&&(0,o.createVNode)(1,"i",null,[(0,o.createTextVNode)("("),e.wire,(0,o.createTextVNode)(")")],0)},e.color)}))})}),!!l.length&&(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.SyndPane=t.StatusPane=t.SyndContractor=t.FakeTerminal=void 0;var o=n(1),r=n(2),a=n(3);var i=function(e){var t,n;function a(t){var n;return(n=e.call(this,t)||this).timer=null,n.state={currentIndex:0,currentDisplay:[]},n}n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var i=a.prototype;return i.tick=function(){var e=this.props,t=this.state;t.currentIndex<=e.allMessages.length?(this.setState((function(e){return{currentIndex:e.currentIndex+1}})),t.currentDisplay.push(e.allMessages[t.currentIndex])):(clearTimeout(this.timer),setTimeout(e.onFinished,e.finishedTimeout))},i.componentDidMount=function(){var e=this,t=this.props.linesPerSecond,n=void 0===t?2.5:t;this.timer=setInterval((function(){return e.tick()}),1e3/n)},i.componentWillUnmount=function(){clearTimeout(this.timer)},i.render=function(){return(0,o.createComponentVNode)(2,r.Box,{m:1,children:this.state.currentDisplay.map((function(e){return(0,o.createFragment)([e,(0,o.createVNode)(1,"br")],0,e)}))})},a}(o.Component);t.FakeTerminal=i;t.SyndContractor=function(e){var t=(0,a.useBackend)(e),n=t.data,c=t.act,u=["Recording biometric data...","Analyzing embedded syndicate info...","STATUS CONFIRMED","Contacting syndicate database...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Response received, ack 4851234...","CONFIRM ACC "+Math.round(2e4*Math.random()),"Setting up private accounts...","CONTRACTOR ACCOUNT CREATED","Searching for available contracts...","Searching for available contracts...","Searching for available contracts...","Searching for available contracts...","CONTRACTS FOUND","WELCOME, AGENT"],d=!!n.error&&(0,o.createComponentVNode)(2,r.Dimmer,{children:(0,o.createComponentVNode)(2,r.Box,{backgroundColor:"red",minHeight:"150px",mt:30,ml:15,mr:15,children:(0,o.createComponentVNode)(2,r.Table,{m:1,children:(0,o.createComponentVNode)(2,r.Table.Row,{children:[(0,o.createComponentVNode)(2,r.Table.Cell,{collapsing:!0,fontSize:"100px",children:(0,o.createComponentVNode)(2,r.Icon,{name:"exclamation-triangle",mt:4,ml:2})}),(0,o.createComponentVNode)(2,r.Table.Cell,{verticalAlign:"top",textAlign:"center",children:[(0,o.createComponentVNode)(2,r.Box,{m:1,textAlign:"left",width:"100%",minHeight:"110px",children:n.error}),(0,o.createComponentVNode)(2,r.Button,{content:"Dismiss",onClick:function(){return c("PRG_clear_error")}})]})]})})})});return n.logged_in?n.logged_in&&n.first_load?(0,o.createComponentVNode)(2,r.Box,{backgroundColor:"rgba(0, 0, 0, 0.8)",minHeight:"525px",children:(0,o.createComponentVNode)(2,i,{allMessages:u,finishedTimeout:3e3,onFinished:function(){return c("PRG_set_first_load_finished")}})}):n.info_screen?(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Box,{backgroundColor:"rgba(0, 0, 0, 0.8)",minHeight:"500px",children:(0,o.createComponentVNode)(2,i,{allMessages:["SyndTract v2.0","","We've identified potentional high-value targets that are","currently assigned to your mission area. They are believed","to hold valuable information which could be of immediate","importance to our organisation.","","Listed below are all of the contracts available to you. You","are to bring the specified target to the designated","drop-off, and contact us via this uplink. We will send","a specialised extraction unit to put the body into.","","We want targets alive - but we will sometimes pay slight","amounts if they're not, you just won't recieve the shown","bonus. You can redeem your payment through this uplink in","the form of raw telecrystals, which can be put into your","regular Syndicate uplink to purchase whatever you may need.","We provide you with these crystals the moment you send the","target up to us, which can be collected at anytime through","this system.","","Targets extracted will be ransomed back to the station once","their use to us is fulfilled, with us providing you a small","percentage cut. You may want to be mindful of them","identifying you when they come back. We provide you with","a standard contractor loadout, which will help cover your","identity."],linesPerSecond:10})}),(0,o.createComponentVNode)(2,r.Button,{fluid:!0,content:"CONTINUE",color:"transparent",textAlign:"center",onClick:function(){return c("PRG_toggle_info")}})],4):(0,o.createFragment)([d,(0,o.createComponentVNode)(2,l,{state:e.state})],0):(0,o.createComponentVNode)(2,r.Section,{minHeight:"525px",children:[(0,o.createComponentVNode)(2,r.Box,{width:"100%",textAlign:"center",children:(0,o.createComponentVNode)(2,r.Button,{content:"REGISTER USER",color:"transparent",onClick:function(){return c("PRG_login")}})}),!!n.error&&(0,o.createComponentVNode)(2,r.NoticeBox,{children:n.error})]})};var c=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,r.Section,{title:(0,o.createFragment)([(0,o.createTextVNode)("Contractor Status"),(0,o.createComponentVNode)(2,r.Button,{content:"View Information Again",color:"transparent",mb:0,ml:1,onClick:function(){return n("PRG_toggle_info")}})],4),buttons:(0,o.createComponentVNode)(2,r.Box,{bold:!0,mr:1,children:[i.contract_rep," Rep"]}),children:(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:.85,children:(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"TC Availible",buttons:(0,o.createComponentVNode)(2,r.Button,{content:"Claim",disabled:i.redeemable_tc<=0,onClick:function(){return n("PRG_redeem_TC")}}),children:i.redeemable_tc}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"TC Earned",children:i.earned_tc})]})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Contracts Completed",children:i.contracts_completed}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Current Status",children:"ACTIVE"})]})})]})})};t.StatusPane=c;var l=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,l=i.contractor_hub_items||[],u=i.contracts||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,r.Tabs,{children:[(0,o.createComponentVNode)(2,r.Tabs.Tab,{label:"Contracts",children:(0,o.createComponentVNode)(2,r.Section,{title:"Availible Contracts",buttons:(0,o.createComponentVNode)(2,r.Button,{content:"Call Extraction",disabled:!i.ongoing_contract||i.extraction_enroute,onClick:function(){return n("PRG_call_extraction")}}),children:u.map((function(e){var t=e.status>1;if(!(e.status>=5))return(0,o.createComponentVNode)(2,r.Section,{title:e.target+" ("+e.target_rank+")",level:t?1:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,mr:1,children:[e.payout," (+",e.payout_bonus,") TC"]}),(0,o.createComponentVNode)(2,r.Button,{content:t?"Abort":"Accept",disabled:e.extraction_enroute,color:t&&"bad",onClick:function(){return n("PRG_contract"+(t?"_abort":"-accept"),{contract_id:e.id})}})],4),children:(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{children:e.message}),(0,o.createComponentVNode)(2,r.Grid.Column,{size:.5,children:[(0,o.createComponentVNode)(2,r.Box,{bold:!0,mb:1,children:"Dropoff Location:"}),(0,o.createComponentVNode)(2,r.Box,{children:e.dropoff})]})]})},e.target)}))})}),(0,o.createComponentVNode)(2,r.Tabs.Tab,{label:"Uplink",children:(0,o.createComponentVNode)(2,r.Section,{children:l.map((function(e){var t=e.cost?e.cost+" Rep":"FREE",a=-1!==e.limited;return(0,o.createComponentVNode)(2,r.Section,{title:e.name+" - "+t,level:2,buttons:(0,o.createFragment)([a&&(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,mr:1,children:[e.limited," remaining"]}),(0,o.createComponentVNode)(2,r.Button,{content:"Purchase",disabled:i.redeemable_tc1?r-1:0),i=1;i1?t-1:0),o=1;o0?"good":"bad",content:i>0?"Earned "+i+" times":"Locked"})],0,{style:{"vertical-align":"top"}})],4,null,t)};t.Score=c;t.Achievements=function(e){var t=(0,r.useBackend)(e).data;return(0,o.createComponentVNode)(2,a.Tabs,{children:[t.categories.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e,children:(0,o.createComponentVNode)(2,a.Box,{as:"Table",children:t.achievements.filter((function(t){return t.category===e})).map((function(e){return e.score?(0,o.createComponentVNode)(2,c,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name):(0,o.createComponentVNode)(2,i,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name)}))})},e)})),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"High Scores",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:t.highscore.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e.name,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"#"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Key"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Score"})]}),Object.keys(e.scores).map((function(n,r){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",m:2,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:r+1}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:n===t.user_ckey&&"green",textAlign:"center",children:[0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",mr:2}),n,0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",ml:2})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:e.scores[n]})]},n)}))]})},e.name)}))})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BlockQuote=void 0;var o=n(1),r=n(11),a=n(19);t.BlockQuote=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";var o,r;t.__esModule=!0,t.VNodeFlags=t.ChildFlags=void 0,t.VNodeFlags=o,function(e){e[e.HtmlElement=1]="HtmlElement",e[e.ComponentUnknown=2]="ComponentUnknown",e[e.ComponentClass=4]="ComponentClass",e[e.ComponentFunction=8]="ComponentFunction",e[e.Text=16]="Text",e[e.SvgElement=32]="SvgElement",e[e.InputElement=64]="InputElement",e[e.TextareaElement=128]="TextareaElement",e[e.SelectElement=256]="SelectElement",e[e.Void=512]="Void",e[e.Portal=1024]="Portal",e[e.ReCreate=2048]="ReCreate",e[e.ContentEditable=4096]="ContentEditable",e[e.Fragment=8192]="Fragment",e[e.InUse=16384]="InUse",e[e.ForwardRef=32768]="ForwardRef",e[e.Normalized=65536]="Normalized",e[e.ForwardRefComponent=32776]="ForwardRefComponent",e[e.FormElement=448]="FormElement",e[e.Element=481]="Element",e[e.Component=14]="Component",e[e.DOMRef=2033]="DOMRef",e[e.InUseOrNormalized=81920]="InUseOrNormalized",e[e.ClearInUse=-16385]="ClearInUse",e[e.ComponentKnown=12]="ComponentKnown"}(o||(t.VNodeFlags=o={})),t.ChildFlags=r,function(e){e[e.UnknownChildren=0]="UnknownChildren",e[e.HasInvalidChildren=1]="HasInvalidChildren",e[e.HasVNodeChildren=2]="HasVNodeChildren",e[e.HasNonKeyedChildren=4]="HasNonKeyedChildren",e[e.HasKeyedChildren=8]="HasKeyedChildren",e[e.HasTextChildren=16]="HasTextChildren",e[e.MultipleChildren=12]="MultipleChildren"}(r||(t.ChildFlags=r={}))},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var o=n(1),r=n(11),a=n(19);var i=function(e){var t=e.color,n=e.content,i=e.className,c=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["color","content","className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["ColorBox",i]),color:n?null:"transparent",backgroundColor:t,content:n||"."},c)))};t.ColorBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Collapsible=void 0;var o=n(1),r=n(19),a=n(114);var i=function(e){var t,n;function i(t){var n;n=e.call(this,t)||this;var o=t.open;return n.state={open:o||!1},n}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=this.props,n=this.state.open,i=t.children,c=t.color,l=void 0===c?"default":c,u=t.title,d=t.buttons,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(t,["children","color","title","buttons"]);return(0,o.createComponentVNode)(2,r.Box,{mb:1,children:[(0,o.createVNode)(1,"div","Table",[(0,o.createVNode)(1,"div","Table__cell",(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Button,Object.assign({fluid:!0,color:l,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},s,{children:u}))),2),d&&(0,o.createVNode)(1,"div","Table__cell Table__cell--collapsing",d,0)],0),n&&(0,o.createComponentVNode)(2,r.Box,{mt:1,children:i})]})},i}(o.Component);t.Collapsible=i},function(e,t,n){"use strict";t.__esModule=!0,t.Dimmer=void 0;var o=n(1),r=n(19);t.Dimmer=function(e){var t=e.style,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Box,Object.assign({style:Object.assign({position:"absolute",top:0,bottom:0,left:0,right:0,"background-color":"rgba(0, 0, 0, 0.75)","z-index":1},t)},n)))}},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var o=n(1),r=n(11),a=n(19),i=n(87);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t,n;function l(t){var n;return(n=e.call(this,t)||this).state={selected:t.selected,open:!1},n.handleClick=function(){n.state.open&&n.setOpen(!1)},n}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},u.setOpen=function(e){var t=this;this.setState({open:e}),e?(setTimeout((function(){return window.addEventListener("click",t.handleClick)})),this.menuRef.focus()):window.removeEventListener("click",this.handleClick)},u.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},u.buildMenu=function(){var e=this,t=this.props.options,n=(void 0===t?[]:t).map((function(t){return(0,o.createVNode)(1,"div","Dropdown__menuentry",t,0,{onClick:function(n){e.setSelected(t)}},t)}));return n.length?n:"No Options Found"},u.render=function(){var e=this,t=this.props,n=t.color,l=void 0===n?"default":n,u=t.over,d=t.width,s=(t.onClick,t.selected,c(t,["color","over","width","onClick","selected"])),p=s.className,m=c(s,["className"]),f=u?!this.state.open:this.state.open,h=this.state.open?(0,o.createVNode)(1,"div",(0,r.classes)(["Dropdown__menu",u&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:d}},null,(function(t){e.menuRef=t})):null;return(0,o.createVNode)(1,"div","Dropdown",[(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({width:d,className:(0,r.classes)(["Dropdown__control","Button","Button--color--"+l,p])},m,{onClick:function(t){e.setOpen(!e.state.open)},children:[(0,o.createVNode)(1,"span","Dropdown__selected-text",this.state.selected,0),(0,o.createVNode)(1,"span","Dropdown__arrow-button",(0,o.createComponentVNode)(2,i.Icon,{name:f?"chevron-up":"chevron-down"}),2)]}))),h],0)},l}(o.Component);t.Dropdown=l},function(e,t,n){"use strict";t.__esModule=!0,t.FlexItem=t.computeFlexItemProps=t.Flex=t.computeFlexProps=void 0;var o=n(1),r=n(11),a=n(19);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.className,n=e.direction,o=e.wrap,a=e.align,c=e.justify,l=e.spacing,u=void 0===l?0:l,d=i(e,["className","direction","wrap","align","justify","spacing"]);return Object.assign({className:(0,r.classes)(["Flex",u>0&&"Flex--spacing--"+u,t]),style:Object.assign({},d.style,{"flex-direction":n,"flex-wrap":o,"align-items":a,"justify-content":c})},d)};t.computeFlexProps=c;var l=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},c(e))))};t.Flex=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.grow,o=e.order,a=e.align,c=i(e,["className","grow","order","align"]);return Object.assign({className:(0,r.classes)(["Flex__item",t]),style:Object.assign({},c.style,{"flex-grow":n,order:o,"align-self":a})},c)};t.computeFlexItemProps=u;var d=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},u(e))))};t.FlexItem=d,d.defaultHooks=r.pureComponentHooks,l.Item=d},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var o=n(1),r=n(11),a=n(19);var i=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["NoticeBox",t])},n)))};t.NoticeBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.NumberInput=void 0;var o=n(1),r=n(18),a=n(11),i=n(16),c=n(158),l=n(19);var u=function(e){var t,n;function u(t){var n;n=e.call(this,t)||this;var a=t.value;return n.inputRef=(0,o.createRef)(),n.state={value:a,dragging:!1,editing:!1,internalValue:null,origin:null,suppressingFlicker:!1},n.flickerTimer=null,n.suppressFlicker=function(){var e=n.props.suppressFlicker;e>0&&(n.setState({suppressingFlicker:!0}),clearTimeout(n.flickerTimer),n.flickerTimer=setTimeout((function(){return n.setState({suppressingFlicker:!1})}),e))},n.handleDragStart=function(e){var t=n.props.value;n.state.editing||(document.body.style["pointer-events"]="none",n.ref=e.target,n.setState({dragging:!1,origin:e.screenY,value:t,internalValue:t}),n.timer=setTimeout((function(){n.setState({dragging:!0})}),250),n.dragInterval=setInterval((function(){var t=n.state,o=t.dragging,r=t.value,a=n.props.onDrag;o&&a&&a(e,r)}),500),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,o=t.minValue,a=t.maxValue,i=t.step,c=t.stepPixelSize;n.setState((function(t){var n=Object.assign({},t),l=n.origin-e.screenY;if(t.dragging){var u=Number.isFinite(o)?o%i:0;n.internalValue=(0,r.clamp)(n.internalValue+l*i/c,o-i,a+i),n.value=(0,r.clamp)(n.internalValue-n.internalValue%i+u,o,a),n.origin=e.screenY}else Math.abs(l)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,o=t.onChange,r=t.onDrag,a=n.state,i=a.dragging,c=a.value,l=a.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!i,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),i)n.suppressFlicker(),o&&o(e,c),r&&r(e,c);else if(n.inputRef){var u=n.inputRef.current;u.value=l;try{u.focus(),u.select()}catch(d){}}},n}return n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,u.prototype.render=function(){var e=this,t=this.state,n=t.dragging,u=t.editing,d=t.value,s=t.suppressingFlicker,p=this.props,m=p.className,f=p.fluid,h=p.animated,C=p.value,g=p.unit,b=p.minValue,N=p.maxValue,v=p.height,V=p.width,y=p.lineHeight,_=p.fontSize,x=p.format,k=p.onChange,L=p.onDrag,B=C;(n||s)&&(B=d);var w=function(e){return(0,o.createVNode)(1,"div","NumberInput__content",e+(g?" "+g:""),0,{unselectable:i.tridentVersion<=4})},S=h&&!n&&!s&&(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:B,format:x,children:w})||w(x?x(B):B);return(0,o.createComponentVNode)(2,l.Box,{className:(0,a.classes)(["NumberInput",f&&"NumberInput--fluid",m]),minWidth:V,minHeight:v,lineHeight:y,fontSize:_,onMouseDown:this.handleDragStart,children:[(0,o.createVNode)(1,"div","NumberInput__barContainer",(0,o.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,r.clamp)((B-b)/(N-b)*100,0,100)+"%"}}),2),S,(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:u?undefined:"none",height:v,"line-height":y,"font-size":_},onBlur:function(t){if(u){var n=(0,r.clamp)(t.target.value,b,N);e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),L&&L(t,n)}},onKeyDown:function(t){if(13===t.keyCode){var n=(0,r.clamp)(t.target.value,b,N);return e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),void(L&&L(t,n))}27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef)]})},u}(o.Component);t.NumberInput=u,u.defaultHooks=a.pureComponentHooks,u.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50}},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var o=n(1),r=n(11),a=n(18),i=function(e){var t=e.value,n=e.minValue,i=void 0===n?0:n,c=e.maxValue,l=void 0===c?1:c,u=e.ranges,d=void 0===u?{}:u,s=e.content,p=e.children,m=(t-i)/(l-i),f=s!==undefined||p!==undefined,h=e.color;if(!h)for(var C=0,g=Object.keys(d);C=N[0]&&t<=N[1]){h=b;break}}return h||(h="default"),(0,o.createVNode)(1,"div",(0,r.classes)(["ProgressBar","ProgressBar--color--"+h]),[(0,o.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,a.clamp)(m,0,1)+"%"}}),(0,o.createVNode)(1,"div","ProgressBar__content",[f&&s,f&&p,!f&&(0,a.toFixed)(100*m)+"%"],0)],4)};t.ProgressBar=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var o=n(1),r=n(11),a=n(19);var i=function(e){var t=e.className,n=e.title,i=e.level,c=void 0===i?1:i,l=e.buttons,u=e.content,d=e.children,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","title","level","buttons","content","children"]),p=!(0,r.isFalsy)(n)||!(0,r.isFalsy)(l),m=!(0,r.isFalsy)(u)||!(0,r.isFalsy)(d);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Section","Section--level--"+c,t])},s,{children:[p&&(0,o.createVNode)(1,"div","Section__title",[(0,o.createVNode)(1,"span","Section__titleText",n,0),(0,o.createVNode)(1,"div","Section__buttons",l,0)],4),m&&(0,o.createVNode)(1,"div","Section__content",[u,d],0)]})))};t.Section=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Tab=t.Tabs=void 0;var o=n(1),r=n(11),a=n(19),i=n(114);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t=e,n=Array.isArray(t),o=0;for(t=n?t:t[Symbol.iterator]();;){var r;if(n){if(o>=t.length)break;r=t[o++]}else{if((o=t.next()).done)break;r=o.value}var a=r;if(!a.props||"Tab"!==a.props.__type__){var i=JSON.stringify(a,null,2);throw new Error(" only accepts children of type .This is what we received: "+i)}}},u=function(e){var t,n;function u(t){var n;return(n=e.call(this,t)||this).state={activeTabKey:null},n}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var d=u.prototype;return d.getActiveTab=function(){var e=this.state,t=this.props,n=(0,r.normalizeChildren)(t.children);l(n);var o=t.activeTab||e.activeTabKey,a=n.find((function(e){return(e.key||e.props.label)===o}));return a||(a=n[0],o=a&&(a.key||a.props.label)),{tabs:n,activeTab:a,activeTabKey:o}},d.render=function(){var e=this,t=this.props,n=t.className,l=t.vertical,u=(t.children,c(t,["className","vertical","children"])),d=this.getActiveTab(),s=d.tabs,p=d.activeTab,m=d.activeTabKey,f=null;return p&&(f=p.props.content||p.props.children),"function"==typeof f&&(f=f(m)),(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Tabs",l&&"Tabs--vertical",n])},u,{children:[(0,o.createVNode)(1,"div","Tabs__tabBox",s.map((function(t){var n=t.props,a=n.className,l=n.label,u=(n.content,n.children,n.onClick),d=n.highlight,s=c(n,["className","label","content","children","onClick","highlight"]),p=t.key||t.props.label,f=t.active||p===m;return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Button,Object.assign({className:(0,r.classes)(["Tabs__tab",f&&"Tabs__tab--active",d&&!f&&"color-yellow",a]),selected:f,color:"transparent",onClick:function(n){e.setState({activeTabKey:p}),u&&u(n,t)}},s,{children:l}),p))})),0),(0,o.createVNode)(1,"div","Tabs__content",f||null,0)]})))},u}(o.Component);t.Tabs=u;var d=function(e){return null};t.Tab=d,d.defaultProps={__type__:"Tab"},u.Tab=d},function(e,t,n){"use strict";t.__esModule=!0,t.TitleBar=void 0;var o=n(1),r=n(11),a=n(21),i=n(16),c=n(37),l=n(87),u=function(e){switch(e){case c.UI_INTERACTIVE:return"good";case c.UI_UPDATE:return"average";case c.UI_DISABLED:default:return"bad"}},d=function(e){var t=e.className,n=e.title,c=e.status,d=e.fancy,s=e.onDragStart,p=e.onClose;return(0,o.createVNode)(1,"div",(0,r.classes)(["TitleBar",t]),[(0,o.createComponentVNode)(2,l.Icon,{className:"TitleBar__statusIcon",color:u(c),name:"eye"}),(0,o.createVNode)(1,"div","TitleBar__title",n===n.toLowerCase()?(0,a.toTitleCase)(n):n,0),(0,o.createVNode)(1,"div","TitleBar__dragZone",null,1,{onMousedown:function(e){return d&&s(e)}}),!!d&&(0,o.createVNode)(1,"div","TitleBar__close TitleBar__clickable",i.tridentVersion<=4?"x":"\xd7",0,{onclick:p})],0)};t.TitleBar=d,d.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=void 0;var o=n(1),r=n(22),a=n(19),i=n(11),c=n(16);var l=function(e,t,n,o){if(0===e.length)return[];var a=(0,r.zipWith)(Math.min).apply(void 0,e),i=(0,r.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(a[0]=n[0],i[0]=n[1]),o!==undefined&&(a[1]=o[0],i[1]=o[1]),(0,r.map)((function(e){return(0,r.zipWith)((function(e,t,n,o){return(e-t)/(n-t)*o}))(e,a,i,t)}))(e)},u=function(e){for(var t="",n=0;n=0||(r[n]=e[n]);return r}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),g=this.state.viewBox,b=l(r,g,i,c);if(b.length>0){var N=b[0],v=b[b.length-1];b.push([g[0]+h,v[1]]),b.push([g[0]+h,-h]),b.push([-h,-h]),b.push([-h,N[1]])}var V=u(b);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({position:"relative"},C,{children:function(t){return(0,o.normalizeProps)((0,o.createVNode)(1,"div",null,(0,o.createVNode)(32,"svg",null,(0,o.createVNode)(32,"polyline",null,null,1,{transform:"scale(1, -1) translate(0, -"+g[1]+")",fill:s,stroke:m,"stroke-width":h,points:V}),2,{viewBox:"0 0 "+g[0]+" "+g[1],preserveAspectRatio:"none",style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"}}),2,Object.assign({},t),null,e.ref))}})))},r}(o.Component);d.defaultHooks=i.pureComponentHooks;var s={Line:c.tridentVersion<=4?function(e){return null}:d};t.Chart=s},function(e,t,n){"use strict";t.__esModule=!0,t.AiAirlock=void 0;var o=n(1),r=n(3),a=n(2);t.AiAirlock=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c={2:{color:"good",localStatusText:"Offline"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Optimal"}},l=c[i.power.main]||c[0],u=c[i.power.backup]||c[0],d=c[i.shock]||c[0];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main",color:l.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.main,content:"Disrupt",onClick:function(){return n("disrupt-main")}}),children:[i.power.main?"Online":"Offline"," ",i.wires.main_1&&i.wires.main_2?i.power.main_timeleft>0&&"["+i.power.main_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Backup",color:u.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.backup,content:"Disrupt",onClick:function(){return n("disrupt-backup")}}),children:[i.power.backup?"Online":"Offline"," ",i.wires.backup_1&&i.wires.backup_2?i.power.backup_timeleft>0&&"["+i.power.backup_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Electrify",color:d.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",disabled:!(i.wires.shock&&0===i.shock),content:"Restore",onClick:function(){return n("shock-restore")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Temporary",onClick:function(){return n("shock-temp")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Permanent",onClick:function(){return n("shock-perm")}})],4),children:[2===i.shock?"Safe":"Electrified"," ",(i.wires.shock?i.shock_timeleft>0&&"["+i.shock_timeleft+"s]":"[Wires have been cut!]")||-1===i.shock_timeleft&&"[Permanent]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access and Door Control",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID Scan",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.id_scanner?"power-off":"times",content:i.id_scanner?"Enabled":"Disabled",selected:i.id_scanner,disabled:!i.wires.id_scanner,onClick:function(){return n("idscan-toggle")}}),children:!i.wires.id_scanner&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Access",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.emergency?"power-off":"times",content:i.emergency?"Enabled":"Disabled",selected:i.emergency,onClick:function(){return n("emergency-toggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolts",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.locked?"lock":"unlock",content:i.locked?"Lowered":"Raised",selected:i.locked,disabled:!i.wires.bolts,onClick:function(){return n("bolt-toggle")}}),children:!i.wires.bolts&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolt Lights",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.lights?"power-off":"times",content:i.lights?"Enabled":"Disabled",selected:i.lights,disabled:!i.wires.lights,onClick:function(){return n("light-toggle")}}),children:!i.wires.lights&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Force Sensors",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.safe?"power-off":"times",content:i.safe?"Enabled":"Disabled",selected:i.safe,disabled:!i.wires.safe,onClick:function(){return n("safe-toggle")}}),children:!i.wires.safe&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Timing Safety",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.speed?"power-off":"times",content:i.speed?"Enabled":"Disabled",selected:i.speed,disabled:!i.wires.timing,onClick:function(){return n("speed-toggle")}}),children:!i.wires.timing&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Control",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.opened?"sign-out-alt":"sign-in-alt",content:i.opened?"Open":"Closed",selected:i.opened,disabled:i.locked||i.welded,onClick:function(){return n("open-close")}}),children:!(!i.locked&&!i.welded)&&(0,o.createVNode)(1,"span",null,[(0,o.createTextVNode)("[Door is "),i.locked?"bolted":"",i.locked&&i.welded?" and ":"",i.welded?"welded":"",(0,o.createTextVNode)("!]")],0)})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.AirAlarm=void 0;var o=n(1),r=n(18),a=n(21),i=n(3),c=n(2),l=n(37),u=n(69);t.AirAlarm=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.data,c=a.locked&&!a.siliconUser;return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.InterfaceLockNoticeBox,{siliconUser:a.siliconUser,locked:a.locked,onLockStatusChange:function(){return r("lock")}}),(0,o.createComponentVNode)(2,d,{state:t}),!c&&(0,o.createComponentVNode)(2,p,{state:t})],0)};var d=function(e){var t=(0,i.useBackend)(e).data,n=(t.environment_data||[]).filter((function(e){return e.value>=.01})),a={0:{color:"good",localStatusText:"Optimal"},1:{color:"average",localStatusText:"Caution"},2:{color:"bad",localStatusText:"Danger (Internals Required)"}},l=a[t.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.Section,{title:"Air Status",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[n.length>0&&(0,o.createFragment)([n.map((function(e){var t=a[e.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.name,color:t.color,children:[(0,r.toFixed)(e.value,2),e.unit]},e.name)})),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Local status",color:l.color,children:l.localStatusText}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Area status",color:t.atmos_alarm||t.fire_alarm?"bad":"good",children:(t.atmos_alarm?"Atmosphere Alarm":t.fire_alarm&&"Fire Alarm")||"Nominal"})],0)||(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Cannot obtain air sample for analysis."}),!!t.emagged&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Safety measures offline. Device may exhibit abnormal behavior."})]})})},s={home:{title:"Air Controls",component:function(){return m}},vents:{title:"Vent Controls",component:function(){return f}},scrubbers:{title:"Scrubber Controls",component:function(){return C}},modes:{title:"Operating Mode",component:function(){return b}},thresholds:{title:"Alarm Thresholds",component:function(){return N}}},p=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.config,l=s[a.screen]||s.home,u=l.component();return(0,o.createComponentVNode)(2,c.Section,{title:l.title,buttons:"home"!==a.screen&&(0,o.createComponentVNode)(2,c.Button,{icon:"arrow-left",content:"Back",onClick:function(){return r("tgui:view",{screen:"home"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},m=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data,a=r.mode,l=r.atmos_alarm;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:l?"exclamation-triangle":"exclamation",color:l&&"caution",content:"Area Atmosphere Alarm",onClick:function(){return n(l?"reset":"alarm")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:3===a?"exclamation-triangle":"exclamation",color:3===a&&"danger",content:"Panic Siphon",onClick:function(){return n("mode",{mode:3===a?1:3})}}),(0,o.createComponentVNode)(2,c.Box,{mt:2}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"Vent Controls",onClick:function(){return n("tgui:view",{screen:"vents"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"filter",content:"Scrubber Controls",onClick:function(){return n("tgui:view",{screen:"scrubbers"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"cog",content:"Operating Mode",onClick:function(){return n("tgui:view",{screen:"modes"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"chart-bar",content:"Alarm Thresholds",onClick:function(){return n("tgui:view",{screen:"thresholds"})}})],4)},f=function(e){var t=e.state,n=(0,i.useBackend)(e).data.vents;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},h=function(e){var t=e.id_tag,n=e.long_name,r=e.power,l=e.checks,u=e.excheck,d=e.incheck,s=e.direction,p=e.external,m=e.internal,f=e.extdefault,h=e.intdefault,C=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(n),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:r?"power-off":"times",selected:r,content:r?"On":"Off",onClick:function(){return C("power",{id_tag:t,val:Number(!r)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:"release"===s?"Pressurizing":"Releasing"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"sign-in-alt",content:"Internal",selected:d,onClick:function(){return C("incheck",{id_tag:t,val:l})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"External",selected:u,onClick:function(){return C("excheck",{id_tag:t,val:l})}})]}),!!d&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Internal Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(m),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_internal_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:h,content:"Reset",onClick:function(){return C("reset_internal_pressure",{id_tag:t})}})]}),!!u&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"External Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(p),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_external_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:f,content:"Reset",onClick:function(){return C("reset_external_pressure",{id_tag:t})}})]})]})})},C=function(e){var t=e.state,n=(0,i.useBackend)(e).data.scrubbers;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,g,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},g=function(e){var t=e.long_name,n=e.power,r=e.scrubbing,u=e.id_tag,d=e.widenet,s=e.filter_types,p=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(t),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:n?"power-off":"times",content:n?"On":"Off",selected:n,onClick:function(){return p("power",{id_tag:u,val:Number(!n)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:[(0,o.createComponentVNode)(2,c.Button,{icon:r?"filter":"sign-in-alt",color:r||"danger",content:r?"Scrubbing":"Siphoning",onClick:function(){return p("scrubbing",{id_tag:u,val:Number(!r)})}}),(0,o.createComponentVNode)(2,c.Button,{icon:d?"expand":"compress",selected:d,content:d?"Expanded range":"Normal range",onClick:function(){return p("widenet",{id_tag:u,val:Number(!d)})}})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Filters",children:r&&s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,l.getGasLabel)(e.gas_id,e.gas_name),title:e.gas_name,selected:e.enabled,onClick:function(){return p("toggle_filter",{id_tag:u,val:e.gas_id})}},e.gas_id)}))||"N/A"})]})})},b=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data.modes;return r&&0!==r.length?r.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:e.selected?"check-square-o":"square-o",selected:e.selected,color:e.selected&&e.danger&&"danger",content:e.name,onClick:function(){return n("mode",{mode:e.mode})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1})],4,e.mode)})):"Nothing to show"},N=function(e){var t=(0,i.useBackend)(e),n=t.act,a=t.data.thresholds;return(0,o.createVNode)(1,"table","LabeledList",[(0,o.createVNode)(1,"thead",null,(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","color-bad","min2",16),(0,o.createVNode)(1,"td","color-average","min1",16),(0,o.createVNode)(1,"td","color-average","max1",16),(0,o.createVNode)(1,"td","color-bad","max2",16)],4),2),(0,o.createVNode)(1,"tbody",null,a.map((function(e){return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td","LabeledList__label",e.name,0),e.settings.map((function(e){return(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,c.Button,{content:(0,r.toFixed)(e.selected,2),onClick:function(){return n("threshold",{env:e.env,"var":e.val})}}),2,null,e.val)}))],0,null,e.name)})),0)],4,{style:{width:"100%"}})}},function(e,t,n){"use strict";t.__esModule=!0,t.AirlockElectronics=void 0;var o=n(1),r=n(3),a=n(2);t.AirlockElectronics=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.regions||[],l={0:{icon:"times-circle"},1:{icon:"stop-circle"},2:{icon:"check-circle"}};return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Main",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access Required",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.oneAccess?"unlock":"lock",content:i.oneAccess?"One":"All",onClick:function(){return n("one_access")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mass Modify",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"check-double",content:"Grant All",onClick:function(){return n("grant_all")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Clear All",onClick:function(){return n("clear_all")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Unrestricted Access",children:[(0,o.createComponentVNode)(2,a.Button,{icon:1&i.unres_direction?"check-square-o":"square-o",content:"North",selected:1&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"1"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:2&i.unres_direction?"check-square-o":"square-o",content:"East",selected:2&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"2"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:4&i.unres_direction?"check-square-o":"square-o",content:"South",selected:4&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"4"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:8&i.unres_direction?"check-square-o":"square-o",content:"West",selected:8&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"8"})}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access",children:(0,o.createComponentVNode)(2,a.Box,{height:"261px",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:c.map((function(e){var t=e.name,r=e.accesses||[],i=l[function(e){var t=!1,n=!1;return e.forEach((function(e){e.req?t=!0:n=!0})),!t&&n?0:t&&n?1:2}(r)].icon;return(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:i,label:t,children:function(){return r.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:e.req?"check-square-o":"square-o",content:e.name,selected:e.req,onClick:function(){return n("set",{access:e.id})}})},e.id)}))}},t)}))})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Apc=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Apc=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u={2:{color:"good",externalPowerText:"External Power",chargingText:"Fully Charged"},1:{color:"average",externalPowerText:"Low External Power",chargingText:"Charging"},0:{color:"bad",externalPowerText:"No External Power",chargingText:"Not Charging"}},d={1:{icon:"terminal",content:"Override Programming",action:"hack"},2:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"},3:{icon:"caret-square-left",content:"Return to Main Core",action:"deoccupy"},4:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"}},s=u[c.externalPower]||u[0],p=u[c.chargingStatus]||u[0],m=c.powerChannels||[],f=d[c.malfStatus]||d[0],h=c.powerCellStatus/100;return c.failTime>0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createVNode)(1,"b",null,(0,o.createVNode)(1,"h3",null,"SYSTEM FAILURE",16),2),(0,o.createVNode)(1,"i",null,"I/O regulators malfunction detected! Waiting for system reboot...",16),(0,o.createVNode)(1,"br"),"Automatic reboot in ",c.failTime," seconds...",(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reboot Now",onClick:function(){return n("reboot")}})]}):(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:c.siliconUser,locked:c.locked,onLockStatusChange:function(){return n("lock")}}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main Breaker",color:s.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",content:c.isOperating?"On":"Off",selected:c.isOperating&&!l,disabled:l,onClick:function(){return n("breaker")}}),children:["[ ",s.externalPowerText," ]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power Cell",children:(0,o.createComponentVNode)(2,a.ProgressBar,{color:"good",value:h})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",color:p.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.chargeMode?"sync":"close",content:c.chargeMode?"Auto":"Off",disabled:l,onClick:function(){return n("charge")}}),children:["[ ",p.chargingText," ]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Channels",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[m.map((function(e){var t=e.topicParams;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.title,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,mx:2,color:e.status>=2?"good":"bad",children:e.status>=2?"On":"Off"}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:!l&&(1===e.status||3===e.status),disabled:l,onClick:function(){return n("channel",t.auto)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:"On",selected:!l&&2===e.status,disabled:l,onClick:function(){return n("channel",t.on)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:!l&&0===e.status,disabled:l,onClick:function(){return n("channel",t.off)}})],4),children:e.powerLoad},e.title)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Load",children:(0,o.createVNode)(1,"b",null,c.totalLoad,0)})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Misc",buttons:!!c.siliconUser&&(0,o.createFragment)([!!c.malfStatus&&(0,o.createComponentVNode)(2,a.Button,{icon:f.icon,content:f.content,color:"bad",onClick:function(){return n(f.action)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){return n("overload")}})],0),children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cover Lock",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.coverLocked?"lock":"unlock",content:c.coverLocked?"Engaged":"Disengaged",disabled:l,onClick:function(){return n("cover")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.emergencyLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("emergency_lighting")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.nightshiftLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("toggle_nightshift")}})})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosAlertConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.priority||[],l=i.minor||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Alarms",children:(0,o.createVNode)(1,"ul",null,[c.length>0?c.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"bad",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Priority Alerts",16),l.length>0?l.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"average",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Minor Alerts",16)],0)})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosControlConsole=void 0;var o=n(1),r=n(22),a=n(18),i=n(3),c=n(2);t.AtmosControlConsole=function(e){var t=(0,i.useBackend)(e),n=t.act,l=t.data,u=l.sensors||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:!!l.tank&&u[0].long_name,children:u.map((function(e){var t=e.gases||{};return(0,o.createComponentVNode)(2,c.Section,{title:!l.tank&&e.long_name,level:2,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure",children:(0,a.toFixed)(e.pressure,2)+" kPa"}),!!e.temperature&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Temperature",children:(0,a.toFixed)(e.temperature,2)+" K"}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:t,children:(0,a.toFixed)(e,2)+"%"})}))(t)]})},e.id_tag)}))}),l.tank&&(0,o.createComponentVNode)(2,c.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"undo",content:"Reconnect",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Injector",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.inputting?"power-off":"times",content:l.inputting?"Injecting":"Off",selected:l.inputting,onClick:function(){return n("input")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Rate",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:l.inputRate,unit:"L/s",width:"63px",minValue:0,maxValue:200,suppressFlicker:2e3,onChange:function(e,t){return n("rate",{rate:t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Regulator",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.outputting?"power-off":"times",content:l.outputting?"Open":"Closed",selected:l.outputting,onClick:function(){return n("output")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Pressure",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:parseFloat(l.outputPressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,suppressFlicker:2e3,onChange:function(e,t){return n("pressure",{pressure:t})}})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosFilter=void 0;var o=n(1),r=n(3),a=n(2),i=n(37);t.AtmosFilter=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.filter_types||[];return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(c.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onDrag:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:c.rate===c.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Filter",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:e.selected,content:(0,i.getGasLabel)(e.id,e.name),onClick:function(){return n("filter",{mode:e.id})}},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosMixer=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosMixer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.set_pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.set_pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 1",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node1_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node1",{concentration:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 2",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node2_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node2",{concentration:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosPump=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosPump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),i.max_rate?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onChange:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.rate===i.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}):(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BankMachine=void 0;var o=n(1),r=n(3),a=n(2);t.BankMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.current_balance,l=i.siphoning,u=i.station_name;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:u+" Vault",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Balance",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"times":"sync",content:l?"Stop Siphoning":"Siphon Credits",selected:l,onClick:function(){return n(l?"halt":"siphon")}}),children:c+" cr"})})}),(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Authorized personnel only"})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BlackmarketUplink=void 0;var o=n(1),r=n(22),a=n(3),i=n(2);t.BlackmarketUplink=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.categories||[],u=c.delivery_methods||[],d=c.delivery_method_description||[],s=c.markets||{},p=c.items||{},m=!!c.buying&&(0,o.createComponentVNode)(2,i.Dimmer,{textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Grid,{mt:20,children:(0,r.map)((function(e){var t=e.name;return"LTSRBT"!==t||c.ltsrbt_built?(0,o.createComponentVNode)(2,i.Grid.Column,{textAlign:"center",position:"relative",children:[(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{fontSize:"30px",children:t}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:d[t]})]}),(0,o.createComponentVNode)(2,i.Button,{content:e.price+" cr",mt:1,disabled:c.moneyc.money,onClick:function(){return n("select",{item:e.id})}})})]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.desc})})]},e.name)}))},e)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.BluespaceArtillery=void 0;var o=n(1),r=n(3),a=n(2);t.BluespaceArtillery=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.notice,l=i.connected,u=i.unlocked,d=i.target;return(0,o.createFragment)([!!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:c}),l?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"crosshairs",disabled:!u,onClick:function(){return n("recalibrate")}}),children:(0,o.createComponentVNode)(2,a.Box,{color:d?"average":"bad",fontSize:"25px",children:d||"No Target Set"})}),(0,o.createComponentVNode)(2,a.Section,{children:u?(0,o.createComponentVNode)(2,a.Box,{style:{margin:"auto"},children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"FIRE",color:"bad",disabled:!d,fontSize:"30px",textAlign:"center",lineHeight:"46px",onClick:function(){return n("fire")}})}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{color:"bad",fontSize:"18px",children:"Bluespace artillery is currently locked."}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"Awaiting authorization via keycard reader from at minimum two station heads."})],4)})],4):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Maintenance",children:(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",content:"Complete Deployment",onClick:function(){return n("build")}})})})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Bepis=void 0;var o=n(1),r=(n(21),n(16)),a=n(2);t.Bepis=function(e){var t=e.state,n=t.config,i=t.data,c=n.ref,l=i.amount;return(0,o.createComponentVNode)(2,a.Section,{title:"Business Exploration Protocol Incubation Sink",children:[(0,o.createComponentVNode)(2,a.Section,{title:"Information",backgroundColor:"#450F44",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.manual_power?"Off":"On",selected:!i.manual_power,onClick:function(){return(0,r.act)(c,"toggle_power")}}),children:"All you need to know about the B.E.P.I.S. and you! The B.E.P.I.S. performs hundreds of tests a second using electrical and financial resources to invent new products, or discover new technologies otherwise overlooked for being too risky or too niche to produce!"}),(0,o.createComponentVNode)(2,a.Section,{title:"Payer's Account",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"redo-alt",content:"Reset Account",onClick:function(){return(0,r.act)(c,"account_reset")}}),children:["Console is currently being operated by ",i.account_owner?i.account_owner:"no one","."]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Stored Data and Statistics",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposited Credits",children:i.stored_cash}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Investment Variability",children:[i.accuracy_percentage,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Innovation Bonus",children:i.positive_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Risk Offset",color:"bad",children:i.negative_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposit Amount",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:l,unit:"Credits",minValue:100,maxValue:3e4,step:100,stepPixelSize:2,onChange:function(e,t){return(0,r.act)(c,"amount",{amount:t})}})})]})}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"donate",content:"Deposit Credits",disabled:1===i.manual_power||1===i.silicon_check,onClick:function(){return(0,r.act)(c,"deposit_cash")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Withdraw Credits",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"withdraw_cash")}})]})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Market Data and Analysis",children:[(0,o.createComponentVNode)(2,a.Box,{children:["Average technology cost: ",i.mean_value]}),i.error_name&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Previous Failure Reason: Deposited cash value too low. Please insert more money for future success."}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"microscope",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"begin_experiment")},content:"Begin Testing"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BorgPanel=void 0;var o=n(1),r=n(3),a=n(2);t.BorgPanel=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.borg||{},l=i.cell||{},u=l.charge/l.maxcharge,d=i.channels||[],s=i.modules||[],p=i.upgrades||[],m=i.ais||[],f=i.laws||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:c.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Rename",onClick:function(){return n("rename")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.emagged?"check-square-o":"square-o",content:"Emagged",selected:c.emagged,onClick:function(){return n("toggle_emagged")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.lockdown?"check-square-o":"square-o",content:"Locked Down",selected:c.lockdown,onClick:function(){return n("toggle_lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.scrambledcodes?"check-square-o":"square-o",content:"Scrambled Codes",selected:c.scrambledcodes,onClick:function(){return n("toggle_scrambledcodes")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge",children:[l.missing?(0,o.createVNode)(1,"span","color-bad","No cell installed",16):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,content:l.charge+" / "+l.maxcharge}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("set_charge")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Change",onClick:function(){return n("change_cell")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:"Remove",color:"bad",onClick:function(){return n("remove_cell")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radio Channels",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_radio",{channel:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Module",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:c.active_module===e.type?"check-square-o":"square-o",content:e.name,selected:c.active_module===e.type,onClick:function(){return n("setmodule",{module:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Upgrades",children:p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_upgrade",{upgrade:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Master AI",children:m.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.connected?"check-square-o":"square-o",content:e.name,selected:e.connected,onClick:function(){return n("slavetoai",{slavetoai:e.ref})}},e.ref)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Laws",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.lawupdate?"check-square-o":"square-o",content:"Lawsync",selected:c.lawupdate,onClick:function(){return n("toggle_lawupdate")}}),children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BrigTimer=void 0;var o=n(1),r=n(3),a=n(2);t.BrigTimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Cell Timer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:i.timing?"Stop":"Start",selected:i.timing,onClick:function(){return n(i.timing?"stop":"start")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:i.flash_charging?"Recharging":"Flash",disabled:i.flash_charging,onClick:function(){return n("flash")}})],4),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return n("time",{adjust:-600})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return n("time",{adjust:-100})}})," ",String(i.minutes).padStart(2,"0"),":",String(i.seconds).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return n("time",{adjust:100})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return n("time",{adjust:600})}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Short",onClick:function(){return n("preset",{preset:"short"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Medium",onClick:function(){return n("preset",{preset:"medium"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Long",onClick:function(){return n("preset",{preset:"long"})}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Canister=void 0;var o=n(1),r=n(3),a=n(2);t.Canister=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:["The regulator ",i.hasHoldingTank?"is":"is not"," connected to a tank."]}),(0,o.createComponentVNode)(2,a.Section,{title:"Canister",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Relabel",onClick:function(){return n("relabel")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.tankPressure})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:i.portConnected?"good":"average",content:i.portConnected?"Connected":"Not Connected"}),!!i.isPrototype&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.restricted?"lock":"unlock",color:"caution",content:i.restricted?"Restricted to Engineering":"Public",onClick:function(){return n("restricted")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Valve",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Release Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.releasePressure/(i.maxReleasePressure-i.minReleasePressure),children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.releasePressure})," kPa"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"undo",disabled:i.releasePressure===i.defaultReleasePressure,content:"Reset",onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:i.releasePressure<=i.minReleasePressure,content:"Min",onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("pressure",{pressure:"input"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:i.releasePressure>=i.maxReleasePressure,content:"Max",onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Valve",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.valveOpen?"unlock":"lock",color:i.valveOpen?i.hasHoldingTank?"caution":"danger":null,content:i.valveOpen?"Open":"Closed",onClick:function(){return n("valve")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",buttons:!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",color:i.valveOpen&&"danger",content:"Eject",onClick:function(){return n("eject")}}),children:[!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:i.holdingTank.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.holdingTank.tankPressure})," kPa"]})]}),!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Holding Tank"})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CargoExpress=t.Cargo=void 0;var o=n(1),r=n(22),a=n(16),i=n(2),c=n(69);t.Cargo=function(e){var t=e.state,n=t.config,r=t.data,c=n.ref,s=r.supplies||{},p=r.requests||[],m=r.cart||[],f=m.reduce((function(e,t){return e+t.cost}),0),h=!r.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:1,children:[0===m.length&&"Cart is empty",1===m.length&&"1 item",m.length>=2&&m.length+" items"," ",f>0&&"("+f+" cr)"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"transparent",content:"Clear",onClick:function(){return(0,a.act)(c,"clear")}})],4);return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle",children:r.docked&&!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{content:r.location,onClick:function(){return(0,a.act)(c,"send")}})||r.location}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"CentCom Message",children:r.message}),r.loan&&!r.requestonly?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Loan",children:r.loan_dispatched?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Loaned to Centcom"}):(0,o.createComponentVNode)(2,i.Button,{content:"Loan Shuttle",disabled:!(r.away&&r.docked),onClick:function(){return(0,a.act)(c,"loan")}})}):""]})}),(0,o.createComponentVNode)(2,i.Tabs,{mt:2,children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Catalog",icon:"list",lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Catalog",buttons:(0,o.createFragment)([h,(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:r.self_paid?"check-square-o":"square-o",content:"Buy Privately",selected:r.self_paid,onClick:function(){return(0,a.act)(c,"toggleprivate")}})],0),children:(0,o.createComponentVNode)(2,l,{state:t,supplies:s})})}},"catalog"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Requests ("+p.length+")",icon:"envelope",highlight:p.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Active Requests",buttons:!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Clear",color:"transparent",onClick:function(){return(0,a.act)(c,"denyall")}}),children:(0,o.createComponentVNode)(2,u,{state:t,requests:p})})}},"requests"),!r.requestonly&&(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Checkout ("+m.length+")",icon:"shopping-cart",highlight:m.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Current Cart",buttons:h,children:(0,o.createComponentVNode)(2,d,{state:t,cart:m})})}},"cart")]})],4)};var l=function(e){var t=e.state,n=e.supplies,c=t.config,l=t.data,u=c.ref,d=function(e){var t=n[e].packs;return(0,o.createVNode)(1,"table","LabeledList",t.map((function(e){return(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[e.name,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.small_item&&(0,o.createFragment)([(0,o.createTextVNode)("Small Item")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.access&&(0,o.createFragment)([(0,o.createTextVNode)("Restrictions Apply")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:(l.self_paid?Math.round(1.1*e.cost):e.cost)+" credits",tooltip:e.desc,tooltipPosition:"left",onClick:function(){return(0,a.act)(u,"add",{id:e.id})}}),2)],4,null,e.name)})),0)};return(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e){var t=e.name;return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:t,children:d},t)}))(n)})},u=function(e){var t=e.state,n=e.requests,r=t.config,c=t.data,l=r.ref;return 0===n.length?(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"No Requests"}):(0,o.createVNode)(1,"table","LabeledList",n.map((function(e){return(0,o.createFragment)([(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[(0,o.createTextVNode)("#"),e.id,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__content",e.object,0),(0,o.createVNode)(1,"td","LabeledList__cell",[(0,o.createTextVNode)("By "),(0,o.createVNode)(1,"b",null,e.orderer,0)],4),(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createVNode)(1,"i",null,e.reason,0),2),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",[e.cost,(0,o.createTextVNode)(" credits"),(0,o.createTextVNode)(" "),!c.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"check",color:"good",onClick:function(){return(0,a.act)(l,"approve",{id:e.id})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"bad",onClick:function(){return(0,a.act)(l,"deny",{id:e.id})}})],4)],0)],4)],4,e.id)})),0)},d=function(e){var t=e.state,n=e.cart,r=t.config,c=t.data,l=r.ref;return(0,o.createFragment)([0===n.length&&"Nothing in cart",n.length>0&&(0,o.createComponentVNode)(2,i.LabeledList,{children:n.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{className:"candystripe",label:"#"+e.id,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:2,children:[!!e.paid&&(0,o.createVNode)(1,"b",null,"[Paid Privately]",16)," ",e.cost," credits"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus",onClick:function(){return(0,a.act)(l,"remove",{id:e.id})}})],4),children:e.object},e.id)}))}),n.length>0&&!c.requestonly&&(0,o.createComponentVNode)(2,i.Box,{mt:2,children:1===c.away&&1===c.docked&&(0,o.createComponentVNode)(2,i.Button,{color:"green",style:{"line-height":"28px",padding:"0 12px"},content:"Confirm the order",onClick:function(){return(0,a.act)(l,"send")}})||(0,o.createComponentVNode)(2,i.Box,{opacity:.5,children:["Shuttle in ",c.location,"."]})})],0)};t.CargoExpress=function(e){var t=e.state,n=t.config,r=t.data,u=n.ref,d=r.supplies||{};return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.InterfaceLockNoticeBox,{siliconUser:r.siliconUser,locked:r.locked,onLockStatusChange:function(){return(0,a.act)(u,"lock")},accessText:"a QM-level ID card"}),!r.locked&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo Express",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Landing Location",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Cargo Bay",selected:!r.usingBeacon,onClick:function(){return(0,a.act)(u,"LZCargo")}}),(0,o.createComponentVNode)(2,i.Button,{selected:r.usingBeacon,disabled:!r.hasBeacon,onClick:function(){return(0,a.act)(u,"LZBeacon")},children:[r.beaconzone," (",r.beaconName,")"]}),(0,o.createComponentVNode)(2,i.Button,{content:r.printMsg,disabled:!r.canBuyBeacon,onClick:function(){return(0,a.act)(u,"printBeacon")}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Notice",children:r.message})]})}),(0,o.createComponentVNode)(2,l,{state:t,supplies:d})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.CellularEmporium=void 0;var o=n(1),r=n(3),a=n(2);t.CellularEmporium=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.abilities;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Genetic Points",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Readapt",disabled:!i.can_readapt,onClick:function(){return n("readapt")}}),children:i.genetic_points_remaining})})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{className:"candystripe",label:e.name,buttons:(0,o.createFragment)([e.dna_cost," ",(0,o.createComponentVNode)(2,a.Button,{content:e.owned?"Evolved":"Evolve",selected:e.owned,onClick:function(){return n("evolve",{name:e.name})}})],0),children:[e.desc,(0,o.createComponentVNode)(2,a.Box,{color:"good",children:e.helptext})]},e.name)}))})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CentcomPodLauncher=void 0;var o=n(1),r=(n(21),n(3)),a=n(2);t.CentcomPodLauncher=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:"To use this, simply spawn the atoms you want in one of the five Centcom Supplypod Bays. Items in the bay will then be launched inside your supplypod, one turf-full at a time! You can optionally use the following buttons to configure how the supplypod acts."}),(0,o.createComponentVNode)(2,a.Section,{title:"Centcom Pod Customization (To be used against Helen Weinstein)",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Supply Bay",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bay #1",selected:1===i.bayNumber,onClick:function(){return n("bay1")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #2",selected:2===i.bayNumber,onClick:function(){return n("bay2")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #3",selected:3===i.bayNumber,onClick:function(){return n("bay3")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #4",selected:4===i.bayNumber,onClick:function(){return n("bay4")}}),(0,o.createComponentVNode)(2,a.Button,{content:"ERT Bay",selected:5===i.bayNumber,tooltip:"This bay is located on the western edge of CentCom. Its the\nglass room directly west of where ERT spawn, and south of the\nCentCom ferry. Useful for launching ERT/Deathsquads/etc. onto\nthe station via drop pods.",onClick:function(){return n("bay5")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleport to",children:[(0,o.createComponentVNode)(2,a.Button,{content:i.bay,onClick:function(){return n("teleportCentcom")}}),(0,o.createComponentVNode)(2,a.Button,{content:i.oldArea?i.oldArea:"Where you were",disabled:!i.oldArea,onClick:function(){return n("teleportBack")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Clone Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:"Launch Clones",selected:i.launchClone,tooltip:"Choosing this will create a duplicate of the item to be\nlaunched in Centcom, allowing you to send one type of item\nmultiple times. Either way, the atoms are forceMoved into\nthe supplypod after it lands (but before it opens).",onClick:function(){return n("launchClone")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Launch style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Ordered",selected:1===i.launchChoice,tooltip:'Instead of launching everything in the bay at once, this\nwill "scan" things (one turf-full at a time) in order, left\nto right and top to bottom. undoing will reset the "scanner"\nto the top-leftmost position.',onClick:function(){return n("launchOrdered")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Random",selected:2===i.launchChoice,tooltip:"Instead of launching everything in the bay at once, this\nwill launch one random turf of items at a time.",onClick:function(){return n("launchRandom")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Explosion",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Size",selected:1===i.explosionChoice,tooltip:"This will cause an explosion of whatever size you like\n(including flame range) to occur as soon as the supplypod\nlands. Dont worry, supply-pods are explosion-proof!",onClick:function(){return n("explosionCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Adminbus",selected:2===i.explosionChoice,tooltip:"This will cause a maxcap explosion (dependent on server\nconfig) to occur as soon as the supplypod lands. Dont worry,\nsupply-pods are explosion-proof!",onClick:function(){return n("explosionBus")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Damage",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Damage",selected:1===i.damageChoice,tooltip:"Anyone caught under the pod when it lands will be dealt\nthis amount of brute damage. Sucks to be them!",onClick:function(){return n("damageCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gib",selected:2===i.damageChoice,tooltip:"This will attempt to gib any mob caught under the pod when\nit lands, as well as dealing a nice 5000 brute damage. Ya\nknow, just to be sure!",onClick:function(){return n("damageGib")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Effects",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Stun",selected:i.effectStun,tooltip:"Anyone who is on the turf when the supplypod is launched\nwill be stunned until the supplypod lands. They cant get\naway that easy!",onClick:function(){return n("effectStun")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Delimb",selected:i.effectLimb,tooltip:"This will cause anyone caught under the pod to lose a limb,\nexcluding their head.",onClick:function(){return n("effectLimb")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Yeet Organs",selected:i.effectOrgans,tooltip:"This will cause anyone caught under the pod to lose all\ntheir limbs and organs in a spectacular fashion.",onClick:function(){return n("effectOrgans")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Movement",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bluespace",selected:i.effectBluespace,tooltip:"Gives the supplypod an advanced Bluespace Recyling Device.\nAfter opening, the supplypod will be warped directly to the\nsurface of a nearby NT-designated trash planet (/r/ss13).",onClick:function(){return n("effectBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Stealth",selected:i.effectStealth,tooltip:'This hides the red target icon from appearing when you\nlaunch the supplypod. Combos well with the "Invisible"\nstyle. Sneak attack, go!',onClick:function(){return n("effectStealth")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Quiet",selected:i.effectQuiet,tooltip:"This will keep the supplypod from making any sounds, except\nfor those specifically set by admins in the Sound section.",onClick:function(){return n("effectQuiet")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Reverse Mode",selected:i.effectReverse,tooltip:"This pod will not send any items. Instead, after landing,\nthe supplypod will close (similar to a normal closet closing),\nand then launch back to the right centcom bay to drop off any\nnew contents.",onClick:function(){return n("effectReverse")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile Mode",selected:i.effectMissile,tooltip:"This pod will not send any items. Instead, it will immediately\ndelete after landing (Similar visually to setting openDelay\n& departDelay to 0, but this looks nicer). Useful if you just\nwanna fuck some shit up. Combos well with the Missile style.",onClick:function(){return n("effectMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Any Descent Angle",selected:i.effectCircle,tooltip:"This will make the supplypod come in from any angle. Im not\nsure why this feature exists, but here it is.",onClick:function(){return n("effectCircle")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Machine Gun Mode",selected:i.effectBurst,tooltip:"This will make each click launch 5 supplypods inaccuratly\naround the target turf (a 3x3 area). Combos well with the\nMissile Mode if you dont want shit lying everywhere after.",onClick:function(){return n("effectBurst")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Specific Target",selected:i.effectTarget,tooltip:"This will make the supplypod target a specific atom, instead\nof the mouses position. Smiting does this automatically!",onClick:function(){return n("effectTarget")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name/Desc",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Name/Desc",selected:i.effectName,tooltip:"Allows you to add a custom name and description.",onClick:function(){return n("effectName")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Alert Ghosts",selected:i.effectAnnounce,tooltip:"Alerts ghosts when a pod is launched. Useful if some dumb\nshit is aboutta come outta the pod.",onClick:function(){return n("effectAnnounce")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sound",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Sound",selected:i.fallingSound,tooltip:"Choose a sound to play as the pod falls. Note that for this\nto work right you should know the exact length of the sound,\nin seconds.",onClick:function(){return n("fallSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Sound",selected:i.landingSound,tooltip:"Choose a sound to play when the pod lands.",onClick:function(){return n("landingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Sound",selected:i.openingSound,tooltip:"Choose a sound to play when the pod opens.",onClick:function(){return n("openingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Sound",selected:i.leavingSound,tooltip:"Choose a sound to play when the pod departs (whether that be\ndelection in the case of a bluespace pod, or leaving for\ncentcom for a reversing pod).",onClick:function(){return n("leavingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Admin Sound Volume",selected:i.soundVolume,tooltip:"Choose the volume for the sound to play at. Default values\nare between 1 and 100, but hey, do whatever. Im a tooltip,\nnot a cop.",onClick:function(){return n("soundVolume")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Timers",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Duration",selected:4!==i.fallDuration,tooltip:"Set how long the animation for the pod falling lasts. Create\ndramatic, slow falling pods!",onClick:function(){return n("fallDuration")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Time",selected:20!==i.landingDelay,tooltip:"Choose the amount of time it takes for the supplypod to hit\nthe station. By default this value is 0.5 seconds.",onClick:function(){return n("landingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Time",selected:30!==i.openingDelay,tooltip:"Choose the amount of time it takes for the supplypod to open\nafter landing. Useful for giving whatevers inside the pod a\nnice dramatic entrance! By default this value is 3 seconds.",onClick:function(){return n("openingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Time",selected:30!==i.departureDelay,tooltip:"Choose the amount of time it takes for the supplypod to leave\nafter landing. By default this value is 3 seconds.",onClick:function(){return n("departureDelay")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.styleChoice,tooltip:"Same color scheme as the normal station-used supplypods",onClick:function(){return n("styleStandard")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.styleChoice,tooltip:"The same as the stations upgraded blue-and-white\nBluespace Supplypods",onClick:function(){return n("styleBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate",selected:4===i.styleChoice,tooltip:"A menacing black and blood-red. Great for sending meme-ops\nin style!",onClick:function(){return n("styleSyndie")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Deathsquad",selected:5===i.styleChoice,tooltip:"A menacing black and dark blue. Great for sending deathsquads\nin style!",onClick:function(){return n("styleBlue")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Cult Pod",selected:6===i.styleChoice,tooltip:"A blood and rune covered cult pod!",onClick:function(){return n("styleCult")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile",selected:7===i.styleChoice,tooltip:"A large missile. Combos well with a missile mode, so the\nmissile doesnt stick around after landing.",onClick:function(){return n("styleMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate Missile",selected:8===i.styleChoice,tooltip:"A large blood-red missile. Combos well with missile mode,\nso the missile doesnt stick around after landing.",onClick:function(){return n("styleSMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Supply Crate",selected:9===i.styleChoice,tooltip:"A large, dark-green military supply crate.",onClick:function(){return n("styleBox")}}),(0,o.createComponentVNode)(2,a.Button,{content:"HONK",selected:10===i.styleChoice,tooltip:"A colorful, clown inspired look.",onClick:function(){return n("styleHONK")}}),(0,o.createComponentVNode)(2,a.Button,{content:"~Fruit",selected:11===i.styleChoice,tooltip:"For when an orange is angry",onClick:function(){return n("styleFruit")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Invisible",selected:12===i.styleChoice,tooltip:'Makes the supplypod invisible! Useful for when you want to\nuse this feature with a gateway or something. Combos well\nwith the "Stealth" and "Quiet Landing" effects.',onClick:function(){return n("styleInvisible")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gondola",selected:13===i.styleChoice,tooltip:"This gondola can control when he wants to deliver his supplies\nif he has a smart enough mind, so offer up his body to ghosts\nfor maximum enjoyment. (Make sure to turn off bluespace and\nset a arbitrarily high open-time if you do!",onClick:function(){return n("styleGondola")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Show Contents (See Through Pod)",selected:14===i.styleChoice,tooltip:"By selecting this, the pod will instead look like whatevers\ninside it (as if it were the contents falling by themselves,\nwithout a pod). Useful for launching mechs at the station\nand standing tall as they soar in from the heavens.",onClick:function(){return n("styleSeeThrough")}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:i.numObjects+" turfs in "+i.bay,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"undo Pody Bay",tooltip:"Manually undoes the possible things to launch in the\npod bay.",onClick:function(){return n("undo")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Enter Launch Mode",selected:i.giveLauncher,tooltip:"THE CODEX ASTARTES CALLS THIS MANEUVER: STEEL RAIN",onClick:function(){return n("giveLauncher")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Clear Selected Bay",color:"bad",tooltip:"This will delete all objs and mobs from the selected bay.",tooltipPosition:"left",onClick:function(){return n("clearBay")}})],4)})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemAcclimator=void 0;var o=n(1),r=n(3),a=n(2);t.ChemAcclimator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Acclimator",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:[i.chem_temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.target_temperature,unit:"K",width:"59px",minValue:0,maxValue:1e3,step:5,stepPixelSize:2,onChange:function(e,t){return n("set_target_temperature",{temperature:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Acceptable Temp. Difference",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.allowed_temperature_difference,unit:"K",width:"59px",minValue:1,maxValue:i.target_temperature,stepPixelSize:2,onChange:function(e,t){n("set_allowed_temperature_difference",{temperature:t})}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.enabled?"On":"Off",selected:i.enabled,onClick:function(){return n("toggle_power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.max_volume,unit:"u",width:"50px",minValue:i.reagent_volume,maxValue:200,step:2,stepPixelSize:2,onChange:function(e,t){return n("change_volume",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Operation",children:i.acclimate_state}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current State",children:i.emptying?"Emptying":"Filling"})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDebugSynthesizer=void 0;var o=n(1),r=n(3),a=n(2);t.ChemDebugSynthesizer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.amount,l=i.beakerCurrentVolume,u=i.beakerMaxVolume,d=i.isBeakerLoaded,s=i.beakerContents,p=void 0===s?[]:s;return(0,o.createComponentVNode)(2,a.Section,{title:"Recipient",buttons:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("ejectBeaker")}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",minValue:1,maxValue:u,step:1,stepPixelSize:2,onChange:function(e,t){return n("amount",{amount:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Input",onClick:function(){return n("input")}})],4):(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Create Beaker",onClick:function(){return n("makecup")}}),children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l})," / "+u+" u"]}),p.length>0?(0,o.createComponentVNode)(2,a.LabeledList,{children:p.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[e.volume," u"]},e.name)}))}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Recipient Empty"})],0):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Recipient"})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDispenser=void 0;var o=n(1),r=n(18),a=n(21),i=n(3),c=n(2);t.ChemDispenser=function(e){var t=(0,i.useBackend)(e),n=t.act,l=t.data,u=!!l.recordingRecipe,d=Object.keys(l.recipes).map((function(e){return{name:e,contents:l.recipes[e]}})),s=l.beakerTransferAmounts||[],p=u&&Object.keys(l.recordingRecipe).map((function(e){return{id:e,name:(0,a.toTitleCase)(e.replace(/_/," ")),volume:l.recordingRecipe[e]}}))||l.beakerContents||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:"Status",buttons:u&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,mx:1,color:"red",children:[(0,o.createComponentVNode)(2,c.Icon,{name:"circle",mr:1}),"Recording"]}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Energy",children:(0,o.createComponentVNode)(2,c.ProgressBar,{value:l.energy/l.maxEnergy,content:(0,r.toFixed)(l.energy)+" units"})})})}),(0,o.createComponentVNode)(2,c.Section,{title:"Recipes",buttons:(0,o.createFragment)([!u&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,mx:1,children:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",content:"Clear recipes",onClick:function(){return n("clear_recipes")}})}),!u&&(0,o.createComponentVNode)(2,c.Button,{icon:"circle",disabled:!l.isBeakerLoaded,content:"Record",onClick:function(){return n("record_recipe")}}),u&&(0,o.createComponentVNode)(2,c.Button,{icon:"ban",color:"transparent",content:"Discard",onClick:function(){return n("cancel_recording")}}),u&&(0,o.createComponentVNode)(2,c.Button,{icon:"save",color:"green",content:"Save",onClick:function(){return n("save_recording")}})],0),children:(0,o.createComponentVNode)(2,c.Box,{mr:-1,children:[d.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"tint",width:"129.5px",lineHeight:"21px",content:e.name,onClick:function(){return n("dispense_recipe",{recipe:e.name})}},e.name)})),0===d.length&&(0,o.createComponentVNode)(2,c.Box,{color:"light-gray",children:"No recipes."})]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Dispense",buttons:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"plus",selected:e===l.amount,content:e,onClick:function(){return n("amount",{target:e})}},e)})),children:(0,o.createComponentVNode)(2,c.Box,{mr:-1,children:l.chemicals.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"tint",width:"129.5px",lineHeight:"21px",content:e.title,onClick:function(){return n("dispense",{reagent:e.id})}},e.id)}))})}),(0,o.createComponentVNode)(2,c.Section,{title:"Beaker",buttons:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"minus",disabled:u,content:e,onClick:function(){return n("remove",{amount:e})}},e)})),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Beaker",buttons:!!l.isBeakerLoaded&&(0,o.createComponentVNode)(2,c.Button,{icon:"eject",content:"Eject",disabled:!l.isBeakerLoaded,onClick:function(){return n("eject")}}),children:(u?"Virtual beaker":l.isBeakerLoaded&&(0,o.createFragment)([(0,o.createComponentVNode)(2,c.AnimatedNumber,{initial:0,value:l.beakerCurrentVolume}),(0,o.createTextVNode)("/"),l.beakerMaxVolume,(0,o.createTextVNode)(" units")],0))||"No beaker"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Contents",children:[(0,o.createComponentVNode)(2,c.Box,{color:"label",children:l.isBeakerLoaded||u?0===p.length&&"Nothing":"N/A"}),p.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{color:"label",children:[(0,o.createComponentVNode)(2,c.AnimatedNumber,{initial:0,value:e.volume})," ","units of ",e.name]},e.name)}))]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemFilter=t.ChemFilterPane=void 0;var o=n(1),r=n(3),a=n(2);var i=function(e){var t=(0,r.useBackend)(e).act,n=e.title,i=e.list,c=e.reagentName,l=e.onReagentInput,u=n.toLowerCase();return(0,o.createComponentVNode)(2,a.Section,{title:n,minHeight:40,ml:.5,mr:.5,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Input,{placeholder:"Reagent",width:"140px",onInput:function(e,t){return l(t)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return t("add",{which:u,name:c})}})],4),children:i.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"minus",content:e,onClick:function(){return t("remove",{which:u,reagent:e})}})],4,e)}))})};t.ChemFilterPane=i;var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={leftReagentName:"",rightReagentName:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setLeftReagentName=function(e){this.setState({leftReagentName:e})},c.setRightReagentName=function(e){this.setState({rightReagentName:e})},c.render=function(){var e=this,t=this.props.state,n=t.data,r=n.left,c=void 0===r?[]:r,l=n.right,u=void 0===l?[]:l;return(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Left",list:c,reagentName:this.state.leftReagentName,onReagentInput:function(t){return e.setLeftReagentName(t)},state:t})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Right",list:u,reagentName:this.state.rightReagentName,onReagentInput:function(t){return e.setRightReagentName(t)},state:t})})]})},r}(o.Component);t.ChemFilter=c},function(e,t,n){"use strict";t.__esModule=!0,t.ChemHeater=void 0;var o=n(1),r=n(18),a=n(3),i=n(2),c=n(164);t.ChemHeater=function(e){var t=(0,a.useBackend)(e),n=t.act,l=t.data,u=l.targetTemp,d=l.isActive,s=l.isBeakerLoaded,p=l.currentTemp,m=l.beakerCurrentVolume,f=l.beakerMaxVolume,h=l.beakerContents,C=void 0===h?[]:h;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Thermostat",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:d?"power-off":"times",selected:d,content:d?"On":"Off",onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target",children:(0,o.createComponentVNode)(2,i.NumberInput,{width:"65px",unit:"K",step:2,stepPixelSize:1,value:(0,r.round)(u),minValue:0,maxValue:1e3,onDrag:function(e,t){return n("temperature",{target:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Reading",children:(0,o.createComponentVNode)(2,i.Box,{width:"60px",textAlign:"right",children:s&&(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:p,format:function(e){return(0,r.toFixed)(e)+" K"}})||"\u2014"})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:!!s&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:2,children:[m," / ",f," units"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}})],4),children:(0,o.createComponentVNode)(2,c.BeakerContents,{beakerLoaded:s,beakerContents:C})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemMaster=void 0;var o=n(1),r=n(16),a=n(2);t.ChemMaster=function(e){var t=e.state,n=t.config,l=t.data,s=n.ref,p=l.screen,m=l.beakerContents,f=void 0===m?[]:m,h=l.bufferContents,C=void 0===h?[]:h,g=l.beakerCurrentVolume,b=l.beakerMaxVolume,N=l.isBeakerLoaded,v=l.isPillBottleLoaded,V=l.pillBottleCurrentAmount,y=l.pillBottleMaxAmount;return"analyze"===p?(0,o.createComponentVNode)(2,d,{state:t}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:!!l.isBeakerLoaded&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:2,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:g,initial:0})," / "+b+" units"]}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return(0,r.act)(s,"eject")}})],4),children:[!N&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"No beaker loaded."}),!!N&&0===f.length&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"Beaker is empty."}),(0,o.createComponentVNode)(2,i,{children:f.map((function(e){return(0,o.createComponentVNode)(2,c,{state:t,chemical:e,transferTo:"buffer"},e.id)}))})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Buffer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:1,children:"Mode:"}),(0,o.createComponentVNode)(2,a.Button,{color:l.mode?"good":"bad",icon:l.mode?"exchange-alt":"times",content:l.mode?"Transfer":"Destroy",onClick:function(){return(0,r.act)(s,"toggleMode")}})],4),children:[0===C.length&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"Buffer is empty."}),(0,o.createComponentVNode)(2,i,{children:C.map((function(e){return(0,o.createComponentVNode)(2,c,{state:t,chemical:e,transferTo:"beaker"},e.id)}))})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Packaging",children:(0,o.createComponentVNode)(2,u,{state:t})}),!!v&&(0,o.createComponentVNode)(2,a.Section,{title:"Pill Bottle",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:2,children:[V," / ",y," pills"]}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return(0,r.act)(s,"ejectPillBottle")}})],4)})],0)};var i=a.Table,c=function(e){var t=e.state,n=e.chemical,i=e.transferTo,c=t.config.ref;return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:n.volume,initial:0})," units of "+n.name]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,a.Button,{content:"1",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:1,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"5",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:5,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"10",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:10,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"All",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:1e3,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"ellipsis-h",title:"Custom amount",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:-1,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"question",title:"Analyze",onClick:function(){return(0,r.act)(c,"analyze",{id:n.id})}})]})]},n.id)},l=function(e){var t=e.label,n=e.amountUnit,r=e.amount,i=e.onChangeAmount,c=e.onCreate,l=e.sideNote;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,children:[(0,o.createComponentVNode)(2,a.NumberInput,{width:14,unit:n,step:1,stepPixelSize:15,value:r,minValue:1,maxValue:10,onChange:i}),(0,o.createComponentVNode)(2,a.Button,{ml:1,content:"Create",onClick:c}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,ml:1,color:"label",content:l})]})},u=function(e){var t,n;function i(){var t;return(t=e.call(this)||this).state={pillAmount:1,patchAmount:1,bottleAmount:1,packAmount:1},t}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=(this.state,this.props),n=t.state.config.ref,i=this.state,c=i.pillAmount,u=i.patchAmount,d=i.bottleAmount,s=i.packAmount,p=t.state.data,m=p.condi,f=p.chosenPillStyle,h=p.pillStyles,C=void 0===h?[]:h;return(0,o.createComponentVNode)(2,a.LabeledList,{children:[!m&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill type",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:5,selected:e.id===f,textAlign:"center",color:"transparent",onClick:function(){return(0,r.act)(n,"pillStyle",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.className})},e.id)}))}),!m&&(0,o.createComponentVNode)(2,l,{label:"Pills",amount:c,amountUnit:"pills",sideNote:"max 50u",onChangeAmount:function(t,n){return e.setState({pillAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"pill",amount:c,volume:"auto"})}}),!m&&(0,o.createComponentVNode)(2,l,{label:"Patches",amount:u,amountUnit:"patches",sideNote:"max 40u",onChangeAmount:function(t,n){return e.setState({patchAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"patch",amount:u,volume:"auto"})}}),!m&&(0,o.createComponentVNode)(2,l,{label:"Bottles",amount:d,amountUnit:"bottles",sideNote:"max 30u",onChangeAmount:function(t,n){return e.setState({bottleAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"bottle",amount:d,volume:"auto"})}}),!!m&&(0,o.createComponentVNode)(2,l,{label:"Packs",amount:s,amountUnit:"packs",sideNote:"max 10u",onChangeAmount:function(t,n){return e.setState({packAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"condimentPack",amount:s,volume:"auto"})}}),!!m&&(0,o.createComponentVNode)(2,l,{label:"Bottles",amount:d,amountUnit:"bottles",sideNote:"max 50u",onChangeAmount:function(t,n){return e.setState({bottleAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"condimentBottle",amount:d,volume:"auto"})}})]})},i}(o.Component),d=function(e){var t=e.state,n=t.config.ref,i=t.data.analyzeVars;return(0,o.createComponentVNode)(2,a.Section,{title:"Analysis Results",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Back",onClick:function(){return(0,r.act)(n,"goScreen",{screen:"home"})}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:i.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",children:i.state}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,a.ColorBox,{color:i.color,mr:1}),i.color]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Description",children:i.description}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Metabolization Rate",children:[i.metaRate," u/minute"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Overdose Threshold",children:i.overD}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Addiction Threshold",children:i.addicD})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemPress=void 0;var o=n(1),r=n(3),a=n(2);t.ChemPress=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.pill_size,l=i.pill_name,u=i.pill_style,d=i.pill_styles,s=void 0===d?[]:d;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",width:"43px",minValue:5,maxValue:50,step:1,stepPixelSize:2,onChange:function(e,t){return n("change_pill_size",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Name",children:(0,o.createComponentVNode)(2,a.Input,{value:l,onChange:function(e,t){return n("change_pill_name",{name:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Style",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:5,selected:e.id===u,textAlign:"center",color:"transparent",onClick:function(){return n("change_pill_style",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.class_name})},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemReactionChamber=void 0;var o=n(1),r=n(16),a=n(2),i=n(22),c=n(11);var l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).state={reagentName:"",reagentQuantity:1},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.setReagentName=function(e){this.setState({reagentName:e})},u.setReagentQuantity=function(e){this.setState({reagentQuantity:e})},u.render=function(){var e=this,t=this.props.state,n=t.config,l=t.data,u=n.ref,d=l.emptying,s=l.reagents||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Reagents",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:d?"bad":"good",children:d?"Emptying":"Filling"}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createVNode)(1,"tr","LabledList__row",[(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:"",placeholder:"Reagent Name",onInput:function(t,n){return e.setReagentName(n)}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td",(0,c.classes)(["LabeledList__buttons","LabeledList__cell"]),[(0,o.createComponentVNode)(2,a.NumberInput,{value:this.state.reagentQuantity,minValue:1,maxValue:100,step:1,stepPixelSize:3,width:"39px",onDrag:function(t,n){return e.setReagentQuantity(n)}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return(0,r.act)(u,"add",{chem:e.state.reagentName,amount:e.state.reagentQuantity})}})],4)],4),(0,i.map)((function(e,t){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return(0,r.act)(u,"remove",{chem:t})}}),children:e},t)}))(s)]})})},l}(o.Component);t.ChemReactionChamber=l},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSplitter=void 0;var o=n(1),r=n(18),a=n(3),i=n(2);t.ChemSplitter=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.straight,u=c.side,d=c.max_transfer;return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Straight",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:l,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"straight",amount:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Side",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:u,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"side",amount:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSynthesizer=void 0;var o=n(1),r=n(18),a=n(3),i=n(2);t.ChemSynthesizer=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.amount,u=c.current_reagent,d=c.chemicals,s=void 0===d?[]:d,p=c.possible_amounts,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"plus",content:(0,r.toFixed)(e,0),selected:e===l,onClick:function(){return n("amount",{target:e})}},(0,r.toFixed)(e,0))}))}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"tint",content:e.title,width:"129px",selected:e.id===u,onClick:function(){return n("select",{reagent:e.id})}},e.id)}))})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.CodexGigas=void 0;var o=n(1),r=n(3),a=n(2);t.CodexGigas=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[i.name,(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prefix",children:["Dark","Hellish","Fallen","Fiery","Sinful","Blood","Fluffy"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:1!==i.currentSection,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Title",children:["Lord","Prelate","Count","Viscount","Vizier","Elder","Adept"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>2,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:["hal","ve","odr","neit","ci","quon","mya","folth","wren","geyr","hil","niet","twou","phi","coa"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>4,onClick:function(){return n(e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suffix",children:["the Red","the Soulless","the Master","the Lord of all things","Jr."].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:4!==i.currentSection,onClick:function(){return n(" "+e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Submit",children:(0,o.createComponentVNode)(2,a.Button,{content:"Search",disabled:i.currentSection<4,onClick:function(){return n("search")}})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.ComputerFabricator=void 0;var o=n(1),r=(n(21),n(3)),a=n(2);t.ComputerFabricator=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{italic:!0,fontSize:"20px",children:"Your perfect device, only three steps away..."}),0!==l.state&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mb:1,icon:"circle",content:"Clear Order",onClick:function(){return c("clean_order")}}),(0,o.createComponentVNode)(2,i,{state:t})],0)};var i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return 0===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 1",minHeight:51,children:[(0,o.createComponentVNode)(2,a.Box,{mt:5,bold:!0,textAlign:"center",fontSize:"40px",children:"Choose your Device"}),(0,o.createComponentVNode)(2,a.Box,{mt:3,children:(0,o.createComponentVNode)(2,a.Grid,{width:"100%",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"laptop",content:"Laptop",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"1"})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"tablet-alt",content:"Tablet",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"2"})}})})]})})]}):1===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 2: Customize your device",minHeight:47,buttons:(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"good",children:[i.totalprice," cr"]}),children:[(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Battery:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to operate without external utility power\nsource. Advanced batteries increase battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Hard Drive:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Stores file on your device. Advanced drives can store more\nfiles, but use more power, shortening battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Network Card:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to wirelessly connect to stationwide NTNet\nnetwork. Basic cards are limited to on-station use, while\nadvanced cards can operate anywhere near the station, which\nincludes asteroid outposts",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Nano Printer:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A device that allows for various paperwork manipulations,\nsuch as, scanning of documents or printing new ones.\nThis device was certified EcoFriendlyPlus and is capable of\nrecycling existing paper for printing purposes.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"1"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Card Reader:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Adds a slot that allows you to manipulate RFID cards.\nPlease note that this is not necessary to allow the device\nto read your identification, it is just necessary to\nmanipulate other cards.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_card,onClick:function(){return n("hw_card",{card:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_card,onClick:function(){return n("hw_card",{card:"1"})}})})]}),2!==i.devtype&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Processor Unit:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A component critical for your device's functionality.\nIt allows you to run programs from your hard drive.\nAdvanced CPUs use more power, but allow you to run\nmore programs on background at once.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Tesla Relay:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"An advanced wireless power relay that allows your device\nto connect to nearby area power controller to provide\nalternative power source. This component is currently\nunavailable on tablet computers due to size restrictions.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"1"})}})})]})],4)]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mt:3,content:"Confirm Order",color:"good",textAlign:"center",fontSize:"18px",lineHeight:"26px",onClick:function(){return n("confirm_order")}})]}):2===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 3: Payment",minHeight:47,children:[(0,o.createComponentVNode)(2,a.Box,{italic:!0,textAlign:"center",fontSize:"20px",children:"Your device is ready for fabrication..."}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:2,textAlign:"center",fontSize:"16px",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:"Please insert the required"})," ",(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:[i.totalprice," cr"]})]}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:1,textAlign:"center",fontSize:"18px",children:"Current:"}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:.5,textAlign:"center",fontSize:"18px",color:i.credits>=i.totalprice?"good":"bad",children:[i.credits," cr"]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Purchase",disabled:i.credits=10&&e<20?i.COLORS.department.security:e>=20&&e<30?i.COLORS.department.medbay:e>=30&&e<40?i.COLORS.department.science:e>=40&&e<50?i.COLORS.department.engineering:e>=50&&e<60?i.COLORS.department.cargo:e>=200&&e<230?i.COLORS.department.centcom:i.COLORS.department.other},u=function(e){var t=e.type,n=e.value;return(0,o.createComponentVNode)(2,a.Box,{inline:!0,width:4,color:i.COLORS.damageType[t],textAlign:"center",children:n})};t.CrewConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,d=i.sensors||[];return(0,o.createComponentVNode)(2,a.Section,{minHeight:90,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,textAlign:"center",children:"Vitals"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Position"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,children:"Tracking"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:(f=e.ijob,f%10==0),color:l(e.ijob),children:[e.name," (",e.assignment,")"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,o.createComponentVNode)(2,a.ColorBox,{color:(t=e.oxydam,r=e.toxdam,d=e.burndam,s=e.brutedam,p=t+r+d+s,m=Math.min(Math.max(Math.ceil(p/25),0),5),c[m])})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:null!==e.oxydam?(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,u,{type:"oxy",value:e.oxydam}),"/",(0,o.createComponentVNode)(2,u,{type:"toxin",value:e.toxdam}),"/",(0,o.createComponentVNode)(2,u,{type:"burn",value:e.burndam}),"/",(0,o.createComponentVNode)(2,u,{type:"brute",value:e.brutedam})]}):e.life_status?"Alive":"Dead"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:null!==e.pos_x?e.area:"N/A"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{content:"Track",disabled:!e.can_track,onClick:function(){return n("select_person",{name:e.name})}})})]},e.name);var t,r,d,s,p,m,f}))]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Cryo=void 0;var o=n(1),r=n(3),a=n(2),i=n(164);t.Cryo=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",content:c.occupant.name?c.occupant.name:"No Occupant"}),!!c.hasOccupant&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",content:c.occupant.stat,color:c.occupant.statstate}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",color:c.occupant.temperaturestatus,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.bodyTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant.health/c.occupant.maxHealth,color:c.occupant.health>0?"good":"average",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant[e.type]/100,children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant[e.type]})})},e.id)}))],0)]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cell",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",content:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",disabled:c.isOpen,onClick:function(){return n("power")},color:c.isOperating&&"green",children:c.isOperating?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.cellTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.isOpen?"unlock":"lock",onClick:function(){return n("door")},content:c.isOpen?"Open":"Closed"}),(0,o.createComponentVNode)(2,a.Button,{icon:c.autoEject?"sign-out-alt":"sign-in-alt",onClick:function(){return n("autoeject")},content:c.autoEject?"Auto":"Manual"})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!c.isBeakerLoaded,onClick:function(){return n("ejectbeaker")},content:"Eject"}),children:(0,o.createComponentVNode)(2,i.BeakerContents,{beakerLoaded:c.isBeakerLoaded,beakerContents:c.beakerContents})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.DecalPainter=void 0;var o=n(1),r=n(3),a=n(2);t.DecalPainter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.decal_list||[],l=i.color_list||[],u=i.dir_list||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Decal Type",children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,selected:e.decal===i.decal_style,onClick:function(){return n("select decal",{decals:e.decal})}},e.decal)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Color",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:"red"===e.colors?"Red":"white"===e.colors?"White":"Yellow",selected:e.colors===i.decal_color,onClick:function(){return n("select color",{colors:e.colors})}},e.colors)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Direction",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:1===e.dirs?"North":2===e.dirs?"South":4===e.dirs?"East":"West",selected:e.dirs===i.decal_direction,onClick:function(){return n("selected direction",{dirs:e.dirs})}},e.dirs)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalUnit=void 0;var o=n(1),r=n(3),a=n(2);t.DisposalUnit=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return l.full_pressure?(t="good",n="Ready"):l.panel_open?(t="bad",n="Power Disabled"):l.pressure_charging?(t="average",n="Pressurizing"):(t="bad",n="Off"),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:t,children:n}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.per,color:"good"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Handle",children:(0,o.createComponentVNode)(2,a.Button,{icon:l.flush?"toggle-on":"toggle-off",disabled:l.isai||l.panel_open,content:l.flush?"Disengage":"Engage",onClick:function(){return c(l.flush?"handle-0":"handle-1")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Eject",children:(0,o.createComponentVNode)(2,a.Button,{icon:"sign-out-alt",disabled:l.isai,content:"Eject Contents",onClick:function(){return c("eject")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",disabled:l.panel_open,selected:l.pressure_charging,onClick:function(){return c(l.pressure_charging?"pump-0":"pump-1")}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DnaVault=void 0;var o=n(1),r=n(3),a=n(2);t.DnaVault=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.completed,l=i.used,u=i.choiceA,d=i.choiceB,s=i.dna,p=i.dna_max,m=i.plants,f=i.plants_max,h=i.animals,C=i.animals_max;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"DNA Vault Database",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Human DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s/p,content:s+" / "+p+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plant DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m/f,content:m+" / "+f+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Animal DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:h/h,content:h+" / "+C+" Samples"})})]})}),!(!c||l)&&(0,o.createComponentVNode)(2,a.Section,{title:"Personal Gene Therapy",children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",mb:1,children:"Applicable Gene Therapy Treatments"}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:u,textAlign:"center",onClick:function(){return n("gene",{choice:u})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:d,textAlign:"center",onClick:function(){return n("gene",{choice:d})}})})]})]})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.EightBallVote=void 0;var o=n(1),r=n(3),a=n(2),i=n(21);t.EightBallVote=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.question,u=c.shaking,d=c.answers,s=void 0===d?[]:d;return u?(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"16px",m:1,children:['"',l,'"']}),(0,o.createComponentVNode)(2,a.Grid,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:(0,i.toTitleCase)(e.answer),selected:e.selected,fontSize:"16px",lineHeight:"24px",textAlign:"center",mb:1,onClick:function(){return n("vote",{answer:e.answer})}}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"30px",children:e.amount})]},e.answer)}))})]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No question is currently being asked."})}},function(e,t,n){"use strict";t.__esModule=!0,t.EmergencyShuttleConsole=void 0;var o=n(1),r=n(2),a=n(3);t.EmergencyShuttleConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,c=i.timer_str,l=i.enabled,u=i.emagged,d=i.engines_started,s=i.authorizations_remaining,p=i.authorizations,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"40px",textAlign:"center",fontFamily:"monospace",children:c}),(0,o.createComponentVNode)(2,r.Box,{textAlign:"center",fontSize:"16px",mb:1,children:[(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,children:"ENGINES:"}),(0,o.createComponentVNode)(2,r.Box,{inline:!0,color:d?"good":"average",ml:1,children:d?"Online":"Idle"})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Early Launch Authorization",level:2,buttons:(0,o.createComponentVNode)(2,r.Button,{icon:"times",content:"Repeal All",color:"bad",disabled:!l,onClick:function(){return n("abort")}}),children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"exclamation-triangle",color:"good",content:"AUTHORIZE",disabled:!l,onClick:function(){return n("authorize")}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"minus",content:"REPEAL",disabled:!l,onClick:function(){return n("repeal")}})})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Authorizations",level:3,minHeight:"150px",buttons:(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,color:u?"bad":"good",children:u?"ERROR":"Remaining: "+s}),children:[m.length>0?m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)})):(0,o.createComponentVNode)(2,r.Box,{bold:!0,textAlign:"center",fontSize:"16px",color:"average",children:"No Active Authorizations"}),m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)}))]})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.EngravedMessage=void 0;var o=n(1),r=n(21),a=n(3),i=n(2);t.EngravedMessage=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.admin_mode,u=c.creator_key,d=c.creator_name,s=c.has_liked,p=c.has_disliked,m=c.hidden_message,f=c.is_creator,h=c.num_likes,C=c.num_dislikes,g=c.realdate;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,textAlign:"center",fontSize:"20px",mb:2,children:(0,r.decodeHtmlEntities)(m)}),(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-up",content:" "+h,disabled:f,selected:s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("like")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"circle",disabled:f,selected:!p&&!s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("neutral")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-down",content:" "+C,disabled:f,selected:p,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("dislike")}})})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Created On",children:g})})}),(0,o.createComponentVNode)(2,i.Section),!!l&&(0,o.createComponentVNode)(2,i.Section,{title:"Admin Panel",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Delete",color:"bad",onClick:function(){return n("delete")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Ckey",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Character Name",children:d})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Gps=void 0;var o=n(1),r=n(22),a=n(70),i=n(18),c=n(156),l=n(3),u=n(2),d=function(e){return(0,r.map)(parseFloat)(e.split(", "))};t.Gps=function(e){var t=(0,l.useBackend)(e),n=t.act,s=t.data,p=s.currentArea,m=s.currentCoords,f=s.globalmode,h=s.power,C=s.tag,g=s.updating,b=(0,a.flow)([(0,r.map)((function(e,t){var n=e.dist&&Math.round((0,c.vecLength)((0,c.vecSubtract)(d(m),d(e.coords))));return Object.assign({},e,{dist:n,index:t})})),(0,r.sortBy)((function(e){return e.dist===undefined}),(function(e){return e.entrytag}))])(s.signals||[]);return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Control",buttons:(0,o.createComponentVNode)(2,u.Button,{icon:"power-off",content:h?"On":"Off",selected:h,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Tag",children:(0,o.createComponentVNode)(2,u.Button,{icon:"pencil-alt",content:C,onClick:function(){return n("rename")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,u.Button,{icon:g?"unlock":"lock",content:g?"AUTO":"MANUAL",color:!g&&"bad",onClick:function(){return n("updating")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Range",children:(0,o.createComponentVNode)(2,u.Button,{icon:"sync",content:f?"MAXIMUM":"LOCAL",selected:!f,onClick:function(){return n("globalmode")}})})]})}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Current Location",children:(0,o.createComponentVNode)(2,u.Box,{fontSize:"18px",children:[p," (",m,")"]})}),(0,o.createComponentVNode)(2,u.Section,{title:"Detected Signals",children:(0,o.createComponentVNode)(2,u.Table,{children:[(0,o.createComponentVNode)(2,u.Table.Row,{bold:!0,children:[(0,o.createComponentVNode)(2,u.Table.Cell,{content:"Name"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Direction"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Coordinates"})]}),b.map((function(e){return(0,o.createComponentVNode)(2,u.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,u.Table.Cell,{bold:!0,color:"label",children:e.entrytag}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,opacity:e.dist!==undefined&&(0,i.clamp)(1.2/Math.log(Math.E+e.dist/20),.4,1),children:[e.degrees!==undefined&&(0,o.createComponentVNode)(2,u.Icon,{mr:1,size:1.2,name:"arrow-up",rotation:e.degrees}),e.dist!==undefined&&e.dist+"m"]}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,children:e.coords})]},e.entrytag+e.coords+e.index)}))]})})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GravityGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.GravityGenerator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.breaker,l=i.charge_count,u=i.charging_state,d=i.on,s=i.operational;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:!s&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No data available"})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Breaker",children:(0,o.createComponentVNode)(2,a.Button,{icon:c?"power-off":"times",content:c?"On":"Off",selected:c,disabled:!s,onClick:function(){return n("gentoggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Gravity Charge",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/100,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",children:[0===u&&(d&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Fully Charged"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Not Charging"})),1===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Charging"}),2===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Discharging"})]})]})}),s&&0!==u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"WARNING - Radiation detected"}),s&&0===u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No radiation detected"})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagTeleporterConsole=void 0;var o=n(1),r=n(3),a=n(2);t.GulagTeleporterConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.teleporter,l=i.teleporter_lock,u=i.teleporter_state_open,d=i.teleporter_location,s=i.beacon,p=i.beacon_location,m=i.id,f=i.id_name,h=i.can_teleport,C=i.goal,g=void 0===C?0:C,b=i.prisoner,N=void 0===b?{}:b;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Teleporter Console",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:u?"Open":"Closed",disabled:l,selected:u,onClick:function(){return n("toggle_open")}}),(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"unlock",content:l?"Locked":"Unlocked",selected:l,disabled:u,onClick:function(){return n("teleporter_lock")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleporter Unit",color:c?"good":"bad",buttons:!c&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_teleporter")}}),children:c?d:"Not Connected"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Receiver Beacon",color:s?"good":"bad",buttons:!s&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_beacon")}}),children:s?p:"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Prisoner Details",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prisoner ID",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:m?f:"No ID",onClick:function(){return n("handle_id")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Point Goal",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:g,width:"48px",minValue:1,maxValue:1e3,onChange:function(e,t){return n("set_goal",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",children:N.name?N.name:"No Occupant"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Criminal Status",children:N.crimstat?N.crimstat:"No Status"})]})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Process Prisoner",disabled:!h,textAlign:"center",color:"bad",onClick:function(){return n("teleport")}})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagItemReclaimer=void 0;var o=n(1),r=n(3),a=n(2);t.GulagItemReclaimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.mobs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Stored Items",children:(0,o.createComponentVNode)(2,a.Table,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:(0,o.createComponentVNode)(2,a.Button,{content:"Retrieve Items",disabled:!i.can_reclaim,onClick:function(){return n("release_items",{mobref:e.mob})}})})]},e.mob)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Holodeck=void 0;var o=n(1),r=n(3),a=n(2);t.Holodeck=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_toggle_safety,l=i.default_programs,u=void 0===l?[]:l,d=i.emag_programs,s=void 0===d?[]:d,p=i.emagged,m=i.program;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Default Programs",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:p?"unlock":"lock",content:"Safeties",color:"bad",disabled:!c,selected:!p,onClick:function(){return n("safety")}}),children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))}),!!p&&(0,o.createComponentVNode)(2,a.Section,{title:"Dangerous Programs",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),color:"bad",textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ImplantChair=void 0;var o=n(1),r=n(3),a=n(2);t.ImplantChair=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant Information",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:i.occupant.name?i.occupant.name:"No Occupant"}),!!i.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===i.occupant.stat?"good":1===i.occupant.stat?"average":"bad",children:0===i.occupant.stat?"Conscious":1===i.occupant.stat?"Unconcious":"Dead"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Operations",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.open?"unlock":"lock",color:i.open?"default":"red",content:i.open?"Open":"Closed",onClick:function(){return n("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implant Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:i.ready?i.special_name||"Implant":"Recharging",onClick:function(){return n("implant")}}),0===i.ready&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implants Remaining",children:[i.ready_implants,1===i.replenishing&&(0,o.createComponentVNode)(2,a.Icon,{name:"sync",color:"red",spin:!0})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Intellicard=void 0;var o=n(1),r=n(3),a=n(2);t.Intellicard=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=u||d,l=i.name,u=i.isDead,d=i.isBraindead,s=i.health,p=i.wireless,m=i.radio,f=i.wiping,h=i.laws,C=void 0===h?[]:h;return(0,o.createComponentVNode)(2,a.Section,{title:l||"Empty Card",buttons:!!l&&(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:f?"Stop Wiping":"Wipe",disabled:u,onClick:function(){return n("wipe")}}),children:!!l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:c?"bad":"good",children:c?"Offline":"Operation"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Software Integrity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s,minValue:0,maxValue:100,ranges:{good:[70,Infinity],average:[50,70],bad:[-Infinity,50]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"Wireless Activity",selected:p,onClick:function(){return n("wireless")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"microphone",content:"Subspace Radio",selected:m,onClick:function(){return n("radio")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laws",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.BlockQuote,{children:e},e)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.KeycardAuth=void 0;var o=n(1),r=n(3),a=n(2);t.KeycardAuth=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{children:1===i.waiting&&(0,o.createVNode)(1,"span",null,"Waiting for another device to confirm your request...",16)}),(0,o.createComponentVNode)(2,a.Box,{children:0===i.waiting&&(0,o.createFragment)([!!i.auth_required&&(0,o.createComponentVNode)(2,a.Button,{icon:"check-square",color:"red",textAlign:"center",lineHeight:"60px",fluid:!0,onClick:function(){return n("auth_swipe")},content:"Authorize"}),0===i.auth_required&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",fluid:!0,onClick:function(){return n("red_alert")},content:"Red Alert"}),(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",fluid:!0,onClick:function(){return n("emergency_maint")},content:"Emergency Maintenance Access"}),(0,o.createComponentVNode)(2,a.Button,{icon:"meteor",fluid:!0,onClick:function(){return n("bsa_unlock")},content:"Bluespace Artillery Unlock"})],4)],0)})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.LaborClaimConsole=void 0;var o=n(1),r=n(21),a=n(3),i=n(2);t.LaborClaimConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.can_go_home,u=c.id_points,d=c.ores,s=c.status_info,p=c.unclaimed_points;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle controls",children:(0,o.createComponentVNode)(2,i.Button,{content:"Move shuttle",disabled:!l,onClick:function(){return n("move_shuttle")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Points",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Unclaimed points",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Claim points",disabled:!p,onClick:function(){return n("claim_points")}}),children:p})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Material values",children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Material"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Value"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.ore)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.value})})]},e.ore)}))]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.LanguageMenu=void 0;var o=n(1),r=n(3),a=n(2);t.LanguageMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.admin_mode,l=i.is_living,u=i.omnitongue,d=i.languages,s=void 0===d?[]:d,p=i.unknown_languages,m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Known Languages",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createFragment)([!!l&&(0,o.createComponentVNode)(2,a.Button,{content:e.is_default?"Default Language":"Select as Default",disabled:!e.can_speak,selected:e.is_default,onClick:function(){return n("select_default",{language_name:e.name})}}),!!c&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Remove",onClick:function(){return n("remove_language",{language_name:e.name})}})],4)],0),children:[e.desc," ","Key: ,",e.key," ",e.can_understand?"Can understand.":"Cannot understand."," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})}),!!c&&(0,o.createComponentVNode)(2,a.Section,{title:"Unknown Languages",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Omnitongue "+(u?"Enabled":"Disabled"),selected:u,onClick:function(){return n("toggle_omnitongue")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),children:[e.desc," ","Key: ,",e.key," ",!!e.shadow&&"(gained from mob)"," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.LaunchpadConsole=t.LaunchpadRemote=t.LaunchpadControl=t.LaunchpadButtonPad=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createComponentVNode)(2,a.Grid,{width:"1px",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",mb:1,onClick:function(){return t("move_pos",{x:-1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",mb:1,onClick:function(){return t("move_pos",{y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"R",mb:1,onClick:function(){return t("set_pos",{x:0,y:0})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",mb:1,onClick:function(){return t("move_pos",{y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",mb:1,onClick:function(){return t("move_pos",{x:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:-1})}})]})]})};t.LaunchpadButtonPad=i;var c=function(e){var t=e.topLevel,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.x,d=l.y,s=l.pad_name,p=l.range;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Input,{value:s,width:"170px",onChange:function(e,t){return c("rename",{name:t})}}),level:t?1:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Remove",color:"bad",onClick:function(){return c("remove")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Controls",level:2,children:(0,o.createComponentVNode)(2,i,{state:e.state})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Target",level:2,children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"26px",children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"X:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:u,minValue:-p,maxValue:p,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",stepPixelSize:10,onChange:function(e,t){return c("set_pos",{x:t})}})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"Y:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:d,minValue:-p,maxValue:p,stepPixelSize:10,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",onChange:function(e,t){return c("set_pos",{y:t})}})]})]})})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"upload",content:"Launch",textAlign:"center",onClick:function(){return c("launch")}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Pull",textAlign:"center",onClick:function(){return c("pull")}})})]})]})};t.LaunchpadControl=c;t.LaunchpadRemote=function(e){var t=(0,r.useBackend)(e).data,n=t.has_pad,i=t.pad_closed;return n?i?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Launchpad Closed"}):(0,o.createComponentVNode)(2,c,{topLevel:!0,state:e.state}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Launchpad Connected"})};t.LaunchpadConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.launchpads,u=void 0===l?[]:l,d=i.selected_id;return u.length<=0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Pads Connected"}):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.Box,{style:{"border-right":"2px solid rgba(255, 255, 255, 0.1)"},minHeight:"190px",mr:1,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name,selected:d===e.id,color:"transparent",onClick:function(){return n("select_pad",{id:e.id})}},e.name)}))})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:d?(0,o.createComponentVNode)(2,c,{state:e.state}):(0,o.createComponentVNode)(2,a.Box,{children:"Please select a pad"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MechBayPowerConsole=void 0;var o=n(1),r=n(3),a=n(2);t.MechBayPowerConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.recharge_port,c=i&&i.mech,l=c&&c.cell;return(0,o.createComponentVNode)(2,a.Section,{title:"Mech status",textAlign:"center",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Sync",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Integrity",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.health/c.maxhealth,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No cell is installed."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.charge/l.maxcharge,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.charge})," / "+l.maxcharge]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MedicalKiosk=void 0;var o=n(1),r=(n(21),n(3)),a=n(2);t.MedicalKiosk=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Health Kiosk",textAlign:"center",icon:"procedures",children:[(0,o.createComponentVNode)(2,a.Box,{my:1,textAlign:"center",children:["Greetings Valued Employee. Please select your desired diagnosis. Diagnosis costs ",i.kiosk_cost," credits.",(0,o.createComponentVNode)(2,a.Box,{mt:1}),(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:["Current patient targeted for scanning: ",i.patient_name," |"]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Button,{icon:"procedures",disabled:!i.active_status_1,tooltip:"Reads back exact values of your general health scan.",onClick:function(){return n("beginScan_1")},content:"General Health Scan"}),(0,o.createComponentVNode)(2,a.Button,{icon:"heartbeat",disabled:!i.active_status_2,tooltip:"Provides information based on various non-obvious symptoms,\nlike blood levels or disease status.",onClick:function(){return n("beginScan_2")},content:"Symptom Based Checkup"}),(0,o.createComponentVNode)(2,a.Button,{tooltip:"Resets the current scanning target, cancelling current scans.",icon:"sync",color:"average",onClick:function(){return n("clearTarget")},content:"Reset Scanner"})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"radiation-alt",disabled:!i.active_status_3,tooltip:"Provides information about brain trauma and radiation.",onClick:function(){return n("beginScan_3")},content:"Neurological/Radiological Scan"}),(0,o.createComponentVNode)(2,a.Button,{icon:"mortar-pestle",disabled:!i.active_status_4,tooltip:"Provides a list of consumed chemicals, as well as potential\nside effects.",onClick:function(){return n("beginScan_4")},content:"Chemical Analysis and Psychoactive Scan"})]})]}),(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{color:"normal",label:"General Health Scan",children:function(){return(0,o.createComponentVNode)(2,a.Box,{children:0===i.active_status_1&&(0,o.createComponentVNode)(2,a.Section,{title:"Patient Health",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.patient_health/100,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.patient_health}),"%"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider,{size:2}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brute Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.brute_health/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.brute_health})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Burn Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.burn_health/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.burn_health})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.suffocation_health/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.suffocation_health})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Toxin Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.toxin_health/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.toxin_health})})})]})})})}},"tab_1"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{color:"normal",label:"Symptom Based Checkup",children:function(){return(0,o.createComponentVNode)(2,a.Box,{children:0===i.active_status_2&&(0,o.createComponentVNode)(2,a.Section,{title:"Symptom Based Checkup",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Patient Status",color:"good",children:i.patient_status}),(0,o.createComponentVNode)(2,a.LabeledList.Divider,{size:1}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disease Status",children:i.patient_illness}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disease information",children:i.illness_info}),(0,o.createComponentVNode)(2,a.LabeledList.Divider,{size:1}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Levels",children:[i.bleed_status,(0,o.createComponentVNode)(2,a.LabeledList.Divider,{size:1}),(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.blood_levels/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.blood_levels})})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Information",children:i.blood_status})]})})})}},"tab_2"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{color:"normal",label:"Neurological/Radiological Scan",children:function(){return(0,o.createComponentVNode)(2,a.Box,{children:0===i.active_status_3&&(0,o.createComponentVNode)(2,a.Section,{title:"Patient Neurological and Radiological Health ",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cellular Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.clone_health/100,color:"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.clone_health})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.brain_damage/100,color:"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.brain_damage})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Status",color:"health-0",children:i.brain_health}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Status",children:i.rad_status}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Irradiation Percentage",children:[i.rad_value,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Trauma Status",children:i.trauma_status})]})})}},"tab_3"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{color:"normal",label:"Chemical Analysis and Psychoactive Scan",children:function(){return(0,o.createComponentVNode)(2,a.Box,{children:0===i.active_status_4&&(0,o.createComponentVNode)(2,a.Section,{title:"Chemical and Psychoactive Analysis",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Chemical Contents",children:i.are_chems_present?i.chemical_list.length?i.chemical_list.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{color:"good",children:[e.volume," units of ",e.name]},e.id)})):(0,o.createComponentVNode)(2,a.Box,{children:"No reagents detected."}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No reagents detected."})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Overdose Status",color:"bad",children:i.are_overdoses_present?i.overdose_status.length?i.overdose_status.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:["Overdosing on ",e.name]},e.id)})):(0,o.createComponentVNode)(2,a.Box,{children:"No reagents detected."}):(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Patient is not overdosing."})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Addiction Status",color:"bad",children:i.are_addictions_present?i.addiction_status.length?i.addiction_status.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:["Addicted to ",e.name]},e.id)})):(0,o.createComponentVNode)(2,a.Box,{children:"Patient has no addictions."}):(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Patient has no addictions detected."})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Psychoactive Status",children:i.hallucinating_status})]})})}},"tab_4")]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Mint=void 0;var o=n(1),r=n(3),a=n(2);t.Mint=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.inserted_materials||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Materials",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.processing?"times":"power-off",content:i.processing?"Stop":"Start",selected:i.processing,onClick:function(){return n(i.processing?"stoppress":"startpress")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.material,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.chosen_material===e.material?"check-square":"square",selected:i.chosen_material===e.material,onClick:function(){return n("changematerial",{material_name:e.material})}}),children:[e.amount," cm\xb3"]},e.material)}))})}),(0,o.createComponentVNode)(2,a.Section,{children:["Pressed ",i.produced_coins," coins this cycle."]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Mule=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Mule=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u=c.siliconUser,d=c.on,s=c.cell,p=c.cellPercent,m=c.load,f=c.mode,h=c.modeStatus,C=c.haspai,g=c.autoReturn,b=c.autoPickup,N=c.reportDelivery,v=c.destination,V=c.home,y=c.id,_=c.destinations,x=void 0===_?[]:_;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:u,locked:l}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",minHeight:"110px",buttons:!l&&(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",content:d?"On":"Off",selected:d,onClick:function(){return n("on")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:s?p/100:0,color:s?"good":"bad"}),(0,o.createComponentVNode)(2,a.Grid,{mt:1,children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",color:h,children:f})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Load",color:m?"good":"average",children:m||"None"})})})]})]}),!l&&(0,o.createComponentVNode)(2,a.Section,{title:"Controls",buttons:(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Unload",onClick:function(){return n("unload")}}),!!C&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject PAI",onClick:function(){return n("ejectpai")}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID",children:(0,o.createComponentVNode)(2,a.Input,{value:y,onChange:function(e,t){return n("setid",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destination",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:v||"None",options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"stop",content:"Stop",onClick:function(){return n("stop")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"play",content:"Go",onClick:function(){return n("go")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Home",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:V,options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"home",content:"Go Home",onClick:function(){return n("home")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:g,content:"Auto-Return",onClick:function(){return n("autored")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:b,content:"Auto-Pickup",onClick:function(){return n("autopick")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:N,content:"Report Delivery",onClick:function(){return n("report")}})]})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteChamberControl=void 0;var o=n(1),r=n(3),a=n(2);t.NaniteChamberControl=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.status_msg,l=i.locked,u=i.occupant_name,d=i.has_nanites,s=i.nanite_volume,p=i.regen_rate,m=i.safety_threshold,f=i.cloud_id,h=i.scan_level;if(c)return(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:c});var C=i.mob_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Chamber: "+u,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"lock-open",content:l?"Locked":"Unlocked",color:l?"bad":"default",onClick:function(){return n("toggle_lock")}}),children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",content:"Destroy Nanites",color:"bad",onClick:function(){return n("remove_nanites")}}),children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanite Volume",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Growth Rate",children:p})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Safety Threshold",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:0,maxValue:500,width:"39px",onChange:function(e,t){return n("set_safety",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:f,minValue:0,maxValue:100,step:1,stepPixelSize:3,width:"39px",onChange:function(e,t){return n("set_cloud",{value:t})}})})]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",level:2,children:C.map((function(e){var t=e.extra_settings||[],n=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:e.desc}),h>=2&&(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation Status",children:(0,o.createComponentVNode)(2,a.Box,{color:e.activated?"good":"bad",children:e.activated?"Active":"Inactive"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanites Consumed",children:[e.use_rate,"/s"]})]})})]}),h>=2&&(0,o.createComponentVNode)(2,a.Grid,{children:[!!e.can_trigger&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Triggers",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:e.trigger_cost}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:e.trigger_cooldown}),!!e.timer_trigger_delay&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[e.timer_trigger_delay," s"]}),!!e.timer_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:[e.timer_trigger," s"]})]})})}),!(!e.timer_restart&&!e.timer_shutdown)&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[e.timer_restart&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:[e.timer_restart," s"]}),e.timer_shutdown&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:[e.timer_shutdown," s"]})]})})})]}),h>=3&&!!e.has_extra_settings&&(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:t.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:e.value},e.name)}))})}),h>=4&&(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[!!e.activation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:e.activation_code}),!!e.deactivation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:e.deactivation_code}),!!e.kill_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:e.kill_code}),!!e.can_trigger&&!!e.trigger_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:e.trigger_code})]})})}),e.has_rules&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Rules",level:2,children:n.map((function(e){return(0,o.createFragment)([e.display,(0,o.createVNode)(1,"br")],0,e.display)}))})})]})]})},e.name)}))})],4):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"bad",textAlign:"center",fontSize:"30px",mb:1,children:"No Nanites Detected"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,icon:"syringe",content:" Implant Nanites",color:"green",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("nanite_injection")}})],4)})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteCloudControl=t.NaniteCloudBackupDetails=t.NaniteCloudBackupList=t.NaniteInfoBox=t.NaniteDiskBox=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.state.data,n=t.has_disk,r=t.has_program,i=t.disk;return n?r?(0,o.createComponentVNode)(2,c,{program:i}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Inserted disk has no program"}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No disk inserted"})};t.NaniteDiskBox=i;var c=function(e){var t=e.program,n=t.name,r=t.desc,i=t.activated,c=t.use_rate,l=t.can_trigger,u=t.trigger_cost,d=t.trigger_cooldown,s=t.activation_code,p=t.deactivation_code,m=t.kill_code,f=t.trigger_code,h=t.timer_restart,C=t.timer_shutdown,g=t.timer_trigger,b=t.timer_trigger_delay,N=t.extra_settings||[];return(0,o.createComponentVNode)(2,a.Section,{title:n,level:2,buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:i?"good":"bad",children:i?"Activated":"Deactivated"}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{mr:1,children:r}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:c}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:u}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:d})],4)]})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:m}),!!l&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:f})]})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart",children:[h," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown",children:[C," s"]}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:[g," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[b," s"]})],4)]})})})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:N.map((function(e){var t={number:(0,o.createFragment)([e.value,e.unit],0),text:e.value,type:e.value,boolean:e.value?e.true_text:e.false_text};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:t[e.type]},e.name)}))})})]})};t.NaniteInfoBox=c;var l=function(e){var t=(0,r.useBackend)(e),n=t.act;return(t.data.cloud_backups||[]).map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Backup #"+e.cloud_id,textAlign:"center",onClick:function(){return n("set_view",{view:e.cloud_id})}},e.cloud_id)}))};t.NaniteCloudBackupList=l;var u=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.current_view,u=i.disk,d=i.has_program,s=i.cloud_backup,p=u&&u.can_rule||!1;if(!s)return(0,o.createComponentVNode)(2,a.NoticeBox,{children:"ERROR: Backup not found"});var m=i.cloud_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Backup #"+l,level:2,buttons:!!d&&(0,o.createComponentVNode)(2,a.Button,{icon:"upload",content:"Upload From Disk",color:"good",onClick:function(){return n("upload_program")}}),children:m.map((function(e){var t=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_program",{program_id:e.id})}}),children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,c,{program:e}),!!p&&(0,o.createComponentVNode)(2,a.Section,{mt:-2,title:"Rules",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Add Rule from Disk",color:"good",onClick:function(){return n("add_rule",{program_id:e.id})}}),children:e.has_rules?t.map((function(t){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_rule",{program_id:e.id,rule_id:t.id})}}),t.display],0,t.display)})):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No Active Rules"})})]})},e.name)}))})};t.NaniteCloudBackupDetails=u;t.NaniteCloudControl=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,d=n.data,s=d.has_disk,p=d.current_view,m=d.new_backup_id;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Program Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!s,onClick:function(){return c("eject")}}),children:(0,o.createComponentVNode)(2,i,{state:t})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cloud Storage",buttons:p?(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Return",onClick:function(){return c("set_view",{view:0})}}):(0,o.createFragment)(["New Backup: ",(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:1,maxValue:100,stepPixelSize:4,width:"39px",onChange:function(e,t){return c("update_new_backup_value",{value:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return c("create_backup")}})],0),children:d.current_view?(0,o.createComponentVNode)(2,u,{state:t}):(0,o.createComponentVNode)(2,l,{state:t})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgramHub=void 0;var o=n(1),r=n(22),a=n(3),i=n(2);t.NaniteProgramHub=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.detail_view,u=c.disk,d=c.has_disk,s=c.has_program,p=c.programs,m=void 0===p?{}:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Program Disk",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus-circle",content:"Delete Program",onClick:function(){return n("clear")}})],4),children:d?s?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Program Name",children:u.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:u.desc})]}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No Program Installed"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Insert Disk"})}),(0,o.createComponentVNode)(2,i.Section,{title:"Programs",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:l?"info":"list",content:l?"Detailed":"Compact",onClick:function(){return n("toggle_details")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Sync Research",onClick:function(){return n("refresh")}})],4),children:null!==m?(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,t){var r=e||[],a=t.substring(0,t.length-8);return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:a,children:l?r.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}}),children:e.desc},e.id)})):(0,o.createComponentVNode)(2,i.LabeledList,{children:r.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}})},e.id)}))})},t)}))(m)}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No nanite programs are currently researched."})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgrammer=t.NaniteExtraBoolean=t.NaniteExtraType=t.NaniteExtraText=t.NaniteExtraNumber=t.NaniteExtraEntry=t.NaniteDelays=t.NaniteCodes=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.activation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"activation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.deactivation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"deactivation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.kill_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"kill",code:t})}})}),!!i.can_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.trigger_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"trigger",code:t})}})})]})})};t.NaniteCodes=i;var c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,ml:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_restart,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_restart_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_shutdown,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_shutdown_timer",{delay:t})}})}),!!i.can_trigger&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_trigger_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger_delay,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_timer_trigger_delay",{delay:t})}})})],4)]})})};t.NaniteDelays=c;var l=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.type,c={number:(0,o.createComponentVNode)(2,u,{act:t,extra_setting:n}),text:(0,o.createComponentVNode)(2,d,{act:t,extra_setting:n}),type:(0,o.createComponentVNode)(2,s,{act:t,extra_setting:n}),boolean:(0,o.createComponentVNode)(2,p,{act:t,extra_setting:n})};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:r,children:c[i]})};t.NaniteExtraEntry=l;var u=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.min,l=n.max,u=n.unit;return(0,o.createComponentVNode)(2,a.NumberInput,{value:i,width:"64px",minValue:c,maxValue:l,unit:u,onChange:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraNumber=u;var d=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value;return(0,o.createComponentVNode)(2,a.Input,{value:i,width:"200px",onInput:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraText=d;var s=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.types;return(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:i,width:"150px",options:c,onSelected:function(e){return t("set_extra_setting",{target_setting:r,value:e})}})};t.NaniteExtraType=s;var p=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.true_text,l=n.false_text;return(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:i?c:l,checked:i,onClick:function(){return t("set_extra_setting",{target_setting:r})}})};t.NaniteExtraBoolean=p;t.NaniteProgrammer=function(e){var t=(0,r.useBackend)(e),n=t.act,u=t.data,d=u.has_disk,s=u.has_program,p=u.name,m=u.desc,f=u.use_rate,h=u.can_trigger,C=u.trigger_cost,g=u.trigger_cooldown,b=u.activated,N=u.has_extra_settings,v=u.extra_settings,V=void 0===v?{}:v;return d?s?(0,o.createComponentVNode)(2,a.Section,{title:p,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),children:[(0,o.createComponentVNode)(2,a.Section,{title:"Info",level:2,children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:m}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.7,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:f}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:C}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:g})],4)]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Settings",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:b?"power-off":"times",content:b?"Active":"Inactive",selected:b,color:"bad",bold:!0,onClick:function(){return n("toggle_active")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{state:e.state})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,c,{state:e.state})})]}),!!N&&(0,o.createComponentVNode)(2,a.Section,{title:"Special",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:V.map((function(e){return(0,o.createComponentVNode)(2,l,{act:n,extra_setting:e},e.name)}))})})]})]}):(0,o.createComponentVNode)(2,a.Section,{title:"Blank Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}})}):(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Insert a nanite program disk"})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteRemote=void 0;var o=n(1),r=n(3),a=n(2);t.NaniteRemote=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.code,l=i.locked,u=i.mode,d=i.program_name,s=i.relay_code,p=i.comms,m=i.message,f=i.saved_settings,h=void 0===f?[]:f;return l?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"This interface is locked."}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Nanite Control",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lock Interface",onClick:function(){return n("lock")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:[(0,o.createComponentVNode)(2,a.Input,{value:d,maxLength:14,width:"130px",onChange:function(e,t){return n("update_name",{name:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",content:"Save",onClick:function(){return n("save")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:p?"Comm Code":"Signal Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_code",{code:t})}})}),!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",children:(0,o.createComponentVNode)(2,a.Input,{value:m,width:"270px",onChange:function(e,t){return n("set_message",{value:t})}})}),"Relay"===u&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Relay Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:s,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_relay_code",{code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Signal Mode",children:["Off","Local","Targeted","Area","Relay"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,selected:u===e,onClick:function(){return n("select_mode",{mode:e})}},e)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Saved Settings",children:h.length>0?(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{width:"35%",children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{width:"20%",children:"Mode"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Code"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Relay"})]}),h.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,color:"label",children:[e.name,":"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.mode}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.code}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Relay"===e.mode&&e.relay_code}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"upload",color:"good",onClick:function(){return n("load",{save_id:e.id})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return n("remove_save",{save_id:e.id})}})]})]},e.id)}))]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No settings currently saved"})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NotificationPreferences=void 0;var o=n(1),r=n(3),a=n(2);t.NotificationPreferences=function(e){var t=(0,r.useBackend)(e),n=t.act,i=(t.data.ignore||[]).sort((function(e,t){var n=e.desc.toLowerCase(),o=t.desc.toLowerCase();return no?1:0}));return(0,o.createComponentVNode)(2,a.Section,{title:"Ghost Role Notifications",children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:e.enabled?"times":"check",content:e.desc,color:e.enabled?"bad":"good",onClick:function(){return n("toggle_ignore",{key:e.key})}},e.key)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtnetRelay=void 0;var o=n(1),r=n(3),a=n(2);t.NtnetRelay=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.enabled,l=i.dos_capacity,u=i.dos_overload,d=i.dos_crashed;return(0,o.createComponentVNode)(2,a.Section,{title:"Network Buffer",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:c,content:c?"ENABLED":"DISABLED",onClick:function(){return n("toggle")}}),children:d?(0,o.createComponentVNode)(2,a.Box,{fontFamily:"monospace",children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",children:"NETWORK BUFFER OVERFLOW"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",children:"OVERLOAD RECOVERY MODE"}),(0,o.createComponentVNode)(2,a.Box,{children:"This system is suffering temporary outage due to overflow of traffic buffers. Until buffered traffic is processed, all further requests will be dropped. Frequent occurences of this error may indicate insufficient hardware capacity of your network. Please contact your network planning department for instructions on how to resolve this issue."}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",color:"bad",children:"ADMINISTRATOR OVERRIDE"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",color:"bad",children:"CAUTION - DATA LOSS MAY OCCUR"}),(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"PURGE BUFFER",mt:1,color:"bad",onClick:function(){return n("restart")}})]}):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,minValue:0,maxValue:l,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})," GQ"," / ",l," GQ"]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosArcade=void 0;var o=n(1),r=n(3),a=n(2);t.NtosArcade=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Outbomb Cuban Pete Ultra",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:2,children:[(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerHitpoints,minValue:0,maxValue:30,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[i.PlayerHitpoints,"HP"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Magic",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerMP,minValue:0,maxValue:10,ranges:{purple:[11,Infinity],violet:[3,11],bad:[-Infinity,3]},children:[i.PlayerMP,"MP"]})})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Section,{backgroundColor:1===i.PauseState?"#1b3622":"#471915",children:i.Status})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.Hitpoints/45,minValue:0,maxValue:45,ranges:{good:[30,Infinity],average:[5,30],bad:[-Infinity,5]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.Hitpoints}),"HP"]}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Section,{inline:!0,width:26,textAlign:"center",children:(0,o.createVNode)(1,"img",null,null,1,{src:i.BossID})})]})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Button,{icon:"fist-raised",tooltip:"Go in for the kill!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Attack")},content:"Attack!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"band-aid",tooltip:"Heal yourself!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Heal")},content:"Heal!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"magic",tooltip:"Recharge your magic!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Recharge_Power")},content:"Recharge!"})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"sync-alt",tooltip:"One more game couldn't hurt.",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Start_Game")},content:"Begin Game"}),(0,o.createComponentVNode)(2,a.Button,{icon:"ticket-alt",tooltip:"Claim at your local Arcade Computer for Prizes!",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Dispense_Tickets")},content:"Claim Tickets"})]}),(0,o.createComponentVNode)(2,a.Box,{color:i.TicketCount>=1?"good":"normal",children:["Earned Tickets: ",i.TicketCount]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosConfiguration=void 0;var o=n(1),r=n(3),a=n(2);t.NtosConfiguration=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.power_usage,l=i.battery_exists,u=i.battery,d=void 0===u?{}:u,s=i.disk_size,p=i.disk_used,m=i.hardware,f=void 0===m?[]:m;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Supply",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Draw: ",c,"W"]}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Battery Status",color:!l&&"average",children:l?(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.charge,minValue:0,maxValue:d.max,ranges:{good:[d.max/2,Infinity],average:[d.max/4,d.max/2],bad:[-Infinity,d.max/4]},children:[d.charge," / ",d.max]}):"Not Available"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"File System",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:p,minValue:0,maxValue:s,color:"good",children:[p," GQ / ",s," GQ"]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Hardware Components",children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,buttons:(0,o.createFragment)([!e.critical&&(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:"Enabled",checked:e.enabled,mr:1,onClick:function(){return n("PC_toggle_component",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Usage: ",e.powerusage,"W"]})],0),children:e.desc},e.name)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosMain=void 0;var o=n(1),r=n(3),a=n(2),i={compconfig:"cog",ntndownloader:"download",filemanager:"folder",smmonitor:"radiation",alarmmonitor:"bell",cardmod:"id-card",arcade:"gamepad",ntnrc_client:"comment-alt",nttransfer:"exchange-alt",powermonitor:"plug"};t.NtosMain=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.programs,u=void 0===l?[]:l,d=c.has_light,s=c.light_on,p=c.comp_light_color;return(0,o.createFragment)([!!d&&(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Button,{width:"144px",icon:"lightbulb",selected:s,onClick:function(){return n("PC_toggle_light")},children:["Flashlight: ",s?"ON":"OFF"]}),(0,o.createComponentVNode)(2,a.Button,{ml:1,onClick:function(){return n("PC_light_color")},children:["Color:",(0,o.createComponentVNode)(2,a.ColorBox,{ml:1,color:p})]})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",children:(0,o.createComponentVNode)(2,a.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,lineHeight:"24px",color:"transparent",icon:i[e.name]||"window-maximize-o",content:e.desc,onClick:function(){return n("PC_runprogram",{name:e.name})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,width:3,children:!!e.running&&(0,o.createComponentVNode)(2,a.Button,{lineHeight:"24px",color:"transparent",icon:"times",tooltip:"Close program",tooltipPosition:"left",onClick:function(){return n("PC_killprogram",{name:e.name})}})})]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetChat=void 0;var o=n(1),r=n(3),a=n(2);(0,n(46).createLogger)("ntos chat");t.NtosNetChat=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_admin,l=i.adminmode,u=i.authed,d=i.username,s=i.active_channel,p=i.is_operator,m=i.all_channels,f=void 0===m?[]:m,h=i.clients,C=void 0===h?[]:h,g=i.messages,b=void 0===g?[]:g,N=null!==s,v=u||l;return(0,o.createComponentVNode)(2,a.Section,{height:"600px",children:(0,o.createComponentVNode)(2,a.Table,{height:"580px",children:(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"200px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"537px",overflowY:"scroll",children:[(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"New Channel...",onCommit:function(e,t){return n("PRG_newchannel",{new_channel_name:t})}}),f.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.chan,selected:e.id===s,color:"transparent",onClick:function(){return n("PRG_joinchannel",{id:e.id})}},e.chan)}))]}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,mt:1,content:d+"...",currentValue:d,onCommit:function(e,t){return n("PRG_changename",{new_name:t})}}),!!c&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:"ADMIN MODE: "+(l?"ON":"OFF"),color:l?"bad":"good",onClick:function(){return n("PRG_toggleadmin")}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createComponentVNode)(2,a.Box,{height:"560px",overflowY:"scroll",children:N&&(v?b.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.msg},e.msg)})):(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-triangle",mt:4,fontSize:"40px"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,fontSize:"18px",children:"THIS CHANNEL IS PASSWORD PROTECTED"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"INPUT PASSWORD TO ACCESS"})]}))}),(0,o.createComponentVNode)(2,a.Input,{fluid:!0,selfClear:!0,mt:1,onEnter:function(e,t){return n("PRG_speak",{message:t})}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"150px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"477px",overflowY:"scroll",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.name},e.name)}))}),N&&v&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Save log...",defaultValue:"new_log",onCommit:function(e,t){return n("PRG_savelog",{log_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Leave Channel",onClick:function(){return n("PRG_leavechannel")}})],4),!!p&&u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Delete Channel",onClick:function(){return n("PRG_deletechannel")}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Rename Channel...",onCommit:function(e,t){return n("PRG_renamechannel",{new_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Set Password...",onCommit:function(e,t){return n("PRG_setpassword",{new_password:t})}})],4)]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDownloader=void 0;var o=n(1),r=n(3),a=n(2);t.NtosNetDownloader=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.disk_size,d=l.disk_used,s=l.downloadable_programs,p=void 0===s?[]:s,m=l.error,f=l.hacked_programs,h=void 0===f?[]:f,C=l.hackedavailable;return(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:m}),(0,o.createComponentVNode)(2,a.Button,{content:"Reset",onClick:function(){return c("PRG_reseterror")}})]}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk usage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d,minValue:0,maxValue:u,children:d+" GQ / "+u+" GQ"})})})}),(0,o.createComponentVNode)(2,a.Section,{children:p.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))}),!!C&&(0,o.createComponentVNode)(2,a.Section,{title:"UNKNOWN Software Repository",children:[(0,o.createComponentVNode)(2,a.NoticeBox,{mb:1,children:"Please note that Nanotrasen does not recommend download of software from non-official servers."}),h.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))]})],0)};var i=function(e){var t=e.program,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.disk_size,u=c.disk_used,d=c.downloadcompletion,s=c.downloading,p=c.downloadname,m=c.downloadsize,f=l-u;return(0,o.createComponentVNode)(2,a.Box,{mb:3,children:[(0,o.createComponentVNode)(2,a.Flex,{align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{bold:!0,grow:1,children:t.filedesc}),(0,o.createComponentVNode)(2,a.Flex.Item,{color:"label",nowrap:!0,children:[t.size," GQ"]}),(0,o.createComponentVNode)(2,a.Flex.Item,{ml:2,width:"94px",textAlign:"center",children:t.filename===p&&(0,o.createComponentVNode)(2,a.ProgressBar,{color:"green",minValue:0,maxValue:m,value:d})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Download",disabled:s||t.size>f,onClick:function(){return i("PRG_downloadfile",{filename:t.filename})}})})]}),"Compatible"!==t.compatibility&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Incompatible!"]}),t.size>f&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Not enough disk space!"]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,color:"label",fontSize:"12px",children:t.fileinfo})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosSupermatterMonitor=void 0;var o=n(1),r=n(22),a=n(70),i=n(18),c=n(3),l=n(2),u=n(37),d=function(e){return Math.log2(16+Math.max(0,e))-4};t.NtosSupermatterMonitor=function(e){var t=e.state,n=(0,c.useBackend)(e),p=n.act,m=n.data,f=m.active,h=m.SM_integrity,C=m.SM_power,g=m.SM_ambienttemp,b=m.SM_ambientpressure;if(!f)return(0,o.createComponentVNode)(2,s,{state:t});var N=(0,a.flow)([function(e){return e.filter((function(e){return e.amount>=.01}))},(0,r.sortBy)((function(e){return-e.amount}))])(m.gases||[]),v=Math.max.apply(Math,[1].concat(N.map((function(e){return e.amount}))));return(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"270px",children:(0,o.createComponentVNode)(2,l.Section,{title:"Metrics",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:h/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Relative EER",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:C,minValue:0,maxValue:5e3,ranges:{good:[-Infinity,5e3],average:[5e3,7e3],bad:[7e3,Infinity]},children:(0,i.toFixed)(C)+" MeV/cm3"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(g),minValue:0,maxValue:d(1e4),ranges:{teal:[-Infinity,d(80)],good:[d(80),d(373)],average:[d(373),d(1e3)],bad:[d(1e3),Infinity]},children:(0,i.toFixed)(g)+" K"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(b),minValue:0,maxValue:d(5e4),ranges:{good:[d(1),d(300)],average:[-Infinity,d(1e3)],bad:[d(1e3),+Infinity]},children:(0,i.toFixed)(b)+" kPa"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{title:"Gases",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"arrow-left",content:"Back",onClick:function(){return p("PRG_clear")}}),children:(0,o.createComponentVNode)(2,l.Box.Forced,{height:24*N.length+"px",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:N.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,u.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,u.getGasColor)(e.name),value:e.amount,minValue:0,maxValue:v,children:(0,i.toFixed)(e.amount,2)+"%"})},e.name)}))})})})})]})};var s=function(e){var t=(0,c.useBackend)(e),n=t.act,r=t.data.supermatters,a=void 0===r?[]:r;return(0,o.createComponentVNode)(2,l.Section,{title:"Detected Supermatters",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"sync",content:"Refresh",onClick:function(){return n("PRG_refresh")}}),children:(0,o.createComponentVNode)(2,l.Table,{children:a.map((function(e){return(0,o.createComponentVNode)(2,l.Table.Row,{children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.uid+". "+e.area_name}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,color:"label",children:"Integrity:"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,width:"120px",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:e.integrity/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,l.Button,{content:"Details",onClick:function(){return n("PRG_set",{target:e.uid})}})})]},e.uid)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosWrapper=void 0;var o=n(1),r=n(3),a=n(2),i=n(116);t.NtosWrapper=function(e){var t=e.children,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.PC_batteryicon,d=l.PC_showbatteryicon,s=l.PC_batterypercent,p=l.PC_ntneticon,m=l.PC_apclinkicon,f=l.PC_stationtime,h=l.PC_programheaders,C=void 0===h?[]:h,g=l.PC_showexitprogram;return(0,o.createVNode)(1,"div","NtosWrapper",[(0,o.createVNode)(1,"div","NtosWrapper__header NtosHeader",[(0,o.createVNode)(1,"div","NtosHeader__left",[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:2,children:f}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,italic:!0,mr:2,opacity:.33,children:"NtOS"})],4),(0,o.createVNode)(1,"div","NtosHeader__right",[C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:e.icon})},e.icon)})),(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:p&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:p})}),!!d&&u&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:[u&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:u}),s&&s]}),m&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:m})}),!!g&&(0,o.createComponentVNode)(2,a.Button,{width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-minimize-o",tooltip:"Minimize",tooltipPosition:"bottom",onClick:function(){return c("PC_minimize")}}),!!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-close-o",tooltip:"Close",tooltipPosition:"bottom-left",onClick:function(){return c("PC_exit")}}),!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"power-off",tooltip:"Power off",tooltipPosition:"bottom-left",onClick:function(){return c("PC_shutdown")}})],0)],4,{onMouseDown:function(){(0,i.refocusLayout)()}}),(0,o.createVNode)(1,"div","NtosWrapper__content",t,0)],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NuclearBomb=void 0;var o=n(1),r=n(11),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e).act;return(0,o.createComponentVNode)(2,i.Box,{width:"185px",children:(0,o.createComponentVNode)(2,i.Grid,{width:"1px",children:[["1","4","7","C"],["2","5","8","0"],["3","6","9","E"]].map((function(e){return(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,mb:1,content:e,textAlign:"center",fontSize:"40px",lineHeight:"50px",width:"55px",className:(0,r.classes)(["NuclearBomb__Button","NuclearBomb__Button--keypad","NuclearBomb__Button--"+e]),onClick:function(){return t("keypad",{digit:e})}},e)}))},e[0])}))})})};t.NuclearBomb=function(e){var t=e.state,n=(0,a.useBackend)(e),r=n.act,l=n.data,u=(l.anchored,l.disk_present,l.status1),d=l.status2;return(0,o.createComponentVNode)(2,i.Box,{m:1,children:[(0,o.createComponentVNode)(2,i.Box,{mb:1,className:"NuclearBomb__displayBox",children:u}),(0,o.createComponentVNode)(2,i.Flex,{mb:1.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Box,{className:"NuclearBomb__displayBox",children:d})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",fontSize:"24px",lineHeight:"23px",textAlign:"center",width:"43px",ml:1,mr:"3px",mt:"3px",className:"NuclearBomb__Button NuclearBomb__Button--keypad",onClick:function(){return r("eject_disk")}})})]}),(0,o.createComponentVNode)(2,i.Flex,{ml:"3px",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,c,{state:t})}),(0,o.createComponentVNode)(2,i.Flex.Item,{ml:1,width:"129px",children:(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ARM",textAlign:"center",fontSize:"28px",lineHeight:"32px",mb:1,className:"NuclearBomb__Button NuclearBomb__Button--C",onClick:function(){return r("arm")}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ANCHOR",textAlign:"center",fontSize:"28px",lineHeight:"32px",className:"NuclearBomb__Button NuclearBomb__Button--E",onClick:function(){return r("anchor")}}),(0,o.createComponentVNode)(2,i.Box,{textAlign:"center",color:"#9C9987",fontSize:"80px",children:(0,o.createComponentVNode)(2,i.Icon,{name:"radiation"})}),(0,o.createComponentVNode)(2,i.Box,{height:"80px",className:"NuclearBomb__NTIcon"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OperatingComputer=void 0;var o=n(1),r=n(3),a=n(2);t.OperatingComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.table,l=i.surgeries,u=void 0===l?[]:l,d=i.procedures,s=void 0===d?[]:d,p=i.patient,m=void 0===p?{}:p;return(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Patient State",children:[!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Table Detected"}),(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Patient State",level:2,children:m?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:m.statstate,children:m.stat}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Type",children:m.blood_type}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m.health,minValue:m.minHealth,maxValue:m.maxHealth,color:m.health>=0?"good":"average",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Respiratory",type:"oxyLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m[e.type]/m.maxHealth,color:"bad",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m[e.type]})})},e.type)}))]}):"No Patient Detected"}),(0,o.createComponentVNode)(2,a.Section,{title:"Initiated Procedures",level:2,children:s.length?s.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Next Step",children:[e.next_step,e.chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.chems_needed],0)]}),!!i.alternative_step&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Alternative Step",children:[e.alternative_step,e.alt_chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.alt_chems_needed],0)]})]})},e.name)})):"No Active Procedures"})]})]},"state"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Surgery Procedures",children:(0,o.createComponentVNode)(2,a.Section,{title:"Advanced Surgery Procedures",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"download",content:"Sync Research Database",onClick:function(){return n("sync")}}),u.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,children:e.desc},e.name)}))]})},"procedures")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OreBox=void 0;var o=n(1),r=n(21),a=n(16),i=n(2);t.OreBox=function(e){var t=e.state,n=t.config,c=t.data,l=n.ref,u=c.materials;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Ores",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Empty",onClick:function(){return(0,a.act)(l,"removeall")}}),children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Ore"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Amount"})]}),u.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.name)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.amount})})]},e.type)}))]})}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{children:["All ores will be placed in here when you are wearing a mining stachel on your belt or in a pocket while dragging the ore box.",(0,o.createVNode)(1,"br"),"Gibtonite is not accepted."]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.OreRedemptionMachine=void 0;var o=n(1),r=n(21),a=n(3),i=n(2);t.OreRedemptionMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,l=r.unclaimedPoints,u=r.materials,d=r.alloys,s=r.diskDesigns,p=r.hasDisk;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.BlockQuote,{mb:1,children:["This machine only accepts ore.",(0,o.createVNode)(1,"br"),"Gibtonite and Slag are not accepted."]}),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:1,children:"Unclaimed points:"}),l,(0,o.createComponentVNode)(2,i.Button,{ml:2,content:"Claim",disabled:0===l,onClick:function(){return n("Claim")}})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{mb:1,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject design disk",onClick:function(){return n("diskEject")}})}),(0,o.createComponentVNode)(2,i.Table,{children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:["File ",e.index,": ",e.name]}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{disabled:!e.canupload,content:"Upload",onClick:function(){return n("diskUpload",{design:e.index})}})})]},e.index)}))})],4)||(0,o.createComponentVNode)(2,i.Button,{icon:"save",content:"Insert design disk",onClick:function(){return n("diskInsert")}})}),(0,o.createComponentVNode)(2,i.Section,{title:"Materials",children:(0,o.createComponentVNode)(2,i.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Release",{id:e.id,sheets:t})}},e.id)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Alloys",children:(0,o.createComponentVNode)(2,i.Table,{children:d.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Smelt",{id:e.id,sheets:t})}},e.id)}))})})],4)};var c=function(e){var t,n;function a(){var t;return(t=e.call(this)||this).state={amount:1},t}return n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,a.prototype.render=function(){var e=this,t=this.state.amount,n=this.props,a=n.material,c=n.onRelease,l=Math.floor(a.amount);return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(a.name).replace("Alloy","")}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:a.value&&a.value+" cr"})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:[l," sheets"]})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.NumberInput,{width:"32px",step:1,stepPixelSize:5,minValue:1,maxValue:50,value:t,onChange:function(t,n){return e.setState({amount:n})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:l<1,content:"Release",onClick:function(){return c(t)}})]})]})},a}(o.Component)},function(e,t,n){"use strict";t.__esModule=!0,t.Pandemic=t.PandemicAntibodyDisplay=t.PandemicSymptomDisplay=t.PandemicDiseaseDisplay=t.PandemicBeakerDisplay=void 0;var o=n(1),r=n(22),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.has_beaker,l=r.beaker_empty,u=r.has_blood,d=r.blood,s=!c||l;return(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Empty and Eject",color:"bad",disabled:s,onClick:function(){return n("empty_eject_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"trash",content:"Empty",disabled:s,onClick:function(){return n("empty_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",disabled:!c,onClick:function(){return n("eject_beaker")}})],4),children:c?l?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Beaker is empty"}):u?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood DNA",children:d&&d.dna||"Unknown"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood Type",children:d&&d.type||"Unknown"})]}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No blood detected"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No beaker loaded"})})};t.PandemicBeakerDisplay=c;var l=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.is_ready;return(r.viruses||[]).map((function(e){var t=e.symptoms||[];return(0,o.createComponentVNode)(2,i.Section,{title:e.can_rename?(0,o.createComponentVNode)(2,i.Input,{value:e.name,onChange:function(t,o){return n("rename_disease",{index:e.index,name:o})}}):e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"flask",content:"Create culture bottle",disabled:!c,onClick:function(){return n("create_culture_bottle",{index:e.index})}}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.description}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Agent",children:e.agent}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Spread",children:e.spread}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Possible Cure",children:e.cure})]})})]}),!!e.is_adv&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Statistics",level:2,children:(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:e.resistance}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:e.stealth})]})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage speed",children:e.stage_speed}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmissibility",children:e.transmission})]})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Symptoms",level:2,children:t.map((function(e){return(0,o.createComponentVNode)(2,i.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,u,{symptom:e})})},e.name)}))})],4)]},e.name)}))};t.PandemicDiseaseDisplay=l;var u=function(e){var t=e.symptom,n=t.name,a=t.desc,c=t.stealth,l=t.resistance,u=t.stage_speed,d=t.transmission,s=t.level,p=t.neutered,m=(0,r.map)((function(e,t){return{desc:e,label:t}}))(t.threshold_desc||{});return(0,o.createComponentVNode)(2,i.Section,{title:n,level:2,buttons:!!p&&(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",children:"Neutered"}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:2,children:a}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Level",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:c}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage Speed",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmission",children:d})]})})]}),m.length>0&&(0,o.createComponentVNode)(2,i.Section,{title:"Thresholds",level:3,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.label,children:e.desc},e.label)}))})})]})};t.PandemicSymptomDisplay=u;var d=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.resistances||[];return(0,o.createComponentVNode)(2,i.Section,{title:"Antibodies",children:c.length>0?(0,o.createComponentVNode)(2,i.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eye-dropper",content:"Create vaccine bottle",disabled:!r.is_ready,onClick:function(){return n("create_vaccine_bottle",{index:e.id})}})},e.name)}))}):(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",mt:1,children:"No antibodies detected."})})};t.PandemicAntibodyDisplay=d;t.Pandemic=function(e){var t=(0,a.useBackend)(e).data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),!!t.has_blood&&(0,o.createFragment)([(0,o.createComponentVNode)(2,l,{state:e.state}),(0,o.createComponentVNode)(2,d,{state:e.state})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PersonalCrafting=void 0;var o=n(1),r=n(22),a=n(3),i=n(2),c=function(e){var t=e.craftables,n=void 0===t?[]:t,r=(0,a.useBackend)(e),c=r.act,l=r.data,u=l.craftability,d=void 0===u?{}:u,s=l.display_compact,p=l.display_craftable_only;return n.map((function(e){return p&&!d[e.ref]?null:s?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,className:"candystripe",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],tooltip:e.tool_text&&"Tools needed: "+e.tool_text,tooltipPosition:"left",onClick:function(){return c("make",{recipe:e.ref})}}),children:e.req_text},e.name):(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],onClick:function(){return c("make",{recipe:e.ref})}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.req_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Required",children:e.req_text}),!!e.catalyst_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Catalyst",children:e.catalyst_text}),!!e.tool_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Tools",children:e.tool_text})]})},e.name)}))};t.PersonalCrafting=function(e){var t=e.state,n=(0,a.useBackend)(e),l=n.act,u=n.data,d=u.busy,s=u.display_craftable_only,p=u.display_compact,m=(0,r.map)((function(e,t){return{category:t,subcategory:e,hasSubcats:"has_subcats"in e,firstSubcatName:Object.keys(e).find((function(e){return"has_subcats"!==e}))}}))(u.crafting_recipes||{}),f=!!d&&(0,o.createComponentVNode)(2,i.Dimmer,{fontSize:"40px",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Box,{mt:30,children:[(0,o.createComponentVNode)(2,i.Icon,{name:"cog",spin:1})," Crafting..."]})});return(0,o.createFragment)([f,(0,o.createComponentVNode)(2,i.Section,{title:"Personal Crafting",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:p?"check-square-o":"square-o",content:"Compact",selected:p,onClick:function(){return l("toggle_compact")}}),(0,o.createComponentVNode)(2,i.Button,{icon:s?"check-square-o":"square-o",content:"Craftable Only",selected:s,onClick:function(){return l("toggle_recipes")}})],4),children:(0,o.createComponentVNode)(2,i.Tabs,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.category,onClick:function(){return l("set_category",{category:e.category,subcategory:e.firstSubcatName})},children:function(){return!e.hasSubcats&&(0,o.createComponentVNode)(2,c,{craftables:e.subcategory,state:t})||(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,n){if("has_subcats"!==n)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n,onClick:function(){return l("set_category",{subcategory:n})},children:function(){return(0,o.createComponentVNode)(2,c,{craftables:e,state:t})}})}))(e.subcategory)})}},e.category)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.PortableGenerator=function(e){var t,n=(0,r.useBackend)(e),i=n.act,c=n.data;return t=c.stack_percent>50?"good":c.stack_percent>15?"average":"bad",(0,o.createFragment)([!c.anchored&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Generator not anchored."}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power switch",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.active?"power-off":"times",onClick:function(){return i("toggle_power")},disabled:!c.ready_to_boot,children:c.active?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:c.sheet_name+" sheets",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t,children:c.sheets}),c.sheets>=1&&(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"eject",disabled:c.active,onClick:function(){return i("eject")},children:"Eject"})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current sheet level",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.stack_percent/100,ranges:{good:[.1,Infinity],average:[.01,.1],bad:[-Infinity,.01]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Heat level",children:c.current_heat<100?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:"Nominal"}):c.current_heat<200?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"average",children:"Caution"}):(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"bad",children:"DANGER"})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current output",children:c.power_output}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",onClick:function(){return i("lower_power")},children:c.power_generated}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return i("higher_power")},children:c.power_generated})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power available",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:!c.connected&&"bad",children:c.connected?c.power_available:"Unconnected"})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableScrubber=t.PortablePump=t.PortableBasicInfo=void 0;var o=n(1),r=n(3),a=n(2),i=n(37),c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.connected,l=i.holding,u=i.on,d=i.pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:c?"good":"average",children:c?"Connected":"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",minHeight:"82px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!l,onClick:function(){return n("eject")}}),children:l?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:l.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.pressure})," kPa"]})]}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No holding tank"})})],4)};t.PortableBasicInfo=c;t.PortablePump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.direction,u=(i.holding,i.target_pressure),d=i.default_pressure,s=i.min_pressure,p=i.max_pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Pump",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-in-alt":"sign-out-alt",content:l?"In":"Out",selected:l,onClick:function(){return n("direction")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,unit:"kPa",width:"75px",minValue:s,maxValue:p,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:u===s,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",disabled:u===d,onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:u===p,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})],4)};t.PortableScrubber=function(e){var t=(0,r.useBackend)(e),n=t.act,l=t.data.filter_types||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Filters",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,i.getGasLabel)(e.gas_id,e.gas_name),selected:e.enabled,onClick:function(){return n("toggle_filter",{val:e.gas_id})}},e.id)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.PowerMonitor=void 0;var o=n(1),r=n(22),a=n(70),i=n(18),c=n(11),l=n(2);var u=5e5,d=function(e){var t=String(e.split(" ")[1]).toLowerCase();return["w","kw","mw","gw"].indexOf(t)},s=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).state={sortByField:null},t}return n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,c.prototype.render=function(){var e=this,t=this.props.state.data,n=t.history,c=this.state.sortByField,s=n.supply[n.supply.length-1]||0,f=n.demand[n.demand.length-1]||0,h=n.supply.map((function(e,t){return[t,e]})),C=n.demand.map((function(e,t){return[t,e]})),g=Math.max.apply(Math,[u].concat(n.supply,n.demand)),b=(0,a.flow)([(0,r.map)((function(e,t){return Object.assign({},e,{id:e.name+t})})),"name"===c&&(0,r.sortBy)((function(e){return e.name})),"charge"===c&&(0,r.sortBy)((function(e){return-e.charge})),"draw"===c&&(0,r.sortBy)((function(e){return-d(e.load)}),(function(e){return-parseFloat(e.load)}))])(t.areas);return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"200px",children:(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Supply",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s,minValue:0,maxValue:g,color:"teal",content:(0,i.toFixed)(s/1e3)+" kW"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Draw",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:f,minValue:0,maxValue:g,color:"pink",content:(0,i.toFixed)(f/1e3)+" kW"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{position:"relative",height:"100%",children:[(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:h,rangeX:[0,h.length-1],rangeY:[0,g],strokeColor:"rgba(0, 181, 173, 1)",fillColor:"rgba(0, 181, 173, 0.25)"}),(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:C,rangeX:[0,C.length-1],rangeY:[0,g],strokeColor:"rgba(224, 57, 151, 1)",fillColor:"rgba(224, 57, 151, 0.25)"})]})})]}),(0,o.createComponentVNode)(2,l.Section,{children:[(0,o.createComponentVNode)(2,l.Box,{mb:1,children:[(0,o.createComponentVNode)(2,l.Box,{inline:!0,mr:2,color:"label",children:"Sort by:"}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"name"===c,content:"Name",onClick:function(){return e.setState({sortByField:"name"!==c&&"name"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"charge"===c,content:"Charge",onClick:function(){return e.setState({sortByField:"charge"!==c&&"charge"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"draw"===c,content:"Draw",onClick:function(){return e.setState({sortByField:"draw"!==c&&"draw"})}})]}),(0,o.createComponentVNode)(2,l.Table,{children:[(0,o.createComponentVNode)(2,l.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Area"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:"Charge"}),(0,o.createComponentVNode)(2,l.Table.Cell,{textAlign:"right",children:"Draw"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Equipment",children:"Eqp"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Lighting",children:"Lgt"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Environment",children:"Env"})]}),b.map((function(e,t){return(0,o.createVNode)(1,"tr","Table__row candystripe",[(0,o.createVNode)(1,"td",null,e.name,0),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",(0,o.createComponentVNode)(2,p,{charging:e.charging,charge:e.charge}),2),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",e.load,0),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.eqp}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.lgt}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.env}),2)],4,null,e.id)}))]})]})],4)},c}(o.Component);t.PowerMonitor=s;var p=function(e){var t=e.charging,n=e.charge;return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Icon,{width:"18px",textAlign:"center",name:0===t&&(n>50?"battery-half":"battery-quarter")||1===t&&"bolt"||2===t&&"battery-full",color:0===t&&(n>50?"yellow":"red")||1===t&&"yellow"||2===t&&"green"}),(0,o.createComponentVNode)(2,l.Box,{inline:!0,width:"36px",textAlign:"right",children:(0,i.toFixed)(n)+"%"})],4)};p.defaultHooks=c.pureComponentHooks;var m=function(e){var t=e.status,n=Boolean(2&t),r=Boolean(1&t),a=(n?"On":"Off")+" ["+(r?"auto":"manual")+"]";return(0,o.createComponentVNode)(2,l.ColorBox,{color:n?"good":"bad",content:r?undefined:"M",title:a})};m.defaultHooks=c.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Radio=void 0;var o=n(1),r=n(22),a=n(18),i=n(3),c=n(2),l=n(37);t.Radio=function(e){var t=(0,i.useBackend)(e),n=t.act,u=t.data,d=u.freqlock,s=u.frequency,p=u.minFrequency,m=u.maxFrequency,f=u.listening,h=u.broadcasting,C=u.command,g=u.useCommand,b=u.subspace,N=u.subspaceSwitchable,v=l.RADIO_CHANNELS.find((function(e){return e.freq===s})),V=(0,r.map)((function(e,t){return{name:t,status:!!e}}))(u.channels);return(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Frequency",children:[d&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"light-gray",children:(0,a.toFixed)(s/10,1)+" kHz"})||(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:10,minValue:p/10,maxValue:m/10,value:s/10,format:function(e){return(0,a.toFixed)(e,1)},onDrag:function(e,t){return n("frequency",{adjust:t-s/10})}}),v&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:v.color,ml:2,children:["[",v.name,"]"]})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Audio",children:[(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:f?"volume-up":"volume-mute",selected:f,onClick:function(){return n("listen")}}),(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:h?"microphone":"microphone-slash",selected:h,onClick:function(){return n("broadcast")}}),!!C&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:g,content:"High volume "+(g?"ON":"OFF"),onClick:function(){return n("command")}}),!!N&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:b,content:"Subspace Tx "+(b?"ON":"OFF"),onClick:function(){return n("subspace")}})]}),!!b&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Channels",children:[0===V.length&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"bad",children:"No encryption keys installed."}),V.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:(0,o.createComponentVNode)(2,c.Button,{icon:e.status?"check-square-o":"square-o",selected:e.status,content:e.name,onClick:function(){return n("channel",{channel:e.name})}})},e.name)}))]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RapidPipeDispenser=void 0;var o=n(1),r=n(11),a=n(3),i=n(2),c=["Atmospherics","Disposals","Transit Tubes"],l={Atmospherics:"wrench",Disposals:"trash-alt","Transit Tubes":"bus",Pipes:"grip-lines","Disposal Pipes":"grip-lines",Devices:"microchip","Heat Exchange":"thermometer-half","Station Equipment":"microchip"},u={grey:"#bbbbbb",amethyst:"#a365ff",blue:"#4466ff",brown:"#b26438",cyan:"#48eae8",dark:"#808080",green:"#1edd00",orange:"#ffa030",purple:"#b535ea",red:"#ff3333",violet:"#6e00f6",yellow:"#ffce26"},d=[{name:"Dispense",bitmask:1},{name:"Connect",bitmask:2},{name:"Destroy",bitmask:4},{name:"Paint",bitmask:8}];t.RapidPipeDispenser=function(e){var t=(0,a.useBackend)(e),n=t.act,s=t.data,p=s.category,m=s.categories,f=void 0===m?[]:m,h=s.selected_color,C=s.piping_layer,g=s.mode,b=s.preview_rows.flatMap((function(e){return e.previews}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Category",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{selected:p===t,icon:l[e],color:"transparent",content:e,onClick:function(){return n("category",{category:t})}},e)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Modes",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:g&e.bitmask,content:e.name,onClick:function(){return n("mode",{mode:e.bitmask})}},e.bitmask)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,width:"64px",color:u[h],content:h}),Object.keys(u).map((function(e){return(0,o.createComponentVNode)(2,i.ColorBox,{ml:1,color:u[e],onClick:function(){return n("color",{paint_color:e})}},e)}))]})]})}),(0,o.createComponentVNode)(2,i.Flex,{m:-.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,children:(0,o.createComponentVNode)(2,i.Section,{children:[0===p&&(0,o.createComponentVNode)(2,i.Box,{mb:1,children:[1,2,3].map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:e===C,content:"Layer "+e,onClick:function(){return n("piping_layer",{piping_layer:e})}},e)}))}),(0,o.createComponentVNode)(2,i.Box,{width:"108px",children:b.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{title:e.dir_name,selected:e.selected,style:{width:"48px",height:"48px",padding:0},onClick:function(){return n("setdir",{dir:e.dir,flipped:e.flipped})},children:(0,o.createComponentVNode)(2,i.Box,{className:(0,r.classes)(["pipes32x32",e.dir+"-"+e.icon_state]),style:{transform:"scale(1.5) translate(17%, 17%)"}})},e.dir)}))})]})}),(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,grow:1,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:f.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{fluid:!0,icon:l[e.cat_name],label:e.cat_name,children:function(){return e.recipes.map((function(t){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,ellipsis:!0,checked:t.selected,content:t.pipe_name,title:t.pipe_name,onClick:function(){return n("pipe_type",{pipe_type:t.pipe_index,category:e.cat_name})}},t.pipe_index)}))}},e.cat_name)}))})})})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Roulette=t.RouletteBetTable=t.RouletteBoard=t.RouletteNumberButton=void 0;var o=n(1),r=n(11),a=n(3),i=n(2),c=n(46);n(16);(0,c.createLogger)("Roulette");var l=function(e){if(0===e)return"green";for(var t=[[1,10],[19,28]],n=!0,o=0;o=r[0]&&e<=r[1]){n=!1;break}}var a=e%2==0;return(n?a:!a)?"red":"black"},u=function(e){var t=e.number,n=(0,a.useBackend)(e).act;return(0,o.createComponentVNode)(2,i.Button,{bold:!0,content:t,color:l(t),width:"40px",height:"28px",fontSize:"20px",textAlign:"center",mb:0,className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:t})}})};t.RouletteNumberButton=u;var d=function(e){var t=e.state,n=(0,a.useBackend)(e).act;return(0,o.createVNode)(1,"table","Table",[(0,o.createVNode)(1,"tr","Roulette__board-row",[(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{content:"0",color:"transparent",height:"88px",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:0})}}),2,{rowSpan:"3"}),[3,6,9,12,15,18,21,24,27,30,33,36].map((function(e){return(0,o.createVNode)(1,"td","Roulette__board-cell Table__cell-collapsing",(0,o.createComponentVNode)(2,u,{state:t,number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2 to 1",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s3rd col"})}}),2)],0),(0,o.createVNode)(1,"tr",null,[[2,5,8,11,14,17,20,23,26,29,32,35].map((function(e){return(0,o.createVNode)(1,"td","Roulette__board-cell Table__cell-collapsing",(0,o.createComponentVNode)(2,u,{state:t,number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2 to 1",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s2nd col"})}}),2)],0),(0,o.createVNode)(1,"tr",null,[[1,4,7,10,13,16,19,22,25,28,31,34].map((function(e){return(0,o.createVNode)(1,"td","Roulette__board-cell Table__cell-collapsing",(0,o.createComponentVNode)(2,u,{state:t,number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2 to 1",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s1st col"})}}),2)],0),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"1st 12",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s1-12"})}}),2,{colSpan:"4"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2nd 12",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s13-24"})}}),2,{colSpan:"4"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"3rd 12",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s25-36"})}}),2,{colSpan:"4"})],4),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"1-18",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s1-18"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Even",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"even"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Black",color:"black",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"black"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Red",color:"red",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"red"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Odd",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"odd"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"19-36",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s19-36"})}}),2,{colSpan:"2"})],4)],4,{style:{width:"1px"}})};t.RouletteBoard=d;var s=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).state={customBet:500},t}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=c.prototype;return u.setCustomBet=function(e){this.setState({customBet:e})},u.render=function(){var e=this,t=(0,a.useBackend)(this.props),n=t.act,c=t.data,u=c.BetType;return u.startsWith("s")&&(u=u.substring(1,u.length)),(0,o.createVNode)(1,"table","Roulette__lowertable",[(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"th",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--header"]),"Last Spun:",16),(0,o.createVNode)(1,"th",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--header"]),"Current Bet:",16)],4),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--spinresult","Roulette__lowertable--spinresult-"+l(c.LastSpin)]),c.LastSpin,0),(0,o.createVNode)(1,"td",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--betscell"]),[(0,o.createComponentVNode)(2,i.Box,{bold:!0,mt:1,mb:1,fontSize:"25px",textAlign:"center",children:[c.BetAmount," cr on ",u]}),(0,o.createComponentVNode)(2,i.Box,{ml:1,mr:1,children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 10 cr",onClick:function(){return n("ChangeBetAmount",{amount:10})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 50 cr",onClick:function(){return n("ChangeBetAmount",{amount:50})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 100 cr",onClick:function(){return n("ChangeBetAmount",{amount:100})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 500 cr",onClick:function(){return n("ChangeBetAmount",{amount:500})}}),(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet custom amount...",onClick:function(){return n("ChangeBetAmount",{amount:e.state.customBet})}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{size:.1,children:(0,o.createComponentVNode)(2,i.NumberInput,{value:this.state.customBet,minValue:0,maxValue:1e3,step:10,stepPixelSize:4,width:"40px",onChange:function(t,n){return e.setCustomBet(n)}})})]})]})],4)],4),(0,o.createVNode)(1,"tr",null,(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,i.Box,{bold:!0,m:1,fontSize:"14px",textAlign:"center",children:"Swipe an ID card with a connected account to spin!"}),2,{colSpan:"2"}),2),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td","Roulette__lowertable--cell",[(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,mr:1,children:"House Balance:"}),(0,o.createComponentVNode)(2,i.Box,{inline:!0,children:c.HouseBalance?c.HouseBalance+" cr":"None"})],4),(0,o.createVNode)(1,"td","Roulette__lowertable--cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:c.IsAnchored?"Bolted":"Unbolted",m:1,color:"transparent",textAlign:"center",onClick:function(){return n("anchor")}}),2)],4)],4)},c}(o.Component);t.RouletteBetTable=s;t.Roulette=function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,d,{state:e.state}),(0,o.createComponentVNode)(2,s,{state:e.state})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SatelliteControl=void 0;var o=n(1),r=n(3),a=n(2),i=n(163);t.SatelliteControl=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.satellites||[];return(0,o.createFragment)([c.meteor_shield&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledListItem,{label:"Coverage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.meteor_shield_coverage/c.meteor_shield_coverage_max,content:100*c.meteor_shield_coverage/c.meteor_shield_coverage_max+"%",ranges:{good:[1,Infinity],average:[.3,1],bad:[-Infinity,.3]}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Satellite Controls",children:(0,o.createComponentVNode)(2,a.Box,{mr:-1,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.active,content:"#"+e.id+" "+e.mode,onClick:function(){return n("toggle",{id:e.id})}},e.id)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ScannerGate=void 0;var o=n(1),r=n(3),a=n(2),i=n(69),c=["Positive","Harmless","Minor","Medium","Harmful","Dangerous","BIOHAZARD"],l=[{name:"Human",value:"human"},{name:"Lizardperson",value:"lizard"},{name:"Flyperson",value:"fly"},{name:"Felinid",value:"felinid"},{name:"Plasmaman",value:"plasma"},{name:"Mothperson",value:"moth"},{name:"Jellyperson",value:"jelly"},{name:"Podperson",value:"pod"},{name:"Golem",value:"golem"},{name:"Zombie",value:"zombie"}],u=[{name:"Starving",value:150},{name:"Obese",value:600}];t.ScannerGate=function(e){var t=e.state,n=(0,r.useBackend)(e),a=n.act,c=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{locked:c.locked,onLockedStatusChange:function(){return a("toggle_lock")}}),!c.locked&&(0,o.createComponentVNode)(2,s,{state:t})],0)};var d={Off:{title:"Scanner Mode: Off",component:function(){return p}},Wanted:{title:"Scanner Mode: Wanted",component:function(){return m}},Guns:{title:"Scanner Mode: Guns",component:function(){return f}},Mindshield:{title:"Scanner Mode: Mindshield",component:function(){return h}},Disease:{title:"Scanner Mode: Disease",component:function(){return C}},Species:{title:"Scanner Mode: Species",component:function(){return g}},Nutrition:{title:"Scanner Mode: Nutrition",component:function(){return b}},Nanites:{title:"Scanner Mode: Nanites",component:function(){return N}}},s=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data.scan_mode,l=d[c]||d.off,u=l.component();return(0,o.createComponentVNode)(2,a.Section,{title:l.title,buttons:"Off"!==c&&(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"back",onClick:function(){return i("set_mode",{new_mode:"Off"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},p=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:"Select a scanning mode below."}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{content:"Wanted",onClick:function(){return t("set_mode",{new_mode:"Wanted"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Guns",onClick:function(){return t("set_mode",{new_mode:"Guns"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Mindshield",onClick:function(){return t("set_mode",{new_mode:"Mindshield"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Disease",onClick:function(){return t("set_mode",{new_mode:"Disease"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Species",onClick:function(){return t("set_mode",{new_mode:"Species"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nutrition",onClick:function(){return t("set_mode",{new_mode:"Nutrition"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nanites",onClick:function(){return t("set_mode",{new_mode:"Nanites"})}})]})],4)},m=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any warrants for their arrest."]}),(0,o.createComponentVNode)(2,v,{state:t})],4)},f=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any guns."]}),(0,o.createComponentVNode)(2,v,{state:t})],4)},h=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","a mindshield."]}),(0,o.createComponentVNode)(2,v,{state:t})],4)},C=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,l=n.data,u=l.reverse,d=l.disease_threshold;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",u?"does not have":"has"," ","a disease equal or worse than ",d,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e===d,content:e,onClick:function(){return i("set_disease_threshold",{new_threshold:e})}},e)}))}),(0,o.createComponentVNode)(2,v,{state:t})],4)},g=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,u=c.reverse,d=c.target_species,s=l.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned is ",u?"not":""," ","of the ",s.name," species.","zombie"===d&&" All zombie types will be detected, including dormant zombies."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_species",{new_species:e.value})}},e.value)}))}),(0,o.createComponentVNode)(2,v,{state:t})],4)},b=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,d=c.target_nutrition,s=u.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","the ",s.name," nutrition level."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_nutrition",{new_nutrition:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,v,{state:t})],4)},N=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,u=c.nanite_cloud;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","nanite cloud ",u,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,width:"65px",minValue:1,maxValue:100,stepPixelSize:2,onChange:function(e,t){return i("set_nanite_cloud",{new_cloud:t})}})})})}),(0,o.createComponentVNode)(2,v,{state:t})],4)},v=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.reverse;return(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scanning Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:i?"Inverted":"Default",icon:i?"random":"long-arrow-alt-right",onClick:function(){return n("toggle_reverse")},color:i?"bad":"good"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleManipulator=void 0;var o=n(1),r=n(22),a=n(3),i=n(2);t.ShuttleManipulator=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.shuttles||[],u=c.templates||{},d=c.selected||{},s=c.existing_shuttle||{};return(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Status",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Table,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"JMP",onClick:function(){return n("jump_to",{type:"mobile",id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Fly",disabled:!e.can_fly,onClick:function(){return n("fly",{id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.id}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.status}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[e.mode,!!e.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),e.timeleft,(0,o.createTextVNode)(")"),(0,o.createComponentVNode)(2,i.Button,{content:"Fast Travel",disabled:!e.can_fast_travel,onClick:function(){return n("fast_travel",{id:e.id})}},e.id)],0)]})]},e.id)}))})})}},"status"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Templates",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:(0,r.map)((function(e,t){var r=e.templates||[];return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.port_id,children:r.map((function(e){var t=e.shuttle_id===d.shuttle_id;return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{content:t?"Selected":"Select",selected:t,onClick:function(){return n("select_template",{shuttle_id:e.shuttle_id})}}),children:(!!e.description||!!e.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:e.description}),!!e.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:e.admin_notes})]})},e.shuttle_id)}))},t)}))(u)})})}},"templates"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Modification",children:(0,o.createComponentVNode)(2,i.Section,{children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{level:2,title:d.name,children:(!!d.description||!!d.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!d.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:d.description}),!!d.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:d.admin_notes})]})}),s?(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: "+s.name,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Jump To",onClick:function(){return n("jump_to",{type:"mobile",id:s.id})}}),children:[s.status,!!s.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),s.timeleft,(0,o.createTextVNode)(")")],0)]})})}):(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: None"}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Status",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Preview",onClick:function(){return n("preview",{shuttle_id:d.shuttle_id})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Load",color:"bad",onClick:function(){return n("load",{shuttle_id:d.shuttle_id})}})]})],0):"No shuttle selected"})},"modification")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Signaler=void 0;var o=n(1),r=n(2),a=n(3),i=n(18);t.Signaler=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.code,u=c.frequency,d=c.minFrequency,s=c.maxFrequency;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Frequency:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:d/10,maxValue:s/10,value:u/10,format:function(e){return(0,i.toFixed)(e,1)},width:13,onDrag:function(e,t){return n("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"freq"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.6,children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Code:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:l,width:13,onDrag:function(e,t){return n("code",{code:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"code"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.8,children:(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{mb:-.1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){return n("signal")}})})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Sleeper=void 0;var o=n(1),r=n(3),a=n(2);t.Sleeper=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.open,l=i.occupant,u=void 0===l?{}:l,d=i.occupied,s=(i.chems||[]).sort((function(e,t){var n=e.name.toLowerCase(),o=t.name.toLowerCase();return no?1:0}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:u.name?u.name:"No Occupant",minHeight:"210px",buttons:!!u.stat&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:u.statstate,children:u.stat}),children:!!d&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.ProgressBar,{value:u.health,minValue:u.minHealth,maxValue:u.maxHealth,ranges:{good:[50,Infinity],average:[0,50],bad:[-Infinity,0]}}),(0,o.createComponentVNode)(2,a.Box,{mt:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Oxygen",type:"oxyLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:u[e.type],minValue:0,maxValue:u.maxHealth,color:"bad"})},e.type)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cells",color:u.cloneLoss?"bad":"good",children:u.cloneLoss?"Damaged":"Healthy"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain",color:u.brainLoss?"bad":"good",children:u.brainLoss?"Abnormal":"Healthy"})]})],4)}),(0,o.createComponentVNode)(2,a.Section,{title:"Medicines",minHeight:"205px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c?"door-open":"door-closed",content:c?"Open":"Closed",onClick:function(){return n("door")}}),children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:"flask",content:e.name,disabled:!(d&&e.allowed),width:"110px",onClick:function(){return n("inject",{chem:e.id})}},e.name)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SlimeBodySwapper=t.BodyEntry=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.body,n=e.swapFunc;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t.htmlcolor,children:t.name}),level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{content:{owner:"You Are Here",stranger:"Occupied",available:"Swap"}[t.occupied],selected:"owner"===t.occupied,color:"stranger"===t.occupied&&"bad",onClick:function(){return n()}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",bold:!0,color:{Dead:"bad",Unconscious:"average",Conscious:"good"}[t.status],children:t.status}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Jelly",children:t.exoticblood}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:t.area})]})})};t.BodyEntry=i;t.SlimeBodySwapper=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data.bodies,l=void 0===c?[]:c;return(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i,{body:e,swapFunc:function(){return n("swap",{ref:e.ref})}},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmartVend=void 0;var o=n(1),r=n(22),a=n(3),i=n(2);t.SmartVend=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createComponentVNode)(2,i.Section,{title:"Storage",buttons:!!c.isdryer&&(0,o.createComponentVNode)(2,i.Button,{icon:c.drying?"stop":"tint",onClick:function(){return n("Dry")},children:c.drying?"Stop drying":"Dry"}),children:0===c.contents.length&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:["Unfortunately, this ",c.name," is empty."]})||(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Item"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"center",children:c.verb?c.verb:"Dispense"})]}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:e.amount}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.Button,{content:"One",disabled:e.amount<1,onClick:function(){return n("Release",{name:e.name,amount:1})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Many",disabled:e.amount<=1,onClick:function(){return n("Release",{name:e.name})}})]})]},t)}))(c.contents)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Smes=void 0;var o=n(1),r=n(3),a=n(2);t.Smes=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return t=l.capacityPercent>=100?"good":l.inputting?"average":"bad",n=l.outputting?"good":l.charge>0?"average":"bad",(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Stored Energy",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:.01*l.capacityPercent,ranges:{good:[.5,Infinity],average:[.15,.5],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.Section,{title:"Input",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.inputAttempt?"sync-alt":"times",selected:l.inputAttempt,onClick:function(){return c("tryinput")},children:l.inputAttempt?"Auto":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:t,children:l.capacityPercent>=100?"Fully Charged":l.inputting?"Charging":"Not Charging"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Input",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.inputLevel/l.inputLevelMax,content:l.inputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Input",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Available",children:l.inputAvailable})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.outputAttempt?"power-off":"times",selected:l.outputAttempt,onClick:function(){return c("tryoutput")},children:l.outputAttempt?"On":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:n,children:l.outputting?"Sending":l.charge>0?"Not Sending":"No Charge"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.outputLevel/l.outputLevelMax,content:l.outputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Outputting",children:l.outputUsed})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SmokeMachine=void 0;var o=n(1),r=n(3),a=n(2);t.SmokeMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.TankContents,l=(i.isTankLoaded,i.TankCurrentVolume),u=i.TankMaxVolume,d=i.active,s=i.setting,p=(i.screen,i.maxSetting),m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Dispersal Tank",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",selected:d,content:d?"On":"Off",onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/u,ranges:{bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{initial:0,value:l||0})," / "+u]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Range",children:[1,2,3,4,5].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:s===e,icon:"plus",content:3*e,disabled:m0?"good":"bad",children:m})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{good:[.66,Infinity],average:[.33,.66],bad:[-Infinity,.33]},minValue:0,maxValue:1,value:l,content:c+" W"})})})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Tracking",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:0===p,onClick:function(){return n("tracking",{mode:0})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:"Timed",selected:1===p,onClick:function(){return n("tracking",{mode:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:2===p,disabled:!f,onClick:function(){return n("tracking",{mode:2})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Azimuth",children:[(0===p||1===p)&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"52px",unit:"\xb0",step:1,stepPixelSize:2,minValue:-360,maxValue:720,value:u,onDrag:function(e,t){return n("azimuth",{value:t})}}),1===p&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"80px",unit:"\xb0/m",step:.01,stepPixelSize:1,minValue:-s-.01,maxValue:s+.01,value:d,format:function(e){return(Math.sign(e)>0?"+":"-")+Math.abs(e)},onDrag:function(e,t){return n("azimuth_rate",{value:t})}}),2===p&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mt:"3px",children:[u+" \xb0"," (auto)"]})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpaceHeater=void 0;var o=n(1),r=n(3),a=n(2);t.SpaceHeater=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Cell",disabled:!i.hasPowercell||!i.open,onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,disabled:!i.hasPowercell,onClick:function(){return n("power")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell",color:!i.hasPowercell&&"bad",children:i.hasPowercell&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.powerLevel/100,content:i.powerLevel+"%",ranges:{good:[.6,Infinity],average:[.3,.6],bad:[-Infinity,.3]}})||"None"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Thermostat",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"18px",color:Math.abs(i.targetTemp-i.currentTemp)>50?"bad":Math.abs(i.targetTemp-i.currentTemp)>20?"average":"good",children:[i.currentTemp,"\xb0C"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:i.open&&(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.targetTemp),width:"65px",unit:"\xb0C",minValue:i.minTemp,maxValue:i.maxTemp,onChange:function(e,t){return n("target",{target:t})}})||i.targetTemp+"\xb0C"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",children:i.open?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"thermometer-half",content:"Auto",selected:"auto"===i.mode,onClick:function(){return n("mode",{mode:"auto"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fire-alt",content:"Heat",selected:"heat"===i.mode,onClick:function(){return n("mode",{mode:"heat"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fan",content:"Cool",selected:"cool"===i.mode,onClick:function(){return n("mode",{mode:"cool"})}})],4):"Auto"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider)]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpawnersMenu=void 0;var o=n(1),r=n(3),a=n(2);t.SpawnersMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.spawners||[];return(0,o.createComponentVNode)(2,a.Section,{children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name+" ("+e.amount_left+" left)",level:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Jump",onClick:function(){return n("jump",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Spawn",onClick:function(){return n("spawn",{name:e.name})}})],4),children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,mb:1,fontSize:"20px",children:e.short_desc}),(0,o.createComponentVNode)(2,a.Box,{children:e.flavor_text}),!!e.important_info&&(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,color:"bad",fontSize:"26px",children:e.important_info})]},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.StationAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.StationAlertConsole=function(e){var t=(0,r.useBackend)(e).data.alarms||[],n=t.Fire||[],i=t.Atmosphere||[],c=t.Power||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Fire Alarms",children:(0,o.createVNode)(1,"ul",null,[0===n.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),n.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Atmospherics Alarms",children:(0,o.createVNode)(1,"ul",null,[0===i.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),i.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Alarms",children:(0,o.createVNode)(1,"ul",null,[0===c.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),c.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SuitStorageUnit=void 0;var o=n(1),r=n(3),a=n(2);t.SuitStorageUnit=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.locked,l=i.open,u=i.safeties,d=i.uv_active,s=i.occupied,p=i.suit,m=i.helmet,f=i.mask,h=i.storage;return(0,o.createFragment)([!(!s||!u)&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Biological entity detected in suit chamber. Please remove before continuing with operation."}),d&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Contents are currently being decontaminated. Please wait."})||(0,o.createComponentVNode)(2,a.Section,{title:"Storage",minHeight:"260px",buttons:(0,o.createFragment)([!l&&(0,o.createComponentVNode)(2,a.Button,{icon:c?"unlock":"lock",content:c?"Unlock":"Lock",onClick:function(){return n("lock")}}),!c&&(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-out-alt":"sign-in-alt",content:l?"Close":"Open",onClick:function(){return n("door")}})],0),children:c&&(0,o.createComponentVNode)(2,a.Box,{mt:6,bold:!0,textAlign:"center",fontSize:"40px",children:[(0,o.createComponentVNode)(2,a.Box,{children:"Unit Locked"}),(0,o.createComponentVNode)(2,a.Icon,{name:"lock"})]})||l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Helmet",children:(0,o.createComponentVNode)(2,a.Button,{icon:m?"square":"square-o",content:m||"Empty",disabled:!m,onClick:function(){return n("dispense",{item:"helmet"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suit",children:(0,o.createComponentVNode)(2,a.Button,{icon:p?"square":"square-o",content:p||"Empty",disabled:!p,onClick:function(){return n("dispense",{item:"suit"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mask",children:(0,o.createComponentVNode)(2,a.Button,{icon:f?"square":"square-o",content:f||"Empty",disabled:!f,onClick:function(){return n("dispense",{item:"mask"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Storage",children:(0,o.createComponentVNode)(2,a.Button,{icon:h?"square":"square-o",content:h||"Empty",disabled:!h,onClick:function(){return n("dispense",{item:"storage"})}})})]})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"recycle",content:"Decontaminate",disabled:s&&u,textAlign:"center",onClick:function(){return n("uv")}})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Tank=void 0;var o=n(1),r=n(3),a=n(2);t.Tank=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.tankPressure/1013,content:i.tankPressure+" kPa",ranges:{good:[.35,Infinity],average:[.15,.35],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:i.ReleasePressure===i.minReleasePressure,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.releasePressure),width:"65px",unit:"kPa",minValue:i.minReleasePressure,maxValue:i.maxReleasePressure,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:i.ReleasePressure===i.maxReleasePressure,onClick:function(){return n("pressure",{pressure:"max"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"",disabled:i.ReleasePressure===i.defaultReleasePressure,onClick:function(){return n("pressure",{pressure:"reset"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TankDispenser=void 0;var o=n(1),r=n(3),a=n(2);t.TankDispenser=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plasma",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.plasma?"square":"square-o",content:"Dispense",disabled:!i.plasma,onClick:function(){return n("plasma")}}),children:i.plasma}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.oxygen?"square":"square-o",content:"Dispense",disabled:!i.oxygen,onClick:function(){return n("oxygen")}}),children:i.oxygen})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Teleporter=void 0;var o=n(1),r=n(3),a=n(2);t.Teleporter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.calibrated,l=i.calibrating,u=i.power_station,d=i.regime_set,s=i.teleporter_hub,p=i.target;return(0,o.createComponentVNode)(2,a.Section,{children:!u&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No power station linked."})||!s&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No hub linked."})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Regime",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Change Regime",onClick:function(){return n("regimeset")}}),children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Set Target",onClick:function(){return n("settarget")}}),children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Calibration",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Calibrate Hub",onClick:function(){return n("calibrate")}}),children:l&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"In Progress"})||c&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Optimal"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Sub-Optimal"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ThermoMachine=void 0;var o=n(1),r=n(18),a=n(3),i=n(2);t.ThermoMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.temperature,format:function(e){return(0,r.toFixed)(e,2)}})," K"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.pressure,format:function(e){return(0,r.toFixed)(e,2)}})," kPa"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:Math.round(c.target),unit:"K",width:"62px",minValue:Math.round(c.min),maxValue:Math.round(c.max),step:5,stepPixelSize:3,onDrag:function(e,t){return n("target",{target:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"fast-backward",disabled:c.target===c.min,title:"Minimum temperature",onClick:function(){return n("target",{target:c.min})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",disabled:c.target===c.initial,title:"Room Temperature",onClick:function(){return n("target",{target:c.initial})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"fast-forward",disabled:c.target===c.max,title:"Maximum Temperature",onClick:function(){return n("target",{target:c.max})}})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.TurbineComputer=void 0;var o=n(1),r=n(3),a=n(2);t.TurbineComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=Boolean(i.compressor&&!i.compressor_broke&&i.turbine&&!i.turbine_broke);return(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:i.online?"power-off":"times",content:i.online?"Online":"Offline",selected:i.online,disabled:!c,onClick:function(){return n("toggle_power")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reconnect",onClick:function(){return n("reconnect")}})],4),children:!c&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Compressor Status",color:!i.compressor||i.compressor_broke?"bad":"good",children:i.compressor_broke?i.compressor?"Offline":"Missing":"Online"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Status",color:!i.turbine||i.turbine_broke?"bad":"good",children:i.turbine_broke?i.turbine?"Offline":"Missing":"Online"})]})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Speed",children:[i.rpm," RPM"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Internal Temp",children:[i.temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Generated Power",children:i.power})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Uplink=void 0;var o=n(1),r=n(21),a=n(16),i=n(2);var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={hoveredItem:{},currentSearch:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setHoveredItem=function(e){this.setState({hoveredItem:e})},c.setSearchText=function(e){this.setState({currentSearch:e})},c.render=function(){var e=this,t=this.props.state,n=t.config,r=t.data,c=n.ref,u=r.compact_mode,d=r.lockable,s=r.telecrystals,p=r.categories,m=void 0===p?[]:p,f=this.state,h=f.hoveredItem,C=f.currentSearch;return(0,o.createComponentVNode)(2,i.Section,{title:(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:s>0?"good":"bad",children:[s," TC"]}),buttons:(0,o.createFragment)([(0,o.createTextVNode)("Search"),(0,o.createComponentVNode)(2,i.Input,{value:C,onInput:function(t,n){return e.setSearchText(n)},ml:1,mr:1}),(0,o.createComponentVNode)(2,i.Button,{icon:u?"list":"info",content:u?"Compact":"Detailed",onClick:function(){return(0,a.act)(c,"compact_toggle")}}),!!d&&(0,o.createComponentVNode)(2,i.Button,{icon:"lock",content:"Lock",onClick:function(){return(0,a.act)(c,"lock")}})],0),children:C.length>0?(0,o.createVNode)(1,"table","Table",(0,o.createComponentVNode)(2,l,{compact:!0,items:m.flatMap((function(e){return e.items||[]})).filter((function(e){var t=C.toLowerCase();return String(e.name+e.desc).toLowerCase().includes(t)})),hoveredItem:h,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{item:e.name})}}),2):(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:m.map((function(t){var n=t.name,r=t.items;if(null!==r)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n+" ("+r.length+")",children:function(){return(0,o.createComponentVNode)(2,l,{compact:u,items:r,hoveredItem:h,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{item:e.name})}})}},n)}))})})},r}(o.Component);t.Uplink=c;var l=function(e){var t=e.items,n=e.hoveredItem,a=e.telecrystals,c=e.compact,l=e.onBuy,u=e.onBuyMouseOver,d=e.onBuyMouseOut,s=n&&n.cost||0;return c?(0,o.createComponentVNode)(2,i.Table,{children:t.map((function(e){var t=n&&n.name!==e.name,c=a-sl.user.cash),content:t?"FREE":e.price+" cr",onClick:function(){return(0,r.act)(u,"vend",{ref:e.ref})}})})]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Wires=void 0;var o=n(1),r=n(3),a=n(2);t.Wires=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.wires||[],l=i.status||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{className:"candystripe",label:e.color,labelColor:e.color,color:e.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:e.cut?"Mend":"Cut",onClick:function(){return n("cut",{wire:e.color})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Pulse",onClick:function(){return n("pulse",{wire:e.color})}}),(0,o.createComponentVNode)(2,a.Button,{content:e.attached?"Detach":"Attach",onClick:function(){return n("attach",{wire:e.color})}})],4),children:!!e.wire&&(0,o.createVNode)(1,"i",null,[(0,o.createTextVNode)("("),e.wire,(0,o.createTextVNode)(")")],0)},e.color)}))})}),!!l.length&&(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.SyndPane=t.StatusPane=t.SyndContractor=t.FakeTerminal=void 0;var o=n(1),r=n(2),a=n(3);var i=function(e){var t,n;function a(t){var n;return(n=e.call(this,t)||this).timer=null,n.state={currentIndex:0,currentDisplay:[]},n}n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var i=a.prototype;return i.tick=function(){var e=this.props,t=this.state;t.currentIndex<=e.allMessages.length?(this.setState((function(e){return{currentIndex:e.currentIndex+1}})),t.currentDisplay.push(e.allMessages[t.currentIndex])):(clearTimeout(this.timer),setTimeout(e.onFinished,e.finishedTimeout))},i.componentDidMount=function(){var e=this,t=this.props.linesPerSecond,n=void 0===t?2.5:t;this.timer=setInterval((function(){return e.tick()}),1e3/n)},i.componentWillUnmount=function(){clearTimeout(this.timer)},i.render=function(){return(0,o.createComponentVNode)(2,r.Box,{m:1,children:this.state.currentDisplay.map((function(e){return(0,o.createFragment)([e,(0,o.createVNode)(1,"br")],0,e)}))})},a}(o.Component);t.FakeTerminal=i;t.SyndContractor=function(e){var t=(0,a.useBackend)(e),n=t.data,c=t.act,u=["Recording biometric data...","Analyzing embedded syndicate info...","STATUS CONFIRMED","Contacting syndicate database...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Response received, ack 4851234...","CONFIRM ACC "+Math.round(2e4*Math.random()),"Setting up private accounts...","CONTRACTOR ACCOUNT CREATED","Searching for available contracts...","Searching for available contracts...","Searching for available contracts...","Searching for available contracts...","CONTRACTS FOUND","WELCOME, AGENT"],d=!!n.error&&(0,o.createComponentVNode)(2,r.Dimmer,{children:(0,o.createComponentVNode)(2,r.Box,{backgroundColor:"red",minHeight:"150px",mt:30,ml:15,mr:15,children:(0,o.createComponentVNode)(2,r.Table,{m:1,children:(0,o.createComponentVNode)(2,r.Table.Row,{children:[(0,o.createComponentVNode)(2,r.Table.Cell,{collapsing:!0,fontSize:"100px",children:(0,o.createComponentVNode)(2,r.Icon,{name:"exclamation-triangle",mt:4,ml:2})}),(0,o.createComponentVNode)(2,r.Table.Cell,{verticalAlign:"top",textAlign:"center",children:[(0,o.createComponentVNode)(2,r.Box,{m:1,textAlign:"left",width:"100%",minHeight:"110px",children:n.error}),(0,o.createComponentVNode)(2,r.Button,{content:"Dismiss",onClick:function(){return c("PRG_clear_error")}})]})]})})})});return n.logged_in?n.logged_in&&n.first_load?(0,o.createComponentVNode)(2,r.Box,{backgroundColor:"rgba(0, 0, 0, 0.8)",minHeight:"525px",children:(0,o.createComponentVNode)(2,i,{allMessages:u,finishedTimeout:3e3,onFinished:function(){return c("PRG_set_first_load_finished")}})}):n.info_screen?(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Box,{backgroundColor:"rgba(0, 0, 0, 0.8)",minHeight:"500px",children:(0,o.createComponentVNode)(2,i,{allMessages:["SyndTract v2.0","","We've identified potentional high-value targets that are","currently assigned to your mission area. They are believed","to hold valuable information which could be of immediate","importance to our organisation.","","Listed below are all of the contracts available to you. You","are to bring the specified target to the designated","drop-off, and contact us via this uplink. We will send","a specialised extraction unit to put the body into.","","We want targets alive - but we will sometimes pay slight","amounts if they're not, you just won't recieve the shown","bonus. You can redeem your payment through this uplink in","the form of raw telecrystals, which can be put into your","regular Syndicate uplink to purchase whatever you may need.","We provide you with these crystals the moment you send the","target up to us, which can be collected at anytime through","this system.","","Targets extracted will be ransomed back to the station once","their use to us is fulfilled, with us providing you a small","percentage cut. You may want to be mindful of them","identifying you when they come back. We provide you with","a standard contractor loadout, which will help cover your","identity."],linesPerSecond:10})}),(0,o.createComponentVNode)(2,r.Button,{fluid:!0,content:"CONTINUE",color:"transparent",textAlign:"center",onClick:function(){return c("PRG_toggle_info")}})],4):(0,o.createFragment)([d,(0,o.createComponentVNode)(2,l,{state:e.state})],0):(0,o.createComponentVNode)(2,r.Section,{minHeight:"525px",children:[(0,o.createComponentVNode)(2,r.Box,{width:"100%",textAlign:"center",children:(0,o.createComponentVNode)(2,r.Button,{content:"REGISTER USER",color:"transparent",onClick:function(){return c("PRG_login")}})}),!!n.error&&(0,o.createComponentVNode)(2,r.NoticeBox,{children:n.error})]})};var c=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,r.Section,{title:(0,o.createFragment)([(0,o.createTextVNode)("Contractor Status"),(0,o.createComponentVNode)(2,r.Button,{content:"View Information Again",color:"transparent",mb:0,ml:1,onClick:function(){return n("PRG_toggle_info")}})],4),buttons:(0,o.createComponentVNode)(2,r.Box,{bold:!0,mr:1,children:[i.contract_rep," Rep"]}),children:(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:.85,children:(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"TC Availible",buttons:(0,o.createComponentVNode)(2,r.Button,{content:"Claim",disabled:i.redeemable_tc<=0,onClick:function(){return n("PRG_redeem_TC")}}),children:i.redeemable_tc}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"TC Earned",children:i.earned_tc})]})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Contracts Completed",children:i.contracts_completed}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Current Status",children:"ACTIVE"})]})})]})})};t.StatusPane=c;var l=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,l=i.contractor_hub_items||[],u=i.contracts||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,r.Tabs,{children:[(0,o.createComponentVNode)(2,r.Tabs.Tab,{label:"Contracts",children:(0,o.createComponentVNode)(2,r.Section,{title:"Availible Contracts",buttons:(0,o.createComponentVNode)(2,r.Button,{content:"Call Extraction",disabled:!i.ongoing_contract||i.extraction_enroute,onClick:function(){return n("PRG_call_extraction")}}),children:u.map((function(e){var t=e.status>1;if(!(e.status>=5))return(0,o.createComponentVNode)(2,r.Section,{title:e.target+" ("+e.target_rank+")",level:t?1:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,mr:1,children:[e.payout," (+",e.payout_bonus,") TC"]}),(0,o.createComponentVNode)(2,r.Button,{content:t?"Abort":"Accept",disabled:e.extraction_enroute,color:t&&"bad",onClick:function(){return n("PRG_contract"+(t?"_abort":"-accept"),{contract_id:e.id})}})],4),children:(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{children:e.message}),(0,o.createComponentVNode)(2,r.Grid.Column,{size:.5,children:[(0,o.createComponentVNode)(2,r.Box,{bold:!0,mb:1,children:"Dropoff Location:"}),(0,o.createComponentVNode)(2,r.Box,{children:e.dropoff})]})]})},e.target)}))})}),(0,o.createComponentVNode)(2,r.Tabs.Tab,{label:"Uplink",children:(0,o.createComponentVNode)(2,r.Section,{children:l.map((function(e){var t=e.cost?e.cost+" Rep":"FREE",a=-1!==e.limited;return(0,o.createComponentVNode)(2,r.Section,{title:e.name+" - "+t,level:2,buttons:(0,o.createFragment)([a&&(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,mr:1,children:[e.limited," remaining"]}),(0,o.createComponentVNode)(2,r.Button,{content:"Purchase",disabled:i.redeemable_tc1?r-1:0),i=1;i1?t-1:0),o=1;o TankDispenser, scrollable: false, }, + teleporter: { + component: () => Teleporter, + scrollable: false, + }, thermomachine: { component: () => ThermoMachine, scrollable: false, From 528d3b8a47ea50d40f1a31a16b4e8aef6575d9fc Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Fri, 17 Jan 2020 07:59:02 -0800 Subject: [PATCH 088/124] Automatic changelog generation for PR #48795 [ci skip] --- html/changelogs/AutoChangeLog-pr-48795.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48795.yml diff --git a/html/changelogs/AutoChangeLog-pr-48795.yml b/html/changelogs/AutoChangeLog-pr-48795.yml new file mode 100644 index 00000000000..c3c3e64aa2b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48795.yml @@ -0,0 +1,4 @@ +author: "Arkatos" +delete-after: True +changes: + - rscadd: "Teleporter Control Console now uses tgui-next." From e1d3148c6f1795c1e6cea8bd959771a653cfdb53 Mon Sep 17 00:00:00 2001 From: JJRcop Date: Fri, 17 Jan 2020 10:59:23 -0500 Subject: [PATCH 089/124] Intercom examine tells you about :i (#48809) * Intercom examine tells you about :i If you're close enough to them * Intercom exmaine message different depending on proximity * Intercom examine isn't dynamic --- code/__DEFINES/say.dm | 4 ++++ code/game/objects/items/devices/radio/intercom.dm | 1 + code/modules/mob/living/say.dm | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/say.dm b/code/__DEFINES/say.dm index b301fd79147..417fe9316a5 100644 --- a/code/__DEFINES/say.dm +++ b/code/__DEFINES/say.dm @@ -15,6 +15,7 @@ #define MODE_INTERCOM "intercom" #define MODE_KEY_INTERCOM "i" +#define MODE_TOKEN_INTERCOM ":i" #define MODE_BINARY "binary" #define MODE_KEY_BINARY "b" @@ -63,6 +64,9 @@ //Eavesdropping #define EAVESDROP_EXTRA_RANGE 1 //how much past the specified message_range does the message get starred, whispering only +/// How close intercoms can be for radio code use +#define MODE_RANGE_INTERCOM 1 + // A link given to ghost alice to follow bob #define FOLLOW_LINK(alice, bob) "(F)" #define TURF_LINK(alice, turfy) "(T)" diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index e786aef5402..a9dd5fd778d 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -27,6 +27,7 @@ /obj/item/radio/intercom/examine(mob/user) . = ..() + . += "Use [MODE_TOKEN_INTERCOM] when nearby to speak into it." if(!unfastened) . += "It's screwed and secured to the wall." else diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 870a1b8fe64..39b0feea4c7 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -380,7 +380,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( return ITALICS | REDUCE_RANGE if(MODE_INTERCOM) - for (var/obj/item/radio/intercom/I in view(1, null)) + for (var/obj/item/radio/intercom/I in view(MODE_RANGE_INTERCOM, null)) I.talk_into(src, message, , spans, language) return ITALICS | REDUCE_RANGE From eed10dd21b88635616ae680aea72f4e18608a874 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Fri, 17 Jan 2020 07:59:27 -0800 Subject: [PATCH 090/124] Automatic changelog generation for PR #48809 [ci skip] --- html/changelogs/AutoChangeLog-pr-48809.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48809.yml diff --git a/html/changelogs/AutoChangeLog-pr-48809.yml b/html/changelogs/AutoChangeLog-pr-48809.yml new file mode 100644 index 00000000000..e1b113067b7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48809.yml @@ -0,0 +1,4 @@ +author: "JJRcop" +delete-after: True +changes: + - rscadd: "Intercom description tells you about the :i radio key." From e7a9bf4a6d5e1778259e73a0c88d312325a6d5a4 Mon Sep 17 00:00:00 2001 From: Nick Date: Fri, 17 Jan 2020 17:18:38 -0500 Subject: [PATCH 091/124] Yet another db tickets bugfix #48854 --- code/modules/admin/verbs/adminpm.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 949ed7e498a..970cb596bb7 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -177,7 +177,7 @@ if(!recipient.current_ticket) new /datum/admin_help(msg, recipient, TRUE) already_logged = TRUE - SSblackbox.LogAhelp(recipient.current_ticket.id, "Ticket Opened", msg, null, recipient.ckey) + SSblackbox.LogAhelp(recipient.current_ticket.id, "Ticket Opened", msg, recipient.ckey, src.ckey) to_chat(recipient, "-- Administrator private message --") to_chat(recipient, "Admin PM from-[key_name(src, recipient, 0)]: [msg]") From f7eb2c905b6018e37b75aede1c6e0f724901c7ec Mon Sep 17 00:00:00 2001 From: MrPerson Date: Fri, 17 Jan 2020 18:07:22 -0600 Subject: [PATCH 092/124] Unicode awareness Part 2 -- copytext() (#48512) * Unicode support Part 2 -- copytext() This is the transition of all copytext() calls to be unicode aware and also some nearby calls in the same functions. Most things are just replacing copytext() with copytext_char() as a terrible character limiter but a few others were slightly more involved. I replaced a ton of ```` var/something = sanitize(input()) something = copytext(something, 1, MAX_MESSAGE_LEN) ```` with a single stripped_input() call. stripped_input() already calls html_encode(), trim(), and some other sanitization so there shouldn't be any major issues there. This is still VERY rough btw; DNA is a mess, the status displays are complete ass, there's a copytext() in code\datums\shuttles.dm that I'm not sure what to do with, and I didn't touch anything in the tools folder. I haven't tested this much at all yet, I only got it to compile earlier this morning. There's also likely to be weird bugs until I get around to fixing length(), findtext(), and the rest of the string procs. * Makes the code functional * Assume color hex strings are always # followed by ascii. Properly encodes and decodes the stuff in mob_helpers.dm which fixes some issues there. * Removes ninjaspeak since it's unused --- code/__DEFINES/typeids.dm | 2 +- code/__HELPERS/files.dm | 2 +- code/__HELPERS/icons.dm | 4 +- code/__HELPERS/pronouns.dm | 4 +- code/__HELPERS/sanitize_values.dm | 4 +- code/__HELPERS/shell.dm | 2 +- code/__HELPERS/type2type.dm | 10 +- code/__HELPERS/type_processing.dm | 4 +- code/__HELPERS/unsorted.dm | 20 +- .../controllers/configuration/config_entry.dm | 3 +- .../configuration/configuration.dm | 10 +- code/controllers/subsystem/pai.dm | 24 +- .../subsystem/processing/networks.dm | 2 +- code/datums/brain_damage/imaginary_friend.dm | 2 +- code/datums/components/gps.dm | 3 +- code/datums/dna.dm | 10 +- code/datums/helper_datums/getrev.dm | 2 +- code/datums/holocall.dm | 4 +- code/datums/martial/_martial.dm | 2 +- code/datums/mind.dm | 6 +- .../mood_events/generic_negative_events.dm | 2 +- code/datums/verbs.dm | 4 +- code/game/machinery/computer/cloning.dm | 2 +- code/game/machinery/computer/dna_console.dm | 27 +- .../machinery/computer/prisoner/management.dm | 2 +- code/game/machinery/computer/security.dm | 2 +- code/game/machinery/magnet.dm | 20 +- code/game/machinery/navbeacon.dm | 4 +- code/game/machinery/newscaster.dm | 6 +- code/game/machinery/requests_console.dm | 13 +- code/game/machinery/status_display.dm | 24 +- code/game/machinery/telecomms/broadcasting.dm | 2 +- .../telecomms/machine_interactions.dm | 2 +- code/game/mecha/mecha_topic.dm | 8 +- code/game/objects/effects/contraband.dm | 2 +- code/game/objects/items/cards_ids.dm | 32 +-- code/game/objects/items/cigs_lighters.dm | 2 +- code/game/objects/items/crayons.dm | 2 +- code/game/objects/items/devices/PDA/PDA.dm | 4 +- code/game/objects/items/devices/paicard.dm | 2 +- code/game/objects/items/devices/scanners.dm | 6 +- code/game/objects/items/twohanded.dm | 4 +- code/game/objects/objs.dm | 4 +- code/game/objects/structures/mirror.dm | 3 +- code/game/objects/structures/musician.dm | 23 +- code/game/say.dm | 10 +- code/modules/admin/admin_verbs.dm | 8 +- code/modules/admin/secrets.dm | 2 +- code/modules/admin/topic.dm | 14 +- code/modules/admin/verbs/SDQL2/SDQL_2.dm | 35 +-- .../admin/verbs/SDQL2/SDQL_2_parser.dm | 18 +- code/modules/admin/verbs/adminhelp.dm | 2 +- code/modules/admin/verbs/adminpm.dm | 8 +- code/modules/admin/verbs/adminsay.dm | 2 +- code/modules/admin/verbs/deadsay.dm | 2 +- .../admin/verbs/map_template_loadverb.dm | 2 +- code/modules/admin/verbs/maprotation.dm | 2 +- code/modules/admin/verbs/pray.dm | 8 +- .../admin/view_variables/modify_variables.dm | 6 +- .../antagonists/_common/antag_datum.dm | 2 +- code/modules/antagonists/blob/overmind.dm | 2 +- code/modules/antagonists/wizard/wizard.dm | 2 +- code/modules/awaymissions/zlevel.dm | 2 +- code/modules/client/client_procs.dm | 2 +- code/modules/client/preferences_savefile.dm | 4 +- code/modules/client/verbs/ooc.dm | 4 +- code/modules/clothing/neck/_neck.dm | 2 +- code/modules/emoji/emoji_parse.dm | 14 +- code/modules/error_handler/error_handler.dm | 6 +- code/modules/goonchat/browserOutput.dm | 4 +- code/modules/holiday/holidays.dm | 4 +- code/modules/hydroponics/gene_modder.dm | 2 +- code/modules/language/codespeak.dm | 4 +- code/modules/language/language.dm | 10 +- code/modules/library/lib_machines.dm | 6 +- code/modules/library/soapstone.dm | 2 +- code/modules/mapping/reader.dm | 24 +- code/modules/mapping/verify.dm | 3 +- code/modules/mining/abandoned_crates.dm | 52 ++-- code/modules/mining/machine_silo.dm | 2 +- code/modules/mob/dead/observer/observer.dm | 16 +- code/modules/mob/dead/observer/say.dm | 11 +- code/modules/mob/emote.dm | 2 +- code/modules/mob/living/blood.dm | 4 +- code/modules/mob/living/carbon/human/say.dm | 26 +- .../carbon/human/species_types/ethereal.dm | 2 +- code/modules/mob/living/emote.dm | 14 +- code/modules/mob/living/say.dm | 27 +- code/modules/mob/living/silicon/ai/say.dm | 3 +- .../mob/living/silicon/pai/personality.dm | 2 +- .../mob/living/simple_animal/parrot.dm | 12 +- code/modules/mob/mob.dm | 4 +- code/modules/mob/mob_helpers.dm | 247 ++++++++---------- code/modules/mob/say.dm | 14 +- code/modules/mob/transform_procs.dm | 6 +- code/modules/paperwork/folders.dm | 12 +- code/modules/paperwork/handlabeler.dm | 2 +- code/modules/paperwork/paper.dm | 5 +- code/modules/photography/_pictures.dm | 6 +- code/modules/photography/photos/photo.dm | 9 +- code/modules/power/pipecleaners.dm | 4 +- .../procedural_mapping/mapGenerator.dm | 2 +- code/modules/recycling/sortingmachinery.dm | 16 +- .../xenobiology/crossbreeding/stabilized.dm | 2 +- .../research/xenobiology/xenobiology.dm | 2 +- .../spells/spell_types/mind_transfer.dm | 2 +- code/modules/surgery/organs/eyes.dm | 2 +- code/modules/surgery/organs/tongue.dm | 2 +- code/modules/surgery/organs/vocal_cords.dm | 4 +- interface/menu.dm | 4 +- 110 files changed, 501 insertions(+), 557 deletions(-) diff --git a/code/__DEFINES/typeids.dm b/code/__DEFINES/typeids.dm index 8bfe6216e26..b86d9043e16 100644 --- a/code/__DEFINES/typeids.dm +++ b/code/__DEFINES/typeids.dm @@ -2,7 +2,7 @@ #define TYPEID_NULL "0" #define TYPEID_NORMAL_LIST "f" //helper macros -#define GET_TYPEID(ref) ( ( (length(ref) <= 10) ? "TYPEID_NULL" : copytext(ref, 4, length(ref)-6) ) ) +#define GET_TYPEID(ref) ( ( (length(ref) <= 10) ? "TYPEID_NULL" : copytext(ref, 4, -6) ) ) #define IS_NORMAL_LIST(L) (GET_TYPEID("\ref[L]") == TYPEID_NORMAL_LIST) diff --git a/code/__HELPERS/files.dm b/code/__HELPERS/files.dm index 84d36f9db4b..ba53368ae9c 100644 --- a/code/__HELPERS/files.dm +++ b/code/__HELPERS/files.dm @@ -20,7 +20,7 @@ continue path += choice - if(copytext(path,-1,0) != "/") //didn't choose a directory, no need to iterate again + if(copytext_char(path, -1) != "/") //didn't choose a directory, no need to iterate again break var/extensions for(var/i in valid_extensions) diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index 1944cff9c61..53eec1504d6 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -981,7 +981,7 @@ world var/icon/atom_icon = new(A.icon, A.icon_state) if(!letter) - letter = copytext(A.name, 1, 2) + letter = A.name[1] if(uppercase == 1) letter = uppertext(letter) else if(uppercase == -1) @@ -1109,7 +1109,7 @@ GLOBAL_LIST_INIT(freon_color_matrix, list("#2E5E69", "#60A2A8", "#A1AFB1", rgb(0 WRITE_FILE(GLOB.iconCache[iconKey], icon) var/iconData = GLOB.iconCache.ExportText(iconKey) var/list/partial = splittext(iconData, "{") - return replacetext(copytext(partial[2], 3, -5), "\n", "") + return replacetext(copytext_char(partial[2], 3, -5), "\n", "") /proc/icon2html(thing, target, icon_state, dir, frame = 1, moving = FALSE) if (!thing) diff --git a/code/__HELPERS/pronouns.dm b/code/__HELPERS/pronouns.dm index ae803b8c8f1..bfe09ba370c 100644 --- a/code/__HELPERS/pronouns.dm +++ b/code/__HELPERS/pronouns.dm @@ -28,10 +28,10 @@ . = "does" /datum/proc/p_theyve(capitalized, temp_gender) - . = p_they(capitalized, temp_gender) + "'" + copytext(p_have(temp_gender), 3) + . = p_they(capitalized, temp_gender) + "'" + copytext_char(p_have(temp_gender), 3) /datum/proc/p_theyre(capitalized, temp_gender) - . = p_they(capitalized, temp_gender) + "'" + copytext(p_are(temp_gender), 2) + . = p_they(capitalized, temp_gender) + "'" + copytext_char(p_are(temp_gender), 2) /datum/proc/p_s(temp_gender) //is this a descriptive proc name, or what? . = "s" diff --git a/code/__HELPERS/sanitize_values.dm b/code/__HELPERS/sanitize_values.dm index 4a6a9758d2c..9a2e18f3156 100644 --- a/code/__HELPERS/sanitize_values.dm +++ b/code/__HELPERS/sanitize_values.dm @@ -80,7 +80,9 @@ return crunch + . /proc/sanitize_ooccolor(color) - var/list/HSL = rgb2hsl(hex2num(copytext(color,2,4)),hex2num(copytext(color,4,6)),hex2num(copytext(color,6,8))) + if(length(color) != length_char(color)) + CRASH("Invalid characters in color '[color]'") + var/list/HSL = rgb2hsl(hex2num(copytext(color, 2, 4)), hex2num(copytext(color, 4, 6)), hex2num(copytext(color, 6, 8))) HSL[3] = min(HSL[3],0.4) var/list/RGB = hsl2rgb(arglist(HSL)) return "#[num2hex(RGB[1],2)][num2hex(RGB[2],2)][num2hex(RGB[3],2)]" diff --git a/code/__HELPERS/shell.dm b/code/__HELPERS/shell.dm index eed86a3bd10..35a8e4635b4 100644 --- a/code/__HELPERS/shell.dm +++ b/code/__HELPERS/shell.dm @@ -55,6 +55,6 @@ if(bad_chars) bad_match = url_encode(bad_chars_regex.match) scrubbed_url += bad_match - last_good = bad_chars + length(bad_match) + last_good = bad_chars + length(bad_chars_regex.match) while(bad_chars) . = scrubbed_url diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index 9495d2fb174..2026397a047 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -485,17 +485,17 @@ //assumes format #RRGGBB #rrggbb /proc/color_hex2num(A) - if(!A) + if(!A || length(A) != length_char(A)) return 0 - var/R = hex2num(copytext(A,2,4)) - var/G = hex2num(copytext(A,4,6)) - var/B = hex2num(copytext(A,6,0)) + var/R = hex2num(copytext(A, 2, 4)) + var/G = hex2num(copytext(A, 4, 6)) + var/B = hex2num(copytext(A, 6, 8)) return R+G+B //word of warning: using a matrix like this as a color value will simplify it back to a string after being set /proc/color_hex2color_matrix(string) var/length = length(string) - if(length != 7 && length != 9) + if((length != 7 && length != 9) || length != length_char(string)) return color_matrix_identity() var/r = hex2num(copytext(string, 2, 4))/255 var/g = hex2num(copytext(string, 4, 6))/255 diff --git a/code/__HELPERS/type_processing.dm b/code/__HELPERS/type_processing.dm index 50684c79532..05a0dd28552 100644 --- a/code/__HELPERS/type_processing.dm +++ b/code/__HELPERS/type_processing.dm @@ -31,8 +31,8 @@ /mob = "M" ) for (var/tn in TYPES_SHORTCUTS) - if (copytext(typename,1, length("[tn]/")+1)=="[tn]/" /*findtextEx(typename,"[tn]/",1,2)*/ ) - typename = TYPES_SHORTCUTS[tn]+copytext(typename,length("[tn]/")) + if(copytext(typename, 1, length("[tn]/") + 1) == "[tn]/" /*findtextEx(typename,"[tn]/",1,2)*/ ) + typename = TYPES_SHORTCUTS[tn] + copytext(typename, length("[tn]/")) break .[typename] = type diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index f49e49e2895..e6feb5274ac 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -6,22 +6,16 @@ //Inverts the colour of an HTML string /proc/invertHTML(HTMLstring) - - if (!( istext(HTMLstring) )) + if(!istext(HTMLstring)) CRASH("Given non-text argument!") - else - if (length(HTMLstring) != 7) - CRASH("Given non-HTML argument!") + else if(length(HTMLstring) != 7) + CRASH("Given non-HTML argument!") + else if(length_char(HTMLstring) != 7) + CRASH("Given non-hex symbols in argument!") var/textr = copytext(HTMLstring, 2, 4) var/textg = copytext(HTMLstring, 4, 6) var/textb = copytext(HTMLstring, 6, 8) - var/r = hex2num(textr) - var/g = hex2num(textg) - var/b = hex2num(textb) - textr = num2hex(255 - r, 2) - textg = num2hex(255 - g, 2) - textb = num2hex(255 - b, 2) - return text("#[][][]", textr, textg, textb) + return rgb(255 - hex2num(textr), 255 - hex2num(textg), 255 - hex2num(textb)) /proc/Get_Angle(atom/movable/start,atom/movable/end)//For beams. if(!start || !end) @@ -1400,7 +1394,7 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) /proc/GUID() var/const/GUID_VERSION = "b" var/const/GUID_VARIANT = "d" - var/node_id = copytext(md5("[rand()*rand(1,9999999)][world.name][world.hub][world.hub_password][world.internet_address][world.address][world.contents.len][world.status][world.port][rand()*rand(1,9999999)]"), 1, 13) + var/node_id = copytext_char(md5("[rand()*rand(1,9999999)][world.name][world.hub][world.hub_password][world.internet_address][world.address][world.contents.len][world.status][world.port][rand()*rand(1,9999999)]"), 1, 13) var/time_high = "[num2hex(text2num(time2text(world.realtime,"YYYY")), 2)][num2hex(world.realtime, 6)]" diff --git a/code/controllers/configuration/config_entry.dm b/code/controllers/configuration/config_entry.dm index 49ff1c8d498..0115d5cb975 100644 --- a/code/controllers/configuration/config_entry.dm +++ b/code/controllers/configuration/config_entry.dm @@ -163,7 +163,8 @@ if(key_pos || value_mode == VALUE_MODE_FLAG) key_name = lowertext(copytext(str_val, 1, key_pos)) - key_value = copytext(str_val, key_pos + 1) + if(key_pos) + key_value = copytext(str_val, key_pos + length(str_val[key_pos])) var/new_key var/new_value var/continue_check_value diff --git a/code/controllers/configuration/configuration.dm b/code/controllers/configuration/configuration.dm index 5f874a8dd9c..e93c804ac25 100644 --- a/code/controllers/configuration/configuration.dm +++ b/code/controllers/configuration/configuration.dm @@ -111,13 +111,13 @@ if(!L) continue - var/firstchar = copytext(L, 1, 2) + var/firstchar = L[1] if(firstchar == "#") continue var/lockthis = firstchar == "@" if(lockthis) - L = copytext(L, 2) + L = copytext(L, length(firstchar) + 1) var/pos = findtext(L, " ") var/entry = null @@ -125,7 +125,7 @@ if(pos) entry = lowertext(copytext(L, 1, pos)) - value = copytext(L, pos + 1) + value = copytext(L, pos + length(L[pos])) else entry = lowertext(L) @@ -291,7 +291,7 @@ Example config: t = trim(t) if(length(t) == 0) continue - else if(copytext(t, 1, 2) == "#") + else if(t[1] == "#") continue var/pos = findtext(t, " ") @@ -300,7 +300,7 @@ Example config: if(pos) command = lowertext(copytext(t, 1, pos)) - data = copytext(t, pos + 1) + data = copytext(t, pos + length(t[pos])) else command = lowertext(t) diff --git a/code/controllers/subsystem/pai.dm b/code/controllers/subsystem/pai.dm index b802c6868f7..2583ae99c87 100644 --- a/code/controllers/subsystem/pai.dm +++ b/code/controllers/subsystem/pai.dm @@ -37,34 +37,34 @@ SUBSYSTEM_DEF(pai) switch(option) if("name") - t = input("Enter a name for your pAI", "pAI Name", candidate.name) as text|null + t = sanitize_name(stripped_input(usr, "Enter a name for your pAI", "pAI Name", candidate.name, MAX_NAME_LEN)) if(t) - candidate.name = copytext(sanitize_name(t),1,MAX_NAME_LEN) + candidate.name = t if("desc") - t = input("Enter a description for your pAI", "pAI Description", candidate.description) as message|null + t = stripped_multiline_input(usr, "Enter a description for your pAI", "pAI Description", candidate.description, MAX_MESSAGE_LEN) if(t) - candidate.description = copytext(sanitize(t),1,MAX_MESSAGE_LEN) + candidate.description = t if("role") - t = input("Enter a role for your pAI", "pAI Role", candidate.role) as text|null + t = stripped_input(usr, "Enter a role for your pAI", "pAI Role", candidate.role, MAX_MESSAGE_LEN) if(t) - candidate.role = copytext(sanitize(t),1,MAX_MESSAGE_LEN) + candidate.role = t if("ooc") - t = input("Enter any OOC comments", "pAI OOC Comments", candidate.comments) as message|null + t = stripped_multiline_input(usr, "Enter any OOC comments", "pAI OOC Comments", candidate.comments, MAX_MESSAGE_LEN) if(t) - candidate.comments = copytext(sanitize(t),1,MAX_MESSAGE_LEN) + candidate.comments = t if("save") candidate.savefile_save(usr) if("load") candidate.savefile_load(usr) //In case people have saved unsanitized stuff. if(candidate.name) - candidate.name = copytext(sanitize(candidate.name),1,MAX_NAME_LEN) + candidate.name = copytext_char(sanitize(candidate.name),1,MAX_NAME_LEN) if(candidate.description) - candidate.description = copytext(sanitize(candidate.description),1,MAX_MESSAGE_LEN) + candidate.description = copytext_char(sanitize(candidate.description),1,MAX_MESSAGE_LEN) if(candidate.role) - candidate.role = copytext(sanitize(candidate.role),1,MAX_MESSAGE_LEN) + candidate.role = copytext_char(sanitize(candidate.role),1,MAX_MESSAGE_LEN) if(candidate.comments) - candidate.comments = copytext(sanitize(candidate.comments),1,MAX_MESSAGE_LEN) + candidate.comments = copytext_char(sanitize(candidate.comments),1,MAX_MESSAGE_LEN) if("submit") if(candidate) diff --git a/code/controllers/subsystem/processing/networks.dm b/code/controllers/subsystem/processing/networks.dm index 0ca5472a6a2..719e97d1eed 100644 --- a/code/controllers/subsystem/processing/networks.dm +++ b/code/controllers/subsystem/processing/networks.dm @@ -46,6 +46,6 @@ PROCESSING_SUBSYSTEM_DEF(networks) var/hex = md5(string) if(!hex) return //errored - . = "[copytext(hex, 1, 9)]" //16 ^ 8 possibilities I think. + . = "[copytext_char(hex, 1, 9)]" //16 ^ 8 possibilities I think. if(interfaces_by_id[.]) return resolve_collisions? make_address("[num2text(rand(HID_RESTRICTED_END, 999999999), 12)]"):null diff --git a/code/datums/brain_damage/imaginary_friend.dm b/code/datums/brain_damage/imaginary_friend.dm index 17c26854b76..6b4766aba3a 100644 --- a/code/datums/brain_damage/imaginary_friend.dm +++ b/code/datums/brain_damage/imaginary_friend.dm @@ -152,7 +152,7 @@ to_chat(src, compose_message(speaker, message_language, raw_message, radio_freq, spans, message_mode)) /mob/camera/imaginary_friend/proc/friend_talk(message) - message = capitalize(trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))) + message = capitalize(trim(copytext_char(sanitize(message), 1, MAX_MESSAGE_LEN))) if(!message) return diff --git a/code/datums/components/gps.dm b/code/datums/components/gps.dm index 3118deb6c2a..890a854694c 100644 --- a/code/datums/components/gps.dm +++ b/code/datums/components/gps.dm @@ -133,12 +133,11 @@ GLOBAL_LIST_EMPTY(GPS_list) switch(action) if("rename") var/atom/parentasatom = parent - var/a = input("Please enter desired tag.", parentasatom.name, gpstag) as text|null + var/a = stripped_input(usr, "Please enter desired tag.", parentasatom.name, gpstag, 20) if (!a) return - a = copytext(sanitize(a), 1, 20) gpstag = a . = TRUE parentasatom.name = "global positioning system ([gpstag])" diff --git a/code/datums/dna.dm b/code/datums/dna.dm index 6095e70fa14..231fc1ec01f 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -156,8 +156,8 @@ if(active) return sequence while(difficulty) - var/randnum = rand(1, length(sequence)) - sequence = copytext(sequence, 1, randnum) + "X" + copytext(sequence, randnum+1, length(sequence)+1) + var/randnum = rand(1, length_char(sequence)) + sequence = copytext_char(sequence, 1, randnum) + "X" + copytext_char(sequence, randnum + 1) difficulty-- return sequence @@ -461,14 +461,14 @@ /proc/getleftblocks(input,blocknumber,blocksize) if(blocknumber > 1) - return copytext(input,1,((blocksize*blocknumber)-(blocksize-1))) + return copytext_char(input,1,((blocksize*blocknumber)-(blocksize-1))) /proc/getrightblocks(input,blocknumber,blocksize) if(blocknumber < (length(input)/blocksize)) - return copytext(input,blocksize*blocknumber+1,length(input)+1) + return copytext_char(input,blocksize*blocknumber+1,length(input)+1) /proc/getblock(input, blocknumber, blocksize=DNA_BLOCK_SIZE) - return copytext(input, blocksize*(blocknumber-1)+1, (blocksize*blocknumber)+1) + return copytext_char(input, blocksize*(blocknumber-1)+1, (blocksize*blocknumber)+1) /proc/setblock(istring, blocknumber, replacement, blocksize=DNA_BLOCK_SIZE) if(!istring || !blocknumber || !replacement || !blocksize) diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm index c9e96d6bc1f..fa2496ee3b1 100644 --- a/code/datums/helper_datums/getrev.dm +++ b/code/datums/helper_datums/getrev.dm @@ -44,7 +44,7 @@ for(var/line in testmerge) var/datum/tgs_revision_information/test_merge/tm = line var/cm = tm.pull_request_commit - var/details = ": '" + html_encode(tm.title) + "' by " + html_encode(tm.author) + " at commit " + html_encode(copytext(cm, 1, min(length(cm), 11))) + var/details = ": '" + html_encode(tm.title) + "' by " + html_encode(tm.author) + " at commit " + html_encode(copytext_char(cm, 1, 11)) if(details && findtext(details, "\[s\]") && (!usr || !usr.client.holder)) continue . += "#[tm.number][details]
" diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index 21bf6a293ad..a2bdec433b7 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -268,8 +268,8 @@ var/splitpoint = findtext(prepared_line," ") if(!splitpoint) continue - var/command = copytext(prepared_line,1,splitpoint) - var/value = copytext(prepared_line,splitpoint+1) + var/command = copytext(prepared_line, 1, splitpoint) + var/value = copytext(prepared_line, splitpoint + length(prepared_line[splitpoint])) switch(command) if("DELAY") var/delay_value = text2num(value) diff --git a/code/datums/martial/_martial.dm b/code/datums/martial/_martial.dm index c18f2c8de24..2396a2f8a67 100644 --- a/code/datums/martial/_martial.dm +++ b/code/datums/martial/_martial.dm @@ -27,7 +27,7 @@ reset_streak(D) streak = streak+element if(length(streak) > max_streak_length) - streak = copytext(streak,2) + streak = copytext(streak, 1 + length(streak[1])) /datum/martial_art/proc/reset_streak(mob/living/carbon/human/new_target) current_target = new_target diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 54b064f4099..558b23111d5 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -183,9 +183,9 @@ last_death = world.time /datum/mind/proc/store_memory(new_text) - var/newlength = length(memory) + length(new_text) + var/newlength = length_char(memory) + length_char(new_text) if (newlength > MAX_MESSAGE_LEN * 100) - memory = copytext(memory, -newlength-MAX_MESSAGE_LEN * 100) + memory = copytext_char(memory, -newlength-MAX_MESSAGE_LEN * 100) memory += "[new_text]
" /datum/mind/proc/wipe_memory() @@ -447,7 +447,7 @@ assigned_role = new_role else if (href_list["memory_edit"]) - var/new_memo = copytext(sanitize(input("Write new memory", "Memory", memory) as null|message),1,MAX_MESSAGE_LEN) + var/new_memo = stripped_multiline_input(usr, "Write new memory", "Memory", memory, MAX_MESSAGE_LEN) if (isnull(new_memo)) return memory = new_memo diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm index 52de07472a9..b2aa5b95cbd 100644 --- a/code/datums/mood_events/generic_negative_events.dm +++ b/code/datums/mood_events/generic_negative_events.dm @@ -176,7 +176,7 @@ /datum/mood_event/notcreepingsevere/add_effects(name) var/list/unstable = list(name) for(var/i in 1 to rand(3,5)) - unstable += copytext(name, -1) + unstable += copytext_char(name, -1) var/unhinged = uppertext(unstable.Join(""))//example Tinea Luxor > TINEA LUXORRRR (with randomness in how long that slur is) description = "THEY NEEEEEEED [unhinged]!!\n" diff --git a/code/datums/verbs.dm b/code/datums/verbs.dm index d8d7ee74334..8301c5fe384 100644 --- a/code/datums/verbs.dm +++ b/code/datums/verbs.dm @@ -88,8 +88,8 @@ var/list/entry = list() entry["parent"] = "[type]" entry["name"] = verbpath.desc - if (copytext(verbpath.name,1,2) == "@") - entry["command"] = copytext(verbpath.name,2) + if (verbpath.name[1] == "@") + entry["command"] = copytext(verbpath.name, length(verbpath.name[1]) + 1) else entry["command"] = replacetext(verbpath.name, " ", "-") diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 835490daab2..a19bc6d3d23 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -578,7 +578,7 @@ R.fields["mrace"] = rando_race.type R.fields["name"] = mob_occupant.real_name - R.fields["id"] = copytext(md5(mob_occupant.real_name), 2, 6) + R.fields["id"] = copytext_char(md5(mob_occupant.real_name), 2, 6) R.fields["UE"] = dna.unique_enzymes R.fields["UI"] = dna.uni_identity R.fields["SE"] = dna.mutation_index diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm index bdf46bcdbd0..771060f0306 100644 --- a/code/game/machinery/computer/dna_console.dm +++ b/code/game/machinery/computer/dna_console.dm @@ -248,13 +248,18 @@ var/max_line_len = 7*DNA_BLOCK_SIZE if(viable_occupant) temp_html += "
1
" - var/len = length(viable_occupant.dna.uni_identity) - for(var/i=1, i<=len, i++) - temp_html += "[copytext(viable_occupant.dna.uni_identity,i,i+1)]" - if ((i % max_line_len) == 0) + var/char = "" + var/ui_text = viable_occupant.dna.uni_identity + var/len_byte = length(ui_text) + var/char_it = 0 + for(var/byte_it = 1, byte_it <= len_byte, byte_it += length(char)) + char_it++ + char = ui_text[byte_it] + temp_html += "[char]" + if((char_it % max_line_len) == 0) temp_html += "
" - if((i % DNA_BLOCK_SIZE) == 0 && i < len) - temp_html += "
[(i / DNA_BLOCK_SIZE) + 1]
" + if((char_it % DNA_BLOCK_SIZE) == 0 && byte_it < len_byte) + temp_html += "
[(char_it / DNA_BLOCK_SIZE) + 1]
" else temp_html += "---------" temp_html += "

Buffer Menu

" @@ -516,7 +521,7 @@ if(!scrambled) for(var/block in 1 to A.blocks) var/whole_sequence = get_valid_gene_string(mutation) - var/sequence = copytext(whole_sequence, 1+(block-1)*(DNA_SEQUENCE_LENGTH*2),(DNA_SEQUENCE_LENGTH*2*block+1)) + var/sequence = copytext_char(whole_sequence, 1+(block-1)*(DNA_SEQUENCE_LENGTH*2),(DNA_SEQUENCE_LENGTH*2*block+1)) temp_html += "
" for(var/i in 1 to DNA_SEQUENCE_LENGTH) var/num = 1+(i-1)*2 @@ -698,7 +703,7 @@ viable_occupant.radiation += (RADIATION_IRRADIATION_MULTIPLIER*radduration*radstrength)/(connected.damage_coeff ** 2) //Read comment in "transferbuffer" section above for explanation switch(href_list["task"]) //Same thing as there but values are even lower, on best part they are about 0.0*, effectively no damage if("pulseui") - var/len = length(viable_occupant.dna.uni_identity) + var/len = length_char(viable_occupant.dna.uni_identity) num = WRAP(num, 1, len+1) num = randomize_radiation_accuracy(num, radduration + (connected.precision_coeff ** 2), len) //Each manipulator level above 1 makes randomization as accurate as selected time + manipulator lvl^2 //Value is this high for the same reason as with laser - not worth the hassle of upgrading if the bonus is low @@ -706,12 +711,12 @@ var/subblock = num - block*DNA_BLOCK_SIZE last_change = "UI #[block]-[subblock]; " - var/hex = copytext(viable_occupant.dna.uni_identity, num, num+1) + var/hex = copytext_char(viable_occupant.dna.uni_identity, num, num+1) last_change += "[hex]" hex = scramble(hex, radstrength, radduration) last_change += "->[hex]" - viable_occupant.dna.uni_identity = copytext(viable_occupant.dna.uni_identity, 1, num) + hex + copytext(viable_occupant.dna.uni_identity, num+1, 0) + viable_occupant.dna.uni_identity = copytext_char(viable_occupant.dna.uni_identity, 1, num) + hex + copytext_char(viable_occupant.dna.uni_identity, num + 1) viable_occupant.updateappearance(mutations_overlay_update=1) else current_screen = "mainmenu" @@ -823,7 +828,7 @@ var/true_genes = GET_SEQUENCE(current_mutation) new_gene = true_genes[num] jokerready = world.time + JOKER_TIMEOUT - (JOKER_UPGRADE * (connected.precision_coeff-1)) - sequence = copytext(sequence, 1, num) + new_gene + copytext(sequence, num+1, length(sequence)+1) + sequence = copytext_char(sequence, 1, num) + new_gene + copytext_char(sequence, num + 1) viable_occupant.dna.mutation_index[path] = sequence viable_occupant.radiation += RADIATION_STRENGTH_MULTIPLIER/connected.damage_coeff viable_occupant.domutcheck() diff --git a/code/game/machinery/computer/prisoner/management.dm b/code/game/machinery/computer/prisoner/management.dm index 75f21b8169a..a83b3b3161e 100644 --- a/code/game/machinery/computer/prisoner/management.dm +++ b/code/game/machinery/computer/prisoner/management.dm @@ -124,7 +124,7 @@ to_chat(usr, "Unauthorized access.") else if(href_list["warn"]) - var/warning = copytext(sanitize(input(usr,"Message:","Enter your message here!","")),1,MAX_MESSAGE_LEN) + var/warning = stripped_input(usr, "Message:", "Enter your message here!", "", MAX_MESSAGE_LEN) if(!warning) return var/obj/item/implant/I = locate(href_list["warn"]) in GLOB.tracked_implants diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index aabd5f6f7c2..6f34e0eba1f 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -608,7 +608,7 @@ What a mess.*/ switch(href_list["field"]) if("name") if(istype(active1, /datum/data/record) || istype(active2, /datum/data/record)) - var/t1 = copytext(sanitize(input("Please input name:", "Secure. records", active1.fields["name"], null) as text),1,MAX_MESSAGE_LEN) + var/t1 = stripped_input(usr, "Please input name:", "Secure. records", active1.fields["name"], MAX_MESSAGE_LEN) if(!canUseSecurityRecordsConsole(usr, t1, a1)) return if(istype(active1, /datum/data/record)) diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm index 1a2553eaeb7..7eda6a94d16 100644 --- a/code/game/machinery/magnet.dm +++ b/code/game/machinery/magnet.dm @@ -305,7 +305,7 @@ if(speed <= 0) speed = 1 if("setpath") - var/newpath = copytext(sanitize(input(usr, "Please define a new path!",,path) as text|null),1,MAX_MESSAGE_LEN) + var/newpath = stripped_input(usr, "Please define a new path!", "New Path", path, MAX_MESSAGE_LEN) if(newpath && newpath != "") moving = 0 // stop moving path = newpath @@ -366,13 +366,19 @@ // Generates the rpath variable using the path string, think of this as "string2list" // Doesn't use params2list() because of the akward way it stacks entities rpath = list() // clear rpath - var/maximum_character = min( 50, length(path) ) // chooses the maximum length of the iterator. 50 max length + var/maximum_characters = 50 + var/lentext = length(path) + var/nextchar = "" + var/charcount = 0 - for(var/i=1, i<=maximum_character, i++) // iterates through all characters in path + for(var/i = 1, i <= lentext, i += length(nextchar)) // iterates through all characters in path + nextchar = path[i] // find next character - var/nextchar = copytext(path, i, i+1) // find next character - - if(!(nextchar in list(";", "&", "*", " "))) // if char is a separator, ignore - rpath += copytext(path, i, i+1) // else, add to list + if(nextchar in list(";", "&", "*", " ")) // if char is a separator, ignore + continue + rpath += nextchar // else, add to list // there doesn't HAVE to be separators but it makes paths syntatically visible + charcount++ + if(charcount >= maximum_characters) + break diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index 1e4bcdcbbcd..4cb33e4d1a1 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -65,7 +65,7 @@ var/index = findtext(e, "=") // format is "key=value" if(index) var/key = copytext(e, 1, index) - var/val = copytext(e, index+1) + var/val = copytext(e, index + length(e[index])) codes[key] = val else codes[e] = "1" @@ -189,7 +189,7 @@ Transponder Codes:

$X9(bvQX>@N7w{cLBVQCPb5hd6TOu@i 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 Mbzisqrd`zk0NU_1D*ylh From 8ea14994ef33ba6b7e0b305ba4d4bb9638e8c1db Mon Sep 17 00:00:00 2001 From: JJRcop Date: Wed, 15 Jan 2020 11:36:08 -0500 Subject: [PATCH 049/124] Fix pinpointer icons (#48789) --- code/game/objects/items/pinpointer.dm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/code/game/objects/items/pinpointer.dm b/code/game/objects/items/pinpointer.dm index 90ed5a05cf1..9c34fb76965 100644 --- a/code/game/objects/items/pinpointer.dm +++ b/code/game/objects/items/pinpointer.dm @@ -69,21 +69,21 @@ if(here.z != there.z) . += "pinon[alert ? "alert" : ""]null[icon_suffix]" return - update_direction_icon(here, there) + . += get_direction_icon(here, there) ///Called by update_icon after sanity. There is a target -/obj/item/pinpointer/proc/update_direction_icon(here, there) +/obj/item/pinpointer/proc/get_direction_icon(here, there) if(get_dist_euclidian(here,there) <= minimum_range) - . += "pinon[alert ? "alert" : ""]direct[icon_suffix]" + return "pinon[alert ? "alert" : ""]direct[icon_suffix]" else setDir(get_dir(here, there)) switch(get_dist(here, there)) if(1 to 8) - . += "pinon[alert ? "alert" : "close"][icon_suffix]" + return "pinon[alert ? "alert" : "close"][icon_suffix]" if(9 to 16) - . += "pinon[alert ? "alert" : "medium"][icon_suffix]" + return "pinon[alert ? "alert" : "medium"][icon_suffix]" if(16 to INFINITY) - . += "pinon[alert ? "alert" : "far"][icon_suffix]" + return "pinon[alert ? "alert" : "far"][icon_suffix]" /obj/item/pinpointer/crew // A replacement for the old crew monitoring consoles name = "crew pinpointer" @@ -169,7 +169,7 @@ icon_state = "pinpointer_crewprox" custom_price = 300 -/obj/item/pinpointer/crew/prox/update_direction_icon(here, there) +/obj/item/pinpointer/crew/prox/get_direction_icon(here, there) var/size = "" if(here == there) size = "small" @@ -182,7 +182,7 @@ //17 through 28 use the normal pinion, "pinondirect" if(29 to INFINITY) size = "small" - add_overlay("pinondirect[size]") + return "pinondirect[size]" /obj/item/pinpointer/pair name = "pair pinpointer" From c5657d54fe6acca37eba76a372db437029e0216d Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Wed, 15 Jan 2020 08:36:13 -0800 Subject: [PATCH 050/124] Automatic changelog generation for PR #48789 [ci skip] --- html/changelogs/AutoChangeLog-pr-48789.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48789.yml diff --git a/html/changelogs/AutoChangeLog-pr-48789.yml b/html/changelogs/AutoChangeLog-pr-48789.yml new file mode 100644 index 00000000000..a51b47fbe14 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48789.yml @@ -0,0 +1,4 @@ +author: "JJRcop" +delete-after: True +changes: + - bugfix: "Fixed unwanted behavior with pinpointer icons." From 3cb2c72035a51c1c23d5c0060ac73886a7c3289c Mon Sep 17 00:00:00 2001 From: 81Denton <32391752+81Denton@users.noreply.github.com> Date: Wed, 15 Jan 2020 22:06:49 +0100 Subject: [PATCH 051/124] Re-adds Paramedic spawn landmarks to Boxstation (#48816) Some walnut removed the paramedic spawn landmarks on Box, which according to a Reddit user causes them to spawn in random station areas (like the AI chamber). This also indicates that SendToLateJoin(living_mob) might be broken, but I haven't tested that so far. This should be merged quickly as it can fuck up rounds for Paramedics on Box. Changelog cl Denton fix: Boxstation: Roundstart Paramedics now properly start in medbay. /cl --- _maps/map_files/BoxStation/BoxStation.dmm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 93df6599a9e..3730cd06163 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -27295,6 +27295,7 @@ dir = 4 }, /obj/structure/cable, +/obj/effect/landmark/start/paramedic, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "bsz" = ( @@ -34683,6 +34684,7 @@ /area/medical/medbay/central) "bLX" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers, +/obj/effect/landmark/start/paramedic, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "bLY" = ( @@ -49590,6 +49592,10 @@ /obj/structure/table, /turf/open/floor/plasteel, /area/hydroponics) +"fGg" = ( +/obj/effect/landmark/start/paramedic, +/turf/open/floor/plasteel/white, +/area/medical/sleeper) "fGF" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/effect/turf_decal/bot, @@ -90052,7 +90058,7 @@ bAs bvj bCL bxO -bDR +fGg bDR bIk bJC From ba112cb816d0d703e2606f52280e7d20bc1cf1aa Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Wed, 15 Jan 2020 13:06:53 -0800 Subject: [PATCH 052/124] Automatic changelog generation for PR #48816 [ci skip] --- html/changelogs/AutoChangeLog-pr-48816.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48816.yml diff --git a/html/changelogs/AutoChangeLog-pr-48816.yml b/html/changelogs/AutoChangeLog-pr-48816.yml new file mode 100644 index 00000000000..be98d1d8fa7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48816.yml @@ -0,0 +1,4 @@ +author: "Denton" +delete-after: True +changes: + - bugfix: "Boxstation: Roundstart Paramedics now properly start in medbay." From 46f5743499b24447880f61daf5fec4b588066b63 Mon Sep 17 00:00:00 2001 From: TheChosenEvilOne <34602646+TheChosenEvilOne@users.noreply.github.com> Date: Wed, 15 Jan 2020 23:35:42 +0200 Subject: [PATCH 053/124] Changes supermatter to use the new beam icon. (#48754) Signed-off-by: TheChosenEvilOne --- code/modules/power/supermatter/supermatter.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 90155c83b01..f65bbde74ad 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -898,7 +898,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) if(target)//If we found something //Do the animation to zap to it from here - zapstart.Beam(target, icon_state="nzcrentrs_power", time=5) + zapstart.Beam(target, icon_state="sm_arc", time=5) var/zapdir = get_dir(zapstart, target) if(zapdir) . = zapdir From 565b94b72f1da4297b32b435a3d63e77bf2b1002 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Wed, 15 Jan 2020 13:35:46 -0800 Subject: [PATCH 054/124] Automatic changelog generation for PR #48754 [ci skip] --- html/changelogs/AutoChangeLog-pr-48754.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48754.yml diff --git a/html/changelogs/AutoChangeLog-pr-48754.yml b/html/changelogs/AutoChangeLog-pr-48754.yml new file mode 100644 index 00000000000..260da5bc956 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48754.yml @@ -0,0 +1,4 @@ +author: "TheChosenEvilOne" +delete-after: True +changes: + - bugfix: "fixed SM arcs using the old icon as it was accidentally reverted in a recent change." From 675a358b1befd68592d34dd87c955365b8d8a456 Mon Sep 17 00:00:00 2001 From: Rohesie Date: Wed, 15 Jan 2020 18:43:10 -0300 Subject: [PATCH 055/124] Moves mob stat var changes to a proc (#48760) * set_stat * Adds a signal. * Signal comes before --- code/__DEFINES/components.dm | 2 +- code/modules/antagonists/devil/true_devil/_true_devil.dm | 2 +- code/modules/mob/living/brain/MMI.dm | 4 ++-- code/modules/mob/living/brain/death.dm | 2 +- code/modules/mob/living/brain/posibrain.dm | 4 ++-- code/modules/mob/living/carbon/alien/larva/life.dm | 4 ++-- code/modules/mob/living/carbon/carbon.dm | 6 +++--- code/modules/mob/living/death.dm | 2 +- code/modules/mob/living/living.dm | 2 +- code/modules/mob/living/silicon/ai/life.dm | 2 +- code/modules/mob/living/silicon/pai/death.dm | 2 +- code/modules/mob/living/silicon/robot/robot.dm | 6 +++--- .../living/simple_animal/hostile/megafauna/hierophant.dm | 4 ++-- code/modules/mob/living/simple_animal/simple_animal.dm | 2 +- code/modules/mob/living/simple_animal/slime/death.dm | 2 +- code/modules/mob/living/simple_animal/slime/life.dm | 4 ++-- code/modules/mob/mob.dm | 7 +++++++ .../modules/research/xenobiology/crossbreeding/_potions.dm | 2 +- code/modules/surgery/bodyparts/dismemberment.dm | 2 +- 19 files changed, 34 insertions(+), 27 deletions(-) diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index 5ea124e2a1a..943e9c005e5 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -204,7 +204,7 @@ // /mob signals #define COMSIG_MOB_DEATH "mob_death" //from base of mob/death(): (gibbed) - +#define COMSIG_MOB_STATCHANGE "mob_statchange" //from base of mob/set_stat(): (new_stat) #define COMSIG_MOB_CLICKON "mob_clickon" //from base of mob/clickon(): (atom/A, params) #define COMSIG_MOB_MIDDLECLICKON "mob_middleclickon" //from base of mob/MiddleClickOn(): (atom/A) #define COMSIG_MOB_ALTCLICKON "mob_altclickon" //from base of mob/AltClickOn(): (atom/A) diff --git a/code/modules/antagonists/devil/true_devil/_true_devil.dm b/code/modules/antagonists/devil/true_devil/_true_devil.dm index 85a1061e2aa..7b1770440c1 100644 --- a/code/modules/antagonists/devil/true_devil/_true_devil.dm +++ b/code/modules/antagonists/devil/true_devil/_true_devil.dm @@ -57,7 +57,7 @@ mind.announce_objectives() /mob/living/carbon/true_devil/death(gibbed) - stat = DEAD + set_stat(DEAD) ..(gibbed) drop_all_held_items() INVOKE_ASYNC(mind.has_antag_datum(/datum/antagonist/devil), /datum/antagonist/devil/proc/beginResurrectionCheck, src) diff --git a/code/modules/mob/living/brain/MMI.dm b/code/modules/mob/living/brain/MMI.dm index bd40caf5831..0b97af81a55 100644 --- a/code/modules/mob/living/brain/MMI.dm +++ b/code/modules/mob/living/brain/MMI.dm @@ -59,7 +59,7 @@ brainmob.container = src var/fubar_brain = newbrain.brain_death && newbrain.suicided && brainmob.suiciding //brain is damaged beyond repair or from a suicider if(!fubar_brain && !(newbrain.organ_flags & ORGAN_FAILING)) // the brain organ hasn't been beaten to death, nor was from a suicider. - brainmob.stat = CONSCIOUS //we manually revive the brain mob + brainmob.set_stat(CONSCIOUS) //we manually revive the brain mob GLOB.dead_mob_list -= brainmob GLOB.alive_mob_list += brainmob else if(!fubar_brain && newbrain.organ_flags & ORGAN_FAILING) // the brain is damaged, but not from a suicider @@ -98,7 +98,7 @@ /obj/item/mmi/proc/eject_brain(mob/user) brainmob.container = null //Reset brainmob mmi var. brainmob.forceMove(brain) //Throw mob into brain. - brainmob.stat = DEAD + brainmob.set_stat(DEAD) brainmob.emp_damage = 0 brainmob.reset_perspective() //so the brainmob follows the brain organ instead of the mmi. And to update our vision GLOB.alive_mob_list -= brainmob //Get outta here diff --git a/code/modules/mob/living/brain/death.dm b/code/modules/mob/living/brain/death.dm index 6dd1a11758c..7caff58d720 100644 --- a/code/modules/mob/living/brain/death.dm +++ b/code/modules/mob/living/brain/death.dm @@ -1,7 +1,7 @@ /mob/living/brain/death(gibbed) if(stat == DEAD) return - stat = DEAD + set_stat(DEAD) if(!gibbed && container)//If not gibbed but in a container. var/obj/item/mmi = container diff --git a/code/modules/mob/living/brain/posibrain.dm b/code/modules/mob/living/brain/posibrain.dm index b8fb37d45c2..e916917d84a 100644 --- a/code/modules/mob/living/brain/posibrain.dm +++ b/code/modules/mob/living/brain/posibrain.dm @@ -106,7 +106,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) brainmob.stored_dna = new /datum/dna/stored(brainmob) C.dna.copy_dna(brainmob.stored_dna) brainmob.timeofhostdeath = C.timeofdeath - brainmob.stat = CONSCIOUS + brainmob.set_stat(CONSCIOUS) if(brainmob.mind) brainmob.mind.assigned_role = new_role if(C.mind) @@ -129,7 +129,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) name = "[initial(name)] ([brainmob.name])" to_chat(brainmob, welcome_message) brainmob.mind.assigned_role = new_role - brainmob.stat = CONSCIOUS + brainmob.set_stat(CONSCIOUS) GLOB.dead_mob_list -= brainmob GLOB.alive_mob_list += brainmob diff --git a/code/modules/mob/living/carbon/alien/larva/life.dm b/code/modules/mob/living/carbon/alien/larva/life.dm index 899d7871793..e9d71604262 100644 --- a/code/modules/mob/living/carbon/alien/larva/life.dm +++ b/code/modules/mob/living/carbon/alien/larva/life.dm @@ -20,12 +20,12 @@ return if(IsUnconscious() || IsSleeping() || getOxyLoss() > 50 || (HAS_TRAIT(src, TRAIT_DEATHCOMA)) || health <= crit_threshold) if(stat == CONSCIOUS) - stat = UNCONSCIOUS + set_stat(UNCONSCIOUS) become_blind(UNCONSCIOUS_BLIND) update_mobility() else if(stat == UNCONSCIOUS) - stat = CONSCIOUS + set_stat(CONSCIOUS) cure_blind(UNCONSCIOUS_BLIND) set_resting(FALSE) update_damage_hud() diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index b57cfc8b1c2..5171d1efe66 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -759,7 +759,7 @@ cure_blind(UNCONSCIOUS_BLIND) return if(IsUnconscious() || IsSleeping() || getOxyLoss() > 50 || (HAS_TRAIT(src, TRAIT_DEATHCOMA)) || (health <= HEALTH_THRESHOLD_FULLCRIT && !HAS_TRAIT(src, TRAIT_NOHARDCRIT))) - stat = UNCONSCIOUS + set_stat(UNCONSCIOUS) become_blind(UNCONSCIOUS_BLIND) if(CONFIG_GET(flag/near_death_experience) && health <= HEALTH_THRESHOLD_NEARDEATH && !HAS_TRAIT(src, TRAIT_NODEATH)) ADD_TRAIT(src, TRAIT_SIXTHSENSE, "near-death") @@ -767,9 +767,9 @@ REMOVE_TRAIT(src, TRAIT_SIXTHSENSE, "near-death") else if(health <= crit_threshold && !HAS_TRAIT(src, TRAIT_NOSOFTCRIT)) - stat = SOFT_CRIT + set_stat(SOFT_CRIT) else - stat = CONSCIOUS + set_stat(CONSCIOUS) cure_blind(UNCONSCIOUS_BLIND) REMOVE_TRAIT(src, TRAIT_SIXTHSENSE, "near-death") update_mobility() diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index 8270ec173ab..4af4fb07fa9 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -48,7 +48,7 @@ /mob/living/death(gibbed) var/was_dead_before = stat == DEAD - stat = DEAD + set_stat(DEAD) unset_machine() timeofdeath = world.time tod = station_time_timestamp() diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 9f6ddea959f..7a41abc5f6b 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -534,7 +534,7 @@ GLOB.dead_mob_list -= src GLOB.alive_mob_list += src set_suicide(FALSE) - stat = UNCONSCIOUS //the mob starts unconscious, + set_stat(UNCONSCIOUS) //the mob starts unconscious, updatehealth() //then we check if the mob should wake up. update_mobility() update_sight() diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index 39268fd4cf8..bc5ace42214 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -75,7 +75,7 @@ death() return else if(stat == UNCONSCIOUS) - stat = CONSCIOUS + set_stat(CONSCIOUS) diag_hud_set_status() /mob/living/silicon/ai/update_sight() diff --git a/code/modules/mob/living/silicon/pai/death.dm b/code/modules/mob/living/silicon/pai/death.dm index 22f8b59ec33..8a350b13246 100644 --- a/code/modules/mob/living/silicon/pai/death.dm +++ b/code/modules/mob/living/silicon/pai/death.dm @@ -1,7 +1,7 @@ /mob/living/silicon/pai/death(gibbed) if(stat == DEAD) return - stat = DEAD + set_stat(DEAD) mobility_flags = NONE update_sight() clear_fullscreens() diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 798b450e8c3..d9878026cff 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -159,7 +159,7 @@ mmi.forceMove(T) if(mmi.brainmob) if(mmi.brainmob.stat == DEAD) - mmi.brainmob.stat = CONSCIOUS + mmi.brainmob.set_stat(CONSCIOUS) GLOB.dead_mob_list -= mmi.brainmob GLOB.alive_mob_list += mmi.brainmob mind.transfer_to(mmi.brainmob) @@ -945,13 +945,13 @@ return if(IsUnconscious() || IsStun() || IsKnockdown() || IsParalyzed() || getOxyLoss() > maxHealth*0.5) if(stat == CONSCIOUS) - stat = UNCONSCIOUS + set_stat(UNCONSCIOUS) become_blind(UNCONSCIOUS_BLIND) update_mobility() update_headlamp() else if(stat == UNCONSCIOUS) - stat = CONSCIOUS + set_stat(CONSCIOUS) cure_blind(UNCONSCIOUS_BLIND) update_mobility() update_headlamp() diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index 119bea757df..ec405d9be46 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -401,14 +401,14 @@ Difficulty: Hard if(health > 0 || stat == DEAD) return else - stat = DEAD + set_stat(DEAD) blinking = TRUE //we do a fancy animation, release a huge burst(), and leave our staff. visible_message("\"Mrmxmexmrk wipj-hiwxvygx wiuyirgi...\"") visible_message("[src] shrinks, releasing a massive burst of energy!") for(var/mob/living/L in view(7,src)) stored_nearby += L // store the people to grant the achievements to once we die hierophant_burst(null, get_turf(src), 10) - stat = CONSCIOUS // deathgasp wont run if dead, stupid + set_stat(CONSCIOUS) // deathgasp wont run if dead, stupid ..(force_grant = stored_nearby) /mob/living/simple_animal/hostile/megafauna/hierophant/Destroy() diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index de2c17f5bc6..70319db4621 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -208,7 +208,7 @@ if(health <= 0) death() else - stat = CONSCIOUS + set_stat(CONSCIOUS) med_hud_set_status() if(footstep_type) AddComponent(/datum/component/footstep, footstep_type) diff --git a/code/modules/mob/living/simple_animal/slime/death.dm b/code/modules/mob/living/simple_animal/slime/death.dm index 66a71cced72..0e2bfc3e45f 100644 --- a/code/modules/mob/living/simple_animal/slime/death.dm +++ b/code/modules/mob/living/simple_animal/slime/death.dm @@ -21,7 +21,7 @@ if(buckled) Feedstop(silent = TRUE) //releases ourselves from the mob we fed on. - stat = DEAD + set_stat(DEAD) cut_overlays() if(SSticker.mode) diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm index 88589b550b8..f854e46ef2c 100644 --- a/code/modules/mob/living/simple_animal/slime/life.dm +++ b/code/modules/mob/living/simple_animal/slime/life.dm @@ -138,14 +138,14 @@ if(stat == CONSCIOUS && stasis) to_chat(src, "Nerve gas in the air has put you in stasis!") - stat = UNCONSCIOUS + set_stat(UNCONSCIOUS) powerlevel = 0 rabid = 0 update_mobility() regenerate_icons() else if(stat == UNCONSCIOUS && !stasis) to_chat(src, "You wake up from the stasis.") - stat = CONSCIOUS + set_stat(CONSCIOUS) update_mobility() regenerate_icons() diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 9d68c3290cc..3a7fc256fba 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1249,3 +1249,10 @@ for(var/obj/item/I in held_items) if(I.item_flags & SLOWS_WHILE_IN_HAND) . += I.slowdown + +/mob/proc/set_stat(new_stat) + if(new_stat == stat) + return + SEND_SIGNAL(src, COMSIG_MOB_STATCHANGE, new_stat) + . = stat + stat = new_stat diff --git a/code/modules/research/xenobiology/crossbreeding/_potions.dm b/code/modules/research/xenobiology/crossbreeding/_potions.dm index 20e74d4fa13..89fdd59adff 100644 --- a/code/modules/research/xenobiology/crossbreeding/_potions.dm +++ b/code/modules/research/xenobiology/crossbreeding/_potions.dm @@ -187,7 +187,7 @@ Slimecrossing Potions if(M.maxHealth <= 0) to_chat(user, "The slime is too unstable to return!") M.revive(full_heal = TRUE, admin_revive = FALSE) - M.stat = CONSCIOUS + M.set_stat(CONSCIOUS) M.visible_message("[M] is filled with renewed vigor and blinks awake!") M.maxHealth -= 10 //Revival isn't healthy. M.health -= 10 diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index a2917d58e80..4eaeebd7f94 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -155,7 +155,7 @@ LB.brainmob = brainmob brainmob = null LB.brainmob.forceMove(LB) - LB.brainmob.stat = DEAD + LB.brainmob.set_stat(DEAD) /obj/item/organ/eyes/transfer_to_limb(obj/item/bodypart/head/LB, mob/living/carbon/human/C) LB.eyes = src From 44dc559e8295f6509900732311c1c54c298a93ac Mon Sep 17 00:00:00 2001 From: EOBGames <58124831+EOBGames@users.noreply.github.com> Date: Wed, 15 Jan 2020 21:43:53 +0000 Subject: [PATCH 056/124] :crab: Gas Miners are gone! :crab: (#48786) Removed gas miners from Donut and Kilo. --- _maps/map_files/Donutstation/Donutstation.dmm | 45 ++++++++----------- _maps/map_files/KiloStation/KiloStation.dmm | 26 +++++------ 2 files changed, 29 insertions(+), 42 deletions(-) diff --git a/_maps/map_files/Donutstation/Donutstation.dmm b/_maps/map_files/Donutstation/Donutstation.dmm index 76a072d3408..68013d909f1 100644 --- a/_maps/map_files/Donutstation/Donutstation.dmm +++ b/_maps/map_files/Donutstation/Donutstation.dmm @@ -1042,7 +1042,8 @@ /turf/open/floor/engine/vacuum, /area/science/mixing) "acF" = ( -/turf/open/floor/engine/airless, +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/engine/air, /area/engine/atmos) "acG" = ( /obj/structure/disposalpipe/segment{ @@ -4602,8 +4603,7 @@ dir = 1 }, /obj/machinery/camera{ - c_tag = "Cargo - Docking Bay North"; - dir = 2 + c_tag = "Cargo - Docking Bay North" }, /turf/open/floor/plasteel, /area/quartermaster/storage) @@ -5135,9 +5135,7 @@ }, /area/crew_quarters/kitchen) "anM" = ( -/obj/machinery/atmospherics/miner/n2o{ - max_ext_kpa = 2500 - }, +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, /turf/open/floor/engine/n2o{ initial_gas_mix = "n2o=1000;TEMP=293.15" }, @@ -8450,7 +8448,7 @@ /area/hallway/primary/central) "axn" = ( /obj/effect/landmark/xeno_spawn, -/turf/open/floor/engine/airless, +/turf/open/floor/engine/air, /area/engine/atmos) "axo" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -8833,9 +8831,7 @@ /turf/open/floor/plasteel/dark, /area/engine/atmos) "ayh" = ( -/obj/machinery/atmospherics/miner/toxins{ - max_ext_kpa = 2500 - }, +/obj/machinery/portable_atmospherics/canister/toxins, /turf/open/floor/engine/plasma{ initial_gas_mix = "plasma=1000;TEMP=293.15" }, @@ -9136,9 +9132,7 @@ /turf/open/floor/plasteel/dark, /area/engine/atmos) "ayS" = ( -/obj/machinery/atmospherics/miner/carbon_dioxide{ - max_ext_kpa = 2500 - }, +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, /turf/open/floor/engine/co2{ initial_gas_mix = "co2=1000;TEMP=293.15" }, @@ -10853,17 +10847,17 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/atmos/air_input{ dir = 1 }, -/turf/open/floor/engine/airless, +/turf/open/floor/engine/air, /area/engine/atmos) "aDF" = ( /obj/machinery/air_sensor/atmos/air_tank, -/turf/open/floor/engine/airless, +/turf/open/floor/engine/air, /area/engine/atmos) "aDG" = ( /obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output{ dir = 1 }, -/turf/open/floor/engine/airless, +/turf/open/floor/engine/air, /area/engine/atmos) "aDH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/nitrogen_output{ @@ -10911,7 +10905,7 @@ dir = 1; network = list("ss13","Atmospherics") }, -/turf/open/floor/engine/airless, +/turf/open/floor/engine/air, /area/engine/atmos) "aDO" = ( /obj/machinery/door/airlock/research{ @@ -40218,9 +40212,7 @@ }, /area/engine/atmos) "cdM" = ( -/obj/machinery/atmospherics/miner/nitrogen{ - max_ext_kpa = 2500 - }, +/obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/engine/n2{ initial_gas_mix = "n2=1000;TEMP=293.15" }, @@ -40637,9 +40629,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "ceK" = ( -/obj/machinery/atmospherics/miner/oxygen{ - max_ext_kpa = 2500 - }, +/obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/engine/o2{ initial_gas_mix = "o2=1000;TEMP=293.15" }, @@ -40935,6 +40925,9 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) +"cFG" = ( +/turf/open/floor/engine/air, +/area/engine/atmos) "cGH" = ( /obj/structure/girder, /obj/structure/grille/broken, @@ -89255,7 +89248,7 @@ aDw avb aDF acF -acF +cFG bPb pjJ bPb @@ -89511,8 +89504,8 @@ azD aDx aDC aDG -acF -acF +cFG +cFG acj aal bPb diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index eceb49649b9..0ab7288f2d8 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -18765,9 +18765,7 @@ }, /area/engine/atmos) "aDA" = ( -/obj/machinery/atmospherics/miner/nitrogen{ - max_ext_kpa = 2500 - }, +/obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/engine/n2{ initial_gas_mix = "n2=1000;TEMP=293.15" }, @@ -18778,9 +18776,7 @@ }, /area/engine/atmos) "aDD" = ( -/obj/machinery/atmospherics/miner/oxygen{ - max_ext_kpa = 2500 - }, +/obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/engine/o2{ initial_gas_mix = "o2=1000;TEMP=293.15" }, @@ -19704,25 +19700,19 @@ /turf/open/floor/plasteel/dark, /area/medical/cryo) "aFm" = ( -/obj/machinery/atmospherics/miner/carbon_dioxide{ - max_ext_kpa = 2500 - }, +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, /turf/open/floor/engine/co2{ initial_gas_mix = "co2=1000;TEMP=293.15" }, /area/engine/atmos) "aFn" = ( -/obj/machinery/atmospherics/miner/toxins{ - max_ext_kpa = 2500 - }, +/obj/machinery/portable_atmospherics/canister/toxins, /turf/open/floor/engine/plasma{ initial_gas_mix = "plasma=1000;TEMP=293.15" }, /area/engine/atmos) "aFo" = ( -/obj/machinery/atmospherics/miner/n2o{ - max_ext_kpa = 2500 - }, +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, /turf/open/floor/engine/n2o{ initial_gas_mix = "n2o=1000;TEMP=293.15" }, @@ -93840,6 +93830,10 @@ "dvN" = ( /turf/open/floor/plating/asteroid/lowpressure, /area/space/nearstation) +"dSr" = ( +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/engine/air, +/area/engine/atmos) "fhz" = ( /obj/structure/cable, /obj/machinery/holopad/secure, @@ -119807,8 +119801,8 @@ aDD aMO aFM aMY +dSr bUQ -aMY bFP cCX bUZ From 76418194ba1033f74acd9fddd024094652be0e19 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Wed, 15 Jan 2020 13:43:56 -0800 Subject: [PATCH 057/124] Automatic changelog generation for PR #48786 [ci skip] --- html/changelogs/AutoChangeLog-pr-48786.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48786.yml diff --git a/html/changelogs/AutoChangeLog-pr-48786.yml b/html/changelogs/AutoChangeLog-pr-48786.yml new file mode 100644 index 00000000000..748d50d46c7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48786.yml @@ -0,0 +1,4 @@ +author: "EOBGames" +delete-after: True +changes: + - balance: "removed gas miners from Kilo and Donut" From 87aac02fcdc465c3fdf878a91148a0c6911880f1 Mon Sep 17 00:00:00 2001 From: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> Date: Wed, 15 Jan 2020 16:53:44 -0500 Subject: [PATCH 058/124] Adds a new surgery, "Stomach Pump" (#48728) * Fuck it, still not working but the work is at least started * ALRIGHT we got this shit working off of existing procs now, no bloat :arm: * Alright take 2, it's still not removing 2/3 instead of 1/10 * Alright this still isn't working fully. Thoughts? * Attempted calling purge alone. * Where I got before calling it tonight * Re-adds bools. * Alright cool, now 2/3 of the body's chemicals are being purged at a time, if this is too high, let me know. * Renames the surgery to "stomach pump" to better match it's effects. * Fixes leftover sprites from the organ PR, forgot to rename fully. * FINE COBBERT --- code/game/turfs/turf.dm | 13 +++-- code/modules/mob/living/carbon/carbon.dm | 4 +- code/modules/mob/living/carbon/human/human.dm | 2 +- code/modules/surgery/stomachpump.dm | 53 +++++++++++++++++++ tgstation.dme | 1 + 5 files changed, 65 insertions(+), 8 deletions(-) create mode 100644 code/modules/surgery/stomachpump.dm diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index d037bc0bb6b..6c908335668 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -510,7 +510,7 @@ /turf/AllowDrop() return TRUE -/turf/proc/add_vomit_floor(mob/living/M, toxvomit = NONE) +/turf/proc/add_vomit_floor(mob/living/M, toxvomit = NONE, purge = FALSE) var/obj/effect/decal/cleanable/vomit/V = new /obj/effect/decal/cleanable/vomit(src, M.get_static_viruses()) @@ -527,12 +527,15 @@ if (iscarbon(M)) var/mob/living/carbon/C = M if(C.reagents) - clear_reagents_to_vomit_pool(C,V) + clear_reagents_to_vomit_pool(C,V, purge) -/proc/clear_reagents_to_vomit_pool(mob/living/carbon/M, obj/effect/decal/cleanable/vomit/V) - M.reagents.trans_to(V, M.reagents.total_volume / 10, transfered_by = M) +/proc/clear_reagents_to_vomit_pool(mob/living/carbon/M, obj/effect/decal/cleanable/vomit/V, purge = FALSE) + var/chemicals_lost = M.reagents.total_volume / 10 + if(purge) + chemicals_lost = (2 * M.reagents.total_volume)/3 //For detoxification surgery, we're manually pumping the stomach out of chemcials, so it's far more efficient. + M.reagents.trans_to(V, chemicals_lost, transfered_by = M) for(var/datum/reagent/R in M.reagents.reagent_list) //clears the stomach of anything that might be digested as food - if(istype(R, /datum/reagent/consumable)) + if(istype(R, /datum/reagent/consumable) || purge) var/datum/reagent/consumable/nutri_check = R if(nutri_check.nutriment_factor >0) M.reagents.remove_reagent(R.type, min(R.volume, 10)) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 5171d1efe66..3cbf52e9779 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -428,7 +428,7 @@ return 0 return ..() -/mob/living/carbon/proc/vomit(lost_nutrition = 10, blood = FALSE, stun = TRUE, distance = 1, message = TRUE, toxic = FALSE, harm = TRUE, force = FALSE) +/mob/living/carbon/proc/vomit(lost_nutrition = 10, blood = FALSE, stun = TRUE, distance = 1, message = TRUE, toxic = FALSE, harm = TRUE, force = FALSE, purge = FALSE) if((HAS_TRAIT(src, TRAIT_NOHUNGER) || HAS_TRAIT(src, TRAIT_TOXINLOVER)) && !force) return TRUE @@ -471,7 +471,7 @@ T.add_vomit_floor(src, VOMIT_PURPLE) else if(T) - T.add_vomit_floor(src, VOMIT_TOXIC)//toxic barf looks different + T.add_vomit_floor(src, VOMIT_TOXIC, purge)//toxic barf looks different || call purge when doing detoxicfication to pump more chems out of the stomach. T = get_step(T, dir) if (is_blocked_turf(T)) break diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 9898f9ec993..0bc2935888f 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -807,7 +807,7 @@ override = dna.species.override_float ..() -/mob/living/carbon/human/vomit(lost_nutrition = 10, blood = 0, stun = 1, distance = 0, message = 1, toxic = 0) +/mob/living/carbon/human/vomit(lost_nutrition = 10, blood = FALSE, stun = TRUE, distance = 1, message = TRUE, toxic = FALSE, harm = TRUE, force = FALSE, purge = FALSE) if(blood && (NOBLOOD in dna.species.species_traits) && !HAS_TRAIT(src, TRAIT_TOXINLOVER)) if(message) visible_message("[src] dry heaves!", \ diff --git a/code/modules/surgery/stomachpump.dm b/code/modules/surgery/stomachpump.dm new file mode 100644 index 00000000000..6e844940ce2 --- /dev/null +++ b/code/modules/surgery/stomachpump.dm @@ -0,0 +1,53 @@ +/datum/surgery/stomach_pump + name = "Stomach Pump" + steps = list(/datum/surgery_step/incise, + /datum/surgery_step/retract_skin, + /datum/surgery_step/incise, + /datum/surgery_step/clamp_bleeders, + /datum/surgery_step/stomach_pump, + /datum/surgery_step/close) + + target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey) + possible_locs = list(BODY_ZONE_CHEST) + requires_bodypart_type = TRUE + ignore_clothes = FALSE + +/datum/surgery/stomach_pump/can_start(mob/user, mob/living/carbon/target) + var/obj/item/organ/stomach/S = target.getorganslot(ORGAN_SLOT_STOMACH) + if(target.stat != DEAD) //shamelessly lifted off the revival surgery but we're looking for the same critera here, a dead, non-husked, revivable patient. + return FALSE + if(HAS_TRAIT(target, TRAIT_HUSK)) + return FALSE + if(!S) + return FALSE + return ..() + +//Working the stomach by hand in such a way that you induce vomiting. +/datum/surgery_step/stomach_pump + name = "Pump Stomach" + accept_hand = TRUE + repeatable = TRUE + time = 20 + +/datum/surgery_step/stomach_pump/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + display_results(user, target, "You begin pumping [target]'s stomach...", + "[user] begins to pump [target]'s stomach.", + "[user] begins to press on [target]'s chest.") + +/datum/surgery_step/stomach_pump/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) + if(ishuman(target)) + var/mob/living/carbon/human/H = target + display_results(user, target, "[user] forces [H] to vomit, cleansing their stomach of some chemicals!", + "[user] forces [H] to vomit, cleansing their stomach of some chemicals!", + "[user] forces [H] to vomit!") + H.vomit(20, FALSE, TRUE, 1, TRUE, FALSE, purge = TRUE) //called with purge as true to lose more reagents + return ..() + +/datum/surgery_step/stomach_pump/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + if(ishuman(target)) + var/mob/living/carbon/human/H = target + display_results(user, target, "You screw up, brusing [H]'s chest!", + "[user] screws up, brusing [H]'s chest!", + "[user] screws up!") + H.adjustOrganLoss(ORGAN_SLOT_STOMACH, 5) + H.adjustBruteLoss(5) diff --git a/tgstation.dme b/tgstation.dme index 4d6d21e0d1f..d0f63548914 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -2855,6 +2855,7 @@ #include "code\modules\surgery\plastic_surgery.dm" #include "code\modules\surgery\prosthetic_replacement.dm" #include "code\modules\surgery\remove_embedded_object.dm" +#include "code\modules\surgery\stomachpump.dm" #include "code\modules\surgery\surgery.dm" #include "code\modules\surgery\surgery_helpers.dm" #include "code\modules\surgery\surgery_step.dm" From 57456d799fc73feb9f46efdc666fe628da5c12c5 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Wed, 15 Jan 2020 13:53:48 -0800 Subject: [PATCH 059/124] Automatic changelog generation for PR #48728 [ci skip] --- html/changelogs/AutoChangeLog-pr-48728.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48728.yml diff --git a/html/changelogs/AutoChangeLog-pr-48728.yml b/html/changelogs/AutoChangeLog-pr-48728.yml new file mode 100644 index 00000000000..c8bbc1eaa33 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48728.yml @@ -0,0 +1,4 @@ +author: "ArcaneMusic" +delete-after: True +changes: + - rscadd: "Adds a new surgery, Stomach Pump, which allows you to purge a patient's stomach via surgery while surgically dead." From 4288509ff9808b0e26f557991db7aec885b8e27a Mon Sep 17 00:00:00 2001 From: James <11001588+MCterra10@users.noreply.github.com> Date: Thu, 16 Jan 2020 12:47:10 +1100 Subject: [PATCH 060/124] Changelog Compile GitHub Action (#48494) * adds changelog compile action Signed-off-by: Terra * I forgot to add the fix Signed-off-by: Terra * use master key Signed-off-by: Terra --- .github/workflows/compile_changelogs.yml | 36 ++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/workflows/compile_changelogs.yml diff --git a/.github/workflows/compile_changelogs.yml b/.github/workflows/compile_changelogs.yml new file mode 100644 index 00000000000..4894870752b --- /dev/null +++ b/.github/workflows/compile_changelogs.yml @@ -0,0 +1,36 @@ +name: Compile changelogs + +on: + schedule: + - cron: "0 0 * * *" + +jobs: + compile: + name: "Compile changelogs" + runs-on: ubuntu-latest + steps: + - name: "Setup python" + uses: actions/setup-python@v1 + with: + python-version: '3.x' + - name: "Install deps" + run: | + python -m pip install --upgrade pip + python -m pip install pyyaml + - name: "Checkout" + uses: actions/checkout@v1 + with: + fetch-depth: 25 + - name: "Compile" + run: | + python tools/ss13_genchangelog.py html/changelog.html html/changelogs + - name: Commit + run: | + git config --local user.email "action@github.com" + git config --local user.name "Changelogs" + git pull origin master + git commit -m "Automatic changelog compile [ci skip]" -a || true + - name: "Push" + uses: ad-m/github-push-action@master + with: + github_token: ${{ secrets.GITHUB_MASTER_KEY }} From d8068d5d0699970305d9e538262e8d5f1a5998c1 Mon Sep 17 00:00:00 2001 From: 81Denton <32391752+81Denton@users.noreply.github.com> Date: Thu, 16 Jan 2020 02:52:34 +0100 Subject: [PATCH 061/124] hey, if you type in your pw, it will show as stars (#48797) * ********* * ******************* * genius * replaces if/else with var --- code/modules/antagonists/traitor/equipment/Malf_Modules.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm index 48cfefb87f1..41a10364898 100644 --- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm +++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm @@ -246,6 +246,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( set_us_up_the_bomb(owner) /datum/action/innate/ai/nuke_station/proc/set_us_up_the_bomb(mob/living/owner) + var/pass = prob(10) ? "******" : "hunter2" set waitfor = FALSE to_chat(owner, "run -o -a 'selfdestruct'") sleep(5) @@ -266,7 +267,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( sleep(3) if(!owner || QDELETED(owner)) return - to_chat(owner, "auth 'akjv9c88asdf12nb' ******************") + to_chat(owner, "auth 'akjv9c88asdf12nb' [pass]") owner.playsound_local(owner, 'sound/items/timer.ogg', 50, 0) sleep(30) if(!owner || QDELETED(owner)) @@ -299,7 +300,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( sleep(14) if(!owner || QDELETED(owner)) return - to_chat(owner, "******************") + to_chat(owner, "[pass]") sleep(40) if(!owner || QDELETED(owner)) return From bca492823a94561957d9d61af02f402861117402 Mon Sep 17 00:00:00 2001 From: AnturK Date: Thu, 16 Jan 2020 17:16:37 +0100 Subject: [PATCH 062/124] Runtime fixes: Episode 113 (#48814) * Fixes mood nanite settings * Fixes yet another quirk runtime. * Ugly paperplane fix * Abductor armor runtime. * cablecutting runtime * Nukeop death runtime (were those spec deaths meant to fire on gibbing too ? ) * headpike runtime fix * ERT outfit runtime * bonfire oxygen runtime * Rest of nanite updates --- code/datums/traits/_quirk.dm | 1 + code/game/objects/structures/headpike.dm | 5 ++- .../abductor/equipment/abduction_gear.dm | 5 +++ code/modules/clothing/outfits/ert.dm | 5 ++- code/modules/hydroponics/grown/towercap.dm | 2 +- code/modules/mob/living/carbon/human/death.dm | 3 +- code/modules/paperwork/paperplane.dm | 2 + code/modules/power/cable.dm | 1 + .../nanites/nanite_programs/suppression.dm | 40 ++++--------------- 9 files changed, 26 insertions(+), 38 deletions(-) diff --git a/code/datums/traits/_quirk.dm b/code/datums/traits/_quirk.dm index 7337cdea20b..9187d57d856 100644 --- a/code/datums/traits/_quirk.dm +++ b/code/datums/traits/_quirk.dm @@ -16,6 +16,7 @@ ..() if(!quirk_mob || (human_only && !ishuman(quirk_mob)) || quirk_mob.has_quirk(type)) qdel(src) + return quirk_holder = quirk_mob SSquirks.quirk_objects += src to_chat(quirk_holder, gain_text) diff --git a/code/game/objects/structures/headpike.dm b/code/game/objects/structures/headpike.dm index 99501c9486d..01071a3de72 100644 --- a/code/game/objects/structures/headpike.dm +++ b/code/game/objects/structures/headpike.dm @@ -41,8 +41,9 @@ if(.) return to_chat(user, "You take down [src].") - victim.forceMove(drop_location()) - victim = null + if(victim) + victim.forceMove(drop_location()) + victim = null spear.forceMove(drop_location()) spear = null qdel(src) diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm index 78746e13fe2..ba1c90bf781 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm @@ -29,6 +29,11 @@ var/stealth_armor = list("melee" = 15, "bullet" = 15, "laser" = 15, "energy" = 25, "bomb" = 15, "bio" = 15, "rad" = 15, "fire" = 70, "acid" = 70) var/combat_armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 50, "bio" = 50, "rad" = 50, "fire" = 90, "acid" = 90) +/obj/item/clothing/suit/armor/abductor/vest/Initialize() + . = ..() + stealth_armor = getArmor(arglist(stealth_armor)) + combat_armor = getArmor(arglist(combat_armor)) + /obj/item/clothing/suit/armor/abductor/vest/proc/toggle_nodrop() if(HAS_TRAIT_FROM(src, TRAIT_NODROP, ABDUCTOR_VEST_TRAIT)) REMOVE_TRAIT(src, TRAIT_NODROP, ABDUCTOR_VEST_TRAIT) diff --git a/code/modules/clothing/outfits/ert.dm b/code/modules/clothing/outfits/ert.dm index e809d8ba4dc..b254e26f4c4 100644 --- a/code/modules/clothing/outfits/ert.dm +++ b/code/modules/clothing/outfits/ert.dm @@ -16,8 +16,9 @@ R.freqlock = TRUE var/obj/item/card/id/W = H.wear_id - W.registered_name = H.real_name - W.update_label() + if(W) + W.registered_name = H.real_name + W.update_label() ..() /datum/outfit/centcom/ert/commander diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index cc40eb59aa4..cc6995f36f4 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -230,7 +230,7 @@ var/turf/open/O = loc if(O.air) var/loc_gases = O.air.gases - if(loc_gases[/datum/gas/oxygen][MOLES] >= 5) + if(loc_gases[/datum/gas/oxygen] && loc_gases[/datum/gas/oxygen][MOLES] >= 5) return TRUE return FALSE diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 9f3707aa47a..e20c5627613 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -34,7 +34,8 @@ if(M.occupant == src) M.go_out() - dna.species.spec_death(gibbed, src) + if(!QDELETED(dna)) //The gibbed param is bit redundant here since dna won't exist at this point if they got deleted. + dna.species.spec_death(gibbed, src) if(SSticker.HasRoundStarted()) SSblackbox.ReportDeath(src) diff --git a/code/modules/paperwork/paperplane.dm b/code/modules/paperwork/paperplane.dm index bc627ccaf7d..4e9cd08eaef 100644 --- a/code/modules/paperwork/paperplane.dm +++ b/code/modules/paperwork/paperplane.dm @@ -33,7 +33,9 @@ /obj/item/paperplane/handle_atom_del(atom/A) if(A == internalPaper) + var/obj/item/paper/P = internalPaper internalPaper = null + P.moveToNullspace() //So we're not deleting it twice when deleting our contents. if(!QDELETED(src)) qdel(src) return ..() diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 7eb860f23ab..bfd5b825453 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -580,6 +580,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain /obj/structure/cable_bridge/wirecutter_act(mob/living/user, obj/item/I) . = ..() qdel(src) + return TRUE #undef UNDER_SMES #undef UNDER_TERMINAL diff --git a/code/modules/research/nanites/nanite_programs/suppression.dm b/code/modules/research/nanites/nanite_programs/suppression.dm index 7408ac75f45..61928d9e91b 100644 --- a/code/modules/research/nanites/nanite_programs/suppression.dm +++ b/code/modules/research/nanites/nanite_programs/suppression.dm @@ -276,26 +276,14 @@ desc = "The nanites synthesize serotonin inside the host's brain, creating an artificial sense of happiness." use_rate = 0.1 rogue_types = list(/datum/nanite_program/brain_decay) - extra_settings = list(NES_MOOD_MESSAGE) - var/message = "HAPPINESS ENHANCEMENT" -/datum/nanite_program/good_mood/set_extra_setting(user, setting) - if(setting == NES_MOOD_MESSAGE) - var/new_message = stripped_input(user, "Choose the message visible on the mood effect.", NES_MESSAGE, message, MAX_NAME_LEN) - if(!new_message) - return - message = new_message - -/datum/nanite_program/good_mood/get_extra_setting_value(setting) - if(setting == NES_MOOD_MESSAGE) - return message - -/datum/nanite_program/good_mood/copy_extra_settings_to(datum/nanite_program/good_mood/target) - target.message = message +/datum/nanite_program/good_mood/register_extra_settings() + . = ..() + extra_settings[NES_MOOD_MESSAGE] = new /datum/nanite_extra_setting/text("HAPPINESS ENHANCEMENT") /datum/nanite_program/good_mood/enable_passive_effect() . = ..() - SEND_SIGNAL(host_mob, COMSIG_ADD_MOOD_EVENT, "nanite_happy", /datum/mood_event/nanite_happiness, message) + SEND_SIGNAL(host_mob, COMSIG_ADD_MOOD_EVENT, "nanite_happy", /datum/mood_event/nanite_happiness, get_extra_setting_value(NES_MOOD_MESSAGE)) /datum/nanite_program/good_mood/disable_passive_effect() . = ..() @@ -306,26 +294,14 @@ desc = "The nanites suppress the production of serotonin inside the host's brain, creating an artificial state of depression." use_rate = 0.1 rogue_types = list(/datum/nanite_program/brain_decay) - extra_settings = list(NES_MOOD_MESSAGE) - var/message = "HAPPINESS SUPPRESSION" -/datum/nanite_program/bad_mood/set_extra_setting(user, setting) - if(setting == NES_MOOD_MESSAGE) - var/new_message = stripped_input(user, "Choose the message visible on the mood effect.", NES_MESSAGE, message, MAX_NAME_LEN) - if(!new_message) - return - message = new_message - -/datum/nanite_program/bad_mood/get_extra_setting_value(setting) - if(setting == NES_MOOD_MESSAGE) - return message - -/datum/nanite_program/bad_mood/copy_extra_settings_to(datum/nanite_program/bad_mood/target) - target.message = message +/datum/nanite_program/bad_mood/register_extra_settings() + . = ..() + extra_settings[NES_MOOD_MESSAGE] = new /datum/nanite_extra_setting/text("HAPPINESS SUPPRESSION") /datum/nanite_program/bad_mood/enable_passive_effect() . = ..() - SEND_SIGNAL(host_mob, COMSIG_ADD_MOOD_EVENT, "nanite_sadness", /datum/mood_event/nanite_sadness, message) + SEND_SIGNAL(host_mob, COMSIG_ADD_MOOD_EVENT, "nanite_sadness", /datum/mood_event/nanite_sadness, get_extra_setting_value(NES_MOOD_MESSAGE)) /datum/nanite_program/bad_mood/disable_passive_effect() . = ..() From 3195ceaa2283e2b2cc69770c96673372c1319fcf Mon Sep 17 00:00:00 2001 From: spookydonut Date: Fri, 17 Jan 2020 00:49:39 +0800 Subject: [PATCH 063/124] Update SpacemanDMM suite to 1.2 (#48785) * Update SpacemanDMM suite to 1.2 * Fix new lint errors --- code/__HELPERS/game.dm | 2 +- code/__HELPERS/mobs.dm | 2 +- code/controllers/subsystem/economy.dm | 2 +- code/controllers/subsystem/job.dm | 6 +++--- code/datums/ductnet.dm | 4 ++-- code/datums/elements/digitalcamo.dm | 2 +- code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm | 2 +- code/game/machinery/scan_gate.dm | 2 +- code/game/machinery/telecomms/machines/receiver.dm | 2 +- code/game/mecha/mecha.dm | 2 +- code/game/objects/items/devices/flashlight.dm | 4 ++-- code/game/objects/items/religion.dm | 4 ++-- code/game/objects/structures/traps.dm | 2 +- code/modules/admin/verbs/mapping.dm | 2 +- code/modules/cargo/blackmarket/blackmarket_telepad.dm | 2 +- code/modules/client/client_procs.dm | 2 +- code/modules/detectivework/footprints_and_rag.dm | 2 +- code/modules/events/creep_awakening.dm | 2 +- code/modules/food_and_drinks/kitchen_machinery/gibber.dm | 2 +- code/modules/food_and_drinks/pizzabox.dm | 6 +++--- code/modules/jobs/job_exp.dm | 2 +- code/modules/mob/dead/observer/observer.dm | 4 ++-- code/modules/mob/living/say.dm | 2 +- code/modules/mob/living/simple_animal/hostile/statue.dm | 2 +- .../mob/living/simple_animal/hostile/venus_human_trap.dm | 2 +- code/modules/mob/living/simple_animal/parrot.dm | 4 ++-- code/modules/mob/mob_helpers.dm | 2 +- code/modules/reagents/chemistry/machinery/chem_dispenser.dm | 2 +- .../modules/reagents/chemistry/reagents/alcohol_reagents.dm | 3 ++- code/modules/spells/spell_types/summonitem.dm | 2 +- dependencies.sh | 2 +- 31 files changed, 41 insertions(+), 40 deletions(-) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 341dbb7d601..87c7d725399 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -453,7 +453,7 @@ var/list/result = list() for(var/m in group) var/mob/M = m - if(!M.key || !M.client || (ignore_category && GLOB.poll_ignore[ignore_category] && M.ckey in GLOB.poll_ignore[ignore_category])) + if(!M.key || !M.client || (ignore_category && GLOB.poll_ignore[ignore_category] && (M.ckey in GLOB.poll_ignore[ignore_category]))) continue if(be_special_flag) if(!(M.client.prefs) || !(be_special_flag in M.client.prefs.be_special)) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index b8944cdc7a6..cc18622ddc2 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -431,7 +431,7 @@ GLOBAL_LIST_EMPTY(species_list) continue if(M.stat != DEAD && !override) continue - if(speaker_key && speaker_key in ignoring) + if(speaker_key && (speaker_key in ignoring)) continue switch(message_type) diff --git a/code/controllers/subsystem/economy.dm b/code/controllers/subsystem/economy.dm index 0fdf902c963..078d122aa65 100644 --- a/code/controllers/subsystem/economy.dm +++ b/code/controllers/subsystem/economy.dm @@ -113,7 +113,7 @@ SUBSYSTEM_DEF(economy) D.adjust_money(medical_cash) if(ishostile(m)) var/mob/living/simple_animal/hostile/H = m - if(H.stat == DEAD && H.z in SSmapping.levels_by_trait(ZTRAIT_STATION)) + if(H.stat == DEAD && (H.z in SSmapping.levels_by_trait(ZTRAIT_STATION))) dead_monsters++ CHECK_TICK var/living_ratio = alive_crew / crew diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index e0a26570f74..5214c4b162b 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -115,7 +115,7 @@ SUBSYSTEM_DEF(job) if(flag && (!(flag in player.client.prefs.be_special))) JobDebug("FOC flag failed, Player: [player], Flag: [flag], ") continue - if(player.mind && job.title in player.mind.restricted_roles) + if(player.mind && (job.title in player.mind.restricted_roles)) JobDebug("FOC incompatible with antagonist role, Player: [player]") continue if(player.client.prefs.job_preferences[job.title] == level) @@ -151,7 +151,7 @@ SUBSYSTEM_DEF(job) JobDebug("GRJ player not enough xp, Player: [player]") continue - if(player.mind && job.title in player.mind.restricted_roles) + if(player.mind && (job.title in player.mind.restricted_roles)) JobDebug("GRJ incompatible with antagonist role, Player: [player], Job: [job.title]") continue @@ -331,7 +331,7 @@ SUBSYSTEM_DEF(job) JobDebug("DO player not enough xp, Player: [player], Job:[job.title]") continue - if(player.mind && job.title in player.mind.restricted_roles) + if(player.mind && (job.title in player.mind.restricted_roles)) JobDebug("DO incompatible with antagonist role, Player: [player], Job:[job.title]") continue diff --git a/code/datums/ductnet.dm b/code/datums/ductnet.dm index 744d9a919b0..14a74a67c49 100644 --- a/code/datums/ductnet.dm +++ b/code/datums/ductnet.dm @@ -7,7 +7,7 @@ var/capacity ///Add a duct to our network /datum/ductnet/proc/add_duct(obj/machinery/duct/D) - if(!D || D in ducts) + if(!D || (D in ducts)) return ducts += D D.duct = src @@ -52,7 +52,7 @@ for(var/A in D.ducts) var/obj/machinery/duct/M = A M.duct = src //forget your old master - + destroy_network() ///destroy the network and tell all our ducts and plumbers we are gone /datum/ductnet/proc/destroy_network(delete=TRUE) diff --git a/code/datums/elements/digitalcamo.dm b/code/datums/elements/digitalcamo.dm index e3a97002cc6..5451fbfe53b 100644 --- a/code/datums/elements/digitalcamo.dm +++ b/code/datums/elements/digitalcamo.dm @@ -8,7 +8,7 @@ /datum/element/digitalcamo/Attach(datum/target) . = ..() - if(!isliving(target) || target in attached_mobs) + if(!isliving(target) || (target in attached_mobs)) return ELEMENT_INCOMPATIBLE RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/on_examine) RegisterSignal(target, COMSIG_LIVING_CAN_TRACK, .proc/can_track) diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm index 2839d2324e6..b2b18c919e6 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm @@ -48,7 +48,7 @@ trimmed_list.Remove(M) continue if (M.mind) - if (restrict_ghost_roles && M.mind.assigned_role in GLOB.exp_specialmap[EXP_TYPE_SPECIAL]) // Are they playing a ghost role? + if (restrict_ghost_roles && (M.mind.assigned_role in GLOB.exp_specialmap[EXP_TYPE_SPECIAL])) // Are they playing a ghost role? trimmed_list.Remove(M) continue if (M.mind.assigned_role in restricted_roles) // Does their job allow it? diff --git a/code/game/machinery/scan_gate.dm b/code/game/machinery/scan_gate.dm index 7f851f64335..2b7807a76e3 100644 --- a/code/game/machinery/scan_gate.dm +++ b/code/game/machinery/scan_gate.dm @@ -229,7 +229,7 @@ "Starving", "Obese" ) - if(new_nutrition && new_nutrition in nutrition_list) + if(new_nutrition && (new_nutrition in nutrition_list)) switch(new_nutrition) if("Starving") detect_nutrition = NUTRITION_LEVEL_STARVING diff --git a/code/game/machinery/telecomms/machines/receiver.dm b/code/game/machinery/telecomms/machines/receiver.dm index 0fd3aec012b..4dd3af036cd 100644 --- a/code/game/machinery/telecomms/machines/receiver.dm +++ b/code/game/machinery/telecomms/machines/receiver.dm @@ -33,7 +33,7 @@ for(var/obj/machinery/telecomms/hub/H in links) for(var/obj/machinery/telecomms/relay/R in H.links) - if(R.can_receive(signal) && R.z in signal.levels) + if(R.can_receive(signal) && (R.z in signal.levels)) return TRUE return FALSE diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 26e96323b41..53322c275b8 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -926,7 +926,7 @@ return /obj/mecha/proc/moved_inside(mob/living/carbon/human/H) - if(H && H.client && H in range(1)) + if(H && H.client && (H in range(1))) occupant = H H.forceMove(src) H.update_mouse_pointer() diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 3c893760a9a..8fe7c4b711b 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -50,7 +50,7 @@ /obj/item/flashlight/attack(mob/living/carbon/M, mob/living/carbon/human/user) add_fingerprint(user) - if(istype(M) && on && user.zone_selected in list(BODY_ZONE_PRECISE_EYES, BODY_ZONE_PRECISE_MOUTH)) + if(istype(M) && on && (user.zone_selected in list(BODY_ZONE_PRECISE_EYES, BODY_ZONE_PRECISE_MOUTH))) if((HAS_TRAIT(user, TRAIT_CLUMSY) || HAS_TRAIT(user, TRAIT_DUMB)) && prob(50)) //too dumb to use flashlight properly return ..() //just hit them in the head @@ -388,7 +388,7 @@ return TRUE /obj/item/flashlight/emp/attack(mob/living/M, mob/living/user) - if(on && user.zone_selected in list(BODY_ZONE_PRECISE_EYES, BODY_ZONE_PRECISE_MOUTH)) // call original attack when examining organs + if(on && (user.zone_selected in list(BODY_ZONE_PRECISE_EYES, BODY_ZONE_PRECISE_MOUTH))) // call original attack when examining organs ..() return diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index d21ffbcaeca..eee6bc44679 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -44,9 +44,9 @@ if(H.stat == DEAD || H == user) continue if(H.mind && (has_job_loyalties || has_role_loyalties)) - if(has_job_loyalties && H.mind.assigned_role in job_loyalties) + if(has_job_loyalties && (H.mind.assigned_role in job_loyalties)) inspired += H - else if(has_role_loyalties && H.mind.special_role in role_loyalties) + else if(has_role_loyalties && (H.mind.special_role in role_loyalties)) inspired += H else if(check_inspiration(H)) inspired += H diff --git a/code/game/objects/structures/traps.dm b/code/game/objects/structures/traps.dm index 9febf7704ff..f3013cda82a 100644 --- a/code/game/objects/structures/traps.dm +++ b/code/game/objects/structures/traps.dm @@ -39,7 +39,7 @@ . = ..() if(!isliving(user)) return - if(user.mind && user.mind in immune_minds) + if(user.mind && (user.mind in immune_minds)) return if(get_dist(user, src) <= 1) . += "You reveal [src]!" diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index 5ee9174a87f..cca9eebf443 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -135,7 +135,7 @@ GLOBAL_LIST_EMPTY(dirty_vars) if(!(locate(/obj/structure/grille) in T)) var/window_check = 0 for(var/obj/structure/window/W in T) - if (W.dir == turn(C1.dir,180) || W.dir in list(5,6,9,10) ) + if (W.dir == turn(C1.dir,180) || (W.dir in list(NORTHEAST,SOUTHEAST,NORTHWEST,SOUTHWEST)) ) window_check = 1 break if(!window_check) diff --git a/code/modules/cargo/blackmarket/blackmarket_telepad.dm b/code/modules/cargo/blackmarket/blackmarket_telepad.dm index 02b01b47236..e2b36e4b1e1 100644 --- a/code/modules/cargo/blackmarket/blackmarket_telepad.dm +++ b/code/modules/cargo/blackmarket/blackmarket_telepad.dm @@ -101,7 +101,7 @@ var/datum/blackmarket_purchase/P = transmitting if(!P.item) QDEL_NULL(transmitting) - if(!P.item in T.contents) + if(!(P.item in T.contents)) QDEL_NULL(transmitting) return do_teleport(P.item, get_turf(P.uplink)) diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index bb3ed3c4d5c..8b1c26e4fc9 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -83,7 +83,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( log_href("[src] (usr:[usr]\[[COORD(usr)]\]) : [hsrc ? "[hsrc] " : ""][href]") //byond bug ID:2256651 - if (asset_cache_job && asset_cache_job in completed_asset_jobs) + if (asset_cache_job && (asset_cache_job in completed_asset_jobs)) to_chat(src, "An error has been detected in how your client is receiving resources. Attempting to correct.... (If you keep seeing these messages you might want to close byond and reconnect)") src << browse("...", "window=asset_cache_browser") diff --git a/code/modules/detectivework/footprints_and_rag.dm b/code/modules/detectivework/footprints_and_rag.dm index 552d9c59bb5..27aa266a5a0 100644 --- a/code/modules/detectivework/footprints_and_rag.dm +++ b/code/modules/detectivework/footprints_and_rag.dm @@ -38,7 +38,7 @@ C.visible_message("[user] has touched \the [C] with \the [src].") log_combat(user, C, "touched", src, log_object) - else if(istype(A) && src in user) + else if(istype(A) && (src in user)) user.visible_message("[user] starts to wipe down [A] with [src]!", "You start to wipe down [A] with [src]...") if(do_after(user,30, target = A)) user.visible_message("[user] finishes wiping off [A]!", "You finish wiping off [A].") diff --git a/code/modules/events/creep_awakening.dm b/code/modules/events/creep_awakening.dm index d0269b8ddef..b8842119ba4 100644 --- a/code/modules/events/creep_awakening.dm +++ b/code/modules/events/creep_awakening.dm @@ -13,7 +13,7 @@ continue if(H.stat == DEAD) continue - if(!SSjob.GetJob(H.mind.assigned_role) || H.mind.assigned_role in GLOB.nonhuman_positions) //only station jobs sans nonhuman roles, prevents ashwalkers trying to stalk with crewmembers they never met + if(!SSjob.GetJob(H.mind.assigned_role) || (H.mind.assigned_role in GLOB.nonhuman_positions)) //only station jobs sans nonhuman roles, prevents ashwalkers trying to stalk with crewmembers they never met continue if(H.mind.has_antag_datum(/datum/antagonist/obsessed)) continue diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm index ed32abfbad2..2744f122238 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm @@ -216,7 +216,7 @@ meatslab.throw_at(pick(nearby_turfs),i,3) for (var/turfs=1 to meat_produced) var/turf/gibturf = pick(nearby_turfs) - if (!gibturf.density && src in view(gibturf)) + if (!gibturf.density && (src in view(gibturf))) new gibtype(gibturf,i,diseases) pixel_x = initial(pixel_x) //return to its spot after shaking diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm index 48fff02117c..829b79bc02b 100644 --- a/code/modules/food_and_drinks/pizzabox.dm +++ b/code/modules/food_and_drinks/pizzabox.dm @@ -125,10 +125,10 @@ return else bomb_timer = input(user, "Set the [bomb] timer from [BOMB_TIMER_MIN] to [BOMB_TIMER_MAX].", bomb, bomb_timer) as num|null - + if (isnull(bomb_timer)) return - + bomb_timer = CLAMP(CEILING(bomb_timer / 2, 1), BOMB_TIMER_MIN, BOMB_TIMER_MAX) bomb_defused = FALSE @@ -221,7 +221,7 @@ unprocess() qdel(src) if(!bomb_active || bomb_defused) - if(bomb_defused && bomb in src) + if(bomb_defused && (bomb in src)) bomb.defuse() bomb_active = FALSE unprocess() diff --git a/code/modules/jobs/job_exp.dm b/code/modules/jobs/job_exp.dm index b0be0ed2fe2..49df71d2aee 100644 --- a/code/modules/jobs/job_exp.dm +++ b/code/modules/jobs/job_exp.dm @@ -40,7 +40,7 @@ GLOBAL_PROTECT(exp_to_update) return exp_type /proc/job_is_xp_locked(jobtitle) - if(!CONFIG_GET(flag/use_exp_restrictions_heads) && jobtitle in (GLOB.command_positions | list("AI"))) + if(!CONFIG_GET(flag/use_exp_restrictions_heads) && (jobtitle in (GLOB.command_positions | list("AI")))) return FALSE if(!CONFIG_GET(flag/use_exp_restrictions_other) && !(jobtitle in (GLOB.command_positions | list("AI")))) return FALSE diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index e26e5a3cf6e..6d3db2d2838 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -194,13 +194,13 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) else ghostimage_default.icon_state = new_form - if(ghost_accs >= GHOST_ACCS_DIR && icon_state in GLOB.ghost_forms_with_directions_list) //if this icon has dirs AND the client wants to show them, we make sure we update the dir on movement + if(ghost_accs >= GHOST_ACCS_DIR && (icon_state in GLOB.ghost_forms_with_directions_list)) //if this icon has dirs AND the client wants to show them, we make sure we update the dir on movement updatedir = 1 else updatedir = 0 //stop updating the dir in case we want to show accessories with dirs on a ghost sprite without dirs setDir(2 )//reset the dir to its default so the sprites all properly align up - if(ghost_accs == GHOST_ACCS_FULL && icon_state in GLOB.ghost_forms_with_accessories_list) //check if this form supports accessories and if the client wants to show them + if(ghost_accs == GHOST_ACCS_FULL && (icon_state in GLOB.ghost_forms_with_accessories_list)) //check if this form supports accessories and if the client wants to show them var/datum/sprite_accessory/S if(facial_hairstyle) S = GLOB.facial_hairstyles_list[facial_hairstyle] diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index b8f13a87745..870a1b8fe64 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -361,7 +361,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(message_mode == MODE_HEADSET) imp.radio.talk_into(src, message, , spans, language) return ITALICS | REDUCE_RANGE - if(message_mode == MODE_DEPARTMENT || message_mode in imp.radio.channels) + if(message_mode == MODE_DEPARTMENT || (message_mode in imp.radio.channels)) imp.radio.talk_into(src, message, message_mode, spans, language) return ITALICS | REDUCE_RANGE diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index 1dd642ecd65..798bd37fbc0 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -193,7 +193,7 @@ /obj/effect/proc_holder/spell/aoe_turf/blindness/cast(list/targets,mob/user = usr) for(var/mob/living/L in GLOB.alive_mob_list) var/turf/T = get_turf(L.loc) - if(T && T in targets) + if(T && (T in targets)) L.blind_eyes(4) return diff --git a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm index 497a0c3310f..393690cfcf7 100644 --- a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm +++ b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm @@ -102,7 +102,7 @@ if(length(grasping) < max_grasps) grasping: for(var/mob/living/L in view(grasp_range, src)) - if(L == src || faction_check_mob(L) || L in grasping || L == target) + if(L == src || faction_check_mob(L) || (L in grasping) || L == target) continue for(var/turf/T in getline(src,L)) if (T.density) diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 715fd440db7..d8ad27592f0 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -470,11 +470,11 @@ return return - if(parrot_interest && parrot_interest in view(src)) + if(parrot_interest && (parrot_interest in view(src))) parrot_state = PARROT_SWOOP | PARROT_STEAL return - if(parrot_perch && parrot_perch in view(src)) + if(parrot_perch && (parrot_perch in view(src))) parrot_state = PARROT_SWOOP | PARROT_RETURN return diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index f98a32450d0..19b410b8d55 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -410,7 +410,7 @@ for(var/mob/dead/observer/O in GLOB.player_list) if(!notify_suiciders && (O in GLOB.suicided_mob_list)) continue - if (ignore_key && O.ckey in GLOB.poll_ignore[ignore_key]) + if (ignore_key && (O.ckey in GLOB.poll_ignore[ignore_key])) continue var/orbit_link if (source && action == NOTIFY_ORBIT) diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index 2d2530b156f..5014113efe7 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -250,7 +250,7 @@ if(!is_operational() || recording_recipe) return var/amount = text2num(params["amount"]) - if(beaker && amount in beaker.possible_transfer_amounts) + if(beaker && (amount in beaker.possible_transfer_amounts)) beaker.reagents.remove_all(amount) work_animation() . = TRUE diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 895d5a11410..405e9056a41 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -551,7 +551,8 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_desc = "A simple, yet superb mixture of Vodka and orange juice. Just the thing for the tired engineer." /datum/reagent/consumable/ethanol/screwdrivercocktail/on_mob_life(mob/living/carbon/M) - if(M.mind && M.mind.assigned_role in list("Station Engineer", "Atmospheric Technician", "Chief Engineer")) //Engineers lose radiation poisoning at a massive rate. + var/static/list/increased_rad_loss = list("Station Engineer", "Atmospheric Technician", "Chief Engineer") + if(M.mind && (M.mind.assigned_role in increased_rad_loss)) //Engineers lose radiation poisoning at a massive rate. M.radiation = max(M.radiation - 25, 0) return ..() diff --git a/code/modules/spells/spell_types/summonitem.dm b/code/modules/spells/spell_types/summonitem.dm index 7d936306597..37237dbc144 100644 --- a/code/modules/spells/spell_types/summonitem.dm +++ b/code/modules/spells/spell_types/summonitem.dm @@ -40,7 +40,7 @@ else message = "You must hold the desired item in your hands to mark it for recall!" - else if(marked_item && marked_item in hand_items) //unlinking item to the spell + else if(marked_item && (marked_item in hand_items)) //unlinking item to the spell message = "You remove the mark on [marked_item] to use elsewhere." name = "Instant Summons" marked_item = null diff --git a/dependencies.sh b/dependencies.sh index 2699e02c9f6..488504b2887 100755 --- a/dependencies.sh +++ b/dependencies.sh @@ -23,4 +23,4 @@ export NODE_VERSION=12 export PHP_VERSION=5.6 # SpacemanDMM git tag -export SPACEMAN_DMM_VERSION=suite-1.1 +export SPACEMAN_DMM_VERSION=suite-1.2 From c758bdd51ccdb21363cd631fa87905c1199db544 Mon Sep 17 00:00:00 2001 From: Nick Date: Thu, 16 Jan 2020 13:35:16 -0500 Subject: [PATCH 064/124] [Ready] Database Tickets (#48727) * DB ticket procs * Schema changes for DB tickets * Schema version update * Fixes requested by Jordie * SQL updates Adds a recipient column * Still one dangling issue where this DOESN'T WORK * Alright, this should work * Requested SQL fixes * Rogue changes * less bad defaults * utf8 for the utf8 gods * aaaaaa * Update tgstation_schema_prefixed.sql * Update tgstation_schema.sql * Update database_changelog.txt Co-authored-by: Jordie <4343468+Jordie0608@users.noreply.github.com> --- SQL/database_changelog.txt | 25 ++++++++++++++++++++++--- SQL/tgstation_schema.sql | 18 ++++++++++++++++++ SQL/tgstation_schema_prefixed.sql | 18 ++++++++++++++++++ code/__DEFINES/subsystems.dm | 2 +- code/controllers/subsystem/blackbox.dm | 19 +++++++++++++++++++ code/modules/admin/verbs/adminhelp.dm | 9 ++++++++- code/modules/admin/verbs/adminpm.dm | 10 +++++++++- 7 files changed, 95 insertions(+), 6 deletions(-) diff --git a/SQL/database_changelog.txt b/SQL/database_changelog.txt index 680acb2ae08..f84268b8a34 100644 --- a/SQL/database_changelog.txt +++ b/SQL/database_changelog.txt @@ -1,13 +1,32 @@ Any time you make a change to the schema files, remember to increment the database schema version. Generally increment the minor number, major should be reserved for significant changes to the schema. Both values go up to 255. -The latest database version is 5.6; The query to update the schema revision table is: +The latest database version is 5.7; The query to update the schema revision table is: -INSERT INTO `schema_revision` (`major`, `minor`) VALUES (5, 6); +INSERT INTO `schema_revision` (`major`, `minor`) VALUES (5, 7); or -INSERT INTO `SS13_schema_revision` (`major`, `minor`) VALUES (5, 6); +INSERT INTO `SS13_schema_revision` (`major`, `minor`) VALUES (5, 7); In any query remember to add a prefix to the table names if you use one. +----------------------------------------------------- + +Version 5.7, 10 January 2020 by Atlanta-Ned +Added ticket table for tracking ahelp tickets in the database. + +DROP TABLE IF EXISTS `ticket`; +CREATE TABLE `ticket` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `server_ip` int(10) unsigned NOT NULL, + `server_port` smallint(5) unsigned NOT NULL, + `round_id` int(11) unsigned NOT NULL, + `ticket` smallint(11) unsigned NOT NULL, + `action` varchar(20) NOT NULL DEFAULT 'Message', + `message` text NOT NULL, + `timestamp` datetime NOT NULL, + `recipient` varchar(32) DEFAULT NULL, + `sender` varchar(32) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ----------------------------------------------------- diff --git a/SQL/tgstation_schema.sql b/SQL/tgstation_schema.sql index 7a5db181e84..a9b2c65fef1 100644 --- a/SQL/tgstation_schema.sql +++ b/SQL/tgstation_schema.sql @@ -537,6 +537,24 @@ CREATE TABLE `achievement_metadata` ( PRIMARY KEY (`achievement_key`) ) ENGINE=InnoDB; +-- +-- Table structure for table `ticket` +-- +DROP TABLE IF EXISTS `ticket`; +CREATE TABLE `ticket` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `server_ip` int(10) unsigned NOT NULL, + `server_port` smallint(5) unsigned NOT NULL, + `round_id` int(11) unsigned NOT NULL, + `ticket` smallint(11) unsigned NOT NULL, + `action` varchar(20) NOT NULL DEFAULT 'Message', + `message` text NOT NULL, + `timestamp` datetime NOT NULL, + `recipient` varchar(32) DEFAULT NULL, + `sender` varchar(32) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; diff --git a/SQL/tgstation_schema_prefixed.sql b/SQL/tgstation_schema_prefixed.sql index 3122bab69fb..845a23ea7d1 100644 --- a/SQL/tgstation_schema_prefixed.sql +++ b/SQL/tgstation_schema_prefixed.sql @@ -537,6 +537,24 @@ CREATE TABLE `SS13_achievement_metadata` ( PRIMARY KEY (`achievement_key`) ) ENGINE=InnoDB; +-- +-- Table structure for table `SS13_ticket` +-- +DROP TABLE IF EXISTS `SS13_ticket`; +CREATE TABLE `SS13_ticket` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `server_ip` int(10) unsigned NOT NULL, + `server_port` smallint(5) unsigned NOT NULL, + `round_id` int(11) unsigned NOT NULL, + `ticket` smallint(11) unsigned NOT NULL, + `action` varchar(20) NOT NULL DEFAULT 'Message', + `message` text NOT NULL, + `timestamp` datetime NOT NULL, + `recipient` varchar(32) DEFAULT NULL, + `sender` varchar(32) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index efd8a80e9e2..824925c0a45 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -20,7 +20,7 @@ * * make sure you add an update to the schema_version stable in the db changelog */ -#define DB_MINOR_VERSION 6 +#define DB_MINOR_VERSION 7 //! ## Timing subsystem diff --git a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm index b1f4de116d2..c715bfb0039 100644 --- a/code/controllers/subsystem/blackbox.dm +++ b/code/controllers/subsystem/blackbox.dm @@ -270,6 +270,25 @@ Versioning key = new_key key_type = new_key_type +/datum/controller/subsystem/blackbox/proc/LogAhelp(ticket, action, message, recipient, sender) + + if(!SSdbcore.Connect()) + return + + ticket = sanitizeSQL(ticket) + action = sanitizeSQL(action) + message = sanitizeSQL(message) + recipient = recipient ? "'sanitizeSQL(recipient)'" : "NULL" + sender = sender ? "'sanitizeSQL(sender)'" : "NULL" + var/server_ip = sanitizeSQL(world.internet_address) + var/server_port = sanitizeSQL(world.port) + var/round_id = sanitizeSQL(GLOB.round_id) + + var/datum/DBQuery/query_log_ahelp = SSdbcore.NewQuery("INSERT INTO [format_table_name("ticket")] (ticket, action, message, recipient, sender, server_ip, server_port, round_id, timestamp) VALUES ('[ticket]', '[action]', '[message]', [recipient], [sender], INET_ATON(IF('[server_ip]' LIKE '', '0', '[server_ip]')), '[server_port]','[round_id]', '[SQLtime()]')") + query_log_ahelp.Execute() + qdel(query_log_ahelp) + + /datum/controller/subsystem/blackbox/proc/ReportDeath(mob/living/L) set waitfor = FALSE if(sealed) diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 96ed1398eaa..dd152393e92 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -108,11 +108,13 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) if(C.current_ticket) C.current_ticket.initiator = C C.current_ticket.AddInteraction("Client reconnected.") + SSblackbox.LogAhelp(C.current_ticket.id, "Reconnected", "Client reconnected", C.ckey) //Dissasociate ticket /datum/admin_help_tickets/proc/ClientLogout(client/C) if(C.current_ticket) C.current_ticket.AddInteraction("Client disconnected.") + SSblackbox.LogAhelp(C.current_ticket.id, "Disconnected", "Client disconnected", C.ckey) C.current_ticket.initiator = null C.current_ticket = null @@ -201,7 +203,6 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) if(admin_number_present <= 0) to_chat(C, "No active admins are online, your adminhelp was sent through TGS to admins who are available. This may use IRC or Discord.") heard_by_no_admins = TRUE - GLOB.ahelp_tickets.active_tickets += src /datum/admin_help/Destroy() @@ -269,6 +270,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) //show it to the person adminhelping too to_chat(initiator, "PM to-Admins: [msg]") + SSblackbox.LogAhelp(id, "Ticket Opened", msg, null, initiator.ckey) //Reopen a closed ticket /datum/admin_help/proc/Reopen() @@ -298,6 +300,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) var/msg = "Ticket [TicketHref("#[id]")] reopened by [key_name_admin(usr)]." message_admins(msg) log_admin_private(msg) + SSblackbox.LogAhelp(id, "Reopened", "Reopened by [usr.key]", usr.ckey) SSblackbox.record_feedback("tally", "ahelp_stats", 1, "reopened") TicketPanel() //can only be done from here, so refresh it @@ -323,6 +326,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) SSblackbox.record_feedback("tally", "ahelp_stats", 1, "closed") var/msg = "Ticket [TicketHref("#[id]")] closed by [key_name]." message_admins(msg) + SSblackbox.LogAhelp(id, "Closed", "Closed by [usr.key]", null, usr.ckey) log_admin_private(msg) //Mark open ticket as resolved/legitimate, returns ahelp verb @@ -341,6 +345,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) SSblackbox.record_feedback("tally", "ahelp_stats", 1, "resolved") var/msg = "Ticket [TicketHref("#[id]")] resolved by [key_name]" message_admins(msg) + SSblackbox.LogAhelp(id, "Resolved", "Resolved by [usr.key]", null, usr.ckey) log_admin_private(msg) //Close and return ahelp verb, use if ticket is incoherent @@ -362,6 +367,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) message_admins(msg) log_admin_private(msg) AddInteraction("Rejected by [key_name].") + SSblackbox.LogAhelp(id, "Rejected", "Rejected by [usr.key]", null, usr.ckey) Close(silent = TRUE) //Resolve ticket with IC Issue message @@ -380,6 +386,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) message_admins(msg) log_admin_private(msg) AddInteraction("Marked as IC issue by [key_name]") + SSblackbox.LogAhelp(id, "IC Issue", "Marked as IC issue by [usr.key]", null, usr.ckey) Resolve(silent = TRUE) //Show the ticket panel diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 3c6a6854d2c..949ed7e498a 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -159,12 +159,13 @@ admin_ticket_log(src, interaction_message) if(recipient != src) //reeee admin_ticket_log(recipient, interaction_message) - + SSblackbox.LogAhelp(current_ticket.id, "Reply", msg, recipient.ckey, src.ckey) else //recipient is an admin but sender is not var/replymsg = "Reply PM from-[key_name(src, recipient, 1)]: [keywordparsedmsg]" admin_ticket_log(src, "[replymsg]") to_chat(recipient, "[replymsg]") to_chat(src, "PM to-Admins: [msg]") + SSblackbox.LogAhelp(current_ticket.id, "Reply", msg, recipient.ckey, src.ckey) //play the receiving admin the adminhelp sound (if they have them enabled) if(recipient.prefs.toggles & SOUND_ADMINHELP) @@ -172,8 +173,11 @@ else if(holder) //sender is an admin but recipient is not. Do BIG RED TEXT + var/already_logged = FALSE if(!recipient.current_ticket) new /datum/admin_help(msg, recipient, TRUE) + already_logged = TRUE + SSblackbox.LogAhelp(recipient.current_ticket.id, "Ticket Opened", msg, null, recipient.ckey) to_chat(recipient, "-- Administrator private message --") to_chat(recipient, "Admin PM from-[key_name(src, recipient, 0)]: [msg]") @@ -182,6 +186,10 @@ admin_ticket_log(recipient, "PM From [key_name_admin(src)]: [keywordparsedmsg]") + if(!already_logged) //Reply to an existing ticket + SSblackbox.LogAhelp(recipient.current_ticket.id, "Reply", msg, recipient.ckey, src.ckey) + + //always play non-admin recipients the adminhelp sound SEND_SOUND(recipient, sound('sound/effects/adminhelp.ogg')) From 131c833612297bc42fbc98485a727f560448cccb Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Thu, 16 Jan 2020 10:35:20 -0800 Subject: [PATCH 065/124] Automatic changelog generation for PR #48727 [ci skip] --- html/changelogs/AutoChangeLog-pr-48727.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48727.yml diff --git a/html/changelogs/AutoChangeLog-pr-48727.yml b/html/changelogs/AutoChangeLog-pr-48727.yml new file mode 100644 index 00000000000..d91e50b2519 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48727.yml @@ -0,0 +1,4 @@ +author: "Atlanta Ned" +delete-after: True +changes: + - server: "Your ahelps are now stored in the database!" From 8738287f11f672f4b6de7207f9b4169786118cd1 Mon Sep 17 00:00:00 2001 From: nightred Date: Thu, 16 Jan 2020 13:30:24 -0600 Subject: [PATCH 066/124] FIXED: Better species environment handlers, and custom race body temperature (#48569) * species can handle enviroment differently * forgot slimes, removed environment check was a dupe * slimes are now fixed, cleanup * base living getting better math also * ethereal lowered bodytemp, raised heat damage * plasmamen were to cold * old language thing in my fork * min max to base proc that is better * added item back, better docs * better docs, moved a vars * moved above vars in ethereals * natural stabilization is fixed * resist is better * ashlizards needed more heat * Comment updates * fixed a comment * better doc comment --- code/__DEFINES/atmospherics.dm | 14 +- code/modules/mob/living/carbon/alien/alien.dm | 22 +- .../mob/living/carbon/carbon_defines.dm | 9 +- code/modules/mob/living/carbon/human/life.dm | 23 ++- .../mob/living/carbon/human/species.dm | 191 +++++++++++++----- .../carbon/human/species_types/ethereal.dm | 6 +- .../human/species_types/lizardpeople.dm | 7 + .../carbon/human/species_types/plasmamen.dm | 9 + .../carbon/human/species_types/zombies.dm | 9 +- code/modules/mob/living/carbon/life.dm | 81 +++++++- code/modules/mob/living/carbon/monkey/life.dm | 17 +- code/modules/mob/living/life.dm | 14 +- .../mob/living/simple_animal/slime/life.dm | 32 +-- .../mob/living/simple_animal/status_procs.dm | 4 - 14 files changed, 304 insertions(+), 134 deletions(-) diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm index 61198aa0ae8..1a2ed41c69e 100644 --- a/code/__DEFINES/atmospherics.dm +++ b/code/__DEFINES/atmospherics.dm @@ -131,12 +131,14 @@ #define BODYTEMP_COOLING_MAX -100 /// The maximum number of degrees that your body can heat up in 1 tick, due to the environment, when in a hot area. #define BODYTEMP_HEATING_MAX 30 - -/// The limit the human body can take before it starts taking damage from heat. -#define BODYTEMP_HEAT_DAMAGE_LIMIT (BODYTEMP_NORMAL + 50) -/// The limit the human body can take before it starts taking damage from coldness. -#define BODYTEMP_COLD_DAMAGE_LIMIT (BODYTEMP_NORMAL - 50) - +/// The body temperature limit the human body can take before it starts taking damage from heat. +/// This also affects how fast the body normalises it's temperature when hot. +/// 340k is about 66c, and rather high for a human. +#define BODYTEMP_HEAT_DAMAGE_LIMIT (BODYTEMP_NORMAL + 30) +/// The body temperature limit the human body can take before it starts taking damage from cold. +/// This also affects how fast the body normalises it's temperature when cold. +/// 270k is about -3c, that is below freezing and would hurt over time. +#define BODYTEMP_COLD_DAMAGE_LIMIT (BODYTEMP_NORMAL - 40) /// what min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0. #define SPACE_HELM_MIN_TEMP_PROTECT 2.0 diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index a5c6b61be6f..3c095a08a9e 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -18,7 +18,8 @@ status_flags = CANUNCONSCIOUS|CANPUSH - var/heat_protection = 0.5 + heat_protection = 0.5 // minor heat insulation + var/leaping = 0 gib_type = /obj/effect/decal/cleanable/xenoblood/xgibs unique_name = 1 @@ -48,22 +49,9 @@ return -10 /mob/living/carbon/alien/handle_environment(datum/gas_mixture/environment) - if(!environment) - return - - var/loc_temp = get_temperature(environment) - - // Aliens are now weak to fire. - - //After then, it reacts to the surrounding atmosphere based on your thermal protection - if(!on_fire) // If you're on fire, ignore local air temperature - if(loc_temp > bodytemperature) - //Place is hotter than we are - var/thermal_protection = heat_protection //This returns a 0 - 1 value, which corresponds to the percentage of heat protection. - if(thermal_protection < 1) - adjust_bodytemperature((1-thermal_protection) * ((loc_temp - bodytemperature) / BODYTEMP_HEAT_DIVISOR)) - else - adjust_bodytemperature(1 * ((loc_temp - bodytemperature) / BODYTEMP_HEAT_DIVISOR)) + // Run base mob body temperature proc before taking damage + // this balances body temp to the enviroment and natural stabilization + . = ..() if(bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT) //Body temperature is too hot. diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index 6862d7ce05d..97fd3e1eb4c 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -16,7 +16,7 @@ var/disgust = 0 -//inventory slots + //inventory slots var/obj/item/back = null var/obj/item/clothing/mask/wear_mask = null var/obj/item/clothing/neck/wear_neck = null @@ -28,7 +28,7 @@ var/obj/item/clothing/glasses/glasses = null //only used by humans. var/obj/item/clothing/ears = null //only used by humans. - var/datum/dna/dna = null//Carbon + var/datum/dna/dna = null // Carbon var/datum/mind/last_mind = null //last mind to control this mob, for blood-based cloning var/failed_last_breath = 0 //This is used to determine if the mob failed a breath. If they did fail a brath, they will attempt to breathe each tick, otherwise just once per 4 ticks. @@ -64,3 +64,8 @@ var/drunkenness = 0 //Overall drunkenness - check handle_alcohol() in life.dm for effects var/stam_regen_start_time = 0 //used to halt stamina regen temporarily var/stam_paralyzed = FALSE //knocks you down + + /// Protection (insulation) from the heat, Value 0-1 corresponding to the percentage of protection + var/heat_protection = 0 // No heat protection + /// Protection (insulation) from the cold, Value 0-1 corresponding to the percentage of protection + var/cold_protection = 0 // No cold protection diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 62d3321206d..698afb1b1ad 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -105,8 +105,15 @@ var/obj/item/organ/lungs/lun = L lun.check_breath(breath,src) +/// Environment handlers for species /mob/living/carbon/human/handle_environment(datum/gas_mixture/environment) + // If we are in a cryo bed do not process life functions + if(istype(loc, /obj/machinery/atmospherics/components/unary/cryo_cell)) + return + dna.species.handle_environment(environment, src) + dna.species.handle_environment_pressure(environment, src) + dna.species.handle_body_temperature(src) ///FIRE CODE /mob/living/carbon/human/handle_fire() @@ -174,10 +181,11 @@ return thermal_protection_flags -/mob/living/carbon/human/proc/get_heat_protection(temperature) //Temperature is the temperature you're being exposed to. +/mob/living/carbon/human/get_heat_protection(temperature) var/thermal_protection_flags = get_heat_protection_flags(temperature) + var/thermal_protection = heat_protection - var/thermal_protection = 0 + // Apply clothing items protection if(thermal_protection_flags) if(thermal_protection_flags & HEAD) thermal_protection += THERMAL_PROTECTION_HEAD @@ -202,7 +210,6 @@ if(thermal_protection_flags & HAND_RIGHT) thermal_protection += THERMAL_PROTECTION_HAND_RIGHT - return min(1,thermal_protection) //See proc/get_heat_protection_flags(temperature) for the description of this proc. @@ -231,11 +238,15 @@ return thermal_protection_flags -/mob/living/carbon/human/proc/get_cold_protection(temperature) - temperature = max(temperature, 2.7) //There is an occasional bug where the temperature is miscalculated in ares with a small amount of gas on them, so this is necessary to ensure that that bug does not affect this calculation. Space's temperature is 2.7K and most suits that are intended to protect against any cold, protect down to 2.0K. +/mob/living/carbon/human/get_cold_protection(temperature) + // There is an occasional bug where the temperature is miscalculated in areas with small amounts of gas. + // This is necessary to ensure that does not affect this calculation. + // Space's temperature is 2.7K and most suits that are intended to protect against any cold, protect down to 2.0K. + temperature = max(temperature, 2.7) var/thermal_protection_flags = get_cold_protection_flags(temperature) + var/thermal_protection = cold_protection - var/thermal_protection = 0 + // Apply clothing items protection if(thermal_protection_flags) if(thermal_protection_flags & HEAD) thermal_protection += THERMAL_PROTECTION_HEAD diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 6ae31b7febd..822fca385dc 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -54,6 +54,15 @@ GLOBAL_LIST_EMPTY(roundstart_races) var/datum/action/innate/flight/fly //the actual flying ability given to flying species var/wings_icon = "Angel" //the icon used for the wings + /// The natural temperature for a body + var/bodytemp_normal = BODYTEMP_NORMAL + /// Minimum amount of kelvin moved toward normal body temperature per tick. + var/bodytemp_autorecovery_min = BODYTEMP_AUTORECOVERY_MINIMUM + /// The body temperature limit the body can take before it starts taking damage from heat. + var/bodytemp_heat_damage_limit = BODYTEMP_HEAT_DAMAGE_LIMIT + /// The body temperature limit the body can take before it starts taking damage from cold. + var/bodytemp_cold_damage_limit = BODYTEMP_COLD_DAMAGE_LIMIT + // species-only traits. Can be found in DNA.dm var/list/species_traits = list() // generic traits tied to having the species @@ -86,6 +95,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) //Think magic mirror and pride mirror, slime extract, ERT etc, see defines //in __DEFINES/mobs.dm, defaults to NONE, so people actually have to think about it var/changesource_flags = NONE + /////////// // PROCS // /////////// @@ -1605,55 +1615,81 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(HAS_TRAIT(H, TRAIT_NOBREATH)) return TRUE +////////////////////////// +// ENVIRONMENT HANDLERS // +////////////////////////// +/// Handle the environment for species /datum/species/proc/handle_environment(datum/gas_mixture/environment, mob/living/carbon/human/H) - if(!environment) - return - if(istype(H.loc, /obj/machinery/atmospherics/components/unary/cryo_cell)) - return + var/areatemp = H.get_temperature(environment) + var/natural = 0 // Body temperature stability have the body try and normalize on it's own - var/loc_temp = H.get_temperature(environment) + if(H.stat != DEAD) // If you are dead your body does not stabilize naturally + natural = natural_bodytemperature_stabilization(H) - //Body temperature is adjusted in two parts: first there your body tries to naturally preserve homeostasis (shivering/sweating), then it reacts to the surrounding environment - //Thermal protection (insulation) has mixed benefits in two situations (hot in hot places, cold in hot places) - if(!H.on_fire) //If you're on fire, you do not heat up or cool down based on surrounding gases - var/natural = 0 - if(H.stat != DEAD) - natural = H.natural_bodytemperature_stabilization() - var/thermal_protection = 1 - if(loc_temp < H.bodytemperature) //Place is colder than we are - thermal_protection -= H.get_cold_protection(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. - if(H.bodytemperature < BODYTEMP_NORMAL) //we're cold, insulation helps us retain body heat and will reduce the heat we lose to the environment - H.adjust_bodytemperature((thermal_protection+1)*natural + max(thermal_protection * (loc_temp - H.bodytemperature) / BODYTEMP_COLD_DIVISOR, BODYTEMP_COOLING_MAX)) - else //we're sweating, insulation hinders our ability to reduce heat - and it will reduce the amount of cooling you get from the environment - H.adjust_bodytemperature(natural*(1/(thermal_protection+1)) + max((thermal_protection * (loc_temp - H.bodytemperature) + BODYTEMP_NORMAL - H.bodytemperature) / BODYTEMP_COLD_DIVISOR , BODYTEMP_COOLING_MAX)) //Extra calculation for hardsuits to bleed off heat - if (loc_temp > H.bodytemperature) //Place is hotter than we are - var/natural = 0 - if(H.stat != DEAD) - natural = H.natural_bodytemperature_stabilization() - var/thermal_protection = 1 - thermal_protection -= H.get_heat_protection(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. - if(H.bodytemperature < BODYTEMP_NORMAL) //and we're cold, insulation enhances our ability to retain body heat but reduces the heat we get from the environment - H.adjust_bodytemperature((thermal_protection+1)*natural + min(thermal_protection * (loc_temp - H.bodytemperature) / BODYTEMP_HEAT_DIVISOR, BODYTEMP_HEATING_MAX)) - else //we're sweating, insulation hinders out ability to reduce heat - but will reduce the amount of heat we get from the environment - H.adjust_bodytemperature(natural*(1/(thermal_protection+1)) + min(thermal_protection * (loc_temp - H.bodytemperature) / BODYTEMP_HEAT_DIVISOR, BODYTEMP_HEATING_MAX)) + /// Get the mobs thermal protection and environmental change + var/thermal_protection = 1 // The inverse of the amount of protection + var/environment_change = 0 // The amount of change the from the enviroment + var/natural_change = 0 // The amount that natural stabilization changes after applying thermal protection - // +/- 50 degrees from 310K is the 'safe' zone, where no damage is dealt. - if(H.bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT && !HAS_TRAIT(H, TRAIT_RESISTHEAT)) - //Body temperature is too hot. + if(areatemp > H.bodytemperature) // It is hot here + thermal_protection -= H.get_heat_protection(areatemp) // Get the thermal protection of the mob + environment_change = min(thermal_protection * (areatemp - H.bodytemperature) / BODYTEMP_HEAT_DIVISOR, \ + BODYTEMP_HEATING_MAX) + if(H.bodytemperature < bodytemp_normal) + // Our bodytemp is below normal, insulation helps us retain body heat + // and will reduce the heat we lose to the environment + natural_change = (thermal_protection + 1) * natural + else + // Our bodytemp is above normal and sweating, insulation hinders out ability to reduce heat + // but will reduce the amount of heat we get from the environment + natural_change = (1 / (thermal_protection + 1)) * natural + + else // It is cold here + thermal_protection -= H.get_cold_protection(areatemp) // Get the thermal protection of the mob + + if(!H.on_fire) // If we are on fire ignore local temperature in cold areas + if(H.bodytemperature < bodytemp_normal) + // Our bodytemp is below normal, insulation helps us retain body heat + // and will reduce the heat we lose to the environment + natural_change = (thermal_protection + 1) * natural + // How much the environment cools the mob with thermal protection + environment_change = max(thermal_protection * (areatemp - H.bodytemperature) / BODYTEMP_COLD_DIVISOR, \ + BODYTEMP_COOLING_MAX) + else + // Our bodytemp is above normal and sweating, insulation hinders out ability to reduce heat + // but will reduce the amount of heat we get from the environment + natural_change = (1 / (thermal_protection + 1)) * natural + // How much the environment cools the mob with thermal protection + // Extra calculation for hardsuits to bleed off heat + environment_change = max((thermal_protection * (areatemp - H.bodytemperature) + bodytemp_normal - \ + H.bodytemperature) / BODYTEMP_COLD_DIVISOR, BODYTEMP_COOLING_MAX) + + // Apply the temperature changes, combining natual and enviromental changes + H.adjust_bodytemperature(natural_change + environment_change) + +/// Handle the body temperature status effects for the species +/// Traits for resitance to heat or cold are handled here. +/datum/species/proc/handle_body_temperature(mob/living/carbon/human/H) + // Body temperature is too hot, and we do not have resist traits + if(H.bodytemperature > bodytemp_heat_damage_limit && !HAS_TRAIT(H, TRAIT_RESISTHEAT)) + // Clear cold mood and apply hot mood SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "cold") SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "hot", /datum/mood_event/hot) + // Remove any slow down from the cold H.remove_movespeed_modifier(MOVESPEED_ID_COLD) - var/burn_damage + var/burn_damage = 0 var/firemodifier = H.fire_stacks / 50 - if (H.on_fire) - burn_damage = max(log(2-firemodifier,(H.bodytemperature-BODYTEMP_NORMAL))-5,0) - else + if (!H.on_fire) // We are not on fire, reduce the modifier firemodifier = min(firemodifier, 0) - burn_damage = max(log(2-firemodifier,(H.bodytemperature-BODYTEMP_NORMAL))-5,0) // this can go below 5 at log 2.5 + + // this can go below 5 at log 2.5 + burn_damage = max(log(2 - firemodifier, (H.bodytemperature - bodytemp_normal)) - 5,0) + + // Display alerts based on the amount of fire damage being taken if (burn_damage) switch(burn_damage) if(0 to 2) @@ -1662,55 +1698,116 @@ GLOBAL_LIST_EMPTY(roundstart_races) H.throw_alert("temp", /obj/screen/alert/hot, 2) else H.throw_alert("temp", /obj/screen/alert/hot, 3) + + // Apply species and physiology modifiers to heat damage burn_damage = burn_damage * heatmod * H.physiology.heat_mod - if (H.stat < UNCONSCIOUS && (prob(burn_damage) * 10) / 4) //40% for level 3 damage on humans + + // 40% for level 3 damage on humans to scream in pain + if (H.stat < UNCONSCIOUS && (prob(burn_damage) * 10) / 4) H.emote("scream") + + // Apply the damage to all body parts H.apply_damage(burn_damage, BURN, spread_damage = TRUE) - else if(H.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT && !HAS_TRAIT(H, TRAIT_RESISTCOLD)) + // Body temperature is too cold, and we do not have resist traits + else if(H.bodytemperature < bodytemp_cold_damage_limit && !HAS_TRAIT(H, TRAIT_RESISTCOLD)) + // clear any hot moods and apply cold mood SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "hot") SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "cold", /datum/mood_event/cold) - //Sorry for the nasty oneline but I don't want to assign a variable on something run pretty frequently - H.add_movespeed_modifier(MOVESPEED_ID_COLD, override = TRUE, multiplicative_slowdown = ((BODYTEMP_COLD_DAMAGE_LIMIT - H.bodytemperature) / COLD_SLOWDOWN_FACTOR), blacklisted_movetypes = FLOATING) + + // Apply cold slow down + H.add_movespeed_modifier(MOVESPEED_ID_COLD, override = TRUE, \ + multiplicative_slowdown = ((bodytemp_cold_damage_limit - H.bodytemperature) / COLD_SLOWDOWN_FACTOR), \ + blacklisted_movetypes = FLOATING) + + // Display alerts based on the amount of cold damage being taken + // Apply more damage based on how cold you are switch(H.bodytemperature) - if(200 to BODYTEMP_COLD_DAMAGE_LIMIT) + if(200 to bodytemp_cold_damage_limit) H.throw_alert("temp", /obj/screen/alert/cold, 1) - H.apply_damage(COLD_DAMAGE_LEVEL_1*coldmod*H.physiology.cold_mod, BURN) + H.apply_damage(COLD_DAMAGE_LEVEL_1 * coldmod * H.physiology.cold_mod, BURN) if(120 to 200) H.throw_alert("temp", /obj/screen/alert/cold, 2) - H.apply_damage(COLD_DAMAGE_LEVEL_2*coldmod*H.physiology.cold_mod, BURN) + H.apply_damage(COLD_DAMAGE_LEVEL_2 * coldmod * H.physiology.cold_mod, BURN) else H.throw_alert("temp", /obj/screen/alert/cold, 3) - H.apply_damage(COLD_DAMAGE_LEVEL_3*coldmod*H.physiology.cold_mod, BURN) + H.apply_damage(COLD_DAMAGE_LEVEL_3 * coldmod * H.physiology.cold_mod, BURN) + // We are not to hot or cold, remove status and moods else H.clear_alert("temp") H.remove_movespeed_modifier(MOVESPEED_ID_COLD) SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "cold") SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "hot") +/// Handle the air pressure of the environment +/datum/species/proc/handle_environment_pressure(datum/gas_mixture/environment, mob/living/carbon/human/H) var/pressure = environment.return_pressure() - var/adjusted_pressure = H.calculate_affecting_pressure(pressure) //Returns how much pressure actually affects the mob. + var/adjusted_pressure = H.calculate_affecting_pressure(pressure) + + // Set alerts and apply damage based on the amount of pressure switch(adjusted_pressure) + + // Very high pressure, show an alert and take damage if(HAZARD_HIGH_PRESSURE to INFINITY) if(!HAS_TRAIT(H, TRAIT_RESISTHIGHPRESSURE)) - H.adjustBruteLoss(min(((adjusted_pressure / HAZARD_HIGH_PRESSURE) -1 ) * PRESSURE_DAMAGE_COEFFICIENT, MAX_HIGH_PRESSURE_DAMAGE) * H.physiology.pressure_mod) + H.adjustBruteLoss(min(((adjusted_pressure / HAZARD_HIGH_PRESSURE) -1 ) * \ + PRESSURE_DAMAGE_COEFFICIENT, MAX_HIGH_PRESSURE_DAMAGE) * H.physiology.pressure_mod) H.throw_alert("pressure", /obj/screen/alert/highpressure, 2) else H.clear_alert("pressure") + + // High pressure, show an alert if(WARNING_HIGH_PRESSURE to HAZARD_HIGH_PRESSURE) H.throw_alert("pressure", /obj/screen/alert/highpressure, 1) + + // No pressure issues here clear pressure alerts if(WARNING_LOW_PRESSURE to WARNING_HIGH_PRESSURE) H.clear_alert("pressure") + + // Low pressure here, show an alert if(HAZARD_LOW_PRESSURE to WARNING_LOW_PRESSURE) - H.throw_alert("pressure", /obj/screen/alert/lowpressure, 1) + // We have low pressure resit trait, clear alerts + if(HAS_TRAIT(H, TRAIT_RESISTLOWPRESSURE)) + H.clear_alert("pressure") + else + H.throw_alert("pressure", /obj/screen/alert/lowpressure, 1) + + // Very low pressure, show an alert and take damage else + // We have low pressure resit trait, clear alerts if(HAS_TRAIT(H, TRAIT_RESISTLOWPRESSURE)) H.clear_alert("pressure") else H.adjustBruteLoss(LOW_PRESSURE_DAMAGE * H.physiology.pressure_mod) H.throw_alert("pressure", /obj/screen/alert/lowpressure, 2) +/// Used to stabilize the body temperature back to normal on living mobs +/// Returns the amount of degrees kelvin to change the body temperature +/datum/species/proc/natural_bodytemperature_stabilization(mob/living/carbon/human/H) + var/body_temp = H.bodytemperature // Get current body temperature + var/body_temperature_difference = bodytemp_normal - body_temp + + // We are very cold, increate body temperature + if(body_temp <= bodytemp_cold_damage_limit) + return max((body_temperature_difference * H.metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR), \ + bodytemp_autorecovery_min) + + // we are cold, reduce the minimum increment and do not jump over the difference + if(body_temp > bodytemp_cold_damage_limit && body_temp < bodytemp_normal) + return max(body_temperature_difference * H.metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR, \ + min(body_temperature_difference, bodytemp_autorecovery_min / 4)) + + // We are hot, reduce the minimum increment and do not jump below the difference + if(body_temp > bodytemp_normal && body_temp <= bodytemp_heat_damage_limit) + return min(body_temperature_difference * H.metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR, \ + max(body_temperature_difference, -(bodytemp_autorecovery_min / 4))) + + // We are very hot, reduce the body temperature + if(body_temp >= bodytemp_heat_damage_limit) + return min((body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR), -bodytemp_autorecovery_min) + + ////////// // FIRE // ////////// diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm index debb99f61d1..a7376302ed8 100644 --- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm +++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm @@ -20,6 +20,11 @@ inherent_traits = list(TRAIT_NOHUNGER) sexes = FALSE //no fetish content allowed toxic_food = NONE + // Body temperature for ethereals is much higher then humans as they like hotter environments + bodytemp_normal = (BODYTEMP_NORMAL + 50) + bodytemp_heat_damage_limit = FIRE_MINIMUM_TEMPERATURE_TO_SPREAD // about 150C + // Cold temperatures hurt faster as it is harder to move with out the heat energy + bodytemp_cold_damage_limit = (T20C - 10) // about 10c var/current_color var/EMPeffect = FALSE var/emageffect = FALSE @@ -31,7 +36,6 @@ var/static/b2 = 149 //this is shit but how do i fix it? no clue. - /datum/species/ethereal/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) .=..() if(ishuman(C)) diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm index 56bf72b996e..d0831543da4 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -25,6 +25,13 @@ deathsound = 'sound/voice/lizard/deathsound.ogg' wings_icon = "Dragon" species_language_holder = /datum/language_holder/lizard + // Lizards are coldblooded and can stand a greater temperature range than humans + bodytemp_heat_damage_limit = (BODYTEMP_HEAT_DAMAGE_LIMIT + 20) // This puts lizards 10 above lavaland max heat for ash lizards. + bodytemp_cold_damage_limit = (BODYTEMP_COLD_DAMAGE_LIMIT - 10) + +/// Lizards are cold blooded and do not stabilize body temperature naturally +/datum/species/lizard/natural_bodytemperature_stabilization(mob/living/carbon/human/H) + return 0 /datum/species/lizard/random_name(gender,unique,lastname) if(unique) diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm index 65484b964c3..03ed5b82756 100644 --- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm +++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm @@ -23,6 +23,15 @@ outfit_important_for_life = /datum/outfit/plasmaman species_language_holder = /datum/language_holder/skeleton + // Body temperature for Plasmen is much lower human as they can handle colder environments + bodytemp_normal = (BODYTEMP_NORMAL - 40) + // The minimum amount they stabilize per tick is reduced making hot areas harder to deal with + bodytemp_autorecovery_min = 2 + // They are hurt at hot temps faster as it is harder to hold their form + bodytemp_heat_damage_limit = (BODYTEMP_HEAT_DAMAGE_LIMIT - 20) // about 40C + // This effects how fast body temp stabilizes, also if cold resit is lost on the mob + bodytemp_cold_damage_limit = (BODYTEMP_COLD_DAMAGE_LIMIT - 50) // about -50c + /datum/species/plasmaman/spec_life(mob/living/carbon/human/H) var/datum/gas_mixture/environment = H.loc.return_air() var/atmos_sealed = FALSE diff --git a/code/modules/mob/living/carbon/human/species_types/zombies.dm b/code/modules/mob/living/carbon/human/species_types/zombies.dm index ef5f8546502..cf361d73d80 100644 --- a/code/modules/mob/living/carbon/human/species_types/zombies.dm +++ b/code/modules/mob/living/carbon/human/species_types/zombies.dm @@ -15,6 +15,9 @@ disliked_food = NONE liked_food = GROSS | MEAT | RAW changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | ERT_SPAWN + bodytemp_normal = T0C // They have no natural body heat, the environment regulates body temp + bodytemp_heat_damage_limit = FIRE_MINIMUM_TEMPERATURE_TO_EXIST // Take damage at fire temp + bodytemp_cold_damage_limit = MINIMUM_TEMPERATURE_TO_MOVE // take damage below minimum movement temp /datum/species/zombie/check_roundstart_eligible() if(SSevents.holidays && SSevents.holidays[HALLOWEEN]) @@ -33,10 +36,13 @@ var/regen_cooldown = 0 changesource_flags = MIRROR_BADMIN | WABBAJACK | ERT_SPAWN +/// Zombies do not stabilize body temperature they are the walking dead and are cold blooded +/datum/species/zombie/natural_bodytemperature_stabilization(mob/living/carbon/human/H) + return 0 + /datum/species/zombie/infectious/check_roundstart_eligible() return FALSE - /datum/species/zombie/infectious/spec_stun(mob/living/carbon/human/H,amount) . = min(20, amount) @@ -80,7 +86,6 @@ infection = new() infection.Insert(C) - // Your skin falls off /datum/species/krokodil_addict name = "Human" diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 72200d457e6..5cad858962b 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -567,18 +567,79 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put if(drunkenness >= 101) adjustToxLoss(2) //Let's be honest you shouldn't be alive by now -//used in human and monkey handle_environment() +/// Base carbon environment handler, adds natural stabilization +/mob/living/carbon/handle_environment(datum/gas_mixture/environment) + var/areatemp = get_temperature(environment) + var/natural = 0 // Have the body regulate it's own temperature + + if(stat != DEAD) // If you are dead your body does not stabilize naturally + natural = natural_bodytemperature_stabilization() + + /// Get the mobs thermal protection and environmental change + var/thermal_protection = 1 // The inverse of the amount of protection + var/environment_change = 0 // The amount of change the from the enviroment + var/natural_change = 0 // The amount that natural stabilization changes after applying thermal protection + + if(areatemp > bodytemperature) // It is hot here + thermal_protection -= get_heat_protection(areatemp) // Get the thermal protection of the mob + environment_change = min(thermal_protection * (areatemp - bodytemperature) / BODYTEMP_HEAT_DIVISOR, BODYTEMP_HEATING_MAX) + if(bodytemperature < BODYTEMP_NORMAL) + // Our bodytemp is below normal we are cold, insulation helps us retain body heat + // and will reduce the heat we lose to the environment + natural_change = (thermal_protection + 1) * natural + else + // Our bodytemp is above normal and sweating, insulation hinders out ability to reduce heat + // but will reduce the amount of heat we get from the environment + natural_change = (1 / (thermal_protection + 1)) * natural + else // It is cold here + thermal_protection -= get_cold_protection(areatemp) // Get the thermal protection of the mob + if(!on_fire) // If on fire ignore ignore local temperature in cold areas + environment_change = max(thermal_protection * (areatemp - bodytemperature) / BODYTEMP_COLD_DIVISOR, BODYTEMP_COOLING_MAX) + if(bodytemperature < BODYTEMP_NORMAL) + // Our bodytemp is below normal, insulation helps us retain body heat + // and will reduce the heat we lose to the environment + natural_change = (thermal_protection + 1) * natural + else + // Our bodytemp is above normal and sweating, insulation hinders out ability to reduce heat + // but will reduce the amount of heat we get from the environment + natural_change = (1 / (thermal_protection + 1)) * natural + + // Apply the temperature changes, combining natual and enviromental changes + adjust_bodytemperature(natural_change + environment_change) + +/// Used to stabilize the body temperature back to normal on living mobs +/// Returns the amount of degrees kelvin to change the body temperature /mob/living/carbon/proc/natural_bodytemperature_stabilization() var/body_temperature_difference = BODYTEMP_NORMAL - bodytemperature - switch(bodytemperature) - if(-INFINITY to BODYTEMP_COLD_DAMAGE_LIMIT) //Cold damage limit is 50 below the default, the temperature where you start to feel effects. - return max((body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR), BODYTEMP_AUTORECOVERY_MINIMUM) - if(BODYTEMP_COLD_DAMAGE_LIMIT to BODYTEMP_NORMAL) - return max(body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR, min(body_temperature_difference, BODYTEMP_AUTORECOVERY_MINIMUM/4)) - if(BODYTEMP_NORMAL to BODYTEMP_HEAT_DAMAGE_LIMIT) // Heat damage limit is 50 above the default, the temperature where you start to feel effects. - return min(body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR, max(body_temperature_difference, -BODYTEMP_AUTORECOVERY_MINIMUM/4)) - if(BODYTEMP_HEAT_DAMAGE_LIMIT to INFINITY) - return min((body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR), -BODYTEMP_AUTORECOVERY_MINIMUM) //We're dealing with negative numbers + + // We are very cold, increate body temperature + if(bodytemperature <= BODYTEMP_COLD_DAMAGE_LIMIT) + return max((body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR), \ + BODYTEMP_AUTORECOVERY_MINIMUM) + + // we are cold, reduce the minimum increment and do not jump over the difference + if(bodytemperature > BODYTEMP_COLD_DAMAGE_LIMIT && bodytemperature < BODYTEMP_NORMAL) + return max(body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR, \ + min(body_temperature_difference, BODYTEMP_AUTORECOVERY_MINIMUM / 4)) + + // We are hot, reduce the minimum increment and do not jump below the difference + if(bodytemperature > BODYTEMP_NORMAL && bodytemperature <= BODYTEMP_HEAT_DAMAGE_LIMIT) + return min(body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR, \ + max(body_temperature_difference, -(BODYTEMP_AUTORECOVERY_MINIMUM / 4))) + + // We are very hot, reduce the body temperature + if(bodytemperature >= BODYTEMP_HEAT_DAMAGE_LIMIT) + return min((body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR), -BODYTEMP_AUTORECOVERY_MINIMUM) + +/// This returns the percentage of protection from heat as a value from 0 - 1 +/// temperature is the temperature you're being exposed to +/mob/living/carbon/proc/get_heat_protection(temperature) + return heat_protection + +/// This returns the percentage of protection from cold as a value from 0 - 1 +/// temperature is the temperature you're being exposed to +/mob/living/carbon/proc/get_cold_protection(temperature) + return cold_protection ///////// //LIVER// diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm index ad54eb08a19..f9a0f9443ef 100644 --- a/code/modules/mob/living/carbon/monkey/life.dm +++ b/code/modules/mob/living/carbon/monkey/life.dm @@ -68,20 +68,9 @@ . = ..() // interact with body heat after dealing with the hot air /mob/living/carbon/monkey/handle_environment(datum/gas_mixture/environment) - if(!environment) - return - - var/loc_temp = get_temperature(environment) - - if(stat != DEAD) - adjust_bodytemperature(natural_bodytemperature_stabilization()) - - if(!on_fire) //If you're on fire, you do not heat up or cool down based on surrounding gases - if(loc_temp < bodytemperature) - adjust_bodytemperature(max((loc_temp - bodytemperature) / BODYTEMP_COLD_DIVISOR, BODYTEMP_COOLING_MAX)) - else - adjust_bodytemperature(min((loc_temp - bodytemperature) / BODYTEMP_HEAT_DIVISOR, BODYTEMP_HEATING_MAX)) - + // Run base mob body temperature proc before taking damage + // this balances body temp to the enviroment and natural stabilization + . = ..() if(bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT && !HAS_TRAIT(src, TRAIT_RESISTHEAT)) switch(bodytemperature) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index b1c48aa8c90..946aab7babe 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -1,3 +1,6 @@ +/// This divisor controls how fast body temperature changes to match the environment +#define BODYTEMP_DIVISOR 8 + /mob/living/proc/Life(seconds, times_fired) set waitfor = FALSE set invisibility = 0 @@ -83,8 +86,15 @@ /mob/living/proc/handle_random_events() return +// Base mob environment handler for body temperature /mob/living/proc/handle_environment(datum/gas_mixture/environment) - return + var/loc_temp = get_temperature(environment) + + if(loc_temp < bodytemperature) // it is cold here + if(!on_fire) // do not reduce body temp when on fire + adjust_bodytemperature(max((loc_temp - bodytemperature) / BODYTEMP_DIVISOR, BODYTEMP_COOLING_MAX)) + else // this is a hot place + adjust_bodytemperature(min((loc_temp - bodytemperature) / BODYTEMP_DIVISOR, BODYTEMP_HEATING_MAX)) /mob/living/proc/handle_fire() if(fire_stacks < 0) //If we've doused ourselves in water to avoid fire, dry off slowly @@ -143,3 +153,5 @@ if(gravity >= GRAVITY_DAMAGE_TRESHOLD) //Aka gravity values of 3 or more var/grav_stregth = gravity - GRAVITY_DAMAGE_TRESHOLD adjustBruteLoss(min(grav_stregth,3)) + +#undef BODYTEMP_DIVISOR diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm index f854e46ef2c..68a098aad57 100644 --- a/code/modules/mob/living/simple_animal/slime/life.dm +++ b/code/modules/mob/living/simple_animal/slime/life.dm @@ -108,14 +108,17 @@ AIproc = 0 /mob/living/simple_animal/slime/handle_environment(datum/gas_mixture/environment) - if(!environment) - return - var/loc_temp = get_temperature(environment) + var/divisor = 10 /// The divisor controls how fast body temperature changes, lower causes faster changes - adjust_bodytemperature(adjust_body_temperature(bodytemperature, loc_temp, 1)) + if(abs(loc_temp - bodytemperature) > 50) // If the difference is great, reduce the divisor for faster stabilization + divisor = 5 - //Account for massive pressure differences + if(loc_temp < bodytemperature) // It is cold here + if(!on_fire) // Do not reduce body temp when on fire + adjust_bodytemperature((loc_temp - bodytemperature) / divisor) + else // This is a hot place + adjust_bodytemperature((loc_temp - bodytemperature) / divisor) if(bodytemperature < (T0C + 5)) // start calculating temperature damage etc if(bodytemperature <= (T0C - 40)) // stun temperature @@ -126,7 +129,6 @@ adjustBruteLoss(200) else adjustBruteLoss(round(sqrt(bodytemperature)) * 2) - else Tempstun = 0 @@ -151,26 +153,8 @@ updatehealth() - return //TODO: DEFERRED -/mob/living/simple_animal/slime/proc/adjust_body_temperature(current, loc_temp, boost) - var/temperature = current - var/difference = abs(current-loc_temp) //get difference - var/increments// = difference/10 //find how many increments apart they are - if(difference > 50) - increments = difference/5 - else - increments = difference/10 - var/change = increments*boost // Get the amount to change by (x per increment) - var/temp_change - if(current < loc_temp) - temperature = min(loc_temp, temperature+change) - else if(current > loc_temp) - temperature = max(loc_temp, temperature-change) - temp_change = (temperature - current) - return temp_change - /mob/living/simple_animal/slime/handle_status_effects() ..() if(prob(30) && !stat) diff --git a/code/modules/mob/living/simple_animal/status_procs.dm b/code/modules/mob/living/simple_animal/status_procs.dm index 62a262f9e60..c5f0c8cb4b9 100644 --- a/code/modules/mob/living/simple_animal/status_procs.dm +++ b/code/modules/mob/living/simple_animal/status_procs.dm @@ -8,8 +8,6 @@ /mob/living/simple_animal/set_blindness() return - - /mob/living/simple_animal/blur_eyes() return @@ -19,7 +17,5 @@ /mob/living/simple_animal/set_blurriness() return - - /mob/living/simple_animal/become_blind() return From f43a4a6a4b025c86d28d94fb978cc127cc144e0e Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Thu, 16 Jan 2020 11:30:28 -0800 Subject: [PATCH 067/124] Automatic changelog generation for PR #48569 [ci skip] --- html/changelogs/AutoChangeLog-pr-48569.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48569.yml diff --git a/html/changelogs/AutoChangeLog-pr-48569.yml b/html/changelogs/AutoChangeLog-pr-48569.yml new file mode 100644 index 00000000000..1fea3d13f9f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48569.yml @@ -0,0 +1,7 @@ +author: "nightred" +delete-after: True +changes: + - rscadd: "Species body temperature handling" + - balance: "Plasmamen, Lizardpeople, Ethereal have custom body temperatures to deal with" + - bugfix: "natural body temp stabilization now returns proper values" + - refactor: "clean up of the environment handles for mobs and species" From 90fe68763dbc4bf9c15723d0c6def567100d5df6 Mon Sep 17 00:00:00 2001 From: cacogen <25089914+cacogen@users.noreply.github.com> Date: Thu, 16 Jan 2020 13:23:39 +1300 Subject: [PATCH 068/124] Less wayfinder pinpointers from dispenser --- .../subsystem/processing/quirks.dm | 3 +- code/datums/traits/neutral.dm | 3 + code/game/objects/items/wayfinding.dm | 135 +++++++++++++++--- icons/obj/machines/wayfinding.dmi | Bin 0 -> 982 bytes 4 files changed, 124 insertions(+), 17 deletions(-) create mode 100644 icons/obj/machines/wayfinding.dmi diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm index 55715325859..365b2320d7e 100644 --- a/code/controllers/subsystem/processing/quirks.dm +++ b/code/controllers/subsystem/processing/quirks.dm @@ -1,3 +1,4 @@ +#define EXP_ASSIGN_WAYFINDER 1200 //Used to process and handle roundstart quirks // - Quirk strings are used for faster checking in code // - Quirk datums are stored and hold different effects, as well as being a vector for applying trait string @@ -43,5 +44,5 @@ PROCESSING_SUBSYSTEM_DEF(quirks) cli.prefs.save_character() // Assign wayfinding pinpointer granting quirk if they're new - if(cli.get_exp_living(TRUE) < 1200 && !user.has_quirk(/datum/quirk/needswayfinder)) + if(cli.get_exp_living(TRUE) < EXP_ASSIGN_WAYFINDER && !user.has_quirk(/datum/quirk/needswayfinder)) user.add_quirk(/datum/quirk/needswayfinder, TRUE) diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index 0f86aa5b9c1..853587888ff 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -150,6 +150,9 @@ var/mob/living/carbon/human/H = quirk_holder wayfinder = new /obj/item/pinpointer/wayfinding + wayfinder.owner = H.real_name + wayfinder.roundstart = TRUE + var/list/slots = list( "in your left pocket" = ITEM_SLOT_LPOCKET, "in your right pocket" = ITEM_SLOT_RPOCKET, diff --git a/code/game/objects/items/wayfinding.dm b/code/game/objects/items/wayfinding.dm index f223d3fb338..2e8a11052eb 100644 --- a/code/game/objects/items/wayfinding.dm +++ b/code/game/objects/items/wayfinding.dm @@ -1,32 +1,135 @@ /obj/machinery/pinpointer_dispenser - name = "wayfinding pinpointer dispenser" - icon = 'icons/obj/bureaucracy.dmi' - icon_state = "ticketmachine" - desc = "Having trouble finding your way? This machine dispenses pinpointers that point to common locations." + name = "wayfinding pinpointer synthesizer" + icon = 'icons/obj/machines/wayfinding.dmi' + icon_state = "pinpointersynth" + desc = "Having trouble finding your way? This machine synthesizes pinpointers that point to common locations." density = FALSE layer = HIGH_OBJ_LAYER - var/list/obj/item/pinpointer/wayfinding/pinpointers = list() - var/spawn_cooldown = 1200 //deciseconds per person to spawn another pinpointer + var/list/user_spawn_cooldowns = list() + var/list/user_interact_cooldowns = list() + var/spawn_cooldown = 5 MINUTES //time per person to spawn another pinpointer + var/interact_cooldown = 20 SECONDS //time per person for subsequent interactions + var/start_bal = 200 //how much money it starts with to cover wayfinder refunds + var/refund_amt = 40 //how much money recycling a pinpointer rewards you + var/datum/bank_account/synth_acc = new /datum/bank_account/remote + var/ppt_cost = 65 //Jan 6 '20: Assistant can buy one roundstart (125 cr starting) + var/expression_timer + +/obj/machinery/pinpointer_dispenser/Initialize(mapload) + ..() + var/datum/bank_account/civ_acc = SSeconomy.get_dep_account(ACCOUNT_CIV) + if(civ_acc) + synth_acc.transfer_money(civ_acc, start_bal) //float has to come from somewhere, right? + + synth_acc.account_holder = name + + desc += " Only [ppt_cost] credits! It also likes making costumes..." + + set_expression("neutral") /obj/machinery/pinpointer_dispenser/attack_hand(mob/living/carbon/user) - if(world.time < pinpointers[user.real_name]) - var/secsleft = (pinpointers[user.real_name] - world.time) / 10 - to_chat(user, "You need to wait [secsleft/60 > 1 ? "[round(secsleft/60)] minute\s" : "[round(secsleft)] second\s"].") + if(world.time < user_interact_cooldowns[user.real_name]) + to_chat(user, "It doesn't respond.") return - to_chat(user, "You take a pinpointer from [src].") + user_interact_cooldowns[user.real_name] = world.time + interact_cooldown - var/obj/item/pinpointer/wayfinding/P = new /obj/item/pinpointer/wayfinding(get_turf(src)) - user.put_in_hands(P) - P.owner = user.real_name - pinpointers[user.real_name] = world.time + spawn_cooldown + for(var/obj/item/pinpointer/wayfinding/WP in user.GetAllContents()) + set_expression("unsure", 2 SECONDS) + say("I can detect the pinpointer on you, [user.first_name()].") + user_spawn_cooldowns[user.real_name] = world.time + spawn_cooldown //spawn timer resets for trickers + return -/obj/item/pinpointer/wayfinding //For new players or new stations to help players find their way around + var/msg + var/dispense = TRUE + var/obj/item/pinpointer/wayfinding/pointat + for(var/obj/item/pinpointer/wayfinding/WP in range(7, user)) + if(WP.Adjacent(user)) + set_expression("facepalm", 2 SECONDS) + say("[WP.owner == user.real_name ? "Your" : "A"] pinpointer is right there.") + pointat(WP) + user_spawn_cooldowns[user.real_name] = world.time + spawn_cooldown + return + else if(WP in oview(7, user)) + pointat = WP + break + + if(world.time < user_spawn_cooldowns[user.real_name]) + var/secsleft = (user_spawn_cooldowns[user.real_name] - world.time) / 10 + msg += "to wait another [secsleft/60 > 1 ? "[round(secsleft/60,1)] minute\s" : "[round(secsleft)] second\s"]" + dispense = FALSE + + var/datum/bank_account/cust_acc = null + if(ishuman(user)) + var/mob/living/carbon/human/H = user + if(H.get_bank_account()) + cust_acc = H.get_bank_account() + + if(cust_acc) + if(!cust_acc.has_money(ppt_cost)) + msg += "[!msg ? "to find [ppt_cost-cust_acc.account_balance] more credit\s" : " and find [ppt_cost-cust_acc.account_balance] more credit\s"]" + dispense = FALSE + + if(!dispense) + set_expression("sad", 2 SECONDS) + if(pointat) + msg += ". I suggest you get [pointat.owner == user.real_name ? "your" : "that"] pinpointer over there instead" + pointat(pointat) + say("You will need [msg], [user.first_name()].") + return + + if(synth_acc.transfer_money(cust_acc, ppt_cost)) + set_expression("veryhappy", 2 SECONDS) + say("That is [ppt_cost] credits. Here is your pinpointer.") + var/obj/item/pinpointer/wayfinding/P = new /obj/item/pinpointer/wayfinding(get_turf(src)) + user_spawn_cooldowns[user.real_name] = world.time + spawn_cooldown + user.put_in_hands(P) + P.owner = user.real_name + +/obj/machinery/pinpointer_dispenser/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/pinpointer/wayfinding)) + var/obj/item/pinpointer/wayfinding/WP = I + to_chat(user, "You put \the [WP] in the return slot.") + var/rfnd_amt + if((!WP.roundstart || WP.owner != user.real_name) && synth_acc.has_money(TRUE)) //can't recycle own pinpointer for money if not bought; given by a neutral quirk + if(synth_acc.has_money(refund_amt)) + rfnd_amt = refund_amt + else + rfnd_amt = synth_acc.account_balance + synth_acc._adjust_money(-rfnd_amt) + var/obj/item/holochip/HC = new /obj/item/holochip(user.loc) + HC.credits = rfnd_amt + HC.name = "[HC.credits] credit holochip" + if(istype(user, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = user + H.put_in_hands(HC) + else + var/crap = pick(subtypesof(/obj/effect/spawner/bundle/costume)) //harmless garbage some people may appreciate + new crap(user.loc) + qdel(WP) + set_expression("happy", 2 SECONDS) + say("Thank you for recycling, [user.first_name()]! Here is [rfnd_amt ? "[rfnd_amt] credits." : "a freshly synthesized costume!"]") + +/obj/machinery/pinpointer_dispenser/proc/set_expression(type, duration) + cut_overlays() + deltimer(expression_timer) + add_overlay(type) + if(duration) + expression_timer = addtimer(CALLBACK(src, .proc/set_expression, "neutral"), duration, TIMER_STOPPABLE) + +/obj/machinery/pinpointer_dispenser/proc/pointat(atom) + visible_message("[src] points at [atom].") + new /obj/effect/temp_visual/point(atom,invisibility) + +//Pinpointer itself +/obj/item/pinpointer/wayfinding //Help players new to a station find their way around name = "wayfinding pinpointer" desc = "A handheld tracking device that points to useful places." icon_state = "pinpointer_crew" + resistance_flags = NONE var/owner = null var/list/beacons = list() + var/roundstart = FALSE /obj/item/pinpointer/wayfinding/attack_self(mob/living/user) if(active) @@ -70,6 +173,6 @@ if(!target) //target can be set to null from above code, or elsewhere active = FALSE +//Navbeacon that initialises with wayfinding codes /obj/machinery/navbeacon/wayfinding wayfinding = TRUE - diff --git a/icons/obj/machines/wayfinding.dmi b/icons/obj/machines/wayfinding.dmi new file mode 100644 index 0000000000000000000000000000000000000000..678b67231be2927d5febe9d8f2d7809f6fbef76b GIT binary patch literal 982 zcmV;{11bE8P)|Vc@rv zd{QXRtdHxltIvjMr)@*=xu=$1FaQ7la4|qVJw2p>WUe+-*O-c=BtzJomENP3l^;AA zRR6I60004WQchCV=-0C=2@kj)ChFc5^#$y0>( zD&il#d65?B!M?*{wkFV~A=xN-dlw6OQR;1m{bm`aRHx?LcB;O#@{S?e$*H3{tT$3T ztR}-|zmvkCy&0NKBp_s2cGKCb{hRBz#6n%gZXZ_|KCJHbtat6H5i&Szk z1^kY2V~qo3mes2IWFqLrzq~^JuR#x2^e~LSz*03`{aW@37I$ThpaQd+0006lNklwp`SQj`{4-v8N5($=(OBlP}o#(S7?!d!DtmMMH39U*^# zff1noL3pes3}6gQU;s>D1Z)TFIK-LMM^pa++d()q5CRE?CkBRKf>SM05JhnuCxnay zge2^36v-C$Iu}q4Z2_B})YCaE|L(e6L48k#{6A{`#ZuSKZ|DCi!5Z@aNG`xs*Up#uzB)r= z{wK`>ZFSB3p84Nh@0tJIbp$~W1VIoWT={+?nLa)}KfgTkp^w0k?|1vZ&b$Tod_S4Y zYo=BIl#e|Gu6)k~i;8Ty;M1&07*qoM6N<$ Ef-(TfSpWb4 literal 0 HcmV?d00001 From cce4c31c005f36915aef23f469af2ea630d06a52 Mon Sep 17 00:00:00 2001 From: OnlineGirlfriend <50865623+OnlineGirlfriend@users.noreply.github.com> Date: Thu, 16 Jan 2020 17:21:18 -0800 Subject: [PATCH 069/124] sausage can be sliced into salami (#48817) --- .../food_and_drinks/food/snacks_meat.dm | 10 ++++++++++ icons/obj/food/food.dmi | Bin 70945 -> 71305 bytes 2 files changed, 10 insertions(+) diff --git a/code/modules/food_and_drinks/food/snacks_meat.dm b/code/modules/food_and_drinks/food/snacks_meat.dm index 0a2efbe1e40..202bb9edf85 100644 --- a/code/modules/food_and_drinks/food/snacks_meat.dm +++ b/code/modules/food_and_drinks/food/snacks_meat.dm @@ -118,6 +118,8 @@ bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1) list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 1) tastes = list("meat" = 1) + slices_num = 6 + slice_path = /obj/item/reagent_containers/food/snacks/salami foodtype = MEAT | BREAKFAST var/roasted = FALSE @@ -125,6 +127,14 @@ . = ..() eatverb = pick("bite","chew","nibble","deep throat","gobble","chomp") +/obj/item/reagent_containers/food/snacks/salami + name = "salami" + desc = "A slice of cured salami." + icon_state = "salami" + list_reagents = list(/datum/reagent/consumable/nutriment = 1) + tastes = list("meat" = 1) + foodtype = MEAT + /obj/item/reagent_containers/food/snacks/rawkhinkali name = "raw khinkali" desc = "One hundred khinkalis? Do I look like a pig?" diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi index 18097dcf81f31fc4b26aa4f7ca8f13909eea96cf..f892ed17f0d76142f424418d45957ae36616d9ef 100644 GIT binary patch literal 71305 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 b@(Ux7s$VFFlR{?b0QlHhJ6XN3xETL$(ZK(k literal 70945 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 a+rR|i@1Ch<)oFr&$IBgiyvgnC)xQAEI9UDw From f20f737a887a537f199a17d8f3e3a72d61daa474 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Thu, 16 Jan 2020 17:21:22 -0800 Subject: [PATCH 070/124] Automatic changelog generation for PR #48817 [ci skip] --- html/changelogs/AutoChangeLog-pr-48817.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48817.yml diff --git a/html/changelogs/AutoChangeLog-pr-48817.yml b/html/changelogs/AutoChangeLog-pr-48817.yml new file mode 100644 index 00000000000..6529543a645 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48817.yml @@ -0,0 +1,4 @@ +author: "OnlineGirlfriend" +delete-after: True +changes: + - rscadd: "Sausages can be sliced into salami" From 725cb979d9deadde59a4ce531dbc0cad1f912409 Mon Sep 17 00:00:00 2001 From: Fikou Date: Fri, 17 Jan 2020 02:36:04 +0100 Subject: [PATCH 071/124] adds organs to the limbgrower (#48679) --- .../research/designs/limbgrower_designs.dm | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/code/modules/research/designs/limbgrower_designs.dm b/code/modules/research/designs/limbgrower_designs.dm index 882a65a299f..798e934875c 100644 --- a/code/modules/research/designs/limbgrower_designs.dm +++ b/code/modules/research/designs/limbgrower_designs.dm @@ -43,3 +43,67 @@ reagents_list = list(/datum/reagent/medicine/C2/instabitaluri = 75) build_path = /obj/item/melee/synthetic_arm_blade category = list("other","emagged") + +/datum/design/heart + name = "Heart" + id = "heart" + build_type = LIMBGROWER + reagents_list = list(/datum/reagent/medicine/C2/instabitaluri = 30) + build_path = /obj/item/organ/heart + category = list("other") + +/datum/design/lungs + name = "Lungs" + id = "lungs" + build_type = LIMBGROWER + reagents_list = list(/datum/reagent/medicine/C2/instabitaluri = 20) + build_path = /obj/item/organ/lungs + category = list("other") + +/datum/design/liver + name = "Liver" + id = "liver" + build_type = LIMBGROWER + reagents_list = list(/datum/reagent/medicine/C2/instabitaluri = 20) + build_path = /obj/item/organ/liver + category = list("other") + +/datum/design/stomach + name = "Stomach" + id = "stomach" + build_type = LIMBGROWER + reagents_list = list(/datum/reagent/medicine/C2/instabitaluri = 15) + build_path = /obj/item/organ/stomach + category = list("other") + +/datum/design/appendix + name = "Appendix" + id = "appendix" + build_type = LIMBGROWER + reagents_list = list(/datum/reagent/medicine/C2/instabitaluri = 5) //why would you need this + build_path = /obj/item/organ/appendix + category = list("other") + +/datum/design/eyes + name = "Eyes" + id = "eyes" + build_type = LIMBGROWER + reagents_list = list(/datum/reagent/medicine/C2/instabitaluri = 10) + build_path = /obj/item/organ/eyes + category = list("other") + +/datum/design/ears + name = "Ears" + id = "ears" + build_type = LIMBGROWER + reagents_list = list(/datum/reagent/medicine/C2/instabitaluri = 10) + build_path = /obj/item/organ/ears + category = list("other") + +/datum/design/tongue + name = "Tongue" + id = "tongue" + build_type = LIMBGROWER + reagents_list = list(/datum/reagent/medicine/C2/instabitaluri = 10) + build_path = /obj/item/organ/tongue + category = list("other") From c7c89f4aacbc2d9bf77bc9b1d260e8f4b29d7e09 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Thu, 16 Jan 2020 17:36:08 -0800 Subject: [PATCH 072/124] Automatic changelog generation for PR #48679 [ci skip] --- html/changelogs/AutoChangeLog-pr-48679.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48679.yml diff --git a/html/changelogs/AutoChangeLog-pr-48679.yml b/html/changelogs/AutoChangeLog-pr-48679.yml new file mode 100644 index 00000000000..135c0e527d5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48679.yml @@ -0,0 +1,4 @@ +author: "Fikou" +delete-after: True +changes: + - rscadd: "The limb grower now grows a bunch of organella" From a630c7a94b345e9b950b7ff3fdc68b2829b9c41c Mon Sep 17 00:00:00 2001 From: AnturK Date: Fri, 17 Jan 2020 02:40:44 +0100 Subject: [PATCH 073/124] Fixes observer alerts (#48793) * Makes alerts work for observers. * Basic click sanity. * lint --- code/_onclick/hud/alert.dm | 42 +++++++++++++++++---------- code/_onclick/hud/ghost.dm | 8 +++++ code/_onclick/hud/hud.dm | 2 +- code/datums/status_effects/debuffs.dm | 12 ++++---- 4 files changed, 42 insertions(+), 22 deletions(-) diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 617510c2f30..61bc30a8352 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -42,7 +42,7 @@ thealert.override_alerts = override if(override) thealert.timeout = null - thealert.mob_viewer = src + thealert.owner = src if(new_master) var/old_layer = new_master.layer @@ -97,7 +97,7 @@ var/severity = 0 var/alerttooltipstyle = "" var/override_alerts = FALSE //If it is overriding other alerts of the same type - var/mob/mob_viewer //the mob viewing this alert + var/mob/owner //Alert owner /obj/screen/alert/MouseEntered(location,control,params) @@ -227,6 +227,8 @@ or something covering your eyes." /obj/screen/alert/mind_control/Click() var/mob/living/L = usr + if(L != owner) + return to_chat(L, "[command]") /obj/screen/alert/drunk //Not implemented @@ -241,7 +243,7 @@ If you're feeling frisky, examine yourself and click the underlined item to pull icon_state = "embeddedobject" /obj/screen/alert/embeddedobject/Click() - if(isliving(usr)) + if(isliving(usr) && usr == owner) var/mob/living/carbon/human/M = usr return M.help_shake_act(M) @@ -270,7 +272,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." /obj/screen/alert/fire/Click() var/mob/living/L = usr - if(!istype(L) || !L.can_resist()) + if(!istype(L) || !L.can_resist() || L != owner) return L.changeNext_move(CLICK_CD_RESIST) if(L.mobility_flags & MOBILITY_MOVE) @@ -330,10 +332,10 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." /obj/screen/alert/bloodsense/process() var/atom/blood_target - if(!mob_viewer.mind) + if(!owner.mind) return - var/datum/antagonist/cult/antag = mob_viewer.mind.has_antag_datum(/datum/antagonist/cult,TRUE) + var/datum/antagonist/cult/antag = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) if(!antag) return var/datum/objective/sacrifice/sac_objective = locate() in antag.cult_team.objectives @@ -370,7 +372,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." add_overlay(narnar) return var/turf/P = get_turf(blood_target) - var/turf/Q = get_turf(mob_viewer) + var/turf/Q = get_turf(owner) if(!P || !Q || (P.z != Q.z)) //The target is on a different Z level, we cannot sense that far. icon_state = "runed_sense2" desc = "You can no longer sense your target's presence." @@ -494,7 +496,7 @@ so as to remain in compliance with the most up-to-date laws." var/atom/target = null /obj/screen/alert/hackingapc/Click() - if(!usr || !usr.client) + if(!usr || !usr.client || usr != owner) return if(!target) return @@ -520,7 +522,7 @@ so as to remain in compliance with the most up-to-date laws." timeout = 300 /obj/screen/alert/notify_cloning/Click() - if(!usr || !usr.client) + if(!usr || !usr.client || usr != owner) return var/mob/dead/observer/G = usr G.reenter_corpse() @@ -534,7 +536,7 @@ so as to remain in compliance with the most up-to-date laws." var/action = NOTIFY_JUMP /obj/screen/alert/notify_action/Click() - if(!usr || !usr.client) + if(!usr || !usr.client || usr != owner) return if(!target) return @@ -568,7 +570,7 @@ so as to remain in compliance with the most up-to-date laws." /obj/screen/alert/restrained/Click() var/mob/living/L = usr - if(!istype(L) || !L.can_resist()) + if(!istype(L) || !L.can_resist() || L != owner) return L.changeNext_move(CLICK_CD_RESIST) if((L.mobility_flags & MOBILITY_MOVE) && (L.last_special <= world.time)) @@ -576,7 +578,7 @@ so as to remain in compliance with the most up-to-date laws." /obj/screen/alert/restrained/buckled/Click() var/mob/living/L = usr - if(!istype(L) || !L.can_resist()) + if(!istype(L) || !L.can_resist() || L != owner) return L.changeNext_move(CLICK_CD_RESIST) if(L.last_special <= world.time) @@ -585,11 +587,14 @@ so as to remain in compliance with the most up-to-date laws." // PRIVATE = only edit, use, or override these if you're editing the system as a whole // Re-render all alerts - also called in /datum/hud/show_hud() because it's needed there -/datum/hud/proc/reorganize_alerts() +/datum/hud/proc/reorganize_alerts(mob/viewmob) + var/mob/screenmob = viewmob || mymob + if(!screenmob.client) + return var/list/alerts = mymob.alerts if(!hud_shown) for(var/i = 1, i <= alerts.len, i++) - mymob.client.screen -= alerts[alerts[i]] + screenmob.client.screen -= alerts[alerts[i]] return 1 for(var/i = 1, i <= alerts.len, i++) var/obj/screen/alert/alert = alerts[alerts[i]] @@ -609,7 +614,10 @@ so as to remain in compliance with the most up-to-date laws." else . = "" alert.screen_loc = . - mymob.client.screen |= alert + screenmob.client.screen |= alert + if(!viewmob) + for(var/M in mymob.observers) + reorganize_alerts(M) return 1 /obj/screen/alert/Click(location, control, params) @@ -619,6 +627,8 @@ so as to remain in compliance with the most up-to-date laws." if(paramslist["shift"]) // screen objects don't do the normal Click() stuff so we'll cheat to_chat(usr, "[name] - [desc]") return + if(usr != owner) + return if(master) return usr.client.Click(master, location, control, params) @@ -626,5 +636,5 @@ so as to remain in compliance with the most up-to-date laws." . = ..() severity = 0 master = null - mob_viewer = null + owner = null screen_loc = "" diff --git a/code/_onclick/hud/ghost.dm b/code/_onclick/hud/ghost.dm index 549b6346ce2..b301173d38a 100644 --- a/code/_onclick/hud/ghost.dm +++ b/code/_onclick/hud/ghost.dm @@ -93,3 +93,11 @@ screenmob.client.screen -= static_inventory else screenmob.client.screen += static_inventory + +//We should only see observed mob alerts. +/datum/hud/ghost/reorganize_alerts(mob/viewmob) + var/mob/dead/observer/O = mymob + if (istype(O) && O.observetarget) + return + . = ..() + diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index cde48e31ca3..abcf107d202 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -189,7 +189,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list( hud_version = display_hud_version persistent_inventory_update(screenmob) screenmob.update_action_buttons(1) - reorganize_alerts() + reorganize_alerts(screenmob) screenmob.reload_fullscreen() update_parallax_pref(screenmob) diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index 75bcd5569c0..51794087288 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -160,11 +160,13 @@ /obj/screen/alert/status_effect/strandling/Click(location, control, params) . = ..() - to_chat(mob_viewer, "You attempt to remove the durathread strand from around your neck.") - if(do_after(mob_viewer, 35, null, mob_viewer)) - if(isliving(mob_viewer)) - var/mob/living/L = mob_viewer - to_chat(mob_viewer, "You succesfuly remove the durathread strand.") + if(usr != owner) + return + to_chat(owner, "You attempt to remove the durathread strand from around your neck.") + if(do_after(owner, 35, null, owner)) + if(isliving(owner)) + var/mob/living/L = owner + to_chat(owner, "You succesfuly remove the durathread strand.") L.remove_status_effect(STATUS_EFFECT_CHOKINGSTRAND) From 9c0e629a54b1ede0b46b395f298beedc59386f4d Mon Sep 17 00:00:00 2001 From: cacogen <25089914+cacogen@users.noreply.github.com> Date: Fri, 17 Jan 2020 14:42:51 +1300 Subject: [PATCH 074/124] Fixes misleading info on brain damaged head examine (#48791) Also punches up some of the other head descriptions --- code/modules/surgery/bodyparts/head.dm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/code/modules/surgery/bodyparts/head.dm b/code/modules/surgery/bodyparts/head.dm index d252e985e5c..69dd5c4cced 100644 --- a/code/modules/surgery/bodyparts/head.dm +++ b/code/modules/surgery/bodyparts/head.dm @@ -67,27 +67,27 @@ if(!brain) . += "The brain has been removed from [src]." else if(brain.suicided || brainmob?.suiciding) - . += "There's a pretty dumb expression on [real_name]'s face; they must have really hated life. There is no hope of recovery." + . += "There's a miserable expression on [real_name]'s face; they must have really hated life. There's no hope of recovery." else if(brain.brain_death || brainmob?.health <= HEALTH_THRESHOLD_DEAD) - . += "It seems to be leaking some kind of... clear fluid? The brain inside must be in pretty bad shape... There is no coming back from that." + . += "It's leaking some kind of... clear fluid? The brain inside must be in pretty bad shape." else if(brainmob) if(brainmob.get_ghost(FALSE, TRUE)) - . += "Its muscles are still twitching slightly... It still seems to have a bit of life left to it." + . += "Its muscles are twitching slightly... It seems to have some life still in it." else - . += "It seems seems particularly lifeless. Perhaps there'll be a chance for them later." + . += "It's completely lifeless. Perhaps there'll be a chance for them later." else if(brain?.decoy_override) - . += "It seems particularly lifeless. Perhaps there'll be a chance for them later." + . += "It's completely lifeless. Perhaps there'll be a chance for them later." else - . += "It seems completely devoid of life." + . += "It's completely lifeless." if(!eyes) - . += "[real_name]'s eyes appear to have been removed." + . += "[real_name]'s eyes have been removed." if(!ears) - . += "[real_name]'s ears appear to have been removed." + . += "[real_name]'s ears have been removed." if(!tongue) - . += "[real_name]'s tongue appears to have been removed." + . += "[real_name]'s tongue has been removed." /obj/item/bodypart/head/can_dismember(obj/item/I) From b831d88a3937a416ce4b63acf6500e3b32de492e Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Thu, 16 Jan 2020 17:42:55 -0800 Subject: [PATCH 075/124] Automatic changelog generation for PR #48791 [ci skip] --- html/changelogs/AutoChangeLog-pr-48791.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48791.yml diff --git a/html/changelogs/AutoChangeLog-pr-48791.yml b/html/changelogs/AutoChangeLog-pr-48791.yml new file mode 100644 index 00000000000..4a439d840f7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48791.yml @@ -0,0 +1,4 @@ +author: "cacogen" +delete-after: True +changes: + - bugfix: "Decapitated heads with destroyed brains no longer mislead you into thinking they're unrevivable when examined" From 424fc64c1020658a0f729ca5a8733b289f4a36e6 Mon Sep 17 00:00:00 2001 From: AnturK Date: Fri, 17 Jan 2020 02:43:27 +0100 Subject: [PATCH 076/124] Fixes moruge trays mistaking radios for cloneable bodies. (#48794) --- code/__HELPERS/game.dm | 42 -------------------------- code/game/objects/structures/morgue.dm | 2 +- 2 files changed, 1 insertion(+), 43 deletions(-) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 87c7d725399..e6424592ff6 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -196,48 +196,6 @@ return -// Better recursive loop, technically sort of not actually recursive cause that shit is retarded, enjoy. -//No need for a recursive limit either -/proc/recursive_mob_check(atom/O,client_check=1,sight_check=1,include_radio=1) - - var/list/processing_list = list(O) - var/list/processed_list = list() - var/list/found_mobs = list() - - while(processing_list.len) - - var/atom/A = processing_list[1] - var/passed = 0 - - if(ismob(A)) - var/mob/A_tmp = A - passed=1 - - if(client_check && !A_tmp.client) - passed=0 - - if(sight_check && !isInSight(A_tmp, O)) - passed=0 - - else if(include_radio && istype(A, /obj/item/radio)) - passed=1 - - if(sight_check && !isInSight(A, O)) - passed=0 - - if(passed) - found_mobs |= A - - for(var/atom/B in A) - if(!processed_list[B]) - processing_list |= B - - processing_list.Cut(1, 2) - processed_list[A] = A - - return found_mobs - - /proc/get_hearers_in_view(R, atom/source) // Returns a list of hearers in view(R) from source (ignoring luminosity). Used in saycode. var/turf/T = get_turf(source) diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index ce6706d5717..27124c24671 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -181,7 +181,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an icon_state = "morgue1" else icon_state = "morgue2" // Dead, brainded mob. - var/list/compiled = recursive_mob_check(src, 0, 0) // Search for mobs in all contents. + var/list/compiled = GetAllContents(/mob/living) // Search for mobs in all contents. if(!length(compiled)) // No mobs? icon_state = "morgue3" return From f8e507676f88d91921b9ae239d7ced44d59c572a Mon Sep 17 00:00:00 2001 From: skoglol <33292112+kriskog@users.noreply.github.com> Date: Fri, 17 Jan 2020 02:45:53 +0100 Subject: [PATCH 077/124] Fixes fugitives deadchat feedback (#48720) --- code/modules/events/fugitive_spawning.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/events/fugitive_spawning.dm b/code/modules/events/fugitive_spawning.dm index a490cf5f26a..7b4628f1356 100644 --- a/code/modules/events/fugitive_spawning.dm +++ b/code/modules/events/fugitive_spawning.dm @@ -25,6 +25,8 @@ if(candidates.len >= 1) //solo refugees if(prob(30)) possible_backstories.Add("waldo") //less common as it comes with magicks and is kind of immershun shattering + else //For accurate deadchat feedback + minimum_required = 4 if(candidates.len >= 4)//group refugees possible_backstories.Add("prisoner", "cultist", "synth") if(!possible_backstories.len) From 7922075c81274122753fd2e0e8efcde91c0ca5e1 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Thu, 16 Jan 2020 17:45:57 -0800 Subject: [PATCH 078/124] Automatic changelog generation for PR #48720 [ci skip] --- html/changelogs/AutoChangeLog-pr-48720.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48720.yml diff --git a/html/changelogs/AutoChangeLog-pr-48720.yml b/html/changelogs/AutoChangeLog-pr-48720.yml new file mode 100644 index 00000000000..d6963e66c23 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48720.yml @@ -0,0 +1,4 @@ +author: "Skoglol" +delete-after: True +changes: + - bugfix: "Fugitives now reports the correct amount minimum candidates to deadchat if it fails." From fa941a441098d86953e9f16f83c9e97fcc5fc9e8 Mon Sep 17 00:00:00 2001 From: Nick Date: Thu, 16 Jan 2020 23:54:28 -0500 Subject: [PATCH 079/124] Update blackbox.dm (#48844) --- code/controllers/subsystem/blackbox.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm index c715bfb0039..c97ffa7021b 100644 --- a/code/controllers/subsystem/blackbox.dm +++ b/code/controllers/subsystem/blackbox.dm @@ -278,8 +278,8 @@ Versioning ticket = sanitizeSQL(ticket) action = sanitizeSQL(action) message = sanitizeSQL(message) - recipient = recipient ? "'sanitizeSQL(recipient)'" : "NULL" - sender = sender ? "'sanitizeSQL(sender)'" : "NULL" + recipient = recipient ? "'[sanitizeSQL(recipient)]'" : "NULL" + sender = sender ? "'[sanitizeSQL(sender)]'" : "NULL" var/server_ip = sanitizeSQL(world.internet_address) var/server_port = sanitizeSQL(world.port) var/round_id = sanitizeSQL(GLOB.round_id) From 57126bd994c7392d9b336863801c9b7eda8e6d66 Mon Sep 17 00:00:00 2001 From: Dangerous dingidy doo Date: Fri, 17 Jan 2020 07:36:29 +0100 Subject: [PATCH 080/124] casd (#48833) casd --- _maps/map_files/MetaStation/MetaStation.dmm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index e82eb96f784..f032033bc70 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -76337,10 +76337,7 @@ }, /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1; - external_pressure_bound = 140; - name = "server vent"; - pressure_checks = 0 + dir = 1 }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) From 8c5dc9690f3b43787b575f5788d0185bb8fbd230 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Thu, 16 Jan 2020 22:36:33 -0800 Subject: [PATCH 081/124] Automatic changelog generation for PR #48833 [ci skip] --- html/changelogs/AutoChangeLog-pr-48833.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48833.yml diff --git a/html/changelogs/AutoChangeLog-pr-48833.yml b/html/changelogs/AutoChangeLog-pr-48833.yml new file mode 100644 index 00000000000..5e40b892890 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48833.yml @@ -0,0 +1,4 @@ +author: "Vondiech" +delete-after: True +changes: + - bugfix: "Metastation medical lobby vent no longer over-pressurizes the lobby room." From 8021ba9311b8d4d6789915513fd8da9599e3d095 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Fri, 17 Jan 2020 01:58:31 -0800 Subject: [PATCH 082/124] Automatic changelog generation for PR #48616 [ci skip] --- html/changelogs/AutoChangeLog-pr-48616.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48616.yml diff --git a/html/changelogs/AutoChangeLog-pr-48616.yml b/html/changelogs/AutoChangeLog-pr-48616.yml new file mode 100644 index 00000000000..56214d6ebd8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48616.yml @@ -0,0 +1,4 @@ +author: "cacogen" +delete-after: True +changes: + - tweak: "The wayfinding pinpointer dispenser is different who cares. Recycle discarded pinpointers at the dispenser for 40 cr." From cb67b134ef410391cf64d3dc1b31b4248ba7a14c Mon Sep 17 00:00:00 2001 From: skoglol <33292112+kriskog@users.noreply.github.com> Date: Fri, 17 Jan 2020 16:24:24 +0100 Subject: [PATCH 083/124] Reverts meta hydroponics entrance (#48813) --- _maps/map_files/MetaStation/MetaStation.dmm | 34 +++------------------ 1 file changed, 4 insertions(+), 30 deletions(-) diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index f032033bc70..78d7ecc42b8 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -45218,14 +45218,8 @@ /turf/open/floor/plating, /area/maintenance/starboard/secondary) "bYc" = ( -/obj/structure/window/spawner/east, -/obj/structure/window/spawner/north, -/obj/structure/window/spawner, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/leafybush, -/obj/structure/flora/ausbushes/palebush, -/turf/open/floor/grass, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, /area/hallway/primary/central) "bYd" = ( /obj/machinery/door/firedoor, @@ -71689,15 +71683,6 @@ /obj/structure/grille/broken, /turf/open/space/basic, /area/space/nearstation) -"dVQ" = ( -/obj/structure/window/spawner/west, -/obj/structure/window/spawner/north, -/obj/structure/window/spawner, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/fernybush, -/turf/open/floor/grass, -/area/hallway/primary/central) "dVT" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -71847,17 +71832,6 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"eza" = ( -/obj/structure/window/spawner/west, -/obj/structure/window/spawner/east, -/obj/structure/window/spawner/north, -/obj/structure/window/spawner, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/stalkybush, -/turf/open/floor/grass, -/area/hallway/primary/central) "eAa" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -108643,7 +108617,7 @@ sKL bUb bVb bWG -dVQ +bSS bSS bSS bSS @@ -109414,7 +109388,7 @@ jZS bUd bVq bWJ -eza +bYc bZs aWf ccr From 8bc2c9be6c1e5d71d7ddbf1dc612cf00ebf5e636 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Fri, 17 Jan 2020 07:24:29 -0800 Subject: [PATCH 084/124] Automatic changelog generation for PR #48813 [ci skip] --- html/changelogs/AutoChangeLog-pr-48813.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48813.yml diff --git a/html/changelogs/AutoChangeLog-pr-48813.yml b/html/changelogs/AutoChangeLog-pr-48813.yml new file mode 100644 index 00000000000..da9646b32d7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48813.yml @@ -0,0 +1,4 @@ +author: "Skoglol" +delete-after: True +changes: + - tweak: "Metastation hydroponics entrance back to its old version. No more bushes and directional windows." From ecb86470e366a66452df0988ea43f268dd500717 Mon Sep 17 00:00:00 2001 From: Rob Bailey Date: Fri, 17 Jan 2020 07:57:02 -0800 Subject: [PATCH 085/124] fixes a cable loop on kilo (#48768) --- _maps/map_files/KiloStation/KiloStation.dmm | 39 +++++++++------------ 1 file changed, 16 insertions(+), 23 deletions(-) diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index 0ab7288f2d8..1c0148c4372 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -1513,7 +1513,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/structure/cable, +/obj/structure/cable/layer3, /turf/open/floor/plating{ icon_state = "panelscorched" }, @@ -1747,7 +1747,6 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ dir = 4 }, -/obj/structure/cable, /turf/open/floor/engine, /area/ai_monitored/turret_protected/aisat_interior) "acW" = ( @@ -1947,7 +1946,6 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 }, -/obj/structure/cable, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) "adn" = ( @@ -2209,7 +2207,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ dir = 8 }, -/obj/structure/cable, /turf/open/floor/engine, /area/ai_monitored/turret_protected/aisat/foyer) "adF" = ( @@ -2370,7 +2367,6 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable, /turf/open/floor/engine, /area/ai_monitored/turret_protected/aisat/atmos) "adS" = ( @@ -2517,7 +2513,6 @@ pixel_x = -22 }, /obj/effect/decal/cleanable/dirt, -/obj/structure/cable, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat/atmos) "aed" = ( @@ -2536,7 +2531,6 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 }, -/obj/structure/cable, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat/atmos) "aef" = ( @@ -2623,11 +2617,6 @@ }, /turf/open/floor/plasteel, /area/bridge) -"aen" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/turf/open/floor/plating/airless, -/area/space/nearstation) "aeo" = ( /obj/structure/lattice, /obj/structure/grille, @@ -2913,7 +2902,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/structure/cable, /turf/open/floor/plating/airless, /area/space/nearstation) "aeT" = ( @@ -4840,7 +4828,6 @@ name = "Abandoned External Airlock" }, /obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/structure/cable, /turf/open/floor/plasteel/dark, /area/maintenance/fore) "ahZ" = ( @@ -5183,7 +5170,6 @@ }, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/structure/cable, /turf/open/floor/plating{ icon_state = "platingdmg3" }, @@ -6593,7 +6579,6 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 }, -/obj/structure/cable, /turf/open/floor/plasteel/dark, /area/maintenance/fore) "akP" = ( @@ -9451,7 +9436,6 @@ network = list("minisat") }, /obj/effect/turf_decal/stripes/line, -/obj/structure/cable, /turf/open/floor/engine, /area/ai_monitored/turret_protected/aisat_interior) "api" = ( @@ -12576,6 +12560,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ dir = 6 }, +/obj/structure/cable, /turf/open/floor/engine, /area/ai_monitored/turret_protected/aisat/atmos) "atY" = ( @@ -12670,6 +12655,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ dir = 8 }, +/obj/structure/cable, /turf/open/floor/engine, /area/ai_monitored/turret_protected/aisat/atmos) "aug" = ( @@ -33348,6 +33334,7 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1, /mob/living/simple_animal/bot/secbot/pingsky, +/obj/structure/cable, /turf/open/floor/engine, /area/ai_monitored/turret_protected/aisat_interior) "aZi" = ( @@ -72791,6 +72778,7 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 }, +/obj/structure/cable, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) "cfv" = ( @@ -73347,6 +73335,7 @@ /obj/effect/turf_decal/stripes/corner{ dir = 8 }, +/obj/structure/cable, /turf/open/floor/engine, /area/ai_monitored/turret_protected/aisat_interior) "cgq" = ( @@ -73616,6 +73605,7 @@ /obj/effect/turf_decal/stripes/corner{ dir = 1 }, +/obj/structure/cable, /turf/open/floor/engine, /area/ai_monitored/turret_protected/aisat_interior) "cgK" = ( @@ -74017,6 +74007,7 @@ dir = 4 }, /obj/machinery/holopad/secure, +/obj/structure/cable, /turf/open/floor/engine, /area/ai_monitored/turret_protected/aisat_interior) "chq" = ( @@ -74401,6 +74392,8 @@ dir = 5 }, /obj/structure/cable, +/obj/structure/cable_bridge, +/obj/structure/cable/layer3, /turf/open/floor/engine, /area/ai_monitored/storage/satellite) "cic" = ( @@ -121249,19 +121242,19 @@ adR adZ aec aee -aen +cHu cHu aeS aeS -aen +cHu aeS aeS -aen +cHu aeS aeS -aen -aen -aen +cHu +cHu +cHu ahY aiD akO From a9c8c6112784412b233a394eb421d76e77fa1940 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Fri, 17 Jan 2020 07:57:13 -0800 Subject: [PATCH 086/124] Automatic changelog generation for PR #48768 [ci skip] --- html/changelogs/AutoChangeLog-pr-48768.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-48768.yml diff --git a/html/changelogs/AutoChangeLog-pr-48768.yml b/html/changelogs/AutoChangeLog-pr-48768.yml new file mode 100644 index 00000000000..2ab51eb3a3c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48768.yml @@ -0,0 +1,4 @@ +author: "actioninja" +delete-after: True +changes: + - bugfix: "Corrected a cable loop on kilo that was likely preventing proper power" From 38a26ec867acf12f74934e51f9c442a7910bb64e Mon Sep 17 00:00:00 2001 From: Arkatos1 <43862960+Arkatos1@users.noreply.github.com> Date: Fri, 17 Jan 2020 16:58:57 +0100 Subject: [PATCH 087/124] tgui-next: Teleporter (#48795) * Basic routes and interface declaration, modified teleporter backend * Interface, size tweaks, polish * Linter fix --- code/game/machinery/computer/teleporter.dm | 108 +++++++++--------- .../packages/tgui/interfaces/Teleporter.js | 69 +++++++++++ tgui-next/packages/tgui/public/tgui.bundle.js | 4 +- tgui-next/packages/tgui/routes.js | 5 + 4 files changed, 129 insertions(+), 57 deletions(-) create mode 100644 tgui-next/packages/tgui/interfaces/Teleporter.js diff --git a/code/game/machinery/computer/teleporter.dm b/code/game/machinery/computer/teleporter.dm index 81e2b538e50..c316a5335ce 100644 --- a/code/game/machinery/computer/teleporter.dm +++ b/code/game/machinery/computer/teleporter.dm @@ -5,6 +5,8 @@ icon_keyboard = "teleport_key" light_color = LIGHT_COLOR_BLUE circuit = /obj/item/circuitboard/computer/teleporter + ui_x = 475 + ui_y = 130 var/regime_set = "Teleporter" var/id var/obj/machinery/teleport/station/power_station @@ -31,34 +33,29 @@ break return power_station -/obj/machinery/computer/teleporter/ui_interact(mob/user) - . = ..() - var/data = "