From 39c78439a54e352c815c7faa82aa24a242f67603 Mon Sep 17 00:00:00 2001 From: Coffee Date: Sun, 29 Nov 2020 23:02:03 -0500 Subject: [PATCH 01/33] Adds 3 periods to the game (#55243) Fixes a single typo --- code/datums/diseases/tuberculosis.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/diseases/tuberculosis.dm b/code/datums/diseases/tuberculosis.dm index 76da0024971..c822148e430 100644 --- a/code/datums/diseases/tuberculosis.dm +++ b/code/datums/diseases/tuberculosis.dm @@ -57,5 +57,5 @@ affected_mob.overeatduration = max(affected_mob.overeatduration - 100, 0) affected_mob.adjust_nutrition(-100) if(prob(15)) - to_chat(affected_mob, "[pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit", "You feel like taking off some clothes...")]") + to_chat(affected_mob, "[pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit...", "You feel like taking off some clothes...")]") affected_mob.adjust_bodytemperature(40) From 02656b33e0ecd516bccdc5289291dd29f1bff03d Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Sun, 29 Nov 2020 20:02:07 -0800 Subject: [PATCH 02/33] Automatic changelog generation for PR #55243 [ci skip] --- html/changelogs/AutoChangeLog-pr-55243.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-55243.yml diff --git a/html/changelogs/AutoChangeLog-pr-55243.yml b/html/changelogs/AutoChangeLog-pr-55243.yml new file mode 100644 index 00000000000..a3585e0070e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-55243.yml @@ -0,0 +1,4 @@ +author: "CoffeeDragon16" +delete-after: True +changes: + - spellcheck: "Fixes a single typo with TB" From 62c211dac727b14880b275aa11b28af9718e61af Mon Sep 17 00:00:00 2001 From: NightRed Date: Sun, 29 Nov 2020 22:04:40 -0600 Subject: [PATCH 03/33] Cryopod cooling fix for humans (#55221) The core temp was meant to be cooled separately through the skin in cryo pods, but on inspection that interaction was skipped. This makes the core temp match skin temp in a cryo pod. --- .../atmospherics/machinery/components/unary_devices/cryo.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index 42ff79d6b72..81a28d6d45b 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -307,6 +307,12 @@ GLOBAL_VAR_INIT(cryo_overlay_cover_off, mutable_appearance('icons/obj/cryogenics air1.temperature = clamp(air1.temperature - heat * delta_time / air_heat_capacity, TCMB, MAX_TEMPERATURE) mob_occupant.adjust_bodytemperature(heat * delta_time / heat_capacity, TCMB) + + //lets have the core temp match the body temp in humans + if(ishuman(mob_occupant)) + var/mob/living/carbon/human/humi = mob_occupant + humi.adjust_coretemperature(humi.bodytemperature - humi.coretemperature) + if(consume_gas) // Transferring reagent costs us extra gas air1.gases[/datum/gas/oxygen][MOLES] -= max(0, delta_time / efficiency + 1 / efficiency) // Magically consume gas? Why not, we run on cryo magic. consume_gas = FALSE From 769c126deec20d98cb6bf3edefd746173f4a227b Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Sun, 29 Nov 2020 20:04:44 -0800 Subject: [PATCH 04/33] Automatic changelog generation for PR #55221 [ci skip] --- html/changelogs/AutoChangeLog-pr-55221.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-55221.yml diff --git a/html/changelogs/AutoChangeLog-pr-55221.yml b/html/changelogs/AutoChangeLog-pr-55221.yml new file mode 100644 index 00000000000..baa3cb72ade --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-55221.yml @@ -0,0 +1,4 @@ +author: "nightred" +delete-after: True +changes: + - bugfix: "The cryo pod now cools human core temperature" From 52c1d15fa6dd93b8e56fa3265ff9e0f13734327c Mon Sep 17 00:00:00 2001 From: NightRed Date: Sun, 29 Nov 2020 22:04:59 -0600 Subject: [PATCH 05/33] Tweaks to temperature code (#55216) This is a small tweak that makes skin temp raise up faster when cold in response to ice moon being harder. This also makes a change to mobs in statis beds no long hold bed temp in some quantum lock but stops the natural stabilization. This means that is you put a frozen/superheated mob on the floor or a statis bed they will balance tot the room temp over time. The mob is not physically separate from the room in a statis bed and all life functions are still suspended. --- code/modules/mob/living/carbon/human/life.dm | 6 +++--- code/modules/mob/living/carbon/human/species.dm | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index c8c97565f75..83a320f118a 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -27,6 +27,9 @@ if (QDELETED(src)) return FALSE + //Body temperature stability and damage + dna.species.handle_body_temperature(src) + if(!IS_IN_STASIS(src)) if(.) //not dead @@ -38,9 +41,6 @@ handle_heart() handle_liver() - //Body temperature stability and damage - dna.species.handle_body_temperature(src) - dna.species.spec_life(src) // for mutantraces else for(var/i in all_wounds) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 8e24e02d59c..2b29d4c8cd3 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1620,7 +1620,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(istype(humi.loc, /obj/machinery/atmospherics/components/unary/cryo_cell)) return //when dead the air still effects your skin temp - if(humi.stat == DEAD) + if(humi.stat == DEAD || IS_IN_STASIS(humi)) body_temperature_skin(humi) else //when alive do all the things body_temperature_core(humi) @@ -1689,8 +1689,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(!humi.on_fire) // Get the changes to the skin from the core temp var/core_skin_diff = humi.coretemperature - humi.bodytemperature - // change rate of 0.08 to reflect temp back in to the core at the same rate as core to skin - var/core_skin_change = (1 + thermal_protection) * get_temp_change_amount(core_skin_diff, 0.08) + // change rate of 0.09 to reflect temp back to the skin at the slight higher rate then core to skin + var/core_skin_change = (1 + thermal_protection) * get_temp_change_amount(core_skin_diff, 0.09) // We do not want to over shoot after using protection if(core_skin_diff > 0) @@ -1717,9 +1717,9 @@ GLOBAL_LIST_EMPTY(roundstart_races) humi.remove_movespeed_modifier(/datum/movespeed_modifier/cold) // display alerts based on how hot it is switch(humi.bodytemperature) - if(0 to 461) + if(0 to 460) humi.throw_alert("temp", /atom/movable/screen/alert/hot, 1) - if(460 to 700) + if(461 to 700) humi.throw_alert("temp", /atom/movable/screen/alert/hot, 2) else humi.throw_alert("temp", /atom/movable/screen/alert/hot, 3) From c8ec72c0cf26b823bf3c3e897a14374a60dea653 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Sun, 29 Nov 2020 20:05:03 -0800 Subject: [PATCH 06/33] Automatic changelog generation for PR #55216 [ci skip] --- html/changelogs/AutoChangeLog-pr-55216.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-55216.yml diff --git a/html/changelogs/AutoChangeLog-pr-55216.yml b/html/changelogs/AutoChangeLog-pr-55216.yml new file mode 100644 index 00000000000..08495bb21f2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-55216.yml @@ -0,0 +1,5 @@ +author: "nightred" +delete-after: True +changes: + - bugfix: "Body temperature stabilizes to the room temp in statis beds" + - bugfix: "Body warms up a bit faster on the cold moon of ice" From f142388ac6d40195a037f965d22b625507a39a9f Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Mon, 30 Nov 2020 05:11:06 +0000 Subject: [PATCH 07/33] Automatic changelog compile, [ci skip] --- html/changelog.html | 10 ++++++++++ html/changelogs/.all_changelog.yml | 6 ++++++ html/changelogs/AutoChangeLog-pr-55216.yml | 5 ----- html/changelogs/AutoChangeLog-pr-55221.yml | 4 ---- html/changelogs/AutoChangeLog-pr-55243.yml | 4 ---- 5 files changed, 16 insertions(+), 13 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-55216.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-55221.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-55243.yml diff --git a/html/changelog.html b/html/changelog.html index 322afa184c6..4b9d40b2d47 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -52,6 +52,10 @@ -->

30 November 2020

+

CoffeeDragon16 updated:

+
    +
  • Fixes a single typo with TB
  • +

Ryll/Shaps updated:

  • The quickswap hotkey and functionality has been removed
  • @@ -62,6 +66,12 @@
    • Cyborgs upgrades can be installed properly again.
    +

    nightred updated:

    +
      +
    • Body temperature stabilizes to the room temp in statis beds
    • +
    • Body warms up a bit faster on the cold moon of ice
    • +
    • The cryo pod now cools human core temperature
    • +

    28 November 2020

    ArcaneMusic updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 7cf41509932..cb146b02b3c 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -44943,6 +44943,8 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. prodirus: - bugfix: Ageusia trait should allow you to eat with impunity again. 2020-11-30: + CoffeeDragon16: + - spellcheck: Fixes a single typo with TB Ryll/Shaps: - rscdel: The quickswap hotkey and functionality has been removed - tweak: Updated the discord verify verb text to tell you to use "?verify" instead @@ -44951,3 +44953,7 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. with the station Timberpoes: - bugfix: Cyborgs upgrades can be installed properly again. + nightred: + - bugfix: Body temperature stabilizes to the room temp in statis beds + - bugfix: Body warms up a bit faster on the cold moon of ice + - bugfix: The cryo pod now cools human core temperature diff --git a/html/changelogs/AutoChangeLog-pr-55216.yml b/html/changelogs/AutoChangeLog-pr-55216.yml deleted file mode 100644 index 08495bb21f2..00000000000 --- a/html/changelogs/AutoChangeLog-pr-55216.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "nightred" -delete-after: True -changes: - - bugfix: "Body temperature stabilizes to the room temp in statis beds" - - bugfix: "Body warms up a bit faster on the cold moon of ice" diff --git a/html/changelogs/AutoChangeLog-pr-55221.yml b/html/changelogs/AutoChangeLog-pr-55221.yml deleted file mode 100644 index baa3cb72ade..00000000000 --- a/html/changelogs/AutoChangeLog-pr-55221.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "nightred" -delete-after: True -changes: - - bugfix: "The cryo pod now cools human core temperature" diff --git a/html/changelogs/AutoChangeLog-pr-55243.yml b/html/changelogs/AutoChangeLog-pr-55243.yml deleted file mode 100644 index a3585e0070e..00000000000 --- a/html/changelogs/AutoChangeLog-pr-55243.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CoffeeDragon16" -delete-after: True -changes: - - spellcheck: "Fixes a single typo with TB" From 63d308f5c627907ff990f2f710cb050ee1239c22 Mon Sep 17 00:00:00 2001 From: tattlemothe <66640614+dragomagol@users.noreply.github.com> Date: Mon, 30 Nov 2020 08:46:41 -0800 Subject: [PATCH 08/33] Fixes custom double-barreled shotgun back sprites (#55232) The custom double-barrelled shotgun sprite names contained a hyphen instead of an underscore, making them appear as error sprites when worn. --- icons/mob/clothing/back.dmi | Bin 124634 -> 124634 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi index 0417374643560a3a548a1c70e20b7c4039d11c32..66a06722a9e68c3814222c5c80fc003dd56d1aac 100644 GIT binary patch delta 727 zcmV;|0x133%?H}e2e3Z_f2;gv`QAjqK^zqdPWXuCE6*oXa8O1xKRb&WG5!1fcR|04 zq1#u&%F`Q&7A&|bffJk(1AEIMzqBJ*bu6eqqDKfd+gj99J7JIYj9v!83qHYX)8}1` zj=Z3?KVX*@1dU!Fyy^3m)WC^!TBev>-*uSJ6?k~od~SY`BL=B_e~KHxd`2F?d@>%u zd>&RBt+;fqd$lowo%N(P@HjarALmZD5NxENW)l-i4z=SXhc&y6z;E3K{L!ORd%^3< z4lCKPj2%|dBS_k&aeDIT4F|y^kDx4Zf!UDjs<`8jU$g+^YTnhdv5!Y%Y6Hzoc$thz zKbEU?&bkufe5CnZ7=kuWAG}H$*rg77&_! zwncw4Ek3H|dcuO;A_`tW-HDh;7A z)aiT}Zw+-ic~G0`jKw%Q)tRWOnd6M@pU}o_zT{~QL@k_Pe@xh_H4t@vYc~6;?oB5M zP2+u!q@$RyXJ10q922yyV7SjsOwhI`3YEER{Ukb@5auKgL&}*nKU*AxR4KL=Tq6n7 zAywlYl?Wa#zeFs$jvQi;^w$_t^#G32-1zXdi=tL9Iv^9ZC~$a$a462toD7O4|1Tt1 zJWa0@gdiBse`$0|Tfwb@FqXvxf_PzAZ7|4K%|Vc>IJipkRRqn!$vT~;7hMi{nHLUK zU>Uk2k22B+nk!GHeZ>PCCs>-p85T8{nt3C>lM}g8L)T+Ud2gTrE6g;JT-O^2l=hVd zYiGmS@;M|fuWn1h?__l`fzfMO<*a&>eyOI6I}VMYMs~BkNwmc3X$zUwry{U)+EBy!aocSsyVq+^JK7 J2DSzP+TeaMTJ-<` delta 727 zcmV;|0x133%?H}e2e3Z_e=qZ!<$Dta2XRy=IN>9juRNbn!9f|({Ol}h#Psj?-v#|H zhHhU8D^G7ATCm`%1Ws^D4D2n3{L+qK)v=)dh#n!-Y->?Z?SwtnGkO^WFZcwnO`mr$ zI`V?n{(xOt5Hxyy@TSjKQUfQ_X_;bjeb-?=SK#4U^SSv&ju@o!e<^MN^BH*n^T~Js z^LbclwBpja?$yQ!cGi>Hz~khge4IPoLa>p7noUe7In<7m9M5<|@JEkM?FFwZ zJFH~GGIm%+k05EA#_7qUHyi|yJc6>s1!hC8tKyDBe$fJut9e(;#y%d6sSPwU;bk%= z{aCKbRe4*k%GI>De^jB5dfwv;!|Y$${L#}^va5uFy#|*mW%~MDzN!(_+z{b}SU_m@ z*%tlHwD_o+lh1HUTTH$4fdz?b04v7|O}=b+;z1?a&TRU${9cyJs}JS!>ci{(t2Bhh zP^a@@yfxJ6!K?l8$1+o_z^bb4<{-g5f?lF+tm&C{*UM^^@pqLYR|03@K;Q{A_U$Ql;2haE&BP zhg6MsR3dn|{1UO~I&z3X(qCgp)dM(6bK}F;E{a;c=zvVrqQK!1!l5`nb22EJ{J)T3 z@ie_s5Q1Phf2YwYZ3VXq!dMm)2;zldwZR}`H3vbi;@~RDR}nM^C+l>YUUWI+WnMT` zfo159JjzHPXs$e&_7x9ooM34VXIRu+YUYjjPEO=X4PB2Z<-LIhtT59=a$RpAP})}- ztep*O%jb}|yt*v~zmwI)1V*oAm9y$i`lXsO?l?4pM%vBxCeaqd+-PNT_jKff-&0b$ z521rt8(>eevn*eR2Qg^WuLA?jAP*Z)m%M J2DSzP+TilLbUy$9 From 2ec1bcb2179c9cb1301fc1d7462cd0cc4ac6e5f0 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Mon, 30 Nov 2020 08:46:45 -0800 Subject: [PATCH 09/33] Automatic changelog generation for PR #55232 [ci skip] --- html/changelogs/AutoChangeLog-pr-55232.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-55232.yml diff --git a/html/changelogs/AutoChangeLog-pr-55232.yml b/html/changelogs/AutoChangeLog-pr-55232.yml new file mode 100644 index 00000000000..df31f302cb9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-55232.yml @@ -0,0 +1,4 @@ +author: "dragomagol" +delete-after: True +changes: + - bugfix: "Reskinned double-barrelled shotguns now appear properly on the back slot" From 24e447418aaa5e8190ef8369b2727d93d1fc6507 Mon Sep 17 00:00:00 2001 From: Bobbahbrown Date: Mon, 30 Nov 2020 12:48:52 -0400 Subject: [PATCH 10/33] tgui: Round Gauge (#55230) This PR introduces the wacky round gauge for showing all of your favourite metrics in half-circle format. Show off those wacky numbers, use some scary blinking lights, feel alive! I've also gone ahead and included this in the canister and tank (think internals) UIs. I've also done some refactoring of data sending from canisters because GOSH DANG it required some. --- code/game/objects/items/tanks/tanks.dm | 28 +- .../machinery/portable/canister.dm | 54 ++-- tgui/docs/component-reference.md | 33 ++ tgui/packages/tgui/components/RoundGauge.js | 125 ++++++++ tgui/packages/tgui/components/index.js | 1 + tgui/packages/tgui/interfaces/Canister.js | 282 ++++++++++-------- tgui/packages/tgui/interfaces/Tank.js | 55 +++- .../tgui/styles/components/RoundGauge.scss | 83 ++++++ tgui/packages/tgui/styles/main.scss | 1 + tgui/public/tgui-common.chunk.js | 2 +- tgui/public/tgui-panel.bundle.js | 2 +- tgui/public/tgui.bundle.css | 2 +- tgui/public/tgui.bundle.js | 2 +- 13 files changed, 491 insertions(+), 179 deletions(-) create mode 100644 tgui/packages/tgui/components/RoundGauge.js create mode 100644 tgui/packages/tgui/styles/components/RoundGauge.scss diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm index 3aba2a129bf..f92ea1722fb 100644 --- a/code/game/objects/items/tanks/tanks.dm +++ b/code/game/objects/items/tanks/tanks.dm @@ -159,24 +159,26 @@ ui = new(user, src, "Tank", name) ui.open() +/obj/item/tank/ui_static_data(mob/user) + . = list ( + "defaultReleasePressure" = round(TANK_DEFAULT_RELEASE_PRESSURE), + "minReleasePressure" = round(TANK_MIN_RELEASE_PRESSURE), + "maxReleasePressure" = round(TANK_MAX_RELEASE_PRESSURE), + "leakPressure" = round(TANK_LEAK_PRESSURE), + "fragmentPressure" = round(TANK_FRAGMENT_PRESSURE) + ) + /obj/item/tank/ui_data(mob/user) - var/list/data = list() - data["tankPressure"] = round(air_contents.return_pressure() ? air_contents.return_pressure() : 0) - data["releasePressure"] = round(distribute_pressure ? distribute_pressure : 0) - data["defaultReleasePressure"] = round(TANK_DEFAULT_RELEASE_PRESSURE) - data["minReleasePressure"] = round(TANK_MIN_RELEASE_PRESSURE) - data["maxReleasePressure"] = round(TANK_MAX_RELEASE_PRESSURE) + . = list( + "tankPressure" = round(air_contents.return_pressure()), + "releasePressure" = round(distribute_pressure) + ) var/mob/living/carbon/C = user if(!istype(C)) C = loc.loc - if(!istype(C)) - return data - - if(C.internal == src) - data["connected"] = TRUE - - return data + if(istype(C) && C.internal == src) + .["connected"] = TRUE /obj/item/tank/ui_act(action, params) . = ..() diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index a73d8ae7a8d..e20983120e6 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -476,32 +476,44 @@ ui = new(user, src, "Canister", name) ui.open() +/obj/machinery/portable_atmospherics/canister/ui_static_data(mob/user) + return list( + "defaultReleasePressure" = round(CAN_DEFAULT_RELEASE_PRESSURE), + "minReleasePressure" = round(can_min_release_pressure), + "maxReleasePressure" = round(can_max_release_pressure), + "pressureLimit" = round(pressure_limit), + "holdingTankLeakPressure" = round(TANK_LEAK_PRESSURE), + "holdingTankFragPressure" = round(TANK_FRAGMENT_PRESSURE) + ) + /obj/machinery/portable_atmospherics/canister/ui_data() - var/data = list() - data["portConnected"] = connected_port ? 1 : 0 - data["tankPressure"] = round(air_contents.return_pressure() ? air_contents.return_pressure() : 0) - data["releasePressure"] = round(release_pressure ? release_pressure : 0) - data["defaultReleasePressure"] = round(CAN_DEFAULT_RELEASE_PRESSURE) - data["minReleasePressure"] = round(can_min_release_pressure) - data["maxReleasePressure"] = round(can_max_release_pressure) - data["valveOpen"] = valve_open ? 1 : 0 + . = list( + "portConnected" = !!connected_port, + "tankPressure" = round(air_contents.return_pressure()), + "releasePressure" = round(release_pressure), + "valveOpen" = !!valve_open, + "isPrototype" = !!prototype, + "hasHoldingTank" = !!holding + ) - data["isPrototype"] = prototype ? 1 : 0 if (prototype) - data["restricted"] = restricted - data["timing"] = timing - data["time_left"] = get_time_left() - data["timer_set"] = timer_set - data["timer_is_not_default"] = timer_set != default_timer_set - data["timer_is_not_min"] = timer_set != minimum_timer_set - data["timer_is_not_max"] = timer_set != maximum_timer_set + . += list( + "restricted" = restricted, + "timing" = timing, + "time_left" = get_time_left(), + "timer_set" = timer_set, + "timer_is_not_default" = timer_set != default_timer_set, + "timer_is_not_min" = timer_set != minimum_timer_set, + "timer_is_not_max" = timer_set != maximum_timer_set + ) - data["hasHoldingTank"] = holding ? 1 : 0 if (holding) - data["holdingTank"] = list() - data["holdingTank"]["name"] = holding.name - data["holdingTank"]["tankPressure"] = round(holding.air_contents.return_pressure()) - return data + . += list( + "holdingTank" = list( + "name" = holding.name, + "tankPressure" = round(holding.air_contents.return_pressure()) + ) + ) /obj/machinery/portable_atmospherics/canister/ui_act(action, params) . = ..() diff --git a/tgui/docs/component-reference.md b/tgui/docs/component-reference.md index ee6be6e9ee5..503c012c001 100644 --- a/tgui/docs/component-reference.md +++ b/tgui/docs/component-reference.md @@ -40,6 +40,7 @@ Make sure to add new items to this list if you document new components. - [`NoticeBox`](#noticebox) - [`NumberInput`](#numberinput) - [`ProgressBar`](#progressbar) + - [`RoundGauge`](#roundgauge) - [`Section`](#section) - [`Slider`](#slider) - [`Table`](#table) @@ -771,6 +772,38 @@ based on whether the value lands in the range between `from` and `to`. - `color: string` - Color of the progress bar. - `children: any` - Content to render inside the progress bar. +### `RoundGauge` + +The RoundGauge component provides a visual representation of a single metric, as well as being capable of showing informational or cautionary boundaries related to that metric. + +```jsx + +``` + +The alert on the gauge is optional, and will only be shown if the `alertAfter` prop is defined. When defined, the alert will begin to flash the respective color upon which the needle currently rests, as defined in the `ranges` prop. + +**Props:** + +- See inherited props: [Box](#box) +- `value: number` - The current value of the metric. +- `minValue: number` (default: 0) - The lower bound of the guage. +- `maxValue: number` (default: 1) - The upper bound of the guage. +- `ranges: { color: [from, to] }` (default: `{ "good": [0, 1] }`) - Provide regions of the guage to color between two specified values of the metric. +- `alertAfter: number` (optional) - When provided, will cause an alert symbol on the gauge to begin flashing in the color upon which the needle currently rest, as defined in `ranges`. +- `format: function(value) => string` (optional) - When provided, will be used to format the value of the metric for display. +- `size: number` (default: 1) - When provided scales the gauge. + ### `Section` Section is a surface that displays content and actions on a single topic. diff --git a/tgui/packages/tgui/components/RoundGauge.js b/tgui/packages/tgui/components/RoundGauge.js new file mode 100644 index 00000000000..2f01b5122e0 --- /dev/null +++ b/tgui/packages/tgui/components/RoundGauge.js @@ -0,0 +1,125 @@ +/** + * @file + * @copyright 2020 bobbahbrown (https://github.com/bobbahbrown) + * @license MIT + */ + +import { clamp01, keyOfMatchingRange, scale } from 'common/math'; +import { classes } from 'common/react'; +import { AnimatedNumber } from './AnimatedNumber'; +import { Box, computeBoxClassName, computeBoxProps } from './Box'; + +export const RoundGauge = props => { + // Support for IE8 is for losers sorry B) + if (Byond.IS_LTE_IE8) { + return ( + + ); + } + + const { + value, + minValue = 1, + maxValue = 1, + ranges, + alertAfter, + format, + size = 1, + className, + style, + ...rest + } = props; + + const scaledValue = scale( + value, + minValue, + maxValue); + const clampedValue = clamp01(scaledValue); + let scaledRanges = ranges ? {} : { "primary": [0, 1] }; + if (ranges) + { Object.keys(ranges).forEach(x => { + const range = ranges[x]; + scaledRanges[x] = [ + scale(range[0], minValue, maxValue), + scale(range[1], minValue, maxValue), + ]; + }); } + + let alertColor = null; + if (alertAfter < value) { + alertColor = keyOfMatchingRange(clampedValue, scaledRanges); + } + + return ( + +
    + + {alertAfter && ( + + + + )} + + + + + {Object.keys(scaledRanges).map((x, i) => { + const col_ranges = scaledRanges[x]; + return ( + + ); + })} + + + + + + +
    + +
    + ); +}; diff --git a/tgui/packages/tgui/components/index.js b/tgui/packages/tgui/components/index.js index 5580cc38fbe..9a4406b17c3 100644 --- a/tgui/packages/tgui/components/index.js +++ b/tgui/packages/tgui/components/index.js @@ -27,6 +27,7 @@ export { Modal } from './Modal'; export { NoticeBox } from './NoticeBox'; export { NumberInput } from './NumberInput'; export { ProgressBar } from './ProgressBar'; +export { RoundGauge } from './RoundGauge'; export { Section } from './Section'; export { Slider } from './Slider'; export { Table } from './Table'; diff --git a/tgui/packages/tgui/interfaces/Canister.js b/tgui/packages/tgui/interfaces/Canister.js index b94dc8ef8ff..16902846bce 100644 --- a/tgui/packages/tgui/interfaces/Canister.js +++ b/tgui/packages/tgui/interfaces/Canister.js @@ -1,10 +1,17 @@ import { toFixed } from 'common/math'; import { Fragment } from 'inferno'; import { useBackend } from '../backend'; -import { AnimatedNumber, Box, Button, Icon, Knob, LabeledControls, LabeledList, Section, Tooltip } from '../components'; +import { Box, Button, Flex, Icon, Knob, LabeledControls, LabeledList, RoundGauge, Section, Tooltip } from '../components'; import { formatSiUnit } from '../format'; import { Window } from '../layouts'; +const formatPressure = value => { + if (value < 10000) { + return toFixed(value) + ' kPa'; + } + return formatSiUnit(value * 1000, 1, 'Pa'); +}; + export const Canister = (props, context) => { const { act, data } = useBackend(context); const { @@ -14,142 +21,167 @@ export const Canister = (props, context) => { defaultReleasePressure, minReleasePressure, maxReleasePressure, + pressureLimit, valveOpen, isPrototype, hasHoldingTank, holdingTank, + holdingTankLeakPressure, + holdingTankFragPressure, restricted, } = data; return ( + height={275}> -
    - {!!isPrototype && ( -
    + + +
    act('eject')} /> + )}> + {!!hasHoldingTank && ( + + + {holdingTank.name} + + + + + )} -
    -
    act('eject')} /> - )}> - {!!hasHoldingTank && ( - - - {holdingTank.name} - - - kPa - - - )} - {!hasHoldingTank && ( - - No Holding Tank - - )} -
    + {!hasHoldingTank && ( + + No Holding Tank + + )} + +
    +
    ); diff --git a/tgui/packages/tgui/interfaces/Tank.js b/tgui/packages/tgui/interfaces/Tank.js index de43ad3f393..d6b026aed1e 100644 --- a/tgui/packages/tgui/interfaces/Tank.js +++ b/tgui/packages/tgui/interfaces/Tank.js @@ -1,28 +1,51 @@ +import { toFixed } from 'common/math'; import { useBackend } from '../backend'; -import { Button, LabeledList, NumberInput, ProgressBar, Section } from '../components'; +import { Button, LabeledControls, NumberInput, RoundGauge, Section } from '../components'; +import { formatSiUnit } from '../format'; import { Window } from '../layouts'; +const formatPressure = value => { + if (value < 10000) { + return toFixed(value) + ' kPa'; + } + return formatSiUnit(value * 1000, 1, 'Pa'); +}; + export const Tank = (props, context) => { const { act, data } = useBackend(context); + const { + defaultReleasePressure, + minReleasePressure, + maxReleasePressure, + leakPressure, + fragmentPressure, + tankPressure, + releasePressure, + connected, + } = data; return (
    - - - + + - {data.tankPressure + ' kPa'} - - - + "good": [0, leakPressure], + "average": [leakPressure, fragmentPressure], + "bad": [fragmentPressure, fragmentPressure * 1.15], + }} + format={formatPressure} + size={2} /> + +
    diff --git a/tgui/packages/tgui/styles/components/RoundGauge.scss b/tgui/packages/tgui/styles/components/RoundGauge.scss new file mode 100644 index 00000000000..0ca0e2f89ac --- /dev/null +++ b/tgui/packages/tgui/styles/components/RoundGauge.scss @@ -0,0 +1,83 @@ +/** + * Copyright (c) 2020 bobbahbrown (https://github.com/bobbahbrown) + * SPDX-License-Identifier: MIT + */ + +@use '../base.scss'; +@use '../colors.scss'; +@use '../functions.scss' as *; + +$fg-map: colors.$fg-map !default; +$ring-color: #6a96c9 !default; + +.RoundGauge { + font-size: 1rem; + width: 2.6em; + height: 1.3em; + margin: 0 auto; + margin-bottom: 0.2em; +} + +$pi: 3.1416; + +.RoundGauge__ringTrack { + fill: transparent; + stroke: rgba(255, 255, 255, 0.1); + stroke-width: 10; + stroke-dasharray: 50 * $pi; + stroke-dashoffset: 50 * $pi; +} + +.RoundGauge__ringFill { + fill: transparent; + stroke: $ring-color; + stroke-width: 10; + stroke-dasharray: 100 * $pi; + transition: stroke 50ms; +} + +.RoundGauge__needle, .RoundGauge__ringFill { + transition: transform 50ms ease-in-out; +} + +.RoundGauge__needleLine, .RoundGauge__needleMiddle { + fill: colors.$bad; +} + +.RoundGauge__alert { + fill-rule: evenodd; + clip-rule: evenodd; + stroke-linejoin: round; + stroke-miterlimit: 2; + fill: rgba(255, 255, 255, 0.1); +} + +.RoundGauge__alert.max { + fill: colors.$bad; +} + +@each $color-name, $color-value in $fg-map { + .RoundGauge--color--#{$color-name}.RoundGauge__ringFill { + stroke: $color-value; + } +} + +@each $color-name, $color-value in $fg-map { + .RoundGauge__alert--#{$color-name} { + fill: $color-value; + transition: opacity 0.6s cubic-bezier(0.25, 1, 0.5, 1); + animation: RoundGauge__alertAnim 1s cubic-bezier(0.34, 1.56, 0.64, 1) infinite; + } +} + +@keyframes RoundGauge__alertAnim { + 0% { + opacity: 0.1; + } + 50% { + opacity: 1; + } + 100% { + opacity: 0.1; + } +} diff --git a/tgui/packages/tgui/styles/main.scss b/tgui/packages/tgui/styles/main.scss index 5e5d8e2e008..f49120a4196 100644 --- a/tgui/packages/tgui/styles/main.scss +++ b/tgui/packages/tgui/styles/main.scss @@ -32,6 +32,7 @@ @include meta.load-css('./components/NoticeBox.scss'); @include meta.load-css('./components/NumberInput.scss'); @include meta.load-css('./components/ProgressBar.scss'); +@include meta.load-css('./components/RoundGauge.scss'); @include meta.load-css('./components/Section.scss'); @include meta.load-css('./components/Slider.scss'); @include meta.load-css('./components/Table.scss'); diff --git a/tgui/public/tgui-common.chunk.js b/tgui/public/tgui-common.chunk.js index 08716b40eb8..bedc8d9a51d 100644 --- a/tgui/public/tgui-common.chunk.js +++ b/tgui/public/tgui-common.chunk.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[function(e,t,n){"use strict";t.__esModule=!0;var r=n(450);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(t[e]=r[e])}))},function(e,t,n){"use strict";t.__esModule=!0,t.TimeDisplay=t.Tooltip=t.Tabs=t.TextArea=t.Table=t.Slider=t.Section=t.ProgressBar=t.NumberInput=t.NoticeBox=t.Modal=t.LabeledList=t.LabeledControls=t.Knob=t.Input=t.Icon=t.Grid=t.Flex=t.Dropdown=t.DraggableControl=t.Divider=t.Dimmer=t.ColorBox=t.Collapsible=t.Chart=t.ByondUi=t.Button=t.Box=t.BlockQuote=t.AnimatedNumber=void 0;var r=n(137);t.AnimatedNumber=r.AnimatedNumber;var o=n(465);t.BlockQuote=o.BlockQuote;var i=n(18);t.Box=i.Box;var a=n(192);t.Button=a.Button;var u=n(467);t.ByondUi=u.ByondUi;var c=n(469);t.Chart=c.Chart;var s=n(470);t.Collapsible=s.Collapsible;var l=n(471);t.ColorBox=l.ColorBox;var f=n(194);t.Dimmer=f.Dimmer;var d=n(195);t.Divider=d.Divider;var p=n(138);t.DraggableControl=p.DraggableControl;var h=n(472);t.Dropdown=h.Dropdown;var g=n(196);t.Flex=g.Flex;var v=n(473);t.Grid=v.Grid;var m=n(102);t.Icon=m.Icon;var y=n(198);t.Input=y.Input;var b=n(474);t.Knob=b.Knob;var x=n(475);t.LabeledControls=x.LabeledControls;var w=n(199);t.LabeledList=w.LabeledList;var _=n(476);t.Modal=_.Modal;var E=n(477);t.NoticeBox=E.NoticeBox;var k=n(139);t.NumberInput=k.NumberInput;var S=n(478);t.ProgressBar=S.ProgressBar;var C=n(479);t.Section=C.Section;var N=n(480);t.Slider=N.Slider;var A=n(197);t.Table=A.Table;var T=n(481);t.TextArea=T.TextArea;var O=n(482);t.Tabs=O.Tabs;var I=n(193);t.Tooltip=I.Tooltip;var M=n(483);t.TimeDisplay=M.TimeDisplay},function(e,t,n){"use strict";(function(e){t.__esModule=!0,t.useSharedState=t.useLocalState=t.useBackend=t.selectBackend=t.sendAct=t.sendMessage=t.backendMiddleware=t.backendReducer=t.backendSuspendSuccess=t.backendSuspendStart=t.backendSetSharedState=t.backendUpdate=void 0;var r=n(99),o=n(189),i=n(190),a=n(35),u=n(134);var c=(0,a.createLogger)("backend"),s=function(e){return{type:"backend/update",payload:e}};t.backendUpdate=s;var l=function(e,t){return{type:"backend/setSharedState",payload:{key:e,nextState:t}}};t.backendSetSharedState=l;t.backendSuspendStart=function(){return{type:"backend/suspendStart"}};var f=function(){return{type:"backend/suspendSuccess",payload:{timestamp:Date.now()}}};t.backendSuspendSuccess=f;var d={config:{},data:{},shared:{},suspended:Date.now(),suspending:!1};t.backendReducer=function(e,t){void 0===e&&(e=d);var n=t.type,r=t.payload;if("backend/update"===n){var o=Object.assign({},e.config,r.config),i=Object.assign({},e.data,r.static_data,r.data),a=Object.assign({},e.shared);if(r.shared)for(var u=0,c=Object.keys(r.shared);u=0||(o[n]=e[n]);return o}(t,["payload"]),o=Object.assign({tgui:1,window_id:window.__windowId__},r);null!==n&&n!==undefined&&(o.payload=JSON.stringify(n)),Byond.topic(o)};t.sendMessage=p;var h=function(e,t){void 0===t&&(t={}),"object"!=typeof t||null===t||Array.isArray(t)?c.error("Payload for act() must be an object, got this:",t):p({type:"act/"+e,payload:t})};t.sendAct=h;var g=function(e){return e.backend||{}};t.selectBackend=g;t.useBackend=function(e){var t=e.store,n=g(t.getState());return Object.assign({},n,{act:h})};t.useLocalState=function(e,t,n){var r,o=e.store,i=null!=(r=g(o.getState()).shared)?r:{},a=t in i?i[t]:n;return[a,function(e){o.dispatch(l(t,"function"==typeof e?e(a):e))}]};t.useSharedState=function(e,t,n){var r,o=e.store,i=null!=(r=g(o.getState()).shared)?r:{},a=t in i?i[t]:n;return[a,function(e){p({type:"setSharedState",key:t,value:JSON.stringify("function"==typeof e?e(a):e)||""})}]}}).call(this,n(101).setImmediate)},function(e,t,n){"use strict";t.__esModule=!0,t.Window=t.Pane=t.NtosWindow=t.Layout=void 0;var r=n(140);t.Layout=r.Layout;var o=n(484);t.NtosWindow=o.NtosWindow;var i=n(485);t.Pane=i.Pane;var a=n(200);t.Window=a.Window},function(e,t,n){"use strict";var r=n(7),o=n(23).f,i=n(31),a=n(26),u=n(108),c=n(152),s=n(71);e.exports=function(e,t){var n,l,f,d,p,h=e.target,g=e.global,v=e.stat;if(n=g?r:v?r[h]||u(h,{}):(r[h]||{}).prototype)for(l in t){if(d=t[l],f=e.noTargetGet?(p=o(n,l))&&p.value:n[l],!s(g?l:h+(v?".":"#")+l,e.forced)&&f!==undefined){if(typeof d==typeof f)continue;c(d,f)}(e.sham||f&&f.sham)&&i(d,"sham",!0),a(n,l,d,e)}}},function(e,t,n){"use strict";e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){"use strict";t.__esModule=!0,t.canRender=t.pureComponentHooks=t.shallowDiffers=t.normalizeChildren=t.classes=void 0;t.classes=function(e){for(var t="",n=0;nn?n:e};t.clamp01=function(e){return e<0?0:e>1?1:e};t.scale=function(e,t,n){return(e-t)/(n-t)};t.round=function(e,t){return!e||isNaN(e)?e:(t|=0,i=(e*=n=Math.pow(10,t))>0|-(e<0),o=Math.abs(e%1)>=.4999999999854481,r=Math.floor(e),o&&(e=r+(i>0)),(o?e:Math.round(e))/n);var n,r,o,i};t.toFixed=function(e,t){return void 0===t&&(t=0),Number(e).toFixed(Math.max(t,0))};var r=function(e,t){return t&&e>=t[0]&&e<=t[1]};t.inRange=r;t.keyOfMatchingRange=function(e,t){for(var n=0,o=Object.keys(t);nu)return 1}return 0};t.sortBy=function(){for(var e=arguments.length,t=new Array(e),n=0;n0?o(r(e),9007199254740991):0}},function(e,t,n){"use strict";var r,o=n(122),i=n(11),a=n(7),u=n(9),c=n(20),s=n(84),l=n(31),f=n(26),d=n(16).f,p=n(40),h=n(56),g=n(15),v=n(68),m=a.Int8Array,y=m&&m.prototype,b=a.Uint8ClampedArray,x=b&&b.prototype,w=m&&p(m),_=y&&p(y),E=Object.prototype,k=E.isPrototypeOf,S=g("toStringTag"),C=v("TYPED_ARRAY_TAG"),N=o&&!!h&&"Opera"!==s(a.opera),A=!1,T={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},O=function(e){var t=s(e);return"DataView"===t||c(T,t)},I=function(e){return u(e)&&c(T,s(e))};for(r in T)a[r]||(N=!1);if((!N||"function"!=typeof w||w===Function.prototype)&&(w=function(){throw TypeError("Incorrect invocation")},N))for(r in T)a[r]&&h(a[r],w);if((!N||!_||_===E)&&(_=w.prototype,N))for(r in T)a[r]&&h(a[r].prototype,_);if(N&&p(x)!==_&&h(x,_),i&&!c(_,S))for(r in A=!0,d(_,S,{get:function(){return u(this)?this[C]:undefined}}),T)a[r]&&l(a[r],C,r);e.exports={NATIVE_ARRAY_BUFFER_VIEWS:N,TYPED_ARRAY_TAG:A&&C,aTypedArray:function(e){if(I(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(h){if(k.call(w,e))return e}else for(var t in T)if(c(T,r)){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(i){if(n)for(var r in T){var o=a[r];o&&c(o.prototype,e)&&delete o.prototype[e]}_[e]&&!n||f(_,e,n?t:N&&y[e]||t)}},exportTypedArrayStaticMethod:function(e,t,n){var r,o;if(i){if(h){if(n)for(r in T)(o=a[r])&&c(o,e)&&delete o[e];if(w[e]&&!n)return;try{return f(w,e,n?t:N&&m[e]||t)}catch(u){}}for(r in T)!(o=a[r])||o[e]&&!n||f(o,e,t)}},isView:O,isTypedArray:I,TypedArray:w,TypedArrayPrototype:_}},function(e,t,n){"use strict";var r=n(7),o=n(110),i=n(20),a=n(68),u=n(114),c=n(155),s=o("wks"),l=r.Symbol,f=c?l:l&&l.withoutSetter||a;e.exports=function(e){return i(s,e)||(u&&i(l,e)?s[e]=l[e]:s[e]=f("Symbol."+e)),s[e]}},function(e,t,n){"use strict";var r=n(11),o=n(149),i=n(12),a=n(38),u=Object.defineProperty;t.f=r?u:function(e,t,n){if(i(e),t=a(t,!0),i(n),o)try{return u(e,t,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){"use strict";function r(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n",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.Box=t.computeBoxClassName=t.computeBoxProps=t.halfUnit=t.unit=void 0;var r=n(6),o=n(0),i=n(466),a=n(41);var u=function(e){return"string"==typeof e?e.endsWith("px")&&!Byond.IS_LTE_IE8?parseFloat(e)/12+"rem":e:"number"==typeof e?Byond.IS_LTE_IE8?12*e+"px":e+"rem":void 0};t.unit=u;var c=function(e){return"string"==typeof e?u(e):"number"==typeof e?u(.5*e):void 0};t.halfUnit=c;var s=function(e){return"string"==typeof e&&a.CSS_COLORS.includes(e)},l=function(e){return function(t,n){"number"!=typeof n&&"string"!=typeof n||(t[e]=n)}},f=function(e,t){return function(n,r){"number"!=typeof r&&"string"!=typeof r||(n[e]=t(r))}},d=function(e,t){return function(n,r){r&&(n[e]=t)}},p=function(e,t,n){return function(r,o){if("number"==typeof o||"string"==typeof o)for(var i=0;i0&&(t.style=c),t};t.computeBoxProps=v;var m=function(e){var t=e.textColor||e.color,n=e.backgroundColor;return(0,r.classes)([s(t)&&"color-"+t,s(n)&&"color-bg-"+n])};t.computeBoxClassName=m;var y=function(e){var t=e.as,n=void 0===t?"div":t,r=e.className,a=e.children,u=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["as","className","children"]);if("function"==typeof a)return a(v(e));var c="string"==typeof r?r+" "+m(u):m(u),s=v(u);return(0,o.createVNode)(i.VNodeFlags.HtmlElement,n,c,a,i.ChildFlags.UnknownChildren,s)};t.Box=y,y.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";var r=n(25);e.exports=function(e){return Object(r(e))}},function(e,t,n){"use strict";var r={}.hasOwnProperty;e.exports=function(e,t){return r.call(e,t)}},function(e,t,n){"use strict";var r=n(54),o=n(67),i=n(19),a=n(13),u=n(73),c=[].push,s=function(e){var t=1==e,n=2==e,s=3==e,l=4==e,f=6==e,d=5==e||f;return function(p,h,g,v){for(var m,y,b=i(p),x=o(b),w=r(h,g,3),_=a(x.length),E=0,k=v||u,S=t?k(p,_):n?k(p,0):undefined;_>E;E++)if((d||E in x)&&(y=w(m=x[E],E,b),e))if(t)S[E]=y;else if(y)switch(e){case 3:return!0;case 5:return m;case 6:return E;case 2:c.call(S,m)}else if(l)return!1;return f?-1:s||l?l:S}};e.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6)}},function(e,t,n){"use strict";t.__esModule=!0,t.useSelector=t.useDispatch=t.createAction=t.combineReducers=t.applyMiddleware=t.createStore=void 0;var r=n(24);function o(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?o-1:0),a=1;a1?t-1:0),r=1;r=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?o-1:0),u=1;u1?r-1:0),i=1;i"+a+""}},function(e,t,n){"use strict";var r=n(5);e.exports=function(e){return r((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}},function(e,t,n){"use strict";t.__esModule=!0,t.logger=t.createLogger=void 0;n(100);var r=0,o=1,i=2,a=3,u=4,c=function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o=i){var a=[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;Byond.topic({tgui:1,window_id:window.__windowId__,type:"log",ns:t,message:a})}},s=function(e){return{debug:function(){for(var t=arguments.length,n=new Array(t),o=0;o0?o:r)(e)}},function(e,t,n){"use strict";var r=n(9);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){"use strict";var r=n(153),o=n(7),i=function(e){return"function"==typeof e?e:undefined};e.exports=function(e,t){return arguments.length<2?i(r[e])||i(o[e]):r[e]&&r[e][t]||o[e]&&o[e][t]}},function(e,t,n){"use strict";var r=n(20),o=n(19),i=n(82),a=n(121),u=i("IE_PROTO"),c=Object.prototype;e.exports=a?Object.getPrototypeOf:function(e){return e=o(e),r(e,u)?e[u]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?c: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 r=[{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"},{id:"hydrogen",name:"Hydrogen",label:"H\u2082",color:"white"}];t.getGasLabel=function(e,t){var n=String(e).toLowerCase(),o=r.find((function(e){return e.id===n||e.name.toLowerCase()===n}));return o&&o.label||t||e};t.getGasColor=function(e){var t=String(e).toLowerCase(),n=r.find((function(e){return e.id===t||e.name.toLowerCase()===t}));return n&&n.color}},function(e,t,n){"use strict";t.__esModule=!0,t.formatSiBaseTenUnit=t.formatDb=t.formatMoney=t.formatPower=t.formatSiUnit=void 0;var r=n(8),o=["f","p","n","\u03bc","m"," ","k","M","G","T","P","E","Z","Y","R","Q","F","N","H"],i=o.indexOf(" "),a=function(e,t,n){if(void 0===t&&(t=-i),void 0===n&&(n=""),"number"!=typeof e||!Number.isFinite(e))return e;var a=Math.floor(Math.log10(e)),u=Math.floor(Math.max(3*t,a)),c=Math.floor(a/3),s=Math.floor(u/3),l=(0,r.clamp)(i+s,0,o.length),f=o[l],d=e/Math.pow(1e3,s),p=c>t?2+3*s-u:0;return((0,r.toFixed)(d,p)+" "+f+n).trim()};t.formatSiUnit=a;t.formatPower=function(e,t){return void 0===t&&(t=0),a(e,t,"W")};t.formatMoney=function(e,t){if(void 0===t&&(t=0),!Number.isFinite(e))return e;var n=(0,r.round)(e,t);t>0&&(n=(0,r.toFixed)(e,t));var o=(n=String(n)).length,i=n.indexOf(".");-1===i&&(i=o);for(var a="",u=0;u0&&u=0?"+":t<0?"\u2013":"",o=Math.abs(t);return n+(o=o===Infinity?"Inf":(0,r.toFixed)(o,2))+" dB"};var u=["","\xb7 10\xb3","\xb7 10\u2076","\xb7 10\u2079","\xb7 10\xb9\xb2","\xb7 10\xb9\u2075","\xb7 10\xb9\u2078","\xb7 10\xb2\xb9","\xb7 10\xb2\u2074","\xb7 10\xb2\u2077","\xb7 10\xb3\u2070","\xb7 10\xb3\xb3","\xb7 10\xb3\u2076","\xb7 10\xb3\u2079"],c=u.indexOf(" ");t.formatSiBaseTenUnit=function(e,t,n){if(void 0===t&&(t=-c),void 0===n&&(n=""),"number"!=typeof e||!Number.isFinite(e))return e;var o=Math.floor(Math.log10(e)),i=Math.floor(Math.max(3*t,o)),a=Math.floor(o/3),s=Math.floor(i/3),l=(0,r.clamp)(c+s,0,u.length),f=u[l],d=e/Math.pow(1e3,s),p=a>t?2+3*s-i:0;return((0,r.toFixed)(d,p)+" "+f+" "+n).trim()}},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var r=n(5);e.exports=function(e,t){var n=[][e];return!!n&&r((function(){n.call(null,t||function(){throw 1},1)}))}},function(e,t,n){"use strict";var r=n(12),o=n(28),i=n(15)("species");e.exports=function(e,t){var n,a=r(e).constructor;return a===undefined||(n=r(a)[i])==undefined?t:o(n)}},function(e,t,n){"use strict";var r=n(4),o=n(7),i=n(11),a=n(133),u=n(14),c=n(87),s=n(61),l=n(52),f=n(31),d=n(13),p=n(168),h=n(182),g=n(38),v=n(20),m=n(84),y=n(9),b=n(48),x=n(56),w=n(53).f,_=n(183),E=n(21).forEach,k=n(60),S=n(16),C=n(23),N=n(32),A=n(89),T=N.get,O=N.set,I=S.f,M=C.f,L=Math.round,V=o.RangeError,R=c.ArrayBuffer,P=c.DataView,B=u.NATIVE_ARRAY_BUFFER_VIEWS,D=u.TYPED_ARRAY_TAG,F=u.TypedArray,j=u.TypedArrayPrototype,K=u.aTypedArrayConstructor,z=u.isTypedArray,Y="BYTES_PER_ELEMENT",U="Wrong length",$=function(e,t){for(var n=0,r=t.length,o=new(K(e))(r);r>n;)o[n]=t[n++];return o},H=function(e,t){I(e,t,{get:function(){return T(this)[t]}})},W=function(e){var t;return e instanceof R||"ArrayBuffer"==(t=m(e))||"SharedArrayBuffer"==t},q=function(e,t){return z(e)&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},G=function(e,t){return q(e,t=g(t,!0))?l(2,e[t]):M(e,t)},X=function(e,t,n){return!(q(e,t=g(t,!0))&&y(n)&&v(n,"value"))||v(n,"get")||v(n,"set")||n.configurable||v(n,"writable")&&!n.writable||v(n,"enumerable")&&!n.enumerable?I(e,t,n):(e[t]=n.value,e)};i?(B||(C.f=G,S.f=X,H(j,"buffer"),H(j,"byteOffset"),H(j,"byteLength"),H(j,"length")),r({target:"Object",stat:!0,forced:!B},{getOwnPropertyDescriptor:G,defineProperty:X}),e.exports=function(e,t,n){var i=e.match(/\d+$/)[0]/8,u=e+(n?"Clamped":"")+"Array",c="get"+e,l="set"+e,g=o[u],v=g,m=v&&v.prototype,S={},C=function(e,t){I(e,t,{get:function(){return function(e,t){var n=T(e);return n.view[c](t*i+n.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,r){var o=T(e);n&&(r=(r=L(r))<0?0:r>255?255:255&r),o.view[l](t*i+o.byteOffset,r,!0)}(this,t,e)},enumerable:!0})};B?a&&(v=t((function(e,t,n,r){return s(e,v,u),A(y(t)?W(t)?r!==undefined?new g(t,h(n,i),r):n!==undefined?new g(t,h(n,i)):new g(t):z(t)?$(v,t):_.call(v,t):new g(p(t)),e,v)})),x&&x(v,F),E(w(g),(function(e){e in v||f(v,e,g[e])})),v.prototype=m):(v=t((function(e,t,n,r){s(e,v,u);var o,a,c,l=0,f=0;if(y(t)){if(!W(t))return z(t)?$(v,t):_.call(v,t);o=t,f=h(n,i);var g=t.byteLength;if(r===undefined){if(g%i)throw V(U);if((a=g-f)<0)throw V(U)}else if((a=d(r)*i)+f>g)throw V(U);c=a/i}else c=p(t),o=new R(a=c*i);for(O(e,{buffer:o,byteOffset:f,byteLength:a,length:c,view:new P(o)});l"+e+""},h=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(o){}var e,t;h=r?function(e){e.write(p("")),e.close();var t=e.parentWindow.Object;return e=null,t}(r):((t=s("iframe")).style.display="none",c.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(p("document.F=Object")),e.close(),e.F);for(var n=a.length;n--;)delete h.prototype[a[n]];return h()};u[f]=!0,e.exports=Object.create||function(e,t){var n;return null!==e?(d.prototype=o(e),n=new d,d.prototype=null,n[f]=e):n=h(),t===undefined?n:i(n,t)}},function(e,t,n){"use strict";var r=n(16).f,o=n(20),i=n(15)("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t,n){"use strict";var r=n(15),o=n(48),i=n(16),a=r("unscopables"),u=Array.prototype;u[a]==undefined&&i.f(u,a,{configurable:!0,value:o(null)}),e.exports=function(e){u[a][e]=!0}},function(e,t,n){"use strict";t.__esModule=!0,t.assetMiddleware=t.resolveAsset=void 0;var r=[/v4shim/i],o={};t.resolveAsset=function(e){return o[e]||e};t.assetMiddleware=function(e){return function(e){return function(t){var n=t.type,i=t.payload;if("asset/stylesheet"!==n)if("asset/mappings"!==n)e(t);else for(var a=function(){var e=c[u];if(r.some((function(t){return t.test(e)})))return"continue";var t=i[e],n=e.split(".").pop();o[e]=t,"css"===n&&Byond.loadCss(t),"js"===n&&Byond.loadJs(t)},u=0,c=Object.keys(i);u=0&&g.splice(t,1)};window.addEventListener("mousemove",(function(e){var t=e.target;t!==h&&(h=t,function(e){if(!l&&c)for(var t=document.body;e&&e!==t;){if(g.includes(e)){if(e.contains(p))return;return p=e,void e.focus()}e=e.parentNode}}(t))})),window.addEventListener("focusin",(function(e){if(h=null,p=e.target,s(!0),f(e.target))return t=e.target,d(),void(l=t).addEventListener("blur",d);var t})),window.addEventListener("focusout",(function(e){h=null,s(!1,!0)})),window.addEventListener("blur",(function(e){h=null,s(!1,!0)})),window.addEventListener("beforeunload",(function(e){s(!1)}));var v={},m=function(){function e(e,t,n){this.event=e,this.type=t,this.code=window.event?e.which:e.keyCode,this.ctrl=e.ctrlKey,this.shift=e.shiftKey,this.alt=e.altKey,this.repeat=!!n}var t=e.prototype;return t.hasModifierKeys=function(){return this.ctrl||this.alt||this.shift},t.isModifierKey=function(){return this.code===o.KEY_CTRL||this.code===o.KEY_SHIFT||this.code===o.KEY_ALT},t.isDown=function(){return"keydown"===this.type},t.isUp=function(){return"keyup"===this.type},t.toString=function(){return this._str||(this._str="",this.ctrl&&(this._str+="Ctrl+"),this.alt&&(this._str+="Alt+"),this.shift&&(this._str+="Shift+"),this.code>=48&&this.code<=90?this._str+=String.fromCharCode(this.code):this.code>=o.KEY_F1&&this.code<=o.KEY_F12?this._str+="F"+(this.code-111):this._str+="["+this.code+"]"),this._str},e}();document.addEventListener("keydown",(function(e){if(!f(e.target)){var t=e.keyCode,n=new m(e,"keydown",v[t]);i.emit("keydown",n),i.emit("key",n),v[t]=!0}})),document.addEventListener("keyup",(function(e){if(!f(e.target)){var t=e.keyCode,n=new m(e,"keyup");i.emit("keyup",n),i.emit("key",n),v[t]=!1}}))},function(e,t,n){"use strict";var r=n(36);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){"use strict";var r=n(39),o=n(16),i=n(15),a=n(11),u=i("species");e.exports=function(e){var t=r(e),n=o.f;a&&t&&!t[u]&&n(t,u,{configurable:!0,get:function(){return this}})}},function(e,t,n){"use strict";e.exports=function(e,t,n){if(!(e instanceof t))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return e}},function(e,t,n){"use strict";var r=n(12),o=n(117),i=n(13),a=n(54),u=n(118),c=n(162),s=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,t,n,l,f){var d,p,h,g,v,m,y,b=a(t,n,l?2:1);if(f)d=e;else{if("function"!=typeof(p=u(e)))throw TypeError("Target is not iterable");if(o(p)){for(h=0,g=i(e.length);g>h;h++)if((v=l?b(r(y=e[h])[0],y[1]):b(e[h]))&&v instanceof s)return v;return new s(!1)}d=p.call(e)}for(m=d.next;!(y=m.call(d)).done;)if("object"==typeof(v=c(d,b,y.value,l))&&v&&v instanceof s)return v;return new s(!1)}).stop=function(e){return new s(!0,e)}},function(e,t,n){"use strict";var r=n(25),o="["+n(91)+"]",i=RegExp("^"+o+o+"*"),a=RegExp(o+o+"*$"),u=function(e){return function(t){var n=String(r(t));return 1&e&&(n=n.replace(i,"")),2&e&&(n=n.replace(a,"")),n}};e.exports={start:u(1),end:u(2),trim:u(3)}},function(e,t,n){"use strict";t.__esModule=!0,t.KEY_QUOTE=t.KEY_RIGHT_BRACKET=t.KEY_BACKSLASH=t.KEY_LEFT_BRACKET=t.KEY_SLASH=t.KEY_PERIOD=t.KEY_MINUS=t.KEY_COMMA=t.KEY_EQUAL=t.KEY_SEMICOLON=t.KEY_F12=t.KEY_F11=t.KEY_F10=t.KEY_F9=t.KEY_F8=t.KEY_F7=t.KEY_F6=t.KEY_F5=t.KEY_F4=t.KEY_F3=t.KEY_F2=t.KEY_F1=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_DELETE=t.KEY_INSERT=t.KEY_DOWN=t.KEY_RIGHT=t.KEY_UP=t.KEY_LEFT=t.KEY_HOME=t.KEY_END=t.KEY_PAGEDOWN=t.KEY_PAGEUP=t.KEY_SPACE=t.KEY_ESCAPE=t.KEY_CAPSLOCK=t.KEY_PAUSE=t.KEY_ALT=t.KEY_CTRL=t.KEY_SHIFT=t.KEY_ENTER=t.KEY_TAB=t.KEY_BACKSPACE=void 0;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_PAUSE=19;t.KEY_CAPSLOCK=20;t.KEY_ESCAPE=27;t.KEY_SPACE=32;t.KEY_PAGEUP=33;t.KEY_PAGEDOWN=34;t.KEY_END=35;t.KEY_HOME=36;t.KEY_LEFT=37;t.KEY_UP=38;t.KEY_RIGHT=39;t.KEY_DOWN=40;t.KEY_INSERT=45;t.KEY_DELETE=46;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_F1=112;t.KEY_F2=113;t.KEY_F3=114;t.KEY_F4=115;t.KEY_F5=116;t.KEY_F6=117;t.KEY_F7=118;t.KEY_F8=119;t.KEY_F9=120;t.KEY_F10=121;t.KEY_F11=122;t.KEY_F12=123;t.KEY_SEMICOLON=186;t.KEY_EQUAL=187;t.KEY_COMMA=188;t.KEY_MINUS=189;t.KEY_PERIOD=190;t.KEY_SLASH=191;t.KEY_LEFT_BRACKET=219;t.KEY_BACKSLASH=220;t.KEY_RIGHT_BRACKET=221;t.KEY_QUOTE=222},,,function(e,t,n){"use strict";var r=n(5),o=n(36),i="".split;e.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==o(e)?i.call(e,""):Object(e)}:Object},function(e,t,n){"use strict";var r=0,o=Math.random();e.exports=function(e){return"Symbol("+String(e===undefined?"":e)+")_"+(++r+o).toString(36)}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var r=n(30),o=n(13),i=n(47),a=function(e){return function(t,n,a){var u,c=r(t),s=o(c.length),l=i(a,s);if(e&&n!=n){for(;s>l;)if((u=c[l++])!=u)return!0}else for(;s>l;l++)if((e||l in c)&&c[l]===n)return e||l||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},function(e,t,n){"use strict";var r=n(5),o=/#|\.prototype\./,i=function(e,t){var n=u[a(e)];return n==s||n!=c&&("function"==typeof t?r(t):!!t)},a=i.normalize=function(e){return String(e).replace(o,".").toLowerCase()},u=i.data={},c=i.NATIVE="N",s=i.POLYFILL="P";e.exports=i},function(e,t,n){"use strict";var r=n(154),o=n(112);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t,n){"use strict";var r=n(9),o=n(59),i=n(15)("species");e.exports=function(e,t){var n;return o(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!o(n.prototype)?r(n)&&null===(n=n[i])&&(n=undefined):n=undefined),new(n===undefined?Array:n)(0===t?0:t)}},function(e,t,n){"use strict";var r=n(5),o=n(15),i=n(115),a=o("species");e.exports=function(e){return i>=51||!r((function(){var t=[];return(t.constructor={})[a]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var r=n(26);e.exports=function(e,t,n){for(var o in t)r(e,o,t[o],n);return e}},function(e,t,n){"use strict";var r=n(5);e.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(e,t,n){"use strict";var r=n(12);e.exports=function(){var e=r(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";function r(e,t,n,r,o,i,a){try{var u=e[i](a),c=u.value}catch(s){return void n(s)}u.done?t(c):Promise.resolve(c).then(r,o)}function o(e){return function(){var t=this,n=arguments;return new Promise((function(o,i){var a=e.apply(t,n);function u(e){r(a,o,i,u,c,"next",e)}function c(e){r(a,o,i,u,c,"throw",e)}u(undefined)}))}}t.__esModule=!0,t.storage=t.IMPL_INDEXED_DB=t.IMPL_LOCAL_STORAGE=t.IMPL_MEMORY=void 0;t.IMPL_MEMORY=0;t.IMPL_LOCAL_STORAGE=1;t.IMPL_INDEXED_DB=2;var i="storage-v1",a="readwrite",u=function(e){return function(){try{return Boolean(e())}catch(t){return!1}}},c=u((function(){return window.localStorage&&window.localStorage.getItem})),s=u((function(){return(window.indexedDB||window.msIndexedDB)&&(window.IDBTransaction||window.msIDBTransaction)})),l=function(){function e(){this.impl=0,this.store={}}var t=e.prototype;return t.get=function(e){return this.store[e]},t.set=function(e,t){this.store[e]=t},t.remove=function(e){this.store[e]=undefined},t.clear=function(){this.store={}},e}(),f=function(){function e(){this.impl=1}var t=e.prototype;return t.get=function(e){var t=localStorage.getItem(e);if("string"==typeof t)return JSON.parse(t)},t.set=function(e,t){localStorage.setItem(e,JSON.stringify(t))},t.remove=function(e){localStorage.removeItem(e)},t.clear=function(){localStorage.clear()},e}(),d=function(){function e(){this.impl=2,this.dbPromise=new Promise((function(e,t){var n=(window.indexedDB||window.msIndexedDB).open("tgui",1);n.onupgradeneeded=function(){try{n.result.createObjectStore(i)}catch(e){t(new Error("Failed to upgrade IDB: "+n.error))}},n.onsuccess=function(){return e(n.result)},n.onerror=function(){t(new Error("Failed to open IDB: "+n.error))}}))}var t=e.prototype;return t.getStore=function(e){return this.dbPromise.then((function(t){return t.transaction(i,e).objectStore(i)}))},t.get=function(){var e=o(regeneratorRuntime.mark((function t(e){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getStore("readonly");case 2:return n=t.sent,t.abrupt("return",new Promise((function(t,r){var o=n.get(e);o.onsuccess=function(){return t(o.result)},o.onerror=function(){return r(o.error)}})));case 4:case"end":return t.stop()}}),t,this)})));return function(t){return e.apply(this,arguments)}}(),t.set=function(){var e=o(regeneratorRuntime.mark((function t(e,n){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return null===n&&(n=undefined),t.next=3,this.getStore(a);case 3:t.sent.put(n,e);case 5:case"end":return t.stop()}}),t,this)})));return function(t,n){return e.apply(this,arguments)}}(),t.remove=function(){var e=o(regeneratorRuntime.mark((function t(e){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getStore(a);case 2:t.sent["delete"](e);case 4:case"end":return t.stop()}}),t,this)})));return function(t){return e.apply(this,arguments)}}(),t.clear=function(){var e=o(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getStore(a);case 2:e.sent.clear();case 4:case"end":return e.stop()}}),t,this)})));return function(){return e.apply(this,arguments)}}(),e}(),p=new(function(){function e(){this.backendPromise=o(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!s()){e.next=10;break}return e.prev=1,t=new d,e.next=5,t.dbPromise;case 5:return e.abrupt("return",t);case 8:e.prev=8,e.t0=e["catch"](1);case 10:if(!c()){e.next=12;break}return e.abrupt("return",new f);case 12:return e.abrupt("return",new l);case 13:case"end":return e.stop()}}),e,null,[[1,8]])})))()}var t=e.prototype;return t.get=function(){var e=o(regeneratorRuntime.mark((function t(e){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.backendPromise;case 2:return n=t.sent,t.abrupt("return",n.get(e));case 4:case"end":return t.stop()}}),t,this)})));return function(t){return e.apply(this,arguments)}}(),t.set=function(){var e=o(regeneratorRuntime.mark((function t(e,n){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.backendPromise;case 2:return r=t.sent,t.abrupt("return",r.set(e,n));case 4:case"end":return t.stop()}}),t,this)})));return function(t,n){return e.apply(this,arguments)}}(),t.remove=function(){var e=o(regeneratorRuntime.mark((function t(e){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.backendPromise;case 2:return n=t.sent,t.abrupt("return",n.remove(e));case 4:case"end":return t.stop()}}),t,this)})));return function(t){return e.apply(this,arguments)}}(),t.clear=function(){var e=o(regeneratorRuntime.mark((function t(){var e;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.backendPromise;case 2:return e=t.sent,t.abrupt("return",e.clear());case 4:case"end":return t.stop()}}),t,this)})));return function(){return e.apply(this,arguments)}}(),e}());t.storage=p},,function(e,t,n){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);t.f=i?function(e){var t=o(this,e);return!!t&&t.enumerable}:r},function(e,t,n){"use strict";var r=n(110),o=n(68),i=r("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},function(e,t,n){"use strict";var r=n(39);e.exports=r("navigator","userAgent")||""},function(e,t,n){"use strict";var r=n(119),o=n(36),i=n(15)("toStringTag"),a="Arguments"==o(function(){return arguments}());e.exports=r?o:function(e){var t,n,r;return e===undefined?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(n){}}(t=Object(e),i))?n:a?o(t):"Object"==(r=o(t))&&"function"==typeof t.callee?"Arguments":r}},function(e,t,n){"use strict";var r=n(15)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},"return":function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(u){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var i={};i[r]=function(){return{next:function(){return{done:n=!0}}}},e(i)}catch(u){}return n}},function(e,t,n){"use strict";var r=n(28),o=n(19),i=n(67),a=n(13),u=function(e){return function(t,n,u,c){r(n);var s=o(t),l=i(s),f=a(s.length),d=e?f-1:0,p=e?-1:1;if(u<2)for(;;){if(d in l){c=l[d],d+=p;break}if(d+=p,e?d<0:f<=d)throw TypeError("Reduce of empty array with no initial value")}for(;e?d>=0:f>d;d+=p)d in l&&(c=n(c,l[d],d,s));return c}};e.exports={left:u(!1),right:u(!0)}},function(e,t,n){"use strict";var r=n(7),o=n(11),i=n(122),a=n(31),u=n(76),c=n(5),s=n(61),l=n(37),f=n(13),d=n(168),p=n(270),h=n(40),g=n(56),v=n(53).f,m=n(16).f,y=n(116),b=n(49),x=n(32),w=x.get,_=x.set,E="ArrayBuffer",k="DataView",S="Wrong index",C=r.ArrayBuffer,N=C,A=r.DataView,T=A&&A.prototype,O=Object.prototype,I=r.RangeError,M=p.pack,L=p.unpack,V=function(e){return[255&e]},R=function(e){return[255&e,e>>8&255]},P=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},B=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},D=function(e){return M(e,23,4)},F=function(e){return M(e,52,8)},j=function(e,t){m(e.prototype,t,{get:function(){return w(this)[t]}})},K=function(e,t,n,r){var o=d(n),i=w(e);if(o+t>i.byteLength)throw I(S);var a=w(i.buffer).bytes,u=o+i.byteOffset,c=a.slice(u,u+t);return r?c:c.reverse()},z=function(e,t,n,r,o,i){var a=d(n),u=w(e);if(a+t>u.byteLength)throw I(S);for(var c=w(u.buffer).bytes,s=a+u.byteOffset,l=r(+o),f=0;fH;)(Y=$[H++])in N||a(N,Y,C[Y]);U.constructor=N}g&&h(T)!==O&&g(T,O);var W=new A(new N(2)),q=T.setInt8;W.setInt8(0,2147483648),W.setInt8(1,2147483649),!W.getInt8(0)&&W.getInt8(1)||u(T,{setInt8:function(e,t){q.call(this,e,t<<24>>24)},setUint8:function(e,t){q.call(this,e,t<<24>>24)}},{unsafe:!0})}else N=function(e){s(this,N,E);var t=d(e);_(this,{bytes:y.call(new Array(t),0),byteLength:t}),o||(this.byteLength=t)},A=function(e,t,n){s(this,A,k),s(e,N,k);var r=w(e).byteLength,i=l(t);if(i<0||i>r)throw I("Wrong offset");if(i+(n=n===undefined?r-i:f(n))>r)throw I("Wrong length");_(this,{buffer:e,byteLength:n,byteOffset:i}),o||(this.buffer=e,this.byteLength=n,this.byteOffset=i)},o&&(j(N,"byteLength"),j(A,"buffer"),j(A,"byteLength"),j(A,"byteOffset")),u(A.prototype,{getInt8:function(e){return K(this,1,e)[0]<<24>>24},getUint8:function(e){return K(this,1,e)[0]},getInt16:function(e){var t=K(this,2,e,arguments.length>1?arguments[1]:undefined);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=K(this,2,e,arguments.length>1?arguments[1]:undefined);return t[1]<<8|t[0]},getInt32:function(e){return B(K(this,4,e,arguments.length>1?arguments[1]:undefined))},getUint32:function(e){return B(K(this,4,e,arguments.length>1?arguments[1]:undefined))>>>0},getFloat32:function(e){return L(K(this,4,e,arguments.length>1?arguments[1]:undefined),23)},getFloat64:function(e){return L(K(this,8,e,arguments.length>1?arguments[1]:undefined),52)},setInt8:function(e,t){z(this,1,e,V,t)},setUint8:function(e,t){z(this,1,e,V,t)},setInt16:function(e,t){z(this,2,e,R,t,arguments.length>2?arguments[2]:undefined)},setUint16:function(e,t){z(this,2,e,R,t,arguments.length>2?arguments[2]:undefined)},setInt32:function(e,t){z(this,4,e,P,t,arguments.length>2?arguments[2]:undefined)},setUint32:function(e,t){z(this,4,e,P,t,arguments.length>2?arguments[2]:undefined)},setFloat32:function(e,t){z(this,4,e,D,t,arguments.length>2?arguments[2]:undefined)},setFloat64:function(e,t){z(this,8,e,F,t,arguments.length>2?arguments[2]:undefined)}});b(N,E),b(A,k),e.exports={ArrayBuffer:N,DataView:A}},function(e,t,n){"use strict";var r=n(4),o=n(7),i=n(71),a=n(26),u=n(57),c=n(62),s=n(61),l=n(9),f=n(5),d=n(85),p=n(49),h=n(89);e.exports=function(e,t,n){var g=-1!==e.indexOf("Map"),v=-1!==e.indexOf("Weak"),m=g?"set":"add",y=o[e],b=y&&y.prototype,x=y,w={},_=function(e){var t=b[e];a(b,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(v&&!l(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return v&&!l(e)?undefined:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(v&&!l(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(i(e,"function"!=typeof y||!(v||b.forEach&&!f((function(){(new y).entries().next()})))))x=n.getConstructor(t,e,g,m),u.REQUIRED=!0;else if(i(e,!0)){var E=new x,k=E[m](v?{}:-0,1)!=E,S=f((function(){E.has(1)})),C=d((function(e){new y(e)})),N=!v&&f((function(){for(var e=new y,t=5;t--;)e[m](t,t);return!e.has(-0)}));C||((x=t((function(t,n){s(t,x,e);var r=h(new y,t,x);return n!=undefined&&c(n,r[m],r,g),r}))).prototype=b,b.constructor=x),(S||N)&&(_("delete"),_("has"),g&&_("get")),(N||k)&&_(m),v&&b.clear&&delete b.clear}return w[e]=x,r({global:!0,forced:x!=y},w),p(x,e),v||n.setStrong(x,e,g),x}},function(e,t,n){"use strict";var r=n(9),o=n(56);e.exports=function(e,t,n){var i,a;return o&&"function"==typeof(i=t.constructor)&&i!==n&&r(a=i.prototype)&&a!==n.prototype&&o(e,a),e}},function(e,t,n){"use strict";var r=Math.expm1,o=Math.exp;e.exports=!r||r(10)>22025.465794806718||r(10)<22025.465794806718||-2e-17!=r(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:o(e)-1}:r},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 r=n(43),o=n(7),i=n(5);e.exports=r||!i((function(){var e=Math.random();__defineSetter__.call(null,e,(function(){})),delete o[e]}))},function(e,t,n){"use strict";var r=n(9),o=n(36),i=n(15)("match");e.exports=function(e){var t;return r(e)&&((t=e[i])!==undefined?!!t:"RegExp"==o(e))}},function(e,t,n){"use strict";var r=n(5);function o(e,t){return RegExp(e,t)}t.UNSUPPORTED_Y=r((function(){var e=o("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),t.BROKEN_CARET=r((function(){var e=o("^r","gy");return e.lastIndex=2,null!=e.exec("str")}))},function(e,t,n){"use strict";var r,o,i=n(78),a=n(94),u=RegExp.prototype.exec,c=String.prototype.replace,s=u,l=(r=/a/,o=/b*/g,u.call(r,"a"),u.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),f=a.UNSUPPORTED_Y||a.BROKEN_CARET,d=/()??/.exec("")[1]!==undefined;(l||d||f)&&(s=function(e){var t,n,r,o,a=this,s=f&&a.sticky,p=i.call(a),h=a.source,g=0,v=e;return s&&(-1===(p=p.replace("y","")).indexOf("g")&&(p+="g"),v=String(e).slice(a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==e[a.lastIndex-1])&&(h="(?: "+h+")",v=" "+v,g++),n=new RegExp("^(?:"+h+")",p)),d&&(n=new RegExp("^"+h+"$(?!\\s)",p)),l&&(t=a.lastIndex),r=u.call(s?n:a,v),s?r?(r.input=r.input.slice(g),r[0]=r[0].slice(g),r.index=a.lastIndex,a.lastIndex+=r[0].length):a.lastIndex=0:l&&r&&(a.lastIndex=a.global?r.index+r[0].length:t),d&&r&&r.length>1&&c.call(r[0],n,(function(){for(o=1;o")})),l="$0"==="a".replace(/./,"$0"),f=i("replace"),d=!!/./[f]&&""===/./[f]("a","$0"),p=!o((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,f){var h=i(e),g=!o((function(){var t={};return t[h]=function(){return 7},7!=""[e](t)})),v=g&&!o((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[c]=function(){return n},n.flags="",n[h]=/./[h]),n.exec=function(){return t=!0,null},n[h](""),!t}));if(!g||!v||"replace"===e&&(!s||!l||d)||"split"===e&&!p){var m=/./[h],y=n(h,""[e],(function(e,t,n,r,o){return t.exec===a?g&&!o?{done:!0,value:m.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),{REPLACE_KEEPS_$0:l,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:d}),b=y[0],x=y[1];r(String.prototype,e,b),r(RegExp.prototype,h,2==t?function(e,t){return x.call(e,this,t)}:function(e){return x.call(e,this)})}f&&u(RegExp.prototype[h],"sham",!0)}},function(e,t,n){"use strict";var r=n(129).charAt;e.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},function(e,t,n){"use strict";var r=n(36),o=n(95);e.exports=function(e,t){var n=e.exec;if("function"==typeof n){var i=n.call(e,t);if("object"!=typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(e))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(e,t)}},function(e,t,n){"use strict";var r;t.__esModule=!0,t.perf=void 0;null==(r=window.performance)||r.now;var o={mark:function(e,t){0},measure:function(e,t){}};t.perf=o},function(e,t,n){"use strict";t.__esModule=!0,t.setupHotReloading=t.sendLogEntry=t.sendMessage=t.subscribe=void 0;var r=[];t.subscribe=function(e){return r.push(e)};t.sendMessage=function(e){};t.sendLogEntry=function(e,t){};t.setupHotReloading=function(){0}},function(e,t,n){"use strict";(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,o=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(o.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new i(o.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(461),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||void 0,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||void 0}).call(this,n(106))},function(e,t,n){"use strict";t.__esModule=!0,t.IconStack=t.Icon=void 0;var r=n(0),o=n(6),i=n(18);function a(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var u=/-o$/,c=function(e){var t=e.name,n=e.size,c=e.spin,s=e.className,l=e.style,f=void 0===l?{}:l,d=e.rotation,p=(e.inverse,a(e,["name","size","spin","className","style","rotation","inverse"]));n&&(f["font-size"]=100*n+"%"),"number"==typeof d&&(f.transform="rotate("+d+"deg)");var h=u.test(t),g=t.replace(u,"");return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({as:"i",className:(0,o.classes)(["Icon",s,h?"far":"fas","fa-"+g,c&&"fa-spin"]),style:f},p)))};t.Icon=c,c.defaultHooks=o.pureComponentHooks;var s=function(e){var t=e.className,n=e.style,u=void 0===n?{}:n,c=e.children,s=a(e,["className","style","children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({as:"span","class":(0,o.classes)(["IconStack",t]),style:u},s,{children:c})))};t.IconStack=s,c.Stack=s},,,,function(e,t,n){"use strict";var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(o){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,n){"use strict";var r=n(7),o=n(9),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},function(e,t,n){"use strict";var r=n(7),o=n(31);e.exports=function(e,t){try{o(r,e,t)}catch(n){r[e]=t}return t}},function(e,t,n){"use strict";var r=n(150),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(e){return o.call(e)}),e.exports=r.inspectSource},function(e,t,n){"use strict";var r=n(43),o=n(150);(e.exports=function(e,t){return o[e]||(o[e]=t!==undefined?t:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"\xa9 2020 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){"use strict";var r=n(39),o=n(53),i=n(113),a=n(12);e.exports=r("Reflect","ownKeys")||function(e){var t=o.f(a(e)),n=i.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 r=n(5);e.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(e,t,n){"use strict";var r,o,i=n(7),a=n(83),u=i.process,c=u&&u.versions,s=c&&c.v8;s?o=(r=s.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=r[1]),e.exports=o&&+o},function(e,t,n){"use strict";var r=n(19),o=n(47),i=n(13);e.exports=function(e){for(var t=r(this),n=i(t.length),a=arguments.length,u=o(a>1?arguments[1]:undefined,n),c=a>2?arguments[2]:undefined,s=c===undefined?n:o(c,n);s>u;)t[u++]=e;return t}},function(e,t,n){"use strict";var r=n(15),o=n(75),i=r("iterator"),a=Array.prototype;e.exports=function(e){return e!==undefined&&(o.Array===e||a[i]===e)}},function(e,t,n){"use strict";var r=n(84),o=n(75),i=n(15)("iterator");e.exports=function(e){if(e!=undefined)return e[i]||e["@@iterator"]||o[r(e)]}},function(e,t,n){"use strict";var r={};r[n(15)("toStringTag")]="z",e.exports="[object z]"===String(r)},function(e,t,n){"use strict";var r=n(4),o=n(164),i=n(40),a=n(56),u=n(49),c=n(31),s=n(26),l=n(15),f=n(43),d=n(75),p=n(165),h=p.IteratorPrototype,g=p.BUGGY_SAFARI_ITERATORS,v=l("iterator"),m="keys",y="values",b="entries",x=function(){return this};e.exports=function(e,t,n,l,p,w,_){o(n,t,l);var E,k,S,C=function(e){if(e===p&&I)return I;if(!g&&e in T)return T[e];switch(e){case m:case y:case b:return function(){return new n(this,e)}}return function(){return new n(this)}},N=t+" Iterator",A=!1,T=e.prototype,O=T[v]||T["@@iterator"]||p&&T[p],I=!g&&O||C(p),M="Array"==t&&T.entries||O;if(M&&(E=i(M.call(new e)),h!==Object.prototype&&E.next&&(f||i(E)===h||(a?a(E,h):"function"!=typeof E[v]&&c(E,v,x)),u(E,N,!0,!0),f&&(d[N]=x))),p==y&&O&&O.name!==y&&(A=!0,I=function(){return O.call(this)}),f&&!_||T[v]===I||c(T,v,I),d[t]=I,p)if(k={values:C(y),keys:w?I:C(m),entries:C(b)},_)for(S in k)(g||A||!(S in T))&&s(T,S,k[S]);else r({target:t,proto:!0,forced:g||A},k);return k}},function(e,t,n){"use strict";var r=n(5);e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},function(e,t,n){"use strict";e.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},function(e,t,n){"use strict";var r=n(13),o=n(124),i=n(25),a=Math.ceil,u=function(e){return function(t,n,u){var c,s,l=String(i(t)),f=l.length,d=u===undefined?" ":String(u),p=r(n);return p<=f||""==d?l:(c=p-f,(s=o.call(d,a(c/d.length))).length>c&&(s=s.slice(0,c)),e?l+s:s+l)}};e.exports={start:u(!1),end:u(!0)}},function(e,t,n){"use strict";var r=n(37),o=n(25);e.exports="".repeat||function(e){var t=String(o(this)),n="",i=r(e);if(i<0||i==Infinity)throw RangeError("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(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 r,o,i,a=n(7),u=n(5),c=n(36),s=n(54),l=n(157),f=n(107),d=n(177),p=a.location,h=a.setImmediate,g=a.clearImmediate,v=a.process,m=a.MessageChannel,y=a.Dispatch,b=0,x={},w="onreadystatechange",_=function(e){if(x.hasOwnProperty(e)){var t=x[e];delete x[e],t()}},E=function(e){return function(){_(e)}},k=function(e){_(e.data)},S=function(e){a.postMessage(e+"",p.protocol+"//"+p.host)};h&&g||(h=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return x[++b]=function(){("function"==typeof e?e:Function(e)).apply(undefined,t)},r(b),b},g=function(e){delete x[e]},"process"==c(v)?r=function(e){v.nextTick(E(e))}:y&&y.now?r=function(e){y.now(E(e))}:m&&!d?(i=(o=new m).port2,o.port1.onmessage=k,r=s(i.postMessage,i,1)):!a.addEventListener||"function"!=typeof postMessage||a.importScripts||u(S)||"file:"===p.protocol?r=w in f("script")?function(e){l.appendChild(f("script")).onreadystatechange=function(){l.removeChild(this),_(e)}}:function(e){setTimeout(E(e),0)}:(r=S,a.addEventListener("message",k,!1))),e.exports={set:h,clear:g}},function(e,t,n){"use strict";var r=n(28),o=function(e){var t,n;this.promise=new e((function(e,r){if(t!==undefined||n!==undefined)throw TypeError("Bad Promise constructor");t=e,n=r})),this.resolve=r(t),this.reject=r(n)};e.exports.f=function(e){return new o(e)}},function(e,t,n){"use strict";var r=n(4),o=n(95);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},function(e,t,n){"use strict";var r=n(37),o=n(25),i=function(e){return function(t,n){var i,a,u=String(o(t)),c=r(n),s=u.length;return c<0||c>=s?e?"":undefined:(i=u.charCodeAt(c))<55296||i>56319||c+1===s||(a=u.charCodeAt(c+1))<56320||a>57343?e?u.charAt(c):i:e?u.slice(c,c+2):a-56320+(i-55296<<10)+65536}};e.exports={codeAt:i(!1),charAt:i(!0)}},function(e,t,n){"use strict";var r=n(93);e.exports=function(e){if(r(e))throw TypeError("The method doesn't accept regular expressions");return e}},function(e,t,n){"use strict";var r=n(15)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,"/./"[e](t)}catch(o){}}return!1}},function(e,t,n){"use strict";var r=n(5),o=n(91);e.exports=function(e){return r((function(){return!!o[e]()||"\u200b\x85\u180e"!="\u200b\x85\u180e"[e]()||o[e].name!==e}))}},function(e,t,n){"use strict";var r=n(7),o=n(5),i=n(85),a=n(14).NATIVE_ARRAY_BUFFER_VIEWS,u=r.ArrayBuffer,c=r.Int8Array;e.exports=!a||!o((function(){c(1)}))||!o((function(){new c(-1)}))||!i((function(e){new c,new c(null),new c(1.5),new c(e)}),!0)||o((function(){return 1!==new c(new u(2),1,undefined).length}))},function(e,t,n){"use strict";t.__esModule=!0,t.createRenderer=t.suspendRenderer=t.resumeRenderer=void 0;var r,o=n(99),i=n(0),a=((0,n(35).createLogger)("renderer"),!0),u=!1;t.resumeRenderer=function(){a=a||"resumed",u=!1};t.suspendRenderer=function(){u=!0};t.createRenderer=function(e){return function(){o.perf.mark("render/start"),r||(r=document.getElementById("react-root")),(0,i.render)(e(),r),o.perf.mark("render/finish"),u||a&&(a=!1)}}},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=void 0;var r=n(10),o=function(e,t){return e+t},i=function(e,t){return e-t},a=function(e,t){return e*t},u=function(e,t){return e/t};t.vecAdd=function(){for(var e=arguments.length,t=new Array(e),n=0;n0&&(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,r=t.value,o=t.dragMatrix;n.state.editing||(document.body.style["pointer-events"]="none",n.ref=e.target,n.setState({dragging:!1,origin:u(e,o),value:r,internalValue:r}),n.timer=setTimeout((function(){n.setState({dragging:!0})}),250),n.dragInterval=setInterval((function(){var t=n.state,r=t.dragging,o=t.value,i=n.props.onDrag;r&&i&&i(e,o)}),n.props.updateRate||400),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,r=t.minValue,i=t.maxValue,a=t.step,c=t.stepPixelSize,s=t.dragMatrix;n.setState((function(t){var n=Object.assign({},t),l=u(e,s)-n.origin;if(t.dragging){var f=Number.isFinite(r)?r%a:0;n.internalValue=(0,o.clamp)(n.internalValue+l*a/c,r-a,i+a),n.value=(0,o.clamp)(n.internalValue-n.internalValue%a+f,r,i),n.origin=u(e,s)}else Math.abs(l)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,r=t.onChange,o=t.onDrag,i=n.state,a=i.dragging,u=i.value,c=i.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!a,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),a)n.suppressFlicker(),r&&r(e,u),o&&o(e,u);else if(n.inputRef){var s=n.inputRef.current;s.value=c;try{s.focus(),s.select()}catch(l){}}},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.state,n=t.dragging,i=t.editing,u=t.value,c=t.suppressingFlicker,s=this.props,l=s.animated,f=s.value,d=s.unit,p=s.minValue,h=s.maxValue,g=s.unclamped,v=s.format,m=s.onChange,y=s.onDrag,b=s.children,x=s.height,w=s.lineHeight,_=s.fontSize,E=f;(n||c)&&(E=u);var k=function(e){return e+(d?" "+d:"")},S=l&&!n&&!c&&(0,r.createComponentVNode)(2,a.AnimatedNumber,{value:E,format:v,children:k})||k(v?v(E):E),C=(0,r.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:i?undefined:"none",height:x,"line-height":w,"font-size":_},onBlur:function(t){var n;i&&(n=g?parseFloat(t.target.value):(0,o.clamp)(parseFloat(t.target.value),p,h),Number.isNaN(n)?e.setState({editing:!1}):(e.setState({editing:!1,value:n}),e.suppressFlicker(),m&&m(t,n),y&&y(t,n)))},onKeyDown:function(t){var n;if(13===t.keyCode)return n=g?parseFloat(t.target.value):(0,o.clamp)(parseFloat(t.target.value),p,h),Number.isNaN(n)?void e.setState({editing:!1}):(e.setState({editing:!1,value:n}),e.suppressFlicker(),m&&m(t,n),void(y&&y(t,n)));27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef);return b({dragging:n,editing:i,value:f,displayValue:E,displayElement:S,inputElement:C,handleDragStart:this.handleDragStart})},i}(r.Component);t.DraggableControl=c,c.defaultHooks=i.pureComponentHooks,c.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50,dragMatrix:[1,0]}},function(e,t,n){"use strict";t.__esModule=!0,t.NumberInput=void 0;var r=n(0),o=n(8),i=n(6),a=n(137),u=n(18);var c=function(e){var t,n;function c(t){var n;n=e.call(this,t)||this;var i=t.value;return n.inputRef=(0,r.createRef)(),n.state={value:i,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,r=t.dragging,o=t.value,i=n.props.onDrag;r&&i&&i(e,o)}),n.props.updateRate||400),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,r=t.minValue,i=t.maxValue,a=t.step,u=t.stepPixelSize;n.setState((function(t){var n=Object.assign({},t),c=n.origin-e.screenY;if(t.dragging){var s=Number.isFinite(r)?r%a:0;n.internalValue=(0,o.clamp)(n.internalValue+c*a/u,r-a,i+a),n.value=(0,o.clamp)(n.internalValue-n.internalValue%a+s,r,i),n.origin=e.screenY}else Math.abs(c)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,r=t.onChange,o=t.onDrag,i=n.state,a=i.dragging,u=i.value,c=i.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!a,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),a)n.suppressFlicker(),r&&r(e,u),o&&o(e,u);else if(n.inputRef){var s=n.inputRef.current;s.value=c;try{s.focus(),s.select()}catch(l){}}},n}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.state,n=t.dragging,c=t.editing,s=t.value,l=t.suppressingFlicker,f=this.props,d=f.className,p=f.fluid,h=f.animated,g=f.value,v=f.unit,m=f.minValue,y=f.maxValue,b=f.height,x=f.width,w=f.lineHeight,_=f.fontSize,E=f.format,k=f.onChange,S=f.onDrag,C=g;(n||l)&&(C=s);var N=function(e){return(0,r.createVNode)(1,"div","NumberInput__content",e+(v?" "+v:""),0,{unselectable:Byond.IS_LTE_IE8})},A=h&&!n&&!l&&(0,r.createComponentVNode)(2,a.AnimatedNumber,{value:C,format:E,children:N})||N(E?E(C):C);return(0,r.createComponentVNode)(2,u.Box,{className:(0,i.classes)(["NumberInput",p&&"NumberInput--fluid",d]),minWidth:x,minHeight:b,lineHeight:w,fontSize:_,onMouseDown:this.handleDragStart,children:[(0,r.createVNode)(1,"div","NumberInput__barContainer",(0,r.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,o.clamp)((C-m)/(y-m)*100,0,100)+"%"}}),2),A,(0,r.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:c?undefined:"none",height:b,"line-height":w,"font-size":_},onBlur:function(t){if(c){var n=(0,o.clamp)(parseFloat(t.target.value),m,y);Number.isNaN(n)?e.setState({editing:!1}):(e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),S&&S(t,n))}},onKeyDown:function(t){if(13===t.keyCode){var n=(0,o.clamp)(parseFloat(t.target.value),m,y);return Number.isNaN(n)?void e.setState({editing:!1}):(e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),void(S&&S(t,n)))}27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef)]})},c}(r.Component);t.NumberInput=c,c.defaultHooks=i.pureComponentHooks,c.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50}},function(e,t,n){"use strict";t.__esModule=!0,t.Layout=void 0;var r=n(0),o=n(6),i=n(18),a=n(58);function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var c=function(e){var t=e.className,n=e.theme,a=void 0===n?"nanotrasen":n,c=e.children,s=u(e,["className","theme","children"]);return(0,r.createVNode)(1,"div","theme-"+a,(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Layout",t].concat((0,i.computeBoxClassName)(s))),c,0,Object.assign({},(0,i.computeBoxProps)(s)))),2)};t.Layout=c;var s=function(e){var t=e.className,n=e.scrollable,a=e.children,c=u(e,["className","scrollable","children"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Layout__content",n&&"Layout__content--scrollable",t].concat((0,i.computeBoxClassName)(c))),a,0,Object.assign({},(0,i.computeBoxProps)(c))))};s.defaultHooks={onComponentDidMount:function(e){return(0,a.addScrollableNode)(e)},onComponentWillUnmount:function(e){return(0,a.removeScrollableNode)(e)}},c.Content=s},,,,,,,,function(e,t,n){"use strict";n(225),n(226),n(227),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(242),n(243),n(244),n(245),n(246),n(247),n(248),n(249),n(251),n(253),n(254),n(255),n(163),n(256),n(257),n(258),n(259),n(260),n(261),n(262),n(263),n(264),n(265),n(266),n(267),n(268),n(269),n(271),n(272),n(273),n(274),n(275),n(277),n(278),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(292),n(293),n(294),n(295),n(297),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(311),n(312),n(313),n(314),n(315),n(316),n(318),n(319),n(321),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(347),n(348),n(349),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(128),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),n(387),n(388),n(389),n(390),n(391),n(392),n(393),n(394),n(395),n(396),n(397),n(398),n(399),n(400),n(401),n(402),n(403),n(405),n(406),n(407),n(408),n(409),n(410),n(411),n(412),n(413),n(414),n(415),n(416),n(417),n(418),n(419),n(420),n(421),n(422),n(423),n(424),n(425),n(426),n(427),n(428),n(429),n(430),n(431),n(432),n(433),n(434),n(435),n(436),n(437),n(438),n(439),n(440),n(441),n(442),n(443),n(444),n(445),n(446),n(447),n(448)},function(e,t,n){"use strict";var r=n(11),o=n(5),i=n(107);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var r=n(7),o=n(108),i="__core-js_shared__",a=r[i]||o(i,{});e.exports=a},function(e,t,n){"use strict";var r=n(7),o=n(109),i=r.WeakMap;e.exports="function"==typeof i&&/native code/.test(o(i))},function(e,t,n){"use strict";var r=n(20),o=n(111),i=n(23),a=n(16);e.exports=function(e,t){for(var n=o(t),u=a.f,c=i.f,s=0;sc;)r(u,n=t[c++])&&(~i(s,n)||s.push(n));return s}},function(e,t,n){"use strict";var r=n(114);e.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(e,t,n){"use strict";var r=n(11),o=n(16),i=n(12),a=n(72);e.exports=r?Object.defineProperties:function(e,t){i(e);for(var n,r=a(t),u=r.length,c=0;u>c;)o.f(e,n=r[c++],t[n]);return e}},function(e,t,n){"use strict";var r=n(39);e.exports=r("document","documentElement")},function(e,t,n){"use strict";var r=n(30),o=n(53).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return a&&"[object Window]"==i.call(e)?function(e){try{return o(e)}catch(t){return a.slice()}}(e):o(r(e))}},function(e,t,n){"use strict";var r=n(15);t.f=r},function(e,t,n){"use strict";var r=n(19),o=n(47),i=n(13),a=Math.min;e.exports=[].copyWithin||function(e,t){var n=r(this),u=i(n.length),c=o(e,u),s=o(t,u),l=arguments.length>2?arguments[2]:undefined,f=a((l===undefined?u:o(l,u))-s,u-c),d=1;for(s0;)s in n?n[c]=n[s]:delete n[c],c+=d,s+=d;return n}},function(e,t,n){"use strict";var r=n(59),o=n(13),i=n(54);e.exports=function a(e,t,n,u,c,s,l,f){for(var d,p=c,h=0,g=!!l&&i(l,f,3);h0&&r(d))p=a(e,t,d,o(d.length),p,s-1)-1;else{if(p>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[p]=d}p++}h++}return p}},function(e,t,n){"use strict";var r=n(12);e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(a){var i=e["return"];throw i!==undefined&&r(i.call(e)),a}}},function(e,t,n){"use strict";var r=n(30),o=n(50),i=n(75),a=n(32),u=n(120),c="Array Iterator",s=a.set,l=a.getterFor(c);e.exports=u(Array,"Array",(function(e,t){s(this,{type:c,target:r(e),index:0,kind:t})}),(function(){var e=l(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=undefined,{value:undefined,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},function(e,t,n){"use strict";var r=n(165).IteratorPrototype,o=n(48),i=n(52),a=n(49),u=n(75),c=function(){return this};e.exports=function(e,t,n){var s=t+" Iterator";return e.prototype=o(r,{next:i(1,n)}),a(e,s,!1,!0),u[s]=c,e}},function(e,t,n){"use strict";var r,o,i,a=n(40),u=n(31),c=n(20),s=n(15),l=n(43),f=s("iterator"),d=!1;[].keys&&("next"in(i=[].keys())?(o=a(a(i)))!==Object.prototype&&(r=o):d=!0),r==undefined&&(r={}),l||c(r,f)||u(r,f,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:d}},function(e,t,n){"use strict";var r=n(9);e.exports=function(e){if(!r(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},function(e,t,n){"use strict";var r=n(30),o=n(37),i=n(13),a=n(44),u=n(29),c=Math.min,s=[].lastIndexOf,l=!!s&&1/[1].lastIndexOf(1,-0)<0,f=a("lastIndexOf"),d=u("indexOf",{ACCESSORS:!0,1:0}),p=l||!f||!d;e.exports=p?function(e){if(l)return s.apply(this,arguments)||0;var t=r(this),n=i(t.length),a=n-1;for(arguments.length>1&&(a=c(a,o(arguments[1]))),a<0&&(a=n+a);a>=0;a--)if(a in t&&t[a]===e)return a||0;return-1}:s},function(e,t,n){"use strict";var r=n(37),o=n(13);e.exports=function(e){if(e===undefined)return 0;var t=r(e),n=o(t);if(t!==n)throw RangeError("Wrong length or index");return n}},function(e,t,n){"use strict";var r=n(28),o=n(9),i=[].slice,a={},u=function(e,t,n){if(!(t in a)){for(var r=[],o=0;o1?arguments[1]:undefined,3);t=t?t.next:n.first;)for(r(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!m(this,e)}}),i(l.prototype,n?{get:function(e){var t=m(this,e);return t&&t.value},set:function(e,t){return v(this,0===e?0:e,t)}}:{add:function(e){return v(this,e=0===e?0:e,e)}}),f&&r(l.prototype,"size",{get:function(){return p(this).size}}),l},setStrong:function(e,t,n){var r=t+" Iterator",o=g(t),i=g(r);s(e,t,(function(e,t){h(this,{type:r,target:e,state:o(e),kind:t,last:undefined})}),(function(){for(var e=i(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),l(t)}}},function(e,t,n){"use strict";var r=Math.log;e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:r(1+e)}},function(e,t,n){"use strict";var r=n(9),o=Math.floor;e.exports=function(e){return!r(e)&&isFinite(e)&&o(e)===e}},function(e,t,n){"use strict";var r=n(7),o=n(63).trim,i=n(91),a=r.parseInt,u=/^[+-]?0[Xx]/,c=8!==a(i+"08")||22!==a(i+"0x16");e.exports=c?function(e,t){var n=o(String(e));return a(n,t>>>0||(u.test(n)?16:10))}:a},function(e,t,n){"use strict";var r=n(11),o=n(72),i=n(30),a=n(81).f,u=function(e){return function(t){for(var n,u=i(t),c=o(u),s=c.length,l=0,f=[];s>l;)n=c[l++],r&&!a.call(u,n)||f.push(e?[n,u[n]]:u[n]);return f}};e.exports={entries:u(!0),values:u(!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 r=n(7);e.exports=r.Promise},function(e,t,n){"use strict";var r=n(83);e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(r)},function(e,t,n){"use strict";var r,o,i,a,u,c,s,l,f=n(7),d=n(23).f,p=n(36),h=n(126).set,g=n(177),v=f.MutationObserver||f.WebKitMutationObserver,m=f.process,y=f.Promise,b="process"==p(m),x=d(f,"queueMicrotask"),w=x&&x.value;w||(r=function(){var e,t;for(b&&(e=m.domain)&&e.exit();o;){t=o.fn,o=o.next;try{t()}catch(n){throw o?a():i=undefined,n}}i=undefined,e&&e.enter()},b?a=function(){m.nextTick(r)}:v&&!g?(u=!0,c=document.createTextNode(""),new v(r).observe(c,{characterData:!0}),a=function(){c.data=u=!u}):y&&y.resolve?(s=y.resolve(undefined),l=s.then,a=function(){l.call(s,r)}):a=function(){h.call(f,r)}),e.exports=w||function(e){var t={fn:e,next:undefined};i&&(i.next=t),o||(o=t,a()),i=t}},function(e,t,n){"use strict";var r=n(12),o=n(9),i=n(127);e.exports=function(e,t){if(r(e),o(t)&&t.constructor===e)return t;var n=i.f(e);return(0,n.resolve)(t),n.promise}},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 r=n(83);e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r)},function(e,t,n){"use strict";var r=n(404);e.exports=function(e,t){var n=r(e);if(n%t)throw RangeError("Wrong offset");return n}},function(e,t,n){"use strict";var r=n(19),o=n(13),i=n(118),a=n(117),u=n(54),c=n(14).aTypedArrayConstructor;e.exports=function(e){var t,n,s,l,f,d,p=r(e),h=arguments.length,g=h>1?arguments[1]:undefined,v=g!==undefined,m=i(p);if(m!=undefined&&!a(m))for(d=(f=m.call(p)).next,p=[];!(l=d.call(f)).done;)p.push(l.value);for(v&&h>2&&(g=u(g,arguments[2],2)),n=o(p.length),s=new(c(this))(n),t=0;n>t;t++)s[t]=v?g(p[t],t):p[t];return s}},function(e,t,n){"use strict";var r=n(76),o=n(57).getWeakData,i=n(12),a=n(9),u=n(61),c=n(62),s=n(21),l=n(20),f=n(32),d=f.set,p=f.getterFor,h=s.find,g=s.findIndex,v=0,m=function(e){return e.frozen||(e.frozen=new y)},y=function(){this.entries=[]},b=function(e,t){return h(e.entries,(function(e){return e[0]===t}))};y.prototype={get:function(e){var t=b(this,e);if(t)return t[1]},has:function(e){return!!b(this,e)},set:function(e,t){var n=b(this,e);n?n[1]=t:this.entries.push([e,t])},"delete":function(e){var t=g(this.entries,(function(t){return t[0]===e}));return~t&&this.entries.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,s){var f=e((function(e,r){u(e,f,t),d(e,{type:t,id:v++,frozen:undefined}),r!=undefined&&c(r,e[s],e,n)})),h=p(t),g=function(e,t,n){var r=h(e),a=o(i(t),!0);return!0===a?m(r).set(t,n):a[r.id]=n,e};return r(f.prototype,{"delete":function(e){var t=h(this);if(!a(e))return!1;var n=o(e);return!0===n?m(t)["delete"](e):n&&l(n,t.id)&&delete n[t.id]},has:function(e){var t=h(this);if(!a(e))return!1;var n=o(e);return!0===n?m(t).has(e):n&&l(n,t.id)}}),r(f.prototype,n?{get:function(e){var t=h(this);if(a(e)){var n=o(e);return!0===n?m(t).get(e):n?n[t.id]:undefined}},set:function(e,t){return g(this,e,t)}}:{add:function(e){return g(this,e,!0)}}),f}}},function(e,t,n){"use strict";t.__esModule=!0,t.setupHotKeys=t.releaseHeldKeys=t.releaseHotKey=t.acquireHotKey=void 0;var r=n(64),o=n(58),i=(0,n(35).createLogger)("hotkeys"),a={},u=[r.KEY_ESCAPE,r.KEY_ENTER,r.KEY_SPACE,r.KEY_TAB,r.KEY_CTRL,r.KEY_SHIFT,r.KEY_F5],c={},s=function(e){if(!e.ctrl||e.code!==r.KEY_F5&&e.code!==r.KEY_R){if(!(e.ctrl&&e.code===r.KEY_F||e.event.defaultPrevented||e.isModifierKey()||u.includes(e.code))){var t,n=16===(t=e.code)?"Shift":17===t?"Ctrl":18===t?"Alt":33===t?"Northeast":34===t?"Southeast":35===t?"Southwest":36===t?"Northwest":37===t?"West":38===t?"North":39===t?"East":40===t?"South":45===t?"Insert":46===t?"Delete":t>=48&&t<=57||t>=65&&t<=90?String.fromCharCode(t):t>=96&&t<=105?"Numpad"+(t-96):t>=112&&t<=123?"F"+(t-111):188===t?",":189===t?"-":190===t?".":void 0;if(n){var o=a[n];if(o)return i.debug("macro",o),Byond.command(o);if(e.isDown()&&!c[n]){c[n]=!0;var s='KeyDown "'+n+'"';return i.debug(s),Byond.command(s)}if(e.isUp()&&c[n]){c[n]=!1;var l='KeyUp "'+n+'"';return i.debug(l),Byond.command(l)}}}}else location.reload()};t.acquireHotKey=function(e){u.push(e)};t.releaseHotKey=function(e){var t=u.indexOf(e);t>=0&&u.splice(t,1)};var l=function(){for(var e=0,t=Object.keys(c);e1?n-1:0),o=1;oc&&(o[a]=c-t[a],i=!0)}return[i,o]};t.dragStartHandler=function(e){var t;d.log("drag start"),h=!0,c=[window.screenLeft-e.screenX,window.screenTop-e.screenY],null==(t=e.target)||t.focus(),document.addEventListener("mousemove",T),document.addEventListener("mouseup",A),T(e)};var A=function M(e){d.log("drag end"),T(e),document.removeEventListener("mousemove",T),document.removeEventListener("mouseup",M),h=!1,k()},T=function(e){h&&(e.preventDefault(),b((0,o.vecAdd)([e.screenX,e.screenY],c)))};t.resizeStartHandler=function(e,t){return function(n){var r;s=[e,t],d.log("resize start",s),g=!0,c=[window.screenLeft-n.screenX,window.screenTop-n.screenY],l=[window.innerWidth,window.innerHeight],null==(r=n.target)||r.focus(),document.addEventListener("mousemove",I),document.addEventListener("mouseup",O),I(n)}};var O=function L(e){d.log("resize end",f),I(e),document.removeEventListener("mousemove",I),document.removeEventListener("mouseup",L),g=!1,k()},I=function(e){g&&(e.preventDefault(),(f=(0,o.vecAdd)(l,(0,o.vecMultiply)(s,(0,o.vecAdd)([e.screenX,e.screenY],(0,o.vecInverse)([window.screenLeft,window.screenTop]),c,[1,1]))))[0]=Math.max(f[0],150),f[1]=Math.max(f[1],50),x(f))}},function(e,t,n){"use strict";t.__esModule=!0,t.focusWindow=t.focusMap=void 0;t.focusMap=function(){Byond.winset("mapwindow.map",{focus:!0})};t.focusWindow=function(){Byond.winset(window.__windowId__,{focus:!0})}},function(e,t,n){"use strict";t.__esModule=!0,t.selectDebug=void 0;t.selectDebug=function(e){return e.debug}},function(e,t,n){"use strict";t.__esModule=!0,t.ButtonInput=t.ButtonConfirm=t.ButtonCheckbox=t.Button=void 0;var r=n(0),o=n(64),i=n(6),a=n(35),u=n(18),c=n(102),s=n(193);function l(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function f(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var d=(0,a.createLogger)("Button"),p=function(e){var t=e.className,n=e.fluid,a=e.icon,l=e.iconRotation,p=e.iconSpin,h=e.iconColor,g=e.iconPosition,v=e.color,m=e.disabled,y=e.selected,b=e.tooltip,x=e.tooltipPosition,w=e.tooltipOverrideLong,_=e.ellipsis,E=e.compact,k=e.circular,S=e.content,C=e.children,N=e.onclick,A=e.onClick,T=f(e,["className","fluid","icon","iconRotation","iconSpin","iconColor","iconPosition","color","disabled","selected","tooltip","tooltipPosition","tooltipOverrideLong","ellipsis","compact","circular","content","children","onclick","onClick"]),O=!(!S&&!C);return N&&d.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,r.normalizeProps)((0,r.createComponentVNode)(2,u.Box,Object.assign({className:(0,i.classes)(["Button",n&&"Button--fluid",m&&"Button--disabled",y&&"Button--selected",O&&"Button--hasContent",_&&"Button--ellipsis",k&&"Button--circular",E&&"Button--compact",g&&"Button--iconPosition--"+g,v&&"string"==typeof v?"Button--color--"+v:"Button--color--default",t]),tabIndex:!m&&"0",unselectable:Byond.IS_LTE_IE8,onClick:function(e){!m&&A&&A(e)},onKeyDown:function(e){var t=window.event?e.which:e.keyCode;if(t===o.KEY_SPACE||t===o.KEY_ENTER)return e.preventDefault(),void(!m&&A&&A(e));t!==o.KEY_ESCAPE||e.preventDefault()}},T,{children:[a&&"right"!==g&&(0,r.createComponentVNode)(2,c.Icon,{name:a,color:h,rotation:l,spin:p}),S,C,a&&"right"===g&&(0,r.createComponentVNode)(2,c.Icon,{name:a,color:h,rotation:l,spin:p}),b&&(0,r.createComponentVNode)(2,s.Tooltip,{content:b,overrideLong:w,position:x})]})))};t.Button=p,p.defaultHooks=i.pureComponentHooks;var h=function(e){var t=e.checked,n=f(e,["checked"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,p,Object.assign({color:"transparent",icon:t?"check-square-o":"square-o",selected:t},n)))};t.ButtonCheckbox=h,p.Checkbox=h;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}l(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.confirmContent,o=void 0===n?"Confirm?":n,i=t.confirmColor,a=void 0===i?"bad":i,u=t.confirmIcon,c=t.icon,s=t.color,l=t.content,d=t.onClick,h=f(t,["confirmContent","confirmColor","confirmIcon","icon","color","content","onClick"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,p,Object.assign({content:this.state.clickedOnce?o:l,icon:this.state.clickedOnce?u:c,color:this.state.clickedOnce?a:s,onClick:function(){return e.state.clickedOnce?d():e.setClickedOnce(!0)}},h)))},t}(r.Component);t.ButtonConfirm=g,p.Confirm=g;var v=function(e){function t(){var t;return(t=e.call(this)||this).inputRef=(0,r.createRef)(),t.state={inInput:!1},t}l(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,l=t.icon,d=t.iconRotation,p=t.iconSpin,h=t.tooltip,g=t.tooltipPosition,v=t.tooltipOverrideLong,m=t.color,y=void 0===m?"default":m,b=(t.placeholder,t.maxLength,f(t,["fluid","content","icon","iconRotation","iconSpin","tooltip","tooltipPosition","tooltipOverrideLong","color","placeholder","maxLength"]));return(0,r.normalizeProps)((0,r.createComponentVNode)(2,u.Box,Object.assign({className:(0,i.classes)(["Button",n&&"Button--fluid","Button--color--"+y])},b,{onClick:function(){return e.setInInput(!0)},children:[l&&(0,r.createComponentVNode)(2,c.Icon,{name:l,rotation:d,spin:p}),(0,r.createVNode)(1,"div",null,a,0),(0,r.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===o.KEY_ENTER)return e.setInInput(!1),void e.commitResult(t);t.keyCode===o.KEY_ESCAPE&&e.setInInput(!1)}},null,this.inputRef),h&&(0,r.createComponentVNode)(2,s.Tooltip,{content:h,overrideLong:v,position:g})]})))},t}(r.Component);t.ButtonInput=v,p.Input=v},function(e,t,n){"use strict";t.__esModule=!0,t.Tooltip=void 0;var r=n(0),o=n(6);t.Tooltip=function(e){var t=e.content,n=e.overrideLong,i=void 0!==n&&n,a=e.position,u=void 0===a?"bottom":a,c="string"==typeof t&&t.length>35&&!i;return(0,r.createVNode)(1,"div",(0,o.classes)(["Tooltip",c&&"Tooltip--long",u&&"Tooltip--"+u]),null,1,{"data-tooltip":t})}},function(e,t,n){"use strict";t.__esModule=!0,t.Dimmer=void 0;var r=n(0),o=n(6),i=n(18);t.Dimmer=function(e){var t=e.className,n=e.children,a=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["Dimmer"].concat(t))},a,{children:(0,r.createVNode)(1,"div","Dimmer__inner",n,0)})))}},function(e,t,n){"use strict";t.__esModule=!0,t.Divider=void 0;var r=n(0),o=n(6);t.Divider=function(e){var t=e.vertical,n=e.hidden;return(0,r.createVNode)(1,"div",(0,o.classes)(["Divider",n&&"Divider--hidden",t?"Divider--vertical":"Divider--horizontal"]))}},function(e,t,n){"use strict";t.__esModule=!0,t.FlexItem=t.computeFlexItemProps=t.Flex=t.computeFlexProps=void 0;var r=n(0),o=n(6),i=n(18);function a(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var u=function(e){var t=e.className,n=e.direction,r=e.wrap,i=e.align,u=e.justify,c=e.inline,s=e.spacing,l=void 0===s?0:s,f=a(e,["className","direction","wrap","align","justify","inline","spacing"]);return Object.assign({className:(0,o.classes)(["Flex",Byond.IS_LTE_IE10&&("column"===n?"Flex--iefix--column":"Flex--iefix"),c&&"Flex--inline",l>0&&"Flex--spacing--"+l,t]),style:Object.assign({},f.style,{"flex-direction":n,"flex-wrap":!0===r?"wrap":r,"align-items":i,"justify-content":u})},f)};t.computeFlexProps=u;var c=function(e){return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({},u(e))))};t.Flex=c,c.defaultHooks=o.pureComponentHooks;var s=function(e){var t=e.className,n=e.style,r=e.grow,u=e.order,c=e.shrink,s=e.basis,l=void 0===s?e.width:s,f=e.align,d=a(e,["className","style","grow","order","shrink","basis","align"]);return Object.assign({className:(0,o.classes)(["Flex__item",Byond.IS_LTE_IE10&&"Flex__item--iefix",Byond.IS_LTE_IE10&&r>0&&"Flex__item--iefix--grow",t]),style:Object.assign({},n,{"flex-grow":r,"flex-shrink":c,"flex-basis":(0,i.unit)(l),order:u,"align-self":f})},d)};t.computeFlexItemProps=s;var l=function(e){return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({},s(e))))};t.FlexItem=l,l.defaultHooks=o.pureComponentHooks,c.Item=l},function(e,t,n){"use strict";t.__esModule=!0,t.TableCell=t.TableRow=t.Table=void 0;var r=n(0),o=n(6),i=n(18);function a(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var u=function(e){var t=e.className,n=e.collapsing,u=e.children,c=a(e,["className","collapsing","children"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"table",(0,o.classes)(["Table",n&&"Table--collapsing",t,(0,i.computeBoxClassName)(c)]),(0,r.createVNode)(1,"tbody",null,u,0),2,Object.assign({},(0,i.computeBoxProps)(c))))};t.Table=u,u.defaultHooks=o.pureComponentHooks;var c=function(e){var t=e.className,n=e.header,u=a(e,["className","header"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"tr",(0,o.classes)(["Table__row",n&&"Table__row--header",t,(0,i.computeBoxClassName)(e)]),null,1,Object.assign({},(0,i.computeBoxProps)(u))))};t.TableRow=c,c.defaultHooks=o.pureComponentHooks;var s=function(e){var t=e.className,n=e.collapsing,u=e.header,c=a(e,["className","collapsing","header"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"td",(0,o.classes)(["Table__cell",n&&"Table__cell--collapsing",u&&"Table__cell--header",t,(0,i.computeBoxClassName)(e)]),null,1,Object.assign({},(0,i.computeBoxProps)(c))))};t.TableCell=s,s.defaultHooks=o.pureComponentHooks,u.Row=c,u.Cell=s},function(e,t,n){"use strict";t.__esModule=!0,t.Input=t.toInputValue=void 0;var r=n(0),o=n(6),i=n(18),a=n(64);function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var c=function(e){return"number"!=typeof e&&"string"!=typeof e?"":String(e)};t.toInputValue=c;var s=function(e){var t,n;function s(){var t;return(t=e.call(this)||this).inputRef=(0,r.createRef)(),t.state={editing:!1},t.handleInput=function(e){var n=t.state.editing,r=t.props.onInput;n||t.setEditing(!0),r&&r(e,e.target.value)},t.handleFocus=function(e){t.state.editing||t.setEditing(!0)},t.handleBlur=function(e){var n=t.state.editing,r=t.props.onChange;n&&(t.setEditing(!1),r&&r(e,e.target.value))},t.handleKeyDown=function(e){var n=t.props,r=n.onInput,o=n.onChange,i=n.onEnter;return e.keyCode===a.KEY_ENTER?(t.setEditing(!1),o&&o(e,e.target.value),r&&r(e,e.target.value),i&&i(e,e.target.value),void(t.props.selfClear?e.target.value="":e.target.blur())):e.keyCode===a.KEY_ESCAPE?(t.setEditing(!1),e.target.value=c(t.props.value),void e.target.blur()):void 0},t}n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var l=s.prototype;return l.componentDidMount=function(){var e=this.props.value,t=this.inputRef.current;t&&(t.value=c(e)),this.props.autoFocus&&setTimeout((function(){return t.focus()}),1)},l.componentDidUpdate=function(e,t){var n=this.state.editing,r=e.value,o=this.props.value,i=this.inputRef.current;i&&!n&&r!==o&&(i.value=c(o))},l.setEditing=function(e){this.setState({editing:e})},l.render=function(){var e=this.props,t=(e.selfClear,e.onInput,e.onChange,e.onEnter,e.value,e.maxLength),n=e.placeholder,a=u(e,["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder"]),c=a.className,s=a.fluid,l=a.monospace,f=u(a,["className","fluid","monospace"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["Input",s&&"Input--fluid",l&&"Input--monospace",c])},f,{children:[(0,r.createVNode)(1,"div","Input__baseline",".",16),(0,r.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)]})))},s}(r.Component);t.Input=s},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledListDivider=t.LabeledListItem=t.LabeledList=void 0;var r=n(0),o=n(6),i=n(18),a=n(195),u=function(e){var t=e.children;return(0,r.createVNode)(1,"table","LabeledList",t,0)};t.LabeledList=u,u.defaultHooks=o.pureComponentHooks;var c=function(e){var t=e.className,n=e.label,a=e.labelColor,u=void 0===a?"label":a,c=e.color,s=e.textAlign,l=e.buttons,f=e.content,d=e.children;return(0,r.createVNode)(1,"tr",(0,o.classes)(["LabeledList__row",t]),[(0,r.createComponentVNode)(2,i.Box,{as:"td",color:u,className:(0,o.classes)(["LabeledList__cell","LabeledList__label"]),children:n?n+":":null}),(0,r.createComponentVNode)(2,i.Box,{as:"td",color:c,textAlign:s,className:(0,o.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:l?undefined:2,children:[f,d]}),l&&(0,r.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",l,0)],0)};t.LabeledListItem=c,c.defaultHooks=o.pureComponentHooks;var s=function(e){var t=e.size?(0,i.unit)(Math.max(0,e.size-1)):0;return(0,r.createVNode)(1,"tr","LabeledList__row",(0,r.createVNode)(1,"td",null,(0,r.createComponentVNode)(2,a.Divider),2,{colSpan:3,style:{"padding-top":t,"padding-bottom":t}}),2)};t.LabeledListDivider=s,s.defaultHooks=o.pureComponentHooks,u.Item=c,u.Divider=s},function(e,t,n){"use strict";t.__esModule=!0,t.Window=void 0;var r=n(0),o=n(6),i=n(22),a=n(17),u=n(2),c=n(1),s=n(41),l=n(136),f=(n(201),n(189)),d=n(35),p=n(140);var h=(0,d.createLogger)("Window"),g=[400,600],v=function(e){var t,n;function c(){return e.apply(this,arguments)||this}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var d=c.prototype;return d.componentDidMount=function(){var e,t=(0,u.useBackend)(this.context),n=t.config;if(!t.suspended){h.log("mounting");var r=Object.assign({size:g},n.window);this.props.width&&this.props.height&&(r.size=[this.props.width,this.props.height]),(null==(e=n.window)?void 0:e.key)&&(0,f.setWindowKey)(n.window.key),(0,f.recallWindowGeometry)(r)}},d.render=function(){var e,t=this.props,n=t.resizable,c=t.noClose,d=t.theme,g=t.title,v=t.children,m=(0,u.useBackend)(this.context),b=m.config,x=m.suspended,w=(0,l.useDebug)(this.context).debugLayout,_=(0,i.useDispatch)(this.context),E=null==(e=b.window)?void 0:e.fancy,k=b.user&&(b.user.observer?b.status=0||(o[n]=e[n]);return o}(e,["className","fitted","children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,p.Layout.Content,Object.assign({className:(0,o.classes)(["Window__content",t])},a,{children:n&&i||(0,r.createVNode)(1,"div","Window__contentPadding",i,0)})))};var m=function(e){switch(e){case s.UI_INTERACTIVE:return"good";case s.UI_UPDATE:return"average";case s.UI_DISABLED:default:return"bad"}},y=function(e,t){var n=e.className,u=e.title,s=e.status,l=e.noClose,f=e.fancy,d=e.onDragStart,p=e.onClose;(0,i.useDispatch)(t);return(0,r.createVNode)(1,"div",(0,o.classes)(["TitleBar",n]),[s===undefined&&(0,r.createComponentVNode)(2,c.Icon,{className:"TitleBar__statusIcon",name:"tools",opacity:.5})||(0,r.createComponentVNode)(2,c.Icon,{className:"TitleBar__statusIcon",color:m(s),name:"eye"}),(0,r.createVNode)(1,"div","TitleBar__title","string"==typeof u&&u===u.toLowerCase()&&(0,a.toTitleCase)(u)||u,0),(0,r.createVNode)(1,"div","TitleBar__dragZone",null,1,{onMousedown:function(e){return f&&d(e)}}),!1,!!f&&!l&&(0,r.createVNode)(1,"div","TitleBar__close TitleBar__clickable",Byond.IS_LTE_IE8?"x":"\xd7",0,{onclick:p})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.openExternalBrowser=t.toggleDebugLayout=t.toggleKitchenSink=void 0;var r=n(22),o=(0,r.createAction)("debug/toggleKitchenSink");t.toggleKitchenSink=o;var i=(0,r.createAction)("debug/toggleDebugLayout");t.toggleDebugLayout=i;var a=(0,r.createAction)("debug/openExternalBrowser");t.openExternalBrowser=a},,,,function(e,t,n){"use strict";t.__esModule=!0,t.createUuid=void 0;t.createUuid=function(){var e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var n=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"===t?n:3&n|8).toString(16)}))}},,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";var r=n(4),o=n(7),i=n(39),a=n(43),u=n(11),c=n(114),s=n(155),l=n(5),f=n(20),d=n(59),p=n(9),h=n(12),g=n(19),v=n(30),m=n(38),y=n(52),b=n(48),x=n(72),w=n(53),_=n(158),E=n(113),k=n(23),S=n(16),C=n(81),N=n(31),A=n(26),T=n(110),O=n(82),I=n(69),M=n(68),L=n(15),V=n(159),R=n(27),P=n(49),B=n(32),D=n(21).forEach,F=O("hidden"),j="Symbol",K=L("toPrimitive"),z=B.set,Y=B.getterFor(j),U=Object.prototype,$=o.Symbol,H=i("JSON","stringify"),W=k.f,q=S.f,G=_.f,X=C.f,Z=T("symbols"),Q=T("op-symbols"),J=T("string-to-symbol-registry"),ee=T("symbol-to-string-registry"),te=T("wks"),ne=o.QObject,re=!ne||!ne.prototype||!ne.prototype.findChild,oe=u&&l((function(){return 7!=b(q({},"a",{get:function(){return q(this,"a",{value:7}).a}})).a}))?function(e,t,n){var r=W(U,t);r&&delete U[t],q(e,t,n),r&&e!==U&&q(U,t,r)}:q,ie=function(e,t){var n=Z[e]=b($.prototype);return z(n,{type:j,tag:e,description:t}),u||(n.description=t),n},ae=s?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof $},ue=function(e,t,n){e===U&&ue(Q,t,n),h(e);var r=m(t,!0);return h(n),f(Z,r)?(n.enumerable?(f(e,F)&&e[F][r]&&(e[F][r]=!1),n=b(n,{enumerable:y(0,!1)})):(f(e,F)||q(e,F,y(1,{})),e[F][r]=!0),oe(e,r,n)):q(e,r,n)},ce=function(e,t){h(e);var n=v(t),r=x(n).concat(pe(n));return D(r,(function(t){u&&!le.call(n,t)||ue(e,t,n[t])})),e},se=function(e,t){return t===undefined?b(e):ce(b(e),t)},le=function(e){var t=m(e,!0),n=X.call(this,t);return!(this===U&&f(Z,t)&&!f(Q,t))&&(!(n||!f(this,t)||!f(Z,t)||f(this,F)&&this[F][t])||n)},fe=function(e,t){var n=v(e),r=m(t,!0);if(n!==U||!f(Z,r)||f(Q,r)){var o=W(n,r);return!o||!f(Z,r)||f(n,F)&&n[F][r]||(o.enumerable=!0),o}},de=function(e){var t=G(v(e)),n=[];return D(t,(function(e){f(Z,e)||f(I,e)||n.push(e)})),n},pe=function(e){var t=e===U,n=G(t?Q:v(e)),r=[];return D(n,(function(e){!f(Z,e)||t&&!f(U,e)||r.push(Z[e])})),r};(c||(A(($=function(){if(this instanceof $)throw TypeError("Symbol is not a constructor");var e=arguments.length&&arguments[0]!==undefined?String(arguments[0]):undefined,t=M(e),n=function r(e){this===U&&r.call(Q,e),f(this,F)&&f(this[F],t)&&(this[F][t]=!1),oe(this,t,y(1,e))};return u&&re&&oe(U,t,{configurable:!0,set:n}),ie(t,e)}).prototype,"toString",(function(){return Y(this).tag})),A($,"withoutSetter",(function(e){return ie(M(e),e)})),C.f=le,S.f=ue,k.f=fe,w.f=_.f=de,E.f=pe,V.f=function(e){return ie(L(e),e)},u&&(q($.prototype,"description",{configurable:!0,get:function(){return Y(this).description}}),a||A(U,"propertyIsEnumerable",le,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!c,sham:!c},{Symbol:$}),D(x(te),(function(e){R(e)})),r({target:j,stat:!0,forced:!c},{"for":function(e){var t=String(e);if(f(J,t))return J[t];var n=$(t);return J[t]=n,ee[n]=t,n},keyFor:function(e){if(!ae(e))throw TypeError(e+" is not a symbol");if(f(ee,e))return ee[e]},useSetter:function(){re=!0},useSimple:function(){re=!1}}),r({target:"Object",stat:!0,forced:!c,sham:!u},{create:se,defineProperty:ue,defineProperties:ce,getOwnPropertyDescriptor:fe}),r({target:"Object",stat:!0,forced:!c},{getOwnPropertyNames:de,getOwnPropertySymbols:pe}),r({target:"Object",stat:!0,forced:l((function(){E.f(1)}))},{getOwnPropertySymbols:function(e){return E.f(g(e))}}),H)&&r({target:"JSON",stat:!0,forced:!c||l((function(){var e=$();return"[null]"!=H([e])||"{}"!=H({a:e})||"{}"!=H(Object(e))}))},{stringify:function(e,t,n){for(var r,o=[e],i=1;arguments.length>i;)o.push(arguments[i++]);if(r=t,(p(t)||e!==undefined)&&!ae(e))return d(t)||(t=function(e,t){if("function"==typeof r&&(t=r.call(this,e,t)),!ae(t))return t}),o[1]=t,H.apply(null,o)}});$.prototype[K]||N($.prototype,K,$.prototype.valueOf),P($,j),I[F]=!0},function(e,t,n){"use strict";var r=n(4),o=n(11),i=n(7),a=n(20),u=n(9),c=n(16).f,s=n(152),l=i.Symbol;if(o&&"function"==typeof l&&(!("description"in l.prototype)||l().description!==undefined)){var f={},d=function(){var e=arguments.length<1||arguments[0]===undefined?undefined:String(arguments[0]),t=this instanceof d?new l(e):e===undefined?l():l(e);return""===e&&(f[t]=!0),t};s(d,l);var p=d.prototype=l.prototype;p.constructor=d;var h=p.toString,g="Symbol(test)"==String(l("test")),v=/^Symbol\((.*)\)[^)]+$/;c(p,"description",{configurable:!0,get:function(){var e=u(this)?this.valueOf():this,t=h.call(e);if(a(f,e))return"";var n=g?t.slice(7,-1):t.replace(v,"$1");return""===n?undefined:n}}),r({global:!0,forced:!0},{Symbol:d})}},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)("matchAll")},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 r=n(4),o=n(5),i=n(59),a=n(9),u=n(19),c=n(13),s=n(55),l=n(73),f=n(74),d=n(15),p=n(115),h=d("isConcatSpreadable"),g=9007199254740991,v="Maximum allowed index exceeded",m=p>=51||!o((function(){var e=[];return e[h]=!1,e.concat()[0]!==e})),y=f("concat"),b=function(e){if(!a(e))return!1;var t=e[h];return t!==undefined?!!t:i(e)};r({target:"Array",proto:!0,forced:!m||!y},{concat:function(e){var t,n,r,o,i,a=u(this),f=l(a,0),d=0;for(t=-1,r=arguments.length;tg)throw TypeError(v);for(n=0;n=g)throw TypeError(v);s(f,d++,i)}return f.length=d,f}})},function(e,t,n){"use strict";var r=n(4),o=n(160),i=n(50);r({target:"Array",proto:!0},{copyWithin:o}),i("copyWithin")},function(e,t,n){"use strict";var r=n(4),o=n(21).every,i=n(44),a=n(29),u=i("every"),c=a("every");r({target:"Array",proto:!0,forced:!u||!c},{every:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(4),o=n(116),i=n(50);r({target:"Array",proto:!0},{fill:o}),i("fill")},function(e,t,n){"use strict";var r=n(4),o=n(21).filter,i=n(74),a=n(29),u=i("filter"),c=a("filter");r({target:"Array",proto:!0,forced:!u||!c},{filter:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(4),o=n(21).find,i=n(50),a=n(29),u="find",c=!0,s=a(u);u in[]&&Array(1).find((function(){c=!1})),r({target:"Array",proto:!0,forced:c||!s},{find:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}}),i(u)},function(e,t,n){"use strict";var r=n(4),o=n(21).findIndex,i=n(50),a=n(29),u="findIndex",c=!0,s=a(u);u in[]&&Array(1).findIndex((function(){c=!1})),r({target:"Array",proto:!0,forced:c||!s},{findIndex:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}}),i(u)},function(e,t,n){"use strict";var r=n(4),o=n(161),i=n(19),a=n(13),u=n(37),c=n(73);r({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:undefined,t=i(this),n=a(t.length),r=c(t,0);return r.length=o(r,t,t,n,0,e===undefined?1:u(e)),r}})},function(e,t,n){"use strict";var r=n(4),o=n(161),i=n(19),a=n(13),u=n(28),c=n(73);r({target:"Array",proto:!0},{flatMap:function(e){var t,n=i(this),r=a(n.length);return u(e),(t=c(n,0)).length=o(t,n,n,r,0,1,e,arguments.length>1?arguments[1]:undefined),t}})},function(e,t,n){"use strict";var r=n(4),o=n(250);r({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},function(e,t,n){"use strict";var r=n(21).forEach,o=n(44),i=n(29),a=o("forEach"),u=i("forEach");e.exports=a&&u?[].forEach:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}},function(e,t,n){"use strict";var r=n(4),o=n(252);r({target:"Array",stat:!0,forced:!n(85)((function(e){Array.from(e)}))},{from:o})},function(e,t,n){"use strict";var r=n(54),o=n(19),i=n(162),a=n(117),u=n(13),c=n(55),s=n(118);e.exports=function(e){var t,n,l,f,d,p,h=o(e),g="function"==typeof this?this:Array,v=arguments.length,m=v>1?arguments[1]:undefined,y=m!==undefined,b=s(h),x=0;if(y&&(m=r(m,v>2?arguments[2]:undefined,2)),b==undefined||g==Array&&a(b))for(n=new g(t=u(h.length));t>x;x++)p=y?m(h[x],x):h[x],c(n,x,p);else for(d=(f=b.call(h)).next,n=new g;!(l=d.call(f)).done;x++)p=y?i(f,m,[l.value,x],!0):l.value,c(n,x,p);return n.length=x,n}},function(e,t,n){"use strict";var r=n(4),o=n(70).includes,i=n(50);r({target:"Array",proto:!0,forced:!n(29)("indexOf",{ACCESSORS:!0,1:0})},{includes:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}}),i("includes")},function(e,t,n){"use strict";var r=n(4),o=n(70).indexOf,i=n(44),a=n(29),u=[].indexOf,c=!!u&&1/[1].indexOf(1,-0)<0,s=i("indexOf"),l=a("indexOf",{ACCESSORS:!0,1:0});r({target:"Array",proto:!0,forced:c||!s||!l},{indexOf:function(e){return c?u.apply(this,arguments)||0:o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";n(4)({target:"Array",stat:!0},{isArray:n(59)})},function(e,t,n){"use strict";var r=n(4),o=n(67),i=n(30),a=n(44),u=[].join,c=o!=Object,s=a("join",",");r({target:"Array",proto:!0,forced:c||!s},{join:function(e){return u.call(i(this),e===undefined?",":e)}})},function(e,t,n){"use strict";var r=n(4),o=n(167);r({target:"Array",proto:!0,forced:o!==[].lastIndexOf},{lastIndexOf:o})},function(e,t,n){"use strict";var r=n(4),o=n(21).map,i=n(74),a=n(29),u=i("map"),c=a("map");r({target:"Array",proto:!0,forced:!u||!c},{map:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(55);r({target:"Array",stat:!0,forced:o((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;)i(n,e,arguments[e++]);return n.length=t,n}})},function(e,t,n){"use strict";var r=n(4),o=n(86).left,i=n(44),a=n(29),u=i("reduce"),c=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!u||!c},{reduce:function(e){return o(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(4),o=n(86).right,i=n(44),a=n(29),u=i("reduceRight"),c=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!u||!c},{reduceRight:function(e){return o(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(4),o=n(9),i=n(59),a=n(47),u=n(13),c=n(30),s=n(55),l=n(15),f=n(74),d=n(29),p=f("slice"),h=d("slice",{ACCESSORS:!0,0:0,1:2}),g=l("species"),v=[].slice,m=Math.max;r({target:"Array",proto:!0,forced:!p||!h},{slice:function(e,t){var n,r,l,f=c(this),d=u(f.length),p=a(e,d),h=a(t===undefined?d:t,d);if(i(f)&&("function"!=typeof(n=f.constructor)||n!==Array&&!i(n.prototype)?o(n)&&null===(n=n[g])&&(n=undefined):n=undefined,n===Array||n===undefined))return v.call(f,p,h);for(r=new(n===undefined?Array:n)(m(h-p,0)),l=0;p1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(4),o=n(28),i=n(19),a=n(5),u=n(44),c=[],s=c.sort,l=a((function(){c.sort(undefined)})),f=a((function(){c.sort(null)})),d=u("sort");r({target:"Array",proto:!0,forced:l||!f||!d},{sort:function(e){return e===undefined?s.call(i(this)):s.call(i(this),o(e))}})},function(e,t,n){"use strict";n(60)("Array")},function(e,t,n){"use strict";var r=n(4),o=n(47),i=n(37),a=n(13),u=n(19),c=n(73),s=n(55),l=n(74),f=n(29),d=l("splice"),p=f("splice",{ACCESSORS:!0,0:0,1:2}),h=Math.max,g=Math.min,v=9007199254740991,m="Maximum allowed length exceeded";r({target:"Array",proto:!0,forced:!d||!p},{splice:function(e,t){var n,r,l,f,d,p,y=u(this),b=a(y.length),x=o(e,b),w=arguments.length;if(0===w?n=r=0:1===w?(n=0,r=b-x):(n=w-2,r=g(h(i(t),0),b-x)),b+n-r>v)throw TypeError(m);for(l=c(y,r),f=0;fb-r+n;f--)delete y[f-1]}else if(n>r)for(f=b-r;f>x;f--)p=f+n-1,(d=f+r-1)in y?y[p]=y[d]:delete y[p];for(f=0;f>1,v=23===t?i(2,-24)-i(2,-77):0,m=e<0||0===e&&1/e<0?1:0,y=0;for((e=o(e))!=e||e===r?(l=e!=e?1:0,s=h):(s=a(u(e)/c),e*(f=i(2,-s))<1&&(s--,f*=2),(e+=s+g>=1?v/f:v*i(2,1-g))*f>=2&&(s++,f/=2),s+g>=h?(l=0,s=h):s+g>=1?(l=(e*f-1)*i(2,t),s+=g):(l=e*i(2,g-1)*i(2,t),s=0));t>=8;d[y++]=255&l,l/=256,t-=8);for(s=s<0;d[y++]=255&s,s/=256,p-=8);return d[--y]|=128*m,d},unpack:function(e,t){var n,o=e.length,a=8*o-t-1,u=(1<>1,s=a-7,l=o-1,f=e[l--],d=127&f;for(f>>=7;s>0;d=256*d+e[l],l--,s-=8);for(n=d&(1<<-s)-1,d>>=-s,s+=t;s>0;n=256*n+e[l],l--,s-=8);if(0===d)d=1-c;else{if(d===u)return n?NaN:f?-1/0:r;n+=i(2,t),d-=c}return(f?-1:1)*n*i(2,d-t)}}},function(e,t,n){"use strict";var r=n(4),o=n(14);r({target:"ArrayBuffer",stat:!0,forced:!o.NATIVE_ARRAY_BUFFER_VIEWS},{isView:o.isView})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(87),a=n(12),u=n(47),c=n(13),s=n(45),l=i.ArrayBuffer,f=i.DataView,d=l.prototype.slice;r({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:o((function(){return!new l(2).slice(1,undefined).byteLength}))},{slice:function(e,t){if(d!==undefined&&t===undefined)return d.call(a(this),e);for(var n=a(this).byteLength,r=u(e,n),o=u(t===undefined?n:t,n),i=new(s(this,l))(c(o-r)),p=new f(this),h=new f(i),g=0;r9999?"+":"";return r+o(i(t),r?6:4,0)+"-"+o(e.getUTCMonth()+1,2,0)+"-"+o(e.getUTCDate(),2,0)+"T"+o(e.getUTCHours(),2,0)+":"+o(e.getUTCMinutes(),2,0)+":"+o(e.getUTCSeconds(),2,0)+"."+o(n,3,0)+"Z"}:c},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(19),a=n(38);r({target:"Date",proto:!0,forced:o((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}))},{toJSON:function(e){var t=i(this),n=a(t);return"number"!=typeof n||isFinite(n)?t.toISOString():null}})},function(e,t,n){"use strict";var r=n(31),o=n(279),i=n(15)("toPrimitive"),a=Date.prototype;i in a||r(a,i,o)},function(e,t,n){"use strict";var r=n(12),o=n(38);e.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint");return o(r(this),"number"!==e)}},function(e,t,n){"use strict";var r=n(26),o=Date.prototype,i="Invalid Date",a="toString",u=o.toString,c=o.getTime;new Date(NaN)+""!=i&&r(o,a,(function(){var e=c.call(this);return e==e?u.call(this):i}))},function(e,t,n){"use strict";n(4)({target:"Function",proto:!0},{bind:n(169)})},function(e,t,n){"use strict";var r=n(9),o=n(16),i=n(40),a=n(15)("hasInstance"),u=Function.prototype;a in u||o.f(u,a,{value:function(e){if("function"!=typeof this||!r(e))return!1;if(!r(this.prototype))return e instanceof this;for(;e=i(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){"use strict";var r=n(11),o=n(16).f,i=Function.prototype,a=i.toString,u=/^\s*function ([^ (]*)/,c="name";r&&!(c in i)&&o(i,c,{configurable:!0,get:function(){try{return a.call(this).match(u)[1]}catch(e){return""}}})},function(e,t,n){"use strict";n(4)({global:!0},{globalThis:n(7)})},function(e,t,n){"use strict";var r=n(4),o=n(39),i=n(5),a=o("JSON","stringify"),u=/[\uD800-\uDFFF]/g,c=/^[\uD800-\uDBFF]$/,s=/^[\uDC00-\uDFFF]$/,l=function(e,t,n){var r=n.charAt(t-1),o=n.charAt(t+1);return c.test(e)&&!s.test(o)||s.test(e)&&!c.test(r)?"\\u"+e.charCodeAt(0).toString(16):e},f=i((function(){return'"\\udf06\\ud834"'!==a("\udf06\ud834")||'"\\udead"'!==a("\udead")}));a&&r({target:"JSON",stat:!0,forced:f},{stringify:function(e,t,n){var r=a.apply(null,arguments);return"string"==typeof r?r.replace(u,l):r}})},function(e,t,n){"use strict";var r=n(7);n(49)(r.JSON,"JSON",!0)},function(e,t,n){"use strict";var r=n(88),o=n(170);e.exports=r("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),o)},function(e,t,n){"use strict";var r=n(4),o=n(171),i=Math.acosh,a=Math.log,u=Math.sqrt,c=Math.LN2;r({target:"Math",stat:!0,forced:!i||710!=Math.floor(i(Number.MAX_VALUE))||i(Infinity)!=Infinity},{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?a(e)+c:o(e-1+u(e-1)*u(e+1))}})},function(e,t,n){"use strict";var r=n(4),o=Math.asinh,i=Math.log,a=Math.sqrt;r({target:"Math",stat:!0,forced:!(o&&1/o(0)>0)},{asinh:function u(e){return isFinite(e=+e)&&0!=e?e<0?-u(-e):i(e+a(e*e+1)):e}})},function(e,t,n){"use strict";var r=n(4),o=Math.atanh,i=Math.log;r({target:"Math",stat:!0,forced:!(o&&1/o(-0)<0)},{atanh:function(e){return 0==(e=+e)?e:i((1+e)/(1-e))/2}})},function(e,t,n){"use strict";var r=n(4),o=n(125),i=Math.abs,a=Math.pow;r({target:"Math",stat:!0},{cbrt:function(e){return o(e=+e)*a(i(e),1/3)}})},function(e,t,n){"use strict";var r=n(4),o=Math.floor,i=Math.log,a=Math.LOG2E;r({target:"Math",stat:!0},{clz32:function(e){return(e>>>=0)?31-o(i(e+.5)*a):32}})},function(e,t,n){"use strict";var r=n(4),o=n(90),i=Math.cosh,a=Math.abs,u=Math.E;r({target:"Math",stat:!0,forced:!i||i(710)===Infinity},{cosh:function(e){var t=o(a(e)-1)+1;return(t+1/(t*u*u))*(u/2)}})},function(e,t,n){"use strict";var r=n(4),o=n(90);r({target:"Math",stat:!0,forced:o!=Math.expm1},{expm1:o})},function(e,t,n){"use strict";n(4)({target:"Math",stat:!0},{fround:n(296)})},function(e,t,n){"use strict";var r=n(125),o=Math.abs,i=Math.pow,a=i(2,-52),u=i(2,-23),c=i(2,127)*(2-u),s=i(2,-126);e.exports=Math.fround||function(e){var t,n,i=o(e),l=r(e);return ic||n!=n?l*Infinity:l*n}},function(e,t,n){"use strict";var r=n(4),o=Math.hypot,i=Math.abs,a=Math.sqrt;r({target:"Math",stat:!0,forced:!!o&&o(Infinity,NaN)!==Infinity},{hypot:function(e,t){for(var n,r,o=0,u=0,c=arguments.length,s=0;u0?(r=n/s)*r:n;return s===Infinity?Infinity:s*a(o)}})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=Math.imul;r({target:"Math",stat:!0,forced:o((function(){return-5!=i(4294967295,5)||2!=i.length}))},{imul:function(e,t){var n=65535,r=+e,o=+t,i=n&r,a=n&o;return 0|i*a+((n&r>>>16)*a+i*(n&o>>>16)<<16>>>0)}})},function(e,t,n){"use strict";var r=n(4),o=Math.log,i=Math.LOG10E;r({target:"Math",stat:!0},{log10:function(e){return o(e)*i}})},function(e,t,n){"use strict";n(4)({target:"Math",stat:!0},{log1p:n(171)})},function(e,t,n){"use strict";var r=n(4),o=Math.log,i=Math.LN2;r({target:"Math",stat:!0},{log2:function(e){return o(e)/i}})},function(e,t,n){"use strict";n(4)({target:"Math",stat:!0},{sign:n(125)})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(90),a=Math.abs,u=Math.exp,c=Math.E;r({target:"Math",stat:!0,forced:o((function(){return-2e-17!=Math.sinh(-2e-17)}))},{sinh:function(e){return a(e=+e)<1?(i(e)-i(-e))/2:(u(e-1)-u(-e-1))*(c/2)}})},function(e,t,n){"use strict";var r=n(4),o=n(90),i=Math.exp;r({target:"Math",stat:!0},{tanh:function(e){var t=o(e=+e),n=o(-e);return t==Infinity?1:n==Infinity?-1:(t-n)/(i(e)+i(-e))}})},function(e,t,n){"use strict";n(49)(Math,"Math",!0)},function(e,t,n){"use strict";var r=n(4),o=Math.ceil,i=Math.floor;r({target:"Math",stat:!0},{trunc:function(e){return(e>0?i:o)(e)}})},function(e,t,n){"use strict";var r=n(11),o=n(7),i=n(71),a=n(26),u=n(20),c=n(36),s=n(89),l=n(38),f=n(5),d=n(48),p=n(53).f,h=n(23).f,g=n(16).f,v=n(63).trim,m="Number",y=o.Number,b=y.prototype,x=c(d(b))==m,w=function(e){var t,n,r,o,i,a,u,c,s=l(e,!1);if("string"==typeof s&&s.length>2)if(43===(t=(s=v(s)).charCodeAt(0))||45===t){if(88===(n=s.charCodeAt(2))||120===n)return NaN}else if(48===t){switch(s.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+s}for(a=(i=s.slice(2)).length,u=0;uo)return NaN;return parseInt(i,r)}return+s};if(i(m,!y(" 0o1")||!y("0b1")||y("+0x1"))){for(var _,E=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof E&&(x?f((function(){b.valueOf.call(n)})):c(n)!=m)?s(new y(w(t)),n,E):w(t)},k=r?p(y):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),S=0;k.length>S;S++)u(y,_=k[S])&&!u(E,_)&&g(E,_,h(y,_));E.prototype=b,b.constructor=E,a(o,m,E)}},function(e,t,n){"use strict";n(4)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},function(e,t,n){"use strict";n(4)({target:"Number",stat:!0},{isFinite:n(310)})},function(e,t,n){"use strict";var r=n(7).isFinite;e.exports=Number.isFinite||function(e){return"number"==typeof e&&r(e)}},function(e,t,n){"use strict";n(4)({target:"Number",stat:!0},{isInteger:n(172)})},function(e,t,n){"use strict";n(4)({target:"Number",stat:!0},{isNaN:function(e){return e!=e}})},function(e,t,n){"use strict";var r=n(4),o=n(172),i=Math.abs;r({target:"Number",stat:!0},{isSafeInteger:function(e){return o(e)&&i(e)<=9007199254740991}})},function(e,t,n){"use strict";n(4)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){"use strict";n(4)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(e,t,n){"use strict";var r=n(4),o=n(317);r({target:"Number",stat:!0,forced:Number.parseFloat!=o},{parseFloat:o})},function(e,t,n){"use strict";var r=n(7),o=n(63).trim,i=n(91),a=r.parseFloat,u=1/a(i+"-0")!=-Infinity;e.exports=u?function(e){var t=o(String(e)),n=a(t);return 0===n&&"-"==t.charAt(0)?-0:n}:a},function(e,t,n){"use strict";var r=n(4),o=n(173);r({target:"Number",stat:!0,forced:Number.parseInt!=o},{parseInt:o})},function(e,t,n){"use strict";var r=n(4),o=n(37),i=n(320),a=n(124),u=n(5),c=1..toFixed,s=Math.floor,l=function f(e,t,n){return 0===t?n:t%2==1?f(e,t-1,n*e):f(e*e,t/2,n)};r({target:"Number",proto:!0,forced:c&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!u((function(){c.call({})}))},{toFixed:function(e){var t,n,r,u,c=i(this),f=o(e),d=[0,0,0,0,0,0],p="",h="0",g=function(e,t){for(var n=-1,r=t;++n<6;)r+=e*d[n],d[n]=r%1e7,r=s(r/1e7)},v=function(e){for(var t=6,n=0;--t>=0;)n+=d[t],d[t]=s(n/e),n=n%e*1e7},m=function(){for(var e=6,t="";--e>=0;)if(""!==t||0===e||0!==d[e]){var n=String(d[e]);t=""===t?n:t+a.call("0",7-n.length)+n}return t};if(f<0||f>20)throw RangeError("Incorrect fraction digits");if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(p="-",c=-c),c>1e-21)if(n=(t=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t}(c*l(2,69,1))-69)<0?c*l(2,-t,1):c/l(2,t,1),n*=4503599627370496,(t=52-t)>0){for(g(0,n),r=f;r>=7;)g(1e7,0),r-=7;for(g(l(10,r,1),0),r=t-1;r>=23;)v(1<<23),r-=23;v(1<0?p+((u=h.length)<=f?"0."+a.call("0",f-u)+h:h.slice(0,u-f)+"."+h.slice(u-f)):p+h}})},function(e,t,n){"use strict";var r=n(36);e.exports=function(e){if("number"!=typeof e&&"Number"!=r(e))throw TypeError("Incorrect invocation");return+e}},function(e,t,n){"use strict";var r=n(4),o=n(322);r({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},function(e,t,n){"use strict";var r=n(11),o=n(5),i=n(72),a=n(113),u=n(81),c=n(19),s=n(67),l=Object.assign,f=Object.defineProperty;e.exports=!l||o((function(){if(r&&1!==l({b:1},l(f({},"a",{enumerable:!0,get:function(){f(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol(),o="abcdefghijklmnopqrst";return e[n]=7,o.split("").forEach((function(e){t[e]=e})),7!=l({},e)[n]||i(l({},t)).join("")!=o}))?function(e,t){for(var n=c(e),o=arguments.length,l=1,f=a.f,d=u.f;o>l;)for(var p,h=s(arguments[l++]),g=f?i(h).concat(f(h)):i(h),v=g.length,m=0;v>m;)p=g[m++],r&&!d.call(h,p)||(n[p]=h[p]);return n}:l},function(e,t,n){"use strict";n(4)({target:"Object",stat:!0,sham:!n(11)},{create:n(48)})},function(e,t,n){"use strict";var r=n(4),o=n(11),i=n(92),a=n(19),u=n(28),c=n(16);o&&r({target:"Object",proto:!0,forced:i},{__defineGetter__:function(e,t){c.f(a(this),e,{get:u(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var r=n(4),o=n(11);r({target:"Object",stat:!0,forced:!o,sham:!o},{defineProperties:n(156)})},function(e,t,n){"use strict";var r=n(4),o=n(11);r({target:"Object",stat:!0,forced:!o,sham:!o},{defineProperty:n(16).f})},function(e,t,n){"use strict";var r=n(4),o=n(11),i=n(92),a=n(19),u=n(28),c=n(16);o&&r({target:"Object",proto:!0,forced:i},{__defineSetter__:function(e,t){c.f(a(this),e,{set:u(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var r=n(4),o=n(174).entries;r({target:"Object",stat:!0},{entries:function(e){return o(e)}})},function(e,t,n){"use strict";var r=n(4),o=n(77),i=n(5),a=n(9),u=n(57).onFreeze,c=Object.freeze;r({target:"Object",stat:!0,forced:i((function(){c(1)})),sham:!o},{freeze:function(e){return c&&a(e)?c(u(e)):e}})},function(e,t,n){"use strict";var r=n(4),o=n(62),i=n(55);r({target:"Object",stat:!0},{fromEntries:function(e){var t={};return o(e,(function(e,n){i(t,e,n)}),undefined,!0),t}})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(30),a=n(23).f,u=n(11),c=o((function(){a(1)}));r({target:"Object",stat:!0,forced:!u||c,sham:!u},{getOwnPropertyDescriptor:function(e,t){return a(i(e),t)}})},function(e,t,n){"use strict";var r=n(4),o=n(11),i=n(111),a=n(30),u=n(23),c=n(55);r({target:"Object",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(e){for(var t,n,r=a(e),o=u.f,s=i(r),l={},f=0;s.length>f;)(n=o(r,t=s[f++]))!==undefined&&c(l,t,n);return l}})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(158).f;r({target:"Object",stat:!0,forced:o((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:i})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(19),a=n(40),u=n(121);r({target:"Object",stat:!0,forced:o((function(){a(1)})),sham:!u},{getPrototypeOf:function(e){return a(i(e))}})},function(e,t,n){"use strict";n(4)({target:"Object",stat:!0},{is:n(175)})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(9),a=Object.isExtensible;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isExtensible:function(e){return!!i(e)&&(!a||a(e))}})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(9),a=Object.isFrozen;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isFrozen:function(e){return!i(e)||!!a&&a(e)}})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(9),a=Object.isSealed;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isSealed:function(e){return!i(e)||!!a&&a(e)}})},function(e,t,n){"use strict";var r=n(4),o=n(19),i=n(72);r({target:"Object",stat:!0,forced:n(5)((function(){i(1)}))},{keys:function(e){return i(o(e))}})},function(e,t,n){"use strict";var r=n(4),o=n(11),i=n(92),a=n(19),u=n(38),c=n(40),s=n(23).f;o&&r({target:"Object",proto:!0,forced:i},{__lookupGetter__:function(e){var t,n=a(this),r=u(e,!0);do{if(t=s(n,r))return t.get}while(n=c(n))}})},function(e,t,n){"use strict";var r=n(4),o=n(11),i=n(92),a=n(19),u=n(38),c=n(40),s=n(23).f;o&&r({target:"Object",proto:!0,forced:i},{__lookupSetter__:function(e){var t,n=a(this),r=u(e,!0);do{if(t=s(n,r))return t.set}while(n=c(n))}})},function(e,t,n){"use strict";var r=n(4),o=n(9),i=n(57).onFreeze,a=n(77),u=n(5),c=Object.preventExtensions;r({target:"Object",stat:!0,forced:u((function(){c(1)})),sham:!a},{preventExtensions:function(e){return c&&o(e)?c(i(e)):e}})},function(e,t,n){"use strict";var r=n(4),o=n(9),i=n(57).onFreeze,a=n(77),u=n(5),c=Object.seal;r({target:"Object",stat:!0,forced:u((function(){c(1)})),sham:!a},{seal:function(e){return c&&o(e)?c(i(e)):e}})},function(e,t,n){"use strict";n(4)({target:"Object",stat:!0},{setPrototypeOf:n(56)})},function(e,t,n){"use strict";var r=n(119),o=n(26),i=n(346);r||o(Object.prototype,"toString",i,{unsafe:!0})},function(e,t,n){"use strict";var r=n(119),o=n(84);e.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},function(e,t,n){"use strict";var r=n(4),o=n(174).values;r({target:"Object",stat:!0},{values:function(e){return o(e)}})},function(e,t,n){"use strict";var r=n(4),o=n(173);r({global:!0,forced:parseInt!=o},{parseInt:o})},function(e,t,n){"use strict";var r,o,i,a,u=n(4),c=n(43),s=n(7),l=n(39),f=n(176),d=n(26),p=n(76),h=n(49),g=n(60),v=n(9),m=n(28),y=n(61),b=n(36),x=n(109),w=n(62),_=n(85),E=n(45),k=n(126).set,S=n(178),C=n(179),N=n(350),A=n(127),T=n(180),O=n(32),I=n(71),M=n(15),L=n(115),V=M("species"),R="Promise",P=O.get,B=O.set,D=O.getterFor(R),F=f,j=s.TypeError,K=s.document,z=s.process,Y=l("fetch"),U=A.f,$=U,H="process"==b(z),W=!!(K&&K.createEvent&&s.dispatchEvent),q="unhandledrejection",G=I(R,(function(){if(!(x(F)!==String(F))){if(66===L)return!0;if(!H&&"function"!=typeof PromiseRejectionEvent)return!0}if(c&&!F.prototype["finally"])return!0;if(L>=51&&/native code/.test(F))return!1;var e=F.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[V]=t,!(e.then((function(){}))instanceof t)})),X=G||!_((function(e){F.all(e)["catch"]((function(){}))})),Z=function(e){var t;return!(!v(e)||"function"!=typeof(t=e.then))&&t},Q=function(e,t,n){if(!t.notified){t.notified=!0;var r=t.reactions;S((function(){for(var o=t.value,i=1==t.state,a=0;r.length>a;){var u,c,s,l=r[a++],f=i?l.ok:l.fail,d=l.resolve,p=l.reject,h=l.domain;try{f?(i||(2===t.rejection&&ne(e,t),t.rejection=1),!0===f?u=o:(h&&h.enter(),u=f(o),h&&(h.exit(),s=!0)),u===l.promise?p(j("Promise-chain cycle")):(c=Z(u))?c.call(u,d,p):d(u)):p(o)}catch(g){h&&!s&&h.exit(),p(g)}}t.reactions=[],t.notified=!1,n&&!t.rejection&&ee(e,t)}))}},J=function(e,t,n){var r,o;W?((r=K.createEvent("Event")).promise=t,r.reason=n,r.initEvent(e,!1,!0),s.dispatchEvent(r)):r={promise:t,reason:n},(o=s["on"+e])?o(r):e===q&&N("Unhandled promise rejection",n)},ee=function(e,t){k.call(s,(function(){var n,r=t.value;if(te(t)&&(n=T((function(){H?z.emit("unhandledRejection",r,e):J(q,e,r)})),t.rejection=H||te(t)?2:1,n.error))throw n.value}))},te=function(e){return 1!==e.rejection&&!e.parent},ne=function(e,t){k.call(s,(function(){H?z.emit("rejectionHandled",e):J("rejectionhandled",e,t.value)}))},re=function(e,t,n,r){return function(o){e(t,n,o,r)}},oe=function(e,t,n,r){t.done||(t.done=!0,r&&(t=r),t.value=n,t.state=2,Q(e,t,!0))},ie=function ae(e,t,n,r){if(!t.done){t.done=!0,r&&(t=r);try{if(e===n)throw j("Promise can't be resolved itself");var o=Z(n);o?S((function(){var r={done:!1};try{o.call(n,re(ae,e,r,t),re(oe,e,r,t))}catch(i){oe(e,r,i,t)}})):(t.value=n,t.state=1,Q(e,t,!1))}catch(i){oe(e,{done:!1},i,t)}}};G&&(F=function(e){y(this,F,R),m(e),r.call(this);var t=P(this);try{e(re(ie,this,t),re(oe,this,t))}catch(n){oe(this,t,n)}},(r=function(e){B(this,{type:R,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:undefined})}).prototype=p(F.prototype,{then:function(e,t){var n=D(this),r=U(E(this,F));return r.ok="function"!=typeof e||e,r.fail="function"==typeof t&&t,r.domain=H?z.domain:undefined,n.parent=!0,n.reactions.push(r),0!=n.state&&Q(this,n,!1),r.promise},"catch":function(e){return this.then(undefined,e)}}),o=function(){var e=new r,t=P(e);this.promise=e,this.resolve=re(ie,e,t),this.reject=re(oe,e,t)},A.f=U=function(e){return e===F||e===i?new o(e):$(e)},c||"function"!=typeof f||(a=f.prototype.then,d(f.prototype,"then",(function(e,t){var n=this;return new F((function(e,t){a.call(n,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof Y&&u({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return C(F,Y.apply(s,arguments))}}))),u({global:!0,wrap:!0,forced:G},{Promise:F}),h(F,R,!1,!0),g(R),i=l(R),u({target:R,stat:!0,forced:G},{reject:function(e){var t=U(this);return t.reject.call(undefined,e),t.promise}}),u({target:R,stat:!0,forced:c||G},{resolve:function(e){return C(c&&this===i?F:this,e)}}),u({target:R,stat:!0,forced:X},{all:function(e){var t=this,n=U(t),r=n.resolve,o=n.reject,i=T((function(){var n=m(t.resolve),i=[],a=0,u=1;w(e,(function(e){var c=a++,s=!1;i.push(undefined),u++,n.call(t,e).then((function(e){s||(s=!0,i[c]=e,--u||r(i))}),o)})),--u||r(i)}));return i.error&&o(i.value),n.promise},race:function(e){var t=this,n=U(t),r=n.reject,o=T((function(){var o=m(t.resolve);w(e,(function(e){o.call(t,e).then(n.resolve,r)}))}));return o.error&&r(o.value),n.promise}})},function(e,t,n){"use strict";var r=n(7);e.exports=function(e,t){var n=r.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},function(e,t,n){"use strict";var r=n(4),o=n(28),i=n(127),a=n(180),u=n(62);r({target:"Promise",stat:!0},{allSettled:function(e){var t=this,n=i.f(t),r=n.resolve,c=n.reject,s=a((function(){var n=o(t.resolve),i=[],a=0,c=1;u(e,(function(e){var o=a++,u=!1;i.push(undefined),c++,n.call(t,e).then((function(e){u||(u=!0,i[o]={status:"fulfilled",value:e},--c||r(i))}),(function(e){u||(u=!0,i[o]={status:"rejected",reason:e},--c||r(i))}))})),--c||r(i)}));return s.error&&c(s.value),n.promise}})},function(e,t,n){"use strict";var r=n(4),o=n(43),i=n(176),a=n(5),u=n(39),c=n(45),s=n(179),l=n(26);r({target:"Promise",proto:!0,real:!0,forced:!!i&&a((function(){i.prototype["finally"].call({then:function(){}},(function(){}))}))},{"finally":function(e){var t=c(this,u("Promise")),n="function"==typeof e;return this.then(n?function(n){return s(t,e()).then((function(){return n}))}:e,n?function(n){return s(t,e()).then((function(){throw n}))}:e)}}),o||"function"!=typeof i||i.prototype["finally"]||l(i.prototype,"finally",u("Promise").prototype["finally"])},function(e,t,n){"use strict";var r=n(4),o=n(39),i=n(28),a=n(12),u=n(5),c=o("Reflect","apply"),s=Function.apply;r({target:"Reflect",stat:!0,forced:!u((function(){c((function(){}))}))},{apply:function(e,t,n){return i(e),a(n),c?c(e,t,n):s.call(e,t,n)}})},function(e,t,n){"use strict";var r=n(4),o=n(39),i=n(28),a=n(12),u=n(9),c=n(48),s=n(169),l=n(5),f=o("Reflect","construct"),d=l((function(){function e(){}return!(f((function(){}),[],e)instanceof e)})),p=!l((function(){f((function(){}))})),h=d||p;r({target:"Reflect",stat:!0,forced:h,sham:h},{construct:function(e,t){i(e),a(t);var n=arguments.length<3?e:i(arguments[2]);if(p&&!d)return f(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 r=[null];return r.push.apply(r,t),new(s.apply(e,r))}var o=n.prototype,l=c(u(o)?o:Object.prototype),h=Function.apply.call(e,l,t);return u(h)?h:l}})},function(e,t,n){"use strict";var r=n(4),o=n(11),i=n(12),a=n(38),u=n(16);r({target:"Reflect",stat:!0,forced:n(5)((function(){Reflect.defineProperty(u.f({},1,{value:1}),1,{value:2})})),sham:!o},{defineProperty:function(e,t,n){i(e);var r=a(t,!0);i(n);try{return u.f(e,r,n),!0}catch(o){return!1}}})},function(e,t,n){"use strict";var r=n(4),o=n(12),i=n(23).f;r({target:"Reflect",stat:!0},{deleteProperty:function(e,t){var n=i(o(e),t);return!(n&&!n.configurable)&&delete e[t]}})},function(e,t,n){"use strict";var r=n(4),o=n(9),i=n(12),a=n(20),u=n(23),c=n(40);r({target:"Reflect",stat:!0},{get:function s(e,t){var n,r,l=arguments.length<3?e:arguments[2];return i(e)===l?e[t]:(n=u.f(e,t))?a(n,"value")?n.value:n.get===undefined?undefined:n.get.call(l):o(r=c(e))?s(r,t,l):void 0}})},function(e,t,n){"use strict";var r=n(4),o=n(11),i=n(12),a=n(23);r({target:"Reflect",stat:!0,sham:!o},{getOwnPropertyDescriptor:function(e,t){return a.f(i(e),t)}})},function(e,t,n){"use strict";var r=n(4),o=n(12),i=n(40);r({target:"Reflect",stat:!0,sham:!n(121)},{getPrototypeOf:function(e){return i(o(e))}})},function(e,t,n){"use strict";n(4)({target:"Reflect",stat:!0},{has:function(e,t){return t in e}})},function(e,t,n){"use strict";var r=n(4),o=n(12),i=Object.isExtensible;r({target:"Reflect",stat:!0},{isExtensible:function(e){return o(e),!i||i(e)}})},function(e,t,n){"use strict";n(4)({target:"Reflect",stat:!0},{ownKeys:n(111)})},function(e,t,n){"use strict";var r=n(4),o=n(39),i=n(12);r({target:"Reflect",stat:!0,sham:!n(77)},{preventExtensions:function(e){i(e);try{var t=o("Object","preventExtensions");return t&&t(e),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var r=n(4),o=n(12),i=n(9),a=n(20),u=n(5),c=n(16),s=n(23),l=n(40),f=n(52);r({target:"Reflect",stat:!0,forced:u((function(){var e=c.f({},"a",{configurable:!0});return!1!==Reflect.set(l(e),"a",1,e)}))},{set:function d(e,t,n){var r,u,p=arguments.length<4?e:arguments[3],h=s.f(o(e),t);if(!h){if(i(u=l(e)))return d(u,t,n,p);h=f(0)}if(a(h,"value")){if(!1===h.writable||!i(p))return!1;if(r=s.f(p,t)){if(r.get||r.set||!1===r.writable)return!1;r.value=n,c.f(p,t,r)}else c.f(p,t,f(0,n));return!0}return h.set!==undefined&&(h.set.call(p,n),!0)}})},function(e,t,n){"use strict";var r=n(4),o=n(12),i=n(166),a=n(56);a&&r({target:"Reflect",stat:!0},{setPrototypeOf:function(e,t){o(e),i(t);try{return a(e,t),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var r=n(11),o=n(7),i=n(71),a=n(89),u=n(16).f,c=n(53).f,s=n(93),l=n(78),f=n(94),d=n(26),p=n(5),h=n(32).set,g=n(60),v=n(15)("match"),m=o.RegExp,y=m.prototype,b=/a/g,x=/a/g,w=new m(b)!==b,_=f.UNSUPPORTED_Y;if(r&&i("RegExp",!w||_||p((function(){return x[v]=!1,m(b)!=b||m(x)==x||"/a/i"!=m(b,"i")})))){for(var E=function(e,t){var n,r=this instanceof E,o=s(e),i=t===undefined;if(!r&&o&&e.constructor===E&&i)return e;w?o&&!i&&(e=e.source):e instanceof E&&(i&&(t=l.call(e)),e=e.source),_&&(n=!!t&&t.indexOf("y")>-1)&&(t=t.replace(/y/g,""));var u=a(w?new m(e,t):m(e,t),r?this:y,E);return _&&n&&h(u,{sticky:n}),u},k=function(e){e in E||u(E,e,{configurable:!0,get:function(){return m[e]},set:function(t){m[e]=t}})},S=c(m),C=0;S.length>C;)k(S[C++]);y.constructor=E,E.prototype=y,d(o,"RegExp",E)}g("RegExp")},function(e,t,n){"use strict";var r=n(11),o=n(16),i=n(78),a=n(94).UNSUPPORTED_Y;r&&("g"!=/./g.flags||a)&&o.f(RegExp.prototype,"flags",{configurable:!0,get:i})},function(e,t,n){"use strict";var r=n(11),o=n(94).UNSUPPORTED_Y,i=n(16).f,a=n(32).get,u=RegExp.prototype;r&&o&&i(RegExp.prototype,"sticky",{configurable:!0,get:function(){if(this===u)return undefined;if(this instanceof RegExp)return!!a(this).sticky;throw TypeError("Incompatible receiver, RegExp required")}})},function(e,t,n){"use strict";n(128);var r,o,i=n(4),a=n(9),u=(r=!1,(o=/[ac]/).exec=function(){return r=!0,/./.exec.apply(this,arguments)},!0===o.test("abc")&&r),c=/./.test;i({target:"RegExp",proto:!0,forced:!u},{test:function(e){if("function"!=typeof this.exec)return c.call(this,e);var t=this.exec(e);if(null!==t&&!a(t))throw new Error("RegExp exec method returned something other than an Object or null");return!!t}})},function(e,t,n){"use strict";var r=n(26),o=n(12),i=n(5),a=n(78),u="toString",c=RegExp.prototype,s=c.toString,l=i((function(){return"/a/b"!=s.call({source:"a",flags:"b"})})),f=s.name!=u;(l||f)&&r(RegExp.prototype,u,(function(){var e=o(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(n===undefined&&e instanceof RegExp&&!("flags"in c)?a.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";var r=n(88),o=n(170);e.exports=r("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),o)},function(e,t,n){"use strict";var r=n(4),o=n(129).codeAt;r({target:"String",proto:!0},{codePointAt:function(e){return o(this,e)}})},function(e,t,n){"use strict";var r,o=n(4),i=n(23).f,a=n(13),u=n(130),c=n(25),s=n(131),l=n(43),f="".endsWith,d=Math.min,p=s("endsWith");o({target:"String",proto:!0,forced:!!(l||p||(r=i(String.prototype,"endsWith"),!r||r.writable))&&!p},{endsWith:function(e){var t=String(c(this));u(e);var n=arguments.length>1?arguments[1]:undefined,r=a(t.length),o=n===undefined?r:d(a(n),r),i=String(e);return f?f.call(t,i,o):t.slice(o-i.length,o)===i}})},function(e,t,n){"use strict";var r=n(4),o=n(47),i=String.fromCharCode,a=String.fromCodePoint;r({target:"String",stat:!0,forced:!!a&&1!=a.length},{fromCodePoint:function(e){for(var t,n=[],r=arguments.length,a=0;r>a;){if(t=+arguments[a++],o(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?i(t):i(55296+((t-=65536)>>10),t%1024+56320))}return n.join("")}})},function(e,t,n){"use strict";var r=n(4),o=n(130),i=n(25);r({target:"String",proto:!0,forced:!n(131)("includes")},{includes:function(e){return!!~String(i(this)).indexOf(o(e),arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(129).charAt,o=n(32),i=n(120),a="String Iterator",u=o.set,c=o.getterFor(a);i(String,"String",(function(e){u(this,{type:a,string:String(e),index:0})}),(function(){var e,t=c(this),n=t.string,o=t.index;return o>=n.length?{value:undefined,done:!0}:(e=r(n,o),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){"use strict";var r=n(96),o=n(12),i=n(13),a=n(25),u=n(97),c=n(98);r("match",1,(function(e,t,n){return[function(t){var n=a(this),r=t==undefined?undefined:t[e];return r!==undefined?r.call(t,n):new RegExp(t)[e](String(n))},function(e){var r=n(t,e,this);if(r.done)return r.value;var a=o(e),s=String(this);if(!a.global)return c(a,s);var l=a.unicode;a.lastIndex=0;for(var f,d=[],p=0;null!==(f=c(a,s));){var h=String(f[0]);d[p]=h,""===h&&(a.lastIndex=u(s,i(a.lastIndex),l)),p++}return 0===p?null:d}]}))},function(e,t,n){"use strict";var r=n(4),o=n(164),i=n(25),a=n(13),u=n(28),c=n(12),s=n(36),l=n(93),f=n(78),d=n(31),p=n(5),h=n(15),g=n(45),v=n(97),m=n(32),y=n(43),b=h("matchAll"),x="RegExp String",w="RegExp String Iterator",_=m.set,E=m.getterFor(w),k=RegExp.prototype,S=k.exec,C="".matchAll,N=!!C&&!p((function(){"a".matchAll(/./)})),A=o((function(e,t,n,r){_(this,{type:w,regexp:e,string:t,global:n,unicode:r,done:!1})}),x,(function(){var e=E(this);if(e.done)return{value:undefined,done:!0};var t=e.regexp,n=e.string,r=function(e,t){var n,r=e.exec;if("function"==typeof r){if("object"!=typeof(n=r.call(e,t)))throw TypeError("Incorrect exec result");return n}return S.call(e,t)}(t,n);return null===r?{value:undefined,done:e.done=!0}:e.global?(""==String(r[0])&&(t.lastIndex=v(n,a(t.lastIndex),e.unicode)),{value:r,done:!1}):(e.done=!0,{value:r,done:!1})})),T=function(e){var t,n,r,o,i,u,s=c(this),l=String(e);return t=g(s,RegExp),(n=s.flags)===undefined&&s instanceof RegExp&&!("flags"in k)&&(n=f.call(s)),r=n===undefined?"":String(n),o=new t(t===RegExp?s.source:s,r),i=!!~r.indexOf("g"),u=!!~r.indexOf("u"),o.lastIndex=a(s.lastIndex),new A(o,l,i,u)};r({target:"String",proto:!0,forced:N},{matchAll:function(e){var t,n,r,o=i(this);if(null!=e){if(l(e)&&!~String(i("flags"in k?e.flags:f.call(e))).indexOf("g"))throw TypeError("`.matchAll` does not allow non-global regexes");if(N)return C.apply(o,arguments);if((n=e[b])===undefined&&y&&"RegExp"==s(e)&&(n=T),null!=n)return u(n).call(e,o)}else if(N)return C.apply(o,arguments);return t=String(o),r=new RegExp(e,"g"),y?T.call(r,t):r[b](t)}}),y||b in k||d(k,b,T)},function(e,t,n){"use strict";var r=n(4),o=n(123).end;r({target:"String",proto:!0,forced:n(181)},{padEnd:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(4),o=n(123).start;r({target:"String",proto:!0,forced:n(181)},{padStart:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(4),o=n(30),i=n(13);r({target:"String",stat:!0},{raw:function(e){for(var t=o(e.raw),n=i(t.length),r=arguments.length,a=[],u=0;n>u;)a.push(String(t[u++])),u]*>)/g,g=/\$([$&'`]|\d\d?)/g;r("replace",2,(function(e,t,n,r){var v=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,m=r.REPLACE_KEEPS_$0,y=v?"$":"$0";return[function(n,r){var o=c(this),i=n==undefined?undefined:n[e];return i!==undefined?i.call(n,o,r):t.call(String(o),n,r)},function(e,r){if(!v&&m||"string"==typeof r&&-1===r.indexOf(y)){var i=n(t,e,this,r);if(i.done)return i.value}var c=o(e),p=String(this),h="function"==typeof r;h||(r=String(r));var g=c.global;if(g){var x=c.unicode;c.lastIndex=0}for(var w=[];;){var _=l(c,p);if(null===_)break;if(w.push(_),!g)break;""===String(_[0])&&(c.lastIndex=s(p,a(c.lastIndex),x))}for(var E,k="",S=0,C=0;C=S&&(k+=p.slice(S,A)+L,S=A+N.length)}return k+p.slice(S)}];function b(e,n,r,o,a,u){var c=r+e.length,s=o.length,l=g;return a!==undefined&&(a=i(a),l=h),t.call(u,l,(function(t,i){var u;switch(i.charAt(0)){case"$":return"$";case"&":return e;case"`":return n.slice(0,r);case"'":return n.slice(c);case"<":u=a[i.slice(1,-1)];break;default:var l=+i;if(0===l)return t;if(l>s){var f=p(l/10);return 0===f?t:f<=s?o[f-1]===undefined?i.charAt(1):o[f-1]+i.charAt(1):t}u=o[l-1]}return u===undefined?"":u}))}}))},function(e,t,n){"use strict";var r=n(96),o=n(12),i=n(25),a=n(175),u=n(98);r("search",1,(function(e,t,n){return[function(t){var n=i(this),r=t==undefined?undefined:t[e];return r!==undefined?r.call(t,n):new RegExp(t)[e](String(n))},function(e){var r=n(t,e,this);if(r.done)return r.value;var i=o(e),c=String(this),s=i.lastIndex;a(s,0)||(i.lastIndex=0);var l=u(i,c);return a(i.lastIndex,s)||(i.lastIndex=s),null===l?-1:l.index}]}))},function(e,t,n){"use strict";var r=n(96),o=n(93),i=n(12),a=n(25),u=n(45),c=n(97),s=n(13),l=n(98),f=n(95),d=n(5),p=[].push,h=Math.min,g=4294967295,v=!d((function(){return!RegExp(g,"y")}));r("split",2,(function(e,t,n){var r;return r="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 r=String(a(this)),i=n===undefined?g:n>>>0;if(0===i)return[];if(e===undefined)return[r];if(!o(e))return t.call(r,e,i);for(var u,c,s,l=[],d=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),h=0,v=new RegExp(e.source,d+"g");(u=f.call(v,r))&&!((c=v.lastIndex)>h&&(l.push(r.slice(h,u.index)),u.length>1&&u.index=i));)v.lastIndex===u.index&&v.lastIndex++;return h===r.length?!s&&v.test("")||l.push(""):l.push(r.slice(h)),l.length>i?l.slice(0,i):l}:"0".split(undefined,0).length?function(e,n){return e===undefined&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var o=a(this),i=t==undefined?undefined:t[e];return i!==undefined?i.call(t,o,n):r.call(String(o),t,n)},function(e,o){var a=n(r,e,this,o,r!==t);if(a.done)return a.value;var f=i(e),d=String(this),p=u(f,RegExp),m=f.unicode,y=(f.ignoreCase?"i":"")+(f.multiline?"m":"")+(f.unicode?"u":"")+(v?"y":"g"),b=new p(v?f:"^(?:"+f.source+")",y),x=o===undefined?g:o>>>0;if(0===x)return[];if(0===d.length)return null===l(b,d)?[d]:[];for(var w=0,_=0,E=[];_1?arguments[1]:undefined,t.length)),r=String(e);return f?f.call(t,r,n):t.slice(n,n+r.length)===r}})},function(e,t,n){"use strict";var r=n(4),o=n(63).trim;r({target:"String",proto:!0,forced:n(132)("trim")},{trim:function(){return o(this)}})},function(e,t,n){"use strict";var r=n(4),o=n(63).end,i=n(132)("trimEnd"),a=i?function(){return o(this)}:"".trimEnd;r({target:"String",proto:!0,forced:i},{trimEnd:a,trimRight:a})},function(e,t,n){"use strict";var r=n(4),o=n(63).start,i=n(132)("trimStart"),a=i?function(){return o(this)}:"".trimStart;r({target:"String",proto:!0,forced:i},{trimStart:a,trimLeft:a})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("anchor")},{anchor:function(e){return o(this,"a","name",e)}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("big")},{big:function(){return o(this,"big","","")}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("blink")},{blink:function(){return o(this,"blink","","")}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("bold")},{bold:function(){return o(this,"b","","")}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("fixed")},{fixed:function(){return o(this,"tt","","")}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("fontcolor")},{fontcolor:function(e){return o(this,"font","color",e)}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("fontsize")},{fontsize:function(e){return o(this,"font","size",e)}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("italics")},{italics:function(){return o(this,"i","","")}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("link")},{link:function(e){return o(this,"a","href",e)}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("small")},{small:function(){return o(this,"small","","")}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("strike")},{strike:function(){return o(this,"strike","","")}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("sub")},{sub:function(){return o(this,"sub","","")}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("sup")},{sup:function(){return o(this,"sup","","")}})},function(e,t,n){"use strict";n(46)("Float32",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";var r=n(37);e.exports=function(e){var t=r(e);if(t<0)throw RangeError("The argument can't be less than 0");return t}},function(e,t,n){"use strict";n(46)("Float64",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(46)("Int8",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(46)("Int16",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(46)("Int32",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(46)("Uint8",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(46)("Uint8",(function(e){return function(t,n,r){return e(this,t,n,r)}}),!0)},function(e,t,n){"use strict";n(46)("Uint16",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(46)("Uint32",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";var r=n(14),o=n(160),i=r.aTypedArray;(0,r.exportTypedArrayMethod)("copyWithin",(function(e,t){return o.call(i(this),e,t,arguments.length>2?arguments[2]:undefined)}))},function(e,t,n){"use strict";var r=n(14),o=n(21).every,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("every",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(14),o=n(116),i=r.aTypedArray;(0,r.exportTypedArrayMethod)("fill",(function(e){return o.apply(i(this),arguments)}))},function(e,t,n){"use strict";var r=n(14),o=n(21).filter,i=n(45),a=r.aTypedArray,u=r.aTypedArrayConstructor;(0,r.exportTypedArrayMethod)("filter",(function(e){for(var t=o(a(this),e,arguments.length>1?arguments[1]:undefined),n=i(this,this.constructor),r=0,c=t.length,s=new(u(n))(c);c>r;)s[r]=t[r++];return s}))},function(e,t,n){"use strict";var r=n(14),o=n(21).find,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("find",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(14),o=n(21).findIndex,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("findIndex",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(14),o=n(21).forEach,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("forEach",(function(e){o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(133);(0,n(14).exportTypedArrayStaticMethod)("from",n(183),r)},function(e,t,n){"use strict";var r=n(14),o=n(70).includes,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("includes",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(14),o=n(70).indexOf,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("indexOf",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(7),o=n(14),i=n(163),a=n(15)("iterator"),u=r.Uint8Array,c=i.values,s=i.keys,l=i.entries,f=o.aTypedArray,d=o.exportTypedArrayMethod,p=u&&u.prototype[a],h=!!p&&("values"==p.name||p.name==undefined),g=function(){return c.call(f(this))};d("entries",(function(){return l.call(f(this))})),d("keys",(function(){return s.call(f(this))})),d("values",g,!h),d(a,g,!h)},function(e,t,n){"use strict";var r=n(14),o=r.aTypedArray,i=r.exportTypedArrayMethod,a=[].join;i("join",(function(e){return a.apply(o(this),arguments)}))},function(e,t,n){"use strict";var r=n(14),o=n(167),i=r.aTypedArray;(0,r.exportTypedArrayMethod)("lastIndexOf",(function(e){return o.apply(i(this),arguments)}))},function(e,t,n){"use strict";var r=n(14),o=n(21).map,i=n(45),a=r.aTypedArray,u=r.aTypedArrayConstructor;(0,r.exportTypedArrayMethod)("map",(function(e){return o(a(this),e,arguments.length>1?arguments[1]:undefined,(function(e,t){return new(u(i(e,e.constructor)))(t)}))}))},function(e,t,n){"use strict";var r=n(14),o=n(133),i=r.aTypedArrayConstructor;(0,r.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,t=arguments.length,n=new(i(this))(t);t>e;)n[e]=arguments[e++];return n}),o)},function(e,t,n){"use strict";var r=n(14),o=n(86).left,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("reduce",(function(e){return o(i(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(14),o=n(86).right,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("reduceRight",(function(e){return o(i(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(14),o=r.aTypedArray,i=r.exportTypedArrayMethod,a=Math.floor;i("reverse",(function(){for(var e,t=this,n=o(t).length,r=a(n/2),i=0;i1?arguments[1]:undefined,1),n=this.length,r=a(e),u=o(r.length),s=0;if(u+t>n)throw RangeError("Wrong length");for(;si;)l[i]=n[i++];return l}),i((function(){new Int8Array(1).slice()})))},function(e,t,n){"use strict";var r=n(14),o=n(21).some,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("some",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(14),o=r.aTypedArray,i=r.exportTypedArrayMethod,a=[].sort;i("sort",(function(e){return a.call(o(this),e)}))},function(e,t,n){"use strict";var r=n(14),o=n(13),i=n(47),a=n(45),u=r.aTypedArray;(0,r.exportTypedArrayMethod)("subarray",(function(e,t){var n=u(this),r=n.length,c=i(e,r);return new(a(n,n.constructor))(n.buffer,n.byteOffset+c*n.BYTES_PER_ELEMENT,o((t===undefined?r:i(t,r))-c))}))},function(e,t,n){"use strict";var r=n(7),o=n(14),i=n(5),a=r.Int8Array,u=o.aTypedArray,c=o.exportTypedArrayMethod,s=[].toLocaleString,l=[].slice,f=!!a&&i((function(){s.call(new a(1))}));c("toLocaleString",(function(){return s.apply(f?l.call(u(this)):u(this),arguments)}),i((function(){return[1,2].toLocaleString()!=new a([1,2]).toLocaleString()}))||!i((function(){a.prototype.toLocaleString.call([1,2])})))},function(e,t,n){"use strict";var r=n(14).exportTypedArrayMethod,o=n(5),i=n(7).Uint8Array,a=i&&i.prototype||{},u=[].toString,c=[].join;o((function(){u.call({})}))&&(u=function(){return c.call(this)});var s=a.toString!=u;r("toString",u,s)},function(e,t,n){"use strict";var r,o=n(7),i=n(76),a=n(57),u=n(88),c=n(184),s=n(9),l=n(32).enforce,f=n(151),d=!o.ActiveXObject&&"ActiveXObject"in o,p=Object.isExtensible,h=function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}},g=e.exports=u("WeakMap",h,c);if(f&&d){r=c.getConstructor(h,"WeakMap",!0),a.REQUIRED=!0;var v=g.prototype,m=v["delete"],y=v.has,b=v.get,x=v.set;i(v,{"delete":function(e){if(s(e)&&!p(e)){var t=l(this);return t.frozen||(t.frozen=new r),m.call(this,e)||t.frozen["delete"](e)}return m.call(this,e)},has:function(e){if(s(e)&&!p(e)){var t=l(this);return t.frozen||(t.frozen=new r),y.call(this,e)||t.frozen.has(e)}return y.call(this,e)},get:function(e){if(s(e)&&!p(e)){var t=l(this);return t.frozen||(t.frozen=new r),y.call(this,e)?b.call(this,e):t.frozen.get(e)}return b.call(this,e)},set:function(e,t){if(s(e)&&!p(e)){var n=l(this);n.frozen||(n.frozen=new r),y.call(this,e)?x.call(this,e,t):n.frozen.set(e,t)}else x.call(this,e,t);return this}})}},function(e,t,n){"use strict";n(88)("WeakSet",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),n(184))},function(e,t,n){"use strict";var r=n(4),o=n(7),i=n(126);r({global:!0,bind:!0,enumerable:!0,forced:!o.setImmediate||!o.clearImmediate},{setImmediate:i.set,clearImmediate:i.clear})},function(e,t,n){"use strict";var r=n(4),o=n(7),i=n(178),a=n(36),u=o.process,c="process"==a(u);r({global:!0,enumerable:!0,noTargetGet:!0},{queueMicrotask:function(e){var t=c&&u.domain;i(t?t.bind(e):e)}})},function(e,t,n){"use strict";var r=n(4),o=n(7),i=n(83),a=[].slice,u=function(e){return function(t,n){var r=arguments.length>2,o=r?a.call(arguments,2):undefined;return e(r?function(){("function"==typeof t?t:Function(t)).apply(this,o)}:t,n)}};r({global:!0,bind:!0,forced:/MSIE .\./.test(i)},{setTimeout:u(o.setTimeout),setInterval:u(o.setInterval)})},function(e,t,n){"use strict";var r=function(e){var t,n=Object.prototype,r=n.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(I){c=function(e,t,n){return e[t]=n}}function s(e,t,n,r){var o=t&&t.prototype instanceof v?t:v,i=Object.create(o.prototype),a=new A(r||[]);return i._invoke=function(e,t,n){var r=f;return function(){function o(o,i){if(r===p)throw new Error("Generator is already running");if(r===h){if("throw"===o)throw i;return O()}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var u=S(a,n);if(u){if(u===g)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===f)throw r=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=p;var c=l(e,t,n);if("normal"===c.type){if(r=n.done?h:d,c.arg===g)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r=h,n.method="throw",n.arg=c.arg)}}return o}()}(e,n,a),i}function l(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(I){return{type:"throw",arg:I}}}e.wrap=s;var f="suspendedStart",d="suspendedYield",p="executing",h="completed",g={};function v(){}function m(){}function y(){}var b={};b[i]=function(){return this};var x=Object.getPrototypeOf,w=x&&x(x(T([])));w&&w!==n&&r.call(w,i)&&(b=w);var _=y.prototype=v.prototype=Object.create(b);function E(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){var n;this._invoke=function(o,i){function a(){return new t((function(n,a){!function u(n,o,i,a){var c=l(e[n],e,o);if("throw"!==c.type){var s=c.arg,f=s.value;return f&&"object"==typeof f&&r.call(f,"__await")?t.resolve(f.__await).then((function(e){u("next",e,i,a)}),(function(e){u("throw",e,i,a)})):t.resolve(f).then((function(e){s.value=e,i(s)}),(function(e){return u("throw",e,i,a)}))}a(c.arg)}(o,i,n,a)}))}return n=n?n.then(a,a):a()}}function S(e,n){var r=e.iterator[n.method];if(r===t){if(n.delegate=null,"throw"===n.method){if(e.iterator["return"]&&(n.method="return",n.arg=t,S(e,n),"throw"===n.method))return g;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return g}var o=l(r,e.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,g;var i=o.arg;return i?i.done?(n[e.resultName]=i.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,g):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function C(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 N(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function T(e){if(e){var n=e[i];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function n(){for(;++o=0;--i){var a=this.tryEntries[i],u=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),s=r.call(a,"finallyLoc");if(c&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),N(n),g}},"catch":function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;N(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:T(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),g}},e}(e.exports);try{regeneratorRuntime=r}catch(o){Function("r","regeneratorRuntime = r")(r)}},function(e,t,n){"use strict";!function(t,n){var r,o,i=t.html5||{},a=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,c="_html5shiv",s=0,l={};function f(){var e=g.elements;return"string"==typeof e?e.split(" "):e}function d(e){var t=l[e[c]];return t||(t={},s++,e[c]=s,l[s]=t),t}function p(e,t,r){return t||(t=n),o?t.createElement(e):(r||(r=d(t)),!(i=r.cache[e]?r.cache[e].cloneNode():u.test(e)?(r.cache[e]=r.createElem(e)).cloneNode():r.createElem(e)).canHaveChildren||a.test(e)||i.tagUrn?i:r.frag.appendChild(i));var i}function h(e){e||(e=n);var t=d(e);return!g.shivCSS||r||t.hasCSS||(t.hasCSS=!!function(e,t){var n=e.createElement("p"),r=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x",r.insertBefore(n.lastChild,r.firstChild)}(e,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),o||function(e,t){t.cache||(t.cache={},t.createElem=e.createElement,t.createFrag=e.createDocumentFragment,t.frag=t.createFrag()),e.createElement=function(n){return g.shivMethods?p(n,e,t):t.createElem(n)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+f().join().replace(/[\w\-:]+/g,(function(e){return t.createElem(e),t.frag.createElement(e),'c("'+e+'")'}))+");return n}")(g,t.frag)}(e,t),e}!function(){try{var e=n.createElement("a");e.innerHTML="",r="hidden"in e,o=1==e.childNodes.length||function(){n.createElement("a");var e=n.createDocumentFragment();return"undefined"==typeof e.cloneNode||"undefined"==typeof e.createDocumentFragment||"undefined"==typeof e.createElement}()}catch(t){r=!0,o=!0}}();var g={elements:i.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:"3.7.3",shivCSS:!1!==i.shivCSS,supportsUnknownElements:o,shivMethods:!1!==i.shivMethods,type:"default",shivDocument:h,createElement:p,createDocumentFragment:function(e,t){if(e||(e=n),o)return e.createDocumentFragment();for(var r=(t=t||d(e)).frag.cloneNode(),i=0,a=f(),u=a.length;i3?u(a):null,b=String(a.key),x=String(a.char),w=a.location,_=a.keyCode||(a.keyCode=b)&&b.charCodeAt(0)||0,E=a.charCode||(a.charCode=x)&&x.charCodeAt(0)||0,k=a.bubbles,S=a.cancelable,C=a.repeat,N=a.locale,A=a.view||e;if(a.which||(a.which=a.keyCode),"initKeyEvent"in d)d.initKeyEvent(t,k,S,A,p,g,h,v,_,E);else if(0>>0),t=Element.prototype,n=t.querySelector,r=t.querySelectorAll;function o(t,n,r){t.setAttribute(e,null);var o=n.call(t,String(r).replace(/(^|,\s*)(:scope([ >]|$))/g,(function(t,n,r,o){return n+"["+e+"]"+(o||" ")})));return t.removeAttribute(e),o}t.querySelector=function(e){return o(this,n,e)},t.querySelectorAll=function(e){return o(this,r,e)}}()}}(window),function(e){var t=e.WeakMap||function(){var e,t=0,n=!1,r=!1;function o(t,o,i){r=i,n=!1,e=undefined,t.dispatchEvent(o)}function i(e){this.value=e}function u(){t++,this.__ce__=new a("@DOMMap:"+t+Math.random())}return i.prototype.handleEvent=function(t){n=!0,r?t.currentTarget.removeEventListener(t.type,this,!1):e=this.value},u.prototype={constructor:u,"delete":function(e){return o(e,this.__ce__,!0),n},get:function(t){o(t,this.__ce__,!1);var n=e;return e=undefined,n},has:function(e){return o(e,this.__ce__,!1),n},set:function(e,t){return o(e,this.__ce__,!0),e.addEventListener(this.__ce__.type,new i(t),!1),this}},u}();function n(){}function r(e,t,n){function o(e){o.once&&(e.currentTarget.removeEventListener(e.type,t,o),o.removed=!0),o.passive&&(e.preventDefault=r.preventDefault),"function"==typeof o.callback?o.callback.call(this,e):o.callback&&o.callback.handleEvent(e),o.passive&&delete e.preventDefault}return o.type=e,o.callback=t,o.capture=!!n.capture,o.passive=!!n.passive,o.once=!!n.once,o.removed=!1,o}n.prototype=(Object.create||Object)(null),r.preventDefault=function(){};var o,i,a=e.CustomEvent,u=e.dispatchEvent,c=e.addEventListener,s=e.removeEventListener,l=0,f=function(){l++},d=[].indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},p=function(e){return"".concat(e.capture?"1":"0",e.passive?"1":"0",e.once?"1":"0")};try{c("_",f,{once:!0}),u(new a("_")),u(new a("_")),s("_",f,{once:!0})}catch(h){}1!==l&&(i=new t,o=function(e){if(e){var t=e.prototype;t.addEventListener=function(e){return function(t,o,a){if(a&&"boolean"!=typeof a){var u,c,s,l=i.get(this),f=p(a);l||i.set(this,l=new n),t in l||(l[t]={handler:[],wrap:[]}),c=l[t],(u=d.call(c.handler,o))<0?(u=c.handler.push(o)-1,c.wrap[u]=s=new n):s=c.wrap[u],f in s||(s[f]=r(t,o,a),e.call(this,t,s[f],s[f].capture))}else e.call(this,t,o,a)}}(t.addEventListener),t.removeEventListener=function(e){return function(t,n,r){if(r&&"boolean"!=typeof r){var o,a,u,c,s=i.get(this);if(s&&t in s&&(u=s[t],-1<(a=d.call(u.handler,n))&&(o=p(r))in(c=u.wrap[a]))){for(o in e.call(this,t,c[o],c[o].capture),delete c[o],c)return;u.handler.splice(a,1),u.wrap.splice(a,1),0===u.handler.length&&delete s[t]}}else e.call(this,t,n,r)}}(t.removeEventListener)}},e.EventTarget?o(EventTarget):(o(e.Text),o(e.Element||e.HTMLElement),o(e.HTMLDocument),o(e.Window||{prototype:e}),o(e.XMLHttpRequest)))}(window)},function(e,t,n){"use strict";!function(e){if("undefined"!=typeof e.setAttribute){var t=function(e){return e.replace(/-[a-z]/g,(function(e){return e[1].toUpperCase()}))};e.setProperty=function(e,n){var r=t(e);if(!n)return this.removeAttribute(r);var o=String(n);return this.setAttribute(r,o)},e.getPropertyValue=function(e){var n=t(e);return this.getAttribute(n)||null},e.removeProperty=function(e){var n=t(e),r=this.getAttribute(n);return this.removeAttribute(n),r}}}(CSSStyleDeclaration.prototype)},function(e,t,n){"use strict";window.Int32Array||(window.Int32Array=Array)},,function(e,t,n){"use strict";t.__esModule=!0,t._CI=Te,t._HI=D,t._M=Oe,t._MCCC=Ve,t._ME=Me,t._MFCC=Re,t._MP=Ne,t._MR=be,t.__render=je,t.createComponentVNode=function(e,t,n,r,o){var a=new O(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),r,function(e,t,n){var r=(32768&e?t.render:t).defaultProps;if(i(r))return n;if(i(n))return l(r,null);return N(n,r)}(e,t,n),function(e,t,n){if(4&e)return n;var r=(32768&e?t.render:t).defaultHooks;if(i(r))return n;if(i(n))return r;return N(n,r)}(e,t,o),t);k.createVNode&&k.createVNode(a);return a},t.createFragment=L,t.createPortal=function(e,t){var n=D(e);return I(1024,1024,null,n,0,null,n.key,t)},t.createRef=function(){return{current:null}},t.createRenderer=function(e){return function(t,n,r,o){e||(e=t),Ke(n,e,r,o)}},t.createTextVNode=M,t.createVNode=I,t.directClone=V,t.findDOMfromVNode=b,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"$F":return 8192;default:return 1}},t.linkEvent=function(e,t){if(u(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&&i(e.children)&&B(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?l(e.ref,t.ref):t.ref,t.ref=undefined)}return e},t.render=Ke,t.rerender=We,t.version=t.options=t.Fragment=t.EMPTY_OBJ=t.Component=void 0;var r=Array.isArray;function o(e){var t=typeof e;return"string"===t||"number"===t}function i(e){return null==e}function a(e){return null===e||!1===e||!0===e||void 0===e}function u(e){return"function"==typeof e}function c(e){return"string"==typeof e}function s(e){return null===e}function l(e,t){var n={};if(e)for(var r in e)n[r]=e[r];if(t)for(var o in t)n[o]=t[o];return n}function f(e){return!s(e)&&"object"==typeof e}var d={};t.EMPTY_OBJ=d;function p(e){return e.substr(2).toLowerCase()}function h(e,t){e.appendChild(t)}function g(e,t,n){s(n)?h(e,t):e.insertBefore(t,n)}function v(e,t){e.removeChild(t)}function m(e){for(var t=0;t0,h=s(d),g=c(d)&&d[0]===T;p||h||g?(n=n||t.slice(0,l),(p||g)&&(f=V(f)),(h||g)&&(f.key=T+l),n.push(f)):n&&n.push(f),f.flags|=65536}}i=0===(n=n||t).length?1:8}else(n=t).flags|=65536,81920&t.flags&&(n=V(t)),i=2;return e.children=n,e.childFlags=i,e}function D(e){return a(e)||o(e)?M(e,null):r(e)?L(e,0,null):16384&e.flags?V(e):e}var F="http://www.w3.org/1999/xlink",j="http://www.w3.org/XML/1998/namespace",K={"xlink:actuate":F,"xlink:arcrole":F,"xlink:href":F,"xlink:role":F,"xlink:show":F,"xlink:title":F,"xlink:type":F,"xml:base":j,"xml:lang":j,"xml:space":j};function z(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 Y=z(0),U=z(null),$=z(!0);function H(e,t){var n=t.$EV;return n||(n=t.$EV=z(null)),n[e]||1==++Y[e]&&(U[e]=function(e){var t="onClick"===e||"onDblClick"===e?function(e){return function(t){0===t.button?q(t,!0,e,Q(t)):t.stopPropagation()}}(e):function(e){return function(t){q(t,!1,e,Q(t))}}(e);return document.addEventListener(p(e),t),t}(e)),n}function W(e,t){var n=t.$EV;n&&n[e]&&(0==--Y[e]&&(document.removeEventListener(p(e),U[e]),U[e]=null),n[e]=null)}function q(e,t,n,r){var o=function(e){return u(e.composedPath)?e.composedPath()[0]:e.target}(e);do{if(t&&o.disabled)return;var i=o.$EV;if(i){var a=i[n];if(a&&(r.dom=o,a.event?a.event(a.data,e):a(e),e.cancelBubble))return}o=o.parentNode}while(!s(o))}function G(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function X(){return this.defaultPrevented}function Z(){return this.cancelBubble}function Q(e){var t={dom:document};return e.isDefaultPrevented=X,e.isPropagationStopped=Z,e.stopPropagation=G,Object.defineProperty(e,"currentTarget",{configurable:!0,get:function(){return t.dom}}),t}function J(e,t,n){if(e[t]){var r=e[t];r.event?r.event(r.data,n):r(n)}else{var o=t.toLowerCase();e[o]&&e[o](n)}}function ee(e,t){var n=function(n){var r=this.$V;if(r){var o=r.props||d,i=r.dom;if(c(e))J(o,e,n);else for(var a=0;a-1&&t.options[a]&&(u=t.options[a].value),n&&i(u)&&(u=e.defaultValue),ue(r,u)}}var le,fe,de=ee("onInput",he),pe=ee("onChange");function he(e,t,n){var r=e.value,o=t.value;if(i(r)){if(n){var a=e.defaultValue;i(a)||a===o||(t.defaultValue=a,t.value=a)}}else o!==r&&(t.defaultValue=r,t.value=r)}function ge(e,t,n,r,o,i){64&e?ae(r,n):256&e?se(r,n,o,t):128&e&&he(r,n,o),i&&(n.$V=t)}function ve(e,t,n){64&e?function(e,t){ne(t.type)?(te(e,"change",oe),te(e,"click",ie)):te(e,"input",re)}(t,n):256&e?function(e){te(e,"change",ce)}(t):128&e&&function(e,t){te(e,"input",de),t.onChange&&te(e,"change",pe)}(t,n)}function me(e){return e.type&&ne(e.type)?!i(e.checked):!i(e.value)}function ye(e){e&&!A(e,null)&&e.current&&(e.current=null)}function be(e,t,n){e&&(u(e)||void 0!==e.current)&&n.push((function(){A(e,t)||void 0===e.current||(e.current=t)}))}function xe(e,t){we(e),x(e,t)}function we(e){var t,n=e.flags,r=e.children;if(481&n){t=e.ref;var o=e.props;ye(t);var a=e.childFlags;if(!s(o))for(var c=Object.keys(o),l=0,f=c.length;l0;for(var u in a&&(i=me(n))&&ve(t,r,n),n)Ce(u,null,n[u],r,o,i,null);a&&ge(t,e,r,n,!0,i)}function Ae(e,t,n){var r=D(e.render(t,e.state,n)),o=n;return u(e.getChildContext)&&(o=l(n,e.getChildContext())),e.$CX=o,r}function Te(e,t,n,r,o,i){var a=new t(n,r),c=a.$N=Boolean(t.getDerivedStateFromProps||a.getSnapshotBeforeUpdate);if(a.$SVG=o,a.$L=i,e.children=a,a.$BS=!1,a.context=r,a.props===d&&(a.props=n),c)a.state=_(a,n,a.state);else if(u(a.componentWillMount)){a.$BR=!0,a.componentWillMount();var l=a.$PS;if(!s(l)){var f=a.state;if(s(f))a.state=l;else for(var p in l)f[p]=l[p];a.$PS=null}a.$BR=!1}return a.$LI=Ae(a,n,r),a}function Oe(e,t,n,r,o,i){var a=e.flags|=16384;481&a?Me(e,t,n,r,o,i):4&a?function(e,t,n,r,o,i){var a=Te(e,e.type,e.props||d,n,r,i);Oe(a.$LI,t,a.$CX,r,o,i),Ve(e.ref,a,i)}(e,t,n,r,o,i):8&a?(!function(e,t,n,r,o,i){Oe(e.children=D(function(e,t){return 32768&e.flags?e.type.render(e.props||d,e.ref,t):e.type(e.props||d,t)}(e,n)),t,n,r,o,i)}(e,t,n,r,o,i),Re(e,i)):512&a||16&a?Ie(e,t,o):8192&a?function(e,t,n,r,o,i){var a=e.children,u=e.childFlags;12&u&&0===a.length&&(u=e.childFlags=2,a=e.children=R());2===u?Oe(a,n,o,r,o,i):Le(a,n,t,r,o,i)}(e,n,t,r,o,i):1024&a&&function(e,t,n,r,o){Oe(e.children,e.ref,t,!1,null,o);var i=R();Ie(i,n,r),e.dom=i.dom}(e,n,t,o,i)}function Ie(e,t,n){var r=e.dom=document.createTextNode(e.children);s(t)||g(t,r,n)}function Me(e,t,n,r,o,a){var u=e.flags,c=e.props,l=e.className,f=e.children,d=e.childFlags,p=e.dom=function(e,t){return t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e)}(e.type,r=r||(32&u)>0);if(i(l)||""===l||(r?p.setAttribute("class",l):p.className=l),16===d)S(p,f);else if(1!==d){var h=r&&"foreignObject"!==e.type;2===d?(16384&f.flags&&(e.children=f=V(f)),Oe(f,p,n,h,null,a)):8!==d&&4!==d||Le(f,p,n,h,null,a)}s(t)||g(t,p,o),s(c)||Ne(e,u,c,p,r),be(e.ref,p,a)}function Le(e,t,n,r,o,i){for(var a=0;a0,s!==l){var h=s||d;if((u=l||d)!==d)for(var g in(f=(448&o)>0)&&(p=me(u)),u){var v=h[g],m=u[g];v!==m&&Ce(g,v,m,c,r,p,e)}if(h!==d)for(var y in h)i(u[y])&&!i(h[y])&&Ce(y,h[y],null,c,r,p,e)}var b=t.children,x=t.className;e.className!==x&&(i(x)?c.removeAttribute("class"):r?c.setAttribute("class",x):c.className=x);4096&o?function(e,t){e.textContent!==t&&(e.textContent=t)}(c,b):Be(e.childFlags,t.childFlags,e.children,b,c,n,r&&"foreignObject"!==t.type,null,e,a);f&&ge(o,t,c,u,!1,p);var w=t.ref,_=e.ref;_!==w&&(ye(_),be(w,c,a))}(e,t,r,o,p,f):4&p?function(e,t,n,r,o,i,a){var c=t.children=e.children;if(s(c))return;c.$L=a;var f=t.props||d,p=t.ref,h=e.ref,g=c.state;if(!c.$N){if(u(c.componentWillReceiveProps)){if(c.$BR=!0,c.componentWillReceiveProps(f,r),c.$UN)return;c.$BR=!1}s(c.$PS)||(g=l(g,c.$PS),c.$PS=null)}De(c,g,f,n,r,o,!1,i,a),h!==p&&(ye(h),be(p,c,a))}(e,t,n,r,o,c,f):8&p?function(e,t,n,r,o,a,c){var s=!0,l=t.props||d,f=t.ref,p=e.props,h=!i(f),g=e.children;h&&u(f.onComponentShouldUpdate)&&(s=f.onComponentShouldUpdate(p,l));if(!1!==s){h&&u(f.onComponentWillUpdate)&&f.onComponentWillUpdate(p,l);var v=t.type,m=D(32768&t.flags?v.render(l,f,r):v(l,r));Pe(g,m,n,r,o,a,c),t.children=m,h&&u(f.onComponentDidUpdate)&&f.onComponentDidUpdate(p,l)}else t.children=g}(e,t,n,r,o,c,f):16&p?function(e,t){var n=t.children,r=t.dom=e.dom;n!==e.children&&(r.nodeValue=n)}(e,t):512&p?t.dom=e.dom:8192&p?function(e,t,n,r,o,i){var a=e.children,u=t.children,c=e.childFlags,s=t.childFlags,l=null;12&s&&0===u.length&&(s=t.childFlags=2,u=t.children=R());var f=0!=(2&s);if(12&c){var d=a.length;(8&c&&8&s||f||!f&&u.length>d)&&(l=b(a[d-1],!1).nextSibling)}Be(c,s,a,u,n,r,o,l,e,i)}(e,t,n,r,o,f):function(e,t,n,r){var o=e.ref,i=t.ref,u=t.children;if(Be(e.childFlags,t.childFlags,e.children,u,o,n,!1,null,e,r),t.dom=e.dom,o!==i&&!a(u)){var c=u.dom;v(o,c),h(i,c)}}(e,t,r,f)}function Be(e,t,n,r,o,i,a,u,c,s){switch(e){case 2:switch(t){case 2:Pe(n,r,o,i,a,u,s);break;case 1:xe(n,o);break;case 16:we(n),S(o,r);break;default:!function(e,t,n,r,o,i){we(e),Le(t,n,r,o,b(e,!0),i),x(e,n)}(n,r,o,i,a,s)}break;case 1:switch(t){case 2:Oe(r,o,i,a,u,s);break;case 1:break;case 16:S(o,r);break;default:Le(r,o,i,a,u,s)}break;case 16:switch(t){case 16:!function(e,t,n){e!==t&&(""!==e?n.firstChild.nodeValue=t:S(n,t))}(n,r,o);break;case 2:Ee(o),Oe(r,o,i,a,u,s);break;case 1:Ee(o);break;default:Ee(o),Le(r,o,i,a,u,s)}break;default:switch(t){case 16:_e(n),S(o,r);break;case 2:ke(o,c,n),Oe(r,o,i,a,u,s);break;case 1:ke(o,c,n);break;default:var l=0|n.length,f=0|r.length;0===l?f>0&&Le(r,o,i,a,u,s):0===f?ke(o,c,n):8===t&&8===e?function(e,t,n,r,o,i,a,u,c,s){var l,f,d=i-1,p=a-1,h=0,g=e[h],v=t[h];e:{for(;g.key===v.key;){if(16384&v.flags&&(t[h]=v=V(v)),Pe(g,v,n,r,o,u,s),e[h]=v,++h>d||h>p)break e;g=e[h],v=t[h]}for(g=e[d],v=t[p];g.key===v.key;){if(16384&v.flags&&(t[p]=v=V(v)),Pe(g,v,n,r,o,u,s),e[d]=v,p--,h>--d||h>p)break e;g=e[d],v=t[p]}}if(h>d){if(h<=p)for(f=(l=p+1)p)for(;h<=d;)xe(e[h++],n);else!function(e,t,n,r,o,i,a,u,c,s,l,f,d){var p,h,g,v=0,m=u,y=u,x=i-u+1,_=a-u+1,E=new Int32Array(_+1),k=x===r,S=!1,C=0,N=0;if(o<4||(x|_)<32)for(v=m;v<=i;++v)if(p=e[v],N<_){for(u=y;u<=a;u++)if(h=t[u],p.key===h.key){if(E[u-y]=v+1,k)for(k=!1;mu?S=!0:C=u,16384&h.flags&&(t[u]=h=V(h)),Pe(p,h,c,n,s,l,d),++N;break}!k&&u>a&&xe(p,c)}else k||xe(p,c);else{var A={};for(v=y;v<=a;++v)A[t[v].key]=v;for(v=m;v<=i;++v)if(p=e[v],N<_)if(void 0!==(u=A[p.key])){if(k)for(k=!1;v>m;)xe(e[m++],c);E[u-y]=v+1,C>u?S=!0:C=u,16384&(h=t[u]).flags&&(t[u]=h=V(h)),Pe(p,h,c,n,s,l,d),++N}else k||xe(p,c);else k||xe(p,c)}if(k)ke(c,f,e),Le(t,c,n,s,l,d);else if(S){var T=function(e){var t=0,n=0,r=0,o=0,i=0,a=0,u=0,c=e.length;c>Fe&&(Fe=c,le=new Int32Array(c),fe=new Int32Array(c));for(;n>1]]0&&(fe[n]=le[i-1]),le[i]=n)}i=o+1;var s=new Int32Array(i);a=le[i-1];for(;i-- >0;)s[i]=a,a=fe[a],le[i]=0;return s}(E);for(u=T.length-1,v=_-1;v>=0;v--)0===E[v]?(16384&(h=t[C=v+y]).flags&&(t[C]=h=V(h)),Oe(h,c,n,s,(g=C+1)=0;v--)0===E[v]&&(16384&(h=t[C=v+y]).flags&&(t[C]=h=V(h)),Oe(h,c,n,s,(g=C+1)a?a:i,d=0;da)for(d=f;d1)for(var n=1;n=0||(o[n]=e[n]);return o}(e,["className"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";var r,o;t.__esModule=!0,t.VNodeFlags=t.ChildFlags=void 0,t.VNodeFlags=r,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"}(r||(t.VNodeFlags=r={})),t.ChildFlags=o,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"}(o||(t.ChildFlags=o={}))},function(e,t,n){"use strict";t.__esModule=!0,t.ByondUi=void 0;var r=n(0),o=n(6),i=n(468),a=n(35),u=n(18);function c(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var s=(0,a.createLogger)("ByondUi"),l=[];window.addEventListener("beforeunload",(function(){for(var e=0;e=0||(o[n]=e[n]);return o}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),v=this.state.viewBox,m=function(e,t,n,r){if(0===e.length)return[];var i=(0,o.zipWith)(Math.min).apply(void 0,e),a=(0,o.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(i[0]=n[0],a[0]=n[1]),r!==undefined&&(i[1]=r[0],a[1]=r[1]),(0,o.map)((function(e){return(0,o.zipWith)((function(e,t,n,r){return(e-t)/(n-t)*r}))(e,i,a,t)}))(e)}(i,v,u,c);if(m.length>0){var y=m[0],b=m[m.length-1];m.push([v[0]+h,b[1]]),m.push([v[0]+h,-h]),m.push([-h,-h]),m.push([-h,y[1]])}var x=function(e){for(var t="",n=0;n=0||(o[n]=e[n]);return o}(t,["children","color","title","buttons"]);return(0,r.createComponentVNode)(2,o.Box,{mb:1,children:[(0,r.createVNode)(1,"div","Table",[(0,r.createVNode)(1,"div","Table__cell",(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Button,Object.assign({fluid:!0,color:c,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},f,{children:s}))),2),l&&(0,r.createVNode)(1,"div","Table__cell Table__cell--collapsing",l,0)],0),n&&(0,r.createComponentVNode)(2,o.Box,{mt:1,children:a})]})},a}(r.Component);t.Collapsible=a},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var r=n(0),o=n(6),i=n(18);var a=function(e){var t=e.content,n=(e.children,e.className),a=e.color,u=e.backgroundColor,c=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["content","children","className","color","backgroundColor"]);return c.color=t?null:"transparent",c.backgroundColor=a||u,(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["ColorBox",n,(0,i.computeBoxClassName)(c)]),t||".",0,Object.assign({},(0,i.computeBoxProps)(c))))};t.ColorBox=a,a.defaultHooks=o.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var r=n(0),o=n(6),i=n(18),a=n(102);function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var c=function(e){var t,n;function c(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=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=c.prototype;return s.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},s.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)},s.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},s.buildMenu=function(){var e=this,t=this.props.options,n=(void 0===t?[]:t).map((function(t){return(0,r.createComponentVNode)(2,i.Box,{className:"Dropdown__menuentry",onClick:function(){e.setSelected(t)},children:t},t)}));return n.length?n:"No Options Found"},s.render=function(){var e=this,t=this.props,n=t.color,c=void 0===n?"default":n,s=t.over,l=t.noscroll,f=t.nochevron,d=t.width,p=(t.onClick,t.selected,t.disabled),h=u(t,["color","over","noscroll","nochevron","width","onClick","selected","disabled"]),g=h.className,v=u(h,["className"]),m=s?!this.state.open:this.state.open,y=this.state.open?(0,r.createVNode)(1,"div",(0,o.classes)([l?"Dropdown__menu-noscroll":"Dropdown__menu",s&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:d}},null,(function(t){e.menuRef=t})):null;return(0,r.createVNode)(1,"div","Dropdown",[(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({width:d,className:(0,o.classes)(["Dropdown__control","Button","Button--color--"+c,p&&"Button--disabled",g])},v,{onClick:function(){p&&!e.state.open||e.setOpen(!e.state.open)},children:[(0,r.createVNode)(1,"span","Dropdown__selected-text",this.state.selected,0),!!f||(0,r.createVNode)(1,"span","Dropdown__arrow-button",(0,r.createComponentVNode)(2,a.Icon,{name:m?"chevron-up":"chevron-down"}),2)]}))),y],0)},c}(r.Component);t.Dropdown=c},function(e,t,n){"use strict";t.__esModule=!0,t.GridColumn=t.Grid=void 0;var r=n(0),o=n(197),i=n(6);function a(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var u=function(e){var t=e.children,n=a(e,["children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Table,Object.assign({},n,{children:(0,r.createComponentVNode)(2,o.Table.Row,{children:t})})))};t.Grid=u,u.defaultHooks=i.pureComponentHooks;var c=function(e){var t=e.size,n=void 0===t?1:t,i=e.style,u=a(e,["size","style"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Table.Cell,Object.assign({style:Object.assign({width:n+"%"},i)},u)))};t.GridColumn=c,u.defaultHooks=i.pureComponentHooks,u.Column=c},function(e,t,n){"use strict";t.__esModule=!0,t.Knob=void 0;var r=n(0),o=n(8),i=n(6),a=n(18),u=n(138),c=n(139);t.Knob=function(e){if(Byond.IS_LTE_IE8)return(0,r.normalizeProps)((0,r.createComponentVNode)(2,c.NumberInput,Object.assign({},e)));var t=e.animated,n=e.format,s=e.maxValue,l=e.minValue,f=e.unclamped,d=e.onChange,p=e.onDrag,h=e.step,g=e.stepPixelSize,v=e.suppressFlicker,m=e.unit,y=e.value,b=e.className,x=e.style,w=e.fillValue,_=e.color,E=e.ranges,k=void 0===E?{}:E,S=e.size,C=void 0===S?1:S,N=e.bipolar,A=(e.children,function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["animated","format","maxValue","minValue","unclamped","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","style","fillValue","color","ranges","size","bipolar","children"]));return(0,r.normalizeProps)((0,r.createComponentVNode)(2,u.DraggableControl,Object.assign({dragMatrix:[0,-1]},{animated:t,format:n,maxValue:s,minValue:l,unclamped:f,onChange:d,onDrag:p,step:h,stepPixelSize:g,suppressFlicker:v,unit:m,value:y},{children:function(e){var t=e.dragging,n=(e.editing,e.value),u=e.displayValue,c=e.displayElement,f=e.inputElement,d=e.handleDragStart,p=(0,o.scale)(null!=w?w:u,l,s),h=(0,o.scale)(u,l,s),g=_||(0,o.keyOfMatchingRange)(null!=w?w:n,k)||"default",v=Math.min(270*(h-.5),225);return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,i.classes)(["Knob","Knob--color--"+g,N&&"Knob--bipolar",b,(0,a.computeBoxClassName)(A)]),[(0,r.createVNode)(1,"div","Knob__circle",(0,r.createVNode)(1,"div","Knob__cursorBox",(0,r.createVNode)(1,"div","Knob__cursor"),2,{style:{transform:"rotate("+v+"deg)"}}),2),t&&(0,r.createVNode)(1,"div","Knob__popupValue",c,0),(0,r.createVNode)(32,"svg","Knob__ring Knob__ringTrackPivot",(0,r.createVNode)(32,"circle","Knob__ringTrack",null,1,{cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),(0,r.createVNode)(32,"svg","Knob__ring Knob__ringFillPivot",(0,r.createVNode)(32,"circle","Knob__ringFill",null,1,{style:{"stroke-dashoffset":Math.max(((N?2.75:2)-1.5*p)*Math.PI*50,0)},cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),f],0,Object.assign({},(0,a.computeBoxProps)(Object.assign({style:Object.assign({"font-size":C+"em"},x)},A)),{onMouseDown:d})))}})))}},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledControls=void 0;var r=n(0),o=n(196);function i(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var a=function(e){var t=e.children,n=e.wrap,a=i(e,["children","wrap"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Flex,Object.assign({mx:-.5,wrap:n,align:"stretch",justify:"space-between"},a,{children:t})))};t.LabeledControls=a;a.Item=function(e){var t=e.label,n=e.children,a=e.mx,u=void 0===a?1:a,c=i(e,["label","children","mx"]);return(0,r.createComponentVNode)(2,o.Flex.Item,{mx:u,children:(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Flex,Object.assign({height:"100%",direction:"column",align:"center",textAlign:"center",justify:"space-between"},c,{children:[(0,r.createComponentVNode)(2,o.Flex.Item),(0,r.createComponentVNode)(2,o.Flex.Item,{children:n}),(0,r.createComponentVNode)(2,o.Flex.Item,{color:"label",children:t})]})))})}},function(e,t,n){"use strict";t.__esModule=!0,t.Modal=void 0;var r=n(0),o=n(6),i=n(18),a=n(194);t.Modal=function(e){var t=e.className,n=e.children,u=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","children"]);return(0,r.createComponentVNode)(2,a.Dimmer,{children:(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Modal",t,(0,i.computeBoxClassName)(u)]),n,0,Object.assign({},(0,i.computeBoxProps)(u))))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var r=n(0),o=n(6),i=n(18);var a=function(e){var t=e.className,n=e.color,a=e.info,u=(e.warning,e.success),c=e.danger,s=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","color","info","warning","success","danger"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["NoticeBox",n&&"NoticeBox--color--"+n,a&&"NoticeBox--type--info",u&&"NoticeBox--type--success",c&&"NoticeBox--type--danger",t])},s)))};t.NoticeBox=a,a.defaultHooks=o.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var r=n(0),o=n(8),i=n(6),a=n(18);var u=function(e){var t=e.className,n=e.value,u=e.minValue,c=void 0===u?0:u,s=e.maxValue,l=void 0===s?1:s,f=e.color,d=e.ranges,p=void 0===d?{}:d,h=e.children,g=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","value","minValue","maxValue","color","ranges","children"]),v=(0,o.scale)(n,c,l),m=h!==undefined,y=f||(0,o.keyOfMatchingRange)(n,p)||"default";return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,i.classes)(["ProgressBar","ProgressBar--color--"+y,t,(0,a.computeBoxClassName)(g)]),[(0,r.createVNode)(1,"div","ProgressBar__fill ProgressBar__fill--animated",null,1,{style:{width:100*(0,o.clamp01)(v)+"%"}}),(0,r.createVNode)(1,"div","ProgressBar__content",m?h:(0,o.toFixed)(100*v)+"%",0)],4,Object.assign({},(0,a.computeBoxProps)(g))))};t.ProgressBar=u,u.defaultHooks=i.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var r=n(0),o=n(6),i=n(58),a=n(18);var u=function(e){var t,n;function u(t){var n;return(n=e.call(this,t)||this).ref=(0,r.createRef)(),n.scrollable=t.scrollable,n}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=u.prototype;return c.componentDidMount=function(){this.scrollable&&(0,i.addScrollableNode)(this.ref.current)},c.componentWillUnmount=function(){this.scrollable&&(0,i.removeScrollableNode)(this.ref.current)},c.render=function(){var e=this.props,t=e.className,n=e.title,i=e.level,u=void 0===i?1:i,c=e.buttons,s=e.fill,l=e.fitted,f=e.scrollable,d=e.children,p=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","title","level","buttons","fill","fitted","scrollable","children"]),h=(0,o.canRender)(n)||(0,o.canRender)(c),g=l?d:(0,r.createVNode)(1,"div","Section__content",d,0,null,null,this.ref);return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Section","Section--level--"+u,Byond.IS_LTE_IE8&&"Section--iefix",s&&"Section--fill",l&&"Section--fitted",f&&"Section--scrollable",t].concat((0,a.computeBoxClassName)(p))),[h&&(0,r.createVNode)(1,"div","Section__title",[(0,r.createVNode)(1,"span","Section__titleText",n,0),(0,r.createVNode)(1,"div","Section__buttons",c,0)],4),g],0,Object.assign({},(0,a.computeBoxProps)(p)),null,l?this.ref:undefined))},u}(r.Component);t.Section=u},function(e,t,n){"use strict";t.__esModule=!0,t.Slider=void 0;var r=n(0),o=n(8),i=n(6),a=n(18),u=n(138),c=n(139);t.Slider=function(e){if(Byond.IS_LTE_IE8)return(0,r.normalizeProps)((0,r.createComponentVNode)(2,c.NumberInput,Object.assign({},e)));var t=e.animated,n=e.format,s=e.maxValue,l=e.minValue,f=e.onChange,d=e.onDrag,p=e.step,h=e.stepPixelSize,g=e.suppressFlicker,v=e.unit,m=e.value,y=e.className,b=e.fillValue,x=e.color,w=e.ranges,_=void 0===w?{}:w,E=e.children,k=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["animated","format","maxValue","minValue","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","fillValue","color","ranges","children"]),S=E!==undefined;return(0,r.normalizeProps)((0,r.createComponentVNode)(2,u.DraggableControl,Object.assign({dragMatrix:[1,0]},{animated:t,format:n,maxValue:s,minValue:l,onChange:f,onDrag:d,step:p,stepPixelSize:h,suppressFlicker:g,unit:v,value:m},{children:function(e){var t=e.dragging,n=(e.editing,e.value),u=e.displayValue,c=e.displayElement,f=e.inputElement,d=e.handleDragStart,p=b!==undefined&&null!==b,h=((0,o.scale)(n,l,s),(0,o.scale)(null!=b?b:u,l,s)),g=(0,o.scale)(u,l,s),v=x||(0,o.keyOfMatchingRange)(null!=b?b:n,_)||"default";return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,i.classes)(["Slider","ProgressBar","ProgressBar--color--"+v,y,(0,a.computeBoxClassName)(k)]),[(0,r.createVNode)(1,"div",(0,i.classes)(["ProgressBar__fill",p&&"ProgressBar__fill--animated"]),null,1,{style:{width:100*(0,o.clamp01)(h)+"%",opacity:.4}}),(0,r.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,o.clamp01)(Math.min(h,g))+"%"}}),(0,r.createVNode)(1,"div","Slider__cursorOffset",[(0,r.createVNode)(1,"div","Slider__cursor"),(0,r.createVNode)(1,"div","Slider__pointer"),t&&(0,r.createVNode)(1,"div","Slider__popupValue",c,0)],0,{style:{width:100*(0,o.clamp01)(g)+"%"}}),(0,r.createVNode)(1,"div","ProgressBar__content",S?E:c,0),f],0,Object.assign({},(0,a.computeBoxProps)(k),{onMouseDown:d})))}})))}},function(e,t,n){"use strict";t.__esModule=!0,t.TextArea=void 0;var r=n(0),o=n(6),i=n(18),a=n(198),u=n(64);function c(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var s=function(e){var t,n;function s(t,n){var o;(o=e.call(this,t,n)||this).textareaRef=(0,r.createRef)(),o.fillerRef=(0,r.createRef)(),o.state={editing:!1};var i=t.dontUseTabForIndent,c=void 0!==i&&i;return o.handleOnInput=function(e){var t=o.state.editing,n=o.props.onInput;t||o.setEditing(!0),n&&n(e,e.target.value)},o.handleOnChange=function(e){var t=o.state.editing,n=o.props.onChange;t&&o.setEditing(!1),n&&n(e,e.target.value)},o.handleKeyPress=function(e){var t=o.state.editing,n=o.props.onKeyPress;t||o.setEditing(!0),n&&n(e,e.target.value)},o.handleKeyDown=function(e){var t=o.state.editing,n=o.props.onKeyDown;if(e.keyCode===u.KEY_ESCAPE)return o.setEditing(!1),e.target.value=(0,a.toInputValue)(o.props.value),void e.target.blur();if((t||o.setEditing(!0),!c)&&9===(e.keyCode||e.which)){e.preventDefault();var r=e.target,i=r.value,s=r.selectionStart,l=r.selectionEnd;e.target.value=i.substring(0,s)+"\t"+i.substring(l),e.target.selectionEnd=s+1}n&&n(e,e.target.value)},o.handleFocus=function(e){o.state.editing||o.setEditing(!0)},o.handleBlur=function(e){var t=o.state.editing,n=o.props.onChange;t&&(o.setEditing(!1),n&&n(e,e.target.value))},o}n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var l=s.prototype;return l.componentDidMount=function(){var e=this.props.value,t=this.textareaRef.current;t&&(t.value=(0,a.toInputValue)(e))},l.componentDidUpdate=function(e,t){var n=this.state.editing,r=e.value,o=this.props.value,i=this.textareaRef.current;i&&!n&&r!==o&&(i.value=(0,a.toInputValue)(o))},l.setEditing=function(e){this.setState({editing:e})},l.getValue=function(){return this.textareaRef.current&&this.textareaRef.current.value},l.render=function(){var e=this.props,t=(e.onChange,e.onKeyDown,e.onKeyPress,e.onInput,e.onFocus,e.onBlur,e.onEnter,e.value,e.maxLength),n=e.placeholder,a=c(e,["onChange","onKeyDown","onKeyPress","onInput","onFocus","onBlur","onEnter","value","maxLength","placeholder"]),u=a.className,s=a.fluid,l=c(a,["className","fluid"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["TextArea",s&&"TextArea--fluid",u])},l,{children:(0,r.createVNode)(128,"textarea","TextArea__textarea",null,1,{placeholder:n,onChange:this.handleOnChange,onKeyDown:this.handleKeyDown,onKeyPress:this.handleKeyPress,onInput:this.handleOnInput,onFocus:this.handleFocus,onBlur:this.handleBlur,maxLength:t},null,this.textareaRef)})))},s}(r.Component);t.TextArea=s},function(e,t,n){"use strict";t.__esModule=!0,t.Tabs=void 0;var r=n(0),o=n(6),i=n(18),a=n(102);function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var c=function(e){var t=e.className,n=e.vertical,a=e.fluid,c=e.children,s=u(e,["className","vertical","fluid","children"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Tabs",n?"Tabs--vertical":"Tabs--horizontal",a&&"Tabs--fluid",t,(0,i.computeBoxClassName)(s)]),c,0,Object.assign({},(0,i.computeBoxProps)(s))))};t.Tabs=c;c.Tab=function(e){var t=e.className,n=e.selected,c=e.color,s=e.icon,l=e.leftSlot,f=e.rightSlot,d=e.children,p=u(e,["className","selected","color","icon","leftSlot","rightSlot","children"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Tab","Tabs__Tab","Tab--color--"+c,n&&"Tab--selected",t].concat((0,i.computeBoxClassName)(p))),[(0,o.canRender)(l)&&(0,r.createVNode)(1,"div","Tab__left",l,0)||!!s&&(0,r.createVNode)(1,"div","Tab__left",(0,r.createComponentVNode)(2,a.Icon,{name:s}),2),(0,r.createVNode)(1,"div","Tab__text",d,0),(0,o.canRender)(f)&&(0,r.createVNode)(1,"div","Tab__right",f,0)],0,Object.assign({},(0,i.computeBoxProps)(p))))}},function(e,t,n){"use strict";t.__esModule=!0,t.TimeDisplay=void 0;var r=n(8),o=n(0);var i=function(e){return"number"==typeof e&&Number.isFinite(e)&&!Number.isNaN(e)},a=function(e){var t,n;function o(t){var n;return(n=e.call(this,t)||this).timer=null,n.last_seen_value=undefined,n.state={value:0},i(t.value)&&(n.state.value=Number(t.value),n.last_seen_value=Number(t.value)),n}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var a=o.prototype;return a.componentDidUpdate=function(){var e=this;this.props.auto!==undefined&&(clearInterval(this.timer),this.timer=setInterval((function(){return e.tick()}),1e3))},a.tick=function(){var e=Number(this.state.value);this.props.value!==this.last_seen_value&&(this.last_seen_value=this.props.value,e=this.props.value);var t="up"===this.props.auto?10:-10,n=Math.max(0,e+t);this.setState({value:n})},a.componentDidMount=function(){var e=this;this.props.auto!==undefined&&(this.timer=setInterval((function(){return e.tick()}),1e3))},a.componentWillUnmount=function(){clearInterval(this.timer)},a.render=function(){var e=this.state.value;if(!i(e))return this.state.value||null;var t=(0,r.toFixed)(Math.floor(e/10%60)).padStart(2,"0"),n=(0,r.toFixed)(Math.floor(e/600%60)).padStart(2,"0");return(0,r.toFixed)(Math.floor(e/36e3%24)).padStart(2,"0")+":"+n+":"+t},o}(o.Component);t.TimeDisplay=a},function(e,t,n){"use strict";t.__esModule=!0,t.NtosWindow=void 0;var r=n(0),o=n(51),i=n(2),a=n(1),u=n(200),c=function(e,t){var n=e.title,c=e.width,s=void 0===c?575:c,l=e.height,f=void 0===l?700:l,d=e.resizable,p=e.theme,h=void 0===p?"ntos":p,g=e.children,v=(0,i.useBackend)(t),m=v.act,y=v.data,b=y.PC_device_theme,x=y.PC_batteryicon,w=y.PC_showbatteryicon,_=y.PC_batterypercent,E=y.PC_ntneticon,k=y.PC_apclinkicon,S=y.PC_stationtime,C=y.PC_programheaders,N=void 0===C?[]:C,A=y.PC_showexitprogram;return(0,r.createComponentVNode)(2,u.Window,{title:n,width:s,height:f,theme:h,resizable:d,children:(0,r.createVNode)(1,"div","NtosWindow",[(0,r.createVNode)(1,"div","NtosWindow__header NtosHeader",[(0,r.createVNode)(1,"div","NtosHeader__left",[(0,r.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:2,children:S}),(0,r.createComponentVNode)(2,a.Box,{inline:!0,italic:!0,mr:2,opacity:.33,children:["ntos"===b&&"NtOS","syndicate"===b&&"Syndix"]})],4),(0,r.createVNode)(1,"div","NtosHeader__right",[N.map((function(e){return(0,r.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,r.createVNode)(1,"img","NtosHeader__icon",null,1,{src:(0,o.resolveAsset)(e.icon)})},e.icon)})),(0,r.createComponentVNode)(2,a.Box,{inline:!0,children:E&&(0,r.createVNode)(1,"img","NtosHeader__icon",null,1,{src:(0,o.resolveAsset)(E)})}),!(!w||!x)&&(0,r.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:[(0,r.createVNode)(1,"img","NtosHeader__icon",null,1,{src:(0,o.resolveAsset)(x)}),_&&_]}),k&&(0,r.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,r.createVNode)(1,"img","NtosHeader__icon",null,1,{src:(0,o.resolveAsset)(k)})}),!!A&&(0,r.createComponentVNode)(2,a.Button,{width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-minimize-o",tooltip:"Minimize",tooltipPosition:"bottom",onClick:function(){return m("PC_minimize")}}),!!A&&(0,r.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 m("PC_exit")}}),!A&&(0,r.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 m("PC_shutdown")}})],0)],4),g],0)})};t.NtosWindow=c;c.Content=function(e){return(0,r.createVNode)(1,"div","NtosWindow__content",(0,r.normalizeProps)((0,r.createComponentVNode)(2,u.Window.Content,Object.assign({},e))),2)}},function(e,t,n){"use strict";t.__esModule=!0,t.Pane=void 0;var r=n(0),o=n(6),i=n(2),a=n(1),u=n(136),c=n(140);function s(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var l=function(e,t){var n=e.theme,l=e.children,f=e.className,d=s(e,["theme","children","className"]),p=(0,i.useBackend)(t).suspended,h=(0,u.useDebug)(t).debugLayout;return(0,r.normalizeProps)((0,r.createComponentVNode)(2,c.Layout,Object.assign({className:(0,o.classes)(["Window",f]),theme:n},d,{children:(0,r.createComponentVNode)(2,a.Box,{fillPositionedParent:!0,className:h&&"debug-layout",children:!p&&l})})))};t.Pane=l;l.Content=function(e){var t=e.className,n=e.fitted,i=e.children,a=s(e,["className","fitted","children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,c.Layout.Content,Object.assign({className:(0,o.classes)(["Window__content",t])},a,{children:n&&i||(0,r.createVNode)(1,"div","Window__contentPadding",i,0)})))}},function(e,t,n){"use strict";t.__esModule=!0,t.relayMiddleware=t.debugMiddleware=void 0;var r=n(64),o=n(58),i=n(185),a=n(201),u=["backend/update","chat/message"];t.debugMiddleware=function(e){return(0,i.acquireHotKey)(r.KEY_F11),(0,i.acquireHotKey)(r.KEY_F12),o.globalEvents.on("keydown",(function(t){t.code===r.KEY_F11&&e.dispatch((0,a.toggleDebugLayout)()),t.code===r.KEY_F12&&e.dispatch((0,a.toggleKitchenSink)()),t.ctrl&&t.alt&&t.code===r.KEY_BACKSPACE&&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!")}))})),function(e){return function(t){return e(t)}}};t.relayMiddleware=function(e){var t=n(100),c="?external"===location.search;return c?t.subscribe((function(t){var n=t.type,r=t.payload;"relay"===n&&r.windowId===window.__windowId__&&e.dispatch(Object.assign({},r.action,{relayed:!0}))})):((0,i.acquireHotKey)(r.KEY_F10),o.globalEvents.on("keydown",(function(t){t===r.KEY_F10&&e.dispatch((0,a.openExternalBrowser)())}))),function(e){return function(n){var r=n.type,o=(n.payload,n.relayed);if(r!==a.openExternalBrowser.type)return!u.includes(r)||o||c||t.sendMessage({type:"relay",payload:{windowId:window.__windowId__,action:n}}),e(n);window.open(location.href+"?external","_blank")}}}},function(e,t,n){"use strict";t.__esModule=!0,t.debugReducer=void 0;t.debugReducer=function(e,t){void 0===e&&(e={});var n=t.type;t.payload;return"debug/toggleKitchenSink"===n?Object.assign({},e,{kitchenSink:!e.kitchenSink}):"debug/toggleDebugLayout"===n?Object.assign({},e,{debugLayout:!e.debugLayout}):e}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";e.exports=function(){function e(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1?n-1:0),o=1;o/gm),F=a(/^data-[\-\w.\u00B7-\uFFFF]/),j=a(/^aria-[\-\w]+$/),K=a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),z=a(/^(?:\w+script|data):/i),Y=a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g),U="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function $(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t0&&arguments[0]!==undefined?arguments[0]:H(),t=function(){function e(e){return q(e)}return e}();if(t.version="2.0.12",t.removed=[],!e||!e.document||9!==e.document.nodeType)return t.isSupported=!1,t;var n=e.document,r=!1,a=e.document,u=e.DocumentFragment,c=e.HTMLTemplateElement,s=e.Node,k=e.NodeFilter,S=e.NamedNodeMap,G=S===undefined?e.NamedNodeMap||e.MozNamedAttrMap:S,X=e.Text,Z=e.Comment,Q=e.DOMParser,J=e.trustedTypes;if("function"==typeof c){var ee=a.createElement("template");ee.content&&ee.content.ownerDocument&&(a=ee.content.ownerDocument)}var te=W(J,n),ne=te&&Ve?te.createHTML(""):"",re=a,oe=re.implementation,ie=re.createNodeIterator,ae=re.getElementsByTagName,ue=re.createDocumentFragment,ce=n.importNode,se={};t.isSupported=oe&&"undefined"!=typeof oe.createHTMLDocument&&9!==a.documentMode;var le=B,fe=D,de=F,pe=j,he=z,ge=Y,ve=K,me=null,ye=C({},[].concat($(A),$(T),$(O),$(I),$(M))),be=null,xe=C({},[].concat($(L),$(V),$(R),$(P))),we=null,_e=null,Ee=!0,ke=!0,Se=!1,Ce=!1,Ne=!1,Ae=!1,Te=!1,Oe=!1,Ie=!1,Me=!1,Le=!1,Ve=!1,Re=!0,Pe=!0,Be=!1,De={},Fe=C({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","plaintext","script","style","svg","template","thead","title","video","xmp"]),je=null,Ke=C({},["audio","video","img","source","image","track"]),ze=null,Ye=C({},["alt","class","for","id","label","name","pattern","placeholder","summary","title","value","style","xmlns"]),Ue=null,$e=a.createElement("form"),He=function(){function e(e){Ue&&Ue===e||(e&&"object"===(void 0===e?"undefined":U(e))||(e={}),me="ALLOWED_TAGS"in e?C({},e.ALLOWED_TAGS):ye,be="ALLOWED_ATTR"in e?C({},e.ALLOWED_ATTR):xe,ze="ADD_URI_SAFE_ATTR"in e?C(N(Ye),e.ADD_URI_SAFE_ATTR):Ye,je="ADD_DATA_URI_TAGS"in e?C(N(Ke),e.ADD_DATA_URI_TAGS):Ke,we="FORBID_TAGS"in e?C({},e.FORBID_TAGS):{},_e="FORBID_ATTR"in e?C({},e.FORBID_ATTR):{},De="USE_PROFILES"in e&&e.USE_PROFILES,Ee=!1!==e.ALLOW_ARIA_ATTR,ke=!1!==e.ALLOW_DATA_ATTR,Se=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Ce=e.SAFE_FOR_JQUERY||!1,Ne=e.SAFE_FOR_TEMPLATES||!1,Ae=e.WHOLE_DOCUMENT||!1,Ie=e.RETURN_DOM||!1,Me=e.RETURN_DOM_FRAGMENT||!1,Le=e.RETURN_DOM_IMPORT||!1,Ve=e.RETURN_TRUSTED_TYPE||!1,Oe=e.FORCE_BODY||!1,Re=!1!==e.SANITIZE_DOM,Pe=!1!==e.KEEP_CONTENT,Be=e.IN_PLACE||!1,ve=e.ALLOWED_URI_REGEXP||ve,Ne&&(ke=!1),Me&&(Ie=!0),De&&(me=C({},[].concat($(M))),be=[],!0===De.html&&(C(me,A),C(be,L)),!0===De.svg&&(C(me,T),C(be,V),C(be,P)),!0===De.svgFilters&&(C(me,O),C(be,V),C(be,P)),!0===De.mathMl&&(C(me,I),C(be,R),C(be,P))),e.ADD_TAGS&&(me===ye&&(me=N(me)),C(me,e.ADD_TAGS)),e.ADD_ATTR&&(be===xe&&(be=N(be)),C(be,e.ADD_ATTR)),e.ADD_URI_SAFE_ATTR&&C(ze,e.ADD_URI_SAFE_ATTR),Pe&&(me["#text"]=!0),Ae&&C(me,["html","head","body"]),me.table&&(C(me,["tbody"]),delete we.tbody),i&&i(e),Ue=e)}return e}(),We=function(){function e(e){h(t.removed,{element:e});try{e.parentNode.removeChild(e)}catch(n){e.outerHTML=ne}}return e}(),qe=function(){function e(e,n){try{h(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch(r){h(t.removed,{attribute:null,from:n})}n.removeAttribute(e)}return e}(),Ge=function(){function e(e){var t=void 0,n=void 0;if(Oe)e=""+e;else{var o=m(e,/^[\r\n\t ]+/);n=o&&o[0]}var i=te?te.createHTML(e):e;try{t=(new Q).parseFromString(i,"text/html")}catch(c){}if(r&&C(we,["title"]),!t||!t.documentElement){var u=(t=oe.createHTMLDocument("")).body;u.parentNode.removeChild(u.parentNode.firstElementChild),u.outerHTML=i}return e&&n&&t.body.insertBefore(a.createTextNode(n),t.body.childNodes[0]||null),ae.call(t,Ae?"html":"body")[0]}return e}();t.isSupported&&function(){try{var e=Ge("</title><img>");w(/<\/title/,e.querySelector("title").innerHTML)&&(r=!0)}catch(t){}}();var Xe=function(){function e(e){return ie.call(e.ownerDocument||e,e,k.SHOW_ELEMENT|k.SHOW_COMMENT|k.SHOW_TEXT,(function(){return k.FILTER_ACCEPT}),!1)}return e}(),Ze=function(){function e(e){return!(e instanceof X||e instanceof Z||"string"==typeof e.nodeName&&"string"==typeof e.textContent&&"function"==typeof e.removeChild&&e.attributes instanceof G&&"function"==typeof e.removeAttribute&&"function"==typeof e.setAttribute&&"string"==typeof e.namespaceURI)}return e}(),Qe=function(){function e(e){return"object"===(void 0===s?"undefined":U(s))?e instanceof s:e&&"object"===(void 0===e?"undefined":U(e))&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName}return e}(),Je=function(){function e(e,n,r){se[e]&&l(se[e],(function(e){e.call(t,n,r,Ue)}))}return e}(),et=function(){function e(e){var n=void 0;if(Je("beforeSanitizeElements",e,null),Ze(e))return We(e),!0;var r=v(e.nodeName);if(Je("uponSanitizeElement",e,{tagName:r,allowedTags:me}),("svg"===r||"math"===r)&&0!==e.querySelectorAll("p, br").length)return We(e),!0;if(!me[r]||we[r]){if(Pe&&!Fe[r]&&"function"==typeof e.insertAdjacentHTML)try{var o=e.innerHTML;e.insertAdjacentHTML("AfterEnd",te?te.createHTML(o):o)}catch(i){}return We(e),!0}return"noscript"===r&&w(/<\/noscript/i,e.innerHTML)||"noembed"===r&&w(/<\/noembed/i,e.innerHTML)?(We(e),!0):(!Ce||e.firstElementChild||e.content&&e.content.firstElementChild||!w(/</g,e.textContent)||(h(t.removed,{element:e.cloneNode()}),e.innerHTML?e.innerHTML=y(e.innerHTML,/</g,"<"):e.innerHTML=y(e.textContent,/</g,"<")),Ne&&3===e.nodeType&&(n=e.textContent,n=y(n,le," "),n=y(n,fe," "),e.textContent!==n&&(h(t.removed,{element:e.cloneNode()}),e.textContent=n)),Je("afterSanitizeElements",e,null),!1)}return e}(),tt=function(){function e(e,t,n){if(Re&&("id"===t||"name"===t)&&(n in a||n in $e))return!1;if(ke&&w(de,t));else if(Ee&&w(pe,t));else{if(!be[t]||_e[t])return!1;if(ze[t]);else if(w(ve,y(n,ge,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==b(n,"data:")||!je[e])if(Se&&!w(he,y(n,ge,"")));else if(n)return!1}return!0}return e}(),nt=function(){function e(e){var n=void 0,r=void 0,i=void 0,a=void 0,u=void 0;Je("beforeSanitizeAttributes",e,null);var c=e.attributes;if(c){var s={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:be};for(u=c.length;u--;){var l=n=c[u],h=l.name,m=l.namespaceURI;if(r=x(n.value),i=v(h),s.attrName=i,s.attrValue=r,s.keepAttr=!0,s.forceKeepAttr=undefined,Je("uponSanitizeAttribute",e,s),r=s.attrValue,!s.forceKeepAttr){if("name"===i&&"IMG"===e.nodeName&&c.id)a=c.id,c=g(c,[]),qe("id",e),qe(h,e),f(c,a)>u&&e.setAttribute("id",a.value);else{if("INPUT"===e.nodeName&&"type"===i&&"file"===r&&s.keepAttr&&(be[i]||!_e[i]))continue;"id"===h&&e.setAttribute(h,""),qe(h,e)}if(s.keepAttr)if(Ce&&w(/\/>/i,r))qe(h,e);else if(w(/svg|math/i,e.namespaceURI)&&w(_("</("+d(o(Fe),"|")+")","i"),r))qe(h,e);else{Ne&&(r=y(r,le," "),r=y(r,fe," "));var b=e.nodeName.toLowerCase();if(tt(b,i,r))try{m?e.setAttributeNS(m,h,r):e.setAttribute(h,r),p(t.removed)}catch(E){}}}}Je("afterSanitizeAttributes",e,null)}}return e}(),rt=function(){function e(t){var n=void 0,r=Xe(t);for(Je("beforeSanitizeShadowDOM",t,null);n=r.nextNode();)Je("uponSanitizeShadowNode",n,null),et(n)||(n.content instanceof u&&e(n.content),nt(n));Je("afterSanitizeShadowDOM",t,null)}return e}();return t.sanitize=function(r,o){var i=void 0,a=void 0,c=void 0,l=void 0,f=void 0;if(r||(r="\x3c!--\x3e"),"string"!=typeof r&&!Qe(r)){if("function"!=typeof r.toString)throw E("toString is not a function");if("string"!=typeof(r=r.toString()))throw E("dirty is not a string, aborting")}if(!t.isSupported){if("object"===U(e.toStaticHTML)||"function"==typeof e.toStaticHTML){if("string"==typeof r)return e.toStaticHTML(r);if(Qe(r))return e.toStaticHTML(r.outerHTML)}return r}if(Te||He(o),t.removed=[],"string"==typeof r&&(Be=!1),Be);else if(r instanceof s)1===(a=(i=Ge("\x3c!--\x3e")).ownerDocument.importNode(r,!0)).nodeType&&"BODY"===a.nodeName||"HTML"===a.nodeName?i=a:i.appendChild(a);else{if(!Ie&&!Ne&&!Ae&&-1===r.indexOf("<"))return te&&Ve?te.createHTML(r):r;if(!(i=Ge(r)))return Ie?null:ne}i&&Oe&&We(i.firstChild);for(var d=Xe(Be?r:i);c=d.nextNode();)3===c.nodeType&&c===l||et(c)||(c.content instanceof u&&rt(c.content),nt(c),l=c);if(l=null,Be)return r;if(Ie){if(Me)for(f=ue.call(i.ownerDocument);i.firstChild;)f.appendChild(i.firstChild);else f=i;return Le&&(f=ce.call(n,f,!0)),f}var p=Ae?i.outerHTML:i.innerHTML;return Ne&&(p=y(p,le," "),p=y(p,fe," ")),te&&Ve?te.createHTML(p):p},t.setConfig=function(e){He(e),Te=!0},t.clearConfig=function(){Ue=null,Te=!1},t.isValidAttribute=function(e,t,n){Ue||He({});var r=v(e),o=v(t);return tt(r,o,n)},t.addHook=function(e,t){"function"==typeof t&&(se[e]=se[e]||[],h(se[e],t))},t.removeHook=function(e){se[e]&&p(se[e])},t.removeHooks=function(e){se[e]&&(se[e]=[])},t.removeAllHooks=function(){se={}},t}return q()}()},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";e.exports=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function t(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}function n(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function o(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=n(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(r=e[Symbol.iterator]()).next.bind(r)}function i(e,t){return e(t={exports:{}},t.exports),t.exports}var a=i((function(e){function t(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}function n(t){e.exports.defaults=t}e.exports={defaults:t(),getDefaults:t,changeDefaults:n}})),u=(a.defaults,a.getDefaults,a.changeDefaults,/[&<>"']/),c=/[&<>"']/g,s=/[<>"']|&(?!#?\w+;)/,l=/[<>"']|&(?!#?\w+;)/g,f={"&":"&","<":"<",">":">",'"':""","'":"'"},d=function(){function e(e){return f[e]}return e}();function p(e,t){if(t){if(u.test(e))return e.replace(c,d)}else if(s.test(e))return e.replace(l,d);return e}var h=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function g(e){return e.replace(h,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}var v=/(^|[^\[])\^/g;function m(e,t){e=e.source||e,t=t||"";var n={replace:function(){function t(t,r){return r=(r=r.source||r).replace(v,"$1"),e=e.replace(t,r),n}return t}(),getRegex:function(){function n(){return new RegExp(e,t)}return n}()};return n}var y=/[^\w:]/g,b=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function x(e,t,n){if(e){var r;try{r=decodeURIComponent(g(n)).replace(y,"").toLowerCase()}catch(o){return null}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return null}t&&!b.test(n)&&(n=S(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(o){return null}return n}var w={},_=/^[^:]+:\/*[^/]*$/,E=/^([^:]+:)[\s\S]*$/,k=/^([^:]+:\/*[^/]*)[\s\S]*$/;function S(e,t){w[" "+e]||(_.test(e)?w[" "+e]=e+"/":w[" "+e]=A(e,"/",!0));var n=-1===(e=w[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(E,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(k,"$1")+t:e+t}function C(e){for(var t,n,r=1;r<arguments.length;r++)for(n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}function N(e,t){var n=e.replace(/\|/g,(function(e,t,n){for(var r=!1,o=t;--o>=0&&"\\"===n[o];)r=!r;return r?"|":" |"})).split(/ \|/),r=0;if(n.length>t)n.splice(t);else for(;n.length<t;)n.push("");for(;r<n.length;r++)n[r]=n[r].trim().replace(/\\\|/g,"|");return n}function A(e,t,n){var r=e.length;if(0===r)return"";for(var o=0;o<r;){var i=e.charAt(r-o-1);if(i!==t||n){if(i===t||!n)break;o++}else o++}return e.substr(0,r-o)}function T(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,r=0,o=0;o<n;o++)if("\\"===e[o])o++;else if(e[o]===t[0])r++;else if(e[o]===t[1]&&--r<0)return o;return-1}function O(e){e&&e.sanitize&&e.silent}var I={escape:p,unescape:g,edit:m,cleanUrl:x,resolveUrl:S,noopTest:{exec:function(){function e(){}return e}()},merge:C,splitCells:N,rtrim:A,findClosingBracket:T,checkSanitizeDeprecation:O},M=a.defaults,L=I.rtrim,V=I.splitCells,R=I.escape,P=I.findClosingBracket;function B(e,t,n){var r=t.href,o=t.title?R(t.title):null,i=e[1].replace(/\\([\[\]])/g,"$1");return"!"!==e[0].charAt(0)?{type:"link",raw:n,href:r,title:o,text:i}:{type:"image",raw:n,href:r,title:o,text:R(i)}}function D(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var r=n[1];return t.split("\n").map((function(e){var t=e.match(/^\s+/);return null===t?e:t[0].length>=r.length?e.slice(r.length):e})).join("\n")}var F=function(){function e(e){this.options=e||M}var t=e.prototype;return t.space=function(){function e(e){var t=this.rules.block.newline.exec(e);if(t)return t[0].length>1?{type:"space",raw:t[0]}:{raw:"\n"}}return e}(),t.code=function(){function e(e,t){var n=this.rules.block.code.exec(e);if(n){var r=t[t.length-1];if(r&&"paragraph"===r.type)return{raw:n[0],text:n[0].trimRight()};var o=n[0].replace(/^ {4}/gm,"");return{type:"code",raw:n[0],codeBlockStyle:"indented",text:this.options.pedantic?o:L(o,"\n")}}}return e}(),t.fences=function(){function e(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],r=D(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim():t[2],text:r}}}return e}(),t.heading=function(){function e(e){var t=this.rules.block.heading.exec(e);if(t)return{type:"heading",raw:t[0],depth:t[1].length,text:t[2]}}return e}(),t.nptable=function(){function e(e){var t=this.rules.block.nptable.exec(e);if(t){var n={type:"table",header:V(t[1].replace(/^ *| *\| *$/g,"")),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:t[3]?t[3].replace(/\n$/,"").split("\n"):[],raw:t[0]};if(n.header.length===n.align.length){var r,o=n.align.length;for(r=0;r<o;r++)/^ *-+: *$/.test(n.align[r])?n.align[r]="right":/^ *:-+: *$/.test(n.align[r])?n.align[r]="center":/^ *:-+ *$/.test(n.align[r])?n.align[r]="left":n.align[r]=null;for(o=n.cells.length,r=0;r<o;r++)n.cells[r]=V(n.cells[r],n.header.length);return n}}}return e}(),t.hr=function(){function e(e){var t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}return e}(),t.blockquote=function(){function e(e){var t=this.rules.block.blockquote.exec(e);if(t){var n=t[0].replace(/^ *> ?/gm,"");return{type:"blockquote",raw:t[0],text:n}}}return e}(),t.list=function(){function e(e){var t=this.rules.block.list.exec(e);if(t){for(var n,r,o,i,a,u,c,s=t[0],l=t[2],f=l.length>1,d=")"===l[l.length-1],p={type:"list",raw:s,ordered:f,start:f?+l.slice(0,-1):"",loose:!1,items:[]},h=t[0].match(this.rules.block.item),g=!1,v=h.length,m=0;m<v;m++)s=n=h[m],r=n.length,~(n=n.replace(/^ *([*+-]|\d+[.)]) */,"")).indexOf("\n ")&&(r-=n.length,n=this.options.pedantic?n.replace(/^ {1,4}/gm,""):n.replace(new RegExp("^ {1,"+r+"}","gm"),"")),m!==v-1&&(o=this.rules.block.bullet.exec(h[m+1])[0],(f?1===o.length||!d&&")"===o[o.length-1]:o.length>1||this.options.smartLists&&o!==l)&&(i=h.slice(m+1).join("\n"),p.raw=p.raw.substring(0,p.raw.length-i.length),m=v-1)),a=g||/\n\n(?!\s*$)/.test(n),m!==v-1&&(g="\n"===n.charAt(n.length-1),a||(a=g)),a&&(p.loose=!0),u=/^\[[ xX]\] /.test(n),c=undefined,u&&(c=" "!==n[1],n=n.replace(/^\[[ xX]\] +/,"")),p.items.push({type:"list_item",raw:s,task:u,checked:c,loose:a,text:n});return p}}return e}(),t.html=function(){function e(e){var t=this.rules.block.html.exec(e);if(t)return{type:this.options.sanitize?"paragraph":"html",raw:t[0],pre:!this.options.sanitizer&&("pre"===t[1]||"script"===t[1]||"style"===t[1]),text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):R(t[0]):t[0]}}return e}(),t.def=function(){function e(e){var t=this.rules.block.def.exec(e);if(t)return t[3]&&(t[3]=t[3].substring(1,t[3].length-1)),{tag:t[1].toLowerCase().replace(/\s+/g," "),raw:t[0],href:t[2],title:t[3]}}return e}(),t.table=function(){function e(e){var t=this.rules.block.table.exec(e);if(t){var n={type:"table",header:V(t[1].replace(/^ *| *\| *$/g,"")),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:t[3]?t[3].replace(/\n$/,"").split("\n"):[]};if(n.header.length===n.align.length){n.raw=t[0];var r,o=n.align.length;for(r=0;r<o;r++)/^ *-+: *$/.test(n.align[r])?n.align[r]="right":/^ *:-+: *$/.test(n.align[r])?n.align[r]="center":/^ *:-+ *$/.test(n.align[r])?n.align[r]="left":n.align[r]=null;for(o=n.cells.length,r=0;r<o;r++)n.cells[r]=V(n.cells[r].replace(/^ *\| *| *\| *$/g,""),n.header.length);return n}}}return e}(),t.lheading=function(){function e(e){var t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1]}}return e}(),t.paragraph=function(){function e(e){var t=this.rules.block.paragraph.exec(e);if(t)return{type:"paragraph",raw:t[0],text:"\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1]}}return e}(),t.text=function(){function e(e,t){var n=this.rules.block.text.exec(e);if(n){var r=t[t.length-1];return r&&"text"===r.type?{raw:n[0],text:n[0]}:{type:"text",raw:n[0],text:n[0]}}}return e}(),t.escape=function(){function e(e){var t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:R(t[1])}}return e}(),t.tag=function(){function e(e,t,n){var r=this.rules.inline.tag.exec(e);if(r)return!t&&/^<a /i.test(r[0])?t=!0:t&&/^<\/a>/i.test(r[0])&&(t=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(r[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(r[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:r[0],inLink:t,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):R(r[0]):r[0]}}return e}(),t.link=function(){function e(e){var t=this.rules.inline.link.exec(e);if(t){var n=P(t[2],"()");if(n>-1){var r=(0===t[0].indexOf("!")?5:4)+t[1].length+n;t[2]=t[2].substring(0,n),t[0]=t[0].substring(0,r).trim(),t[3]=""}var o=t[2],i="";if(this.options.pedantic){var a=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);a?(o=a[1],i=a[3]):i=""}else i=t[3]?t[3].slice(1,-1):"";return B(t,{href:(o=o.trim().replace(/^<([\s\S]*)>$/,"$1"))?o.replace(this.rules.inline._escapes,"$1"):o,title:i?i.replace(this.rules.inline._escapes,"$1"):i},t[0])}}return e}(),t.reflink=function(){function e(e,t){var n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){var r=(n[2]||n[1]).replace(/\s+/g," ");if(!(r=t[r.toLowerCase()])||!r.href){var o=n[0].charAt(0);return{type:"text",raw:o,text:o}}return B(n,r,n[0])}}return e}(),t.strong=function(){function e(e,t,n){void 0===n&&(n="");var r=this.rules.inline.strong.start.exec(e);if(r&&(!r[1]||r[1]&&(""===n||this.rules.inline.punctuation.exec(n)))){t=t.slice(-1*e.length);var o,i="**"===r[0]?this.rules.inline.strong.endAst:this.rules.inline.strong.endUnd;for(i.lastIndex=0;null!=(r=i.exec(t));)if(o=this.rules.inline.strong.middle.exec(t.slice(0,r.index+3)))return{type:"strong",raw:e.slice(0,o[0].length),text:e.slice(2,o[0].length-2)}}}return e}(),t.em=function(){function e(e,t,n){void 0===n&&(n="");var r=this.rules.inline.em.start.exec(e);if(r&&(!r[1]||r[1]&&(""===n||this.rules.inline.punctuation.exec(n)))){t=t.slice(-1*e.length);var o,i="*"===r[0]?this.rules.inline.em.endAst:this.rules.inline.em.endUnd;for(i.lastIndex=0;null!=(r=i.exec(t));)if(o=this.rules.inline.em.middle.exec(t.slice(0,r.index+2)))return{type:"em",raw:e.slice(0,o[0].length),text:e.slice(1,o[0].length-1)}}}return e}(),t.codespan=function(){function e(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),r=/[^ ]/.test(n),o=n.startsWith(" ")&&n.endsWith(" ");return r&&o&&(n=n.substring(1,n.length-1)),n=R(n,!0),{type:"codespan",raw:t[0],text:n}}}return e}(),t.br=function(){function e(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}return e}(),t.del=function(){function e(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[1]}}return e}(),t.autolink=function(){function e(e,t){var n,r,o=this.rules.inline.autolink.exec(e);if(o)return r="@"===o[2]?"mailto:"+(n=R(this.options.mangle?t(o[1]):o[1])):n=R(o[1]),{type:"link",raw:o[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}return e}(),t.url=function(){function e(e,t){var n;if(n=this.rules.inline.url.exec(e)){var r,o;if("@"===n[2])o="mailto:"+(r=R(this.options.mangle?t(n[0]):n[0]));else{var i;do{i=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(i!==n[0]);r=R(n[0]),o="www."===n[1]?"http://"+r:r}return{type:"link",raw:n[0],text:r,href:o,tokens:[{type:"text",raw:r,text:r}]}}}return e}(),t.inlineText=function(){function e(e,t,n){var r,o=this.rules.inline.text.exec(e);if(o)return r=t?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(o[0]):R(o[0]):o[0]:R(this.options.smartypants?n(o[0]):o[0]),{type:"text",raw:o[0],text:r}}return e}(),e}(),j=I.noopTest,K=I.edit,z=I.merge,Y={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|<![A-Z][\\s\\S]*?>\\n*|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>\\n*|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|</(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:j,table:j,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};Y.def=K(Y.def).replace("label",Y._label).replace("title",Y._title).getRegex(),Y.bullet=/(?:[*+-]|\d{1,9}[.)])/,Y.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,Y.item=K(Y.item,"gm").replace(/bull/g,Y.bullet).getRegex(),Y.list=K(Y.list).replace(/bull/g,Y.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Y.def.source+")").getRegex(),Y._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Y._comment=/<!--(?!-?>)[\s\S]*?-->/,Y.html=K(Y.html,"i").replace("comment",Y._comment).replace("tag",Y._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Y.paragraph=K(Y._paragraph).replace("hr",Y.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",Y._tag).getRegex(),Y.blockquote=K(Y.blockquote).replace("paragraph",Y.paragraph).getRegex(),Y.normal=z({},Y),Y.gfm=z({},Y.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Y.gfm.nptable=K(Y.gfm.nptable).replace("hr",Y.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",Y._tag).getRegex(),Y.gfm.table=K(Y.gfm.table).replace("hr",Y.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",Y._tag).getRegex(),Y.pedantic=z({},Y.normal,{html:K("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Y._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,fences:j,paragraph:K(Y.normal._paragraph).replace("hr",Y.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Y.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var U={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:j,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",strong:{start:/^(?:(\*\*(?=[*punctuation]))|\*\*)(?![\s])|__/,middle:/^\*\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*\*$|^__(?![\s])((?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?)__$/,endAst:/[^punctuation\s]\*\*(?!\*)|[punctuation]\*\*(?!\*)(?:(?=[punctuation\s]|$))/,endUnd:/[^\s]__(?!_)(?:(?=[punctuation\s])|$)/},em:{start:/^(?:(\*(?=[punctuation]))|\*)(?![*\s])|_/,middle:/^\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*$|^_(?![_\s])(?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?_$/,endAst:/[^punctuation\s]\*(?!\*)|[punctuation]\*(?!\*)(?:(?=[punctuation\s]|$))/,endUnd:/[^\s]_(?!_)(?:(?=[punctuation\s])|$)/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:j,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\<!\[`*]|\b_|$)|[^ ](?= {2,}\n))|(?= {2,}\n))/,punctuation:/^([\s*punctuation])/,_punctuation:"!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~"};U.punctuation=K(U.punctuation).replace(/punctuation/g,U._punctuation).getRegex(),U._blockSkip="\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>",U._overlapSkip="__[^_]*?__|\\*\\*\\[^\\*\\]*?\\*\\*",U.em.start=K(U.em.start).replace(/punctuation/g,U._punctuation).getRegex(),U.em.middle=K(U.em.middle).replace(/punctuation/g,U._punctuation).replace(/overlapSkip/g,U._overlapSkip).getRegex(),U.em.endAst=K(U.em.endAst,"g").replace(/punctuation/g,U._punctuation).getRegex(),U.em.endUnd=K(U.em.endUnd,"g").replace(/punctuation/g,U._punctuation).getRegex(),U.strong.start=K(U.strong.start).replace(/punctuation/g,U._punctuation).getRegex(),U.strong.middle=K(U.strong.middle).replace(/punctuation/g,U._punctuation).replace(/blockSkip/g,U._blockSkip).getRegex(),U.strong.endAst=K(U.strong.endAst,"g").replace(/punctuation/g,U._punctuation).getRegex(),U.strong.endUnd=K(U.strong.endUnd,"g").replace(/punctuation/g,U._punctuation).getRegex(),U.blockSkip=K(U._blockSkip,"g").getRegex(),U.overlapSkip=K(U._overlapSkip,"g").getRegex(),U._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,U._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,U._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,U.autolink=K(U.autolink).replace("scheme",U._scheme).replace("email",U._email).getRegex(),U._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,U.tag=K(U.tag).replace("comment",Y._comment).replace("attribute",U._attribute).getRegex(),U._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,U._href=/<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/,U._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,U.link=K(U.link).replace("label",U._label).replace("href",U._href).replace("title",U._title).getRegex(),U.reflink=K(U.reflink).replace("label",U._label).getRegex(),U.reflinkSearch=K(U.reflinkSearch,"g").replace("reflink",U.reflink).replace("nolink",U.nolink).getRegex(),U.normal=z({},U),U.pedantic=z({},U.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:K(/^!?\[(label)\]\((.*?)\)/).replace("label",U._label).getRegex(),reflink:K(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",U._label).getRegex()}),U.gfm=z({},U.normal,{escape:K(U.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\<!\[`*~]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))|(?= {2,}\n|[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))/}),U.gfm.url=K(U.gfm.url,"i").replace("email",U.gfm._extended_email).getRegex(),U.breaks=z({},U.gfm,{br:K(U.br).replace("{2,}","*").getRegex(),text:K(U.gfm.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()});var $={block:Y,inline:U},H=a.defaults,W=$.block,q=$.inline;function G(e){return e.replace(/---/g,"\u2014").replace(/--/g,"\u2013").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1\u2018").replace(/'/g,"\u2019").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1\u201c").replace(/"/g,"\u201d").replace(/\.{3}/g,"\u2026")}function X(e){var t,n,r="",o=e.length;for(t=0;t<o;t++)n=e.charCodeAt(t),Math.random()>.5&&(n="x"+n.toString(16)),r+="&#"+n+";";return r}var Z=function(){function e(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||H,this.options.tokenizer=this.options.tokenizer||new F,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var t={block:W.normal,inline:q.normal};this.options.pedantic?(t.block=W.pedantic,t.inline=q.pedantic):this.options.gfm&&(t.block=W.gfm,this.options.breaks?t.inline=q.breaks:t.inline=q.gfm),this.tokenizer.rules=t}e.lex=function(){function t(t,n){return new e(n).lex(t)}return t}();var n=e.prototype;return n.lex=function(){function e(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(e,this.tokens,!0),this.inline(this.tokens),this.tokens}return e}(),n.blockTokens=function(){function e(e,t,n){var r,o,i,a;for(void 0===t&&(t=[]),void 0===n&&(n=!0),e=e.replace(/^ +$/gm,"");e;)if(r=this.tokenizer.space(e))e=e.substring(r.raw.length),r.type&&t.push(r);else if(r=this.tokenizer.code(e,t))e=e.substring(r.raw.length),r.type?t.push(r):((a=t[t.length-1]).raw+="\n"+r.raw,a.text+="\n"+r.text);else if(r=this.tokenizer.fences(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.heading(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.nptable(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.hr(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.blockquote(e))e=e.substring(r.raw.length),r.tokens=this.blockTokens(r.text,[],n),t.push(r);else if(r=this.tokenizer.list(e)){for(e=e.substring(r.raw.length),i=r.items.length,o=0;o<i;o++)r.items[o].tokens=this.blockTokens(r.items[o].text,[],!1);t.push(r)}else if(r=this.tokenizer.html(e))e=e.substring(r.raw.length),t.push(r);else if(n&&(r=this.tokenizer.def(e)))e=e.substring(r.raw.length),this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title});else if(r=this.tokenizer.table(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.lheading(e))e=e.substring(r.raw.length),t.push(r);else if(n&&(r=this.tokenizer.paragraph(e)))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.text(e,t))e=e.substring(r.raw.length),r.type?t.push(r):((a=t[t.length-1]).raw+="\n"+r.raw,a.text+="\n"+r.text);else if(e){var u="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent)break;throw new Error(u)}return t}return e}(),n.inline=function(){function e(e){var t,n,r,o,i,a,u=e.length;for(t=0;t<u;t++)switch((a=e[t]).type){case"paragraph":case"text":case"heading":a.tokens=[],this.inlineTokens(a.text,a.tokens);break;case"table":for(a.tokens={header:[],cells:[]},o=a.header.length,n=0;n<o;n++)a.tokens.header[n]=[],this.inlineTokens(a.header[n],a.tokens.header[n]);for(o=a.cells.length,n=0;n<o;n++)for(i=a.cells[n],a.tokens.cells[n]=[],r=0;r<i.length;r++)a.tokens.cells[n][r]=[],this.inlineTokens(i[r],a.tokens.cells[n][r]);break;case"blockquote":this.inline(a.tokens);break;case"list":for(o=a.items.length,n=0;n<o;n++)this.inline(a.items[n].tokens)}return e}return e}(),n.inlineTokens=function(){function e(e,t,n,r,o){var i;void 0===t&&(t=[]),void 0===n&&(n=!1),void 0===r&&(r=!1),void 0===o&&(o="");var a,u=e;if(this.tokens.links){var c=Object.keys(this.tokens.links);if(c.length>0)for(;null!=(a=this.tokenizer.rules.inline.reflinkSearch.exec(u));)c.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(u=u.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+u.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(a=this.tokenizer.rules.inline.blockSkip.exec(u));)u=u.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+u.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;e;)if(i=this.tokenizer.escape(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.tag(e,n,r))e=e.substring(i.raw.length),n=i.inLink,r=i.inRawBlock,t.push(i);else if(i=this.tokenizer.link(e))e=e.substring(i.raw.length),"link"===i.type&&(i.tokens=this.inlineTokens(i.text,[],!0,r)),t.push(i);else if(i=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(i.raw.length),"link"===i.type&&(i.tokens=this.inlineTokens(i.text,[],!0,r)),t.push(i);else if(i=this.tokenizer.strong(e,u,o))e=e.substring(i.raw.length),i.tokens=this.inlineTokens(i.text,[],n,r),t.push(i);else if(i=this.tokenizer.em(e,u,o))e=e.substring(i.raw.length),i.tokens=this.inlineTokens(i.text,[],n,r),t.push(i);else if(i=this.tokenizer.codespan(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.br(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.del(e))e=e.substring(i.raw.length),i.tokens=this.inlineTokens(i.text,[],n,r),t.push(i);else if(i=this.tokenizer.autolink(e,X))e=e.substring(i.raw.length),t.push(i);else if(n||!(i=this.tokenizer.url(e,X))){if(i=this.tokenizer.inlineText(e,r,G))e=e.substring(i.raw.length),o=i.raw.slice(-1),t.push(i);else if(e){var s="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent)break;throw new Error(s)}}else e=e.substring(i.raw.length),t.push(i);return t}return e}(),t(e,null,[{key:"rules",get:function(){function e(){return{block:W,inline:q}}return e}()}]),e}(),Q=a.defaults,J=I.cleanUrl,ee=I.escape,te=function(){function e(e){this.options=e||Q}var t=e.prototype;return t.code=function(){function e(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var o=this.options.highlight(e,r);null!=o&&o!==e&&(n=!0,e=o)}return r?'<pre><code class="'+this.options.langPrefix+ee(r,!0)+'">'+(n?e:ee(e,!0))+"</code></pre>\n":"<pre><code>"+(n?e:ee(e,!0))+"</code></pre>\n"}return e}(),t.blockquote=function(){function e(e){return"<blockquote>\n"+e+"</blockquote>\n"}return e}(),t.html=function(){function e(e){return e}return e}(),t.heading=function(){function e(e,t,n,r){return this.options.headerIds?"<h"+t+' id="'+this.options.headerPrefix+r.slug(n)+'">'+e+"</h"+t+">\n":"<h"+t+">"+e+"</h"+t+">\n"}return e}(),t.hr=function(){function e(){return this.options.xhtml?"<hr/>\n":"<hr>\n"}return e}(),t.list=function(){function e(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"</"+r+">\n"}return e}(),t.listitem=function(){function e(e){return"<li>"+e+"</li>\n"}return e}(),t.checkbox=function(){function e(e){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "}return e}(),t.paragraph=function(){function e(e){return"<p>"+e+"</p>\n"}return e}(),t.table=function(){function e(e,t){return t&&(t="<tbody>"+t+"</tbody>"),"<table>\n<thead>\n"+e+"</thead>\n"+t+"</table>\n"}return e}(),t.tablerow=function(){function e(e){return"<tr>\n"+e+"</tr>\n"}return e}(),t.tablecell=function(){function e(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"</"+n+">\n"}return e}(),t.strong=function(){function e(e){return"<strong>"+e+"</strong>"}return e}(),t.em=function(){function e(e){return"<em>"+e+"</em>"}return e}(),t.codespan=function(){function e(e){return"<code>"+e+"</code>"}return e}(),t.br=function(){function e(){return this.options.xhtml?"<br/>":"<br>"}return e}(),t.del=function(){function e(e){return"<del>"+e+"</del>"}return e}(),t.link=function(){function e(e,t,n){if(null===(e=J(this.options.sanitize,this.options.baseUrl,e)))return n;var r='<a href="'+ee(e)+'"';return t&&(r+=' title="'+t+'"'),r+=">"+n+"</a>"}return e}(),t.image=function(){function e(e,t,n){if(null===(e=J(this.options.sanitize,this.options.baseUrl,e)))return n;var r='<img src="'+e+'" alt="'+n+'"';return t&&(r+=' title="'+t+'"'),r+=this.options.xhtml?"/>":">"}return e}(),t.text=function(){function e(e){return e}return e}(),e}(),ne=function(){function e(){}var t=e.prototype;return t.strong=function(){function e(e){return e}return e}(),t.em=function(){function e(e){return e}return e}(),t.codespan=function(){function e(e){return e}return e}(),t.del=function(){function e(e){return e}return e}(),t.html=function(){function e(e){return e}return e}(),t.text=function(){function e(e){return e}return e}(),t.link=function(){function e(e,t,n){return""+n}return e}(),t.image=function(){function e(e,t,n){return""+n}return e}(),t.br=function(){function e(){return""}return e}(),e}(),re=function(){function e(){this.seen={}}return e.prototype.slug=function(){function e(e){var t=e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){var n=t;do{this.seen[n]++,t=n+"-"+this.seen[n]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t}return e}(),e}(),oe=a.defaults,ie=I.unescape,ae=function(){function e(e){this.options=e||oe,this.options.renderer=this.options.renderer||new te,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new ne,this.slugger=new re}e.parse=function(){function t(t,n){return new e(n).parse(t)}return t}();var t=e.prototype;return t.parse=function(){function e(e,t){void 0===t&&(t=!0);var n,r,o,i,a,u,c,s,l,f,d,p,h,g,v,m,y,b,x="",w=e.length;for(n=0;n<w;n++)switch((f=e[n]).type){case"space":continue;case"hr":x+=this.renderer.hr();continue;case"heading":x+=this.renderer.heading(this.parseInline(f.tokens),f.depth,ie(this.parseInline(f.tokens,this.textRenderer)),this.slugger);continue;case"code":x+=this.renderer.code(f.text,f.lang,f.escaped);continue;case"table":for(s="",c="",i=f.header.length,r=0;r<i;r++)c+=this.renderer.tablecell(this.parseInline(f.tokens.header[r]),{header:!0,align:f.align[r]});for(s+=this.renderer.tablerow(c),l="",i=f.cells.length,r=0;r<i;r++){for(c="",a=(u=f.tokens.cells[r]).length,o=0;o<a;o++)c+=this.renderer.tablecell(this.parseInline(u[o]),{header:!1,align:f.align[o]});l+=this.renderer.tablerow(c)}x+=this.renderer.table(s,l);continue;case"blockquote":l=this.parse(f.tokens),x+=this.renderer.blockquote(l);continue;case"list":for(d=f.ordered,p=f.start,h=f.loose,i=f.items.length,l="",r=0;r<i;r++)m=(v=f.items[r]).checked,y=v.task,g="",v.task&&(b=this.renderer.checkbox(m),h?v.tokens.length>0&&"text"===v.tokens[0].type?(v.tokens[0].text=b+" "+v.tokens[0].text,v.tokens[0].tokens&&v.tokens[0].tokens.length>0&&"text"===v.tokens[0].tokens[0].type&&(v.tokens[0].tokens[0].text=b+" "+v.tokens[0].tokens[0].text)):v.tokens.unshift({type:"text",text:b}):g+=b),g+=this.parse(v.tokens,h),l+=this.renderer.listitem(g,y,m);x+=this.renderer.list(l,d,p);continue;case"html":x+=this.renderer.html(f.text);continue;case"paragraph":x+=this.renderer.paragraph(this.parseInline(f.tokens));continue;case"text":for(l=f.tokens?this.parseInline(f.tokens):f.text;n+1<w&&"text"===e[n+1].type;)l+="\n"+((f=e[++n]).tokens?this.parseInline(f.tokens):f.text);x+=t?this.renderer.paragraph(l):l;continue;default:var _='Token with "'+f.type+'" type was not found.';if(this.options.silent)return;throw new Error(_)}return x}return e}(),t.parseInline=function(){function e(e,t){t=t||this.renderer;var n,r,o="",i=e.length;for(n=0;n<i;n++)switch((r=e[n]).type){case"escape":o+=t.text(r.text);break;case"html":o+=t.html(r.text);break;case"link":o+=t.link(r.href,r.title,this.parseInline(r.tokens,t));break;case"image":o+=t.image(r.href,r.title,r.text);break;case"strong":o+=t.strong(this.parseInline(r.tokens,t));break;case"em":o+=t.em(this.parseInline(r.tokens,t));break;case"codespan":o+=t.codespan(r.text);break;case"br":o+=t.br();break;case"del":o+=t.del(this.parseInline(r.tokens,t));break;case"text":o+=t.text(r.text);break;default:var a='Token with "'+r.type+'" type was not found.';if(this.options.silent)return;throw new Error(a)}return o}return e}(),e}(),ue=I.merge,ce=I.checkSanitizeDeprecation,se=I.escape,le=a.getDefaults,fe=a.changeDefaults,de=a.defaults;function pe(e,t,n){if(null==e)throw new Error("marked(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");if("function"==typeof t&&(n=t,t=null),t=ue({},pe.defaults,t||{}),ce(t),n){var r,o=t.highlight;try{r=Z.lex(e,t)}catch(c){return n(c)}var i=function(){function e(e){var i;if(!e)try{i=ae.parse(r,t)}catch(c){e=c}return t.highlight=o,e?n(e):n(null,i)}return e}();if(!o||o.length<3)return i();if(delete t.highlight,!r.length)return i();var a=0;return pe.walkTokens(r,(function(e){"code"===e.type&&(a++,setTimeout((function(){o(e.text,e.lang,(function(t,n){if(t)return i(t);null!=n&&n!==e.text&&(e.text=n,e.escaped=!0),0==--a&&i()}))}),0))})),void(0===a&&i())}try{var u=Z.lex(e,t);return t.walkTokens&&pe.walkTokens(u,t.walkTokens),ae.parse(u,t)}catch(c){if(c.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"<p>An error occurred:</p><pre>"+se(c.message+"",!0)+"</pre>";throw c}}return pe.options=pe.setOptions=function(e){return ue(pe.defaults,e),fe(pe.defaults),pe},pe.getDefaults=le,pe.defaults=de,pe.use=function(e){var t=ue({},e);if(e.renderer&&function(){var n=pe.defaults.renderer||new te,r=function(){function t(t){var r=n[t];n[t]=function(){for(var o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];var u=e.renderer[t].apply(n,i);return!1===u&&(u=r.apply(n,i)),u}}return t}();for(var o in e.renderer)r(o);t.renderer=n}(),e.tokenizer&&function(){var n=pe.defaults.tokenizer||new F,r=function(){function t(t){var r=n[t];n[t]=function(){for(var o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];var u=e.tokenizer[t].apply(n,i);return!1===u&&(u=r.apply(n,i)),u}}return t}();for(var o in e.tokenizer)r(o);t.tokenizer=n}(),e.walkTokens){var n=pe.defaults.walkTokens;t.walkTokens=function(t){e.walkTokens(t),n&&n(t)}}pe.setOptions(t)},pe.walkTokens=function(e,t){for(var n,r=o(e);!(n=r()).done;){var i=n.value;switch(t(i),i.type){case"table":for(var a,u=o(i.tokens.header);!(a=u()).done;){var c=a.value;pe.walkTokens(c,t)}for(var s,l=o(i.tokens.cells);!(s=l()).done;)for(var f,d=o(s.value);!(f=d()).done;){var p=f.value;pe.walkTokens(p,t)}break;case"list":pe.walkTokens(i.items,t);break;default:i.tokens&&pe.walkTokens(i.tokens,t)}}},pe.Parser=ae,pe.parser=ae.parse,pe.Renderer=te,pe.TextRenderer=ne,pe.Lexer=Z,pe.lexer=Z.lex,pe.Tokenizer=F,pe.Slugger=re,pe.parse=pe,pe}()}]]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[function(e,t,n){"use strict";t.__esModule=!0;var r=n(450);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(t[e]=r[e])}))},function(e,t,n){"use strict";t.__esModule=!0,t.TimeDisplay=t.Tooltip=t.Tabs=t.TextArea=t.Table=t.Slider=t.Section=t.RoundGauge=t.ProgressBar=t.NumberInput=t.NoticeBox=t.Modal=t.LabeledList=t.LabeledControls=t.Knob=t.Input=t.Icon=t.Grid=t.Flex=t.Dropdown=t.DraggableControl=t.Divider=t.Dimmer=t.ColorBox=t.Collapsible=t.Chart=t.ByondUi=t.Button=t.Box=t.BlockQuote=t.AnimatedNumber=void 0;var r=n(102);t.AnimatedNumber=r.AnimatedNumber;var o=n(465);t.BlockQuote=o.BlockQuote;var i=n(17);t.Box=i.Box;var a=n(192);t.Button=a.Button;var u=n(467);t.ByondUi=u.ByondUi;var c=n(469);t.Chart=c.Chart;var s=n(470);t.Collapsible=s.Collapsible;var l=n(471);t.ColorBox=l.ColorBox;var f=n(194);t.Dimmer=f.Dimmer;var d=n(195);t.Divider=d.Divider;var p=n(138);t.DraggableControl=p.DraggableControl;var h=n(472);t.Dropdown=h.Dropdown;var g=n(196);t.Flex=g.Flex;var v=n(473);t.Grid=v.Grid;var m=n(103);t.Icon=m.Icon;var y=n(198);t.Input=y.Input;var b=n(474);t.Knob=b.Knob;var x=n(475);t.LabeledControls=x.LabeledControls;var w=n(199);t.LabeledList=w.LabeledList;var _=n(476);t.Modal=_.Modal;var E=n(477);t.NoticeBox=E.NoticeBox;var k=n(139);t.NumberInput=k.NumberInput;var S=n(478);t.ProgressBar=S.ProgressBar;var C=n(479);t.RoundGauge=C.RoundGauge;var N=n(480);t.Section=N.Section;var A=n(481);t.Slider=A.Slider;var T=n(197);t.Table=T.Table;var O=n(482);t.TextArea=O.TextArea;var I=n(483);t.Tabs=I.Tabs;var M=n(193);t.Tooltip=M.Tooltip;var L=n(484);t.TimeDisplay=L.TimeDisplay},function(e,t,n){"use strict";(function(e){t.__esModule=!0,t.useSharedState=t.useLocalState=t.useBackend=t.selectBackend=t.sendAct=t.sendMessage=t.backendMiddleware=t.backendReducer=t.backendSuspendSuccess=t.backendSuspendStart=t.backendSetSharedState=t.backendUpdate=void 0;var r=n(99),o=n(189),i=n(190),a=n(35),u=n(135);var c=(0,a.createLogger)("backend"),s=function(e){return{type:"backend/update",payload:e}};t.backendUpdate=s;var l=function(e,t){return{type:"backend/setSharedState",payload:{key:e,nextState:t}}};t.backendSetSharedState=l;t.backendSuspendStart=function(){return{type:"backend/suspendStart"}};var f=function(){return{type:"backend/suspendSuccess",payload:{timestamp:Date.now()}}};t.backendSuspendSuccess=f;var d={config:{},data:{},shared:{},suspended:Date.now(),suspending:!1};t.backendReducer=function(e,t){void 0===e&&(e=d);var n=t.type,r=t.payload;if("backend/update"===n){var o=Object.assign({},e.config,r.config),i=Object.assign({},e.data,r.static_data,r.data),a=Object.assign({},e.shared);if(r.shared)for(var u=0,c=Object.keys(r.shared);u<c.length;u++){var s=c[u],l=r.shared[s];a[s]=""===l?undefined:JSON.parse(l)}return Object.assign({},e,{config:o,data:i,shared:a,suspended:!1})}if("backend/setSharedState"===n){var f,p=r.key,h=r.nextState;return Object.assign({},e,{shared:Object.assign({},e.shared,(f={},f[p]=h,f))})}if("backend/suspendStart"===n)return Object.assign({},e,{suspending:!0});if("backend/suspendSuccess"===n){var g=r.timestamp;return Object.assign({},e,{data:{},shared:{},config:Object.assign({},e.config,{title:"",status:1}),suspending:!1,suspended:g})}return e};t.backendMiddleware=function(t){var n,a;return function(l){return function(d){var h=g(t.getState()).suspended,v=d.type,m=d.payload;if("update"!==v)if("suspend"!==v){if("ping"!==v){if("backend/suspendStart"===v&&!a){c.log("suspending ("+window.__windowId__+")");var y=function(){return p({type:"suspend"})};y(),a=setInterval(y,2e3)}if("backend/suspendSuccess"===v&&((0,u.suspendRenderer)(),clearInterval(a),a=undefined,Byond.winset(window.__windowId__,{"is-visible":!1}),e((function(){return(0,i.focusMap)()}))),"backend/update"===v){var b,x,w=null==(b=m.config)||null==(x=b.window)?void 0:x.fancy;n===undefined?n=w:n!==w&&(c.log("changing fancy mode to",w),n=w,Byond.winset(window.__windowId__,{titlebar:!w,"can-resize":!w}))}return"backend/update"===v&&h&&(c.log("backend/update",m),(0,u.resumeRenderer)(),(0,o.setupDrag)(),e((function(){r.perf.mark("resume/start"),g(t.getState()).suspended||(Byond.winset(window.__windowId__,{"is-visible":!0}),r.perf.mark("resume/finish"))}))),l(d)}p({type:"pingReply"})}else t.dispatch(f());else t.dispatch(s(m))}}};var p=function(e){void 0===e&&(e={});var t=e,n=t.payload,r=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(t,["payload"]),o=Object.assign({tgui:1,window_id:window.__windowId__},r);null!==n&&n!==undefined&&(o.payload=JSON.stringify(n)),Byond.topic(o)};t.sendMessage=p;var h=function(e,t){void 0===t&&(t={}),"object"!=typeof t||null===t||Array.isArray(t)?c.error("Payload for act() must be an object, got this:",t):p({type:"act/"+e,payload:t})};t.sendAct=h;var g=function(e){return e.backend||{}};t.selectBackend=g;t.useBackend=function(e){var t=e.store,n=g(t.getState());return Object.assign({},n,{act:h})};t.useLocalState=function(e,t,n){var r,o=e.store,i=null!=(r=g(o.getState()).shared)?r:{},a=t in i?i[t]:n;return[a,function(e){o.dispatch(l(t,"function"==typeof e?e(a):e))}]};t.useSharedState=function(e,t,n){var r,o=e.store,i=null!=(r=g(o.getState()).shared)?r:{},a=t in i?i[t]:n;return[a,function(e){p({type:"setSharedState",key:t,value:JSON.stringify("function"==typeof e?e(a):e)||""})}]}}).call(this,n(101).setImmediate)},function(e,t,n){"use strict";t.__esModule=!0,t.Window=t.Pane=t.NtosWindow=t.Layout=void 0;var r=n(140);t.Layout=r.Layout;var o=n(485);t.NtosWindow=o.NtosWindow;var i=n(486);t.Pane=i.Pane;var a=n(200);t.Window=a.Window},function(e,t,n){"use strict";var r=n(7),o=n(23).f,i=n(31),a=n(26),u=n(109),c=n(152),s=n(71);e.exports=function(e,t){var n,l,f,d,p,h=e.target,g=e.global,v=e.stat;if(n=g?r:v?r[h]||u(h,{}):(r[h]||{}).prototype)for(l in t){if(d=t[l],f=e.noTargetGet?(p=o(n,l))&&p.value:n[l],!s(g?l:h+(v?".":"#")+l,e.forced)&&f!==undefined){if(typeof d==typeof f)continue;c(d,f)}(e.sham||f&&f.sham)&&i(d,"sham",!0),a(n,l,d,e)}}},function(e,t,n){"use strict";e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){"use strict";t.__esModule=!0,t.canRender=t.pureComponentHooks=t.shallowDiffers=t.normalizeChildren=t.classes=void 0;t.classes=function(e){for(var t="",n=0;n<e.length;n++){var r=e[n];"string"==typeof r&&(t+=r+" ")}return t};t.normalizeChildren=function(e){return Array.isArray(e)?e.flat().filter((function(e){return e})):"object"==typeof e?[e]:[]};var r=function(e,t){var n;for(n in e)if(!(n in t))return!0;for(n in t)if(e[n]!==t[n])return!0;return!1};t.shallowDiffers=r;var o={onComponentShouldUpdate:function(e,t){return r(e,t)}};t.pureComponentHooks=o;t.canRender=function(e){return e!==undefined&&null!==e&&"boolean"!=typeof e}},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(107))},function(e,t,n){"use strict";t.__esModule=!0,t.keyOfMatchingRange=t.inRange=t.toFixed=t.round=t.scale=t.clamp01=t.clamp=void 0;t.clamp=function(e,t,n){return e<t?t:e>n?n:e};t.clamp01=function(e){return e<0?0:e>1?1:e};t.scale=function(e,t,n){return(e-t)/(n-t)};t.round=function(e,t){return!e||isNaN(e)?e:(t|=0,i=(e*=n=Math.pow(10,t))>0|-(e<0),o=Math.abs(e%1)>=.4999999999854481,r=Math.floor(e),o&&(e=r+(i>0)),(o?e:Math.round(e))/n);var n,r,o,i};t.toFixed=function(e,t){return void 0===t&&(t=0),Number(e).toFixed(Math.max(t,0))};var r=function(e,t){return t&&e>=t[0]&&e<=t[1]};t.inRange=r;t.keyOfMatchingRange=function(e,t){for(var n=0,o=Object.keys(t);n<o.length;n++){var i=o[n],a=t[i];if(r(e,a))return i}}},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";t.__esModule=!0,t.zipWith=t.zip=t.uniqBy=t.reduce=t.sortBy=t.map=t.filter=t.toKeyedArray=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 r in e)t.call(e,r)&&n.push(e[r]);return n}return[]};t.toKeyedArray=function(e,t){return void 0===t&&(t="key"),r((function(e,n){var r;return Object.assign(((r={})[t]=n,r),e)}))(e)};t.filter=function(e){return function(t){if(null===t||t===undefined)return t;if(Array.isArray(t)){for(var n=[],r=0;r<t.length;r++){var o=t[r];e(o,r,t)&&n.push(o)}return n}throw new Error("filter() can't iterate on type "+typeof t)}};var r=function(e){return function(t){if(null===t||t===undefined)return t;if(Array.isArray(t)){for(var n=[],r=0;r<t.length;r++)n.push(e(t[r],r,t));return n}if("object"==typeof t){var o=Object.prototype.hasOwnProperty,i=[];for(var a in t)o.call(t,a)&&i.push(e(t[a],a,t));return i}throw new Error("map() can't iterate on type "+typeof t)}};t.map=r;var o=function(e,t){for(var n=e.criteria,r=t.criteria,o=n.length,i=0;i<o;i++){var a=n[i],u=r[i];if(a<u)return-1;if(a>u)return 1}return 0};t.sortBy=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){if(!Array.isArray(e))return e;for(var n=e.length,r=[],i=function(n){var o=e[n];r.push({criteria:t.map((function(e){return e(o)})),value:o})},a=0;a<n;a++)i(a);for(r.sort(o);n--;)r[n]=r[n].value;return r}};t.reduce=function(e,t){return function(n){var r,o,i=n.length;for(t===undefined?(r=1,o=n[0]):(r=0,o=t);r<i;r++)o=e(o,n[r],r,n);return o}};t.uniqBy=function(e){return function(t){var n=t.length,r=[],o=e?[]:r,i=-1;e:for(;++i<n;){var a=t[i],u=e?e(a):a;if(a=0!==a?a:0,u==u){for(var c=o.length;c--;)if(o[c]===u)continue e;e&&o.push(u),r.push(a)}else o.includes(u)||(o!==r&&o.push(u),r.push(a))}return r}};var i=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];if(0!==t.length){for(var r=t.length,o=t[0].length,i=[],a=0;a<o;a++){for(var u=[],c=0;c<r;c++)u.push(t[c][a]);i.push(u)}return i}};t.zip=i;t.zipWith=function(e){return function(){return r((function(t){return e.apply(void 0,t)}))(i.apply(void 0,arguments))}}},function(e,t,n){"use strict";var r=n(5);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(e,t,n){"use strict";var r=n(9);e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t,n){"use strict";var r=n(37),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t,n){"use strict";var r,o=n(123),i=n(11),a=n(7),u=n(9),c=n(20),s=n(84),l=n(31),f=n(26),d=n(16).f,p=n(41),h=n(56),g=n(15),v=n(68),m=a.Int8Array,y=m&&m.prototype,b=a.Uint8ClampedArray,x=b&&b.prototype,w=m&&p(m),_=y&&p(y),E=Object.prototype,k=E.isPrototypeOf,S=g("toStringTag"),C=v("TYPED_ARRAY_TAG"),N=o&&!!h&&"Opera"!==s(a.opera),A=!1,T={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},O=function(e){var t=s(e);return"DataView"===t||c(T,t)},I=function(e){return u(e)&&c(T,s(e))};for(r in T)a[r]||(N=!1);if((!N||"function"!=typeof w||w===Function.prototype)&&(w=function(){throw TypeError("Incorrect invocation")},N))for(r in T)a[r]&&h(a[r],w);if((!N||!_||_===E)&&(_=w.prototype,N))for(r in T)a[r]&&h(a[r].prototype,_);if(N&&p(x)!==_&&h(x,_),i&&!c(_,S))for(r in A=!0,d(_,S,{get:function(){return u(this)?this[C]:undefined}}),T)a[r]&&l(a[r],C,r);e.exports={NATIVE_ARRAY_BUFFER_VIEWS:N,TYPED_ARRAY_TAG:A&&C,aTypedArray:function(e){if(I(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(h){if(k.call(w,e))return e}else for(var t in T)if(c(T,r)){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(i){if(n)for(var r in T){var o=a[r];o&&c(o.prototype,e)&&delete o.prototype[e]}_[e]&&!n||f(_,e,n?t:N&&y[e]||t)}},exportTypedArrayStaticMethod:function(e,t,n){var r,o;if(i){if(h){if(n)for(r in T)(o=a[r])&&c(o,e)&&delete o[e];if(w[e]&&!n)return;try{return f(w,e,n?t:N&&m[e]||t)}catch(u){}}for(r in T)!(o=a[r])||o[e]&&!n||f(o,e,t)}},isView:O,isTypedArray:I,TypedArray:w,TypedArrayPrototype:_}},function(e,t,n){"use strict";var r=n(7),o=n(111),i=n(20),a=n(68),u=n(115),c=n(155),s=o("wks"),l=r.Symbol,f=c?l:l&&l.withoutSetter||a;e.exports=function(e){return i(s,e)||(u&&i(l,e)?s[e]=l[e]:s[e]=f("Symbol."+e)),s[e]}},function(e,t,n){"use strict";var r=n(11),o=n(149),i=n(12),a=n(39),u=Object.defineProperty;t.f=r?u:function(e,t,n){if(i(e),t=a(t,!0),i(n),o)try{return u(e,t,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){"use strict";t.__esModule=!0,t.Box=t.computeBoxClassName=t.computeBoxProps=t.halfUnit=t.unit=void 0;var r=n(6),o=n(0),i=n(466),a=n(42);var u=function(e){return"string"==typeof e?e.endsWith("px")&&!Byond.IS_LTE_IE8?parseFloat(e)/12+"rem":e:"number"==typeof e?Byond.IS_LTE_IE8?12*e+"px":e+"rem":void 0};t.unit=u;var c=function(e){return"string"==typeof e?u(e):"number"==typeof e?u(.5*e):void 0};t.halfUnit=c;var s=function(e){return"string"==typeof e&&a.CSS_COLORS.includes(e)},l=function(e){return function(t,n){"number"!=typeof n&&"string"!=typeof n||(t[e]=n)}},f=function(e,t){return function(n,r){"number"!=typeof r&&"string"!=typeof r||(n[e]=t(r))}},d=function(e,t){return function(n,r){r&&(n[e]=t)}},p=function(e,t,n){return function(r,o){if("number"==typeof o||"string"==typeof o)for(var i=0;i<n.length;i++)r[e+"-"+n[i]]=t(o)}},h=function(e){return function(t,n){s(n)||(t[e]=n)}},g={position:l("position"),overflow:l("overflow"),overflowX:l("overflow-x"),overflowY:l("overflow-y"),top:f("top",u),bottom:f("bottom",u),left:f("left",u),right:f("right",u),width:f("width",u),minWidth:f("min-width",u),maxWidth:f("max-width",u),height:f("height",u),minHeight:f("min-height",u),maxHeight:f("max-height",u),fontSize:f("font-size",u),fontFamily:l("font-family"),lineHeight:function(e,t){"number"==typeof t?e["line-height"]=t:"string"==typeof t&&(e["line-height"]=u(t))},opacity:l("opacity"),textAlign:l("text-align"),verticalAlign:l("vertical-align"),inline:d("display","inline-block"),bold:d("font-weight","bold"),italic:d("font-style","italic"),nowrap:d("white-space","nowrap"),m:p("margin",c,["top","bottom","left","right"]),mx:p("margin",c,["left","right"]),my:p("margin",c,["top","bottom"]),mt:f("margin-top",c),mb:f("margin-bottom",c),ml:f("margin-left",c),mr:f("margin-right",c),p:p("padding",c,["top","bottom","left","right"]),px:p("padding",c,["left","right"]),py:p("padding",c,["top","bottom"]),pt:f("padding-top",c),pb:f("padding-bottom",c),pl:f("padding-left",c),pr:f("padding-right",c),color:h("color"),textColor:h("color"),backgroundColor:h("background-color"),fillPositionedParent:function(e,t){t&&(e.position="absolute",e.top=0,e.bottom=0,e.left=0,e.right=0)}},v=function(e){for(var t={},n={},r=0,o=Object.keys(e);r<o.length;r++){var i=o[r];if("style"!==i)if(Byond.IS_LTE_IE8&&"onClick"===i)t.onclick=e[i];else{var a=e[i],u=g[i];u?u(n,a):t[i]=a}}for(var c="",s=0,l=Object.keys(n);s<l.length;s++){var f=l[s];c+=f+":"+n[f]+";"}if(e.style)for(var d=0,p=Object.keys(e.style);d<p.length;d++){var h=p[d];c+=h+":"+e.style[h]+";"}return c.length>0&&(t.style=c),t};t.computeBoxProps=v;var m=function(e){var t=e.textColor||e.color,n=e.backgroundColor;return(0,r.classes)([s(t)&&"color-"+t,s(n)&&"color-bg-"+n])};t.computeBoxClassName=m;var y=function(e){var t=e.as,n=void 0===t?"div":t,r=e.className,a=e.children,u=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["as","className","children"]);if("function"==typeof a)return a(v(e));var c="string"==typeof r?r+" "+m(u):m(u),s=v(u);return(0,o.createVNode)(i.VNodeFlags.HtmlElement,n,c,a,i.ChildFlags.UnknownChildren,s)};t.Box=y,y.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";function r(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}t.__esModule=!0,t.buildQueryString=t.decodeHtmlEntities=t.toTitleCase=t.capitalize=t.createSearch=t.createGlobPattern=t.multiline=void 0;t.multiline=function i(e){if(Array.isArray(e))return i(e.join(""));for(var t,n,o=e.split("\n"),a=r(o);!(n=a()).done;)for(var u=n.value,c=0;c<u.length;c++){if(" "!==u[c]){(t===undefined||c<t)&&(t=c);break}}return t||(t=0),o.map((function(e){return e.substr(t).trimRight()})).join("\n").trim()};t.createGlobPattern=function(e){var t=new RegExp("^"+e.split(/\*+/).map((function(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")})).join(".*")+"$");return function(e){return t.test(e)}};t.createSearch=function(e,t){var n=e.toLowerCase().trim();return function(e){if(!n)return!0;var r=t?t(e):e;return!!r&&r.toLowerCase().includes(n)}};t.capitalize=function a(e){return Array.isArray(e)?e.map(a):e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()};t.toTitleCase=function u(e){if(Array.isArray(e))return e.map(u);if("string"!=typeof e)return e;for(var t=e.replace(/([^\W_]+[^\s-]*) */g,(function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()})),n=0,r=["A","An","And","As","At","But","By","For","For","From","In","Into","Near","Nor","Of","On","Onto","Or","The","To","With"];n<r.length;n++){var o=new RegExp("\\s"+r[n]+"\\s","g");t=t.replace(o,(function(e){return e.toLowerCase()}))}for(var i=0,a=["Id","Tv"];i<a.length;i++){var c=new RegExp("\\b"+a[i]+"\\b","g");t=t.replace(c,(function(e){return e.toLowerCase()}))}return t};t.decodeHtmlEntities=function(e){if(!e)return e;var t={nbsp:" ",amp:"&",quot:'"',lt:"<",gt:">",apos:"'"};return e.replace(/<br>/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";var r=n(25);e.exports=function(e){return Object(r(e))}},function(e,t,n){"use strict";var r={}.hasOwnProperty;e.exports=function(e,t){return r.call(e,t)}},function(e,t,n){"use strict";var r=n(54),o=n(67),i=n(19),a=n(13),u=n(73),c=[].push,s=function(e){var t=1==e,n=2==e,s=3==e,l=4==e,f=6==e,d=5==e||f;return function(p,h,g,v){for(var m,y,b=i(p),x=o(b),w=r(h,g,3),_=a(x.length),E=0,k=v||u,S=t?k(p,_):n?k(p,0):undefined;_>E;E++)if((d||E in x)&&(y=w(m=x[E],E,b),e))if(t)S[E]=y;else if(y)switch(e){case 3:return!0;case 5:return m;case 6:return E;case 2:c.call(S,m)}else if(l)return!1;return f?-1:s||l?l:S}};e.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6)}},function(e,t,n){"use strict";t.__esModule=!0,t.useSelector=t.useDispatch=t.createAction=t.combineReducers=t.applyMiddleware=t.createStore=void 0;var r=n(24);function o(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}t.createStore=function a(e,t){if(t)return t(a)(e);var n,r=[],o=function(t){n=e(n,t);for(var o=0;o<r.length;o++)r[o]()};return o({type:"@@INIT"}),{dispatch:o,subscribe:function(e){r.push(e)},getState:function(){return n}}};t.applyMiddleware=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return function(n){for(var o=arguments.length,i=new Array(o>1?o-1:0),a=1;a<o;a++)i[a-1]=arguments[a];var u=e.apply(void 0,[n].concat(i)),c=function(){throw new Error("Dispatching while constructing your middleware is not allowed.")},s={getState:u.getState,dispatch:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return c.apply(void 0,[e].concat(n))}},l=t.map((function(e){return e(s)}));return c=r.compose.apply(void 0,l)(u.dispatch),Object.assign({},u,{dispatch:c})}}};t.combineReducers=function(e){var t=Object.keys(e),n=!1;return function(r,i){void 0===r&&(r={});for(var a,u=Object.assign({},r),c=o(t);!(a=c()).done;){var s=a.value,l=e[s],f=r[s],d=l(f,i);f!==d&&(n=!0,u[s]=d)}return n?u:r}};t.createAction=function(e,t){var n=function(){if(!t)return{type:e,payload:arguments.length<=0?undefined:arguments[0]};var n=t.apply(void 0,arguments);if(!n)throw new Error("prepare function did not return an object");var r={type:e};return"payload"in n&&(r.payload=n.payload),"meta"in n&&(r.meta=n.meta),r};return n.toString=function(){return""+e},n.type=e,n.match=function(t){return t.type===e},n};t.useDispatch=function(e){return e.store.dispatch};t.useSelector=function(e,t){return t(e.store.getState())}},function(e,t,n){"use strict";var r=n(11),o=n(81),i=n(52),a=n(30),u=n(39),c=n(20),s=n(149),l=Object.getOwnPropertyDescriptor;t.f=r?l:function(e,t){if(e=a(e),t=u(t,!0),s)try{return l(e,t)}catch(n){}if(c(e,t))return i(!o.f.call(e,t),e[t])}},function(e,t,n){"use strict";function r(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}t.__esModule=!0,t.compose=t.flow=void 0;t.flow=function i(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){for(var n=e,o=arguments.length,a=new Array(o>1?o-1:0),u=1;u<o;u++)a[u-1]=arguments[u];for(var c,s=r(t);!(c=s()).done;){var l=c.value;Array.isArray(l)?n=i.apply(void 0,l).apply(void 0,[n].concat(a)):l&&(n=l.apply(void 0,[n].concat(a)))}return n}};t.compose=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce((function(e,t){return function(n){for(var r=arguments.length,o=new Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=arguments[i];return e.apply(void 0,[t.apply(void 0,[n].concat(o))].concat(o))}}))}},function(e,t,n){"use strict";e.exports=function(e){if(e==undefined)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";var r=n(7),o=n(31),i=n(20),a=n(109),u=n(110),c=n(32),s=c.get,l=c.enforce,f=String(String).split("String");(e.exports=function(e,t,n,u){var c=!!u&&!!u.unsafe,s=!!u&&!!u.enumerable,d=!!u&&!!u.noTargetGet;"function"==typeof n&&("string"!=typeof t||i(n,"name")||o(n,"name",t),l(n).source=f.join("string"==typeof t?t:"")),e!==r?(c?!d&&e[t]&&(s=!0):delete e[t],s?e[t]=n:o(e,t,n)):s?e[t]=n:a(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||u(this)}))},function(e,t,n){"use strict";var r=n(153),o=n(20),i=n(159),a=n(16).f;e.exports=function(e){var t=r.Symbol||(r.Symbol={});o(t,e)||a(t,e,{value:i.f(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 r=n(11),o=n(5),i=n(20),a=Object.defineProperty,u={},c=function(e){throw e};e.exports=function(e,t){if(i(u,e))return u[e];t||(t={});var n=[][e],s=!!i(t,"ACCESSORS")&&t.ACCESSORS,l=i(t,0)?t[0]:c,f=i(t,1)?t[1]:undefined;return u[e]=!!n&&!o((function(){if(s&&!r)return!0;var e={length:-1};s?a(e,1,{enumerable:!0,get:c}):e[1]=1,n.call(e,l,f)}))}},function(e,t,n){"use strict";var r=n(67),o=n(25);e.exports=function(e){return r(o(e))}},function(e,t,n){"use strict";var r=n(11),o=n(16),i=n(52);e.exports=r?function(e,t,n){return o.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){"use strict";var r,o,i,a=n(151),u=n(7),c=n(9),s=n(31),l=n(20),f=n(82),d=n(69),p=u.WeakMap;if(a){var h=new p,g=h.get,v=h.has,m=h.set;r=function(e,t){return m.call(h,e,t),t},o=function(e){return g.call(h,e)||{}},i=function(e){return v.call(h,e)}}else{var y=f("state");d[y]=!0,r=function(e,t){return s(e,y,t),t},o=function(e){return l(e,y)?e[y]:{}},i=function(e){return l(e,y)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!c(t)||(n=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){"use strict";var r=n(25),o=/"/g;e.exports=function(e,t,n,i){var a=String(r(e)),u="<"+t;return""!==n&&(u+=" "+n+'="'+String(i).replace(o,""")+'"'),u+">"+a+"</"+t+">"}},function(e,t,n){"use strict";var r=n(5);e.exports=function(e){return r((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}},function(e,t,n){"use strict";t.__esModule=!0,t.logger=t.createLogger=void 0;n(100);var r=0,o=1,i=2,a=3,u=4,c=function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];if(e>=i){var a=[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;Byond.topic({tgui:1,window_id:window.__windowId__,type:"log",ns:t,message:a})}},s=function(e){return{debug:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return c.apply(void 0,[r,e].concat(n))},log:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return c.apply(void 0,[o,e].concat(n))},info:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return c.apply(void 0,[i,e].concat(n))},warn:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return c.apply(void 0,[a,e].concat(n))},error:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return c.apply(void 0,[u,e].concat(n))}}};t.createLogger=s;var l=s();t.logger=l},function(e,t,n){"use strict";var r={}.toString;e.exports=function(e){return r.call(e).slice(8,-1)}},function(e,t,n){"use strict";var r=Math.ceil,o=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?o:r)(e)}},function(e,t,n){"use strict";t.__esModule=!0,t.formatSiBaseTenUnit=t.formatDb=t.formatMoney=t.formatPower=t.formatSiUnit=void 0;var r=n(8),o=["f","p","n","\u03bc","m"," ","k","M","G","T","P","E","Z","Y","R","Q","F","N","H"],i=o.indexOf(" "),a=function(e,t,n){if(void 0===t&&(t=-i),void 0===n&&(n=""),"number"!=typeof e||!Number.isFinite(e))return e;var a=Math.floor(Math.log10(e)),u=Math.floor(Math.max(3*t,a)),c=Math.floor(a/3),s=Math.floor(u/3),l=(0,r.clamp)(i+s,0,o.length),f=o[l],d=e/Math.pow(1e3,s),p=c>t?2+3*s-u:0;return((0,r.toFixed)(d,p)+" "+f+n).trim()};t.formatSiUnit=a;t.formatPower=function(e,t){return void 0===t&&(t=0),a(e,t,"W")};t.formatMoney=function(e,t){if(void 0===t&&(t=0),!Number.isFinite(e))return e;var n=(0,r.round)(e,t);t>0&&(n=(0,r.toFixed)(e,t));var o=(n=String(n)).length,i=n.indexOf(".");-1===i&&(i=o);for(var a="",u=0;u<o;u++)u>0&&u<i&&(i-u)%3==0&&(a+="\u2009"),a+=n.charAt(u);return a};t.formatDb=function(e){var t=20*Math.log(e)/Math.log(10),n=t>=0?"+":t<0?"\u2013":"",o=Math.abs(t);return n+(o=o===Infinity?"Inf":(0,r.toFixed)(o,2))+" dB"};var u=["","\xb7 10\xb3","\xb7 10\u2076","\xb7 10\u2079","\xb7 10\xb9\xb2","\xb7 10\xb9\u2075","\xb7 10\xb9\u2078","\xb7 10\xb2\xb9","\xb7 10\xb2\u2074","\xb7 10\xb2\u2077","\xb7 10\xb3\u2070","\xb7 10\xb3\xb3","\xb7 10\xb3\u2076","\xb7 10\xb3\u2079"],c=u.indexOf(" ");t.formatSiBaseTenUnit=function(e,t,n){if(void 0===t&&(t=-c),void 0===n&&(n=""),"number"!=typeof e||!Number.isFinite(e))return e;var o=Math.floor(Math.log10(e)),i=Math.floor(Math.max(3*t,o)),a=Math.floor(o/3),s=Math.floor(i/3),l=(0,r.clamp)(c+s,0,u.length),f=u[l],d=e/Math.pow(1e3,s),p=a>t?2+3*s-i:0;return((0,r.toFixed)(d,p)+" "+f+" "+n).trim()}},function(e,t,n){"use strict";var r=n(9);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){"use strict";var r=n(153),o=n(7),i=function(e){return"function"==typeof e?e:undefined};e.exports=function(e,t){return arguments.length<2?i(r[e])||i(o[e]):r[e]&&r[e][t]||o[e]&&o[e][t]}},function(e,t,n){"use strict";var r=n(20),o=n(19),i=n(82),a=n(122),u=i("IE_PROTO"),c=Object.prototype;e.exports=a?Object.getPrototypeOf:function(e){return e=o(e),r(e,u)?e[u]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?c: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 r=[{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"},{id:"hydrogen",name:"Hydrogen",label:"H\u2082",color:"white"}];t.getGasLabel=function(e,t){var n=String(e).toLowerCase(),o=r.find((function(e){return e.id===n||e.name.toLowerCase()===n}));return o&&o.label||t||e};t.getGasColor=function(e){var t=String(e).toLowerCase(),n=r.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 r=n(5);e.exports=function(e,t){var n=[][e];return!!n&&r((function(){n.call(null,t||function(){throw 1},1)}))}},function(e,t,n){"use strict";var r=n(12),o=n(28),i=n(15)("species");e.exports=function(e,t){var n,a=r(e).constructor;return a===undefined||(n=r(a)[i])==undefined?t:o(n)}},function(e,t,n){"use strict";var r=n(4),o=n(7),i=n(11),a=n(134),u=n(14),c=n(87),s=n(61),l=n(52),f=n(31),d=n(13),p=n(168),h=n(182),g=n(39),v=n(20),m=n(84),y=n(9),b=n(48),x=n(56),w=n(53).f,_=n(183),E=n(21).forEach,k=n(60),S=n(16),C=n(23),N=n(32),A=n(89),T=N.get,O=N.set,I=S.f,M=C.f,L=Math.round,V=o.RangeError,R=c.ArrayBuffer,P=c.DataView,B=u.NATIVE_ARRAY_BUFFER_VIEWS,j=u.TYPED_ARRAY_TAG,D=u.TypedArray,F=u.TypedArrayPrototype,K=u.aTypedArrayConstructor,z=u.isTypedArray,Y="BYTES_PER_ELEMENT",U="Wrong length",$=function(e,t){for(var n=0,r=t.length,o=new(K(e))(r);r>n;)o[n]=t[n++];return o},H=function(e,t){I(e,t,{get:function(){return T(this)[t]}})},W=function(e){var t;return e instanceof R||"ArrayBuffer"==(t=m(e))||"SharedArrayBuffer"==t},G=function(e,t){return z(e)&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},q=function(e,t){return G(e,t=g(t,!0))?l(2,e[t]):M(e,t)},X=function(e,t,n){return!(G(e,t=g(t,!0))&&y(n)&&v(n,"value"))||v(n,"get")||v(n,"set")||n.configurable||v(n,"writable")&&!n.writable||v(n,"enumerable")&&!n.enumerable?I(e,t,n):(e[t]=n.value,e)};i?(B||(C.f=q,S.f=X,H(F,"buffer"),H(F,"byteOffset"),H(F,"byteLength"),H(F,"length")),r({target:"Object",stat:!0,forced:!B},{getOwnPropertyDescriptor:q,defineProperty:X}),e.exports=function(e,t,n){var i=e.match(/\d+$/)[0]/8,u=e+(n?"Clamped":"")+"Array",c="get"+e,l="set"+e,g=o[u],v=g,m=v&&v.prototype,S={},C=function(e,t){I(e,t,{get:function(){return function(e,t){var n=T(e);return n.view[c](t*i+n.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,r){var o=T(e);n&&(r=(r=L(r))<0?0:r>255?255:255&r),o.view[l](t*i+o.byteOffset,r,!0)}(this,t,e)},enumerable:!0})};B?a&&(v=t((function(e,t,n,r){return s(e,v,u),A(y(t)?W(t)?r!==undefined?new g(t,h(n,i),r):n!==undefined?new g(t,h(n,i)):new g(t):z(t)?$(v,t):_.call(v,t):new g(p(t)),e,v)})),x&&x(v,D),E(w(g),(function(e){e in v||f(v,e,g[e])})),v.prototype=m):(v=t((function(e,t,n,r){s(e,v,u);var o,a,c,l=0,f=0;if(y(t)){if(!W(t))return z(t)?$(v,t):_.call(v,t);o=t,f=h(n,i);var g=t.byteLength;if(r===undefined){if(g%i)throw V(U);if((a=g-f)<0)throw V(U)}else if((a=d(r)*i)+f>g)throw V(U);c=a/i}else c=p(t),o=new R(a=c*i);for(O(e,{buffer:o,byteOffset:f,byteLength:a,length:c,view:new P(o)});l<c;)C(e,l++)})),x&&x(v,D),m=v.prototype=b(F)),m.constructor!==v&&f(m,"constructor",v),j&&f(m,j,u),S[u]=v,r({global:!0,forced:v!=g,sham:!B},S),Y in v||f(v,Y,i),Y in m||f(m,Y,i),k(u)}):e.exports=function(){}},function(e,t,n){"use strict";var r=n(37),o=Math.max,i=Math.min;e.exports=function(e,t){var n=r(e);return n<0?o(n+t,0):i(n,t)}},function(e,t,n){"use strict";var r,o=n(12),i=n(156),a=n(113),u=n(69),c=n(157),s=n(108),l=n(82),f=l("IE_PROTO"),d=function(){},p=function(e){return"<script>"+e+"</"+"script>"},h=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(o){}var e,t;h=r?function(e){e.write(p("")),e.close();var t=e.parentWindow.Object;return e=null,t}(r):((t=s("iframe")).style.display="none",c.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(p("document.F=Object")),e.close(),e.F);for(var n=a.length;n--;)delete h.prototype[a[n]];return h()};u[f]=!0,e.exports=Object.create||function(e,t){var n;return null!==e?(d.prototype=o(e),n=new d,d.prototype=null,n[f]=e):n=h(),t===undefined?n:i(n,t)}},function(e,t,n){"use strict";var r=n(16).f,o=n(20),i=n(15)("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t,n){"use strict";var r=n(15),o=n(48),i=n(16),a=r("unscopables"),u=Array.prototype;u[a]==undefined&&i.f(u,a,{configurable:!0,value:o(null)}),e.exports=function(e){u[a][e]=!0}},function(e,t,n){"use strict";t.__esModule=!0,t.assetMiddleware=t.resolveAsset=void 0;var r=[/v4shim/i],o={};t.resolveAsset=function(e){return o[e]||e};t.assetMiddleware=function(e){return function(e){return function(t){var n=t.type,i=t.payload;if("asset/stylesheet"!==n)if("asset/mappings"!==n)e(t);else for(var a=function(){var e=c[u];if(r.some((function(t){return t.test(e)})))return"continue";var t=i[e],n=e.split(".").pop();o[e]=t,"css"===n&&Byond.loadCss(t),"js"===n&&Byond.loadJs(t)},u=0,c=Object.keys(i);u<c.length;u++)a();else Byond.loadCss(i)}}}},function(e,t,n){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var r=n(154),o=n(113).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,o)}},function(e,t,n){"use strict";var r=n(28);e.exports=function(e,t,n){if(r(e),t===undefined)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){"use strict";var r=n(39),o=n(16),i=n(52);e.exports=function(e,t,n){var a=r(t);a in e?o.f(e,a,i(0,n)):e[a]=n}},function(e,t,n){"use strict";var r=n(12),o=n(166);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),t=n instanceof Array}catch(i){}return function(n,i){return r(n),o(i),t?e.call(n,i):n.__proto__=i,n}}():undefined)},function(e,t,n){"use strict";var r=n(69),o=n(9),i=n(20),a=n(16).f,u=n(68),c=n(77),s=u("meta"),l=0,f=Object.isExtensible||function(){return!0},d=function(e){a(e,s,{value:{objectID:"O"+ ++l,weakData:{}}})},p=e.exports={REQUIRED:!1,fastKey:function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,s)){if(!f(e))return"F";if(!t)return"E";d(e)}return e[s].objectID},getWeakData:function(e,t){if(!i(e,s)){if(!f(e))return!0;if(!t)return!1;d(e)}return e[s].weakData},onFreeze:function(e){return c&&p.REQUIRED&&f(e)&&!i(e,s)&&d(e),e}};r[s]=!0},function(e,t,n){"use strict";t.__esModule=!0,t.removeScrollableNode=t.addScrollableNode=t.canStealFocus=t.setupGlobalEvents=t.globalEvents=void 0;var r=n(186),o=n(64),i=new r.EventEmitter;t.globalEvents=i;var a,u=!1;t.setupGlobalEvents=function(e){void 0===e&&(e={}),u=!!e.ignoreWindowFocus};var c=!0,s=function y(e,t){u?c=!0:(a&&(clearTimeout(a),a=null),t?a=setTimeout((function(){return y(e)})):c!==e&&(c=e,i.emit(e?"window-focus":"window-blur"),i.emit("window-focus-change",e)))},l=null,f=function(e){var t=String(e.tagName).toLowerCase();return"input"===t||"textarea"===t};t.canStealFocus=f;var d=function b(){l&&(l.removeEventListener("blur",b),l=null)},p=null,h=null,g=[];t.addScrollableNode=function(e){g.push(e)};t.removeScrollableNode=function(e){var t=g.indexOf(e);t>=0&&g.splice(t,1)};window.addEventListener("mousemove",(function(e){var t=e.target;t!==h&&(h=t,function(e){if(!l&&c)for(var t=document.body;e&&e!==t;){if(g.includes(e)){if(e.contains(p))return;return p=e,void e.focus()}e=e.parentNode}}(t))})),window.addEventListener("focusin",(function(e){if(h=null,p=e.target,s(!0),f(e.target))return t=e.target,d(),void(l=t).addEventListener("blur",d);var t})),window.addEventListener("focusout",(function(e){h=null,s(!1,!0)})),window.addEventListener("blur",(function(e){h=null,s(!1,!0)})),window.addEventListener("beforeunload",(function(e){s(!1)}));var v={},m=function(){function e(e,t,n){this.event=e,this.type=t,this.code=window.event?e.which:e.keyCode,this.ctrl=e.ctrlKey,this.shift=e.shiftKey,this.alt=e.altKey,this.repeat=!!n}var t=e.prototype;return t.hasModifierKeys=function(){return this.ctrl||this.alt||this.shift},t.isModifierKey=function(){return this.code===o.KEY_CTRL||this.code===o.KEY_SHIFT||this.code===o.KEY_ALT},t.isDown=function(){return"keydown"===this.type},t.isUp=function(){return"keyup"===this.type},t.toString=function(){return this._str||(this._str="",this.ctrl&&(this._str+="Ctrl+"),this.alt&&(this._str+="Alt+"),this.shift&&(this._str+="Shift+"),this.code>=48&&this.code<=90?this._str+=String.fromCharCode(this.code):this.code>=o.KEY_F1&&this.code<=o.KEY_F12?this._str+="F"+(this.code-111):this._str+="["+this.code+"]"),this._str},e}();document.addEventListener("keydown",(function(e){if(!f(e.target)){var t=e.keyCode,n=new m(e,"keydown",v[t]);i.emit("keydown",n),i.emit("key",n),v[t]=!0}})),document.addEventListener("keyup",(function(e){if(!f(e.target)){var t=e.keyCode,n=new m(e,"keyup");i.emit("keyup",n),i.emit("key",n),v[t]=!1}}))},function(e,t,n){"use strict";var r=n(36);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){"use strict";var r=n(40),o=n(16),i=n(15),a=n(11),u=i("species");e.exports=function(e){var t=r(e),n=o.f;a&&t&&!t[u]&&n(t,u,{configurable:!0,get:function(){return this}})}},function(e,t,n){"use strict";e.exports=function(e,t,n){if(!(e instanceof t))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return e}},function(e,t,n){"use strict";var r=n(12),o=n(118),i=n(13),a=n(54),u=n(119),c=n(162),s=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,t,n,l,f){var d,p,h,g,v,m,y,b=a(t,n,l?2:1);if(f)d=e;else{if("function"!=typeof(p=u(e)))throw TypeError("Target is not iterable");if(o(p)){for(h=0,g=i(e.length);g>h;h++)if((v=l?b(r(y=e[h])[0],y[1]):b(e[h]))&&v instanceof s)return v;return new s(!1)}d=p.call(e)}for(m=d.next;!(y=m.call(d)).done;)if("object"==typeof(v=c(d,b,y.value,l))&&v&&v instanceof s)return v;return new s(!1)}).stop=function(e){return new s(!0,e)}},function(e,t,n){"use strict";var r=n(25),o="["+n(91)+"]",i=RegExp("^"+o+o+"*"),a=RegExp(o+o+"*$"),u=function(e){return function(t){var n=String(r(t));return 1&e&&(n=n.replace(i,"")),2&e&&(n=n.replace(a,"")),n}};e.exports={start:u(1),end:u(2),trim:u(3)}},function(e,t,n){"use strict";t.__esModule=!0,t.KEY_QUOTE=t.KEY_RIGHT_BRACKET=t.KEY_BACKSLASH=t.KEY_LEFT_BRACKET=t.KEY_SLASH=t.KEY_PERIOD=t.KEY_MINUS=t.KEY_COMMA=t.KEY_EQUAL=t.KEY_SEMICOLON=t.KEY_F12=t.KEY_F11=t.KEY_F10=t.KEY_F9=t.KEY_F8=t.KEY_F7=t.KEY_F6=t.KEY_F5=t.KEY_F4=t.KEY_F3=t.KEY_F2=t.KEY_F1=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_DELETE=t.KEY_INSERT=t.KEY_DOWN=t.KEY_RIGHT=t.KEY_UP=t.KEY_LEFT=t.KEY_HOME=t.KEY_END=t.KEY_PAGEDOWN=t.KEY_PAGEUP=t.KEY_SPACE=t.KEY_ESCAPE=t.KEY_CAPSLOCK=t.KEY_PAUSE=t.KEY_ALT=t.KEY_CTRL=t.KEY_SHIFT=t.KEY_ENTER=t.KEY_TAB=t.KEY_BACKSPACE=void 0;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_PAUSE=19;t.KEY_CAPSLOCK=20;t.KEY_ESCAPE=27;t.KEY_SPACE=32;t.KEY_PAGEUP=33;t.KEY_PAGEDOWN=34;t.KEY_END=35;t.KEY_HOME=36;t.KEY_LEFT=37;t.KEY_UP=38;t.KEY_RIGHT=39;t.KEY_DOWN=40;t.KEY_INSERT=45;t.KEY_DELETE=46;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_F1=112;t.KEY_F2=113;t.KEY_F3=114;t.KEY_F4=115;t.KEY_F5=116;t.KEY_F6=117;t.KEY_F7=118;t.KEY_F8=119;t.KEY_F9=120;t.KEY_F10=121;t.KEY_F11=122;t.KEY_F12=123;t.KEY_SEMICOLON=186;t.KEY_EQUAL=187;t.KEY_COMMA=188;t.KEY_MINUS=189;t.KEY_PERIOD=190;t.KEY_SLASH=191;t.KEY_LEFT_BRACKET=219;t.KEY_BACKSLASH=220;t.KEY_RIGHT_BRACKET=221;t.KEY_QUOTE=222},,,function(e,t,n){"use strict";var r=n(5),o=n(36),i="".split;e.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==o(e)?i.call(e,""):Object(e)}:Object},function(e,t,n){"use strict";var r=0,o=Math.random();e.exports=function(e){return"Symbol("+String(e===undefined?"":e)+")_"+(++r+o).toString(36)}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var r=n(30),o=n(13),i=n(47),a=function(e){return function(t,n,a){var u,c=r(t),s=o(c.length),l=i(a,s);if(e&&n!=n){for(;s>l;)if((u=c[l++])!=u)return!0}else for(;s>l;l++)if((e||l in c)&&c[l]===n)return e||l||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},function(e,t,n){"use strict";var r=n(5),o=/#|\.prototype\./,i=function(e,t){var n=u[a(e)];return n==s||n!=c&&("function"==typeof t?r(t):!!t)},a=i.normalize=function(e){return String(e).replace(o,".").toLowerCase()},u=i.data={},c=i.NATIVE="N",s=i.POLYFILL="P";e.exports=i},function(e,t,n){"use strict";var r=n(154),o=n(113);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t,n){"use strict";var r=n(9),o=n(59),i=n(15)("species");e.exports=function(e,t){var n;return o(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!o(n.prototype)?r(n)&&null===(n=n[i])&&(n=undefined):n=undefined),new(n===undefined?Array:n)(0===t?0:t)}},function(e,t,n){"use strict";var r=n(5),o=n(15),i=n(116),a=o("species");e.exports=function(e){return i>=51||!r((function(){var t=[];return(t.constructor={})[a]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var r=n(26);e.exports=function(e,t,n){for(var o in t)r(e,o,t[o],n);return e}},function(e,t,n){"use strict";var r=n(5);e.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(e,t,n){"use strict";var r=n(12);e.exports=function(){var e=r(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";function r(e,t,n,r,o,i,a){try{var u=e[i](a),c=u.value}catch(s){return void n(s)}u.done?t(c):Promise.resolve(c).then(r,o)}function o(e){return function(){var t=this,n=arguments;return new Promise((function(o,i){var a=e.apply(t,n);function u(e){r(a,o,i,u,c,"next",e)}function c(e){r(a,o,i,u,c,"throw",e)}u(undefined)}))}}t.__esModule=!0,t.storage=t.IMPL_INDEXED_DB=t.IMPL_LOCAL_STORAGE=t.IMPL_MEMORY=void 0;t.IMPL_MEMORY=0;t.IMPL_LOCAL_STORAGE=1;t.IMPL_INDEXED_DB=2;var i="storage-v1",a="readwrite",u=function(e){return function(){try{return Boolean(e())}catch(t){return!1}}},c=u((function(){return window.localStorage&&window.localStorage.getItem})),s=u((function(){return(window.indexedDB||window.msIndexedDB)&&(window.IDBTransaction||window.msIDBTransaction)})),l=function(){function e(){this.impl=0,this.store={}}var t=e.prototype;return t.get=function(e){return this.store[e]},t.set=function(e,t){this.store[e]=t},t.remove=function(e){this.store[e]=undefined},t.clear=function(){this.store={}},e}(),f=function(){function e(){this.impl=1}var t=e.prototype;return t.get=function(e){var t=localStorage.getItem(e);if("string"==typeof t)return JSON.parse(t)},t.set=function(e,t){localStorage.setItem(e,JSON.stringify(t))},t.remove=function(e){localStorage.removeItem(e)},t.clear=function(){localStorage.clear()},e}(),d=function(){function e(){this.impl=2,this.dbPromise=new Promise((function(e,t){var n=(window.indexedDB||window.msIndexedDB).open("tgui",1);n.onupgradeneeded=function(){try{n.result.createObjectStore(i)}catch(e){t(new Error("Failed to upgrade IDB: "+n.error))}},n.onsuccess=function(){return e(n.result)},n.onerror=function(){t(new Error("Failed to open IDB: "+n.error))}}))}var t=e.prototype;return t.getStore=function(e){return this.dbPromise.then((function(t){return t.transaction(i,e).objectStore(i)}))},t.get=function(){var e=o(regeneratorRuntime.mark((function t(e){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getStore("readonly");case 2:return n=t.sent,t.abrupt("return",new Promise((function(t,r){var o=n.get(e);o.onsuccess=function(){return t(o.result)},o.onerror=function(){return r(o.error)}})));case 4:case"end":return t.stop()}}),t,this)})));return function(t){return e.apply(this,arguments)}}(),t.set=function(){var e=o(regeneratorRuntime.mark((function t(e,n){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return null===n&&(n=undefined),t.next=3,this.getStore(a);case 3:t.sent.put(n,e);case 5:case"end":return t.stop()}}),t,this)})));return function(t,n){return e.apply(this,arguments)}}(),t.remove=function(){var e=o(regeneratorRuntime.mark((function t(e){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getStore(a);case 2:t.sent["delete"](e);case 4:case"end":return t.stop()}}),t,this)})));return function(t){return e.apply(this,arguments)}}(),t.clear=function(){var e=o(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getStore(a);case 2:e.sent.clear();case 4:case"end":return e.stop()}}),t,this)})));return function(){return e.apply(this,arguments)}}(),e}(),p=new(function(){function e(){this.backendPromise=o(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!s()){e.next=10;break}return e.prev=1,t=new d,e.next=5,t.dbPromise;case 5:return e.abrupt("return",t);case 8:e.prev=8,e.t0=e["catch"](1);case 10:if(!c()){e.next=12;break}return e.abrupt("return",new f);case 12:return e.abrupt("return",new l);case 13:case"end":return e.stop()}}),e,null,[[1,8]])})))()}var t=e.prototype;return t.get=function(){var e=o(regeneratorRuntime.mark((function t(e){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.backendPromise;case 2:return n=t.sent,t.abrupt("return",n.get(e));case 4:case"end":return t.stop()}}),t,this)})));return function(t){return e.apply(this,arguments)}}(),t.set=function(){var e=o(regeneratorRuntime.mark((function t(e,n){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.backendPromise;case 2:return r=t.sent,t.abrupt("return",r.set(e,n));case 4:case"end":return t.stop()}}),t,this)})));return function(t,n){return e.apply(this,arguments)}}(),t.remove=function(){var e=o(regeneratorRuntime.mark((function t(e){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.backendPromise;case 2:return n=t.sent,t.abrupt("return",n.remove(e));case 4:case"end":return t.stop()}}),t,this)})));return function(t){return e.apply(this,arguments)}}(),t.clear=function(){var e=o(regeneratorRuntime.mark((function t(){var e;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.backendPromise;case 2:return e=t.sent,t.abrupt("return",e.clear());case 4:case"end":return t.stop()}}),t,this)})));return function(){return e.apply(this,arguments)}}(),e}());t.storage=p},,function(e,t,n){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);t.f=i?function(e){var t=o(this,e);return!!t&&t.enumerable}:r},function(e,t,n){"use strict";var r=n(111),o=n(68),i=r("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},function(e,t,n){"use strict";var r=n(40);e.exports=r("navigator","userAgent")||""},function(e,t,n){"use strict";var r=n(120),o=n(36),i=n(15)("toStringTag"),a="Arguments"==o(function(){return arguments}());e.exports=r?o:function(e){var t,n,r;return e===undefined?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(n){}}(t=Object(e),i))?n:a?o(t):"Object"==(r=o(t))&&"function"==typeof t.callee?"Arguments":r}},function(e,t,n){"use strict";var r=n(15)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},"return":function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(u){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var i={};i[r]=function(){return{next:function(){return{done:n=!0}}}},e(i)}catch(u){}return n}},function(e,t,n){"use strict";var r=n(28),o=n(19),i=n(67),a=n(13),u=function(e){return function(t,n,u,c){r(n);var s=o(t),l=i(s),f=a(s.length),d=e?f-1:0,p=e?-1:1;if(u<2)for(;;){if(d in l){c=l[d],d+=p;break}if(d+=p,e?d<0:f<=d)throw TypeError("Reduce of empty array with no initial value")}for(;e?d>=0:f>d;d+=p)d in l&&(c=n(c,l[d],d,s));return c}};e.exports={left:u(!1),right:u(!0)}},function(e,t,n){"use strict";var r=n(7),o=n(11),i=n(123),a=n(31),u=n(76),c=n(5),s=n(61),l=n(37),f=n(13),d=n(168),p=n(270),h=n(41),g=n(56),v=n(53).f,m=n(16).f,y=n(117),b=n(49),x=n(32),w=x.get,_=x.set,E="ArrayBuffer",k="DataView",S="Wrong index",C=r.ArrayBuffer,N=C,A=r.DataView,T=A&&A.prototype,O=Object.prototype,I=r.RangeError,M=p.pack,L=p.unpack,V=function(e){return[255&e]},R=function(e){return[255&e,e>>8&255]},P=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},B=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},j=function(e){return M(e,23,4)},D=function(e){return M(e,52,8)},F=function(e,t){m(e.prototype,t,{get:function(){return w(this)[t]}})},K=function(e,t,n,r){var o=d(n),i=w(e);if(o+t>i.byteLength)throw I(S);var a=w(i.buffer).bytes,u=o+i.byteOffset,c=a.slice(u,u+t);return r?c:c.reverse()},z=function(e,t,n,r,o,i){var a=d(n),u=w(e);if(a+t>u.byteLength)throw I(S);for(var c=w(u.buffer).bytes,s=a+u.byteOffset,l=r(+o),f=0;f<t;f++)c[s+f]=l[i?f:t-f-1]};if(i){if(!c((function(){C(1)}))||!c((function(){new C(-1)}))||c((function(){return new C,new C(1.5),new C(NaN),C.name!=E}))){for(var Y,U=(N=function(e){return s(this,N),new C(d(e))}).prototype=C.prototype,$=v(C),H=0;$.length>H;)(Y=$[H++])in N||a(N,Y,C[Y]);U.constructor=N}g&&h(T)!==O&&g(T,O);var W=new A(new N(2)),G=T.setInt8;W.setInt8(0,2147483648),W.setInt8(1,2147483649),!W.getInt8(0)&&W.getInt8(1)||u(T,{setInt8:function(e,t){G.call(this,e,t<<24>>24)},setUint8:function(e,t){G.call(this,e,t<<24>>24)}},{unsafe:!0})}else N=function(e){s(this,N,E);var t=d(e);_(this,{bytes:y.call(new Array(t),0),byteLength:t}),o||(this.byteLength=t)},A=function(e,t,n){s(this,A,k),s(e,N,k);var r=w(e).byteLength,i=l(t);if(i<0||i>r)throw I("Wrong offset");if(i+(n=n===undefined?r-i:f(n))>r)throw I("Wrong length");_(this,{buffer:e,byteLength:n,byteOffset:i}),o||(this.buffer=e,this.byteLength=n,this.byteOffset=i)},o&&(F(N,"byteLength"),F(A,"buffer"),F(A,"byteLength"),F(A,"byteOffset")),u(A.prototype,{getInt8:function(e){return K(this,1,e)[0]<<24>>24},getUint8:function(e){return K(this,1,e)[0]},getInt16:function(e){var t=K(this,2,e,arguments.length>1?arguments[1]:undefined);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=K(this,2,e,arguments.length>1?arguments[1]:undefined);return t[1]<<8|t[0]},getInt32:function(e){return B(K(this,4,e,arguments.length>1?arguments[1]:undefined))},getUint32:function(e){return B(K(this,4,e,arguments.length>1?arguments[1]:undefined))>>>0},getFloat32:function(e){return L(K(this,4,e,arguments.length>1?arguments[1]:undefined),23)},getFloat64:function(e){return L(K(this,8,e,arguments.length>1?arguments[1]:undefined),52)},setInt8:function(e,t){z(this,1,e,V,t)},setUint8:function(e,t){z(this,1,e,V,t)},setInt16:function(e,t){z(this,2,e,R,t,arguments.length>2?arguments[2]:undefined)},setUint16:function(e,t){z(this,2,e,R,t,arguments.length>2?arguments[2]:undefined)},setInt32:function(e,t){z(this,4,e,P,t,arguments.length>2?arguments[2]:undefined)},setUint32:function(e,t){z(this,4,e,P,t,arguments.length>2?arguments[2]:undefined)},setFloat32:function(e,t){z(this,4,e,j,t,arguments.length>2?arguments[2]:undefined)},setFloat64:function(e,t){z(this,8,e,D,t,arguments.length>2?arguments[2]:undefined)}});b(N,E),b(A,k),e.exports={ArrayBuffer:N,DataView:A}},function(e,t,n){"use strict";var r=n(4),o=n(7),i=n(71),a=n(26),u=n(57),c=n(62),s=n(61),l=n(9),f=n(5),d=n(85),p=n(49),h=n(89);e.exports=function(e,t,n){var g=-1!==e.indexOf("Map"),v=-1!==e.indexOf("Weak"),m=g?"set":"add",y=o[e],b=y&&y.prototype,x=y,w={},_=function(e){var t=b[e];a(b,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(v&&!l(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return v&&!l(e)?undefined:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(v&&!l(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(i(e,"function"!=typeof y||!(v||b.forEach&&!f((function(){(new y).entries().next()})))))x=n.getConstructor(t,e,g,m),u.REQUIRED=!0;else if(i(e,!0)){var E=new x,k=E[m](v?{}:-0,1)!=E,S=f((function(){E.has(1)})),C=d((function(e){new y(e)})),N=!v&&f((function(){for(var e=new y,t=5;t--;)e[m](t,t);return!e.has(-0)}));C||((x=t((function(t,n){s(t,x,e);var r=h(new y,t,x);return n!=undefined&&c(n,r[m],r,g),r}))).prototype=b,b.constructor=x),(S||N)&&(_("delete"),_("has"),g&&_("get")),(N||k)&&_(m),v&&b.clear&&delete b.clear}return w[e]=x,r({global:!0,forced:x!=y},w),p(x,e),v||n.setStrong(x,e,g),x}},function(e,t,n){"use strict";var r=n(9),o=n(56);e.exports=function(e,t,n){var i,a;return o&&"function"==typeof(i=t.constructor)&&i!==n&&r(a=i.prototype)&&a!==n.prototype&&o(e,a),e}},function(e,t,n){"use strict";var r=Math.expm1,o=Math.exp;e.exports=!r||r(10)>22025.465794806718||r(10)<22025.465794806718||-2e-17!=r(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:o(e)-1}:r},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 r=n(43),o=n(7),i=n(5);e.exports=r||!i((function(){var e=Math.random();__defineSetter__.call(null,e,(function(){})),delete o[e]}))},function(e,t,n){"use strict";var r=n(9),o=n(36),i=n(15)("match");e.exports=function(e){var t;return r(e)&&((t=e[i])!==undefined?!!t:"RegExp"==o(e))}},function(e,t,n){"use strict";var r=n(5);function o(e,t){return RegExp(e,t)}t.UNSUPPORTED_Y=r((function(){var e=o("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),t.BROKEN_CARET=r((function(){var e=o("^r","gy");return e.lastIndex=2,null!=e.exec("str")}))},function(e,t,n){"use strict";var r,o,i=n(78),a=n(94),u=RegExp.prototype.exec,c=String.prototype.replace,s=u,l=(r=/a/,o=/b*/g,u.call(r,"a"),u.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),f=a.UNSUPPORTED_Y||a.BROKEN_CARET,d=/()??/.exec("")[1]!==undefined;(l||d||f)&&(s=function(e){var t,n,r,o,a=this,s=f&&a.sticky,p=i.call(a),h=a.source,g=0,v=e;return s&&(-1===(p=p.replace("y","")).indexOf("g")&&(p+="g"),v=String(e).slice(a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==e[a.lastIndex-1])&&(h="(?: "+h+")",v=" "+v,g++),n=new RegExp("^(?:"+h+")",p)),d&&(n=new RegExp("^"+h+"$(?!\\s)",p)),l&&(t=a.lastIndex),r=u.call(s?n:a,v),s?r?(r.input=r.input.slice(g),r[0]=r[0].slice(g),r.index=a.lastIndex,a.lastIndex+=r[0].length):a.lastIndex=0:l&&r&&(a.lastIndex=a.global?r.index+r[0].length:t),d&&r&&r.length>1&&c.call(r[0],n,(function(){for(o=1;o<arguments.length-2;o++)arguments[o]===undefined&&(r[o]=undefined)})),r}),e.exports=s},function(e,t,n){"use strict";n(129);var r=n(26),o=n(5),i=n(15),a=n(95),u=n(31),c=i("species"),s=!o((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")})),l="$0"==="a".replace(/./,"$0"),f=i("replace"),d=!!/./[f]&&""===/./[f]("a","$0"),p=!o((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,f){var h=i(e),g=!o((function(){var t={};return t[h]=function(){return 7},7!=""[e](t)})),v=g&&!o((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[c]=function(){return n},n.flags="",n[h]=/./[h]),n.exec=function(){return t=!0,null},n[h](""),!t}));if(!g||!v||"replace"===e&&(!s||!l||d)||"split"===e&&!p){var m=/./[h],y=n(h,""[e],(function(e,t,n,r,o){return t.exec===a?g&&!o?{done:!0,value:m.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),{REPLACE_KEEPS_$0:l,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:d}),b=y[0],x=y[1];r(String.prototype,e,b),r(RegExp.prototype,h,2==t?function(e,t){return x.call(e,this,t)}:function(e){return x.call(e,this)})}f&&u(RegExp.prototype[h],"sham",!0)}},function(e,t,n){"use strict";var r=n(130).charAt;e.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},function(e,t,n){"use strict";var r=n(36),o=n(95);e.exports=function(e,t){var n=e.exec;if("function"==typeof n){var i=n.call(e,t);if("object"!=typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(e))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(e,t)}},function(e,t,n){"use strict";var r;t.__esModule=!0,t.perf=void 0;null==(r=window.performance)||r.now;var o={mark:function(e,t){0},measure:function(e,t){}};t.perf=o},function(e,t,n){"use strict";t.__esModule=!0,t.setupHotReloading=t.sendLogEntry=t.sendMessage=t.subscribe=void 0;var r=[];t.subscribe=function(e){return r.push(e)};t.sendMessage=function(e){};t.sendLogEntry=function(e,t){};t.setupHotReloading=function(){0}},function(e,t,n){"use strict";(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,o=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(o.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new i(o.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(461),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||void 0,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||void 0}).call(this,n(107))},function(e,t,n){"use strict";t.__esModule=!0,t.AnimatedNumber=void 0;var r=n(8),o=n(0);var i=function(e){return"number"==typeof e&&Number.isFinite(e)&&!Number.isNaN(e)},a=function(e){var t,n;function o(t){var n;return(n=e.call(this,t)||this).timer=null,n.state={value:0},i(t.initial)?n.state.value=t.initial:i(t.value)&&(n.state.value=Number(t.value)),n}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var a=o.prototype;return a.tick=function(){var e=this.props,t=this.state,n=Number(t.value),r=Number(e.value);if(i(r)){var o=.5*n+.5*r;this.setState({value:o})}},a.componentDidMount=function(){var e=this;this.timer=setInterval((function(){return e.tick()}),50)},a.componentWillUnmount=function(){clearTimeout(this.timer)},a.render=function(){var e=this.props,t=this.state,n=e.format,o=e.children,a=t.value,u=e.value;if(!i(u))return u||null;var c=a;if(n)c=n(a);else{var s=String(u).split(".")[1],l=s?s.length:0;c=(0,r.toFixed)(a,(0,r.clamp)(l,0,8))}return"function"==typeof o?o(c,a):c},o}(o.Component);t.AnimatedNumber=a},function(e,t,n){"use strict";t.__esModule=!0,t.IconStack=t.Icon=void 0;var r=n(0),o=n(6),i=n(17);function a(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var u=/-o$/,c=function(e){var t=e.name,n=e.size,c=e.spin,s=e.className,l=e.style,f=void 0===l?{}:l,d=e.rotation,p=(e.inverse,a(e,["name","size","spin","className","style","rotation","inverse"]));n&&(f["font-size"]=100*n+"%"),"number"==typeof d&&(f.transform="rotate("+d+"deg)");var h=u.test(t),g=t.replace(u,"");return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({as:"i",className:(0,o.classes)(["Icon",s,h?"far":"fas","fa-"+g,c&&"fa-spin"]),style:f},p)))};t.Icon=c,c.defaultHooks=o.pureComponentHooks;var s=function(e){var t=e.className,n=e.style,u=void 0===n?{}:n,c=e.children,s=a(e,["className","style","children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({as:"span","class":(0,o.classes)(["IconStack",t]),style:u},s,{children:c})))};t.IconStack=s,c.Stack=s},,,,function(e,t,n){"use strict";var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(o){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,n){"use strict";var r=n(7),o=n(9),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},function(e,t,n){"use strict";var r=n(7),o=n(31);e.exports=function(e,t){try{o(r,e,t)}catch(n){r[e]=t}return t}},function(e,t,n){"use strict";var r=n(150),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(e){return o.call(e)}),e.exports=r.inspectSource},function(e,t,n){"use strict";var r=n(43),o=n(150);(e.exports=function(e,t){return o[e]||(o[e]=t!==undefined?t:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"\xa9 2020 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){"use strict";var r=n(40),o=n(53),i=n(114),a=n(12);e.exports=r("Reflect","ownKeys")||function(e){var t=o.f(a(e)),n=i.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 r=n(5);e.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(e,t,n){"use strict";var r,o,i=n(7),a=n(83),u=i.process,c=u&&u.versions,s=c&&c.v8;s?o=(r=s.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=r[1]),e.exports=o&&+o},function(e,t,n){"use strict";var r=n(19),o=n(47),i=n(13);e.exports=function(e){for(var t=r(this),n=i(t.length),a=arguments.length,u=o(a>1?arguments[1]:undefined,n),c=a>2?arguments[2]:undefined,s=c===undefined?n:o(c,n);s>u;)t[u++]=e;return t}},function(e,t,n){"use strict";var r=n(15),o=n(75),i=r("iterator"),a=Array.prototype;e.exports=function(e){return e!==undefined&&(o.Array===e||a[i]===e)}},function(e,t,n){"use strict";var r=n(84),o=n(75),i=n(15)("iterator");e.exports=function(e){if(e!=undefined)return e[i]||e["@@iterator"]||o[r(e)]}},function(e,t,n){"use strict";var r={};r[n(15)("toStringTag")]="z",e.exports="[object z]"===String(r)},function(e,t,n){"use strict";var r=n(4),o=n(164),i=n(41),a=n(56),u=n(49),c=n(31),s=n(26),l=n(15),f=n(43),d=n(75),p=n(165),h=p.IteratorPrototype,g=p.BUGGY_SAFARI_ITERATORS,v=l("iterator"),m="keys",y="values",b="entries",x=function(){return this};e.exports=function(e,t,n,l,p,w,_){o(n,t,l);var E,k,S,C=function(e){if(e===p&&I)return I;if(!g&&e in T)return T[e];switch(e){case m:case y:case b:return function(){return new n(this,e)}}return function(){return new n(this)}},N=t+" Iterator",A=!1,T=e.prototype,O=T[v]||T["@@iterator"]||p&&T[p],I=!g&&O||C(p),M="Array"==t&&T.entries||O;if(M&&(E=i(M.call(new e)),h!==Object.prototype&&E.next&&(f||i(E)===h||(a?a(E,h):"function"!=typeof E[v]&&c(E,v,x)),u(E,N,!0,!0),f&&(d[N]=x))),p==y&&O&&O.name!==y&&(A=!0,I=function(){return O.call(this)}),f&&!_||T[v]===I||c(T,v,I),d[t]=I,p)if(k={values:C(y),keys:w?I:C(m),entries:C(b)},_)for(S in k)(g||A||!(S in T))&&s(T,S,k[S]);else r({target:t,proto:!0,forced:g||A},k);return k}},function(e,t,n){"use strict";var r=n(5);e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},function(e,t,n){"use strict";e.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},function(e,t,n){"use strict";var r=n(13),o=n(125),i=n(25),a=Math.ceil,u=function(e){return function(t,n,u){var c,s,l=String(i(t)),f=l.length,d=u===undefined?" ":String(u),p=r(n);return p<=f||""==d?l:(c=p-f,(s=o.call(d,a(c/d.length))).length>c&&(s=s.slice(0,c)),e?l+s:s+l)}};e.exports={start:u(!1),end:u(!0)}},function(e,t,n){"use strict";var r=n(37),o=n(25);e.exports="".repeat||function(e){var t=String(o(this)),n="",i=r(e);if(i<0||i==Infinity)throw RangeError("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(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 r,o,i,a=n(7),u=n(5),c=n(36),s=n(54),l=n(157),f=n(108),d=n(177),p=a.location,h=a.setImmediate,g=a.clearImmediate,v=a.process,m=a.MessageChannel,y=a.Dispatch,b=0,x={},w="onreadystatechange",_=function(e){if(x.hasOwnProperty(e)){var t=x[e];delete x[e],t()}},E=function(e){return function(){_(e)}},k=function(e){_(e.data)},S=function(e){a.postMessage(e+"",p.protocol+"//"+p.host)};h&&g||(h=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return x[++b]=function(){("function"==typeof e?e:Function(e)).apply(undefined,t)},r(b),b},g=function(e){delete x[e]},"process"==c(v)?r=function(e){v.nextTick(E(e))}:y&&y.now?r=function(e){y.now(E(e))}:m&&!d?(i=(o=new m).port2,o.port1.onmessage=k,r=s(i.postMessage,i,1)):!a.addEventListener||"function"!=typeof postMessage||a.importScripts||u(S)||"file:"===p.protocol?r=w in f("script")?function(e){l.appendChild(f("script")).onreadystatechange=function(){l.removeChild(this),_(e)}}:function(e){setTimeout(E(e),0)}:(r=S,a.addEventListener("message",k,!1))),e.exports={set:h,clear:g}},function(e,t,n){"use strict";var r=n(28),o=function(e){var t,n;this.promise=new e((function(e,r){if(t!==undefined||n!==undefined)throw TypeError("Bad Promise constructor");t=e,n=r})),this.resolve=r(t),this.reject=r(n)};e.exports.f=function(e){return new o(e)}},function(e,t,n){"use strict";var r=n(4),o=n(95);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},function(e,t,n){"use strict";var r=n(37),o=n(25),i=function(e){return function(t,n){var i,a,u=String(o(t)),c=r(n),s=u.length;return c<0||c>=s?e?"":undefined:(i=u.charCodeAt(c))<55296||i>56319||c+1===s||(a=u.charCodeAt(c+1))<56320||a>57343?e?u.charAt(c):i:e?u.slice(c,c+2):a-56320+(i-55296<<10)+65536}};e.exports={codeAt:i(!1),charAt:i(!0)}},function(e,t,n){"use strict";var r=n(93);e.exports=function(e){if(r(e))throw TypeError("The method doesn't accept regular expressions");return e}},function(e,t,n){"use strict";var r=n(15)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,"/./"[e](t)}catch(o){}}return!1}},function(e,t,n){"use strict";var r=n(5),o=n(91);e.exports=function(e){return r((function(){return!!o[e]()||"\u200b\x85\u180e"!="\u200b\x85\u180e"[e]()||o[e].name!==e}))}},function(e,t,n){"use strict";var r=n(7),o=n(5),i=n(85),a=n(14).NATIVE_ARRAY_BUFFER_VIEWS,u=r.ArrayBuffer,c=r.Int8Array;e.exports=!a||!o((function(){c(1)}))||!o((function(){new c(-1)}))||!i((function(e){new c,new c(null),new c(1.5),new c(e)}),!0)||o((function(){return 1!==new c(new u(2),1,undefined).length}))},function(e,t,n){"use strict";t.__esModule=!0,t.createRenderer=t.suspendRenderer=t.resumeRenderer=void 0;var r,o=n(99),i=n(0),a=((0,n(35).createLogger)("renderer"),!0),u=!1;t.resumeRenderer=function(){a=a||"resumed",u=!1};t.suspendRenderer=function(){u=!0};t.createRenderer=function(e){return function(){o.perf.mark("render/start"),r||(r=document.getElementById("react-root")),(0,i.render)(e(),r),o.perf.mark("render/finish"),u||a&&(a=!1)}}},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=void 0;var r=n(10),o=function(e,t){return e+t},i=function(e,t){return e-t},a=function(e,t){return e*t},u=function(e,t){return e/t};t.vecAdd=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,r.reduce)((function(e,t){return(0,r.zipWith)(o)(e,t)}))(t)};t.vecSubtract=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,r.reduce)((function(e,t){return(0,r.zipWith)(i)(e,t)}))(t)};t.vecMultiply=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,r.reduce)((function(e,t){return(0,r.zipWith)(a)(e,t)}))(t)};var c=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,r.reduce)((function(e,t){return(0,r.zipWith)(u)(e,t)}))(t)};t.vecDivide=c;t.vecScale=function(e,t){return(0,r.map)((function(e){return e*t}))(e)};t.vecInverse=function(e){return(0,r.map)((function(e){return-e}))(e)};var s=function(e){return Math.sqrt((0,r.reduce)(o)((0,r.zipWith)(a)(e,e)))};t.vecLength=s;t.vecNormalize=function(e){return c(e,s(e))}},function(e,t,n){"use strict";t.__esModule=!0,t.debugReducer=t.relayMiddleware=t.debugMiddleware=t.KitchenSink=t.useDebug=void 0;var r=n(463);t.useDebug=r.useDebug;var o=n(464);t.KitchenSink=o.KitchenSink;var i=n(487);t.debugMiddleware=i.debugMiddleware,t.relayMiddleware=i.relayMiddleware;var a=n(488);t.debugReducer=a.debugReducer},function(e,t,n){"use strict";t.__esModule=!0,t.DraggableControl=void 0;var r=n(0),o=n(8),i=n(6),a=n(102);var u=function(e,t){return e.screenX*t[0]+e.screenY*t[1]},c=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).inputRef=(0,r.createRef)(),n.state={value:t.value,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,r=t.value,o=t.dragMatrix;n.state.editing||(document.body.style["pointer-events"]="none",n.ref=e.target,n.setState({dragging:!1,origin:u(e,o),value:r,internalValue:r}),n.timer=setTimeout((function(){n.setState({dragging:!0})}),250),n.dragInterval=setInterval((function(){var t=n.state,r=t.dragging,o=t.value,i=n.props.onDrag;r&&i&&i(e,o)}),n.props.updateRate||400),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,r=t.minValue,i=t.maxValue,a=t.step,c=t.stepPixelSize,s=t.dragMatrix;n.setState((function(t){var n=Object.assign({},t),l=u(e,s)-n.origin;if(t.dragging){var f=Number.isFinite(r)?r%a:0;n.internalValue=(0,o.clamp)(n.internalValue+l*a/c,r-a,i+a),n.value=(0,o.clamp)(n.internalValue-n.internalValue%a+f,r,i),n.origin=u(e,s)}else Math.abs(l)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,r=t.onChange,o=t.onDrag,i=n.state,a=i.dragging,u=i.value,c=i.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!a,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),a)n.suppressFlicker(),r&&r(e,u),o&&o(e,u);else if(n.inputRef){var s=n.inputRef.current;s.value=c;try{s.focus(),s.select()}catch(l){}}},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.state,n=t.dragging,i=t.editing,u=t.value,c=t.suppressingFlicker,s=this.props,l=s.animated,f=s.value,d=s.unit,p=s.minValue,h=s.maxValue,g=s.unclamped,v=s.format,m=s.onChange,y=s.onDrag,b=s.children,x=s.height,w=s.lineHeight,_=s.fontSize,E=f;(n||c)&&(E=u);var k=function(e){return e+(d?" "+d:"")},S=l&&!n&&!c&&(0,r.createComponentVNode)(2,a.AnimatedNumber,{value:E,format:v,children:k})||k(v?v(E):E),C=(0,r.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:i?undefined:"none",height:x,"line-height":w,"font-size":_},onBlur:function(t){var n;i&&(n=g?parseFloat(t.target.value):(0,o.clamp)(parseFloat(t.target.value),p,h),Number.isNaN(n)?e.setState({editing:!1}):(e.setState({editing:!1,value:n}),e.suppressFlicker(),m&&m(t,n),y&&y(t,n)))},onKeyDown:function(t){var n;if(13===t.keyCode)return n=g?parseFloat(t.target.value):(0,o.clamp)(parseFloat(t.target.value),p,h),Number.isNaN(n)?void e.setState({editing:!1}):(e.setState({editing:!1,value:n}),e.suppressFlicker(),m&&m(t,n),void(y&&y(t,n)));27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef);return b({dragging:n,editing:i,value:f,displayValue:E,displayElement:S,inputElement:C,handleDragStart:this.handleDragStart})},i}(r.Component);t.DraggableControl=c,c.defaultHooks=i.pureComponentHooks,c.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50,dragMatrix:[1,0]}},function(e,t,n){"use strict";t.__esModule=!0,t.NumberInput=void 0;var r=n(0),o=n(8),i=n(6),a=n(102),u=n(17);var c=function(e){var t,n;function c(t){var n;n=e.call(this,t)||this;var i=t.value;return n.inputRef=(0,r.createRef)(),n.state={value:i,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,r=t.dragging,o=t.value,i=n.props.onDrag;r&&i&&i(e,o)}),n.props.updateRate||400),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,r=t.minValue,i=t.maxValue,a=t.step,u=t.stepPixelSize;n.setState((function(t){var n=Object.assign({},t),c=n.origin-e.screenY;if(t.dragging){var s=Number.isFinite(r)?r%a:0;n.internalValue=(0,o.clamp)(n.internalValue+c*a/u,r-a,i+a),n.value=(0,o.clamp)(n.internalValue-n.internalValue%a+s,r,i),n.origin=e.screenY}else Math.abs(c)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,r=t.onChange,o=t.onDrag,i=n.state,a=i.dragging,u=i.value,c=i.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!a,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),a)n.suppressFlicker(),r&&r(e,u),o&&o(e,u);else if(n.inputRef){var s=n.inputRef.current;s.value=c;try{s.focus(),s.select()}catch(l){}}},n}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.state,n=t.dragging,c=t.editing,s=t.value,l=t.suppressingFlicker,f=this.props,d=f.className,p=f.fluid,h=f.animated,g=f.value,v=f.unit,m=f.minValue,y=f.maxValue,b=f.height,x=f.width,w=f.lineHeight,_=f.fontSize,E=f.format,k=f.onChange,S=f.onDrag,C=g;(n||l)&&(C=s);var N=function(e){return(0,r.createVNode)(1,"div","NumberInput__content",e+(v?" "+v:""),0,{unselectable:Byond.IS_LTE_IE8})},A=h&&!n&&!l&&(0,r.createComponentVNode)(2,a.AnimatedNumber,{value:C,format:E,children:N})||N(E?E(C):C);return(0,r.createComponentVNode)(2,u.Box,{className:(0,i.classes)(["NumberInput",p&&"NumberInput--fluid",d]),minWidth:x,minHeight:b,lineHeight:w,fontSize:_,onMouseDown:this.handleDragStart,children:[(0,r.createVNode)(1,"div","NumberInput__barContainer",(0,r.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,o.clamp)((C-m)/(y-m)*100,0,100)+"%"}}),2),A,(0,r.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:c?undefined:"none",height:b,"line-height":w,"font-size":_},onBlur:function(t){if(c){var n=(0,o.clamp)(parseFloat(t.target.value),m,y);Number.isNaN(n)?e.setState({editing:!1}):(e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),S&&S(t,n))}},onKeyDown:function(t){if(13===t.keyCode){var n=(0,o.clamp)(parseFloat(t.target.value),m,y);return Number.isNaN(n)?void e.setState({editing:!1}):(e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),void(S&&S(t,n)))}27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef)]})},c}(r.Component);t.NumberInput=c,c.defaultHooks=i.pureComponentHooks,c.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50}},function(e,t,n){"use strict";t.__esModule=!0,t.Layout=void 0;var r=n(0),o=n(6),i=n(17),a=n(58);function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var c=function(e){var t=e.className,n=e.theme,a=void 0===n?"nanotrasen":n,c=e.children,s=u(e,["className","theme","children"]);return(0,r.createVNode)(1,"div","theme-"+a,(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Layout",t].concat((0,i.computeBoxClassName)(s))),c,0,Object.assign({},(0,i.computeBoxProps)(s)))),2)};t.Layout=c;var s=function(e){var t=e.className,n=e.scrollable,a=e.children,c=u(e,["className","scrollable","children"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Layout__content",n&&"Layout__content--scrollable",t].concat((0,i.computeBoxClassName)(c))),a,0,Object.assign({},(0,i.computeBoxProps)(c))))};s.defaultHooks={onComponentDidMount:function(e){return(0,a.addScrollableNode)(e)},onComponentWillUnmount:function(e){return(0,a.removeScrollableNode)(e)}},c.Content=s},,,,,,,,function(e,t,n){"use strict";n(225),n(226),n(227),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(242),n(243),n(244),n(245),n(246),n(247),n(248),n(249),n(251),n(253),n(254),n(255),n(163),n(256),n(257),n(258),n(259),n(260),n(261),n(262),n(263),n(264),n(265),n(266),n(267),n(268),n(269),n(271),n(272),n(273),n(274),n(275),n(277),n(278),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(292),n(293),n(294),n(295),n(297),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(311),n(312),n(313),n(314),n(315),n(316),n(318),n(319),n(321),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(347),n(348),n(349),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(129),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),n(387),n(388),n(389),n(390),n(391),n(392),n(393),n(394),n(395),n(396),n(397),n(398),n(399),n(400),n(401),n(402),n(403),n(405),n(406),n(407),n(408),n(409),n(410),n(411),n(412),n(413),n(414),n(415),n(416),n(417),n(418),n(419),n(420),n(421),n(422),n(423),n(424),n(425),n(426),n(427),n(428),n(429),n(430),n(431),n(432),n(433),n(434),n(435),n(436),n(437),n(438),n(439),n(440),n(441),n(442),n(443),n(444),n(445),n(446),n(447),n(448)},function(e,t,n){"use strict";var r=n(11),o=n(5),i=n(108);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var r=n(7),o=n(109),i="__core-js_shared__",a=r[i]||o(i,{});e.exports=a},function(e,t,n){"use strict";var r=n(7),o=n(110),i=r.WeakMap;e.exports="function"==typeof i&&/native code/.test(o(i))},function(e,t,n){"use strict";var r=n(20),o=n(112),i=n(23),a=n(16);e.exports=function(e,t){for(var n=o(t),u=a.f,c=i.f,s=0;s<n.length;s++){var l=n[s];r(e,l)||u(e,l,c(t,l))}}},function(e,t,n){"use strict";var r=n(7);e.exports=r},function(e,t,n){"use strict";var r=n(20),o=n(30),i=n(70).indexOf,a=n(69);e.exports=function(e,t){var n,u=o(e),c=0,s=[];for(n in u)!r(a,n)&&r(u,n)&&s.push(n);for(;t.length>c;)r(u,n=t[c++])&&(~i(s,n)||s.push(n));return s}},function(e,t,n){"use strict";var r=n(115);e.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(e,t,n){"use strict";var r=n(11),o=n(16),i=n(12),a=n(72);e.exports=r?Object.defineProperties:function(e,t){i(e);for(var n,r=a(t),u=r.length,c=0;u>c;)o.f(e,n=r[c++],t[n]);return e}},function(e,t,n){"use strict";var r=n(40);e.exports=r("document","documentElement")},function(e,t,n){"use strict";var r=n(30),o=n(53).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return a&&"[object Window]"==i.call(e)?function(e){try{return o(e)}catch(t){return a.slice()}}(e):o(r(e))}},function(e,t,n){"use strict";var r=n(15);t.f=r},function(e,t,n){"use strict";var r=n(19),o=n(47),i=n(13),a=Math.min;e.exports=[].copyWithin||function(e,t){var n=r(this),u=i(n.length),c=o(e,u),s=o(t,u),l=arguments.length>2?arguments[2]:undefined,f=a((l===undefined?u:o(l,u))-s,u-c),d=1;for(s<c&&c<s+f&&(d=-1,s+=f-1,c+=f-1);f-- >0;)s in n?n[c]=n[s]:delete n[c],c+=d,s+=d;return n}},function(e,t,n){"use strict";var r=n(59),o=n(13),i=n(54);e.exports=function a(e,t,n,u,c,s,l,f){for(var d,p=c,h=0,g=!!l&&i(l,f,3);h<u;){if(h in n){if(d=g?g(n[h],h,t):n[h],s>0&&r(d))p=a(e,t,d,o(d.length),p,s-1)-1;else{if(p>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[p]=d}p++}h++}return p}},function(e,t,n){"use strict";var r=n(12);e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(a){var i=e["return"];throw i!==undefined&&r(i.call(e)),a}}},function(e,t,n){"use strict";var r=n(30),o=n(50),i=n(75),a=n(32),u=n(121),c="Array Iterator",s=a.set,l=a.getterFor(c);e.exports=u(Array,"Array",(function(e,t){s(this,{type:c,target:r(e),index:0,kind:t})}),(function(){var e=l(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=undefined,{value:undefined,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},function(e,t,n){"use strict";var r=n(165).IteratorPrototype,o=n(48),i=n(52),a=n(49),u=n(75),c=function(){return this};e.exports=function(e,t,n){var s=t+" Iterator";return e.prototype=o(r,{next:i(1,n)}),a(e,s,!1,!0),u[s]=c,e}},function(e,t,n){"use strict";var r,o,i,a=n(41),u=n(31),c=n(20),s=n(15),l=n(43),f=s("iterator"),d=!1;[].keys&&("next"in(i=[].keys())?(o=a(a(i)))!==Object.prototype&&(r=o):d=!0),r==undefined&&(r={}),l||c(r,f)||u(r,f,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:d}},function(e,t,n){"use strict";var r=n(9);e.exports=function(e){if(!r(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},function(e,t,n){"use strict";var r=n(30),o=n(37),i=n(13),a=n(44),u=n(29),c=Math.min,s=[].lastIndexOf,l=!!s&&1/[1].lastIndexOf(1,-0)<0,f=a("lastIndexOf"),d=u("indexOf",{ACCESSORS:!0,1:0}),p=l||!f||!d;e.exports=p?function(e){if(l)return s.apply(this,arguments)||0;var t=r(this),n=i(t.length),a=n-1;for(arguments.length>1&&(a=c(a,o(arguments[1]))),a<0&&(a=n+a);a>=0;a--)if(a in t&&t[a]===e)return a||0;return-1}:s},function(e,t,n){"use strict";var r=n(37),o=n(13);e.exports=function(e){if(e===undefined)return 0;var t=r(e),n=o(t);if(t!==n)throw RangeError("Wrong length or index");return n}},function(e,t,n){"use strict";var r=n(28),o=n(9),i=[].slice,a={},u=function(e,t,n){if(!(t in a)){for(var r=[],o=0;o<t;o++)r[o]="a["+o+"]";a[t]=Function("C,a","return new C("+r.join(",")+")")}return a[t](e,n)};e.exports=Function.bind||function(e){var t=r(this),n=i.call(arguments,1),a=function(){var r=n.concat(i.call(arguments));return this instanceof a?u(t,r.length,r):t.apply(e,r)};return o(t.prototype)&&(a.prototype=t.prototype),a}},function(e,t,n){"use strict";var r=n(16).f,o=n(48),i=n(76),a=n(54),u=n(61),c=n(62),s=n(121),l=n(60),f=n(11),d=n(57).fastKey,p=n(32),h=p.set,g=p.getterFor;e.exports={getConstructor:function(e,t,n,s){var l=e((function(e,r){u(e,l,t),h(e,{type:t,index:o(null),first:undefined,last:undefined,size:0}),f||(e.size=0),r!=undefined&&c(r,e[s],e,n)})),p=g(t),v=function(e,t,n){var r,o,i=p(e),a=m(e,t);return a?a.value=n:(i.last=a={index:o=d(t,!0),key:t,value:n,previous:r=i.last,next:undefined,removed:!1},i.first||(i.first=a),r&&(r.next=a),f?i.size++:e.size++,"F"!==o&&(i.index[o]=a)),e},m=function(e,t){var n,r=p(e),o=d(t);if("F"!==o)return r.index[o];for(n=r.first;n;n=n.next)if(n.key==t)return n};return i(l.prototype,{clear:function(){for(var e=p(this),t=e.index,n=e.first;n;)n.removed=!0,n.previous&&(n.previous=n.previous.next=undefined),delete t[n.index],n=n.next;e.first=e.last=undefined,f?e.size=0:this.size=0},"delete":function(e){var t=this,n=p(t),r=m(t,e);if(r){var o=r.next,i=r.previous;delete n.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),n.first==r&&(n.first=o),n.last==r&&(n.last=i),f?n.size--:t.size--}return!!r},forEach:function(e){for(var t,n=p(this),r=a(e,arguments.length>1?arguments[1]:undefined,3);t=t?t.next:n.first;)for(r(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!m(this,e)}}),i(l.prototype,n?{get:function(e){var t=m(this,e);return t&&t.value},set:function(e,t){return v(this,0===e?0:e,t)}}:{add:function(e){return v(this,e=0===e?0:e,e)}}),f&&r(l.prototype,"size",{get:function(){return p(this).size}}),l},setStrong:function(e,t,n){var r=t+" Iterator",o=g(t),i=g(r);s(e,t,(function(e,t){h(this,{type:r,target:e,state:o(e),kind:t,last:undefined})}),(function(){for(var e=i(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),l(t)}}},function(e,t,n){"use strict";var r=Math.log;e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:r(1+e)}},function(e,t,n){"use strict";var r=n(9),o=Math.floor;e.exports=function(e){return!r(e)&&isFinite(e)&&o(e)===e}},function(e,t,n){"use strict";var r=n(7),o=n(63).trim,i=n(91),a=r.parseInt,u=/^[+-]?0[Xx]/,c=8!==a(i+"08")||22!==a(i+"0x16");e.exports=c?function(e,t){var n=o(String(e));return a(n,t>>>0||(u.test(n)?16:10))}:a},function(e,t,n){"use strict";var r=n(11),o=n(72),i=n(30),a=n(81).f,u=function(e){return function(t){for(var n,u=i(t),c=o(u),s=c.length,l=0,f=[];s>l;)n=c[l++],r&&!a.call(u,n)||f.push(e?[n,u[n]]:u[n]);return f}};e.exports={entries:u(!0),values:u(!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 r=n(7);e.exports=r.Promise},function(e,t,n){"use strict";var r=n(83);e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(r)},function(e,t,n){"use strict";var r,o,i,a,u,c,s,l,f=n(7),d=n(23).f,p=n(36),h=n(127).set,g=n(177),v=f.MutationObserver||f.WebKitMutationObserver,m=f.process,y=f.Promise,b="process"==p(m),x=d(f,"queueMicrotask"),w=x&&x.value;w||(r=function(){var e,t;for(b&&(e=m.domain)&&e.exit();o;){t=o.fn,o=o.next;try{t()}catch(n){throw o?a():i=undefined,n}}i=undefined,e&&e.enter()},b?a=function(){m.nextTick(r)}:v&&!g?(u=!0,c=document.createTextNode(""),new v(r).observe(c,{characterData:!0}),a=function(){c.data=u=!u}):y&&y.resolve?(s=y.resolve(undefined),l=s.then,a=function(){l.call(s,r)}):a=function(){h.call(f,r)}),e.exports=w||function(e){var t={fn:e,next:undefined};i&&(i.next=t),o||(o=t,a()),i=t}},function(e,t,n){"use strict";var r=n(12),o=n(9),i=n(128);e.exports=function(e,t){if(r(e),o(t)&&t.constructor===e)return t;var n=i.f(e);return(0,n.resolve)(t),n.promise}},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 r=n(83);e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r)},function(e,t,n){"use strict";var r=n(404);e.exports=function(e,t){var n=r(e);if(n%t)throw RangeError("Wrong offset");return n}},function(e,t,n){"use strict";var r=n(19),o=n(13),i=n(119),a=n(118),u=n(54),c=n(14).aTypedArrayConstructor;e.exports=function(e){var t,n,s,l,f,d,p=r(e),h=arguments.length,g=h>1?arguments[1]:undefined,v=g!==undefined,m=i(p);if(m!=undefined&&!a(m))for(d=(f=m.call(p)).next,p=[];!(l=d.call(f)).done;)p.push(l.value);for(v&&h>2&&(g=u(g,arguments[2],2)),n=o(p.length),s=new(c(this))(n),t=0;n>t;t++)s[t]=v?g(p[t],t):p[t];return s}},function(e,t,n){"use strict";var r=n(76),o=n(57).getWeakData,i=n(12),a=n(9),u=n(61),c=n(62),s=n(21),l=n(20),f=n(32),d=f.set,p=f.getterFor,h=s.find,g=s.findIndex,v=0,m=function(e){return e.frozen||(e.frozen=new y)},y=function(){this.entries=[]},b=function(e,t){return h(e.entries,(function(e){return e[0]===t}))};y.prototype={get:function(e){var t=b(this,e);if(t)return t[1]},has:function(e){return!!b(this,e)},set:function(e,t){var n=b(this,e);n?n[1]=t:this.entries.push([e,t])},"delete":function(e){var t=g(this.entries,(function(t){return t[0]===e}));return~t&&this.entries.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,s){var f=e((function(e,r){u(e,f,t),d(e,{type:t,id:v++,frozen:undefined}),r!=undefined&&c(r,e[s],e,n)})),h=p(t),g=function(e,t,n){var r=h(e),a=o(i(t),!0);return!0===a?m(r).set(t,n):a[r.id]=n,e};return r(f.prototype,{"delete":function(e){var t=h(this);if(!a(e))return!1;var n=o(e);return!0===n?m(t)["delete"](e):n&&l(n,t.id)&&delete n[t.id]},has:function(e){var t=h(this);if(!a(e))return!1;var n=o(e);return!0===n?m(t).has(e):n&&l(n,t.id)}}),r(f.prototype,n?{get:function(e){var t=h(this);if(a(e)){var n=o(e);return!0===n?m(t).get(e):n?n[t.id]:undefined}},set:function(e,t){return g(this,e,t)}}:{add:function(e){return g(this,e,!0)}}),f}}},function(e,t,n){"use strict";t.__esModule=!0,t.setupHotKeys=t.releaseHeldKeys=t.releaseHotKey=t.acquireHotKey=void 0;var r=n(64),o=n(58),i=(0,n(35).createLogger)("hotkeys"),a={},u=[r.KEY_ESCAPE,r.KEY_ENTER,r.KEY_SPACE,r.KEY_TAB,r.KEY_CTRL,r.KEY_SHIFT,r.KEY_F5],c={},s=function(e){if(!e.ctrl||e.code!==r.KEY_F5&&e.code!==r.KEY_R){if(!(e.ctrl&&e.code===r.KEY_F||e.event.defaultPrevented||e.isModifierKey()||u.includes(e.code))){var t,n=16===(t=e.code)?"Shift":17===t?"Ctrl":18===t?"Alt":33===t?"Northeast":34===t?"Southeast":35===t?"Southwest":36===t?"Northwest":37===t?"West":38===t?"North":39===t?"East":40===t?"South":45===t?"Insert":46===t?"Delete":t>=48&&t<=57||t>=65&&t<=90?String.fromCharCode(t):t>=96&&t<=105?"Numpad"+(t-96):t>=112&&t<=123?"F"+(t-111):188===t?",":189===t?"-":190===t?".":void 0;if(n){var o=a[n];if(o)return i.debug("macro",o),Byond.command(o);if(e.isDown()&&!c[n]){c[n]=!0;var s='KeyDown "'+n+'"';return i.debug(s),Byond.command(s)}if(e.isUp()&&c[n]){c[n]=!1;var l='KeyUp "'+n+'"';return i.debug(l),Byond.command(l)}}}}else location.reload()};t.acquireHotKey=function(e){u.push(e)};t.releaseHotKey=function(e){var t=u.indexOf(e);t>=0&&u.splice(t,1)};var l=function(){for(var e=0,t=Object.keys(c);e<t.length;e++){var n=t[e];c[n]&&(c[n]=!1,i.log('releasing key "'+n+'"'),Byond.command('KeyUp "'+n+'"'))}};t.releaseHeldKeys=l;t.setupHotKeys=function(){Byond.winget("default.*").then((function(e){for(var t={},n=0,r=Object.keys(e);n<r.length;n++){var o=r[n],u=o.split("."),c=u[1],s=u[2];c&&s&&(t[c]||(t[c]={}),t[c][s]=e[o])}for(var l=/\\"/g,f=function(e){return e.substring(1,e.length-1).replace(l,'"')},d=0,p=Object.keys(t);d<p.length;d++){var h=t[p[d]],g=f(h.name);a[g]=f(h.command)}i.debug("loaded macros",a)})),o.globalEvents.on("window-blur",(function(){l()})),o.globalEvents.on("key",(function(e){s(e)}))}},function(e,t,n){"use strict";t.__esModule=!0,t.EventEmitter=void 0;var r=function(){function e(){this.listeners={}}var t=e.prototype;return t.on=function(e,t){this.listeners[e]=this.listeners[e]||[],this.listeners[e].push(t)},t.off=function(e,t){var n=this.listeners[e];if(!n)throw new Error('There is no listeners for "'+e+'"');this.listeners[e]=n.filter((function(e){return e!==t}))},t.emit=function(e){var t=this.listeners[e];if(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];for(var i=0,a=t.length;i<a;i+=1){var u=t[i];u.apply(void 0,r)}}},t.clear=function(){this.listeners={}},e}();t.EventEmitter=r},function(e,t,n){"use strict";t.__esModule=!0,t.captureExternalLinks=void 0;t.captureExternalLinks=function(){document.addEventListener("click",(function(e){var t=String(e.target.tagName).toLowerCase(),n=e.target.getAttribute("href")||"";if("a"===t&&!("?"===n.charAt(0)||n.startsWith("byond://"))){e.preventDefault();var r=n;r.toLowerCase().startsWith("www")&&(r="https://"+r),Byond.topic({tgui:1,window_id:window.__windowId__,type:"openLink",url:r})}}))}},function(e,t,n){"use strict";t.__esModule=!0,t.StoreProvider=t.configureStore=void 0;var r=n(24),o=n(22),i=n(0),a=n(51),u=n(2),c=n(137);var s=(0,n(35).createLogger)("store");t.configureStore=function(e){var t,n;void 0===e&&(e={});var i=(0,r.flow)([(0,o.combineReducers)({debug:c.debugReducer,backend:u.backendReducer}),e.reducer]),s=[].concat((null==(t=e.middleware)?void 0:t.pre)||[],[a.assetMiddleware,u.backendMiddleware],(null==(n=e.middleware)?void 0:n.post)||[]);var f=o.applyMiddleware.apply(void 0,s),d=(0,o.createStore)(i,f);return window.__store__=d,window.__augmentStack__=l(d),d};var l=function(e){return function(t,n){var r,o;n?"object"!=typeof n||n.stack||(n.stack=t):(n=new Error(t.split("\n")[0])).stack=t,s.log("FatalError:",n);var i=e.getState(),a=null==i||null==(r=i.backend)?void 0:r.config,u=t;return u+="\nUser Agent: "+navigator.userAgent,u+="\nState: "+JSON.stringify({ckey:null==a||null==(o=a.client)?void 0:o.ckey,"interface":null==a?void 0:a["interface"],window:null==a?void 0:a.window})}},f=function(e){var t,n;function r(){return e.apply(this,arguments)||this}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var o=r.prototype;return o.getChildContext=function(){return{store:this.props.store}},o.render=function(){return this.props.children},r}(i.Component);t.StoreProvider=f},function(e,t,n){"use strict";t.__esModule=!0,t.resizeStartHandler=t.dragStartHandler=t.setupDrag=t.recallWindowGeometry=t.storeWindowGeometry=t.getScreenSize=t.getScreenPosition=t.setWindowSize=t.setWindowPosition=t.getWindowSize=t.getWindowPosition=t.setWindowKey=void 0;var r=n(79),o=n(136);function i(e,t,n,r,o,i,a){try{var u=e[i](a),c=u.value}catch(s){return void n(s)}u.done?t(c):Promise.resolve(c).then(r,o)}function a(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var a=e.apply(t,n);function u(e){i(a,r,o,u,c,"next",e)}function c(e){i(a,r,o,u,c,"throw",e)}u(undefined)}))}}var u,c,s,l,f,d=(0,n(35).createLogger)("drag"),p=window.__windowId__,h=!1,g=!1,v=[0,0];t.setWindowKey=function(e){p=e};var m=function(){return[window.screenLeft,window.screenTop]};t.getWindowPosition=m;var y=function(){return[window.innerWidth,window.innerHeight]};t.getWindowSize=y;var b=function(e){var t=(0,o.vecAdd)(e,v);return Byond.winset(window.__windowId__,{pos:t[0]+","+t[1]})};t.setWindowPosition=b;var x=function(e){return Byond.winset(window.__windowId__,{size:e[0]+"x"+e[1]})};t.setWindowSize=x;var w=function(){return[0-v[0],0-v[1]]};t.getScreenPosition=w;var _=function(){return[window.screen.availWidth,window.screen.availHeight]};t.getScreenSize=_;var E=function(e,t,n){void 0===n&&(n=50);for(var r,o=[t],i=0;i<e.length;i++){var a=e[i];a!==t&&(o.length<n?o.push(a):r=a)}return[o,r]},k=function(){var e=a(regeneratorRuntime.mark((function t(){var e,n,o,i;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return d.log("storing geometry"),e={pos:m(),size:y()},r.storage.set(p,e),t.t0=E,t.next=6,r.storage.get("geometries");case 6:if(t.t1=t.sent,t.t1){t.next=9;break}t.t1=[];case 9:t.t2=t.t1,t.t3=p,n=(0,t.t0)(t.t2,t.t3),o=n[0],(i=n[1])&&r.storage.remove(i),r.storage.set("geometries",o);case 16:case"end":return t.stop()}}),t)})));return function(){return e.apply(this,arguments)}}();t.storeWindowGeometry=k;var S=function(){var e=a(regeneratorRuntime.mark((function t(e){var n,i,a,c,s;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0===e&&(e={}),t.t0=e.fancy,!t.t0){t.next=6;break}return t.next=5,r.storage.get(p);case 5:t.t0=t.sent;case 6:if((n=t.t0)&&d.log("recalled geometry:",n),i=(null==n?void 0:n.pos)||e.pos,(a=e.size)&&x(a),!i){t.next=18;break}return t.next=14,u;case 14:a&&e.locked&&(i=N(i,a)[1]),b(i),t.next=24;break;case 18:if(!a){t.next=24;break}return t.next=21,u;case 21:c=[window.screen.availWidth-Math.abs(v[0]),window.screen.availHeight-Math.abs(v[1])],s=(0,o.vecAdd)((0,o.vecScale)(c,.5),(0,o.vecScale)(a,-.5),(0,o.vecScale)(v,-1)),b(s);case 24:case"end":return t.stop()}}),t)})));return function(t){return e.apply(this,arguments)}}();t.recallWindowGeometry=S;var C=function(){var e=a(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=Byond.winget(window.__windowId__,"pos").then((function(e){return[e.x-window.screenLeft,e.y-window.screenTop]})),e.next=3,u;case 3:v=e.sent,d.debug("screen offset",v);case 5:case"end":return e.stop()}}),t)})));return function(){return e.apply(this,arguments)}}();t.setupDrag=C;var N=function(e,t){for(var n=w(),r=_(),o=[e[0],e[1]],i=!1,a=0;a<2;a++){var u=n[a],c=n[a]+r[a];e[a]<u?(o[a]=u,i=!0):e[a]+t[a]>c&&(o[a]=c-t[a],i=!0)}return[i,o]};t.dragStartHandler=function(e){var t;d.log("drag start"),h=!0,c=[window.screenLeft-e.screenX,window.screenTop-e.screenY],null==(t=e.target)||t.focus(),document.addEventListener("mousemove",T),document.addEventListener("mouseup",A),T(e)};var A=function M(e){d.log("drag end"),T(e),document.removeEventListener("mousemove",T),document.removeEventListener("mouseup",M),h=!1,k()},T=function(e){h&&(e.preventDefault(),b((0,o.vecAdd)([e.screenX,e.screenY],c)))};t.resizeStartHandler=function(e,t){return function(n){var r;s=[e,t],d.log("resize start",s),g=!0,c=[window.screenLeft-n.screenX,window.screenTop-n.screenY],l=[window.innerWidth,window.innerHeight],null==(r=n.target)||r.focus(),document.addEventListener("mousemove",I),document.addEventListener("mouseup",O),I(n)}};var O=function L(e){d.log("resize end",f),I(e),document.removeEventListener("mousemove",I),document.removeEventListener("mouseup",L),g=!1,k()},I=function(e){g&&(e.preventDefault(),(f=(0,o.vecAdd)(l,(0,o.vecMultiply)(s,(0,o.vecAdd)([e.screenX,e.screenY],(0,o.vecInverse)([window.screenLeft,window.screenTop]),c,[1,1]))))[0]=Math.max(f[0],150),f[1]=Math.max(f[1],50),x(f))}},function(e,t,n){"use strict";t.__esModule=!0,t.focusWindow=t.focusMap=void 0;t.focusMap=function(){Byond.winset("mapwindow.map",{focus:!0})};t.focusWindow=function(){Byond.winset(window.__windowId__,{focus:!0})}},function(e,t,n){"use strict";t.__esModule=!0,t.selectDebug=void 0;t.selectDebug=function(e){return e.debug}},function(e,t,n){"use strict";t.__esModule=!0,t.ButtonInput=t.ButtonConfirm=t.ButtonCheckbox=t.Button=void 0;var r=n(0),o=n(64),i=n(6),a=n(35),u=n(17),c=n(103),s=n(193);function l(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function f(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var d=(0,a.createLogger)("Button"),p=function(e){var t=e.className,n=e.fluid,a=e.icon,l=e.iconRotation,p=e.iconSpin,h=e.iconColor,g=e.iconPosition,v=e.color,m=e.disabled,y=e.selected,b=e.tooltip,x=e.tooltipPosition,w=e.tooltipOverrideLong,_=e.ellipsis,E=e.compact,k=e.circular,S=e.content,C=e.children,N=e.onclick,A=e.onClick,T=f(e,["className","fluid","icon","iconRotation","iconSpin","iconColor","iconPosition","color","disabled","selected","tooltip","tooltipPosition","tooltipOverrideLong","ellipsis","compact","circular","content","children","onclick","onClick"]),O=!(!S&&!C);return N&&d.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,r.normalizeProps)((0,r.createComponentVNode)(2,u.Box,Object.assign({className:(0,i.classes)(["Button",n&&"Button--fluid",m&&"Button--disabled",y&&"Button--selected",O&&"Button--hasContent",_&&"Button--ellipsis",k&&"Button--circular",E&&"Button--compact",g&&"Button--iconPosition--"+g,v&&"string"==typeof v?"Button--color--"+v:"Button--color--default",t]),tabIndex:!m&&"0",unselectable:Byond.IS_LTE_IE8,onClick:function(e){!m&&A&&A(e)},onKeyDown:function(e){var t=window.event?e.which:e.keyCode;if(t===o.KEY_SPACE||t===o.KEY_ENTER)return e.preventDefault(),void(!m&&A&&A(e));t!==o.KEY_ESCAPE||e.preventDefault()}},T,{children:[a&&"right"!==g&&(0,r.createComponentVNode)(2,c.Icon,{name:a,color:h,rotation:l,spin:p}),S,C,a&&"right"===g&&(0,r.createComponentVNode)(2,c.Icon,{name:a,color:h,rotation:l,spin:p}),b&&(0,r.createComponentVNode)(2,s.Tooltip,{content:b,overrideLong:w,position:x})]})))};t.Button=p,p.defaultHooks=i.pureComponentHooks;var h=function(e){var t=e.checked,n=f(e,["checked"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,p,Object.assign({color:"transparent",icon:t?"check-square-o":"square-o",selected:t},n)))};t.ButtonCheckbox=h,p.Checkbox=h;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}l(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.confirmContent,o=void 0===n?"Confirm?":n,i=t.confirmColor,a=void 0===i?"bad":i,u=t.confirmIcon,c=t.icon,s=t.color,l=t.content,d=t.onClick,h=f(t,["confirmContent","confirmColor","confirmIcon","icon","color","content","onClick"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,p,Object.assign({content:this.state.clickedOnce?o:l,icon:this.state.clickedOnce?u:c,color:this.state.clickedOnce?a:s,onClick:function(){return e.state.clickedOnce?d():e.setClickedOnce(!0)}},h)))},t}(r.Component);t.ButtonConfirm=g,p.Confirm=g;var v=function(e){function t(){var t;return(t=e.call(this)||this).inputRef=(0,r.createRef)(),t.state={inInput:!1},t}l(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,l=t.icon,d=t.iconRotation,p=t.iconSpin,h=t.tooltip,g=t.tooltipPosition,v=t.tooltipOverrideLong,m=t.color,y=void 0===m?"default":m,b=(t.placeholder,t.maxLength,f(t,["fluid","content","icon","iconRotation","iconSpin","tooltip","tooltipPosition","tooltipOverrideLong","color","placeholder","maxLength"]));return(0,r.normalizeProps)((0,r.createComponentVNode)(2,u.Box,Object.assign({className:(0,i.classes)(["Button",n&&"Button--fluid","Button--color--"+y])},b,{onClick:function(){return e.setInInput(!0)},children:[l&&(0,r.createComponentVNode)(2,c.Icon,{name:l,rotation:d,spin:p}),(0,r.createVNode)(1,"div",null,a,0),(0,r.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===o.KEY_ENTER)return e.setInInput(!1),void e.commitResult(t);t.keyCode===o.KEY_ESCAPE&&e.setInInput(!1)}},null,this.inputRef),h&&(0,r.createComponentVNode)(2,s.Tooltip,{content:h,overrideLong:v,position:g})]})))},t}(r.Component);t.ButtonInput=v,p.Input=v},function(e,t,n){"use strict";t.__esModule=!0,t.Tooltip=void 0;var r=n(0),o=n(6);t.Tooltip=function(e){var t=e.content,n=e.overrideLong,i=void 0!==n&&n,a=e.position,u=void 0===a?"bottom":a,c="string"==typeof t&&t.length>35&&!i;return(0,r.createVNode)(1,"div",(0,o.classes)(["Tooltip",c&&"Tooltip--long",u&&"Tooltip--"+u]),null,1,{"data-tooltip":t})}},function(e,t,n){"use strict";t.__esModule=!0,t.Dimmer=void 0;var r=n(0),o=n(6),i=n(17);t.Dimmer=function(e){var t=e.className,n=e.children,a=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["className","children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["Dimmer"].concat(t))},a,{children:(0,r.createVNode)(1,"div","Dimmer__inner",n,0)})))}},function(e,t,n){"use strict";t.__esModule=!0,t.Divider=void 0;var r=n(0),o=n(6);t.Divider=function(e){var t=e.vertical,n=e.hidden;return(0,r.createVNode)(1,"div",(0,o.classes)(["Divider",n&&"Divider--hidden",t?"Divider--vertical":"Divider--horizontal"]))}},function(e,t,n){"use strict";t.__esModule=!0,t.FlexItem=t.computeFlexItemProps=t.Flex=t.computeFlexProps=void 0;var r=n(0),o=n(6),i=n(17);function a(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var u=function(e){var t=e.className,n=e.direction,r=e.wrap,i=e.align,u=e.justify,c=e.inline,s=e.spacing,l=void 0===s?0:s,f=a(e,["className","direction","wrap","align","justify","inline","spacing"]);return Object.assign({className:(0,o.classes)(["Flex",Byond.IS_LTE_IE10&&("column"===n?"Flex--iefix--column":"Flex--iefix"),c&&"Flex--inline",l>0&&"Flex--spacing--"+l,t]),style:Object.assign({},f.style,{"flex-direction":n,"flex-wrap":!0===r?"wrap":r,"align-items":i,"justify-content":u})},f)};t.computeFlexProps=u;var c=function(e){return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({},u(e))))};t.Flex=c,c.defaultHooks=o.pureComponentHooks;var s=function(e){var t=e.className,n=e.style,r=e.grow,u=e.order,c=e.shrink,s=e.basis,l=void 0===s?e.width:s,f=e.align,d=a(e,["className","style","grow","order","shrink","basis","align"]);return Object.assign({className:(0,o.classes)(["Flex__item",Byond.IS_LTE_IE10&&"Flex__item--iefix",Byond.IS_LTE_IE10&&r>0&&"Flex__item--iefix--grow",t]),style:Object.assign({},n,{"flex-grow":r,"flex-shrink":c,"flex-basis":(0,i.unit)(l),order:u,"align-self":f})},d)};t.computeFlexItemProps=s;var l=function(e){return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({},s(e))))};t.FlexItem=l,l.defaultHooks=o.pureComponentHooks,c.Item=l},function(e,t,n){"use strict";t.__esModule=!0,t.TableCell=t.TableRow=t.Table=void 0;var r=n(0),o=n(6),i=n(17);function a(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var u=function(e){var t=e.className,n=e.collapsing,u=e.children,c=a(e,["className","collapsing","children"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"table",(0,o.classes)(["Table",n&&"Table--collapsing",t,(0,i.computeBoxClassName)(c)]),(0,r.createVNode)(1,"tbody",null,u,0),2,Object.assign({},(0,i.computeBoxProps)(c))))};t.Table=u,u.defaultHooks=o.pureComponentHooks;var c=function(e){var t=e.className,n=e.header,u=a(e,["className","header"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"tr",(0,o.classes)(["Table__row",n&&"Table__row--header",t,(0,i.computeBoxClassName)(e)]),null,1,Object.assign({},(0,i.computeBoxProps)(u))))};t.TableRow=c,c.defaultHooks=o.pureComponentHooks;var s=function(e){var t=e.className,n=e.collapsing,u=e.header,c=a(e,["className","collapsing","header"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"td",(0,o.classes)(["Table__cell",n&&"Table__cell--collapsing",u&&"Table__cell--header",t,(0,i.computeBoxClassName)(e)]),null,1,Object.assign({},(0,i.computeBoxProps)(c))))};t.TableCell=s,s.defaultHooks=o.pureComponentHooks,u.Row=c,u.Cell=s},function(e,t,n){"use strict";t.__esModule=!0,t.Input=t.toInputValue=void 0;var r=n(0),o=n(6),i=n(17),a=n(64);function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var c=function(e){return"number"!=typeof e&&"string"!=typeof e?"":String(e)};t.toInputValue=c;var s=function(e){var t,n;function s(){var t;return(t=e.call(this)||this).inputRef=(0,r.createRef)(),t.state={editing:!1},t.handleInput=function(e){var n=t.state.editing,r=t.props.onInput;n||t.setEditing(!0),r&&r(e,e.target.value)},t.handleFocus=function(e){t.state.editing||t.setEditing(!0)},t.handleBlur=function(e){var n=t.state.editing,r=t.props.onChange;n&&(t.setEditing(!1),r&&r(e,e.target.value))},t.handleKeyDown=function(e){var n=t.props,r=n.onInput,o=n.onChange,i=n.onEnter;return e.keyCode===a.KEY_ENTER?(t.setEditing(!1),o&&o(e,e.target.value),r&&r(e,e.target.value),i&&i(e,e.target.value),void(t.props.selfClear?e.target.value="":e.target.blur())):e.keyCode===a.KEY_ESCAPE?(t.setEditing(!1),e.target.value=c(t.props.value),void e.target.blur()):void 0},t}n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var l=s.prototype;return l.componentDidMount=function(){var e=this.props.value,t=this.inputRef.current;t&&(t.value=c(e)),this.props.autoFocus&&setTimeout((function(){return t.focus()}),1)},l.componentDidUpdate=function(e,t){var n=this.state.editing,r=e.value,o=this.props.value,i=this.inputRef.current;i&&!n&&r!==o&&(i.value=c(o))},l.setEditing=function(e){this.setState({editing:e})},l.render=function(){var e=this.props,t=(e.selfClear,e.onInput,e.onChange,e.onEnter,e.value,e.maxLength),n=e.placeholder,a=u(e,["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder"]),c=a.className,s=a.fluid,l=a.monospace,f=u(a,["className","fluid","monospace"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["Input",s&&"Input--fluid",l&&"Input--monospace",c])},f,{children:[(0,r.createVNode)(1,"div","Input__baseline",".",16),(0,r.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)]})))},s}(r.Component);t.Input=s},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledListDivider=t.LabeledListItem=t.LabeledList=void 0;var r=n(0),o=n(6),i=n(17),a=n(195),u=function(e){var t=e.children;return(0,r.createVNode)(1,"table","LabeledList",t,0)};t.LabeledList=u,u.defaultHooks=o.pureComponentHooks;var c=function(e){var t=e.className,n=e.label,a=e.labelColor,u=void 0===a?"label":a,c=e.color,s=e.textAlign,l=e.buttons,f=e.content,d=e.children;return(0,r.createVNode)(1,"tr",(0,o.classes)(["LabeledList__row",t]),[(0,r.createComponentVNode)(2,i.Box,{as:"td",color:u,className:(0,o.classes)(["LabeledList__cell","LabeledList__label"]),children:n?n+":":null}),(0,r.createComponentVNode)(2,i.Box,{as:"td",color:c,textAlign:s,className:(0,o.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:l?undefined:2,children:[f,d]}),l&&(0,r.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",l,0)],0)};t.LabeledListItem=c,c.defaultHooks=o.pureComponentHooks;var s=function(e){var t=e.size?(0,i.unit)(Math.max(0,e.size-1)):0;return(0,r.createVNode)(1,"tr","LabeledList__row",(0,r.createVNode)(1,"td",null,(0,r.createComponentVNode)(2,a.Divider),2,{colSpan:3,style:{"padding-top":t,"padding-bottom":t}}),2)};t.LabeledListDivider=s,s.defaultHooks=o.pureComponentHooks,u.Item=c,u.Divider=s},function(e,t,n){"use strict";t.__esModule=!0,t.Window=void 0;var r=n(0),o=n(6),i=n(22),a=n(18),u=n(2),c=n(1),s=n(42),l=n(137),f=(n(201),n(189)),d=n(35),p=n(140);var h=(0,d.createLogger)("Window"),g=[400,600],v=function(e){var t,n;function c(){return e.apply(this,arguments)||this}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var d=c.prototype;return d.componentDidMount=function(){var e,t=(0,u.useBackend)(this.context),n=t.config;if(!t.suspended){h.log("mounting");var r=Object.assign({size:g},n.window);this.props.width&&this.props.height&&(r.size=[this.props.width,this.props.height]),(null==(e=n.window)?void 0:e.key)&&(0,f.setWindowKey)(n.window.key),(0,f.recallWindowGeometry)(r)}},d.render=function(){var e,t=this.props,n=t.resizable,c=t.noClose,d=t.theme,g=t.title,v=t.children,m=(0,u.useBackend)(this.context),b=m.config,x=m.suspended,w=(0,l.useDebug)(this.context).debugLayout,_=(0,i.useDispatch)(this.context),E=null==(e=b.window)?void 0:e.fancy,k=b.user&&(b.user.observer?b.status<s.UI_DISABLED:b.status<s.UI_INTERACTIVE);return(0,r.createComponentVNode)(2,p.Layout,{className:"Window",theme:d,children:[(0,r.createComponentVNode)(2,y,{className:"Window__titleBar",title:!x&&(g||(0,a.decodeHtmlEntities)(b.title)),status:b.status,fancy:E,onDragStart:f.dragStartHandler,onClose:function(){h.log("pressed close"),_((0,u.backendSuspendStart)())},noClose:c}),(0,r.createVNode)(1,"div",(0,o.classes)(["Window__rest",w&&"debug-layout"]),[!x&&v,k&&(0,r.createVNode)(1,"div","Window__dimmer")],0),E&&n&&(0,r.createFragment)([(0,r.createVNode)(1,"div","Window__resizeHandle__e",null,1,{onMousedown:(0,f.resizeStartHandler)(1,0)}),(0,r.createVNode)(1,"div","Window__resizeHandle__s",null,1,{onMousedown:(0,f.resizeStartHandler)(0,1)}),(0,r.createVNode)(1,"div","Window__resizeHandle__se",null,1,{onMousedown:(0,f.resizeStartHandler)(1,1)})],4)]})},c}(r.Component);t.Window=v;v.Content=function(e){var t=e.className,n=e.fitted,i=e.children,a=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["className","fitted","children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,p.Layout.Content,Object.assign({className:(0,o.classes)(["Window__content",t])},a,{children:n&&i||(0,r.createVNode)(1,"div","Window__contentPadding",i,0)})))};var m=function(e){switch(e){case s.UI_INTERACTIVE:return"good";case s.UI_UPDATE:return"average";case s.UI_DISABLED:default:return"bad"}},y=function(e,t){var n=e.className,u=e.title,s=e.status,l=e.noClose,f=e.fancy,d=e.onDragStart,p=e.onClose;(0,i.useDispatch)(t);return(0,r.createVNode)(1,"div",(0,o.classes)(["TitleBar",n]),[s===undefined&&(0,r.createComponentVNode)(2,c.Icon,{className:"TitleBar__statusIcon",name:"tools",opacity:.5})||(0,r.createComponentVNode)(2,c.Icon,{className:"TitleBar__statusIcon",color:m(s),name:"eye"}),(0,r.createVNode)(1,"div","TitleBar__title","string"==typeof u&&u===u.toLowerCase()&&(0,a.toTitleCase)(u)||u,0),(0,r.createVNode)(1,"div","TitleBar__dragZone",null,1,{onMousedown:function(e){return f&&d(e)}}),!1,!!f&&!l&&(0,r.createVNode)(1,"div","TitleBar__close TitleBar__clickable",Byond.IS_LTE_IE8?"x":"\xd7",0,{onclick:p})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.openExternalBrowser=t.toggleDebugLayout=t.toggleKitchenSink=void 0;var r=n(22),o=(0,r.createAction)("debug/toggleKitchenSink");t.toggleKitchenSink=o;var i=(0,r.createAction)("debug/toggleDebugLayout");t.toggleDebugLayout=i;var a=(0,r.createAction)("debug/openExternalBrowser");t.openExternalBrowser=a},,,,function(e,t,n){"use strict";t.__esModule=!0,t.createUuid=void 0;t.createUuid=function(){var e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var n=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"===t?n:3&n|8).toString(16)}))}},,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";var r=n(4),o=n(7),i=n(40),a=n(43),u=n(11),c=n(115),s=n(155),l=n(5),f=n(20),d=n(59),p=n(9),h=n(12),g=n(19),v=n(30),m=n(39),y=n(52),b=n(48),x=n(72),w=n(53),_=n(158),E=n(114),k=n(23),S=n(16),C=n(81),N=n(31),A=n(26),T=n(111),O=n(82),I=n(69),M=n(68),L=n(15),V=n(159),R=n(27),P=n(49),B=n(32),j=n(21).forEach,D=O("hidden"),F="Symbol",K=L("toPrimitive"),z=B.set,Y=B.getterFor(F),U=Object.prototype,$=o.Symbol,H=i("JSON","stringify"),W=k.f,G=S.f,q=_.f,X=C.f,Z=T("symbols"),Q=T("op-symbols"),J=T("string-to-symbol-registry"),ee=T("symbol-to-string-registry"),te=T("wks"),ne=o.QObject,re=!ne||!ne.prototype||!ne.prototype.findChild,oe=u&&l((function(){return 7!=b(G({},"a",{get:function(){return G(this,"a",{value:7}).a}})).a}))?function(e,t,n){var r=W(U,t);r&&delete U[t],G(e,t,n),r&&e!==U&&G(U,t,r)}:G,ie=function(e,t){var n=Z[e]=b($.prototype);return z(n,{type:F,tag:e,description:t}),u||(n.description=t),n},ae=s?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof $},ue=function(e,t,n){e===U&&ue(Q,t,n),h(e);var r=m(t,!0);return h(n),f(Z,r)?(n.enumerable?(f(e,D)&&e[D][r]&&(e[D][r]=!1),n=b(n,{enumerable:y(0,!1)})):(f(e,D)||G(e,D,y(1,{})),e[D][r]=!0),oe(e,r,n)):G(e,r,n)},ce=function(e,t){h(e);var n=v(t),r=x(n).concat(pe(n));return j(r,(function(t){u&&!le.call(n,t)||ue(e,t,n[t])})),e},se=function(e,t){return t===undefined?b(e):ce(b(e),t)},le=function(e){var t=m(e,!0),n=X.call(this,t);return!(this===U&&f(Z,t)&&!f(Q,t))&&(!(n||!f(this,t)||!f(Z,t)||f(this,D)&&this[D][t])||n)},fe=function(e,t){var n=v(e),r=m(t,!0);if(n!==U||!f(Z,r)||f(Q,r)){var o=W(n,r);return!o||!f(Z,r)||f(n,D)&&n[D][r]||(o.enumerable=!0),o}},de=function(e){var t=q(v(e)),n=[];return j(t,(function(e){f(Z,e)||f(I,e)||n.push(e)})),n},pe=function(e){var t=e===U,n=q(t?Q:v(e)),r=[];return j(n,(function(e){!f(Z,e)||t&&!f(U,e)||r.push(Z[e])})),r};(c||(A(($=function(){if(this instanceof $)throw TypeError("Symbol is not a constructor");var e=arguments.length&&arguments[0]!==undefined?String(arguments[0]):undefined,t=M(e),n=function r(e){this===U&&r.call(Q,e),f(this,D)&&f(this[D],t)&&(this[D][t]=!1),oe(this,t,y(1,e))};return u&&re&&oe(U,t,{configurable:!0,set:n}),ie(t,e)}).prototype,"toString",(function(){return Y(this).tag})),A($,"withoutSetter",(function(e){return ie(M(e),e)})),C.f=le,S.f=ue,k.f=fe,w.f=_.f=de,E.f=pe,V.f=function(e){return ie(L(e),e)},u&&(G($.prototype,"description",{configurable:!0,get:function(){return Y(this).description}}),a||A(U,"propertyIsEnumerable",le,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!c,sham:!c},{Symbol:$}),j(x(te),(function(e){R(e)})),r({target:F,stat:!0,forced:!c},{"for":function(e){var t=String(e);if(f(J,t))return J[t];var n=$(t);return J[t]=n,ee[n]=t,n},keyFor:function(e){if(!ae(e))throw TypeError(e+" is not a symbol");if(f(ee,e))return ee[e]},useSetter:function(){re=!0},useSimple:function(){re=!1}}),r({target:"Object",stat:!0,forced:!c,sham:!u},{create:se,defineProperty:ue,defineProperties:ce,getOwnPropertyDescriptor:fe}),r({target:"Object",stat:!0,forced:!c},{getOwnPropertyNames:de,getOwnPropertySymbols:pe}),r({target:"Object",stat:!0,forced:l((function(){E.f(1)}))},{getOwnPropertySymbols:function(e){return E.f(g(e))}}),H)&&r({target:"JSON",stat:!0,forced:!c||l((function(){var e=$();return"[null]"!=H([e])||"{}"!=H({a:e})||"{}"!=H(Object(e))}))},{stringify:function(e,t,n){for(var r,o=[e],i=1;arguments.length>i;)o.push(arguments[i++]);if(r=t,(p(t)||e!==undefined)&&!ae(e))return d(t)||(t=function(e,t){if("function"==typeof r&&(t=r.call(this,e,t)),!ae(t))return t}),o[1]=t,H.apply(null,o)}});$.prototype[K]||N($.prototype,K,$.prototype.valueOf),P($,F),I[D]=!0},function(e,t,n){"use strict";var r=n(4),o=n(11),i=n(7),a=n(20),u=n(9),c=n(16).f,s=n(152),l=i.Symbol;if(o&&"function"==typeof l&&(!("description"in l.prototype)||l().description!==undefined)){var f={},d=function(){var e=arguments.length<1||arguments[0]===undefined?undefined:String(arguments[0]),t=this instanceof d?new l(e):e===undefined?l():l(e);return""===e&&(f[t]=!0),t};s(d,l);var p=d.prototype=l.prototype;p.constructor=d;var h=p.toString,g="Symbol(test)"==String(l("test")),v=/^Symbol\((.*)\)[^)]+$/;c(p,"description",{configurable:!0,get:function(){var e=u(this)?this.valueOf():this,t=h.call(e);if(a(f,e))return"";var n=g?t.slice(7,-1):t.replace(v,"$1");return""===n?undefined:n}}),r({global:!0,forced:!0},{Symbol:d})}},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)("matchAll")},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 r=n(4),o=n(5),i=n(59),a=n(9),u=n(19),c=n(13),s=n(55),l=n(73),f=n(74),d=n(15),p=n(116),h=d("isConcatSpreadable"),g=9007199254740991,v="Maximum allowed index exceeded",m=p>=51||!o((function(){var e=[];return e[h]=!1,e.concat()[0]!==e})),y=f("concat"),b=function(e){if(!a(e))return!1;var t=e[h];return t!==undefined?!!t:i(e)};r({target:"Array",proto:!0,forced:!m||!y},{concat:function(e){var t,n,r,o,i,a=u(this),f=l(a,0),d=0;for(t=-1,r=arguments.length;t<r;t++)if(b(i=-1===t?a:arguments[t])){if(d+(o=c(i.length))>g)throw TypeError(v);for(n=0;n<o;n++,d++)n in i&&s(f,d,i[n])}else{if(d>=g)throw TypeError(v);s(f,d++,i)}return f.length=d,f}})},function(e,t,n){"use strict";var r=n(4),o=n(160),i=n(50);r({target:"Array",proto:!0},{copyWithin:o}),i("copyWithin")},function(e,t,n){"use strict";var r=n(4),o=n(21).every,i=n(44),a=n(29),u=i("every"),c=a("every");r({target:"Array",proto:!0,forced:!u||!c},{every:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(4),o=n(117),i=n(50);r({target:"Array",proto:!0},{fill:o}),i("fill")},function(e,t,n){"use strict";var r=n(4),o=n(21).filter,i=n(74),a=n(29),u=i("filter"),c=a("filter");r({target:"Array",proto:!0,forced:!u||!c},{filter:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(4),o=n(21).find,i=n(50),a=n(29),u="find",c=!0,s=a(u);u in[]&&Array(1).find((function(){c=!1})),r({target:"Array",proto:!0,forced:c||!s},{find:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}}),i(u)},function(e,t,n){"use strict";var r=n(4),o=n(21).findIndex,i=n(50),a=n(29),u="findIndex",c=!0,s=a(u);u in[]&&Array(1).findIndex((function(){c=!1})),r({target:"Array",proto:!0,forced:c||!s},{findIndex:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}}),i(u)},function(e,t,n){"use strict";var r=n(4),o=n(161),i=n(19),a=n(13),u=n(37),c=n(73);r({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:undefined,t=i(this),n=a(t.length),r=c(t,0);return r.length=o(r,t,t,n,0,e===undefined?1:u(e)),r}})},function(e,t,n){"use strict";var r=n(4),o=n(161),i=n(19),a=n(13),u=n(28),c=n(73);r({target:"Array",proto:!0},{flatMap:function(e){var t,n=i(this),r=a(n.length);return u(e),(t=c(n,0)).length=o(t,n,n,r,0,1,e,arguments.length>1?arguments[1]:undefined),t}})},function(e,t,n){"use strict";var r=n(4),o=n(250);r({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},function(e,t,n){"use strict";var r=n(21).forEach,o=n(44),i=n(29),a=o("forEach"),u=i("forEach");e.exports=a&&u?[].forEach:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}},function(e,t,n){"use strict";var r=n(4),o=n(252);r({target:"Array",stat:!0,forced:!n(85)((function(e){Array.from(e)}))},{from:o})},function(e,t,n){"use strict";var r=n(54),o=n(19),i=n(162),a=n(118),u=n(13),c=n(55),s=n(119);e.exports=function(e){var t,n,l,f,d,p,h=o(e),g="function"==typeof this?this:Array,v=arguments.length,m=v>1?arguments[1]:undefined,y=m!==undefined,b=s(h),x=0;if(y&&(m=r(m,v>2?arguments[2]:undefined,2)),b==undefined||g==Array&&a(b))for(n=new g(t=u(h.length));t>x;x++)p=y?m(h[x],x):h[x],c(n,x,p);else for(d=(f=b.call(h)).next,n=new g;!(l=d.call(f)).done;x++)p=y?i(f,m,[l.value,x],!0):l.value,c(n,x,p);return n.length=x,n}},function(e,t,n){"use strict";var r=n(4),o=n(70).includes,i=n(50);r({target:"Array",proto:!0,forced:!n(29)("indexOf",{ACCESSORS:!0,1:0})},{includes:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}}),i("includes")},function(e,t,n){"use strict";var r=n(4),o=n(70).indexOf,i=n(44),a=n(29),u=[].indexOf,c=!!u&&1/[1].indexOf(1,-0)<0,s=i("indexOf"),l=a("indexOf",{ACCESSORS:!0,1:0});r({target:"Array",proto:!0,forced:c||!s||!l},{indexOf:function(e){return c?u.apply(this,arguments)||0:o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";n(4)({target:"Array",stat:!0},{isArray:n(59)})},function(e,t,n){"use strict";var r=n(4),o=n(67),i=n(30),a=n(44),u=[].join,c=o!=Object,s=a("join",",");r({target:"Array",proto:!0,forced:c||!s},{join:function(e){return u.call(i(this),e===undefined?",":e)}})},function(e,t,n){"use strict";var r=n(4),o=n(167);r({target:"Array",proto:!0,forced:o!==[].lastIndexOf},{lastIndexOf:o})},function(e,t,n){"use strict";var r=n(4),o=n(21).map,i=n(74),a=n(29),u=i("map"),c=a("map");r({target:"Array",proto:!0,forced:!u||!c},{map:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(55);r({target:"Array",stat:!0,forced:o((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;)i(n,e,arguments[e++]);return n.length=t,n}})},function(e,t,n){"use strict";var r=n(4),o=n(86).left,i=n(44),a=n(29),u=i("reduce"),c=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!u||!c},{reduce:function(e){return o(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(4),o=n(86).right,i=n(44),a=n(29),u=i("reduceRight"),c=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!u||!c},{reduceRight:function(e){return o(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(4),o=n(9),i=n(59),a=n(47),u=n(13),c=n(30),s=n(55),l=n(15),f=n(74),d=n(29),p=f("slice"),h=d("slice",{ACCESSORS:!0,0:0,1:2}),g=l("species"),v=[].slice,m=Math.max;r({target:"Array",proto:!0,forced:!p||!h},{slice:function(e,t){var n,r,l,f=c(this),d=u(f.length),p=a(e,d),h=a(t===undefined?d:t,d);if(i(f)&&("function"!=typeof(n=f.constructor)||n!==Array&&!i(n.prototype)?o(n)&&null===(n=n[g])&&(n=undefined):n=undefined,n===Array||n===undefined))return v.call(f,p,h);for(r=new(n===undefined?Array:n)(m(h-p,0)),l=0;p<h;p++,l++)p in f&&s(r,l,f[p]);return r.length=l,r}})},function(e,t,n){"use strict";var r=n(4),o=n(21).some,i=n(44),a=n(29),u=i("some"),c=a("some");r({target:"Array",proto:!0,forced:!u||!c},{some:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(4),o=n(28),i=n(19),a=n(5),u=n(44),c=[],s=c.sort,l=a((function(){c.sort(undefined)})),f=a((function(){c.sort(null)})),d=u("sort");r({target:"Array",proto:!0,forced:l||!f||!d},{sort:function(e){return e===undefined?s.call(i(this)):s.call(i(this),o(e))}})},function(e,t,n){"use strict";n(60)("Array")},function(e,t,n){"use strict";var r=n(4),o=n(47),i=n(37),a=n(13),u=n(19),c=n(73),s=n(55),l=n(74),f=n(29),d=l("splice"),p=f("splice",{ACCESSORS:!0,0:0,1:2}),h=Math.max,g=Math.min,v=9007199254740991,m="Maximum allowed length exceeded";r({target:"Array",proto:!0,forced:!d||!p},{splice:function(e,t){var n,r,l,f,d,p,y=u(this),b=a(y.length),x=o(e,b),w=arguments.length;if(0===w?n=r=0:1===w?(n=0,r=b-x):(n=w-2,r=g(h(i(t),0),b-x)),b+n-r>v)throw TypeError(m);for(l=c(y,r),f=0;f<r;f++)(d=x+f)in y&&s(l,f,y[d]);if(l.length=r,n<r){for(f=x;f<b-r;f++)p=f+n,(d=f+r)in y?y[p]=y[d]:delete y[p];for(f=b;f>b-r+n;f--)delete y[f-1]}else if(n>r)for(f=b-r;f>x;f--)p=f+n-1,(d=f+r-1)in y?y[p]=y[d]:delete y[p];for(f=0;f<n;f++)y[f+x]=arguments[f+2];return y.length=b-r+n,l}})},function(e,t,n){"use strict";n(50)("flat")},function(e,t,n){"use strict";n(50)("flatMap")},function(e,t,n){"use strict";var r=n(4),o=n(7),i=n(87),a=n(60),u="ArrayBuffer",c=i.ArrayBuffer;r({global:!0,forced:o.ArrayBuffer!==c},{ArrayBuffer:c}),a(u)},function(e,t,n){"use strict";var r=1/0,o=Math.abs,i=Math.pow,a=Math.floor,u=Math.log,c=Math.LN2;e.exports={pack:function(e,t,n){var s,l,f,d=new Array(n),p=8*n-t-1,h=(1<<p)-1,g=h>>1,v=23===t?i(2,-24)-i(2,-77):0,m=e<0||0===e&&1/e<0?1:0,y=0;for((e=o(e))!=e||e===r?(l=e!=e?1:0,s=h):(s=a(u(e)/c),e*(f=i(2,-s))<1&&(s--,f*=2),(e+=s+g>=1?v/f:v*i(2,1-g))*f>=2&&(s++,f/=2),s+g>=h?(l=0,s=h):s+g>=1?(l=(e*f-1)*i(2,t),s+=g):(l=e*i(2,g-1)*i(2,t),s=0));t>=8;d[y++]=255&l,l/=256,t-=8);for(s=s<<t|l,p+=t;p>0;d[y++]=255&s,s/=256,p-=8);return d[--y]|=128*m,d},unpack:function(e,t){var n,o=e.length,a=8*o-t-1,u=(1<<a)-1,c=u>>1,s=a-7,l=o-1,f=e[l--],d=127&f;for(f>>=7;s>0;d=256*d+e[l],l--,s-=8);for(n=d&(1<<-s)-1,d>>=-s,s+=t;s>0;n=256*n+e[l],l--,s-=8);if(0===d)d=1-c;else{if(d===u)return n?NaN:f?-1/0:r;n+=i(2,t),d-=c}return(f?-1:1)*n*i(2,d-t)}}},function(e,t,n){"use strict";var r=n(4),o=n(14);r({target:"ArrayBuffer",stat:!0,forced:!o.NATIVE_ARRAY_BUFFER_VIEWS},{isView:o.isView})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(87),a=n(12),u=n(47),c=n(13),s=n(45),l=i.ArrayBuffer,f=i.DataView,d=l.prototype.slice;r({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:o((function(){return!new l(2).slice(1,undefined).byteLength}))},{slice:function(e,t){if(d!==undefined&&t===undefined)return d.call(a(this),e);for(var n=a(this).byteLength,r=u(e,n),o=u(t===undefined?n:t,n),i=new(s(this,l))(c(o-r)),p=new f(this),h=new f(i),g=0;r<o;)h.setUint8(g++,p.getUint8(r++));return i}})},function(e,t,n){"use strict";var r=n(4),o=n(87);r({global:!0,forced:!n(123)},{DataView:o.DataView})},function(e,t,n){"use strict";n(4)({target:"Date",stat:!0},{now:function(){return(new Date).getTime()}})},function(e,t,n){"use strict";var r=n(4),o=n(276);r({target:"Date",proto:!0,forced:Date.prototype.toISOString!==o},{toISOString:o})},function(e,t,n){"use strict";var r=n(5),o=n(124).start,i=Math.abs,a=Date.prototype,u=a.getTime,c=a.toISOString;e.exports=r((function(){return"0385-07-25T07:06:39.999Z"!=c.call(new Date(-50000000000001))}))||!r((function(){c.call(new Date(NaN))}))?function(){if(!isFinite(u.call(this)))throw RangeError("Invalid time value");var e=this,t=e.getUTCFullYear(),n=e.getUTCMilliseconds(),r=t<0?"-":t>9999?"+":"";return r+o(i(t),r?6:4,0)+"-"+o(e.getUTCMonth()+1,2,0)+"-"+o(e.getUTCDate(),2,0)+"T"+o(e.getUTCHours(),2,0)+":"+o(e.getUTCMinutes(),2,0)+":"+o(e.getUTCSeconds(),2,0)+"."+o(n,3,0)+"Z"}:c},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(19),a=n(39);r({target:"Date",proto:!0,forced:o((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}))},{toJSON:function(e){var t=i(this),n=a(t);return"number"!=typeof n||isFinite(n)?t.toISOString():null}})},function(e,t,n){"use strict";var r=n(31),o=n(279),i=n(15)("toPrimitive"),a=Date.prototype;i in a||r(a,i,o)},function(e,t,n){"use strict";var r=n(12),o=n(39);e.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint");return o(r(this),"number"!==e)}},function(e,t,n){"use strict";var r=n(26),o=Date.prototype,i="Invalid Date",a="toString",u=o.toString,c=o.getTime;new Date(NaN)+""!=i&&r(o,a,(function(){var e=c.call(this);return e==e?u.call(this):i}))},function(e,t,n){"use strict";n(4)({target:"Function",proto:!0},{bind:n(169)})},function(e,t,n){"use strict";var r=n(9),o=n(16),i=n(41),a=n(15)("hasInstance"),u=Function.prototype;a in u||o.f(u,a,{value:function(e){if("function"!=typeof this||!r(e))return!1;if(!r(this.prototype))return e instanceof this;for(;e=i(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){"use strict";var r=n(11),o=n(16).f,i=Function.prototype,a=i.toString,u=/^\s*function ([^ (]*)/,c="name";r&&!(c in i)&&o(i,c,{configurable:!0,get:function(){try{return a.call(this).match(u)[1]}catch(e){return""}}})},function(e,t,n){"use strict";n(4)({global:!0},{globalThis:n(7)})},function(e,t,n){"use strict";var r=n(4),o=n(40),i=n(5),a=o("JSON","stringify"),u=/[\uD800-\uDFFF]/g,c=/^[\uD800-\uDBFF]$/,s=/^[\uDC00-\uDFFF]$/,l=function(e,t,n){var r=n.charAt(t-1),o=n.charAt(t+1);return c.test(e)&&!s.test(o)||s.test(e)&&!c.test(r)?"\\u"+e.charCodeAt(0).toString(16):e},f=i((function(){return'"\\udf06\\ud834"'!==a("\udf06\ud834")||'"\\udead"'!==a("\udead")}));a&&r({target:"JSON",stat:!0,forced:f},{stringify:function(e,t,n){var r=a.apply(null,arguments);return"string"==typeof r?r.replace(u,l):r}})},function(e,t,n){"use strict";var r=n(7);n(49)(r.JSON,"JSON",!0)},function(e,t,n){"use strict";var r=n(88),o=n(170);e.exports=r("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),o)},function(e,t,n){"use strict";var r=n(4),o=n(171),i=Math.acosh,a=Math.log,u=Math.sqrt,c=Math.LN2;r({target:"Math",stat:!0,forced:!i||710!=Math.floor(i(Number.MAX_VALUE))||i(Infinity)!=Infinity},{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?a(e)+c:o(e-1+u(e-1)*u(e+1))}})},function(e,t,n){"use strict";var r=n(4),o=Math.asinh,i=Math.log,a=Math.sqrt;r({target:"Math",stat:!0,forced:!(o&&1/o(0)>0)},{asinh:function u(e){return isFinite(e=+e)&&0!=e?e<0?-u(-e):i(e+a(e*e+1)):e}})},function(e,t,n){"use strict";var r=n(4),o=Math.atanh,i=Math.log;r({target:"Math",stat:!0,forced:!(o&&1/o(-0)<0)},{atanh:function(e){return 0==(e=+e)?e:i((1+e)/(1-e))/2}})},function(e,t,n){"use strict";var r=n(4),o=n(126),i=Math.abs,a=Math.pow;r({target:"Math",stat:!0},{cbrt:function(e){return o(e=+e)*a(i(e),1/3)}})},function(e,t,n){"use strict";var r=n(4),o=Math.floor,i=Math.log,a=Math.LOG2E;r({target:"Math",stat:!0},{clz32:function(e){return(e>>>=0)?31-o(i(e+.5)*a):32}})},function(e,t,n){"use strict";var r=n(4),o=n(90),i=Math.cosh,a=Math.abs,u=Math.E;r({target:"Math",stat:!0,forced:!i||i(710)===Infinity},{cosh:function(e){var t=o(a(e)-1)+1;return(t+1/(t*u*u))*(u/2)}})},function(e,t,n){"use strict";var r=n(4),o=n(90);r({target:"Math",stat:!0,forced:o!=Math.expm1},{expm1:o})},function(e,t,n){"use strict";n(4)({target:"Math",stat:!0},{fround:n(296)})},function(e,t,n){"use strict";var r=n(126),o=Math.abs,i=Math.pow,a=i(2,-52),u=i(2,-23),c=i(2,127)*(2-u),s=i(2,-126);e.exports=Math.fround||function(e){var t,n,i=o(e),l=r(e);return i<s?l*(i/s/u+1/a-1/a)*s*u:(n=(t=(1+u/a)*i)-(t-i))>c||n!=n?l*Infinity:l*n}},function(e,t,n){"use strict";var r=n(4),o=Math.hypot,i=Math.abs,a=Math.sqrt;r({target:"Math",stat:!0,forced:!!o&&o(Infinity,NaN)!==Infinity},{hypot:function(e,t){for(var n,r,o=0,u=0,c=arguments.length,s=0;u<c;)s<(n=i(arguments[u++]))?(o=o*(r=s/n)*r+1,s=n):o+=n>0?(r=n/s)*r:n;return s===Infinity?Infinity:s*a(o)}})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=Math.imul;r({target:"Math",stat:!0,forced:o((function(){return-5!=i(4294967295,5)||2!=i.length}))},{imul:function(e,t){var n=65535,r=+e,o=+t,i=n&r,a=n&o;return 0|i*a+((n&r>>>16)*a+i*(n&o>>>16)<<16>>>0)}})},function(e,t,n){"use strict";var r=n(4),o=Math.log,i=Math.LOG10E;r({target:"Math",stat:!0},{log10:function(e){return o(e)*i}})},function(e,t,n){"use strict";n(4)({target:"Math",stat:!0},{log1p:n(171)})},function(e,t,n){"use strict";var r=n(4),o=Math.log,i=Math.LN2;r({target:"Math",stat:!0},{log2:function(e){return o(e)/i}})},function(e,t,n){"use strict";n(4)({target:"Math",stat:!0},{sign:n(126)})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(90),a=Math.abs,u=Math.exp,c=Math.E;r({target:"Math",stat:!0,forced:o((function(){return-2e-17!=Math.sinh(-2e-17)}))},{sinh:function(e){return a(e=+e)<1?(i(e)-i(-e))/2:(u(e-1)-u(-e-1))*(c/2)}})},function(e,t,n){"use strict";var r=n(4),o=n(90),i=Math.exp;r({target:"Math",stat:!0},{tanh:function(e){var t=o(e=+e),n=o(-e);return t==Infinity?1:n==Infinity?-1:(t-n)/(i(e)+i(-e))}})},function(e,t,n){"use strict";n(49)(Math,"Math",!0)},function(e,t,n){"use strict";var r=n(4),o=Math.ceil,i=Math.floor;r({target:"Math",stat:!0},{trunc:function(e){return(e>0?i:o)(e)}})},function(e,t,n){"use strict";var r=n(11),o=n(7),i=n(71),a=n(26),u=n(20),c=n(36),s=n(89),l=n(39),f=n(5),d=n(48),p=n(53).f,h=n(23).f,g=n(16).f,v=n(63).trim,m="Number",y=o.Number,b=y.prototype,x=c(d(b))==m,w=function(e){var t,n,r,o,i,a,u,c,s=l(e,!1);if("string"==typeof s&&s.length>2)if(43===(t=(s=v(s)).charCodeAt(0))||45===t){if(88===(n=s.charCodeAt(2))||120===n)return NaN}else if(48===t){switch(s.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+s}for(a=(i=s.slice(2)).length,u=0;u<a;u++)if((c=i.charCodeAt(u))<48||c>o)return NaN;return parseInt(i,r)}return+s};if(i(m,!y(" 0o1")||!y("0b1")||y("+0x1"))){for(var _,E=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof E&&(x?f((function(){b.valueOf.call(n)})):c(n)!=m)?s(new y(w(t)),n,E):w(t)},k=r?p(y):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),S=0;k.length>S;S++)u(y,_=k[S])&&!u(E,_)&&g(E,_,h(y,_));E.prototype=b,b.constructor=E,a(o,m,E)}},function(e,t,n){"use strict";n(4)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},function(e,t,n){"use strict";n(4)({target:"Number",stat:!0},{isFinite:n(310)})},function(e,t,n){"use strict";var r=n(7).isFinite;e.exports=Number.isFinite||function(e){return"number"==typeof e&&r(e)}},function(e,t,n){"use strict";n(4)({target:"Number",stat:!0},{isInteger:n(172)})},function(e,t,n){"use strict";n(4)({target:"Number",stat:!0},{isNaN:function(e){return e!=e}})},function(e,t,n){"use strict";var r=n(4),o=n(172),i=Math.abs;r({target:"Number",stat:!0},{isSafeInteger:function(e){return o(e)&&i(e)<=9007199254740991}})},function(e,t,n){"use strict";n(4)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){"use strict";n(4)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(e,t,n){"use strict";var r=n(4),o=n(317);r({target:"Number",stat:!0,forced:Number.parseFloat!=o},{parseFloat:o})},function(e,t,n){"use strict";var r=n(7),o=n(63).trim,i=n(91),a=r.parseFloat,u=1/a(i+"-0")!=-Infinity;e.exports=u?function(e){var t=o(String(e)),n=a(t);return 0===n&&"-"==t.charAt(0)?-0:n}:a},function(e,t,n){"use strict";var r=n(4),o=n(173);r({target:"Number",stat:!0,forced:Number.parseInt!=o},{parseInt:o})},function(e,t,n){"use strict";var r=n(4),o=n(37),i=n(320),a=n(125),u=n(5),c=1..toFixed,s=Math.floor,l=function f(e,t,n){return 0===t?n:t%2==1?f(e,t-1,n*e):f(e*e,t/2,n)};r({target:"Number",proto:!0,forced:c&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!u((function(){c.call({})}))},{toFixed:function(e){var t,n,r,u,c=i(this),f=o(e),d=[0,0,0,0,0,0],p="",h="0",g=function(e,t){for(var n=-1,r=t;++n<6;)r+=e*d[n],d[n]=r%1e7,r=s(r/1e7)},v=function(e){for(var t=6,n=0;--t>=0;)n+=d[t],d[t]=s(n/e),n=n%e*1e7},m=function(){for(var e=6,t="";--e>=0;)if(""!==t||0===e||0!==d[e]){var n=String(d[e]);t=""===t?n:t+a.call("0",7-n.length)+n}return t};if(f<0||f>20)throw RangeError("Incorrect fraction digits");if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(p="-",c=-c),c>1e-21)if(n=(t=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t}(c*l(2,69,1))-69)<0?c*l(2,-t,1):c/l(2,t,1),n*=4503599627370496,(t=52-t)>0){for(g(0,n),r=f;r>=7;)g(1e7,0),r-=7;for(g(l(10,r,1),0),r=t-1;r>=23;)v(1<<23),r-=23;v(1<<r),g(1,1),v(2),h=m()}else g(0,n),g(1<<-t,0),h=m()+a.call("0",f);return h=f>0?p+((u=h.length)<=f?"0."+a.call("0",f-u)+h:h.slice(0,u-f)+"."+h.slice(u-f)):p+h}})},function(e,t,n){"use strict";var r=n(36);e.exports=function(e){if("number"!=typeof e&&"Number"!=r(e))throw TypeError("Incorrect invocation");return+e}},function(e,t,n){"use strict";var r=n(4),o=n(322);r({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},function(e,t,n){"use strict";var r=n(11),o=n(5),i=n(72),a=n(114),u=n(81),c=n(19),s=n(67),l=Object.assign,f=Object.defineProperty;e.exports=!l||o((function(){if(r&&1!==l({b:1},l(f({},"a",{enumerable:!0,get:function(){f(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol(),o="abcdefghijklmnopqrst";return e[n]=7,o.split("").forEach((function(e){t[e]=e})),7!=l({},e)[n]||i(l({},t)).join("")!=o}))?function(e,t){for(var n=c(e),o=arguments.length,l=1,f=a.f,d=u.f;o>l;)for(var p,h=s(arguments[l++]),g=f?i(h).concat(f(h)):i(h),v=g.length,m=0;v>m;)p=g[m++],r&&!d.call(h,p)||(n[p]=h[p]);return n}:l},function(e,t,n){"use strict";n(4)({target:"Object",stat:!0,sham:!n(11)},{create:n(48)})},function(e,t,n){"use strict";var r=n(4),o=n(11),i=n(92),a=n(19),u=n(28),c=n(16);o&&r({target:"Object",proto:!0,forced:i},{__defineGetter__:function(e,t){c.f(a(this),e,{get:u(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var r=n(4),o=n(11);r({target:"Object",stat:!0,forced:!o,sham:!o},{defineProperties:n(156)})},function(e,t,n){"use strict";var r=n(4),o=n(11);r({target:"Object",stat:!0,forced:!o,sham:!o},{defineProperty:n(16).f})},function(e,t,n){"use strict";var r=n(4),o=n(11),i=n(92),a=n(19),u=n(28),c=n(16);o&&r({target:"Object",proto:!0,forced:i},{__defineSetter__:function(e,t){c.f(a(this),e,{set:u(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var r=n(4),o=n(174).entries;r({target:"Object",stat:!0},{entries:function(e){return o(e)}})},function(e,t,n){"use strict";var r=n(4),o=n(77),i=n(5),a=n(9),u=n(57).onFreeze,c=Object.freeze;r({target:"Object",stat:!0,forced:i((function(){c(1)})),sham:!o},{freeze:function(e){return c&&a(e)?c(u(e)):e}})},function(e,t,n){"use strict";var r=n(4),o=n(62),i=n(55);r({target:"Object",stat:!0},{fromEntries:function(e){var t={};return o(e,(function(e,n){i(t,e,n)}),undefined,!0),t}})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(30),a=n(23).f,u=n(11),c=o((function(){a(1)}));r({target:"Object",stat:!0,forced:!u||c,sham:!u},{getOwnPropertyDescriptor:function(e,t){return a(i(e),t)}})},function(e,t,n){"use strict";var r=n(4),o=n(11),i=n(112),a=n(30),u=n(23),c=n(55);r({target:"Object",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(e){for(var t,n,r=a(e),o=u.f,s=i(r),l={},f=0;s.length>f;)(n=o(r,t=s[f++]))!==undefined&&c(l,t,n);return l}})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(158).f;r({target:"Object",stat:!0,forced:o((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:i})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(19),a=n(41),u=n(122);r({target:"Object",stat:!0,forced:o((function(){a(1)})),sham:!u},{getPrototypeOf:function(e){return a(i(e))}})},function(e,t,n){"use strict";n(4)({target:"Object",stat:!0},{is:n(175)})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(9),a=Object.isExtensible;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isExtensible:function(e){return!!i(e)&&(!a||a(e))}})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(9),a=Object.isFrozen;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isFrozen:function(e){return!i(e)||!!a&&a(e)}})},function(e,t,n){"use strict";var r=n(4),o=n(5),i=n(9),a=Object.isSealed;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isSealed:function(e){return!i(e)||!!a&&a(e)}})},function(e,t,n){"use strict";var r=n(4),o=n(19),i=n(72);r({target:"Object",stat:!0,forced:n(5)((function(){i(1)}))},{keys:function(e){return i(o(e))}})},function(e,t,n){"use strict";var r=n(4),o=n(11),i=n(92),a=n(19),u=n(39),c=n(41),s=n(23).f;o&&r({target:"Object",proto:!0,forced:i},{__lookupGetter__:function(e){var t,n=a(this),r=u(e,!0);do{if(t=s(n,r))return t.get}while(n=c(n))}})},function(e,t,n){"use strict";var r=n(4),o=n(11),i=n(92),a=n(19),u=n(39),c=n(41),s=n(23).f;o&&r({target:"Object",proto:!0,forced:i},{__lookupSetter__:function(e){var t,n=a(this),r=u(e,!0);do{if(t=s(n,r))return t.set}while(n=c(n))}})},function(e,t,n){"use strict";var r=n(4),o=n(9),i=n(57).onFreeze,a=n(77),u=n(5),c=Object.preventExtensions;r({target:"Object",stat:!0,forced:u((function(){c(1)})),sham:!a},{preventExtensions:function(e){return c&&o(e)?c(i(e)):e}})},function(e,t,n){"use strict";var r=n(4),o=n(9),i=n(57).onFreeze,a=n(77),u=n(5),c=Object.seal;r({target:"Object",stat:!0,forced:u((function(){c(1)})),sham:!a},{seal:function(e){return c&&o(e)?c(i(e)):e}})},function(e,t,n){"use strict";n(4)({target:"Object",stat:!0},{setPrototypeOf:n(56)})},function(e,t,n){"use strict";var r=n(120),o=n(26),i=n(346);r||o(Object.prototype,"toString",i,{unsafe:!0})},function(e,t,n){"use strict";var r=n(120),o=n(84);e.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},function(e,t,n){"use strict";var r=n(4),o=n(174).values;r({target:"Object",stat:!0},{values:function(e){return o(e)}})},function(e,t,n){"use strict";var r=n(4),o=n(173);r({global:!0,forced:parseInt!=o},{parseInt:o})},function(e,t,n){"use strict";var r,o,i,a,u=n(4),c=n(43),s=n(7),l=n(40),f=n(176),d=n(26),p=n(76),h=n(49),g=n(60),v=n(9),m=n(28),y=n(61),b=n(36),x=n(110),w=n(62),_=n(85),E=n(45),k=n(127).set,S=n(178),C=n(179),N=n(350),A=n(128),T=n(180),O=n(32),I=n(71),M=n(15),L=n(116),V=M("species"),R="Promise",P=O.get,B=O.set,j=O.getterFor(R),D=f,F=s.TypeError,K=s.document,z=s.process,Y=l("fetch"),U=A.f,$=U,H="process"==b(z),W=!!(K&&K.createEvent&&s.dispatchEvent),G="unhandledrejection",q=I(R,(function(){if(!(x(D)!==String(D))){if(66===L)return!0;if(!H&&"function"!=typeof PromiseRejectionEvent)return!0}if(c&&!D.prototype["finally"])return!0;if(L>=51&&/native code/.test(D))return!1;var e=D.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[V]=t,!(e.then((function(){}))instanceof t)})),X=q||!_((function(e){D.all(e)["catch"]((function(){}))})),Z=function(e){var t;return!(!v(e)||"function"!=typeof(t=e.then))&&t},Q=function(e,t,n){if(!t.notified){t.notified=!0;var r=t.reactions;S((function(){for(var o=t.value,i=1==t.state,a=0;r.length>a;){var u,c,s,l=r[a++],f=i?l.ok:l.fail,d=l.resolve,p=l.reject,h=l.domain;try{f?(i||(2===t.rejection&&ne(e,t),t.rejection=1),!0===f?u=o:(h&&h.enter(),u=f(o),h&&(h.exit(),s=!0)),u===l.promise?p(F("Promise-chain cycle")):(c=Z(u))?c.call(u,d,p):d(u)):p(o)}catch(g){h&&!s&&h.exit(),p(g)}}t.reactions=[],t.notified=!1,n&&!t.rejection&&ee(e,t)}))}},J=function(e,t,n){var r,o;W?((r=K.createEvent("Event")).promise=t,r.reason=n,r.initEvent(e,!1,!0),s.dispatchEvent(r)):r={promise:t,reason:n},(o=s["on"+e])?o(r):e===G&&N("Unhandled promise rejection",n)},ee=function(e,t){k.call(s,(function(){var n,r=t.value;if(te(t)&&(n=T((function(){H?z.emit("unhandledRejection",r,e):J(G,e,r)})),t.rejection=H||te(t)?2:1,n.error))throw n.value}))},te=function(e){return 1!==e.rejection&&!e.parent},ne=function(e,t){k.call(s,(function(){H?z.emit("rejectionHandled",e):J("rejectionhandled",e,t.value)}))},re=function(e,t,n,r){return function(o){e(t,n,o,r)}},oe=function(e,t,n,r){t.done||(t.done=!0,r&&(t=r),t.value=n,t.state=2,Q(e,t,!0))},ie=function ae(e,t,n,r){if(!t.done){t.done=!0,r&&(t=r);try{if(e===n)throw F("Promise can't be resolved itself");var o=Z(n);o?S((function(){var r={done:!1};try{o.call(n,re(ae,e,r,t),re(oe,e,r,t))}catch(i){oe(e,r,i,t)}})):(t.value=n,t.state=1,Q(e,t,!1))}catch(i){oe(e,{done:!1},i,t)}}};q&&(D=function(e){y(this,D,R),m(e),r.call(this);var t=P(this);try{e(re(ie,this,t),re(oe,this,t))}catch(n){oe(this,t,n)}},(r=function(e){B(this,{type:R,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:undefined})}).prototype=p(D.prototype,{then:function(e,t){var n=j(this),r=U(E(this,D));return r.ok="function"!=typeof e||e,r.fail="function"==typeof t&&t,r.domain=H?z.domain:undefined,n.parent=!0,n.reactions.push(r),0!=n.state&&Q(this,n,!1),r.promise},"catch":function(e){return this.then(undefined,e)}}),o=function(){var e=new r,t=P(e);this.promise=e,this.resolve=re(ie,e,t),this.reject=re(oe,e,t)},A.f=U=function(e){return e===D||e===i?new o(e):$(e)},c||"function"!=typeof f||(a=f.prototype.then,d(f.prototype,"then",(function(e,t){var n=this;return new D((function(e,t){a.call(n,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof Y&&u({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return C(D,Y.apply(s,arguments))}}))),u({global:!0,wrap:!0,forced:q},{Promise:D}),h(D,R,!1,!0),g(R),i=l(R),u({target:R,stat:!0,forced:q},{reject:function(e){var t=U(this);return t.reject.call(undefined,e),t.promise}}),u({target:R,stat:!0,forced:c||q},{resolve:function(e){return C(c&&this===i?D:this,e)}}),u({target:R,stat:!0,forced:X},{all:function(e){var t=this,n=U(t),r=n.resolve,o=n.reject,i=T((function(){var n=m(t.resolve),i=[],a=0,u=1;w(e,(function(e){var c=a++,s=!1;i.push(undefined),u++,n.call(t,e).then((function(e){s||(s=!0,i[c]=e,--u||r(i))}),o)})),--u||r(i)}));return i.error&&o(i.value),n.promise},race:function(e){var t=this,n=U(t),r=n.reject,o=T((function(){var o=m(t.resolve);w(e,(function(e){o.call(t,e).then(n.resolve,r)}))}));return o.error&&r(o.value),n.promise}})},function(e,t,n){"use strict";var r=n(7);e.exports=function(e,t){var n=r.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},function(e,t,n){"use strict";var r=n(4),o=n(28),i=n(128),a=n(180),u=n(62);r({target:"Promise",stat:!0},{allSettled:function(e){var t=this,n=i.f(t),r=n.resolve,c=n.reject,s=a((function(){var n=o(t.resolve),i=[],a=0,c=1;u(e,(function(e){var o=a++,u=!1;i.push(undefined),c++,n.call(t,e).then((function(e){u||(u=!0,i[o]={status:"fulfilled",value:e},--c||r(i))}),(function(e){u||(u=!0,i[o]={status:"rejected",reason:e},--c||r(i))}))})),--c||r(i)}));return s.error&&c(s.value),n.promise}})},function(e,t,n){"use strict";var r=n(4),o=n(43),i=n(176),a=n(5),u=n(40),c=n(45),s=n(179),l=n(26);r({target:"Promise",proto:!0,real:!0,forced:!!i&&a((function(){i.prototype["finally"].call({then:function(){}},(function(){}))}))},{"finally":function(e){var t=c(this,u("Promise")),n="function"==typeof e;return this.then(n?function(n){return s(t,e()).then((function(){return n}))}:e,n?function(n){return s(t,e()).then((function(){throw n}))}:e)}}),o||"function"!=typeof i||i.prototype["finally"]||l(i.prototype,"finally",u("Promise").prototype["finally"])},function(e,t,n){"use strict";var r=n(4),o=n(40),i=n(28),a=n(12),u=n(5),c=o("Reflect","apply"),s=Function.apply;r({target:"Reflect",stat:!0,forced:!u((function(){c((function(){}))}))},{apply:function(e,t,n){return i(e),a(n),c?c(e,t,n):s.call(e,t,n)}})},function(e,t,n){"use strict";var r=n(4),o=n(40),i=n(28),a=n(12),u=n(9),c=n(48),s=n(169),l=n(5),f=o("Reflect","construct"),d=l((function(){function e(){}return!(f((function(){}),[],e)instanceof e)})),p=!l((function(){f((function(){}))})),h=d||p;r({target:"Reflect",stat:!0,forced:h,sham:h},{construct:function(e,t){i(e),a(t);var n=arguments.length<3?e:i(arguments[2]);if(p&&!d)return f(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 r=[null];return r.push.apply(r,t),new(s.apply(e,r))}var o=n.prototype,l=c(u(o)?o:Object.prototype),h=Function.apply.call(e,l,t);return u(h)?h:l}})},function(e,t,n){"use strict";var r=n(4),o=n(11),i=n(12),a=n(39),u=n(16);r({target:"Reflect",stat:!0,forced:n(5)((function(){Reflect.defineProperty(u.f({},1,{value:1}),1,{value:2})})),sham:!o},{defineProperty:function(e,t,n){i(e);var r=a(t,!0);i(n);try{return u.f(e,r,n),!0}catch(o){return!1}}})},function(e,t,n){"use strict";var r=n(4),o=n(12),i=n(23).f;r({target:"Reflect",stat:!0},{deleteProperty:function(e,t){var n=i(o(e),t);return!(n&&!n.configurable)&&delete e[t]}})},function(e,t,n){"use strict";var r=n(4),o=n(9),i=n(12),a=n(20),u=n(23),c=n(41);r({target:"Reflect",stat:!0},{get:function s(e,t){var n,r,l=arguments.length<3?e:arguments[2];return i(e)===l?e[t]:(n=u.f(e,t))?a(n,"value")?n.value:n.get===undefined?undefined:n.get.call(l):o(r=c(e))?s(r,t,l):void 0}})},function(e,t,n){"use strict";var r=n(4),o=n(11),i=n(12),a=n(23);r({target:"Reflect",stat:!0,sham:!o},{getOwnPropertyDescriptor:function(e,t){return a.f(i(e),t)}})},function(e,t,n){"use strict";var r=n(4),o=n(12),i=n(41);r({target:"Reflect",stat:!0,sham:!n(122)},{getPrototypeOf:function(e){return i(o(e))}})},function(e,t,n){"use strict";n(4)({target:"Reflect",stat:!0},{has:function(e,t){return t in e}})},function(e,t,n){"use strict";var r=n(4),o=n(12),i=Object.isExtensible;r({target:"Reflect",stat:!0},{isExtensible:function(e){return o(e),!i||i(e)}})},function(e,t,n){"use strict";n(4)({target:"Reflect",stat:!0},{ownKeys:n(112)})},function(e,t,n){"use strict";var r=n(4),o=n(40),i=n(12);r({target:"Reflect",stat:!0,sham:!n(77)},{preventExtensions:function(e){i(e);try{var t=o("Object","preventExtensions");return t&&t(e),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var r=n(4),o=n(12),i=n(9),a=n(20),u=n(5),c=n(16),s=n(23),l=n(41),f=n(52);r({target:"Reflect",stat:!0,forced:u((function(){var e=c.f({},"a",{configurable:!0});return!1!==Reflect.set(l(e),"a",1,e)}))},{set:function d(e,t,n){var r,u,p=arguments.length<4?e:arguments[3],h=s.f(o(e),t);if(!h){if(i(u=l(e)))return d(u,t,n,p);h=f(0)}if(a(h,"value")){if(!1===h.writable||!i(p))return!1;if(r=s.f(p,t)){if(r.get||r.set||!1===r.writable)return!1;r.value=n,c.f(p,t,r)}else c.f(p,t,f(0,n));return!0}return h.set!==undefined&&(h.set.call(p,n),!0)}})},function(e,t,n){"use strict";var r=n(4),o=n(12),i=n(166),a=n(56);a&&r({target:"Reflect",stat:!0},{setPrototypeOf:function(e,t){o(e),i(t);try{return a(e,t),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var r=n(11),o=n(7),i=n(71),a=n(89),u=n(16).f,c=n(53).f,s=n(93),l=n(78),f=n(94),d=n(26),p=n(5),h=n(32).set,g=n(60),v=n(15)("match"),m=o.RegExp,y=m.prototype,b=/a/g,x=/a/g,w=new m(b)!==b,_=f.UNSUPPORTED_Y;if(r&&i("RegExp",!w||_||p((function(){return x[v]=!1,m(b)!=b||m(x)==x||"/a/i"!=m(b,"i")})))){for(var E=function(e,t){var n,r=this instanceof E,o=s(e),i=t===undefined;if(!r&&o&&e.constructor===E&&i)return e;w?o&&!i&&(e=e.source):e instanceof E&&(i&&(t=l.call(e)),e=e.source),_&&(n=!!t&&t.indexOf("y")>-1)&&(t=t.replace(/y/g,""));var u=a(w?new m(e,t):m(e,t),r?this:y,E);return _&&n&&h(u,{sticky:n}),u},k=function(e){e in E||u(E,e,{configurable:!0,get:function(){return m[e]},set:function(t){m[e]=t}})},S=c(m),C=0;S.length>C;)k(S[C++]);y.constructor=E,E.prototype=y,d(o,"RegExp",E)}g("RegExp")},function(e,t,n){"use strict";var r=n(11),o=n(16),i=n(78),a=n(94).UNSUPPORTED_Y;r&&("g"!=/./g.flags||a)&&o.f(RegExp.prototype,"flags",{configurable:!0,get:i})},function(e,t,n){"use strict";var r=n(11),o=n(94).UNSUPPORTED_Y,i=n(16).f,a=n(32).get,u=RegExp.prototype;r&&o&&i(RegExp.prototype,"sticky",{configurable:!0,get:function(){if(this===u)return undefined;if(this instanceof RegExp)return!!a(this).sticky;throw TypeError("Incompatible receiver, RegExp required")}})},function(e,t,n){"use strict";n(129);var r,o,i=n(4),a=n(9),u=(r=!1,(o=/[ac]/).exec=function(){return r=!0,/./.exec.apply(this,arguments)},!0===o.test("abc")&&r),c=/./.test;i({target:"RegExp",proto:!0,forced:!u},{test:function(e){if("function"!=typeof this.exec)return c.call(this,e);var t=this.exec(e);if(null!==t&&!a(t))throw new Error("RegExp exec method returned something other than an Object or null");return!!t}})},function(e,t,n){"use strict";var r=n(26),o=n(12),i=n(5),a=n(78),u="toString",c=RegExp.prototype,s=c.toString,l=i((function(){return"/a/b"!=s.call({source:"a",flags:"b"})})),f=s.name!=u;(l||f)&&r(RegExp.prototype,u,(function(){var e=o(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(n===undefined&&e instanceof RegExp&&!("flags"in c)?a.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";var r=n(88),o=n(170);e.exports=r("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),o)},function(e,t,n){"use strict";var r=n(4),o=n(130).codeAt;r({target:"String",proto:!0},{codePointAt:function(e){return o(this,e)}})},function(e,t,n){"use strict";var r,o=n(4),i=n(23).f,a=n(13),u=n(131),c=n(25),s=n(132),l=n(43),f="".endsWith,d=Math.min,p=s("endsWith");o({target:"String",proto:!0,forced:!!(l||p||(r=i(String.prototype,"endsWith"),!r||r.writable))&&!p},{endsWith:function(e){var t=String(c(this));u(e);var n=arguments.length>1?arguments[1]:undefined,r=a(t.length),o=n===undefined?r:d(a(n),r),i=String(e);return f?f.call(t,i,o):t.slice(o-i.length,o)===i}})},function(e,t,n){"use strict";var r=n(4),o=n(47),i=String.fromCharCode,a=String.fromCodePoint;r({target:"String",stat:!0,forced:!!a&&1!=a.length},{fromCodePoint:function(e){for(var t,n=[],r=arguments.length,a=0;r>a;){if(t=+arguments[a++],o(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?i(t):i(55296+((t-=65536)>>10),t%1024+56320))}return n.join("")}})},function(e,t,n){"use strict";var r=n(4),o=n(131),i=n(25);r({target:"String",proto:!0,forced:!n(132)("includes")},{includes:function(e){return!!~String(i(this)).indexOf(o(e),arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(130).charAt,o=n(32),i=n(121),a="String Iterator",u=o.set,c=o.getterFor(a);i(String,"String",(function(e){u(this,{type:a,string:String(e),index:0})}),(function(){var e,t=c(this),n=t.string,o=t.index;return o>=n.length?{value:undefined,done:!0}:(e=r(n,o),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){"use strict";var r=n(96),o=n(12),i=n(13),a=n(25),u=n(97),c=n(98);r("match",1,(function(e,t,n){return[function(t){var n=a(this),r=t==undefined?undefined:t[e];return r!==undefined?r.call(t,n):new RegExp(t)[e](String(n))},function(e){var r=n(t,e,this);if(r.done)return r.value;var a=o(e),s=String(this);if(!a.global)return c(a,s);var l=a.unicode;a.lastIndex=0;for(var f,d=[],p=0;null!==(f=c(a,s));){var h=String(f[0]);d[p]=h,""===h&&(a.lastIndex=u(s,i(a.lastIndex),l)),p++}return 0===p?null:d}]}))},function(e,t,n){"use strict";var r=n(4),o=n(164),i=n(25),a=n(13),u=n(28),c=n(12),s=n(36),l=n(93),f=n(78),d=n(31),p=n(5),h=n(15),g=n(45),v=n(97),m=n(32),y=n(43),b=h("matchAll"),x="RegExp String",w="RegExp String Iterator",_=m.set,E=m.getterFor(w),k=RegExp.prototype,S=k.exec,C="".matchAll,N=!!C&&!p((function(){"a".matchAll(/./)})),A=o((function(e,t,n,r){_(this,{type:w,regexp:e,string:t,global:n,unicode:r,done:!1})}),x,(function(){var e=E(this);if(e.done)return{value:undefined,done:!0};var t=e.regexp,n=e.string,r=function(e,t){var n,r=e.exec;if("function"==typeof r){if("object"!=typeof(n=r.call(e,t)))throw TypeError("Incorrect exec result");return n}return S.call(e,t)}(t,n);return null===r?{value:undefined,done:e.done=!0}:e.global?(""==String(r[0])&&(t.lastIndex=v(n,a(t.lastIndex),e.unicode)),{value:r,done:!1}):(e.done=!0,{value:r,done:!1})})),T=function(e){var t,n,r,o,i,u,s=c(this),l=String(e);return t=g(s,RegExp),(n=s.flags)===undefined&&s instanceof RegExp&&!("flags"in k)&&(n=f.call(s)),r=n===undefined?"":String(n),o=new t(t===RegExp?s.source:s,r),i=!!~r.indexOf("g"),u=!!~r.indexOf("u"),o.lastIndex=a(s.lastIndex),new A(o,l,i,u)};r({target:"String",proto:!0,forced:N},{matchAll:function(e){var t,n,r,o=i(this);if(null!=e){if(l(e)&&!~String(i("flags"in k?e.flags:f.call(e))).indexOf("g"))throw TypeError("`.matchAll` does not allow non-global regexes");if(N)return C.apply(o,arguments);if((n=e[b])===undefined&&y&&"RegExp"==s(e)&&(n=T),null!=n)return u(n).call(e,o)}else if(N)return C.apply(o,arguments);return t=String(o),r=new RegExp(e,"g"),y?T.call(r,t):r[b](t)}}),y||b in k||d(k,b,T)},function(e,t,n){"use strict";var r=n(4),o=n(124).end;r({target:"String",proto:!0,forced:n(181)},{padEnd:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(4),o=n(124).start;r({target:"String",proto:!0,forced:n(181)},{padStart:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(4),o=n(30),i=n(13);r({target:"String",stat:!0},{raw:function(e){for(var t=o(e.raw),n=i(t.length),r=arguments.length,a=[],u=0;n>u;)a.push(String(t[u++])),u<r&&a.push(String(arguments[u]));return a.join("")}})},function(e,t,n){"use strict";n(4)({target:"String",proto:!0},{repeat:n(125)})},function(e,t,n){"use strict";var r=n(96),o=n(12),i=n(19),a=n(13),u=n(37),c=n(25),s=n(97),l=n(98),f=Math.max,d=Math.min,p=Math.floor,h=/\$([$&'`]|\d\d?|<[^>]*>)/g,g=/\$([$&'`]|\d\d?)/g;r("replace",2,(function(e,t,n,r){var v=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,m=r.REPLACE_KEEPS_$0,y=v?"$":"$0";return[function(n,r){var o=c(this),i=n==undefined?undefined:n[e];return i!==undefined?i.call(n,o,r):t.call(String(o),n,r)},function(e,r){if(!v&&m||"string"==typeof r&&-1===r.indexOf(y)){var i=n(t,e,this,r);if(i.done)return i.value}var c=o(e),p=String(this),h="function"==typeof r;h||(r=String(r));var g=c.global;if(g){var x=c.unicode;c.lastIndex=0}for(var w=[];;){var _=l(c,p);if(null===_)break;if(w.push(_),!g)break;""===String(_[0])&&(c.lastIndex=s(p,a(c.lastIndex),x))}for(var E,k="",S=0,C=0;C<w.length;C++){_=w[C];for(var N=String(_[0]),A=f(d(u(_.index),p.length),0),T=[],O=1;O<_.length;O++)T.push((E=_[O])===undefined?E:String(E));var I=_.groups;if(h){var M=[N].concat(T,A,p);I!==undefined&&M.push(I);var L=String(r.apply(undefined,M))}else L=b(N,p,A,T,I,r);A>=S&&(k+=p.slice(S,A)+L,S=A+N.length)}return k+p.slice(S)}];function b(e,n,r,o,a,u){var c=r+e.length,s=o.length,l=g;return a!==undefined&&(a=i(a),l=h),t.call(u,l,(function(t,i){var u;switch(i.charAt(0)){case"$":return"$";case"&":return e;case"`":return n.slice(0,r);case"'":return n.slice(c);case"<":u=a[i.slice(1,-1)];break;default:var l=+i;if(0===l)return t;if(l>s){var f=p(l/10);return 0===f?t:f<=s?o[f-1]===undefined?i.charAt(1):o[f-1]+i.charAt(1):t}u=o[l-1]}return u===undefined?"":u}))}}))},function(e,t,n){"use strict";var r=n(96),o=n(12),i=n(25),a=n(175),u=n(98);r("search",1,(function(e,t,n){return[function(t){var n=i(this),r=t==undefined?undefined:t[e];return r!==undefined?r.call(t,n):new RegExp(t)[e](String(n))},function(e){var r=n(t,e,this);if(r.done)return r.value;var i=o(e),c=String(this),s=i.lastIndex;a(s,0)||(i.lastIndex=0);var l=u(i,c);return a(i.lastIndex,s)||(i.lastIndex=s),null===l?-1:l.index}]}))},function(e,t,n){"use strict";var r=n(96),o=n(93),i=n(12),a=n(25),u=n(45),c=n(97),s=n(13),l=n(98),f=n(95),d=n(5),p=[].push,h=Math.min,g=4294967295,v=!d((function(){return!RegExp(g,"y")}));r("split",2,(function(e,t,n){var r;return r="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 r=String(a(this)),i=n===undefined?g:n>>>0;if(0===i)return[];if(e===undefined)return[r];if(!o(e))return t.call(r,e,i);for(var u,c,s,l=[],d=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),h=0,v=new RegExp(e.source,d+"g");(u=f.call(v,r))&&!((c=v.lastIndex)>h&&(l.push(r.slice(h,u.index)),u.length>1&&u.index<r.length&&p.apply(l,u.slice(1)),s=u[0].length,h=c,l.length>=i));)v.lastIndex===u.index&&v.lastIndex++;return h===r.length?!s&&v.test("")||l.push(""):l.push(r.slice(h)),l.length>i?l.slice(0,i):l}:"0".split(undefined,0).length?function(e,n){return e===undefined&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var o=a(this),i=t==undefined?undefined:t[e];return i!==undefined?i.call(t,o,n):r.call(String(o),t,n)},function(e,o){var a=n(r,e,this,o,r!==t);if(a.done)return a.value;var f=i(e),d=String(this),p=u(f,RegExp),m=f.unicode,y=(f.ignoreCase?"i":"")+(f.multiline?"m":"")+(f.unicode?"u":"")+(v?"y":"g"),b=new p(v?f:"^(?:"+f.source+")",y),x=o===undefined?g:o>>>0;if(0===x)return[];if(0===d.length)return null===l(b,d)?[d]:[];for(var w=0,_=0,E=[];_<d.length;){b.lastIndex=v?_:0;var k,S=l(b,v?d:d.slice(_));if(null===S||(k=h(s(b.lastIndex+(v?0:_)),d.length))===w)_=c(d,_,m);else{if(E.push(d.slice(w,_)),E.length===x)return E;for(var C=1;C<=S.length-1;C++)if(E.push(S[C]),E.length===x)return E;_=w=k}}return E.push(d.slice(w)),E}]}),!v)},function(e,t,n){"use strict";var r,o=n(4),i=n(23).f,a=n(13),u=n(131),c=n(25),s=n(132),l=n(43),f="".startsWith,d=Math.min,p=s("startsWith");o({target:"String",proto:!0,forced:!!(l||p||(r=i(String.prototype,"startsWith"),!r||r.writable))&&!p},{startsWith:function(e){var t=String(c(this));u(e);var n=a(d(arguments.length>1?arguments[1]:undefined,t.length)),r=String(e);return f?f.call(t,r,n):t.slice(n,n+r.length)===r}})},function(e,t,n){"use strict";var r=n(4),o=n(63).trim;r({target:"String",proto:!0,forced:n(133)("trim")},{trim:function(){return o(this)}})},function(e,t,n){"use strict";var r=n(4),o=n(63).end,i=n(133)("trimEnd"),a=i?function(){return o(this)}:"".trimEnd;r({target:"String",proto:!0,forced:i},{trimEnd:a,trimRight:a})},function(e,t,n){"use strict";var r=n(4),o=n(63).start,i=n(133)("trimStart"),a=i?function(){return o(this)}:"".trimStart;r({target:"String",proto:!0,forced:i},{trimStart:a,trimLeft:a})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("anchor")},{anchor:function(e){return o(this,"a","name",e)}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("big")},{big:function(){return o(this,"big","","")}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("blink")},{blink:function(){return o(this,"blink","","")}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("bold")},{bold:function(){return o(this,"b","","")}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("fixed")},{fixed:function(){return o(this,"tt","","")}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("fontcolor")},{fontcolor:function(e){return o(this,"font","color",e)}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("fontsize")},{fontsize:function(e){return o(this,"font","size",e)}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("italics")},{italics:function(){return o(this,"i","","")}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("link")},{link:function(e){return o(this,"a","href",e)}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("small")},{small:function(){return o(this,"small","","")}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("strike")},{strike:function(){return o(this,"strike","","")}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("sub")},{sub:function(){return o(this,"sub","","")}})},function(e,t,n){"use strict";var r=n(4),o=n(33);r({target:"String",proto:!0,forced:n(34)("sup")},{sup:function(){return o(this,"sup","","")}})},function(e,t,n){"use strict";n(46)("Float32",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";var r=n(37);e.exports=function(e){var t=r(e);if(t<0)throw RangeError("The argument can't be less than 0");return t}},function(e,t,n){"use strict";n(46)("Float64",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(46)("Int8",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(46)("Int16",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(46)("Int32",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(46)("Uint8",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(46)("Uint8",(function(e){return function(t,n,r){return e(this,t,n,r)}}),!0)},function(e,t,n){"use strict";n(46)("Uint16",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(46)("Uint32",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";var r=n(14),o=n(160),i=r.aTypedArray;(0,r.exportTypedArrayMethod)("copyWithin",(function(e,t){return o.call(i(this),e,t,arguments.length>2?arguments[2]:undefined)}))},function(e,t,n){"use strict";var r=n(14),o=n(21).every,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("every",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(14),o=n(117),i=r.aTypedArray;(0,r.exportTypedArrayMethod)("fill",(function(e){return o.apply(i(this),arguments)}))},function(e,t,n){"use strict";var r=n(14),o=n(21).filter,i=n(45),a=r.aTypedArray,u=r.aTypedArrayConstructor;(0,r.exportTypedArrayMethod)("filter",(function(e){for(var t=o(a(this),e,arguments.length>1?arguments[1]:undefined),n=i(this,this.constructor),r=0,c=t.length,s=new(u(n))(c);c>r;)s[r]=t[r++];return s}))},function(e,t,n){"use strict";var r=n(14),o=n(21).find,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("find",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(14),o=n(21).findIndex,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("findIndex",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(14),o=n(21).forEach,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("forEach",(function(e){o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(134);(0,n(14).exportTypedArrayStaticMethod)("from",n(183),r)},function(e,t,n){"use strict";var r=n(14),o=n(70).includes,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("includes",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(14),o=n(70).indexOf,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("indexOf",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(7),o=n(14),i=n(163),a=n(15)("iterator"),u=r.Uint8Array,c=i.values,s=i.keys,l=i.entries,f=o.aTypedArray,d=o.exportTypedArrayMethod,p=u&&u.prototype[a],h=!!p&&("values"==p.name||p.name==undefined),g=function(){return c.call(f(this))};d("entries",(function(){return l.call(f(this))})),d("keys",(function(){return s.call(f(this))})),d("values",g,!h),d(a,g,!h)},function(e,t,n){"use strict";var r=n(14),o=r.aTypedArray,i=r.exportTypedArrayMethod,a=[].join;i("join",(function(e){return a.apply(o(this),arguments)}))},function(e,t,n){"use strict";var r=n(14),o=n(167),i=r.aTypedArray;(0,r.exportTypedArrayMethod)("lastIndexOf",(function(e){return o.apply(i(this),arguments)}))},function(e,t,n){"use strict";var r=n(14),o=n(21).map,i=n(45),a=r.aTypedArray,u=r.aTypedArrayConstructor;(0,r.exportTypedArrayMethod)("map",(function(e){return o(a(this),e,arguments.length>1?arguments[1]:undefined,(function(e,t){return new(u(i(e,e.constructor)))(t)}))}))},function(e,t,n){"use strict";var r=n(14),o=n(134),i=r.aTypedArrayConstructor;(0,r.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,t=arguments.length,n=new(i(this))(t);t>e;)n[e]=arguments[e++];return n}),o)},function(e,t,n){"use strict";var r=n(14),o=n(86).left,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("reduce",(function(e){return o(i(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(14),o=n(86).right,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("reduceRight",(function(e){return o(i(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(14),o=r.aTypedArray,i=r.exportTypedArrayMethod,a=Math.floor;i("reverse",(function(){for(var e,t=this,n=o(t).length,r=a(n/2),i=0;i<r;)e=t[i],t[i++]=t[--n],t[n]=e;return t}))},function(e,t,n){"use strict";var r=n(14),o=n(13),i=n(182),a=n(19),u=n(5),c=r.aTypedArray;(0,r.exportTypedArrayMethod)("set",(function(e){c(this);var t=i(arguments.length>1?arguments[1]:undefined,1),n=this.length,r=a(e),u=o(r.length),s=0;if(u+t>n)throw RangeError("Wrong length");for(;s<u;)this[t+s]=r[s++]}),u((function(){new Int8Array(1).set({})})))},function(e,t,n){"use strict";var r=n(14),o=n(45),i=n(5),a=r.aTypedArray,u=r.aTypedArrayConstructor,c=r.exportTypedArrayMethod,s=[].slice;c("slice",(function(e,t){for(var n=s.call(a(this),e,t),r=o(this,this.constructor),i=0,c=n.length,l=new(u(r))(c);c>i;)l[i]=n[i++];return l}),i((function(){new Int8Array(1).slice()})))},function(e,t,n){"use strict";var r=n(14),o=n(21).some,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("some",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(14),o=r.aTypedArray,i=r.exportTypedArrayMethod,a=[].sort;i("sort",(function(e){return a.call(o(this),e)}))},function(e,t,n){"use strict";var r=n(14),o=n(13),i=n(47),a=n(45),u=r.aTypedArray;(0,r.exportTypedArrayMethod)("subarray",(function(e,t){var n=u(this),r=n.length,c=i(e,r);return new(a(n,n.constructor))(n.buffer,n.byteOffset+c*n.BYTES_PER_ELEMENT,o((t===undefined?r:i(t,r))-c))}))},function(e,t,n){"use strict";var r=n(7),o=n(14),i=n(5),a=r.Int8Array,u=o.aTypedArray,c=o.exportTypedArrayMethod,s=[].toLocaleString,l=[].slice,f=!!a&&i((function(){s.call(new a(1))}));c("toLocaleString",(function(){return s.apply(f?l.call(u(this)):u(this),arguments)}),i((function(){return[1,2].toLocaleString()!=new a([1,2]).toLocaleString()}))||!i((function(){a.prototype.toLocaleString.call([1,2])})))},function(e,t,n){"use strict";var r=n(14).exportTypedArrayMethod,o=n(5),i=n(7).Uint8Array,a=i&&i.prototype||{},u=[].toString,c=[].join;o((function(){u.call({})}))&&(u=function(){return c.call(this)});var s=a.toString!=u;r("toString",u,s)},function(e,t,n){"use strict";var r,o=n(7),i=n(76),a=n(57),u=n(88),c=n(184),s=n(9),l=n(32).enforce,f=n(151),d=!o.ActiveXObject&&"ActiveXObject"in o,p=Object.isExtensible,h=function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}},g=e.exports=u("WeakMap",h,c);if(f&&d){r=c.getConstructor(h,"WeakMap",!0),a.REQUIRED=!0;var v=g.prototype,m=v["delete"],y=v.has,b=v.get,x=v.set;i(v,{"delete":function(e){if(s(e)&&!p(e)){var t=l(this);return t.frozen||(t.frozen=new r),m.call(this,e)||t.frozen["delete"](e)}return m.call(this,e)},has:function(e){if(s(e)&&!p(e)){var t=l(this);return t.frozen||(t.frozen=new r),y.call(this,e)||t.frozen.has(e)}return y.call(this,e)},get:function(e){if(s(e)&&!p(e)){var t=l(this);return t.frozen||(t.frozen=new r),y.call(this,e)?b.call(this,e):t.frozen.get(e)}return b.call(this,e)},set:function(e,t){if(s(e)&&!p(e)){var n=l(this);n.frozen||(n.frozen=new r),y.call(this,e)?x.call(this,e,t):n.frozen.set(e,t)}else x.call(this,e,t);return this}})}},function(e,t,n){"use strict";n(88)("WeakSet",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),n(184))},function(e,t,n){"use strict";var r=n(4),o=n(7),i=n(127);r({global:!0,bind:!0,enumerable:!0,forced:!o.setImmediate||!o.clearImmediate},{setImmediate:i.set,clearImmediate:i.clear})},function(e,t,n){"use strict";var r=n(4),o=n(7),i=n(178),a=n(36),u=o.process,c="process"==a(u);r({global:!0,enumerable:!0,noTargetGet:!0},{queueMicrotask:function(e){var t=c&&u.domain;i(t?t.bind(e):e)}})},function(e,t,n){"use strict";var r=n(4),o=n(7),i=n(83),a=[].slice,u=function(e){return function(t,n){var r=arguments.length>2,o=r?a.call(arguments,2):undefined;return e(r?function(){("function"==typeof t?t:Function(t)).apply(this,o)}:t,n)}};r({global:!0,bind:!0,forced:/MSIE .\./.test(i)},{setTimeout:u(o.setTimeout),setInterval:u(o.setInterval)})},function(e,t,n){"use strict";var r=function(e){var t,n=Object.prototype,r=n.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(I){c=function(e,t,n){return e[t]=n}}function s(e,t,n,r){var o=t&&t.prototype instanceof v?t:v,i=Object.create(o.prototype),a=new A(r||[]);return i._invoke=function(e,t,n){var r=f;return function(){function o(o,i){if(r===p)throw new Error("Generator is already running");if(r===h){if("throw"===o)throw i;return O()}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var u=S(a,n);if(u){if(u===g)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===f)throw r=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=p;var c=l(e,t,n);if("normal"===c.type){if(r=n.done?h:d,c.arg===g)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r=h,n.method="throw",n.arg=c.arg)}}return o}()}(e,n,a),i}function l(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(I){return{type:"throw",arg:I}}}e.wrap=s;var f="suspendedStart",d="suspendedYield",p="executing",h="completed",g={};function v(){}function m(){}function y(){}var b={};b[i]=function(){return this};var x=Object.getPrototypeOf,w=x&&x(x(T([])));w&&w!==n&&r.call(w,i)&&(b=w);var _=y.prototype=v.prototype=Object.create(b);function E(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){var n;this._invoke=function(o,i){function a(){return new t((function(n,a){!function u(n,o,i,a){var c=l(e[n],e,o);if("throw"!==c.type){var s=c.arg,f=s.value;return f&&"object"==typeof f&&r.call(f,"__await")?t.resolve(f.__await).then((function(e){u("next",e,i,a)}),(function(e){u("throw",e,i,a)})):t.resolve(f).then((function(e){s.value=e,i(s)}),(function(e){return u("throw",e,i,a)}))}a(c.arg)}(o,i,n,a)}))}return n=n?n.then(a,a):a()}}function S(e,n){var r=e.iterator[n.method];if(r===t){if(n.delegate=null,"throw"===n.method){if(e.iterator["return"]&&(n.method="return",n.arg=t,S(e,n),"throw"===n.method))return g;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return g}var o=l(r,e.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,g;var i=o.arg;return i?i.done?(n[e.resultName]=i.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,g):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function C(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 N(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function T(e){if(e){var n=e[i];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function n(){for(;++o<e.length;)if(r.call(e,o))return n.value=e[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}return{next:O}}function O(){return{value:t,done:!0}}return m.prototype=_.constructor=y,y.constructor=m,m.displayName=c(y,u,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,c(e,u,"GeneratorFunction")),e.prototype=Object.create(_),e},e.awrap=function(e){return{__await:e}},E(k.prototype),k.prototype[a]=function(){return this},e.AsyncIterator=k,e.async=function(t,n,r,o,i){void 0===i&&(i=Promise);var a=new k(s(t,n,r,o),i);return e.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},E(_),c(_,u,"Generator"),_[i]=function(){return this},_.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=T,A.prototype={constructor:A,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(N),!e)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function o(r,o){return u.type="throw",u.arg=e,n.next=r,o&&(n.method="next",n.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],u=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),s=r.call(a,"finallyLoc");if(c&&s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,g):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),N(n),g}},"catch":function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;N(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:T(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),g}},e}(e.exports);try{regeneratorRuntime=r}catch(o){Function("r","regeneratorRuntime = r")(r)}},function(e,t,n){"use strict";!function(t,n){var r,o,i=t.html5||{},a=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,c="_html5shiv",s=0,l={};function f(){var e=g.elements;return"string"==typeof e?e.split(" "):e}function d(e){var t=l[e[c]];return t||(t={},s++,e[c]=s,l[s]=t),t}function p(e,t,r){return t||(t=n),o?t.createElement(e):(r||(r=d(t)),!(i=r.cache[e]?r.cache[e].cloneNode():u.test(e)?(r.cache[e]=r.createElem(e)).cloneNode():r.createElem(e)).canHaveChildren||a.test(e)||i.tagUrn?i:r.frag.appendChild(i));var i}function h(e){e||(e=n);var t=d(e);return!g.shivCSS||r||t.hasCSS||(t.hasCSS=!!function(e,t){var n=e.createElement("p"),r=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x<style>"+t+"</style>",r.insertBefore(n.lastChild,r.firstChild)}(e,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),o||function(e,t){t.cache||(t.cache={},t.createElem=e.createElement,t.createFrag=e.createDocumentFragment,t.frag=t.createFrag()),e.createElement=function(n){return g.shivMethods?p(n,e,t):t.createElem(n)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+f().join().replace(/[\w\-:]+/g,(function(e){return t.createElem(e),t.frag.createElement(e),'c("'+e+'")'}))+");return n}")(g,t.frag)}(e,t),e}!function(){try{var e=n.createElement("a");e.innerHTML="<xyz></xyz>",r="hidden"in e,o=1==e.childNodes.length||function(){n.createElement("a");var e=n.createDocumentFragment();return"undefined"==typeof e.cloneNode||"undefined"==typeof e.createDocumentFragment||"undefined"==typeof e.createElement}()}catch(t){r=!0,o=!0}}();var g={elements:i.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:"3.7.3",shivCSS:!1!==i.shivCSS,supportsUnknownElements:o,shivMethods:!1!==i.shivMethods,type:"default",shivDocument:h,createElement:p,createDocumentFragment:function(e,t){if(e||(e=n),o)return e.createDocumentFragment();for(var r=(t=t||d(e)).frag.cloneNode(),i=0,a=f(),u=a.length;i<u;i++)r.createElement(a[i]);return r},addElements:function(e,t){var n=g.elements;"string"!=typeof n&&(n=n.join(" ")),"string"!=typeof e&&(e=e.join(" ")),g.elements=n+" "+e,h(t)}};t.html5=g,h(n),e.exports&&(e.exports=g)}(window,document)},function(e,t,n){"use strict";!function(e){if(!document.createEvent){var t,n=!0,r=!1,o="onreadystatechange",i="DOMContentLoaded",a="__IE8__"+Math.random(),u=Object.defineProperty||function(e,t,n){e[t]=n.value},c=Object.defineProperties||function(t,n){for(var r in n)if(l.call(n,r))try{u(t,r,n[r])}catch(o){e.console}},s=Object.getOwnPropertyDescriptor,l=Object.prototype.hasOwnProperty,f=e.Element.prototype,d=e.Text.prototype,p=/^[a-z]+$/,h=/loaded|complete/,g={},v=document.createElement("div"),m=document.documentElement,y=m.removeAttribute,b=m.setAttribute,x=function(e){return{enumerable:!0,writable:!0,configurable:!0,value:e}};S(e.HTMLCommentElement.prototype,f,"nodeValue"),S(e.HTMLScriptElement.prototype,null,"text"),S(d,null,"nodeValue"),S(e.HTMLTitleElement.prototype,null,"text"),u(e.HTMLStyleElement.prototype,"textContent",(t=s(e.CSSStyleSheet.prototype,"cssText"),k((function(){return t.get.call(this.styleSheet)}),(function(e){t.set.call(this.styleSheet,e)}))));var w=/\b\s*alpha\s*\(\s*opacity\s*=\s*(\d+)\s*\)/;u(e.CSSStyleDeclaration.prototype,"opacity",{get:function(){var e=this.filter.match(w);return e?(e[1]/100).toString():""},set:function(e){this.zoom=1;var t=!1;e=e<1?" alpha(opacity="+Math.round(100*e)+")":"",this.filter=this.filter.replace(w,(function(){return t=!0,e})),!t&&e&&(this.filter+=e)}}),c(f,{textContent:{get:N,set:I},firstElementChild:{get:function(){for(var e=this.childNodes||[],t=0,n=e.length;t<n;t++)if(1==e[t].nodeType)return e[t]}},lastElementChild:{get:function(){for(var e=this.childNodes||[],t=e.length;t--;)if(1==e[t].nodeType)return e[t]}},oninput:{get:function(){return this._oninput||null},set:function(e){this._oninput&&(this.removeEventListener("input",this._oninput),this._oninput=e,e&&this.addEventListener("input",e))}},previousElementSibling:{get:function(){for(var e=this.previousSibling;e&&1!=e.nodeType;)e=e.previousSibling;return e}},nextElementSibling:{get:function(){for(var e=this.nextSibling;e&&1!=e.nodeType;)e=e.nextSibling;return e}},childElementCount:{get:function(){for(var e=0,t=this.childNodes||[],n=t.length;n--;e+=1==t[n].nodeType);return e}},addEventListener:x((function(e,t,n){if("function"==typeof t||"object"==typeof t){var r,o,i=this,c="on"+e,s=i[a]||u(i,a,{value:{}})[a],f=s[c]||(s[c]={}),d=f.h||(f.h=[]);if(!l.call(f,"w")){if(f.w=function(e){return e[a]||E(i,M(0,e),d,!1)},!l.call(g,c))if(p.test(e)){try{(r=document.createEventObject())[a]=!0,9!=i.nodeType&&(null==i.parentNode&&v.appendChild(i),(o=i.getAttribute(c))&&y.call(i,c)),i.fireEvent(c,r),g[c]=!0}catch(h){for(g[c]=!1;v.hasChildNodes();)v.removeChild(v.firstChild)}null!=o&&b.call(i,c,o)}else g[c]=!1;(f.n=g[c])&&i.attachEvent(c,f.w)}C(d,t)<0&&d[n?"unshift":"push"](t),"input"===e&&i.attachEvent("onkeyup",A)}})),dispatchEvent:x((function(e){var t,n=this,r="on"+e.type,o=n[a],i=o&&o[r],u=!!i;return e.target||(e.target=n),u?i.n?n.fireEvent(r,e):E(n,e,i.h,!0):!(t=n.parentNode)||t.dispatchEvent(e),!e.defaultPrevented})),removeEventListener:x((function(e,t,n){if("function"==typeof t||"object"==typeof t){var r="on"+e,o=this[a],i=o&&o[r],u=i&&i.h,c=u?C(u,t):-1;-1<c&&u.splice(c,1)}}))}),c(d,{addEventListener:x(f.addEventListener),dispatchEvent:x(f.dispatchEvent),removeEventListener:x(f.removeEventListener)}),c(e.XMLHttpRequest.prototype,{addEventListener:x((function(e,t,n){var r=this,o="on"+e,i=r[a]||u(r,a,{value:{}})[a],c=i[o]||(i[o]={}),s=c.h||(c.h=[]);C(s,t)<0&&(r[o]||(r[o]=function(){var t=document.createEvent("Event");t.initEvent(e,!0,!0),r.dispatchEvent(t)}),s[n?"unshift":"push"](t))})),dispatchEvent:x((function(e){var t=this,n="on"+e.type,r=t[a],o=r&&r[n];return!!o&&(o.n?t.fireEvent(n,e):E(t,e,o.h,!0))})),removeEventListener:x(f.removeEventListener)});var _=s(Event.prototype,"button").get;c(e.Event.prototype,{bubbles:x(!0),cancelable:x(!0),preventDefault:x((function(){this.cancelable&&(this.returnValue=!1)})),stopPropagation:x((function(){this.stoppedPropagation=!0,this.cancelBubble=!0})),stopImmediatePropagation:x((function(){this.stoppedImmediatePropagation=!0,this.stopPropagation()})),initEvent:x((function(e,t,n){this.type=e,this.bubbles=!!t,this.cancelable=!!n,this.bubbles||this.stopPropagation()})),pageX:{get:function(){return this._pageX||(this._pageX=this.clientX+e.scrollX-(m.clientLeft||0))}},pageY:{get:function(){return this._pageY||(this._pageY=this.clientY+e.scrollY-(m.clientTop||0))}},which:{get:function(){return this.keyCode?this.keyCode:isNaN(this.button)?undefined:this.button+1}},charCode:{get:function(){return this.keyCode&&"keypress"==this.type?this.keyCode:0}},buttons:{get:function(){return _.call(this)}},button:{get:function(){var e=this.buttons;return 1&e?0:2&e?2:4&e?1:undefined}},defaultPrevented:{get:function(){var e=this.returnValue;return!(void 0===e||e)}},relatedTarget:{get:function(){var e=this.type;return"mouseover"===e?this.fromElement:"mouseout"===e?this.toElement:null}}}),c(e.HTMLDocument.prototype,{defaultView:{get:function(){return this.parentWindow}},textContent:{get:function(){return 11===this.nodeType?N.call(this):null},set:function(e){11===this.nodeType&&I.call(this,e)}},addEventListener:x((function(t,r,a){var u=this;f.addEventListener.call(u,t,r,a),n&&t===i&&!h.test(u.readyState)&&(n=!1,u.attachEvent(o,T),e==top&&function c(e){try{u.documentElement.doScroll("left"),T()}catch(t){setTimeout(c,50)}}())})),dispatchEvent:x(f.dispatchEvent),removeEventListener:x(f.removeEventListener),createEvent:x((function(e){var t;if("Event"!==e)throw new Error("unsupported "+e);return(t=document.createEventObject()).timeStamp=(new Date).getTime(),t}))}),c(e.Window.prototype,{getComputedStyle:x(function(){var e=/^(?:[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|))(?!px)[a-z%]+$/,t=/^(top|right|bottom|left)$/,n=/\-([a-z])/g,r=function(e,t){return t.toUpperCase()};function o(e){this._=e}function i(){}return o.prototype.getPropertyValue=function(o){var i,a,u,c=this._,s=c.style,l=c.currentStyle,f=c.runtimeStyle;return"opacity"==o?s.opacity||"1":(o=("float"===o?"style-float":o).replace(n,r),i=l?l[o]:s[o],e.test(i)&&!t.test(o)&&(a=s.left,(u=f&&f.left)&&(f.left=l.left),s.left="fontSize"===o?"1em":i,i=s.pixelLeft+"px",s.left=a,u&&(f.left=u)),null==i?i:i+""||"auto")},i.prototype.getPropertyValue=function(){return null},function(e,t){return t?new i(e):new o(e)}}()),addEventListener:x((function(t,n,r){var o,i=e,u="on"+t;i[u]||(i[u]=function(e){return E(i,M(0,e),o,!1)&&undefined}),C(o=i[u][a]||(i[u][a]=[]),n)<0&&o[r?"unshift":"push"](n)})),dispatchEvent:x((function(t){var n=e["on"+t.type];return!n||!1!==n.call(e,t)&&!t.defaultPrevented})),removeEventListener:x((function(t,n,r){var o=(e["on"+t]||Object)[a],i=o?C(o,n):-1;-1<i&&o.splice(i,1)})),pageXOffset:{get:O("scrollLeft")},pageYOffset:{get:O("scrollTop")},scrollX:{get:O("scrollLeft")},scrollY:{get:O("scrollTop")},innerWidth:{get:O("clientWidth")},innerHeight:{get:O("clientHeight")}}),e.HTMLElement=e.Element,function(e,t,n){for(n=0;n<t.length;n++)document.createElement(t[n]);e.length||document.createStyleSheet(""),e[0].addRule(t.join(","),"display:block;")}(document.styleSheets,["header","nav","section","article","aside","footer"]),function(){if(!document.createRange){document.createRange=function(){return new n};var e=n.prototype;e.cloneContents=function(){for(var e=this._start.ownerDocument.createDocumentFragment(),n=t(this._start,this._end),r=0,o=n.length;r<o;r++)e.appendChild(n[r].cloneNode(!0));return e},e.cloneRange=function(){var e=new n;return e._start=this._start,e._end=this._end,e},e.deleteContents=function(){for(var e=this._start.parentNode,n=t(this._start,this._end),r=0,o=n.length;r<o;r++)e.removeChild(n[r])},e.extractContents=function(){for(var e=this._start.ownerDocument.createDocumentFragment(),n=t(this._start,this._end),r=0,o=n.length;r<o;r++)e.appendChild(n[r]);return e},e.setEndAfter=function(e){this._end=e},e.setEndBefore=function(e){this._end=e.previousSibling},e.setStartAfter=function(e){this._start=e.nextSibling},e.setStartBefore=function(e){this._start=e}}function t(e,t){for(var n=[e];e!==t;)n.push(e=e.nextSibling);return n}function n(){}}()}function E(e,t,n,r){for(var o,i,a=n.slice(),u=function(e,t){return e.currentTarget=t,e.eventPhase=e.target===e.currentTarget?2:3,e}(t,e),c=0,s=a.length;c<s&&("object"==typeof(o=a[c])?"function"==typeof o.handleEvent&&o.handleEvent(u):o.call(e,u),!u.stoppedImmediatePropagation);c++);return i=!u.stoppedPropagation,r&&i&&e.parentNode?e.parentNode.dispatchEvent(u):!u.defaultPrevented}function k(e,t){return{configurable:!0,get:e,set:t}}function S(e,t,n){var r=s(t||e,n);u(e,"textContent",k((function(){return r.get.call(this)}),(function(e){r.set.call(this,e)})))}function C(e,t){for(var n=e.length;n--&&e[n]!==t;);return n}function N(){if("BR"===this.tagName)return"\n";for(var e=this.firstChild,t=[];e;)8!==e.nodeType&&7!==e.nodeType&&t.push(e.textContent),e=e.nextSibling;return t.join("")}function A(e){var t=document.createEvent("Event");t.initEvent("input",!0,!0),(e.srcElement||e.fromElement||document).dispatchEvent(t)}function T(e){!r&&h.test(document.readyState)&&(r=!r,document.detachEvent(o,T),(e=document.createEvent("Event")).initEvent(i,!0,!0),document.dispatchEvent(e))}function O(e){return function(){return m[e]||document.body&&document.body[e]||0}}function I(e){for(var t;t=this.lastChild;)this.removeChild(t);null!=e&&this.appendChild(document.createTextNode(e))}function M(t,n){return n||(n=e.event),n.target||(n.target=n.srcElement||n.fromElement||document),n.timeStamp||(n.timeStamp=(new Date).getTime()),n}}(window)},function(e,t,n){"use strict";!function(e){function t(){return f.createDocumentFragment()}function n(e){return f.createElement(e)}function r(e,t){if(!e)throw new Error("Failed to construct "+t+": 1 argument required, but only 0 present.")}function o(e){if(1===e.length)return i(e[0]);for(var n=t(),r=L.call(e),o=0;o<e.length;o++)n.appendChild(i(r[o]));return n}function i(e){return"object"==typeof e?e:f.createTextNode(e)}for(var a,u,c,s,l,f=e.document,d=Object.prototype.hasOwnProperty,p=Object.defineProperty||function(e,t,n){return d.call(n,"value")?e[t]=n.value:(d.call(n,"get")&&e.__defineGetter__(t,n.get),d.call(n,"set")&&e.__defineSetter__(t,n.set)),e},h=[].indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},g=function(e){var t="undefined"==typeof e.className,n=t?e.getAttribute("class")||"":e.className,r=t||"object"==typeof n,o=(r?t?n:n.baseVal:n).replace(m,"");o.length&&M.push.apply(this,o.split(y)),this._isSVG=r,this._=e},v={get:function(){return new g(this)},set:function(){}},m=/^\s+|\s+$/g,y=/\s+/,b="classList",x=function(e,t){return this.contains(e)?t||this.remove(e):(t===undefined||t)&&(t=!0,this.add(e)),!!t},w=e.DocumentFragment&&DocumentFragment.prototype,_=e.Node,E=(_||Element).prototype,k=e.CharacterData||_,S=k&&k.prototype,C=e.DocumentType,N=C&&C.prototype,A=(e.Element||_||e.HTMLElement).prototype,T=e.HTMLSelectElement||n("select").constructor,O=T.prototype.remove,I=e.SVGElement,M=["matches",A.matchesSelector||A.webkitMatchesSelector||A.khtmlMatchesSelector||A.mozMatchesSelector||A.msMatchesSelector||A.oMatchesSelector||function(e){var t=this.parentNode;return!!t&&-1<h.call(t.querySelectorAll(e),this)},"closest",function(e){for(var t,n=this;(t=n&&n.matches)&&!n.matches(e);)n=n.parentNode;return t?n:null},"prepend",function(){var e=this.firstChild,t=o(arguments);e?this.insertBefore(t,e):this.appendChild(t)},"append",function(){this.appendChild(o(arguments))},"before",function(){var e=this.parentNode;e&&e.insertBefore(o(arguments),this)},"after",function(){var e=this.parentNode,t=this.nextSibling,n=o(arguments);e&&(t?e.insertBefore(n,t):e.appendChild(n))},"toggleAttribute",function(e,t){var n=this.hasAttribute(e);return 1<arguments.length?n&&!t?this.removeAttribute(e):t&&!n&&this.setAttribute(e,""):n?this.removeAttribute(e):this.setAttribute(e,""),this.hasAttribute(e)},"replace",function(){this.replaceWith.apply(this,arguments)},"replaceWith",function(){var e=this.parentNode;e&&e.replaceChild(o(arguments),this)},"remove",function(){var e=this.parentNode;e&&e.removeChild(this)}],L=M.slice,V=M.length;V;V-=2)if((u=M[V-2])in A||(A[u]=M[V-1]),"remove"!==u||O._dom4||((T.prototype[u]=function(){return 0<arguments.length?O.apply(this,arguments):A.remove.call(this)})._dom4=!0),/^(?:before|after|replace|replaceWith|remove)$/.test(u)&&(k&&!(u in S)&&(S[u]=M[V-1]),C&&!(u in N)&&(N[u]=M[V-1])),/^(?:append|prepend)$/.test(u))if(w)u in w||(w[u]=M[V-1]);else try{t().constructor.prototype[u]=M[V-1]}catch(P){}var R;n("a").matches("a")||(A[u]=(R=A[u],function(e){return R.call(this.parentNode?this:t().appendChild(this),e)})),g.prototype={length:0,add:function(){for(var e,t=0;t<arguments.length;t++)e=arguments[t],this.contains(e)||M.push.call(this,u);this._isSVG?this._.setAttribute("class",""+this):this._.className=""+this},contains:function(e){return function(t){return-1<(V=e.call(this,u=function(e){if(!e)throw"SyntaxError";if(y.test(e))throw"InvalidCharacterError";return e}(t)))}}([].indexOf||function(e){for(V=this.length;V--&&this[V]!==e;);return V}),item:function(e){return this[e]||null},remove:function(){for(var e,t=0;t<arguments.length;t++)e=arguments[t],this.contains(e)&&M.splice.call(this,V,1);this._isSVG?this._.setAttribute("class",""+this):this._.className=""+this},toggle:x,toString:function(){return M.join.call(this," ")}},I&&!(b in I.prototype)&&p(I.prototype,b,v),b in f.documentElement?((s=n("div").classList).add("a","b","a"),"a b"!=s&&("add"in(c=s.constructor.prototype)||(c=e.TemporaryTokenList.prototype),l=function(e){return function(){for(var t=0;t<arguments.length;)e.call(this,arguments[t++])}},c.add=l(c.add),c.remove=l(c.remove),c.toggle=x)):p(A,b,v),"contains"in E||p(E,"contains",{value:function(e){for(;e&&e!==this;)e=e.parentNode;return this===e}}),"head"in f||p(f,"head",{get:function(){return a||(a=f.getElementsByTagName("head")[0])}}),function(){for(var t,n=e.requestAnimationFrame,r=e.cancelAnimationFrame,o=["o","ms","moz","webkit"],i=o.length;!r&&i--;)n=n||e[o[i]+"RequestAnimationFrame"],r=e[o[i]+"CancelAnimationFrame"]||e[o[i]+"CancelRequestAnimationFrame"];r||(n?(t=n,n=function(e){var n=!0;return t((function(){n&&e.apply(this,arguments)})),function(){n=!1}},r=function(e){e()}):(n=function(e){return setTimeout(e,15,15)},r=function(e){clearTimeout(e)})),e.requestAnimationFrame=n,e.cancelAnimationFrame=r}();try{new e.CustomEvent("?")}catch(P){e.CustomEvent=function(e,t){function n(e,t,n,r){this.initEvent(e,t,n),this.detail=r}return function(r,o){var i=f.createEvent(e);if("string"!=typeof r)throw new Error("An event name must be provided");return"Event"==e&&(i.initCustomEvent=n),null==o&&(o=t),i.initCustomEvent(r,o.bubbles,o.cancelable,o.detail),i}}(e.CustomEvent?"CustomEvent":"Event",{bubbles:!1,cancelable:!1,detail:null})}try{new Event("_")}catch(P){P=function(e){function t(e,t){r(arguments.length,"Event");var n=f.createEvent("Event");return t||(t={}),n.initEvent(e,!!t.bubbles,!!t.cancelable),n}return t.prototype=e.prototype,t}(e.Event||function(){}),p(e,"Event",{value:P}),Event!==P&&(Event=P)}try{new KeyboardEvent("_",{})}catch(P){P=function(t){var n,o=0,i={char:"",key:"",location:0,ctrlKey:!1,shiftKey:!1,altKey:!1,metaKey:!1,altGraphKey:!1,repeat:!1,locale:navigator.language,detail:0,bubbles:!1,cancelable:!1,keyCode:0,charCode:0,which:0};try{var a=f.createEvent("KeyboardEvent");a.initKeyboardEvent("keyup",!1,!1,e,"+",3,!0,!1,!0,!1,!1),o="+"==(a.keyIdentifier||a.key)&&3==(a.keyLocation||a.location)&&(a.ctrlKey?a.altKey?1:3:a.shiftKey?2:4)||9}catch(P){}function u(e){for(var t=[],n=["ctrlKey","Control","shiftKey","Shift","altKey","Alt","metaKey","Meta","altGraphKey","AltGraph"],r=0;r<n.length;r+=2)e[n[r]]&&t.push(n[r+1]);return t.join(" ")}function c(e,t){for(var n in t)t.hasOwnProperty(n)&&!t.hasOwnProperty.call(e,n)&&(e[n]=t[n]);return e}function s(e,t,n){try{t[e]=n[e]}catch(P){}}function l(t,a){r(arguments.length,"KeyboardEvent"),a=c(a||{},i);var l,d=f.createEvent(n),p=a.ctrlKey,h=a.shiftKey,g=a.altKey,v=a.metaKey,m=a.altGraphKey,y=o>3?u(a):null,b=String(a.key),x=String(a.char),w=a.location,_=a.keyCode||(a.keyCode=b)&&b.charCodeAt(0)||0,E=a.charCode||(a.charCode=x)&&x.charCodeAt(0)||0,k=a.bubbles,S=a.cancelable,C=a.repeat,N=a.locale,A=a.view||e;if(a.which||(a.which=a.keyCode),"initKeyEvent"in d)d.initKeyEvent(t,k,S,A,p,g,h,v,_,E);else if(0<o&&"initKeyboardEvent"in d){switch(l=[t,k,S,A],o){case 1:l.push(b,w,p,h,g,v,m);break;case 2:l.push(p,g,h,v,_,E);break;case 3:l.push(b,w,p,g,h,v,m);break;case 4:l.push(b,w,y,C,N);break;default:l.push(char,b,w,y,C,N)}d.initKeyboardEvent.apply(d,l)}else d.initEvent(t,k,S);for(b in d)i.hasOwnProperty(b)&&d[b]!==a[b]&&s(b,d,a);return d}return n=0<o?"KeyboardEvent":"Event",l.prototype=t.prototype,l}(e.KeyboardEvent||function(){}),p(e,"KeyboardEvent",{value:P}),KeyboardEvent!==P&&(KeyboardEvent=P)}try{new MouseEvent("_",{})}catch(P){P=function(t){function n(t,n){r(arguments.length,"MouseEvent");var o=f.createEvent("MouseEvent");return n||(n={}),o.initMouseEvent(t,!!n.bubbles,!!n.cancelable,n.view||e,n.detail||1,n.screenX||0,n.screenY||0,n.clientX||0,n.clientY||0,!!n.ctrlKey,!!n.altKey,!!n.shiftKey,!!n.metaKey,n.button||0,n.relatedTarget||null),o}return n.prototype=t.prototype,n}(e.MouseEvent||function(){}),p(e,"MouseEvent",{value:P}),MouseEvent!==P&&(MouseEvent=P)}f.querySelectorAll("*").forEach||function(){function e(e){var t=e.querySelectorAll;e.querySelectorAll=function(e){var n=t.call(this,e);return n.forEach=Array.prototype.forEach,n}}e(f),e(Element.prototype)}();try{f.querySelector(":scope *")}catch(P){!function(){var e="data-scope-"+(1e9*Math.random()>>>0),t=Element.prototype,n=t.querySelector,r=t.querySelectorAll;function o(t,n,r){t.setAttribute(e,null);var o=n.call(t,String(r).replace(/(^|,\s*)(:scope([ >]|$))/g,(function(t,n,r,o){return n+"["+e+"]"+(o||" ")})));return t.removeAttribute(e),o}t.querySelector=function(e){return o(this,n,e)},t.querySelectorAll=function(e){return o(this,r,e)}}()}}(window),function(e){var t=e.WeakMap||function(){var e,t=0,n=!1,r=!1;function o(t,o,i){r=i,n=!1,e=undefined,t.dispatchEvent(o)}function i(e){this.value=e}function u(){t++,this.__ce__=new a("@DOMMap:"+t+Math.random())}return i.prototype.handleEvent=function(t){n=!0,r?t.currentTarget.removeEventListener(t.type,this,!1):e=this.value},u.prototype={constructor:u,"delete":function(e){return o(e,this.__ce__,!0),n},get:function(t){o(t,this.__ce__,!1);var n=e;return e=undefined,n},has:function(e){return o(e,this.__ce__,!1),n},set:function(e,t){return o(e,this.__ce__,!0),e.addEventListener(this.__ce__.type,new i(t),!1),this}},u}();function n(){}function r(e,t,n){function o(e){o.once&&(e.currentTarget.removeEventListener(e.type,t,o),o.removed=!0),o.passive&&(e.preventDefault=r.preventDefault),"function"==typeof o.callback?o.callback.call(this,e):o.callback&&o.callback.handleEvent(e),o.passive&&delete e.preventDefault}return o.type=e,o.callback=t,o.capture=!!n.capture,o.passive=!!n.passive,o.once=!!n.once,o.removed=!1,o}n.prototype=(Object.create||Object)(null),r.preventDefault=function(){};var o,i,a=e.CustomEvent,u=e.dispatchEvent,c=e.addEventListener,s=e.removeEventListener,l=0,f=function(){l++},d=[].indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},p=function(e){return"".concat(e.capture?"1":"0",e.passive?"1":"0",e.once?"1":"0")};try{c("_",f,{once:!0}),u(new a("_")),u(new a("_")),s("_",f,{once:!0})}catch(h){}1!==l&&(i=new t,o=function(e){if(e){var t=e.prototype;t.addEventListener=function(e){return function(t,o,a){if(a&&"boolean"!=typeof a){var u,c,s,l=i.get(this),f=p(a);l||i.set(this,l=new n),t in l||(l[t]={handler:[],wrap:[]}),c=l[t],(u=d.call(c.handler,o))<0?(u=c.handler.push(o)-1,c.wrap[u]=s=new n):s=c.wrap[u],f in s||(s[f]=r(t,o,a),e.call(this,t,s[f],s[f].capture))}else e.call(this,t,o,a)}}(t.addEventListener),t.removeEventListener=function(e){return function(t,n,r){if(r&&"boolean"!=typeof r){var o,a,u,c,s=i.get(this);if(s&&t in s&&(u=s[t],-1<(a=d.call(u.handler,n))&&(o=p(r))in(c=u.wrap[a]))){for(o in e.call(this,t,c[o],c[o].capture),delete c[o],c)return;u.handler.splice(a,1),u.wrap.splice(a,1),0===u.handler.length&&delete s[t]}}else e.call(this,t,n,r)}}(t.removeEventListener)}},e.EventTarget?o(EventTarget):(o(e.Text),o(e.Element||e.HTMLElement),o(e.HTMLDocument),o(e.Window||{prototype:e}),o(e.XMLHttpRequest)))}(window)},function(e,t,n){"use strict";!function(e){if("undefined"!=typeof e.setAttribute){var t=function(e){return e.replace(/-[a-z]/g,(function(e){return e[1].toUpperCase()}))};e.setProperty=function(e,n){var r=t(e);if(!n)return this.removeAttribute(r);var o=String(n);return this.setAttribute(r,o)},e.getPropertyValue=function(e){var n=t(e);return this.getAttribute(n)||null},e.removeProperty=function(e){var n=t(e),r=this.getAttribute(n);return this.removeAttribute(n),r}}}(CSSStyleDeclaration.prototype)},function(e,t,n){"use strict";window.Int32Array||(window.Int32Array=Array)},,function(e,t,n){"use strict";t.__esModule=!0,t._CI=Te,t._HI=j,t._M=Oe,t._MCCC=Ve,t._ME=Me,t._MFCC=Re,t._MP=Ne,t._MR=be,t.__render=Fe,t.createComponentVNode=function(e,t,n,r,o){var a=new O(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),r,function(e,t,n){var r=(32768&e?t.render:t).defaultProps;if(i(r))return n;if(i(n))return l(r,null);return N(n,r)}(e,t,n),function(e,t,n){if(4&e)return n;var r=(32768&e?t.render:t).defaultHooks;if(i(r))return n;if(i(n))return r;return N(n,r)}(e,t,o),t);k.createVNode&&k.createVNode(a);return a},t.createFragment=L,t.createPortal=function(e,t){var n=j(e);return I(1024,1024,null,n,0,null,n.key,t)},t.createRef=function(){return{current:null}},t.createRenderer=function(e){return function(t,n,r,o){e||(e=t),Ke(n,e,r,o)}},t.createTextVNode=M,t.createVNode=I,t.directClone=V,t.findDOMfromVNode=b,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"$F":return 8192;default:return 1}},t.linkEvent=function(e,t){if(u(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&&i(e.children)&&B(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?l(e.ref,t.ref):t.ref,t.ref=undefined)}return e},t.render=Ke,t.rerender=We,t.version=t.options=t.Fragment=t.EMPTY_OBJ=t.Component=void 0;var r=Array.isArray;function o(e){var t=typeof e;return"string"===t||"number"===t}function i(e){return null==e}function a(e){return null===e||!1===e||!0===e||void 0===e}function u(e){return"function"==typeof e}function c(e){return"string"==typeof e}function s(e){return null===e}function l(e,t){var n={};if(e)for(var r in e)n[r]=e[r];if(t)for(var o in t)n[o]=t[o];return n}function f(e){return!s(e)&&"object"==typeof e}var d={};t.EMPTY_OBJ=d;function p(e){return e.substr(2).toLowerCase()}function h(e,t){e.appendChild(t)}function g(e,t,n){s(n)?h(e,t):e.insertBefore(t,n)}function v(e,t){e.removeChild(t)}function m(e){for(var t=0;t<e.length;t++)e[t]()}function y(e,t,n){var r=e.children;return 4&n?r.$LI:8192&n?2===e.childFlags?r:r[t?0:r.length-1]:r}function b(e,t){for(var n;e;){if(2033&(n=e.flags))return e.dom;e=y(e,t,n)}return null}function x(e,t){do{var n=e.flags;if(2033&n)return void v(t,e.dom);var r=e.children;if(4&n&&(e=r.$LI),8&n&&(e=r),8192&n){if(2!==e.childFlags){for(var o=0,i=r.length;o<i;++o)x(r[o],t);return}e=r}}while(e)}function w(e,t,n){do{var r=e.flags;if(2033&r)return void g(t,e.dom,n);var o=e.children;if(4&r&&(e=o.$LI),8&r&&(e=o),8192&r){if(2!==e.childFlags){for(var i=0,a=o.length;i<a;++i)w(o[i],t,n);return}e=o}}while(e)}function _(e,t,n){return e.constructor.getDerivedStateFromProps?l(n,e.constructor.getDerivedStateFromProps(t,n)):n}t.Fragment="$F";var E={v:!1},k={componentComparator:null,createVNode:null,renderComplete:null};function S(e,t){e.textContent=t}function C(e,t){return f(e)&&e.event===t.event&&e.data===t.data}function N(e,t){for(var n in t)void 0===e[n]&&(e[n]=t[n]);return e}function A(e,t){return!!u(e)&&(e(t),!0)}t.options=k;var T="$";function O(e,t,n,r,o,i,a,u){this.childFlags=e,this.children=t,this.className=n,this.dom=null,this.flags=r,this.key=void 0===o?null:o,this.props=void 0===i?null:i,this.ref=void 0===a?null:a,this.type=u}function I(e,t,n,r,o,i,a,u){var c=void 0===o?1:o,s=new O(c,r,n,e,a,i,u,t);return k.createVNode&&k.createVNode(s),0===c&&B(s,s.children),s}function M(e,t){return new O(1,i(e)||!0===e||!1===e?"":e,null,16,t,null,null,null)}function L(e,t,n){var r=I(8192,8192,null,e,t,null,n,null);switch(r.childFlags){case 1:r.children=R(),r.childFlags=2;break;case 16:r.children=[M(e)],r.childFlags=4}return r}function V(e){var t=-16385&e.flags,n=e.props;if(14&t&&!s(n)){var r=n;for(var o in n={},r)n[o]=r[o]}return 0==(8192&t)?new O(e.childFlags,e.children,e.className,t,e.key,n,e.ref,e.type):function(e){var t,n=e.children,r=e.childFlags;if(2===r)t=V(n);else if(12&r){t=[];for(var o=0,i=n.length;o<i;++o)t.push(V(n[o]))}return L(t,r,e.key)}(e)}function R(){return M("",null)}function P(e,t,n,i){for(var u=e.length;n<u;n++){var l=e[n];if(!a(l)){var f=i+T+n;if(r(l))P(l,t,0,f);else{if(o(l))l=M(l,f);else{var d=l.key,p=c(d)&&d[0]===T;(81920&l.flags||p)&&(l=V(l)),l.flags|=65536,p?d.substring(0,i.length)!==i&&(l.key=i+d):s(d)?l.key=f:l.key=i+d}t.push(l)}}}}function B(e,t){var n,i=1;if(a(t))n=t;else if(o(t))i=16,n=t;else if(r(t)){for(var u=t.length,l=0;l<u;++l){var f=t[l];if(a(f)||r(f)){n=n||t.slice(0,l),P(t,n,l,"");break}if(o(f))(n=n||t.slice(0,l)).push(M(f,T+l));else{var d=f.key,p=(81920&f.flags)>0,h=s(d),g=c(d)&&d[0]===T;p||h||g?(n=n||t.slice(0,l),(p||g)&&(f=V(f)),(h||g)&&(f.key=T+l),n.push(f)):n&&n.push(f),f.flags|=65536}}i=0===(n=n||t).length?1:8}else(n=t).flags|=65536,81920&t.flags&&(n=V(t)),i=2;return e.children=n,e.childFlags=i,e}function j(e){return a(e)||o(e)?M(e,null):r(e)?L(e,0,null):16384&e.flags?V(e):e}var D="http://www.w3.org/1999/xlink",F="http://www.w3.org/XML/1998/namespace",K={"xlink:actuate":D,"xlink:arcrole":D,"xlink:href":D,"xlink:role":D,"xlink:show":D,"xlink:title":D,"xlink:type":D,"xml:base":F,"xml:lang":F,"xml:space":F};function z(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 Y=z(0),U=z(null),$=z(!0);function H(e,t){var n=t.$EV;return n||(n=t.$EV=z(null)),n[e]||1==++Y[e]&&(U[e]=function(e){var t="onClick"===e||"onDblClick"===e?function(e){return function(t){0===t.button?G(t,!0,e,Q(t)):t.stopPropagation()}}(e):function(e){return function(t){G(t,!1,e,Q(t))}}(e);return document.addEventListener(p(e),t),t}(e)),n}function W(e,t){var n=t.$EV;n&&n[e]&&(0==--Y[e]&&(document.removeEventListener(p(e),U[e]),U[e]=null),n[e]=null)}function G(e,t,n,r){var o=function(e){return u(e.composedPath)?e.composedPath()[0]:e.target}(e);do{if(t&&o.disabled)return;var i=o.$EV;if(i){var a=i[n];if(a&&(r.dom=o,a.event?a.event(a.data,e):a(e),e.cancelBubble))return}o=o.parentNode}while(!s(o))}function q(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function X(){return this.defaultPrevented}function Z(){return this.cancelBubble}function Q(e){var t={dom:document};return e.isDefaultPrevented=X,e.isPropagationStopped=Z,e.stopPropagation=q,Object.defineProperty(e,"currentTarget",{configurable:!0,get:function(){return t.dom}}),t}function J(e,t,n){if(e[t]){var r=e[t];r.event?r.event(r.data,n):r(n)}else{var o=t.toLowerCase();e[o]&&e[o](n)}}function ee(e,t){var n=function(n){var r=this.$V;if(r){var o=r.props||d,i=r.dom;if(c(e))J(o,e,n);else for(var a=0;a<e.length;++a)J(o,e[a],n);if(u(t)){var s=this.$V,l=s.props||d;t(l,i,!1,s)}}};return Object.defineProperty(n,"wrapped",{configurable:!1,enumerable:!1,value:!0,writable:!1}),n}function te(e,t,n){var r="$"+t,o=e[r];if(o){if(o[1].wrapped)return;e.removeEventListener(o[0],o[1]),e[r]=null}u(n)&&(e.addEventListener(t,n),e[r]=[t,n])}function ne(e){return"checkbox"===e||"radio"===e}var re=ee("onInput",ae),oe=ee(["onClick","onChange"],ae);function ie(e){e.stopPropagation()}function ae(e,t){var n=e.type,r=e.value,o=e.checked,a=e.multiple,u=e.defaultValue,c=!i(r);n&&n!==t.type&&t.setAttribute("type",n),i(a)||a===t.multiple||(t.multiple=a),i(u)||c||(t.defaultValue=u+""),ne(n)?(c&&(t.value=r),i(o)||(t.checked=o)):c&&t.value!==r?(t.defaultValue=r,t.value=r):i(o)||(t.checked=o)}function ue(e,t){if("option"===e.type)!function(e,t){var n=e.props||d,o=e.dom;o.value=n.value,n.value===t||r(t)&&-1!==t.indexOf(n.value)?o.selected=!0:i(t)&&i(n.selected)||(o.selected=n.selected||!1)}(e,t);else{var n=e.children,o=e.flags;if(4&o)ue(n.$LI,t);else if(8&o)ue(n,t);else if(2===e.childFlags)ue(n,t);else if(12&e.childFlags)for(var a=0,u=n.length;a<u;++a)ue(n[a],t)}}ie.wrapped=!0;var ce=ee("onChange",se);function se(e,t,n,r){var o=Boolean(e.multiple);i(e.multiple)||o===t.multiple||(t.multiple=o);var a=e.selectedIndex;if(-1===a&&(t.selectedIndex=-1),1!==r.childFlags){var u=e.value;"number"==typeof a&&a>-1&&t.options[a]&&(u=t.options[a].value),n&&i(u)&&(u=e.defaultValue),ue(r,u)}}var le,fe,de=ee("onInput",he),pe=ee("onChange");function he(e,t,n){var r=e.value,o=t.value;if(i(r)){if(n){var a=e.defaultValue;i(a)||a===o||(t.defaultValue=a,t.value=a)}}else o!==r&&(t.defaultValue=r,t.value=r)}function ge(e,t,n,r,o,i){64&e?ae(r,n):256&e?se(r,n,o,t):128&e&&he(r,n,o),i&&(n.$V=t)}function ve(e,t,n){64&e?function(e,t){ne(t.type)?(te(e,"change",oe),te(e,"click",ie)):te(e,"input",re)}(t,n):256&e?function(e){te(e,"change",ce)}(t):128&e&&function(e,t){te(e,"input",de),t.onChange&&te(e,"change",pe)}(t,n)}function me(e){return e.type&&ne(e.type)?!i(e.checked):!i(e.value)}function ye(e){e&&!A(e,null)&&e.current&&(e.current=null)}function be(e,t,n){e&&(u(e)||void 0!==e.current)&&n.push((function(){A(e,t)||void 0===e.current||(e.current=t)}))}function xe(e,t){we(e),x(e,t)}function we(e){var t,n=e.flags,r=e.children;if(481&n){t=e.ref;var o=e.props;ye(t);var a=e.childFlags;if(!s(o))for(var c=Object.keys(o),l=0,f=c.length;l<f;l++){var p=c[l];$[p]&&W(p,e.dom)}12&a?_e(r):2===a&&we(r)}else r&&(4&n?(u(r.componentWillUnmount)&&r.componentWillUnmount(),ye(e.ref),r.$UN=!0,we(r.$LI)):8&n?(!i(t=e.ref)&&u(t.onComponentWillUnmount)&&t.onComponentWillUnmount(b(e,!0),e.props||d),we(r)):1024&n?xe(r,e.ref):8192&n&&12&e.childFlags&&_e(r))}function _e(e){for(var t=0,n=e.length;t<n;++t)we(e[t])}function Ee(e){e.textContent=""}function ke(e,t,n){_e(n),8192&t.flags?x(t,e):Ee(e)}function Se(e,t,n,r){var o=e&&e.__html||"",a=t&&t.__html||"";o!==a&&(i(a)||function(e,t){var n=document.createElement("i");return n.innerHTML=t,n.innerHTML===e.innerHTML}(r,a)||(s(n)||(12&n.childFlags?_e(n.children):2===n.childFlags&&we(n.children),n.children=null,n.childFlags=1),r.innerHTML=a))}function Ce(e,t,n,r,o,a,s){switch(e){case"children":case"childrenType":case"className":case"defaultValue":case"key":case"multiple":case"ref":case"selectedIndex":break;case"autoFocus":r.autofocus=!!n;break;case"allowfullscreen":case"autoplay":case"capture":case"checked":case"controls":case"default":case"disabled":case"hidden":case"indeterminate":case"loop":case"muted":case"novalidate":case"open":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"selected":r[e]=!!n;break;case"defaultChecked":case"value":case"volume":if(a&&"value"===e)break;var l=i(n)?"":n;r[e]!==l&&(r[e]=l);break;case"style":!function(e,t,n){if(i(t))n.removeAttribute("style");else{var r,o,a=n.style;if(c(t))a.cssText=t;else if(i(e)||c(e))for(r in t)o=t[r],a.setProperty(r,o);else{for(r in t)(o=t[r])!==e[r]&&a.setProperty(r,o);for(r in e)i(t[r])&&a.removeProperty(r)}}}(t,n,r);break;case"dangerouslySetInnerHTML":Se(t,n,s,r);break;default:$[e]?function(e,t,n,r){if(u(n))H(e,r)[e]=n;else if(f(n)){if(C(t,n))return;H(e,r)[e]=n}else W(e,r)}(e,t,n,r):111===e.charCodeAt(0)&&110===e.charCodeAt(1)?function(e,t,n,r){if(f(n)){if(C(t,n))return;n=function(e){var t=e.event;return function(n){t(e.data,n)}}(n)}te(r,p(e),n)}(e,t,n,r):i(n)?r.removeAttribute(e):o&&K[e]?r.setAttributeNS(K[e],e,n):r.setAttribute(e,n)}}function Ne(e,t,n,r,o){var i=!1,a=(448&t)>0;for(var u in a&&(i=me(n))&&ve(t,r,n),n)Ce(u,null,n[u],r,o,i,null);a&&ge(t,e,r,n,!0,i)}function Ae(e,t,n){var r=j(e.render(t,e.state,n)),o=n;return u(e.getChildContext)&&(o=l(n,e.getChildContext())),e.$CX=o,r}function Te(e,t,n,r,o,i){var a=new t(n,r),c=a.$N=Boolean(t.getDerivedStateFromProps||a.getSnapshotBeforeUpdate);if(a.$SVG=o,a.$L=i,e.children=a,a.$BS=!1,a.context=r,a.props===d&&(a.props=n),c)a.state=_(a,n,a.state);else if(u(a.componentWillMount)){a.$BR=!0,a.componentWillMount();var l=a.$PS;if(!s(l)){var f=a.state;if(s(f))a.state=l;else for(var p in l)f[p]=l[p];a.$PS=null}a.$BR=!1}return a.$LI=Ae(a,n,r),a}function Oe(e,t,n,r,o,i){var a=e.flags|=16384;481&a?Me(e,t,n,r,o,i):4&a?function(e,t,n,r,o,i){var a=Te(e,e.type,e.props||d,n,r,i);Oe(a.$LI,t,a.$CX,r,o,i),Ve(e.ref,a,i)}(e,t,n,r,o,i):8&a?(!function(e,t,n,r,o,i){Oe(e.children=j(function(e,t){return 32768&e.flags?e.type.render(e.props||d,e.ref,t):e.type(e.props||d,t)}(e,n)),t,n,r,o,i)}(e,t,n,r,o,i),Re(e,i)):512&a||16&a?Ie(e,t,o):8192&a?function(e,t,n,r,o,i){var a=e.children,u=e.childFlags;12&u&&0===a.length&&(u=e.childFlags=2,a=e.children=R());2===u?Oe(a,n,o,r,o,i):Le(a,n,t,r,o,i)}(e,n,t,r,o,i):1024&a&&function(e,t,n,r,o){Oe(e.children,e.ref,t,!1,null,o);var i=R();Ie(i,n,r),e.dom=i.dom}(e,n,t,o,i)}function Ie(e,t,n){var r=e.dom=document.createTextNode(e.children);s(t)||g(t,r,n)}function Me(e,t,n,r,o,a){var u=e.flags,c=e.props,l=e.className,f=e.children,d=e.childFlags,p=e.dom=function(e,t){return t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e)}(e.type,r=r||(32&u)>0);if(i(l)||""===l||(r?p.setAttribute("class",l):p.className=l),16===d)S(p,f);else if(1!==d){var h=r&&"foreignObject"!==e.type;2===d?(16384&f.flags&&(e.children=f=V(f)),Oe(f,p,n,h,null,a)):8!==d&&4!==d||Le(f,p,n,h,null,a)}s(t)||g(t,p,o),s(c)||Ne(e,u,c,p,r),be(e.ref,p,a)}function Le(e,t,n,r,o,i){for(var a=0;a<e.length;++a){var u=e[a];16384&u.flags&&(e[a]=u=V(u)),Oe(u,t,n,r,o,i)}}function Ve(e,t,n){be(e,t,n),u(t.componentDidMount)&&n.push(function(e){return function(){e.componentDidMount()}}(t))}function Re(e,t){var n=e.ref;i(n)||(A(n.onComponentWillMount,e.props||d),u(n.onComponentDidMount)&&t.push(function(e,t){return function(){e.onComponentDidMount(b(t,!0),t.props||d)}}(n,e)))}function Pe(e,t,n,r,o,c,f){var p=t.flags|=16384;e.flags!==p||e.type!==t.type||e.key!==t.key||2048&p?16384&e.flags?function(e,t,n,r,o,i){we(e),0!=(t.flags&e.flags&2033)?(Oe(t,null,r,o,null,i),function(e,t,n){e.replaceChild(t,n)}(n,t.dom,e.dom)):(Oe(t,n,r,o,b(e,!0),i),x(e,n))}(e,t,n,r,o,f):Oe(t,n,r,o,c,f):481&p?function(e,t,n,r,o,a){var u,c=t.dom=e.dom,s=e.props,l=t.props,f=!1,p=!1;if(r=r||(32&o)>0,s!==l){var h=s||d;if((u=l||d)!==d)for(var g in(f=(448&o)>0)&&(p=me(u)),u){var v=h[g],m=u[g];v!==m&&Ce(g,v,m,c,r,p,e)}if(h!==d)for(var y in h)i(u[y])&&!i(h[y])&&Ce(y,h[y],null,c,r,p,e)}var b=t.children,x=t.className;e.className!==x&&(i(x)?c.removeAttribute("class"):r?c.setAttribute("class",x):c.className=x);4096&o?function(e,t){e.textContent!==t&&(e.textContent=t)}(c,b):Be(e.childFlags,t.childFlags,e.children,b,c,n,r&&"foreignObject"!==t.type,null,e,a);f&&ge(o,t,c,u,!1,p);var w=t.ref,_=e.ref;_!==w&&(ye(_),be(w,c,a))}(e,t,r,o,p,f):4&p?function(e,t,n,r,o,i,a){var c=t.children=e.children;if(s(c))return;c.$L=a;var f=t.props||d,p=t.ref,h=e.ref,g=c.state;if(!c.$N){if(u(c.componentWillReceiveProps)){if(c.$BR=!0,c.componentWillReceiveProps(f,r),c.$UN)return;c.$BR=!1}s(c.$PS)||(g=l(g,c.$PS),c.$PS=null)}je(c,g,f,n,r,o,!1,i,a),h!==p&&(ye(h),be(p,c,a))}(e,t,n,r,o,c,f):8&p?function(e,t,n,r,o,a,c){var s=!0,l=t.props||d,f=t.ref,p=e.props,h=!i(f),g=e.children;h&&u(f.onComponentShouldUpdate)&&(s=f.onComponentShouldUpdate(p,l));if(!1!==s){h&&u(f.onComponentWillUpdate)&&f.onComponentWillUpdate(p,l);var v=t.type,m=j(32768&t.flags?v.render(l,f,r):v(l,r));Pe(g,m,n,r,o,a,c),t.children=m,h&&u(f.onComponentDidUpdate)&&f.onComponentDidUpdate(p,l)}else t.children=g}(e,t,n,r,o,c,f):16&p?function(e,t){var n=t.children,r=t.dom=e.dom;n!==e.children&&(r.nodeValue=n)}(e,t):512&p?t.dom=e.dom:8192&p?function(e,t,n,r,o,i){var a=e.children,u=t.children,c=e.childFlags,s=t.childFlags,l=null;12&s&&0===u.length&&(s=t.childFlags=2,u=t.children=R());var f=0!=(2&s);if(12&c){var d=a.length;(8&c&&8&s||f||!f&&u.length>d)&&(l=b(a[d-1],!1).nextSibling)}Be(c,s,a,u,n,r,o,l,e,i)}(e,t,n,r,o,f):function(e,t,n,r){var o=e.ref,i=t.ref,u=t.children;if(Be(e.childFlags,t.childFlags,e.children,u,o,n,!1,null,e,r),t.dom=e.dom,o!==i&&!a(u)){var c=u.dom;v(o,c),h(i,c)}}(e,t,r,f)}function Be(e,t,n,r,o,i,a,u,c,s){switch(e){case 2:switch(t){case 2:Pe(n,r,o,i,a,u,s);break;case 1:xe(n,o);break;case 16:we(n),S(o,r);break;default:!function(e,t,n,r,o,i){we(e),Le(t,n,r,o,b(e,!0),i),x(e,n)}(n,r,o,i,a,s)}break;case 1:switch(t){case 2:Oe(r,o,i,a,u,s);break;case 1:break;case 16:S(o,r);break;default:Le(r,o,i,a,u,s)}break;case 16:switch(t){case 16:!function(e,t,n){e!==t&&(""!==e?n.firstChild.nodeValue=t:S(n,t))}(n,r,o);break;case 2:Ee(o),Oe(r,o,i,a,u,s);break;case 1:Ee(o);break;default:Ee(o),Le(r,o,i,a,u,s)}break;default:switch(t){case 16:_e(n),S(o,r);break;case 2:ke(o,c,n),Oe(r,o,i,a,u,s);break;case 1:ke(o,c,n);break;default:var l=0|n.length,f=0|r.length;0===l?f>0&&Le(r,o,i,a,u,s):0===f?ke(o,c,n):8===t&&8===e?function(e,t,n,r,o,i,a,u,c,s){var l,f,d=i-1,p=a-1,h=0,g=e[h],v=t[h];e:{for(;g.key===v.key;){if(16384&v.flags&&(t[h]=v=V(v)),Pe(g,v,n,r,o,u,s),e[h]=v,++h>d||h>p)break e;g=e[h],v=t[h]}for(g=e[d],v=t[p];g.key===v.key;){if(16384&v.flags&&(t[p]=v=V(v)),Pe(g,v,n,r,o,u,s),e[d]=v,p--,h>--d||h>p)break e;g=e[d],v=t[p]}}if(h>d){if(h<=p)for(f=(l=p+1)<a?b(t[l],!0):u;h<=p;)16384&(v=t[h]).flags&&(t[h]=v=V(v)),++h,Oe(v,n,r,o,f,s)}else if(h>p)for(;h<=d;)xe(e[h++],n);else!function(e,t,n,r,o,i,a,u,c,s,l,f,d){var p,h,g,v=0,m=u,y=u,x=i-u+1,_=a-u+1,E=new Int32Array(_+1),k=x===r,S=!1,C=0,N=0;if(o<4||(x|_)<32)for(v=m;v<=i;++v)if(p=e[v],N<_){for(u=y;u<=a;u++)if(h=t[u],p.key===h.key){if(E[u-y]=v+1,k)for(k=!1;m<v;)xe(e[m++],c);C>u?S=!0:C=u,16384&h.flags&&(t[u]=h=V(h)),Pe(p,h,c,n,s,l,d),++N;break}!k&&u>a&&xe(p,c)}else k||xe(p,c);else{var A={};for(v=y;v<=a;++v)A[t[v].key]=v;for(v=m;v<=i;++v)if(p=e[v],N<_)if(void 0!==(u=A[p.key])){if(k)for(k=!1;v>m;)xe(e[m++],c);E[u-y]=v+1,C>u?S=!0:C=u,16384&(h=t[u]).flags&&(t[u]=h=V(h)),Pe(p,h,c,n,s,l,d),++N}else k||xe(p,c);else k||xe(p,c)}if(k)ke(c,f,e),Le(t,c,n,s,l,d);else if(S){var T=function(e){var t=0,n=0,r=0,o=0,i=0,a=0,u=0,c=e.length;c>De&&(De=c,le=new Int32Array(c),fe=new Int32Array(c));for(;n<c;++n)if(0!==(t=e[n])){if(e[r=le[o]]<t){fe[n]=r,le[++o]=n;continue}for(i=0,a=o;i<a;)e[le[u=i+a>>1]]<t?i=u+1:a=u;t<e[le[i]]&&(i>0&&(fe[n]=le[i-1]),le[i]=n)}i=o+1;var s=new Int32Array(i);a=le[i-1];for(;i-- >0;)s[i]=a,a=fe[a],le[i]=0;return s}(E);for(u=T.length-1,v=_-1;v>=0;v--)0===E[v]?(16384&(h=t[C=v+y]).flags&&(t[C]=h=V(h)),Oe(h,c,n,s,(g=C+1)<o?b(t[g],!0):l,d)):u<0||v!==T[u]?w(h=t[C=v+y],c,(g=C+1)<o?b(t[g],!0):l):u--}else if(N!==_)for(v=_-1;v>=0;v--)0===E[v]&&(16384&(h=t[C=v+y]).flags&&(t[C]=h=V(h)),Oe(h,c,n,s,(g=C+1)<o?b(t[g],!0):l,d))}(e,t,r,i,a,d,p,h,n,o,u,c,s)}(n,r,o,i,a,l,f,u,c,s):function(e,t,n,r,o,i,a,u,c){for(var s,l,f=i>a?a:i,d=0;d<f;++d)s=t[d],l=e[d],16384&s.flags&&(s=t[d]=V(s)),Pe(l,s,n,r,o,u,c),e[d]=s;if(i<a)for(d=f;d<a;++d)16384&(s=t[d]).flags&&(s=t[d]=V(s)),Oe(s,n,r,o,u,c);else if(i>a)for(d=f;d<i;++d)xe(e[d],n)}(n,r,o,i,a,l,f,u,s)}}}function je(e,t,n,r,o,i,a,c,s){var f=e.state,d=e.props,p=Boolean(e.$N),h=u(e.shouldComponentUpdate);if(p&&(t=_(e,n,t!==f?l(f,t):t)),a||!h||h&&e.shouldComponentUpdate(n,t,o)){!p&&u(e.componentWillUpdate)&&e.componentWillUpdate(n,t,o),e.props=n,e.state=t,e.context=o;var g=null,v=Ae(e,n,o);p&&u(e.getSnapshotBeforeUpdate)&&(g=e.getSnapshotBeforeUpdate(d,f)),Pe(e.$LI,v,r,e.$CX,i,c,s),e.$LI=v,u(e.componentDidUpdate)&&function(e,t,n,r,o){o.push((function(){e.componentDidUpdate(t,n,r)}))}(e,d,f,g,s)}else e.props=n,e.state=t,e.context=o}var De=0;function Fe(e,t,n,r){var o=[],a=t.$V;E.v=!0,i(a)?i(e)||(16384&e.flags&&(e=V(e)),Oe(e,t,r,!1,null,o),t.$V=e,a=e):i(e)?(xe(a,t),t.$V=null):(16384&e.flags&&(e=V(e)),Pe(a,e,t,r,!1,null,o),a=t.$V=e),m(o),E.v=!1,u(n)&&n(),u(k.renderComplete)&&k.renderComplete(a,t)}function Ke(e,t,n,r){void 0===n&&(n=null),void 0===r&&(r=d),Fe(e,t,n,r)}"undefined"!=typeof document&&window.Node&&(Node.prototype.$EV=null,Node.prototype.$V=null);var ze=[],Ye="undefined"!=typeof Promise?Promise.resolve().then.bind(Promise.resolve()):function(e){window.setTimeout(e,0)},Ue=!1;function $e(e,t,n,r){var o=e.$PS;if(u(t)&&(t=t(o?l(e.state,o):e.state,e.props,e.context)),i(o))e.$PS=t;else for(var a in t)o[a]=t[a];if(e.$BR)u(n)&&e.$L.push(n.bind(e));else{if(!E.v&&0===ze.length)return Ge(e,r),void(u(n)&&n.call(e));if(-1===ze.indexOf(e)&&ze.push(e),Ue||(Ue=!0,Ye(We)),u(n)){var c=e.$QU;c||(c=e.$QU=[]),c.push(n)}}}function He(e){for(var t=e.$QU,n=0;n<t.length;++n)t[n].call(e);e.$QU=null}function We(){var e;for(Ue=!1;e=ze.shift();)e.$UN||(Ge(e,!1),e.$QU&&He(e))}function Ge(e,t){if(t||!e.$BR){var n=e.$PS;e.$PS=null;var r=[];E.v=!0,je(e,l(e.state,n),e.props,b(e.$LI,!0).parentNode,e.context,e.$SVG,t,null,r),m(r),E.v=!1}else e.state=e.$PS,e.$PS=null}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||d,this.context=t||d};t.Component=qe,qe.prototype.forceUpdate=function(e){this.$UN||$e(this,{},e,!0)},qe.prototype.setState=function(e,t){this.$UN||this.$BS||$e(this,e,t,!1)},qe.prototype.render=function(e,t,n){return null};t.version="7.4.2"},,,,,,,,,,,function(e,t,n){"use strict";(function(e,t){!function(e,n){if(!e.setImmediate){var r,o,i,a,u,c=1,s={},l=!1,f=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){h(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){h(e.data)},r=function(e){i.port2.postMessage(e)}):f&&"onreadystatechange"in f.createElement("script")?(o=f.documentElement,r=function(e){var t=f.createElement("script");t.onreadystatechange=function(){h(e),t.onreadystatechange=null,o.removeChild(t),t=null},o.appendChild(t)}):r=function(e){setTimeout(h,0,e)}:(a="setImmediate$"+Math.random()+"$",u=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(a)&&h(+t.data.slice(a.length))},e.addEventListener?e.addEventListener("message",u,!1):e.attachEvent("onmessage",u),r=function(t){e.postMessage(a+t,"*")}),d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var o={callback:e,args:t};return s[c]=o,r(c),c++},d.clearImmediate=p}function p(e){delete s[e]}function h(e){if(l)setTimeout(h,0,e);else{var t=s[e];if(t){l=!0;try{!function(e){var t=e.callback,n=e.args;switch(n.length){case 0:t();break;case 1:t(n[0]);break;case 2:t(n[0],n[1]);break;case 3:t(n[0],n[1],n[2]);break;default:t.apply(void 0,n)}}(t)}finally{p(e),l=!1}}}}}("undefined"==typeof self?void 0===e?void 0:e:self)}).call(this,n(107),n(462))},function(e,t,n){"use strict";var r,o,i=e.exports={};function a(){throw new Error("setTimeout has not been defined")}function u(){throw new Error("clearTimeout has not been defined")}function c(e){if(r===setTimeout)return setTimeout(e,0);if((r===a||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:a}catch(e){r=a}try{o="function"==typeof clearTimeout?clearTimeout:u}catch(e){o=u}}();var s,l=[],f=!1,d=-1;function p(){f&&s&&(f=!1,s.length?l=s.concat(l):d=-1,l.length&&h())}function h(){if(!f){var e=c(p);f=!0;for(var t=l.length;t;){for(s=l,l=[];++d<t;)s&&s[d].run();d=-1,t=l.length}s=null,f=!1,function(e){if(o===clearTimeout)return clearTimeout(e);if((o===u||!o)&&clearTimeout)return o=clearTimeout,clearTimeout(e);try{o(e)}catch(t){try{return o.call(null,e)}catch(t){return o.call(this,e)}}}(e)}}function g(e,t){this.fun=e,this.array=t}function v(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new g(e,t)),1!==l.length||f||c(h)},g.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=v,i.addListener=v,i.once=v,i.off=v,i.removeListener=v,i.removeAllListeners=v,i.emit=v,i.prependListener=v,i.prependOnceListener=v,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t,n){"use strict";t.__esModule=!0,t.useDebug=void 0;var r=n(22),o=n(191);t.useDebug=function(e){return(0,r.useSelector)(e,o.selectDebug)}},function(e,t,n){"use strict";(function(e){t.__esModule=!0,t.KitchenSink=void 0;var r=n(0),o=n(2),i=n(1),a=n(38),u=n(3),c=(0,n(35).createLogger)("KitchenSink"),s=["red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey"],l=["good","average","bad","black","white"],f=[{title:"Button",component:function(){return d}},{title:"Box",component:function(){return p}},{title:"Flex & Sections",component:function(){return h}},{title:"ProgressBar",component:function(){return g}},{title:"Tabs",component:function(){return v}},{title:"Tooltip",component:function(){return m}},{title:"Input / Control",component:function(){return y}},{title:"Collapsible",component:function(){return b}},{title:"BlockQuote",component:function(){return w}},{title:"ByondUi",component:function(){return _}},{title:"Themes",component:function(){return E}},{title:"Storage",component:function(){return k}}];t.KitchenSink=function(e,t){var n=e.panel,a=(0,o.useLocalState)(t,"kitchenSinkTheme")[0],c=(0,o.useLocalState)(t,"pageIndex",0),s=c[0],l=c[1],d=f[s].component(),p=n?u.Pane:u.Window;return(0,r.createComponentVNode)(2,p,{title:"Kitchen Sink",width:600,height:500,theme:a,resizable:!0,children:(0,r.createComponentVNode)(2,i.Flex,{height:"100%",children:[(0,r.createComponentVNode)(2,i.Flex.Item,{m:1,mr:0,children:(0,r.createComponentVNode)(2,i.Section,{fill:!0,fitted:!0,children:(0,r.createComponentVNode)(2,i.Tabs,{vertical:!0,children:f.map((function(e,t){return(0,r.createComponentVNode)(2,i.Tabs.Tab,{color:"transparent",selected:t===s,onClick:function(){return l(t)},children:e.title},t)}))})})}),(0,r.createComponentVNode)(2,i.Flex.Item,{position:"relative",grow:1,children:(0,r.createComponentVNode)(2,p.Content,{scrollable:!0,children:(0,r.createComponentVNode)(2,d)})})]})})};var d=function(e){return(0,r.createComponentVNode)(2,i.Section,{children:[(0,r.createComponentVNode)(2,i.Box,{mb:1,children:[(0,r.createComponentVNode)(2,i.Button,{content:"Simple"}),(0,r.createComponentVNode)(2,i.Button,{selected:!0,content:"Selected"}),(0,r.createComponentVNode)(2,i.Button,{altSelected:!0,content:"Alt Selected"}),(0,r.createComponentVNode)(2,i.Button,{disabled:!0,content:"Disabled"}),(0,r.createComponentVNode)(2,i.Button,{color:"transparent",content:"Transparent"}),(0,r.createComponentVNode)(2,i.Button,{icon:"cog",content:"Icon"}),(0,r.createComponentVNode)(2,i.Button,{icon:"power-off"}),(0,r.createComponentVNode)(2,i.Button,{fluid:!0,content:"Fluid"}),(0,r.createComponentVNode)(2,i.Button,{my:1,lineHeight:2,minWidth:15,textAlign:"center",content:"With Box props"})]}),(0,r.createComponentVNode)(2,i.Box,{mb:1,children:[l.map((function(e){return(0,r.createComponentVNode)(2,i.Button,{color:e,content:e},e)})),(0,r.createVNode)(1,"br"),s.map((function(e){return(0,r.createComponentVNode)(2,i.Button,{color:e,content:e},e)})),(0,r.createVNode)(1,"br"),s.map((function(e){return(0,r.createComponentVNode)(2,i.Box,{inline:!0,mx:"7px",color:e,children:e},e)}))]})]})},p=function(e){return(0,r.createComponentVNode)(2,i.Section,{children:[(0,r.createComponentVNode)(2,i.Box,{bold:!0,children:"bold"}),(0,r.createComponentVNode)(2,i.Box,{italic:!0,children:"italic"}),(0,r.createComponentVNode)(2,i.Box,{opacity:.5,children:"opacity 0.5"}),(0,r.createComponentVNode)(2,i.Box,{opacity:.25,children:"opacity 0.25"}),(0,r.createComponentVNode)(2,i.Box,{m:2,children:"m: 2"}),(0,r.createComponentVNode)(2,i.Box,{textAlign:"left",children:"left"}),(0,r.createComponentVNode)(2,i.Box,{textAlign:"center",children:"center"}),(0,r.createComponentVNode)(2,i.Box,{textAlign:"right",children:"right"})]})},h=function(e,t){var n=(0,o.useLocalState)(t,"fs_grow",1),a=n[0],u=n[1],c=(0,o.useLocalState)(t,"fs_direction","column"),s=c[0],l=c[1],f=(0,o.useLocalState)(t,"fs_fill",!0),d=f[0],p=f[1],h=(0,o.useLocalState)(t,"fs_title",!0),g=h[0],v=h[1];return(0,r.createComponentVNode)(2,i.Flex,{height:"100%",direction:"column",children:[(0,r.createComponentVNode)(2,i.Flex.Item,{mb:1,children:(0,r.createComponentVNode)(2,i.Section,{children:[(0,r.createComponentVNode)(2,i.Button,{fluid:!0,onClick:function(){return l("column"===s?"row":"column")},children:'Flex direction="'+s+'"'}),(0,r.createComponentVNode)(2,i.Button,{fluid:!0,onClick:function(){return u(Number(!a))},children:"Flex.Item grow={"+a+"}"}),(0,r.createComponentVNode)(2,i.Button,{fluid:!0,onClick:function(){return p(!d)},children:"Section fill={"+String(d)+"}"}),(0,r.createComponentVNode)(2,i.Button,{fluid:!0,selected:g,onClick:function(){return v(!g)},children:"Section title"})]})}),(0,r.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,r.createComponentVNode)(2,i.Flex,{height:"100%",direction:s,children:[(0,r.createComponentVNode)(2,i.Flex.Item,{mr:"row"===s&&1,mb:"column"===s&&1,grow:a,children:(0,r.createComponentVNode)(2,i.Section,{title:g&&"Section 1",fill:d,children:"Content"})}),(0,r.createComponentVNode)(2,i.Flex.Item,{grow:a,children:(0,r.createComponentVNode)(2,i.Section,{title:g&&"Section 2",fill:d,children:"Content"})})]})})]})},g=function(e,t){var n=(0,o.useLocalState)(t,"progress",.5),a=n[0],u=n[1];return(0,r.createComponentVNode)(2,i.Section,{children:[(0,r.createComponentVNode)(2,i.ProgressBar,{ranges:{good:[.5,Infinity],bad:[-Infinity,.1],average:[0,.5]},minValue:-1,maxValue:1,value:a,children:["Value: ",Number(a).toFixed(1)]}),(0,r.createComponentVNode)(2,i.Box,{mt:1,children:[(0,r.createComponentVNode)(2,i.Button,{content:"-0.1",onClick:function(){return u(a-.1)}}),(0,r.createComponentVNode)(2,i.Button,{content:"+0.1",onClick:function(){return u(a+.1)}})]})]})},v=function(e,t){var n=(0,o.useLocalState)(t,"tabIndex",0),a=n[0],u=n[1],c=(0,o.useLocalState)(t,"tabProps",{}),s=c[0],l=c[1];return(0,r.createFragment)([(0,r.createComponentVNode)(2,i.Section,{children:[(0,r.createComponentVNode)(2,i.Button.Checkbox,{inline:!0,content:"vertical",checked:s.vertical,onClick:function(){return l(Object.assign({},s,{vertical:!s.vertical}))}}),(0,r.createComponentVNode)(2,i.Button.Checkbox,{inline:!0,content:"leftSlot",checked:s.leftSlot,onClick:function(){return l(Object.assign({},s,{leftSlot:!s.leftSlot}))}}),(0,r.createComponentVNode)(2,i.Button.Checkbox,{inline:!0,content:"rightSlot",checked:s.rightSlot,onClick:function(){return l(Object.assign({},s,{rightSlot:!s.rightSlot}))}}),(0,r.createComponentVNode)(2,i.Button.Checkbox,{inline:!0,content:"icon",checked:s.icon,onClick:function(){return l(Object.assign({},s,{icon:!s.icon}))}}),(0,r.createComponentVNode)(2,i.Button.Checkbox,{inline:!0,content:"fluid",checked:s.fluid,onClick:function(){return l(Object.assign({},s,{fluid:!s.fluid}))}}),(0,r.createComponentVNode)(2,i.Button.Checkbox,{inline:!0,content:"left aligned",checked:s.leftAligned,onClick:function(){return l(Object.assign({},s,{leftAligned:!s.leftAligned}))}})]}),(0,r.createComponentVNode)(2,i.Section,{fitted:!0,children:(0,r.createComponentVNode)(2,i.Tabs,{vertical:s.vertical,fluid:s.fluid,textAlign:s.leftAligned&&"left",children:["Tab #1","Tab #2","Tab #3","Tab #4"].map((function(e,t){return(0,r.createComponentVNode)(2,i.Tabs.Tab,{selected:t===a,icon:s.icon&&"info-circle",leftSlot:s.leftSlot&&(0,r.createComponentVNode)(2,i.Button,{circular:!0,compact:!0,color:"transparent",icon:"times"}),rightSlot:s.rightSlot&&(0,r.createComponentVNode)(2,i.Button,{circular:!0,compact:!0,color:"transparent",icon:"times"}),onClick:function(){return u(t)},children:e},t)}))})})],4)},m=function(e){return(0,r.createComponentVNode)(2,i.Section,{children:[(0,r.createComponentVNode)(2,i.Box,{children:[(0,r.createComponentVNode)(2,i.Box,{inline:!0,position:"relative",mr:1,children:["Box (hover me).",(0,r.createComponentVNode)(2,i.Tooltip,{content:"Tooltip text."})]}),(0,r.createComponentVNode)(2,i.Button,{tooltip:"Tooltip text.",content:"Button"})]}),(0,r.createComponentVNode)(2,i.Box,{mt:1,children:["top","left","right","bottom","bottom-left","bottom-right"].map((function(e){return(0,r.createComponentVNode)(2,i.Button,{color:"transparent",tooltip:"Tooltip text.",tooltipPosition:e,content:e},e)}))})]})},y=function(e,t){var n=(0,o.useLocalState)(t,"number",0),a=n[0],u=n[1],c=(0,o.useLocalState)(t,"text","Sample text"),s=c[0],l=c[1];return(0,r.createComponentVNode)(2,i.Section,{children:(0,r.createComponentVNode)(2,i.LabeledList,{children:[(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Input (onChange)",children:(0,r.createComponentVNode)(2,i.Input,{value:s,onChange:function(e,t){return l(t)}})}),(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Input (onInput)",children:(0,r.createComponentVNode)(2,i.Input,{value:s,onInput:function(e,t){return l(t)}})}),(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"NumberInput (onChange)",children:(0,r.createComponentVNode)(2,i.NumberInput,{animated:!0,width:"40px",step:1,stepPixelSize:5,value:a,minValue:-100,maxValue:100,onChange:function(e,t){return u(t)}})}),(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"NumberInput (onDrag)",children:(0,r.createComponentVNode)(2,i.NumberInput,{animated:!0,width:"40px",step:1,stepPixelSize:5,value:a,minValue:-100,maxValue:100,onDrag:function(e,t){return u(t)}})}),(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Slider (onDrag)",children:(0,r.createComponentVNode)(2,i.Slider,{step:1,stepPixelSize:5,value:a,minValue:-100,maxValue:100,onDrag:function(e,t){return u(t)}})}),(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Knob (onDrag)",children:[(0,r.createComponentVNode)(2,i.Knob,{inline:!0,size:1,step:1,stepPixelSize:2,value:a,minValue:-100,maxValue:100,onDrag:function(e,t){return u(t)}}),(0,r.createComponentVNode)(2,i.Knob,{ml:1,inline:!0,bipolar:!0,size:1,step:1,stepPixelSize:2,value:a,minValue:-100,maxValue:100,onDrag:function(e,t){return u(t)}})]}),(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Rotating Icon",children:(0,r.createComponentVNode)(2,i.Box,{inline:!0,position:"relative",children:(0,r.createComponentVNode)(2,i.DraggableControl,{value:a,minValue:-100,maxValue:100,dragMatrix:[0,-1],step:1,stepPixelSize:5,onDrag:function(e,t){return u(t)},children:function(e){return(0,r.createComponentVNode)(2,i.Box,{onMouseDown:e.handleDragStart,children:[(0,r.createComponentVNode)(2,i.Icon,{size:4,color:"yellow",name:"times",rotation:4*e.displayValue}),e.inputElement]})}})})})]})})},b=function(e){return(0,r.createComponentVNode)(2,i.Section,{children:(0,r.createComponentVNode)(2,i.Collapsible,{title:"Collapsible Demo",buttons:(0,r.createComponentVNode)(2,i.Button,{icon:"cog"}),children:(0,r.createComponentVNode)(2,x)})})},x=function(e){return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({},e,{children:[(0,r.createComponentVNode)(2,i.Box,{italic:!0,children:"Jackdaws love my big sphinx of quartz."}),(0,r.createComponentVNode)(2,i.Box,{mt:1,bold:!0,children:"The wide electrification of the southern provinces will give a powerful impetus to the growth of agriculture."})]})))},w=function(e){return(0,r.createComponentVNode)(2,i.Section,{children:(0,r.createComponentVNode)(2,i.BlockQuote,{children:(0,r.createComponentVNode)(2,x)})})},_=function(t,n){(0,o.useBackend)(n).config;var a=(0,o.useLocalState)(n,"byondUiEvalCode","Byond.winset('"+window.__windowId__+"', {\n 'is-visible': true,\n})"),u=a[0],s=a[1];return(0,r.createFragment)([(0,r.createComponentVNode)(2,i.Section,{title:"Button",children:(0,r.createComponentVNode)(2,i.ByondUi,{params:{type:"button",text:"Button"}})}),(0,r.createComponentVNode)(2,i.Section,{title:"Make BYOND calls",buttons:(0,r.createComponentVNode)(2,i.Button,{icon:"chevron-right",onClick:function(){return e((function(){try{var e=new Function("return ("+u+")")();e&&e.then?(c.log("Promise"),e.then(c.log)):c.log(e)}catch(t){c.log(t)}}))},children:"Evaluate"}),children:(0,r.createComponentVNode)(2,i.Box,{as:"textarea",width:"100%",height:"10em",onChange:function(e){return s(e.target.value)},children:u})})],4)},E=function(e,t){var n=(0,o.useLocalState)(t,"kitchenSinkTheme"),a=n[0],u=n[1];return(0,r.createComponentVNode)(2,i.Section,{children:(0,r.createComponentVNode)(2,i.LabeledList,{children:(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Use theme",children:(0,r.createComponentVNode)(2,i.Input,{placeholder:"theme_name",value:a,onInput:function(e,t){return u(t)}})})})})},k=function(e,t){return window.localStorage?(0,r.createComponentVNode)(2,i.Section,{title:"Local Storage",buttons:(0,r.createComponentVNode)(2,i.Button,{icon:"recycle",onClick:function(){localStorage.clear()},children:"Clear"}),children:(0,r.createComponentVNode)(2,i.LabeledList,{children:[(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Keys in use",children:localStorage.length}),(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Remaining space",children:(0,a.formatSiUnit)(localStorage.remainingSpace,0,"B")})]})}):(0,r.createComponentVNode)(2,i.NoticeBox,{children:"Local storage is not available."})}}).call(this,n(101).setImmediate)},function(e,t,n){"use strict";t.__esModule=!0,t.BlockQuote=void 0;var r=n(0),o=n(6),i=n(17);t.BlockQuote=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["className"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";var r,o;t.__esModule=!0,t.VNodeFlags=t.ChildFlags=void 0,t.VNodeFlags=r,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"}(r||(t.VNodeFlags=r={})),t.ChildFlags=o,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"}(o||(t.ChildFlags=o={}))},function(e,t,n){"use strict";t.__esModule=!0,t.ByondUi=void 0;var r=n(0),o=n(6),i=n(468),a=n(35),u=n(17);function c(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var s=(0,a.createLogger)("ByondUi"),l=[];window.addEventListener("beforeunload",(function(){for(var e=0;e<l.length;e++){var t=l[e];"string"==typeof t&&(s.log("unmounting '"+t+"' (beforeunload)"),l[e]=null,Byond.winset(t,{parent:""}))}}));var f=function(e){var t,n;function a(t){var n,o;return(o=e.call(this,t)||this).containerRef=(0,r.createRef)(),o.byondUiElement=function(e){var t=l.length;l.push(null);var n=e||"byondui_"+t;return s.log("allocated '"+n+"'"),{render:function(e){s.log("rendering '"+n+"'"),l[t]=n,Byond.winset(n,e)},unmount:function(){s.log("unmounting '"+n+"'"),l[t]=null,Byond.winset(n,{parent:""})}}}(null==(n=t.params)?void 0:n.id),o.handleResize=(0,i.debounce)((function(){o.forceUpdate()}),100),o}n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var f=a.prototype;return f.shouldComponentUpdate=function(e){var t=this.props,n=t.params,r=void 0===n?{}:n,i=c(t,["params"]),a=e.params,u=void 0===a?{}:a,s=c(e,["params"]);return(0,o.shallowDiffers)(r,u)||(0,o.shallowDiffers)(i,s)},f.componentDidMount=function(){Byond.IS_LTE_IE10||(window.addEventListener("resize",this.handleResize),this.componentDidUpdate(),this.handleResize())},f.componentDidUpdate=function(){if(!Byond.IS_LTE_IE10){var e,t,n=this.props.params,r=void 0===n?{}:n,o=(e=this.containerRef.current,{pos:[(t=e.getBoundingClientRect()).left,t.top],size:[t.right-t.left,t.bottom-t.top]});s.debug("bounding box",o),this.byondUiElement.render(Object.assign({parent:window.__windowId__},r,{pos:o.pos[0]+","+o.pos[1],size:o.size[0]+"x"+o.size[1]}))}},f.componentWillUnmount=function(){Byond.IS_LTE_IE10||(window.removeEventListener("resize",this.handleResize),this.byondUiElement.unmount())},f.render=function(){var e=this.props,t=(e.params,c(e,["params"])),n=(0,u.computeBoxProps)(t);return(0,r.normalizeProps)((0,r.createVNode)(1,"div",null,(0,r.createVNode)(1,"div",null,null,1,{style:{"min-height":"22px"}}),0,Object.assign({},n),null,this.containerRef))},a}(r.Component);t.ByondUi=f},function(e,t,n){"use strict";t.__esModule=!0,t.sleep=t.debounce=void 0;t.debounce=function(e,t,n){var r;return void 0===n&&(n=!1),function(){for(var o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];var u=function(){r=null,n||e.apply(void 0,i)},c=n&&!r;clearTimeout(r),r=setTimeout(u,t),c&&e.apply(void 0,i)}};t.sleep=function(e){return new Promise((function(t){return setTimeout(t,e)}))}},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=void 0;var r=n(0),o=n(10),i=n(6),a=n(17);var u=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).ref=(0,r.createRef)(),n.state={viewBox:[600,200]},n.handleResize=function(){var e=n.ref.current;n.setState({viewBox:[e.offsetWidth,e.offsetHeight]})},n}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=i.prototype;return u.componentDidMount=function(){window.addEventListener("resize",this.handleResize),this.handleResize()},u.componentWillUnmount=function(){window.removeEventListener("resize",this.handleResize)},u.render=function(){var e=this,t=this.props,n=t.data,i=void 0===n?[]:n,u=t.rangeX,c=t.rangeY,s=t.fillColor,l=void 0===s?"none":s,f=t.strokeColor,d=void 0===f?"#ffffff":f,p=t.strokeWidth,h=void 0===p?2:p,g=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),v=this.state.viewBox,m=function(e,t,n,r){if(0===e.length)return[];var i=(0,o.zipWith)(Math.min).apply(void 0,e),a=(0,o.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(i[0]=n[0],a[0]=n[1]),r!==undefined&&(i[1]=r[0],a[1]=r[1]),(0,o.map)((function(e){return(0,o.zipWith)((function(e,t,n,r){return(e-t)/(n-t)*r}))(e,i,a,t)}))(e)}(i,v,u,c);if(m.length>0){var y=m[0],b=m[m.length-1];m.push([v[0]+h,b[1]]),m.push([v[0]+h,-h]),m.push([-h,-h]),m.push([-h,y[1]])}var x=function(e){for(var t="",n=0;n<e.length;n++){var r=e[n];t+=r[0]+","+r[1]+" "}return t}(m);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,a.Box,Object.assign({position:"relative"},g,{children:function(t){return(0,r.normalizeProps)((0,r.createVNode)(1,"div",null,(0,r.createVNode)(32,"svg",null,(0,r.createVNode)(32,"polyline",null,null,1,{transform:"scale(1, -1) translate(0, -"+v[1]+")",fill:l,stroke:d,"stroke-width":h,points:x}),2,{viewBox:"0 0 "+v[0]+" "+v[1],preserveAspectRatio:"none",style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"}}),2,Object.assign({},t),null,e.ref))}})))},i}(r.Component);u.defaultHooks=i.pureComponentHooks;var c={Line:Byond.IS_LTE_IE8?function(e){return null}:u};t.Chart=c},function(e,t,n){"use strict";t.__esModule=!0,t.Collapsible=void 0;var r=n(0),o=n(17),i=n(192);var a=function(e){var t,n;function a(t){var n;n=e.call(this,t)||this;var r=t.open;return n.state={open:r||!1},n}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.props,n=this.state.open,a=t.children,u=t.color,c=void 0===u?"default":u,s=t.title,l=t.buttons,f=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(t,["children","color","title","buttons"]);return(0,r.createComponentVNode)(2,o.Box,{mb:1,children:[(0,r.createVNode)(1,"div","Table",[(0,r.createVNode)(1,"div","Table__cell",(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Button,Object.assign({fluid:!0,color:c,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},f,{children:s}))),2),l&&(0,r.createVNode)(1,"div","Table__cell Table__cell--collapsing",l,0)],0),n&&(0,r.createComponentVNode)(2,o.Box,{mt:1,children:a})]})},a}(r.Component);t.Collapsible=a},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var r=n(0),o=n(6),i=n(17);var a=function(e){var t=e.content,n=(e.children,e.className),a=e.color,u=e.backgroundColor,c=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["content","children","className","color","backgroundColor"]);return c.color=t?null:"transparent",c.backgroundColor=a||u,(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["ColorBox",n,(0,i.computeBoxClassName)(c)]),t||".",0,Object.assign({},(0,i.computeBoxProps)(c))))};t.ColorBox=a,a.defaultHooks=o.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var r=n(0),o=n(6),i=n(17),a=n(103);function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var c=function(e){var t,n;function c(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=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=c.prototype;return s.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},s.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)},s.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},s.buildMenu=function(){var e=this,t=this.props.options,n=(void 0===t?[]:t).map((function(t){return(0,r.createComponentVNode)(2,i.Box,{className:"Dropdown__menuentry",onClick:function(){e.setSelected(t)},children:t},t)}));return n.length?n:"No Options Found"},s.render=function(){var e=this,t=this.props,n=t.color,c=void 0===n?"default":n,s=t.over,l=t.noscroll,f=t.nochevron,d=t.width,p=(t.onClick,t.selected,t.disabled),h=u(t,["color","over","noscroll","nochevron","width","onClick","selected","disabled"]),g=h.className,v=u(h,["className"]),m=s?!this.state.open:this.state.open,y=this.state.open?(0,r.createVNode)(1,"div",(0,o.classes)([l?"Dropdown__menu-noscroll":"Dropdown__menu",s&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:d}},null,(function(t){e.menuRef=t})):null;return(0,r.createVNode)(1,"div","Dropdown",[(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({width:d,className:(0,o.classes)(["Dropdown__control","Button","Button--color--"+c,p&&"Button--disabled",g])},v,{onClick:function(){p&&!e.state.open||e.setOpen(!e.state.open)},children:[(0,r.createVNode)(1,"span","Dropdown__selected-text",this.state.selected,0),!!f||(0,r.createVNode)(1,"span","Dropdown__arrow-button",(0,r.createComponentVNode)(2,a.Icon,{name:m?"chevron-up":"chevron-down"}),2)]}))),y],0)},c}(r.Component);t.Dropdown=c},function(e,t,n){"use strict";t.__esModule=!0,t.GridColumn=t.Grid=void 0;var r=n(0),o=n(197),i=n(6);function a(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var u=function(e){var t=e.children,n=a(e,["children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Table,Object.assign({},n,{children:(0,r.createComponentVNode)(2,o.Table.Row,{children:t})})))};t.Grid=u,u.defaultHooks=i.pureComponentHooks;var c=function(e){var t=e.size,n=void 0===t?1:t,i=e.style,u=a(e,["size","style"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Table.Cell,Object.assign({style:Object.assign({width:n+"%"},i)},u)))};t.GridColumn=c,u.defaultHooks=i.pureComponentHooks,u.Column=c},function(e,t,n){"use strict";t.__esModule=!0,t.Knob=void 0;var r=n(0),o=n(8),i=n(6),a=n(17),u=n(138),c=n(139);t.Knob=function(e){if(Byond.IS_LTE_IE8)return(0,r.normalizeProps)((0,r.createComponentVNode)(2,c.NumberInput,Object.assign({},e)));var t=e.animated,n=e.format,s=e.maxValue,l=e.minValue,f=e.unclamped,d=e.onChange,p=e.onDrag,h=e.step,g=e.stepPixelSize,v=e.suppressFlicker,m=e.unit,y=e.value,b=e.className,x=e.style,w=e.fillValue,_=e.color,E=e.ranges,k=void 0===E?{}:E,S=e.size,C=void 0===S?1:S,N=e.bipolar,A=(e.children,function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["animated","format","maxValue","minValue","unclamped","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","style","fillValue","color","ranges","size","bipolar","children"]));return(0,r.normalizeProps)((0,r.createComponentVNode)(2,u.DraggableControl,Object.assign({dragMatrix:[0,-1]},{animated:t,format:n,maxValue:s,minValue:l,unclamped:f,onChange:d,onDrag:p,step:h,stepPixelSize:g,suppressFlicker:v,unit:m,value:y},{children:function(e){var t=e.dragging,n=(e.editing,e.value),u=e.displayValue,c=e.displayElement,f=e.inputElement,d=e.handleDragStart,p=(0,o.scale)(null!=w?w:u,l,s),h=(0,o.scale)(u,l,s),g=_||(0,o.keyOfMatchingRange)(null!=w?w:n,k)||"default",v=Math.min(270*(h-.5),225);return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,i.classes)(["Knob","Knob--color--"+g,N&&"Knob--bipolar",b,(0,a.computeBoxClassName)(A)]),[(0,r.createVNode)(1,"div","Knob__circle",(0,r.createVNode)(1,"div","Knob__cursorBox",(0,r.createVNode)(1,"div","Knob__cursor"),2,{style:{transform:"rotate("+v+"deg)"}}),2),t&&(0,r.createVNode)(1,"div","Knob__popupValue",c,0),(0,r.createVNode)(32,"svg","Knob__ring Knob__ringTrackPivot",(0,r.createVNode)(32,"circle","Knob__ringTrack",null,1,{cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),(0,r.createVNode)(32,"svg","Knob__ring Knob__ringFillPivot",(0,r.createVNode)(32,"circle","Knob__ringFill",null,1,{style:{"stroke-dashoffset":Math.max(((N?2.75:2)-1.5*p)*Math.PI*50,0)},cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),f],0,Object.assign({},(0,a.computeBoxProps)(Object.assign({style:Object.assign({"font-size":C+"em"},x)},A)),{onMouseDown:d})))}})))}},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledControls=void 0;var r=n(0),o=n(196);function i(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var a=function(e){var t=e.children,n=e.wrap,a=i(e,["children","wrap"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Flex,Object.assign({mx:-.5,wrap:n,align:"stretch",justify:"space-between"},a,{children:t})))};t.LabeledControls=a;a.Item=function(e){var t=e.label,n=e.children,a=e.mx,u=void 0===a?1:a,c=i(e,["label","children","mx"]);return(0,r.createComponentVNode)(2,o.Flex.Item,{mx:u,children:(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Flex,Object.assign({height:"100%",direction:"column",align:"center",textAlign:"center",justify:"space-between"},c,{children:[(0,r.createComponentVNode)(2,o.Flex.Item),(0,r.createComponentVNode)(2,o.Flex.Item,{children:n}),(0,r.createComponentVNode)(2,o.Flex.Item,{color:"label",children:t})]})))})}},function(e,t,n){"use strict";t.__esModule=!0,t.Modal=void 0;var r=n(0),o=n(6),i=n(17),a=n(194);t.Modal=function(e){var t=e.className,n=e.children,u=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["className","children"]);return(0,r.createComponentVNode)(2,a.Dimmer,{children:(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Modal",t,(0,i.computeBoxClassName)(u)]),n,0,Object.assign({},(0,i.computeBoxProps)(u))))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var r=n(0),o=n(6),i=n(17);var a=function(e){var t=e.className,n=e.color,a=e.info,u=(e.warning,e.success),c=e.danger,s=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["className","color","info","warning","success","danger"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["NoticeBox",n&&"NoticeBox--color--"+n,a&&"NoticeBox--type--info",u&&"NoticeBox--type--success",c&&"NoticeBox--type--danger",t])},s)))};t.NoticeBox=a,a.defaultHooks=o.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var r=n(0),o=n(8),i=n(6),a=n(17);var u=function(e){var t=e.className,n=e.value,u=e.minValue,c=void 0===u?0:u,s=e.maxValue,l=void 0===s?1:s,f=e.color,d=e.ranges,p=void 0===d?{}:d,h=e.children,g=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["className","value","minValue","maxValue","color","ranges","children"]),v=(0,o.scale)(n,c,l),m=h!==undefined,y=f||(0,o.keyOfMatchingRange)(n,p)||"default";return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,i.classes)(["ProgressBar","ProgressBar--color--"+y,t,(0,a.computeBoxClassName)(g)]),[(0,r.createVNode)(1,"div","ProgressBar__fill ProgressBar__fill--animated",null,1,{style:{width:100*(0,o.clamp01)(v)+"%"}}),(0,r.createVNode)(1,"div","ProgressBar__content",m?h:(0,o.toFixed)(100*v)+"%",0)],4,Object.assign({},(0,a.computeBoxProps)(g))))};t.ProgressBar=u,u.defaultHooks=i.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.RoundGauge=void 0;var r=n(0),o=n(8),i=n(6),a=n(102),u=n(17);t.RoundGauge=function(e){if(Byond.IS_LTE_IE8)return(0,r.normalizeProps)((0,r.createComponentVNode)(2,a.AnimatedNumber,Object.assign({},e)));var t=e.value,n=e.minValue,c=void 0===n?1:n,s=e.maxValue,l=void 0===s?1:s,f=e.ranges,d=e.alertAfter,p=e.format,h=e.size,g=void 0===h?1:h,v=e.className,m=e.style,y=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["value","minValue","maxValue","ranges","alertAfter","format","size","className","style"]),b=(0,o.scale)(t,c,l),x=(0,o.clamp01)(b),w=f?{}:{primary:[0,1]};f&&Object.keys(f).forEach((function(e){var t=f[e];w[e]=[(0,o.scale)(t[0],c,l),(0,o.scale)(t[1],c,l)]}));var _=null;return d<t&&(_=(0,o.keyOfMatchingRange)(x,w)),(0,r.createComponentVNode)(2,u.Box,{inline:!0,children:[(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,i.classes)(["RoundGauge",v,(0,u.computeBoxClassName)(y)]),(0,r.createVNode)(32,"svg",null,[d&&(0,r.createVNode)(32,"g",(0,i.classes)(["RoundGauge__alert",_?"active RoundGauge__alert--"+_:""]),(0,r.createVNode)(32,"path",null,null,1,{d:"M48.211,14.578C48.55,13.9 49.242,13.472 50,13.472C50.758,13.472 51.45,13.9 51.789,14.578C54.793,20.587 60.795,32.589 63.553,38.106C63.863,38.726 63.83,39.462 63.465,40.051C63.101,40.641 62.457,41 61.764,41C55.996,41 44.004,41 38.236,41C37.543,41 36.899,40.641 36.535,40.051C36.17,39.462 36.137,38.726 36.447,38.106C39.205,32.589 45.207,20.587 48.211,14.578ZM50,34.417C51.426,34.417 52.583,35.574 52.583,37C52.583,38.426 51.426,39.583 50,39.583C48.574,39.583 47.417,38.426 47.417,37C47.417,35.574 48.574,34.417 50,34.417ZM50,32.75C50,32.75 53,31.805 53,22.25C53,20.594 51.656,19.25 50,19.25C48.344,19.25 47,20.594 47,22.25C47,31.805 50,32.75 50,32.75Z"}),2),(0,r.createVNode)(32,"g",null,(0,r.createVNode)(32,"circle","RoundGauge__ringTrack",null,1,{cx:"50",cy:"50",r:"45"}),2),(0,r.createVNode)(32,"g",null,Object.keys(w).map((function(e,t){var n=w[e];return(0,r.createVNode)(32,"circle","RoundGauge__ringFill RoundGauge--color--"+e,null,1,{style:{"stroke-dashoffset":Math.max((2-(n[1]-n[0]))*Math.PI*50,0)},transform:"rotate("+(180+180*n[0])+" 50 50)",cx:"50",cy:"50",r:"45"},t)})),0),(0,r.createVNode)(32,"g","RoundGauge__needle",[(0,r.createVNode)(32,"polygon","RoundGauge__needleLine",null,1,{points:"46,50 50,0 54,50"}),(0,r.createVNode)(32,"circle","RoundGauge__needleMiddle",null,1,{cx:"50",cy:"50",r:"8"})],4,{transform:"rotate("+(180*x-90)+" 50 50)"})],0,{viewBox:"0 0 100 50"}),2,Object.assign({},(0,u.computeBoxProps)(Object.assign({style:Object.assign({"font-size":g+"em"},m)},y))))),(0,r.createComponentVNode)(2,a.AnimatedNumber,{value:t,format:p,size:g})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var r=n(0),o=n(6),i=n(58),a=n(17);var u=function(e){var t,n;function u(t){var n;return(n=e.call(this,t)||this).ref=(0,r.createRef)(),n.scrollable=t.scrollable,n}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=u.prototype;return c.componentDidMount=function(){this.scrollable&&(0,i.addScrollableNode)(this.ref.current)},c.componentWillUnmount=function(){this.scrollable&&(0,i.removeScrollableNode)(this.ref.current)},c.render=function(){var e=this.props,t=e.className,n=e.title,i=e.level,u=void 0===i?1:i,c=e.buttons,s=e.fill,l=e.fitted,f=e.scrollable,d=e.children,p=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["className","title","level","buttons","fill","fitted","scrollable","children"]),h=(0,o.canRender)(n)||(0,o.canRender)(c),g=l?d:(0,r.createVNode)(1,"div","Section__content",d,0,null,null,this.ref);return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Section","Section--level--"+u,Byond.IS_LTE_IE8&&"Section--iefix",s&&"Section--fill",l&&"Section--fitted",f&&"Section--scrollable",t].concat((0,a.computeBoxClassName)(p))),[h&&(0,r.createVNode)(1,"div","Section__title",[(0,r.createVNode)(1,"span","Section__titleText",n,0),(0,r.createVNode)(1,"div","Section__buttons",c,0)],4),g],0,Object.assign({},(0,a.computeBoxProps)(p)),null,l?this.ref:undefined))},u}(r.Component);t.Section=u},function(e,t,n){"use strict";t.__esModule=!0,t.Slider=void 0;var r=n(0),o=n(8),i=n(6),a=n(17),u=n(138),c=n(139);t.Slider=function(e){if(Byond.IS_LTE_IE8)return(0,r.normalizeProps)((0,r.createComponentVNode)(2,c.NumberInput,Object.assign({},e)));var t=e.animated,n=e.format,s=e.maxValue,l=e.minValue,f=e.onChange,d=e.onDrag,p=e.step,h=e.stepPixelSize,g=e.suppressFlicker,v=e.unit,m=e.value,y=e.className,b=e.fillValue,x=e.color,w=e.ranges,_=void 0===w?{}:w,E=e.children,k=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["animated","format","maxValue","minValue","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","fillValue","color","ranges","children"]),S=E!==undefined;return(0,r.normalizeProps)((0,r.createComponentVNode)(2,u.DraggableControl,Object.assign({dragMatrix:[1,0]},{animated:t,format:n,maxValue:s,minValue:l,onChange:f,onDrag:d,step:p,stepPixelSize:h,suppressFlicker:g,unit:v,value:m},{children:function(e){var t=e.dragging,n=(e.editing,e.value),u=e.displayValue,c=e.displayElement,f=e.inputElement,d=e.handleDragStart,p=b!==undefined&&null!==b,h=((0,o.scale)(n,l,s),(0,o.scale)(null!=b?b:u,l,s)),g=(0,o.scale)(u,l,s),v=x||(0,o.keyOfMatchingRange)(null!=b?b:n,_)||"default";return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,i.classes)(["Slider","ProgressBar","ProgressBar--color--"+v,y,(0,a.computeBoxClassName)(k)]),[(0,r.createVNode)(1,"div",(0,i.classes)(["ProgressBar__fill",p&&"ProgressBar__fill--animated"]),null,1,{style:{width:100*(0,o.clamp01)(h)+"%",opacity:.4}}),(0,r.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,o.clamp01)(Math.min(h,g))+"%"}}),(0,r.createVNode)(1,"div","Slider__cursorOffset",[(0,r.createVNode)(1,"div","Slider__cursor"),(0,r.createVNode)(1,"div","Slider__pointer"),t&&(0,r.createVNode)(1,"div","Slider__popupValue",c,0)],0,{style:{width:100*(0,o.clamp01)(g)+"%"}}),(0,r.createVNode)(1,"div","ProgressBar__content",S?E:c,0),f],0,Object.assign({},(0,a.computeBoxProps)(k),{onMouseDown:d})))}})))}},function(e,t,n){"use strict";t.__esModule=!0,t.TextArea=void 0;var r=n(0),o=n(6),i=n(17),a=n(198),u=n(64);function c(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var s=function(e){var t,n;function s(t,n){var o;(o=e.call(this,t,n)||this).textareaRef=(0,r.createRef)(),o.fillerRef=(0,r.createRef)(),o.state={editing:!1};var i=t.dontUseTabForIndent,c=void 0!==i&&i;return o.handleOnInput=function(e){var t=o.state.editing,n=o.props.onInput;t||o.setEditing(!0),n&&n(e,e.target.value)},o.handleOnChange=function(e){var t=o.state.editing,n=o.props.onChange;t&&o.setEditing(!1),n&&n(e,e.target.value)},o.handleKeyPress=function(e){var t=o.state.editing,n=o.props.onKeyPress;t||o.setEditing(!0),n&&n(e,e.target.value)},o.handleKeyDown=function(e){var t=o.state.editing,n=o.props.onKeyDown;if(e.keyCode===u.KEY_ESCAPE)return o.setEditing(!1),e.target.value=(0,a.toInputValue)(o.props.value),void e.target.blur();if((t||o.setEditing(!0),!c)&&9===(e.keyCode||e.which)){e.preventDefault();var r=e.target,i=r.value,s=r.selectionStart,l=r.selectionEnd;e.target.value=i.substring(0,s)+"\t"+i.substring(l),e.target.selectionEnd=s+1}n&&n(e,e.target.value)},o.handleFocus=function(e){o.state.editing||o.setEditing(!0)},o.handleBlur=function(e){var t=o.state.editing,n=o.props.onChange;t&&(o.setEditing(!1),n&&n(e,e.target.value))},o}n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var l=s.prototype;return l.componentDidMount=function(){var e=this.props.value,t=this.textareaRef.current;t&&(t.value=(0,a.toInputValue)(e))},l.componentDidUpdate=function(e,t){var n=this.state.editing,r=e.value,o=this.props.value,i=this.textareaRef.current;i&&!n&&r!==o&&(i.value=(0,a.toInputValue)(o))},l.setEditing=function(e){this.setState({editing:e})},l.getValue=function(){return this.textareaRef.current&&this.textareaRef.current.value},l.render=function(){var e=this.props,t=(e.onChange,e.onKeyDown,e.onKeyPress,e.onInput,e.onFocus,e.onBlur,e.onEnter,e.value,e.maxLength),n=e.placeholder,a=c(e,["onChange","onKeyDown","onKeyPress","onInput","onFocus","onBlur","onEnter","value","maxLength","placeholder"]),u=a.className,s=a.fluid,l=c(a,["className","fluid"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["TextArea",s&&"TextArea--fluid",u])},l,{children:(0,r.createVNode)(128,"textarea","TextArea__textarea",null,1,{placeholder:n,onChange:this.handleOnChange,onKeyDown:this.handleKeyDown,onKeyPress:this.handleKeyPress,onInput:this.handleOnInput,onFocus:this.handleFocus,onBlur:this.handleBlur,maxLength:t},null,this.textareaRef)})))},s}(r.Component);t.TextArea=s},function(e,t,n){"use strict";t.__esModule=!0,t.Tabs=void 0;var r=n(0),o=n(6),i=n(17),a=n(103);function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var c=function(e){var t=e.className,n=e.vertical,a=e.fluid,c=e.children,s=u(e,["className","vertical","fluid","children"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Tabs",n?"Tabs--vertical":"Tabs--horizontal",a&&"Tabs--fluid",t,(0,i.computeBoxClassName)(s)]),c,0,Object.assign({},(0,i.computeBoxProps)(s))))};t.Tabs=c;c.Tab=function(e){var t=e.className,n=e.selected,c=e.color,s=e.icon,l=e.leftSlot,f=e.rightSlot,d=e.children,p=u(e,["className","selected","color","icon","leftSlot","rightSlot","children"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Tab","Tabs__Tab","Tab--color--"+c,n&&"Tab--selected",t].concat((0,i.computeBoxClassName)(p))),[(0,o.canRender)(l)&&(0,r.createVNode)(1,"div","Tab__left",l,0)||!!s&&(0,r.createVNode)(1,"div","Tab__left",(0,r.createComponentVNode)(2,a.Icon,{name:s}),2),(0,r.createVNode)(1,"div","Tab__text",d,0),(0,o.canRender)(f)&&(0,r.createVNode)(1,"div","Tab__right",f,0)],0,Object.assign({},(0,i.computeBoxProps)(p))))}},function(e,t,n){"use strict";t.__esModule=!0,t.TimeDisplay=void 0;var r=n(8),o=n(0);var i=function(e){return"number"==typeof e&&Number.isFinite(e)&&!Number.isNaN(e)},a=function(e){var t,n;function o(t){var n;return(n=e.call(this,t)||this).timer=null,n.last_seen_value=undefined,n.state={value:0},i(t.value)&&(n.state.value=Number(t.value),n.last_seen_value=Number(t.value)),n}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var a=o.prototype;return a.componentDidUpdate=function(){var e=this;this.props.auto!==undefined&&(clearInterval(this.timer),this.timer=setInterval((function(){return e.tick()}),1e3))},a.tick=function(){var e=Number(this.state.value);this.props.value!==this.last_seen_value&&(this.last_seen_value=this.props.value,e=this.props.value);var t="up"===this.props.auto?10:-10,n=Math.max(0,e+t);this.setState({value:n})},a.componentDidMount=function(){var e=this;this.props.auto!==undefined&&(this.timer=setInterval((function(){return e.tick()}),1e3))},a.componentWillUnmount=function(){clearInterval(this.timer)},a.render=function(){var e=this.state.value;if(!i(e))return this.state.value||null;var t=(0,r.toFixed)(Math.floor(e/10%60)).padStart(2,"0"),n=(0,r.toFixed)(Math.floor(e/600%60)).padStart(2,"0");return(0,r.toFixed)(Math.floor(e/36e3%24)).padStart(2,"0")+":"+n+":"+t},o}(o.Component);t.TimeDisplay=a},function(e,t,n){"use strict";t.__esModule=!0,t.NtosWindow=void 0;var r=n(0),o=n(51),i=n(2),a=n(1),u=n(200),c=function(e,t){var n=e.title,c=e.width,s=void 0===c?575:c,l=e.height,f=void 0===l?700:l,d=e.resizable,p=e.theme,h=void 0===p?"ntos":p,g=e.children,v=(0,i.useBackend)(t),m=v.act,y=v.data,b=y.PC_device_theme,x=y.PC_batteryicon,w=y.PC_showbatteryicon,_=y.PC_batterypercent,E=y.PC_ntneticon,k=y.PC_apclinkicon,S=y.PC_stationtime,C=y.PC_programheaders,N=void 0===C?[]:C,A=y.PC_showexitprogram;return(0,r.createComponentVNode)(2,u.Window,{title:n,width:s,height:f,theme:h,resizable:d,children:(0,r.createVNode)(1,"div","NtosWindow",[(0,r.createVNode)(1,"div","NtosWindow__header NtosHeader",[(0,r.createVNode)(1,"div","NtosHeader__left",[(0,r.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:2,children:S}),(0,r.createComponentVNode)(2,a.Box,{inline:!0,italic:!0,mr:2,opacity:.33,children:["ntos"===b&&"NtOS","syndicate"===b&&"Syndix"]})],4),(0,r.createVNode)(1,"div","NtosHeader__right",[N.map((function(e){return(0,r.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,r.createVNode)(1,"img","NtosHeader__icon",null,1,{src:(0,o.resolveAsset)(e.icon)})},e.icon)})),(0,r.createComponentVNode)(2,a.Box,{inline:!0,children:E&&(0,r.createVNode)(1,"img","NtosHeader__icon",null,1,{src:(0,o.resolveAsset)(E)})}),!(!w||!x)&&(0,r.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:[(0,r.createVNode)(1,"img","NtosHeader__icon",null,1,{src:(0,o.resolveAsset)(x)}),_&&_]}),k&&(0,r.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,r.createVNode)(1,"img","NtosHeader__icon",null,1,{src:(0,o.resolveAsset)(k)})}),!!A&&(0,r.createComponentVNode)(2,a.Button,{width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-minimize-o",tooltip:"Minimize",tooltipPosition:"bottom",onClick:function(){return m("PC_minimize")}}),!!A&&(0,r.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 m("PC_exit")}}),!A&&(0,r.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 m("PC_shutdown")}})],0)],4),g],0)})};t.NtosWindow=c;c.Content=function(e){return(0,r.createVNode)(1,"div","NtosWindow__content",(0,r.normalizeProps)((0,r.createComponentVNode)(2,u.Window.Content,Object.assign({},e))),2)}},function(e,t,n){"use strict";t.__esModule=!0,t.Pane=void 0;var r=n(0),o=n(6),i=n(2),a=n(1),u=n(137),c=n(140);function s(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var l=function(e,t){var n=e.theme,l=e.children,f=e.className,d=s(e,["theme","children","className"]),p=(0,i.useBackend)(t).suspended,h=(0,u.useDebug)(t).debugLayout;return(0,r.normalizeProps)((0,r.createComponentVNode)(2,c.Layout,Object.assign({className:(0,o.classes)(["Window",f]),theme:n},d,{children:(0,r.createComponentVNode)(2,a.Box,{fillPositionedParent:!0,className:h&&"debug-layout",children:!p&&l})})))};t.Pane=l;l.Content=function(e){var t=e.className,n=e.fitted,i=e.children,a=s(e,["className","fitted","children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,c.Layout.Content,Object.assign({className:(0,o.classes)(["Window__content",t])},a,{children:n&&i||(0,r.createVNode)(1,"div","Window__contentPadding",i,0)})))}},function(e,t,n){"use strict";t.__esModule=!0,t.relayMiddleware=t.debugMiddleware=void 0;var r=n(64),o=n(58),i=n(185),a=n(201),u=["backend/update","chat/message"];t.debugMiddleware=function(e){return(0,i.acquireHotKey)(r.KEY_F11),(0,i.acquireHotKey)(r.KEY_F12),o.globalEvents.on("keydown",(function(t){t.code===r.KEY_F11&&e.dispatch((0,a.toggleDebugLayout)()),t.code===r.KEY_F12&&e.dispatch((0,a.toggleKitchenSink)()),t.ctrl&&t.alt&&t.code===r.KEY_BACKSPACE&&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!")}))})),function(e){return function(t){return e(t)}}};t.relayMiddleware=function(e){var t=n(100),c="?external"===location.search;return c?t.subscribe((function(t){var n=t.type,r=t.payload;"relay"===n&&r.windowId===window.__windowId__&&e.dispatch(Object.assign({},r.action,{relayed:!0}))})):((0,i.acquireHotKey)(r.KEY_F10),o.globalEvents.on("keydown",(function(t){t===r.KEY_F10&&e.dispatch((0,a.openExternalBrowser)())}))),function(e){return function(n){var r=n.type,o=(n.payload,n.relayed);if(r!==a.openExternalBrowser.type)return!u.includes(r)||o||c||t.sendMessage({type:"relay",payload:{windowId:window.__windowId__,action:n}}),e(n);window.open(location.href+"?external","_blank")}}}},function(e,t,n){"use strict";t.__esModule=!0,t.debugReducer=void 0;t.debugReducer=function(e,t){void 0===e&&(e={});var n=t.type;t.payload;return"debug/toggleKitchenSink"===n?Object.assign({},e,{kitchenSink:!e.kitchenSink}):"debug/toggleDebugLayout"===n?Object.assign({},e,{debugLayout:!e.debugLayout}):e}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";e.exports=function(){function e(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var t=Object.hasOwnProperty,n=Object.setPrototypeOf,r=Object.isFrozen,o=Object.keys,i=Object.freeze,a=Object.seal,u="undefined"!=typeof Reflect&&Reflect,c=u.apply,s=u.construct;c||(c=function(){function e(e,t,n){return e.apply(t,n)}return e}()),i||(i=function(){function e(e){return e}return e}()),a||(a=function(){function e(e){return e}return e}()),s||(s=function(){function t(t,n){return new(Function.prototype.bind.apply(t,[null].concat(e(n))))}return t}());var l=k(Array.prototype.forEach),f=k(Array.prototype.indexOf),d=k(Array.prototype.join),p=k(Array.prototype.pop),h=k(Array.prototype.push),g=k(Array.prototype.slice),v=k(String.prototype.toLowerCase),m=k(String.prototype.match),y=k(String.prototype.replace),b=k(String.prototype.indexOf),x=k(String.prototype.trim),w=k(RegExp.prototype.test),_=S(RegExp),E=S(TypeError);function k(e){return function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return c(e,t,r)}}function S(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return s(e,n)}}function C(e,t){n&&n(e,null);for(var o=t.length;o--;){var i=t[o];if("string"==typeof i){var a=v(i);a!==i&&(r(t)||(t[o]=a),i=a)}e[i]=!0}return e}function N(e){var n={},r=void 0;for(r in e)c(t,e,[r])&&(n[r]=e[r]);return n}var A=i(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),T=i(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","audio","canvas","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","video","view","vkern"]),O=i(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),I=i(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),M=i(["#text"]),L=i(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns"]),V=i(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","tabindex","targetx","targety","transform","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),R=i(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),P=i(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),B=a(/\{\{[\s\S]*|[\s\S]*\}\}/gm),j=a(/<%[\s\S]*|[\s\S]*%>/gm),D=a(/^data-[\-\w.\u00B7-\uFFFF]/),F=a(/^aria-[\-\w]+$/),K=a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),z=a(/^(?:\w+script|data):/i),Y=a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g),U="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function $(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var H=function(){function e(){return"undefined"==typeof window?null:window}return e}(),W=function(){function e(e,t){if("object"!==(void 0===e?"undefined":U(e))||"function"!=typeof e.createPolicy)return null;var n=null,r="data-tt-policy-suffix";t.currentScript&&t.currentScript.hasAttribute(r)&&(n=t.currentScript.getAttribute(r));var o="dompurify"+(n?"#"+n:"");try{return e.createPolicy(o,{createHTML:function(){function e(e){return e}return e}()})}catch(i){return null}}return e}();function G(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:H(),t=function(){function e(e){return G(e)}return e}();if(t.version="2.0.12",t.removed=[],!e||!e.document||9!==e.document.nodeType)return t.isSupported=!1,t;var n=e.document,r=!1,a=e.document,u=e.DocumentFragment,c=e.HTMLTemplateElement,s=e.Node,k=e.NodeFilter,S=e.NamedNodeMap,q=S===undefined?e.NamedNodeMap||e.MozNamedAttrMap:S,X=e.Text,Z=e.Comment,Q=e.DOMParser,J=e.trustedTypes;if("function"==typeof c){var ee=a.createElement("template");ee.content&&ee.content.ownerDocument&&(a=ee.content.ownerDocument)}var te=W(J,n),ne=te&&Ve?te.createHTML(""):"",re=a,oe=re.implementation,ie=re.createNodeIterator,ae=re.getElementsByTagName,ue=re.createDocumentFragment,ce=n.importNode,se={};t.isSupported=oe&&"undefined"!=typeof oe.createHTMLDocument&&9!==a.documentMode;var le=B,fe=j,de=D,pe=F,he=z,ge=Y,ve=K,me=null,ye=C({},[].concat($(A),$(T),$(O),$(I),$(M))),be=null,xe=C({},[].concat($(L),$(V),$(R),$(P))),we=null,_e=null,Ee=!0,ke=!0,Se=!1,Ce=!1,Ne=!1,Ae=!1,Te=!1,Oe=!1,Ie=!1,Me=!1,Le=!1,Ve=!1,Re=!0,Pe=!0,Be=!1,je={},De=C({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","plaintext","script","style","svg","template","thead","title","video","xmp"]),Fe=null,Ke=C({},["audio","video","img","source","image","track"]),ze=null,Ye=C({},["alt","class","for","id","label","name","pattern","placeholder","summary","title","value","style","xmlns"]),Ue=null,$e=a.createElement("form"),He=function(){function e(e){Ue&&Ue===e||(e&&"object"===(void 0===e?"undefined":U(e))||(e={}),me="ALLOWED_TAGS"in e?C({},e.ALLOWED_TAGS):ye,be="ALLOWED_ATTR"in e?C({},e.ALLOWED_ATTR):xe,ze="ADD_URI_SAFE_ATTR"in e?C(N(Ye),e.ADD_URI_SAFE_ATTR):Ye,Fe="ADD_DATA_URI_TAGS"in e?C(N(Ke),e.ADD_DATA_URI_TAGS):Ke,we="FORBID_TAGS"in e?C({},e.FORBID_TAGS):{},_e="FORBID_ATTR"in e?C({},e.FORBID_ATTR):{},je="USE_PROFILES"in e&&e.USE_PROFILES,Ee=!1!==e.ALLOW_ARIA_ATTR,ke=!1!==e.ALLOW_DATA_ATTR,Se=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Ce=e.SAFE_FOR_JQUERY||!1,Ne=e.SAFE_FOR_TEMPLATES||!1,Ae=e.WHOLE_DOCUMENT||!1,Ie=e.RETURN_DOM||!1,Me=e.RETURN_DOM_FRAGMENT||!1,Le=e.RETURN_DOM_IMPORT||!1,Ve=e.RETURN_TRUSTED_TYPE||!1,Oe=e.FORCE_BODY||!1,Re=!1!==e.SANITIZE_DOM,Pe=!1!==e.KEEP_CONTENT,Be=e.IN_PLACE||!1,ve=e.ALLOWED_URI_REGEXP||ve,Ne&&(ke=!1),Me&&(Ie=!0),je&&(me=C({},[].concat($(M))),be=[],!0===je.html&&(C(me,A),C(be,L)),!0===je.svg&&(C(me,T),C(be,V),C(be,P)),!0===je.svgFilters&&(C(me,O),C(be,V),C(be,P)),!0===je.mathMl&&(C(me,I),C(be,R),C(be,P))),e.ADD_TAGS&&(me===ye&&(me=N(me)),C(me,e.ADD_TAGS)),e.ADD_ATTR&&(be===xe&&(be=N(be)),C(be,e.ADD_ATTR)),e.ADD_URI_SAFE_ATTR&&C(ze,e.ADD_URI_SAFE_ATTR),Pe&&(me["#text"]=!0),Ae&&C(me,["html","head","body"]),me.table&&(C(me,["tbody"]),delete we.tbody),i&&i(e),Ue=e)}return e}(),We=function(){function e(e){h(t.removed,{element:e});try{e.parentNode.removeChild(e)}catch(n){e.outerHTML=ne}}return e}(),Ge=function(){function e(e,n){try{h(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch(r){h(t.removed,{attribute:null,from:n})}n.removeAttribute(e)}return e}(),qe=function(){function e(e){var t=void 0,n=void 0;if(Oe)e="<remove></remove>"+e;else{var o=m(e,/^[\r\n\t ]+/);n=o&&o[0]}var i=te?te.createHTML(e):e;try{t=(new Q).parseFromString(i,"text/html")}catch(c){}if(r&&C(we,["title"]),!t||!t.documentElement){var u=(t=oe.createHTMLDocument("")).body;u.parentNode.removeChild(u.parentNode.firstElementChild),u.outerHTML=i}return e&&n&&t.body.insertBefore(a.createTextNode(n),t.body.childNodes[0]||null),ae.call(t,Ae?"html":"body")[0]}return e}();t.isSupported&&function(){try{var e=qe("<x/><title></title><img>");w(/<\/title/,e.querySelector("title").innerHTML)&&(r=!0)}catch(t){}}();var Xe=function(){function e(e){return ie.call(e.ownerDocument||e,e,k.SHOW_ELEMENT|k.SHOW_COMMENT|k.SHOW_TEXT,(function(){return k.FILTER_ACCEPT}),!1)}return e}(),Ze=function(){function e(e){return!(e instanceof X||e instanceof Z||"string"==typeof e.nodeName&&"string"==typeof e.textContent&&"function"==typeof e.removeChild&&e.attributes instanceof q&&"function"==typeof e.removeAttribute&&"function"==typeof e.setAttribute&&"string"==typeof e.namespaceURI)}return e}(),Qe=function(){function e(e){return"object"===(void 0===s?"undefined":U(s))?e instanceof s:e&&"object"===(void 0===e?"undefined":U(e))&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName}return e}(),Je=function(){function e(e,n,r){se[e]&&l(se[e],(function(e){e.call(t,n,r,Ue)}))}return e}(),et=function(){function e(e){var n=void 0;if(Je("beforeSanitizeElements",e,null),Ze(e))return We(e),!0;var r=v(e.nodeName);if(Je("uponSanitizeElement",e,{tagName:r,allowedTags:me}),("svg"===r||"math"===r)&&0!==e.querySelectorAll("p, br").length)return We(e),!0;if(!me[r]||we[r]){if(Pe&&!De[r]&&"function"==typeof e.insertAdjacentHTML)try{var o=e.innerHTML;e.insertAdjacentHTML("AfterEnd",te?te.createHTML(o):o)}catch(i){}return We(e),!0}return"noscript"===r&&w(/<\/noscript/i,e.innerHTML)||"noembed"===r&&w(/<\/noembed/i,e.innerHTML)?(We(e),!0):(!Ce||e.firstElementChild||e.content&&e.content.firstElementChild||!w(/</g,e.textContent)||(h(t.removed,{element:e.cloneNode()}),e.innerHTML?e.innerHTML=y(e.innerHTML,/</g,"<"):e.innerHTML=y(e.textContent,/</g,"<")),Ne&&3===e.nodeType&&(n=e.textContent,n=y(n,le," "),n=y(n,fe," "),e.textContent!==n&&(h(t.removed,{element:e.cloneNode()}),e.textContent=n)),Je("afterSanitizeElements",e,null),!1)}return e}(),tt=function(){function e(e,t,n){if(Re&&("id"===t||"name"===t)&&(n in a||n in $e))return!1;if(ke&&w(de,t));else if(Ee&&w(pe,t));else{if(!be[t]||_e[t])return!1;if(ze[t]);else if(w(ve,y(n,ge,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==b(n,"data:")||!Fe[e])if(Se&&!w(he,y(n,ge,"")));else if(n)return!1}return!0}return e}(),nt=function(){function e(e){var n=void 0,r=void 0,i=void 0,a=void 0,u=void 0;Je("beforeSanitizeAttributes",e,null);var c=e.attributes;if(c){var s={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:be};for(u=c.length;u--;){var l=n=c[u],h=l.name,m=l.namespaceURI;if(r=x(n.value),i=v(h),s.attrName=i,s.attrValue=r,s.keepAttr=!0,s.forceKeepAttr=undefined,Je("uponSanitizeAttribute",e,s),r=s.attrValue,!s.forceKeepAttr){if("name"===i&&"IMG"===e.nodeName&&c.id)a=c.id,c=g(c,[]),Ge("id",e),Ge(h,e),f(c,a)>u&&e.setAttribute("id",a.value);else{if("INPUT"===e.nodeName&&"type"===i&&"file"===r&&s.keepAttr&&(be[i]||!_e[i]))continue;"id"===h&&e.setAttribute(h,""),Ge(h,e)}if(s.keepAttr)if(Ce&&w(/\/>/i,r))Ge(h,e);else if(w(/svg|math/i,e.namespaceURI)&&w(_("</("+d(o(De),"|")+")","i"),r))Ge(h,e);else{Ne&&(r=y(r,le," "),r=y(r,fe," "));var b=e.nodeName.toLowerCase();if(tt(b,i,r))try{m?e.setAttributeNS(m,h,r):e.setAttribute(h,r),p(t.removed)}catch(E){}}}}Je("afterSanitizeAttributes",e,null)}}return e}(),rt=function(){function e(t){var n=void 0,r=Xe(t);for(Je("beforeSanitizeShadowDOM",t,null);n=r.nextNode();)Je("uponSanitizeShadowNode",n,null),et(n)||(n.content instanceof u&&e(n.content),nt(n));Je("afterSanitizeShadowDOM",t,null)}return e}();return t.sanitize=function(r,o){var i=void 0,a=void 0,c=void 0,l=void 0,f=void 0;if(r||(r="\x3c!--\x3e"),"string"!=typeof r&&!Qe(r)){if("function"!=typeof r.toString)throw E("toString is not a function");if("string"!=typeof(r=r.toString()))throw E("dirty is not a string, aborting")}if(!t.isSupported){if("object"===U(e.toStaticHTML)||"function"==typeof e.toStaticHTML){if("string"==typeof r)return e.toStaticHTML(r);if(Qe(r))return e.toStaticHTML(r.outerHTML)}return r}if(Te||He(o),t.removed=[],"string"==typeof r&&(Be=!1),Be);else if(r instanceof s)1===(a=(i=qe("\x3c!--\x3e")).ownerDocument.importNode(r,!0)).nodeType&&"BODY"===a.nodeName||"HTML"===a.nodeName?i=a:i.appendChild(a);else{if(!Ie&&!Ne&&!Ae&&-1===r.indexOf("<"))return te&&Ve?te.createHTML(r):r;if(!(i=qe(r)))return Ie?null:ne}i&&Oe&&We(i.firstChild);for(var d=Xe(Be?r:i);c=d.nextNode();)3===c.nodeType&&c===l||et(c)||(c.content instanceof u&&rt(c.content),nt(c),l=c);if(l=null,Be)return r;if(Ie){if(Me)for(f=ue.call(i.ownerDocument);i.firstChild;)f.appendChild(i.firstChild);else f=i;return Le&&(f=ce.call(n,f,!0)),f}var p=Ae?i.outerHTML:i.innerHTML;return Ne&&(p=y(p,le," "),p=y(p,fe," ")),te&&Ve?te.createHTML(p):p},t.setConfig=function(e){He(e),Te=!0},t.clearConfig=function(){Ue=null,Te=!1},t.isValidAttribute=function(e,t,n){Ue||He({});var r=v(e),o=v(t);return tt(r,o,n)},t.addHook=function(e,t){"function"==typeof t&&(se[e]=se[e]||[],h(se[e],t))},t.removeHook=function(e){se[e]&&p(se[e])},t.removeHooks=function(e){se[e]&&(se[e]=[])},t.removeAllHooks=function(){se={}},t}return G()}()},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";e.exports=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function t(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}function n(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function o(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=n(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(r=e[Symbol.iterator]()).next.bind(r)}function i(e,t){return e(t={exports:{}},t.exports),t.exports}var a=i((function(e){function t(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}function n(t){e.exports.defaults=t}e.exports={defaults:t(),getDefaults:t,changeDefaults:n}})),u=(a.defaults,a.getDefaults,a.changeDefaults,/[&<>"']/),c=/[&<>"']/g,s=/[<>"']|&(?!#?\w+;)/,l=/[<>"']|&(?!#?\w+;)/g,f={"&":"&","<":"<",">":">",'"':""","'":"'"},d=function(){function e(e){return f[e]}return e}();function p(e,t){if(t){if(u.test(e))return e.replace(c,d)}else if(s.test(e))return e.replace(l,d);return e}var h=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function g(e){return e.replace(h,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}var v=/(^|[^\[])\^/g;function m(e,t){e=e.source||e,t=t||"";var n={replace:function(){function t(t,r){return r=(r=r.source||r).replace(v,"$1"),e=e.replace(t,r),n}return t}(),getRegex:function(){function n(){return new RegExp(e,t)}return n}()};return n}var y=/[^\w:]/g,b=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function x(e,t,n){if(e){var r;try{r=decodeURIComponent(g(n)).replace(y,"").toLowerCase()}catch(o){return null}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return null}t&&!b.test(n)&&(n=S(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(o){return null}return n}var w={},_=/^[^:]+:\/*[^/]*$/,E=/^([^:]+:)[\s\S]*$/,k=/^([^:]+:\/*[^/]*)[\s\S]*$/;function S(e,t){w[" "+e]||(_.test(e)?w[" "+e]=e+"/":w[" "+e]=A(e,"/",!0));var n=-1===(e=w[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(E,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(k,"$1")+t:e+t}function C(e){for(var t,n,r=1;r<arguments.length;r++)for(n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}function N(e,t){var n=e.replace(/\|/g,(function(e,t,n){for(var r=!1,o=t;--o>=0&&"\\"===n[o];)r=!r;return r?"|":" |"})).split(/ \|/),r=0;if(n.length>t)n.splice(t);else for(;n.length<t;)n.push("");for(;r<n.length;r++)n[r]=n[r].trim().replace(/\\\|/g,"|");return n}function A(e,t,n){var r=e.length;if(0===r)return"";for(var o=0;o<r;){var i=e.charAt(r-o-1);if(i!==t||n){if(i===t||!n)break;o++}else o++}return e.substr(0,r-o)}function T(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,r=0,o=0;o<n;o++)if("\\"===e[o])o++;else if(e[o]===t[0])r++;else if(e[o]===t[1]&&--r<0)return o;return-1}function O(e){e&&e.sanitize&&e.silent}var I={escape:p,unescape:g,edit:m,cleanUrl:x,resolveUrl:S,noopTest:{exec:function(){function e(){}return e}()},merge:C,splitCells:N,rtrim:A,findClosingBracket:T,checkSanitizeDeprecation:O},M=a.defaults,L=I.rtrim,V=I.splitCells,R=I.escape,P=I.findClosingBracket;function B(e,t,n){var r=t.href,o=t.title?R(t.title):null,i=e[1].replace(/\\([\[\]])/g,"$1");return"!"!==e[0].charAt(0)?{type:"link",raw:n,href:r,title:o,text:i}:{type:"image",raw:n,href:r,title:o,text:R(i)}}function j(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var r=n[1];return t.split("\n").map((function(e){var t=e.match(/^\s+/);return null===t?e:t[0].length>=r.length?e.slice(r.length):e})).join("\n")}var D=function(){function e(e){this.options=e||M}var t=e.prototype;return t.space=function(){function e(e){var t=this.rules.block.newline.exec(e);if(t)return t[0].length>1?{type:"space",raw:t[0]}:{raw:"\n"}}return e}(),t.code=function(){function e(e,t){var n=this.rules.block.code.exec(e);if(n){var r=t[t.length-1];if(r&&"paragraph"===r.type)return{raw:n[0],text:n[0].trimRight()};var o=n[0].replace(/^ {4}/gm,"");return{type:"code",raw:n[0],codeBlockStyle:"indented",text:this.options.pedantic?o:L(o,"\n")}}}return e}(),t.fences=function(){function e(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],r=j(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim():t[2],text:r}}}return e}(),t.heading=function(){function e(e){var t=this.rules.block.heading.exec(e);if(t)return{type:"heading",raw:t[0],depth:t[1].length,text:t[2]}}return e}(),t.nptable=function(){function e(e){var t=this.rules.block.nptable.exec(e);if(t){var n={type:"table",header:V(t[1].replace(/^ *| *\| *$/g,"")),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:t[3]?t[3].replace(/\n$/,"").split("\n"):[],raw:t[0]};if(n.header.length===n.align.length){var r,o=n.align.length;for(r=0;r<o;r++)/^ *-+: *$/.test(n.align[r])?n.align[r]="right":/^ *:-+: *$/.test(n.align[r])?n.align[r]="center":/^ *:-+ *$/.test(n.align[r])?n.align[r]="left":n.align[r]=null;for(o=n.cells.length,r=0;r<o;r++)n.cells[r]=V(n.cells[r],n.header.length);return n}}}return e}(),t.hr=function(){function e(e){var t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}return e}(),t.blockquote=function(){function e(e){var t=this.rules.block.blockquote.exec(e);if(t){var n=t[0].replace(/^ *> ?/gm,"");return{type:"blockquote",raw:t[0],text:n}}}return e}(),t.list=function(){function e(e){var t=this.rules.block.list.exec(e);if(t){for(var n,r,o,i,a,u,c,s=t[0],l=t[2],f=l.length>1,d=")"===l[l.length-1],p={type:"list",raw:s,ordered:f,start:f?+l.slice(0,-1):"",loose:!1,items:[]},h=t[0].match(this.rules.block.item),g=!1,v=h.length,m=0;m<v;m++)s=n=h[m],r=n.length,~(n=n.replace(/^ *([*+-]|\d+[.)]) */,"")).indexOf("\n ")&&(r-=n.length,n=this.options.pedantic?n.replace(/^ {1,4}/gm,""):n.replace(new RegExp("^ {1,"+r+"}","gm"),"")),m!==v-1&&(o=this.rules.block.bullet.exec(h[m+1])[0],(f?1===o.length||!d&&")"===o[o.length-1]:o.length>1||this.options.smartLists&&o!==l)&&(i=h.slice(m+1).join("\n"),p.raw=p.raw.substring(0,p.raw.length-i.length),m=v-1)),a=g||/\n\n(?!\s*$)/.test(n),m!==v-1&&(g="\n"===n.charAt(n.length-1),a||(a=g)),a&&(p.loose=!0),u=/^\[[ xX]\] /.test(n),c=undefined,u&&(c=" "!==n[1],n=n.replace(/^\[[ xX]\] +/,"")),p.items.push({type:"list_item",raw:s,task:u,checked:c,loose:a,text:n});return p}}return e}(),t.html=function(){function e(e){var t=this.rules.block.html.exec(e);if(t)return{type:this.options.sanitize?"paragraph":"html",raw:t[0],pre:!this.options.sanitizer&&("pre"===t[1]||"script"===t[1]||"style"===t[1]),text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):R(t[0]):t[0]}}return e}(),t.def=function(){function e(e){var t=this.rules.block.def.exec(e);if(t)return t[3]&&(t[3]=t[3].substring(1,t[3].length-1)),{tag:t[1].toLowerCase().replace(/\s+/g," "),raw:t[0],href:t[2],title:t[3]}}return e}(),t.table=function(){function e(e){var t=this.rules.block.table.exec(e);if(t){var n={type:"table",header:V(t[1].replace(/^ *| *\| *$/g,"")),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:t[3]?t[3].replace(/\n$/,"").split("\n"):[]};if(n.header.length===n.align.length){n.raw=t[0];var r,o=n.align.length;for(r=0;r<o;r++)/^ *-+: *$/.test(n.align[r])?n.align[r]="right":/^ *:-+: *$/.test(n.align[r])?n.align[r]="center":/^ *:-+ *$/.test(n.align[r])?n.align[r]="left":n.align[r]=null;for(o=n.cells.length,r=0;r<o;r++)n.cells[r]=V(n.cells[r].replace(/^ *\| *| *\| *$/g,""),n.header.length);return n}}}return e}(),t.lheading=function(){function e(e){var t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1]}}return e}(),t.paragraph=function(){function e(e){var t=this.rules.block.paragraph.exec(e);if(t)return{type:"paragraph",raw:t[0],text:"\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1]}}return e}(),t.text=function(){function e(e,t){var n=this.rules.block.text.exec(e);if(n){var r=t[t.length-1];return r&&"text"===r.type?{raw:n[0],text:n[0]}:{type:"text",raw:n[0],text:n[0]}}}return e}(),t.escape=function(){function e(e){var t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:R(t[1])}}return e}(),t.tag=function(){function e(e,t,n){var r=this.rules.inline.tag.exec(e);if(r)return!t&&/^<a /i.test(r[0])?t=!0:t&&/^<\/a>/i.test(r[0])&&(t=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(r[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(r[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:r[0],inLink:t,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):R(r[0]):r[0]}}return e}(),t.link=function(){function e(e){var t=this.rules.inline.link.exec(e);if(t){var n=P(t[2],"()");if(n>-1){var r=(0===t[0].indexOf("!")?5:4)+t[1].length+n;t[2]=t[2].substring(0,n),t[0]=t[0].substring(0,r).trim(),t[3]=""}var o=t[2],i="";if(this.options.pedantic){var a=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);a?(o=a[1],i=a[3]):i=""}else i=t[3]?t[3].slice(1,-1):"";return B(t,{href:(o=o.trim().replace(/^<([\s\S]*)>$/,"$1"))?o.replace(this.rules.inline._escapes,"$1"):o,title:i?i.replace(this.rules.inline._escapes,"$1"):i},t[0])}}return e}(),t.reflink=function(){function e(e,t){var n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){var r=(n[2]||n[1]).replace(/\s+/g," ");if(!(r=t[r.toLowerCase()])||!r.href){var o=n[0].charAt(0);return{type:"text",raw:o,text:o}}return B(n,r,n[0])}}return e}(),t.strong=function(){function e(e,t,n){void 0===n&&(n="");var r=this.rules.inline.strong.start.exec(e);if(r&&(!r[1]||r[1]&&(""===n||this.rules.inline.punctuation.exec(n)))){t=t.slice(-1*e.length);var o,i="**"===r[0]?this.rules.inline.strong.endAst:this.rules.inline.strong.endUnd;for(i.lastIndex=0;null!=(r=i.exec(t));)if(o=this.rules.inline.strong.middle.exec(t.slice(0,r.index+3)))return{type:"strong",raw:e.slice(0,o[0].length),text:e.slice(2,o[0].length-2)}}}return e}(),t.em=function(){function e(e,t,n){void 0===n&&(n="");var r=this.rules.inline.em.start.exec(e);if(r&&(!r[1]||r[1]&&(""===n||this.rules.inline.punctuation.exec(n)))){t=t.slice(-1*e.length);var o,i="*"===r[0]?this.rules.inline.em.endAst:this.rules.inline.em.endUnd;for(i.lastIndex=0;null!=(r=i.exec(t));)if(o=this.rules.inline.em.middle.exec(t.slice(0,r.index+2)))return{type:"em",raw:e.slice(0,o[0].length),text:e.slice(1,o[0].length-1)}}}return e}(),t.codespan=function(){function e(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),r=/[^ ]/.test(n),o=n.startsWith(" ")&&n.endsWith(" ");return r&&o&&(n=n.substring(1,n.length-1)),n=R(n,!0),{type:"codespan",raw:t[0],text:n}}}return e}(),t.br=function(){function e(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}return e}(),t.del=function(){function e(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[1]}}return e}(),t.autolink=function(){function e(e,t){var n,r,o=this.rules.inline.autolink.exec(e);if(o)return r="@"===o[2]?"mailto:"+(n=R(this.options.mangle?t(o[1]):o[1])):n=R(o[1]),{type:"link",raw:o[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}return e}(),t.url=function(){function e(e,t){var n;if(n=this.rules.inline.url.exec(e)){var r,o;if("@"===n[2])o="mailto:"+(r=R(this.options.mangle?t(n[0]):n[0]));else{var i;do{i=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(i!==n[0]);r=R(n[0]),o="www."===n[1]?"http://"+r:r}return{type:"link",raw:n[0],text:r,href:o,tokens:[{type:"text",raw:r,text:r}]}}}return e}(),t.inlineText=function(){function e(e,t,n){var r,o=this.rules.inline.text.exec(e);if(o)return r=t?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(o[0]):R(o[0]):o[0]:R(this.options.smartypants?n(o[0]):o[0]),{type:"text",raw:o[0],text:r}}return e}(),e}(),F=I.noopTest,K=I.edit,z=I.merge,Y={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|<![A-Z][\\s\\S]*?>\\n*|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>\\n*|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|</(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:F,table:F,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};Y.def=K(Y.def).replace("label",Y._label).replace("title",Y._title).getRegex(),Y.bullet=/(?:[*+-]|\d{1,9}[.)])/,Y.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,Y.item=K(Y.item,"gm").replace(/bull/g,Y.bullet).getRegex(),Y.list=K(Y.list).replace(/bull/g,Y.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Y.def.source+")").getRegex(),Y._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Y._comment=/<!--(?!-?>)[\s\S]*?-->/,Y.html=K(Y.html,"i").replace("comment",Y._comment).replace("tag",Y._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Y.paragraph=K(Y._paragraph).replace("hr",Y.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",Y._tag).getRegex(),Y.blockquote=K(Y.blockquote).replace("paragraph",Y.paragraph).getRegex(),Y.normal=z({},Y),Y.gfm=z({},Y.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Y.gfm.nptable=K(Y.gfm.nptable).replace("hr",Y.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",Y._tag).getRegex(),Y.gfm.table=K(Y.gfm.table).replace("hr",Y.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",Y._tag).getRegex(),Y.pedantic=z({},Y.normal,{html:K("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Y._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,fences:F,paragraph:K(Y.normal._paragraph).replace("hr",Y.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Y.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var U={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:F,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",strong:{start:/^(?:(\*\*(?=[*punctuation]))|\*\*)(?![\s])|__/,middle:/^\*\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*\*$|^__(?![\s])((?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?)__$/,endAst:/[^punctuation\s]\*\*(?!\*)|[punctuation]\*\*(?!\*)(?:(?=[punctuation\s]|$))/,endUnd:/[^\s]__(?!_)(?:(?=[punctuation\s])|$)/},em:{start:/^(?:(\*(?=[punctuation]))|\*)(?![*\s])|_/,middle:/^\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*$|^_(?![_\s])(?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?_$/,endAst:/[^punctuation\s]\*(?!\*)|[punctuation]\*(?!\*)(?:(?=[punctuation\s]|$))/,endUnd:/[^\s]_(?!_)(?:(?=[punctuation\s])|$)/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:F,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\<!\[`*]|\b_|$)|[^ ](?= {2,}\n))|(?= {2,}\n))/,punctuation:/^([\s*punctuation])/,_punctuation:"!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~"};U.punctuation=K(U.punctuation).replace(/punctuation/g,U._punctuation).getRegex(),U._blockSkip="\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>",U._overlapSkip="__[^_]*?__|\\*\\*\\[^\\*\\]*?\\*\\*",U.em.start=K(U.em.start).replace(/punctuation/g,U._punctuation).getRegex(),U.em.middle=K(U.em.middle).replace(/punctuation/g,U._punctuation).replace(/overlapSkip/g,U._overlapSkip).getRegex(),U.em.endAst=K(U.em.endAst,"g").replace(/punctuation/g,U._punctuation).getRegex(),U.em.endUnd=K(U.em.endUnd,"g").replace(/punctuation/g,U._punctuation).getRegex(),U.strong.start=K(U.strong.start).replace(/punctuation/g,U._punctuation).getRegex(),U.strong.middle=K(U.strong.middle).replace(/punctuation/g,U._punctuation).replace(/blockSkip/g,U._blockSkip).getRegex(),U.strong.endAst=K(U.strong.endAst,"g").replace(/punctuation/g,U._punctuation).getRegex(),U.strong.endUnd=K(U.strong.endUnd,"g").replace(/punctuation/g,U._punctuation).getRegex(),U.blockSkip=K(U._blockSkip,"g").getRegex(),U.overlapSkip=K(U._overlapSkip,"g").getRegex(),U._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,U._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,U._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,U.autolink=K(U.autolink).replace("scheme",U._scheme).replace("email",U._email).getRegex(),U._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,U.tag=K(U.tag).replace("comment",Y._comment).replace("attribute",U._attribute).getRegex(),U._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,U._href=/<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/,U._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,U.link=K(U.link).replace("label",U._label).replace("href",U._href).replace("title",U._title).getRegex(),U.reflink=K(U.reflink).replace("label",U._label).getRegex(),U.reflinkSearch=K(U.reflinkSearch,"g").replace("reflink",U.reflink).replace("nolink",U.nolink).getRegex(),U.normal=z({},U),U.pedantic=z({},U.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:K(/^!?\[(label)\]\((.*?)\)/).replace("label",U._label).getRegex(),reflink:K(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",U._label).getRegex()}),U.gfm=z({},U.normal,{escape:K(U.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\<!\[`*~]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))|(?= {2,}\n|[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))/}),U.gfm.url=K(U.gfm.url,"i").replace("email",U.gfm._extended_email).getRegex(),U.breaks=z({},U.gfm,{br:K(U.br).replace("{2,}","*").getRegex(),text:K(U.gfm.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()});var $={block:Y,inline:U},H=a.defaults,W=$.block,G=$.inline;function q(e){return e.replace(/---/g,"\u2014").replace(/--/g,"\u2013").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1\u2018").replace(/'/g,"\u2019").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1\u201c").replace(/"/g,"\u201d").replace(/\.{3}/g,"\u2026")}function X(e){var t,n,r="",o=e.length;for(t=0;t<o;t++)n=e.charCodeAt(t),Math.random()>.5&&(n="x"+n.toString(16)),r+="&#"+n+";";return r}var Z=function(){function e(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||H,this.options.tokenizer=this.options.tokenizer||new D,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var t={block:W.normal,inline:G.normal};this.options.pedantic?(t.block=W.pedantic,t.inline=G.pedantic):this.options.gfm&&(t.block=W.gfm,this.options.breaks?t.inline=G.breaks:t.inline=G.gfm),this.tokenizer.rules=t}e.lex=function(){function t(t,n){return new e(n).lex(t)}return t}();var n=e.prototype;return n.lex=function(){function e(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(e,this.tokens,!0),this.inline(this.tokens),this.tokens}return e}(),n.blockTokens=function(){function e(e,t,n){var r,o,i,a;for(void 0===t&&(t=[]),void 0===n&&(n=!0),e=e.replace(/^ +$/gm,"");e;)if(r=this.tokenizer.space(e))e=e.substring(r.raw.length),r.type&&t.push(r);else if(r=this.tokenizer.code(e,t))e=e.substring(r.raw.length),r.type?t.push(r):((a=t[t.length-1]).raw+="\n"+r.raw,a.text+="\n"+r.text);else if(r=this.tokenizer.fences(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.heading(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.nptable(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.hr(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.blockquote(e))e=e.substring(r.raw.length),r.tokens=this.blockTokens(r.text,[],n),t.push(r);else if(r=this.tokenizer.list(e)){for(e=e.substring(r.raw.length),i=r.items.length,o=0;o<i;o++)r.items[o].tokens=this.blockTokens(r.items[o].text,[],!1);t.push(r)}else if(r=this.tokenizer.html(e))e=e.substring(r.raw.length),t.push(r);else if(n&&(r=this.tokenizer.def(e)))e=e.substring(r.raw.length),this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title});else if(r=this.tokenizer.table(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.lheading(e))e=e.substring(r.raw.length),t.push(r);else if(n&&(r=this.tokenizer.paragraph(e)))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.text(e,t))e=e.substring(r.raw.length),r.type?t.push(r):((a=t[t.length-1]).raw+="\n"+r.raw,a.text+="\n"+r.text);else if(e){var u="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent)break;throw new Error(u)}return t}return e}(),n.inline=function(){function e(e){var t,n,r,o,i,a,u=e.length;for(t=0;t<u;t++)switch((a=e[t]).type){case"paragraph":case"text":case"heading":a.tokens=[],this.inlineTokens(a.text,a.tokens);break;case"table":for(a.tokens={header:[],cells:[]},o=a.header.length,n=0;n<o;n++)a.tokens.header[n]=[],this.inlineTokens(a.header[n],a.tokens.header[n]);for(o=a.cells.length,n=0;n<o;n++)for(i=a.cells[n],a.tokens.cells[n]=[],r=0;r<i.length;r++)a.tokens.cells[n][r]=[],this.inlineTokens(i[r],a.tokens.cells[n][r]);break;case"blockquote":this.inline(a.tokens);break;case"list":for(o=a.items.length,n=0;n<o;n++)this.inline(a.items[n].tokens)}return e}return e}(),n.inlineTokens=function(){function e(e,t,n,r,o){var i;void 0===t&&(t=[]),void 0===n&&(n=!1),void 0===r&&(r=!1),void 0===o&&(o="");var a,u=e;if(this.tokens.links){var c=Object.keys(this.tokens.links);if(c.length>0)for(;null!=(a=this.tokenizer.rules.inline.reflinkSearch.exec(u));)c.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(u=u.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+u.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(a=this.tokenizer.rules.inline.blockSkip.exec(u));)u=u.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+u.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;e;)if(i=this.tokenizer.escape(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.tag(e,n,r))e=e.substring(i.raw.length),n=i.inLink,r=i.inRawBlock,t.push(i);else if(i=this.tokenizer.link(e))e=e.substring(i.raw.length),"link"===i.type&&(i.tokens=this.inlineTokens(i.text,[],!0,r)),t.push(i);else if(i=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(i.raw.length),"link"===i.type&&(i.tokens=this.inlineTokens(i.text,[],!0,r)),t.push(i);else if(i=this.tokenizer.strong(e,u,o))e=e.substring(i.raw.length),i.tokens=this.inlineTokens(i.text,[],n,r),t.push(i);else if(i=this.tokenizer.em(e,u,o))e=e.substring(i.raw.length),i.tokens=this.inlineTokens(i.text,[],n,r),t.push(i);else if(i=this.tokenizer.codespan(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.br(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.del(e))e=e.substring(i.raw.length),i.tokens=this.inlineTokens(i.text,[],n,r),t.push(i);else if(i=this.tokenizer.autolink(e,X))e=e.substring(i.raw.length),t.push(i);else if(n||!(i=this.tokenizer.url(e,X))){if(i=this.tokenizer.inlineText(e,r,q))e=e.substring(i.raw.length),o=i.raw.slice(-1),t.push(i);else if(e){var s="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent)break;throw new Error(s)}}else e=e.substring(i.raw.length),t.push(i);return t}return e}(),t(e,null,[{key:"rules",get:function(){function e(){return{block:W,inline:G}}return e}()}]),e}(),Q=a.defaults,J=I.cleanUrl,ee=I.escape,te=function(){function e(e){this.options=e||Q}var t=e.prototype;return t.code=function(){function e(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var o=this.options.highlight(e,r);null!=o&&o!==e&&(n=!0,e=o)}return r?'<pre><code class="'+this.options.langPrefix+ee(r,!0)+'">'+(n?e:ee(e,!0))+"</code></pre>\n":"<pre><code>"+(n?e:ee(e,!0))+"</code></pre>\n"}return e}(),t.blockquote=function(){function e(e){return"<blockquote>\n"+e+"</blockquote>\n"}return e}(),t.html=function(){function e(e){return e}return e}(),t.heading=function(){function e(e,t,n,r){return this.options.headerIds?"<h"+t+' id="'+this.options.headerPrefix+r.slug(n)+'">'+e+"</h"+t+">\n":"<h"+t+">"+e+"</h"+t+">\n"}return e}(),t.hr=function(){function e(){return this.options.xhtml?"<hr/>\n":"<hr>\n"}return e}(),t.list=function(){function e(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"</"+r+">\n"}return e}(),t.listitem=function(){function e(e){return"<li>"+e+"</li>\n"}return e}(),t.checkbox=function(){function e(e){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "}return e}(),t.paragraph=function(){function e(e){return"<p>"+e+"</p>\n"}return e}(),t.table=function(){function e(e,t){return t&&(t="<tbody>"+t+"</tbody>"),"<table>\n<thead>\n"+e+"</thead>\n"+t+"</table>\n"}return e}(),t.tablerow=function(){function e(e){return"<tr>\n"+e+"</tr>\n"}return e}(),t.tablecell=function(){function e(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"</"+n+">\n"}return e}(),t.strong=function(){function e(e){return"<strong>"+e+"</strong>"}return e}(),t.em=function(){function e(e){return"<em>"+e+"</em>"}return e}(),t.codespan=function(){function e(e){return"<code>"+e+"</code>"}return e}(),t.br=function(){function e(){return this.options.xhtml?"<br/>":"<br>"}return e}(),t.del=function(){function e(e){return"<del>"+e+"</del>"}return e}(),t.link=function(){function e(e,t,n){if(null===(e=J(this.options.sanitize,this.options.baseUrl,e)))return n;var r='<a href="'+ee(e)+'"';return t&&(r+=' title="'+t+'"'),r+=">"+n+"</a>"}return e}(),t.image=function(){function e(e,t,n){if(null===(e=J(this.options.sanitize,this.options.baseUrl,e)))return n;var r='<img src="'+e+'" alt="'+n+'"';return t&&(r+=' title="'+t+'"'),r+=this.options.xhtml?"/>":">"}return e}(),t.text=function(){function e(e){return e}return e}(),e}(),ne=function(){function e(){}var t=e.prototype;return t.strong=function(){function e(e){return e}return e}(),t.em=function(){function e(e){return e}return e}(),t.codespan=function(){function e(e){return e}return e}(),t.del=function(){function e(e){return e}return e}(),t.html=function(){function e(e){return e}return e}(),t.text=function(){function e(e){return e}return e}(),t.link=function(){function e(e,t,n){return""+n}return e}(),t.image=function(){function e(e,t,n){return""+n}return e}(),t.br=function(){function e(){return""}return e}(),e}(),re=function(){function e(){this.seen={}}return e.prototype.slug=function(){function e(e){var t=e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){var n=t;do{this.seen[n]++,t=n+"-"+this.seen[n]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t}return e}(),e}(),oe=a.defaults,ie=I.unescape,ae=function(){function e(e){this.options=e||oe,this.options.renderer=this.options.renderer||new te,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new ne,this.slugger=new re}e.parse=function(){function t(t,n){return new e(n).parse(t)}return t}();var t=e.prototype;return t.parse=function(){function e(e,t){void 0===t&&(t=!0);var n,r,o,i,a,u,c,s,l,f,d,p,h,g,v,m,y,b,x="",w=e.length;for(n=0;n<w;n++)switch((f=e[n]).type){case"space":continue;case"hr":x+=this.renderer.hr();continue;case"heading":x+=this.renderer.heading(this.parseInline(f.tokens),f.depth,ie(this.parseInline(f.tokens,this.textRenderer)),this.slugger);continue;case"code":x+=this.renderer.code(f.text,f.lang,f.escaped);continue;case"table":for(s="",c="",i=f.header.length,r=0;r<i;r++)c+=this.renderer.tablecell(this.parseInline(f.tokens.header[r]),{header:!0,align:f.align[r]});for(s+=this.renderer.tablerow(c),l="",i=f.cells.length,r=0;r<i;r++){for(c="",a=(u=f.tokens.cells[r]).length,o=0;o<a;o++)c+=this.renderer.tablecell(this.parseInline(u[o]),{header:!1,align:f.align[o]});l+=this.renderer.tablerow(c)}x+=this.renderer.table(s,l);continue;case"blockquote":l=this.parse(f.tokens),x+=this.renderer.blockquote(l);continue;case"list":for(d=f.ordered,p=f.start,h=f.loose,i=f.items.length,l="",r=0;r<i;r++)m=(v=f.items[r]).checked,y=v.task,g="",v.task&&(b=this.renderer.checkbox(m),h?v.tokens.length>0&&"text"===v.tokens[0].type?(v.tokens[0].text=b+" "+v.tokens[0].text,v.tokens[0].tokens&&v.tokens[0].tokens.length>0&&"text"===v.tokens[0].tokens[0].type&&(v.tokens[0].tokens[0].text=b+" "+v.tokens[0].tokens[0].text)):v.tokens.unshift({type:"text",text:b}):g+=b),g+=this.parse(v.tokens,h),l+=this.renderer.listitem(g,y,m);x+=this.renderer.list(l,d,p);continue;case"html":x+=this.renderer.html(f.text);continue;case"paragraph":x+=this.renderer.paragraph(this.parseInline(f.tokens));continue;case"text":for(l=f.tokens?this.parseInline(f.tokens):f.text;n+1<w&&"text"===e[n+1].type;)l+="\n"+((f=e[++n]).tokens?this.parseInline(f.tokens):f.text);x+=t?this.renderer.paragraph(l):l;continue;default:var _='Token with "'+f.type+'" type was not found.';if(this.options.silent)return;throw new Error(_)}return x}return e}(),t.parseInline=function(){function e(e,t){t=t||this.renderer;var n,r,o="",i=e.length;for(n=0;n<i;n++)switch((r=e[n]).type){case"escape":o+=t.text(r.text);break;case"html":o+=t.html(r.text);break;case"link":o+=t.link(r.href,r.title,this.parseInline(r.tokens,t));break;case"image":o+=t.image(r.href,r.title,r.text);break;case"strong":o+=t.strong(this.parseInline(r.tokens,t));break;case"em":o+=t.em(this.parseInline(r.tokens,t));break;case"codespan":o+=t.codespan(r.text);break;case"br":o+=t.br();break;case"del":o+=t.del(this.parseInline(r.tokens,t));break;case"text":o+=t.text(r.text);break;default:var a='Token with "'+r.type+'" type was not found.';if(this.options.silent)return;throw new Error(a)}return o}return e}(),e}(),ue=I.merge,ce=I.checkSanitizeDeprecation,se=I.escape,le=a.getDefaults,fe=a.changeDefaults,de=a.defaults;function pe(e,t,n){if(null==e)throw new Error("marked(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");if("function"==typeof t&&(n=t,t=null),t=ue({},pe.defaults,t||{}),ce(t),n){var r,o=t.highlight;try{r=Z.lex(e,t)}catch(c){return n(c)}var i=function(){function e(e){var i;if(!e)try{i=ae.parse(r,t)}catch(c){e=c}return t.highlight=o,e?n(e):n(null,i)}return e}();if(!o||o.length<3)return i();if(delete t.highlight,!r.length)return i();var a=0;return pe.walkTokens(r,(function(e){"code"===e.type&&(a++,setTimeout((function(){o(e.text,e.lang,(function(t,n){if(t)return i(t);null!=n&&n!==e.text&&(e.text=n,e.escaped=!0),0==--a&&i()}))}),0))})),void(0===a&&i())}try{var u=Z.lex(e,t);return t.walkTokens&&pe.walkTokens(u,t.walkTokens),ae.parse(u,t)}catch(c){if(c.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"<p>An error occurred:</p><pre>"+se(c.message+"",!0)+"</pre>";throw c}}return pe.options=pe.setOptions=function(e){return ue(pe.defaults,e),fe(pe.defaults),pe},pe.getDefaults=le,pe.defaults=de,pe.use=function(e){var t=ue({},e);if(e.renderer&&function(){var n=pe.defaults.renderer||new te,r=function(){function t(t){var r=n[t];n[t]=function(){for(var o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];var u=e.renderer[t].apply(n,i);return!1===u&&(u=r.apply(n,i)),u}}return t}();for(var o in e.renderer)r(o);t.renderer=n}(),e.tokenizer&&function(){var n=pe.defaults.tokenizer||new D,r=function(){function t(t){var r=n[t];n[t]=function(){for(var o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];var u=e.tokenizer[t].apply(n,i);return!1===u&&(u=r.apply(n,i)),u}}return t}();for(var o in e.tokenizer)r(o);t.tokenizer=n}(),e.walkTokens){var n=pe.defaults.walkTokens;t.walkTokens=function(t){e.walkTokens(t),n&&n(t)}}pe.setOptions(t)},pe.walkTokens=function(e,t){for(var n,r=o(e);!(n=r()).done;){var i=n.value;switch(t(i),i.type){case"table":for(var a,u=o(i.tokens.header);!(a=u()).done;){var c=a.value;pe.walkTokens(c,t)}for(var s,l=o(i.tokens.cells);!(s=l()).done;)for(var f,d=o(s.value);!(f=d()).done;){var p=f.value;pe.walkTokens(p,t)}break;case"list":pe.walkTokens(i.items,t);break;default:i.tokens&&pe.walkTokens(i.tokens,t)}}},pe.Parser=ae,pe.parser=ae.parse,pe.Renderer=te,pe.TextRenderer=ne,pe.Lexer=Z,pe.lexer=Z.lex,pe.Tokenizer=D,pe.Slugger=re,pe.parse=pe,pe}()}]]); \ No newline at end of file diff --git a/tgui/public/tgui-panel.bundle.js b/tgui/public/tgui-panel.bundle.js index 725fa46cdae..9cf863deb1c 100644 --- a/tgui/public/tgui-panel.bundle.js +++ b/tgui/public/tgui-panel.bundle.js @@ -1 +1 @@ -!function(e){function t(t){for(var o,a,c=t[0],s=t[1],l=t[2],u=0,g=[];u<c.length;u++)a=c[u],Object.prototype.hasOwnProperty.call(r,a)&&r[a]&&g.push(r[a][0]),r[a]=0;for(o in s)Object.prototype.hasOwnProperty.call(s,o)&&(e[o]=s[o]);for(d&&d(t);g.length;)g.shift()();return i.push.apply(i,l||[]),n()}function n(){for(var e,t=0;t<i.length;t++){for(var n=i[t],o=!0,c=1;c<n.length;c++){var s=n[c];0!==r[s]&&(o=!1)}o&&(i.splice(t--,1),e=a(a.s=n[0]))}return e}var o={},r={2:0},i=[];function a(t){if(o[t])return o[t].exports;var n=o[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,a),n.l=!0,n.exports}a.m=e,a.c=o,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)a.d(n,o,function(t){return e[t]}.bind(null,o));return n},a.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="";var c=window.webpackJsonp=window.webpackJsonp||[],s=c.push.bind(c);c.push=t,c=c.slice();for(var l=0;l<c.length;l++)t(c[l]);var d=s;i.push([674,0]),n()}({103:function(e,t,n){"use strict";t.__esModule=!0,t.selectActiveTab=t.selectSettings=void 0;t.selectSettings=function(e){return e.settings};t.selectActiveTab=function(e){return e.settings.view.activeTab}},104:function(e,t,n){"use strict";t.__esModule=!0,t.isSameMessage=t.serializeMessage=t.createMessage=t.createMainPage=t.createPage=t.canPageAcceptType=void 0;var o=n(205),r=n(105);function i(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}t.canPageAcceptType=function(e,t){return t.startsWith(r.MESSAGE_TYPE_INTERNAL)||e.acceptedTypes[t]};var c=function(e){return Object.assign({id:(0,o.createUuid)(),name:"New Tab",acceptedTypes:{},unreadCount:0,createdAt:Date.now()},e)};t.createPage=c;t.createMainPage=function(){for(var e,t={},n=i(r.MESSAGE_TYPES);!(e=n()).done;){t[e.value.type]=!0}return c({name:"Main",acceptedTypes:t})};t.createMessage=function(e){return Object.assign({createdAt:Date.now()},e)};t.serializeMessage=function(e){return{type:e.type,text:e.text,html:e.html,times:e.times,createdAt:e.createdAt}};t.isSameMessage=function(e,t){return"string"==typeof e.text&&e.text===t.text||"string"==typeof e.html&&e.html===t.html}},105:function(e,t,n){"use strict";t.__esModule=!0,t.MESSAGE_TYPES=t.MESSAGE_TYPE_DEBUG=t.MESSAGE_TYPE_ATTACKLOG=t.MESSAGE_TYPE_ADMINLOG=t.MESSAGE_TYPE_EVENTCHAT=t.MESSAGE_TYPE_MODCHAT=t.MESSAGE_TYPE_ADMINCHAT=t.MESSAGE_TYPE_COMBAT=t.MESSAGE_TYPE_ADMINPM=t.MESSAGE_TYPE_OOC=t.MESSAGE_TYPE_DEADCHAT=t.MESSAGE_TYPE_WARNING=t.MESSAGE_TYPE_INFO=t.MESSAGE_TYPE_RADIO=t.MESSAGE_TYPE_LOCALCHAT=t.MESSAGE_TYPE_SYSTEM=t.MESSAGE_TYPE_INTERNAL=t.MESSAGE_TYPE_UNKNOWN=t.IMAGE_RETRY_MESSAGE_AGE=t.IMAGE_RETRY_LIMIT=t.IMAGE_RETRY_DELAY=t.COMBINE_MAX_TIME_WINDOW=t.COMBINE_MAX_MESSAGES=t.MESSAGE_PRUNE_INTERVAL=t.MESSAGE_SAVE_INTERVAL=t.MAX_PERSISTED_MESSAGES=t.MAX_VISIBLE_MESSAGES=void 0;t.MAX_VISIBLE_MESSAGES=2500;t.MAX_PERSISTED_MESSAGES=1e3;t.MESSAGE_SAVE_INTERVAL=1e4;t.MESSAGE_PRUNE_INTERVAL=6e4;t.COMBINE_MAX_MESSAGES=5;t.COMBINE_MAX_TIME_WINDOW=5e3;t.IMAGE_RETRY_DELAY=250;t.IMAGE_RETRY_LIMIT=10;t.IMAGE_RETRY_MESSAGE_AGE=6e4;var o="unknown";t.MESSAGE_TYPE_UNKNOWN=o;t.MESSAGE_TYPE_INTERNAL="internal";var r="system";t.MESSAGE_TYPE_SYSTEM=r;var i="localchat";t.MESSAGE_TYPE_LOCALCHAT=i;var a="radio";t.MESSAGE_TYPE_RADIO=a;var c="info";t.MESSAGE_TYPE_INFO=c;var s="warning";t.MESSAGE_TYPE_WARNING=s;var l="deadchat";t.MESSAGE_TYPE_DEADCHAT=l;t.MESSAGE_TYPE_OOC="ooc";var d="adminpm";t.MESSAGE_TYPE_ADMINPM=d;var u="combat";t.MESSAGE_TYPE_COMBAT=u;var g="adminchat";t.MESSAGE_TYPE_ADMINCHAT=g;var p="modchat";t.MESSAGE_TYPE_MODCHAT=p;t.MESSAGE_TYPE_EVENTCHAT="eventchat";var h="adminlog";t.MESSAGE_TYPE_ADMINLOG=h;var m="attacklog";t.MESSAGE_TYPE_ATTACKLOG=m;var f="debug";t.MESSAGE_TYPE_DEBUG=f;var v=[{type:r,name:"System Messages",description:"Messages from your client, always enabled",selector:".boldannounce",important:!0},{type:i,name:"Local",description:"In-character local messages (say, emote, etc)",selector:".say, .emote"},{type:a,name:"Radio",description:"All departments of radio messages",selector:".alert, .syndradio, .centradio, .airadio, .entradio, .comradio, .secradio, .engradio, .medradio, .sciradio, .supradio, .srvradio, .expradio, .radio, .deptradio, .newscaster"},{type:c,name:"Info",description:"Non-urgent messages from the game and items",selector:".notice:not(.pm), .adminnotice, .info, .sinister, .cult"},{type:s,name:"Warnings",description:"Urgent messages from the game and items",selector:".warning:not(.pm), .critical, .userdanger, .italics"},{type:l,name:"Deadchat",description:"All of deadchat",selector:".deadsay"},{type:"ooc",name:"OOC",description:"The bluewall of global OOC messages",selector:".ooc, .adminooc"},{type:d,name:"Admin PMs",description:"Messages to/from admins (adminhelp)",selector:".pm, .adminhelp"},{type:u,name:"Combat Log",description:"Urist McTraitor has stabbed you with a knife!",selector:".danger"},{type:o,name:"Unsorted",description:"Everything we could not sort, always enabled"},{type:g,name:"Admin Chat",description:"ASAY messages",selector:".admin_channel, .adminsay",admin:!0},{type:p,name:"Mod Chat",description:"MSAY messages",selector:".mod_channel",admin:!0},{type:h,name:"Admin Log",description:"ADMIN LOG: Urist McAdmin has jumped to coordinates X, Y, Z",selector:".log_message",admin:!0},{type:m,name:"Attack Log",description:"Urist McTraitor has shot John Doe",admin:!0},{type:f,name:"Debug Log",description:"DEBUG: SSPlanets subsystem Recover().",admin:!0}];t.MESSAGE_TYPES=v},144:function(e,t,n){"use strict";t.__esModule=!0,t.SettingsPanel=t.settingsReducer=t.settingsMiddleware=t.useSettings=void 0;var o=n(682);t.useSettings=o.useSettings;var r=n(683);t.settingsMiddleware=r.settingsMiddleware;var i=n(684);t.settingsReducer=i.settingsReducer;var a=n(685);t.SettingsPanel=a.SettingsPanel},145:function(e,t,n){"use strict";t.__esModule=!0,t.chatReducer=t.chatMiddleware=t.ChatTabs=t.ChatPanel=t.ChatPageSettings=void 0;var o=n(686);t.ChatPageSettings=o.ChatPageSettings;var r=n(687);t.ChatPanel=r.ChatPanel;var i=n(689);t.ChatTabs=i.ChatTabs;var a=n(690);t.chatMiddleware=a.chatMiddleware;var c=n(691);t.chatReducer=c.chatReducer},146:function(e,t,n){"use strict";t.__esModule=!0,t.selectChatPageById=t.selectCurrentChatPage=t.selectChatPages=t.selectChat=void 0;var o=n(10);t.selectChat=function(e){return e.chat};t.selectChatPages=function(e){return(0,o.map)((function(t){return e.chat.pageById[t]}))(e.chat.pages)};t.selectCurrentChatPage=function(e){return e.chat.pageById[e.chat.currentPageId]};t.selectChatPageById=function(e){return function(t){return t.chat.pageById[e]}}},147:function(e,t,n){"use strict";t.__esModule=!0,t.pingReply=t.pingFail=t.pingSuccess=void 0;var o=n(22),r=(0,o.createAction)("ping/success",(function(e){var t=Date.now(),n=.5*(t-e.sentAt);return{payload:{lastId:e.id,roundtrip:n},meta:{now:t}}}));t.pingSuccess=r;var i=(0,o.createAction)("ping/fail");t.pingFail=i;var a=(0,o.createAction)("ping/reply");t.pingReply=a},214:function(e,t,n){"use strict";t.__esModule=!0,t.audioReducer=t.NowPlayingWidget=t.audioMiddleware=t.useAudio=void 0;var o=n(678);t.useAudio=o.useAudio;var r=n(679);t.audioMiddleware=r.audioMiddleware;var i=n(681);t.NowPlayingWidget=i.NowPlayingWidget;var a=n(692);t.audioReducer=a.audioReducer},215:function(e,t,n){"use strict";t.__esModule=!0,t.selectAudio=void 0;t.selectAudio=function(e){return e.audio}},216:function(e,t,n){"use strict";t.__esModule=!0,t.setClientTheme=t.THEMES=void 0;t.THEMES=["light","dark"];var o="#202020",r="#171717",i="#a4bad6",a=null;t.setClientTheme=function(e){if(clearInterval(a),Byond.command(".output statbrowser:set_theme "+e),a=setTimeout((function(){Byond.command(".output statbrowser:set_theme "+e)}),1500),"light"===e)return Byond.winset({"infowindow.background-color":"none","infowindow.text-color":"#000000","info.background-color":"none","info.text-color":"#000000","browseroutput.background-color":"none","browseroutput.text-color":"#000000","outputwindow.background-color":"none","outputwindow.text-color":"#000000","mainwindow.background-color":"none","split.background-color":"none","changelog.background-color":"none","changelog.text-color":"#000000","rules.background-color":"none","rules.text-color":"#000000","wiki.background-color":"none","wiki.text-color":"#000000","forum.background-color":"none","forum.text-color":"#000000","github.background-color":"none","github.text-color":"#000000","report-issue.background-color":"none","report-issue.text-color":"#000000","output.background-color":"none","output.text-color":"#000000","statwindow.background-color":"none","statwindow.text-color":"#000000","stat.background-color":"#FFFFFF","stat.tab-background-color":"none","stat.text-color":"#000000","stat.tab-text-color":"#000000","stat.prefix-color":"#000000","stat.suffix-color":"#000000","saybutton.background-color":"none","saybutton.text-color":"#000000","oocbutton.background-color":"none","oocbutton.text-color":"#000000","mebutton.background-color":"none","mebutton.text-color":"#000000","asset_cache_browser.background-color":"none","asset_cache_browser.text-color":"#000000","tooltip.background-color":"none","tooltip.text-color":"#000000"});"dark"===e&&Byond.winset({"infowindow.background-color":o,"infowindow.text-color":i,"info.background-color":o,"info.text-color":i,"browseroutput.background-color":o,"browseroutput.text-color":i,"outputwindow.background-color":o,"outputwindow.text-color":i,"mainwindow.background-color":o,"split.background-color":o,"changelog.background-color":"#494949","changelog.text-color":i,"rules.background-color":"#494949","rules.text-color":i,"wiki.background-color":"#494949","wiki.text-color":i,"forum.background-color":"#494949","forum.text-color":i,"github.background-color":"#3a3a3a","github.text-color":i,"report-issue.background-color":"#492020","report-issue.text-color":i,"output.background-color":r,"output.text-color":i,"statwindow.background-color":r,"statwindow.text-color":i,"stat.background-color":r,"stat.tab-background-color":o,"stat.text-color":i,"stat.tab-text-color":i,"stat.prefix-color":i,"stat.suffix-color":i,"saybutton.background-color":o,"saybutton.text-color":i,"oocbutton.background-color":o,"oocbutton.text-color":i,"mebutton.background-color":o,"mebutton.text-color":i,"asset_cache_browser.background-color":o,"asset_cache_browser.text-color":i,"tooltip.background-color":o,"tooltip.text-color":i})}},217:function(e,t,n){"use strict";t.__esModule=!0,t.SETTINGS_TABS=void 0;t.SETTINGS_TABS=[{id:"general",name:"General"},{id:"chatPage",name:"Chat Tabs"}]},218:function(e,t,n){"use strict";(function(e){t.__esModule=!0,t.chatRenderer=void 0;var o=n(186),r=n(6),i=n(35),a=n(105),c=n(104),s=n(688);function l(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}var u=(0,i.createLogger)("chatRenderer"),g=function(e,t){var n=document.createElement("span");return n.className="Chat__highlight",n.setAttribute("style","background-color:"+t),n.textContent=e,n},p=function(){var e=document.createElement("div");return e.className="ChatMessage",e},h=function(){var e=document.createElement("div");return e.className="Chat__reconnected",e},m=function(e){setTimeout((function(){var t=e.target,n=parseInt(t.getAttribute("data-reload-n"),10)||0;if(n>=a.IMAGE_RETRY_LIMIT)u.error("failed to load an image after "+n+" attempts");else{var o=t.src;t.src=null,t.src=o+"#"+n,t.setAttribute("data-reload-n",n+1)}}),a.IMAGE_RETRY_DELAY)},f=function(e){var t=e.node,n=e.times;if(t&&n){var o=t.querySelector(".Chat__badge"),i=o||document.createElement("div");i.textContent=n,i.className=(0,r.classes)(["Chat__badge","Chat__badge--animate"]),requestAnimationFrame((function(){i.className="Chat__badge"})),o||t.appendChild(i)}},v=function(){function t(){var e=this;this.loaded=!1,this.rootNode=null,this.queue=[],this.messages=[],this.visibleMessages=[],this.page=null,this.events=new o.EventEmitter,this.scrollNode=null,this.scrollTracking=!0,this.handleScroll=function(t){var n=e.scrollNode,o=n.scrollHeight,r=n.scrollTop+n.offsetHeight,i=Math.abs(o-r)<24;i!==e.scrollTracking&&(e.scrollTracking=i,e.events.emit("scrollTrackingChanged",i),u.debug("tracking",e.scrollTracking))},this.ensureScrollTracking=function(){e.scrollTracking&&e.scrollToBottom()},setInterval((function(){return e.pruneMessages()}),a.MESSAGE_PRUNE_INTERVAL)}var n=t.prototype;return n.isReady=function(){return this.loaded&&this.rootNode&&this.page},n.mount=function(t){var n=this;this.rootNode?t.appendChild(this.rootNode):this.rootNode=t,this.scrollNode=function(e){for(var t=document.body,n=e;n&&n!==t;){if(n.scrollWidth<n.offsetWidth)return n;n=n.parentNode}return window}(this.rootNode),this.scrollNode.addEventListener("scroll",this.handleScroll),e((function(){n.scrollToBottom()})),this.tryFlushQueue()},n.onStateLoaded=function(){this.loaded=!0,this.tryFlushQueue()},n.tryFlushQueue=function(){this.isReady()&&this.queue.length>0&&(this.processBatch(this.queue),this.queue=[])},n.assignStyle=function(e){void 0===e&&(e={});for(var t=0,n=Object.keys(e);t<n.length;t++){var o=n[t];this.rootNode.style.setProperty(o,e[o])}},n.setHighlight=function(e,t){if(!e||!t)return this.highlightRegex=null,void(this.highlightColor=null);var n=/^[a-z0-9_\-\s]+$/gi,o=String(e).split(",").map((function(e){return e.trim()})).filter((function(e){return e&&e.length>1&&n.test(e)}));if(0===o.length)return this.highlightRegex=null,void(this.highlightColor=null);this.highlightRegex=new RegExp("("+o.join("|")+")","gi"),this.highlightColor=t},n.scrollToBottom=function(){this.scrollNode.scrollTop=this.scrollNode.scrollHeight},n.changePage=function(e){if(!this.isReady())return this.page=e,void this.tryFlushQueue();this.page=e,this.rootNode.textContent="",this.visibleMessages=[];for(var t,n,o=document.createDocumentFragment(),r=l(this.messages);!(n=r()).done;){var i=n.value;(0,c.canPageAcceptType)(e,i.type)&&(t=i.node,o.appendChild(t),this.visibleMessages.push(i))}t&&(this.rootNode.appendChild(o),t.scrollIntoView())},n.getCombinableMessage=function(e){for(var t=Date.now(),n=this.visibleMessages.length,o=n-1,r=Math.max(0,n-a.COMBINE_MAX_MESSAGES),i=o;i>=r;i--){var s=this.visibleMessages[i];if(!s.type.startsWith(a.MESSAGE_TYPE_INTERNAL)&&(0,c.isSameMessage)(s,e)&&t<s.createdAt+a.COMBINE_MAX_TIME_WINDOW)return s}return null},n.processBatch=function(t,n){var o=this;void 0===n&&(n={});var r=n,i=r.prepend,d=r.notifyListeners,v=void 0===d||d,y=Date.now();if(this.isReady()){for(var S,b,_=document.createDocumentFragment(),C={},E=l(t);!(b=E()).done;){var M=b.value,A=(0,c.createMessage)(M),T=this.getCombinableMessage(A);if(T)T.times=(T.times||1)+1,f(T);else{if(A.node)S=A.node;else if("internal/reconnected"===A.type)S=h();else{S=p(),A.text?S.textContent=A.text:A.html?S.innerHTML=A.html:u.error("Error: message is missing text payload",A),!A.avoidHighlighting&&this.highlightRegex&&(0,s.highlightNode)(S,this.highlightRegex,(function(e){return g(e,o.highlightColor)}))&&(S.className+=" ChatMessage--highlighted");for(var N=S.querySelectorAll(".linkify"),I=0;I<N.length;++I)(0,s.linkifyNode)(N[I]);if(y<A.createdAt+a.IMAGE_RETRY_MESSAGE_AGE)for(var w=S.querySelectorAll("img"),P=0;P<w.length;P++)w[P].addEventListener("error",m)}if(A.node=S,!A.type){var x=!Byond.IS_LTE_IE8&&a.MESSAGE_TYPES.find((function(e){return e.selector&&S.querySelector(e.selector)}));A.type=(null==x?void 0:x.type)||a.MESSAGE_TYPE_UNKNOWN}f(A),C[A.type]||(C[A.type]=0),C[A.type]+=1,this.messages.push(A),(0,c.canPageAcceptType)(this.page,A.type)&&(_.appendChild(S),this.visibleMessages.push(A))}}if(S){var k=this.rootNode.childNodes[0];i&&k?this.rootNode.insertBefore(_,k):this.rootNode.appendChild(_),this.scrollTracking&&e((function(){return o.scrollToBottom()}))}v&&this.events.emit("batchProcessed",C)}else this.queue=i?[].concat(t,this.queue):[].concat(this.queue,t)},n.pruneMessages=function(){if(this.isReady())if(this.scrollTracking){var e=this.visibleMessages,t=Math.max(0,e.length-a.MAX_VISIBLE_MESSAGES);if(t>0){this.visibleMessages=e.slice(t);for(var n=0;n<t;n++){var o=e[n];this.rootNode.removeChild(o.node),o.node="pruned"}this.messages=this.messages.filter((function(e){return"pruned"!==e.node})),u.log("pruned "+t+" visible messages")}var r=Math.max(0,this.messages.length-a.MAX_PERSISTED_MESSAGES);r>0&&(this.messages=this.messages.slice(r),u.log("pruned "+r+" stored messages"))}else u.debug("pruning delayed")},n.rebuildChat=function(){if(this.isReady()){for(var e,t=Math.max(0,this.messages.length-a.MAX_PERSISTED_MESSAGES),n=this.messages.slice(t),o=l(n);!(e=o()).done;)e.value.node=undefined;this.rootNode.textContent="",this.messages=[],this.visibleMessages=[],this.processBatch(n,{notifyListeners:!1})}},n.saveToDisk=function(){if(!Byond.IS_LTE_IE10){for(var e="",t=document.styleSheets,n=0;n<t.length;n++)for(var o=t[n].cssRules,r=0;r<o.length;r++)e+=o[r].cssText+"\n";e+="body, html { background-color: #141414 }\n";for(var i,a="",c=l(this.messages);!(i=c()).done;){var s=i.value;s.node&&(a+=s.node.outerHTML+"\n")}var d=new Blob(["<!doctype html>\n<html>\n<head>\n<title>SS13 Chat Log\n\n\n\n
    \n'+a+"
    \n\n\n"]),u=(new Date).toISOString().substring(0,19).replace(/[-:]/g,"").replace("T","-");window.navigator.msSaveBlob(d,"ss13-chatlog-"+u+".html")}},t}();window.__chatRenderer__||(window.__chatRenderer__=new v);var y=window.__chatRenderer__;t.chatRenderer=y}).call(this,n(101).setImmediate)},219:function(e,t,n){"use strict";t.__esModule=!0,t.gameReducer=t.gameMiddleware=t.useGame=void 0;var o=n(693);t.useGame=o.useGame;var r=n(694);t.gameMiddleware=r.gameMiddleware;var i=n(696);t.gameReducer=i.gameReducer},220:function(e,t,n){"use strict";t.__esModule=!0,t.selectGame=void 0;t.selectGame=function(e){return e.game}},221:function(e,t,n){"use strict";t.__esModule=!0,t.connectionRestored=t.connectionLost=t.roundRestarted=void 0;var o=n(22),r=(0,o.createAction)("roundrestart");t.roundRestarted=r;var i=(0,o.createAction)("game/connectionLost");t.connectionLost=i;var a=(0,o.createAction)("game/connectionRestored");t.connectionRestored=a},222:function(e,t,n){"use strict";t.__esModule=!0,t.pingReducer=t.PingIndicator=t.pingMiddleware=void 0;var o=n(698);t.pingMiddleware=o.pingMiddleware;var r=n(699);t.PingIndicator=r.PingIndicator;var i=n(702);t.pingReducer=i.pingReducer},223:function(e,t,n){"use strict";t.__esModule=!0,t.PING_ROUNDTRIP_WORST=t.PING_ROUNDTRIP_BEST=t.PING_QUEUE_SIZE=t.PING_MAX_FAILS=t.PING_TIMEOUT=t.PING_INTERVAL=void 0;t.PING_INTERVAL=2500;t.PING_TIMEOUT=2e3;t.PING_MAX_FAILS=3;t.PING_QUEUE_SIZE=8;t.PING_ROUNDTRIP_BEST=50;t.PING_ROUNDTRIP_WORST=200},66:function(e,t,n){"use strict";t.__esModule=!0,t.openChatSettings=t.toggleSettings=t.changeSettingsTab=t.loadSettings=t.updateSettings=void 0;var o=n(22),r=(0,o.createAction)("settings/update");t.updateSettings=r;var i=(0,o.createAction)("settings/load");t.loadSettings=i;var a=(0,o.createAction)("settings/changeTab");t.changeSettingsTab=a;var c=(0,o.createAction)("settings/toggle");t.toggleSettings=c;var s=(0,o.createAction)("settings/openChatTab");t.openChatSettings=s},674:function(e,t,n){n(148),e.exports=n(675)},675:function(e,t,n){"use strict";var o=n(0);n(676),n(677);var r,i,a=n(99),c=n(22),s=(n(100),n(58)),l=n(187),d=n(134),u=n(188),g=n(214),p=n(145),h=n(219),m=n(697),f=n(222),v=n(144),y=n(703);a.perf.mark("inception",null==(r=window.performance)||null==(i=r.timing)?void 0:i.navigationStart),a.perf.mark("init");var S=(0,u.configureStore)({reducer:(0,c.combineReducers)({audio:g.audioReducer,chat:p.chatReducer,game:h.gameReducer,ping:f.pingReducer,settings:v.settingsReducer}),middleware:{pre:[p.chatMiddleware,f.pingMiddleware,y.telemetryMiddleware,v.settingsMiddleware,g.audioMiddleware,h.gameMiddleware]}}),b=(0,d.createRenderer)((function(){var e=n(704).Panel;return(0,o.createComponentVNode)(2,u.StoreProvider,{store:S,children:(0,o.createComponentVNode)(2,e)})}));!function _(){if("loading"!==document.readyState){for((0,s.setupGlobalEvents)({ignoreWindowFocus:!0}),(0,m.setupPanelFocusHacks)(),(0,l.captureExternalLinks)(),S.subscribe(b),window.update=function(e){return S.dispatch(Byond.parseJson(e))};;){var e=window.__updateQueue__.shift();if(!e)break;window.update(e)}Byond.winset("output",{"is-visible":!1}),Byond.winset("browseroutput",{"is-visible":!0,"is-disabled":!1,pos:"0x0",size:"0x0"})}else document.addEventListener("DOMContentLoaded",_)}()},676:function(e,t,n){},677:function(e,t,n){},678:function(e,t,n){"use strict";t.__esModule=!0,t.useAudio=void 0;var o=n(22),r=n(215);t.useAudio=function(e){var t=(0,o.useSelector)(e,r.selectAudio),n=(0,o.useDispatch)(e);return Object.assign({},t,{toggle:function(){return n({type:"audio/toggle"})}})}},679:function(e,t,n){"use strict";t.__esModule=!0,t.audioMiddleware=void 0;var o=n(680);t.audioMiddleware=function(e){var t=new o.AudioPlayer;return t.onPlay((function(){e.dispatch({type:"audio/playing"})})),t.onStop((function(){e.dispatch({type:"audio/stopped"})})),function(e){return function(n){var o=n.type,r=n.payload;if("audio/playMusic"===o){var i=r.url,a=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(r,["url"]);return t.play(i,a),e(n)}if("audio/stopMusic"===o)return t.stop(),e(n);if("settings/update"===o||"settings/load"===o){var c=null==r?void 0:r.adminMusicVolume;return"number"==typeof c&&t.setVolume(c),e(n)}return e(n)}}}},680:function(e,t,n){"use strict";function o(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n0&&e.node.currentTime>=e.options.end&&e.stop())}),1e3))}var t=e.prototype;return t.destroy=function(){this.node&&(this.node.stop(),document.removeChild(this.node),clearInterval(this.playbackInterval))},t.play=function(e,t){void 0===t&&(t={}),this.node&&(i.log("playing",e,t),this.options=t,this.node.src=e)},t.stop=function(){if(this.node){if(this.playing)for(var e,t=o(this.onStopSubscribers);!(e=t()).done;)(0,e.value)();i.log("stopping"),this.playing=!1,this.node.src=""}},t.setVolume=function(e){this.node&&(this.volume=e,this.node.volume=e)},t.onPlay=function(e){this.node&&this.onPlaySubscribers.push(e)},t.onStop=function(e){this.node&&this.onStopSubscribers.push(e)},e}();t.AudioPlayer=a},681:function(e,t,n){"use strict";t.__esModule=!0,t.NowPlayingWidget=void 0;var o=n(0),r=n(8),i=n(22),a=n(1),c=n(144),s=n(215);t.NowPlayingWidget=function(e,t){var n,l=(0,i.useSelector)(t,s.selectAudio),d=(0,i.useDispatch)(t),u=(0,c.useSettings)(t),g=null==(n=l.meta)?void 0:n.title;return(0,o.createComponentVNode)(2,a.Flex,{align:"center",children:[l.playing&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Flex.Item,{shrink:0,mx:.5,color:"label",children:"Now playing:"}),(0,o.createComponentVNode)(2,a.Flex.Item,{mx:.5,grow:1,style:{"white-space":"nowrap",overflow:"hidden","text-overflow":"ellipsis"},children:g||"Unknown Track"})],4)||(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,color:"label",children:"Nothing to play."}),l.playing&&(0,o.createComponentVNode)(2,a.Flex.Item,{mx:.5,fontSize:"0.9em",children:(0,o.createComponentVNode)(2,a.Button,{tooltip:"Stop",icon:"stop",onClick:function(){return d({type:"audio/stopMusic"})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{mx:.5,fontSize:"0.9em",children:(0,o.createComponentVNode)(2,a.Knob,{minValue:0,maxValue:1,value:u.adminMusicVolume,step:.0025,stepPixelSize:1,format:function(e){return(0,r.toFixed)(100*e)+"%"},onDrag:function(e,t){return u.update({adminMusicVolume:t})}})})]})}},682:function(e,t,n){"use strict";t.__esModule=!0,t.useSettings=void 0;var o=n(22),r=n(66),i=n(103);t.useSettings=function(e){var t=(0,o.useSelector)(e,i.selectSettings),n=(0,o.useDispatch)(e);return Object.assign({},t,{visible:t.view.visible,toggle:function(){return n((0,r.toggleSettings)())},update:function(e){return n((0,r.updateSettings)(e))}})}},683:function(e,t,n){"use strict";t.__esModule=!0,t.settingsMiddleware=void 0;var o=n(79),r=n(216),i=n(66),a=n(103);t.settingsMiddleware=function(e){var t=!1;return function(n){return function(c){var s,l=c.type,d=c.payload;if(t||(t=!0,o.storage.get("panel-settings").then((function(t){e.dispatch((0,i.loadSettings)(t))}))),l===i.updateSettings.type||l===i.loadSettings.type){var u=null==d?void 0:d.theme;u&&(0,r.setClientTheme)(u),n(c);var g=(0,a.selectSettings)(e.getState());return s=g.fontSize,document.documentElement.style.setProperty("font-size",s+"px"),document.body.style.setProperty("font-size",s+"px"),void o.storage.set("panel-settings",g)}return n(c)}}}},684:function(e,t,n){"use strict";t.__esModule=!0,t.settingsReducer=void 0;var o=n(66),r={version:1,fontSize:13,lineHeight:1.2,theme:"light",adminMusicVolume:.5,highlightText:"",highlightColor:"#ffdd44",view:{visible:!1,activeTab:n(217).SETTINGS_TABS[0].id}};t.settingsReducer=function(e,t){void 0===e&&(e=r);var n=t.type,i=t.payload;if(n===o.updateSettings.type)return Object.assign({},e,i);if(n===o.loadSettings.type)return(null==i?void 0:i.version)?(delete i.view,Object.assign({},e,i)):e;if(n===o.toggleSettings.type)return Object.assign({},e,{view:Object.assign({},e.view,{visible:!e.view.visible})});if(n===o.openChatSettings.type)return Object.assign({},e,{view:Object.assign({},e.view,{visible:!0,activeTab:"chatPage"})});if(n===o.changeSettingsTab.type){var a=i.tabId;return Object.assign({},e,{view:Object.assign({},e.view,{activeTab:a})})}return e}},685:function(e,t,n){"use strict";t.__esModule=!0,t.SettingsGeneral=t.SettingsPanel=void 0;var o=n(0),r=n(8),i=n(22),a=n(1),c=n(145),s=n(80),l=n(216),d=n(66),u=n(217),g=n(103);t.SettingsPanel=function(e,t){var n=(0,i.useSelector)(t,g.selectActiveTab),r=(0,i.useDispatch)(t);return(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{mr:1,children:(0,o.createComponentVNode)(2,a.Section,{fitted:!0,fill:!0,minHeight:"8em",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:u.SETTINGS_TABS.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:e.id===n,onClick:function(){return r((0,d.changeSettingsTab)({tabId:e.id}))},children:e.name},e.id)}))})})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:["general"===n&&(0,o.createComponentVNode)(2,p),"chatPage"===n&&(0,o.createComponentVNode)(2,c.ChatPageSettings)]})]})};var p=function(e,t){var n=(0,i.useSelector)(t,g.selectSettings),c=n.theme,u=n.fontSize,p=n.lineHeight,h=n.highlightText,m=n.highlightColor,f=(0,i.useDispatch)(t);return(0,o.createComponentVNode)(2,a.Section,{fill:!0,children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Theme",children:(0,o.createComponentVNode)(2,a.Dropdown,{selected:c,options:l.THEMES,onSelected:function(e){return f((0,d.updateSettings)({theme:e}))}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Font size",children:(0,o.createComponentVNode)(2,a.NumberInput,{width:"4em",step:1,stepPixelSize:10,minValue:8,maxValue:32,value:u,unit:"px",format:function(e){return(0,r.toFixed)(e)},onChange:function(e,t){return f((0,d.updateSettings)({fontSize:t}))}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Line height",children:(0,o.createComponentVNode)(2,a.NumberInput,{width:"4em",step:.01,stepPixelSize:2,minValue:.8,maxValue:5,value:p,format:function(e){return(0,r.toFixed)(e,2)},onDrag:function(e,t){return f((0,d.updateSettings)({lineHeight:t}))}})})]}),(0,o.createComponentVNode)(2,a.Divider),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Flex,{mb:1,color:"label",align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:"Highlight words (comma separated):"}),(0,o.createComponentVNode)(2,a.Flex.Item,{shrink:0,children:[(0,o.createComponentVNode)(2,a.ColorBox,{mr:1,color:m}),(0,o.createComponentVNode)(2,a.Input,{width:"5em",monospace:!0,placeholder:"#ffffff",value:m,onInput:function(e,t){return f((0,d.updateSettings)({highlightColor:t}))}})]})]}),(0,o.createComponentVNode)(2,a.TextArea,{height:"3em",value:h,onChange:function(e,t){return f((0,d.updateSettings)({highlightText:t}))}})]}),(0,o.createComponentVNode)(2,a.Divider),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"check",onClick:function(){return f((0,s.rebuildChat)())},children:"Apply now"}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,fontSize:"0.9em",ml:1,color:"label",children:"Can freeze the chat for a while."})]}),(0,o.createComponentVNode)(2,a.Divider),(0,o.createComponentVNode)(2,a.Button,{icon:"save",onClick:function(){return f((0,s.saveChatToDisk)())},children:"Save chat log"})]})};t.SettingsGeneral=p},686:function(e,t,n){"use strict";t.__esModule=!0,t.ChatPageSettings=void 0;var o=n(0),r=n(22),i=n(1),a=n(80),c=n(105),s=n(146);t.ChatPageSettings=function(e,t){var n=(0,r.useSelector)(t,s.selectCurrentChatPage),l=(0,r.useDispatch)(t);return(0,o.createComponentVNode)(2,i.Section,{fill:!0,children:[(0,o.createComponentVNode)(2,i.Flex,{mx:-.5,align:"center",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{mx:.5,grow:1,children:(0,o.createComponentVNode)(2,i.Input,{fluid:!0,value:n.name,onChange:function(e,t){return l((0,a.updateChatPage)({pageId:n.id,name:t}))}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"red",onClick:function(){return l((0,a.removeChatPage)({pageId:n.id}))},children:"Remove"})})]}),(0,o.createComponentVNode)(2,i.Divider),(0,o.createComponentVNode)(2,i.Section,{title:"Messages to display",level:2,children:[c.MESSAGE_TYPES.filter((function(e){return!e.important&&!e.admin})).map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:n.acceptedTypes[e.type],onClick:function(){return l((0,a.toggleAcceptedType)({pageId:n.id,type:e.type}))},children:e.name},e.type)})),(0,o.createComponentVNode)(2,i.Collapsible,{mt:1,color:"transparent",title:"Admin stuff",children:c.MESSAGE_TYPES.filter((function(e){return!e.important&&e.admin})).map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:n.acceptedTypes[e.type],onClick:function(){return l((0,a.toggleAcceptedType)({pageId:n.id,type:e.type}))},children:e.name},e.type)}))})]})]})}},687:function(e,t,n){"use strict";t.__esModule=!0,t.ChatPanel=void 0;var o=n(0),r=n(6),i=n(1),a=n(218);var c=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).ref=(0,o.createRef)(),t.state={scrollTracking:!0},t.handleScrollTrackingChange=function(e){return t.setState({scrollTracking:e})},t}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=c.prototype;return s.componentDidMount=function(){a.chatRenderer.mount(this.ref.current),a.chatRenderer.events.on("scrollTrackingChanged",this.handleScrollTrackingChange),this.componentDidUpdate()},s.componentWillUnmount=function(){a.chatRenderer.events.off("scrollTrackingChanged",this.handleScrollTrackingChange)},s.componentDidUpdate=function(e){requestAnimationFrame((function(){a.chatRenderer.ensureScrollTracking()})),(!e||(0,r.shallowDiffers)(this.props,e))&&a.chatRenderer.assignStyle({width:"100%","white-space":"pre-wrap","font-size":this.props.fontSize,"line-height":this.props.lineHeight})},s.render=function(){var e=this.state.scrollTracking;return(0,o.createFragment)([(0,o.createVNode)(1,"div","Chat",null,1,null,null,this.ref),!e&&(0,o.createComponentVNode)(2,i.Button,{className:"Chat__scrollButton",icon:"arrow-down",onClick:function(){return a.chatRenderer.scrollToBottom()},children:"Scroll to bottom"})],0)},c}(o.Component);t.ChatPanel=c},688:function(e,t,n){"use strict";t.__esModule=!0,t.linkifyNode=t.highlightNode=t.replaceInTextNode=void 0;var o=function(e,t){return function(n){for(var o,r,i=n.textContent,a=i.length,c=0,s=0;o=e.exec(i);){s+=1,r||(r=document.createDocumentFragment());var l=o[0],d=l.length,u=o.index;c0&&(0,o.createComponentVNode)(2,l,{value:e.unreadCount}),onClick:function(){return u((0,a.changeChatPage)({pageId:e.id}))},children:e.name},e.id)}))})}),(0,o.createComponentVNode)(2,i.Flex.Item,{ml:1,children:(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"plus",onClick:function(){u((0,a.addChatPage)()),u((0,s.openChatSettings)())}})})]})}},690:function(e,t,n){"use strict";t.__esModule=!0,t.chatMiddleware=void 0;var o=n(79),r=n(66),i=n(103),a=n(80),c=n(105),s=n(104),l=n(218),d=n(146);function u(e,t,n,o,r,i,a){try{var c=e[i](a),s=c.value}catch(l){return void n(l)}c.done?t(s):Promise.resolve(s).then(o,r)}function g(e){return function(){var t=this,n=arguments;return new Promise((function(o,r){var i=e.apply(t,n);function a(e){u(i,o,r,a,c,"next",e)}function c(e){u(i,o,r,a,c,"throw",e)}a(undefined)}))}}var p=function(){var e=g(regeneratorRuntime.mark((function t(e){var n,r,i;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=(0,d.selectChat)(e.getState()),r=Math.max(0,l.chatRenderer.messages.length-c.MAX_PERSISTED_MESSAGES),i=l.chatRenderer.messages.slice(r).map((function(e){return(0,s.serializeMessage)(e)})),o.storage.set("chat-state",n),o.storage.set("chat-messages",i);case 5:case"end":return t.stop()}}),t)})));return function(t){return e.apply(this,arguments)}}(),h=function(){var e=g(regeneratorRuntime.mark((function t(e){var n,r,i,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Promise.all([o.storage.get("chat-state"),o.storage.get("chat-messages")]);case 2:if(n=t.sent,r=n[0],i=n[1],!(r&&r.version<=4)){t.next=8;break}return e.dispatch((0,a.loadChat)()),t.abrupt("return");case 8:i&&(c=[].concat(i,[(0,s.createMessage)({type:"internal/reconnected"})]),l.chatRenderer.processBatch(c,{prepend:!0})),e.dispatch((0,a.loadChat)(r));case 10:case"end":return t.stop()}}),t)})));return function(t){return e.apply(this,arguments)}}();t.chatMiddleware=function(e){var t=!1,n=!1;return l.chatRenderer.events.on("batchProcessed",(function(t){n&&e.dispatch((0,a.updateMessageCount)(t))})),l.chatRenderer.events.on("scrollTrackingChanged",(function(t){e.dispatch((0,a.changeScrollTracking)(t))})),setInterval((function(){return p(e)}),c.MESSAGE_SAVE_INTERVAL),function(o){return function(c){var s=c.type,u=c.payload;if(t||(t=!0,h(e)),"chat/message"!==s){if(s===a.loadChat.type){o(c);var g=(0,d.selectCurrentChatPage)(e.getState());return l.chatRenderer.changePage(g),l.chatRenderer.onStateLoaded(),void(n=!0)}if(s!==a.changeChatPage.type&&s!==a.addChatPage.type&&s!==a.removeChatPage.type&&s!==a.toggleAcceptedType.type){if(s===a.rebuildChat.type)return l.chatRenderer.rebuildChat(),o(c);if(s!==r.updateSettings.type&&s!==r.loadSettings.type){if("roundrestart"===s)return p(e),o(c);if(s!==a.saveChatToDisk.type)return o(c);l.chatRenderer.saveToDisk()}else{o(c);var m=(0,i.selectSettings)(e.getState());l.chatRenderer.setHighlight(m.highlightText,m.highlightColor)}}else{o(c);var f=(0,d.selectCurrentChatPage)(e.getState());l.chatRenderer.changePage(f)}}else{var v=Array.isArray(u)?u:[u];l.chatRenderer.processBatch(v)}}}}},691:function(e,t,n){"use strict";t.__esModule=!0,t.chatReducer=t.initialState=void 0;var o,r=n(80),i=n(104);function a(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n0&&(C[M.id]=Object.assign({},M,{unreadCount:M.unreadCount+A}))}return Object.assign({},e,{pageById:C})}if(o===r.addChatPage.type)return Object.assign({},e,{currentPageId:c.id,pages:[].concat(e.pages,[c.id]),pageById:Object.assign({},e.pageById,(n={},n[c.id]=c,n))});if(o===r.changeChatPage.type){var w,P=c.pageId,x=Object.assign({},e.pageById[P],{unreadCount:0});return Object.assign({},e,{currentPageId:P,pageById:Object.assign({},e.pageById,(w={},w[P]=x,w))})}if(o===r.updateChatPage.type){var k,R=c.pageId,O=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(c,["pageId"]),V=Object.assign({},e.pageById[R],O);return Object.assign({},e,{pageById:Object.assign({},e.pageById,(k={},k[R]=V,k))})}if(o===r.toggleAcceptedType.type){var G,B=c.pageId,L=c.type,D=Object.assign({},e.pageById[B]);return D.acceptedTypes=Object.assign({},D.acceptedTypes),D.acceptedTypes[L]=!D.acceptedTypes[L],Object.assign({},e,{pageById:Object.assign({},e.pageById,(G={},G[B]=D,G))})}if(o===r.removeChatPage.type){var j=c.pageId,F=Object.assign({},e,{pages:[].concat(e.pages),pageById:Object.assign({},e.pageById)});return delete F.pageById[j],F.pages=F.pages.filter((function(e){return e!==j})),0===F.pages.length&&(F.pages.push(s.id),F.pageById[s.id]=s,F.currentPageId=s.id),F.currentPageId&&F.currentPageId!==j||(F.currentPageId=F.pages[0]),F}return e}},692:function(e,t,n){"use strict";t.__esModule=!0,t.audioReducer=void 0;var o={visible:!1,playing:!1,track:null};t.audioReducer=function(e,t){void 0===e&&(e=o);var n=t.type,r=t.payload;return"audio/playing"===n?Object.assign({},e,{visible:!0,playing:!0}):"audio/stopped"===n?Object.assign({},e,{visible:!1,playing:!1}):"audio/playMusic"===n?Object.assign({},e,{meta:r}):"audio/stopMusic"===n?Object.assign({},e,{visible:!1,playing:!1,meta:null}):"audio/toggle"===n?Object.assign({},e,{visible:!e.visible}):e}},693:function(e,t,n){"use strict";t.__esModule=!0,t.useGame=void 0;var o=n(22),r=n(220);t.useGame=function(e){return(0,o.useSelector)(e,r.selectGame)}},694:function(e,t,n){"use strict";t.__esModule=!0,t.gameMiddleware=void 0;var o=n(147),r=n(221),i=n(220),a=n(695),c=function(e){return Object.assign({},e,{meta:Object.assign({},e.meta,{now:Date.now()})})};t.gameMiddleware=function(e){var t;return setInterval((function(){var n=e.getState();if(n){var o=(0,i.selectGame)(n),s=t&&Date.now()>=t+a.CONNECTION_LOST_AFTER;!o.connectionLostAt&&s&&e.dispatch(c((0,r.connectionLost)())),o.connectionLostAt&&!s&&e.dispatch(c((0,r.connectionRestored)()))}}),1e3),function(e){return function(n){var i=n.type,a=(n.payload,n.meta);return i===o.pingSuccess.type?(t=a.now,e(n)):i===r.roundRestarted.type?e(c(n)):e(n)}}}},695:function(e,t,n){"use strict";t.__esModule=!0,t.CONNECTION_LOST_AFTER=void 0;t.CONNECTION_LOST_AFTER=15e3},696:function(e,t,n){"use strict";t.__esModule=!0,t.gameReducer=void 0;var o=n(221),r={roundId:null,roundTime:null,roundRestartedAt:null,connectionLostAt:null};t.gameReducer=function(e,t){void 0===e&&(e=r);var n=t.type,i=(t.payload,t.meta);return"roundrestart"===n?Object.assign({},e,{roundRestartedAt:i.now}):n===o.connectionLost.type?Object.assign({},e,{connectionLostAt:i.now}):n===o.connectionRestored.type?Object.assign({},e,{connectionLostAt:null}):e}},697:function(e,t,n){"use strict";(function(e){t.__esModule=!0,t.setupPanelFocusHacks=void 0;var o=n(135),r=n(58),i=n(190),a=function(){return e((function(){return(0,i.focusMap)()}))};t.setupPanelFocusHacks=function(){var e=!1,t=null;window.addEventListener("focusin",(function(t){e=(0,r.canStealFocus)(t.target)})),window.addEventListener("mousedown",(function(e){t=[e.screenX,e.screenY]})),window.addEventListener("mouseup",(function(n){if(t){var r=[n.screenX,n.screenY];(0,o.vecLength)((0,o.vecSubtract)(r,t))>=10&&(e=!0)}e||a()})),r.globalEvents.on("keydown",(function(e){e.isModifierKey()||a()}))}}).call(this,n(101).setImmediate)},698:function(e,t,n){"use strict";t.__esModule=!0,t.pingMiddleware=void 0;var o=n(2),r=n(147),i=n(223);t.pingMiddleware=function(e){var t=!1,n=0,a=[],c=function(){for(var t=0;ti.PING_TIMEOUT&&(a[t]=null,e.dispatch((0,r.pingFail)()))}var s={index:n,sentAt:Date.now()};a[n]=s,(0,o.sendMessage)({type:"ping",payload:{index:n}}),n=(n+1)%i.PING_QUEUE_SIZE};return function(e){return function(n){var o=n.type,s=n.payload;if(t||(t=!0,setInterval(c,i.PING_INTERVAL),c()),"pingReply"===o){var l=s.index,d=a[l];if(!d)return;return a[l]=null,e((0,r.pingSuccess)(d))}return e(n)}}}},699:function(e,t,n){"use strict";t.__esModule=!0,t.PingIndicator=void 0;var o=n(0),r=n(700),i=n(8),a=n(22),c=n(1),s=n(701);t.PingIndicator=function(e,t){var n=(0,a.useSelector)(t,s.selectPing),l=r.Color.lookup(n.networkQuality,[new r.Color(220,40,40),new r.Color(220,200,40),new r.Color(60,220,40)]),d=n.roundtrip?(0,i.toFixed)(n.roundtrip):"--";return(0,o.createVNode)(1,"div","Ping",[(0,o.createComponentVNode)(2,c.Box,{className:"Ping__indicator",backgroundColor:l}),d],0)}},700:function(e,t,n){"use strict";t.__esModule=!0,t.Color=void 0;var o=1e-4,r=function(){function e(e,t,n,o){void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=0),void 0===o&&(o=1),this.r=e,this.g=t,this.b=n,this.a=o}return e.prototype.toString=function(){return"rgba("+(0|this.r)+", "+(0|this.g)+", "+(0|this.b)+", "+(0|this.a)+")"},e}();t.Color=r,r.fromHex=function(e){return new r(parseInt(e.substr(1,2),16),parseInt(e.substr(3,2),16),parseInt(e.substr(5,2),16))},r.lerp=function(e,t,n){return new r((t.r-e.r)*n+e.r,(t.g-e.g)*n+e.g,(t.b-e.b)*n+e.b,(t.a-e.a)*n+e.a)},r.lookup=function(e,t){void 0===t&&(t=[]);var n=t.length;if(n<2)throw new Error("Needs at least two colors!");var i=e*(n-1);if(e=.9999)return t[n-1];var a=i%1,c=0|i;return r.lerp(t[c],t[c+1],a)}},701:function(e,t,n){"use strict";t.__esModule=!0,t.selectPing=void 0;t.selectPing=function(e){return e.ping}},702:function(e,t,n){"use strict";t.__esModule=!0,t.pingReducer=void 0;var o=n(8),r=n(147),i=n(223);t.pingReducer=function(e,t){void 0===e&&(e={});var n=t.type,a=t.payload;if(n===r.pingSuccess.type){var c=a.roundtrip,s=e.roundtripAvg||c,l=Math.round(.4*s+.6*c);return{roundtrip:c,roundtripAvg:l,failCount:0,networkQuality:1-(0,o.scale)(l,i.PING_ROUNDTRIP_BEST,i.PING_ROUNDTRIP_WORST)}}if(n===r.pingFail.type){var d=e.failCount,u=void 0===d?0:d,g=(0,o.clamp01)(e.networkQuality-u/i.PING_MAX_FAILS),p=Object.assign({},e,{failCount:u+1,networkQuality:g});return u>i.PING_MAX_FAILS&&(p.roundtrip=undefined,p.roundtripAvg=undefined),p}return e}},703:function(e,t,n){"use strict";t.__esModule=!0,t.telemetryMiddleware=void 0;var o=n(2),r=n(79);function i(e,t,n,o,r,i,a){try{var c=e[i](a),s=c.value}catch(l){return void n(l)}c.done?t(s):Promise.resolve(s).then(o,r)}var a=(0,n(35).createLogger)("telemetry");t.telemetryMiddleware=function(e){var t,n;return function(c){return function(s){var l,d=s.type,u=s.payload;if("telemetry/request"!==d)return"backend/update"===d?(c(s),void(l=regeneratorRuntime.mark((function h(){var o,i,c,s;return regeneratorRuntime.wrap((function(l){for(;;)switch(l.prev=l.next){case 0:if(i=null==u||null==(o=u.config)?void 0:o.client){l.next=4;break}return a.error("backend/update payload is missing client data!"),l.abrupt("return");case 4:if(t){l.next=13;break}return l.next=7,r.storage.get("telemetry");case 7:if(l.t0=l.sent,l.t0){l.next=10;break}l.t0={};case 10:(t=l.t0).connections||(t.connections=[]),a.debug("retrieved telemetry from storage",t);case 13:c=!1,t.connections.find((function(e){return n=i,(t=e).ckey===n.ckey&&t.address===n.address&&t.computer_id===n.computer_id;var t,n}))||(c=!0,t.connections.unshift(i),t.connections.length>10&&t.connections.pop()),c&&(a.debug("saving telemetry to storage",t),r.storage.set("telemetry",t)),n&&(s=n,n=null,e.dispatch({type:"telemetry/request",payload:s}));case 18:case"end":return l.stop()}}),h)})),function(){var e=this,t=arguments;return new Promise((function(n,o){var r=l.apply(e,t);function a(e){i(r,n,o,a,c,"next",e)}function c(e){i(r,n,o,a,c,"throw",e)}a(undefined)}))})()):c(s);if(!t)return a.debug("deferred"),void(n=u);a.debug("sending");var g=(null==u?void 0:u.limits)||{},p=t.connections.slice(0,g.connections);(0,o.sendMessage)({type:"telemetry",payload:{connections:p}})}}}},704:function(e,t,n){"use strict";t.__esModule=!0,t.Panel=void 0;var o=n(0),r=n(1),i=n(3),a=n(214),c=n(145),s=n(219),l=n(705),d=n(222),u=n(144);t.Panel=function(e,t){if(Byond.IS_LTE_IE10)return(0,o.createComponentVNode)(2,g);var n=(0,a.useAudio)(t),p=(0,u.useSettings)(t),h=(0,s.useGame)(t);return(0,o.createComponentVNode)(2,i.Pane,{theme:p.theme,children:(0,o.createComponentVNode)(2,r.Flex,{direction:"column",height:"100%",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Section,{fitted:!0,children:(0,o.createComponentVNode)(2,r.Flex,{mx:.5,align:"center",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,grow:1,overflowX:"auto",children:(0,o.createComponentVNode)(2,c.ChatTabs)}),(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,d.PingIndicator)}),(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,r.Button,{color:"grey",selected:n.visible,icon:"music",tooltip:"Music player",tooltipPosition:"bottom-left",onClick:function(){return n.toggle()}})}),(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,r.Button,{icon:p.visible?"times":"cog",selected:p.visible,tooltip:p.visible?"Close settings":"Open settings",tooltipPosition:"bottom-left",onClick:function(){return p.toggle()}})})]})})}),n.visible&&(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,r.Section,{children:(0,o.createComponentVNode)(2,a.NowPlayingWidget)})}),p.visible&&(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,u.SettingsPanel)}),(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,grow:1,children:(0,o.createComponentVNode)(2,r.Section,{fill:!0,fitted:!0,position:"relative",children:[(0,o.createComponentVNode)(2,i.Pane.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c.ChatPanel,{lineHeight:p.lineHeight})}),(0,o.createComponentVNode)(2,l.Notifications,{children:[h.connectionLostAt&&(0,o.createComponentVNode)(2,l.Notifications.Item,{rightSlot:(0,o.createComponentVNode)(2,r.Button,{color:"white",onClick:function(){return Byond.command(".reconnect")},children:"Reconnect"}),children:"You are either AFK, experiencing lag or the connection has closed."}),h.roundRestartedAt&&(0,o.createComponentVNode)(2,l.Notifications.Item,{children:"The connection has been closed because the server is restarting. Please wait while you automatically reconnect."})]})]})})]})})};var g=function(e,t){var n=(0,u.useSettings)(t);return(0,o.createComponentVNode)(2,i.Pane,{theme:n.theme,children:(0,o.createComponentVNode)(2,i.Pane.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,r.Button,{style:{position:"fixed",top:"1em",right:"2em","z-index":1e3},selected:n.visible,onClick:function(){return n.toggle()},children:"Settings"}),n.visible&&(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,u.SettingsPanel)})||(0,o.createComponentVNode)(2,c.ChatPanel,{lineHeight:n.lineHeight})]})})}},705:function(e,t,n){"use strict";t.__esModule=!0,t.Notifications=void 0;var o=n(0),r=n(1),i=function(e){var t=e.children;return(0,o.createVNode)(1,"div","Notifications",t,0)};t.Notifications=i;i.Item=function(e){var t=e.rightSlot,n=e.children;return(0,o.createComponentVNode)(2,r.Flex,{align:"center",className:"Notification",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{className:"Notification__content",grow:1,children:n}),t&&(0,o.createComponentVNode)(2,r.Flex.Item,{className:"Notification__rightSlot",children:t})]})}},80:function(e,t,n){"use strict";t.__esModule=!0,t.saveChatToDisk=t.changeScrollTracking=t.removeChatPage=t.toggleAcceptedType=t.updateChatPage=t.changeChatPage=t.addChatPage=t.updateMessageCount=t.rebuildChat=t.loadChat=void 0;var o=n(22),r=n(104),i=(0,o.createAction)("chat/load");t.loadChat=i;var a=(0,o.createAction)("chat/rebuild");t.rebuildChat=a;var c=(0,o.createAction)("chat/updateMessageCount");t.updateMessageCount=c;var s=(0,o.createAction)("chat/addPage",(function(){return{payload:(0,r.createPage)()}}));t.addChatPage=s;var l=(0,o.createAction)("chat/changePage");t.changeChatPage=l;var d=(0,o.createAction)("chat/updatePage");t.updateChatPage=d;var u=(0,o.createAction)("chat/toggleAcceptedType");t.toggleAcceptedType=u;var g=(0,o.createAction)("chat/removePage");t.removeChatPage=g;var p=(0,o.createAction)("chat/changeScrollTracking");t.changeScrollTracking=p;var h=(0,o.createAction)("chat/saveToDisk");t.saveChatToDisk=h}}); \ No newline at end of file +!function(e){function t(t){for(var o,a,c=t[0],s=t[1],l=t[2],u=0,g=[];u=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n=a.IMAGE_RETRY_LIMIT)u.error("failed to load an image after "+n+" attempts");else{var o=t.src;t.src=null,t.src=o+"#"+n,t.setAttribute("data-reload-n",n+1)}}),a.IMAGE_RETRY_DELAY)},f=function(e){var t=e.node,n=e.times;if(t&&n){var o=t.querySelector(".Chat__badge"),i=o||document.createElement("div");i.textContent=n,i.className=(0,r.classes)(["Chat__badge","Chat__badge--animate"]),requestAnimationFrame((function(){i.className="Chat__badge"})),o||t.appendChild(i)}},v=function(){function t(){var e=this;this.loaded=!1,this.rootNode=null,this.queue=[],this.messages=[],this.visibleMessages=[],this.page=null,this.events=new o.EventEmitter,this.scrollNode=null,this.scrollTracking=!0,this.handleScroll=function(t){var n=e.scrollNode,o=n.scrollHeight,r=n.scrollTop+n.offsetHeight,i=Math.abs(o-r)<24;i!==e.scrollTracking&&(e.scrollTracking=i,e.events.emit("scrollTrackingChanged",i),u.debug("tracking",e.scrollTracking))},this.ensureScrollTracking=function(){e.scrollTracking&&e.scrollToBottom()},setInterval((function(){return e.pruneMessages()}),a.MESSAGE_PRUNE_INTERVAL)}var n=t.prototype;return n.isReady=function(){return this.loaded&&this.rootNode&&this.page},n.mount=function(t){var n=this;this.rootNode?t.appendChild(this.rootNode):this.rootNode=t,this.scrollNode=function(e){for(var t=document.body,n=e;n&&n!==t;){if(n.scrollWidth0&&(this.processBatch(this.queue),this.queue=[])},n.assignStyle=function(e){void 0===e&&(e={});for(var t=0,n=Object.keys(e);t1&&n.test(e)}));if(0===o.length)return this.highlightRegex=null,void(this.highlightColor=null);this.highlightRegex=new RegExp("("+o.join("|")+")","gi"),this.highlightColor=t},n.scrollToBottom=function(){this.scrollNode.scrollTop=this.scrollNode.scrollHeight},n.changePage=function(e){if(!this.isReady())return this.page=e,void this.tryFlushQueue();this.page=e,this.rootNode.textContent="",this.visibleMessages=[];for(var t,n,o=document.createDocumentFragment(),r=l(this.messages);!(n=r()).done;){var i=n.value;(0,c.canPageAcceptType)(e,i.type)&&(t=i.node,o.appendChild(t),this.visibleMessages.push(i))}t&&(this.rootNode.appendChild(o),t.scrollIntoView())},n.getCombinableMessage=function(e){for(var t=Date.now(),n=this.visibleMessages.length,o=n-1,r=Math.max(0,n-a.COMBINE_MAX_MESSAGES),i=o;i>=r;i--){var s=this.visibleMessages[i];if(!s.type.startsWith(a.MESSAGE_TYPE_INTERNAL)&&(0,c.isSameMessage)(s,e)&&t0){this.visibleMessages=e.slice(t);for(var n=0;n0&&(this.messages=this.messages.slice(r),u.log("pruned "+r+" stored messages"))}else u.debug("pruning delayed")},n.rebuildChat=function(){if(this.isReady()){for(var e,t=Math.max(0,this.messages.length-a.MAX_PERSISTED_MESSAGES),n=this.messages.slice(t),o=l(n);!(e=o()).done;)e.value.node=undefined;this.rootNode.textContent="",this.messages=[],this.visibleMessages=[],this.processBatch(n,{notifyListeners:!1})}},n.saveToDisk=function(){if(!Byond.IS_LTE_IE10){for(var e="",t=document.styleSheets,n=0;n\n\n\nSS13 Chat Log\n\n\n\n
    \n'+a+"
    \n\n\n"]),u=(new Date).toISOString().substring(0,19).replace(/[-:]/g,"").replace("T","-");window.navigator.msSaveBlob(d,"ss13-chatlog-"+u+".html")}},t}();window.__chatRenderer__||(window.__chatRenderer__=new v);var y=window.__chatRenderer__;t.chatRenderer=y}).call(this,n(101).setImmediate)},219:function(e,t,n){"use strict";t.__esModule=!0,t.gameReducer=t.gameMiddleware=t.useGame=void 0;var o=n(694);t.useGame=o.useGame;var r=n(695);t.gameMiddleware=r.gameMiddleware;var i=n(697);t.gameReducer=i.gameReducer},220:function(e,t,n){"use strict";t.__esModule=!0,t.selectGame=void 0;t.selectGame=function(e){return e.game}},221:function(e,t,n){"use strict";t.__esModule=!0,t.connectionRestored=t.connectionLost=t.roundRestarted=void 0;var o=n(22),r=(0,o.createAction)("roundrestart");t.roundRestarted=r;var i=(0,o.createAction)("game/connectionLost");t.connectionLost=i;var a=(0,o.createAction)("game/connectionRestored");t.connectionRestored=a},222:function(e,t,n){"use strict";t.__esModule=!0,t.pingReducer=t.PingIndicator=t.pingMiddleware=void 0;var o=n(699);t.pingMiddleware=o.pingMiddleware;var r=n(700);t.PingIndicator=r.PingIndicator;var i=n(703);t.pingReducer=i.pingReducer},223:function(e,t,n){"use strict";t.__esModule=!0,t.PING_ROUNDTRIP_WORST=t.PING_ROUNDTRIP_BEST=t.PING_QUEUE_SIZE=t.PING_MAX_FAILS=t.PING_TIMEOUT=t.PING_INTERVAL=void 0;t.PING_INTERVAL=2500;t.PING_TIMEOUT=2e3;t.PING_MAX_FAILS=3;t.PING_QUEUE_SIZE=8;t.PING_ROUNDTRIP_BEST=50;t.PING_ROUNDTRIP_WORST=200},66:function(e,t,n){"use strict";t.__esModule=!0,t.openChatSettings=t.toggleSettings=t.changeSettingsTab=t.loadSettings=t.updateSettings=void 0;var o=n(22),r=(0,o.createAction)("settings/update");t.updateSettings=r;var i=(0,o.createAction)("settings/load");t.loadSettings=i;var a=(0,o.createAction)("settings/changeTab");t.changeSettingsTab=a;var c=(0,o.createAction)("settings/toggle");t.toggleSettings=c;var s=(0,o.createAction)("settings/openChatTab");t.openChatSettings=s},675:function(e,t,n){n(148),e.exports=n(676)},676:function(e,t,n){"use strict";var o=n(0);n(677),n(678);var r,i,a=n(99),c=n(22),s=(n(100),n(58)),l=n(187),d=n(135),u=n(188),g=n(214),p=n(145),h=n(219),m=n(698),f=n(222),v=n(144),y=n(704);a.perf.mark("inception",null==(r=window.performance)||null==(i=r.timing)?void 0:i.navigationStart),a.perf.mark("init");var S=(0,u.configureStore)({reducer:(0,c.combineReducers)({audio:g.audioReducer,chat:p.chatReducer,game:h.gameReducer,ping:f.pingReducer,settings:v.settingsReducer}),middleware:{pre:[p.chatMiddleware,f.pingMiddleware,y.telemetryMiddleware,v.settingsMiddleware,g.audioMiddleware,h.gameMiddleware]}}),b=(0,d.createRenderer)((function(){var e=n(705).Panel;return(0,o.createComponentVNode)(2,u.StoreProvider,{store:S,children:(0,o.createComponentVNode)(2,e)})}));!function _(){if("loading"!==document.readyState){for((0,s.setupGlobalEvents)({ignoreWindowFocus:!0}),(0,m.setupPanelFocusHacks)(),(0,l.captureExternalLinks)(),S.subscribe(b),window.update=function(e){return S.dispatch(Byond.parseJson(e))};;){var e=window.__updateQueue__.shift();if(!e)break;window.update(e)}Byond.winset("output",{"is-visible":!1}),Byond.winset("browseroutput",{"is-visible":!0,"is-disabled":!1,pos:"0x0",size:"0x0"})}else document.addEventListener("DOMContentLoaded",_)}()},677:function(e,t,n){},678:function(e,t,n){},679:function(e,t,n){"use strict";t.__esModule=!0,t.useAudio=void 0;var o=n(22),r=n(215);t.useAudio=function(e){var t=(0,o.useSelector)(e,r.selectAudio),n=(0,o.useDispatch)(e);return Object.assign({},t,{toggle:function(){return n({type:"audio/toggle"})}})}},680:function(e,t,n){"use strict";t.__esModule=!0,t.audioMiddleware=void 0;var o=n(681);t.audioMiddleware=function(e){var t=new o.AudioPlayer;return t.onPlay((function(){e.dispatch({type:"audio/playing"})})),t.onStop((function(){e.dispatch({type:"audio/stopped"})})),function(e){return function(n){var o=n.type,r=n.payload;if("audio/playMusic"===o){var i=r.url,a=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(r,["url"]);return t.play(i,a),e(n)}if("audio/stopMusic"===o)return t.stop(),e(n);if("settings/update"===o||"settings/load"===o){var c=null==r?void 0:r.adminMusicVolume;return"number"==typeof c&&t.setVolume(c),e(n)}return e(n)}}}},681:function(e,t,n){"use strict";function o(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n0&&e.node.currentTime>=e.options.end&&e.stop())}),1e3))}var t=e.prototype;return t.destroy=function(){this.node&&(this.node.stop(),document.removeChild(this.node),clearInterval(this.playbackInterval))},t.play=function(e,t){void 0===t&&(t={}),this.node&&(i.log("playing",e,t),this.options=t,this.node.src=e)},t.stop=function(){if(this.node){if(this.playing)for(var e,t=o(this.onStopSubscribers);!(e=t()).done;)(0,e.value)();i.log("stopping"),this.playing=!1,this.node.src=""}},t.setVolume=function(e){this.node&&(this.volume=e,this.node.volume=e)},t.onPlay=function(e){this.node&&this.onPlaySubscribers.push(e)},t.onStop=function(e){this.node&&this.onStopSubscribers.push(e)},e}();t.AudioPlayer=a},682:function(e,t,n){"use strict";t.__esModule=!0,t.NowPlayingWidget=void 0;var o=n(0),r=n(8),i=n(22),a=n(1),c=n(144),s=n(215);t.NowPlayingWidget=function(e,t){var n,l=(0,i.useSelector)(t,s.selectAudio),d=(0,i.useDispatch)(t),u=(0,c.useSettings)(t),g=null==(n=l.meta)?void 0:n.title;return(0,o.createComponentVNode)(2,a.Flex,{align:"center",children:[l.playing&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Flex.Item,{shrink:0,mx:.5,color:"label",children:"Now playing:"}),(0,o.createComponentVNode)(2,a.Flex.Item,{mx:.5,grow:1,style:{"white-space":"nowrap",overflow:"hidden","text-overflow":"ellipsis"},children:g||"Unknown Track"})],4)||(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,color:"label",children:"Nothing to play."}),l.playing&&(0,o.createComponentVNode)(2,a.Flex.Item,{mx:.5,fontSize:"0.9em",children:(0,o.createComponentVNode)(2,a.Button,{tooltip:"Stop",icon:"stop",onClick:function(){return d({type:"audio/stopMusic"})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{mx:.5,fontSize:"0.9em",children:(0,o.createComponentVNode)(2,a.Knob,{minValue:0,maxValue:1,value:u.adminMusicVolume,step:.0025,stepPixelSize:1,format:function(e){return(0,r.toFixed)(100*e)+"%"},onDrag:function(e,t){return u.update({adminMusicVolume:t})}})})]})}},683:function(e,t,n){"use strict";t.__esModule=!0,t.useSettings=void 0;var o=n(22),r=n(66),i=n(104);t.useSettings=function(e){var t=(0,o.useSelector)(e,i.selectSettings),n=(0,o.useDispatch)(e);return Object.assign({},t,{visible:t.view.visible,toggle:function(){return n((0,r.toggleSettings)())},update:function(e){return n((0,r.updateSettings)(e))}})}},684:function(e,t,n){"use strict";t.__esModule=!0,t.settingsMiddleware=void 0;var o=n(79),r=n(216),i=n(66),a=n(104);t.settingsMiddleware=function(e){var t=!1;return function(n){return function(c){var s,l=c.type,d=c.payload;if(t||(t=!0,o.storage.get("panel-settings").then((function(t){e.dispatch((0,i.loadSettings)(t))}))),l===i.updateSettings.type||l===i.loadSettings.type){var u=null==d?void 0:d.theme;u&&(0,r.setClientTheme)(u),n(c);var g=(0,a.selectSettings)(e.getState());return s=g.fontSize,document.documentElement.style.setProperty("font-size",s+"px"),document.body.style.setProperty("font-size",s+"px"),void o.storage.set("panel-settings",g)}return n(c)}}}},685:function(e,t,n){"use strict";t.__esModule=!0,t.settingsReducer=void 0;var o=n(66),r={version:1,fontSize:13,lineHeight:1.2,theme:"light",adminMusicVolume:.5,highlightText:"",highlightColor:"#ffdd44",view:{visible:!1,activeTab:n(217).SETTINGS_TABS[0].id}};t.settingsReducer=function(e,t){void 0===e&&(e=r);var n=t.type,i=t.payload;if(n===o.updateSettings.type)return Object.assign({},e,i);if(n===o.loadSettings.type)return(null==i?void 0:i.version)?(delete i.view,Object.assign({},e,i)):e;if(n===o.toggleSettings.type)return Object.assign({},e,{view:Object.assign({},e.view,{visible:!e.view.visible})});if(n===o.openChatSettings.type)return Object.assign({},e,{view:Object.assign({},e.view,{visible:!0,activeTab:"chatPage"})});if(n===o.changeSettingsTab.type){var a=i.tabId;return Object.assign({},e,{view:Object.assign({},e.view,{activeTab:a})})}return e}},686:function(e,t,n){"use strict";t.__esModule=!0,t.SettingsGeneral=t.SettingsPanel=void 0;var o=n(0),r=n(8),i=n(22),a=n(1),c=n(145),s=n(80),l=n(216),d=n(66),u=n(217),g=n(104);t.SettingsPanel=function(e,t){var n=(0,i.useSelector)(t,g.selectActiveTab),r=(0,i.useDispatch)(t);return(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{mr:1,children:(0,o.createComponentVNode)(2,a.Section,{fitted:!0,fill:!0,minHeight:"8em",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:u.SETTINGS_TABS.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:e.id===n,onClick:function(){return r((0,d.changeSettingsTab)({tabId:e.id}))},children:e.name},e.id)}))})})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:["general"===n&&(0,o.createComponentVNode)(2,p),"chatPage"===n&&(0,o.createComponentVNode)(2,c.ChatPageSettings)]})]})};var p=function(e,t){var n=(0,i.useSelector)(t,g.selectSettings),c=n.theme,u=n.fontSize,p=n.lineHeight,h=n.highlightText,m=n.highlightColor,f=(0,i.useDispatch)(t);return(0,o.createComponentVNode)(2,a.Section,{fill:!0,children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Theme",children:(0,o.createComponentVNode)(2,a.Dropdown,{selected:c,options:l.THEMES,onSelected:function(e){return f((0,d.updateSettings)({theme:e}))}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Font size",children:(0,o.createComponentVNode)(2,a.NumberInput,{width:"4em",step:1,stepPixelSize:10,minValue:8,maxValue:32,value:u,unit:"px",format:function(e){return(0,r.toFixed)(e)},onChange:function(e,t){return f((0,d.updateSettings)({fontSize:t}))}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Line height",children:(0,o.createComponentVNode)(2,a.NumberInput,{width:"4em",step:.01,stepPixelSize:2,minValue:.8,maxValue:5,value:p,format:function(e){return(0,r.toFixed)(e,2)},onDrag:function(e,t){return f((0,d.updateSettings)({lineHeight:t}))}})})]}),(0,o.createComponentVNode)(2,a.Divider),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Flex,{mb:1,color:"label",align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:"Highlight words (comma separated):"}),(0,o.createComponentVNode)(2,a.Flex.Item,{shrink:0,children:[(0,o.createComponentVNode)(2,a.ColorBox,{mr:1,color:m}),(0,o.createComponentVNode)(2,a.Input,{width:"5em",monospace:!0,placeholder:"#ffffff",value:m,onInput:function(e,t){return f((0,d.updateSettings)({highlightColor:t}))}})]})]}),(0,o.createComponentVNode)(2,a.TextArea,{height:"3em",value:h,onChange:function(e,t){return f((0,d.updateSettings)({highlightText:t}))}})]}),(0,o.createComponentVNode)(2,a.Divider),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"check",onClick:function(){return f((0,s.rebuildChat)())},children:"Apply now"}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,fontSize:"0.9em",ml:1,color:"label",children:"Can freeze the chat for a while."})]}),(0,o.createComponentVNode)(2,a.Divider),(0,o.createComponentVNode)(2,a.Button,{icon:"save",onClick:function(){return f((0,s.saveChatToDisk)())},children:"Save chat log"})]})};t.SettingsGeneral=p},687:function(e,t,n){"use strict";t.__esModule=!0,t.ChatPageSettings=void 0;var o=n(0),r=n(22),i=n(1),a=n(80),c=n(106),s=n(146);t.ChatPageSettings=function(e,t){var n=(0,r.useSelector)(t,s.selectCurrentChatPage),l=(0,r.useDispatch)(t);return(0,o.createComponentVNode)(2,i.Section,{fill:!0,children:[(0,o.createComponentVNode)(2,i.Flex,{mx:-.5,align:"center",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{mx:.5,grow:1,children:(0,o.createComponentVNode)(2,i.Input,{fluid:!0,value:n.name,onChange:function(e,t){return l((0,a.updateChatPage)({pageId:n.id,name:t}))}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"red",onClick:function(){return l((0,a.removeChatPage)({pageId:n.id}))},children:"Remove"})})]}),(0,o.createComponentVNode)(2,i.Divider),(0,o.createComponentVNode)(2,i.Section,{title:"Messages to display",level:2,children:[c.MESSAGE_TYPES.filter((function(e){return!e.important&&!e.admin})).map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:n.acceptedTypes[e.type],onClick:function(){return l((0,a.toggleAcceptedType)({pageId:n.id,type:e.type}))},children:e.name},e.type)})),(0,o.createComponentVNode)(2,i.Collapsible,{mt:1,color:"transparent",title:"Admin stuff",children:c.MESSAGE_TYPES.filter((function(e){return!e.important&&e.admin})).map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:n.acceptedTypes[e.type],onClick:function(){return l((0,a.toggleAcceptedType)({pageId:n.id,type:e.type}))},children:e.name},e.type)}))})]})]})}},688:function(e,t,n){"use strict";t.__esModule=!0,t.ChatPanel=void 0;var o=n(0),r=n(6),i=n(1),a=n(218);var c=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).ref=(0,o.createRef)(),t.state={scrollTracking:!0},t.handleScrollTrackingChange=function(e){return t.setState({scrollTracking:e})},t}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=c.prototype;return s.componentDidMount=function(){a.chatRenderer.mount(this.ref.current),a.chatRenderer.events.on("scrollTrackingChanged",this.handleScrollTrackingChange),this.componentDidUpdate()},s.componentWillUnmount=function(){a.chatRenderer.events.off("scrollTrackingChanged",this.handleScrollTrackingChange)},s.componentDidUpdate=function(e){requestAnimationFrame((function(){a.chatRenderer.ensureScrollTracking()})),(!e||(0,r.shallowDiffers)(this.props,e))&&a.chatRenderer.assignStyle({width:"100%","white-space":"pre-wrap","font-size":this.props.fontSize,"line-height":this.props.lineHeight})},s.render=function(){var e=this.state.scrollTracking;return(0,o.createFragment)([(0,o.createVNode)(1,"div","Chat",null,1,null,null,this.ref),!e&&(0,o.createComponentVNode)(2,i.Button,{className:"Chat__scrollButton",icon:"arrow-down",onClick:function(){return a.chatRenderer.scrollToBottom()},children:"Scroll to bottom"})],0)},c}(o.Component);t.ChatPanel=c},689:function(e,t,n){"use strict";t.__esModule=!0,t.linkifyNode=t.highlightNode=t.replaceInTextNode=void 0;var o=function(e,t){return function(n){for(var o,r,i=n.textContent,a=i.length,c=0,s=0;o=e.exec(i);){s+=1,r||(r=document.createDocumentFragment());var l=o[0],d=l.length,u=o.index;c0&&(0,o.createComponentVNode)(2,l,{value:e.unreadCount}),onClick:function(){return u((0,a.changeChatPage)({pageId:e.id}))},children:e.name},e.id)}))})}),(0,o.createComponentVNode)(2,i.Flex.Item,{ml:1,children:(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"plus",onClick:function(){u((0,a.addChatPage)()),u((0,s.openChatSettings)())}})})]})}},691:function(e,t,n){"use strict";t.__esModule=!0,t.chatMiddleware=void 0;var o=n(79),r=n(66),i=n(104),a=n(80),c=n(106),s=n(105),l=n(218),d=n(146);function u(e,t,n,o,r,i,a){try{var c=e[i](a),s=c.value}catch(l){return void n(l)}c.done?t(s):Promise.resolve(s).then(o,r)}function g(e){return function(){var t=this,n=arguments;return new Promise((function(o,r){var i=e.apply(t,n);function a(e){u(i,o,r,a,c,"next",e)}function c(e){u(i,o,r,a,c,"throw",e)}a(undefined)}))}}var p=function(){var e=g(regeneratorRuntime.mark((function t(e){var n,r,i;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=(0,d.selectChat)(e.getState()),r=Math.max(0,l.chatRenderer.messages.length-c.MAX_PERSISTED_MESSAGES),i=l.chatRenderer.messages.slice(r).map((function(e){return(0,s.serializeMessage)(e)})),o.storage.set("chat-state",n),o.storage.set("chat-messages",i);case 5:case"end":return t.stop()}}),t)})));return function(t){return e.apply(this,arguments)}}(),h=function(){var e=g(regeneratorRuntime.mark((function t(e){var n,r,i,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Promise.all([o.storage.get("chat-state"),o.storage.get("chat-messages")]);case 2:if(n=t.sent,r=n[0],i=n[1],!(r&&r.version<=4)){t.next=8;break}return e.dispatch((0,a.loadChat)()),t.abrupt("return");case 8:i&&(c=[].concat(i,[(0,s.createMessage)({type:"internal/reconnected"})]),l.chatRenderer.processBatch(c,{prepend:!0})),e.dispatch((0,a.loadChat)(r));case 10:case"end":return t.stop()}}),t)})));return function(t){return e.apply(this,arguments)}}();t.chatMiddleware=function(e){var t=!1,n=!1;return l.chatRenderer.events.on("batchProcessed",(function(t){n&&e.dispatch((0,a.updateMessageCount)(t))})),l.chatRenderer.events.on("scrollTrackingChanged",(function(t){e.dispatch((0,a.changeScrollTracking)(t))})),setInterval((function(){return p(e)}),c.MESSAGE_SAVE_INTERVAL),function(o){return function(c){var s=c.type,u=c.payload;if(t||(t=!0,h(e)),"chat/message"!==s){if(s===a.loadChat.type){o(c);var g=(0,d.selectCurrentChatPage)(e.getState());return l.chatRenderer.changePage(g),l.chatRenderer.onStateLoaded(),void(n=!0)}if(s!==a.changeChatPage.type&&s!==a.addChatPage.type&&s!==a.removeChatPage.type&&s!==a.toggleAcceptedType.type){if(s===a.rebuildChat.type)return l.chatRenderer.rebuildChat(),o(c);if(s!==r.updateSettings.type&&s!==r.loadSettings.type){if("roundrestart"===s)return p(e),o(c);if(s!==a.saveChatToDisk.type)return o(c);l.chatRenderer.saveToDisk()}else{o(c);var m=(0,i.selectSettings)(e.getState());l.chatRenderer.setHighlight(m.highlightText,m.highlightColor)}}else{o(c);var f=(0,d.selectCurrentChatPage)(e.getState());l.chatRenderer.changePage(f)}}else{var v=Array.isArray(u)?u:[u];l.chatRenderer.processBatch(v)}}}}},692:function(e,t,n){"use strict";t.__esModule=!0,t.chatReducer=t.initialState=void 0;var o,r=n(80),i=n(105);function a(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n0&&(C[M.id]=Object.assign({},M,{unreadCount:M.unreadCount+A}))}return Object.assign({},e,{pageById:C})}if(o===r.addChatPage.type)return Object.assign({},e,{currentPageId:c.id,pages:[].concat(e.pages,[c.id]),pageById:Object.assign({},e.pageById,(n={},n[c.id]=c,n))});if(o===r.changeChatPage.type){var w,P=c.pageId,x=Object.assign({},e.pageById[P],{unreadCount:0});return Object.assign({},e,{currentPageId:P,pageById:Object.assign({},e.pageById,(w={},w[P]=x,w))})}if(o===r.updateChatPage.type){var k,R=c.pageId,O=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(c,["pageId"]),V=Object.assign({},e.pageById[R],O);return Object.assign({},e,{pageById:Object.assign({},e.pageById,(k={},k[R]=V,k))})}if(o===r.toggleAcceptedType.type){var G,B=c.pageId,L=c.type,D=Object.assign({},e.pageById[B]);return D.acceptedTypes=Object.assign({},D.acceptedTypes),D.acceptedTypes[L]=!D.acceptedTypes[L],Object.assign({},e,{pageById:Object.assign({},e.pageById,(G={},G[B]=D,G))})}if(o===r.removeChatPage.type){var j=c.pageId,F=Object.assign({},e,{pages:[].concat(e.pages),pageById:Object.assign({},e.pageById)});return delete F.pageById[j],F.pages=F.pages.filter((function(e){return e!==j})),0===F.pages.length&&(F.pages.push(s.id),F.pageById[s.id]=s,F.currentPageId=s.id),F.currentPageId&&F.currentPageId!==j||(F.currentPageId=F.pages[0]),F}return e}},693:function(e,t,n){"use strict";t.__esModule=!0,t.audioReducer=void 0;var o={visible:!1,playing:!1,track:null};t.audioReducer=function(e,t){void 0===e&&(e=o);var n=t.type,r=t.payload;return"audio/playing"===n?Object.assign({},e,{visible:!0,playing:!0}):"audio/stopped"===n?Object.assign({},e,{visible:!1,playing:!1}):"audio/playMusic"===n?Object.assign({},e,{meta:r}):"audio/stopMusic"===n?Object.assign({},e,{visible:!1,playing:!1,meta:null}):"audio/toggle"===n?Object.assign({},e,{visible:!e.visible}):e}},694:function(e,t,n){"use strict";t.__esModule=!0,t.useGame=void 0;var o=n(22),r=n(220);t.useGame=function(e){return(0,o.useSelector)(e,r.selectGame)}},695:function(e,t,n){"use strict";t.__esModule=!0,t.gameMiddleware=void 0;var o=n(147),r=n(221),i=n(220),a=n(696),c=function(e){return Object.assign({},e,{meta:Object.assign({},e.meta,{now:Date.now()})})};t.gameMiddleware=function(e){var t;return setInterval((function(){var n=e.getState();if(n){var o=(0,i.selectGame)(n),s=t&&Date.now()>=t+a.CONNECTION_LOST_AFTER;!o.connectionLostAt&&s&&e.dispatch(c((0,r.connectionLost)())),o.connectionLostAt&&!s&&e.dispatch(c((0,r.connectionRestored)()))}}),1e3),function(e){return function(n){var i=n.type,a=(n.payload,n.meta);return i===o.pingSuccess.type?(t=a.now,e(n)):i===r.roundRestarted.type?e(c(n)):e(n)}}}},696:function(e,t,n){"use strict";t.__esModule=!0,t.CONNECTION_LOST_AFTER=void 0;t.CONNECTION_LOST_AFTER=15e3},697:function(e,t,n){"use strict";t.__esModule=!0,t.gameReducer=void 0;var o=n(221),r={roundId:null,roundTime:null,roundRestartedAt:null,connectionLostAt:null};t.gameReducer=function(e,t){void 0===e&&(e=r);var n=t.type,i=(t.payload,t.meta);return"roundrestart"===n?Object.assign({},e,{roundRestartedAt:i.now}):n===o.connectionLost.type?Object.assign({},e,{connectionLostAt:i.now}):n===o.connectionRestored.type?Object.assign({},e,{connectionLostAt:null}):e}},698:function(e,t,n){"use strict";(function(e){t.__esModule=!0,t.setupPanelFocusHacks=void 0;var o=n(136),r=n(58),i=n(190),a=function(){return e((function(){return(0,i.focusMap)()}))};t.setupPanelFocusHacks=function(){var e=!1,t=null;window.addEventListener("focusin",(function(t){e=(0,r.canStealFocus)(t.target)})),window.addEventListener("mousedown",(function(e){t=[e.screenX,e.screenY]})),window.addEventListener("mouseup",(function(n){if(t){var r=[n.screenX,n.screenY];(0,o.vecLength)((0,o.vecSubtract)(r,t))>=10&&(e=!0)}e||a()})),r.globalEvents.on("keydown",(function(e){e.isModifierKey()||a()}))}}).call(this,n(101).setImmediate)},699:function(e,t,n){"use strict";t.__esModule=!0,t.pingMiddleware=void 0;var o=n(2),r=n(147),i=n(223);t.pingMiddleware=function(e){var t=!1,n=0,a=[],c=function(){for(var t=0;ti.PING_TIMEOUT&&(a[t]=null,e.dispatch((0,r.pingFail)()))}var s={index:n,sentAt:Date.now()};a[n]=s,(0,o.sendMessage)({type:"ping",payload:{index:n}}),n=(n+1)%i.PING_QUEUE_SIZE};return function(e){return function(n){var o=n.type,s=n.payload;if(t||(t=!0,setInterval(c,i.PING_INTERVAL),c()),"pingReply"===o){var l=s.index,d=a[l];if(!d)return;return a[l]=null,e((0,r.pingSuccess)(d))}return e(n)}}}},700:function(e,t,n){"use strict";t.__esModule=!0,t.PingIndicator=void 0;var o=n(0),r=n(701),i=n(8),a=n(22),c=n(1),s=n(702);t.PingIndicator=function(e,t){var n=(0,a.useSelector)(t,s.selectPing),l=r.Color.lookup(n.networkQuality,[new r.Color(220,40,40),new r.Color(220,200,40),new r.Color(60,220,40)]),d=n.roundtrip?(0,i.toFixed)(n.roundtrip):"--";return(0,o.createVNode)(1,"div","Ping",[(0,o.createComponentVNode)(2,c.Box,{className:"Ping__indicator",backgroundColor:l}),d],0)}},701:function(e,t,n){"use strict";t.__esModule=!0,t.Color=void 0;var o=1e-4,r=function(){function e(e,t,n,o){void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=0),void 0===o&&(o=1),this.r=e,this.g=t,this.b=n,this.a=o}return e.prototype.toString=function(){return"rgba("+(0|this.r)+", "+(0|this.g)+", "+(0|this.b)+", "+(0|this.a)+")"},e}();t.Color=r,r.fromHex=function(e){return new r(parseInt(e.substr(1,2),16),parseInt(e.substr(3,2),16),parseInt(e.substr(5,2),16))},r.lerp=function(e,t,n){return new r((t.r-e.r)*n+e.r,(t.g-e.g)*n+e.g,(t.b-e.b)*n+e.b,(t.a-e.a)*n+e.a)},r.lookup=function(e,t){void 0===t&&(t=[]);var n=t.length;if(n<2)throw new Error("Needs at least two colors!");var i=e*(n-1);if(e=.9999)return t[n-1];var a=i%1,c=0|i;return r.lerp(t[c],t[c+1],a)}},702:function(e,t,n){"use strict";t.__esModule=!0,t.selectPing=void 0;t.selectPing=function(e){return e.ping}},703:function(e,t,n){"use strict";t.__esModule=!0,t.pingReducer=void 0;var o=n(8),r=n(147),i=n(223);t.pingReducer=function(e,t){void 0===e&&(e={});var n=t.type,a=t.payload;if(n===r.pingSuccess.type){var c=a.roundtrip,s=e.roundtripAvg||c,l=Math.round(.4*s+.6*c);return{roundtrip:c,roundtripAvg:l,failCount:0,networkQuality:1-(0,o.scale)(l,i.PING_ROUNDTRIP_BEST,i.PING_ROUNDTRIP_WORST)}}if(n===r.pingFail.type){var d=e.failCount,u=void 0===d?0:d,g=(0,o.clamp01)(e.networkQuality-u/i.PING_MAX_FAILS),p=Object.assign({},e,{failCount:u+1,networkQuality:g});return u>i.PING_MAX_FAILS&&(p.roundtrip=undefined,p.roundtripAvg=undefined),p}return e}},704:function(e,t,n){"use strict";t.__esModule=!0,t.telemetryMiddleware=void 0;var o=n(2),r=n(79);function i(e,t,n,o,r,i,a){try{var c=e[i](a),s=c.value}catch(l){return void n(l)}c.done?t(s):Promise.resolve(s).then(o,r)}var a=(0,n(35).createLogger)("telemetry");t.telemetryMiddleware=function(e){var t,n;return function(c){return function(s){var l,d=s.type,u=s.payload;if("telemetry/request"!==d)return"backend/update"===d?(c(s),void(l=regeneratorRuntime.mark((function h(){var o,i,c,s;return regeneratorRuntime.wrap((function(l){for(;;)switch(l.prev=l.next){case 0:if(i=null==u||null==(o=u.config)?void 0:o.client){l.next=4;break}return a.error("backend/update payload is missing client data!"),l.abrupt("return");case 4:if(t){l.next=13;break}return l.next=7,r.storage.get("telemetry");case 7:if(l.t0=l.sent,l.t0){l.next=10;break}l.t0={};case 10:(t=l.t0).connections||(t.connections=[]),a.debug("retrieved telemetry from storage",t);case 13:c=!1,t.connections.find((function(e){return n=i,(t=e).ckey===n.ckey&&t.address===n.address&&t.computer_id===n.computer_id;var t,n}))||(c=!0,t.connections.unshift(i),t.connections.length>10&&t.connections.pop()),c&&(a.debug("saving telemetry to storage",t),r.storage.set("telemetry",t)),n&&(s=n,n=null,e.dispatch({type:"telemetry/request",payload:s}));case 18:case"end":return l.stop()}}),h)})),function(){var e=this,t=arguments;return new Promise((function(n,o){var r=l.apply(e,t);function a(e){i(r,n,o,a,c,"next",e)}function c(e){i(r,n,o,a,c,"throw",e)}a(undefined)}))})()):c(s);if(!t)return a.debug("deferred"),void(n=u);a.debug("sending");var g=(null==u?void 0:u.limits)||{},p=t.connections.slice(0,g.connections);(0,o.sendMessage)({type:"telemetry",payload:{connections:p}})}}}},705:function(e,t,n){"use strict";t.__esModule=!0,t.Panel=void 0;var o=n(0),r=n(1),i=n(3),a=n(214),c=n(145),s=n(219),l=n(706),d=n(222),u=n(144);t.Panel=function(e,t){if(Byond.IS_LTE_IE10)return(0,o.createComponentVNode)(2,g);var n=(0,a.useAudio)(t),p=(0,u.useSettings)(t),h=(0,s.useGame)(t);return(0,o.createComponentVNode)(2,i.Pane,{theme:p.theme,children:(0,o.createComponentVNode)(2,r.Flex,{direction:"column",height:"100%",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Section,{fitted:!0,children:(0,o.createComponentVNode)(2,r.Flex,{mx:.5,align:"center",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,grow:1,overflowX:"auto",children:(0,o.createComponentVNode)(2,c.ChatTabs)}),(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,d.PingIndicator)}),(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,r.Button,{color:"grey",selected:n.visible,icon:"music",tooltip:"Music player",tooltipPosition:"bottom-left",onClick:function(){return n.toggle()}})}),(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,r.Button,{icon:p.visible?"times":"cog",selected:p.visible,tooltip:p.visible?"Close settings":"Open settings",tooltipPosition:"bottom-left",onClick:function(){return p.toggle()}})})]})})}),n.visible&&(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,r.Section,{children:(0,o.createComponentVNode)(2,a.NowPlayingWidget)})}),p.visible&&(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,u.SettingsPanel)}),(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,grow:1,children:(0,o.createComponentVNode)(2,r.Section,{fill:!0,fitted:!0,position:"relative",children:[(0,o.createComponentVNode)(2,i.Pane.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c.ChatPanel,{lineHeight:p.lineHeight})}),(0,o.createComponentVNode)(2,l.Notifications,{children:[h.connectionLostAt&&(0,o.createComponentVNode)(2,l.Notifications.Item,{rightSlot:(0,o.createComponentVNode)(2,r.Button,{color:"white",onClick:function(){return Byond.command(".reconnect")},children:"Reconnect"}),children:"You are either AFK, experiencing lag or the connection has closed."}),h.roundRestartedAt&&(0,o.createComponentVNode)(2,l.Notifications.Item,{children:"The connection has been closed because the server is restarting. Please wait while you automatically reconnect."})]})]})})]})})};var g=function(e,t){var n=(0,u.useSettings)(t);return(0,o.createComponentVNode)(2,i.Pane,{theme:n.theme,children:(0,o.createComponentVNode)(2,i.Pane.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,r.Button,{style:{position:"fixed",top:"1em",right:"2em","z-index":1e3},selected:n.visible,onClick:function(){return n.toggle()},children:"Settings"}),n.visible&&(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,u.SettingsPanel)})||(0,o.createComponentVNode)(2,c.ChatPanel,{lineHeight:n.lineHeight})]})})}},706:function(e,t,n){"use strict";t.__esModule=!0,t.Notifications=void 0;var o=n(0),r=n(1),i=function(e){var t=e.children;return(0,o.createVNode)(1,"div","Notifications",t,0)};t.Notifications=i;i.Item=function(e){var t=e.rightSlot,n=e.children;return(0,o.createComponentVNode)(2,r.Flex,{align:"center",className:"Notification",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{className:"Notification__content",grow:1,children:n}),t&&(0,o.createComponentVNode)(2,r.Flex.Item,{className:"Notification__rightSlot",children:t})]})}},80:function(e,t,n){"use strict";t.__esModule=!0,t.saveChatToDisk=t.changeScrollTracking=t.removeChatPage=t.toggleAcceptedType=t.updateChatPage=t.changeChatPage=t.addChatPage=t.updateMessageCount=t.rebuildChat=t.loadChat=void 0;var o=n(22),r=n(105),i=(0,o.createAction)("chat/load");t.loadChat=i;var a=(0,o.createAction)("chat/rebuild");t.rebuildChat=a;var c=(0,o.createAction)("chat/updateMessageCount");t.updateMessageCount=c;var s=(0,o.createAction)("chat/addPage",(function(){return{payload:(0,r.createPage)()}}));t.addChatPage=s;var l=(0,o.createAction)("chat/changePage");t.changeChatPage=l;var d=(0,o.createAction)("chat/updatePage");t.updateChatPage=d;var u=(0,o.createAction)("chat/toggleAcceptedType");t.toggleAcceptedType=u;var g=(0,o.createAction)("chat/removePage");t.removeChatPage=g;var p=(0,o.createAction)("chat/changeScrollTracking");t.changeScrollTracking=p;var h=(0,o.createAction)("chat/saveToDisk");t.saveChatToDisk=h}}); \ No newline at end of file diff --git a/tgui/public/tgui.bundle.css b/tgui/public/tgui.bundle.css index 7f4a7158b00..4ba60bc5f46 100644 --- a/tgui/public/tgui.bundle.css +++ b/tgui/public/tgui.bundle.css @@ -1 +1 @@ -body,html{box-sizing:border-box;height:100%;margin:0;font-size:12px}html{overflow:hidden;cursor:default}body{overflow:auto;font-family:Verdana,Geneva,sans-serif}*,:after,:before{box-sizing:inherit}h1,h2,h3,h4,h5,h6{display:block;margin:0;padding:.5rem 0}h1{font-size:18px;font-size:1.5rem}h2{font-size:16px;font-size:1.333rem}h3{font-size:14px;font-size:1.167rem}h4{font-size:12px;font-size:1rem}td,th{vertical-align:baseline;text-align:left}.candystripe:nth-child(odd){background-color:rgba(0,0,0,.25)}.color-black{color:#1a1a1a!important}.color-white{color:#fff!important}.color-red{color:#df3e3e!important}.color-orange{color:#f37f33!important}.color-yellow{color:#fbda21!important}.color-olive{color:#cbe41c!important}.color-green{color:#25ca4c!important}.color-teal{color:#00d6cc!important}.color-blue{color:#2e93de!important}.color-violet{color:#7349cf!important}.color-purple{color:#ad45d0!important}.color-pink{color:#e34da1!important}.color-brown{color:#b97447!important}.color-grey{color:#848484!important}.color-good{color:#68c22d!important}.color-average{color:#f29a29!important}.color-bad{color:#df3e3e!important}.color-label{color:#8b9bb0!important}.color-bg-black{background-color:#000!important}.color-bg-white{background-color:#d9d9d9!important}.color-bg-red{background-color:#bd2020!important}.color-bg-orange{background-color:#d95e0c!important}.color-bg-yellow{background-color:#d9b804!important}.color-bg-olive{background-color:#9aad14!important}.color-bg-green{background-color:#1b9638!important}.color-bg-teal{background-color:#009a93!important}.color-bg-blue{background-color:#1c71b1!important}.color-bg-violet{background-color:#552dab!important}.color-bg-purple{background-color:#8b2baa!important}.color-bg-pink{background-color:#cf2082!important}.color-bg-brown{background-color:#8c5836!important}.color-bg-grey{background-color:#646464!important}.color-bg-good{background-color:#4d9121!important}.color-bg-average{background-color:#cd7a0d!important}.color-bg-bad{background-color:#bd2020!important}.color-bg-label{background-color:#657a94!important}.debug-layout,.debug-layout :not(g):not(path){color:hsla(0,0%,100%,.9)!important;background:transparent!important;outline:1px solid hsla(0,0%,100%,.5)!important;box-shadow:none!important;filter:none!important}.debug-layout:hover,.debug-layout :not(g):not(path):hover{outline-color:hsla(0,0%,100%,.8)!important}.outline-dotted{outline-style:dotted!important}.outline-dashed{outline-style:dashed!important}.outline-solid{outline-style:solid!important}.outline-double{outline-style:double!important}.outline-groove{outline-style:groove!important}.outline-ridge{outline-style:ridge!important}.outline-inset{outline-style:inset!important}.outline-outset{outline-style:outset!important}.outline-color-black{outline:.167rem solid #1a1a1a!important}.outline-color-white{outline:.167rem solid #fff!important}.outline-color-red{outline:.167rem solid #df3e3e!important}.outline-color-orange{outline:.167rem solid #f37f33!important}.outline-color-yellow{outline:.167rem solid #fbda21!important}.outline-color-olive{outline:.167rem solid #cbe41c!important}.outline-color-green{outline:.167rem solid #25ca4c!important}.outline-color-teal{outline:.167rem solid #00d6cc!important}.outline-color-blue{outline:.167rem solid #2e93de!important}.outline-color-violet{outline:.167rem solid #7349cf!important}.outline-color-purple{outline:.167rem solid #ad45d0!important}.outline-color-pink{outline:.167rem solid #e34da1!important}.outline-color-brown{outline:.167rem solid #b97447!important}.outline-color-grey{outline:.167rem solid #848484!important}.outline-color-good{outline:.167rem solid #68c22d!important}.outline-color-average{outline:.167rem solid #f29a29!important}.outline-color-bad{outline:.167rem solid #df3e3e!important}.outline-color-label{outline:.167rem solid #8b9bb0!important}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-baseline{text-align:baseline}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-pre{white-space:pre}.text-bold{font-weight:700}.text-italic{font-style:italic}.text-underline{text-decoration:underline}.BlockQuote{color:#8b9bb0;border-left:.1666666667em solid #8b9bb0;padding-left:.5em;margin-bottom:.5em}.BlockQuote:last-child{margin-bottom:0}.Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.Button:last-child{margin-right:0;margin-bottom:0}.Button .fa,.Button .far,.Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.Button--hasContent .fa,.Button--hasContent .far,.Button--hasContent .fas{margin-right:.25em}.Button--hasContent.Button--iconPosition--right .fa,.Button--hasContent.Button--iconPosition--right .far,.Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.Button--fluid{display:block;margin-left:0;margin-right:0}.Button--circular{border-radius:50%}.Button--compact{padding:0 .25em;line-height:1.333em}.Button--color--black{transition:color 50ms,background-color 50ms;background-color:#000;color:#fff}.Button--color--black:hover{transition:color 0ms,background-color 0ms}.Button--color--black:focus{transition:color .1s,background-color .1s}.Button--color--black:focus,.Button--color--black:hover{background-color:#0a0a0a;color:#fff}.Button--color--white{transition:color 50ms,background-color 50ms;background-color:#d9d9d9;color:#000}.Button--color--white:hover{transition:color 0ms,background-color 0ms}.Button--color--white:focus{transition:color .1s,background-color .1s}.Button--color--white:focus,.Button--color--white:hover{background-color:#f3f3f3;color:#000}.Button--color--red{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--red:hover{transition:color 0ms,background-color 0ms}.Button--color--red:focus{transition:color .1s,background-color .1s}.Button--color--red:focus,.Button--color--red:hover{background-color:#d52b2b;color:#fff}.Button--color--orange{transition:color 50ms,background-color 50ms;background-color:#d95e0c;color:#fff}.Button--color--orange:hover{transition:color 0ms,background-color 0ms}.Button--color--orange:focus{transition:color .1s,background-color .1s}.Button--color--orange:focus,.Button--color--orange:hover{background-color:#ed6f1d;color:#fff}.Button--color--yellow{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--yellow:hover{transition:color 0ms,background-color 0ms}.Button--color--yellow:focus{transition:color .1s,background-color .1s}.Button--color--yellow:focus,.Button--color--yellow:hover{background-color:#f3d00e;color:#000}.Button--color--olive{transition:color 50ms,background-color 50ms;background-color:#9aad14;color:#fff}.Button--color--olive:hover{transition:color 0ms,background-color 0ms}.Button--color--olive:focus{transition:color .1s,background-color .1s}.Button--color--olive:focus,.Button--color--olive:hover{background-color:#afc41f;color:#fff}.Button--color--green{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--color--green:hover{transition:color 0ms,background-color 0ms}.Button--color--green:focus{transition:color .1s,background-color .1s}.Button--color--green:focus,.Button--color--green:hover{background-color:#27ab46;color:#fff}.Button--color--teal{transition:color 50ms,background-color 50ms;background-color:#009a93;color:#fff}.Button--color--teal:hover{transition:color 0ms,background-color 0ms}.Button--color--teal:focus{transition:color .1s,background-color .1s}.Button--color--teal:focus,.Button--color--teal:hover{background-color:#0aafa8;color:#fff}.Button--color--blue{transition:color 50ms,background-color 50ms;background-color:#1c71b1;color:#fff}.Button--color--blue:hover{transition:color 0ms,background-color 0ms}.Button--color--blue:focus{transition:color .1s,background-color .1s}.Button--color--blue:focus,.Button--color--blue:hover{background-color:#2883c8;color:#fff}.Button--color--violet{transition:color 50ms,background-color 50ms;background-color:#552dab;color:#fff}.Button--color--violet:hover{transition:color 0ms,background-color 0ms}.Button--color--violet:focus{transition:color .1s,background-color .1s}.Button--color--violet:focus,.Button--color--violet:hover{background-color:#653ac1;color:#fff}.Button--color--purple{transition:color 50ms,background-color 50ms;background-color:#8b2baa;color:#fff}.Button--color--purple:hover{transition:color 0ms,background-color 0ms}.Button--color--purple:focus{transition:color .1s,background-color .1s}.Button--color--purple:focus,.Button--color--purple:hover{background-color:#9e38c1;color:#fff}.Button--color--pink{transition:color 50ms,background-color 50ms;background-color:#cf2082;color:#fff}.Button--color--pink:hover{transition:color 0ms,background-color 0ms}.Button--color--pink:focus{transition:color .1s,background-color .1s}.Button--color--pink:focus,.Button--color--pink:hover{background-color:#dd3794;color:#fff}.Button--color--brown{transition:color 50ms,background-color 50ms;background-color:#8c5836;color:#fff}.Button--color--brown:hover{transition:color 0ms,background-color 0ms}.Button--color--brown:focus{transition:color .1s,background-color .1s}.Button--color--brown:focus,.Button--color--brown:hover{background-color:#a06844;color:#fff}.Button--color--grey{transition:color 50ms,background-color 50ms;background-color:#646464;color:#fff}.Button--color--grey:hover{transition:color 0ms,background-color 0ms}.Button--color--grey:focus{transition:color .1s,background-color .1s}.Button--color--grey:focus,.Button--color--grey:hover{background-color:#757575;color:#fff}.Button--color--good{transition:color 50ms,background-color 50ms;background-color:#4d9121;color:#fff}.Button--color--good:hover{transition:color 0ms,background-color 0ms}.Button--color--good:focus{transition:color .1s,background-color .1s}.Button--color--good:focus,.Button--color--good:hover{background-color:#5da52d;color:#fff}.Button--color--average{transition:color 50ms,background-color 50ms;background-color:#cd7a0d;color:#fff}.Button--color--average:hover{transition:color 0ms,background-color 0ms}.Button--color--average:focus{transition:color .1s,background-color .1s}.Button--color--average:focus,.Button--color--average:hover{background-color:#e68d18;color:#fff}.Button--color--bad{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--bad:hover{transition:color 0ms,background-color 0ms}.Button--color--bad:focus{transition:color .1s,background-color .1s}.Button--color--bad:focus,.Button--color--bad:hover{background-color:#d52b2b;color:#fff}.Button--color--label{transition:color 50ms,background-color 50ms;background-color:#657a94;color:#fff}.Button--color--label:hover{transition:color 0ms,background-color 0ms}.Button--color--label:focus{transition:color .1s,background-color .1s}.Button--color--label:focus,.Button--color--label:hover{background-color:#7b8da4;color:#fff}.Button--color--default{transition:color 50ms,background-color 50ms;background-color:#3e6189;color:#fff}.Button--color--default:hover{transition:color 0ms,background-color 0ms}.Button--color--default:focus{transition:color .1s,background-color .1s}.Button--color--default:focus,.Button--color--default:hover{background-color:#4c729d;color:#fff}.Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--caution:hover{transition:color 0ms,background-color 0ms}.Button--color--caution:focus{transition:color .1s,background-color .1s}.Button--color--caution:focus,.Button--color--caution:hover{background-color:#f3d00e;color:#000}.Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--danger:hover{transition:color 0ms,background-color 0ms}.Button--color--danger:focus{transition:color .1s,background-color .1s}.Button--color--danger:focus,.Button--color--danger:hover{background-color:#d52b2b;color:#fff}.Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#252525;color:#fff;background-color:rgba(37,37,37,0);color:hsla(0,0%,100%,.5)}.Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.Button--color--transparent:focus{transition:color .1s,background-color .1s}.Button--color--transparent:focus,.Button--color--transparent:hover{background-color:#323232;color:#fff}.Button--disabled{background-color:#999!important}.Button--selected{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--selected:hover{transition:color 0ms,background-color 0ms}.Button--selected:focus{transition:color .1s,background-color .1s}.Button--selected:focus,.Button--selected:hover{background-color:#27ab46;color:#fff}.ColorBox{display:inline-block;width:1em;height:1em;line-height:1em;text-align:center}.Dimmer{display:flex;justify-content:center;align-items:center;position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(0,0,0,.75);z-index:1}.Divider--horizontal{margin:.5em 0}.Divider--horizontal:not(.Divider--hidden){border-top:.1666666667em solid hsla(0,0%,100%,.1)}.Divider--vertical{height:100%;margin:0 .5em}.Divider--vertical:not(.Divider--hidden){border-left:.1666666667em solid hsla(0,0%,100%,.1)}.Dropdown{position:relative}.Dropdown__control{position:relative;display:inline-block;font-family:Verdana,sans-serif;font-size:1em;width:8.3333333333em;line-height:1.4166666667em;user-select:none}.Dropdown__arrow-button{float:right;padding-left:.5em;border-left:.0833333333em solid #000;border-left:.0833333333em solid rgba(0,0,0,.25)}.Dropdown__menu{overflow-y:auto;overflow-y:scroll}.Dropdown__menu,.Dropdown__menu-noscroll{position:absolute;z-index:5;width:8.3333333333em;max-height:16.6666666667em;border-radius:0 0 .1666666667em .1666666667em;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75)}.Dropdown__menu-noscroll{overflow-y:auto}.Dropdown__menuentry{padding:.1666666667em .3333333333em;font-family:Verdana,sans-serif;font-size:1em;line-height:1.4166666667em;transition:background-color .1s}.Dropdown__menuentry:hover{background-color:hsla(0,0%,100%,.2);transition:background-color 0ms}.Dropdown__over{top:auto;bottom:100%}.Flex{display:-ms-flexbox;display:flex}.Flex--inline{display:inline-flex}.Flex--iefix{display:table!important;width:105%;border-collapse:collapse;border-spacing:0}.Flex--iefix:after{content:"";display:table-cell;width:5%}.Flex--iefix--column{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.Flex--iefix--column>.Flex__item--iefix{display:table-row!important}.Flex--iefix--column>.Flex__item--iefix--grow{height:100%!important}.Flex__item--iefix{display:table-cell!important;width:1%!important;min-width:99%}.Flex__item--iefix--grow{width:auto!important}.Flex--spacing--1{margin:0 -.25em}.Flex--spacing--1>.Flex__item{margin:0 .25em}.Flex--spacing--2{margin:0 -.5em}.Flex--spacing--2>.Flex__item{margin:0 .5em}.IconStack>.Icon{position:absolute;width:100%;text-align:center}.IconStack{position:relative;display:inline-block;height:1.2em;line-height:2em;vertical-align:middle}.IconStack:after{color:transparent;content:"."}.Knob{position:relative;font-size:1rem;width:2.6em;height:2.6em;margin:0 auto -.2em;cursor:n-resize}.Knob:after{content:".";color:transparent;line-height:2.5em}.Knob__circle{position:absolute;top:.1em;bottom:.1em;left:.1em;right:.1em;margin:.3em;background-color:#333;background-image:linear-gradient(180deg,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,0));border-radius:50%;box-shadow:0 .05em .5em 0 rgba(0,0,0,.5)}.Knob__cursorBox{position:absolute;top:0;bottom:0;left:0;right:0}.Knob__cursor{position:relative;top:.05em;margin:0 auto;width:.2em;height:.8em;background-color:hsla(0,0%,100%,.9)}.Knob__popupValue{position:absolute;top:-2rem;right:50%;font-size:1rem;text-align:center;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.Knob__ring{position:absolute;top:0;bottom:0;left:0;right:0;padding:.1em}.Knob__ringTrackPivot{transform:rotate(135deg)}.Knob__ringTrack{fill:transparent;stroke:hsla(0,0%,100%,.1);stroke-width:8;stroke-linecap:round;stroke-dasharray:235.62}.Knob__ringFillPivot{transform:rotate(135deg)}.Knob--bipolar .Knob__ringFillPivot{transform:rotate(270deg)}.Knob__ringFill{fill:transparent;stroke:#6a96c9;stroke-width:8;stroke-linecap:round;stroke-dasharray:314.16;transition:stroke 50ms}.Knob--color--black .Knob__ringFill{stroke:#1a1a1a}.Knob--color--white .Knob__ringFill{stroke:#fff}.Knob--color--red .Knob__ringFill{stroke:#df3e3e}.Knob--color--orange .Knob__ringFill{stroke:#f37f33}.Knob--color--yellow .Knob__ringFill{stroke:#fbda21}.Knob--color--olive .Knob__ringFill{stroke:#cbe41c}.Knob--color--green .Knob__ringFill{stroke:#25ca4c}.Knob--color--teal .Knob__ringFill{stroke:#00d6cc}.Knob--color--blue .Knob__ringFill{stroke:#2e93de}.Knob--color--violet .Knob__ringFill{stroke:#7349cf}.Knob--color--purple .Knob__ringFill{stroke:#ad45d0}.Knob--color--pink .Knob__ringFill{stroke:#e34da1}.Knob--color--brown .Knob__ringFill{stroke:#b97447}.Knob--color--grey .Knob__ringFill{stroke:#848484}.Knob--color--good .Knob__ringFill{stroke:#68c22d}.Knob--color--average .Knob__ringFill{stroke:#f29a29}.Knob--color--bad .Knob__ringFill{stroke:#df3e3e}.Knob--color--label .Knob__ringFill{stroke:#8b9bb0}.LabeledList{display:table;width:100%;width:calc(100% + 1em);border-collapse:collapse;border-spacing:0;margin:-.25em -.5em 0;padding:0}.LabeledList__row{display:table-row}.LabeledList__row:last-child .LabeledList__cell{padding-bottom:0}.LabeledList__cell{display:table-cell;margin:0;padding:.25em .5em;border:0;text-align:left;vertical-align:baseline}.LabeledList__label{width:1%;white-space:nowrap;min-width:5em}.LabeledList__buttons{width:.1%;white-space:nowrap;text-align:right;padding-top:.0833333333em;padding-bottom:0}.Modal{background-color:#252525;max-width:calc(100% - 1rem);padding:1rem}.NoticeBox{padding:.33em .5em;margin-bottom:.5em;box-shadow:none;font-weight:700;font-style:italic;color:#000;background-color:#bb9b68;background-image:repeating-linear-gradient(-45deg,transparent,transparent .8333333333em,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 1.6666666667em)}.NoticeBox--color--black{color:#fff;background-color:#000}.NoticeBox--color--white{color:#000;background-color:#b3b3b3}.NoticeBox--color--red{color:#fff;background-color:#701f1f}.NoticeBox--color--orange{color:#fff;background-color:#854114}.NoticeBox--color--yellow{color:#000;background-color:#83710d}.NoticeBox--color--olive{color:#000;background-color:#576015}.NoticeBox--color--green{color:#fff;background-color:#174e24}.NoticeBox--color--teal{color:#fff;background-color:#064845}.NoticeBox--color--blue{color:#fff;background-color:#1b4565}.NoticeBox--color--violet{color:#fff;background-color:#3b2864}.NoticeBox--color--purple{color:#fff;background-color:#542663}.NoticeBox--color--pink{color:#fff;background-color:#802257}.NoticeBox--color--brown{color:#fff;background-color:#4c3729}.NoticeBox--color--grey{color:#fff;background-color:#3e3e3e}.NoticeBox--color--good{color:#fff;background-color:#2e4b1a}.NoticeBox--color--average{color:#fff;background-color:#7b4e13}.NoticeBox--color--bad{color:#fff;background-color:#701f1f}.NoticeBox--color--label{color:#fff;background-color:#53565a}.NoticeBox--type--info{color:#fff;background-color:#235982}.NoticeBox--type--success{color:#fff;background-color:#1e662f}.NoticeBox--type--warning{color:#fff;background-color:#a95219}.NoticeBox--type--danger{color:#fff;background-color:#8f2828}.NumberInput{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#88bfff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.NumberInput--fluid{display:block}.NumberInput__content{margin-left:.5em}.NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #88bfff;background-color:#88bfff}.NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#0a0a0a;color:#fff;text-align:right}.ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:.16em;background-color:transparent;transition:border-color .5s}.ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.ProgressBar__fill--animated{transition:background-color .5s,width .5s}.ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.ProgressBar--color--default{border:.0833333333em solid #3e6189}.ProgressBar--color--default .ProgressBar__fill{background-color:#3e6189}.ProgressBar--color--black{border:.0833333333em solid #000!important}.ProgressBar--color--black .ProgressBar__fill{background-color:#000}.ProgressBar--color--white{border:.0833333333em solid #d9d9d9!important}.ProgressBar--color--white .ProgressBar__fill{background-color:#d9d9d9}.ProgressBar--color--red{border:.0833333333em solid #bd2020!important}.ProgressBar--color--red .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--orange{border:.0833333333em solid #d95e0c!important}.ProgressBar--color--orange .ProgressBar__fill{background-color:#d95e0c}.ProgressBar--color--yellow{border:.0833333333em solid #d9b804!important}.ProgressBar--color--yellow .ProgressBar__fill{background-color:#d9b804}.ProgressBar--color--olive{border:.0833333333em solid #9aad14!important}.ProgressBar--color--olive .ProgressBar__fill{background-color:#9aad14}.ProgressBar--color--green{border:.0833333333em solid #1b9638!important}.ProgressBar--color--green .ProgressBar__fill{background-color:#1b9638}.ProgressBar--color--teal{border:.0833333333em solid #009a93!important}.ProgressBar--color--teal .ProgressBar__fill{background-color:#009a93}.ProgressBar--color--blue{border:.0833333333em solid #1c71b1!important}.ProgressBar--color--blue .ProgressBar__fill{background-color:#1c71b1}.ProgressBar--color--violet{border:.0833333333em solid #552dab!important}.ProgressBar--color--violet .ProgressBar__fill{background-color:#552dab}.ProgressBar--color--purple{border:.0833333333em solid #8b2baa!important}.ProgressBar--color--purple .ProgressBar__fill{background-color:#8b2baa}.ProgressBar--color--pink{border:.0833333333em solid #cf2082!important}.ProgressBar--color--pink .ProgressBar__fill{background-color:#cf2082}.ProgressBar--color--brown{border:.0833333333em solid #8c5836!important}.ProgressBar--color--brown .ProgressBar__fill{background-color:#8c5836}.ProgressBar--color--grey{border:.0833333333em solid #646464!important}.ProgressBar--color--grey .ProgressBar__fill{background-color:#646464}.ProgressBar--color--good{border:.0833333333em solid #4d9121!important}.ProgressBar--color--good .ProgressBar__fill{background-color:#4d9121}.ProgressBar--color--average{border:.0833333333em solid #cd7a0d!important}.ProgressBar--color--average .ProgressBar__fill{background-color:#cd7a0d}.ProgressBar--color--bad{border:.0833333333em solid #bd2020!important}.ProgressBar--color--bad .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--label{border:.0833333333em solid #657a94!important}.ProgressBar--color--label .ProgressBar__fill{background-color:#657a94}.Section{position:relative;margin-bottom:.5em;background-color:#191919;background-color:rgba(0,0,0,.33);box-sizing:border-box}.Section:last-child{margin-bottom:0}.Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #4972a1}.Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.Section__content{padding:.66em .5em}.Section--fill{display:flex;flex-direction:column;height:100%}.Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.Section--fill .Section__content{flex-grow:1}.Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.Section--scrollable{overflow-x:hidden;overflow-y:hidden}.Section--level--1 .Section__titleText{font-size:1.1666666667em}.Section--level--2 .Section__titleText{font-size:1.0833333333em}.Section--level--3 .Section__titleText{font-size:1em}.Section--level--2,.Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.Slider{cursor:e-resize}.Slider__cursorOffset{position:absolute;top:0;left:0;bottom:0;transition:none!important}.Slider__cursor{position:absolute;top:0;right:-.0833333333em;bottom:0;width:0;border-left:.1666666667em solid #fff}.Slider__pointer{position:absolute;right:-.4166666667em;bottom:-.3333333333em;width:0;height:0;border-left:.4166666667em solid transparent;border-right:.4166666667em solid transparent;border-bottom:.4166666667em solid #fff}.Slider__popupValue{position:absolute;right:0;top:-2rem;font-size:1rem;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.Table{display:table;width:100%;border-collapse:collapse;border-spacing:0;margin:0}.Table--collapsing{width:auto}.Table__row{display:table-row}.Table__cell{display:table-cell;padding:0 .25em}.Table__cell:first-child{padding-left:0}.Table__cell:last-child{padding-right:0}.Table__cell--header,.Table__row--header .Table__cell{font-weight:700;padding-bottom:.5em}.Table__cell--collapsing{width:1%;white-space:nowrap}.Tabs{display:flex;align-items:stretch;overflow:hidden}.Tabs--vertical{flex-direction:column}.Tabs--horizontal{margin-bottom:.5em}.Tabs--horizontal:last-child{margin-bottom:0}.Tabs__Tab{flex-grow:0}.Tabs--fluid .Tabs__Tab{flex-grow:1}.Tab{display:flex;align-items:center;justify-content:space-between;color:hsla(0,0%,100%,.5);min-height:2.25em;min-width:4em}.Tab--selected{color:#dfe7f0}.Tab__text{flex-grow:1;margin:0 .5em}.Tab__left{margin-left:.25em}.Tab__left,.Tab__right{min-width:1.5em;text-align:center}.Tab__right{margin-right:.25em}.Tabs--horizontal .Tab{border-top:.1666666667em solid transparent;border-bottom:.1666666667em solid transparent}.Tabs--horizontal .Tab--selected{border-bottom:.1666666667em solid #d4dfec}.Tabs--vertical .Tab{min-height:2em;border-left:.1666666667em solid transparent;border-right:.1666666667em solid transparent}.Tabs--vertical .Tab--selected{border-right:.1666666667em solid #d4dfec}.Tab--selected.Tab--color--black{color:#535353}.Tabs--horizontal .Tab--selected.Tab--color--black{border-bottom-color:#1a1a1a}.Tabs--vertical .Tab--selected.Tab--color--black{border-right-color:#1a1a1a}.Tab--selected.Tab--color--white{color:#fff}.Tabs--horizontal .Tab--selected.Tab--color--white{border-bottom-color:#fff}.Tabs--vertical .Tab--selected.Tab--color--white{border-right-color:#fff}.Tab--selected.Tab--color--red{color:#e76e6e}.Tabs--horizontal .Tab--selected.Tab--color--red{border-bottom-color:#df3e3e}.Tabs--vertical .Tab--selected.Tab--color--red{border-right-color:#df3e3e}.Tab--selected.Tab--color--orange{color:#f69f66}.Tabs--horizontal .Tab--selected.Tab--color--orange{border-bottom-color:#f37f33}.Tabs--vertical .Tab--selected.Tab--color--orange{border-right-color:#f37f33}.Tab--selected.Tab--color--yellow{color:#fce358}.Tabs--horizontal .Tab--selected.Tab--color--yellow{border-bottom-color:#fbda21}.Tabs--vertical .Tab--selected.Tab--color--yellow{border-right-color:#fbda21}.Tab--selected.Tab--color--olive{color:#d8eb55}.Tabs--horizontal .Tab--selected.Tab--color--olive{border-bottom-color:#cbe41c}.Tabs--vertical .Tab--selected.Tab--color--olive{border-right-color:#cbe41c}.Tab--selected.Tab--color--green{color:#53e074}.Tabs--horizontal .Tab--selected.Tab--color--green{border-bottom-color:#25ca4c}.Tabs--vertical .Tab--selected.Tab--color--green{border-right-color:#25ca4c}.Tab--selected.Tab--color--teal{color:#21fff5}.Tabs--horizontal .Tab--selected.Tab--color--teal{border-bottom-color:#00d6cc}.Tabs--vertical .Tab--selected.Tab--color--teal{border-right-color:#00d6cc}.Tab--selected.Tab--color--blue{color:#62aee6}.Tabs--horizontal .Tab--selected.Tab--color--blue{border-bottom-color:#2e93de}.Tabs--vertical .Tab--selected.Tab--color--blue{border-right-color:#2e93de}.Tab--selected.Tab--color--violet{color:#9676db}.Tabs--horizontal .Tab--selected.Tab--color--violet{border-bottom-color:#7349cf}.Tabs--vertical .Tab--selected.Tab--color--violet{border-right-color:#7349cf}.Tab--selected.Tab--color--purple{color:#c274db}.Tabs--horizontal .Tab--selected.Tab--color--purple{border-bottom-color:#ad45d0}.Tabs--vertical .Tab--selected.Tab--color--purple{border-right-color:#ad45d0}.Tab--selected.Tab--color--pink{color:#ea79b9}.Tabs--horizontal .Tab--selected.Tab--color--pink{border-bottom-color:#e34da1}.Tabs--vertical .Tab--selected.Tab--color--pink{border-right-color:#e34da1}.Tab--selected.Tab--color--brown{color:#ca9775}.Tabs--horizontal .Tab--selected.Tab--color--brown{border-bottom-color:#b97447}.Tabs--vertical .Tab--selected.Tab--color--brown{border-right-color:#b97447}.Tab--selected.Tab--color--grey{color:#a3a3a3}.Tabs--horizontal .Tab--selected.Tab--color--grey{border-bottom-color:#848484}.Tabs--vertical .Tab--selected.Tab--color--grey{border-right-color:#848484}.Tab--selected.Tab--color--good{color:#8cd95a}.Tabs--horizontal .Tab--selected.Tab--color--good{border-bottom-color:#68c22d}.Tabs--vertical .Tab--selected.Tab--color--good{border-right-color:#68c22d}.Tab--selected.Tab--color--average{color:#f5b35e}.Tabs--horizontal .Tab--selected.Tab--color--average{border-bottom-color:#f29a29}.Tabs--vertical .Tab--selected.Tab--color--average{border-right-color:#f29a29}.Tab--selected.Tab--color--bad{color:#e76e6e}.Tabs--horizontal .Tab--selected.Tab--color--bad{border-bottom-color:#df3e3e}.Tabs--vertical .Tab--selected.Tab--color--bad{border-right-color:#df3e3e}.Tab--selected.Tab--color--label{color:#a8b4c4}.Tabs--horizontal .Tab--selected.Tab--color--label{border-bottom-color:#8b9bb0}.Tabs--vertical .Tab--selected.Tab--color--label{border-right-color:#8b9bb0}.Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.Input--fluid{display:block;width:auto}.Input__baseline{display:inline-block;color:transparent}.Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.Input--monospace .Input__input{font-family:Consolas,monospace}.TextArea{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;background-color:#0a0a0a;margin-right:.1666666667em;line-height:1.4166666667em;box-sizing:border-box;width:100%}.TextArea--fluid{display:block;width:auto;height:auto}.TextArea__textarea{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;height:100%;font-size:1em;line-height:1.4166666667em;min-height:1.4166666667em;margin:0;padding:0 .5em;font-family:inherit;background-color:transparent;color:inherit;box-sizing:border-box;word-wrap:break-word;overflow:hidden}.TextArea__textarea:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.Tooltip{position:absolute;top:0;left:0;right:0;bottom:0;font-style:normal;font-weight:400}.Tooltip:after{position:absolute;display:block;white-space:pre;z-index:2;padding:.5em .75em;transform:translateX(-50%);pointer-events:none;visibility:hidden;opacity:0;text-align:left;content:attr(data-tooltip);transition:all .15s;background-color:#000;box-shadow:.1em .1em 1.25em -.1em rgba(0,0,0,.5);border-radius:.16em}.Tooltip:hover:after{transition:all 70ms;pointer-events:none;visibility:visible;opacity:1}.Tooltip--long:after{width:20.8333333333em;white-space:normal}.Tooltip--top:after{bottom:100%;left:50%;transform:translateX(-50%) translateY(.5em)}.Tooltip--top:hover:after{transform:translateX(-50%) translateY(-.5em)}.Tooltip--top-left:after{bottom:100%;right:50%;transform:translateX(12px) translateY(8px)}.Tooltip--top-left:hover:after{transform:translateX(12px) translateY(-8px)}.Tooltip--top-right:after{top:0;right:0;transform:translateX(100%) translateY(-50%)}.Tooltip--top-right:hover:after{transform:translateX(100%) translateY(-100%)}.Tooltip--bottom:after{top:100%;left:50%;transform:translateX(-50%) translateY(-.5em)}.Tooltip--bottom:hover:after{transform:translateX(-50%) translateY(.5em)}.Tooltip--bottom-left:after{top:100%;right:50%;transform:translateX(12px) translateY(-.5em)}.Tooltip--bottom-left:hover:after{transform:translateX(12px) translateY(.5em)}.Tooltip--bottom-right:after{top:100%;left:50%;transform:translateX(-12px) translateY(-.5em)}.Tooltip--bottom-right:hover:after{transform:translateX(-12px) translateY(.5em)}.Tooltip--left:after{top:50%;right:100%;transform:translateX(.5em) translateY(-50%)}.Tooltip--left:hover:after,.Tooltip--right:after{transform:translateX(-.5em) translateY(-50%)}.Tooltip--right:after{top:50%;left:100%}.Tooltip--right:hover:after{transform:translateX(.5em) translateY(-50%)}.AlertModal__Message{text-align:center}.AlertModal__Buttons,.AlertModal__Message{justify-content:center}.AlertModal__Loader{width:100%;position:relative;height:4px}.AlertModal__LoaderProgress{position:absolute;transition:background-color .5s,width .5s;background-color:#3e6189;height:100%}.CameraConsole__left{position:absolute;top:0;bottom:0;left:0;width:18.3333333333em}.CameraConsole__right{position:absolute;top:0;bottom:0;left:18.3333333333em;right:0;background-color:rgba(0,0,0,.33)}.CameraConsole__toolbar{left:0;margin:.25em 1em 0}.CameraConsole__toolbar,.CameraConsole__toolbarRight{position:absolute;top:0;right:0;height:2em;line-height:2em}.CameraConsole__toolbarRight{margin:.33em .5em 0}.CameraConsole__map{position:absolute;top:2.1666666667em;bottom:0;left:0;right:0;margin:.5em;text-align:center}.CameraConsole__map .NoticeBox{margin-top:calc(50% - 2em)}.NuclearBomb__displayBox{background-color:#002003;border:.167em inset #e8e4c9;color:#03e017;font-size:2em;font-family:monospace;padding:.25em}.NuclearBomb__Button{outline-width:.25rem!important;border-width:.65rem!important;padding-left:0!important;padding-right:0!important}.NuclearBomb__Button--keypad{background-color:#e8e4c9;border-color:#e8e4c9}.NuclearBomb__Button--keypad:hover{background-color:#f7f6ee!important;border-color:#f7f6ee!important}.NuclearBomb__Button--1{background-color:#d3cfb7!important;border-color:#d3cfb7!important;color:#a9a692!important}.NuclearBomb__Button--E{background-color:#d9b804!important;border-color:#d9b804!important}.NuclearBomb__Button--E:hover{background-color:#f3d00e!important;border-color:#f3d00e!important}.NuclearBomb__Button--C{background-color:#bd2020!important;border-color:#bd2020!important}.NuclearBomb__Button--C:hover{background-color:#d52b2b!important;border-color:#d52b2b!important}.NuclearBomb__NTIcon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMCIgdmlld0JveD0iMCAwIDQyNSAyMDAiIG9wYWNpdHk9Ii4zMyI+PHBhdGggZD0iTTE3OC4wMDQuMDM5SDEwNi44YTYuNzYxIDYuMDI2IDAgMDAtNi43NjEgNi4wMjV2MTg3Ljg3MmE2Ljc2MSA2LjAyNiAwIDAwNi43NjEgNi4wMjVoNTMuMTA3YTYuNzYxIDYuMDI2IDAgMDA2Ljc2Mi02LjAyNVY5Mi4zOTJsNzIuMjE2IDEwNC43YTYuNzYxIDYuMDI2IDAgMDA1Ljc2IDIuODdIMzE4LjJhNi43NjEgNi4wMjYgMCAwMDYuNzYxLTYuMDI2VjYuMDY0QTYuNzYxIDYuMDI2IDAgMDAzMTguMi4wNGgtNTQuNzE3YTYuNzYxIDYuMDI2IDAgMDAtNi43NiA2LjAyNXYxMDIuNjJMMTgzLjc2MyAyLjkwOWE2Ljc2MSA2LjAyNiAwIDAwLTUuNzYtMi44N3pNNC44NDUgMjIuMTA5QTEzLjQxMiAxMi41MDIgMCAwMTEzLjQ3OC4wMzloNjYuMTE4QTUuMzY1IDUgMCAwMTg0Ljk2IDUuMDR2NzkuODh6TTQyMC4xNTUgMTc3Ljg5MWExMy40MTIgMTIuNTAyIDAgMDEtOC42MzMgMjIuMDdoLTY2LjExOGE1LjM2NSA1IDAgMDEtNS4zNjUtNS4wMDF2LTc5Ljg4eiIvPjwvc3ZnPg==);background-size:70%;background-position:50%;background-repeat:no-repeat}.Paper__Stamp{position:absolute;pointer-events:none;user-select:none}.Paper__Page{word-break:break-word;word-wrap:break-word}.Roulette{font-family:Palatino}.Roulette__board{display:table;width:100%;border-collapse:collapse;border:2px solid #fff;margin:0}.Roulette__board-row{padding:0;margin:0}.Roulette__board-cell{display:table-cell;padding:0;margin:0;border:2px solid #fff;font-family:Palatino}.Roulette__board-cell:first-child{padding-left:0}.Roulette__board-cell:last-child{padding-right:0}.Roulette__board-extrabutton{text-align:center;font-size:20px;font-weight:700;height:28px;border:none!important;margin:0!important;padding-top:4px!important;color:#fff!important}.Roulette__lowertable{margin-top:8px;margin-left:80px;margin-right:80px;border-collapse:collapse;border:2px solid #fff;border-spacing:0}.Roulette__lowertable--cell{border:2px solid #fff;padding:0;margin:0}.Roulette__lowertable--betscell{vertical-align:top}.Roulette__lowertable--spinresult{text-align:center;font-size:100px;font-weight:700;vertical-align:middle}.Roulette__lowertable--spinresult-black{background-color:#000}.Roulette__lowertable--spinresult-red{background-color:#db2828}.Roulette__lowertable--spinresult-green{background-color:#20b142}.Roulette__lowertable--spinbutton{margin:0!important;border:none!important;font-size:50px;line-height:60px!important;text-align:center;font-weight:700}.Roulette__lowertable--header{width:1%;text-align:center;font-size:20px;font-weight:700}.Safe__engraving{position:absolute;width:95%;height:96%;left:2.5%;top:2%;border:5px outset #3e4f6a;padding:5px;text-align:center}.Safe__engraving-arrow{color:#35435a}.Safe__engraving-hinge{content:" ";background-color:#191f2a;width:25px;height:40px;position:absolute;right:-15px;margin-top:-20px}.Safe__dialer{margin-bottom:1.25rem}.Safe__dialer .Button{width:80px}.Safe__dialer-right .Button i{z-index:-100}.Safe__dialer-number{color:#bbb;display:inline;background-color:#191f2a;font-size:1.5rem;font-weight:700;padding:0 .5rem}.Safe__contents{border:10px solid #191f2a;background-color:#0f131a;height:calc(85% + 7.5px);text-align:left;padding:5px}.Safe__help{position:absolute;top:73%;left:10px;width:50%;font-family:Comic Sans MS,cursive,sans-serif;font-style:italic;color:#000;box-shadow:5px 5px #111;background-image:linear-gradient(180deg,#b2ae74 0,#8e8b5d);transform:rotate(-1deg)}.Safe__help:before{content:" ";display:block;width:24px;height:40px;background-image:linear-gradient(180deg,transparent 0,#fff);box-shadow:1px 1px #111;opacity:.2;position:absolute;top:-30px;left:calc(50% - 12px);transform:rotate(-5deg)}.Layout,.Layout *{scrollbar-base-color:#1c1c1c;scrollbar-face-color:#3b3b3b;scrollbar-3dlight-color:#252525;scrollbar-highlight-color:#252525;scrollbar-track-color:#1c1c1c;scrollbar-arrow-color:#929292;scrollbar-shadow-color:#3b3b3b}.Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.NtosHeader__left{position:absolute;left:1em}.NtosHeader__right{position:absolute;right:1em}.NtosHeader__icon{margin-top:-.75em;margin-bottom:-.5em;vertical-align:middle}.NtosWindow__header{position:absolute;top:0;left:0;right:0;height:2em;line-height:1.928em;background-color:rgba(0,0,0,.5);font-family:Consolas,monospace;font-size:1.1666666667em;user-select:none;-ms-user-select:none}.NtosWindow__content .Layout__content{margin-top:2em;font-family:Consolas,monospace;font-size:1.1666666667em}.TitleBar{background-color:#363636;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#363636;transition:color .25s,background-color .25s}.TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:hsla(0,0%,100%,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.TitleBar__statusIcon{top:0;left:12px;left:1rem;transition:color .5s;line-height:32px!important;line-height:2.6666666667rem!important}.TitleBar__close,.TitleBar__statusIcon{position:absolute;font-size:20px;font-size:1.6666666667rem}.TitleBar__close{top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.Window{bottom:0;right:0;color:#fff;background-color:#252525;background-image:linear-gradient(180deg,#2a2a2a 0,#202020)}.Window,.Window__titleBar{position:fixed;top:0;left:0}.Window__titleBar{z-index:1;width:100%;height:32px;height:2.6666666667rem}.Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.Window__contentPadding:after{height:0}.Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(62,62,62,.25);pointer-events:none}.Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.Layout__content{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMCIgdmlld0JveD0iMCAwIDQyNSAyMDAiIG9wYWNpdHk9Ii4zMyI+PHBhdGggZD0iTTE3OC4wMDQuMDM5SDEwNi44YTYuNzYxIDYuMDI2IDAgMDAtNi43NjEgNi4wMjV2MTg3Ljg3MmE2Ljc2MSA2LjAyNiAwIDAwNi43NjEgNi4wMjVoNTMuMTA3YTYuNzYxIDYuMDI2IDAgMDA2Ljc2Mi02LjAyNVY5Mi4zOTJsNzIuMjE2IDEwNC43YTYuNzYxIDYuMDI2IDAgMDA1Ljc2IDIuODdIMzE4LjJhNi43NjEgNi4wMjYgMCAwMDYuNzYxLTYuMDI2VjYuMDY0QTYuNzYxIDYuMDI2IDAgMDAzMTguMi4wNGgtNTQuNzE3YTYuNzYxIDYuMDI2IDAgMDAtNi43NiA2LjAyNXYxMDIuNjJMMTgzLjc2MyAyLjkwOWE2Ljc2MSA2LjAyNiAwIDAwLTUuNzYtMi44N3pNNC44NDUgMjIuMTA5QTEzLjQxMiAxMi41MDIgMCAwMTEzLjQ3OC4wMzloNjYuMTE4QTUuMzY1IDUgMCAwMTg0Ljk2IDUuMDR2NzkuODh6TTQyMC4xNTUgMTc3Ljg5MWExMy40MTIgMTIuNTAyIDAgMDEtOC42MzMgMjIuMDdoLTY2LjExOGE1LjM2NSA1IDAgMDEtNS4zNjUtNS4wMDF2LTc5Ljg4eiIvPjwvc3ZnPg==);background-size:70%;background-position:50%;background-repeat:no-repeat}.theme-abductor .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:2px;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-abductor .Button:last-child{margin-right:0;margin-bottom:0}.theme-abductor .Button .fa,.theme-abductor .Button .far,.theme-abductor .Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-abductor .Button--hasContent .fa,.theme-abductor .Button--hasContent .far,.theme-abductor .Button--hasContent .fas{margin-right:.25em}.theme-abductor .Button--hasContent.Button--iconPosition--right .fa,.theme-abductor .Button--hasContent.Button--iconPosition--right .far,.theme-abductor .Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.theme-abductor .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-abductor .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-abductor .Button--circular{border-radius:50%}.theme-abductor .Button--compact{padding:0 .25em;line-height:1.333em}.theme-abductor .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#ad2350;color:#fff}.theme-abductor .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-abductor .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-abductor .Button--color--default:focus,.theme-abductor .Button--color--default:hover{background-color:#c42f60;color:#fff}.theme-abductor .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-abductor .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-abductor .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-abductor .Button--color--caution:focus,.theme-abductor .Button--color--caution:hover{background-color:#d67313;color:#fff}.theme-abductor .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-abductor .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-abductor .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-abductor .Button--color--danger:focus,.theme-abductor .Button--color--danger:hover{background-color:#afb30a;color:#fff}.theme-abductor .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#2a314a;color:#fff;background-color:rgba(42,49,74,0);color:hsla(0,0%,100%,.5)}.theme-abductor .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-abductor .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-abductor .Button--color--transparent:focus,.theme-abductor .Button--color--transparent:hover{background-color:#373e59;color:#fff}.theme-abductor .Button--disabled{background-color:#363636!important}.theme-abductor .Button--selected{transition:color 50ms,background-color 50ms;background-color:#465899;color:#fff}.theme-abductor .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-abductor .Button--selected:focus{transition:color .1s,background-color .1s}.theme-abductor .Button--selected:focus,.theme-abductor .Button--selected:hover{background-color:#5569ad;color:#fff}.theme-abductor .NoticeBox{padding:.33em .5em;margin-bottom:.5em;box-shadow:none;font-weight:700;font-style:italic;color:#fff;background-color:#a82d55;background-image:repeating-linear-gradient(-45deg,transparent,transparent .8333333333em,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 1.6666666667em)}.theme-abductor .NoticeBox--type--info{color:#fff;background-color:#235982}.theme-abductor .NoticeBox--type--success{color:#fff;background-color:#1e662f}.theme-abductor .NoticeBox--type--warning{color:#fff;background-color:#a95219}.theme-abductor .NoticeBox--type--danger{color:#fff;background-color:#8f2828}.theme-abductor .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #404b6e;border:.0833333333em solid rgba(64,75,110,.75);border-radius:2px;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-abductor .Input--fluid{display:block;width:auto}.theme-abductor .Input__baseline{display:inline-block;color:transparent}.theme-abductor .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.theme-abductor .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.theme-abductor .Input--monospace .Input__input{font-family:Consolas,monospace}.theme-abductor .NumberInput{position:relative;display:inline-block;border:.0833333333em solid #404b6e;border:.0833333333em solid rgba(64,75,110,.75);border-radius:2px;color:#404b6e;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.theme-abductor .NumberInput--fluid{display:block}.theme-abductor .NumberInput__content{margin-left:.5em}.theme-abductor .NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.theme-abductor .NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #404b6e;background-color:#404b6e}.theme-abductor .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#0a0a0a;color:#fff;text-align:right}.theme-abductor .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:2px;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-abductor .ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.theme-abductor .ProgressBar__fill--animated{transition:background-color .5s,width .5s}.theme-abductor .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-abductor .ProgressBar--color--default{border:.0833333333em solid #931e44}.theme-abductor .ProgressBar--color--default .ProgressBar__fill{background-color:#931e44}.theme-abductor .Section{position:relative;margin-bottom:.5em;background-color:#1c2132;background-color:rgba(0,0,0,.33);box-sizing:border-box}.theme-abductor .Section:last-child{margin-bottom:0}.theme-abductor .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #ad2350}.theme-abductor .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.theme-abductor .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-abductor .Section__content{padding:.66em .5em}.theme-abductor .Section--fill{display:flex;flex-direction:column;height:100%}.theme-abductor .Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.theme-abductor .Section--fill .Section__content{flex-grow:1}.theme-abductor .Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-abductor .Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.theme-abductor .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-abductor .Section--level--1 .Section__titleText{font-size:1.1666666667em}.theme-abductor .Section--level--2 .Section__titleText{font-size:1.0833333333em}.theme-abductor .Section--level--3 .Section__titleText{font-size:1em}.theme-abductor .Section--level--2,.theme-abductor .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.theme-abductor .Tooltip{position:absolute;top:0;left:0;right:0;bottom:0;font-style:normal;font-weight:400}.theme-abductor .Tooltip:after{position:absolute;display:block;white-space:pre;z-index:2;padding:.5em .75em;transform:translateX(-50%);pointer-events:none;visibility:hidden;opacity:0;text-align:left;content:attr(data-tooltip);transition:all .15s;background-color:#a82d55;box-shadow:.1em .1em 1.25em -.1em rgba(0,0,0,.5);border-radius:2px}.theme-abductor .Tooltip:hover:after{transition:all 70ms;pointer-events:none;visibility:visible;opacity:1}.theme-abductor .Tooltip--long:after{width:20.8333333333em;white-space:normal}.theme-abductor .Tooltip--top:after{bottom:100%;left:50%;transform:translateX(-50%) translateY(.5em)}.theme-abductor .Tooltip--top:hover:after{transform:translateX(-50%) translateY(-.5em)}.theme-abductor .Tooltip--top-left:after{bottom:100%;right:50%;transform:translateX(12px) translateY(8px)}.theme-abductor .Tooltip--top-left:hover:after{transform:translateX(12px) translateY(-8px)}.theme-abductor .Tooltip--top-right:after{top:0;right:0;transform:translateX(100%) translateY(-50%)}.theme-abductor .Tooltip--top-right:hover:after{transform:translateX(100%) translateY(-100%)}.theme-abductor .Tooltip--bottom:after{top:100%;left:50%;transform:translateX(-50%) translateY(-.5em)}.theme-abductor .Tooltip--bottom:hover:after{transform:translateX(-50%) translateY(.5em)}.theme-abductor .Tooltip--bottom-left:after{top:100%;right:50%;transform:translateX(12px) translateY(-.5em)}.theme-abductor .Tooltip--bottom-left:hover:after{transform:translateX(12px) translateY(.5em)}.theme-abductor .Tooltip--bottom-right:after{top:100%;left:50%;transform:translateX(-12px) translateY(-.5em)}.theme-abductor .Tooltip--bottom-right:hover:after{transform:translateX(-12px) translateY(.5em)}.theme-abductor .Tooltip--left:after{top:50%;right:100%;transform:translateX(.5em) translateY(-50%)}.theme-abductor .Tooltip--left:hover:after,.theme-abductor .Tooltip--right:after{transform:translateX(-.5em) translateY(-50%)}.theme-abductor .Tooltip--right:after{top:50%;left:100%}.theme-abductor .Tooltip--right:hover:after{transform:translateX(.5em) translateY(-50%)}.theme-abductor .Layout,.theme-abductor .Layout *{scrollbar-base-color:#202538;scrollbar-face-color:#384263;scrollbar-3dlight-color:#2a314a;scrollbar-highlight-color:#2a314a;scrollbar-track-color:#202538;scrollbar-arrow-color:#818db8;scrollbar-shadow-color:#384263}.theme-abductor .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-abductor .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-abductor .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#2a314a;background-image:linear-gradient(180deg,#353e5e 0,#1f2436)}.theme-abductor .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-abductor .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-abductor .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-abductor .Window__contentPadding:after{height:0}.theme-abductor .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-abductor .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(68,76,104,.25);pointer-events:none}.theme-abductor .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-abductor .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-abductor .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-abductor .TitleBar{background-color:#9e1b46;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-abductor .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#9e1b46;transition:color .25s,background-color .25s}.theme-abductor .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-abductor .TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:hsla(0,0%,100%,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.theme-abductor .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-abductor .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-abductor .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-abductor .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-abductor .Layout__content{background-image:none}.theme-cardtable .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:0;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-cardtable .Button:last-child{margin-right:0;margin-bottom:0}.theme-cardtable .Button .fa,.theme-cardtable .Button .far,.theme-cardtable .Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-cardtable .Button--hasContent .fa,.theme-cardtable .Button--hasContent .far,.theme-cardtable .Button--hasContent .fas{margin-right:.25em}.theme-cardtable .Button--hasContent.Button--iconPosition--right .fa,.theme-cardtable .Button--hasContent.Button--iconPosition--right .far,.theme-cardtable .Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.theme-cardtable .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-cardtable .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-cardtable .Button--circular{border-radius:50%}.theme-cardtable .Button--compact{padding:0 .25em;line-height:1.333em}.theme-cardtable .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#117039;color:#fff}.theme-cardtable .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--color--default:focus,.theme-cardtable .Button--color--default:hover{background-color:#1c8247;color:#fff}.theme-cardtable .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-cardtable .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--color--caution:focus,.theme-cardtable .Button--color--caution:hover{background-color:#d67313;color:#fff}.theme-cardtable .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-cardtable .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--color--danger:focus,.theme-cardtable .Button--color--danger:hover{background-color:#afb30a;color:#fff}.theme-cardtable .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#117039;color:#fff;background-color:rgba(17,112,57,0);color:hsla(0,0%,100%,.5)}.theme-cardtable .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--color--transparent:focus,.theme-cardtable .Button--color--transparent:hover{background-color:#1c8247;color:#fff}.theme-cardtable .Button--disabled{background-color:#363636!important}.theme-cardtable .Button--selected{transition:color 50ms,background-color 50ms;background-color:#9d0808;color:#fff}.theme-cardtable .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--selected:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--selected:focus,.theme-cardtable .Button--selected:hover{background-color:#b31212;color:#fff}.theme-cardtable .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:0;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-cardtable .Input--fluid{display:block;width:auto}.theme-cardtable .Input__baseline{display:inline-block;color:transparent}.theme-cardtable .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.theme-cardtable .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.theme-cardtable .Input--monospace .Input__input{font-family:Consolas,monospace}.theme-cardtable .NumberInput{position:relative;display:inline-block;border:.0833333333em solid #fff;border:.0833333333em solid hsla(0,0%,100%,.75);border-radius:0;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.theme-cardtable .NumberInput--fluid{display:block}.theme-cardtable .NumberInput__content{margin-left:.5em}.theme-cardtable .NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.theme-cardtable .NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #fff;background-color:#fff}.theme-cardtable .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#0a0a0a;color:#fff;text-align:right}.theme-cardtable .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:0;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-cardtable .ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.theme-cardtable .ProgressBar__fill--animated{transition:background-color .5s,width .5s}.theme-cardtable .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-cardtable .ProgressBar--color--default{border:.0833333333em solid #000}.theme-cardtable .ProgressBar--color--default .ProgressBar__fill{background-color:#000}.theme-cardtable .Section{position:relative;margin-bottom:.5em;background-color:#0b4b26;background-color:rgba(0,0,0,.33);box-sizing:border-box}.theme-cardtable .Section:last-child{margin-bottom:0}.theme-cardtable .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #000}.theme-cardtable .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.theme-cardtable .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-cardtable .Section__content{padding:.66em .5em}.theme-cardtable .Section--fill{display:flex;flex-direction:column;height:100%}.theme-cardtable .Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.theme-cardtable .Section--fill .Section__content{flex-grow:1}.theme-cardtable .Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-cardtable .Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.theme-cardtable .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-cardtable .Section--level--1 .Section__titleText{font-size:1.1666666667em}.theme-cardtable .Section--level--2 .Section__titleText{font-size:1.0833333333em}.theme-cardtable .Section--level--3 .Section__titleText{font-size:1em}.theme-cardtable .Section--level--2,.theme-cardtable .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.theme-cardtable .Layout,.theme-cardtable .Layout *{scrollbar-base-color:#0d542b;scrollbar-face-color:#16914a;scrollbar-3dlight-color:#117039;scrollbar-highlight-color:#117039;scrollbar-track-color:#0d542b;scrollbar-arrow-color:#5ae695;scrollbar-shadow-color:#16914a}.theme-cardtable .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-cardtable .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-cardtable .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#117039;background-image:linear-gradient(180deg,#117039 0,#117039)}.theme-cardtable .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-cardtable .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-cardtable .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-cardtable .Window__contentPadding:after{height:0}.theme-cardtable .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-cardtable .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(39,148,85,.25);pointer-events:none}.theme-cardtable .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-cardtable .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-cardtable .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-cardtable .TitleBar{background-color:#381608;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-cardtable .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#381608;transition:color .25s,background-color .25s}.theme-cardtable .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-cardtable .TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:hsla(0,0%,100%,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.theme-cardtable .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-cardtable .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-cardtable .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-cardtable .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-cardtable .Button{border:.1666666667em solid #fff}.theme-hackerman .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-hackerman .Button:last-child{margin-right:0;margin-bottom:0}.theme-hackerman .Button .fa,.theme-hackerman .Button .far,.theme-hackerman .Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-hackerman .Button--hasContent .fa,.theme-hackerman .Button--hasContent .far,.theme-hackerman .Button--hasContent .fas{margin-right:.25em}.theme-hackerman .Button--hasContent.Button--iconPosition--right .fa,.theme-hackerman .Button--hasContent.Button--iconPosition--right .far,.theme-hackerman .Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.theme-hackerman .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-hackerman .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-hackerman .Button--circular{border-radius:50%}.theme-hackerman .Button--compact{padding:0 .25em;line-height:1.333em}.theme-hackerman .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#0f0;color:#000}.theme-hackerman .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--color--default:focus,.theme-hackerman .Button--color--default:hover{background-color:#26ff26;color:#000}.theme-hackerman .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.theme-hackerman .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--color--caution:focus,.theme-hackerman .Button--color--caution:hover{background-color:#f3d00e;color:#000}.theme-hackerman .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.theme-hackerman .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--color--danger:focus,.theme-hackerman .Button--color--danger:hover{background-color:#d52b2b;color:#fff}.theme-hackerman .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#121b12;color:#fff;background-color:rgba(18,27,18,0);color:hsla(0,0%,100%,.5)}.theme-hackerman .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--color--transparent:focus,.theme-hackerman .Button--color--transparent:hover{background-color:#1d271d;color:#fff}.theme-hackerman .Button--disabled{background-color:#4a6a4a!important}.theme-hackerman .Button--selected{transition:color 50ms,background-color 50ms;background-color:#0f0;color:#000}.theme-hackerman .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--selected:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--selected:focus,.theme-hackerman .Button--selected:hover{background-color:#26ff26;color:#000}.theme-hackerman .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #0f0;border:.0833333333em solid rgba(0,255,0,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-hackerman .Input--fluid{display:block;width:auto}.theme-hackerman .Input__baseline{display:inline-block;color:transparent}.theme-hackerman .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.theme-hackerman .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.theme-hackerman .Input--monospace .Input__input{font-family:Consolas,monospace}.theme-hackerman .Modal{background-color:#121b12;max-width:calc(100% - 1rem);padding:1rem}.theme-hackerman .Section{position:relative;margin-bottom:.5em;background-color:#0c120c;background-color:rgba(0,0,0,.33);box-sizing:border-box}.theme-hackerman .Section:last-child{margin-bottom:0}.theme-hackerman .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #0f0}.theme-hackerman .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.theme-hackerman .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-hackerman .Section__content{padding:.66em .5em}.theme-hackerman .Section--fill{display:flex;flex-direction:column;height:100%}.theme-hackerman .Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.theme-hackerman .Section--fill .Section__content{flex-grow:1}.theme-hackerman .Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-hackerman .Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.theme-hackerman .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-hackerman .Section--level--1 .Section__titleText{font-size:1.1666666667em}.theme-hackerman .Section--level--2 .Section__titleText{font-size:1.0833333333em}.theme-hackerman .Section--level--3 .Section__titleText{font-size:1em}.theme-hackerman .Section--level--2,.theme-hackerman .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.theme-hackerman .Layout,.theme-hackerman .Layout *{scrollbar-base-color:#0e140e;scrollbar-face-color:#253725;scrollbar-3dlight-color:#121b12;scrollbar-highlight-color:#121b12;scrollbar-track-color:#0e140e;scrollbar-arrow-color:#74a274;scrollbar-shadow-color:#253725}.theme-hackerman .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-hackerman .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-hackerman .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#121b12;background-image:linear-gradient(180deg,#121b12 0,#121b12)}.theme-hackerman .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-hackerman .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-hackerman .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-hackerman .Window__contentPadding:after{height:0}.theme-hackerman .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-hackerman .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(40,50,40,.25);pointer-events:none}.theme-hackerman .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-hackerman .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-hackerman .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-hackerman .TitleBar{background-color:#223d22;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-hackerman .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#223d22;transition:color .25s,background-color .25s}.theme-hackerman .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-hackerman .TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:hsla(0,0%,100%,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.theme-hackerman .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-hackerman .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-hackerman .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-hackerman .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-hackerman .Layout__content{background-image:none}.theme-hackerman .Button{font-family:monospace;border:.1666666667em outset #0a0;outline:.0833333333em solid #007a00}.theme-hackerman .candystripe:nth-child(odd){background-color:rgba(0,100,0,.5)}.theme-malfunction .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-malfunction .Button:last-child{margin-right:0;margin-bottom:0}.theme-malfunction .Button .fa,.theme-malfunction .Button .far,.theme-malfunction .Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-malfunction .Button--hasContent .fa,.theme-malfunction .Button--hasContent .far,.theme-malfunction .Button--hasContent .fas{margin-right:.25em}.theme-malfunction .Button--hasContent.Button--iconPosition--right .fa,.theme-malfunction .Button--hasContent.Button--iconPosition--right .far,.theme-malfunction .Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.theme-malfunction .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-malfunction .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-malfunction .Button--circular{border-radius:50%}.theme-malfunction .Button--compact{padding:0 .25em;line-height:1.333em}.theme-malfunction .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#910101;color:#fff}.theme-malfunction .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-malfunction .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-malfunction .Button--color--default:focus,.theme-malfunction .Button--color--default:hover{background-color:#a60b0b;color:#fff}.theme-malfunction .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-malfunction .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-malfunction .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-malfunction .Button--color--caution:focus,.theme-malfunction .Button--color--caution:hover{background-color:#d67313;color:#fff}.theme-malfunction .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-malfunction .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-malfunction .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-malfunction .Button--color--danger:focus,.theme-malfunction .Button--color--danger:hover{background-color:#afb30a;color:#fff}.theme-malfunction .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#1b3443;color:#fff;background-color:rgba(27,52,67,0);color:hsla(0,0%,100%,.5)}.theme-malfunction .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-malfunction .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-malfunction .Button--color--transparent:focus,.theme-malfunction .Button--color--transparent:hover{background-color:#274252;color:#fff}.theme-malfunction .Button--disabled{background-color:#363636!important}.theme-malfunction .Button--selected{transition:color 50ms,background-color 50ms;background-color:#1e5881;color:#fff}.theme-malfunction .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-malfunction .Button--selected:focus{transition:color .1s,background-color .1s}.theme-malfunction .Button--selected:focus,.theme-malfunction .Button--selected:hover{background-color:#2a6894;color:#fff}.theme-malfunction .NoticeBox{padding:.33em .5em;margin-bottom:.5em;box-shadow:none;font-weight:700;font-style:italic;color:#fff;background-color:#1a3f57;background-image:repeating-linear-gradient(-45deg,transparent,transparent .8333333333em,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 1.6666666667em)}.theme-malfunction .NoticeBox--type--info{color:#fff;background-color:#235982}.theme-malfunction .NoticeBox--type--success{color:#fff;background-color:#1e662f}.theme-malfunction .NoticeBox--type--warning{color:#fff;background-color:#a95219}.theme-malfunction .NoticeBox--type--danger{color:#fff;background-color:#8f2828}.theme-malfunction .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #910101;border:.0833333333em solid rgba(145,1,1,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-malfunction .Input--fluid{display:block;width:auto}.theme-malfunction .Input__baseline{display:inline-block;color:transparent}.theme-malfunction .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.theme-malfunction .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.theme-malfunction .Input--monospace .Input__input{font-family:Consolas,monospace}.theme-malfunction .NumberInput{position:relative;display:inline-block;border:.0833333333em solid #910101;border:.0833333333em solid rgba(145,1,1,.75);border-radius:.16em;color:#910101;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.theme-malfunction .NumberInput--fluid{display:block}.theme-malfunction .NumberInput__content{margin-left:.5em}.theme-malfunction .NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.theme-malfunction .NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #910101;background-color:#910101}.theme-malfunction .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#0a0a0a;color:#fff;text-align:right}.theme-malfunction .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:.16em;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-malfunction .ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.theme-malfunction .ProgressBar__fill--animated{transition:background-color .5s,width .5s}.theme-malfunction .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-malfunction .ProgressBar--color--default{border:.0833333333em solid #7b0101}.theme-malfunction .ProgressBar--color--default .ProgressBar__fill{background-color:#7b0101}.theme-malfunction .Section{position:relative;margin-bottom:.5em;background-color:#12232d;background-color:rgba(0,0,0,.33);box-sizing:border-box}.theme-malfunction .Section:last-child{margin-bottom:0}.theme-malfunction .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #910101}.theme-malfunction .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.theme-malfunction .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-malfunction .Section__content{padding:.66em .5em}.theme-malfunction .Section--fill{display:flex;flex-direction:column;height:100%}.theme-malfunction .Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.theme-malfunction .Section--fill .Section__content{flex-grow:1}.theme-malfunction .Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-malfunction .Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.theme-malfunction .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-malfunction .Section--level--1 .Section__titleText{font-size:1.1666666667em}.theme-malfunction .Section--level--2 .Section__titleText{font-size:1.0833333333em}.theme-malfunction .Section--level--3 .Section__titleText{font-size:1em}.theme-malfunction .Section--level--2,.theme-malfunction .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.theme-malfunction .Tooltip{position:absolute;top:0;left:0;right:0;bottom:0;font-style:normal;font-weight:400}.theme-malfunction .Tooltip:after{position:absolute;display:block;white-space:pre;z-index:2;padding:.5em .75em;transform:translateX(-50%);pointer-events:none;visibility:hidden;opacity:0;text-align:left;content:attr(data-tooltip);transition:all .15s;background-color:#235577;box-shadow:.1em .1em 1.25em -.1em rgba(0,0,0,.5);border-radius:.16em}.theme-malfunction .Tooltip:hover:after{transition:all 70ms;pointer-events:none;visibility:visible;opacity:1}.theme-malfunction .Tooltip--long:after{width:20.8333333333em;white-space:normal}.theme-malfunction .Tooltip--top:after{bottom:100%;left:50%;transform:translateX(-50%) translateY(.5em)}.theme-malfunction .Tooltip--top:hover:after{transform:translateX(-50%) translateY(-.5em)}.theme-malfunction .Tooltip--top-left:after{bottom:100%;right:50%;transform:translateX(12px) translateY(8px)}.theme-malfunction .Tooltip--top-left:hover:after{transform:translateX(12px) translateY(-8px)}.theme-malfunction .Tooltip--top-right:after{top:0;right:0;transform:translateX(100%) translateY(-50%)}.theme-malfunction .Tooltip--top-right:hover:after{transform:translateX(100%) translateY(-100%)}.theme-malfunction .Tooltip--bottom:after{top:100%;left:50%;transform:translateX(-50%) translateY(-.5em)}.theme-malfunction .Tooltip--bottom:hover:after{transform:translateX(-50%) translateY(.5em)}.theme-malfunction .Tooltip--bottom-left:after{top:100%;right:50%;transform:translateX(12px) translateY(-.5em)}.theme-malfunction .Tooltip--bottom-left:hover:after{transform:translateX(12px) translateY(.5em)}.theme-malfunction .Tooltip--bottom-right:after{top:100%;left:50%;transform:translateX(-12px) translateY(-.5em)}.theme-malfunction .Tooltip--bottom-right:hover:after{transform:translateX(-12px) translateY(.5em)}.theme-malfunction .Tooltip--left:after{top:50%;right:100%;transform:translateX(.5em) translateY(-50%)}.theme-malfunction .Tooltip--left:hover:after,.theme-malfunction .Tooltip--right:after{transform:translateX(-.5em) translateY(-50%)}.theme-malfunction .Tooltip--right:after{top:50%;left:100%}.theme-malfunction .Tooltip--right:hover:after{transform:translateX(.5em) translateY(-50%)}.theme-malfunction .Layout,.theme-malfunction .Layout *{scrollbar-base-color:#142732;scrollbar-face-color:#274b61;scrollbar-3dlight-color:#1b3443;scrollbar-highlight-color:#1b3443;scrollbar-track-color:#142732;scrollbar-arrow-color:#6ba2c3;scrollbar-shadow-color:#274b61}.theme-malfunction .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-malfunction .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-malfunction .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#1b3443;background-image:linear-gradient(180deg,#244559 0,#12232d)}.theme-malfunction .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-malfunction .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-malfunction .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-malfunction .Window__contentPadding:after{height:0}.theme-malfunction .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-malfunction .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(50,79,96,.25);pointer-events:none}.theme-malfunction .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-malfunction .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-malfunction .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-malfunction .TitleBar{background-color:#1a3f57;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-malfunction .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#1a3f57;transition:color .25s,background-color .25s}.theme-malfunction .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-malfunction .TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:hsla(0,0%,100%,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.theme-malfunction .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-malfunction .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-malfunction .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-malfunction .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-malfunction .Layout__content{background-image:none}.theme-neutral .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-neutral .Button:last-child{margin-right:0;margin-bottom:0}.theme-neutral .Button .fa,.theme-neutral .Button .far,.theme-neutral .Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-neutral .Button--hasContent .fa,.theme-neutral .Button--hasContent .far,.theme-neutral .Button--hasContent .fas{margin-right:.25em}.theme-neutral .Button--hasContent.Button--iconPosition--right .fa,.theme-neutral .Button--hasContent.Button--iconPosition--right .far,.theme-neutral .Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.theme-neutral .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-neutral .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-neutral .Button--circular{border-radius:50%}.theme-neutral .Button--compact{padding:0 .25em;line-height:1.333em}.theme-neutral .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#b37d00;color:#fff}.theme-neutral .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-neutral .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-neutral .Button--color--default:focus,.theme-neutral .Button--color--default:hover{background-color:#c9900a;color:#fff}.theme-neutral .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.theme-neutral .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-neutral .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-neutral .Button--color--caution:focus,.theme-neutral .Button--color--caution:hover{background-color:#f3d00e;color:#000}.theme-neutral .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.theme-neutral .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-neutral .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-neutral .Button--color--danger:focus,.theme-neutral .Button--color--danger:hover{background-color:#d52b2b;color:#fff}.theme-neutral .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#996b00;color:#fff;background-color:rgba(153,107,0,0);color:#ffca4d}.theme-neutral .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-neutral .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-neutral .Button--color--transparent:focus,.theme-neutral .Button--color--transparent:hover{background-color:#ae7d0a;color:#fff}.theme-neutral .Button--disabled{background-color:#999!important}.theme-neutral .Button--selected{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.theme-neutral .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-neutral .Button--selected:focus{transition:color .1s,background-color .1s}.theme-neutral .Button--selected:focus,.theme-neutral .Button--selected:hover{background-color:#27ab46;color:#fff}.theme-neutral .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:.16em;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-neutral .ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.theme-neutral .ProgressBar__fill--animated{transition:background-color .5s,width .5s}.theme-neutral .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-neutral .ProgressBar--color--default{border:.0833333333em solid #ffb300}.theme-neutral .ProgressBar--color--default .ProgressBar__fill{background-color:#ffb300}.theme-neutral .Section{position:relative;margin-bottom:.5em;background-color:#674800;background-color:rgba(0,0,0,.33);box-sizing:border-box}.theme-neutral .Section:last-child{margin-bottom:0}.theme-neutral .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #ffb300}.theme-neutral .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.theme-neutral .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-neutral .Section__content{padding:.66em .5em}.theme-neutral .Section--fill{display:flex;flex-direction:column;height:100%}.theme-neutral .Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.theme-neutral .Section--fill .Section__content{flex-grow:1}.theme-neutral .Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-neutral .Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.theme-neutral .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-neutral .Section--level--1 .Section__titleText{font-size:1.1666666667em}.theme-neutral .Section--level--2 .Section__titleText{font-size:1.0833333333em}.theme-neutral .Section--level--3 .Section__titleText{font-size:1em}.theme-neutral .Section--level--2,.theme-neutral .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.theme-neutral .Layout,.theme-neutral .Layout *{scrollbar-base-color:#735100;scrollbar-face-color:#bd8400;scrollbar-3dlight-color:#996b00;scrollbar-highlight-color:#996b00;scrollbar-track-color:#735100;scrollbar-arrow-color:#ffca4d;scrollbar-shadow-color:#bd8400}.theme-neutral .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-neutral .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-neutral .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#996b00;background-image:linear-gradient(180deg,#b88100 0,#7a5600)}.theme-neutral .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-neutral .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-neutral .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-neutral .Window__contentPadding:after{height:0}.theme-neutral .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-neutral .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(195,143,19,.25);pointer-events:none}.theme-neutral .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-neutral .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-neutral .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-neutral .TitleBar{background-color:#bf8600;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-neutral .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#bf8600;transition:color .25s,background-color .25s}.theme-neutral .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-neutral .TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:hsla(0,0%,100%,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.theme-neutral .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-neutral .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-neutral .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-neutral .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-neutral .Layout__content{background-image:url(data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgZGF0YS1wcmVmaXg9ImZhcyIgZGF0YS1pY29uPSJ1c2VyLXNlY3JldCIgY2xhc3M9InN2Zy1pbmxpbmUtLWZhIGZhLXVzZXItc2VjcmV0IGZhLXctMTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ0OCA1MTIiIG9wYWNpdHk9Ii4zMyI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMzgzLjkgMzA4LjNsMjMuOS02Mi42YzQtMTAuNS0zLjctMjEuNy0xNS0yMS43aC01OC41YzExLTE4LjkgMTcuOC00MC42IDE3LjgtNjR2LS4zYzM5LjItNy44IDY0LTE5LjEgNjQtMzEuNyAwLTEzLjMtMjcuMy0yNS4xLTcwLjEtMzMtOS4yLTMyLjgtMjctNjUuOC00MC42LTgyLjgtOS41LTExLjktMjUuOS0xNS42LTM5LjUtOC44bC0yNy42IDEzLjhjLTkgNC41LTE5LjYgNC41LTI4LjYgMEwxODIuMSAzLjRjLTEzLjYtNi44LTMwLTMuMS0zOS41IDguOC0xMy41IDE3LTMxLjQgNTAtNDAuNiA4Mi44LTQyLjcgNy45LTcwIDE5LjctNzAgMzMgMCAxMi42IDI0LjggMjMuOSA2NCAzMS43di4zYzAgMjMuNCA2LjggNDUuMSAxNy44IDY0SDU2LjNjLTExLjUgMC0xOS4yIDExLjctMTQuNyAyMi4zbDI1LjggNjAuMkMyNy4zIDMyOS44IDAgMzcyLjcgMCA0MjIuNHY0NC44QzAgNDkxLjkgMjAuMSA1MTIgNDQuOCA1MTJoMzU4LjRjMjQuNyAwIDQ0LjgtMjAuMSA0NC44LTQ0Ljh2LTQ0LjhjMC00OC40LTI1LjgtOTAuNC02NC4xLTExNC4xek0xNzYgNDgwbC00MS42LTE5MiA0OS42IDMyIDI0IDQwLTMyIDEyMHptOTYgMGwtMzItMTIwIDI0LTQwIDQ5LjYtMzJMMjcyIDQ4MHptNDEuNy0yOTguNWMtMy45IDExLjktNyAyNC42LTE2LjUgMzMuNC0xMC4xIDkuMy00OCAyMi40LTY0LTI1LTIuOC04LjQtMTUuNC04LjQtMTguMyAwLTE3IDUwLjItNTYgMzIuNC02NCAyNS05LjUtOC44LTEyLjctMjEuNS0xNi41LTMzLjQtLjgtMi41LTYuMy01LjctNi4zLTUuOHYtMTAuOGMyOC4zIDMuNiA2MSA1LjggOTYgNS44czY3LjctMi4xIDk2LTUuOHYxMC44Yy0uMS4xLTUuNiAzLjItNi40IDUuOHoiLz48L3N2Zz4=)}.theme-ntos .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-ntos .Button:last-child{margin-right:0;margin-bottom:0}.theme-ntos .Button .fa,.theme-ntos .Button .far,.theme-ntos .Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-ntos .Button--hasContent .fa,.theme-ntos .Button--hasContent .far,.theme-ntos .Button--hasContent .fas{margin-right:.25em}.theme-ntos .Button--hasContent.Button--iconPosition--right .fa,.theme-ntos .Button--hasContent.Button--iconPosition--right .far,.theme-ntos .Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.theme-ntos .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-ntos .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-ntos .Button--circular{border-radius:50%}.theme-ntos .Button--compact{padding:0 .25em;line-height:1.333em}.theme-ntos .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#384e68;color:#fff}.theme-ntos .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--color--default:focus,.theme-ntos .Button--color--default:hover{background-color:#465e7a;color:#fff}.theme-ntos .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.theme-ntos .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--color--caution:focus,.theme-ntos .Button--color--caution:hover{background-color:#f3d00e;color:#000}.theme-ntos .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.theme-ntos .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--color--danger:focus,.theme-ntos .Button--color--danger:hover{background-color:#d52b2b;color:#fff}.theme-ntos .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#1f2b39;color:#fff;background-color:rgba(31,43,57,0);color:rgba(227,240,255,.75)}.theme-ntos .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--color--transparent:focus,.theme-ntos .Button--color--transparent:hover{background-color:#2b3847;color:#fff}.theme-ntos .Button--disabled{background-color:#999!important}.theme-ntos .Button--selected{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.theme-ntos .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--selected:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--selected:focus,.theme-ntos .Button--selected:hover{background-color:#27ab46;color:#fff}.theme-ntos .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:.16em;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-ntos .ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.theme-ntos .ProgressBar__fill--animated{transition:background-color .5s,width .5s}.theme-ntos .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-ntos .ProgressBar--color--default{border:.0833333333em solid #384e68}.theme-ntos .ProgressBar--color--default .ProgressBar__fill{background-color:#384e68}.theme-ntos .Section{position:relative;margin-bottom:.5em;background-color:#151d26;background-color:rgba(0,0,0,.33);box-sizing:border-box}.theme-ntos .Section:last-child{margin-bottom:0}.theme-ntos .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #4972a1}.theme-ntos .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.theme-ntos .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-ntos .Section__content{padding:.66em .5em}.theme-ntos .Section--fill{display:flex;flex-direction:column;height:100%}.theme-ntos .Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.theme-ntos .Section--fill .Section__content{flex-grow:1}.theme-ntos .Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-ntos .Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.theme-ntos .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-ntos .Section--level--1 .Section__titleText{font-size:1.1666666667em}.theme-ntos .Section--level--2 .Section__titleText{font-size:1.0833333333em}.theme-ntos .Section--level--3 .Section__titleText{font-size:1em}.theme-ntos .Section--level--2,.theme-ntos .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.theme-ntos .Layout,.theme-ntos .Layout *{scrollbar-base-color:#17202b;scrollbar-face-color:#2e3f55;scrollbar-3dlight-color:#1f2b39;scrollbar-highlight-color:#1f2b39;scrollbar-track-color:#17202b;scrollbar-arrow-color:#7693b5;scrollbar-shadow-color:#2e3f55}.theme-ntos .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-ntos .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-ntos .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#1f2b39;background-image:linear-gradient(180deg,#223040 0,#1b2633)}.theme-ntos .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-ntos .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-ntos .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-ntos .Window__contentPadding:after{height:0}.theme-ntos .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-ntos .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(55,69,85,.25);pointer-events:none}.theme-ntos .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-ntos .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-ntos .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-ntos .TitleBar{background-color:#2a3b4e;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-ntos .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#2a3b4e;transition:color .25s,background-color .25s}.theme-ntos .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-ntos .TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:hsla(0,0%,100%,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.theme-ntos .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-ntos .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-ntos .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-ntos .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-paper .Tabs{display:flex;align-items:stretch;overflow:hidden}.theme-paper .Tabs--vertical{flex-direction:column}.theme-paper .Tabs--horizontal{margin-bottom:.5em}.theme-paper .Tabs--horizontal:last-child{margin-bottom:0}.theme-paper .Tabs__Tab{flex-grow:0}.theme-paper .Tabs--fluid .Tabs__Tab{flex-grow:1}.theme-paper .Tab{display:flex;align-items:center;justify-content:space-between;color:hsla(0,0%,100%,.5);min-height:2.25em;min-width:4em}.theme-paper .Tab--selected{color:#fafafa}.theme-paper .Tab__text{flex-grow:1;margin:0 .5em}.theme-paper .Tab__left{min-width:1.5em;text-align:center;margin-left:.25em}.theme-paper .Tab__right{min-width:1.5em;text-align:center;margin-right:.25em}.theme-paper .Tabs--horizontal .Tab{border-top:.1666666667em solid transparent;border-bottom:.1666666667em solid transparent}.theme-paper .Tabs--horizontal .Tab--selected{border-bottom:.1666666667em solid #f9f9f9}.theme-paper .Tabs--vertical .Tab{min-height:2em;border-left:.1666666667em solid transparent;border-right:.1666666667em solid transparent}.theme-paper .Tabs--vertical .Tab--selected{border-right:.1666666667em solid #f9f9f9}.theme-paper .Section{position:relative;margin-bottom:.5em;background-color:#e6e6e6;background-color:rgba(0,0,0,.1);box-sizing:border-box}.theme-paper .Section:last-child{margin-bottom:0}.theme-paper .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #fff}.theme-paper .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#000}.theme-paper .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-paper .Section__content{padding:.66em .5em}.theme-paper .Section--fill{display:flex;flex-direction:column;height:100%}.theme-paper .Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.theme-paper .Section--fill .Section__content{flex-grow:1}.theme-paper .Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-paper .Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.theme-paper .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-paper .Section--level--1 .Section__titleText{font-size:1.1666666667em}.theme-paper .Section--level--2 .Section__titleText{font-size:1.0833333333em}.theme-paper .Section--level--3 .Section__titleText{font-size:1em}.theme-paper .Section--level--2,.theme-paper .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.theme-paper .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-paper .Button:last-child{margin-right:0;margin-bottom:0}.theme-paper .Button .fa,.theme-paper .Button .far,.theme-paper .Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-paper .Button--hasContent .fa,.theme-paper .Button--hasContent .far,.theme-paper .Button--hasContent .fas{margin-right:.25em}.theme-paper .Button--hasContent.Button--iconPosition--right .fa,.theme-paper .Button--hasContent.Button--iconPosition--right .far,.theme-paper .Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.theme-paper .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-paper .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-paper .Button--circular{border-radius:50%}.theme-paper .Button--compact{padding:0 .25em;line-height:1.333em}.theme-paper .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#e8e4c9;color:#000}.theme-paper .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-paper .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-paper .Button--color--default:focus,.theme-paper .Button--color--default:hover{background-color:#f7f6ee;color:#000}.theme-paper .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-paper .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-paper .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-paper .Button--color--caution:focus,.theme-paper .Button--color--caution:hover{background-color:#d67313;color:#fff}.theme-paper .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-paper .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-paper .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-paper .Button--color--danger:focus,.theme-paper .Button--color--danger:hover{background-color:#afb30a;color:#fff}.theme-paper .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#fff;color:#000;background-color:hsla(0,0%,100%,0);color:rgba(0,0,0,.5)}.theme-paper .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-paper .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-paper .Button--color--transparent:focus,.theme-paper .Button--color--transparent:hover{background-color:#fff;color:#000}.theme-paper .Button--disabled{background-color:#363636!important}.theme-paper .Button--selected{transition:color 50ms,background-color 50ms;background-color:#9d0808;color:#fff}.theme-paper .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-paper .Button--selected:focus{transition:color .1s,background-color .1s}.theme-paper .Button--selected:focus,.theme-paper .Button--selected:hover{background-color:#b31212;color:#fff}.theme-paper .Layout,.theme-paper .Layout *{scrollbar-base-color:#bfbfbf;scrollbar-face-color:#fff;scrollbar-3dlight-color:#fff;scrollbar-highlight-color:#fff;scrollbar-track-color:#bfbfbf;scrollbar-arrow-color:#fff;scrollbar-shadow-color:#fff}.theme-paper .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-paper .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-paper .Window{position:fixed;top:0;bottom:0;left:0;right:0;background-color:#fff;background-image:linear-gradient(180deg,#fff 0,#fff)}.theme-paper .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-paper .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-paper .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-paper .Window__contentPadding:after{height:0}.theme-paper .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-paper .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:hsla(0,0%,100%,.25);pointer-events:none}.theme-paper .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-paper .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-paper .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-paper .TitleBar{background-color:#fff;border-bottom:1px solid rgba(0,0,0,.25);box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-paper .TitleBar__clickable{color:rgba(0,0,0,.5);background-color:#fff;transition:color .25s,background-color .25s}.theme-paper .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-paper .TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:rgba(0,0,0,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.theme-paper .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-paper .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-paper .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-paper .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-paper .PaperInput{position:relative;display:inline-block;width:120px;background:transparent;border:none;border-bottom:1px solid #000;outline:none;background-color:rgba(255,255,62,.8);padding:0 4px;margin-right:2px;line-height:17px;overflow:visible}.theme-paper .PaperInput__baseline{display:inline-block;color:transparent}.theme-paper .PaperInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:12px;line-height:17px;height:17px;margin:0;padding:0 6px;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.theme-paper .PaperInput__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.theme-paper .Layout__content,.theme-paper .Window{background-image:none}.theme-paper .Window{color:#000}.theme-paper .paper-field,.theme-paper .paper-field input:disabled,.theme-paper .paper-text input,.theme-paper .paper-text input:disabled{position:relative;display:inline-block;background:transparent;border:none;border-bottom:1px solid #000;outline:none;background-color:rgba(255,255,62,.8);padding:0 4px;margin-right:2px;line-height:17px;overflow:visible}.theme-retro .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:0;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-retro .Button:last-child{margin-right:0;margin-bottom:0}.theme-retro .Button .fa,.theme-retro .Button .far,.theme-retro .Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-retro .Button--hasContent .fa,.theme-retro .Button--hasContent .far,.theme-retro .Button--hasContent .fas{margin-right:.25em}.theme-retro .Button--hasContent.Button--iconPosition--right .fa,.theme-retro .Button--hasContent.Button--iconPosition--right .far,.theme-retro .Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.theme-retro .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-retro .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-retro .Button--circular{border-radius:50%}.theme-retro .Button--compact{padding:0 .25em;line-height:1.333em}.theme-retro .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#e8e4c9;color:#000}.theme-retro .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-retro .Button--color--default:focus,.theme-retro .Button--color--default:hover{background-color:#f7f6ee;color:#000}.theme-retro .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-retro .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-retro .Button--color--caution:focus,.theme-retro .Button--color--caution:hover{background-color:#d67313;color:#fff}.theme-retro .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-retro .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-retro .Button--color--danger:focus,.theme-retro .Button--color--danger:hover{background-color:#afb30a;color:#fff}.theme-retro .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#e8e4c9;color:#000;background-color:rgba(232,228,201,0);color:hsla(0,0%,100%,.5)}.theme-retro .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-retro .Button--color--transparent:focus,.theme-retro .Button--color--transparent:hover{background-color:#f7f6ee;color:#000}.theme-retro .Button--disabled{background-color:#363636!important}.theme-retro .Button--selected{transition:color 50ms,background-color 50ms;background-color:#9d0808;color:#fff}.theme-retro .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--selected:focus{transition:color .1s,background-color .1s}.theme-retro .Button--selected:focus,.theme-retro .Button--selected:hover{background-color:#b31212;color:#fff}.theme-retro .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:0;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-retro .ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.theme-retro .ProgressBar__fill--animated{transition:background-color .5s,width .5s}.theme-retro .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-retro .ProgressBar--color--default{border:.0833333333em solid #000}.theme-retro .ProgressBar--color--default .ProgressBar__fill{background-color:#000}.theme-retro .Section{position:relative;margin-bottom:.5em;background-color:#9b9987;background-color:rgba(0,0,0,.33);box-sizing:border-box}.theme-retro .Section:last-child{margin-bottom:0}.theme-retro .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #000}.theme-retro .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.theme-retro .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-retro .Section__content{padding:.66em .5em}.theme-retro .Section--fill{display:flex;flex-direction:column;height:100%}.theme-retro .Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.theme-retro .Section--fill .Section__content{flex-grow:1}.theme-retro .Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-retro .Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.theme-retro .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-retro .Section--level--1 .Section__titleText{font-size:1.1666666667em}.theme-retro .Section--level--2 .Section__titleText{font-size:1.0833333333em}.theme-retro .Section--level--3 .Section__titleText{font-size:1em}.theme-retro .Section--level--2,.theme-retro .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.theme-retro .Layout,.theme-retro .Layout *{scrollbar-base-color:#c8be7d;scrollbar-face-color:#eae7ce;scrollbar-3dlight-color:#e8e4c9;scrollbar-highlight-color:#e8e4c9;scrollbar-track-color:#c8be7d;scrollbar-arrow-color:#f4f2e4;scrollbar-shadow-color:#eae7ce}.theme-retro .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-retro .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-retro .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#e8e4c9;background-image:linear-gradient(180deg,#e8e4c9 0,#e8e4c9)}.theme-retro .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-retro .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-retro .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-retro .Window__contentPadding:after{height:0}.theme-retro .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-retro .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(251,250,246,.25);pointer-events:none}.theme-retro .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-retro .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-retro .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-retro .TitleBar{background-color:#585337;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-retro .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#585337;transition:color .25s,background-color .25s}.theme-retro .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-retro .TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:hsla(0,0%,100%,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.theme-retro .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-retro .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-retro .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-retro .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-retro .Button{font-family:monospace;color:#161613;border:.1666666667em outset #e8e4c9;outline:.0833333333em solid #161613}.theme-retro .Layout__content{background-image:none}.theme-syndicate .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-syndicate .Button:last-child{margin-right:0;margin-bottom:0}.theme-syndicate .Button .fa,.theme-syndicate .Button .far,.theme-syndicate .Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-syndicate .Button--hasContent .fa,.theme-syndicate .Button--hasContent .far,.theme-syndicate .Button--hasContent .fas{margin-right:.25em}.theme-syndicate .Button--hasContent.Button--iconPosition--right .fa,.theme-syndicate .Button--hasContent.Button--iconPosition--right .far,.theme-syndicate .Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.theme-syndicate .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-syndicate .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-syndicate .Button--circular{border-radius:50%}.theme-syndicate .Button--compact{padding:0 .25em;line-height:1.333em}.theme-syndicate .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#397439;color:#fff}.theme-syndicate .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--color--default:focus,.theme-syndicate .Button--color--default:hover{background-color:#478647;color:#fff}.theme-syndicate .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-syndicate .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--color--caution:focus,.theme-syndicate .Button--color--caution:hover{background-color:#d67313;color:#fff}.theme-syndicate .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-syndicate .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--color--danger:focus,.theme-syndicate .Button--color--danger:hover{background-color:#afb30a;color:#fff}.theme-syndicate .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#550202;color:#fff;background-color:rgba(85,2,2,0);color:hsla(0,0%,100%,.5)}.theme-syndicate .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--color--transparent:focus,.theme-syndicate .Button--color--transparent:hover{background-color:#650c0c;color:#fff}.theme-syndicate .Button--disabled{background-color:#363636!important}.theme-syndicate .Button--selected{transition:color 50ms,background-color 50ms;background-color:#9d0808;color:#fff}.theme-syndicate .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--selected:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--selected:focus,.theme-syndicate .Button--selected:hover{background-color:#b31212;color:#fff}.theme-syndicate .NoticeBox{padding:.33em .5em;margin-bottom:.5em;box-shadow:none;font-weight:700;font-style:italic;color:#fff;background-color:#910101;background-image:repeating-linear-gradient(-45deg,transparent,transparent .8333333333em,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 1.6666666667em)}.theme-syndicate .NoticeBox--type--info{color:#fff;background-color:#235982}.theme-syndicate .NoticeBox--type--success{color:#fff;background-color:#1e662f}.theme-syndicate .NoticeBox--type--warning{color:#fff;background-color:#a95219}.theme-syndicate .NoticeBox--type--danger{color:#fff;background-color:#8f2828}.theme-syndicate .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #87ce87;border:.0833333333em solid rgba(135,206,135,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-syndicate .Input--fluid{display:block;width:auto}.theme-syndicate .Input__baseline{display:inline-block;color:transparent}.theme-syndicate .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.theme-syndicate .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.theme-syndicate .Input--monospace .Input__input{font-family:Consolas,monospace}.theme-syndicate .NumberInput{position:relative;display:inline-block;border:.0833333333em solid #87ce87;border:.0833333333em solid rgba(135,206,135,.75);border-radius:.16em;color:#87ce87;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.theme-syndicate .NumberInput--fluid{display:block}.theme-syndicate .NumberInput__content{margin-left:.5em}.theme-syndicate .NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.theme-syndicate .NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #87ce87;background-color:#87ce87}.theme-syndicate .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#0a0a0a;color:#fff;text-align:right}.theme-syndicate .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:.16em;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-syndicate .ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.theme-syndicate .ProgressBar__fill--animated{transition:background-color .5s,width .5s}.theme-syndicate .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-syndicate .ProgressBar--color--default{border:.0833333333em solid #306330}.theme-syndicate .ProgressBar--color--default .ProgressBar__fill{background-color:#306330}.theme-syndicate .Section{position:relative;margin-bottom:.5em;background-color:#390101;background-color:rgba(0,0,0,.33);box-sizing:border-box}.theme-syndicate .Section:last-child{margin-bottom:0}.theme-syndicate .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #397439}.theme-syndicate .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.theme-syndicate .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-syndicate .Section__content{padding:.66em .5em}.theme-syndicate .Section--fill{display:flex;flex-direction:column;height:100%}.theme-syndicate .Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.theme-syndicate .Section--fill .Section__content{flex-grow:1}.theme-syndicate .Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-syndicate .Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.theme-syndicate .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-syndicate .Section--level--1 .Section__titleText{font-size:1.1666666667em}.theme-syndicate .Section--level--2 .Section__titleText{font-size:1.0833333333em}.theme-syndicate .Section--level--3 .Section__titleText{font-size:1em}.theme-syndicate .Section--level--2,.theme-syndicate .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.theme-syndicate .Tooltip{position:absolute;top:0;left:0;right:0;bottom:0;font-style:normal;font-weight:400}.theme-syndicate .Tooltip:after{position:absolute;display:block;white-space:pre;z-index:2;padding:.5em .75em;transform:translateX(-50%);pointer-events:none;visibility:hidden;opacity:0;text-align:left;content:attr(data-tooltip);transition:all .15s;background-color:#4a0202;box-shadow:.1em .1em 1.25em -.1em rgba(0,0,0,.5);border-radius:.16em}.theme-syndicate .Tooltip:hover:after{transition:all 70ms;pointer-events:none;visibility:visible;opacity:1}.theme-syndicate .Tooltip--long:after{width:20.8333333333em;white-space:normal}.theme-syndicate .Tooltip--top:after{bottom:100%;left:50%;transform:translateX(-50%) translateY(.5em)}.theme-syndicate .Tooltip--top:hover:after{transform:translateX(-50%) translateY(-.5em)}.theme-syndicate .Tooltip--top-left:after{bottom:100%;right:50%;transform:translateX(12px) translateY(8px)}.theme-syndicate .Tooltip--top-left:hover:after{transform:translateX(12px) translateY(-8px)}.theme-syndicate .Tooltip--top-right:after{top:0;right:0;transform:translateX(100%) translateY(-50%)}.theme-syndicate .Tooltip--top-right:hover:after{transform:translateX(100%) translateY(-100%)}.theme-syndicate .Tooltip--bottom:after{top:100%;left:50%;transform:translateX(-50%) translateY(-.5em)}.theme-syndicate .Tooltip--bottom:hover:after{transform:translateX(-50%) translateY(.5em)}.theme-syndicate .Tooltip--bottom-left:after{top:100%;right:50%;transform:translateX(12px) translateY(-.5em)}.theme-syndicate .Tooltip--bottom-left:hover:after{transform:translateX(12px) translateY(.5em)}.theme-syndicate .Tooltip--bottom-right:after{top:100%;left:50%;transform:translateX(-12px) translateY(-.5em)}.theme-syndicate .Tooltip--bottom-right:hover:after{transform:translateX(-12px) translateY(.5em)}.theme-syndicate .Tooltip--left:after{top:50%;right:100%;transform:translateX(.5em) translateY(-50%)}.theme-syndicate .Tooltip--left:hover:after,.theme-syndicate .Tooltip--right:after{transform:translateX(-.5em) translateY(-50%)}.theme-syndicate .Tooltip--right:after{top:50%;left:100%}.theme-syndicate .Tooltip--right:hover:after{transform:translateX(.5em) translateY(-50%)}.theme-syndicate .Layout,.theme-syndicate .Layout *{scrollbar-base-color:#400202;scrollbar-face-color:#7e0303;scrollbar-3dlight-color:#550202;scrollbar-highlight-color:#550202;scrollbar-track-color:#400202;scrollbar-arrow-color:#fa3030;scrollbar-shadow-color:#7e0303}.theme-syndicate .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-syndicate .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-syndicate .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#550202;background-image:linear-gradient(180deg,#730303 0,#370101)}.theme-syndicate .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-syndicate .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-syndicate .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-syndicate .Window__contentPadding:after{height:0}.theme-syndicate .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-syndicate .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(117,22,22,.25);pointer-events:none}.theme-syndicate .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-syndicate .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-syndicate .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-syndicate .TitleBar{background-color:#910101;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-syndicate .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#910101;transition:color .25s,background-color .25s}.theme-syndicate .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-syndicate .TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:hsla(0,0%,100%,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.theme-syndicate .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-syndicate .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-syndicate .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-syndicate .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-syndicate .Layout__content{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMCIgdmlld0JveD0iMCAwIDIwMCAyODkuNzQyIiBvcGFjaXR5PSIuMzMiPjxwYXRoIGQ9Ik05My41MzggMGMtMTguMTEzIDAtMzQuMjIgMy4xMTItNDguMzI0IDkuMzM0LTEzLjk2NSA2LjIyMi0yNC42MTIgMTUuMDcyLTMxLjk0IDI2LjU0N0M2LjA4NCA0Ny4yMiAyLjk3MiA2MC42MzEgMi45NzIgNzYuMTE2YzAgMTAuNjQ3IDIuNzI1IDIwLjQ2NSA4LjE3NSAyOS40NTMgNS42MTYgOC45ODcgMTQuMDM5IDE3LjM1MiAyNS4yNyAyNS4wOTQgMTEuMjMgNy42MDYgMjYuNTA3IDE1LjQxOSA0NS44MyAyMy40MzggMTkuOTg0IDguMjk2IDM0Ljg0OSAxNS41NTUgNDQuNTkzIDIxLjc3NiA5Ljc0NCA2LjIyMyAxNi43NjEgMTIuODU5IDIxLjA1NSAxOS45MSA0LjI5NSA3LjA1MiA2LjQ0MiAxNS43NjQgNi40NDIgMjYuMTM0IDAgMTYuMTc4LTUuMjAyIDI4LjQ4My0xNS42MDYgMzYuOTE3LTEwLjI0IDguNDM1LTI1LjAyMiAxMi42NTMtNDQuMzQ1IDEyLjY1My0xNC4wMzkgMC0yNS41MTYtMS42Ni0zNC40MzQtNC45NzgtOC45MTgtMy40NTctMTYuMTg2LTguNzExLTIxLjgtMTUuNzYzLTUuNjE2LTcuMDUyLTEwLjA3Ni0xNi42NjEtMTMuMzc5LTI4LjgyOUgwdjU2LjgyN2MzMy44NTcgNy4zMjggNjMuNzQ5IDEwLjk5NCA4OS42NzggMTAuOTk0IDE2LjAyIDAgMzAuNzItMS4zODMgNDQuMDk4LTQuMTQ4IDEzLjU0Mi0yLjkwNCAyNS4xMDQtNy40NjcgMzQuNjgzLTEzLjY5IDkuNzQ0LTYuMzU5IDE3LjM0LTE0LjUxOSAyMi43OS0yNC40NzQgNS40NS0xMC4wOTMgOC4xNzUtMjIuNCA4LjE3NS0zNi45MTcgMC0xMi45OTctMy4zMDItMjQuMzM1LTkuOTA4LTM0LjAxNC02LjQ0LTkuODE4LTE1LjUyNS0xOC41MjctMjcuMjUxLTI2LjEzMi0xMS41NjEtNy42MDQtMjcuOTExLTE1LjgzMS00OS4wNTEtMjQuNjgtMTcuNTA2LTcuMTktMzAuNzItMTMuNjktMzkuNjM4LTE5LjQ5N1M1NC45NjkgOTMuNzU2IDQ5LjQ3OSA4Ny4zMTZjLTUuNDI2LTYuMzY2LTkuNjU4LTE1LjA3LTkuNjU4LTI0Ljg4NyAwLTkuMjY0IDIuMDc1LTE3LjIxNCA2LjIyMy0yMy44NUM1Ny4xNDIgMjQuMTggODcuMzMxIDM2Ljc4MiA5MS4xMiA2Mi45MjVjNC44NCA2Ljc3NSA4Ljg1IDE2LjI0NyAxMi4wMyAyOC40MTVoMjAuNTMydi01NmMtNC40NzktNS45MjQtOS45NTUtMTAuNjMxLTE1LjkwOS0xNC4zNzMgMS42NC40NzkgMy4xOSAxLjAyMyA0LjYzOSAxLjY0IDYuNDk4IDIuNjI2IDEyLjE2OCA3LjMyNyAxNy4wMDcgMTQuMTAzIDQuODQgNi43NzUgOC44NSAxNi4yNDYgMTIuMDMgMjguNDE0IDAgMCA4LjQ4LS4xMjkgOC40OS0uMDAyLjQxNyA2LjQxNS0xLjc1NCA5LjQ1My00LjEyNCAxMi41NjEtMi40MTcgMy4xNy01LjE0NSA2Ljc5LTQuMDAzIDEzLjAwMyAxLjUwOCA4LjIwMyAxMC4xODQgMTAuNTk3IDE0LjYyMiA5LjMxMi0zLjMxOC0uNS01LjMxOC0xLjc1LTUuMzE4LTEuNzVzMS44NzYuOTk5IDUuNjUtMS4zNmMtMy4yNzYuOTU2LTEwLjcwNC0uNzk3LTExLjgtNi43NjMtLjk1OC01LjIwOC45NDYtNy4yOTUgMy40LTEwLjUxNCAyLjQ1NS0zLjIyIDUuMjg1LTYuOTU5IDQuNjg1LTE0LjQ4OWwuMDAzLjAwMmg4LjkyN3YtNTZjLTE1LjA3Mi0zLjg3MS0yNy42NTMtNi4zNi0zNy43NDctNy40NjVDMTE0LjI3OS41NTIgMTA0LjA0NiAwIDkzLjUzNyAwem03MC4zMjEgMTcuMzA5bC4yMzggNDAuMzA1YzEuMzE4IDEuMjI2IDIuNDQgMi4yNzggMy4zNDEgMy4xMDYgNC44NCA2Ljc3NSA4Ljg1IDE2LjI0NiAxMi4wMyAyOC40MTRIMjAwdi01NmMtNi42NzctNC41OTQtMTkuODM2LTEwLjQ3My0zNi4xNC0xNS44MjV6bS0yOC4xMiA1LjYwNWw4LjU2NSAxNy43MTdjLTExLjk3LTYuNDY3LTEzLjg0Ny05LjcxNy04LjU2NS0xNy43MTd6bTIyLjc5NyAwYzIuNzcxIDggMS43ODcgMTEuMjUtNC40OTQgMTcuNzE3bDQuNDk0LTE3LjcxN3ptMTUuMjIyIDI0LjAwOWw4LjU2NSAxNy43MTZjLTExLjk3LTYuNDY2LTEzLjg0Ny05LjcxNy04LjU2NS0xNy43MTZ6bTIyLjc5NyAwYzIuNzcxIDggMS43ODcgMTEuMjUtNC40OTQgMTcuNzE2bDQuNDk0LTE3LjcxNnpNOTcuNDQgNDkuMTNsOC41NjUgMTcuNzE2Yy0xMS45Ny02LjQ2Ny0xMy44NDctOS43MTctOC41NjUtMTcuNzE2em0yMi43OTUgMGMyLjc3MiA3Ljk5OSAxLjc4OCAxMS4yNS00LjQ5MyAxNy43MTZsNC40OTMtMTcuNzE2eiIvPjwvc3ZnPg==)} \ No newline at end of file +body,html{box-sizing:border-box;height:100%;margin:0;font-size:12px}html{overflow:hidden;cursor:default}body{overflow:auto;font-family:Verdana,Geneva,sans-serif}*,:after,:before{box-sizing:inherit}h1,h2,h3,h4,h5,h6{display:block;margin:0;padding:.5rem 0}h1{font-size:18px;font-size:1.5rem}h2{font-size:16px;font-size:1.333rem}h3{font-size:14px;font-size:1.167rem}h4{font-size:12px;font-size:1rem}td,th{vertical-align:baseline;text-align:left}.candystripe:nth-child(odd){background-color:rgba(0,0,0,.25)}.color-black{color:#1a1a1a!important}.color-white{color:#fff!important}.color-red{color:#df3e3e!important}.color-orange{color:#f37f33!important}.color-yellow{color:#fbda21!important}.color-olive{color:#cbe41c!important}.color-green{color:#25ca4c!important}.color-teal{color:#00d6cc!important}.color-blue{color:#2e93de!important}.color-violet{color:#7349cf!important}.color-purple{color:#ad45d0!important}.color-pink{color:#e34da1!important}.color-brown{color:#b97447!important}.color-grey{color:#848484!important}.color-good{color:#68c22d!important}.color-average{color:#f29a29!important}.color-bad{color:#df3e3e!important}.color-label{color:#8b9bb0!important}.color-bg-black{background-color:#000!important}.color-bg-white{background-color:#d9d9d9!important}.color-bg-red{background-color:#bd2020!important}.color-bg-orange{background-color:#d95e0c!important}.color-bg-yellow{background-color:#d9b804!important}.color-bg-olive{background-color:#9aad14!important}.color-bg-green{background-color:#1b9638!important}.color-bg-teal{background-color:#009a93!important}.color-bg-blue{background-color:#1c71b1!important}.color-bg-violet{background-color:#552dab!important}.color-bg-purple{background-color:#8b2baa!important}.color-bg-pink{background-color:#cf2082!important}.color-bg-brown{background-color:#8c5836!important}.color-bg-grey{background-color:#646464!important}.color-bg-good{background-color:#4d9121!important}.color-bg-average{background-color:#cd7a0d!important}.color-bg-bad{background-color:#bd2020!important}.color-bg-label{background-color:#657a94!important}.debug-layout,.debug-layout :not(g):not(path){color:hsla(0,0%,100%,.9)!important;background:transparent!important;outline:1px solid hsla(0,0%,100%,.5)!important;box-shadow:none!important;filter:none!important}.debug-layout:hover,.debug-layout :not(g):not(path):hover{outline-color:hsla(0,0%,100%,.8)!important}.outline-dotted{outline-style:dotted!important}.outline-dashed{outline-style:dashed!important}.outline-solid{outline-style:solid!important}.outline-double{outline-style:double!important}.outline-groove{outline-style:groove!important}.outline-ridge{outline-style:ridge!important}.outline-inset{outline-style:inset!important}.outline-outset{outline-style:outset!important}.outline-color-black{outline:.167rem solid #1a1a1a!important}.outline-color-white{outline:.167rem solid #fff!important}.outline-color-red{outline:.167rem solid #df3e3e!important}.outline-color-orange{outline:.167rem solid #f37f33!important}.outline-color-yellow{outline:.167rem solid #fbda21!important}.outline-color-olive{outline:.167rem solid #cbe41c!important}.outline-color-green{outline:.167rem solid #25ca4c!important}.outline-color-teal{outline:.167rem solid #00d6cc!important}.outline-color-blue{outline:.167rem solid #2e93de!important}.outline-color-violet{outline:.167rem solid #7349cf!important}.outline-color-purple{outline:.167rem solid #ad45d0!important}.outline-color-pink{outline:.167rem solid #e34da1!important}.outline-color-brown{outline:.167rem solid #b97447!important}.outline-color-grey{outline:.167rem solid #848484!important}.outline-color-good{outline:.167rem solid #68c22d!important}.outline-color-average{outline:.167rem solid #f29a29!important}.outline-color-bad{outline:.167rem solid #df3e3e!important}.outline-color-label{outline:.167rem solid #8b9bb0!important}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-baseline{text-align:baseline}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-pre{white-space:pre}.text-bold{font-weight:700}.text-italic{font-style:italic}.text-underline{text-decoration:underline}.BlockQuote{color:#8b9bb0;border-left:.1666666667em solid #8b9bb0;padding-left:.5em;margin-bottom:.5em}.BlockQuote:last-child{margin-bottom:0}.Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.Button:last-child{margin-right:0;margin-bottom:0}.Button .fa,.Button .far,.Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.Button--hasContent .fa,.Button--hasContent .far,.Button--hasContent .fas{margin-right:.25em}.Button--hasContent.Button--iconPosition--right .fa,.Button--hasContent.Button--iconPosition--right .far,.Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.Button--fluid{display:block;margin-left:0;margin-right:0}.Button--circular{border-radius:50%}.Button--compact{padding:0 .25em;line-height:1.333em}.Button--color--black{transition:color 50ms,background-color 50ms;background-color:#000;color:#fff}.Button--color--black:hover{transition:color 0ms,background-color 0ms}.Button--color--black:focus{transition:color .1s,background-color .1s}.Button--color--black:focus,.Button--color--black:hover{background-color:#0a0a0a;color:#fff}.Button--color--white{transition:color 50ms,background-color 50ms;background-color:#d9d9d9;color:#000}.Button--color--white:hover{transition:color 0ms,background-color 0ms}.Button--color--white:focus{transition:color .1s,background-color .1s}.Button--color--white:focus,.Button--color--white:hover{background-color:#f3f3f3;color:#000}.Button--color--red{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--red:hover{transition:color 0ms,background-color 0ms}.Button--color--red:focus{transition:color .1s,background-color .1s}.Button--color--red:focus,.Button--color--red:hover{background-color:#d52b2b;color:#fff}.Button--color--orange{transition:color 50ms,background-color 50ms;background-color:#d95e0c;color:#fff}.Button--color--orange:hover{transition:color 0ms,background-color 0ms}.Button--color--orange:focus{transition:color .1s,background-color .1s}.Button--color--orange:focus,.Button--color--orange:hover{background-color:#ed6f1d;color:#fff}.Button--color--yellow{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--yellow:hover{transition:color 0ms,background-color 0ms}.Button--color--yellow:focus{transition:color .1s,background-color .1s}.Button--color--yellow:focus,.Button--color--yellow:hover{background-color:#f3d00e;color:#000}.Button--color--olive{transition:color 50ms,background-color 50ms;background-color:#9aad14;color:#fff}.Button--color--olive:hover{transition:color 0ms,background-color 0ms}.Button--color--olive:focus{transition:color .1s,background-color .1s}.Button--color--olive:focus,.Button--color--olive:hover{background-color:#afc41f;color:#fff}.Button--color--green{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--color--green:hover{transition:color 0ms,background-color 0ms}.Button--color--green:focus{transition:color .1s,background-color .1s}.Button--color--green:focus,.Button--color--green:hover{background-color:#27ab46;color:#fff}.Button--color--teal{transition:color 50ms,background-color 50ms;background-color:#009a93;color:#fff}.Button--color--teal:hover{transition:color 0ms,background-color 0ms}.Button--color--teal:focus{transition:color .1s,background-color .1s}.Button--color--teal:focus,.Button--color--teal:hover{background-color:#0aafa8;color:#fff}.Button--color--blue{transition:color 50ms,background-color 50ms;background-color:#1c71b1;color:#fff}.Button--color--blue:hover{transition:color 0ms,background-color 0ms}.Button--color--blue:focus{transition:color .1s,background-color .1s}.Button--color--blue:focus,.Button--color--blue:hover{background-color:#2883c8;color:#fff}.Button--color--violet{transition:color 50ms,background-color 50ms;background-color:#552dab;color:#fff}.Button--color--violet:hover{transition:color 0ms,background-color 0ms}.Button--color--violet:focus{transition:color .1s,background-color .1s}.Button--color--violet:focus,.Button--color--violet:hover{background-color:#653ac1;color:#fff}.Button--color--purple{transition:color 50ms,background-color 50ms;background-color:#8b2baa;color:#fff}.Button--color--purple:hover{transition:color 0ms,background-color 0ms}.Button--color--purple:focus{transition:color .1s,background-color .1s}.Button--color--purple:focus,.Button--color--purple:hover{background-color:#9e38c1;color:#fff}.Button--color--pink{transition:color 50ms,background-color 50ms;background-color:#cf2082;color:#fff}.Button--color--pink:hover{transition:color 0ms,background-color 0ms}.Button--color--pink:focus{transition:color .1s,background-color .1s}.Button--color--pink:focus,.Button--color--pink:hover{background-color:#dd3794;color:#fff}.Button--color--brown{transition:color 50ms,background-color 50ms;background-color:#8c5836;color:#fff}.Button--color--brown:hover{transition:color 0ms,background-color 0ms}.Button--color--brown:focus{transition:color .1s,background-color .1s}.Button--color--brown:focus,.Button--color--brown:hover{background-color:#a06844;color:#fff}.Button--color--grey{transition:color 50ms,background-color 50ms;background-color:#646464;color:#fff}.Button--color--grey:hover{transition:color 0ms,background-color 0ms}.Button--color--grey:focus{transition:color .1s,background-color .1s}.Button--color--grey:focus,.Button--color--grey:hover{background-color:#757575;color:#fff}.Button--color--good{transition:color 50ms,background-color 50ms;background-color:#4d9121;color:#fff}.Button--color--good:hover{transition:color 0ms,background-color 0ms}.Button--color--good:focus{transition:color .1s,background-color .1s}.Button--color--good:focus,.Button--color--good:hover{background-color:#5da52d;color:#fff}.Button--color--average{transition:color 50ms,background-color 50ms;background-color:#cd7a0d;color:#fff}.Button--color--average:hover{transition:color 0ms,background-color 0ms}.Button--color--average:focus{transition:color .1s,background-color .1s}.Button--color--average:focus,.Button--color--average:hover{background-color:#e68d18;color:#fff}.Button--color--bad{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--bad:hover{transition:color 0ms,background-color 0ms}.Button--color--bad:focus{transition:color .1s,background-color .1s}.Button--color--bad:focus,.Button--color--bad:hover{background-color:#d52b2b;color:#fff}.Button--color--label{transition:color 50ms,background-color 50ms;background-color:#657a94;color:#fff}.Button--color--label:hover{transition:color 0ms,background-color 0ms}.Button--color--label:focus{transition:color .1s,background-color .1s}.Button--color--label:focus,.Button--color--label:hover{background-color:#7b8da4;color:#fff}.Button--color--default{transition:color 50ms,background-color 50ms;background-color:#3e6189;color:#fff}.Button--color--default:hover{transition:color 0ms,background-color 0ms}.Button--color--default:focus{transition:color .1s,background-color .1s}.Button--color--default:focus,.Button--color--default:hover{background-color:#4c729d;color:#fff}.Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--caution:hover{transition:color 0ms,background-color 0ms}.Button--color--caution:focus{transition:color .1s,background-color .1s}.Button--color--caution:focus,.Button--color--caution:hover{background-color:#f3d00e;color:#000}.Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--danger:hover{transition:color 0ms,background-color 0ms}.Button--color--danger:focus{transition:color .1s,background-color .1s}.Button--color--danger:focus,.Button--color--danger:hover{background-color:#d52b2b;color:#fff}.Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#252525;color:#fff;background-color:rgba(37,37,37,0);color:hsla(0,0%,100%,.5)}.Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.Button--color--transparent:focus{transition:color .1s,background-color .1s}.Button--color--transparent:focus,.Button--color--transparent:hover{background-color:#323232;color:#fff}.Button--disabled{background-color:#999!important}.Button--selected{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--selected:hover{transition:color 0ms,background-color 0ms}.Button--selected:focus{transition:color .1s,background-color .1s}.Button--selected:focus,.Button--selected:hover{background-color:#27ab46;color:#fff}.ColorBox{display:inline-block;width:1em;height:1em;line-height:1em;text-align:center}.Dimmer{display:flex;justify-content:center;align-items:center;position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(0,0,0,.75);z-index:1}.Divider--horizontal{margin:.5em 0}.Divider--horizontal:not(.Divider--hidden){border-top:.1666666667em solid hsla(0,0%,100%,.1)}.Divider--vertical{height:100%;margin:0 .5em}.Divider--vertical:not(.Divider--hidden){border-left:.1666666667em solid hsla(0,0%,100%,.1)}.Dropdown{position:relative}.Dropdown__control{position:relative;display:inline-block;font-family:Verdana,sans-serif;font-size:1em;width:8.3333333333em;line-height:1.4166666667em;user-select:none}.Dropdown__arrow-button{float:right;padding-left:.5em;border-left:.0833333333em solid #000;border-left:.0833333333em solid rgba(0,0,0,.25)}.Dropdown__menu{overflow-y:auto;overflow-y:scroll}.Dropdown__menu,.Dropdown__menu-noscroll{position:absolute;z-index:5;width:8.3333333333em;max-height:16.6666666667em;border-radius:0 0 .1666666667em .1666666667em;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75)}.Dropdown__menu-noscroll{overflow-y:auto}.Dropdown__menuentry{padding:.1666666667em .3333333333em;font-family:Verdana,sans-serif;font-size:1em;line-height:1.4166666667em;transition:background-color .1s}.Dropdown__menuentry:hover{background-color:hsla(0,0%,100%,.2);transition:background-color 0ms}.Dropdown__over{top:auto;bottom:100%}.Flex{display:-ms-flexbox;display:flex}.Flex--inline{display:inline-flex}.Flex--iefix{display:table!important;width:105%;border-collapse:collapse;border-spacing:0}.Flex--iefix:after{content:"";display:table-cell;width:5%}.Flex--iefix--column{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.Flex--iefix--column>.Flex__item--iefix{display:table-row!important}.Flex--iefix--column>.Flex__item--iefix--grow{height:100%!important}.Flex__item--iefix{display:table-cell!important;width:1%!important;min-width:99%}.Flex__item--iefix--grow{width:auto!important}.Flex--spacing--1{margin:0 -.25em}.Flex--spacing--1>.Flex__item{margin:0 .25em}.Flex--spacing--2{margin:0 -.5em}.Flex--spacing--2>.Flex__item{margin:0 .5em}.IconStack>.Icon{position:absolute;width:100%;text-align:center}.IconStack{position:relative;display:inline-block;height:1.2em;line-height:2em;vertical-align:middle}.IconStack:after{color:transparent;content:"."}.Knob{position:relative;font-size:1rem;width:2.6em;height:2.6em;margin:0 auto -.2em;cursor:n-resize}.Knob:after{content:".";color:transparent;line-height:2.5em}.Knob__circle{position:absolute;top:.1em;bottom:.1em;left:.1em;right:.1em;margin:.3em;background-color:#333;background-image:linear-gradient(180deg,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,0));border-radius:50%;box-shadow:0 .05em .5em 0 rgba(0,0,0,.5)}.Knob__cursorBox{position:absolute;top:0;bottom:0;left:0;right:0}.Knob__cursor{position:relative;top:.05em;margin:0 auto;width:.2em;height:.8em;background-color:hsla(0,0%,100%,.9)}.Knob__popupValue{position:absolute;top:-2rem;right:50%;font-size:1rem;text-align:center;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.Knob__ring{position:absolute;top:0;bottom:0;left:0;right:0;padding:.1em}.Knob__ringTrackPivot{transform:rotate(135deg)}.Knob__ringTrack{fill:transparent;stroke:hsla(0,0%,100%,.1);stroke-width:8;stroke-linecap:round;stroke-dasharray:235.62}.Knob__ringFillPivot{transform:rotate(135deg)}.Knob--bipolar .Knob__ringFillPivot{transform:rotate(270deg)}.Knob__ringFill{fill:transparent;stroke:#6a96c9;stroke-width:8;stroke-linecap:round;stroke-dasharray:314.16;transition:stroke 50ms}.Knob--color--black .Knob__ringFill{stroke:#1a1a1a}.Knob--color--white .Knob__ringFill{stroke:#fff}.Knob--color--red .Knob__ringFill{stroke:#df3e3e}.Knob--color--orange .Knob__ringFill{stroke:#f37f33}.Knob--color--yellow .Knob__ringFill{stroke:#fbda21}.Knob--color--olive .Knob__ringFill{stroke:#cbe41c}.Knob--color--green .Knob__ringFill{stroke:#25ca4c}.Knob--color--teal .Knob__ringFill{stroke:#00d6cc}.Knob--color--blue .Knob__ringFill{stroke:#2e93de}.Knob--color--violet .Knob__ringFill{stroke:#7349cf}.Knob--color--purple .Knob__ringFill{stroke:#ad45d0}.Knob--color--pink .Knob__ringFill{stroke:#e34da1}.Knob--color--brown .Knob__ringFill{stroke:#b97447}.Knob--color--grey .Knob__ringFill{stroke:#848484}.Knob--color--good .Knob__ringFill{stroke:#68c22d}.Knob--color--average .Knob__ringFill{stroke:#f29a29}.Knob--color--bad .Knob__ringFill{stroke:#df3e3e}.Knob--color--label .Knob__ringFill{stroke:#8b9bb0}.LabeledList{display:table;width:100%;width:calc(100% + 1em);border-collapse:collapse;border-spacing:0;margin:-.25em -.5em 0;padding:0}.LabeledList__row{display:table-row}.LabeledList__row:last-child .LabeledList__cell{padding-bottom:0}.LabeledList__cell{display:table-cell;margin:0;padding:.25em .5em;border:0;text-align:left;vertical-align:baseline}.LabeledList__label{width:1%;white-space:nowrap;min-width:5em}.LabeledList__buttons{width:.1%;white-space:nowrap;text-align:right;padding-top:.0833333333em;padding-bottom:0}.Modal{background-color:#252525;max-width:calc(100% - 1rem);padding:1rem}.NoticeBox{padding:.33em .5em;margin-bottom:.5em;box-shadow:none;font-weight:700;font-style:italic;color:#000;background-color:#bb9b68;background-image:repeating-linear-gradient(-45deg,transparent,transparent .8333333333em,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 1.6666666667em)}.NoticeBox--color--black{color:#fff;background-color:#000}.NoticeBox--color--white{color:#000;background-color:#b3b3b3}.NoticeBox--color--red{color:#fff;background-color:#701f1f}.NoticeBox--color--orange{color:#fff;background-color:#854114}.NoticeBox--color--yellow{color:#000;background-color:#83710d}.NoticeBox--color--olive{color:#000;background-color:#576015}.NoticeBox--color--green{color:#fff;background-color:#174e24}.NoticeBox--color--teal{color:#fff;background-color:#064845}.NoticeBox--color--blue{color:#fff;background-color:#1b4565}.NoticeBox--color--violet{color:#fff;background-color:#3b2864}.NoticeBox--color--purple{color:#fff;background-color:#542663}.NoticeBox--color--pink{color:#fff;background-color:#802257}.NoticeBox--color--brown{color:#fff;background-color:#4c3729}.NoticeBox--color--grey{color:#fff;background-color:#3e3e3e}.NoticeBox--color--good{color:#fff;background-color:#2e4b1a}.NoticeBox--color--average{color:#fff;background-color:#7b4e13}.NoticeBox--color--bad{color:#fff;background-color:#701f1f}.NoticeBox--color--label{color:#fff;background-color:#53565a}.NoticeBox--type--info{color:#fff;background-color:#235982}.NoticeBox--type--success{color:#fff;background-color:#1e662f}.NoticeBox--type--warning{color:#fff;background-color:#a95219}.NoticeBox--type--danger{color:#fff;background-color:#8f2828}.NumberInput{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#88bfff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.NumberInput--fluid{display:block}.NumberInput__content{margin-left:.5em}.NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #88bfff;background-color:#88bfff}.NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#0a0a0a;color:#fff;text-align:right}.ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:.16em;background-color:transparent;transition:border-color .5s}.ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.ProgressBar__fill--animated{transition:background-color .5s,width .5s}.ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.ProgressBar--color--default{border:.0833333333em solid #3e6189}.ProgressBar--color--default .ProgressBar__fill{background-color:#3e6189}.ProgressBar--color--black{border:.0833333333em solid #000!important}.ProgressBar--color--black .ProgressBar__fill{background-color:#000}.ProgressBar--color--white{border:.0833333333em solid #d9d9d9!important}.ProgressBar--color--white .ProgressBar__fill{background-color:#d9d9d9}.ProgressBar--color--red{border:.0833333333em solid #bd2020!important}.ProgressBar--color--red .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--orange{border:.0833333333em solid #d95e0c!important}.ProgressBar--color--orange .ProgressBar__fill{background-color:#d95e0c}.ProgressBar--color--yellow{border:.0833333333em solid #d9b804!important}.ProgressBar--color--yellow .ProgressBar__fill{background-color:#d9b804}.ProgressBar--color--olive{border:.0833333333em solid #9aad14!important}.ProgressBar--color--olive .ProgressBar__fill{background-color:#9aad14}.ProgressBar--color--green{border:.0833333333em solid #1b9638!important}.ProgressBar--color--green .ProgressBar__fill{background-color:#1b9638}.ProgressBar--color--teal{border:.0833333333em solid #009a93!important}.ProgressBar--color--teal .ProgressBar__fill{background-color:#009a93}.ProgressBar--color--blue{border:.0833333333em solid #1c71b1!important}.ProgressBar--color--blue .ProgressBar__fill{background-color:#1c71b1}.ProgressBar--color--violet{border:.0833333333em solid #552dab!important}.ProgressBar--color--violet .ProgressBar__fill{background-color:#552dab}.ProgressBar--color--purple{border:.0833333333em solid #8b2baa!important}.ProgressBar--color--purple .ProgressBar__fill{background-color:#8b2baa}.ProgressBar--color--pink{border:.0833333333em solid #cf2082!important}.ProgressBar--color--pink .ProgressBar__fill{background-color:#cf2082}.ProgressBar--color--brown{border:.0833333333em solid #8c5836!important}.ProgressBar--color--brown .ProgressBar__fill{background-color:#8c5836}.ProgressBar--color--grey{border:.0833333333em solid #646464!important}.ProgressBar--color--grey .ProgressBar__fill{background-color:#646464}.ProgressBar--color--good{border:.0833333333em solid #4d9121!important}.ProgressBar--color--good .ProgressBar__fill{background-color:#4d9121}.ProgressBar--color--average{border:.0833333333em solid #cd7a0d!important}.ProgressBar--color--average .ProgressBar__fill{background-color:#cd7a0d}.ProgressBar--color--bad{border:.0833333333em solid #bd2020!important}.ProgressBar--color--bad .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--label{border:.0833333333em solid #657a94!important}.ProgressBar--color--label .ProgressBar__fill{background-color:#657a94}.RoundGauge{font-size:1rem;width:2.6em;height:1.3em;margin:0 auto .2em}.RoundGauge__ringTrack{fill:transparent;stroke:hsla(0,0%,100%,.1);stroke-width:10;stroke-dasharray:157.08;stroke-dashoffset:157.08}.RoundGauge__ringFill{fill:transparent;stroke:#6a96c9;stroke-width:10;stroke-dasharray:314.16;transition:stroke 50ms}.RoundGauge__needle,.RoundGauge__ringFill{transition:transform 50ms ease-in-out}.RoundGauge__needleLine,.RoundGauge__needleMiddle{fill:#db2828}.RoundGauge__alert{fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;fill:hsla(0,0%,100%,.1)}.RoundGauge__alert.max{fill:#db2828}.RoundGauge--color--black.RoundGauge__ringFill{stroke:#1a1a1a}.RoundGauge--color--white.RoundGauge__ringFill{stroke:#fff}.RoundGauge--color--red.RoundGauge__ringFill{stroke:#df3e3e}.RoundGauge--color--orange.RoundGauge__ringFill{stroke:#f37f33}.RoundGauge--color--yellow.RoundGauge__ringFill{stroke:#fbda21}.RoundGauge--color--olive.RoundGauge__ringFill{stroke:#cbe41c}.RoundGauge--color--green.RoundGauge__ringFill{stroke:#25ca4c}.RoundGauge--color--teal.RoundGauge__ringFill{stroke:#00d6cc}.RoundGauge--color--blue.RoundGauge__ringFill{stroke:#2e93de}.RoundGauge--color--violet.RoundGauge__ringFill{stroke:#7349cf}.RoundGauge--color--purple.RoundGauge__ringFill{stroke:#ad45d0}.RoundGauge--color--pink.RoundGauge__ringFill{stroke:#e34da1}.RoundGauge--color--brown.RoundGauge__ringFill{stroke:#b97447}.RoundGauge--color--grey.RoundGauge__ringFill{stroke:#848484}.RoundGauge--color--good.RoundGauge__ringFill{stroke:#68c22d}.RoundGauge--color--average.RoundGauge__ringFill{stroke:#f29a29}.RoundGauge--color--bad.RoundGauge__ringFill{stroke:#df3e3e}.RoundGauge--color--label.RoundGauge__ringFill{stroke:#8b9bb0}.RoundGauge__alert--black{fill:#1a1a1a}.RoundGauge__alert--black,.RoundGauge__alert--white{transition:opacity .6s cubic-bezier(.25,1,.5,1);animation:RoundGauge__alertAnim 1s cubic-bezier(.34,1.56,.64,1) infinite}.RoundGauge__alert--white{fill:#fff}.RoundGauge__alert--red{fill:#df3e3e}.RoundGauge__alert--orange,.RoundGauge__alert--red{transition:opacity .6s cubic-bezier(.25,1,.5,1);animation:RoundGauge__alertAnim 1s cubic-bezier(.34,1.56,.64,1) infinite}.RoundGauge__alert--orange{fill:#f37f33}.RoundGauge__alert--yellow{fill:#fbda21}.RoundGauge__alert--olive,.RoundGauge__alert--yellow{transition:opacity .6s cubic-bezier(.25,1,.5,1);animation:RoundGauge__alertAnim 1s cubic-bezier(.34,1.56,.64,1) infinite}.RoundGauge__alert--olive{fill:#cbe41c}.RoundGauge__alert--green{fill:#25ca4c}.RoundGauge__alert--green,.RoundGauge__alert--teal{transition:opacity .6s cubic-bezier(.25,1,.5,1);animation:RoundGauge__alertAnim 1s cubic-bezier(.34,1.56,.64,1) infinite}.RoundGauge__alert--teal{fill:#00d6cc}.RoundGauge__alert--blue{fill:#2e93de}.RoundGauge__alert--blue,.RoundGauge__alert--violet{transition:opacity .6s cubic-bezier(.25,1,.5,1);animation:RoundGauge__alertAnim 1s cubic-bezier(.34,1.56,.64,1) infinite}.RoundGauge__alert--violet{fill:#7349cf}.RoundGauge__alert--purple{fill:#ad45d0}.RoundGauge__alert--pink,.RoundGauge__alert--purple{transition:opacity .6s cubic-bezier(.25,1,.5,1);animation:RoundGauge__alertAnim 1s cubic-bezier(.34,1.56,.64,1) infinite}.RoundGauge__alert--pink{fill:#e34da1}.RoundGauge__alert--brown{fill:#b97447}.RoundGauge__alert--brown,.RoundGauge__alert--grey{transition:opacity .6s cubic-bezier(.25,1,.5,1);animation:RoundGauge__alertAnim 1s cubic-bezier(.34,1.56,.64,1) infinite}.RoundGauge__alert--grey{fill:#848484}.RoundGauge__alert--good{fill:#68c22d}.RoundGauge__alert--average,.RoundGauge__alert--good{transition:opacity .6s cubic-bezier(.25,1,.5,1);animation:RoundGauge__alertAnim 1s cubic-bezier(.34,1.56,.64,1) infinite}.RoundGauge__alert--average{fill:#f29a29}.RoundGauge__alert--bad{fill:#df3e3e}.RoundGauge__alert--bad,.RoundGauge__alert--label{transition:opacity .6s cubic-bezier(.25,1,.5,1);animation:RoundGauge__alertAnim 1s cubic-bezier(.34,1.56,.64,1) infinite}.RoundGauge__alert--label{fill:#8b9bb0}@keyframes RoundGauge__alertAnim{0%{opacity:.1}50%{opacity:1}to{opacity:.1}}.Section{position:relative;margin-bottom:.5em;background-color:#191919;background-color:rgba(0,0,0,.33);box-sizing:border-box}.Section:last-child{margin-bottom:0}.Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #4972a1}.Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.Section__content{padding:.66em .5em}.Section--fill{display:flex;flex-direction:column;height:100%}.Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.Section--fill .Section__content{flex-grow:1}.Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.Section--scrollable{overflow-x:hidden;overflow-y:hidden}.Section--level--1 .Section__titleText{font-size:1.1666666667em}.Section--level--2 .Section__titleText{font-size:1.0833333333em}.Section--level--3 .Section__titleText{font-size:1em}.Section--level--2,.Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.Slider{cursor:e-resize}.Slider__cursorOffset{position:absolute;top:0;left:0;bottom:0;transition:none!important}.Slider__cursor{position:absolute;top:0;right:-.0833333333em;bottom:0;width:0;border-left:.1666666667em solid #fff}.Slider__pointer{position:absolute;right:-.4166666667em;bottom:-.3333333333em;width:0;height:0;border-left:.4166666667em solid transparent;border-right:.4166666667em solid transparent;border-bottom:.4166666667em solid #fff}.Slider__popupValue{position:absolute;right:0;top:-2rem;font-size:1rem;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.Table{display:table;width:100%;border-collapse:collapse;border-spacing:0;margin:0}.Table--collapsing{width:auto}.Table__row{display:table-row}.Table__cell{display:table-cell;padding:0 .25em}.Table__cell:first-child{padding-left:0}.Table__cell:last-child{padding-right:0}.Table__cell--header,.Table__row--header .Table__cell{font-weight:700;padding-bottom:.5em}.Table__cell--collapsing{width:1%;white-space:nowrap}.Tabs{display:flex;align-items:stretch;overflow:hidden}.Tabs--vertical{flex-direction:column}.Tabs--horizontal{margin-bottom:.5em}.Tabs--horizontal:last-child{margin-bottom:0}.Tabs__Tab{flex-grow:0}.Tabs--fluid .Tabs__Tab{flex-grow:1}.Tab{display:flex;align-items:center;justify-content:space-between;color:hsla(0,0%,100%,.5);min-height:2.25em;min-width:4em}.Tab--selected{color:#dfe7f0}.Tab__text{flex-grow:1;margin:0 .5em}.Tab__left{margin-left:.25em}.Tab__left,.Tab__right{min-width:1.5em;text-align:center}.Tab__right{margin-right:.25em}.Tabs--horizontal .Tab{border-top:.1666666667em solid transparent;border-bottom:.1666666667em solid transparent}.Tabs--horizontal .Tab--selected{border-bottom:.1666666667em solid #d4dfec}.Tabs--vertical .Tab{min-height:2em;border-left:.1666666667em solid transparent;border-right:.1666666667em solid transparent}.Tabs--vertical .Tab--selected{border-right:.1666666667em solid #d4dfec}.Tab--selected.Tab--color--black{color:#535353}.Tabs--horizontal .Tab--selected.Tab--color--black{border-bottom-color:#1a1a1a}.Tabs--vertical .Tab--selected.Tab--color--black{border-right-color:#1a1a1a}.Tab--selected.Tab--color--white{color:#fff}.Tabs--horizontal .Tab--selected.Tab--color--white{border-bottom-color:#fff}.Tabs--vertical .Tab--selected.Tab--color--white{border-right-color:#fff}.Tab--selected.Tab--color--red{color:#e76e6e}.Tabs--horizontal .Tab--selected.Tab--color--red{border-bottom-color:#df3e3e}.Tabs--vertical .Tab--selected.Tab--color--red{border-right-color:#df3e3e}.Tab--selected.Tab--color--orange{color:#f69f66}.Tabs--horizontal .Tab--selected.Tab--color--orange{border-bottom-color:#f37f33}.Tabs--vertical .Tab--selected.Tab--color--orange{border-right-color:#f37f33}.Tab--selected.Tab--color--yellow{color:#fce358}.Tabs--horizontal .Tab--selected.Tab--color--yellow{border-bottom-color:#fbda21}.Tabs--vertical .Tab--selected.Tab--color--yellow{border-right-color:#fbda21}.Tab--selected.Tab--color--olive{color:#d8eb55}.Tabs--horizontal .Tab--selected.Tab--color--olive{border-bottom-color:#cbe41c}.Tabs--vertical .Tab--selected.Tab--color--olive{border-right-color:#cbe41c}.Tab--selected.Tab--color--green{color:#53e074}.Tabs--horizontal .Tab--selected.Tab--color--green{border-bottom-color:#25ca4c}.Tabs--vertical .Tab--selected.Tab--color--green{border-right-color:#25ca4c}.Tab--selected.Tab--color--teal{color:#21fff5}.Tabs--horizontal .Tab--selected.Tab--color--teal{border-bottom-color:#00d6cc}.Tabs--vertical .Tab--selected.Tab--color--teal{border-right-color:#00d6cc}.Tab--selected.Tab--color--blue{color:#62aee6}.Tabs--horizontal .Tab--selected.Tab--color--blue{border-bottom-color:#2e93de}.Tabs--vertical .Tab--selected.Tab--color--blue{border-right-color:#2e93de}.Tab--selected.Tab--color--violet{color:#9676db}.Tabs--horizontal .Tab--selected.Tab--color--violet{border-bottom-color:#7349cf}.Tabs--vertical .Tab--selected.Tab--color--violet{border-right-color:#7349cf}.Tab--selected.Tab--color--purple{color:#c274db}.Tabs--horizontal .Tab--selected.Tab--color--purple{border-bottom-color:#ad45d0}.Tabs--vertical .Tab--selected.Tab--color--purple{border-right-color:#ad45d0}.Tab--selected.Tab--color--pink{color:#ea79b9}.Tabs--horizontal .Tab--selected.Tab--color--pink{border-bottom-color:#e34da1}.Tabs--vertical .Tab--selected.Tab--color--pink{border-right-color:#e34da1}.Tab--selected.Tab--color--brown{color:#ca9775}.Tabs--horizontal .Tab--selected.Tab--color--brown{border-bottom-color:#b97447}.Tabs--vertical .Tab--selected.Tab--color--brown{border-right-color:#b97447}.Tab--selected.Tab--color--grey{color:#a3a3a3}.Tabs--horizontal .Tab--selected.Tab--color--grey{border-bottom-color:#848484}.Tabs--vertical .Tab--selected.Tab--color--grey{border-right-color:#848484}.Tab--selected.Tab--color--good{color:#8cd95a}.Tabs--horizontal .Tab--selected.Tab--color--good{border-bottom-color:#68c22d}.Tabs--vertical .Tab--selected.Tab--color--good{border-right-color:#68c22d}.Tab--selected.Tab--color--average{color:#f5b35e}.Tabs--horizontal .Tab--selected.Tab--color--average{border-bottom-color:#f29a29}.Tabs--vertical .Tab--selected.Tab--color--average{border-right-color:#f29a29}.Tab--selected.Tab--color--bad{color:#e76e6e}.Tabs--horizontal .Tab--selected.Tab--color--bad{border-bottom-color:#df3e3e}.Tabs--vertical .Tab--selected.Tab--color--bad{border-right-color:#df3e3e}.Tab--selected.Tab--color--label{color:#a8b4c4}.Tabs--horizontal .Tab--selected.Tab--color--label{border-bottom-color:#8b9bb0}.Tabs--vertical .Tab--selected.Tab--color--label{border-right-color:#8b9bb0}.Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.Input--fluid{display:block;width:auto}.Input__baseline{display:inline-block;color:transparent}.Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.Input--monospace .Input__input{font-family:Consolas,monospace}.TextArea{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;background-color:#0a0a0a;margin-right:.1666666667em;line-height:1.4166666667em;box-sizing:border-box;width:100%}.TextArea--fluid{display:block;width:auto;height:auto}.TextArea__textarea{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;height:100%;font-size:1em;line-height:1.4166666667em;min-height:1.4166666667em;margin:0;padding:0 .5em;font-family:inherit;background-color:transparent;color:inherit;box-sizing:border-box;word-wrap:break-word;overflow:hidden}.TextArea__textarea:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.Tooltip{position:absolute;top:0;left:0;right:0;bottom:0;font-style:normal;font-weight:400}.Tooltip:after{position:absolute;display:block;white-space:pre;z-index:2;padding:.5em .75em;transform:translateX(-50%);pointer-events:none;visibility:hidden;opacity:0;text-align:left;content:attr(data-tooltip);transition:all .15s;background-color:#000;box-shadow:.1em .1em 1.25em -.1em rgba(0,0,0,.5);border-radius:.16em}.Tooltip:hover:after{transition:all 70ms;pointer-events:none;visibility:visible;opacity:1}.Tooltip--long:after{width:20.8333333333em;white-space:normal}.Tooltip--top:after{bottom:100%;left:50%;transform:translateX(-50%) translateY(.5em)}.Tooltip--top:hover:after{transform:translateX(-50%) translateY(-.5em)}.Tooltip--top-left:after{bottom:100%;right:50%;transform:translateX(12px) translateY(8px)}.Tooltip--top-left:hover:after{transform:translateX(12px) translateY(-8px)}.Tooltip--top-right:after{top:0;right:0;transform:translateX(100%) translateY(-50%)}.Tooltip--top-right:hover:after{transform:translateX(100%) translateY(-100%)}.Tooltip--bottom:after{top:100%;left:50%;transform:translateX(-50%) translateY(-.5em)}.Tooltip--bottom:hover:after{transform:translateX(-50%) translateY(.5em)}.Tooltip--bottom-left:after{top:100%;right:50%;transform:translateX(12px) translateY(-.5em)}.Tooltip--bottom-left:hover:after{transform:translateX(12px) translateY(.5em)}.Tooltip--bottom-right:after{top:100%;left:50%;transform:translateX(-12px) translateY(-.5em)}.Tooltip--bottom-right:hover:after{transform:translateX(-12px) translateY(.5em)}.Tooltip--left:after{top:50%;right:100%;transform:translateX(.5em) translateY(-50%)}.Tooltip--left:hover:after,.Tooltip--right:after{transform:translateX(-.5em) translateY(-50%)}.Tooltip--right:after{top:50%;left:100%}.Tooltip--right:hover:after{transform:translateX(.5em) translateY(-50%)}.AlertModal__Message{text-align:center}.AlertModal__Buttons,.AlertModal__Message{justify-content:center}.AlertModal__Loader{width:100%;position:relative;height:4px}.AlertModal__LoaderProgress{position:absolute;transition:background-color .5s,width .5s;background-color:#3e6189;height:100%}.CameraConsole__left{position:absolute;top:0;bottom:0;left:0;width:18.3333333333em}.CameraConsole__right{position:absolute;top:0;bottom:0;left:18.3333333333em;right:0;background-color:rgba(0,0,0,.33)}.CameraConsole__toolbar{left:0;margin:.25em 1em 0}.CameraConsole__toolbar,.CameraConsole__toolbarRight{position:absolute;top:0;right:0;height:2em;line-height:2em}.CameraConsole__toolbarRight{margin:.33em .5em 0}.CameraConsole__map{position:absolute;top:2.1666666667em;bottom:0;left:0;right:0;margin:.5em;text-align:center}.CameraConsole__map .NoticeBox{margin-top:calc(50% - 2em)}.NuclearBomb__displayBox{background-color:#002003;border:.167em inset #e8e4c9;color:#03e017;font-size:2em;font-family:monospace;padding:.25em}.NuclearBomb__Button{outline-width:.25rem!important;border-width:.65rem!important;padding-left:0!important;padding-right:0!important}.NuclearBomb__Button--keypad{background-color:#e8e4c9;border-color:#e8e4c9}.NuclearBomb__Button--keypad:hover{background-color:#f7f6ee!important;border-color:#f7f6ee!important}.NuclearBomb__Button--1{background-color:#d3cfb7!important;border-color:#d3cfb7!important;color:#a9a692!important}.NuclearBomb__Button--E{background-color:#d9b804!important;border-color:#d9b804!important}.NuclearBomb__Button--E:hover{background-color:#f3d00e!important;border-color:#f3d00e!important}.NuclearBomb__Button--C{background-color:#bd2020!important;border-color:#bd2020!important}.NuclearBomb__Button--C:hover{background-color:#d52b2b!important;border-color:#d52b2b!important}.NuclearBomb__NTIcon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMCIgdmlld0JveD0iMCAwIDQyNSAyMDAiIG9wYWNpdHk9Ii4zMyI+PHBhdGggZD0iTTE3OC4wMDQuMDM5SDEwNi44YTYuNzYxIDYuMDI2IDAgMDAtNi43NjEgNi4wMjV2MTg3Ljg3MmE2Ljc2MSA2LjAyNiAwIDAwNi43NjEgNi4wMjVoNTMuMTA3YTYuNzYxIDYuMDI2IDAgMDA2Ljc2Mi02LjAyNVY5Mi4zOTJsNzIuMjE2IDEwNC43YTYuNzYxIDYuMDI2IDAgMDA1Ljc2IDIuODdIMzE4LjJhNi43NjEgNi4wMjYgMCAwMDYuNzYxLTYuMDI2VjYuMDY0QTYuNzYxIDYuMDI2IDAgMDAzMTguMi4wNGgtNTQuNzE3YTYuNzYxIDYuMDI2IDAgMDAtNi43NiA2LjAyNXYxMDIuNjJMMTgzLjc2MyAyLjkwOWE2Ljc2MSA2LjAyNiAwIDAwLTUuNzYtMi44N3pNNC44NDUgMjIuMTA5QTEzLjQxMiAxMi41MDIgMCAwMTEzLjQ3OC4wMzloNjYuMTE4QTUuMzY1IDUgMCAwMTg0Ljk2IDUuMDR2NzkuODh6TTQyMC4xNTUgMTc3Ljg5MWExMy40MTIgMTIuNTAyIDAgMDEtOC42MzMgMjIuMDdoLTY2LjExOGE1LjM2NSA1IDAgMDEtNS4zNjUtNS4wMDF2LTc5Ljg4eiIvPjwvc3ZnPg==);background-size:70%;background-position:50%;background-repeat:no-repeat}.Paper__Stamp{position:absolute;pointer-events:none;user-select:none}.Paper__Page{word-break:break-word;word-wrap:break-word}.Roulette{font-family:Palatino}.Roulette__board{display:table;width:100%;border-collapse:collapse;border:2px solid #fff;margin:0}.Roulette__board-row{padding:0;margin:0}.Roulette__board-cell{display:table-cell;padding:0;margin:0;border:2px solid #fff;font-family:Palatino}.Roulette__board-cell:first-child{padding-left:0}.Roulette__board-cell:last-child{padding-right:0}.Roulette__board-extrabutton{text-align:center;font-size:20px;font-weight:700;height:28px;border:none!important;margin:0!important;padding-top:4px!important;color:#fff!important}.Roulette__lowertable{margin-top:8px;margin-left:80px;margin-right:80px;border-collapse:collapse;border:2px solid #fff;border-spacing:0}.Roulette__lowertable--cell{border:2px solid #fff;padding:0;margin:0}.Roulette__lowertable--betscell{vertical-align:top}.Roulette__lowertable--spinresult{text-align:center;font-size:100px;font-weight:700;vertical-align:middle}.Roulette__lowertable--spinresult-black{background-color:#000}.Roulette__lowertable--spinresult-red{background-color:#db2828}.Roulette__lowertable--spinresult-green{background-color:#20b142}.Roulette__lowertable--spinbutton{margin:0!important;border:none!important;font-size:50px;line-height:60px!important;text-align:center;font-weight:700}.Roulette__lowertable--header{width:1%;text-align:center;font-size:20px;font-weight:700}.Safe__engraving{position:absolute;width:95%;height:96%;left:2.5%;top:2%;border:5px outset #3e4f6a;padding:5px;text-align:center}.Safe__engraving-arrow{color:#35435a}.Safe__engraving-hinge{content:" ";background-color:#191f2a;width:25px;height:40px;position:absolute;right:-15px;margin-top:-20px}.Safe__dialer{margin-bottom:1.25rem}.Safe__dialer .Button{width:80px}.Safe__dialer-right .Button i{z-index:-100}.Safe__dialer-number{color:#bbb;display:inline;background-color:#191f2a;font-size:1.5rem;font-weight:700;padding:0 .5rem}.Safe__contents{border:10px solid #191f2a;background-color:#0f131a;height:calc(85% + 7.5px);text-align:left;padding:5px}.Safe__help{position:absolute;top:73%;left:10px;width:50%;font-family:Comic Sans MS,cursive,sans-serif;font-style:italic;color:#000;box-shadow:5px 5px #111;background-image:linear-gradient(180deg,#b2ae74 0,#8e8b5d);transform:rotate(-1deg)}.Safe__help:before{content:" ";display:block;width:24px;height:40px;background-image:linear-gradient(180deg,transparent 0,#fff);box-shadow:1px 1px #111;opacity:.2;position:absolute;top:-30px;left:calc(50% - 12px);transform:rotate(-5deg)}.Layout,.Layout *{scrollbar-base-color:#1c1c1c;scrollbar-face-color:#3b3b3b;scrollbar-3dlight-color:#252525;scrollbar-highlight-color:#252525;scrollbar-track-color:#1c1c1c;scrollbar-arrow-color:#929292;scrollbar-shadow-color:#3b3b3b}.Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.NtosHeader__left{position:absolute;left:1em}.NtosHeader__right{position:absolute;right:1em}.NtosHeader__icon{margin-top:-.75em;margin-bottom:-.5em;vertical-align:middle}.NtosWindow__header{position:absolute;top:0;left:0;right:0;height:2em;line-height:1.928em;background-color:rgba(0,0,0,.5);font-family:Consolas,monospace;font-size:1.1666666667em;user-select:none;-ms-user-select:none}.NtosWindow__content .Layout__content{margin-top:2em;font-family:Consolas,monospace;font-size:1.1666666667em}.TitleBar{background-color:#363636;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#363636;transition:color .25s,background-color .25s}.TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:hsla(0,0%,100%,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.TitleBar__statusIcon{top:0;left:12px;left:1rem;transition:color .5s;line-height:32px!important;line-height:2.6666666667rem!important}.TitleBar__close,.TitleBar__statusIcon{position:absolute;font-size:20px;font-size:1.6666666667rem}.TitleBar__close{top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.Window{bottom:0;right:0;color:#fff;background-color:#252525;background-image:linear-gradient(180deg,#2a2a2a 0,#202020)}.Window,.Window__titleBar{position:fixed;top:0;left:0}.Window__titleBar{z-index:1;width:100%;height:32px;height:2.6666666667rem}.Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.Window__contentPadding:after{height:0}.Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(62,62,62,.25);pointer-events:none}.Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.Layout__content{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMCIgdmlld0JveD0iMCAwIDQyNSAyMDAiIG9wYWNpdHk9Ii4zMyI+PHBhdGggZD0iTTE3OC4wMDQuMDM5SDEwNi44YTYuNzYxIDYuMDI2IDAgMDAtNi43NjEgNi4wMjV2MTg3Ljg3MmE2Ljc2MSA2LjAyNiAwIDAwNi43NjEgNi4wMjVoNTMuMTA3YTYuNzYxIDYuMDI2IDAgMDA2Ljc2Mi02LjAyNVY5Mi4zOTJsNzIuMjE2IDEwNC43YTYuNzYxIDYuMDI2IDAgMDA1Ljc2IDIuODdIMzE4LjJhNi43NjEgNi4wMjYgMCAwMDYuNzYxLTYuMDI2VjYuMDY0QTYuNzYxIDYuMDI2IDAgMDAzMTguMi4wNGgtNTQuNzE3YTYuNzYxIDYuMDI2IDAgMDAtNi43NiA2LjAyNXYxMDIuNjJMMTgzLjc2MyAyLjkwOWE2Ljc2MSA2LjAyNiAwIDAwLTUuNzYtMi44N3pNNC44NDUgMjIuMTA5QTEzLjQxMiAxMi41MDIgMCAwMTEzLjQ3OC4wMzloNjYuMTE4QTUuMzY1IDUgMCAwMTg0Ljk2IDUuMDR2NzkuODh6TTQyMC4xNTUgMTc3Ljg5MWExMy40MTIgMTIuNTAyIDAgMDEtOC42MzMgMjIuMDdoLTY2LjExOGE1LjM2NSA1IDAgMDEtNS4zNjUtNS4wMDF2LTc5Ljg4eiIvPjwvc3ZnPg==);background-size:70%;background-position:50%;background-repeat:no-repeat}.theme-abductor .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:2px;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-abductor .Button:last-child{margin-right:0;margin-bottom:0}.theme-abductor .Button .fa,.theme-abductor .Button .far,.theme-abductor .Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-abductor .Button--hasContent .fa,.theme-abductor .Button--hasContent .far,.theme-abductor .Button--hasContent .fas{margin-right:.25em}.theme-abductor .Button--hasContent.Button--iconPosition--right .fa,.theme-abductor .Button--hasContent.Button--iconPosition--right .far,.theme-abductor .Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.theme-abductor .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-abductor .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-abductor .Button--circular{border-radius:50%}.theme-abductor .Button--compact{padding:0 .25em;line-height:1.333em}.theme-abductor .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#ad2350;color:#fff}.theme-abductor .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-abductor .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-abductor .Button--color--default:focus,.theme-abductor .Button--color--default:hover{background-color:#c42f60;color:#fff}.theme-abductor .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-abductor .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-abductor .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-abductor .Button--color--caution:focus,.theme-abductor .Button--color--caution:hover{background-color:#d67313;color:#fff}.theme-abductor .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-abductor .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-abductor .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-abductor .Button--color--danger:focus,.theme-abductor .Button--color--danger:hover{background-color:#afb30a;color:#fff}.theme-abductor .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#2a314a;color:#fff;background-color:rgba(42,49,74,0);color:hsla(0,0%,100%,.5)}.theme-abductor .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-abductor .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-abductor .Button--color--transparent:focus,.theme-abductor .Button--color--transparent:hover{background-color:#373e59;color:#fff}.theme-abductor .Button--disabled{background-color:#363636!important}.theme-abductor .Button--selected{transition:color 50ms,background-color 50ms;background-color:#465899;color:#fff}.theme-abductor .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-abductor .Button--selected:focus{transition:color .1s,background-color .1s}.theme-abductor .Button--selected:focus,.theme-abductor .Button--selected:hover{background-color:#5569ad;color:#fff}.theme-abductor .NoticeBox{padding:.33em .5em;margin-bottom:.5em;box-shadow:none;font-weight:700;font-style:italic;color:#fff;background-color:#a82d55;background-image:repeating-linear-gradient(-45deg,transparent,transparent .8333333333em,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 1.6666666667em)}.theme-abductor .NoticeBox--type--info{color:#fff;background-color:#235982}.theme-abductor .NoticeBox--type--success{color:#fff;background-color:#1e662f}.theme-abductor .NoticeBox--type--warning{color:#fff;background-color:#a95219}.theme-abductor .NoticeBox--type--danger{color:#fff;background-color:#8f2828}.theme-abductor .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #404b6e;border:.0833333333em solid rgba(64,75,110,.75);border-radius:2px;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-abductor .Input--fluid{display:block;width:auto}.theme-abductor .Input__baseline{display:inline-block;color:transparent}.theme-abductor .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.theme-abductor .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.theme-abductor .Input--monospace .Input__input{font-family:Consolas,monospace}.theme-abductor .NumberInput{position:relative;display:inline-block;border:.0833333333em solid #404b6e;border:.0833333333em solid rgba(64,75,110,.75);border-radius:2px;color:#404b6e;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.theme-abductor .NumberInput--fluid{display:block}.theme-abductor .NumberInput__content{margin-left:.5em}.theme-abductor .NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.theme-abductor .NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #404b6e;background-color:#404b6e}.theme-abductor .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#0a0a0a;color:#fff;text-align:right}.theme-abductor .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:2px;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-abductor .ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.theme-abductor .ProgressBar__fill--animated{transition:background-color .5s,width .5s}.theme-abductor .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-abductor .ProgressBar--color--default{border:.0833333333em solid #931e44}.theme-abductor .ProgressBar--color--default .ProgressBar__fill{background-color:#931e44}.theme-abductor .Section{position:relative;margin-bottom:.5em;background-color:#1c2132;background-color:rgba(0,0,0,.33);box-sizing:border-box}.theme-abductor .Section:last-child{margin-bottom:0}.theme-abductor .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #ad2350}.theme-abductor .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.theme-abductor .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-abductor .Section__content{padding:.66em .5em}.theme-abductor .Section--fill{display:flex;flex-direction:column;height:100%}.theme-abductor .Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.theme-abductor .Section--fill .Section__content{flex-grow:1}.theme-abductor .Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-abductor .Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.theme-abductor .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-abductor .Section--level--1 .Section__titleText{font-size:1.1666666667em}.theme-abductor .Section--level--2 .Section__titleText{font-size:1.0833333333em}.theme-abductor .Section--level--3 .Section__titleText{font-size:1em}.theme-abductor .Section--level--2,.theme-abductor .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.theme-abductor .Tooltip{position:absolute;top:0;left:0;right:0;bottom:0;font-style:normal;font-weight:400}.theme-abductor .Tooltip:after{position:absolute;display:block;white-space:pre;z-index:2;padding:.5em .75em;transform:translateX(-50%);pointer-events:none;visibility:hidden;opacity:0;text-align:left;content:attr(data-tooltip);transition:all .15s;background-color:#a82d55;box-shadow:.1em .1em 1.25em -.1em rgba(0,0,0,.5);border-radius:2px}.theme-abductor .Tooltip:hover:after{transition:all 70ms;pointer-events:none;visibility:visible;opacity:1}.theme-abductor .Tooltip--long:after{width:20.8333333333em;white-space:normal}.theme-abductor .Tooltip--top:after{bottom:100%;left:50%;transform:translateX(-50%) translateY(.5em)}.theme-abductor .Tooltip--top:hover:after{transform:translateX(-50%) translateY(-.5em)}.theme-abductor .Tooltip--top-left:after{bottom:100%;right:50%;transform:translateX(12px) translateY(8px)}.theme-abductor .Tooltip--top-left:hover:after{transform:translateX(12px) translateY(-8px)}.theme-abductor .Tooltip--top-right:after{top:0;right:0;transform:translateX(100%) translateY(-50%)}.theme-abductor .Tooltip--top-right:hover:after{transform:translateX(100%) translateY(-100%)}.theme-abductor .Tooltip--bottom:after{top:100%;left:50%;transform:translateX(-50%) translateY(-.5em)}.theme-abductor .Tooltip--bottom:hover:after{transform:translateX(-50%) translateY(.5em)}.theme-abductor .Tooltip--bottom-left:after{top:100%;right:50%;transform:translateX(12px) translateY(-.5em)}.theme-abductor .Tooltip--bottom-left:hover:after{transform:translateX(12px) translateY(.5em)}.theme-abductor .Tooltip--bottom-right:after{top:100%;left:50%;transform:translateX(-12px) translateY(-.5em)}.theme-abductor .Tooltip--bottom-right:hover:after{transform:translateX(-12px) translateY(.5em)}.theme-abductor .Tooltip--left:after{top:50%;right:100%;transform:translateX(.5em) translateY(-50%)}.theme-abductor .Tooltip--left:hover:after,.theme-abductor .Tooltip--right:after{transform:translateX(-.5em) translateY(-50%)}.theme-abductor .Tooltip--right:after{top:50%;left:100%}.theme-abductor .Tooltip--right:hover:after{transform:translateX(.5em) translateY(-50%)}.theme-abductor .Layout,.theme-abductor .Layout *{scrollbar-base-color:#202538;scrollbar-face-color:#384263;scrollbar-3dlight-color:#2a314a;scrollbar-highlight-color:#2a314a;scrollbar-track-color:#202538;scrollbar-arrow-color:#818db8;scrollbar-shadow-color:#384263}.theme-abductor .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-abductor .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-abductor .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#2a314a;background-image:linear-gradient(180deg,#353e5e 0,#1f2436)}.theme-abductor .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-abductor .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-abductor .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-abductor .Window__contentPadding:after{height:0}.theme-abductor .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-abductor .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(68,76,104,.25);pointer-events:none}.theme-abductor .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-abductor .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-abductor .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-abductor .TitleBar{background-color:#9e1b46;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-abductor .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#9e1b46;transition:color .25s,background-color .25s}.theme-abductor .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-abductor .TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:hsla(0,0%,100%,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.theme-abductor .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-abductor .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-abductor .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-abductor .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-abductor .Layout__content{background-image:none}.theme-cardtable .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:0;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-cardtable .Button:last-child{margin-right:0;margin-bottom:0}.theme-cardtable .Button .fa,.theme-cardtable .Button .far,.theme-cardtable .Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-cardtable .Button--hasContent .fa,.theme-cardtable .Button--hasContent .far,.theme-cardtable .Button--hasContent .fas{margin-right:.25em}.theme-cardtable .Button--hasContent.Button--iconPosition--right .fa,.theme-cardtable .Button--hasContent.Button--iconPosition--right .far,.theme-cardtable .Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.theme-cardtable .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-cardtable .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-cardtable .Button--circular{border-radius:50%}.theme-cardtable .Button--compact{padding:0 .25em;line-height:1.333em}.theme-cardtable .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#117039;color:#fff}.theme-cardtable .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--color--default:focus,.theme-cardtable .Button--color--default:hover{background-color:#1c8247;color:#fff}.theme-cardtable .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-cardtable .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--color--caution:focus,.theme-cardtable .Button--color--caution:hover{background-color:#d67313;color:#fff}.theme-cardtable .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-cardtable .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--color--danger:focus,.theme-cardtable .Button--color--danger:hover{background-color:#afb30a;color:#fff}.theme-cardtable .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#117039;color:#fff;background-color:rgba(17,112,57,0);color:hsla(0,0%,100%,.5)}.theme-cardtable .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--color--transparent:focus,.theme-cardtable .Button--color--transparent:hover{background-color:#1c8247;color:#fff}.theme-cardtable .Button--disabled{background-color:#363636!important}.theme-cardtable .Button--selected{transition:color 50ms,background-color 50ms;background-color:#9d0808;color:#fff}.theme-cardtable .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--selected:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--selected:focus,.theme-cardtable .Button--selected:hover{background-color:#b31212;color:#fff}.theme-cardtable .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:0;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-cardtable .Input--fluid{display:block;width:auto}.theme-cardtable .Input__baseline{display:inline-block;color:transparent}.theme-cardtable .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.theme-cardtable .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.theme-cardtable .Input--monospace .Input__input{font-family:Consolas,monospace}.theme-cardtable .NumberInput{position:relative;display:inline-block;border:.0833333333em solid #fff;border:.0833333333em solid hsla(0,0%,100%,.75);border-radius:0;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.theme-cardtable .NumberInput--fluid{display:block}.theme-cardtable .NumberInput__content{margin-left:.5em}.theme-cardtable .NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.theme-cardtable .NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #fff;background-color:#fff}.theme-cardtable .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#0a0a0a;color:#fff;text-align:right}.theme-cardtable .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:0;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-cardtable .ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.theme-cardtable .ProgressBar__fill--animated{transition:background-color .5s,width .5s}.theme-cardtable .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-cardtable .ProgressBar--color--default{border:.0833333333em solid #000}.theme-cardtable .ProgressBar--color--default .ProgressBar__fill{background-color:#000}.theme-cardtable .Section{position:relative;margin-bottom:.5em;background-color:#0b4b26;background-color:rgba(0,0,0,.33);box-sizing:border-box}.theme-cardtable .Section:last-child{margin-bottom:0}.theme-cardtable .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #000}.theme-cardtable .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.theme-cardtable .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-cardtable .Section__content{padding:.66em .5em}.theme-cardtable .Section--fill{display:flex;flex-direction:column;height:100%}.theme-cardtable .Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.theme-cardtable .Section--fill .Section__content{flex-grow:1}.theme-cardtable .Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-cardtable .Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.theme-cardtable .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-cardtable .Section--level--1 .Section__titleText{font-size:1.1666666667em}.theme-cardtable .Section--level--2 .Section__titleText{font-size:1.0833333333em}.theme-cardtable .Section--level--3 .Section__titleText{font-size:1em}.theme-cardtable .Section--level--2,.theme-cardtable .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.theme-cardtable .Layout,.theme-cardtable .Layout *{scrollbar-base-color:#0d542b;scrollbar-face-color:#16914a;scrollbar-3dlight-color:#117039;scrollbar-highlight-color:#117039;scrollbar-track-color:#0d542b;scrollbar-arrow-color:#5ae695;scrollbar-shadow-color:#16914a}.theme-cardtable .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-cardtable .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-cardtable .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#117039;background-image:linear-gradient(180deg,#117039 0,#117039)}.theme-cardtable .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-cardtable .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-cardtable .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-cardtable .Window__contentPadding:after{height:0}.theme-cardtable .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-cardtable .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(39,148,85,.25);pointer-events:none}.theme-cardtable .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-cardtable .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-cardtable .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-cardtable .TitleBar{background-color:#381608;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-cardtable .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#381608;transition:color .25s,background-color .25s}.theme-cardtable .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-cardtable .TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:hsla(0,0%,100%,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.theme-cardtable .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-cardtable .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-cardtable .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-cardtable .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-cardtable .Button{border:.1666666667em solid #fff}.theme-hackerman .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-hackerman .Button:last-child{margin-right:0;margin-bottom:0}.theme-hackerman .Button .fa,.theme-hackerman .Button .far,.theme-hackerman .Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-hackerman .Button--hasContent .fa,.theme-hackerman .Button--hasContent .far,.theme-hackerman .Button--hasContent .fas{margin-right:.25em}.theme-hackerman .Button--hasContent.Button--iconPosition--right .fa,.theme-hackerman .Button--hasContent.Button--iconPosition--right .far,.theme-hackerman .Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.theme-hackerman .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-hackerman .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-hackerman .Button--circular{border-radius:50%}.theme-hackerman .Button--compact{padding:0 .25em;line-height:1.333em}.theme-hackerman .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#0f0;color:#000}.theme-hackerman .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--color--default:focus,.theme-hackerman .Button--color--default:hover{background-color:#26ff26;color:#000}.theme-hackerman .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.theme-hackerman .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--color--caution:focus,.theme-hackerman .Button--color--caution:hover{background-color:#f3d00e;color:#000}.theme-hackerman .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.theme-hackerman .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--color--danger:focus,.theme-hackerman .Button--color--danger:hover{background-color:#d52b2b;color:#fff}.theme-hackerman .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#121b12;color:#fff;background-color:rgba(18,27,18,0);color:hsla(0,0%,100%,.5)}.theme-hackerman .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--color--transparent:focus,.theme-hackerman .Button--color--transparent:hover{background-color:#1d271d;color:#fff}.theme-hackerman .Button--disabled{background-color:#4a6a4a!important}.theme-hackerman .Button--selected{transition:color 50ms,background-color 50ms;background-color:#0f0;color:#000}.theme-hackerman .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--selected:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--selected:focus,.theme-hackerman .Button--selected:hover{background-color:#26ff26;color:#000}.theme-hackerman .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #0f0;border:.0833333333em solid rgba(0,255,0,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-hackerman .Input--fluid{display:block;width:auto}.theme-hackerman .Input__baseline{display:inline-block;color:transparent}.theme-hackerman .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.theme-hackerman .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.theme-hackerman .Input--monospace .Input__input{font-family:Consolas,monospace}.theme-hackerman .Modal{background-color:#121b12;max-width:calc(100% - 1rem);padding:1rem}.theme-hackerman .Section{position:relative;margin-bottom:.5em;background-color:#0c120c;background-color:rgba(0,0,0,.33);box-sizing:border-box}.theme-hackerman .Section:last-child{margin-bottom:0}.theme-hackerman .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #0f0}.theme-hackerman .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.theme-hackerman .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-hackerman .Section__content{padding:.66em .5em}.theme-hackerman .Section--fill{display:flex;flex-direction:column;height:100%}.theme-hackerman .Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.theme-hackerman .Section--fill .Section__content{flex-grow:1}.theme-hackerman .Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-hackerman .Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.theme-hackerman .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-hackerman .Section--level--1 .Section__titleText{font-size:1.1666666667em}.theme-hackerman .Section--level--2 .Section__titleText{font-size:1.0833333333em}.theme-hackerman .Section--level--3 .Section__titleText{font-size:1em}.theme-hackerman .Section--level--2,.theme-hackerman .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.theme-hackerman .Layout,.theme-hackerman .Layout *{scrollbar-base-color:#0e140e;scrollbar-face-color:#253725;scrollbar-3dlight-color:#121b12;scrollbar-highlight-color:#121b12;scrollbar-track-color:#0e140e;scrollbar-arrow-color:#74a274;scrollbar-shadow-color:#253725}.theme-hackerman .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-hackerman .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-hackerman .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#121b12;background-image:linear-gradient(180deg,#121b12 0,#121b12)}.theme-hackerman .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-hackerman .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-hackerman .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-hackerman .Window__contentPadding:after{height:0}.theme-hackerman .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-hackerman .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(40,50,40,.25);pointer-events:none}.theme-hackerman .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-hackerman .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-hackerman .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-hackerman .TitleBar{background-color:#223d22;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-hackerman .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#223d22;transition:color .25s,background-color .25s}.theme-hackerman .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-hackerman .TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:hsla(0,0%,100%,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.theme-hackerman .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-hackerman .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-hackerman .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-hackerman .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-hackerman .Layout__content{background-image:none}.theme-hackerman .Button{font-family:monospace;border:.1666666667em outset #0a0;outline:.0833333333em solid #007a00}.theme-hackerman .candystripe:nth-child(odd){background-color:rgba(0,100,0,.5)}.theme-malfunction .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-malfunction .Button:last-child{margin-right:0;margin-bottom:0}.theme-malfunction .Button .fa,.theme-malfunction .Button .far,.theme-malfunction .Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-malfunction .Button--hasContent .fa,.theme-malfunction .Button--hasContent .far,.theme-malfunction .Button--hasContent .fas{margin-right:.25em}.theme-malfunction .Button--hasContent.Button--iconPosition--right .fa,.theme-malfunction .Button--hasContent.Button--iconPosition--right .far,.theme-malfunction .Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.theme-malfunction .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-malfunction .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-malfunction .Button--circular{border-radius:50%}.theme-malfunction .Button--compact{padding:0 .25em;line-height:1.333em}.theme-malfunction .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#910101;color:#fff}.theme-malfunction .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-malfunction .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-malfunction .Button--color--default:focus,.theme-malfunction .Button--color--default:hover{background-color:#a60b0b;color:#fff}.theme-malfunction .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-malfunction .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-malfunction .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-malfunction .Button--color--caution:focus,.theme-malfunction .Button--color--caution:hover{background-color:#d67313;color:#fff}.theme-malfunction .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-malfunction .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-malfunction .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-malfunction .Button--color--danger:focus,.theme-malfunction .Button--color--danger:hover{background-color:#afb30a;color:#fff}.theme-malfunction .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#1b3443;color:#fff;background-color:rgba(27,52,67,0);color:hsla(0,0%,100%,.5)}.theme-malfunction .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-malfunction .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-malfunction .Button--color--transparent:focus,.theme-malfunction .Button--color--transparent:hover{background-color:#274252;color:#fff}.theme-malfunction .Button--disabled{background-color:#363636!important}.theme-malfunction .Button--selected{transition:color 50ms,background-color 50ms;background-color:#1e5881;color:#fff}.theme-malfunction .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-malfunction .Button--selected:focus{transition:color .1s,background-color .1s}.theme-malfunction .Button--selected:focus,.theme-malfunction .Button--selected:hover{background-color:#2a6894;color:#fff}.theme-malfunction .NoticeBox{padding:.33em .5em;margin-bottom:.5em;box-shadow:none;font-weight:700;font-style:italic;color:#fff;background-color:#1a3f57;background-image:repeating-linear-gradient(-45deg,transparent,transparent .8333333333em,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 1.6666666667em)}.theme-malfunction .NoticeBox--type--info{color:#fff;background-color:#235982}.theme-malfunction .NoticeBox--type--success{color:#fff;background-color:#1e662f}.theme-malfunction .NoticeBox--type--warning{color:#fff;background-color:#a95219}.theme-malfunction .NoticeBox--type--danger{color:#fff;background-color:#8f2828}.theme-malfunction .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #910101;border:.0833333333em solid rgba(145,1,1,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-malfunction .Input--fluid{display:block;width:auto}.theme-malfunction .Input__baseline{display:inline-block;color:transparent}.theme-malfunction .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.theme-malfunction .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.theme-malfunction .Input--monospace .Input__input{font-family:Consolas,monospace}.theme-malfunction .NumberInput{position:relative;display:inline-block;border:.0833333333em solid #910101;border:.0833333333em solid rgba(145,1,1,.75);border-radius:.16em;color:#910101;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.theme-malfunction .NumberInput--fluid{display:block}.theme-malfunction .NumberInput__content{margin-left:.5em}.theme-malfunction .NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.theme-malfunction .NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #910101;background-color:#910101}.theme-malfunction .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#0a0a0a;color:#fff;text-align:right}.theme-malfunction .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:.16em;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-malfunction .ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.theme-malfunction .ProgressBar__fill--animated{transition:background-color .5s,width .5s}.theme-malfunction .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-malfunction .ProgressBar--color--default{border:.0833333333em solid #7b0101}.theme-malfunction .ProgressBar--color--default .ProgressBar__fill{background-color:#7b0101}.theme-malfunction .Section{position:relative;margin-bottom:.5em;background-color:#12232d;background-color:rgba(0,0,0,.33);box-sizing:border-box}.theme-malfunction .Section:last-child{margin-bottom:0}.theme-malfunction .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #910101}.theme-malfunction .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.theme-malfunction .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-malfunction .Section__content{padding:.66em .5em}.theme-malfunction .Section--fill{display:flex;flex-direction:column;height:100%}.theme-malfunction .Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.theme-malfunction .Section--fill .Section__content{flex-grow:1}.theme-malfunction .Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-malfunction .Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.theme-malfunction .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-malfunction .Section--level--1 .Section__titleText{font-size:1.1666666667em}.theme-malfunction .Section--level--2 .Section__titleText{font-size:1.0833333333em}.theme-malfunction .Section--level--3 .Section__titleText{font-size:1em}.theme-malfunction .Section--level--2,.theme-malfunction .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.theme-malfunction .Tooltip{position:absolute;top:0;left:0;right:0;bottom:0;font-style:normal;font-weight:400}.theme-malfunction .Tooltip:after{position:absolute;display:block;white-space:pre;z-index:2;padding:.5em .75em;transform:translateX(-50%);pointer-events:none;visibility:hidden;opacity:0;text-align:left;content:attr(data-tooltip);transition:all .15s;background-color:#235577;box-shadow:.1em .1em 1.25em -.1em rgba(0,0,0,.5);border-radius:.16em}.theme-malfunction .Tooltip:hover:after{transition:all 70ms;pointer-events:none;visibility:visible;opacity:1}.theme-malfunction .Tooltip--long:after{width:20.8333333333em;white-space:normal}.theme-malfunction .Tooltip--top:after{bottom:100%;left:50%;transform:translateX(-50%) translateY(.5em)}.theme-malfunction .Tooltip--top:hover:after{transform:translateX(-50%) translateY(-.5em)}.theme-malfunction .Tooltip--top-left:after{bottom:100%;right:50%;transform:translateX(12px) translateY(8px)}.theme-malfunction .Tooltip--top-left:hover:after{transform:translateX(12px) translateY(-8px)}.theme-malfunction .Tooltip--top-right:after{top:0;right:0;transform:translateX(100%) translateY(-50%)}.theme-malfunction .Tooltip--top-right:hover:after{transform:translateX(100%) translateY(-100%)}.theme-malfunction .Tooltip--bottom:after{top:100%;left:50%;transform:translateX(-50%) translateY(-.5em)}.theme-malfunction .Tooltip--bottom:hover:after{transform:translateX(-50%) translateY(.5em)}.theme-malfunction .Tooltip--bottom-left:after{top:100%;right:50%;transform:translateX(12px) translateY(-.5em)}.theme-malfunction .Tooltip--bottom-left:hover:after{transform:translateX(12px) translateY(.5em)}.theme-malfunction .Tooltip--bottom-right:after{top:100%;left:50%;transform:translateX(-12px) translateY(-.5em)}.theme-malfunction .Tooltip--bottom-right:hover:after{transform:translateX(-12px) translateY(.5em)}.theme-malfunction .Tooltip--left:after{top:50%;right:100%;transform:translateX(.5em) translateY(-50%)}.theme-malfunction .Tooltip--left:hover:after,.theme-malfunction .Tooltip--right:after{transform:translateX(-.5em) translateY(-50%)}.theme-malfunction .Tooltip--right:after{top:50%;left:100%}.theme-malfunction .Tooltip--right:hover:after{transform:translateX(.5em) translateY(-50%)}.theme-malfunction .Layout,.theme-malfunction .Layout *{scrollbar-base-color:#142732;scrollbar-face-color:#274b61;scrollbar-3dlight-color:#1b3443;scrollbar-highlight-color:#1b3443;scrollbar-track-color:#142732;scrollbar-arrow-color:#6ba2c3;scrollbar-shadow-color:#274b61}.theme-malfunction .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-malfunction .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-malfunction .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#1b3443;background-image:linear-gradient(180deg,#244559 0,#12232d)}.theme-malfunction .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-malfunction .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-malfunction .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-malfunction .Window__contentPadding:after{height:0}.theme-malfunction .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-malfunction .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(50,79,96,.25);pointer-events:none}.theme-malfunction .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-malfunction .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-malfunction .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-malfunction .TitleBar{background-color:#1a3f57;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-malfunction .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#1a3f57;transition:color .25s,background-color .25s}.theme-malfunction .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-malfunction .TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:hsla(0,0%,100%,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.theme-malfunction .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-malfunction .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-malfunction .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-malfunction .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-malfunction .Layout__content{background-image:none}.theme-neutral .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-neutral .Button:last-child{margin-right:0;margin-bottom:0}.theme-neutral .Button .fa,.theme-neutral .Button .far,.theme-neutral .Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-neutral .Button--hasContent .fa,.theme-neutral .Button--hasContent .far,.theme-neutral .Button--hasContent .fas{margin-right:.25em}.theme-neutral .Button--hasContent.Button--iconPosition--right .fa,.theme-neutral .Button--hasContent.Button--iconPosition--right .far,.theme-neutral .Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.theme-neutral .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-neutral .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-neutral .Button--circular{border-radius:50%}.theme-neutral .Button--compact{padding:0 .25em;line-height:1.333em}.theme-neutral .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#b37d00;color:#fff}.theme-neutral .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-neutral .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-neutral .Button--color--default:focus,.theme-neutral .Button--color--default:hover{background-color:#c9900a;color:#fff}.theme-neutral .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.theme-neutral .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-neutral .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-neutral .Button--color--caution:focus,.theme-neutral .Button--color--caution:hover{background-color:#f3d00e;color:#000}.theme-neutral .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.theme-neutral .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-neutral .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-neutral .Button--color--danger:focus,.theme-neutral .Button--color--danger:hover{background-color:#d52b2b;color:#fff}.theme-neutral .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#996b00;color:#fff;background-color:rgba(153,107,0,0);color:#ffca4d}.theme-neutral .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-neutral .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-neutral .Button--color--transparent:focus,.theme-neutral .Button--color--transparent:hover{background-color:#ae7d0a;color:#fff}.theme-neutral .Button--disabled{background-color:#999!important}.theme-neutral .Button--selected{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.theme-neutral .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-neutral .Button--selected:focus{transition:color .1s,background-color .1s}.theme-neutral .Button--selected:focus,.theme-neutral .Button--selected:hover{background-color:#27ab46;color:#fff}.theme-neutral .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:.16em;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-neutral .ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.theme-neutral .ProgressBar__fill--animated{transition:background-color .5s,width .5s}.theme-neutral .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-neutral .ProgressBar--color--default{border:.0833333333em solid #ffb300}.theme-neutral .ProgressBar--color--default .ProgressBar__fill{background-color:#ffb300}.theme-neutral .Section{position:relative;margin-bottom:.5em;background-color:#674800;background-color:rgba(0,0,0,.33);box-sizing:border-box}.theme-neutral .Section:last-child{margin-bottom:0}.theme-neutral .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #ffb300}.theme-neutral .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.theme-neutral .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-neutral .Section__content{padding:.66em .5em}.theme-neutral .Section--fill{display:flex;flex-direction:column;height:100%}.theme-neutral .Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.theme-neutral .Section--fill .Section__content{flex-grow:1}.theme-neutral .Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-neutral .Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.theme-neutral .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-neutral .Section--level--1 .Section__titleText{font-size:1.1666666667em}.theme-neutral .Section--level--2 .Section__titleText{font-size:1.0833333333em}.theme-neutral .Section--level--3 .Section__titleText{font-size:1em}.theme-neutral .Section--level--2,.theme-neutral .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.theme-neutral .Layout,.theme-neutral .Layout *{scrollbar-base-color:#735100;scrollbar-face-color:#bd8400;scrollbar-3dlight-color:#996b00;scrollbar-highlight-color:#996b00;scrollbar-track-color:#735100;scrollbar-arrow-color:#ffca4d;scrollbar-shadow-color:#bd8400}.theme-neutral .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-neutral .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-neutral .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#996b00;background-image:linear-gradient(180deg,#b88100 0,#7a5600)}.theme-neutral .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-neutral .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-neutral .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-neutral .Window__contentPadding:after{height:0}.theme-neutral .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-neutral .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(195,143,19,.25);pointer-events:none}.theme-neutral .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-neutral .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-neutral .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-neutral .TitleBar{background-color:#bf8600;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-neutral .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#bf8600;transition:color .25s,background-color .25s}.theme-neutral .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-neutral .TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:hsla(0,0%,100%,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.theme-neutral .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-neutral .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-neutral .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-neutral .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-neutral .Layout__content{background-image:url(data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgZGF0YS1wcmVmaXg9ImZhcyIgZGF0YS1pY29uPSJ1c2VyLXNlY3JldCIgY2xhc3M9InN2Zy1pbmxpbmUtLWZhIGZhLXVzZXItc2VjcmV0IGZhLXctMTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ0OCA1MTIiIG9wYWNpdHk9Ii4zMyI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMzgzLjkgMzA4LjNsMjMuOS02Mi42YzQtMTAuNS0zLjctMjEuNy0xNS0yMS43aC01OC41YzExLTE4LjkgMTcuOC00MC42IDE3LjgtNjR2LS4zYzM5LjItNy44IDY0LTE5LjEgNjQtMzEuNyAwLTEzLjMtMjcuMy0yNS4xLTcwLjEtMzMtOS4yLTMyLjgtMjctNjUuOC00MC42LTgyLjgtOS41LTExLjktMjUuOS0xNS42LTM5LjUtOC44bC0yNy42IDEzLjhjLTkgNC41LTE5LjYgNC41LTI4LjYgMEwxODIuMSAzLjRjLTEzLjYtNi44LTMwLTMuMS0zOS41IDguOC0xMy41IDE3LTMxLjQgNTAtNDAuNiA4Mi44LTQyLjcgNy45LTcwIDE5LjctNzAgMzMgMCAxMi42IDI0LjggMjMuOSA2NCAzMS43di4zYzAgMjMuNCA2LjggNDUuMSAxNy44IDY0SDU2LjNjLTExLjUgMC0xOS4yIDExLjctMTQuNyAyMi4zbDI1LjggNjAuMkMyNy4zIDMyOS44IDAgMzcyLjcgMCA0MjIuNHY0NC44QzAgNDkxLjkgMjAuMSA1MTIgNDQuOCA1MTJoMzU4LjRjMjQuNyAwIDQ0LjgtMjAuMSA0NC44LTQ0Ljh2LTQ0LjhjMC00OC40LTI1LjgtOTAuNC02NC4xLTExNC4xek0xNzYgNDgwbC00MS42LTE5MiA0OS42IDMyIDI0IDQwLTMyIDEyMHptOTYgMGwtMzItMTIwIDI0LTQwIDQ5LjYtMzJMMjcyIDQ4MHptNDEuNy0yOTguNWMtMy45IDExLjktNyAyNC42LTE2LjUgMzMuNC0xMC4xIDkuMy00OCAyMi40LTY0LTI1LTIuOC04LjQtMTUuNC04LjQtMTguMyAwLTE3IDUwLjItNTYgMzIuNC02NCAyNS05LjUtOC44LTEyLjctMjEuNS0xNi41LTMzLjQtLjgtMi41LTYuMy01LjctNi4zLTUuOHYtMTAuOGMyOC4zIDMuNiA2MSA1LjggOTYgNS44czY3LjctMi4xIDk2LTUuOHYxMC44Yy0uMS4xLTUuNiAzLjItNi40IDUuOHoiLz48L3N2Zz4=)}.theme-ntos .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-ntos .Button:last-child{margin-right:0;margin-bottom:0}.theme-ntos .Button .fa,.theme-ntos .Button .far,.theme-ntos .Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-ntos .Button--hasContent .fa,.theme-ntos .Button--hasContent .far,.theme-ntos .Button--hasContent .fas{margin-right:.25em}.theme-ntos .Button--hasContent.Button--iconPosition--right .fa,.theme-ntos .Button--hasContent.Button--iconPosition--right .far,.theme-ntos .Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.theme-ntos .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-ntos .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-ntos .Button--circular{border-radius:50%}.theme-ntos .Button--compact{padding:0 .25em;line-height:1.333em}.theme-ntos .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#384e68;color:#fff}.theme-ntos .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--color--default:focus,.theme-ntos .Button--color--default:hover{background-color:#465e7a;color:#fff}.theme-ntos .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.theme-ntos .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--color--caution:focus,.theme-ntos .Button--color--caution:hover{background-color:#f3d00e;color:#000}.theme-ntos .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.theme-ntos .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--color--danger:focus,.theme-ntos .Button--color--danger:hover{background-color:#d52b2b;color:#fff}.theme-ntos .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#1f2b39;color:#fff;background-color:rgba(31,43,57,0);color:rgba(227,240,255,.75)}.theme-ntos .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--color--transparent:focus,.theme-ntos .Button--color--transparent:hover{background-color:#2b3847;color:#fff}.theme-ntos .Button--disabled{background-color:#999!important}.theme-ntos .Button--selected{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.theme-ntos .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--selected:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--selected:focus,.theme-ntos .Button--selected:hover{background-color:#27ab46;color:#fff}.theme-ntos .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:.16em;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-ntos .ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.theme-ntos .ProgressBar__fill--animated{transition:background-color .5s,width .5s}.theme-ntos .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-ntos .ProgressBar--color--default{border:.0833333333em solid #384e68}.theme-ntos .ProgressBar--color--default .ProgressBar__fill{background-color:#384e68}.theme-ntos .Section{position:relative;margin-bottom:.5em;background-color:#151d26;background-color:rgba(0,0,0,.33);box-sizing:border-box}.theme-ntos .Section:last-child{margin-bottom:0}.theme-ntos .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #4972a1}.theme-ntos .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.theme-ntos .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-ntos .Section__content{padding:.66em .5em}.theme-ntos .Section--fill{display:flex;flex-direction:column;height:100%}.theme-ntos .Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.theme-ntos .Section--fill .Section__content{flex-grow:1}.theme-ntos .Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-ntos .Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.theme-ntos .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-ntos .Section--level--1 .Section__titleText{font-size:1.1666666667em}.theme-ntos .Section--level--2 .Section__titleText{font-size:1.0833333333em}.theme-ntos .Section--level--3 .Section__titleText{font-size:1em}.theme-ntos .Section--level--2,.theme-ntos .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.theme-ntos .Layout,.theme-ntos .Layout *{scrollbar-base-color:#17202b;scrollbar-face-color:#2e3f55;scrollbar-3dlight-color:#1f2b39;scrollbar-highlight-color:#1f2b39;scrollbar-track-color:#17202b;scrollbar-arrow-color:#7693b5;scrollbar-shadow-color:#2e3f55}.theme-ntos .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-ntos .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-ntos .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#1f2b39;background-image:linear-gradient(180deg,#223040 0,#1b2633)}.theme-ntos .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-ntos .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-ntos .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-ntos .Window__contentPadding:after{height:0}.theme-ntos .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-ntos .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(55,69,85,.25);pointer-events:none}.theme-ntos .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-ntos .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-ntos .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-ntos .TitleBar{background-color:#2a3b4e;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-ntos .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#2a3b4e;transition:color .25s,background-color .25s}.theme-ntos .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-ntos .TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:hsla(0,0%,100%,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.theme-ntos .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-ntos .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-ntos .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-ntos .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-paper .Tabs{display:flex;align-items:stretch;overflow:hidden}.theme-paper .Tabs--vertical{flex-direction:column}.theme-paper .Tabs--horizontal{margin-bottom:.5em}.theme-paper .Tabs--horizontal:last-child{margin-bottom:0}.theme-paper .Tabs__Tab{flex-grow:0}.theme-paper .Tabs--fluid .Tabs__Tab{flex-grow:1}.theme-paper .Tab{display:flex;align-items:center;justify-content:space-between;color:hsla(0,0%,100%,.5);min-height:2.25em;min-width:4em}.theme-paper .Tab--selected{color:#fafafa}.theme-paper .Tab__text{flex-grow:1;margin:0 .5em}.theme-paper .Tab__left{min-width:1.5em;text-align:center;margin-left:.25em}.theme-paper .Tab__right{min-width:1.5em;text-align:center;margin-right:.25em}.theme-paper .Tabs--horizontal .Tab{border-top:.1666666667em solid transparent;border-bottom:.1666666667em solid transparent}.theme-paper .Tabs--horizontal .Tab--selected{border-bottom:.1666666667em solid #f9f9f9}.theme-paper .Tabs--vertical .Tab{min-height:2em;border-left:.1666666667em solid transparent;border-right:.1666666667em solid transparent}.theme-paper .Tabs--vertical .Tab--selected{border-right:.1666666667em solid #f9f9f9}.theme-paper .Section{position:relative;margin-bottom:.5em;background-color:#e6e6e6;background-color:rgba(0,0,0,.1);box-sizing:border-box}.theme-paper .Section:last-child{margin-bottom:0}.theme-paper .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #fff}.theme-paper .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#000}.theme-paper .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-paper .Section__content{padding:.66em .5em}.theme-paper .Section--fill{display:flex;flex-direction:column;height:100%}.theme-paper .Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.theme-paper .Section--fill .Section__content{flex-grow:1}.theme-paper .Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-paper .Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.theme-paper .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-paper .Section--level--1 .Section__titleText{font-size:1.1666666667em}.theme-paper .Section--level--2 .Section__titleText{font-size:1.0833333333em}.theme-paper .Section--level--3 .Section__titleText{font-size:1em}.theme-paper .Section--level--2,.theme-paper .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.theme-paper .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-paper .Button:last-child{margin-right:0;margin-bottom:0}.theme-paper .Button .fa,.theme-paper .Button .far,.theme-paper .Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-paper .Button--hasContent .fa,.theme-paper .Button--hasContent .far,.theme-paper .Button--hasContent .fas{margin-right:.25em}.theme-paper .Button--hasContent.Button--iconPosition--right .fa,.theme-paper .Button--hasContent.Button--iconPosition--right .far,.theme-paper .Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.theme-paper .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-paper .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-paper .Button--circular{border-radius:50%}.theme-paper .Button--compact{padding:0 .25em;line-height:1.333em}.theme-paper .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#e8e4c9;color:#000}.theme-paper .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-paper .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-paper .Button--color--default:focus,.theme-paper .Button--color--default:hover{background-color:#f7f6ee;color:#000}.theme-paper .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-paper .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-paper .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-paper .Button--color--caution:focus,.theme-paper .Button--color--caution:hover{background-color:#d67313;color:#fff}.theme-paper .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-paper .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-paper .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-paper .Button--color--danger:focus,.theme-paper .Button--color--danger:hover{background-color:#afb30a;color:#fff}.theme-paper .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#fff;color:#000;background-color:hsla(0,0%,100%,0);color:rgba(0,0,0,.5)}.theme-paper .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-paper .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-paper .Button--color--transparent:focus,.theme-paper .Button--color--transparent:hover{background-color:#fff;color:#000}.theme-paper .Button--disabled{background-color:#363636!important}.theme-paper .Button--selected{transition:color 50ms,background-color 50ms;background-color:#9d0808;color:#fff}.theme-paper .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-paper .Button--selected:focus{transition:color .1s,background-color .1s}.theme-paper .Button--selected:focus,.theme-paper .Button--selected:hover{background-color:#b31212;color:#fff}.theme-paper .Layout,.theme-paper .Layout *{scrollbar-base-color:#bfbfbf;scrollbar-face-color:#fff;scrollbar-3dlight-color:#fff;scrollbar-highlight-color:#fff;scrollbar-track-color:#bfbfbf;scrollbar-arrow-color:#fff;scrollbar-shadow-color:#fff}.theme-paper .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-paper .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-paper .Window{position:fixed;top:0;bottom:0;left:0;right:0;background-color:#fff;background-image:linear-gradient(180deg,#fff 0,#fff)}.theme-paper .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-paper .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-paper .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-paper .Window__contentPadding:after{height:0}.theme-paper .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-paper .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:hsla(0,0%,100%,.25);pointer-events:none}.theme-paper .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-paper .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-paper .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-paper .TitleBar{background-color:#fff;border-bottom:1px solid rgba(0,0,0,.25);box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-paper .TitleBar__clickable{color:rgba(0,0,0,.5);background-color:#fff;transition:color .25s,background-color .25s}.theme-paper .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-paper .TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:rgba(0,0,0,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.theme-paper .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-paper .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-paper .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-paper .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-paper .PaperInput{position:relative;display:inline-block;width:120px;background:transparent;border:none;border-bottom:1px solid #000;outline:none;background-color:rgba(255,255,62,.8);padding:0 4px;margin-right:2px;line-height:17px;overflow:visible}.theme-paper .PaperInput__baseline{display:inline-block;color:transparent}.theme-paper .PaperInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:12px;line-height:17px;height:17px;margin:0;padding:0 6px;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.theme-paper .PaperInput__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.theme-paper .Layout__content,.theme-paper .Window{background-image:none}.theme-paper .Window{color:#000}.theme-paper .paper-field,.theme-paper .paper-field input:disabled,.theme-paper .paper-text input,.theme-paper .paper-text input:disabled{position:relative;display:inline-block;background:transparent;border:none;border-bottom:1px solid #000;outline:none;background-color:rgba(255,255,62,.8);padding:0 4px;margin-right:2px;line-height:17px;overflow:visible}.theme-retro .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:0;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-retro .Button:last-child{margin-right:0;margin-bottom:0}.theme-retro .Button .fa,.theme-retro .Button .far,.theme-retro .Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-retro .Button--hasContent .fa,.theme-retro .Button--hasContent .far,.theme-retro .Button--hasContent .fas{margin-right:.25em}.theme-retro .Button--hasContent.Button--iconPosition--right .fa,.theme-retro .Button--hasContent.Button--iconPosition--right .far,.theme-retro .Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.theme-retro .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-retro .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-retro .Button--circular{border-radius:50%}.theme-retro .Button--compact{padding:0 .25em;line-height:1.333em}.theme-retro .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#e8e4c9;color:#000}.theme-retro .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-retro .Button--color--default:focus,.theme-retro .Button--color--default:hover{background-color:#f7f6ee;color:#000}.theme-retro .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-retro .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-retro .Button--color--caution:focus,.theme-retro .Button--color--caution:hover{background-color:#d67313;color:#fff}.theme-retro .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-retro .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-retro .Button--color--danger:focus,.theme-retro .Button--color--danger:hover{background-color:#afb30a;color:#fff}.theme-retro .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#e8e4c9;color:#000;background-color:rgba(232,228,201,0);color:hsla(0,0%,100%,.5)}.theme-retro .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-retro .Button--color--transparent:focus,.theme-retro .Button--color--transparent:hover{background-color:#f7f6ee;color:#000}.theme-retro .Button--disabled{background-color:#363636!important}.theme-retro .Button--selected{transition:color 50ms,background-color 50ms;background-color:#9d0808;color:#fff}.theme-retro .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--selected:focus{transition:color .1s,background-color .1s}.theme-retro .Button--selected:focus,.theme-retro .Button--selected:hover{background-color:#b31212;color:#fff}.theme-retro .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:0;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-retro .ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.theme-retro .ProgressBar__fill--animated{transition:background-color .5s,width .5s}.theme-retro .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-retro .ProgressBar--color--default{border:.0833333333em solid #000}.theme-retro .ProgressBar--color--default .ProgressBar__fill{background-color:#000}.theme-retro .Section{position:relative;margin-bottom:.5em;background-color:#9b9987;background-color:rgba(0,0,0,.33);box-sizing:border-box}.theme-retro .Section:last-child{margin-bottom:0}.theme-retro .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #000}.theme-retro .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.theme-retro .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-retro .Section__content{padding:.66em .5em}.theme-retro .Section--fill{display:flex;flex-direction:column;height:100%}.theme-retro .Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.theme-retro .Section--fill .Section__content{flex-grow:1}.theme-retro .Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-retro .Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.theme-retro .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-retro .Section--level--1 .Section__titleText{font-size:1.1666666667em}.theme-retro .Section--level--2 .Section__titleText{font-size:1.0833333333em}.theme-retro .Section--level--3 .Section__titleText{font-size:1em}.theme-retro .Section--level--2,.theme-retro .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.theme-retro .Layout,.theme-retro .Layout *{scrollbar-base-color:#c8be7d;scrollbar-face-color:#eae7ce;scrollbar-3dlight-color:#e8e4c9;scrollbar-highlight-color:#e8e4c9;scrollbar-track-color:#c8be7d;scrollbar-arrow-color:#f4f2e4;scrollbar-shadow-color:#eae7ce}.theme-retro .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-retro .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-retro .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#e8e4c9;background-image:linear-gradient(180deg,#e8e4c9 0,#e8e4c9)}.theme-retro .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-retro .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-retro .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-retro .Window__contentPadding:after{height:0}.theme-retro .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-retro .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(251,250,246,.25);pointer-events:none}.theme-retro .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-retro .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-retro .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-retro .TitleBar{background-color:#585337;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-retro .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#585337;transition:color .25s,background-color .25s}.theme-retro .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-retro .TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:hsla(0,0%,100%,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.theme-retro .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-retro .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-retro .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-retro .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-retro .Button{font-family:monospace;color:#161613;border:.1666666667em outset #e8e4c9;outline:.0833333333em solid #161613}.theme-retro .Layout__content{background-image:none}.theme-syndicate .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-syndicate .Button:last-child{margin-right:0;margin-bottom:0}.theme-syndicate .Button .fa,.theme-syndicate .Button .far,.theme-syndicate .Button .fas{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-syndicate .Button--hasContent .fa,.theme-syndicate .Button--hasContent .far,.theme-syndicate .Button--hasContent .fas{margin-right:.25em}.theme-syndicate .Button--hasContent.Button--iconPosition--right .fa,.theme-syndicate .Button--hasContent.Button--iconPosition--right .far,.theme-syndicate .Button--hasContent.Button--iconPosition--right .fas{margin-right:0;margin-left:3px}.theme-syndicate .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-syndicate .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-syndicate .Button--circular{border-radius:50%}.theme-syndicate .Button--compact{padding:0 .25em;line-height:1.333em}.theme-syndicate .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#397439;color:#fff}.theme-syndicate .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--color--default:focus,.theme-syndicate .Button--color--default:hover{background-color:#478647;color:#fff}.theme-syndicate .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-syndicate .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--color--caution:focus,.theme-syndicate .Button--color--caution:hover{background-color:#d67313;color:#fff}.theme-syndicate .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-syndicate .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--color--danger:focus,.theme-syndicate .Button--color--danger:hover{background-color:#afb30a;color:#fff}.theme-syndicate .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#550202;color:#fff;background-color:rgba(85,2,2,0);color:hsla(0,0%,100%,.5)}.theme-syndicate .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--color--transparent:focus,.theme-syndicate .Button--color--transparent:hover{background-color:#650c0c;color:#fff}.theme-syndicate .Button--disabled{background-color:#363636!important}.theme-syndicate .Button--selected{transition:color 50ms,background-color 50ms;background-color:#9d0808;color:#fff}.theme-syndicate .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--selected:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--selected:focus,.theme-syndicate .Button--selected:hover{background-color:#b31212;color:#fff}.theme-syndicate .NoticeBox{padding:.33em .5em;margin-bottom:.5em;box-shadow:none;font-weight:700;font-style:italic;color:#fff;background-color:#910101;background-image:repeating-linear-gradient(-45deg,transparent,transparent .8333333333em,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 1.6666666667em)}.theme-syndicate .NoticeBox--type--info{color:#fff;background-color:#235982}.theme-syndicate .NoticeBox--type--success{color:#fff;background-color:#1e662f}.theme-syndicate .NoticeBox--type--warning{color:#fff;background-color:#a95219}.theme-syndicate .NoticeBox--type--danger{color:#fff;background-color:#8f2828}.theme-syndicate .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #87ce87;border:.0833333333em solid rgba(135,206,135,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-syndicate .Input--fluid{display:block;width:auto}.theme-syndicate .Input__baseline{display:inline-block;color:transparent}.theme-syndicate .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.theme-syndicate .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.theme-syndicate .Input--monospace .Input__input{font-family:Consolas,monospace}.theme-syndicate .NumberInput{position:relative;display:inline-block;border:.0833333333em solid #87ce87;border:.0833333333em solid rgba(135,206,135,.75);border-radius:.16em;color:#87ce87;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.theme-syndicate .NumberInput--fluid{display:block}.theme-syndicate .NumberInput__content{margin-left:.5em}.theme-syndicate .NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.theme-syndicate .NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #87ce87;background-color:#87ce87}.theme-syndicate .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#0a0a0a;color:#fff;text-align:right}.theme-syndicate .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:.16em;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-syndicate .ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.theme-syndicate .ProgressBar__fill--animated{transition:background-color .5s,width .5s}.theme-syndicate .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-syndicate .ProgressBar--color--default{border:.0833333333em solid #306330}.theme-syndicate .ProgressBar--color--default .ProgressBar__fill{background-color:#306330}.theme-syndicate .Section{position:relative;margin-bottom:.5em;background-color:#390101;background-color:rgba(0,0,0,.33);box-sizing:border-box}.theme-syndicate .Section:last-child{margin-bottom:0}.theme-syndicate .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #397439}.theme-syndicate .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.theme-syndicate .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-syndicate .Section__content{padding:.66em .5em}.theme-syndicate .Section--fill{display:flex;flex-direction:column;height:100%}.theme-syndicate .Section--scrollable .Section__content{overflow-y:scroll;overflow-x:hidden}.theme-syndicate .Section--fill .Section__content{flex-grow:1}.theme-syndicate .Section--iefix.Section--fill{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-syndicate .Section--iefix.Section--fill .Section__content{display:table-row!important;height:100%!important}.theme-syndicate .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-syndicate .Section--level--1 .Section__titleText{font-size:1.1666666667em}.theme-syndicate .Section--level--2 .Section__titleText{font-size:1.0833333333em}.theme-syndicate .Section--level--3 .Section__titleText{font-size:1em}.theme-syndicate .Section--level--2,.theme-syndicate .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-.5em;margin-right:-.5em}.theme-syndicate .Tooltip{position:absolute;top:0;left:0;right:0;bottom:0;font-style:normal;font-weight:400}.theme-syndicate .Tooltip:after{position:absolute;display:block;white-space:pre;z-index:2;padding:.5em .75em;transform:translateX(-50%);pointer-events:none;visibility:hidden;opacity:0;text-align:left;content:attr(data-tooltip);transition:all .15s;background-color:#4a0202;box-shadow:.1em .1em 1.25em -.1em rgba(0,0,0,.5);border-radius:.16em}.theme-syndicate .Tooltip:hover:after{transition:all 70ms;pointer-events:none;visibility:visible;opacity:1}.theme-syndicate .Tooltip--long:after{width:20.8333333333em;white-space:normal}.theme-syndicate .Tooltip--top:after{bottom:100%;left:50%;transform:translateX(-50%) translateY(.5em)}.theme-syndicate .Tooltip--top:hover:after{transform:translateX(-50%) translateY(-.5em)}.theme-syndicate .Tooltip--top-left:after{bottom:100%;right:50%;transform:translateX(12px) translateY(8px)}.theme-syndicate .Tooltip--top-left:hover:after{transform:translateX(12px) translateY(-8px)}.theme-syndicate .Tooltip--top-right:after{top:0;right:0;transform:translateX(100%) translateY(-50%)}.theme-syndicate .Tooltip--top-right:hover:after{transform:translateX(100%) translateY(-100%)}.theme-syndicate .Tooltip--bottom:after{top:100%;left:50%;transform:translateX(-50%) translateY(-.5em)}.theme-syndicate .Tooltip--bottom:hover:after{transform:translateX(-50%) translateY(.5em)}.theme-syndicate .Tooltip--bottom-left:after{top:100%;right:50%;transform:translateX(12px) translateY(-.5em)}.theme-syndicate .Tooltip--bottom-left:hover:after{transform:translateX(12px) translateY(.5em)}.theme-syndicate .Tooltip--bottom-right:after{top:100%;left:50%;transform:translateX(-12px) translateY(-.5em)}.theme-syndicate .Tooltip--bottom-right:hover:after{transform:translateX(-12px) translateY(.5em)}.theme-syndicate .Tooltip--left:after{top:50%;right:100%;transform:translateX(.5em) translateY(-50%)}.theme-syndicate .Tooltip--left:hover:after,.theme-syndicate .Tooltip--right:after{transform:translateX(-.5em) translateY(-50%)}.theme-syndicate .Tooltip--right:after{top:50%;left:100%}.theme-syndicate .Tooltip--right:hover:after{transform:translateX(.5em) translateY(-50%)}.theme-syndicate .Layout,.theme-syndicate .Layout *{scrollbar-base-color:#400202;scrollbar-face-color:#7e0303;scrollbar-3dlight-color:#550202;scrollbar-highlight-color:#550202;scrollbar-track-color:#400202;scrollbar-arrow-color:#fa3030;scrollbar-shadow-color:#7e0303}.theme-syndicate .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-syndicate .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-syndicate .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#550202;background-image:linear-gradient(180deg,#730303 0,#370101)}.theme-syndicate .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-syndicate .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-syndicate .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-syndicate .Window__contentPadding:after{height:0}.theme-syndicate .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-syndicate .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(117,22,22,.25);pointer-events:none}.theme-syndicate .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-syndicate .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-syndicate .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-syndicate .TitleBar{background-color:#910101;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-syndicate .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#910101;transition:color .25s,background-color .25s}.theme-syndicate .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-syndicate .TitleBar__title{position:absolute;top:0;left:46px;left:3.8333333333rem;color:hsla(0,0%,100%,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap}.theme-syndicate .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-syndicate .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-syndicate .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-syndicate .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-syndicate .Layout__content{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMCIgdmlld0JveD0iMCAwIDIwMCAyODkuNzQyIiBvcGFjaXR5PSIuMzMiPjxwYXRoIGQ9Ik05My41MzggMGMtMTguMTEzIDAtMzQuMjIgMy4xMTItNDguMzI0IDkuMzM0LTEzLjk2NSA2LjIyMi0yNC42MTIgMTUuMDcyLTMxLjk0IDI2LjU0N0M2LjA4NCA0Ny4yMiAyLjk3MiA2MC42MzEgMi45NzIgNzYuMTE2YzAgMTAuNjQ3IDIuNzI1IDIwLjQ2NSA4LjE3NSAyOS40NTMgNS42MTYgOC45ODcgMTQuMDM5IDE3LjM1MiAyNS4yNyAyNS4wOTQgMTEuMjMgNy42MDYgMjYuNTA3IDE1LjQxOSA0NS44MyAyMy40MzggMTkuOTg0IDguMjk2IDM0Ljg0OSAxNS41NTUgNDQuNTkzIDIxLjc3NiA5Ljc0NCA2LjIyMyAxNi43NjEgMTIuODU5IDIxLjA1NSAxOS45MSA0LjI5NSA3LjA1MiA2LjQ0MiAxNS43NjQgNi40NDIgMjYuMTM0IDAgMTYuMTc4LTUuMjAyIDI4LjQ4My0xNS42MDYgMzYuOTE3LTEwLjI0IDguNDM1LTI1LjAyMiAxMi42NTMtNDQuMzQ1IDEyLjY1My0xNC4wMzkgMC0yNS41MTYtMS42Ni0zNC40MzQtNC45NzgtOC45MTgtMy40NTctMTYuMTg2LTguNzExLTIxLjgtMTUuNzYzLTUuNjE2LTcuMDUyLTEwLjA3Ni0xNi42NjEtMTMuMzc5LTI4LjgyOUgwdjU2LjgyN2MzMy44NTcgNy4zMjggNjMuNzQ5IDEwLjk5NCA4OS42NzggMTAuOTk0IDE2LjAyIDAgMzAuNzItMS4zODMgNDQuMDk4LTQuMTQ4IDEzLjU0Mi0yLjkwNCAyNS4xMDQtNy40NjcgMzQuNjgzLTEzLjY5IDkuNzQ0LTYuMzU5IDE3LjM0LTE0LjUxOSAyMi43OS0yNC40NzQgNS40NS0xMC4wOTMgOC4xNzUtMjIuNCA4LjE3NS0zNi45MTcgMC0xMi45OTctMy4zMDItMjQuMzM1LTkuOTA4LTM0LjAxNC02LjQ0LTkuODE4LTE1LjUyNS0xOC41MjctMjcuMjUxLTI2LjEzMi0xMS41NjEtNy42MDQtMjcuOTExLTE1LjgzMS00OS4wNTEtMjQuNjgtMTcuNTA2LTcuMTktMzAuNzItMTMuNjktMzkuNjM4LTE5LjQ5N1M1NC45NjkgOTMuNzU2IDQ5LjQ3OSA4Ny4zMTZjLTUuNDI2LTYuMzY2LTkuNjU4LTE1LjA3LTkuNjU4LTI0Ljg4NyAwLTkuMjY0IDIuMDc1LTE3LjIxNCA2LjIyMy0yMy44NUM1Ny4xNDIgMjQuMTggODcuMzMxIDM2Ljc4MiA5MS4xMiA2Mi45MjVjNC44NCA2Ljc3NSA4Ljg1IDE2LjI0NyAxMi4wMyAyOC40MTVoMjAuNTMydi01NmMtNC40NzktNS45MjQtOS45NTUtMTAuNjMxLTE1LjkwOS0xNC4zNzMgMS42NC40NzkgMy4xOSAxLjAyMyA0LjYzOSAxLjY0IDYuNDk4IDIuNjI2IDEyLjE2OCA3LjMyNyAxNy4wMDcgMTQuMTAzIDQuODQgNi43NzUgOC44NSAxNi4yNDYgMTIuMDMgMjguNDE0IDAgMCA4LjQ4LS4xMjkgOC40OS0uMDAyLjQxNyA2LjQxNS0xLjc1NCA5LjQ1My00LjEyNCAxMi41NjEtMi40MTcgMy4xNy01LjE0NSA2Ljc5LTQuMDAzIDEzLjAwMyAxLjUwOCA4LjIwMyAxMC4xODQgMTAuNTk3IDE0LjYyMiA5LjMxMi0zLjMxOC0uNS01LjMxOC0xLjc1LTUuMzE4LTEuNzVzMS44NzYuOTk5IDUuNjUtMS4zNmMtMy4yNzYuOTU2LTEwLjcwNC0uNzk3LTExLjgtNi43NjMtLjk1OC01LjIwOC45NDYtNy4yOTUgMy40LTEwLjUxNCAyLjQ1NS0zLjIyIDUuMjg1LTYuOTU5IDQuNjg1LTE0LjQ4OWwuMDAzLjAwMmg4LjkyN3YtNTZjLTE1LjA3Mi0zLjg3MS0yNy42NTMtNi4zNi0zNy43NDctNy40NjVDMTE0LjI3OS41NTIgMTA0LjA0NiAwIDkzLjUzNyAwem03MC4zMjEgMTcuMzA5bC4yMzggNDAuMzA1YzEuMzE4IDEuMjI2IDIuNDQgMi4yNzggMy4zNDEgMy4xMDYgNC44NCA2Ljc3NSA4Ljg1IDE2LjI0NiAxMi4wMyAyOC40MTRIMjAwdi01NmMtNi42NzctNC41OTQtMTkuODM2LTEwLjQ3My0zNi4xNC0xNS44MjV6bS0yOC4xMiA1LjYwNWw4LjU2NSAxNy43MTdjLTExLjk3LTYuNDY3LTEzLjg0Ny05LjcxNy04LjU2NS0xNy43MTd6bTIyLjc5NyAwYzIuNzcxIDggMS43ODcgMTEuMjUtNC40OTQgMTcuNzE3bDQuNDk0LTE3LjcxN3ptMTUuMjIyIDI0LjAwOWw4LjU2NSAxNy43MTZjLTExLjk3LTYuNDY2LTEzLjg0Ny05LjcxNy04LjU2NS0xNy43MTZ6bTIyLjc5NyAwYzIuNzcxIDggMS43ODcgMTEuMjUtNC40OTQgMTcuNzE2bDQuNDk0LTE3LjcxNnpNOTcuNDQgNDkuMTNsOC41NjUgMTcuNzE2Yy0xMS45Ny02LjQ2Ny0xMy44NDctOS43MTctOC41NjUtMTcuNzE2em0yMi43OTUgMGMyLjc3MiA3Ljk5OSAxLjc4OCAxMS4yNS00LjQ5MyAxNy43MTZsNC40OTMtMTcuNzE2eiIvPjwvc3ZnPg==)} \ No newline at end of file diff --git a/tgui/public/tgui.bundle.js b/tgui/public/tgui.bundle.js index 6c8d3ddf24a..da58c309841 100644 --- a/tgui/public/tgui.bundle.js +++ b/tgui/public/tgui.bundle.js @@ -1 +1 @@ -!function(e){function t(t){for(var o,c,i=t[0],l=t[1],d=t[2],s=0,m=[];s0&&g.flatMap((function(e){return e.items||[]})).filter(L).filter((function(e,t){return t<25}))||(null==(l=g.find((function(e){return e.name===_})))?void 0:l.items)||[];return(0,o.createComponentVNode)(2,c.Section,{title:(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:s>0?"good":"bad",children:[(0,i.formatMoney)(s)," ",p]}),buttons:(0,o.createFragment)([(0,o.createTextVNode)("Search"),(0,o.createComponentVNode)(2,c.Input,{autoFocus:!0,value:x,onInput:function(e,t){return k(t)},mx:1}),(0,o.createComponentVNode)(2,c.Button,{icon:V?"list":"info",content:V?"Compact":"Detailed",onClick:function(){return h("compact_toggle")}}),!!b&&(0,o.createComponentVNode)(2,c.Button,{icon:"lock",content:"Lock",onClick:function(){return h("lock")}})],0),children:(0,o.createComponentVNode)(2,c.Flex,{children:[0===x.length&&(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.Tabs,{vertical:!0,children:g.map((function(e){var t;return(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:e.name===_,onClick:function(){return w(e.name)},children:[e.name," (",(null==(t=e.items)?void 0:t.length)||0,")"]},e.name)}))})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,basis:0,children:[0===y.length&&(0,o.createComponentVNode)(2,c.NoticeBox,{children:0===x.length?"No items in this category.":"No results found."}),(0,o.createComponentVNode)(2,u,{compactMode:x.length>0||V,currencyAmount:s,currencySymbol:p,items:y})]})]})})};t.GenericUplink=d;var u=function(e,t){var n=e.compactMode,l=e.currencyAmount,d=e.currencySymbol,u=(0,a.useBackend)(t).act,s=(0,a.useLocalState)(t,"hoveredItem",{}),m=s[0],p=s[1],C=m&&m.cost||0,h=e.items.map((function(e){var t=m&&m.name!==e.name,n=l-C50?"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,d.Box,{inline:!0,width:"36px",textAlign:"right",children:(0,c.toFixed)(n)+"%"})],4)};t.AreaCharge=C,C.defaultHooks=i.pureComponentHooks;var h=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,d.ColorBox,{color:n?"good":"bad",content:r?undefined:"M",title:a})};h.defaultHooks=i.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.CargoCatalog=t.CargoContent=t.Cargo=void 0;var o=n(0),r=n(10),a=n(2),c=n(1),i=n(42),l=n(3);t.Cargo=function(e,t){return(0,o.createComponentVNode)(2,l.Window,{width:780,height:750,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,d)})})};var d=function(e,t){var n=(0,a.useBackend)(t),r=(n.act,n.data),i=(0,a.useSharedState)(t,"tab","catalog"),l=i[0],d=i[1],p=r.requestonly,h=r.cart||[],N=r.requests||[];return(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,u),(0,o.createComponentVNode)(2,c.Section,{fitted:!0,children:(0,o.createComponentVNode)(2,c.Tabs,{children:[(0,o.createComponentVNode)(2,c.Tabs.Tab,{icon:"list",selected:"catalog"===l,onClick:function(){return d("catalog")},children:"Catalog"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{icon:"envelope",textColor:"requests"!==l&&N.length>0&&"yellow",selected:"requests"===l,onClick:function(){return d("requests")},children:["Requests (",N.length,")"]}),!p&&(0,o.createComponentVNode)(2,c.Tabs.Tab,{icon:"shopping-cart",textColor:"cart"!==l&&h.length>0&&"yellow",selected:"cart"===l,onClick:function(){return d("cart")},children:["Checkout (",h.length,")"]})]})}),"catalog"===l&&(0,o.createComponentVNode)(2,s),"requests"===l&&(0,o.createComponentVNode)(2,m),"cart"===l&&(0,o.createComponentVNode)(2,C)]})};t.CargoContent=d;var u=function(e,t){var n=(0,a.useBackend)(t),r=n.act,l=n.data,d=l.away,u=l.docked,s=l.loan,m=l.loan_dispatched,p=l.location,C=l.message,h=l.points,N=l.requestonly,V=l.can_send;return(0,o.createComponentVNode)(2,c.Section,{title:"Cargo",buttons:(0,o.createComponentVNode)(2,c.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:h,format:function(e){return(0,i.formatMoney)(e)}})," credits"]}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Shuttle",children:u&&!N&&V&&(0,o.createComponentVNode)(2,c.Button,{content:p,onClick:function(){return r("send")}})||p}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"CentCom Message",children:C}),!!s&&!N&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Loan",children:!m&&(0,o.createComponentVNode)(2,c.Button,{content:"Loan Shuttle",disabled:!(d&&u),onClick:function(){return r("loan")}})||(0,o.createComponentVNode)(2,c.Box,{color:"bad",children:"Loaned to Centcom"})})]})})},s=function(e,t){var n,l=e.express,d=(0,a.useBackend)(t),u=d.act,s=d.data,m=s.self_paid,C=s.app_cost,h=(0,r.toArray)(s.supplies),N=(0,a.useSharedState)(t,"supply",null==(n=h[0])?void 0:n.name),V=N[0],b=N[1],f=h.find((function(e){return e.name===V}));return(0,o.createComponentVNode)(2,c.Section,{title:"Catalog",buttons:!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,p),(0,o.createComponentVNode)(2,c.Button.Checkbox,{ml:2,content:"Buy Privately",checked:m,onClick:function(){return u("toggleprivate")}})],4),children:(0,o.createComponentVNode)(2,c.Flex,{children:[(0,o.createComponentVNode)(2,c.Flex.Item,{ml:-1,mr:1,children:(0,o.createComponentVNode)(2,c.Tabs,{vertical:!0,children:h.map((function(e){return(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:e.name===V,onClick:function(){return b(e.name)},children:[e.name," (",e.packs.length,")"]},e.name)}))})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,c.Table,{children:null==f?void 0:f.packs.map((function(e){var t=[];return e.small_item&&t.push("Small"),e.access&&t.push("Restricted"),(0,o.createComponentVNode)(2,c.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,color:"label",textAlign:"right",children:t.join(", ")}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,c.Button,{fluid:!0,tooltip:e.desc,tooltipPosition:"left",onClick:function(){return u("add",{id:e.id})},children:[(0,i.formatMoney)(m&&!e.goody||C?Math.round(1.1*e.cost):e.cost)," cr"]})})]},e.name)}))})})]})})};t.CargoCatalog=s;var m=function(e,t){var n=(0,a.useBackend)(t),r=n.act,l=n.data,d=l.requestonly,u=l.can_send,s=l.can_approve_requests,m=l.requests||[];return(0,o.createComponentVNode)(2,c.Section,{title:"Active Requests",buttons:!d&&(0,o.createComponentVNode)(2,c.Button,{icon:"times",content:"Clear",color:"transparent",onClick:function(){return r("denyall")}}),children:[0===m.length&&(0,o.createComponentVNode)(2,c.Box,{color:"good",children:"No Requests"}),m.length>0&&(0,o.createComponentVNode)(2,c.Table,{children:m.map((function(e){return(0,o.createComponentVNode)(2,c.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,color:"label",children:["#",e.id]}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:e.object}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:(0,o.createVNode)(1,"b",null,e.orderer,0)}),(0,o.createComponentVNode)(2,c.Table.Cell,{width:"25%",children:(0,o.createVNode)(1,"i",null,e.reason,0)}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"right",children:[(0,i.formatMoney)(e.cost)," cr"]}),(!d||u)&&s&&(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,c.Button,{icon:"check",color:"good",onClick:function(){return r("approve",{id:e.id})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"times",color:"bad",onClick:function(){return r("deny",{id:e.id})}})]})]},e.id)}))})]})},p=function(e,t){var n=(0,a.useBackend)(t),r=n.act,l=n.data,d=l.requestonly,u=l.can_send,s=l.can_approve_requests,m=l.cart||[],p=m.reduce((function(e,t){return e+t.cost}),0);return!d&&u&&s?(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Box,{inline:!0,mx:1,children:[0===m.length&&"Cart is empty",1===m.length&&"1 item",m.length>=2&&m.length+" items"," ",p>0&&"("+(0,i.formatMoney)(p)+" cr)"]}),(0,o.createComponentVNode)(2,c.Button,{icon:"times",color:"transparent",content:"Clear",onClick:function(){return r("clear")}})],4):null},C=function(e,t){var n=(0,a.useBackend)(t),r=n.act,l=n.data,d=l.requestonly,u=l.away,s=l.docked,m=l.location,C=l.can_send,h=l.cart||[];return(0,o.createComponentVNode)(2,c.Section,{title:"Current Cart",buttons:(0,o.createComponentVNode)(2,p),children:[0===h.length&&(0,o.createComponentVNode)(2,c.Box,{color:"label",children:"Nothing in cart"}),h.length>0&&(0,o.createComponentVNode)(2,c.Table,{children:h.map((function(e){return(0,o.createComponentVNode)(2,c.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,color:"label",children:["#",e.id]}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:e.object}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,children:!!e.paid&&(0,o.createVNode)(1,"b",null,"[Paid Privately]",16)}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"right",children:[(0,i.formatMoney)(e.cost)," cr"]}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,children:C&&(0,o.createComponentVNode)(2,c.Button,{icon:"minus",onClick:function(){return r("remove",{id:e.id})}})})]},e.id)}))}),h.length>0&&!d&&(0,o.createComponentVNode)(2,c.Box,{mt:2,children:1===u&&1===s&&(0,o.createComponentVNode)(2,c.Button,{color:"green",style:{"line-height":"28px",padding:"0 12px"},content:"Confirm the order",onClick:function(){return r("send")}})||(0,o.createComponentVNode)(2,c.Box,{opacity:.5,children:["Shuttle in ",m,"."]})})]})}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";t.__esModule=!0,t.AiRestorerContent=t.AiRestorer=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.AiRestorer=function(){return(0,o.createComponentVNode)(2,c.Window,{width:370,height:360,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i)})})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.AI_present,d=i.error,u=i.name,s=i.laws,m=i.isDead,p=i.restoring,C=i.health,h=i.ejectable;return(0,o.createFragment)([d&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:d}),!!h&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"eject",content:l?u:"----------",disabled:!l,onClick:function(){return c("PRG_eject")}}),!!l&&(0,o.createComponentVNode)(2,a.Section,{title:h?"System Status":u,buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:m?"bad":"good",children:m?"Nonfunctional":"Functional"}),children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:C,minValue:0,maxValue:100,ranges:{good:[70,Infinity],average:[50,70],bad:[-Infinity,50]}})})}),!!p&&(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"20px",color:"good",mt:1,children:"RECONSTRUCTION IN PROGRESS"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"plus",content:"Begin Reconstruction",disabled:p,mt:1,onClick:function(){return c("PRG_beginReconstruction")}}),(0,o.createComponentVNode)(2,a.Section,{title:"Laws",level:2,children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{className:"candystripe",children:e},e)}))})]})],0)};t.AiRestorerContent=i},function(e,t,n){"use strict";t.__esModule=!0,t.AccessList=void 0;var o=n(0),r=n(10),a=n(2),c=n(1);function i(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n0?"good":"bad",children:i>0?"Earned "+i+" times":"Locked"})||(0,o.createComponentVNode)(2,a.Box,{color:i?"good":"bad",children:i?"Unlocked":"Locked"})]})]},n)},d=function(e,t){var n=(0,r.useBackend)(t).data,c=n.highscore,i=n.user_ckey,l=(0,r.useLocalState)(t,"highscore",0),d=l[0],u=l[1],s=c[d];if(!s)return null;var m=Object.keys(s.scores).map((function(e){return{ckey:e,value:s.scores[e]}}));return(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:c.map((function(e,t){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:d===t,onClick:function(){return u(t)},children:e.name},e.name)}))})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:"#"}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:"Key"}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:"Score"})]}),m.map((function(e,t){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:t+1}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:e.ckey===i&&"green",textAlign:"center",children:[0===t&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"yellow",mr:2}),e.ckey,0===t&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"yellow",ml:2})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:e.value})]},e.ckey)}))]})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.AiAirlock=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i={2:{color:"good",localStatusText:"Offline"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Optimal"}};t.AiAirlock=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=i[d.power.main]||i[0],s=i[d.power.backup]||i[0],m=i[d.shock]||i[0];return(0,o.createComponentVNode)(2,c.Window,{width:500,height:390,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(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:u.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!d.power.main,content:"Disrupt",onClick:function(){return l("disrupt-main")}}),children:[d.power.main?"Online":"Offline"," ",d.wires.main_1&&d.wires.main_2?d.power.main_timeleft>0&&"["+d.power.main_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Backup",color:s.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!d.power.backup,content:"Disrupt",onClick:function(){return l("disrupt-backup")}}),children:[d.power.backup?"Online":"Offline"," ",d.wires.backup_1&&d.wires.backup_2?d.power.backup_timeleft>0&&"["+d.power.backup_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Electrify",color:m.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",disabled:!(d.wires.shock&&0===d.shock),content:"Restore",onClick:function(){return l("shock-restore")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!d.wires.shock,content:"Temporary",onClick:function(){return l("shock-temp")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!d.wires.shock,content:"Permanent",onClick:function(){return l("shock-perm")}})],4),children:[2===d.shock?"Safe":"Electrified"," ",(d.wires.shock?d.shock_timeleft>0&&"["+d.shock_timeleft+"s]":"[Wires have been cut!]")||-1===d.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:d.id_scanner?"power-off":"times",content:d.id_scanner?"Enabled":"Disabled",selected:d.id_scanner,disabled:!d.wires.id_scanner,onClick:function(){return l("idscan-toggle")}}),children:!d.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:d.emergency?"power-off":"times",content:d.emergency?"Enabled":"Disabled",selected:d.emergency,onClick:function(){return l("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:d.locked?"lock":"unlock",content:d.locked?"Lowered":"Raised",selected:d.locked,disabled:!d.wires.bolts,onClick:function(){return l("bolt-toggle")}}),children:!d.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:d.lights?"power-off":"times",content:d.lights?"Enabled":"Disabled",selected:d.lights,disabled:!d.wires.lights,onClick:function(){return l("light-toggle")}}),children:!d.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:d.safe?"power-off":"times",content:d.safe?"Enabled":"Disabled",selected:d.safe,disabled:!d.wires.safe,onClick:function(){return l("safe-toggle")}}),children:!d.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:d.speed?"power-off":"times",content:d.speed?"Enabled":"Disabled",selected:d.speed,disabled:!d.wires.timing,onClick:function(){return l("speed-toggle")}}),children:!d.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:d.opened?"sign-out-alt":"sign-in-alt",content:d.opened?"Open":"Closed",selected:d.opened,disabled:d.locked||d.welded,onClick:function(){return l("open-close")}}),children:!(!d.locked&&!d.welded)&&(0,o.createVNode)(1,"span",null,[(0,o.createTextVNode)("[Door is "),d.locked?"bolted":"",d.locked&&d.welded?" and ":"",d.welded?"welded":"",(0,o.createTextVNode)("!]")],0)})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AirAlarm=void 0;var o=n(0),r=n(8),a=n(2),c=n(1),i=n(3),l=n(494),d=n(65);t.AirAlarm=function(e,t){var n=(0,a.useBackend)(t),r=(n.act,n.data),c=r.locked&&!r.siliconUser;return(0,o.createComponentVNode)(2,i.Window,{width:440,height:650,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,d.InterfaceLockNoticeBox),(0,o.createComponentVNode)(2,u),!c&&(0,o.createComponentVNode)(2,m)]})})};var u=function(e,t){var n=(0,a.useBackend)(t).data,i=(n.environment_data||[]).filter((function(e){return e.value>=.01})),l={0:{color:"good",localStatusText:"Optimal"},1:{color:"average",localStatusText:"Caution"},2:{color:"bad",localStatusText:"Danger (Internals Required)"}},d=l[n.danger_level]||l[0];return(0,o.createComponentVNode)(2,c.Section,{title:"Air Status",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[i.length>0&&(0,o.createFragment)([i.map((function(e){var t=l[e.danger_level]||l[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:d.color,children:d.localStatusText}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Area status",color:n.atmos_alarm||n.fire_alarm?"bad":"good",children:(n.atmos_alarm?"Atmosphere Alarm":n.fire_alarm&&"Fire Alarm")||"Nominal"})],0)||(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Cannot obtain air sample for analysis."}),!!n.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 p}},vents:{title:"Vent Controls",component:function(){return C}},scrubbers:{title:"Scrubber Controls",component:function(){return h}},modes:{title:"Operating Mode",component:function(){return N}},thresholds:{title:"Alarm Thresholds",component:function(){return V}}},m=function(e,t){var n=(0,a.useLocalState)(t,"screen"),r=n[0],i=n[1],l=s[r]||s.home,d=l.component();return(0,o.createComponentVNode)(2,c.Section,{title:l.title,buttons:r&&(0,o.createComponentVNode)(2,c.Button,{icon:"arrow-left",content:"Back",onClick:function(){return i()}}),children:(0,o.createComponentVNode)(2,d)})},p=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=(0,a.useLocalState)(t,"screen"),d=(l[0],l[1]),u=i.mode,s=i.atmos_alarm;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:s?"exclamation-triangle":"exclamation",color:s&&"caution",content:"Area Atmosphere Alarm",onClick:function(){return r(s?"reset":"alarm")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:3===u?"exclamation-triangle":"exclamation",color:3===u&&"danger",content:"Panic Siphon",onClick:function(){return r("mode",{mode:3===u?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 d("vents")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"filter",content:"Scrubber Controls",onClick:function(){return d("scrubbers")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"cog",content:"Operating Mode",onClick:function(){return d("modes")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"chart-bar",content:"Alarm Thresholds",onClick:function(){return d("thresholds")}})],4)},C=function(e,t){var n=(0,a.useBackend)(t).data.vents;return n&&0!==n.length?n.map((function(e){return(0,o.createComponentVNode)(2,l.Vent,{vent:e},e.id_tag)})):"Nothing to show"},h=function(e,t){var n=(0,a.useBackend)(t).data.scrubbers;return n&&0!==n.length?n.map((function(e){return(0,o.createComponentVNode)(2,l.Scrubber,{scrubber:e},e.id_tag)})):"Nothing to show"},N=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data.modes;return i&&0!==i.length?i.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 r("mode",{mode:e.mode})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1})],4,e.mode)})):"Nothing to show"},V=function(e,t){var n=(0,a.useBackend)(t),i=n.act,l=n.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,l.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 i("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.Scrubber=t.Vent=void 0;var o=n(0),r=n(17),a=n(2),c=n(1),i=n(41);t.Vent=function(e,t){var n=e.vent,i=(0,a.useBackend)(t).act,l=n.id_tag,d=n.long_name,u=n.power,s=n.checks,m=n.excheck,p=n.incheck,C=n.direction,h=n.external,N=n.internal,V=n.extdefault,b=n.intdefault;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,r.decodeHtmlEntities)(d),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:u?"power-off":"times",selected:u,content:u?"On":"Off",onClick:function(){return i("power",{id_tag:l,val:Number(!u)})}}),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:"sign-in-alt",content:C?"Pressurizing":"Scrubbing",color:!C&&"danger",onClick:function(){return i("direction",{id_tag:l,val:Number(!C)})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"sign-in-alt",content:"Internal",selected:p,onClick:function(){return i("incheck",{id_tag:l,val:s})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"External",selected:m,onClick:function(){return i("excheck",{id_tag:l,val:s})}})]}),!!p&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Internal Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(N),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,t){return i("set_internal_pressure",{id_tag:l,value:t})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:b,content:"Reset",onClick:function(){return i("reset_internal_pressure",{id_tag:l})}})]}),!!m&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"External Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(h),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,t){return i("set_external_pressure",{id_tag:l,value:t})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:V,content:"Reset",onClick:function(){return i("reset_external_pressure",{id_tag:l})}})]})]})})};t.Scrubber=function(e,t){var n=e.scrubber,l=(0,a.useBackend)(t).act,d=n.long_name,u=n.power,s=n.scrubbing,m=n.id_tag,p=n.widenet,C=n.filter_types;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,r.decodeHtmlEntities)(d),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return l("power",{id_tag:m,val:Number(!u)})}}),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:s?"filter":"sign-in-alt",color:s||"danger",content:s?"Scrubbing":"Siphoning",onClick:function(){return l("scrubbing",{id_tag:m,val:Number(!s)})}}),(0,o.createComponentVNode)(2,c.Button,{icon:p?"expand":"compress",selected:p,content:p?"Expanded range":"Normal range",onClick:function(){return l("widenet",{id_tag:m,val:Number(!p)})}})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Filters",children:s&&C.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,i.getGasLabel)(e.gas_id,e.gas_name),title:e.gas_name,selected:e.enabled,onClick:function(){return l("toggle_filter",{id_tag:m,val:e.gas_id})}},e.gas_id)}))||"N/A"})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AirlockElectronics=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=n(203);t.AirlockElectronics=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.oneAccess,s=d.unres_direction,m=d.regions||[],p=d.accesses||[];return(0,o.createComponentVNode)(2,c.Window,{width:420,height:485,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(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:u?"unlock":"lock",content:u?"One":"All",onClick:function(){return l("one_access")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Unrestricted Access",children:[(0,o.createComponentVNode)(2,a.Button,{icon:1&s?"check-square-o":"square-o",content:"North",selected:1&s,onClick:function(){return l("direc_set",{unres_direction:"1"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:2&s?"check-square-o":"square-o",content:"South",selected:2&s,onClick:function(){return l("direc_set",{unres_direction:"2"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:4&s?"check-square-o":"square-o",content:"East",selected:4&s,onClick:function(){return l("direc_set",{unres_direction:"4"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:8&s?"check-square-o":"square-o",content:"West",selected:8&s,onClick:function(){return l("direc_set",{unres_direction:"8"})}})]})]})}),(0,o.createComponentVNode)(2,i.AccessList,{accesses:m,selectedList:p,accessMod:function(e){return l("set",{access:e})},grantAll:function(){return l("grant_all")},denyAll:function(){return l("clear_all")},grantDep:function(e){return l("grant_region",{region:e})},denyDep:function(e){return l("deny_region",{region:e})}})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Loader=t.AlertModal=void 0;var o=n(0),r=n(8),a=n(2),c=n(1),i=n(3);t.AlertModal=function(e,t){var n=(0,a.useBackend)(t),r=n.act,d=n.data,u=d.title,s=d.message,m=d.buttons,p=d.timeout;return(0,o.createComponentVNode)(2,i.Window,{title:u,width:350,height:150,resizable:!0,children:[p!==undefined&&(0,o.createComponentVNode)(2,l,{value:p}),(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c.Flex,{direction:"column",height:"100%",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Flex,{direction:"column",className:"AlertModal__Message",height:"100%",children:(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.Box,{m:1,children:s})})})}),(0,o.createComponentVNode)(2,c.Flex.Item,{my:2,children:(0,o.createComponentVNode)(2,c.Flex,{className:"AlertModal__Buttons",children:m.map((function(e){return(0,o.createComponentVNode)(2,c.Flex.Item,{mx:1,children:(0,o.createComponentVNode)(2,c.Button,{px:3,onClick:function(){return r("choose",{choice:e})},children:e})},e)}))})})]})})]})};var l=function(e){var t=e.value;return(0,o.createVNode)(1,"div","AlertModal__Loader",(0,o.createComponentVNode)(2,c.Box,{className:"AlertModal__LoaderProgress",style:{width:100*(0,r.clamp01)(t)+"%"}}),2)};t.Loader=l},function(e,t,n){"use strict";t.__esModule=!0,t.Apc=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=n(65);t.Apc=function(e,t){return(0,o.createComponentVNode)(2,c.Window,{width:450,height:445,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,u)})})};var l={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"}},u=function(e,t){var n=(0,r.useBackend)(t),c=n.act,u=n.data,s=u.locked&&!u.siliconUser,m=l[u.externalPower]||l[0],p=l[u.chargingStatus]||l[0],C=u.powerChannels||[],h=d[u.malfStatus]||d[0],N=u.powerCellStatus/100;return u.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 ",u.failTime," seconds...",(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reboot Now",onClick:function(){return c("reboot")}})]}):(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox),(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:m.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u.isOperating?"power-off":"times",content:u.isOperating?"On":"Off",selected:u.isOperating&&!s,disabled:s,onClick:function(){return c("breaker")}}),children:["[ ",m.externalPowerText," ]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power Cell",children:(0,o.createComponentVNode)(2,a.ProgressBar,{color:"good",value:N})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",color:p.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u.chargeMode?"sync":"close",content:u.chargeMode?"Auto":"Off",disabled:s,onClick:function(){return c("charge")}}),children:["[ ",p.chargingText," ]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Channels",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[C.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:!s&&(1===e.status||3===e.status),disabled:s,onClick:function(){return c("channel",t.auto)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:"On",selected:!s&&2===e.status,disabled:s,onClick:function(){return c("channel",t.on)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:!s&&0===e.status,disabled:s,onClick:function(){return c("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,u.totalLoad,0)})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Misc",buttons:!!u.siliconUser&&(0,o.createFragment)([!!u.malfStatus&&(0,o.createComponentVNode)(2,a.Button,{icon:h.icon,content:h.content,color:"bad",onClick:function(){return c(h.action)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){return c("overload")}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cover Lock",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u.coverLocked?"lock":"unlock",content:u.coverLocked?"Engaged":"Disengaged",disabled:s,onClick:function(){return c("cover")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:u.emergencyLights?"Enabled":"Disabled",disabled:s,onClick:function(){return c("emergency_lighting")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:u.nightshiftLights?"Enabled":"Disabled",onClick:function(){return c("toggle_nightshift")}})})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ApcControl=void 0;var o=n(0),r=n(10),a=n(24),c=n(6),i=n(2),l=n(1),d=n(3),u=n(142);t.ApcControl=function(e,t){var n=(0,i.useBackend)(t).data;return(0,o.createComponentVNode)(2,d.Window,{title:"APC Controller",width:550,height:500,resizable:!0,children:[1===n.authenticated&&(0,o.createComponentVNode)(2,m),0===n.authenticated&&(0,o.createComponentVNode)(2,s)]})};var s=function(e,t){var n=(0,i.useBackend)(t),r=n.act,a=n.data.emagged,c=1===a?"Open":"Log In";return(0,o.createComponentVNode)(2,d.Window.Content,{children:(0,o.createComponentVNode)(2,l.Button,{fluid:!0,color:1===a?"":"good",content:c,onClick:function(){return r("log-in")}})})},m=function(e,t){var n=(0,i.useBackend)(t),r=n.act,a=n.data.restoring,c=(0,i.useLocalState)(t,"tab-index",1),u=c[0],s=c[1];return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Tabs,{children:[(0,o.createComponentVNode)(2,l.Tabs.Tab,{selected:1===u,onClick:function(){s(1),r("check-apcs")},children:"APC Control Panel"}),(0,o.createComponentVNode)(2,l.Tabs.Tab,{selected:2===u,onClick:function(){s(2),r("check-logs")},children:"Log View Panel"})]}),1===a&&(0,o.createComponentVNode)(2,l.Dimmer,{fontSize:"32px",children:[(0,o.createComponentVNode)(2,l.Icon,{name:"cog",spin:!0})," Resetting..."]}),1===u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,p),(0,o.createComponentVNode)(2,l.Box,{fillPositionedParent:!0,top:"53px",children:(0,o.createComponentVNode)(2,d.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,C)})})],4),2===u&&(0,o.createComponentVNode)(2,l.Box,{fillPositionedParent:!0,top:"20px",children:(0,o.createComponentVNode)(2,d.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,h)})})],0)},p=function(e,t){var n=(0,i.useBackend)(t),r=n.act,a=n.data,c=a.emagged,d=a.logging,u=(0,i.useLocalState)(t,"sortByField",null),s=u[0],m=u[1];return(0,o.createComponentVNode)(2,l.Flex,{children:[(0,o.createComponentVNode)(2,l.Flex.Item,{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"===s,content:"Name",onClick:function(){return m("name"!==s&&"name")}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"charge"===s,content:"Charge",onClick:function(){return m("charge"!==s&&"charge")}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"draw"===s,content:"Draw",onClick:function(){return m("draw"!==s&&"draw")}})]}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1}),(0,o.createComponentVNode)(2,l.Flex.Item,{children:[1===c&&(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Button,{color:1===d?"bad":"good",content:1===d?"Stop Logging":"Restore Logging",onClick:function(){return r("toggle-logs")}}),(0,o.createComponentVNode)(2,l.Button,{content:"Reset Console",onClick:function(){return r("restore-console")}})],4),(0,o.createComponentVNode)(2,l.Button,{color:"bad",content:"Log Out",onClick:function(){return r("log-out")}})]})]})},C=function(e,t){var n=(0,i.useBackend)(t),c=n.data,d=n.act,s=(0,i.useLocalState)(t,"sortByField",null)[0],m=(0,a.flow)([(0,r.map)((function(e,t){return Object.assign({},e,{id:e.name+t})})),"name"===s&&(0,r.sortBy)((function(e){return e.name})),"charge"===s&&(0,r.sortBy)((function(e){return-e.charge})),"draw"===s&&(0,r.sortBy)((function(e){return-(0,u.powerRank)(e.load)}),(function(e){return-parseFloat(e.load)}))])(c.apcs);return(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:"On/Off"}),(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,{collapsing:!0,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"})]}),m.map((function(e,t){return(0,o.createVNode)(1,"tr","Table__row candystripe",[(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,l.Button,{icon:e.operating?"power-off":"times",color:e.operating?"good":"bad",onClick:function(){return d("breaker",{ref:e.ref})}}),2),(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,l.Button,{onClick:function(){return d("access-apc",{ref:e.ref})},children:e.name}),2),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",(0,o.createComponentVNode)(2,u.AreaCharge,{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,N,{target:"equipment",status:e.eqp,apc:e,act:d}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,N,{target:"lighting",status:e.lgt,apc:e,act:d}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,N,{target:"environ",status:e.env,apc:e,act:d}),2)],4,null,e.id)}))]})},h=function(e,t){var n=(0,i.useBackend)(t).data,c=(0,a.flow)([(0,r.map)((function(e,t){return Object.assign({},e,{id:e.entry+t})})),function(e){return e.reverse()}])(n.logs);return(0,o.createComponentVNode)(2,l.Box,{m:-.5,children:c.map((function(e){return(0,o.createComponentVNode)(2,l.Box,{p:.5,className:"candystripe",bold:!0,children:e.entry},e.id)}))})},N=function(e){var t=e.target,n=e.status,r=e.apc,a=e.act,c=Boolean(2&n),i=Boolean(1&n);return(0,o.createComponentVNode)(2,l.Button,{icon:i?"sync":"power-off",color:c?"good":"bad",onClick:function(){return a("toggle-minor",{type:t,value:V(n),ref:r.ref})}})},V=function(e){return 0===e?2:2===e?3:0};N.defaultHooks=c.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosAlertConsole=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.AtmosAlertConsole=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.priority||[],u=l.minor||[];return(0,o.createComponentVNode)(2,c.Window,{width:350,height:300,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{title:"Alarms",children:(0,o.createVNode)(1,"ul",null,[0===d.length&&(0,o.createVNode)(1,"li","color-good","No Priority Alerts",16),d.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 i("clear",{zone:e})}}),2,null,e)})),0===u.length&&(0,o.createVNode)(1,"li","color-good","No Minor Alerts",16),u.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 i("clear",{zone:e})}}),2,null,e)}))],0)})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosControlConsole=void 0;var o=n(0),r=n(10),a=n(8),c=n(2),i=n(1),l=n(3);t.AtmosControlConsole=function(e,t){var n,d=(0,c.useBackend)(t),u=d.act,s=d.data,m=s.sensors||[];return(0,o.createComponentVNode)(2,l.Window,{width:500,height:315,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:!!s.tank&&(null==(n=m[0])?void 0:n.long_name),children:m.map((function(e){var t=e.gases||{};return(0,o.createComponentVNode)(2,i.Section,{title:!s.tank&&e.long_name,level:2,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:(0,a.toFixed)(e.pressure,2)+" kPa"}),!!e.temperature&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:(0,a.toFixed)(e.temperature,2)+" K"}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:t,children:(0,a.toFixed)(e,2)+"%"})}))(t)]})},e.id_tag)}))}),s.tank&&(0,o.createComponentVNode)(2,i.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"undo",content:"Reconnect",onClick:function(){return u("reconnect")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Input Injector",children:(0,o.createComponentVNode)(2,i.Button,{icon:s.inputting?"power-off":"times",content:s.inputting?"Injecting":"Off",selected:s.inputting,onClick:function(){return u("input")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Input Rate",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:s.inputRate,unit:"L/s",width:"63px",minValue:0,maxValue:s.maxInputRate,suppressFlicker:2e3,onChange:function(e,t){return u("rate",{rate:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Output Regulator",children:(0,o.createComponentVNode)(2,i.Button,{icon:s.outputting?"power-off":"times",content:s.outputting?"Open":"Closed",selected:s.outputting,onClick:function(){return u("output")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Output Pressure",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:parseFloat(s.outputPressure),unit:"kPa",width:"75px",minValue:0,maxValue:s.maxOutputPressure,step:10,suppressFlicker:2e3,onChange:function(e,t){return u("pressure",{pressure:t})}})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosControlPanel=void 0;var o=n(0),r=n(10),a=n(24),c=n(2),i=n(1),l=n(3);t.AtmosControlPanel=function(e,t){var n=(0,c.useBackend)(t),d=n.act,u=n.data,s=(0,a.flow)([(0,r.map)((function(e,t){return Object.assign({},e,{id:e.area+t})})),(0,r.sortBy)((function(e){return e.id}))])(u.excited_groups);return(0,o.createComponentVNode)(2,l.Window,{title:"SSAir Control Panel",width:900,height:500,resizable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{m:1,children:(0,o.createComponentVNode)(2,i.Flex,{justify:"space-between",align:"baseline",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return d("toggle-freeze")},color:1===u.frozen?"good":"bad",children:1===u.frozen?"Freeze Subsystem":"Unfreeze Subsystem"})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:["Fire Cnt: ",u.fire_count]}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:["Active Turfs: ",u.active_size]}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:["Excited Groups: ",u.excited_size]}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:["Hotspots: ",u.hotspots_size]}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:["Superconductors: ",u.conducting_size]}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:u.showing_user,onClick:function(){return d("toggle_user_display")},children:"Personal View"})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:u.show_all,onClick:function(){return d("toggle_show_all")},children:"Display all"})})]})}),(0,o.createComponentVNode)(2,i.Box,{fillPositionedParent:!0,top:"45px",children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{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:"Area Name"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Breakdown"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Dismantle"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Turfs"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:1===u.display_max&&"Max Share"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Display"})]}),s.map((function(e){return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,i.Button,{content:e.area,onClick:function(){return d("move-to-target",{spot:e.jump_to})}}),2),(0,o.createVNode)(1,"td",null,e.breakdown,0),(0,o.createVNode)(1,"td",null,e.dismantle,0),(0,o.createVNode)(1,"td",null,e.size,0),(0,o.createVNode)(1,"td",null,1===u.display_max&&e.max_share,0),(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:e.should_show,onClick:function(){return d("toggle_show_group",{group:e.group})}}),2)],4,null,e.id)}))]})})})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosFilter=void 0;var o=n(0),r=n(2),a=n(1),c=n(41),i=n(3);t.AtmosFilter=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.filter_types||[];return(0,o.createComponentVNode)(2,i.Window,{width:390,height:221,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(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:d.on?"power-off":"times",content:d.on?"On":"Off",selected:d.on,onClick:function(){return l("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(d.rate),width:"63px",unit:"L/s",minValue:0,maxValue:d.max_rate,onDrag:function(e,t){return l("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:d.rate===d.max_rate,onClick:function(){return l("rate",{rate:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Filter",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:e.selected,content:(0,c.getGasLabel)(e.id,e.name),onClick:function(){return l("filter",{mode:e.id})}},e.id)}))})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosMixer=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.AtmosMixer=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:370,height:165,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(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:l.on?"power-off":"times",content:l.on?"On":"Off",selected:l.on,onClick:function(){return i("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(l.set_pressure),unit:"kPa",width:"75px",minValue:0,maxValue:l.max_pressure,step:10,onChange:function(e,t){return i("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:l.set_pressure===l.max_pressure,onClick:function(){return i("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 1",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:l.node1_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return i("node1",{concentration:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 2",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:l.node2_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return i("node2",{concentration:t})}})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosPump=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.AtmosPump=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:335,height:115,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(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:l.on?"power-off":"times",content:l.on?"On":"Off",selected:l.on,onClick:function(){return i("power")}})}),l.max_rate?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(l.rate),width:"63px",unit:"L/s",minValue:0,maxValue:l.max_rate,onChange:function(e,t){return i("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:l.rate===l.max_rate,onClick:function(){return i("rate",{rate:"max"})}})]}):(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(l.pressure),unit:"kPa",width:"75px",minValue:0,maxValue:l.max_pressure,step:10,onChange:function(e,t){return i("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:l.pressure===l.max_pressure,onClick:function(){return i("pressure",{pressure:"max"})}})]})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosTempGate=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.AtmosTempGate=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:335,height:115,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(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:l.on?"power-off":"times",content:l.on?"On":"Off",selected:l.on,onClick:function(){return i("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Heat settings",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(l.temperature),unit:"K",width:"75px",minValue:l.min_temperature,maxValue:l.max_temperature,step:1,onChange:function(e,t){return i("temperature",{temperature:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:l.temperature===l.max_temperature,onClick:function(){return i("temperature",{temperature:"max"})}})]})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosTempPump=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.AtmosTempPump=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:335,height:115,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(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:l.on?"power-off":"times",content:l.on?"On":"Off",selected:l.on,onClick:function(){return i("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Heat transfer rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(l.rate),unit:"K/s",width:"75px",minValue:0,maxValue:l.max_heat_transfer_rate,step:1,onChange:function(e,t){return i("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:l.rate===l.max_heat_transfer_rate,onClick:function(){return i("rate",{rate:"max"})}})]})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AutomatedAnnouncement=void 0;var o=n(0),r=(n(17),n(2)),a=n(1),c=n(3),i="%PERSON will be replaced with their name.\n%RANK with their job.";t.AutomatedAnnouncement=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.arrivalToggle,s=d.arrival,m=d.newheadToggle,p=d.newhead;return(0,o.createComponentVNode)(2,c.Window,{title:"Automated Announcement System",width:500,height:225,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Arrival Announcement",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",selected:u,content:u?"On":"Off",onClick:function(){return l("ArrivalToggle")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"info",tooltip:i,tooltipPosition:"left"}),children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:s,onChange:function(e,t){return l("ArrivalText",{newText:t})}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Departmental Head Announcement",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:m?"power-off":"times",selected:m,content:m?"On":"Off",onClick:function(){return l("NewheadToggle")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"info",tooltip:i,tooltipPosition:"left"}),children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:p,onChange:function(e,t){return l("NewheadText",{newText:t})}})})})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BankMachine=void 0;var o=n(0),r=n(2),a=n(1),c=n(42),i=n(3);t.BankMachine=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.current_balance,s=d.siphoning,m=d.station_name;return(0,o.createComponentVNode)(2,i.Window,{width:350,height:155,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,a.NoticeBox,{danger:!0,children:"Authorized personnel only"}),(0,o.createComponentVNode)(2,a.Section,{title:m+" 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:s?"times":"sync",content:s?"Stop Siphoning":"Siphon Credits",selected:s,onClick:function(){return l(s?"halt":"siphon")}}),children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u,format:function(e){return(0,c.formatMoney)(e)}})," cr"]})})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Bepis=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.Bepis=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.amount;return(0,o.createComponentVNode)(2,c.Window,{width:500,height:480,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(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:l.manual_power?"Off":"On",selected:!l.manual_power,onClick:function(){return i("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 i("account_reset")}}),children:["Console is currently being operated by ",l.account_owner?l.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:l.stored_cash}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Investment Variability",children:[l.accuracy_percentage,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Innovation Bonus",children:l.positive_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Risk Offset",color:"bad",children:l.negative_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposit Amount",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:d,unit:"Credits",minValue:100,maxValue:3e4,step:100,stepPixelSize:2,onChange:function(e,t){return i("amount",{amount:t})}})})]})}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"donate",content:"Deposit Credits",disabled:1===l.manual_power||1===l.silicon_check,onClick:function(){return i("deposit_cash")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Withdraw Credits",disabled:1===l.manual_power,onClick:function(){return i("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: ",l.mean_value]}),(0,o.createComponentVNode)(2,a.Box,{children:["Current chance of Success: Est. ",l.success_estimate,"%"]}),l.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===l.manual_power,onClick:function(){return i("begin_experiment")},content:"Begin Testing"})]})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BiogeneratorContent=t.Biogenerator=void 0;var o=n(0),r=n(6),a=n(17),c=n(2),i=n(1),l=n(42),d=n(3);t.Biogenerator=function(e,t){var n=(0,c.useBackend)(t).data,r=n.beaker,a=n.processing;return(0,o.createComponentVNode)(2,d.Window,{width:550,height:420,resizable:!0,children:[!!a&&(0,o.createComponentVNode)(2,i.Dimmer,{fontSize:"32px",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"cog",spin:1})," Processing..."]}),(0,o.createComponentVNode)(2,d.Window.Content,{scrollable:!0,children:[!r&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No Container"}),!!r&&(0,o.createComponentVNode)(2,u)]})]})};var u=function(e,t){var n,r,d=(0,c.useBackend)(t),u=d.act,m=d.data,p=m.biomass,C=m.can_process,h=m.categories,N=void 0===h?[]:h,V=(0,c.useLocalState)(t,"searchText",""),b=V[0],f=V[1],g=(0,c.useLocalState)(t,"category",null==(n=N[0])?void 0:n.name),v=g[0],x=g[1],k=(0,a.createSearch)(b,(function(e){return e.name})),B=b.length>0&&N.flatMap((function(e){return e.items||[]})).filter(k).filter((function(e,t){return t<25}))||(null==(r=N.find((function(e){return e.name===v})))?void 0:r.items)||[];return(0,o.createComponentVNode)(2,i.Section,{title:(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:p>0?"good":"bad",children:[(0,l.formatMoney)(p)," Biomass"]}),buttons:(0,o.createFragment)([(0,o.createTextVNode)("Search"),(0,o.createComponentVNode)(2,i.Input,{autoFocus:!0,value:b,onInput:function(e,t){return f(t)},mx:1}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",onClick:function(){return u("detach")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Activate",disabled:!C,onClick:function(){return u("activate")}})],4),children:(0,o.createComponentVNode)(2,i.Flex,{children:[0===b.length&&(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:N.map((function(e){var t;return(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:e.name===v,onClick:function(){return x(e.name)},children:[e.name," (",(null==(t=e.items)?void 0:t.length)||0,")"]},e.name)}))})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,basis:0,children:[0===B.length&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:0===b.length?"No items in this category.":"No results found."}),(0,o.createComponentVNode)(2,i.Table,{children:(0,o.createComponentVNode)(2,s,{biomass:p,items:B})})]})]})})};t.BiogeneratorContent=u;var s=function(e,t){var n=(0,c.useBackend)(t).act,a=(0,c.useLocalState)(t,"hoveredItem",{}),l=a[0],d=a[1],u=l.cost||0;return e.items.map((function(n){var o=(0,c.useLocalState)(t,"amount"+n.name,1),r=o[0],a=o[1],i=l.name!==n.name,d=e.biomass-u*l.amountV,onClick:function(){return d("select",{item:e.id})}})})]}),e.desc]},e.name)}))})]})]})]})};var l=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.buying,u=l.ltsrbt_built,s=l.money;if(!d)return null;var m=l.delivery_methods.map((function(e){var t=l.delivery_method_description[e.name];return Object.assign({},e,{description:t})}));return(0,o.createComponentVNode)(2,a.Modal,{textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Flex,{mb:1,children:m.map((function(e){return"LTSRBT"!==e.name||u?(0,o.createComponentVNode)(2,a.Flex.Item,{mx:1,width:"250px",children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:"30px",children:e.name}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:e.description}),(0,o.createComponentVNode)(2,a.Button,{mt:2,content:(0,c.formatMoney)(e.price)+" cr",disabled:s=0||(r[n]=e[n]);return r}(t,["res","value","dotsize"]),i=l(n),d=i[0],u=i[1];return(0,o.normalizeProps)((0,o.createVNode)(1,"canvas",null,"Canvas failed to render.",16,Object.assign({width:d*a||300,height:u*a||300},c,{onClick:function(t){return e.clickwrapper(t)}}),null,this.canvasRef))},r}(o.Component),l=function(e){var t=e.length;return[t,0!==t?e[0].length:0]};t.Canvas=function(e,t){var n=(0,r.useBackend)(t),d=n.act,u=n.data,s=l(u.grid),m=s[0],p=s[1];return(0,o.createComponentVNode)(2,c.Window,{width:Math.min(700,24*m+72),height:Math.min(700,24*p+72),resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,i,{value:u.grid,dotsize:24,onCanvasClick:function(e,t){return d("paint",{x:e,y:t})}}),(0,o.createComponentVNode)(2,a.Box,{children:[!u.finalized&&(0,o.createComponentVNode)(2,a.Button.Confirm,{onClick:function(){return d("finalize")},content:"Finalize"}),u.name]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CargoExpress=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=n(143),l=n(65);t.CargoExpress=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data);return(0,o.createComponentVNode)(2,c.Window,{width:600,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,l.InterfaceLockNoticeBox,{accessText:"a QM-level ID card"}),!a.locked&&(0,o.createComponentVNode)(2,d)]})})};var d=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Cargo Express",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:Math.round(l.points)})," credits"]}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Landing Location",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Cargo Bay",selected:!l.usingBeacon,onClick:function(){return c("LZCargo")}}),(0,o.createComponentVNode)(2,a.Button,{selected:l.usingBeacon,disabled:!l.hasBeacon,onClick:function(){return c("LZBeacon")},children:[l.beaconzone," (",l.beaconName,")"]}),(0,o.createComponentVNode)(2,a.Button,{content:l.printMsg,disabled:!l.canBuyBeacon,onClick:function(){return c("printBeacon")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Notice",children:l.message})]})}),(0,o.createComponentVNode)(2,i.CargoCatalog,{express:!0})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CargoHoldTerminal=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.CargoHoldTerminal=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.points,u=l.pad,s=l.sending,m=l.status_report;return(0,o.createComponentVNode)(2,c.Window,{width:600,height:230,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Cargo Value",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:Math.round(d)})," credits"]})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cargo Pad",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Recalculate Value",disabled:!u,onClick:function(){return i("recalc")}}),(0,o.createComponentVNode)(2,a.Button,{icon:s?"times":"arrow-up",content:s?"Stop Sending":"Send Goods",selected:s,disabled:!u,onClick:function(){return i(s?"stop":"send")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:u?"good":"bad",children:u?"Online":"Not Found"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cargo Report",children:m})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CellularEmporium=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.CellularEmporium=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.abilities;return(0,o.createComponentVNode)(2,c.Window,{width:900,height:480,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(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:!l.can_readapt,onClick:function(){return i("readapt")}}),children:l.genetic_points_remaining})})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:d.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 i("evolve",{name:e.name})}})],0),children:[e.desc,(0,o.createComponentVNode)(2,a.Box,{color:"good",children:e.helptext})]},e.name)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CentcomPodLauncher=void 0;var o=n(0),r=n(8),a=n(6),c=n(79),i=(n(17),n(205)),l=n(2),d=n(1),u=n(3);function s(e,t,n,o,r,a,c){try{var i=e[a](c),l=i.value}catch(d){return void n(d)}i.done?t(l):Promise.resolve(l).then(o,r)}function m(e){return function(){var t=this,n=arguments;return new Promise((function(o,r){var a=e.apply(t,n);function c(e){s(a,o,r,c,i,"next",e)}function i(e){s(a,o,r,c,i,"throw",e)}c(undefined)}))}}var p={color:"grey"},C=function(e){var t=(0,l.useLocalState)(e,"compact",!1),n=t[0],o=t[1];return[n,function(){return o(!n)}]};t.CentcomPodLauncher=function(e,t){var n=C(t)[0];return(0,o.createComponentVNode)(2,u.Window,{resizable:!0,title:n?"Use against Helen Weinstein":"Supply Pod Menu (Use against Helen Weinstein)",overflow:"hidden",width:n?435:730,height:n?360:440,children:(0,o.createComponentVNode)(2,h)},"CPL_"+n)};var h=function(e,t){var n=C(t)[0];return(0,o.createComponentVNode)(2,u.Window.Content,{children:(0,o.createComponentVNode)(2,d.Flex,{direction:"column",height:"100%",children:[(0,o.createComponentVNode)(2,d.Flex.Item,{grow:0,shrink:0,children:(0,o.createComponentVNode)(2,y)}),(0,o.createComponentVNode)(2,d.Flex.Item,{mt:1,grow:1,children:(0,o.createComponentVNode)(2,d.Flex,{height:"100%",children:[(0,o.createComponentVNode)(2,d.Flex.Item,{grow:1,shrink:0,basis:"14.1em",children:(0,o.createComponentVNode)(2,d.Flex,{direction:"column",height:"100%",children:[(0,o.createComponentVNode)(2,d.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,I)}),(0,o.createComponentVNode)(2,d.Flex.Item,{mt:1,grow:0,children:(0,o.createComponentVNode)(2,S)}),(0,o.createComponentVNode)(2,d.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,d.Section,{children:(0,o.createComponentVNode)(2,T)})})]})}),!n&&(0,o.createComponentVNode)(2,d.Flex.Item,{ml:1,grow:3,children:(0,o.createComponentVNode)(2,B)}),(0,o.createComponentVNode)(2,d.Flex.Item,{ml:1,basis:"8em",children:(0,o.createComponentVNode)(2,d.Flex,{direction:"column",height:"100%",children:[(0,o.createComponentVNode)(2,d.Flex.Item,{children:(0,o.createComponentVNode)(2,P)}),(0,o.createComponentVNode)(2,d.Flex.Item,{mt:1,grow:1,children:(0,o.createComponentVNode)(2,F)}),!n&&(0,o.createComponentVNode)(2,d.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,R)})]})}),(0,o.createComponentVNode)(2,d.Flex.Item,{ml:1,basis:"11em",children:(0,o.createComponentVNode)(2,A)})]})})]})})},N=[{title:"View Pod",component:function(){return _}},{title:"View Bay",component:function(){return w}},{title:"View Dropoff Location",component:function(){return L}}],V=[{title:"Mobs",icon:"user"},{title:"Unanchored\nObjects",key:"Unanchored",icon:"cube"},{title:"Anchored\nObjects",key:"Anchored",icon:"anchor"},{title:"Under-Floor",key:"Underfloor",icon:"eye-slash"},{title:"Wall-Mounted",key:"Wallmounted",icon:"link"},{title:"Floors",icon:"border-all"},{title:"Walls",icon:"square"},{title:"Mechs",key:"Mecha",icon:"truck"}],b=[{title:"Pre",tooltip:"Time until pod gets to station"},{title:"Fall",tooltip:"Duration of pods\nfalling animation"},{title:"Open",tooltip:"Time it takes pod to open after landing"},{title:"Exit",tooltip:"Time for pod to\nleave after opening"}],f=[{title:"Pre",tooltip:"Time until pod appears above dropoff point"},{title:"Fall",tooltip:"Duration of pods\nfalling animation"},{title:"Open",tooltip:"Time it takes pod to open after landing"},{title:"Exit",tooltip:"Time for pod to\nleave after opening"}],g=[{title:"Fall",act:"fallingSound",tooltip:"Plays while pod falls, timed\nto end when pod lands"},{title:"Land",act:"landingSound",tooltip:"Plays after pod lands"},{title:"Open",act:"openingSound",tooltip:"Plays when pod opens"},{title:"Exit",act:"leavingSound",tooltip:"Plays when pod leaves"}],v=[{title:"Standard"},{title:"Advanced"},{title:"Nanotrasen"},{title:"Syndicate"},{title:"Deathsquad"},{title:"Cultist"},{title:"Missile"},{title:"Syndie Missile"},{title:"Supply Box"},{title:"Clown Pod"},{title:"Fruit"},{title:"Invisible"},{title:"Gondola"},{title:"Seethrough"}],x=[{title:"1"},{title:"2"},{title:"3"},{title:"4"},{title:"ERT"}],k=[{list:[{title:"Launch All Turfs",icon:"globe",choiceNumber:0,selected:"launchChoice",act:"launchAll"},{title:"Launch Turf Ordered",icon:"sort-amount-down-alt",choiceNumber:1,selected:"launchChoice",act:"launchOrdered"},{title:"Pick Random Turf",icon:"dice",choiceNumber:2,selected:"launchChoice",act:"launchRandomTurf"},{divider:1},{title:"Launch Whole Turf",icon:"expand",choiceNumber:0,selected:"launchRandomItem",act:"launchWholeTurf"},{title:"Pick Random Item",icon:"dice",choiceNumber:1,selected:"launchRandomItem",act:"launchRandomItem"},{divider:1},{title:"Clone",icon:"clone",soloSelected:"launchClone",act:"launchClone"}],label:"Load From",alt_label:"Load",tooltipPosition:"right"},{list:[{title:"Specific Target",icon:"user-check",soloSelected:"effectTarget",act:"effectTarget"},{title:"Pod Stays",icon:"hand-paper",choiceNumber:0,selected:"effectBluespace",act:"effectBluespace"},{title:"Stealth",icon:"user-ninja",soloSelected:"effectStealth",act:"effectStealth"},{title:"Quiet",icon:"volume-mute",soloSelected:"effectQuiet",act:"effectQuiet"},{title:"Missile Mode",icon:"rocket",soloSelected:"effectMissile",act:"effectMissile"},{title:"Burst Launch",icon:"certificate",soloSelected:"effectBurst",act:"effectBurst"},{title:"Any Descent Angle",icon:"ruler-combined",soloSelected:"effectCircle",act:"effectCircle"},{title:"No Ghost Alert\n(If you dont want to\nentertain bored ghosts)",icon:"ghost",choiceNumber:0,selected:"effectAnnounce",act:"effectAnnounce"}],label:"Normal Effects",tooltipPosition:"bottom"},{list:[{title:"Explosion Custom",icon:"bomb",choiceNumber:1,selected:"explosionChoice",act:"explosionCustom"},{title:"Adminbus Explosion\nWhat are they gonna do, ban you?",icon:"bomb",choiceNumber:2,selected:"explosionChoice",act:"explosionBus"},{divider:1},{title:"Custom Damage",icon:"skull",choiceNumber:1,selected:"damageChoice",act:"damageCustom"},{title:"Gib",icon:"skull-crossbones",choiceNumber:2,selected:"damageChoice",act:"damageGib"},{divider:1},{title:"Projectile Cloud",details:!0,icon:"cloud-meatball",soloSelected:"effectShrapnel",act:"effectShrapnel"},{title:"Stun",icon:"sun",soloSelected:"effectStun",act:"effectStun"},{title:"Delimb",icon:"socks",soloSelected:"effectLimb",act:"effectLimb"},{title:"Yeet Organs",icon:"book-dead",soloSelected:"effectOrgans",act:"effectOrgans"}],label:"Harmful Effects",tooltipPosition:"bottom"}],B=function(e,t){var n=(0,l.useBackend)(t),r=n.act,a=n.data,c=(0,l.useLocalState)(t,"tabPageIndex",1),i=c[0],u=c[1],s=a.mapRef,m=N[i].component();return(0,o.createComponentVNode)(2,d.Section,{title:"View",fill:!0,buttons:(0,o.createFragment)([!!a.customDropoff&&1===a.effectReverse&&(0,o.createComponentVNode)(2,d.Button,{inline:!0,color:"transparent",tooltip:"View Dropoff Location",icon:"arrow-circle-down",selected:2===i,onClick:function(){u(2),r("tabSwitch",{tabIndex:2})}}),(0,o.createComponentVNode)(2,d.Button,{inline:!0,color:"transparent",tooltip:"View Pod",icon:"rocket",selected:0===i,onClick:function(){u(0),r("tabSwitch",{tabIndex:0})}}),(0,o.createComponentVNode)(2,d.Button,{inline:!0,color:"transparent",tooltip:"View Source Bay",icon:"th",selected:1===i,onClick:function(){u(1),r("tabSwitch",{tabIndex:1})}}),(0,o.createVNode)(1,"span",null,"|",16,{style:p}),!!a.customDropoff&&1===a.effectReverse&&(0,o.createComponentVNode)(2,d.Button,{inline:!0,color:"transparent",icon:"lightbulb",selected:a.renderLighting,tooltip:"Render Lighting for the dropoff view",onClick:function(){r("renderLighting"),r("refreshView")}}),(0,o.createComponentVNode)(2,d.Button,{inline:!0,color:"transparent",icon:"sync-alt",tooltip:"Refresh view window in case it breaks",onClick:function(){u(i),r("refreshView")}})],0),children:(0,o.createComponentVNode)(2,d.Flex,{direction:"column",height:"100%",children:[(0,o.createComponentVNode)(2,d.Flex.Item,{m:.5,children:(0,o.createComponentVNode)(2,m)}),(0,o.createComponentVNode)(2,d.Flex.Item,{m:.5,grow:1,children:(0,o.createComponentVNode)(2,d.Section,{fill:!0,children:(0,o.createComponentVNode)(2,d.ByondUi,{fillPositionedParent:!0,params:{zoom:0,id:s,type:"map"}})})})]})})},_=function(e,t){return(0,o.createComponentVNode)(2,d.Box,{color:"label",children:["Note: You can right click on this",(0,o.createVNode)(1,"br"),"blueprint pod and edit vars directly"]})},w=function(e,t){var n=(0,l.useBackend)(t),r=n.act,a=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,d.Button,{content:"Teleport",icon:"street-view",onClick:function(){return r("teleportCentcom")}}),(0,o.createComponentVNode)(2,d.Button,{content:a.oldArea?a.oldArea.substring(0,17):"Go Back",disabled:!a.oldArea,icon:"undo-alt",onClick:function(){return r("teleportBack")}})],4)},L=function(e,t){var n=(0,l.useBackend)(t),r=n.act,a=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,d.Button,{content:"Teleport",icon:"street-view",onClick:function(){return r("teleportDropoff")}}),(0,o.createComponentVNode)(2,d.Button,{content:a.oldArea?a.oldArea.substring(0,17):"Go Back",disabled:!a.oldArea,icon:"undo-alt",onClick:function(){return r("teleportBack")}})],4)},y=function(e,t){var n=(0,l.useBackend)(t),r=n.act,a=n.data,c=C(t),i=c[0],u=c[1];return(0,o.createComponentVNode)(2,d.Section,{fill:!0,width:"100%",children:(0,o.createComponentVNode)(2,d.Flex,{children:k.map((function(e,t){return(0,o.createFragment)([(0,o.createComponentVNode)(2,d.Flex.Item,{children:[(0,o.createComponentVNode)(2,d.Box,{bold:!0,color:"label",mb:1,children:[1===i&&e.alt_label?e.alt_label:e.label,":"]}),(0,o.createComponentVNode)(2,d.Box,{children:e.list.map((function(t,n){return(0,o.createFragment)([t.divider&&(0,o.createVNode)(1,"span",null,(0,o.createVNode)(1,"b",null,"|",16),2,{style:p}),!t.divider&&(0,o.createComponentVNode)(2,d.Button,{tooltip:t.details&&a.effectShrapnel?t.title+"\n"+a.shrapnelType+"\nMagnitude:"+a.shrapnelMagnitude:t.title,tooltipPosition:e.tooltipPosition,tooltipOverrideLong:!0,icon:t.icon,content:t.content,selected:t.soloSelected?a[t.soloSelected]:a[t.selected]===t.choiceNumber,onClick:function(){return 0!==a.payload?r(t.act,t.payload):r(t.act)},style:{"vertical-align":"middle","margin-left":0!==n?"1px":"0px","margin-right":n!==e.list.length-1?"1px":"0px","border-radius":"5px"}})],0,n)}))})]}),t=v.length-2?t%2==1?"top-left":"top-right":t%2==1?"bottom-left":"bottom-right",tooltip:e.title,style:{"vertical-align":"middle","margin-right":"5px","border-radius":"20px"},selected:c.styleChoice-1===t,onClick:function(){return r("setStyle",{style:t})},children:(0,o.createComponentVNode)(2,d.Box,{className:(0,a.classes)(["supplypods64x64","pod_asset"+(t+1)]),style:{transform:"rotate(45deg) translate(-25%,-10%)","pointer-events":"none"}})},t)}))})},P=function(e,t){var n=(0,l.useBackend)(t),r=n.act,a=n.data;C(t)[0];return(0,o.createComponentVNode)(2,d.Section,{fill:!0,title:"Bay",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,d.Button,{icon:"trash",color:"transparent",tooltip:"Clears everything\nfrom the selected bay",tooltipOverrideLong:!0,tooltipPosition:"bottom-right",onClick:function(){return r("clearBay")}}),(0,o.createComponentVNode)(2,d.Button,{icon:"question",color:"transparent",tooltip:'Each option corresponds\nto an area on centcom.\nLaunched pods will\nbe filled with items\nin these areas according\nto the "Load from Bay"\noptions at the top left.',tooltipOverrideLong:!0,tooltipPosition:"bottom-right"})],4),children:x.map((function(e,t){return(0,o.createComponentVNode)(2,d.Button,{content:e.title,tooltipPosition:"bottom-right",selected:a.bayNumber===""+(t+1),onClick:function(){return r("switchBay",{bayNumber:""+(t+1)})}},t)}))})},F=function(e,t){var n=(0,l.useBackend)(t),r=n.act,a=n.data;return(0,o.createComponentVNode)(2,d.Section,{fill:!0,title:"Time",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,d.Button,{icon:"undo",color:"transparent",tooltip:"Reset all pod\ntimings/delays",tooltipOverrideLong:!0,tooltipPosition:"bottom-right",onClick:function(){return r("resetTiming")}}),(0,o.createComponentVNode)(2,d.Button,{icon:1===a.custom_rev_delay?"toggle-on":"toggle-off",selected:a.custom_rev_delay,disabled:!a.effectReverse,color:"transparent",tooltip:"Toggle Reverse Delays\nNote: Top set is\nnormal delays, bottom set\nis reversing pod's delays",tooltipOverrideLong:!0,tooltipPosition:"bottom-right",onClick:function(){return r("toggleRevDelays")}})],4),children:[(0,o.createComponentVNode)(2,M,{delay_list:b}),a.custom_rev_delay&&(0,o.createFragment)([(0,o.createComponentVNode)(2,d.Divider,{horizontal:!0}),(0,o.createComponentVNode)(2,M,{delay_list:f,reverse:!0})],4)||""]})},M=function(e,t){var n=(0,l.useBackend)(t),a=n.act,c=n.data,i=e.delay_list,u=e.reverse,s=void 0!==u&&u;return(0,o.createComponentVNode)(2,d.LabeledControls,{wrap:!0,children:i.map((function(e,t){return(0,o.createComponentVNode)(2,d.LabeledControls.Item,{label:c.custom_rev_delay?"":e.title,children:(0,o.createComponentVNode)(2,d.Knob,{inline:!0,step:.02,size:c.custom_rev_delay?.75:1,value:(s?c.rev_delays[t+1]:c.delays[t+1])/10,unclamped:!0,minValue:0,unit:"s",format:function(e){return(0,r.toFixed)(e,2)},maxValue:10,color:(s?c.rev_delays[t+1]:c.delays[t+1])/10>10?"orange":"default",onDrag:function(e,n){a("editTiming",{timer:""+(t+1),value:Math.max(n,0),reverse:s})}})},t)}))})},R=function(e,t){var n=(0,l.useBackend)(t),r=n.act,a=n.data;return(0,o.createComponentVNode)(2,d.Section,{fill:!0,title:"Sounds",buttons:(0,o.createComponentVNode)(2,d.Button,{icon:"volume-up",color:"transparent",selected:a.soundVolume!==a.defaultSoundVolume,tooltip:"Sound Volume:"+a.soundVolume,tooltipOverrideLong:!0,onClick:function(){return r("soundVolume")}}),children:g.map((function(e,t){return(0,o.createComponentVNode)(2,d.Button,{content:e.title,tooltip:e.tooltip,tooltipPosition:"top-right",tooltipOverrideLong:!0,selected:a[e.act],onClick:function(){return r(e.act)}},t)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemAcclimator=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.ChemAcclimator=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:320,height:271,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(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:[l.chem_temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:l.target_temperature,unit:"K",width:"59px",minValue:0,maxValue:1e3,step:5,stepPixelSize:2,onChange:function(e,t){return i("set_target_temperature",{temperature:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Acceptable Temp. Difference",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:l.allowed_temperature_difference,unit:"K",width:"59px",minValue:1,maxValue:l.target_temperature,stepPixelSize:2,onChange:function(e,t){i("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:l.enabled?"On":"Off",selected:l.enabled,onClick:function(){return i("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:l.max_volume,unit:"u",width:"50px",minValue:l.reagent_volume,maxValue:200,step:2,stepPixelSize:2,onChange:function(e,t){return i("change_volume",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Operation",children:l.acclimate_state}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current State",children:l.emptying?"Emptying":"Filling"})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDebugSynthesizer=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.ChemDebugSynthesizer=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.amount,u=l.beakerCurrentVolume,s=l.beakerMaxVolume,m=l.isBeakerLoaded,p=l.beakerContents,C=void 0===p?[]:p;return(0,o.createComponentVNode)(2,c.Window,{width:390,height:330,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{title:"Recipient",buttons:m?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return i("ejectBeaker")}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:d,unit:"u",minValue:1,maxValue:s,step:1,stepPixelSize:2,onChange:function(e,t){return i("amount",{amount:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Input",onClick:function(){return i("input")}})],4):(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Create Beaker",onClick:function(){return i("makecup")}}),children:m?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})," / "+s+" u"]}),C.length>0?(0,o.createComponentVNode)(2,a.LabeledList,{children:C.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(0),r=n(8),a=n(17),c=n(2),i=n(1),l=n(3);t.ChemDispenser=function(e,t){var n=(0,c.useBackend)(t),d=n.act,u=n.data,s=!!u.recordingRecipe,m=Object.keys(u.recipes).map((function(e){return{name:e,contents:u.recipes[e]}})),p=u.beakerTransferAmounts||[],C=s&&Object.keys(u.recordingRecipe).map((function(e){return{id:e,name:(0,a.toTitleCase)(e.replace(/_/," ")),volume:u.recordingRecipe[e]}}))||u.beakerContents||[];return(0,o.createComponentVNode)(2,l.Window,{width:565,height:620,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:s&&(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:1,color:"red",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"circle",mr:1}),"Recording"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Energy",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:u.energy/u.maxEnergy,children:(0,r.toFixed)(u.energy)+" units"})})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Recipes",buttons:(0,o.createFragment)([!s&&(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:1,children:(0,o.createComponentVNode)(2,i.Button,{color:"transparent",content:"Clear recipes",onClick:function(){return d("clear_recipes")}})}),!s&&(0,o.createComponentVNode)(2,i.Button,{icon:"circle",disabled:!u.isBeakerLoaded,content:"Record",onClick:function(){return d("record_recipe")}}),s&&(0,o.createComponentVNode)(2,i.Button,{icon:"ban",color:"transparent",content:"Discard",onClick:function(){return d("cancel_recording")}}),s&&(0,o.createComponentVNode)(2,i.Button,{icon:"save",color:"green",content:"Save",onClick:function(){return d("save_recording")}})],0),children:(0,o.createComponentVNode)(2,i.Box,{mr:-1,children:[m.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"tint",width:"129.5px",lineHeight:1.75,content:e.name,onClick:function(){return d("dispense_recipe",{recipe:e.name})}},e.name)})),0===m.length&&(0,o.createComponentVNode)(2,i.Box,{color:"light-gray",children:"No recipes."})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Dispense",buttons:p.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"plus",selected:e===u.amount,content:e,onClick:function(){return d("amount",{target:e})}},e)})),children:(0,o.createComponentVNode)(2,i.Box,{mr:-1,children:u.chemicals.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"tint",width:"129.5px",lineHeight:1.75,content:e.title,onClick:function(){return d("dispense",{reagent:e.id})}},e.id)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:p.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"minus",disabled:s,content:e,onClick:function(){return d("remove",{amount:e})}},e)})),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Beaker",buttons:!!u.isBeakerLoaded&&(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",disabled:!u.isBeakerLoaded,onClick:function(){return d("eject")}}),children:(s?"Virtual beaker":u.isBeakerLoaded&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.AnimatedNumber,{initial:0,value:u.beakerCurrentVolume}),(0,o.createTextVNode)("/"),u.beakerMaxVolume,(0,o.createTextVNode)(" units")],0))||"No beaker"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Contents",children:[(0,o.createComponentVNode)(2,i.Box,{color:"label",children:u.isBeakerLoaded||s?0===C.length&&"Nothing":"N/A"}),C.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{color:"label",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{initial:0,value:e.volume})," ","units of ",e.name]},e.name)}))]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemFilter=t.ChemFilterPane=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=function(e,t){var n=(0,r.useBackend)(t).act,c=e.title,i=e.list,l=e.reagentName,d=e.onReagentInput,u=c.toLowerCase();return(0,o.createComponentVNode)(2,a.Section,{title:c,minHeight:"240px",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Input,{placeholder:"Reagent",width:"140px",onInput:function(e,t){return d(t)}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",onClick:function(){return n("add",{which:u,name:l})}})],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 n("remove",{which:u,reagent:e})}})],4,e)}))})};t.ChemFilterPane=i;t.ChemFilter=function(e,t){var n=(0,r.useBackend)(t),l=(n.act,n.data),d=l.left,u=void 0===d?[]:d,s=l.right,m=void 0===s?[]:s,p=(0,r.useLocalState)(t,"leftName",""),C=p[0],h=p[1],N=(0,r.useLocalState)(t,"rightName",""),V=N[0],b=N[1];return(0,o.createComponentVNode)(2,c.Window,{width:500,height:300,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i,{title:"Left",list:u,reagentName:C,onReagentInput:function(e){return h(e)}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i,{title:"Right",list:m,reagentName:V,onReagentInput:function(e){return b(e)}})})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemHeater=void 0;var o=n(0),r=n(8),a=n(2),c=n(1),i=n(3),l=n(206);t.ChemHeater=function(e,t){var n=(0,a.useBackend)(t),d=n.act,u=n.data,s=u.targetTemp,m=u.isActive,p=u.isBeakerLoaded,C=u.currentTemp,h=u.beakerCurrentVolume,N=u.beakerMaxVolume,V=u.beakerContents,b=void 0===V?[]:V;return(0,o.createComponentVNode)(2,i.Window,{width:275,height:320,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Section,{title:"Thermostat",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:m?"power-off":"times",selected:m,content:m?"On":"Off",onClick:function(){return d("power")}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Target",children:(0,o.createComponentVNode)(2,c.NumberInput,{width:"65px",unit:"K",step:10,stepPixelSize:3,value:(0,r.round)(s),minValue:0,maxValue:1e3,onDrag:function(e,t){return d("temperature",{target:t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Reading",children:(0,o.createComponentVNode)(2,c.Box,{width:"60px",textAlign:"right",children:p&&(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:C,format:function(e){return(0,r.toFixed)(e)+" K"}})||"\u2014"})})]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Beaker",buttons:!!p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"label",mr:2,children:[h," / ",N," units"]}),(0,o.createComponentVNode)(2,c.Button,{icon:"eject",content:"Eject",onClick:function(){return d("eject")}})],4),children:(0,o.createComponentVNode)(2,l.BeakerContents,{beakerLoaded:p,beakerContents:b})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemMaster=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.ChemMaster=function(e,t){var n=(0,r.useBackend)(t).data.screen;return(0,o.createComponentVNode)(2,c.Window,{width:465,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:"analyze"===n&&(0,o.createComponentVNode)(2,m)||(0,o.createComponentVNode)(2,i)})})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,u=i.screen,p=i.beakerContents,C=void 0===p?[]:p,h=i.bufferContents,N=void 0===h?[]:h,V=i.beakerCurrentVolume,b=i.beakerMaxVolume,f=i.isBeakerLoaded,g=i.isPillBottleLoaded,v=i.pillBottleCurrentAmount,x=i.pillBottleMaxAmount;return"analyze"===u?(0,o.createComponentVNode)(2,m):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:!!i.isBeakerLoaded&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:2,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:V,initial:0})," / "+b+" units"]}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return c("eject")}})],4),children:[!f&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"No beaker loaded."}),!!f&&0===C.length&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"Beaker is empty."}),(0,o.createComponentVNode)(2,l,{children:C.map((function(e){return(0,o.createComponentVNode)(2,d,{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:i.mode?"good":"bad",icon:i.mode?"exchange-alt":"times",content:i.mode?"Transfer":"Destroy",onClick:function(){return c("toggleMode")}})],4),children:[0===N.length&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"Buffer is empty."}),(0,o.createComponentVNode)(2,l,{children:N.map((function(e){return(0,o.createComponentVNode)(2,d,{chemical:e,transferTo:"beaker"},e.id)}))})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Packaging",children:(0,o.createComponentVNode)(2,s)}),!!g&&(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," / ",x," pills"]}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return c("ejectPillBottle")}})],4)})],0)},l=a.Table,d=function(e,t){var n=(0,r.useBackend)(t).act,c=e.chemical,i=e.transferTo;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:c.volume,initial:0})," units of "+c.name]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,a.Button,{content:"1",onClick:function(){return n("transfer",{id:c.id,amount:1,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"5",onClick:function(){return n("transfer",{id:c.id,amount:5,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"10",onClick:function(){return n("transfer",{id:c.id,amount:10,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"All",onClick:function(){return n("transfer",{id:c.id,amount:1e3,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"ellipsis-h",title:"Custom amount",onClick:function(){return n("transfer",{id:c.id,amount:-1,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"question",title:"Analyze",onClick:function(){return n("analyze",{id:c.id})}})]})]},c.id)},u=function(e){var t=e.label,n=e.amountUnit,r=e.amount,c=e.onChangeAmount,i=e.onCreate,l=e.sideNote;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,children:[(0,o.createComponentVNode)(2,a.NumberInput,{width:"84px",unit:n,step:1,stepPixelSize:15,value:r,minValue:1,maxValue:10,onChange:c}),(0,o.createComponentVNode)(2,a.Button,{ml:1,content:"Create",onClick:i}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,ml:1,color:"label",children:l})]})},s=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=(0,r.useSharedState)(t,"pillAmount",1),d=l[0],s=l[1],m=(0,r.useSharedState)(t,"patchAmount",1),p=m[0],C=m[1],h=(0,r.useSharedState)(t,"bottleAmount",1),N=h[0],V=h[1],b=(0,r.useSharedState)(t,"packAmount",1),f=b[0],g=b[1],v=i.condi,x=i.chosenPillStyle,k=i.chosenCondiStyle,B=i.autoCondiStyle,_=i.pillStyles,w=void 0===_?[]:_,L=i.condiStyles,y=void 0===L?[]:L,S=B===k;return(0,o.createComponentVNode)(2,a.LabeledList,{children:[!v&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill type",children:w.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:"30px",selected:e.id===x,textAlign:"center",color:"transparent",onClick:function(){return c("pillStyle",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.className})},e.id)}))}),!v&&(0,o.createComponentVNode)(2,u,{label:"Pills",amount:d,amountUnit:"pills",sideNote:"max 50u",onChangeAmount:function(e,t){return s(t)},onCreate:function(){return c("create",{type:"pill",amount:d,volume:"auto"})}}),!v&&(0,o.createComponentVNode)(2,u,{label:"Patches",amount:p,amountUnit:"patches",sideNote:"max 40u",onChangeAmount:function(e,t){return C(t)},onCreate:function(){return c("create",{type:"patch",amount:p,volume:"auto"})}}),!v&&(0,o.createComponentVNode)(2,u,{label:"Bottles",amount:N,amountUnit:"bottles",sideNote:"max 30u",onChangeAmount:function(e,t){return V(t)},onCreate:function(){return c("create",{type:"bottle",amount:N,volume:"auto"})}}),!!v&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Bottle type",children:(0,o.createComponentVNode)(2,a.Button.Checkbox,{onClick:function(){return c("condiStyle",{id:S?y[0].id:B})},checked:S,disabled:!y.length,children:"Guess from contents"})}),!!v&&!S&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"",children:y.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:"30px",selected:e.id===k,textAlign:"center",color:"transparent",title:e.title,onClick:function(){return c("condiStyle",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.className})},e.id)}))}),!!v&&(0,o.createComponentVNode)(2,u,{label:"Bottles",amount:N,amountUnit:"bottles",sideNote:"max 50u",onChangeAmount:function(e,t){return V(t)},onCreate:function(){return c("create",{type:"condimentBottle",amount:N,volume:"auto"})}}),!!v&&(0,o.createComponentVNode)(2,u,{label:"Packs",amount:f,amountUnit:"packs",sideNote:"max 10u",onChangeAmount:function(e,t){return g(t)},onCreate:function(){return c("create",{type:"condimentPack",amount:f,volume:"auto"})}})]})},m=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.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 c("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(0),r=n(2),a=n(1),c=n(3);t.ChemPress=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.current_volume,u=l.product_name,s=l.pill_style,m=l.pill_styles,p=void 0===m?[]:m,C=l.product,h=l.min_volume,N=l.max_volume;return(0,o.createComponentVNode)(2,c.Window,{width:300,height:227,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Product",children:[(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:"Pills",checked:"pill"===C,onClick:function(){return i("change_product",{product:"pill"})}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:"Patches",checked:"patch"===C,onClick:function(){return i("change_product",{product:"patch"})}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:"Bottles",checked:"bottle"===C,onClick:function(){return i("change_product",{product:"bottle"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:d,unit:"u",width:"43px",minValue:h,maxValue:N,step:1,stepPixelSize:2,onChange:function(e,t){return i("change_current_volume",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:[(0,o.createComponentVNode)(2,a.Input,{value:u,placeholder:u,onChange:function(e,t){return i("change_product_name",{name:t})}}),(0,o.createComponentVNode)(2,a.Box,{as:"span",children:C})]}),"pill"===C&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Style",children:p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:"30px",selected:e.id===s,textAlign:"center",color:"transparent",onClick:function(){return i("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(0),r=n(10),a=n(6),c=n(2),i=n(1),l=n(3);t.ChemReactionChamber=function(e,t){var n=(0,c.useBackend)(t),d=n.act,u=n.data,s=(0,c.useLocalState)(t,"reagentName",""),m=s[0],p=s[1],C=(0,c.useLocalState)(t,"reagentQuantity",1),h=C[0],N=C[1],V=u.emptying,b=u.reagents||[];return(0,o.createComponentVNode)(2,l.Window,{width:250,height:225,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{title:"Reagents",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,color:V?"bad":"good",children:V?"Emptying":"Filling"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createVNode)(1,"tr","LabledList__row",[(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createComponentVNode)(2,i.Input,{fluid:!0,value:"",placeholder:"Reagent Name",onInput:function(e,t){return p(t)}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td",(0,a.classes)(["LabeledList__buttons","LabeledList__cell"]),[(0,o.createComponentVNode)(2,i.NumberInput,{value:h,minValue:1,maxValue:100,step:1,stepPixelSize:3,width:"39px",onDrag:function(e,t){return N(t)}}),(0,o.createComponentVNode)(2,i.Box,{inline:!0,mr:1}),(0,o.createComponentVNode)(2,i.Button,{icon:"plus",onClick:function(){return d("add",{chem:m,amount:h})}})],4)],4),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:t,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"minus",color:"bad",onClick:function(){return d("remove",{chem:t})}}),children:e},t)}))(b)]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSplitter=void 0;var o=n(0),r=n(8),a=n(2),c=n(1),i=n(3);t.ChemSplitter=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.straight,s=d.side,m=d.max_transfer;return(0,o.createComponentVNode)(2,i.Window,{width:220,height:105,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Straight",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:u,unit:"u",width:"55px",minValue:1,maxValue:m,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return l("set_amount",{target:"straight",amount:t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Side",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:s,unit:"u",width:"55px",minValue:1,maxValue:m,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return l("set_amount",{target:"side",amount:t})}})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSynthesizer=void 0;var o=n(0),r=n(8),a=n(2),c=n(1),i=n(3);t.ChemSynthesizer=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.amount,s=d.current_reagent,m=d.chemicals,p=void 0===m?[]:m,C=d.possible_amounts,h=void 0===C?[]:C;return(0,o.createComponentVNode)(2,i.Window,{width:300,height:375,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c.Section,{children:[(0,o.createComponentVNode)(2,c.Box,{children:h.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"plus",content:(0,r.toFixed)(e,0),selected:e===u,onClick:function(){return l("amount",{target:e})}},(0,r.toFixed)(e,0))}))}),(0,o.createComponentVNode)(2,c.Box,{mt:1,children:p.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"tint",content:e.title,width:"129px",selected:e.id===s,onClick:function(){return l("select",{reagent:e.id})}},e.id)}))})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CivCargoHoldTerminal=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.CivCargoHoldTerminal=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.pad,s=d.sending,m=d.status_report,p=d.id_inserted,C=d.id_bounty_info;d.id_bounty_value,d.id_bounty_num;return(0,o.createComponentVNode)(2,c.Window,{resizable:!0,width:500,height:375,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{children:[(0,o.createComponentVNode)(2,a.NoticeBox,{color:p?"blue":"default",children:p?"Welcome valued employee.":"To begin, insert your ID into the console."}),(0,o.createComponentVNode)(2,a.Section,{title:"Cargo Pad",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:u?"good":"bad",children:u?"Online":"Not Found"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cargo Report",children:m})]})}),(0,o.createComponentVNode)(2,i)]}),(0,o.createComponentVNode)(2,a.Flex.Item,{m:1,children:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"sync",content:"Check Contents",disabled:!u||!p,onClick:function(){return l("recalc")}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:s?"times":"arrow-up",content:s?"Stop Sending":"Send Goods",selected:s,disabled:!u||!p,onClick:function(){return l(s?"stop":"send")}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:C?"recycle":"pen",color:C?"green":"default",content:C?"Replace Bounty":"New Bounty",disabled:!p,onClick:function(){return l("bounty")}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Eject",disabled:!p,onClick:function(){return l("eject")}})],4)})]})})})};var i=function(e,t){var n=(0,r.useBackend)(t).data,c=n.id_bounty_info,i=n.id_bounty_value,l=n.id_bounty_num;return(0,o.createComponentVNode)(2,a.Section,{title:"Bounty Info",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Description",children:c||"N/A, please add a new bounty."}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Quantity",children:c?l:"N/A"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Value",children:c?i:"N/A"})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CodexGigas=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=["Dark","Hellish","Fallen","Fiery","Sinful","Blood","Fluffy"],l=["Lord","Prelate","Count","Viscount","Vizier","Elder","Adept"],d=["hal","ve","odr","neit","ci","quon","mya","folth","wren","geyr","hil","niet","twou","phi","coa"],u=["the Red","the Soulless","the Master","the Lord of all things","Jr."];t.CodexGigas=function(e,t){var n=(0,r.useBackend)(t),s=n.act,m=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:450,height:450,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{children:[m.name,(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prefix",children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:1!==m.currentSection,onClick:function(){return s(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Title",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:m.currentSection>2,onClick:function(){return s(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:m.currentSection>4,onClick:function(){return s(e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suffix",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:4!==m.currentSection,onClick:function(){return s(" "+e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Submit",children:(0,o.createComponentVNode)(2,a.Button,{content:"Search",disabled:m.currentSection<4,onClick:function(){return s("search")}})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CommunicationsConsole=void 0;var o=n(0),r=n(10),a=n(17),c=n(2),i=n(1),l=n(3),d=n(207),u="buying_shuttle",s="changing_status",m="main",p="messages",C=(0,r.sortBy)((function(e){return e.creditCost})),h=function(e,t){var n=(0,c.useBackend)(t),r=n.act,l=n.data,d=l.alertLevelTick,u=l.canSetAlertLevel,s=e.alertLevel,m=e.setShowAlertLevelConfirm,p=l.alertLevel===s;return(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",color:p&&"good",content:(0,a.capitalize)(s),onClick:function(){p||("SWIPE_NEEDED"===u?m([s,d]):r("changeSecurityLevel",{newSecurityLevel:s}))}})},N=function(e,t){var n=(0,c.useBackend)(t).data.maxMessageLength,r=(0,c.useLocalState)(t,e.label,""),a=r[0],l=r[1],d=e.minLength===undefined||a.length>=e.minLength;return(0,o.createComponentVNode)(2,i.Modal,{children:(0,o.createComponentVNode)(2,i.Flex,{direction:"column",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{fontSize:"16px",maxWidth:"90vw",mb:1,children:[e.label,":"]}),(0,o.createComponentVNode)(2,i.Flex.Item,{mr:2,mb:1,children:(0,o.createComponentVNode)(2,i.TextArea,{fluid:!0,height:"20vh",width:"80vw",backgroundColor:"black",textColor:"white",onInput:function(e,t){l(t.substring(0,n))},value:a})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:e.icon,content:e.buttonText,color:"good",disabled:!d,tooltip:d?"":"You need a longer reason.",tooltipPosition:"right",onClick:function(){d&&(l(""),e.onSubmit(a))}}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Cancel",color:"bad",onClick:e.onBack})]}),!!e.notice&&(0,o.createComponentVNode)(2,i.Flex.Item,{maxWidth:"90vw",children:e.notice})]})})},V=function(e,t){var n=(0,c.useBackend)(t),r=n.act,a=n.data;return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"chevron-left",content:"Back",onClick:function(){return r("setState",{state:m})}})}),(0,o.createComponentVNode)(2,i.Section,{children:["Budget: ",(0,o.createVNode)(1,"b",null,a.budget.toLocaleString(),0)," credits"]}),C(a.shuttles).map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:(0,o.createVNode)(1,"span",null,e.name,0,{style:{display:"inline-block",width:"70%"}}),buttons:(0,o.createComponentVNode)(2,i.Button,{content:e.creditCost.toLocaleString()+" credits",disabled:a.budget0&&(0,o.createComponentVNode)(2,i.Section,{title:"Allied Sectors",children:(0,o.createComponentVNode)(2,i.Flex,{direction:"column",children:[y.map((function(e){return(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Send a message to station in "+e+" sector",disabled:!L,onClick:function(){return z(e)}})},e)})),y.length>2&&(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Send a message to all allied stations",disabled:!L,onClick:function(){return z("all")}})})]})}),!!x&&y.length>0&&E&&(0,o.createComponentVNode)(2,N,{label:"Message to send to allied station",notice:"Please be aware that this process is very expensive, and abuse will lead to...termination.",icon:"bullhorn",buttonText:"Send",onBack:function(){return z(null)},onSubmit:function(e){r("sendToOtherSector",{destination:E,message:e}),z(null)}})]})},g=function(e,t){var n=(0,c.useBackend)(t),r=n.act,a=n.data.messages||[],l=[];l.push((0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"chevron-left",content:"Back",onClick:function(){return r("setState",{state:m})}})}));for(var u=[],s=function(){var e=C[p],t=e[0],n=e[1],a=null;n.possibleAnswers.length>0&&(a=(0,o.createComponentVNode)(2,i.Box,{mt:1,children:n.possibleAnswers.map((function(e,a){return(0,o.createComponentVNode)(2,i.Button,{content:e,color:n.answered===a+1?"good":undefined,onClick:n.answered?undefined:function(){return r("answerMessage",{message:t+1,answer:a+1})}},a)}))}));var c={__html:(0,d.sanitizeText)(n.content)};u.push((0,o.createComponentVNode)(2,i.Section,{title:n.title,buttons:(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",content:"Delete",color:"red",onClick:function(){return r("deleteMessage",{message:t+1})}}),children:[(0,o.createComponentVNode)(2,i.Box,{dangerouslySetInnerHTML:c}),a]},t))},p=0,C=Object.entries(a);p=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},s=function(e){var t=e.type,n=e.value;return(0,o.createComponentVNode)(2,c.Box,{inline:!0,width:2,color:i.COLORS.damageType[t],textAlign:"center",children:n})};t.CrewConsole=function(){return(0,o.createComponentVNode)(2,l.Window,{title:"Crew Monitor",width:600,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c.Section,{minHeight:"540px",children:(0,o.createComponentVNode)(2,m)})})})};var m=function(e,t){var n,i=(0,a.useBackend)(t),l=(i.act,i.data),d=(0,r.sortBy)((function(e){return e.ijob}))(null!=(n=l.sensors)?n:[]);return(0,o.createComponentVNode)(2,c.Table,{children:[(0,o.createComponentVNode)(2,c.Table.Row,{children:[(0,o.createComponentVNode)(2,c.Table.Cell,{bold:!0,children:"Name"}),(0,o.createComponentVNode)(2,c.Table.Cell,{bold:!0,collapsing:!0}),(0,o.createComponentVNode)(2,c.Table.Cell,{bold:!0,collapsing:!0,textAlign:"center",children:"Vitals"}),(0,o.createComponentVNode)(2,c.Table.Cell,{bold:!0,children:"Position"}),!!l.link_allowed&&(0,o.createComponentVNode)(2,c.Table.Cell,{bold:!0,collapsing:!0,children:"Tracking"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,p,{sensor_data:e},e.ref)}))]})},p=function(e,t){var n,r,i,l,m,p,C,h=(0,a.useBackend)(t),N=h.act,V=h.data.link_allowed,b=e.sensor_data,f=b.name,g=b.assignment,v=b.ijob,x=b.life_status,k=b.oxydam,B=b.toxdam,_=b.burndam,w=b.brutedam,L=b.area,y=b.can_track;return(0,o.createComponentVNode)(2,c.Table.Row,{children:[(0,o.createComponentVNode)(2,c.Table.Cell,{bold:(C=v,C%10==0),color:u(v),children:[f,g!==undefined?" ("+g+")":""]}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,o.createComponentVNode)(2,c.ColorBox,{color:(n=k,r=B,i=_,l=w,m=n+r+i+l,p=Math.min(Math.max(Math.ceil(m/25),0),5),d[p])})}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"center",children:k!==undefined?(0,o.createComponentVNode)(2,c.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,s,{type:"oxy",value:k}),"/",(0,o.createComponentVNode)(2,s,{type:"toxin",value:B}),"/",(0,o.createComponentVNode)(2,s,{type:"burn",value:_}),"/",(0,o.createComponentVNode)(2,s,{type:"brute",value:w})]}):x?"Alive":"Dead"}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:L!==undefined?L:"N/A"}),!!V&&(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,c.Button,{content:"Track",disabled:!y,onClick:function(){return N("select_person",{name:f})}})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Cryo=void 0;var o=n(0),r=n(2),a=n(1),c=n(206),i=n(3),l=[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}];t.Cryo=function(){return(0,o.createComponentVNode)(2,i.Window,{width:400,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,d)})})};var d=function(e,t){var n=(0,r.useBackend)(t),i=n.act,d=n.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",children:d.occupant.name||"No Occupant"}),!!d.hasOccupant&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:d.occupant.statstate,children:d.occupant.stat}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",color:d.occupant.temperaturestatus,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d.occupant.bodyTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.occupant.health/d.occupant.maxHealth,color:d.occupant.health>0?"good":"average",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d.occupant.health})})}),l.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.occupant[e.type]/100,children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d.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",children:(0,o.createComponentVNode)(2,a.Button,{icon:d.isOperating?"power-off":"times",disabled:d.isOpen,onClick:function(){return i("power")},color:d.isOperating&&"green",children:d.isOperating?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d.cellTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:[(0,o.createComponentVNode)(2,a.Button,{icon:d.isOpen?"unlock":"lock",onClick:function(){return i("door")},content:d.isOpen?"Open":"Closed"}),(0,o.createComponentVNode)(2,a.Button,{icon:d.autoEject?"sign-out-alt":"sign-in-alt",onClick:function(){return i("autoeject")},content:d.autoEject?"Auto":"Manual"})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!d.isBeakerLoaded,onClick:function(){return i("ejectbeaker")},content:"Eject"}),children:(0,o.createComponentVNode)(2,c.BeakerContents,{beakerLoaded:d.isBeakerLoaded,beakerContents:d.beakerContents})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.DecalPainter=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.DecalPainter=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.decal_list||[],u=l.color_list||[],s=l.dir_list||[];return(0,o.createComponentVNode)(2,c.Window,{width:500,height:400,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Decal Type",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,selected:e.decal===l.decal_style,onClick:function(){return i("select decal",{decals:e.decal})}},e.decal)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Color",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:"red"===e.colors?"Red":"white"===e.colors?"White":"Yellow",selected:e.colors===l.decal_color,onClick:function(){return i("select color",{colors:e.colors})}},e.colors)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Direction",children:s.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===l.decal_direction,onClick:function(){return i("selected direction",{dirs:e.dirs})}},e.dirs)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalUnit=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.DisposalUnit=function(e,t){var n,i,l=(0,r.useBackend)(t),d=l.act,u=l.data;return u.full_pressure?(n="good",i="Ready"):u.panel_open?(n="bad",i="Power Disabled"):u.pressure_charging?(n="average",i="Pressurizing"):(n="bad",i="Off"),(0,o.createComponentVNode)(2,c.Window,{width:300,height:180,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:n,children:i}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:u.per,color:"good"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Handle",children:(0,o.createComponentVNode)(2,a.Button,{icon:u.flush?"toggle-on":"toggle-off",disabled:u.isai||u.panel_open,content:u.flush?"Disengage":"Engage",onClick:function(){return d(u.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:u.isai,content:"Eject Contents",onClick:function(){return d("eject")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",disabled:u.panel_open,selected:u.pressure_charging,onClick:function(){return d(u.pressure_charging?"pump-0":"pump-1")}})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DnaConsoleCommands=t.DnaConsole=void 0;var o=n(0),r=n(10),a=n(24),c=n(6),i=n(17),l=n(51),d=n(2),u=n(1),s=n(3);var m=["A","T","C","G"],p={A:"green",T:"green",G:"blue",C:"blue",X:"grey"},C="storage",h="sequencer",N="enzymes",V="console",b="disk",f="injector",g="mutations",v="chromosomes",x="mutations",k="diskenzymes",B={1:"good",2:"bad",4:"average"},_=function(e,t){return e.Alias===t.Alias&&e.AppliedChromo===t.AppliedChromo};t.DnaConsole=function(e,t){var n=(0,d.useBackend)(t),r=n.data,a=(n.act,r.isPulsingRads),c=r.radPulseSeconds,i=r.view.consoleMode;return(0,o.createComponentVNode)(2,s.Window,{title:"DNA Console",width:539,height:710,resizable:!0,children:[!!a&&(0,o.createComponentVNode)(2,u.Dimmer,{fontSize:"14px",textAlign:"center",children:[(0,o.createComponentVNode)(2,u.Icon,{mr:1,name:"spinner",spin:!0}),"Radiation pulse in progress...",(0,o.createComponentVNode)(2,u.Box,{mt:1}),c,"s"]}),(0,o.createComponentVNode)(2,s.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,w),(0,o.createComponentVNode)(2,I),i===C&&(0,o.createComponentVNode)(2,A),i===h&&(0,o.createComponentVNode)(2,D),i===N&&(0,o.createComponentVNode)(2,E)]})]})};var w=function(e,t){return(0,o.createComponentVNode)(2,u.Section,{title:"DNA Scanner",buttons:(0,o.createComponentVNode)(2,L),children:(0,o.createComponentVNode)(2,S)})},L=function(e,t){var n=(0,d.useBackend)(t),r=n.data,a=n.act,c=r.hasDelayedAction,i=r.isPulsingRads,l=r.isScannerConnected,s=r.isScrambleReady,m=r.isViableSubject,p=r.scannerLocked,C=r.scannerOpen,h=r.scrambleSeconds;return l?(0,o.createFragment)([!!c&&(0,o.createComponentVNode)(2,u.Button,{content:"Cancel Delayed Action",onClick:function(){return a("cancel_delay")}}),!!m&&(0,o.createComponentVNode)(2,u.Button,{disabled:!s||i,onClick:function(){return a("scramble_dna")},children:["Scramble DNA",!s&&" ("+h+"s)"]}),(0,o.createComponentVNode)(2,u.Box,{inline:!0,mr:1}),(0,o.createComponentVNode)(2,u.Button,{icon:p?"lock":"lock-open",color:p&&"bad",disabled:C,content:p?"Locked":"Unlocked",onClick:function(){return a("toggle_lock")}}),(0,o.createComponentVNode)(2,u.Button,{disabled:p,content:C?"Close":"Open",onClick:function(){return a("toggle_door")}})],0):(0,o.createComponentVNode)(2,u.Button,{content:"Connect Scanner",onClick:function(){return a("connect_scanner")}})},y=function(e,t){var n=e.status;return 0===n?(0,o.createComponentVNode)(2,u.Box,{inline:!0,color:"good",children:"Conscious"}):2===n?(0,o.createComponentVNode)(2,u.Box,{inline:!0,color:"average",children:"Unconscious"}):1===n?(0,o.createComponentVNode)(2,u.Box,{inline:!0,color:"average",children:"Critical"}):3===n?(0,o.createComponentVNode)(2,u.Box,{inline:!0,color:"bad",children:"Dead"}):4===n?(0,o.createComponentVNode)(2,u.Box,{inline:!0,color:"bad",children:"Transforming"}):(0,o.createComponentVNode)(2,u.Box,{inline:!0,children:"Unknown"})},S=function(e,t){var n=(0,d.useBackend)(t),r=n.data,a=(n.act,r.subjectName),c=r.isScannerConnected,i=r.isViableSubject,l=r.subjectHealth,s=r.subjectRads,m=r.subjectStatus;return c?i?(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Status",children:[a,(0,o.createComponentVNode)(2,u.Icon,{mx:1,color:"label",name:"long-arrow-alt-right"}),(0,o.createComponentVNode)(2,y,{status:m})]}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,u.ProgressBar,{value:l,minValue:0,maxValue:100,ranges:{olive:[101,Infinity],good:[70,101],average:[30,70],bad:[-Infinity,30]},children:[l,"%"]})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Radiation",children:(0,o.createComponentVNode)(2,u.ProgressBar,{value:s,minValue:0,maxValue:100,ranges:{bad:[71,Infinity],average:[30,71],good:[0,30],olive:[-Infinity,0]},children:[s,"%"]})})]}):(0,o.createComponentVNode)(2,u.Box,{color:"average",children:"No viable subject found in DNA Scanner."}):(0,o.createComponentVNode)(2,u.Box,{color:"bad",children:"DNA Scanner is not connected."})},I=function(e,t){var n=(0,d.useBackend)(t),r=n.data,a=n.act,c=r.hasDisk,i=r.isInjectorReady,l=r.injectorSeconds,s=r.view.consoleMode;return(0,o.createComponentVNode)(2,u.Section,{title:"DNA Console",buttons:!i&&(0,o.createComponentVNode)(2,u.Box,{lineHeight:"20px",color:"label",children:["Injector on cooldown (",l,"s)"]}),children:(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Mode",children:[(0,o.createComponentVNode)(2,u.Button,{content:"Storage",selected:s===C,onClick:function(){return a("set_view",{consoleMode:C})}}),(0,o.createComponentVNode)(2,u.Button,{content:"Sequencer",disabled:!r.isViableSubject,selected:s===h,onClick:function(){return a("set_view",{consoleMode:h})}}),(0,o.createComponentVNode)(2,u.Button,{content:"Enzymes",selected:s===N,onClick:function(){return a("set_view",{consoleMode:N})}})]}),!!c&&(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Disk",children:(0,o.createComponentVNode)(2,u.Button,{icon:"eject",content:"Eject",onClick:function(){a("eject_disk"),a("set_view",{storageMode:V})}})})]})})};t.DnaConsoleCommands=I;var T=function(e,t){var n=(0,d.useBackend)(t),r=n.data,a=n.act,c=r.hasDisk,i=r.view,l=i.storageMode,s=i.storageConsSubMode,m=i.storageDiskSubMode;return(0,o.createFragment)([l===V&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Button,{selected:s===g,content:"Mutations",onClick:function(){return a("set_view",{storageConsSubMode:g})}}),(0,o.createComponentVNode)(2,u.Button,{selected:s===v,content:"Chromosomes",onClick:function(){return a("set_view",{storageConsSubMode:v})}})],4),l===b&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Button,{selected:m===g,content:"Mutations",onClick:function(){return a("set_view",{storageDiskSubMode:g})}}),(0,o.createComponentVNode)(2,u.Button,{selected:m===k,content:"Enzymes",onClick:function(){return a("set_view",{storageDiskSubMode:k})}})],4),(0,o.createComponentVNode)(2,u.Box,{inline:!0,mr:1}),(0,o.createComponentVNode)(2,u.Button,{content:"Console",selected:l===V,onClick:function(){return a("set_view",{storageMode:V,storageConsSubMode:g})}}),(0,o.createComponentVNode)(2,u.Button,{content:"Disk",disabled:!c,selected:l===b,onClick:function(){return a("set_view",{storageMode:b,storageDiskSubMode:x})}}),(0,o.createComponentVNode)(2,u.Button,{content:"Adv. Injector",selected:l===f,onClick:function(){return a("set_view",{storageMode:f})}})],0)},A=function(e,t){var n=(0,d.useBackend)(t),r=n.data,a=n.act,c=r.view,i=c.storageMode,l=c.storageConsSubMode,s=c.storageDiskSubMode,m=r.diskMakeupBuffer,p=r.diskHasMakeup,C=r.storage[i];return(0,o.createComponentVNode)(2,u.Section,{title:"Storage",buttons:(0,o.createComponentVNode)(2,T),children:[i===V&&l===g&&(0,o.createComponentVNode)(2,P,{mutations:C}),i===V&&l===v&&(0,o.createComponentVNode)(2,F),i===b&&s===x&&(0,o.createComponentVNode)(2,P,{mutations:C}),i===b&&s===k&&(0,o.createFragment)([(0,o.createComponentVNode)(2,U,{makeup:m}),(0,o.createComponentVNode)(2,u.Button,{icon:"times",color:"red",disabled:!p,content:"Delete",onClick:function(){return a("del_makeup_disk")}})],4),i===f&&(0,o.createComponentVNode)(2,Y)]})},P=function(e,t){var n=e.customMode,r=void 0===n?"":n,a=(0,d.useBackend)(t),c=a.data,l=a.act,s=e.mutations||[],m=c.view.storageMode+r,p=c.view["storage"+m+"MutationRef"],C=s.find((function(e){return e.ByondRef===p}));return!C&&s.length>0&&(C=s[0],p=C.ByondRef),(0,o.createComponentVNode)(2,u.Flex,{children:[(0,o.createComponentVNode)(2,u.Flex.Item,{width:"140px",children:(0,o.createComponentVNode)(2,u.Section,{title:(0,i.capitalize)(c.view.storageMode)+" Storage",level:2,children:s.map((function(e){return(0,o.createComponentVNode)(2,u.Button,{fluid:!0,ellipsis:!0,color:"transparent",selected:e.ByondRef===p,content:e.Name,onClick:function(){var t;return l("set_view",((t={})["storage"+m+"MutationRef"]=e.ByondRef,t))}},e.ByondRef)}))})}),(0,o.createComponentVNode)(2,u.Flex.Item,{children:(0,o.createComponentVNode)(2,u.Divider,{vertical:!0})}),(0,o.createComponentVNode)(2,u.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,u.Section,{title:"Mutation Info",level:2,children:(0,o.createComponentVNode)(2,M,{mutation:C})})})]})},F=function(e,t){var n,a=(0,d.useBackend)(t),c=a.data,i=a.act,l=null!=(n=c.chromoStorage)?n:[],s=(0,r.uniqBy)((function(e){return e.Name}))(l),m=c.view.storageChromoName,p=l.find((function(e){return e.Name===m}));return(0,o.createComponentVNode)(2,u.Flex,{children:[(0,o.createComponentVNode)(2,u.Flex.Item,{width:"140px",children:(0,o.createComponentVNode)(2,u.Section,{title:"Console Storage",level:2,children:s.map((function(e){return(0,o.createComponentVNode)(2,u.Button,{fluid:!0,ellipsis:!0,color:"transparent",selected:e.Name===m,content:e.Name,onClick:function(){return i("set_view",{storageChromoName:e.Name})}},e.Index)}))})}),(0,o.createComponentVNode)(2,u.Flex.Item,{children:(0,o.createComponentVNode)(2,u.Divider,{vertical:!0})}),(0,o.createComponentVNode)(2,u.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,u.Section,{title:"Chromosome Info",level:2,children:!p&&(0,o.createComponentVNode)(2,u.Box,{color:"label",children:"Nothing to show."})||(0,o.createFragment)([(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Name",children:p.Name}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Description",children:p.Description}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Amount",children:l.filter((function(e){return e.Name===p.Name})).length})]}),(0,o.createComponentVNode)(2,u.Button,{mt:2,icon:"eject",content:"Eject Chromosome",onClick:function(){return i("eject_chromo",{chromo:p.Name})}})],4)})})]})},M=function(e,t){var n,c,i,l=e.mutation,s=(0,d.useBackend)(t),m=s.data,p=s.act,C=m.diskCapacity,h=m.diskReadOnly,N=m.hasDisk,V=m.isInjectorReady,b=m.isCrisprReady,f=m.crisprCharges,g=null!=(n=m.storage.disk)?n:[],v=null!=(c=m.storage.console)?c:[],x=null!=(i=m.storage.injector)?i:[];if(!l)return(0,o.createComponentVNode)(2,u.Box,{color:"label",children:"Nothing to show."});if("occupant"===l.Source&&!l.Discovered)return(0,o.createComponentVNode)(2,u.LabeledList,{children:(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Name",children:l.Alias})});var k=v.find((function(e){return _(e,l)})),w=g.find((function(e){return _(e,l)})),L=(0,a.flow)([(0,r.uniqBy)((function(e){return e.Name})),(0,r.filter)((function(e){return e.Name!==l.Name}))])([].concat(g,v));return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Name",children:(0,o.createComponentVNode)(2,u.Box,{inline:!0,color:B[l.Quality],children:l.Name})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Description",children:l.Description}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Instability",children:l.Instability})]}),(0,o.createComponentVNode)(2,u.Divider),(0,o.createComponentVNode)(2,u.Box,{children:["disk"===l.Source&&(0,o.createComponentVNode)(2,J,{disabled:!N||C<=0||h,mutations:L,source:l}),"console"===l.Source&&(0,o.createComponentVNode)(2,J,{mutations:L,source:l}),["occupant","disk","console"].includes(l.Source)&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Dropdown,{width:"240px",options:x.map((function(e){return e.name})),disabled:0===x.length||!l.Active,selected:"Add to advanced injector",onSelected:function(e){return p("add_advinj_mut",{mutref:l.ByondRef,advinj:e,source:l.Source})}}),(0,o.createComponentVNode)(2,u.Button,{icon:"syringe",disabled:!V||!l.Active,content:"Print Activator",onClick:function(){return p("print_injector",{mutref:l.ByondRef,is_activator:1,source:l.Source})}}),(0,o.createComponentVNode)(2,u.Button,{icon:"syringe",disabled:!V||!l.Active,content:"Print Mutator",onClick:function(){return p("print_injector",{mutref:l.ByondRef,is_activator:0,source:l.Source})}}),(0,o.createComponentVNode)(2,u.Button,{icon:"syringe",disabled:!l.Active||!b,content:"CRISPR ["+f+"]",onClick:function(){return p("crispr",{mutref:l.ByondRef,source:l.Source})}})],4)]}),["disk","occupant"].includes(l.Source)&&(0,o.createComponentVNode)(2,u.Button,{icon:"save",disabled:k||!l.Active,content:"Save to Console",onClick:function(){return p("save_console",{mutref:l.ByondRef,source:l.Source})}}),["console","occupant"].includes(l.Source)&&(0,o.createComponentVNode)(2,u.Button,{icon:"save",disabled:w||!N||C<=0||h||!l.Active,content:"Save to Disk",onClick:function(){return p("save_disk",{mutref:l.ByondRef,source:l.Source})}}),["console","disk","injector"].includes(l.Source)&&(0,o.createComponentVNode)(2,u.Button,{icon:"times",color:"red",content:"Delete from "+l.Source,onClick:function(){return p("delete_"+l.Source+"_mut",{mutref:l.ByondRef})}}),(2===l.Class||!!l.Scrambled&&"occupant"===l.Source)&&(0,o.createComponentVNode)(2,u.Button,{content:"Nullify",onClick:function(){return p("nullify",{mutref:l.ByondRef})}}),(0,o.createComponentVNode)(2,u.Divider),(0,o.createComponentVNode)(2,R,{disabled:"occupant"!==l.Source,mutation:l})],0)},R=function(e,t){var n=e.mutation,r=e.disabled,a=(0,d.useBackend)(t),c=(a.data,a.act);return 0===n.CanChromo?(0,o.createComponentVNode)(2,u.Box,{color:"label",children:"No compatible chromosomes"}):1===n.CanChromo?r?(0,o.createComponentVNode)(2,u.Box,{color:"label",children:"No chromosome applied."}):(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Dropdown,{width:"240px",options:n.ValidStoredChromos,disabled:0===n.ValidStoredChromos.length,selected:0===n.ValidStoredChromos.length?"No Suitable Chromosomes":"Select a chromosome",onSelected:function(e){return c("apply_chromo",{chromo:e,mutref:n.ByondRef})}}),(0,o.createComponentVNode)(2,u.Box,{color:"label",mt:1,children:["Compatible with: ",n.ValidChromos]})],4):2===n.CanChromo?(0,o.createComponentVNode)(2,u.Box,{color:"label",children:["Applied chromosome: ",n.AppliedChromo]}):null},D=function(e,t){var n,r,a=(0,d.useBackend)(t),c=a.data,i=a.act,s=null!=(n=null==(r=c.storage)?void 0:r.occupant)?n:[],m=c.isJokerReady,p=c.isMonkey,C=c.jokerSeconds,h=c.subjectStatus,N=c.view,V=N.sequencerMutation,b=N.jokerActive,f=s.find((function(e){return e.Alias===V}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Flex,{spacing:1,mb:1,children:[(0,o.createComponentVNode)(2,u.Flex.Item,{width:s.length<=8?"154px":"174px",children:(0,o.createComponentVNode)(2,u.Section,{title:"Sequences",height:"214px",overflowY:s.length>8&&"scroll",children:s.map((function(e){return(0,o.createComponentVNode)(2,j,{url:(0,l.resolveAsset)(e.Image),selected:e.Alias===V,onClick:function(){i("set_view",{sequencerMutation:e.Alias}),i("check_discovery",{alias:e.Alias})}},e.Alias)}))})}),(0,o.createComponentVNode)(2,u.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,u.Section,{title:"Sequence Info",minHeight:"100%",children:(0,o.createComponentVNode)(2,M,{mutation:f})})})]}),3===h&&(0,o.createComponentVNode)(2,u.Section,{color:"bad",children:"Genetic sequence corrupted. Subject diagnostic report: DECEASED."})||p&&"Monkified"!==(null==f?void 0:f.Name)&&(0,o.createComponentVNode)(2,u.Section,{color:"bad",children:"Genetic sequence corrupted. Subject diagnostic report: MONKEY."})||4===h&&(0,o.createComponentVNode)(2,u.Section,{color:"bad",children:"Genetic sequence corrupted. Subject diagnostic report: TRANSFORMING."})||(0,o.createComponentVNode)(2,u.Section,{title:"Genome Sequencer\u2122",buttons:!m&&(0,o.createComponentVNode)(2,u.Box,{lineHeight:"20px",color:"label",children:["Joker on cooldown (",C,"s)"]})||b&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Box,{mr:1,inline:!0,color:"label",children:"Click on a gene to reveal it."}),(0,o.createComponentVNode)(2,u.Button,{content:"Cancel Joker",onClick:function(){return i("set_view",{jokerActive:""})}})],4)||(0,o.createComponentVNode)(2,u.Button,{icon:"crown",color:"purple",content:"Use Joker",onClick:function(){return i("set_view",{jokerActive:"1"})}}),children:(0,o.createComponentVNode)(2,O,{mutation:f})})],0)},j=function(e,t){var n,r=e.url,a=e.selected,c=e.onClick;return a&&(n="2px solid #22aa00"),(0,o.createComponentVNode)(2,u.Box,{as:"img",src:r,style:{width:"64px",margin:"2px","margin-left":"4px",outline:n},onClick:c})},W=function(e,t){var n=e.gene,r=e.onChange,a=e.disabled,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,["gene","onChange","disabled"]),i=m.length,l=m.indexOf(n),d=a&&p.X||p[n];return(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Button,Object.assign({},c,{color:d,onClick:function(e){if(e.preventDefault(),r)if(-1!==l){var t=m[(l+1)%i];r(e,t)}else r(e,m[0])},oncontextmenu:function(e){if(e.preventDefault(),r)if(-1!==l){var t=m[(l-1+i)%i];r(e,t)}else r(e,m[i-1])},children:n})))},O=function(e,t){var n=e.mutation,r=(0,d.useBackend)(t),a=r.data,i=r.act,l=a.view.jokerActive;if(!n)return(0,o.createComponentVNode)(2,u.Box,{color:"average",children:"No genome selected for sequencing."});if(n.Scrambled)return(0,o.createComponentVNode)(2,u.Box,{color:"average",children:"Sequence unreadable due to unpredictable mutation."});for(var s=n.Sequence,m=n.DefaultSeq,p=[],C=function(e){var t=s.charAt(e),r=(0,o.createComponentVNode)(2,W,{width:"22px",textAlign:"center",disabled:!!n.Scrambled||1!==n.Class,className:"X"===(null==m?void 0:m.charAt(e))&&!n.Active&&(0,c.classes)(["outline-solid","outline-color-orange"]),gene:t,onChange:function(t,o){if(!t.ctrlKey)return l?(i("pulse_gene",{pos:e+1,gene:"J",alias:n.Alias}),void i("set_view",{jokerActive:""})):void i("pulse_gene",{pos:e+1,gene:o,alias:n.Alias});i("pulse_gene",{pos:e+1,gene:"X",alias:n.Alias})}});p.push(r)},h=0;h=3){var r=(0,o.createComponentVNode)(2,u.Box,{inline:!0,width:"22px",mx:"1px",children:s});l.push(r),s=[]}},p=0;p=i,onCommit:function(e,t){return a("new_adv_inj",{name:t})}})})]})},J=function(e,t){var n=e.mutations,r=void 0===n?[]:n,a=e.source,c=(0,d.useBackend)(t),i=c.act;c.data;return(0,o.createComponentVNode)(2,u.Dropdown,{width:"240px",options:r.map((function(e){return e.Name})),disabled:0===r.length,selected:"Combine mutations",onSelected:function(e){return i("combine_"+a.Source,{firstref:(t=e,null==(n=r.find((function(e){return e.Name===t})))?void 0:n.ByondRef),secondref:a.ByondRef});var t,n}},a.ByondRef)}},function(e,t,n){"use strict";t.__esModule=!0,t.DnaVault=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.DnaVault=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.completed,u=l.used,s=l.choiceA,m=l.choiceB,p=l.dna,C=l.dna_max,h=l.plants,N=l.plants_max,V=l.animals,b=l.animals_max;return(0,o.createComponentVNode)(2,c.Window,{width:350,height:400,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(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:p/C,children:p+" / "+C+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plant DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:h/N,children:h+" / "+N+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Animal DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:V/b,children:V+" / "+b+" Samples"})})]})}),!(!d||u)&&(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:s,textAlign:"center",onClick:function(){return i("gene",{choice:s})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:m,textAlign:"center",onClick:function(){return i("gene",{choice:m})}})})]})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.EightBallVote=void 0;var o=n(0),r=n(2),a=n(1),c=n(17),i=n(3);t.EightBallVote=function(e,t){var n=(0,r.useBackend)(t),c=(n.act,n.data.shaking);return(0,o.createComponentVNode)(2,i.Window,{width:400,height:600,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No question is currently being asked."})||(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.question,u=l.answers,s=void 0===u?[]:u;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"16px",m:1,children:['"',d,'"']}),(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,c.toTitleCase)(e.answer),selected:e.selected,fontSize:"16px",lineHeight:"24px",textAlign:"center",mb:1,onClick:function(){return i("vote",{answer:e.answer})}}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"30px",children:e.amount})]},e.answer)}))})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Electrolyzer=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.Electrolyzer=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:305,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Power",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Cell",disabled:!l.hasPowercell||!l.open,onClick:function(){return i("eject")}}),(0,o.createComponentVNode)(2,a.Button,{icon:l.on?"power-off":"times",content:l.on?"On":"Off",selected:l.on,disabled:!l.hasPowercell,onClick:function(){return i("power")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell",color:!l.hasPowercell&&"bad",children:l.hasPowercell&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.powerLevel/100,content:l.powerLevel+"%",ranges:{good:[.6,Infinity],average:[.3,.6],bad:[-Infinity,.3]}})||"None"})})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Electropack=void 0;var o=n(0),r=n(8),a=n(2),c=n(1),i=n(3);t.Electropack=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.power,s=d.code,m=d.frequency,p=d.minFrequency,C=d.maxFrequency;return(0,o.createComponentVNode)(2,i.Window,{width:260,height:137,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,c.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return l("power")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Frequency",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"sync",content:"Reset",onClick:function(){return l("reset",{reset:"freq"})}}),children:(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:p/10,maxValue:C/10,value:m/10,format:function(e){return(0,r.toFixed)(e,1)},width:"80px",onDrag:function(e,t){return l("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Code",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"sync",content:"Reset",onClick:function(){return l("reset",{reset:"code"})}}),children:(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:s,width:"80px",onDrag:function(e,t){return l("code",{code:t})}})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.EmergencyShuttleConsole=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.EmergencyShuttleConsole=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.timer_str,u=l.enabled,s=l.emagged,m=l.engines_started,p=l.authorizations_remaining,C=l.authorizations,h=void 0===C?[]:C;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:350,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,fontSize:"40px",textAlign:"center",fontFamily:"monospace",children:d}),(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",fontSize:"16px",mb:1,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,children:"ENGINES:"}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:m?"good":"average",ml:1,children:m?"Online":"Idle"})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Early Launch Authorization",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Repeal All",color:"bad",disabled:!u,onClick:function(){return i("abort")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"exclamation-triangle",color:"good",content:"AUTHORIZE",disabled:!u,onClick:function(){return i("authorize")}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"minus",content:"REPEAL",disabled:!u,onClick:function(){return i("repeal")}})})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Authorizations",level:3,minHeight:"150px",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:s?"bad":"good",children:s?"ERROR":"Remaining: "+p}),children:h.length>0?h.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)})):(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"16px",color:"average",children:"No Active Authorizations"})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.EngravedMessage=void 0;var o=n(0),r=n(17),a=n(2),c=n(1),i=n(3);t.EngravedMessage=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.admin_mode,s=d.creator_key,m=d.creator_name,p=d.has_liked,C=d.has_disliked,h=d.hidden_message,N=d.is_creator,V=d.num_likes,b=d.num_dislikes,f=d.realdate;return(0,o.createComponentVNode)(2,i.Window,{width:600,height:300,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Section,{children:[(0,o.createComponentVNode)(2,c.Box,{bold:!0,textAlign:"center",fontSize:"20px",mb:2,children:(0,r.decodeHtmlEntities)(h)}),(0,o.createComponentVNode)(2,c.Grid,{children:[(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.Button,{fluid:!0,icon:"arrow-up",content:" "+V,disabled:N,selected:p,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return l("like")}})}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.Button,{fluid:!0,icon:"circle",disabled:N,selected:!C&&!p,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return l("neutral")}})}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.Button,{fluid:!0,icon:"arrow-down",content:" "+b,disabled:N,selected:C,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return l("dislike")}})})]})]}),(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Created On",children:f})})}),(0,o.createComponentVNode)(2,c.Section),!!u&&(0,o.createComponentVNode)(2,c.Section,{title:"Admin Panel",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"times",content:"Delete",color:"bad",onClick:function(){return l("delete")}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Creator Ckey",children:s}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Creator Character Name",children:m})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ExosuitControlConsole=void 0;var o=n(0),r=n(8),a=n(2),c=n(1),i=n(3);t.ExosuitControlConsole=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data.mechs,u=void 0===d?[]:d;return(0,o.createComponentVNode)(2,i.Window,{width:500,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[0===u.length&&(0,o.createComponentVNode)(2,c.NoticeBox,{children:"No exosuits detected"}),u.map((function(e){return(0,o.createComponentVNode)(2,c.Section,{title:e.name,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:"envelope",content:"Message",disabled:!e.pilot,onClick:function(){return l("send_message",{tracker_ref:e.tracker_ref})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"wifi",content:e.emp_recharging?"Recharging...":"EMP Burst",color:"bad",disabled:e.emp_recharging,onClick:function(){return l("shock",{tracker_ref:e.tracker_ref})}})],4),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,c.Box,{color:(e.integrity<=30?"bad":e.integrity<=70&&"average")||"good",children:[e.integrity,"%"]})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Charge",children:(0,o.createComponentVNode)(2,c.Box,{color:(e.charge<=30?"bad":e.charge<=70&&"average")||"good",children:"number"==typeof e.charge&&e.charge+"%"||"Not Found"})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Airtank",children:"number"==typeof e.airtank&&(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:e.airtank,format:function(e){return(0,r.toFixed)(e,2)+" kPa"}})||"Not Equipped"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pilot",children:e.pilot.length>0&&e.pilot.map((function(t){return(0,o.createComponentVNode)(2,c.Box,{inline:!0,children:[t,e.pilot.length>1?"|":""]},t)}))||"None"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Location",children:e.location||"Unknown"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Active Equipment",children:e.active_equipment||"None"}),e.cargo_space>=0&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Used Cargo Space",children:(0,o.createComponentVNode)(2,c.Box,{color:(e.cargo_space<=30?"good":e.cargo_space<=70&&"average")||"bad",children:[e.cargo_space,"%"]})})]})},e.tracker_ref)}))]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ExosuitFabricator=void 0;var o,r=n(0),a=n(10),c=n(6),i=n(17),l=n(2),d=n(1),u=n(42),s=n(3);function m(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return p(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);nn?{color:2,deficit:e-n}:t>n?{color:1,deficit:e}:e+t>n?{color:1,deficit:e+t-n}:{color:0,deficit:0}},V=function(e,t,n){var o={textColor:0};return Object.keys(n.cost).forEach((function(r){o[r]=N(n.cost[r],t[r],e[r]),o[r].color>o.textColor&&(o.textColor=o[r].color)})),o};t.ExosuitFabricator=function(e,t){var n,o,a=(0,l.useBackend)(t),c=a.act,i=a.data,u=i.queue||[],m=(n=i.materials||[],o={},n.forEach((function(e){o[e.name]=e.amount})),o),p=function(e,t){var n={},o={},r={},a={};return t.forEach((function(t,c){a[c]=0,Object.keys(t.cost).forEach((function(i){n[i]=n[i]||0,r[i]=r[i]||0,o[i]=N(t.cost[i],n[i],e[i]),0!==o[i].color?a[c]1&&i=0&&m+"s"||"Dispensing..."})]})})})}}},function(e,t,n){"use strict";t.__esModule=!0,t.ForbiddenLore=void 0;var o=n(0),r=n(10),a=n(24),c=n(2),i=n(1),l=n(3);t.ForbiddenLore=function(e,t){var n=(0,c.useBackend)(t),d=n.act,u=n.data,s=u.charges,m=(0,a.flow)([(0,r.sortBy)((function(e){return"Research"!==e.state}),(function(e){return"Side"===e.path}))])(u.to_know||[]);return(0,o.createComponentVNode)(2,l.Window,{width:500,height:900,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{title:"Research Eldritch Knowledge",children:["Charges left : ",s,null!==m?m.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,my:1,children:[e.path," path"]}),(0,o.createComponentVNode)(2,i.Box,{my:1,children:[(0,o.createComponentVNode)(2,i.Button,{content:e.state,disabled:e.disabled,onClick:function(){return d("research",{name:e.name,cost:e.cost})}})," ","Cost : ",e.cost]}),(0,o.createComponentVNode)(2,i.Box,{italic:!0,my:1,children:e.flavour}),(0,o.createComponentVNode)(2,i.Box,{my:1,children:e.desc})]},e.name)})):(0,o.createComponentVNode)(2,i.Box,{children:"No more knowledge can be found"})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Gateway=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.Gateway=function(){return(0,o.createComponentVNode)(2,c.Window,{resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i)})})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.gateway_present,d=void 0!==l&&l,u=i.gateway_status,s=void 0!==u&&u,m=i.current_target,p=void 0===m?null:m,C=i.destinations,h=void 0===C?[]:C;return d?p?(0,o.createComponentVNode)(2,a.Section,{title:p.name,children:[(0,o.createComponentVNode)(2,a.Icon,{name:"rainbow",size:4,color:"green"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,onClick:function(){return c("deactivate")},children:"Deactivate"})]}):h.length?(0,o.createFragment)([!s&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Gateway Unpowered"}),h.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,children:e.available&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,onClick:function(){return c("activate",{destination:e.ref})},children:"Activate"})||(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{m:1,textColor:"bad",children:e.reason}),!!e.timeout&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:e.timeout,children:"Calibrating..."})],0)},e.ref)}))],0):(0,o.createComponentVNode)(2,a.Section,{children:"No gateway nodes detected."}):(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No linked gateway"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,onClick:function(){return c("linkup")},children:"Linkup"})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.GhostPoolProtection=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.GhostPoolProtection=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.events_or_midrounds,u=l.spawners,s=l.station_sentience,m=l.silicons,p=l.minigames;return(0,o.createComponentVNode)(2,c.Window,{title:"Ghost Pool Protection",width:400,height:270,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Flex,{grow:1,height:"100%",children:(0,o.createComponentVNode)(2,a.Section,{title:"Options",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{color:"good",icon:"plus-circle",content:"Enable Everything",onClick:function(){return i("all_roles")}}),(0,o.createComponentVNode)(2,a.Button,{color:"bad",icon:"minus-circle",content:"Disable Everything",onClick:function(){return i("no_roles")}})],4),children:[(0,o.createComponentVNode)(2,a.NoticeBox,{danger:!0,children:"For people creating a sneaky event: If you toggle Station Created Sentience, people may catch on that admins have disabled roles for your event..."}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,textAlign:"center",color:d?"good":"bad",icon:"meteor",content:"Events and Midround Rulesets",onClick:function(){return i("toggle_events_or_midrounds")}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,textAlign:"center",color:u?"good":"bad",icon:"pastafarianism",content:"Ghost Role Spawners",onClick:function(){return i("toggle_spawners")}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,textAlign:"center",color:s?"good":"bad",icon:"user-astronaut",content:"Station Created Sentience",onClick:function(){return i("toggle_station_sentience")}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,textAlign:"center",color:m?"good":"bad",icon:"robot",content:"Silicons",onClick:function(){return i("toggle_silicons")}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,textAlign:"center",color:p?"good":"bad",icon:"gamepad",content:"Minigames",onClick:function(){return i("toggle_minigames")}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,textAlign:"center",color:"orange",icon:"check",content:"Apply Changes",onClick:function(){return i("apply_settings")}})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.GlandDispenser=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.GlandDispenser=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data.glands,d=void 0===l?[]:l;return(0,o.createComponentVNode)(2,c.Window,{width:300,height:338,theme:"abductor",children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:"60px",height:"60px",m:.75,textAlign:"center",lineHeight:"55px",icon:"eject",backgroundColor:e.color,content:e.amount||"0",disabled:!e.amount,onClick:function(){return i("dispense",{gland_id:e.id})}},e.id)}))})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Gps=void 0;var o=n(0),r=n(10),a=n(24),c=n(8),i=n(135),l=n(2),d=n(1),u=n(3),s=function(e){return(0,r.map)(parseFloat)(e.split(", "))};t.Gps=function(e,t){var n=(0,l.useBackend)(t),m=n.act,p=n.data,C=p.currentArea,h=p.currentCoords,N=p.globalmode,V=p.power,b=p.tag,f=p.updating,g=(0,a.flow)([(0,r.map)((function(e,t){var n=e.dist&&Math.round((0,i.vecLength)((0,i.vecSubtract)(s(h),s(e.coords))));return Object.assign({},e,{dist:n,index:t})})),(0,r.sortBy)((function(e){return e.dist===undefined}),(function(e){return e.entrytag}))])(p.signals||[]);return(0,o.createComponentVNode)(2,u.Window,{title:"Global Positioning System",width:470,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,u.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,d.Section,{title:"Control",buttons:(0,o.createComponentVNode)(2,d.Button,{icon:"power-off",content:V?"On":"Off",selected:V,onClick:function(){return m("power")}}),children:(0,o.createComponentVNode)(2,d.LabeledList,{children:[(0,o.createComponentVNode)(2,d.LabeledList.Item,{label:"Tag",children:(0,o.createComponentVNode)(2,d.Button,{icon:"pencil-alt",content:b,onClick:function(){return m("rename")}})}),(0,o.createComponentVNode)(2,d.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,d.Button,{icon:f?"unlock":"lock",content:f?"AUTO":"MANUAL",color:!f&&"bad",onClick:function(){return m("updating")}})}),(0,o.createComponentVNode)(2,d.LabeledList.Item,{label:"Range",children:(0,o.createComponentVNode)(2,d.Button,{icon:"sync",content:N?"MAXIMUM":"LOCAL",selected:!N,onClick:function(){return m("globalmode")}})})]})}),!!V&&(0,o.createFragment)([(0,o.createComponentVNode)(2,d.Section,{title:"Current Location",children:(0,o.createComponentVNode)(2,d.Box,{fontSize:"18px",children:[C," (",h,")"]})}),(0,o.createComponentVNode)(2,d.Section,{title:"Detected Signals",children:(0,o.createComponentVNode)(2,d.Table,{children:[(0,o.createComponentVNode)(2,d.Table.Row,{bold:!0,children:[(0,o.createComponentVNode)(2,d.Table.Cell,{content:"Name"}),(0,o.createComponentVNode)(2,d.Table.Cell,{collapsing:!0,content:"Direction"}),(0,o.createComponentVNode)(2,d.Table.Cell,{collapsing:!0,content:"Coordinates"})]}),g.map((function(e){return(0,o.createComponentVNode)(2,d.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,d.Table.Cell,{bold:!0,color:"label",children:e.entrytag}),(0,o.createComponentVNode)(2,d.Table.Cell,{collapsing:!0,opacity:e.dist!==undefined&&(0,c.clamp)(1.2/Math.log(Math.E+e.dist/20),.4,1),children:[e.degrees!==undefined&&(0,o.createComponentVNode)(2,d.Icon,{mr:1,size:1.2,name:"arrow-up",rotation:e.degrees}),e.dist!==undefined&&e.dist+"m"]}),(0,o.createComponentVNode)(2,d.Table.Cell,{collapsing:!0,children:e.coords})]},e.entrytag+e.coords+e.index)}))]})})],4)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.GravityGenerator=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.GravityGenerator=function(e,t){var n=(0,r.useBackend)(t),l=(n.act,n.data),d=l.charging_state,u=l.operational;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:155,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[!u&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No data available"}),!!u&&0!==d&&(0,o.createComponentVNode)(2,a.NoticeBox,{danger:!0,children:"WARNING - Radiation detected"}),!!u&&0===d&&(0,o.createComponentVNode)(2,a.NoticeBox,{success:!0,children:"No radiation detected"}),!!u&&(0,o.createComponentVNode)(2,i)]})})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.breaker,d=i.charge_count,u=i.charging_state,s=i.on,m=i.operational;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:l?"power-off":"times",content:l?"On":"Off",selected:l,disabled:!m,onClick:function(){return c("gentoggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Gravity Charge",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d/100,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",children:[0===u&&(s&&(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"})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagItemReclaimer=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.GulagItemReclaimer=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.mobs,u=void 0===d?[]:d;return(0,o.createComponentVNode)(2,c.Window,{width:325,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[0===u.length&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No stored items"}),u.length>0&&(0,o.createComponentVNode)(2,a.Section,{title:"Stored Items",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:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:(0,o.createComponentVNode)(2,a.Button,{content:"Retrieve Items",disabled:!l.can_reclaim,onClick:function(){return i("release_items",{mobref:e.mob})}})})]},e.mob)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagTeleporterConsole=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.GulagTeleporterConsole=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.teleporter,u=l.teleporter_lock,s=l.teleporter_state_open,m=l.teleporter_location,p=l.beacon,C=l.beacon_location,h=l.id,N=l.id_name,V=l.can_teleport,b=l.goal,f=void 0===b?0:b,g=l.prisoner,v=void 0===g?{}:g;return(0,o.createComponentVNode)(2,c.Window,{width:350,height:295,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Teleporter Console",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:s?"Open":"Closed",disabled:u,selected:s,onClick:function(){return i("toggle_open")}}),(0,o.createComponentVNode)(2,a.Button,{icon:u?"lock":"unlock",content:u?"Locked":"Unlocked",selected:u,disabled:s,onClick:function(){return i("teleporter_lock")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleporter Unit",color:d?"good":"bad",buttons:!d&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return i("scan_teleporter")}}),children:d?m:"Not Connected"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Receiver Beacon",color:p?"good":"bad",buttons:!p&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return i("scan_beacon")}}),children:p?C:"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:h?N:"No ID",onClick:function(){return i("handle_id")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Point Goal",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:f,width:"48px",minValue:1,maxValue:1e3,onChange:function(e,t){return i("set_goal",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",children:v.name||"No Occupant"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Criminal Status",children:v.crimstat||"No Status"})]})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Process Prisoner",disabled:!V,textAlign:"center",color:"bad",onClick:function(){return i("teleport")}})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Holodeck=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.Holodeck=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.can_toggle_safety,u=l.emagged,s=l.program,m=l.default_programs||[],p=l.emag_programs||[];return(0,o.createComponentVNode)(2,c.Window,{width:400,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Default Programs",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"unlock":"lock",content:"Safeties",color:"bad",disabled:!d,selected:!u,onClick:function(){return i("safety")}}),children:m.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),textAlign:"center",selected:e.type===s,onClick:function(){return i("load_program",{type:e.type})}},e.type)}))}),!!u&&(0,o.createComponentVNode)(2,a.Section,{title:"Dangerous Programs",children:p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),color:"bad",textAlign:"center",selected:e.type===s,onClick:function(){return i("load_program",{type:e.type})}},e.type)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Holopad=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.Holopad=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data.calling;return(0,o.createComponentVNode)(2,c.Window,{width:440,height:245,resizable:!0,children:[!!d&&(0,o.createComponentVNode)(2,a.Modal,{fontSize:"36px",fontFamily:"monospace",children:[(0,o.createComponentVNode)(2,a.Flex,{align:"center",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{mr:2,mt:2,children:(0,o.createComponentVNode)(2,a.Icon,{name:"phone-alt",rotation:25})}),(0,o.createComponentVNode)(2,a.Flex.Item,{mr:2,children:"Dialing..."})]}),(0,o.createComponentVNode)(2,a.Box,{mt:2,textAlign:"center",fontSize:"24px",children:(0,o.createComponentVNode)(2,a.Button,{lineHeight:"40px",icon:"times",content:"Hang Up",color:"bad",onClick:function(){return l("hang_up")}})})]}),(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i)})]})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.on_network,d=i.on_cooldown,u=i.allowed,s=i.disk,m=i.disk_record,p=i.replay_mode,C=i.loop_mode,h=i.record_mode,N=i.holo_calls,V=void 0===N?[]:N;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Holopad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"bell",content:d?"AI's Presence Requested":"Request AI's Presence",disabled:!l||d,onClick:function(){return c("AIrequest")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Communicator",children:(0,o.createComponentVNode)(2,a.Button,{icon:"phone-alt",content:u?"Connect To Holopad":"Call Holopad",disabled:!l,onClick:function(){return c("holocall",{headcall:u})}})}),V.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.connected?"Current Call":"Incoming Call",children:(0,o.createComponentVNode)(2,a.Button,{icon:e.connected?"phone-slash":"phone-alt",content:e.connected?"Disconnect call from "+e.caller:"Answer call from "+e.caller,color:e.connected?"bad":"good",disabled:!l,onClick:function(){return c(e.connected?"disconnectcall":"connectcall",{holopad:e.ref})}})},e.ref)}))]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holodisk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!s||p||h,onClick:function(){return c("disk_eject")}}),children:!s&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No holodisk"})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk Player",children:[(0,o.createComponentVNode)(2,a.Button,{icon:p?"pause":"play",content:p?"Stop":"Replay",selected:p,disabled:h||!m,onClick:function(){return c("replay_mode")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:C?"Looping":"Loop",selected:C,disabled:h||!m,onClick:function(){return c("loop_mode")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"exchange-alt",content:"Change Offset",disabled:!p,onClick:function(){return c("offset")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Recorder",children:[(0,o.createComponentVNode)(2,a.Button,{icon:h?"pause":"video",content:h?"End Recording":"Record",selected:h,disabled:m&&!h||p,onClick:function(){return c("record_mode")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:"Clear Recording",color:"bad",disabled:!m||p||h,onClick:function(){return c("record_clear")}})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Hypertorus=void 0;var o=n(0),r=n(10),a=n(24),c=n(8),i=n(2),l=n(1),d=n(41),u=n(3),s=n(42);t.Hypertorus=function(e,t){var n=(0,i.useBackend)(t),m=n.act,p=n.data,C=p.filter_types||[],h=p.energy_level,N=(p.core_temperature,p.internal_power,p.power_output,p.heat_limiter_modifier),V=p.heat_output,b=p.heat_output_bool,f=(p.heating_conductor,p.magnetic_constrictor,p.fuel_injection_rate,p.moderator_injection_rate,p.current_damper,p.power_level),g=p.iron_content,v=p.integrity,x=p.start_power,k=p.start_cooling,B=p.start_fuel,_=p.internal_fusion_temperature,w=p.moderator_internal_temperature,L=p.internal_output_temperature,y=p.internal_coolant_temperature,S=(p.waste_remove,(0,a.flow)([(0,r.filter)((function(e){return e.amount>=.01})),(0,r.sortBy)((function(e){return-e.amount}))])(p.fusion_gases||[])),I=(0,a.flow)([(0,r.filter)((function(e){return e.amount>=.01})),(0,r.sortBy)((function(e){return-e.amount}))])(p.moderator_gases||[]),T=Math.max.apply(Math,[1].concat(S.map((function(e){return e.amount})))),A=Math.max.apply(Math,[1].concat(I.map((function(e){return e.amount}))));return(0,o.createComponentVNode)(2,u.Window,{width:500,height:600,scrollable:!0,resizable:!0,title:"Fusion Reactor",children:(0,o.createComponentVNode)(2,u.Window.Content,{children:[(0,o.createComponentVNode)(2,l.Section,{title:"Switches",children:(0,o.createComponentVNode)(2,l.Flex,{m:-.5,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{m:.5,color:"label",children:["Start power: ",(0,o.createComponentVNode)(2,l.Button,{disabled:p.power_level>0,icon:p.start_power?"power-off":"times",content:p.start_power?"On":"Off",selected:p.start_power,onClick:function(){return m("start_power")}})]}),(0,o.createComponentVNode)(2,l.Flex.Item,{m:.5,color:"label",children:["Start cooling: ",(0,o.createComponentVNode)(2,l.Button,{disabled:1===B||0===x||p.power_level>0,icon:p.start_cooling?"power-off":"times",content:p.start_cooling?"On":"Off",selected:p.start_cooling,onClick:function(){return m("start_cooling")}})]}),(0,o.createComponentVNode)(2,l.Flex.Item,{m:.5,color:"label",children:["Start fuel injection: ",(0,o.createComponentVNode)(2,l.Button,{disabled:0===x||0===k,icon:p.start_fuel?"power-off":"times",content:p.start_fuel?"On":"Off",selected:p.start_fuel,onClick:function(){return m("start_fuel")}})]})]})}),(0,o.createComponentVNode)(2,l.Section,{title:"Internal Fusion Gases",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:S.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,d.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,d.getGasColor)(e.name),value:e.amount,minValue:0,maxValue:T,children:(0,c.toFixed)(e.amount,2)+" moles"})},e.name)}))})}),(0,o.createComponentVNode)(2,l.Section,{title:"Moderator Gases",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:I.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,d.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,d.getGasColor)(e.name),value:e.amount,minValue:0,maxValue:A,children:(0,c.toFixed)(e.amount,2)+" moles"})},e.name)}))})}),(0,o.createComponentVNode)(2,l.Section,{title:"Reactor Parameters",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Power Level",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:f,ranges:{good:[0,2],average:[2,4],bad:[4,6]}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:v/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Iron Content",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:g,ranges:{good:[-Infinity,3],average:[3,6],bad:[6,Infinity]}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Energy Levels",children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:"yellow",value:h,minValue:0,maxValue:1e35,children:(0,s.formatSiUnit)(h,1,"J")})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Heat Limiter Modifier",children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:"blue",value:N,minValue:-1e40,maxValue:1e30,children:(0,s.formatSiBaseTenUnit)(1e3*N,1,"K")})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Heat Output",children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:"grey",value:V,minValue:-1e40,maxValue:1e30,children:b+(0,s.formatSiBaseTenUnit)(1e3*V,1,"K")})})]})}),(0,o.createComponentVNode)(2,l.Section,{title:"Temperatures",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Fusion gas temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:"yellow",value:_,minValue:0,maxValue:1e30,children:(0,s.formatSiBaseTenUnit)(1e3*_,1,"K")})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Moderator gas temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:"red",value:w,minValue:0,maxValue:1e30,children:(0,s.formatSiBaseTenUnit)(1e3*w,1,"K")})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Output gas temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:"pink",value:L,minValue:0,maxValue:1e30,children:(0,s.formatSiBaseTenUnit)(1e3*L,1,"K")})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Coolant output temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:"green",value:y,minValue:0,maxValue:1e30,children:(0,s.formatSiBaseTenUnit)(1e3*y,1,"K")})})]})}),(0,o.createComponentVNode)(2,l.Section,{title:"Tweakable Inputs",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Heating Conductor",children:(0,o.createComponentVNode)(2,l.NumberInput,{animated:!0,value:parseFloat(p.heating_conductor),width:"63px",unit:"J/cm",minValue:50,maxValue:500,onDrag:function(e,t){return m("heating_conductor",{heating_conductor:t})}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Magnetic Constrictor",children:(0,o.createComponentVNode)(2,l.NumberInput,{animated:!0,value:parseFloat(p.magnetic_constrictor),width:"63px",unit:"m^3/B",minValue:50,maxValue:1e3,onDrag:function(e,t){return m("magnetic_constrictor",{magnetic_constrictor:t})}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Fuel Injection Rate",children:(0,o.createComponentVNode)(2,l.NumberInput,{animated:!0,value:parseFloat(p.fuel_injection_rate),width:"63px",unit:"g/s",minValue:5,maxValue:1500,onDrag:function(e,t){return m("fuel_injection_rate",{fuel_injection_rate:t})}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Moderator Injection Rate",children:(0,o.createComponentVNode)(2,l.NumberInput,{animated:!0,value:parseFloat(p.moderator_injection_rate),width:"63px",unit:"g/s",minValue:5,maxValue:1500,onDrag:function(e,t){return m("moderator_injection_rate",{moderator_injection_rate:t})}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Current Damper",children:(0,o.createComponentVNode)(2,l.NumberInput,{animated:!0,value:parseFloat(p.current_damper),width:"63px",unit:"W",minValue:0,maxValue:1e3,onDrag:function(e,t){return m("current_damper",{current_damper:t})}})})]})}),(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Waste remove",children:(0,o.createComponentVNode)(2,l.Button,{disabled:p.power_level>5,icon:p.waste_remove?"power-off":"times",content:p.waste_remove?"On":"Off",selected:p.waste_remove,onClick:function(){return m("waste_remove")}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Filter from moderator mix",children:C.map((function(e){return(0,o.createComponentVNode)(2,l.Button,{selected:e.selected,content:(0,d.getGasLabel)(e.id,e.name),onClick:function(){return m("filter",{mode:e.id})}},e.id)}))})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.HypnoChair=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.HypnoChair=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:375,height:480,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Information",backgroundColor:"#450F44",children:"The Enhanced Interrogation Chamber is designed to induce a deep-rooted trance trigger into the subject. Once the procedure is complete, by using the implanted trigger phrase, the authorities are able to ensure immediate and complete obedience and truthfulness."}),(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:l.occupant.name?l.occupant.name:"No Occupant"}),!!l.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===l.occupant.stat?"good":1===l.occupant.stat?"average":"bad",children:0===l.occupant.stat?"Conscious":1===l.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:l.open?"unlock":"lock",color:l.open?"default":"red",content:l.open?"Open":"Closed",onClick:function(){return i("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Phrase",children:(0,o.createComponentVNode)(2,a.Input,{value:l.trigger,onChange:function(e,t){return i("set_phrase",{phrase:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Interrogate Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:l.interrogating?"Interrupt Interrogation":"Begin Enhanced Interrogation",onClick:function(){return i("interrogate")}}),1===l.interrogating&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ImplantChair=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.ImplantChair=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:375,height:280,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(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:l.occupant.name||"No Occupant"}),!!l.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===l.occupant.stat?"good":1===l.occupant.stat?"average":"bad",children:0===l.occupant.stat?"Conscious":1===l.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:l.open?"unlock":"lock",color:l.open?"default":"red",content:l.open?"Open":"Closed",onClick:function(){return i("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implant Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:l.ready?l.special_name||"Implant":"Recharging",onClick:function(){return i("implant")}}),0===l.ready&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implants Remaining",children:[l.ready_implants,1===l.replenishing&&(0,o.createComponentVNode)(2,a.Icon,{name:"sync",color:"red",spin:!0})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.InfraredEmitter=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.InfraredEmitter=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.on,u=l.visible;return(0,o.createComponentVNode)(2,c.Window,{width:225,height:110,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{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:d?"power-off":"times",content:d?"On":"Off",selected:d,onClick:function(){return i("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Visibility",children:(0,o.createComponentVNode)(2,a.Button,{icon:u?"eye":"eye-slash",content:u?"Visible":"Invisible",selected:u,onClick:function(){return i("visibility")}})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Intellicard=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.Intellicard=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.name,u=l.isDead,s=l.isBraindead,m=l.health,p=l.wireless,C=l.radio,h=l.wiping,N=l.laws,V=void 0===N?[]:N,b=u||s;return(0,o.createComponentVNode)(2,c.Window,{width:500,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{title:d||"Empty Card",buttons:!!d&&(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:h?"Stop Wiping":"Wipe",disabled:u,onClick:function(){return i("wipe")}}),children:!!d&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:b?"bad":"good",children:b?"Offline":"Operation"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Software Integrity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m,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 i("wireless")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"microphone",content:"Subspace Radio",selected:C,onClick:function(){return i("radio")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laws",children:V.map((function(e){return(0,o.createComponentVNode)(2,a.BlockQuote,{children:e},e)}))})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Interview=void 0;var o=n(0),r=n(1),a=n(3),c=n(2);t.Interview=function(e,t){var n=(0,c.useBackend)(t),i=n.act,l=n.data,d=l.welcome_message,u=l.questions,s=l.read_only,m=l.queue_pos,p=l.is_admin,C=l.status,h=l.connected;return(0,o.createComponentVNode)(2,a.Window,{width:500,height:600,noClose:!p,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[!s&&(0,o.createComponentVNode)(2,r.Section,{title:"Welcome!",children:(0,o.createVNode)(1,"p",null,d,0)})||function(e){switch(e){case"interview_approved":return(0,o.createComponentVNode)(2,r.NoticeBox,{success:!0,children:"This interview was approved."});case"interview_denied":return(0,o.createComponentVNode)(2,r.NoticeBox,{danger:!0,children:"This interview was denied."});default:return(0,o.createComponentVNode)(2,r.NoticeBox,{info:!0,children:["Your answers have been submitted. You are position ",m," in queue."]})}}(C),(0,o.createComponentVNode)(2,r.Section,{title:"Questionnaire",buttons:(0,o.createVNode)(1,"span",null,[(0,o.createComponentVNode)(2,r.Button,{content:s?"Submitted":"Submit",onClick:function(){return i("submit")},disabled:s}),!!p&&"interview_pending"===C&&(0,o.createVNode)(1,"span",null,[(0,o.createComponentVNode)(2,r.Button,{content:"Admin PM",enabled:h,onClick:function(){return i("adminpm")}}),(0,o.createComponentVNode)(2,r.Button,{content:"Approve",color:"good",onClick:function(){return i("approve")}}),(0,o.createComponentVNode)(2,r.Button,{content:"Deny",color:"bad",onClick:function(){return i("deny")}})],4)],0),children:[!s&&(0,o.createVNode)(1,"p",null,[(0,o.createTextVNode)("Please answer the following questions, and press submit when you are satisfied with your answers."),(0,o.createVNode)(1,"br"),(0,o.createVNode)(1,"br"),(0,o.createVNode)(1,"b",null,"You will not be able to edit your answers after submitting.",16)],4),u.map((function(e){var t=e.qidx,n=e.question,a=e.response;return(0,o.createComponentVNode)(2,r.Section,{title:"Question "+t,children:[(0,o.createVNode)(1,"p",null,n,0),s&&(0,o.createComponentVNode)(2,r.BlockQuote,{children:a||"No response."})||(0,o.createComponentVNode)(2,r.TextArea,{value:a,fluid:!0,height:10,maxLength:500,placeholder:"Write your response here, max of 500 characters.",onChange:function(e,n){return n!==a&&i("update_answer",{qidx:t,answer:n})}})]},t)}))]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.InterviewManager=void 0;var o=n(0),r=n(1),a=n(3),c=n(2);t.InterviewManager=function(e,t){var n=(0,c.useBackend)(t),i=n.act,l=n.data,d=l.open_interviews,u=l.closed_interviews,s=function(e){switch(e){case"interview_approved":return"good";case"interview_denied":return"bad";case"interview_pending":return"average"}};return(0,o.createComponentVNode)(2,a.Window,{width:500,height:600,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,r.Section,{title:"Active Interviews",children:d.map((function(e){var t=e.id,n=e.ckey,a=e.status,c=e.queued,l=e.disconnected;return(0,o.createComponentVNode)(2,r.Button,{content:n+(l?" (DC)":""),color:c?"default":s(a),onClick:function(){return i("open",{id:t})}},t)}))}),(0,o.createComponentVNode)(2,r.Section,{title:"Closed Interviews",children:u.map((function(e){var t=e.id,n=e.ckey,a=e.status,c=e.disconnected;return(0,o.createComponentVNode)(2,r.Button,{content:n+(c?" (DC)":""),color:s(a),onClick:function(){return i("open",{id:t})}},t)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Jukebox=void 0;var o=n(0),r=n(10),a=n(24),c=n(2),i=n(1),l=n(3);t.Jukebox=function(e,t){var n=(0,c.useBackend)(t),d=n.act,u=n.data,s=u.active,m=u.track_selected,p=u.track_length,C=u.track_beat,h=u.volume,N=(0,a.flow)([(0,r.sortBy)((function(e){return e.name}))])(u.songs||[]);return(0,o.createComponentVNode)(2,l.Window,{width:370,height:313,children:(0,o.createComponentVNode)(2,l.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Song Player",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:s?"pause":"play",content:s?"Stop":"Play",selected:s,onClick:function(){return d("toggle")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Track Selected",children:(0,o.createComponentVNode)(2,i.Dropdown,{"overflow-y":"scroll",width:"240px",options:N.map((function(e){return e.name})),disabled:s,selected:m||"Select a Track",onSelected:function(e){return d("select_track",{track:e})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Track Length",children:m?p:"No Track Selected"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Track Beat",children:[m?C:"No Track Selected",1===C?" beat":" beats"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Machine Settings",children:(0,o.createComponentVNode)(2,i.LabeledControls,{justify:"center",children:(0,o.createComponentVNode)(2,i.LabeledControls.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,i.Box,{position:"relative",children:[(0,o.createComponentVNode)(2,i.Knob,{size:3.2,color:h>=50?"red":"green",value:h,unit:"%",minValue:0,maxValue:100,step:1,stepPixelSize:1,disabled:s,onDrag:function(e,t){return d("set_volume",{volume:t})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,position:"absolute",top:"-2px",right:"-22px",color:"transparent",icon:"fast-backward",onClick:function(){return d("set_volume",{volume:"min"})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,position:"absolute",top:"16px",right:"-22px",color:"transparent",icon:"fast-forward",onClick:function(){return d("set_volume",{volume:"max"})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,position:"absolute",top:"34px",right:"-22px",color:"transparent",icon:"undo",onClick:function(){return d("set_volume",{volume:"reset"})}})]})})})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.KeycardAuth=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.KeycardAuth=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:375,height:125,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{children:1===l.waiting&&(0,o.createVNode)(1,"span",null,"Waiting for another device to confirm your request...",16)}),(0,o.createComponentVNode)(2,a.Box,{children:0===l.waiting&&(0,o.createFragment)([!!l.auth_required&&(0,o.createComponentVNode)(2,a.Button,{icon:"check-square",color:"red",textAlign:"center",lineHeight:"60px",fluid:!0,onClick:function(){return i("auth_swipe")},content:"Authorize"}),0===l.auth_required&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",fluid:!0,onClick:function(){return i("red_alert")},content:"Red Alert"}),(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",fluid:!0,onClick:function(){return i("emergency_maint")},content:"Emergency Maintenance Access"}),(0,o.createComponentVNode)(2,a.Button,{icon:"meteor",fluid:!0,onClick:function(){return i("bsa_unlock")},content:"Bluespace Artillery Unlock"})],4)],0)})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.LaborClaimConsole=void 0;var o=n(0),r=n(17),a=n(2),c=n(1),i=n(3);t.LaborClaimConsole=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.can_go_home,s=d.id_points,m=d.ores,p=d.status_info,C=d.unclaimed_points;return(0,o.createComponentVNode)(2,i.Window,{width:315,height:440,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Status",children:p}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Shuttle controls",children:(0,o.createComponentVNode)(2,c.Button,{content:"Move shuttle",disabled:!u,onClick:function(){return l("move_shuttle")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Points",children:s}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Unclaimed points",buttons:(0,o.createComponentVNode)(2,c.Button,{content:"Claim points",disabled:!C,onClick:function(){return l("claim_points")}}),children:C})]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Material values",children:(0,o.createComponentVNode)(2,c.Table,{children:[(0,o.createComponentVNode)(2,c.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:"Material"}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"right",children:"Value"})]}),m.map((function(e){return(0,o.createComponentVNode)(2,c.Table.Row,{children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:(0,r.toTitleCase)(e.ore)}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,c.Box,{color:"label",inline:!0,children:e.value})})]},e.ore)}))]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.LanguageMenu=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.LanguageMenu=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.admin_mode,u=l.is_living,s=l.omnitongue,m=l.languages,p=void 0===m?[]:m,C=l.unknown_languages,h=void 0===C?[]:C;return(0,o.createComponentVNode)(2,c.Window,{title:"Language Menu",width:700,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Known Languages",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:p.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createFragment)([!!u&&(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 i("select_default",{language_name:e.name})}}),!!d&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return i("grant_language",{language_name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Remove",onClick:function(){return i("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)}))})}),!!d&&(0,o.createComponentVNode)(2,a.Section,{title:"Unknown Languages",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Omnitongue "+(s?"Enabled":"Disabled"),selected:s,onClick:function(){return i("toggle_omnitongue")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:h.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 i("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)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.LaunchpadRemote=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=n(208);t.LaunchpadRemote=function(e,t){var n=(0,r.useBackend)(t).data,l=n.has_pad,d=n.pad_closed;return(0,o.createComponentVNode)(2,c.Window,{title:"Briefcase Launchpad Remote",width:300,height:240,theme:"syndicate",children:(0,o.createComponentVNode)(2,c.Window.Content,{children:!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Launchpad Connected"})||d&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Launchpad Closed"})||(0,o.createComponentVNode)(2,i.LaunchpadControl,{topLevel:!0})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MafiaPanel=void 0;var o=n(0),r=n(6),a=(n(17),n(2)),c=n(1),i=n(3);t.MafiaPanel=function(e,t){var n=(0,a.useBackend)(t),d=n.act,u=n.data,s=u.lobbydata,m=u.players,p=u.actions,C=u.phase,h=u.roleinfo,N=u.role_theme,V=u.admin_controls,b=u.judgement_phase,f=u.timeleft,g=u.all_roles,v=h?30*m.length:7,x=s?s.filter((function(e){return"Ready"===e.status})):null;return(0,o.createComponentVNode)(2,i.Window,{title:"Mafia",theme:N,width:650,height:293+v,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:V,children:[!h&&(0,o.createComponentVNode)(2,c.Flex,{scrollable:!0,overflowY:"scroll",direction:"column",height:"100%",grow:1,children:(0,o.createComponentVNode)(2,c.Section,{title:"Lobby",mb:1,buttons:(0,o.createComponentVNode)(2,l,{phase:C,timeleft:f,admin_controls:V}),children:(0,o.createComponentVNode)(2,c.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,c.NoticeBox,{info:!0,children:["The lobby currently has ",x.length,"/12 valid players signed up."]}),(0,o.createComponentVNode)(2,c.Flex,{direction:"column",children:!!s&&s.map((function(e){return(0,o.createComponentVNode)(2,c.Flex.Item,{basis:2,className:"Section__title candystripe",children:(0,o.createComponentVNode)(2,c.Flex,{height:2,align:"center",justify:"space-between",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{basis:0,children:e.name}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:"STATUS:"}),(0,o.createComponentVNode)(2,c.Flex.Item,{width:"30%",children:(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.Box,{color:"Ready"===e.status?"green":"red",textAlign:"center",children:[e.status," ",e.spectating]})})})]})},e)}))})]})})}),!!h&&(0,o.createComponentVNode)(2,c.Section,{title:C,minHeight:"100px",maxHeight:"50px",buttons:(0,o.createComponentVNode)(2,c.Box,{children:[!!V&&(0,o.createComponentVNode)(2,c.Button,{color:"red",icon:"gavel",tooltipPosition:"bottom-left",tooltip:"Hello admin! If it is the admin controls you seek,\nplease notice the extra scrollbar you have that players\ndo not!"})," ",(0,o.createComponentVNode)(2,c.TimeDisplay,{auto:"down",value:f})]}),children:(0,o.createComponentVNode)(2,c.Flex,{justify:"space-between",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{align:"center",textAlign:"center",maxWidth:"500px",children:[(0,o.createVNode)(1,"b",null,[(0,o.createTextVNode)("You are the "),h.role],0),(0,o.createVNode)(1,"br"),(0,o.createVNode)(1,"b",null,h.desc,0)]}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:[(0,o.createComponentVNode)(2,c.Box,{className:(0,r.classes)(["mafia32x32",h.revealed_icon]),style:{transform:"scale(2) translate(0px, 10%)","vertical-align":"middle"}}),(0,o.createComponentVNode)(2,c.Box,{className:(0,r.classes)(["mafia32x32",h.hud_icon]),style:{transform:"scale(2) translate(-5px, -5px)","vertical-align":"middle"}})]})]})}),(0,o.createComponentVNode)(2,c.Flex,{children:!!p&&p.map((function(e){return(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return d("mf_action",{atype:e})},children:e})},e)}))}),!!h&&(0,o.createComponentVNode)(2,c.Section,{title:"Judgement",buttons:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"info",tooltipPosition:"left",tooltip:"When someone is on trial, you are in charge of their fate.\nInnocent winning means the person on trial can live to see\nanother day... and in losing they do not. You can go back\nto abstaining with the middle button if you reconsider."}),children:[(0,o.createComponentVNode)(2,c.Flex,{justify:"space-around",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"smile-beam",content:"INNOCENT!",color:"good",disabled:!b,onClick:function(){return d("vote_innocent")}}),!b&&(0,o.createComponentVNode)(2,c.Box,{children:"There is nobody on trial at the moment."}),!!b&&(0,o.createComponentVNode)(2,c.Box,{children:"It is now time to vote, vote the accused innocent or guilty!"}),(0,o.createComponentVNode)(2,c.Button,{icon:"angry",content:"GUILTY!",color:"bad",disabled:!b,onClick:function(){return d("vote_guilty")}})]}),(0,o.createComponentVNode)(2,c.Flex,{justify:"center",children:(0,o.createComponentVNode)(2,c.Button,{icon:"meh",content:"Abstain",color:"white",disabled:!b,onClick:function(){return d("vote_abstain")}})})]}),"No Game"!==C&&(0,o.createComponentVNode)(2,c.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,c.Flex.Item,{grow:2,children:(0,o.createComponentVNode)(2,c.Section,{title:"Players",buttons:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"info",tooltip:"This is the list of all the players in\nthe game, during the day phase you may vote on them and,\ndepending on your role, select players\nat certain phases to use your ability."}),children:(0,o.createComponentVNode)(2,c.Flex,{direction:"column",children:!!m&&m.map((function(e){return(0,o.createComponentVNode)(2,c.Flex.Item,{height:"30px",className:"Section__title candystripe",children:(0,o.createComponentVNode)(2,c.Flex,{height:"18px",justify:"space-between",align:"center",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{basis:16,children:[!!e.alive&&(0,o.createComponentVNode)(2,c.Box,{children:e.name}),!e.alive&&(0,o.createComponentVNode)(2,c.Box,{color:"red",children:e.name})]}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:!e.alive&&(0,o.createComponentVNode)(2,c.Box,{color:"red",children:"DEAD"})}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:e.votes!==undefined&&!!e.alive&&(0,o.createFragment)([(0,o.createTextVNode)("Votes : "),e.votes,(0,o.createTextVNode)(" ")],0)}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:!!e.actions&&e.actions.map((function(t){return(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return d("mf_targ_action",{atype:t,target:e.ref})},children:t},t)}))})]})},e.ref)}))})})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:2,children:(0,o.createComponentVNode)(2,c.Flex,{direction:"column",height:"100%",children:[(0,o.createComponentVNode)(2,c.Section,{title:"Roles and Notes",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"address-book",tooltipPosition:"bottom-left",tooltip:"The top section is the roles in the game. You can\npress the question mark to get a quick blurb\nabout the role itself."}),(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"edit",tooltipPosition:"bottom-left",tooltip:"The bottom section are your notes. on some roles this\nwill just be an empty box, but on others it records the\nactions of your abilities (so for example, your\ndetective work revealing a changeling)."})],4),children:(0,o.createComponentVNode)(2,c.Flex,{direction:"column",children:!!g&&g.map((function(e){return(0,o.createComponentVNode)(2,c.Flex.Item,{height:"30px",className:"Section__title candystripe",children:(0,o.createComponentVNode)(2,c.Flex,{height:"18px",align:"center",justify:"space-between",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{children:e}),(0,o.createComponentVNode)(2,c.Flex.Item,{textAlign:"right",children:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"question",onClick:function(){return d("mf_lookup",{atype:e.slice(0,-3)})}})})]})},e)}))})}),!!h&&(0,o.createComponentVNode)(2,c.Flex.Item,{height:0,grow:1,children:(0,o.createComponentVNode)(2,c.Section,{scrollable:!0,fill:!0,overflowY:"scroll",children:h!==undefined&&!!h.action_log&&h.action_log.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:e},e)}))})})]})})]}),(0,o.createComponentVNode)(2,c.Flex,{mt:1,direction:"column",children:(0,o.createComponentVNode)(2,c.Flex.Item,{children:!!V&&(0,o.createComponentVNode)(2,c.Section,{textAlign:"center",children:(0,o.createComponentVNode)(2,c.Collapsible,{title:"ADMIN CONTROLS",color:"red",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"exclamation-triangle",color:"black",tooltipPosition:"top",tooltip:"Almost all of these are all built to help me debug\nthe game (ow, debugging a 12 player game!) So they are\nrudamentary and prone to breaking at the drop of a hat.\nMake sure you know what you're doing when you press one.\nAlso because an admin did it: do not gib/delete/dust\nanyone! It will runtime the game to death!",content:"A Kind, Coder Warning",onClick:function(){return d("next_phase")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,c.Button,{icon:"arrow-right",tooltipPosition:"top",tooltip:"This will advance the game to the next phase\n(day talk > day voting, day voting > night/trial)\npretty fun to just spam this and freak people out,\ntry that roundend!",content:"Next Phase",onClick:function(){return d("next_phase")}}),(0,o.createComponentVNode)(2,c.Button,{icon:"home",tooltipPosition:"top",tooltip:"Hopefully you won't use this button\noften, it's a safety net just in case\nmafia players somehow escape (nullspace\nredirects to the error room then station)\nEither way, VERY BAD IF THAT HAPPENS as\ngodmoded assistants will run free. Use\nthis to recollect them then make a bug report.",content:"Send All Players Home",onClick:function(){return d("players_home")}}),(0,o.createComponentVNode)(2,c.Button,{icon:"sync-alt",tooltipPosition:"top",tooltip:"This immediately ends the game, and attempts to start\nanother. Nothing will happen if another\ngame fails to start!",content:"New Game",onClick:function(){return d("new_game")}}),(0,o.createComponentVNode)(2,c.Button,{icon:"skull",tooltipPosition:"top",tooltip:"Deletes the datum, clears all landmarks, makes mafia\nas it was roundstart: nonexistant. Use this if you\nreally mess things up. You did mess things up, didn't you.",content:"Nuke",onClick:function(){return d("nuke")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,c.Button,{icon:"paint-brush",tooltipPosition:"top",tooltip:"This is the custom game creator, it is... simple.\nYou put in roles and until you press CANCEL or FINISH\nit will keep letting you add more roles. Assitants\non the bottom because of pathing stuff. Resets after\nthe round finishes back to 12 player random setups.",content:"Create Custom Setup",onClick:function(){return d("debug_setup")}}),(0,o.createComponentVNode)(2,c.Button,{icon:"paint-roller",tooltipPosition:"top",tooltip:"If you messed up and accidently didn't make it how\nyou wanted, simply just press this to reset it. The game\nwill auto reset after each game as well.",content:"Reset Custom Setup",onClick:function(){return d("cancel_setup")}})]})})})})]})})};var l=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.phase,d=i.timeleft,u=i.admin_controls;return(0,o.createComponentVNode)(2,c.Box,{children:["[Phase = ",l," | ",(0,o.createComponentVNode)(2,c.TimeDisplay,{auto:"down",value:d}),"]"," ",(0,o.createComponentVNode)(2,c.Button,{icon:"clipboard-check",tooltipPosition:"bottom-left",tooltip:"Signs you up for the next game. If there\nis an ongoing one, you will be signed up\nfor the next.",content:"Sign Up",onClick:function(){return r("mf_signup")}}),(0,o.createComponentVNode)(2,c.Button,{icon:"eye",tooltipPosition:"bottom-left",tooltip:"Spectates games until you turn it off.\nAutomatically enabled when you die in game,\nbecause I assumed you would want to see the\nconclusion. You won't get messages if you\nrejoin SS13.",content:"Spectate",onClick:function(){return r("mf_spectate")}}),!!u&&(0,o.createComponentVNode)(2,c.Button,{color:"red",icon:"gavel",tooltipPosition:"bottom-left",tooltip:"Hello admin! If it is the admin controls you seek,\nplease notice the scrollbar you have that players\ndo not!"})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.MalfunctionModulePicker=void 0;var o=n(0),r=n(2),a=n(3),c=n(141);t.MalfunctionModulePicker=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data.processingTime);return(0,o.createComponentVNode)(2,a.Window,{width:620,height:525,theme:"malfunction",resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c.GenericUplink,{currencyAmount:i,currencySymbol:"PT"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MassDriverControl=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.MassDriverControl=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.connected,u=l.minutes,s=l.seconds,m=l.timing,p=l.power,C=l.poddoor;return(0,o.createComponentVNode)(2,c.Window,{width:300,height:d?215:107,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createFragment)([!!d&&(0,o.createComponentVNode)(2,a.Section,{title:"Auto Launch",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:m?"Stop":"Start",selected:m,onClick:function(){return i("time")}}),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:m,onClick:function(){return i("input",{adjust:-30})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:m,onClick:function(){return i("input",{adjust:-1})}})," ",String(u).padStart(2,"0"),":",String(s).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:m,onClick:function(){return i("input",{adjust:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:m,onClick:function(){return i("input",{adjust:30})}})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"toggle-on",content:"Toggle Outer Door",disabled:m||!C,onClick:function(){return i("door")}}),children:!!d&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power Level",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"bomb",content:"Test Fire",disabled:m,onClick:function(){return i("driver_test")}}),children:(0,o.createComponentVNode)(2,a.NumberInput,{value:p,width:"40px",minValue:.25,maxValue:16,onChange:function(e,t){return i("set_power",{power:t})}})})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Launch",disabled:m,mt:1.5,icon:"arrow-up",textAlign:"center",onClick:function(){return i("launch")}})],4)||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No connected mass driver"})})],0)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MechBayPowerConsole=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.MechBayPowerConsole=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data.recharge_port,d=l&&l.mech,u=d&&d.cell;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:200,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(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 i("reconnect")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Integrity",children:!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!d&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.health/d.maxhealth,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!d&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||!u&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No cell is installed."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:u.charge/u.maxcharge,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u.charge})," / "+u.maxcharge]})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MechpadConsole=t.MechpadControl=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=function(e,t){var n=e.topLevel,c=(0,r.useBackend)(t),i=c.act,l=c.data,d=l.pad_name,u=l.connected_mechpad;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Input,{value:d,width:"170px",onChange:function(e,t){return i("rename",{name:t})}}),level:n?1:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Remove",color:"bad",onClick:function(){return i("remove")}}),children:!u&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No Pad Connected."})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"upload",content:"Launch",textAlign:"center",onClick:function(){return i("launch")}})})};t.MechpadControl=i;t.MechpadConsole=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.mechpads,s=void 0===u?[]:u,m=d.selected_id;return(0,o.createComponentVNode)(2,c.Window,{width:475,height:130,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:0===s.length&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Pads Connected"})||(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.Flex,{minHeight:"70px",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{width:"140px",minHeight:"70px",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,ellipsis:!0,content:e.name,selected:m===e.id,color:"transparent",onClick:function(){return l("select_pad",{id:e.id})}},e.name)}))}),(0,o.createComponentVNode)(2,a.Flex.Item,{minHeight:"100%",children:(0,o.createComponentVNode)(2,a.Divider,{vertical:!0})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,minHeight:"100%",children:m&&(0,o.createComponentVNode)(2,i)||(0,o.createComponentVNode)(2,a.Box,{children:"Please select a pad"})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MedicalKiosk=void 0;var o=n(0),r=(n(17),n(2)),a=n(1),c=n(3);t.MedicalKiosk=function(e,t){var n=(0,r.useBackend)(t),p=(n.act,n.data),C=(0,r.useSharedState)(t,"scanIndex")[0],h=p.active_status_1,N=p.active_status_2,V=p.active_status_3,b=p.active_status_4;return(0,o.createComponentVNode)(2,c.Window,{width:575,height:420,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Flex,{mb:1,children:[(0,o.createComponentVNode)(2,a.Flex.Item,{mr:1,children:(0,o.createComponentVNode)(2,a.Section,{minHeight:"100%",children:[(0,o.createComponentVNode)(2,i,{index:1,icon:"procedures",name:"General Health Scan",description:"Reads back exact values of your general health scan."}),(0,o.createComponentVNode)(2,i,{index:2,icon:"heartbeat",name:"Symptom Based Checkup",description:"Provides information based on various non-obvious symptoms,\nlike blood levels or disease status."}),(0,o.createComponentVNode)(2,i,{index:3,icon:"radiation-alt",name:"Neurological/Radiological Scan",description:"Provides information about brain trauma and radiation."}),(0,o.createComponentVNode)(2,i,{index:4,icon:"mortar-pestle",name:"Chemical and Psychoactive Scan",description:"Provides a list of consumed chemicals, as well as potential\nside effects."})]})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,l)})]}),!!h&&1===C&&(0,o.createComponentVNode)(2,d),!!N&&2===C&&(0,o.createComponentVNode)(2,u),!!V&&3===C&&(0,o.createComponentVNode)(2,s),!!b&&4===C&&(0,o.createComponentVNode)(2,m)]})})};var i=function(e,t){var n=e.index,c=e.name,i=e.description,l=e.icon,d=(0,r.useBackend)(t),u=d.act,s=d.data,m=(0,r.useSharedState)(t,"scanIndex"),p=m[0],C=m[1],h=s["active_status_"+n];return(0,o.createComponentVNode)(2,a.Flex,{spacing:1,align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{width:"16px",textAlign:"center",children:(0,o.createComponentVNode)(2,a.Icon,{name:h?"check":"dollar-sign",color:h?"green":"grey"})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:l,selected:h&&p===n,tooltip:i,tooltipPosition:"right",content:c,onClick:function(){h||u("beginScan_"+n),C(n)}})})]})},l=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.kiosk_cost,d=i.patient_name;return(0,o.createComponentVNode)(2,a.Section,{minHeight:"100%",children:[(0,o.createComponentVNode)(2,a.Box,{italic:!0,children:["Greetings Valued Employee! Please select a desired automatic health check procedure. Diagnosis costs ",(0,o.createVNode)(1,"b",null,[l,(0,o.createTextVNode)(" credits.")],0)]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:1,children:"Patient:"}),d]}),(0,o.createComponentVNode)(2,a.Button,{mt:1,tooltip:"Resets the current scanning target, cancelling current scans.",icon:"sync",color:"average",onClick:function(){return c("clearTarget")},content:"Reset Scanner"})]})},d=function(e,t){var n=(0,r.useBackend)(t).data,c=n.patient_health,i=n.brute_health,l=n.burn_health,d=n.suffocation_health,u=n.toxin_health;return(0,o.createComponentVNode)(2,a.Section,{title:"Patient Health",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:c/100,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c}),"%"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brute Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Burn Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Toxin Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:u/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})})})]})})},u=function(e,t){var n=(0,r.useBackend)(t).data,c=n.patient_status,i=n.patient_illness,l=n.illness_info,d=n.bleed_status,u=n.blood_levels,s=n.blood_status;return(0,o.createComponentVNode)(2,a.Section,{title:"Symptom Based Checkup",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Patient Status",color:"good",children:c}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disease Status",children:i}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disease information",children:l}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Levels",children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:u/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})}),(0,o.createComponentVNode)(2,a.Box,{mt:1,color:"label",children:d})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Information",children:s})]})})},s=function(e,t){var n=(0,r.useBackend)(t).data,c=n.clone_health,i=n.brain_damage,l=n.brain_health,d=n.rad_contamination_status,u=n.rad_contamination_value,s=n.rad_sickness_status,m=n.rad_sickness_value,p=n.trauma_status;return(0,o.createComponentVNode)(2,a.Section,{title:"Patient Neurological and Radiological Health",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cellular Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c/100,color:"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c})})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i/100,color:"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Status",color:"health-0",children:l}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Trauma Status",children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Sickness Status",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Sickness Percentage",children:[m,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Contamination Status",children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Contamination Percentage",children:[u,"%"]})]})})},m=function(e,t){var n=(0,r.useBackend)(t).data,c=n.chemical_list,i=void 0===c?[]:c,l=n.overdose_list,d=void 0===l?[]:l,u=n.addict_list,s=void 0===u?[]:u,m=n.hallucinating_status;return(0,o.createComponentVNode)(2,a.Section,{title:"Chemical and Psychoactive Analysis",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Chemical Contents",children:[0===i.length&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No reagents detected."}),i.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.LabeledList.Item,{label:"Overdose Status",color:"bad",children:[0===d.length&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Patient is not overdosing."}),d.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:["Overdosing on ",e.name]},e.id)}))]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Addiction Status",color:"bad",children:[0===s.length&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Patient has no addictions."}),s.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:["Addicted to ",e.name]},e.id)}))]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Psychoactive Status",children:m})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Microscope=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.Microscope=function(e,t){var n=(0,r.useBackend)(t),d=n.act,u=n.data,s=(0,r.useSharedState)(t,"tab",1),m=s[0],p=s[1],C=u.has_dish,h=u.cell_lines,N=void 0===h?[]:h,V=u.viruses,b=void 0===V?[]:V;return(0,o.createComponentVNode)(2,c.Window,{resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Dish Sample",children:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!C,onClick:function(){return d("eject_petridish")}})})})}),(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"microscope",lineHeight:"23px",selected:1===m,onClick:function(){return p(1)},children:["Micro-Organisms (",N.length,")"]}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"microscope",lineHeight:"23px",selected:2===m,onClick:function(){return p(2)},children:["Viruses (",b.length,")"]})]}),1===m&&(0,o.createComponentVNode)(2,i,{cell_lines:N}),2===m&&(0,o.createComponentVNode)(2,l,{viruses:b})]})})};var i=function(e,t){var n=e.cell_lines,c=(0,r.useBackend)(t);c.act,c.data;return n.length?n.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.desc,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Growth Rate",children:e.growth_rate}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Virus Suspectibility",children:e.suspectibility}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Required Reagents",children:e.requireds}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Supplementary Reagents",children:e.supplementaries}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suppresive reagents",children:e.suppressives})]})},e.desc)})):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No micro-organisms found"})},l=function(e,t){var n=e.viruses;(0,r.useBackend)(t).act;return n.length?n.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.desc},e.desc)})):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No viruses found"})}},function(e,t,n){"use strict";t.__esModule=!0,t.MiningVendor=void 0;var o=n(0),r=n(6),a=n(2),c=n(1),i=n(3);t.MiningVendor=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=[].concat(d.product_records);return(0,o.createComponentVNode)(2,i.Window,{width:425,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Section,{title:"User",children:d.user&&(0,o.createComponentVNode)(2,c.Box,{children:["Welcome, ",(0,o.createVNode)(1,"b",null,d.user.name||"Unknown",0),","," ",(0,o.createVNode)(1,"b",null,d.user.job||"Unemployed",0),"!",(0,o.createVNode)(1,"br"),"Your balance is ",(0,o.createVNode)(1,"b",null,[d.user.points,(0,o.createTextVNode)(" mining points")],0),"."]})||(0,o.createComponentVNode)(2,c.Box,{color:"light-gray",children:["No registered ID card!",(0,o.createVNode)(1,"br"),"Please contact your local HoP!"]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Equipment",children:(0,o.createComponentVNode)(2,c.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,c.Table.Row,{children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:[(0,o.createVNode)(1,"span",(0,r.classes)(["vending32x32",e.path]),null,1,{style:{"vertical-align":"middle"}})," ",(0,o.createVNode)(1,"b",null,e.name,0)]}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:(0,o.createComponentVNode)(2,c.Button,{style:{"min-width":"95px","text-align":"center"},disabled:!d.user||e.price>d.user.points,content:e.price+" points",onClick:function(){return l("purchase",{ref:e.ref})}})})]},e.name)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Mule=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=n(65);t.Mule=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.on,s=d.cell,m=d.cellPercent,p=d.load,C=d.mode,h=d.modeStatus,N=d.haspai,V=d.autoReturn,b=d.autoPickup,f=d.reportDelivery,g=d.destination,v=d.home,x=d.id,k=d.destinations,B=void 0===k?[]:k,_=d.locked&&!d.siliconUser;return(0,o.createComponentVNode)(2,c.Window,{width:350,height:425,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox),(0,o.createComponentVNode)(2,a.Section,{title:"Status",minHeight:"110px",buttons:!_&&(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return l("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:s?m/100:0,color:s?"good":"bad"}),(0,o.createComponentVNode)(2,a.Flex,{mt:1,children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",color:h,children:C})})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Load",color:p?"good":"average",children:p||"None"})})})]})]}),!_&&(0,o.createComponentVNode)(2,a.Section,{title:"Controls",buttons:(0,o.createFragment)([!!p&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Unload",onClick:function(){return l("unload")}}),!!N&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject PAI",onClick:function(){return l("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:x,onChange:function(e,t){return l("setid",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destination",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:g||"None",options:B,width:"150px",onSelected:function(e){return l("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"stop",content:"Stop",onClick:function(){return l("stop")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"play",content:"Go",onClick:function(){return l("go")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Home",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:v,options:B,width:"150px",onSelected:function(e){return l("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"home",content:"Go Home",onClick:function(){return l("home")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:V,content:"Auto-Return",onClick:function(){return l("autored")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:b,content:"Auto-Pickup",onClick:function(){return l("autopick")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:f,content:"Report Delivery",onClick:function(){return l("report")}})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteChamberControlContent=t.NaniteChamberControl=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NaniteChamberControl=function(e,t){return(0,o.createComponentVNode)(2,c.Window,{width:380,height:570,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i)})})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.status_msg,d=i.locked,u=i.occupant_name,s=i.has_nanites,m=i.nanite_volume,p=i.regen_rate,C=i.safety_threshold,h=i.cloud_id,N=i.scan_level;if(l)return(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:l});var V=i.mob_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Chamber: "+u,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:d?"lock":"lock-open",content:d?"Locked":"Unlocked",color:d?"bad":"default",onClick:function(){return c("toggle_lock")}}),children:s?(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 c("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:m}),(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:C,minValue:0,maxValue:500,width:"39px",onChange:function(e,t){return c("set_safety",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:h,minValue:0,maxValue:100,step:1,stepPixelSize:3,width:"39px",onChange:function(e,t){return c("set_cloud",{value:t})}})})]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",level:2,children:V.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}),N>=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"]})]})})]}),N>=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"]})]})})})]}),N>=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)}))})}),N>=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 c("nanite_injection")}})],4)})};t.NaniteChamberControlContent=i},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteCloudControl=t.NaniteCloudBackupDetails=t.NaniteCloudBackupList=t.NaniteInfoBox=t.NaniteDiskBox=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=function(e,t){var n=(0,r.useBackend)(t).data,c=n.has_disk,i=n.has_program,d=n.disk;return c?i?(0,o.createComponentVNode)(2,l,{program:d}):(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 l=function(e,t){var n=e.program,r=n.name,c=n.desc,i=n.activated,l=n.use_rate,d=n.can_trigger,u=n.trigger_cost,s=n.trigger_cooldown,m=n.activation_code,p=n.deactivation_code,C=n.kill_code,h=n.trigger_code,N=n.timer_restart,V=n.timer_shutdown,b=n.timer_trigger,f=n.timer_trigger_delay,g=n.extra_settings||[];return(0,o.createComponentVNode)(2,a.Section,{title:r,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:c}),(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:l}),!!d&&(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:s})],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:m}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:C}),!!d&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:h})]})})}),(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:[N," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown",children:[V," s"]}),!!d&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:[b," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[f," s"]})],4)]})})})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:g.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=l;var d=function(e,t){var n=(0,r.useBackend)(t),c=n.act;return(n.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 c("set_view",{view:e.cloud_id})}},e.cloud_id)}))};t.NaniteCloudBackupList=d;var u=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,d=i.current_view,u=i.disk,s=i.has_program,m=i.cloud_backup,p=u&&u.can_rule||!1;if(!m)return(0,o.createComponentVNode)(2,a.NoticeBox,{children:"ERROR: Backup not found"});var C=i.cloud_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Backup #"+d,level:2,buttons:!!s&&(0,o.createComponentVNode)(2,a.Button,{icon:"upload",content:"Upload From Disk",color:"good",onClick:function(){return c("upload_program")}}),children:C.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 c("remove_program",{program_id:e.id})}}),children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,l,{program:e}),(!!p||!!e.has_rules)&&(0,o.createComponentVNode)(2,a.Section,{mt:-2,title:"Rules",level:2,buttons:!!p&&(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Add Rule from Disk",color:"good",onClick:function(){return c("add_rule",{program_id:e.id})}}),children:e.has_rules?t.map((function(t){return(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return c("remove_rule",{program_id:e.id,rule_id:t.id})}})," "+t.display]},t.display)})):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No Active Rules"})})]})},e.name)}))})};t.NaniteCloudBackupDetails=u;t.NaniteCloudControl=function(e,t){var n=(0,r.useBackend)(t),l=n.act,s=n.data,m=s.has_disk,p=s.current_view,C=s.new_backup_id;return(0,o.createComponentVNode)(2,c.Window,{width:375,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Program Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!m,onClick:function(){return l("eject")}}),children:(0,o.createComponentVNode)(2,i)}),(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 l("set_view",{view:0})}}):(0,o.createFragment)(["New Backup: ",(0,o.createComponentVNode)(2,a.NumberInput,{value:C,minValue:1,maxValue:100,stepPixelSize:4,width:"39px",onChange:function(e,t){return l("update_new_backup_value",{value:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return l("create_backup")}})],0),children:s.current_view?(0,o.createComponentVNode)(2,u):(0,o.createComponentVNode)(2,d)})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgramHub=void 0;var o=n(0),r=n(10),a=n(2),c=n(1),i=n(3);t.NaniteProgramHub=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.detail_view,s=d.disk,m=d.has_disk,p=d.has_program,C=d.programs,h=void 0===C?{}:C,N=(0,a.useSharedState)(t,"category"),V=N[0],b=N[1],f=h&&h[V]||[];return(0,o.createComponentVNode)(2,i.Window,{width:500,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Section,{title:"Program Disk",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:"eject",content:"Eject",onClick:function(){return l("eject")}}),(0,o.createComponentVNode)(2,c.Button,{icon:"minus-circle",content:"Delete Program",onClick:function(){return l("clear")}})],4),children:m?p?(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Program Name",children:s.name}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Description",children:s.desc})]}):(0,o.createComponentVNode)(2,c.NoticeBox,{children:"No Program Installed"}):(0,o.createComponentVNode)(2,c.NoticeBox,{children:"Insert Disk"})}),(0,o.createComponentVNode)(2,c.Section,{title:"Programs",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:u?"info":"list",content:u?"Detailed":"Compact",onClick:function(){return l("toggle_details")}}),(0,o.createComponentVNode)(2,c.Button,{icon:"sync",content:"Sync Research",onClick:function(){return l("refresh")}})],4),children:null!==h?(0,o.createComponentVNode)(2,c.Flex,{children:[(0,o.createComponentVNode)(2,c.Flex.Item,{minWidth:"110px",children:(0,o.createComponentVNode)(2,c.Tabs,{vertical:!0,children:(0,r.map)((function(e,t){var n=t.substring(0,t.length-8);return(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:t===V,onClick:function(){return b(t)},children:n},t)}))(h)})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,basis:0,children:u?f.map((function(e){return(0,o.createComponentVNode)(2,c.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"download",content:"Download",disabled:!m,onClick:function(){return l("download",{program_id:e.id})}}),children:e.desc},e.id)})):(0,o.createComponentVNode)(2,c.LabeledList,{children:f.map((function(e){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"download",content:"Download",disabled:!m,onClick:function(){return l("download",{program_id:e.id})}})},e.id)}))})})]}):(0,o.createComponentVNode)(2,c.NoticeBox,{children:"No nanite programs are currently researched."})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgrammerContent=t.NaniteProgrammer=t.NaniteExtraBoolean=t.NaniteExtraType=t.NaniteExtraText=t.NaniteExtraNumber=t.NaniteExtraEntry=t.NaniteDelays=t.NaniteCodes=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.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 c("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 c("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 c("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 c("set_code",{target_code:"trigger",code:t})}})})]})})};t.NaniteCodes=i;var l=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.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 c("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 c("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 c("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 c("set_timer_trigger_delay",{delay:t})}})})],4)]})})};t.NaniteDelays=l;var d=function(e,t){var n=e.extra_setting,r=n.name,c=n.type,i={number:(0,o.createComponentVNode)(2,u,{extra_setting:n}),text:(0,o.createComponentVNode)(2,s,{extra_setting:n}),type:(0,o.createComponentVNode)(2,m,{extra_setting:n}),boolean:(0,o.createComponentVNode)(2,p,{extra_setting:n})};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:r,children:i[c]})};t.NaniteExtraEntry=d;var u=function(e,t){var n=e.extra_setting,c=(0,r.useBackend)(t).act,i=n.name,l=n.value,d=n.min,u=n.max,s=n.unit;return(0,o.createComponentVNode)(2,a.NumberInput,{value:l,width:"64px",minValue:d,maxValue:u,unit:s,onChange:function(e,t){return c("set_extra_setting",{target_setting:i,value:t})}})};t.NaniteExtraNumber=u;var s=function(e,t){var n=e.extra_setting,c=(0,r.useBackend)(t).act,i=n.name,l=n.value;return(0,o.createComponentVNode)(2,a.Input,{value:l,width:"200px",onInput:function(e,t){return c("set_extra_setting",{target_setting:i,value:t})}})};t.NaniteExtraText=s;var m=function(e,t){var n=e.extra_setting,c=(0,r.useBackend)(t).act,i=n.name,l=n.value,d=n.types;return(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:l,width:"150px",options:d,onSelected:function(e){return c("set_extra_setting",{target_setting:i,value:e})}})};t.NaniteExtraType=m;var p=function(e,t){var n=e.extra_setting,c=(0,r.useBackend)(t).act,i=n.name,l=n.value,d=n.true_text,u=n.false_text;return(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:l?d:u,checked:l,onClick:function(){return c("set_extra_setting",{target_setting:i})}})};t.NaniteExtraBoolean=p;t.NaniteProgrammer=function(e,t){return(0,o.createComponentVNode)(2,c.Window,{width:420,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,C)})})};var C=function(e,t){var n=(0,r.useBackend)(t),c=n.act,u=n.data,s=u.has_disk,m=u.has_program,p=u.name,C=u.desc,h=u.use_rate,N=u.can_trigger,V=u.trigger_cost,b=u.trigger_cooldown,f=u.activated,g=u.has_extra_settings,v=u.extra_settings,x=void 0===v?{}:v;return s?m?(0,o.createComponentVNode)(2,a.Section,{title:p,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return c("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:C}),(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:h}),!!N&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:V}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:b})],4)]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Settings",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:f?"power-off":"times",content:f?"Active":"Inactive",selected:f,color:"bad",bold:!0,onClick:function(){return c("toggle_active")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i)}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,l)})]}),!!g&&(0,o.createComponentVNode)(2,a.Section,{title:"Special",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:x.map((function(e){return(0,o.createComponentVNode)(2,d,{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 c("eject")}})}):(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Insert a nanite program disk"})};t.NaniteProgrammerContent=C},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteRemoteContent=t.NaniteRemote=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NaniteRemote=function(e,t){return(0,o.createComponentVNode)(2,c.Window,{width:420,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i)})})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.code,d=i.locked,u=i.mode,s=i.program_name,m=i.relay_code,p=i.comms,C=i.message,h=i.saved_settings,N=void 0===h?[]:h;return d?(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 c("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:s,maxLength:14,width:"130px",onChange:function(e,t){return c("update_name",{name:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",content:"Save",onClick:function(){return c("save")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:p?"Comm Code":"Signal Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:l,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return c("set_code",{code:t})}})}),!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",children:(0,o.createComponentVNode)(2,a.Input,{value:C,width:"270px",onChange:function(e,t){return c("set_message",{value:t})}})}),"Relay"===u&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Relay Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return c("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 c("select_mode",{mode:e})}},e)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Saved Settings",children:N.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"})]}),N.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 c("load",{save_id:e.id})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return c("remove_save",{save_id:e.id})}})]})]},e.id)}))]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No settings currently saved"})})],4)};t.NaniteRemoteContent=i},function(e,t,n){"use strict";t.__esModule=!0,t.NotificationPreferences=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NotificationPreferences=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=(n.data.ignore||[]).sort((function(e,t){var n=e.desc.toLowerCase(),o=t.desc.toLowerCase();return no?1:0}));return(0,o.createComponentVNode)(2,c.Window,{title:"Notification Preferences",width:270,height:360,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{title:"Ghost Role Notifications",children:l.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 i("toggle_ignore",{key:e.key})}},e.key)}))})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtnetRelay=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtnetRelay=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.enabled,u=l.dos_capacity,s=l.dos_overload,m=l.dos_crashed;return(0,o.createComponentVNode)(2,c.Window,{title:"NtNet Quantum Relay",width:400,height:300,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Network Buffer",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:d,content:d?"ENABLED":"DISABLED",onClick:function(){return i("toggle")}}),children:m?(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 i("restart")}})]}):(0,o.createComponentVNode)(2,a.ProgressBar,{value:s,minValue:0,maxValue:u,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:s})," GQ"," / ",u," GQ"]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosAiRestorer=void 0;var o=n(0),r=n(3),a=n(202);t.NtosAiRestorer=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:370,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.AiRestorerContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosArcade=void 0;var o=n(0),r=n(51),a=n(2),c=n(1),i=n(3);t.NtosArcade=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data;return(0,o.createComponentVNode)(2,i.NtosWindow,{width:450,height:350,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,c.Section,{title:"Outbomb Cuban Pete Ultra",textAlign:"center",children:[(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.Grid,{children:[(0,o.createComponentVNode)(2,c.Grid.Column,{size:2,children:[(0,o.createComponentVNode)(2,c.Box,{m:1}),(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Player Health",children:(0,o.createComponentVNode)(2,c.ProgressBar,{value:d.PlayerHitpoints,minValue:0,maxValue:30,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[d.PlayerHitpoints,"HP"]})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Player Magic",children:(0,o.createComponentVNode)(2,c.ProgressBar,{value:d.PlayerMP,minValue:0,maxValue:10,ranges:{purple:[11,Infinity],violet:[3,11],bad:[-Infinity,3]},children:[d.PlayerMP,"MP"]})})]}),(0,o.createComponentVNode)(2,c.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,c.Section,{backgroundColor:1===d.PauseState?"#1b3622":"#471915",children:d.Status})]}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:[(0,o.createComponentVNode)(2,c.ProgressBar,{value:d.Hitpoints,minValue:0,maxValue:45,ranges:{good:[30,Infinity],average:[5,30],bad:[-Infinity,5]},children:[(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:d.Hitpoints}),"HP"]}),(0,o.createComponentVNode)(2,c.Box,{m:1}),(0,o.createComponentVNode)(2,c.Section,{inline:!0,width:"156px",textAlign:"center",children:(0,o.createVNode)(1,"img",null,null,1,{src:(0,r.resolveAsset)(d.BossID)})})]})]}),(0,o.createComponentVNode)(2,c.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,c.Button,{icon:"fist-raised",tooltip:"Go in for the kill!",tooltipPosition:"top",disabled:0===d.GameActive||1===d.PauseState,onClick:function(){return l("Attack")},content:"Attack!"}),(0,o.createComponentVNode)(2,c.Button,{icon:"band-aid",tooltip:"Heal yourself!",tooltipPosition:"top",disabled:0===d.GameActive||1===d.PauseState,onClick:function(){return l("Heal")},content:"Heal!"}),(0,o.createComponentVNode)(2,c.Button,{icon:"magic",tooltip:"Recharge your magic!",tooltipPosition:"top",disabled:0===d.GameActive||1===d.PauseState,onClick:function(){return l("Recharge_Power")},content:"Recharge!"})]}),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.Button,{icon:"sync-alt",tooltip:"One more game couldn't hurt.",tooltipPosition:"top",disabled:1===d.GameActive,onClick:function(){return l("Start_Game")},content:"Begin Game"}),(0,o.createComponentVNode)(2,c.Button,{icon:"ticket-alt",tooltip:"Claim at your local Arcade Computer for Prizes!",tooltipPosition:"top",disabled:1===d.GameActive,onClick:function(){return l("Dispense_Tickets")},content:"Claim Tickets"})]}),(0,o.createComponentVNode)(2,c.Box,{color:d.TicketCount>=1?"good":"normal",children:["Earned Tickets: ",d.TicketCount]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosAtmos=void 0;var o=n(0),r=n(10),a=n(24),c=n(8),i=n(2),l=n(1),d=n(41),u=n(3);t.NtosAtmos=function(e,t){var n=(0,i.useBackend)(t),s=(n.act,n.data),m=s.AirTemp,p=s.AirPressure,C=(0,a.flow)([(0,r.filter)((function(e){return e.percentage>=.01})),(0,r.sortBy)((function(e){return-e.percentage}))])(s.AirData||[]),h=Math.max.apply(Math,[1].concat(C.map((function(e){return e.percentage}))));return(0,o.createComponentVNode)(2,u.NtosWindow,{width:300,height:350,resizable:!0,children:(0,o.createComponentVNode)(2,u.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Temperature",children:[m,"\xb0C"]}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Pressure",children:[p," kPa"]})]})}),(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:C.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,d.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,d.getGasColor)(e.name),value:e.percentage,minValue:0,maxValue:h,children:(0,c.toFixed)(e.percentage,2)+"%"})},e.name)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCardContent=t.NtosCard=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=n(203);t.NtosCard=function(e,t){return(0,o.createComponentVNode)(2,c.NtosWindow,{width:450,height:520,resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=(0,r.useLocalState)(t,"tab",1),u=d[0],s=d[1],m=l.authenticated,p=l.regions,C=void 0===p?[]:p,h=l.access_on_card,N=void 0===h?[]:h,V=l.jobs,b=void 0===V?{}:V,f=l.id_rank,g=l.id_owner,v=l.has_id,x=l.have_printer,k=l.have_id_slot,B=l.id_name,_=(0,r.useLocalState)(t,"department",Object.keys(b)[0]),w=_[0],L=_[1];if(!k)return(0,o.createComponentVNode)(2,a.NoticeBox,{children:"This program requires an ID slot in order to function"});var y=b[w]||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:v&&m?(0,o.createComponentVNode)(2,a.Input,{value:g,width:"250px",onInput:function(e,t){return c("PRG_edit",{name:t})}}):g||"No Card Inserted",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"print",content:"Print",disabled:!x||!v,onClick:function(){return c("PRG_print")}}),(0,o.createComponentVNode)(2,a.Button,{icon:m?"sign-out-alt":"sign-in-alt",content:m?"Log Out":"Log In",color:m?"bad":"good",onClick:function(){c(m?"PRG_logout":"PRG_authenticate")}})],4),children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"eject",content:B,onClick:function(){return c("PRG_eject")}})}),!!v&&!!m&&(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===u,onClick:function(){return s(1)},children:"Access"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:2===u,onClick:function(){return s(2)},children:"Jobs"})]}),1===u&&(0,o.createComponentVNode)(2,i.AccessList,{accesses:C,selectedList:N,accessMod:function(e){return c("PRG_access",{access_target:e})},grantAll:function(){return c("PRG_grantall")},denyAll:function(){return c("PRG_denyall")},grantDep:function(e){return c("PRG_grantregion",{region:e})},denyDep:function(e){return c("PRG_denyregion",{region:e})}}),2===u&&(0,o.createComponentVNode)(2,a.Section,{title:f,buttons:(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:"exclamation-triangle",content:"Terminate",color:"bad",onClick:function(){return c("PRG_terminate")}}),children:[(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Custom...",onCommit:function(e,t){return c("PRG_assign",{assign_target:"Custom",custom_name:t})}}),(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:Object.keys(b).map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:e===w,onClick:function(){return L(e)},children:e},e)}))})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:y.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.display_name,onClick:function(){return c("PRG_assign",{assign_target:e.job})}},e.job)}))})]})]})]})],0)};t.NtosCardContent=l},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCargo=void 0;var o=n(0),r=n(143),a=n(3);t.NtosCargo=function(e,t){return(0,o.createComponentVNode)(2,a.NtosWindow,{width:800,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,r.CargoContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosConfiguration=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosConfiguration=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.PC_device_theme,u=l.power_usage,s=l.battery_exists,m=l.battery,p=void 0===m?{}:m,C=l.disk_size,h=l.disk_used,N=l.hardware,V=void 0===N?[]:N;return(0,o.createComponentVNode)(2,c.NtosWindow,{theme:d,width:420,height:630,resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:[(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: ",u,"W"]}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Battery Status",color:!s&&"average",children:s?(0,o.createComponentVNode)(2,a.ProgressBar,{value:p.charge,minValue:0,maxValue:p.max,ranges:{good:[p.max/2,Infinity],average:[p.max/4,p.max/2],bad:[-Infinity,p.max/4]},children:[p.charge," / ",p.max]}):"Not Available"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"File System",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:h,minValue:0,maxValue:C,color:"good",children:[h," GQ / ",C," GQ"]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Hardware Components",children:V.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 i("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)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCrewManifest=void 0;var o=n(0),r=n(10),a=n(2),c=n(1),i=n(3);t.NtosCrewManifest=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.have_printer,s=d.manifest,m=void 0===s?{}:s;return(0,o.createComponentVNode)(2,i.NtosWindow,{width:400,height:480,resizable:!0,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c.Section,{title:"Crew Manifest",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"print",content:"Print",disabled:!u,onClick:function(){return l("PRG_print")}}),children:(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,c.Section,{level:2,title:t,children:(0,o.createComponentVNode)(2,c.Table,{children:e.map((function(e){return(0,o.createComponentVNode)(2,c.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,c.Table.Cell,{bold:!0,children:e.name}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:["(",e.rank,")"]})]},e.name)}))})},t)}))(m)})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCyborgRemoteMonitorSyndicate=void 0;var o=n(0),r=n(3),a=n(209);t.NtosCyborgRemoteMonitorSyndicate=function(e,t){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:600,height:800,theme:"syndicate",children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.NtosCyborgRemoteMonitorContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosFileManager=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosFileManager=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.PC_device_theme,s=d.usbconnected,m=d.files,p=void 0===m?[]:m,C=d.usbfiles,h=void 0===C?[]:C;return(0,o.createComponentVNode)(2,c.NtosWindow,{resizable:!0,theme:u,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,i,{files:p,usbconnected:s,onUpload:function(e){return l("PRG_copytousb",{name:e})},onDelete:function(e){return l("PRG_deletefile",{name:e})},onRename:function(e,t){return l("PRG_rename",{name:e,new_name:t})},onDuplicate:function(e){return l("PRG_clone",{file:e})},onToggleSilence:function(e){return l("PRG_togglesilence",{name:e})}})}),s&&(0,o.createComponentVNode)(2,a.Section,{title:"Data Disk",children:(0,o.createComponentVNode)(2,i,{usbmode:!0,files:h,usbconnected:s,onUpload:function(e){return l("PRG_copyfromusb",{name:e})},onDelete:function(e){return l("PRG_deletefile",{name:e})},onRename:function(e,t){return l("PRG_rename",{name:e,new_name:t})},onDuplicate:function(e){return l("PRG_clone",{file:e})}})})]})})};var i=function(e){var t=e.files,n=void 0===t?[]:t,r=e.usbconnected,c=e.usbmode,i=e.onUpload,l=e.onDelete,d=e.onRename,u=e.onToggleSilence;return(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"File"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Type"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Size"})]}),n.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.undeletable?e.name:(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:e.name,currentValue:e.name,tooltip:"Rename",onCommit:function(t,n){return d(e.name,n)}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.type}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.size}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[!!e.alert_able&&(0,o.createComponentVNode)(2,a.Button,{icon:e.alert_silenced?"bell-slash":"bell",color:e.alert_silenced?"red":"default",tooltip:e.alert_silenced?"Unmute Alerts":"Mute Alerts",onClick:function(){return u(e.name)}}),!e.undeletable&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:"trash",confirmIcon:"times",confirmContent:"",tooltip:"Delete",onClick:function(){return l(e.name)}}),!!r&&(c?(0,o.createComponentVNode)(2,a.Button,{icon:"download",tooltip:"Download",onClick:function(){return i(e.name)}}):(0,o.createComponentVNode)(2,a.Button,{icon:"upload",tooltip:"Upload",onClick:function(){return i(e.name)}}))],0)]})]},e.name)}))]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosJobManagerContent=t.NtosJobManager=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosJobManager=function(e,t){return(0,o.createComponentVNode)(2,c.NtosWindow,{width:400,height:620,resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i)})})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.authed,d=i.cooldown,u=i.slots,s=void 0===u?[]:u,m=i.prioritized,p=void 0===m?[]:m;return l?(0,o.createComponentVNode)(2,a.Section,{children:[d>0&&(0,o.createComponentVNode)(2,a.Dimmer,{children:(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"20px",children:["On Cooldown: ",d,"s"]})}),(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Prioritized"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Slots"})]}),s.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,content:e.title,disabled:e.total<=0,checked:e.total>0&&p.includes(e.title),onClick:function(){return c("PRG_priority",{target:e.title})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[e.current," / ",e.total]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,a.Button,{content:"Open",disabled:!e.status_open,onClick:function(){return c("PRG_open_job",{target:e.title})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Close",disabled:!e.status_close,onClick:function(){return c("PRG_close_job",{target:e.title})}})]})]},e.title)}))]})]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Current ID does not have access permissions to change job slots."})};t.NtosJobManagerContent=i},function(e,t,n){"use strict";t.__esModule=!0,t.NtosMain=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosMain=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.device_theme,u=l.programs,s=void 0===u?[]:u,m=l.has_light,p=l.light_on,C=l.comp_light_color,h=l.removable_media,N=void 0===h?[]:h,V=l.cardholder,b=l.login,f=void 0===b?[]:b;return(0,o.createComponentVNode)(2,c.NtosWindow,{title:"syndicate"===d?"Syndix Main Menu":"NtOS Main Menu",theme:d,width:400,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:[!!m&&(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Button,{width:"144px",icon:"lightbulb",selected:p,onClick:function(){return i("PC_toggle_light")},children:["Flashlight: ",p?"ON":"OFF"]}),(0,o.createComponentVNode)(2,a.Button,{ml:1,onClick:function(){return i("PC_light_color")},children:["Color:",(0,o.createComponentVNode)(2,a.ColorBox,{ml:1,color:C})]})]}),!!V&&(0,o.createComponentVNode)(2,a.Section,{title:"User Login",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject ID",disabled:!f.IDName,onClick:function(){return i("PC_Eject_Disk",{name:"ID"})}}),children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:["ID Name: ",f.IDName]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:["Assignment: ",f.IDJob]})]})}),!!N.length&&(0,o.createComponentVNode)(2,a.Section,{title:"Media Eject",children:(0,o.createComponentVNode)(2,a.Table,{children:N.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,color:"transparent",icon:"eject",content:e,onClick:function(){return i("PC_Eject_Disk",{name:e})}})})},e)}))})}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",children:(0,o.createComponentVNode)(2,a.Table,{children:s.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,color:e.alert?"yellow":"transparent",icon:e.icon,content:e.desc,onClick:function(){return i("PC_runprogram",{name:e.name})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,width:"18px",children:!!e.running&&(0,o.createComponentVNode)(2,a.Button,{color:"transparent",icon:"times",tooltip:"Close program",tooltipPosition:"left",onClick:function(){return i("PC_killprogram",{name:e.name})}})})]},e.name)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetChat=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosNetChat=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.can_admin,u=l.adminmode,s=l.authed,m=l.username,p=l.active_channel,C=l.is_operator,h=l.all_channels,N=void 0===h?[]:h,V=l.clients,b=void 0===V?[]:V,f=l.messages,g=void 0===f?[]:f,v=null!==p,x=s||u;return(0,o.createComponentVNode)(2,c.NtosWindow,{width:900,height:675,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{children:(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 i("PRG_newchannel",{new_channel_name:t})}}),N.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.chan,selected:e.id===p,color:"transparent",onClick:function(){return i("PRG_joinchannel",{id:e.id})}},e.chan)}))]}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,mt:1,content:m+"...",currentValue:m,onCommit:function(e,t){return i("PRG_changename",{new_name:t})}}),!!d&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:"ADMIN MODE: "+(u?"ON":"OFF"),color:u?"bad":"good",onClick:function(){return i("PRG_toggleadmin")}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createComponentVNode)(2,a.Box,{height:"560px",overflowY:"scroll",children:v&&(x?g.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 i("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:b.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.name},e.name)}))}),v&&x&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Save log...",defaultValue:"new_log",onCommit:function(e,t){return i("PRG_savelog",{log_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Leave Channel",onClick:function(){return i("PRG_leavechannel")}})],4),!!C&&s&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Delete Channel",onClick:function(){return i("PRG_deletechannel")}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Rename Channel...",onCommit:function(e,t){return i("PRG_renamechannel",{new_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Set Password...",onCommit:function(e,t){return i("PRG_setpassword",{new_password:t})}})],4)]})]})})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDosContent=t.NtosNetDos=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosNetDos=function(e,t){return(0,o.createComponentVNode)(2,c.NtosWindow,{width:400,height:250,theme:"syndicate",children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,i)})})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.relays,d=void 0===l?[]:l,u=i.focus,s=i.target,m=i.speed,p=i.overload,C=i.capacity,h=i.error;if(h)return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:h}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Reset",textAlign:"center",onClick:function(){return c("PRG_reset")}})],4);var N=function(e){for(var t="",n=p/C;t.lengthn?t+="0":t+="1";return t};return s?(0,o.createComponentVNode)(2,a.Section,{fontFamily:"monospace",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{children:["CURRENT SPEED: ",m," GQ/s"]}),(0,o.createComponentVNode)(2,a.Box,{children:N(45)}),(0,o.createComponentVNode)(2,a.Box,{children:N(45)}),(0,o.createComponentVNode)(2,a.Box,{children:N(45)}),(0,o.createComponentVNode)(2,a.Box,{children:N(45)}),(0,o.createComponentVNode)(2,a.Box,{children:N(45)})]}):(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.id,selected:u===e.id,onClick:function(){return c("PRG_target_relay",{targid:e.id})}},e.id)}))})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:"EXECUTE",color:"bad",textAlign:"center",disabled:!u,mt:1,onClick:function(){return c("PRG_execute")}})]})};t.NtosNetDosContent=i},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDownloader=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosNetDownloader=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.PC_device_theme,s=d.disk_size,m=d.disk_used,p=d.downloadable_programs,C=void 0===p?[]:p,h=d.error,N=d.hacked_programs,V=void 0===N?[]:N,b=d.hackedavailable;return(0,o.createComponentVNode)(2,c.NtosWindow,{theme:u,width:480,height:735,resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:[!!h&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:h}),(0,o.createComponentVNode)(2,a.Button,{content:"Reset",onClick:function(){return l("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:m,minValue:0,maxValue:s,children:m+" GQ / "+s+" GQ"})})})}),(0,o.createComponentVNode)(2,a.Section,{children:[C.filter((function(e){return e.access})).map((function(e){return(0,o.createComponentVNode)(2,i,{program:e},e.filename)})),C.filter((function(e){return!e.access})).map((function(e){return(0,o.createComponentVNode)(2,i,{program:e},e.filename)}))]}),!!b&&(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."}),V.map((function(e){return(0,o.createComponentVNode)(2,i,{program:e},e.filename)}))]})]})})};var i=function(e,t){var n=e.program,c=(0,r.useBackend)(t),i=c.act,l=c.data,d=l.disk_size,u=l.disk_used,s=l.downloadcompletion,m=l.downloading,p=l.downloadname,C=l.downloadsize,h=d-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:n.filedesc}),(0,o.createComponentVNode)(2,a.Flex.Item,{color:"label",nowrap:!0,children:[n.size," GQ"]}),(0,o.createComponentVNode)(2,a.Flex.Item,{ml:2,width:"94px",textAlign:"center",children:n.filename===p&&(0,o.createComponentVNode)(2,a.ProgressBar,{color:"green",minValue:0,maxValue:C,value:s})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Download",disabled:m||n.size>h||!n.access,onClick:function(){return i("PRG_downloadfile",{filename:n.filename})}})})]}),"Compatible"!==n.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!"]}),!n.access&&(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"}),"Invalid credentials loaded!"]}),n.size>h&&(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:n.fileinfo})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetMonitor=void 0;var o=n(0),r=n(1),a=n(2),c=n(3);t.NtosNetMonitor=function(e,t){var n=(0,a.useBackend)(t),i=n.act,l=n.data,d=l.ntnetrelays,u=l.ntnetstatus,s=l.config_softwaredownload,m=l.config_peertopeer,p=l.config_communication,C=l.config_systemcontrol,h=l.idsalarm,N=l.idsstatus,V=l.ntnetmaxlogs,b=l.maxlogs,f=l.minlogs,g=l.ntnetlogs,v=void 0===g?[]:g;return(0,o.createComponentVNode)(2,c.NtosWindow,{resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,r.NoticeBox,{children:"WARNING: Disabling wireless transmitters when using a wireless device may prevent you from reenabling them!"}),(0,o.createComponentVNode)(2,r.Section,{title:"Wireless Connectivity",buttons:(0,o.createComponentVNode)(2,r.Button.Confirm,{icon:u?"power-off":"times",content:u?"ENABLED":"DISABLED",selected:u,onClick:function(){return i("toggleWireless")}}),children:d?(0,o.createComponentVNode)(2,r.LabeledList,{children:(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Active NTNet Relays",children:d})}):"No Relays Connected"}),(0,o.createComponentVNode)(2,r.Section,{title:"Firewall Configuration",children:(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Software Downloads",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:s?"power-off":"times",content:s?"ENABLED":"DISABLED",selected:s,onClick:function(){return i("toggle_function",{id:"1"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Peer to Peer Traffic",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:m?"power-off":"times",content:m?"ENABLED":"DISABLED",selected:m,onClick:function(){return i("toggle_function",{id:"2"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Communication Systems",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:p?"power-off":"times",content:p?"ENABLED":"DISABLED",selected:p,onClick:function(){return i("toggle_function",{id:"3"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Remote System Control",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:C?"power-off":"times",content:C?"ENABLED":"DISABLED",selected:C,onClick:function(){return i("toggle_function",{id:"4"})}})})]})}),(0,o.createComponentVNode)(2,r.Section,{title:"Security Systems",children:[!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,r.NoticeBox,{children:"NETWORK INCURSION DETECTED"}),(0,o.createComponentVNode)(2,r.Box,{italics:!0,children:"Abnormal activity has been detected in the network. Check system logs for more information"})],4),(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"IDS Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Button,{icon:N?"power-off":"times",content:N?"ENABLED":"DISABLED",selected:N,onClick:function(){return i("toggleIDS")}}),(0,o.createComponentVNode)(2,r.Button,{icon:"sync",content:"Reset",color:"bad",onClick:function(){return i("resetIDS")}})],4)}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Max Log Count",buttons:(0,o.createComponentVNode)(2,r.NumberInput,{value:V,minValue:f,maxValue:b,width:"39px",onChange:function(e,t){return i("updatemaxlogs",{new_number:t})}})})]}),(0,o.createComponentVNode)(2,r.Section,{title:"System Log",level:2,buttons:(0,o.createComponentVNode)(2,r.Button.Confirm,{icon:"trash",content:"Clear Logs",onClick:function(){return i("purgelogs")}}),children:v.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{className:"candystripe",children:e.entry},e.entry)}))})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosPowerMonitor=void 0;var o=n(0),r=n(3),a=n(142);t.NtosPowerMonitor=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:550,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.PowerMonitorContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRadarSyndicate=void 0;var o=n(0),r=n(3),a=n(210);t.NtosRadarSyndicate=function(e,t){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:800,height:600,theme:"syndicate",children:(0,o.createComponentVNode)(2,a.NtosRadarContent,{sig_err:"Out of Range"})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRequestKiosk=void 0;var o=n(0),r=n(211),a=n(3);t.NtosRequestKiosk=function(e,t){return(0,o.createComponentVNode)(2,a.NtosWindow,{width:550,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,r.RequestKioskContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRevelation=void 0;var o=n(0),r=n(1),a=n(2),c=n(3);t.NtosRevelation=function(e,t){var n=(0,a.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.NtosWindow,{width:400,height:250,theme:"syndicate",children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Button.Input,{fluid:!0,content:"Obfuscate Name...",onCommit:function(e,t){return i("PRG_obfuscate",{new_name:t})},mb:1}),(0,o.createComponentVNode)(2,r.LabeledList,{children:(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Payload Status",buttons:(0,o.createComponentVNode)(2,r.Button,{content:l.armed?"ARMED":"DISARMED",color:l.armed?"bad":"average",onClick:function(){return i("PRG_arm")}})})}),(0,o.createComponentVNode)(2,r.Button,{fluid:!0,bold:!0,content:"ACTIVATE",textAlign:"center",color:"bad",disabled:!l.armed})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRoboControl=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosRoboControl=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.bots,s=d.id_owner,m=d.has_id;return(0,o.createComponentVNode)(2,c.NtosWindow,{width:550,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Robot Control Console",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Id Card",children:[s,!!m&&(0,o.createComponentVNode)(2,a.Button,{ml:2,icon:"eject",content:"Eject",onClick:function(){return l("ejectcard")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Bots in range",children:d.botcount})]})}),null==u?void 0:u.map((function(e){return(0,o.createComponentVNode)(2,i,{robot:e},e.bot_ref)}))]})})};var i=function(e,t){var n=e.robot,c=(0,r.useBackend)(t),i=c.act,l=c.data,d=l.mules||[],u=!!n.mule_check&&function(e,t){return null==e?void 0:e.find((function(e){return e.mule_ref===t}))}(d,n.bot_ref),s=1===n.mule_check?"rgba(110, 75, 14, 1)":"rgba(74, 59, 140, 1)";return(0,o.createComponentVNode)(2,a.Section,{title:n.name,style:{border:"4px solid "+s},buttons:u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"play",tooltip:"Go to Destination.",onClick:function(){return i("go",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"pause",tooltip:"Stop Moving.",onClick:function(){return i("stop",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"home",tooltip:"Travel Home.",tooltipPosition:"bottom-left",onClick:function(){return i("home",{robot:u.mule_ref})}})],4),children:(0,o.createComponentVNode)(2,a.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Model",children:n.model}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:n.locat}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:n.mode}),u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Loaded Cargo",children:l.load||"N/A"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Home",children:u.home}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destination",children:u.dest||"N/A"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:u.power,minValue:0,maxValue:100,ranges:{good:[60,Infinity],average:[20,60],bad:[-Infinity,20]}})})],4)]})}),(0,o.createComponentVNode)(2,a.Flex.Item,{width:"150px",children:[u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Set Destination",onClick:function(){return i("destination",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Set ID",onClick:function(){return i("setid",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Set Home",onClick:function(){return i("sethome",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Unload Cargo",onClick:function(){return i("unload",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,content:"Auto Return",checked:u.autoReturn,onClick:function(){return i("autoret",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,content:"Auto Pickup",checked:u.autoPickup,onClick:function(){return i("autopick",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,content:"Delivery Report",checked:u.reportDelivery,onClick:function(){return i("report",{robot:u.mule_ref})}})],4),!u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Stop Patrol",onClick:function(){return i("patroloff",{robot:n.bot_ref})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Start Patrol",onClick:function(){return i("patrolon",{robot:n.bot_ref})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Summon",onClick:function(){return i("summon",{robot:n.bot_ref})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Eject PAi",onClick:function(){return i("ejectpai",{robot:n.bot_ref})}})],4)]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRobotactContent=t.NtosRobotact=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosRobotact=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data.PC_device_theme);return(0,o.createComponentVNode)(2,c.NtosWindow,{width:800,height:600,theme:a,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,i)})})};var i=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=(0,r.useSharedState)(t,"tab_main",1),u=d[0],s=d[1],m=(0,r.useSharedState)(t,"tab_sub",1),p=m[0],C=m[1],h=l.charge,N=l.maxcharge,V=l.integrity,b=l.lampIntensity,f=l.cover,g=l.locomotion,v=l.wireModule,x=l.wireCamera,k=l.wireAI,B=l.wireLaw,_=l.sensors,w=l.printerPictures,L=l.printerToner,y=l.printerTonerMax,S=l.thrustersInstalled,I=l.thrustersStatus,T=l.name||[],A=l.designation||[],P=l.masterAI||[],F=l.Laws||[],M=l.borgLog||[],R=l.borgUpgrades||[];return(0,o.createComponentVNode)(2,a.Flex,{direction:"column",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{position:"relative",mb:1,children:(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"list",lineHeight:"23px",selected:1===u,onClick:function(){return s(1)},children:"Status"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"list",lineHeight:"23px",selected:2===u,onClick:function(){return s(2)},children:"Logs"})]})}),1===u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Flex,{direction:"row",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{width:"30%",children:(0,o.createComponentVNode)(2,a.Section,{title:"Configuration",fill:!0,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Unit",children:T.slice(0,17)}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Type",children:A}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"AI",children:P.slice(0,17)})]})})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,ml:1,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:["Charge:",(0,o.createComponentVNode)(2,a.Button,{content:"Power Alert",disabled:h,onClick:function(){return i("alertPower")}}),(0,o.createComponentVNode)(2,a.ProgressBar,{value:h/N,ranges:{good:[.5,Infinity],average:[.1,.5],bad:[-Infinity,.1]},children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:h})}),"Chassis Integrity:",(0,o.createComponentVNode)(2,a.ProgressBar,{value:V,minValue:0,maxValue:100,ranges:{bad:[-Infinity,25],average:[25,75],good:[75,Infinity]}})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Lamp Power",children:[(0,o.createComponentVNode)(2,a.Slider,{value:b,step:1,stepPixelSize:25,maxValue:5,minValue:1,onChange:function(e,t){return i("lampIntensity",{ref:t})}}),"Lamp power usage: ",b/2," watts"]})]}),(0,o.createComponentVNode)(2,a.Flex.Item,{width:"50%",ml:1,children:[(0,o.createComponentVNode)(2,a.Section,{fitted:!0,children:(0,o.createComponentVNode)(2,a.Tabs,{fluid:1,textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"",lineHeight:"23px",selected:1===p,onClick:function(){return C(1)},children:"Actions"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"",lineHeight:"23px",selected:2===p,onClick:function(){return C(2)},children:"Upgrades"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"",lineHeight:"23px",selected:3===p,onClick:function(){return C(3)},children:"Diagnostics"})]})}),1===p&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Maintenance Cover",children:(0,o.createComponentVNode)(2,a.Button.Confirm,{content:"Unlock",disabled:"UNLOCKED"===f,onClick:function(){return i("coverunlock")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sensor Overlay",children:(0,o.createComponentVNode)(2,a.Button,{content:_,onClick:function(){return i("toggleSensors")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Stored Photos ("+w+")",children:[(0,o.createComponentVNode)(2,a.Button,{content:"View",disabled:!w,onClick:function(){return i("viewImage")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Print",disabled:!w,onClick:function(){return i("printImage")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Printer Toner",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:L/y})}),!!S&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Toggle Thrusters",children:(0,o.createComponentVNode)(2,a.Button,{content:I,onClick:function(){return i("toggleThrusters")}})})]})}),2===p&&(0,o.createComponentVNode)(2,a.Section,{children:R.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{mb:1,children:e},e)}))}),3===p&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"AI Connection",color:"FAULT"===k?"red":"READY"===k?"yellow":"green",children:k}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"LawSync",color:"FAULT"===B?"red":"green",children:B}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Camera",color:"FAULT"===x?"red":"DISABLED"===x?"yellow":"green",children:x}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Module Controller",color:"FAULT"===v?"red":"green",children:v}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Motor Controller",color:"FAULT"===g?"red":"DISABLED"===g?"yellow":"green",children:g}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Maintenance Cover",color:"UNLOCKED"===f?"red":"green",children:f})]})})]})]}),(0,o.createComponentVNode)(2,a.Flex.Item,{height:21,mt:1,children:(0,o.createComponentVNode)(2,a.Section,{title:"Laws",fill:!0,scrollable:!0,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"State Laws",onClick:function(){return i("lawstate")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"volume-off",onClick:function(){return i("lawchannel")}})],4),children:F.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{mb:1,children:e},e)}))})})],4),2===u&&(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Section,{backgroundColor:"black",height:40,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:M.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{mb:1,children:(0,o.createVNode)(1,"font",null,e,0,{color:"green"})},e)}))})})})]})};t.NtosRobotactContent=i},function(e,t,n){"use strict";t.__esModule=!0,t.NtosSecurEye=void 0;var o=n(0),r=(n(10),n(24),n(6),n(17),n(2)),a=n(1),c=n(3),i=n(204);n(35);t.NtosSecurEye=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=(n.config,d.PC_device_theme),s=d.mapRef,m=d.activeCamera,p=(0,i.selectCameras)(d.cameras),C=(0,i.prevNextCamera)(p,m),h=C[0],N=C[1];return(0,o.createComponentVNode)(2,c.NtosWindow,{width:800,height:600,theme:u,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{children:[(0,o.createVNode)(1,"div","CameraConsole__left",(0,o.createComponentVNode)(2,i.CameraConsoleContent),2),(0,o.createVNode)(1,"div","CameraConsole__right",[(0,o.createVNode)(1,"div","CameraConsole__toolbar",[(0,o.createVNode)(1,"b",null,"Camera: ",16),m&&m.name||"\u2014"],0),(0,o.createVNode)(1,"div","CameraConsole__toolbarRight",[(0,o.createComponentVNode)(2,a.Button,{icon:"chevron-left",disabled:!h,onClick:function(){return l("switch_camera",{name:h})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"chevron-right",disabled:!N,onClick:function(){return l("switch_camera",{name:N})}})],4),(0,o.createComponentVNode)(2,a.ByondUi,{className:"CameraConsole__map",params:{id:s,type:"map"}})],4)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosShipping=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosShipping=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.NtosWindow,{width:450,height:350,resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"NTOS Shipping Hub.",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Id",onClick:function(){return i("ejectid")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current User",children:l.current_user||"N/A"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Inserted Card",children:l.card_owner||"N/A"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Available Paper",children:l.has_printer?l.paperamt:"N/A"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Profit on Sale",children:[l.barcode_split,"%"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Shipping Options",children:[(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"id-card",tooltip:"The currently ID card will become the current user.",tooltipPosition:"right",disabled:!l.has_id_slot,onClick:function(){return i("selectid")},content:"Set Current ID"})}),(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"print",tooltip:"Print a barcode to use on a wrapped package.",tooltipPosition:"right",disabled:!l.has_printer||!l.current_user,onClick:function(){return i("print")},content:"Print Barcode"})}),(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"tags",tooltip:"Set how much profit you'd like on your package.",tooltipPosition:"right",onClick:function(){return i("setsplit")},content:"Set Profit Margin"})}),(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"sync-alt",content:"Reset ID",onClick:function(){return i("resetid")}})})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosStationAlertConsole=void 0;var o=n(0),r=n(3),a=n(212);t.NtosStationAlertConsole=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:315,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.StationAlertConsoleContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosSupermatterMonitorContent=t.NtosSupermatterMonitor=void 0;var o=n(0),r=n(10),a=n(24),c=n(8),i=n(2),l=n(1),d=n(41),u=n(3),s=function(e){return Math.log2(16+Math.max(0,e))-4};t.NtosSupermatterMonitor=function(e,t){return(0,o.createComponentVNode)(2,u.NtosWindow,{width:600,height:350,resizable:!0,children:(0,o.createComponentVNode)(2,u.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,m)})})};var m=function(e,t){var n=(0,i.useBackend)(t),u=n.act,m=n.data,C=m.active,h=m.SM_integrity,N=m.SM_power,V=m.SM_ambienttemp,b=m.SM_ambientpressure;if(!C)return(0,o.createComponentVNode)(2,p);var f=(0,a.flow)([function(e){return e.filter((function(e){return e.amount>=.01}))},(0,r.sortBy)((function(e){return-e.amount}))])(m.gases||[]),g=Math.max.apply(Math,[1].concat(f.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:N,minValue:0,maxValue:5e3,ranges:{good:[-Infinity,5e3],average:[5e3,7e3],bad:[7e3,Infinity]},children:(0,c.toFixed)(N)+" MeV/cm3"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s(V),minValue:0,maxValue:s(1e4),ranges:{teal:[-Infinity,s(80)],good:[s(80),s(373)],average:[s(373),s(1e3)],bad:[s(1e3),Infinity]},children:(0,c.toFixed)(V)+" K"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s(b),minValue:0,maxValue:s(5e4),ranges:{good:[s(1),s(300)],average:[-Infinity,s(1e3)],bad:[s(1e3),+Infinity]},children:(0,c.toFixed)(b)+" kPa"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,l.Section,{title:"Gases",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"arrow-left",content:"Back",onClick:function(){return u("PRG_clear")}}),children:(0,o.createComponentVNode)(2,l.LabeledList,{children:f.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,d.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,d.getGasColor)(e.name),value:e.amount,minValue:0,maxValue:g,children:(0,c.toFixed)(e.amount,2)+"%"})},e.name)}))})})})]})};t.NtosSupermatterMonitorContent=m;var p=function(e,t){var n=(0,i.useBackend)(t),r=n.act,a=n.data.supermatters,c=void 0===a?[]:a;return(0,o.createComponentVNode)(2,l.Section,{title:"Detected Supermatters",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"sync",content:"Refresh",onClick:function(){return r("PRG_refresh")}}),children:(0,o.createComponentVNode)(2,l.Table,{children:c.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 r("PRG_set",{target:e.uid})}})})]},e.uid)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NuclearBomb=void 0;var o=n(0),r=n(6),a=n(2),c=n(1),i=n(3),l=function(e,t){var n=(0,a.useBackend)(t).act;return(0,o.createComponentVNode)(2,c.Box,{width:"185px",children:(0,o.createComponentVNode)(2,c.Grid,{width:"1px",children:[["1","4","7","C"],["2","5","8","0"],["3","6","9","E"]].map((function(e){return(0,o.createComponentVNode)(2,c.Grid.Column,{children:e.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{fluid:!0,bold:!0,mb:"6px",content:e,textAlign:"center",fontSize:"40px",lineHeight:1.25,width:"55px",className:(0,r.classes)(["NuclearBomb__Button","NuclearBomb__Button--keypad","NuclearBomb__Button--"+e]),onClick:function(){return n("keypad",{digit:e})}},e)}))},e[0])}))})})};t.NuclearBomb=function(e,t){var n=(0,a.useBackend)(t),r=n.act,d=n.data,u=(d.anchored,d.disk_present,d.status1),s=d.status2;return(0,o.createComponentVNode)(2,i.Window,{width:350,height:442,theme:"retro",children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c.Box,{m:"6px",children:[(0,o.createComponentVNode)(2,c.Box,{mb:"6px",className:"NuclearBomb__displayBox",children:u}),(0,o.createComponentVNode)(2,c.Flex,{mb:1.5,children:[(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Box,{className:"NuclearBomb__displayBox",children:s})}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.Button,{icon:"eject",fontSize:"24px",lineHeight:1,textAlign:"center",width:"43px",ml:"6px",mr:"3px",mt:"3px",className:"NuclearBomb__Button NuclearBomb__Button--keypad",onClick:function(){return r("eject_disk")}})})]}),(0,o.createComponentVNode)(2,c.Flex,{ml:"3px",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,l)}),(0,o.createComponentVNode)(2,c.Flex.Item,{ml:"6px",width:"129px",children:(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.Button,{fluid:!0,bold:!0,content:"ARM",textAlign:"center",fontSize:"28px",lineHeight:1.1,mb:"6px",className:"NuclearBomb__Button NuclearBomb__Button--C",onClick:function(){return r("arm")}}),(0,o.createComponentVNode)(2,c.Button,{fluid:!0,bold:!0,content:"ANCHOR",textAlign:"center",fontSize:"28px",lineHeight:1.1,className:"NuclearBomb__Button NuclearBomb__Button--E",onClick:function(){return r("anchor")}}),(0,o.createComponentVNode)(2,c.Box,{textAlign:"center",color:"#9C9987",fontSize:"80px",children:(0,o.createComponentVNode)(2,c.Icon,{name:"radiation"})}),(0,o.createComponentVNode)(2,c.Box,{height:"80px",className:"NuclearBomb__NTIcon"})]})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.OperatingComputer=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Respiratory",type:"oxyLoss"}];t.OperatingComputer=function(e,t){var n=(0,r.useSharedState)(t,"tab",1),i=n[0],u=n[1];return(0,o.createComponentVNode)(2,c.Window,{width:350,height:470,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===i,onClick:function(){return u(1)},children:"Patient State"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:2===i,onClick:function(){return u(2)},children:"Surgery Procedures"})]}),1===i&&(0,o.createComponentVNode)(2,l),2===i&&(0,o.createComponentVNode)(2,d)]})})};var l=function(e,t){var n=(0,r.useBackend)(t),c=(n.act,n.data),l=c.table,d=c.procedures,u=void 0===d?[]:d,s=c.patient,m=void 0===s?{}:s;return l?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Patient State",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",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m.health})})}),i.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",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m[e.type]})})},e.type)}))]})||"No Patient Detected"}),0===u.length&&(0,o.createComponentVNode)(2,a.Section,{children:"No Active Procedures"}),u.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,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)]}),!!c.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)}))],0):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Table Detected"})},d=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data.surgeries,l=void 0===i?[]:i;return(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 c("sync")}}),l.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,children:e.desc},e.name)}))]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Orbit=void 0;var o=n(0),r=n(17),a=n(51),c=n(2),i=n(1),l=n(3);function d(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return u(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);nt},C=function(e,t){var n=e.name,o=t.name,r=n.match(s),a=o.match(s);return r&&a&&n.replace(s,"")===o.replace(s,"")?parseInt(r[1],10)-parseInt(a[1],10):p(n,o)},h=function(e,t){var n=(0,c.useBackend)(t).act,r=e.searchText,a=e.source,l=e.title,d=a.filter(m(r));return d.sort(C),a.length>0&&(0,o.createComponentVNode)(2,i.Section,{title:l+" - ("+a.length+")",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.name,onClick:function(){return n("orbit",{ref:e.ref})}},e.name)}))})},N=function(e,t){var n=(0,c.useBackend)(t).act,r=e.color,l=e.thing;return(0,o.createComponentVNode)(2,i.Button,{color:r,onClick:function(){return n("orbit",{ref:l.ref})},children:[l.name,l.orbiters&&(0,o.createComponentVNode)(2,i.Box,{inline:!0,ml:1,children:["(",l.orbiters," ",(0,o.createComponentVNode)(2,i.Box,{as:"img",src:(0,a.resolveAsset)("ghost.png"),opacity:.7}),")"]})]})};t.Orbit=function(e,t){for(var n,r=(0,c.useBackend)(t),a=r.act,u=r.data,s=u.alive,V=u.antagonists,b=u.auto_observe,f=u.dead,g=u.ghosts,v=u.misc,x=u.npcs,k=(0,c.useLocalState)(t,"searchText",""),B=k[0],_=k[1],w={},L=d(V);!(n=L()).done;){var y=n.value;w[y.antag]===undefined&&(w[y.antag]=[]),w[y.antag].push(y)}var S=Object.entries(w);S.sort((function(e,t){return p(e[0],t[0])}));return(0,o.createComponentVNode)(2,l.Window,{title:"Orbit",width:350,height:700,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Flex,{children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Icon,{name:"search",mr:1})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Input,{placeholder:"Search...",autoFocus:!0,fluid:!0,value:B,onInput:function(e,t){return _(t)},onEnter:function(e,t){return function(e){for(var t=0,n=[S.map((function(e){return e[0],e[1]})),s,g,f,x,v];t0&&(0,o.createComponentVNode)(2,i.Section,{title:"Ghost-Visible Antagonists",children:S.map((function(e){var t=e[0],n=e[1];return(0,o.createComponentVNode)(2,i.Section,{title:t,level:2,children:n.filter(m(B)).sort(C).map((function(e){return(0,o.createComponentVNode)(2,N,{color:"bad",thing:e},e.name)}))},t)}))}),(0,o.createComponentVNode)(2,i.Section,{title:"Alive - ("+s.length+")",children:s.filter(m(B)).sort(C).map((function(e){return(0,o.createComponentVNode)(2,N,{color:"good",thing:e},e.name)}))}),(0,o.createComponentVNode)(2,i.Section,{title:"Ghosts - ("+g.length+")",children:g.filter(m(B)).sort(C).map((function(e){return(0,o.createComponentVNode)(2,N,{color:"grey",thing:e},e.name)}))}),(0,o.createComponentVNode)(2,h,{title:"Dead",source:f,searchText:B}),(0,o.createComponentVNode)(2,h,{title:"NPCs",source:x,searchText:B}),(0,o.createComponentVNode)(2,h,{title:"Misc",source:v,searchText:B})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.OreBox=void 0;var o=n(0),r=n(17),a=n(1),c=n(2),i=n(3);t.OreBox=function(e,t){var n=(0,c.useBackend)(t),l=n.act,d=n.data.materials;return(0,o.createComponentVNode)(2,i.Window,{width:335,height:415,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Ores",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Empty",onClick:function(){return l("removeall")}}),children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Ore"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"right",children:"Amount"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,r.toTitleCase)(e.name)}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,a.Box,{color:"label",inline:!0,children:e.amount})})]},e.type)}))]})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.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."]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.OreRedemptionMachine=void 0;var o=n(0),r=n(17),a=n(2),c=n(1),i=n(3);t.OreRedemptionMachine=function(e,t){var n=(0,a.useBackend)(t),r=n.act,d=n.data,u=d.unclaimedPoints,s=d.materials,m=d.alloys,p=d.diskDesigns,C=d.hasDisk;return(0,o.createComponentVNode)(2,i.Window,{title:"Ore Redemption Machine",width:440,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Section,{children:[(0,o.createComponentVNode)(2,c.BlockQuote,{mb:1,children:["This machine only accepts ore.",(0,o.createVNode)(1,"br"),"Gibtonite and Slag are not accepted."]}),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"label",mr:1,children:"Unclaimed points:"}),u,(0,o.createComponentVNode)(2,c.Button,{ml:2,content:"Claim",disabled:0===u,onClick:function(){return r("Claim")}})]})]}),(0,o.createComponentVNode)(2,c.Section,{children:C&&(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Box,{mb:1,children:(0,o.createComponentVNode)(2,c.Button,{icon:"eject",content:"Eject design disk",onClick:function(){return r("diskEject")}})}),(0,o.createComponentVNode)(2,c.Table,{children:p.map((function(e){return(0,o.createComponentVNode)(2,c.Table.Row,{children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:["File ",e.index,": ",e.name]}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,c.Button,{disabled:!e.canupload,content:"Upload",onClick:function(){return r("diskUpload",{design:e.index})}})})]},e.index)}))})],4)||(0,o.createComponentVNode)(2,c.Button,{icon:"save",content:"Insert design disk",onClick:function(){return r("diskInsert")}})}),(0,o.createComponentVNode)(2,c.Section,{title:"Materials",children:(0,o.createComponentVNode)(2,c.Table,{children:s.map((function(e){return(0,o.createComponentVNode)(2,l,{material:e,onRelease:function(t){return r("Release",{id:e.id,sheets:t})}},e.id)}))})}),(0,o.createComponentVNode)(2,c.Section,{title:"Alloys",children:(0,o.createComponentVNode)(2,c.Table,{children:m.map((function(e){return(0,o.createComponentVNode)(2,l,{material:e,onRelease:function(t){return r("Smelt",{id:e.id,sheets:t})}},e.id)}))})})]})})};var l=function(e,t){var n=e.material,i=e.onRelease,l=(0,a.useLocalState)(t,"amount"+n.name,1),d=l[0],u=l[1],s=Math.floor(n.amount);return(0,o.createComponentVNode)(2,c.Table.Row,{children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:(0,r.toTitleCase)(n.name).replace("Alloy","")}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,c.Box,{mr:2,color:"label",inline:!0,children:n.value&&n.value+" cr"})}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,c.Box,{mr:2,color:"label",inline:!0,children:[s," sheets"]})}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,c.NumberInput,{width:"32px",step:1,stepPixelSize:5,minValue:1,maxValue:50,value:d,onChange:function(e,t){return u(t)}}),(0,o.createComponentVNode)(2,c.Button,{disabled:s<1,content:"Release",onClick:function(){return i(d)}})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Pandemic=t.PandemicAntibodyDisplay=t.PandemicSymptomDisplay=t.PandemicDiseaseDisplay=t.PandemicBeakerDisplay=void 0;var o=n(0),r=n(10),a=n(2),c=n(1),i=n(3),l=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.has_beaker,d=i.beaker_empty,u=i.has_blood,s=i.blood,m=!l||d;return(0,o.createComponentVNode)(2,c.Section,{title:"Beaker",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:"times",content:"Empty and Eject",color:"bad",disabled:m,onClick:function(){return r("empty_eject_beaker")}}),(0,o.createComponentVNode)(2,c.Button,{icon:"trash",content:"Empty",disabled:m,onClick:function(){return r("empty_beaker")}}),(0,o.createComponentVNode)(2,c.Button,{icon:"eject",content:"Eject",disabled:!l,onClick:function(){return r("eject_beaker")}})],4),children:l?d?(0,o.createComponentVNode)(2,c.Box,{color:"bad",children:"Beaker is empty"}):u?(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Blood DNA",children:s&&s.dna||"Unknown"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Blood Type",children:s&&s.type||"Unknown"})]}):(0,o.createComponentVNode)(2,c.Box,{color:"bad",children:"No blood detected"}):(0,o.createComponentVNode)(2,c.NoticeBox,{children:"No beaker loaded"})})};t.PandemicBeakerDisplay=l;var d=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.is_ready;return(i.viruses||[]).map((function(e){var t=e.symptoms||[];return(0,o.createComponentVNode)(2,c.Section,{title:e.can_rename?(0,o.createComponentVNode)(2,c.Input,{value:e.name,onChange:function(t,n){return r("rename_disease",{index:e.index,name:n})}}):e.name,buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"flask",content:"Create culture bottle",disabled:!l,onClick:function(){return r("create_culture_bottle",{index:e.index})}}),children:[(0,o.createComponentVNode)(2,c.Grid,{children:[(0,o.createComponentVNode)(2,c.Grid.Column,{children:e.description}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Agent",children:e.agent}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Spread",children:e.spread}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Possible Cure",children:e.cure})]})})]}),!!e.is_adv&&(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:"Statistics",level:2,children:(0,o.createComponentVNode)(2,c.Grid,{children:[(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Resistance",children:e.resistance}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Stealth",children:e.stealth})]})}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Stage speed",children:e.stage_speed}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Transmissibility",children:e.transmission})]})})]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Symptoms",level:2,children:t.map((function(e){return(0,o.createComponentVNode)(2,c.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,u,{symptom:e})})},e.name)}))})],4)]},e.name)}))};t.PandemicDiseaseDisplay=d;var u=function(e,t){var n=e.symptom,a=n.name,i=n.desc,l=n.stealth,d=n.resistance,u=n.stage_speed,s=n.transmission,m=n.level,p=n.neutered,C=(0,r.map)((function(e,t){return{desc:e,label:t}}))(n.threshold_desc||{});return(0,o.createComponentVNode)(2,c.Section,{title:a,level:2,buttons:!!p&&(0,o.createComponentVNode)(2,c.Box,{bold:!0,color:"bad",children:"Neutered"}),children:[(0,o.createComponentVNode)(2,c.Grid,{children:[(0,o.createComponentVNode)(2,c.Grid.Column,{size:2,children:i}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Level",children:m}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Resistance",children:d}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Stealth",children:l}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Stage Speed",children:u}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Transmission",children:s})]})})]}),C.length>0&&(0,o.createComponentVNode)(2,c.Section,{title:"Thresholds",level:3,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:C.map((function(e){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.label,children:e.desc},e.label)}))})})]})};t.PandemicSymptomDisplay=u;var s=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.resistances||[];return(0,o.createComponentVNode)(2,c.Section,{title:"Antibodies",children:l.length>0?(0,o.createComponentVNode)(2,c.LabeledList,{children:l.map((function(e){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,c.Button,{icon:"eye-dropper",content:"Create vaccine bottle",disabled:!i.is_ready,onClick:function(){return r("create_vaccine_bottle",{index:e.id})}})},e.name)}))}):(0,o.createComponentVNode)(2,c.Box,{bold:!0,color:"bad",mt:1,children:"No antibodies detected."})})};t.PandemicAntibodyDisplay=s;t.Pandemic=function(e,t){var n=(0,a.useBackend)(t).data;return(0,o.createComponentVNode)(2,i.Window,{width:520,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,l),!!n.has_blood&&(0,o.createFragment)([(0,o.createComponentVNode)(2,d),(0,o.createComponentVNode)(2,s)],4)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PaperSheet=void 0;var o,r=n(0),a=n(6),c=(o=n(621))&&o.__esModule?o:{"default":o},i=n(2),l=n(1),d=n(3),u=n(8),s=n(207);function m(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function p(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return C(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return C(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n]+)>/g,(function(e,t){return"$"+n[t]})))}if("function"==typeof t){var a=this;return o[Symbol.replace].call(this,e,(function(){var e=[];return e.push.apply(e,arguments),"object"!=typeof e[e.length-1]&&e.push(c(e,a)),t.apply(this,e)}))}return o[Symbol.replace].call(this,e,t)},h.apply(this,arguments)}function N(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&g(e,t)}function V(e){var t="function"==typeof Map?new Map:undefined;return(V=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,o)}function o(){return b(e,arguments,v(this).constructor)}return o.prototype=Object.create(e.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),g(o,e)})(e)}function b(e,t,n){return(b=f()?Reflect.construct:function(e,t,n){var o=[null];o.push.apply(o,t);var r=new(Function.bind.apply(e,o));return n&&g(r,n.prototype),r}).apply(null,arguments)}function f(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function g(e,t){return(g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function v(e){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var x=5e3,k=function(e,t,n,o){return void 0===o&&(o=!1),"'+e+""},B=/\[(_+)\]/g,_=h(/\[\]/gm,{id:2}),w=/%s(?:ign)?(?=\\s|$)?/gim,L=function(e,t,n,o,r){var a=e.replace(B,(function(e,a,c,i){var l=function(e,t,n){t=n+"x "+t;var o=document.createElement("canvas").getContext("2d");return o.font=t,o.measureText(e).width}(e,t,n)+"px";return function(e,t,n,o,r,a){return'['+(n=c,o=s,(o?n.replace(/")};return(0,r.createComponentVNode)(2,l.Box,{position:"relative",backgroundColor:u,width:"100%",height:"100%",children:[(0,r.createComponentVNode)(2,l.Box,{className:"Paper__Page",color:"black",fillPositionedParent:!0,width:"100%",height:"100%",dangerouslySetInnerHTML:p,p:"10px"}),m.map((function(e,t){return(0,r.createComponentVNode)(2,y,{image:{sprite:e[0],x:e[1],y:e[2],rotate:e[3]}},e[0]+t)}))]})},I=function(e){function t(t,n){var o;return(o=e.call(this,t,n)||this).state={x:0,y:0,rotate:0},o.style=null,o.handleMouseMove=function(e){var t=o.findStampPosition(e);t&&(!function(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,e.returnValue=!1}(e),o.setState({x:t[0],y:t[1],rotate:t[2]}))},o.handleMouseClick=function(e){if(!(e.pageY<=30)){var t=(0,i.useBackend)(o.context),n=t.act,r=t.data;n("stamp",{x:o.state.x,y:o.state.y,r:o.state.rotate,stamp_class:o.props.stamp_class,stamp_icon_state:r.stamp_icon_state})}},o}m(t,e);var n=t.prototype;return n.findStampPosition=function(e){var t,n=document.querySelector(".Layout__content");if(e.shiftKey&&(t=!0),document.getElementById("stamp")){var o=document.getElementById("stamp"),r=o.clientHeight,a=o.clientWidth,c=t?this.state.y:e.pageY-n.scrollTop-r,i=t?this.state.x:e.pageX-a/2,l=n.clientWidth-a,d=n.clientHeight-n.scrollTop-r,s=Math.atan2(e.pageX-i,e.pageY-c),m=t?s*(180/Math.PI)*-1:this.state.rotate;return[(0,u.clamp)(i,0,l),(0,u.clamp)(c,0,d),m]}},n.componentDidMount=function(){document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("click",this.handleMouseClick)},n.componentWillUnmount=function(){document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("click",this.handleMouseClick)},n.render=function(){var e=this.props,t=e.value,n=e.stamp_class,o=e.stamps||[],a={sprite:n,x:this.state.x,y:this.state.y,rotate:this.state.rotate};return(0,r.createFragment)([(0,r.createComponentVNode)(2,S,{readOnly:!0,value:t,stamps:o}),(0,r.createComponentVNode)(2,y,{active_stamp:!0,opacity:.5,image:a})],4)},t}(r.Component),T=function(e){function t(t,n){var o;return(o=e.call(this,t,n)||this).state={previewSelected:"Preview",old_text:t.value||"",textarea_text:"",combined_text:t.value||""},o}m(t,e);var n=t.prototype;return n.createPreview=function(e,t){void 0===t&&(t=!1);var n,o,r=(0,i.useBackend)(this.context).data,a=r.text,l=r.pen_color,d=r.pen_font,u=r.is_crayon,m=r.field_counter,C=r.edit_usr,h={text:a};if((e=e.trim()).length>0){e+="\n"===e[e.length]?" \n":"\n \n";var N=(0,s.sanitizeText)(e),V=(n=l,o=C,N.replace(w,(function(){return k(o,"Times New Roman",n,!0)}))),b=L(V,d,12,l,m),f=function(e){return(0,c["default"])(e,{breaks:!0,smartypants:!0,smartLists:!0,walkTokens:function(e){switch(e.type){case"url":case"autolink":case"reflink":case"link":case"image":e.type="text",e.href=""}},baseUrl:"thisshouldbreakhttp"})}(b.text),g=k(f,d,l,u);h.text+=g,h.field_counter=b.counter}if(t){var v=function(e,t,n,o,r){var a;void 0===r&&(r=!1);for(var c={},i=[];null!==(a=_.exec(e));){var l=a[0],d=a.groups.id;if(d){var u=document.getElementById(d);if(0===(u&&u.value?u.value:"").length)continue;var m=(0,s.sanitizeText)(u.value.trim(),[]);if(0===m.length)continue;var C=u.cloneNode(!0);m.match(w)?(C.style.fontFamily="Times New Roman",r=!0,C.defaultValue=o):(C.style.fontFamily=t,C.defaultValue=m),r&&(C.style.fontWeight="bold"),C.style.color=n,C.disabled=!0;var h=document.createElement("div");h.appendChild(C),c[d]=m,i.push({value:"["+h.innerHTML+"]",raw_text:l})}}if(i.length>0)for(var N,V=p(i);!(N=V()).done;){var b=N.value;e=e.replace(b.raw_text,b.value)}return{text:e,fields:c}}(h.text,d,l,C,u);h.text=v.text,h.form_fields=v.fields}return h},n.onInputHandler=function(e,t){var n=this;if(t!==this.state.textarea_text){var o=this.state.old_text.length+this.state.textarea_text.length;if(o>x&&(t=o-x>=t.length?"":t.substr(0,t.length-(o-x)))===this.state.textarea_text)return;this.setState((function(){return{textarea_text:t,combined_text:n.createPreview(t)}}))}},n.finalUpdate=function(e){var t=(0,i.useBackend)(this.context).act,n=this.createPreview(e,!0);t("save",n),this.setState((function(){return{textarea_text:"",previewSelected:"save",combined_text:n.text}}))},n.render=function(){var e=this,t=this.props,n=t.textColor,o=t.fontFamily,a=t.stamps,c=t.backgroundColor;return(0,r.createComponentVNode)(2,l.Flex,{direction:"column",fillPositionedParent:!0,children:[(0,r.createComponentVNode)(2,l.Flex.Item,{children:(0,r.createComponentVNode)(2,l.Tabs,{children:[(0,r.createComponentVNode)(2,l.Tabs.Tab,{textColor:"black",backgroundColor:"Edit"===this.state.previewSelected?"grey":"white",selected:"Edit"===this.state.previewSelected,onClick:function(){return e.setState({previewSelected:"Edit"})},children:"Edit"},"marked_edit"),(0,r.createComponentVNode)(2,l.Tabs.Tab,{textColor:"black",backgroundColor:"Preview"===this.state.previewSelected?"grey":"white",selected:"Preview"===this.state.previewSelected,onClick:function(){return e.setState((function(){return{previewSelected:"Preview",textarea_text:e.state.textarea_text,combined_text:e.createPreview(e.state.textarea_text).text}}))},children:"Preview"},"marked_preview"),(0,r.createComponentVNode)(2,l.Tabs.Tab,{textColor:"black",backgroundColor:"confirm"===this.state.previewSelected?"red":"save"===this.state.previewSelected?"grey":"white",selected:"confirm"===this.state.previewSelected||"save"===this.state.previewSelected,onClick:function(){"confirm"===e.state.previewSelected?e.finalUpdate(e.state.textarea_text):"Edit"===e.state.previewSelected?e.setState((function(){return{previewSelected:"confirm",textarea_text:e.state.textarea_text,combined_text:e.createPreview(e.state.textarea_text).text}})):e.setState({previewSelected:"confirm"})},children:"confirm"===this.state.previewSelected?"Confirm":"Save"},"marked_done")]})}),(0,r.createComponentVNode)(2,l.Flex.Item,{grow:1,basis:1,children:"Edit"===this.state.previewSelected&&(0,r.createComponentVNode)(2,l.TextArea,{value:this.state.textarea_text,textColor:n,fontFamily:o,height:window.innerHeight-80+"px",backgroundColor:c,onInput:this.onInputHandler.bind(this)})||(0,r.createComponentVNode)(2,S,{value:this.state.combined_text,stamps:a,fontFamily:o,textColor:n})})]})},t}(r.Component);t.PaperSheet=function(e,t){var n=(0,i.useBackend)(t).data,o=n.edit_mode,a=n.text,c=n.paper_color,u=void 0===c?"white":c,s=n.pen_color,m=void 0===s?"black":s,p=n.pen_font,C=void 0===p?"Verdana":p,h=n.stamps,N=n.stamp_class,V=n.sizeX,b=n.sizeY,f=n.name,g=h||[];return(0,r.createComponentVNode)(2,d.Window,{title:f,theme:"paper",width:V||400,height:b||500,resizable:!0,children:(0,r.createComponentVNode)(2,d.Window.Content,{backgroundColor:u,scrollable:!0,children:(0,r.createComponentVNode)(2,l.Box,{id:"page",fitted:!0,fillPositionedParent:!0,children:function(e){switch(e){case 0:return(0,r.createComponentVNode)(2,S,{value:a,stamps:g,readOnly:!0});case 1:return(0,r.createComponentVNode)(2,T,{value:a,textColor:m,fontFamily:C,stamps:g,backgroundColor:u});case 2:return(0,r.createComponentVNode)(2,I,{value:a,stamps:g,stamp_class:N});default:return"ERROR ERROR WE CANNOT BE HERE!!"}}(o)})})})}},,function(e,t,n){"use strict";t.__esModule=!0,t.PersonalCrafting=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);function i(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n50?"good":d>15&&"average")||"bad";return(0,o.createComponentVNode)(2,c.Window,{width:450,height:340,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[!l.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:l.active?"power-off":"times",onClick:function(){return i("toggle_power")},disabled:!l.ready_to_boot,children:l.active?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:l.sheet_name+" sheets",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:u,children:l.sheets}),l.sheets>=1&&(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"eject",disabled:l.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:l.stack_percent/100,ranges:{good:[.1,Infinity],average:[.01,.1],bad:[-Infinity,.01]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Heat level",children:l.current_heat<100?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:"Nominal"}):l.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:l.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:l.power_generated}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return i("higher_power")},children:l.power_generated})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power available",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:!l.connected&&"bad",children:l.connected?l.power_available:"Unconnected"})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortablePump=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=n(213);t.PortablePump=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.direction,s=(d.holding,d.target_pressure),m=d.default_pressure,p=d.min_pressure,C=d.max_pressure;return(0,o.createComponentVNode)(2,c.Window,{width:300,height:315,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,i.PortableBasicInfo),(0,o.createComponentVNode)(2,a.Section,{title:"Pump",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"sign-in-alt":"sign-out-alt",content:u?"In":"Out",selected:u,onClick:function(){return l("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:s,unit:"kPa",width:"75px",minValue:p,maxValue:C,step:10,onChange:function(e,t){return l("pressure",{pressure:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:s===p,onClick:function(){return l("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",disabled:s===m,onClick:function(){return l("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:s===C,onClick:function(){return l("pressure",{pressure:"max"})}})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableScrubber=void 0;var o=n(0),r=n(2),a=n(1),c=n(41),i=n(3),l=n(213);t.PortableScrubber=function(e,t){var n=(0,r.useBackend)(t),d=n.act,u=n.data.filter_types||[];return(0,o.createComponentVNode)(2,i.Window,{width:320,height:376,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,l.PortableBasicInfo),(0,o.createComponentVNode)(2,a.Section,{title:"Filters",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,c.getGasLabel)(e.gas_id,e.gas_name),selected:e.enabled,onClick:function(){return d("toggle_filter",{val:e.gas_id})}},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableTurret=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.PortableTurret=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.silicon_user,u=l.locked,s=l.on,m=l.check_weapons,p=l.neutralize_criminals,C=l.neutralize_all,h=l.neutralize_unidentified,N=l.neutralize_nonmindshielded,V=l.neutralize_cyborgs,b=l.neutralize_heads,f=l.manual_control,g=l.allow_manual_control,v=l.lasertag_turret;return(0,o.createComponentVNode)(2,c.Window,{width:310,height:v?110:292,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.NoticeBox,{children:["Swipe an ID card to ",u?"unlock":"lock"," this interface."]}),(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:"Status",buttons:!v&&(!!g||!!f&&!!d)&&(0,o.createComponentVNode)(2,a.Button,{icon:f?"wifi":"terminal",content:f?"Remotely Controlled":"Manual Control",disabled:f,color:"bad",onClick:function(){return i("manual")}}),children:(0,o.createComponentVNode)(2,a.Button,{icon:s?"power-off":"times",content:s?"On":"Off",selected:s,disabled:u,onClick:function(){return i("power")}})})})}),!v&&(0,o.createComponentVNode)(2,a.Section,{title:"Target Settings",buttons:(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:!b,content:"Ignore Command",disabled:u,onClick:function(){return i("shootheads")}}),children:[(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,checked:C,content:"Non-Security and Non-Command",disabled:u,onClick:function(){return i("shootall")}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,checked:m,content:"Unauthorized Weapons",disabled:u,onClick:function(){return i("authweapon")}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,checked:h,content:"Unidentified Life Signs",disabled:u,onClick:function(){return i("checkxenos")}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,checked:N,content:"Non-Mindshielded",disabled:u,onClick:function(){return i("checkloyal")}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,checked:p,content:"Wanted Criminals",disabled:u,onClick:function(){return i("shootcriminals")}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,checked:V,content:"Cyborgs",disabled:u,onClick:function(){return i("shootborgs")}})]})],0)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortraitPicker=void 0;var o=n(0),r=n(51),a=n(2),c=n(1),i=n(3);t.PortraitPicker=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=(0,a.useLocalState)(t,"tabIndex",0),s=u[0],m=u[1],p=(0,a.useLocalState)(t,"listIndex",0),C=p[0],h=p[1],N=[{name:"Common Portraits",list:d.library},{name:"Secure Portraits",list:d.library_secure},{name:"Private Portraits",list:d.library_private}],V=N[s].list,b=V[C].title;return(0,o.createComponentVNode)(2,i.Window,{theme:"ntos",title:"Portrait Picker",width:400,height:406,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c.Flex,{height:"100%",direction:"column",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{mb:1,children:(0,o.createComponentVNode)(2,c.Section,{fitted:!0,children:(0,o.createComponentVNode)(2,c.Tabs,{fluid:!0,textAlign:"center",children:N.map((function(e,t){return(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:t===s,onClick:function(){h(0),m(t)},children:e.name},t)}))})})}),(0,o.createComponentVNode)(2,c.Flex.Item,{mb:1,grow:2,children:(0,o.createComponentVNode)(2,c.Section,{fill:!0,children:(0,o.createComponentVNode)(2,c.Flex,{height:"100%",align:"center",justify:"center",direction:"column",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createVNode)(1,"img",null,null,1,{src:(0,r.resolveAsset)(b),height:"96px",width:"96px",style:{"vertical-align":"middle","-ms-interpolation-mode":"nearest-neighbor"}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{className:"Section__titleText",children:b})]})})}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:[(0,o.createComponentVNode)(2,c.Flex,{children:(0,o.createComponentVNode)(2,c.Flex.Item,{grow:3,children:(0,o.createComponentVNode)(2,c.Section,{height:"100%",children:(0,o.createComponentVNode)(2,c.Flex,{justify:"space-between",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Button,{icon:"angle-double-left",disabled:0===C,onClick:function(){return h(0)}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:3,children:(0,o.createComponentVNode)(2,c.Button,{disabled:0===C,icon:"chevron-left",onClick:function(){return h(C-1)}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:3,children:(0,o.createComponentVNode)(2,c.Button,{icon:"check",content:"Select Portrait",onClick:function(){return l("select",{tab:s+1,selected:C+1})}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Button,{icon:"chevron-right",disabled:C===V.length-1,onClick:function(){return h(C+1)}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.Button,{icon:"angle-double-right",disabled:C===V.length-1,onClick:function(){return h(V.length-1)}})})]})})})}),(0,o.createComponentVNode)(2,c.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,c.NoticeBox,{info:!0,children:"Only the 23x23 or 24x24 canvas size art can be displayed. Make sure you read the warning below before embracing the wide wonderful world of artistic expression!"})}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.NoticeBox,{danger:!0,children:"WARNING: While Central Command loves art as much as you do, choosing erotic art will lead to severe consequences. Additionally, Central Command reserves the right to request you change your display portrait, for any reason."})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ProbingConsole=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.ProbingConsole=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.open,u=l.feedback,s=l.occupant,m=l.occupant_name,p=l.occupant_status;return(0,o.createComponentVNode)(2,c.Window,{width:330,height:207,theme:"abductor",children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Machine Report",children:u})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Scanner",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:d?"sign-out-alt":"sign-in-alt",content:d?"Close":"Open",onClick:function(){return i("door")}}),children:s&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:m}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:3===p?"bad":2===p?"average":"good",children:3===p?"Deceased":2===p?"Unconscious":"Conscious"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Experiments",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"thermometer",content:"Probe",onClick:function(){return i("experiment",{experiment_type:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"brain",content:"Dissect",onClick:function(){return i("experiment",{experiment_type:2})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"search",content:"Analyze",onClick:function(){return i("experiment",{experiment_type:3})}})]})]})||(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Subject"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ProximitySensor=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.ProximitySensor=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.minutes,u=l.seconds,s=l.timing,m=l.scanning,p=l.sensitivity;return(0,o.createComponentVNode)(2,c.Window,{width:250,height:185,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{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:m?"lock":"unlock",content:m?"Armed":"Not Armed",selected:m,onClick:function(){return i("scanning")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Detection Range",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:m,onClick:function(){return i("sense",{range:-1})}})," ",String(p).padStart(1,"1")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:m,onClick:function(){return i("sense",{range:1})}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Auto Arm",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:s?"Stop":"Start",selected:s,disabled:m,onClick:function(){return i("time")}}),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:m||s,onClick:function(){return i("input",{adjust:-30})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:m||s,onClick:function(){return i("input",{adjust:-1})}})," ",String(d).padStart(2,"0"),":",String(u).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:m||s,onClick:function(){return i("input",{adjust:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:m||s,onClick:function(){return i("input",{adjust:30})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Radio=void 0;var o=n(0),r=n(10),a=n(8),c=n(2),i=n(1),l=n(41),d=n(3);t.Radio=function(e,t){var n=(0,c.useBackend)(t),u=n.act,s=n.data,m=s.freqlock,p=s.frequency,C=s.minFrequency,h=s.maxFrequency,N=s.listening,V=s.broadcasting,b=s.command,f=s.useCommand,g=s.subspace,v=s.subspaceSwitchable,x=l.RADIO_CHANNELS.find((function(e){return e.freq===p})),k=(0,r.map)((function(e,t){return{name:t,status:!!e}}))(s.channels),B=106;return g&&(k.length>0?B+=21*k.length+6:B+=24),(0,o.createComponentVNode)(2,d.Window,{width:360,height:B,children:(0,o.createComponentVNode)(2,d.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Frequency",children:[m&&(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"light-gray",children:(0,a.toFixed)(p/10,1)+" kHz"})||(0,o.createComponentVNode)(2,i.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:10,minValue:C/10,maxValue:h/10,value:p/10,format:function(e){return(0,a.toFixed)(e,1)},onDrag:function(e,t){return u("frequency",{adjust:t-p/10})}}),x&&(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:x.color,ml:2,children:["[",x.name,"]"]})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Audio",children:[(0,o.createComponentVNode)(2,i.Button,{textAlign:"center",width:"37px",icon:N?"volume-up":"volume-mute",selected:N,onClick:function(){return u("listen")}}),(0,o.createComponentVNode)(2,i.Button,{textAlign:"center",width:"37px",icon:V?"microphone":"microphone-slash",selected:V,onClick:function(){return u("broadcast")}}),!!b&&(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:"bullhorn",selected:f,content:"High volume "+(f?"ON":"OFF"),onClick:function(){return u("command")}}),!!v&&(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:"bullhorn",selected:g,content:"Subspace Tx "+(g?"ON":"OFF"),onClick:function(){return u("subspace")}})]}),!!g&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Channels",children:[0===k.length&&(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"bad",children:"No encryption keys installed."}),k.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{icon:e.status?"check-square-o":"square-o",selected:e.status,content:e.name,onClick:function(){return u("channel",{channel:e.name})}})},e.name)}))]})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RadioactiveMicrolaser=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.RadioactiveMicrolaser=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.irradiate,u=l.stealth,s=l.scanmode,m=l.intensity,p=l.wavelength,C=l.on_cooldown,h=l.cooldown;return(0,o.createComponentVNode)(2,c.Window,{title:"Radioactive Microlaser",width:320,height:335,theme:"syndicate",children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laser Status",children:(0,o.createComponentVNode)(2,a.Box,{color:C?"average":"good",children:C?"Recharging":"Ready"})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Scanner Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Irradiation",children:(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",content:d?"On":"Off",selected:d,onClick:function(){return i("irradiate")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Stealth Mode",children:(0,o.createComponentVNode)(2,a.Button,{icon:u?"eye-slash":"eye",content:u?"On":"Off",disabled:!d,selected:u,onClick:function(){return i("stealth")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,a.Button,{icon:s?"mortar-pestle":"heartbeat",content:s?"Scan Reagents":"Scan Health",disabled:d&&u,onClick:function(){return i("scanmode")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Laser Settings",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Intensity",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return i("radintensity",{adjust:-5})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return i("radintensity",{adjust:-1})}})," ",(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(m),width:"40px",minValue:1,maxValue:20,onChange:function(e,t){return i("radintensity",{target:t})}})," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return i("radintensity",{adjust:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return i("radintensity",{adjust:5})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Wavelength",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return i("radwavelength",{adjust:-5})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return i("radwavelength",{adjust:-1})}})," ",(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(p),width:"40px",minValue:0,maxValue:120,onChange:function(e,t){return i("radwavelength",{target:t})}})," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return i("radwavelength",{adjust:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return i("radwavelength",{adjust:5})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laser Cooldown",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,children:h})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RapidPipeDispenser=void 0;var o=n(0),r=n(6),a=n(2),c=n(1),i=n(3),l=["Atmospherics","Disposals","Transit Tubes"],d={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"},s=[{name:"Dispense",bitmask:1},{name:"Connect",bitmask:2},{name:"Destroy",bitmask:4},{name:"Paint",bitmask:8}];t.RapidPipeDispenser=function(e,t){var n=(0,a.useBackend)(t),m=n.act,p=n.data,C=p.category,h=p.categories,N=void 0===h?[]:h,V=p.selected_color,b=p.piping_layer,f=p.mode,g=p.preview_rows.flatMap((function(e){return e.previews})),v=(0,a.useLocalState)(t,"categoryName"),x=v[0],k=v[1],B=N.find((function(e){return e.cat_name===x}))||N[0];return(0,o.createComponentVNode)(2,i.Window,{width:425,height:515,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Category",children:l.map((function(e,t){return(0,o.createComponentVNode)(2,c.Button,{selected:C===t,icon:d[e],color:"transparent",content:e,onClick:function(){return m("category",{category:t})}},e)}))}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Modes",children:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button.Checkbox,{checked:f&e.bitmask,content:e.name,onClick:function(){return m("mode",{mode:e.bitmask})}},e.bitmask)}))}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,c.Box,{inline:!0,width:"64px",color:u[V],children:V}),Object.keys(u).map((function(e){return(0,o.createComponentVNode)(2,c.ColorBox,{ml:1,color:u[e],onClick:function(){return m("color",{paint_color:e})}},e)}))]})]})}),(0,o.createComponentVNode)(2,c.Flex,{m:-.5,children:[(0,o.createComponentVNode)(2,c.Flex.Item,{m:.5,children:(0,o.createComponentVNode)(2,c.Section,{children:[0===C&&(0,o.createComponentVNode)(2,c.Box,{mb:1,children:[1,2,3,4,5].map((function(e){return(0,o.createComponentVNode)(2,c.Button.Checkbox,{fluid:!0,checked:e===b,content:"Layer "+e,onClick:function(){return m("piping_layer",{piping_layer:e})}},e)}))}),(0,o.createComponentVNode)(2,c.Box,{width:"108px",children:g.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{title:e.dir_name,selected:e.selected,style:{width:"48px",height:"48px",padding:0},onClick:function(){return m("setdir",{dir:e.dir,flipped:e.flipped})},children:(0,o.createComponentVNode)(2,c.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,c.Flex.Item,{m:.5,grow:1,children:(0,o.createComponentVNode)(2,c.Section,{children:[(0,o.createComponentVNode)(2,c.Tabs,{children:N.map((function(e,t){return(0,o.createComponentVNode)(2,c.Tabs.Tab,{fluid:!0,icon:d[e.cat_name],selected:e.cat_name===B.cat_name,onClick:function(){return k(e.cat_name)},children:e.cat_name},e.cat_name)}))}),null==B?void 0:B.recipes.map((function(e){return(0,o.createComponentVNode)(2,c.Button.Checkbox,{fluid:!0,ellipsis:!0,checked:e.selected,content:e.pipe_name,title:e.pipe_name,onClick:function(){return m("pipe_type",{pipe_type:e.pipe_index,category:B.cat_name})}},e.pipe_index)}))]})})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RemoteRobotControlContent=t.RemoteRobotControl=void 0;var o=n(0),r=n(17),a=n(2),c=n(1),i=n(3);t.RemoteRobotControl=function(e,t){return(0,o.createComponentVNode)(2,i.Window,{title:"Remote Robot Control",width:500,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,a.useBackend)(t),i=n.act,l=n.data.robots,d=void 0===l?[]:l;return d.length?d.map((function(e){return(0,o.createComponentVNode)(2,c.Section,{title:e.name+" ("+e.model+")",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:"tools",content:"Interface",onClick:function(){return i("interface",{ref:e.ref})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"phone-alt",content:"Call",onClick:function(){return i("callbot",{ref:e.ref})}})],4),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Status",children:[(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"Inactive"===(0,r.decodeHtmlEntities)(e.mode)?"bad":"Idle"===(0,r.decodeHtmlEntities)(e.mode)?"average":"good",children:(0,r.decodeHtmlEntities)(e.mode)})," ",e.hacked&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"bad",children:"(HACKED)"})||""]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Location",children:e.location})]})},e.ref)})):(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.NoticeBox,{textAlign:"center",children:"No robots detected"})})};t.RemoteRobotControlContent=l},function(e,t,n){"use strict";t.__esModule=!0,t.RoboticsControlConsole=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.RoboticsControlConsole=function(e,t){var n=(0,r.useBackend)(t),d=(n.act,n.data),u=(0,r.useSharedState)(t,"tab",1),s=u[0],m=u[1],p=d.can_hack,C=d.cyborgs,h=void 0===C?[]:C,N=d.drones,V=void 0===N?[]:N;return(0,o.createComponentVNode)(2,c.Window,{width:500,height:460,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"list",lineHeight:"23px",selected:1===s,onClick:function(){return m(1)},children:["Cyborgs (",h.length,")"]}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"list",lineHeight:"23px",selected:2===s,onClick:function(){return m(2)},children:["Drones (",V.length,")"]})]}),1===s&&(0,o.createComponentVNode)(2,i,{cyborgs:h,can_hack:p}),2===s&&(0,o.createComponentVNode)(2,l,{drones:V})]})})};var i=function(e,t){var n=e.cyborgs,c=e.can_hack,i=(0,r.useBackend)(t),l=i.act;i.data;return n.length?n.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,buttons:(0,o.createFragment)([!!c&&!e.emagged&&(0,o.createComponentVNode)(2,a.Button,{icon:"terminal",content:"Hack",color:"bad",onClick:function(){return l("magbot",{ref:e.ref})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:e.locked_down?"unlock":"lock",color:e.locked_down?"good":"default",content:e.locked_down?"Release":"Lockdown",onClick:function(){return l("stopbot",{ref:e.ref})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:"bomb",content:"Detonate",color:"bad",onClick:function(){return l("killbot",{ref:e.ref})}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:(0,o.createComponentVNode)(2,a.Box,{color:e.status?"bad":e.locked_down?"average":"good",children:e.status?"Not Responding":e.locked_down?"Locked Down":"Nominal"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge",children:(0,o.createComponentVNode)(2,a.Box,{color:e.charge<=30?"bad":e.charge<=70?"average":"good",children:"number"==typeof e.charge?e.charge+"%":"Not Found"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Module",children:e.module}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Master AI",children:(0,o.createComponentVNode)(2,a.Box,{color:e.synchronization?"default":"average",children:e.synchronization||"None"})})]})},e.ref)})):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No cyborg units detected within access parameters"})},l=function(e,t){var n=e.drones,c=(0,r.useBackend)(t).act;return n.length?n.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,buttons:(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:"bomb",content:"Detonate",color:"bad",onClick:function(){return c("killdrone",{ref:e.ref})}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:(0,o.createComponentVNode)(2,a.Box,{color:e.status?"bad":"good",children:e.status?"Not Responding":"Nominal"})})})},e.ref)})):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No drone units detected within access parameters"})}},function(e,t,n){"use strict";t.__esModule=!0,t.Roulette=t.RouletteBetTable=t.RouletteBoard=t.RouletteNumberButton=void 0;var o=n(0),r=n(6),a=n(2),c=n(1),i=n(3),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"},d=function(e,t){var n=e.number,r=(0,a.useBackend)(t).act;return(0,o.createComponentVNode)(2,c.Button,{bold:!0,content:n,color:l(n),width:"40px",height:"28px",fontSize:"20px",textAlign:"center",mb:0,className:"Roulette__board-extrabutton",onClick:function(){return r("ChangeBetType",{type:n})}})};t.RouletteNumberButton=d;var u=function(e,t){var n=(0,a.useBackend)(t).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,c.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,d,{number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,c.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,d,{number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,c.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,d,{number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,c.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,c.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,c.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,c.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,c.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,c.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,c.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,c.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,c.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,c.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=u;var s=function(e,t){var n=(0,a.useBackend)(t),i=n.act,d=n.data,u=(0,a.useLocalState)(t,"customBet",500),s=u[0],m=u[1],p=d.BetType;return p.startsWith("s")&&(p=p.substring(1,p.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(d.LastSpin)]),d.LastSpin,0),(0,o.createVNode)(1,"td",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--betscell"]),[(0,o.createComponentVNode)(2,c.Box,{bold:!0,mt:1,mb:1,fontSize:"25px",textAlign:"center",children:[d.BetAmount," cr on ",p]}),(0,o.createComponentVNode)(2,c.Box,{ml:1,mr:1,children:[(0,o.createComponentVNode)(2,c.Button,{fluid:!0,content:"Bet 10 cr",onClick:function(){return i("ChangeBetAmount",{amount:10})}}),(0,o.createComponentVNode)(2,c.Button,{fluid:!0,content:"Bet 50 cr",onClick:function(){return i("ChangeBetAmount",{amount:50})}}),(0,o.createComponentVNode)(2,c.Button,{fluid:!0,content:"Bet 100 cr",onClick:function(){return i("ChangeBetAmount",{amount:100})}}),(0,o.createComponentVNode)(2,c.Button,{fluid:!0,content:"Bet 500 cr",onClick:function(){return i("ChangeBetAmount",{amount:500})}}),(0,o.createComponentVNode)(2,c.Grid,{children:[(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.Button,{fluid:!0,content:"Bet custom amount...",onClick:function(){return i("ChangeBetAmount",{amount:s})}})}),(0,o.createComponentVNode)(2,c.Grid.Column,{size:.1,children:(0,o.createComponentVNode)(2,c.NumberInput,{value:s,minValue:0,maxValue:1e3,step:10,stepPixelSize:4,width:"40px",onChange:function(e,t){return m(t)}})})]})]})],4)],4),(0,o.createVNode)(1,"tr",null,(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,c.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,c.Box,{inline:!0,bold:!0,mr:1,children:"House Balance:"}),(0,o.createComponentVNode)(2,c.Box,{inline:!0,children:d.HouseBalance?d.HouseBalance+" cr":"None"})],4),(0,o.createVNode)(1,"td","Roulette__lowertable--cell",(0,o.createComponentVNode)(2,c.Button,{fluid:!0,content:d.IsAnchored?"Bolted":"Unbolted",m:1,color:"transparent",textAlign:"center",onClick:function(){return i("anchor")}}),2)],4)],4)};t.RouletteBetTable=s;t.Roulette=function(e,t){return(0,o.createComponentVNode)(2,i.Window,{width:603,height:475,theme:"cardtable",children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,u),(0,o.createComponentVNode)(2,s)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Safe=void 0;var o=n(0),r=n(51),a=n(2),c=n(1),i=n(3);t.Safe=function(e,t){var n=(0,a.useBackend)(t),s=(n.act,n.data),m=s.dial,p=s.open;return(0,o.createComponentVNode)(2,i.Window,{width:625,height:800,theme:"ntos",children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,c.Box,{className:"Safe__engraving",children:[(0,o.createComponentVNode)(2,l),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.Box,{className:"Safe__engraving-hinge",top:"25%"}),(0,o.createComponentVNode)(2,c.Box,{className:"Safe__engraving-hinge",top:"75%"})]}),(0,o.createComponentVNode)(2,c.Icon,{className:"Safe__engraving-arrow",name:"long-arrow-alt-down",size:"5"}),(0,o.createVNode)(1,"br"),p?(0,o.createComponentVNode)(2,d):(0,o.createComponentVNode)(2,c.Box,{as:"img",className:"Safe__dial",src:(0,r.resolveAsset)("safe_dial.png"),style:{transform:"rotate(-"+3.6*m+"deg)"}})]}),!p&&(0,o.createComponentVNode)(2,u)]})})};var l=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.dial,d=i.open,u=i.locked,s=i.broken,m=function(e,t){return(0,o.createComponentVNode)(2,c.Button,{disabled:d||t&&!u||s,icon:"arrow-"+(t?"right":"left"),content:(t?"Right":"Left")+" "+e,iconPosition:t?"right":"left",onClick:function(){return r(t?"turnleft":"turnright",{num:e})}})};return(0,o.createComponentVNode)(2,c.Box,{className:"Safe__dialer",children:[(0,o.createComponentVNode)(2,c.Button,{disabled:u&&!s,icon:d?"lock":"lock-open",content:d?"Close":"Open",mb:"0.5rem",onClick:function(){return r("open")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,c.Box,{position:"absolute",children:[m(50),m(10),m(1)]}),(0,o.createComponentVNode)(2,c.Box,{className:"Safe__dialer-right",position:"absolute",right:"5px",children:[m(1,!0),m(10,!0),m(50,!0)]}),(0,o.createComponentVNode)(2,c.Box,{className:"Safe__dialer-number",children:l})]})},d=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data.contents;return(0,o.createComponentVNode)(2,c.Box,{className:"Safe__contents",overflow:"auto",children:i.map((function(e,t){return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{mb:"0.5rem",onClick:function(){return r("retrieve",{index:t+1})},children:[(0,o.createComponentVNode)(2,c.Box,{as:"img",src:e.sprite+".png",verticalAlign:"middle",ml:"-6px",mr:"0.5rem"}),e.name]}),(0,o.createVNode)(1,"br")],4,e)}))})},u=function(e,t){return(0,o.createComponentVNode)(2,c.Section,{className:"Safe__help",title:"Safe opening instructions (because you all keep forgetting)",children:[(0,o.createComponentVNode)(2,c.Box,{children:["1. Turn the dial left to the first number.",(0,o.createVNode)(1,"br"),"2. Turn the dial right to the second number.",(0,o.createVNode)(1,"br"),"3. Continue repeating this process for each number, switching between left and right each time.",(0,o.createVNode)(1,"br"),"4. Open the safe."]}),(0,o.createComponentVNode)(2,c.Box,{bold:!0,children:"To lock fully, turn the dial to the left after closing the safe."})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SatelliteControl=void 0;var o=n(0),r=n(2),a=n(1),c=n(199),i=n(3);t.SatelliteControl=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.satellites||[];return(0,o.createComponentVNode)(2,i.Window,{width:400,height:305,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[d.meteor_shield&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,c.LabeledListItem,{label:"Coverage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.meteor_shield_coverage/d.meteor_shield_coverage_max,content:100*d.meteor_shield_coverage/d.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:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.active,content:"#"+e.id+" "+e.mode,onClick:function(){return l("toggle",{id:e.id})}},e.id)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ScannerGate=void 0;var o=n(0),r=n(2),a=n(1),c=n(65),i=n(3),l=["Positive","Harmless","Minor","Medium","Harmful","Dangerous","BIOHAZARD"],d=[{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,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data;return(0,o.createComponentVNode)(2,i.Window,{width:400,height:300,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.InterfaceLockNoticeBox,{onLockedStatusChange:function(){return a("toggle_lock")}}),!l.locked&&(0,o.createComponentVNode)(2,m)]})})};var s={Off:{title:"Scanner Mode: Off",component:function(){return p}},Wanted:{title:"Scanner Mode: Wanted",component:function(){return C}},Guns:{title:"Scanner Mode: Guns",component:function(){return h}},Mindshield:{title:"Scanner Mode: Mindshield",component:function(){return N}},Disease:{title:"Scanner Mode: Disease",component:function(){return V}},Species:{title:"Scanner Mode: Species",component:function(){return b}},Nutrition:{title:"Scanner Mode: Nutrition",component:function(){return f}},Nanites:{title:"Scanner Mode: Nanites",component:function(){return g}}},m=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data.scan_mode,l=s[i]||s.off,d=l.component();return(0,o.createComponentVNode)(2,a.Section,{title:l.title,buttons:"Off"!==i&&(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"back",onClick:function(){return c("set_mode",{new_mode:"Off"})}}),children:(0,o.createComponentVNode)(2,d)})},p=function(e,t){var n=(0,r.useBackend)(t).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 n("set_mode",{new_mode:"Wanted"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Guns",onClick:function(){return n("set_mode",{new_mode:"Guns"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Mindshield",onClick:function(){return n("set_mode",{new_mode:"Mindshield"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Disease",onClick:function(){return n("set_mode",{new_mode:"Disease"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Species",onClick:function(){return n("set_mode",{new_mode:"Species"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nutrition",onClick:function(){return n("set_mode",{new_mode:"Nutrition"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nanites",onClick:function(){return n("set_mode",{new_mode:"Nanites"})}})]})],4)},C=function(e,t){var n=(0,r.useBackend)(t).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)],4)},h=function(e,t){var n=(0,r.useBackend)(t).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)],4)},N=function(e,t){var n=(0,r.useBackend)(t).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)],4)},V=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,d=i.reverse,u=i.disease_threshold;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",d?"does not have":"has"," ","a disease equal or worse than ",u,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e===u,content:e,onClick:function(){return c("set_disease_threshold",{new_threshold:e})}},e)}))}),(0,o.createComponentVNode)(2,v)],4)},b=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.reverse,u=i.target_species,s=d.find((function(e){return e.value===u}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned is ",l?"not":""," ","of the ",s.name," species.","zombie"===u&&" All zombie types will be detected, including dormant zombies."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===u,content:e.name,onClick:function(){return c("set_target_species",{new_species:e.value})}},e.value)}))}),(0,o.createComponentVNode)(2,v)],4)},f=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.reverse,d=i.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 c("set_target_nutrition",{new_nutrition:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,v)],4)},g=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.reverse,d=i.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 ",d,"."]}),(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:d,width:"65px",minValue:1,maxValue:100,stepPixelSize:2,onChange:function(e,t){return c("set_nanite_cloud",{new_cloud:t})}})})})}),(0,o.createComponentVNode)(2,v)],4)},v=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.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 c("toggle_reverse")},color:i?"bad":"good"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SeedExtractor=void 0;var o=n(0),r=n(10),a=n(24),c=n(17),i=n(2),l=n(1),d=n(3);t.SeedExtractor=function(e,t){var n,u,s=(0,i.useBackend)(t),m=s.act,p=s.data,C=(n=p.seeds,u=Object.keys(n).map((function(e){var t=function(e){var t,n=/([^;=]+)=([^;]+)/g,o={};do{(t=n.exec(e))&&(o[t[1]]=t[2]+"")}while(t);return o}(e);return t.amount=n[e],t.key=e,t.name=(0,c.toTitleCase)(t.name.replace("pack of ","")),t})),(0,a.flow)([(0,r.sortBy)((function(e){return e.name}))])(u));return(0,o.createComponentVNode)(2,d.Window,{width:1e3,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,d.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l.Section,{title:"Stored seeds:",children:(0,o.createComponentVNode)(2,l.Table,{cellpadding:"3",textAlign:"center",children:[(0,o.createComponentVNode)(2,l.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Name"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Lifespan"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Endurance"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Maturation"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Production"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Yield"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Potency"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Instability"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Stock"})]}),C.map((function(e){return(0,o.createComponentVNode)(2,l.Table.Row,{children:[(0,o.createComponentVNode)(2,l.Table.Cell,{bold:!0,children:e.name}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.lifespan}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.endurance}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.maturation}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.production}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.yield}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.potency}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.instability}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:[(0,o.createComponentVNode)(2,l.Button,{content:"Vend",onClick:function(){return m("select",{item:e.key})}}),"(",e.amount," left)"]})]},e.key)}))]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleConsole=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.ShuttleConsole=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data.authorization_required;return(0,o.createComponentVNode)(2,c.Window,{width:350,height:230,children:[!!l&&(0,o.createComponentVNode)(2,a.Modal,{ml:1,mt:1,width:26,height:12,fontSize:"28px",fontFamily:"monospace",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{mt:2,children:(0,o.createComponentVNode)(2,a.Icon,{name:"minus-circle"})}),(0,o.createComponentVNode)(2,a.Flex.Item,{mt:2,ml:2,color:"bad",children:"SHUTTLE LOCKED"})]}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"18px",mt:4,children:(0,o.createComponentVNode)(2,a.Button,{lineHeight:"40px",icon:"arrow-circle-right",content:"Request Authorization",color:"bad",onClick:function(){return i("request")}})})]}),(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,u)})]})};var i=function(e,t){var n;return null==e||null==(n=e.find((function(e){return e.id===t})))?void 0:n.name},l=function(e,t){var n;return null==e||null==(n=e.find((function(e){return e.name===t})))?void 0:n.id},d={"In Transit":"good",Idle:"average",Igniting:"average",Recharging:"average",Missing:"bad","Unauthorized Access":"bad",Locked:"bad"},u=function(e,t){var n=(0,r.useBackend)(t),c=n.act,u=n.data,s=u.status,m=u.locked,p=u.authorization_required,C=u.destination,h=u.docked_location,N=u.timer_str,V=u.locations,b=void 0===V?[]:V;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,fontSize:"26px",textAlign:"center",fontFamily:"monospace",children:N||"00:00"}),(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",fontSize:"14px",mb:1,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,children:"STATUS:"}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:d[s]||"bad",ml:1,children:s||"Not Available"})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Shuttle Controls",level:2,children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:h||"Not Available"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destination",children:0===b.length&&(0,o.createComponentVNode)(2,a.Box,{mb:1.7,color:"bad",children:"Not Available"})||1===b.length&&(0,o.createComponentVNode)(2,a.Box,{mb:1.7,color:"average",children:i(b,C)})||(0,o.createComponentVNode)(2,a.Dropdown,{mb:1.7,over:!0,width:"240px",options:b.map((function(e){return e.name})),disabled:m||p,selected:i(b,C)||"Select a Destination",onSelected:function(e){return c("set_destination",{destination:l(b,e)})}})})]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Depart",disabled:!i(b,C)||m||p,icon:"arrow-up",textAlign:"center",onClick:function(){return c("move",{shuttle_id:C})}})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleManipulatorModification=t.ShuttleManipulatorTemplates=t.ShuttleManipulatorStatus=t.ShuttleManipulator=void 0;var o=n(0),r=n(10),a=n(2),c=n(1),i=n(3);t.ShuttleManipulator=function(e,t){var n=(0,a.useLocalState)(t,"tab",1),r=n[0],s=n[1];return(0,o.createComponentVNode)(2,i.Window,{title:"Shuttle Manipulator",width:800,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Tabs,{children:[(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:1===r,onClick:function(){return s(1)},children:"Status"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:2===r,onClick:function(){return s(2)},children:"Templates"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:3===r,onClick:function(){return s(3)},children:"Modification"})]}),1===r&&(0,o.createComponentVNode)(2,l),2===r&&(0,o.createComponentVNode)(2,d),3===r&&(0,o.createComponentVNode)(2,u)]})})};var l=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data.shuttles||[];return(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.Table,{children:i.map((function(e){return(0,o.createComponentVNode)(2,c.Table.Row,{children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:(0,o.createComponentVNode)(2,c.Button,{content:"JMP",onClick:function(){return r("jump_to",{type:"mobile",id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:(0,o.createComponentVNode)(2,c.Button,{content:"Fly",disabled:!e.can_fly,onClick:function(){return r("fly",{id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:e.id}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:e.status}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:[e.mode,!!e.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),e.timeleft,(0,o.createTextVNode)(")"),(0,o.createComponentVNode)(2,c.Button,{content:"Fast Travel",disabled:!e.can_fast_travel,onClick:function(){return r("fast_travel",{id:e.id})}},e.id)],0)]})]},e.id)}))})})};t.ShuttleManipulatorStatus=l;var d=function(e,t){var n,i=(0,a.useBackend)(t),l=i.act,d=i.data,u=d.templates||{},s=d.selected||{},m=(0,a.useLocalState)(t,"templateId",Object.keys(u)[0]),p=m[0],C=m[1],h=(null==(n=u[p])?void 0:n.templates)||[];return(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.Flex,{children:[(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.Tabs,{vertical:!0,children:(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:p===t,onClick:function(){return C(t)},children:e.port_id},t)}))(u)})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,basis:0,children:h.map((function(e){var t=e.shuttle_id===s.shuttle_id;return(0,o.createComponentVNode)(2,c.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,c.Button,{content:t?"Selected":"Select",selected:t,onClick:function(){return l("select_template",{shuttle_id:e.shuttle_id})}}),children:(!!e.description||!!e.admin_notes)&&(0,o.createComponentVNode)(2,c.LabeledList,{children:[!!e.description&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Description",children:e.description}),!!e.admin_notes&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Admin Notes",children:e.admin_notes})]})},e.shuttle_id)}))})]})})};t.ShuttleManipulatorTemplates=d;var u=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.selected||{},d=i.existing_shuttle||{};return(0,o.createComponentVNode)(2,c.Section,{children:l?(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{level:2,title:l.name,children:(!!l.description||!!l.admin_notes)&&(0,o.createComponentVNode)(2,c.LabeledList,{children:[!!l.description&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Description",children:l.description}),!!l.admin_notes&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Admin Notes",children:l.admin_notes})]})}),d?(0,o.createComponentVNode)(2,c.Section,{level:2,title:"Existing Shuttle: "+d.name,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Status",buttons:(0,o.createComponentVNode)(2,c.Button,{content:"Jump To",onClick:function(){return r("jump_to",{type:"mobile",id:d.id})}}),children:[d.status,!!d.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),d.timeleft,(0,o.createTextVNode)(")")],0)]})})}):(0,o.createComponentVNode)(2,c.Section,{level:2,title:"Existing Shuttle: None"}),(0,o.createComponentVNode)(2,c.Section,{level:2,title:"Status",children:[(0,o.createComponentVNode)(2,c.Button,{content:"Load",color:"good",onClick:function(){return r("load",{shuttle_id:l.shuttle_id})}}),(0,o.createComponentVNode)(2,c.Button,{content:"Preview",onClick:function(){return r("preview",{shuttle_id:l.shuttle_id})}}),(0,o.createComponentVNode)(2,c.Button,{content:"Replace",color:"bad",onClick:function(){return r("replace",{shuttle_id:l.shuttle_id})}})]})],0):"No shuttle selected"})};t.ShuttleManipulatorModification=u},function(e,t,n){"use strict";t.__esModule=!0,t.Signaler=void 0;var o=n(0),r=n(8),a=n(2),c=n(1),i=n(3);t.Signaler=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.code,s=d.frequency,m=d.minFrequency,p=d.maxFrequency;return(0,o.createComponentVNode)(2,i.Window,{width:280,height:132,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c.Section,{children:[(0,o.createComponentVNode)(2,c.Grid,{children:[(0,o.createComponentVNode)(2,c.Grid.Column,{size:1.4,color:"label",children:"Frequency:"}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:m/10,maxValue:p/10,value:s/10,format:function(e){return(0,r.toFixed)(e,1)},width:"80px",onDrag:function(e,t){return l("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return l("reset",{reset:"freq"})}})})]}),(0,o.createComponentVNode)(2,c.Grid,{mt:.6,children:[(0,o.createComponentVNode)(2,c.Grid.Column,{size:1.4,color:"label",children:"Code:"}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:u,width:"80px",onDrag:function(e,t){return l("code",{code:t})}})}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return l("reset",{reset:"code"})}})})]}),(0,o.createComponentVNode)(2,c.Grid,{mt:.8,children:(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.Button,{mb:-.1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){return l("signal")}})})})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SkillPanel=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i={color:"lightgreen",fontWeight:"bold"},l={color:"#FFDB58",fontWeight:"bold"};t.SkillPanel=function(e,t){var n=(0,r.useBackend)(t),u=n.act,s=n.data.skills||[];return(0,o.createComponentVNode)(2,c.Window,{title:"Manage Skills",width:600,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{title:s.playername,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[(0,o.createVNode)(1,"span",null,e.desc,0,{style:l}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,d,{skill_lvl_num:e.lvlnum,skill_lvl:e.lvl}),(0,o.createVNode)(1,"br"),"Total Experience: [",e.exp," XP]",(0,o.createVNode)(1,"br"),"XP To Next Level:\xa0",0!==e.exp_req?(0,o.createVNode)(1,"span",null,[(0,o.createTextVNode)("["),e.exp_prog,(0,o.createTextVNode)(" / "),e.exp_req,(0,o.createTextVNode)("]")],0):(0,o.createVNode)(1,"span",null,"[MAXXED]",16,{style:i}),(0,o.createVNode)(1,"br"),"Overall Skill Progress: [",e.exp," / ",e.max_exp,"]",(0,o.createComponentVNode)(2,a.ProgressBar,{value:e.exp_percent,color:"good"}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{content:"Adjust Exp",onClick:function(){return u("adj_exp",{skill:e.path})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Set Exp",onClick:function(){return u("set_exp",{skill:e.path})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Set Level",onClick:function(){return u("set_lvl",{skill:e.path})}}),(0,o.createVNode)(1,"br"),(0,o.createVNode)(1,"br")]},e.name)}))})})})})};var d=function(e){var t=e.skill_lvl_num,n=e.skill_lvl;return(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:["Level: [",(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,textColor:"hsl("+50*t+", 50%, 50%)",children:n}),"]"]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SkillStation=t.TimeFormat=t.ImplantedSkillchips=t.InsertedSkillchip=void 0;var o=n(0),r=n(8),a=n(2),c=n(1),i=n(3),l=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.skillchip_ready,d=i.slot_use,u=i.slots_used,s=i.slots_max,m=i.implantable_reason,p=i.implantable,C=i.complexity,h=i.skill_name,N=i.skill_desc,V=i.skill_icon,b=i.working;return l?(0,o.createComponentVNode)(2,c.Section,{title:"Inserted Skillchip",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:"syringe",disabled:!p||!!b,color:p?"good":"default",onClick:function(){return r("implant")},content:"Implant",tooltip:m}),(0,o.createComponentVNode)(2,c.Button,{icon:"eject",disabled:!!b,onClick:function(){return r("eject")},content:"Eject"})],4),children:(0,o.createComponentVNode)(2,c.Flex,{spacing:2,height:"100%",width:"100%",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{height:"100%",align:"center",children:(0,o.createComponentVNode)(2,c.Icon,{size:3,name:V})}),(0,o.createComponentVNode)(2,c.Flex.Item,{width:"100%",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Skillchip",children:(0,o.createComponentVNode)(2,c.Box,{bold:!0,children:h})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Description",children:(0,o.createComponentVNode)(2,c.Box,{italic:!0,children:N})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Complexity",children:[(0,o.createComponentVNode)(2,c.Icon,{name:"brain",width:"15px",textAlign:"center"})," ",C]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Slot Size",children:(0,o.createComponentVNode)(2,c.Box,{color:u+d>s&&"red",children:[(0,o.createComponentVNode)(2,c.Icon,{name:"save",width:"15px",textAlign:"center"})," ",d]})}),!!m&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Error",color:p?"good":"bad",children:m})]})})]})}):!b&&(0,o.createComponentVNode)(2,c.NoticeBox,{info:!0,children:"Please insert a skillchip."})};t.InsertedSkillchip=l;var d=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.slots_used,d=i.slots_max,u=i.complexity_used,s=i.complexity_max,m=i.working,p=i.current||[];return(0,o.createComponentVNode)(2,c.Section,{title:"Implanted Skillchips",children:[!p.length&&"No skillchips detected.",!!p.length&&(0,o.createComponentVNode)(2,c.Table,{children:[(0,o.createComponentVNode)(2,c.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:"Chip"}),(0,o.createComponentVNode)(2,c.Table.Cell,{textAlign:"center",children:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"brain",tooltip:"Complexity",tooltipPosition:"top",content:u+"/"+s})}),(0,o.createComponentVNode)(2,c.Table.Cell,{textAlign:"center",children:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"save",tooltip:"Slot Size",tooltipPosition:"top",content:l+"/"+d})}),(0,o.createComponentVNode)(2,c.Table.Cell,{textAlign:"center",children:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"check",tooltip:"Is Active",tooltipPosition:"top"})}),(0,o.createComponentVNode)(2,c.Table.Cell,{textAlign:"center",children:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"hourglass-half",tooltip:"Cooldown",tooltipPosition:"top"})}),(0,o.createComponentVNode)(2,c.Table.Cell,{textAlign:"center",children:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"tasks",tooltip:"Actions",tooltipPosition:"top"})})]}),p.map((function(e){return(0,o.createComponentVNode)(2,c.Table.Row,{children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:[(0,o.createComponentVNode)(2,c.Icon,{textAlign:"center",width:"18px",mr:1,name:e.icon}),e.name]}),(0,o.createComponentVNode)(2,c.Table.Cell,{bold:!0,color:(!e.active?e.complexity+u>s&&"bad":"good")||"grey",textAlign:"center",children:e.complexity}),(0,o.createComponentVNode)(2,c.Table.Cell,{bold:!0,color:"good",textAlign:"center",children:e.slot_use}),(0,o.createComponentVNode)(2,c.Table.Cell,{textAlign:"center",children:(0,o.createComponentVNode)(2,c.Icon,{name:e.active?"check":"times",color:e.active?"good":"bad"})}),(0,o.createComponentVNode)(2,c.Table.Cell,{textAlign:"center",children:e.cooldown>0&&Math.ceil(e.cooldown/10)+"s"||"0s"}),(0,o.createComponentVNode)(2,c.Table.Cell,{textAlign:"center",children:[(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return r("remove",{ref:e.ref})},icon:e.removable?"eject":"trash",color:e.removable?"good":"bad",tooltip:e.removable?"Extract":"Destroy",tooltipPosition:"left",disabled:e.cooldown||m}),(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return r("toggle_activate",{ref:e.ref})},icon:e.active?"check-square-o":"square-o",color:e.active?"good":"default",tooltip:!!e.active_error&&!e.active&&e.active_error||e.active&&"Deactivate"||"Activate",tooltipPosition:"left",disabled:e.cooldown||m||!e.active&&e.complexity+u>s})]})]},e.ref)}))]})]})};t.ImplantedSkillchips=d;var u=function(e,t){var n=e.value,o=(0,r.toFixed)(Math.floor(n/10%60)).padStart(2,"0"),a=(0,r.toFixed)(Math.floor(n/600%60)).padStart(2,"0");return(0,r.toFixed)(Math.floor(n/36e3%24)).padStart(2,"0")+":"+a+":"+o};t.TimeFormat=u;t.SkillStation=function(e,t){var n=(0,a.useBackend)(t).data,r=n.working,s=n.timeleft,m=n.error;return(0,o.createComponentVNode)(2,i.Window,{title:"Skillsoft Station",width:500,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[!!m&&(0,o.createComponentVNode)(2,c.NoticeBox,{children:m}),!!r&&(0,o.createComponentVNode)(2,c.NoticeBox,{danger:!0,children:(0,o.createComponentVNode)(2,c.Flex,{direction:"column",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{mb:.5,children:"Operation in progress. Please do not leave the chamber."}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:["Time Left: ",(0,o.createComponentVNode)(2,u,{value:s})]})]})}),(0,o.createComponentVNode)(2,l),(0,o.createComponentVNode)(2,d)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Sleeper=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Oxygen",type:"oxyLoss"}];t.Sleeper=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.open,s=d.occupant,m=void 0===s?{}:s,p=d.occupied,C=(d.chems||[]).sort((function(e,t){var n=e.name.toLowerCase(),o=t.name.toLowerCase();return no?1:0}));return(0,o.createComponentVNode)(2,c.Window,{width:310,height:465,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:m.name?m.name:"No Occupant",minHeight:"210px",buttons:!!m.stat&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:m.statstate,children:m.stat}),children:!!p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.ProgressBar,{value:m.health,minValue:m.minHealth,maxValue:m.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:[i.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],minValue:0,maxValue:m.maxHealth,color:"bad"})},e.type)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cells",color:m.cloneLoss?"bad":"good",children:m.cloneLoss?"Damaged":"Healthy"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain",color:m.brainLoss?"bad":"good",children:m.brainLoss?"Abnormal":"Healthy"})]})],4)}),(0,o.createComponentVNode)(2,a.Section,{title:"Medicines",minHeight:"205px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"door-open":"door-closed",content:u?"Open":"Closed",onClick:function(){return l("door")}}),children:C.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:"flask",content:e.name,disabled:!p||!e.allowed,width:"140px",onClick:function(){return l("inject",{chem:e.id})}},e.name)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SlimeBodySwapper=t.BodyEntry=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i={Dead:"bad",Unconscious:"average",Conscious:"good"},l={owner:"You Are Here",stranger:"Occupied",available:"Swap"},d=function(e,t){var n=e.body,r=e.swapFunc;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:n.htmlcolor,children:n.name}),level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{content:l[n.occupied],selected:"owner"===n.occupied,color:"stranger"===n.occupied&&"bad",onClick:function(){return r()}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",bold:!0,color:i[n.status],children:n.status}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Jelly",children:n.exoticblood}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:n.area})]})})};t.BodyEntry=d;t.SlimeBodySwapper=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data.bodies,u=void 0===l?[]:l;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:400,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{children:u.map((function(e){return(0,o.createComponentVNode)(2,d,{body:e,swapFunc:function(){return i("swap",{ref:e.ref})}},e.name)}))})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmartVend=void 0;var o=n(0),r=n(10),a=n(2),c=n(1),i=n(3);t.SmartVend=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data;return(0,o.createComponentVNode)(2,i.Window,{width:440,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c.Section,{title:"Storage",buttons:!!d.isdryer&&(0,o.createComponentVNode)(2,c.Button,{icon:d.drying?"stop":"tint",onClick:function(){return l("Dry")},children:d.drying?"Stop drying":"Dry"}),children:0===d.contents.length&&(0,o.createComponentVNode)(2,c.NoticeBox,{children:["Unfortunately, this ",d.name," is empty."]})||(0,o.createComponentVNode)(2,c.Table,{children:[(0,o.createComponentVNode)(2,c.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:"Item"}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"center",children:d.verb?d.verb:"Dispense"})]}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,c.Table.Row,{children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"right",children:e.amount}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,c.Button,{content:"One",disabled:e.amount<1,onClick:function(){return l("Release",{name:e.name,amount:1})}}),(0,o.createComponentVNode)(2,c.Button,{content:"Many",disabled:e.amount<=1,onClick:function(){return l("Release",{name:e.name})}})]})]},t)}))(d.contents)]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Smes=void 0;var o=n(0),r=n(2),a=n(1),c=n(42),i=n(3),l=1e3;t.Smes=function(e,t){var n=(0,r.useBackend)(t),d=n.act,u=n.data,s=u.capacityPercent,m=(u.capacity,u.charge),p=u.inputAttempt,C=u.inputting,h=u.inputLevel,N=u.inputLevelMax,V=u.inputAvailable,b=u.outputAttempt,f=u.outputting,g=u.outputLevel,v=u.outputLevelMax,x=u.outputUsed,k=(s>=100?"good":C&&"average")||"bad",B=(f?"good":m>0&&"average")||"bad";return(0,o.createComponentVNode)(2,i.Window,{width:340,height:350,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Stored Energy",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:.01*s,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:p?"sync-alt":"times",selected:p,onClick:function(){return d("tryinput")},children:p?"Auto":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:k,children:(s>=100?"Fully Charged":C&&"Charging")||"Not Charging"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Input",children:(0,o.createComponentVNode)(2,a.Flex,{inline:!0,width:"100%",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===h,onClick:function(){return d("input",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===h,onClick:function(){return d("input",{adjust:-1e4})}})]}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,mx:1,children:(0,o.createComponentVNode)(2,a.Slider,{value:h/l,fillValue:V/l,minValue:0,maxValue:N/l,step:5,stepPixelSize:4,format:function(e){return(0,c.formatPower)(e*l,1)},onDrag:function(e,t){return d("input",{target:t*l})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:h===N,onClick:function(){return d("input",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:h===N,onClick:function(){return d("input",{target:"max"})}})]})]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Available",children:(0,c.formatPower)(V)})]})}),(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:b?"power-off":"times",selected:b,onClick:function(){return d("tryoutput")},children:b?"On":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:B,children:f?"Sending":m>0?"Not Sending":"No Charge"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Output",children:(0,o.createComponentVNode)(2,a.Flex,{inline:!0,width:"100%",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===g,onClick:function(){return d("output",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===g,onClick:function(){return d("output",{adjust:-1e4})}})]}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,mx:1,children:(0,o.createComponentVNode)(2,a.Slider,{value:g/l,minValue:0,maxValue:v/l,step:5,stepPixelSize:4,format:function(e){return(0,c.formatPower)(e*l,1)},onDrag:function(e,t){return d("output",{target:t*l})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:g===v,onClick:function(){return d("output",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:g===v,onClick:function(){return d("output",{target:"max"})}})]})]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Outputting",children:(0,c.formatPower)(x)})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmokeMachine=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.SmokeMachine=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.TankContents,u=(l.isTankLoaded,l.TankCurrentVolume),s=l.TankMaxVolume,m=l.active,p=l.setting,C=(l.screen,l.maxSetting),h=void 0===C?[]:C;return(0,o.createComponentVNode)(2,c.Window,{width:350,height:350,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Dispersal Tank",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:m?"power-off":"times",selected:m,content:m?"On":"Off",onClick:function(){return i("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:u/s,ranges:{bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{initial:0,value:u||0})," / "+s]}),(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:p===e,icon:"plus",content:3*e,disabled:h0?"good":"bad",children:h})]})}),(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:u,children:d+" 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===C,onClick:function(){return i("tracking",{mode:0})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:"Timed",selected:1===C,onClick:function(){return i("tracking",{mode:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:2===C,disabled:!N,onClick:function(){return i("tracking",{mode:2})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Azimuth",children:[(0===C||1===C)&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"52px",unit:"\xb0",step:1,stepPixelSize:2,minValue:-360,maxValue:720,value:s,onDrag:function(e,t){return i("azimuth",{value:t})}}),1===C&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"80px",unit:"\xb0/m",step:.01,stepPixelSize:1,minValue:-p-.01,maxValue:p+.01,value:m,format:function(e){return(Math.sign(e)>0?"+":"-")+Math.abs(e)},onDrag:function(e,t){return i("azimuth_rate",{value:t})}}),2===C&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mt:"3px",children:[s+" \xb0"," (auto)"]})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SpaceHeater=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.SpaceHeater=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:305,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Power",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Cell",disabled:!l.hasPowercell||!l.open,onClick:function(){return i("eject")}}),(0,o.createComponentVNode)(2,a.Button,{icon:l.on?"power-off":"times",content:l.on?"On":"Off",selected:l.on,disabled:!l.hasPowercell,onClick:function(){return i("power")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell",color:!l.hasPowercell&&"bad",children:l.hasPowercell&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.powerLevel/100,ranges:{good:[.6,Infinity],average:[.3,.6],bad:[-Infinity,.3]},children:l.powerLevel+"%"})||"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(l.targetTemp-l.currentTemp)>50?"bad":Math.abs(l.targetTemp-l.currentTemp)>20?"average":"good",children:[l.currentTemp,"\xb0C"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:l.open&&(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(l.targetTemp),width:"65px",unit:"\xb0C",minValue:l.minTemp,maxValue:l.maxTemp,onChange:function(e,t){return i("target",{target:t})}})||l.targetTemp+"\xb0C"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",children:l.open?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"thermometer-half",content:"Auto",selected:"auto"===l.mode,onClick:function(){return i("mode",{mode:"auto"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fire-alt",content:"Heat",selected:"heat"===l.mode,onClick:function(){return i("mode",{mode:"heat"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fan",content:"Cool",selected:"cool"===l.mode,onClick:function(){return i("mode",{mode:"cool"})}})],4):"Auto"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider)]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SpawnersMenu=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.SpawnersMenu=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data.spawners||[];return(0,o.createComponentVNode)(2,c.Window,{title:"Spawners Menu",width:700,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{children:l.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 i("jump",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Spawn",onClick:function(){return i("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.Stack=void 0;var o=n(0),r=n(17),a=n(10),c=n(2),i=n(1),l=n(3);t.Stack=function(e,t){var n=(0,c.useBackend)(t),a=(n.act,n.data),u=a.amount,s=a.recipes,m=void 0===s?[]:s,p=(0,c.useLocalState)(t,"searchText",""),C=p[0],h=p[1],N=(0,r.createSearch)(C,(function(e){return e})),V=C.length>0&&Object.keys(m).filter(N).reduce((function(e,t){return e[t]=m[t],e}),{})||m,b=Math.max(94+26*Object.keys(m).length,250);return(0,o.createComponentVNode)(2,l.Window,{width:400,height:Math.min(b,500),resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{title:"Amount: "+u,buttons:(0,o.createFragment)([(0,o.createTextVNode)("Search"),(0,o.createComponentVNode)(2,i.Input,{autoFocus:!0,value:C,onInput:function(e,t){return h(t)},mx:1})],4),children:0===V.length&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No recipes found."})||(0,o.createComponentVNode)(2,d,{recipes:V})})})})};var d=function m(e,t){var n=(0,c.useBackend)(t),r=(n.act,n.data,e.recipes);return(0,a.sortBy)((function(e){return e.toLowerCase()}))(Object.keys(r)).map((function(e){var t=r[e];return t.ref===undefined?(0,o.createComponentVNode)(2,i.Collapsible,{ml:1,color:"label",title:e,children:(0,o.createComponentVNode)(2,i.Box,{ml:1,children:(0,o.createComponentVNode)(2,m,{recipes:t})})}):(0,o.createComponentVNode)(2,s,{title:e,recipe:t})}))},u=function(e,t){for(var n=(0,c.useBackend)(t),r=n.act,a=(n.data,e.recipe),l=e.maxMultiplier,d=Math.min(l,Math.floor(a.max_res_amount/a.res_amount)),u=[5,10,25],s=[],m=function(){var e=C[p];d>=e&&s.push((0,o.createComponentVNode)(2,i.Button,{content:e*a.res_amount+"x",onClick:function(){return r("make",{ref:a.ref,multiplier:e})}}))},p=0,C=u;p1?"s":""),C+=")",s>1&&(C=s+"x "+C);var h=function(e,t){return e.req_amount>t?0:Math.floor(t/e.req_amount)}(l,a);return(0,o.createComponentVNode)(2,i.Box,{mb:1,children:(0,o.createComponentVNode)(2,i.Table,{children:(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,disabled:!h,icon:"wrench",content:C,onClick:function(){return r("make",{ref:l.ref,multiplier:1})}})}),m>1&&h>1&&(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,u,{recipe:l,maxMultiplier:h})})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.StackingConsoleContent=t.StackingConsole=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.StackingConsole=function(e,t){var n=(0,r.useBackend)(t),l=(n.act,n.data.machine);return(0,o.createComponentVNode)(2,c.Window,{width:320,height:340,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:l?(0,o.createComponentVNode)(2,i):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No connected stacking machine"})})})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.stacking_amount,d=i.contents,u=void 0===d?[]:d;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:"Stacking Amount",children:l||"Unknown"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Stored Materials",children:u.length?(0,o.createComponentVNode)(2,a.LabeledList,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Release",onClick:function(){return c("release",{type:e.type})}}),children:e.amount||"Unknown"},e.type)}))}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No stored materials"})})],4)};t.StackingConsoleContent=i},function(e,t,n){"use strict";t.__esModule=!0,t.SyndPane=t.StatusPane=t.SyndContractorContent=t.SyndContractor=t.FakeTerminal=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);var i=function(e){var t,n;function r(t){var n;return(n=e.call(this,t)||this).timer=null,n.state={currentIndex:0,currentDisplay:[]},n}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.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))},c.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)},c.componentWillUnmount=function(){clearTimeout(this.timer)},c.render=function(){return(0,o.createComponentVNode)(2,a.Box,{m:1,children:this.state.currentDisplay.map((function(e){return(0,o.createFragment)([e,(0,o.createVNode)(1,"br")],0,e)}))})},r}(o.Component);t.FakeTerminal=i;t.SyndContractor=function(e,t){return(0,o.createComponentVNode)(2,c.NtosWindow,{width:500,height:600,theme:"syndicate",resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,r.useBackend)(t),c=n.data,l=n.act,d=["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"],s=!!c.error&&(0,o.createComponentVNode)(2,a.Modal,{backgroundColor:"red",children:(0,o.createComponentVNode)(2,a.Flex,{align:"center",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{mr:2,children:(0,o.createComponentVNode)(2,a.Icon,{size:4,name:"exclamation-triangle"})}),(0,o.createComponentVNode)(2,a.Flex.Item,{mr:2,grow:1,textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{width:"260px",textAlign:"left",minHeight:"80px",children:c.error}),(0,o.createComponentVNode)(2,a.Button,{content:"Dismiss",onClick:function(){return l("PRG_clear_error")}})]})]})});return c.logged_in?c.logged_in&&c.first_load?(0,o.createComponentVNode)(2,a.Box,{backgroundColor:"rgba(0, 0, 0, 0.8)",minHeight:"525px",children:(0,o.createComponentVNode)(2,i,{allMessages:d,finishedTimeout:3e3,onFinished:function(){return l("PRG_set_first_load_finished")}})}):c.info_screen?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.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,a.Button,{fluid:!0,content:"CONTINUE",color:"transparent",textAlign:"center",onClick:function(){return l("PRG_toggle_info")}})],4):(0,o.createFragment)([s,(0,o.createComponentVNode)(2,u)],0):(0,o.createComponentVNode)(2,a.Section,{minHeight:"525px",children:[(0,o.createComponentVNode)(2,a.Box,{width:"100%",textAlign:"center",children:(0,o.createComponentVNode)(2,a.Button,{content:"REGISTER USER",color:"transparent",onClick:function(){return l("PRG_login")}})}),!!c.error&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:c.error})]})};t.SyndContractorContent=l;var d=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createFragment)([(0,o.createTextVNode)("Contractor Status"),(0,o.createComponentVNode)(2,a.Button,{content:"View Information Again",color:"transparent",mb:0,ml:1,onClick:function(){return c("PRG_toggle_info")}})],4),buttons:(0,o.createComponentVNode)(2,a.Box,{bold:!0,mr:1,children:[i.contract_rep," Rep"]}),children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:.85,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"TC Available",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Claim",disabled:i.redeemable_tc<=0,onClick:function(){return c("PRG_redeem_TC")}}),children:i.redeemable_tc}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"TC Earned",children:i.earned_tc})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Contracts Completed",children:i.contracts_completed}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Status",children:"ACTIVE"})]})})]})})};t.StatusPane=d;var u=function(e,t){var n=(0,r.useLocalState)(t,"tab",1),c=n[0],i=n[1];return(0,o.createFragment)([(0,o.createComponentVNode)(2,d,{state:e.state}),(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===c,onClick:function(){return i(1)},children:"Contracts"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:2===c,onClick:function(){return i(2)},children:"Hub"})]}),1===c&&(0,o.createComponentVNode)(2,s),2===c&&(0,o.createComponentVNode)(2,m)],0)};t.SyndPane=u;var s=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.contracts||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Available Contracts",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Call Extraction",disabled:!i.ongoing_contract||i.extraction_enroute,onClick:function(){return c("PRG_call_extraction")}}),children:l.map((function(e){if(!i.ongoing_contract||2===e.status){var t=e.status>1;if(!(e.status>=5))return(0,o.createComponentVNode)(2,a.Section,{title:e.target?e.target+" ("+e.target_rank+")":"Invalid Target",level:t?1:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:[e.payout," (+",e.payout_bonus,") TC"]}),(0,o.createComponentVNode)(2,a.Button,{content:t?"Abort":"Accept",disabled:e.extraction_enroute,color:t&&"bad",onClick:function(){return c("PRG_contract"+(t?"_abort":"-accept"),{contract_id:e.id})}})],4),children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:e.message}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.5,children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,mb:1,children:"Dropoff Location:"}),(0,o.createComponentVNode)(2,a.Box,{children:e.dropoff})]})]})},e.target)}}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Dropoff Locator",textAlign:"center",opacity:i.ongoing_contract?100:0,children:(0,o.createComponentVNode)(2,a.Box,{bold:!0,children:i.dropoff_direction})})],4)},m=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.contractor_hub_items||[];return(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){var t=e.cost?e.cost+" Rep":"FREE",n=-1!==e.limited;return(0,o.createComponentVNode)(2,a.Section,{title:e.name+" - "+t,level:2,buttons:(0,o.createFragment)([n&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:[e.limited," remaining"]}),(0,o.createComponentVNode)(2,a.Button,{content:"Purchase",disabled:i.contract_repl.user.cash),content:N&&V?b+" cr":d.price+" cr",onClick:function(){return i("vend",{ref:d.ref})}})})]})};t.Vending=function(e,t){var n,r=(0,a.useBackend)(t),d=(r.act,r.data),u=d.user,s=d.onstation,m=d.product_records,p=void 0===m?[]:m,C=d.coin_records,h=void 0===C?[]:C,N=d.hidden_records,V=void 0===N?[]:N,b=d.stock,f=!1;return d.vending_machine_input?(n=d.vending_machine_input,f=!0):(n=[].concat(p,h),d.extended_inventory&&(n=[].concat(n,V))),n=n.filter((function(e){return!!e})),(0,o.createComponentVNode)(2,i.Window,{title:"Vending Machine",width:450,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[!!s&&(0,o.createComponentVNode)(2,c.Section,{title:"User",children:u&&(0,o.createComponentVNode)(2,c.Box,{children:["Welcome, ",(0,o.createVNode)(1,"b",null,u.name,0),","," ",(0,o.createVNode)(1,"b",null,u.job||"Unemployed",0),"!",(0,o.createVNode)(1,"br"),"Your balance is ",(0,o.createVNode)(1,"b",null,[u.cash,(0,o.createTextVNode)(" credits")],0),"."]})||(0,o.createComponentVNode)(2,c.Box,{color:"light-grey",children:["No registered ID card!",(0,o.createVNode)(1,"br"),"Please contact your local HoP!"]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Products",children:(0,o.createComponentVNode)(2,c.Table,{children:n.map((function(e){return(0,o.createComponentVNode)(2,l,{custom:f,product:e,productStock:b[e.name]},e.name)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Wires=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.Wires=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.proper_name,u=l.wires||[],s=l.status||[];return(0,o.createComponentVNode)(2,c.Window,{width:350,height:150+30*u.length+(!!d&&30),children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[!!d&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:[d," Wire Configuration"]}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:u.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 i("cut",{wire:e.color})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Pulse",onClick:function(){return i("pulse",{wire:e.color})}}),(0,o.createComponentVNode)(2,a.Button,{content:e.attached?"Detach":"Attach",onClick:function(){return i("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)}))})}),!!s.length&&(0,o.createComponentVNode)(2,a.Section,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})]})})}}])); \ No newline at end of file +!function(e){function t(t){for(var o,c,i=t[0],l=t[1],d=t[2],s=0,m=[];s0&&g.flatMap((function(e){return e.items||[]})).filter(L).filter((function(e,t){return t<25}))||(null==(l=g.find((function(e){return e.name===_})))?void 0:l.items)||[];return(0,o.createComponentVNode)(2,c.Section,{title:(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:s>0?"good":"bad",children:[(0,i.formatMoney)(s)," ",p]}),buttons:(0,o.createFragment)([(0,o.createTextVNode)("Search"),(0,o.createComponentVNode)(2,c.Input,{autoFocus:!0,value:x,onInput:function(e,t){return k(t)},mx:1}),(0,o.createComponentVNode)(2,c.Button,{icon:V?"list":"info",content:V?"Compact":"Detailed",onClick:function(){return h("compact_toggle")}}),!!b&&(0,o.createComponentVNode)(2,c.Button,{icon:"lock",content:"Lock",onClick:function(){return h("lock")}})],0),children:(0,o.createComponentVNode)(2,c.Flex,{children:[0===x.length&&(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.Tabs,{vertical:!0,children:g.map((function(e){var t;return(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:e.name===_,onClick:function(){return w(e.name)},children:[e.name," (",(null==(t=e.items)?void 0:t.length)||0,")"]},e.name)}))})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,basis:0,children:[0===y.length&&(0,o.createComponentVNode)(2,c.NoticeBox,{children:0===x.length?"No items in this category.":"No results found."}),(0,o.createComponentVNode)(2,u,{compactMode:x.length>0||V,currencyAmount:s,currencySymbol:p,items:y})]})]})})};t.GenericUplink=d;var u=function(e,t){var n=e.compactMode,l=e.currencyAmount,d=e.currencySymbol,u=(0,a.useBackend)(t).act,s=(0,a.useLocalState)(t,"hoveredItem",{}),m=s[0],p=s[1],C=m&&m.cost||0,h=e.items.map((function(e){var t=m&&m.name!==e.name,n=l-C50?"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,d.Box,{inline:!0,width:"36px",textAlign:"right",children:(0,c.toFixed)(n)+"%"})],4)};t.AreaCharge=C,C.defaultHooks=i.pureComponentHooks;var h=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,d.ColorBox,{color:n?"good":"bad",content:r?undefined:"M",title:a})};h.defaultHooks=i.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.CargoCatalog=t.CargoContent=t.Cargo=void 0;var o=n(0),r=n(10),a=n(2),c=n(1),i=n(38),l=n(3);t.Cargo=function(e,t){return(0,o.createComponentVNode)(2,l.Window,{width:780,height:750,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,d)})})};var d=function(e,t){var n=(0,a.useBackend)(t),r=(n.act,n.data),i=(0,a.useSharedState)(t,"tab","catalog"),l=i[0],d=i[1],p=r.requestonly,h=r.cart||[],N=r.requests||[];return(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,u),(0,o.createComponentVNode)(2,c.Section,{fitted:!0,children:(0,o.createComponentVNode)(2,c.Tabs,{children:[(0,o.createComponentVNode)(2,c.Tabs.Tab,{icon:"list",selected:"catalog"===l,onClick:function(){return d("catalog")},children:"Catalog"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{icon:"envelope",textColor:"requests"!==l&&N.length>0&&"yellow",selected:"requests"===l,onClick:function(){return d("requests")},children:["Requests (",N.length,")"]}),!p&&(0,o.createComponentVNode)(2,c.Tabs.Tab,{icon:"shopping-cart",textColor:"cart"!==l&&h.length>0&&"yellow",selected:"cart"===l,onClick:function(){return d("cart")},children:["Checkout (",h.length,")"]})]})}),"catalog"===l&&(0,o.createComponentVNode)(2,s),"requests"===l&&(0,o.createComponentVNode)(2,m),"cart"===l&&(0,o.createComponentVNode)(2,C)]})};t.CargoContent=d;var u=function(e,t){var n=(0,a.useBackend)(t),r=n.act,l=n.data,d=l.away,u=l.docked,s=l.loan,m=l.loan_dispatched,p=l.location,C=l.message,h=l.points,N=l.requestonly,V=l.can_send;return(0,o.createComponentVNode)(2,c.Section,{title:"Cargo",buttons:(0,o.createComponentVNode)(2,c.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:h,format:function(e){return(0,i.formatMoney)(e)}})," credits"]}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Shuttle",children:u&&!N&&V&&(0,o.createComponentVNode)(2,c.Button,{content:p,onClick:function(){return r("send")}})||p}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"CentCom Message",children:C}),!!s&&!N&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Loan",children:!m&&(0,o.createComponentVNode)(2,c.Button,{content:"Loan Shuttle",disabled:!(d&&u),onClick:function(){return r("loan")}})||(0,o.createComponentVNode)(2,c.Box,{color:"bad",children:"Loaned to Centcom"})})]})})},s=function(e,t){var n,l=e.express,d=(0,a.useBackend)(t),u=d.act,s=d.data,m=s.self_paid,C=s.app_cost,h=(0,r.toArray)(s.supplies),N=(0,a.useSharedState)(t,"supply",null==(n=h[0])?void 0:n.name),V=N[0],b=N[1],f=h.find((function(e){return e.name===V}));return(0,o.createComponentVNode)(2,c.Section,{title:"Catalog",buttons:!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,p),(0,o.createComponentVNode)(2,c.Button.Checkbox,{ml:2,content:"Buy Privately",checked:m,onClick:function(){return u("toggleprivate")}})],4),children:(0,o.createComponentVNode)(2,c.Flex,{children:[(0,o.createComponentVNode)(2,c.Flex.Item,{ml:-1,mr:1,children:(0,o.createComponentVNode)(2,c.Tabs,{vertical:!0,children:h.map((function(e){return(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:e.name===V,onClick:function(){return b(e.name)},children:[e.name," (",e.packs.length,")"]},e.name)}))})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,c.Table,{children:null==f?void 0:f.packs.map((function(e){var t=[];return e.small_item&&t.push("Small"),e.access&&t.push("Restricted"),(0,o.createComponentVNode)(2,c.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,color:"label",textAlign:"right",children:t.join(", ")}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,c.Button,{fluid:!0,tooltip:e.desc,tooltipPosition:"left",onClick:function(){return u("add",{id:e.id})},children:[(0,i.formatMoney)(m&&!e.goody||C?Math.round(1.1*e.cost):e.cost)," cr"]})})]},e.name)}))})})]})})};t.CargoCatalog=s;var m=function(e,t){var n=(0,a.useBackend)(t),r=n.act,l=n.data,d=l.requestonly,u=l.can_send,s=l.can_approve_requests,m=l.requests||[];return(0,o.createComponentVNode)(2,c.Section,{title:"Active Requests",buttons:!d&&(0,o.createComponentVNode)(2,c.Button,{icon:"times",content:"Clear",color:"transparent",onClick:function(){return r("denyall")}}),children:[0===m.length&&(0,o.createComponentVNode)(2,c.Box,{color:"good",children:"No Requests"}),m.length>0&&(0,o.createComponentVNode)(2,c.Table,{children:m.map((function(e){return(0,o.createComponentVNode)(2,c.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,color:"label",children:["#",e.id]}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:e.object}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:(0,o.createVNode)(1,"b",null,e.orderer,0)}),(0,o.createComponentVNode)(2,c.Table.Cell,{width:"25%",children:(0,o.createVNode)(1,"i",null,e.reason,0)}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"right",children:[(0,i.formatMoney)(e.cost)," cr"]}),(!d||u)&&s&&(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,c.Button,{icon:"check",color:"good",onClick:function(){return r("approve",{id:e.id})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"times",color:"bad",onClick:function(){return r("deny",{id:e.id})}})]})]},e.id)}))})]})},p=function(e,t){var n=(0,a.useBackend)(t),r=n.act,l=n.data,d=l.requestonly,u=l.can_send,s=l.can_approve_requests,m=l.cart||[],p=m.reduce((function(e,t){return e+t.cost}),0);return!d&&u&&s?(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Box,{inline:!0,mx:1,children:[0===m.length&&"Cart is empty",1===m.length&&"1 item",m.length>=2&&m.length+" items"," ",p>0&&"("+(0,i.formatMoney)(p)+" cr)"]}),(0,o.createComponentVNode)(2,c.Button,{icon:"times",color:"transparent",content:"Clear",onClick:function(){return r("clear")}})],4):null},C=function(e,t){var n=(0,a.useBackend)(t),r=n.act,l=n.data,d=l.requestonly,u=l.away,s=l.docked,m=l.location,C=l.can_send,h=l.cart||[];return(0,o.createComponentVNode)(2,c.Section,{title:"Current Cart",buttons:(0,o.createComponentVNode)(2,p),children:[0===h.length&&(0,o.createComponentVNode)(2,c.Box,{color:"label",children:"Nothing in cart"}),h.length>0&&(0,o.createComponentVNode)(2,c.Table,{children:h.map((function(e){return(0,o.createComponentVNode)(2,c.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,color:"label",children:["#",e.id]}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:e.object}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,children:!!e.paid&&(0,o.createVNode)(1,"b",null,"[Paid Privately]",16)}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"right",children:[(0,i.formatMoney)(e.cost)," cr"]}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,children:C&&(0,o.createComponentVNode)(2,c.Button,{icon:"minus",onClick:function(){return r("remove",{id:e.id})}})})]},e.id)}))}),h.length>0&&!d&&(0,o.createComponentVNode)(2,c.Box,{mt:2,children:1===u&&1===s&&(0,o.createComponentVNode)(2,c.Button,{color:"green",style:{"line-height":"28px",padding:"0 12px"},content:"Confirm the order",onClick:function(){return r("send")}})||(0,o.createComponentVNode)(2,c.Box,{opacity:.5,children:["Shuttle in ",m,"."]})})]})}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";t.__esModule=!0,t.AiRestorerContent=t.AiRestorer=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.AiRestorer=function(){return(0,o.createComponentVNode)(2,c.Window,{width:370,height:360,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i)})})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.AI_present,d=i.error,u=i.name,s=i.laws,m=i.isDead,p=i.restoring,C=i.health,h=i.ejectable;return(0,o.createFragment)([d&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:d}),!!h&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"eject",content:l?u:"----------",disabled:!l,onClick:function(){return c("PRG_eject")}}),!!l&&(0,o.createComponentVNode)(2,a.Section,{title:h?"System Status":u,buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:m?"bad":"good",children:m?"Nonfunctional":"Functional"}),children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:C,minValue:0,maxValue:100,ranges:{good:[70,Infinity],average:[50,70],bad:[-Infinity,50]}})})}),!!p&&(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"20px",color:"good",mt:1,children:"RECONSTRUCTION IN PROGRESS"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"plus",content:"Begin Reconstruction",disabled:p,mt:1,onClick:function(){return c("PRG_beginReconstruction")}}),(0,o.createComponentVNode)(2,a.Section,{title:"Laws",level:2,children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{className:"candystripe",children:e},e)}))})]})],0)};t.AiRestorerContent=i},function(e,t,n){"use strict";t.__esModule=!0,t.AccessList=void 0;var o=n(0),r=n(10),a=n(2),c=n(1);function i(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n0?"good":"bad",children:i>0?"Earned "+i+" times":"Locked"})||(0,o.createComponentVNode)(2,a.Box,{color:i?"good":"bad",children:i?"Unlocked":"Locked"})]})]},n)},d=function(e,t){var n=(0,r.useBackend)(t).data,c=n.highscore,i=n.user_ckey,l=(0,r.useLocalState)(t,"highscore",0),d=l[0],u=l[1],s=c[d];if(!s)return null;var m=Object.keys(s.scores).map((function(e){return{ckey:e,value:s.scores[e]}}));return(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:c.map((function(e,t){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:d===t,onClick:function(){return u(t)},children:e.name},e.name)}))})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:"#"}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:"Key"}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:"Score"})]}),m.map((function(e,t){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:t+1}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:e.ckey===i&&"green",textAlign:"center",children:[0===t&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"yellow",mr:2}),e.ckey,0===t&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"yellow",ml:2})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:e.value})]},e.ckey)}))]})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.AiAirlock=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i={2:{color:"good",localStatusText:"Offline"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Optimal"}};t.AiAirlock=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=i[d.power.main]||i[0],s=i[d.power.backup]||i[0],m=i[d.shock]||i[0];return(0,o.createComponentVNode)(2,c.Window,{width:500,height:390,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(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:u.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!d.power.main,content:"Disrupt",onClick:function(){return l("disrupt-main")}}),children:[d.power.main?"Online":"Offline"," ",d.wires.main_1&&d.wires.main_2?d.power.main_timeleft>0&&"["+d.power.main_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Backup",color:s.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!d.power.backup,content:"Disrupt",onClick:function(){return l("disrupt-backup")}}),children:[d.power.backup?"Online":"Offline"," ",d.wires.backup_1&&d.wires.backup_2?d.power.backup_timeleft>0&&"["+d.power.backup_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Electrify",color:m.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",disabled:!(d.wires.shock&&0===d.shock),content:"Restore",onClick:function(){return l("shock-restore")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!d.wires.shock,content:"Temporary",onClick:function(){return l("shock-temp")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!d.wires.shock,content:"Permanent",onClick:function(){return l("shock-perm")}})],4),children:[2===d.shock?"Safe":"Electrified"," ",(d.wires.shock?d.shock_timeleft>0&&"["+d.shock_timeleft+"s]":"[Wires have been cut!]")||-1===d.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:d.id_scanner?"power-off":"times",content:d.id_scanner?"Enabled":"Disabled",selected:d.id_scanner,disabled:!d.wires.id_scanner,onClick:function(){return l("idscan-toggle")}}),children:!d.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:d.emergency?"power-off":"times",content:d.emergency?"Enabled":"Disabled",selected:d.emergency,onClick:function(){return l("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:d.locked?"lock":"unlock",content:d.locked?"Lowered":"Raised",selected:d.locked,disabled:!d.wires.bolts,onClick:function(){return l("bolt-toggle")}}),children:!d.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:d.lights?"power-off":"times",content:d.lights?"Enabled":"Disabled",selected:d.lights,disabled:!d.wires.lights,onClick:function(){return l("light-toggle")}}),children:!d.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:d.safe?"power-off":"times",content:d.safe?"Enabled":"Disabled",selected:d.safe,disabled:!d.wires.safe,onClick:function(){return l("safe-toggle")}}),children:!d.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:d.speed?"power-off":"times",content:d.speed?"Enabled":"Disabled",selected:d.speed,disabled:!d.wires.timing,onClick:function(){return l("speed-toggle")}}),children:!d.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:d.opened?"sign-out-alt":"sign-in-alt",content:d.opened?"Open":"Closed",selected:d.opened,disabled:d.locked||d.welded,onClick:function(){return l("open-close")}}),children:!(!d.locked&&!d.welded)&&(0,o.createVNode)(1,"span",null,[(0,o.createTextVNode)("[Door is "),d.locked?"bolted":"",d.locked&&d.welded?" and ":"",d.welded?"welded":"",(0,o.createTextVNode)("!]")],0)})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AirAlarm=void 0;var o=n(0),r=n(8),a=n(2),c=n(1),i=n(3),l=n(495),d=n(65);t.AirAlarm=function(e,t){var n=(0,a.useBackend)(t),r=(n.act,n.data),c=r.locked&&!r.siliconUser;return(0,o.createComponentVNode)(2,i.Window,{width:440,height:650,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,d.InterfaceLockNoticeBox),(0,o.createComponentVNode)(2,u),!c&&(0,o.createComponentVNode)(2,m)]})})};var u=function(e,t){var n=(0,a.useBackend)(t).data,i=(n.environment_data||[]).filter((function(e){return e.value>=.01})),l={0:{color:"good",localStatusText:"Optimal"},1:{color:"average",localStatusText:"Caution"},2:{color:"bad",localStatusText:"Danger (Internals Required)"}},d=l[n.danger_level]||l[0];return(0,o.createComponentVNode)(2,c.Section,{title:"Air Status",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[i.length>0&&(0,o.createFragment)([i.map((function(e){var t=l[e.danger_level]||l[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:d.color,children:d.localStatusText}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Area status",color:n.atmos_alarm||n.fire_alarm?"bad":"good",children:(n.atmos_alarm?"Atmosphere Alarm":n.fire_alarm&&"Fire Alarm")||"Nominal"})],0)||(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Cannot obtain air sample for analysis."}),!!n.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 p}},vents:{title:"Vent Controls",component:function(){return C}},scrubbers:{title:"Scrubber Controls",component:function(){return h}},modes:{title:"Operating Mode",component:function(){return N}},thresholds:{title:"Alarm Thresholds",component:function(){return V}}},m=function(e,t){var n=(0,a.useLocalState)(t,"screen"),r=n[0],i=n[1],l=s[r]||s.home,d=l.component();return(0,o.createComponentVNode)(2,c.Section,{title:l.title,buttons:r&&(0,o.createComponentVNode)(2,c.Button,{icon:"arrow-left",content:"Back",onClick:function(){return i()}}),children:(0,o.createComponentVNode)(2,d)})},p=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=(0,a.useLocalState)(t,"screen"),d=(l[0],l[1]),u=i.mode,s=i.atmos_alarm;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:s?"exclamation-triangle":"exclamation",color:s&&"caution",content:"Area Atmosphere Alarm",onClick:function(){return r(s?"reset":"alarm")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:3===u?"exclamation-triangle":"exclamation",color:3===u&&"danger",content:"Panic Siphon",onClick:function(){return r("mode",{mode:3===u?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 d("vents")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"filter",content:"Scrubber Controls",onClick:function(){return d("scrubbers")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"cog",content:"Operating Mode",onClick:function(){return d("modes")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"chart-bar",content:"Alarm Thresholds",onClick:function(){return d("thresholds")}})],4)},C=function(e,t){var n=(0,a.useBackend)(t).data.vents;return n&&0!==n.length?n.map((function(e){return(0,o.createComponentVNode)(2,l.Vent,{vent:e},e.id_tag)})):"Nothing to show"},h=function(e,t){var n=(0,a.useBackend)(t).data.scrubbers;return n&&0!==n.length?n.map((function(e){return(0,o.createComponentVNode)(2,l.Scrubber,{scrubber:e},e.id_tag)})):"Nothing to show"},N=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data.modes;return i&&0!==i.length?i.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 r("mode",{mode:e.mode})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1})],4,e.mode)})):"Nothing to show"},V=function(e,t){var n=(0,a.useBackend)(t),i=n.act,l=n.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,l.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 i("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.Scrubber=t.Vent=void 0;var o=n(0),r=n(18),a=n(2),c=n(1),i=n(42);t.Vent=function(e,t){var n=e.vent,i=(0,a.useBackend)(t).act,l=n.id_tag,d=n.long_name,u=n.power,s=n.checks,m=n.excheck,p=n.incheck,C=n.direction,h=n.external,N=n.internal,V=n.extdefault,b=n.intdefault;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,r.decodeHtmlEntities)(d),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:u?"power-off":"times",selected:u,content:u?"On":"Off",onClick:function(){return i("power",{id_tag:l,val:Number(!u)})}}),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:"sign-in-alt",content:C?"Pressurizing":"Scrubbing",color:!C&&"danger",onClick:function(){return i("direction",{id_tag:l,val:Number(!C)})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"sign-in-alt",content:"Internal",selected:p,onClick:function(){return i("incheck",{id_tag:l,val:s})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"External",selected:m,onClick:function(){return i("excheck",{id_tag:l,val:s})}})]}),!!p&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Internal Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(N),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,t){return i("set_internal_pressure",{id_tag:l,value:t})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:b,content:"Reset",onClick:function(){return i("reset_internal_pressure",{id_tag:l})}})]}),!!m&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"External Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(h),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,t){return i("set_external_pressure",{id_tag:l,value:t})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:V,content:"Reset",onClick:function(){return i("reset_external_pressure",{id_tag:l})}})]})]})})};t.Scrubber=function(e,t){var n=e.scrubber,l=(0,a.useBackend)(t).act,d=n.long_name,u=n.power,s=n.scrubbing,m=n.id_tag,p=n.widenet,C=n.filter_types;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,r.decodeHtmlEntities)(d),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return l("power",{id_tag:m,val:Number(!u)})}}),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:s?"filter":"sign-in-alt",color:s||"danger",content:s?"Scrubbing":"Siphoning",onClick:function(){return l("scrubbing",{id_tag:m,val:Number(!s)})}}),(0,o.createComponentVNode)(2,c.Button,{icon:p?"expand":"compress",selected:p,content:p?"Expanded range":"Normal range",onClick:function(){return l("widenet",{id_tag:m,val:Number(!p)})}})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Filters",children:s&&C.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,i.getGasLabel)(e.gas_id,e.gas_name),title:e.gas_name,selected:e.enabled,onClick:function(){return l("toggle_filter",{id_tag:m,val:e.gas_id})}},e.gas_id)}))||"N/A"})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AirlockElectronics=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=n(203);t.AirlockElectronics=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.oneAccess,s=d.unres_direction,m=d.regions||[],p=d.accesses||[];return(0,o.createComponentVNode)(2,c.Window,{width:420,height:485,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(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:u?"unlock":"lock",content:u?"One":"All",onClick:function(){return l("one_access")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Unrestricted Access",children:[(0,o.createComponentVNode)(2,a.Button,{icon:1&s?"check-square-o":"square-o",content:"North",selected:1&s,onClick:function(){return l("direc_set",{unres_direction:"1"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:2&s?"check-square-o":"square-o",content:"South",selected:2&s,onClick:function(){return l("direc_set",{unres_direction:"2"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:4&s?"check-square-o":"square-o",content:"East",selected:4&s,onClick:function(){return l("direc_set",{unres_direction:"4"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:8&s?"check-square-o":"square-o",content:"West",selected:8&s,onClick:function(){return l("direc_set",{unres_direction:"8"})}})]})]})}),(0,o.createComponentVNode)(2,i.AccessList,{accesses:m,selectedList:p,accessMod:function(e){return l("set",{access:e})},grantAll:function(){return l("grant_all")},denyAll:function(){return l("clear_all")},grantDep:function(e){return l("grant_region",{region:e})},denyDep:function(e){return l("deny_region",{region:e})}})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Loader=t.AlertModal=void 0;var o=n(0),r=n(8),a=n(2),c=n(1),i=n(3);t.AlertModal=function(e,t){var n=(0,a.useBackend)(t),r=n.act,d=n.data,u=d.title,s=d.message,m=d.buttons,p=d.timeout;return(0,o.createComponentVNode)(2,i.Window,{title:u,width:350,height:150,resizable:!0,children:[p!==undefined&&(0,o.createComponentVNode)(2,l,{value:p}),(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c.Flex,{direction:"column",height:"100%",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Flex,{direction:"column",className:"AlertModal__Message",height:"100%",children:(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.Box,{m:1,children:s})})})}),(0,o.createComponentVNode)(2,c.Flex.Item,{my:2,children:(0,o.createComponentVNode)(2,c.Flex,{className:"AlertModal__Buttons",children:m.map((function(e){return(0,o.createComponentVNode)(2,c.Flex.Item,{mx:1,children:(0,o.createComponentVNode)(2,c.Button,{px:3,onClick:function(){return r("choose",{choice:e})},children:e})},e)}))})})]})})]})};var l=function(e){var t=e.value;return(0,o.createVNode)(1,"div","AlertModal__Loader",(0,o.createComponentVNode)(2,c.Box,{className:"AlertModal__LoaderProgress",style:{width:100*(0,r.clamp01)(t)+"%"}}),2)};t.Loader=l},function(e,t,n){"use strict";t.__esModule=!0,t.Apc=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=n(65);t.Apc=function(e,t){return(0,o.createComponentVNode)(2,c.Window,{width:450,height:445,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,u)})})};var l={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"}},u=function(e,t){var n=(0,r.useBackend)(t),c=n.act,u=n.data,s=u.locked&&!u.siliconUser,m=l[u.externalPower]||l[0],p=l[u.chargingStatus]||l[0],C=u.powerChannels||[],h=d[u.malfStatus]||d[0],N=u.powerCellStatus/100;return u.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 ",u.failTime," seconds...",(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reboot Now",onClick:function(){return c("reboot")}})]}):(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox),(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:m.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u.isOperating?"power-off":"times",content:u.isOperating?"On":"Off",selected:u.isOperating&&!s,disabled:s,onClick:function(){return c("breaker")}}),children:["[ ",m.externalPowerText," ]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power Cell",children:(0,o.createComponentVNode)(2,a.ProgressBar,{color:"good",value:N})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",color:p.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u.chargeMode?"sync":"close",content:u.chargeMode?"Auto":"Off",disabled:s,onClick:function(){return c("charge")}}),children:["[ ",p.chargingText," ]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Channels",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[C.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:!s&&(1===e.status||3===e.status),disabled:s,onClick:function(){return c("channel",t.auto)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:"On",selected:!s&&2===e.status,disabled:s,onClick:function(){return c("channel",t.on)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:!s&&0===e.status,disabled:s,onClick:function(){return c("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,u.totalLoad,0)})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Misc",buttons:!!u.siliconUser&&(0,o.createFragment)([!!u.malfStatus&&(0,o.createComponentVNode)(2,a.Button,{icon:h.icon,content:h.content,color:"bad",onClick:function(){return c(h.action)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){return c("overload")}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cover Lock",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u.coverLocked?"lock":"unlock",content:u.coverLocked?"Engaged":"Disengaged",disabled:s,onClick:function(){return c("cover")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:u.emergencyLights?"Enabled":"Disabled",disabled:s,onClick:function(){return c("emergency_lighting")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:u.nightshiftLights?"Enabled":"Disabled",onClick:function(){return c("toggle_nightshift")}})})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ApcControl=void 0;var o=n(0),r=n(10),a=n(24),c=n(6),i=n(2),l=n(1),d=n(3),u=n(142);t.ApcControl=function(e,t){var n=(0,i.useBackend)(t).data;return(0,o.createComponentVNode)(2,d.Window,{title:"APC Controller",width:550,height:500,resizable:!0,children:[1===n.authenticated&&(0,o.createComponentVNode)(2,m),0===n.authenticated&&(0,o.createComponentVNode)(2,s)]})};var s=function(e,t){var n=(0,i.useBackend)(t),r=n.act,a=n.data.emagged,c=1===a?"Open":"Log In";return(0,o.createComponentVNode)(2,d.Window.Content,{children:(0,o.createComponentVNode)(2,l.Button,{fluid:!0,color:1===a?"":"good",content:c,onClick:function(){return r("log-in")}})})},m=function(e,t){var n=(0,i.useBackend)(t),r=n.act,a=n.data.restoring,c=(0,i.useLocalState)(t,"tab-index",1),u=c[0],s=c[1];return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Tabs,{children:[(0,o.createComponentVNode)(2,l.Tabs.Tab,{selected:1===u,onClick:function(){s(1),r("check-apcs")},children:"APC Control Panel"}),(0,o.createComponentVNode)(2,l.Tabs.Tab,{selected:2===u,onClick:function(){s(2),r("check-logs")},children:"Log View Panel"})]}),1===a&&(0,o.createComponentVNode)(2,l.Dimmer,{fontSize:"32px",children:[(0,o.createComponentVNode)(2,l.Icon,{name:"cog",spin:!0})," Resetting..."]}),1===u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,p),(0,o.createComponentVNode)(2,l.Box,{fillPositionedParent:!0,top:"53px",children:(0,o.createComponentVNode)(2,d.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,C)})})],4),2===u&&(0,o.createComponentVNode)(2,l.Box,{fillPositionedParent:!0,top:"20px",children:(0,o.createComponentVNode)(2,d.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,h)})})],0)},p=function(e,t){var n=(0,i.useBackend)(t),r=n.act,a=n.data,c=a.emagged,d=a.logging,u=(0,i.useLocalState)(t,"sortByField",null),s=u[0],m=u[1];return(0,o.createComponentVNode)(2,l.Flex,{children:[(0,o.createComponentVNode)(2,l.Flex.Item,{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"===s,content:"Name",onClick:function(){return m("name"!==s&&"name")}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"charge"===s,content:"Charge",onClick:function(){return m("charge"!==s&&"charge")}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"draw"===s,content:"Draw",onClick:function(){return m("draw"!==s&&"draw")}})]}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1}),(0,o.createComponentVNode)(2,l.Flex.Item,{children:[1===c&&(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Button,{color:1===d?"bad":"good",content:1===d?"Stop Logging":"Restore Logging",onClick:function(){return r("toggle-logs")}}),(0,o.createComponentVNode)(2,l.Button,{content:"Reset Console",onClick:function(){return r("restore-console")}})],4),(0,o.createComponentVNode)(2,l.Button,{color:"bad",content:"Log Out",onClick:function(){return r("log-out")}})]})]})},C=function(e,t){var n=(0,i.useBackend)(t),c=n.data,d=n.act,s=(0,i.useLocalState)(t,"sortByField",null)[0],m=(0,a.flow)([(0,r.map)((function(e,t){return Object.assign({},e,{id:e.name+t})})),"name"===s&&(0,r.sortBy)((function(e){return e.name})),"charge"===s&&(0,r.sortBy)((function(e){return-e.charge})),"draw"===s&&(0,r.sortBy)((function(e){return-(0,u.powerRank)(e.load)}),(function(e){return-parseFloat(e.load)}))])(c.apcs);return(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:"On/Off"}),(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,{collapsing:!0,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"})]}),m.map((function(e,t){return(0,o.createVNode)(1,"tr","Table__row candystripe",[(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,l.Button,{icon:e.operating?"power-off":"times",color:e.operating?"good":"bad",onClick:function(){return d("breaker",{ref:e.ref})}}),2),(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,l.Button,{onClick:function(){return d("access-apc",{ref:e.ref})},children:e.name}),2),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",(0,o.createComponentVNode)(2,u.AreaCharge,{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,N,{target:"equipment",status:e.eqp,apc:e,act:d}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,N,{target:"lighting",status:e.lgt,apc:e,act:d}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,N,{target:"environ",status:e.env,apc:e,act:d}),2)],4,null,e.id)}))]})},h=function(e,t){var n=(0,i.useBackend)(t).data,c=(0,a.flow)([(0,r.map)((function(e,t){return Object.assign({},e,{id:e.entry+t})})),function(e){return e.reverse()}])(n.logs);return(0,o.createComponentVNode)(2,l.Box,{m:-.5,children:c.map((function(e){return(0,o.createComponentVNode)(2,l.Box,{p:.5,className:"candystripe",bold:!0,children:e.entry},e.id)}))})},N=function(e){var t=e.target,n=e.status,r=e.apc,a=e.act,c=Boolean(2&n),i=Boolean(1&n);return(0,o.createComponentVNode)(2,l.Button,{icon:i?"sync":"power-off",color:c?"good":"bad",onClick:function(){return a("toggle-minor",{type:t,value:V(n),ref:r.ref})}})},V=function(e){return 0===e?2:2===e?3:0};N.defaultHooks=c.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosAlertConsole=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.AtmosAlertConsole=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.priority||[],u=l.minor||[];return(0,o.createComponentVNode)(2,c.Window,{width:350,height:300,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{title:"Alarms",children:(0,o.createVNode)(1,"ul",null,[0===d.length&&(0,o.createVNode)(1,"li","color-good","No Priority Alerts",16),d.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 i("clear",{zone:e})}}),2,null,e)})),0===u.length&&(0,o.createVNode)(1,"li","color-good","No Minor Alerts",16),u.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 i("clear",{zone:e})}}),2,null,e)}))],0)})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosControlConsole=void 0;var o=n(0),r=n(10),a=n(8),c=n(2),i=n(1),l=n(3);t.AtmosControlConsole=function(e,t){var n,d=(0,c.useBackend)(t),u=d.act,s=d.data,m=s.sensors||[];return(0,o.createComponentVNode)(2,l.Window,{width:500,height:315,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:!!s.tank&&(null==(n=m[0])?void 0:n.long_name),children:m.map((function(e){var t=e.gases||{};return(0,o.createComponentVNode)(2,i.Section,{title:!s.tank&&e.long_name,level:2,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:(0,a.toFixed)(e.pressure,2)+" kPa"}),!!e.temperature&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:(0,a.toFixed)(e.temperature,2)+" K"}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:t,children:(0,a.toFixed)(e,2)+"%"})}))(t)]})},e.id_tag)}))}),s.tank&&(0,o.createComponentVNode)(2,i.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"undo",content:"Reconnect",onClick:function(){return u("reconnect")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Input Injector",children:(0,o.createComponentVNode)(2,i.Button,{icon:s.inputting?"power-off":"times",content:s.inputting?"Injecting":"Off",selected:s.inputting,onClick:function(){return u("input")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Input Rate",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:s.inputRate,unit:"L/s",width:"63px",minValue:0,maxValue:s.maxInputRate,suppressFlicker:2e3,onChange:function(e,t){return u("rate",{rate:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Output Regulator",children:(0,o.createComponentVNode)(2,i.Button,{icon:s.outputting?"power-off":"times",content:s.outputting?"Open":"Closed",selected:s.outputting,onClick:function(){return u("output")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Output Pressure",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:parseFloat(s.outputPressure),unit:"kPa",width:"75px",minValue:0,maxValue:s.maxOutputPressure,step:10,suppressFlicker:2e3,onChange:function(e,t){return u("pressure",{pressure:t})}})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosControlPanel=void 0;var o=n(0),r=n(10),a=n(24),c=n(2),i=n(1),l=n(3);t.AtmosControlPanel=function(e,t){var n=(0,c.useBackend)(t),d=n.act,u=n.data,s=(0,a.flow)([(0,r.map)((function(e,t){return Object.assign({},e,{id:e.area+t})})),(0,r.sortBy)((function(e){return e.id}))])(u.excited_groups);return(0,o.createComponentVNode)(2,l.Window,{title:"SSAir Control Panel",width:900,height:500,resizable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{m:1,children:(0,o.createComponentVNode)(2,i.Flex,{justify:"space-between",align:"baseline",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return d("toggle-freeze")},color:1===u.frozen?"good":"bad",children:1===u.frozen?"Freeze Subsystem":"Unfreeze Subsystem"})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:["Fire Cnt: ",u.fire_count]}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:["Active Turfs: ",u.active_size]}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:["Excited Groups: ",u.excited_size]}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:["Hotspots: ",u.hotspots_size]}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:["Superconductors: ",u.conducting_size]}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:u.showing_user,onClick:function(){return d("toggle_user_display")},children:"Personal View"})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:u.show_all,onClick:function(){return d("toggle_show_all")},children:"Display all"})})]})}),(0,o.createComponentVNode)(2,i.Box,{fillPositionedParent:!0,top:"45px",children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{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:"Area Name"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Breakdown"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Dismantle"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Turfs"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:1===u.display_max&&"Max Share"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Display"})]}),s.map((function(e){return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,i.Button,{content:e.area,onClick:function(){return d("move-to-target",{spot:e.jump_to})}}),2),(0,o.createVNode)(1,"td",null,e.breakdown,0),(0,o.createVNode)(1,"td",null,e.dismantle,0),(0,o.createVNode)(1,"td",null,e.size,0),(0,o.createVNode)(1,"td",null,1===u.display_max&&e.max_share,0),(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:e.should_show,onClick:function(){return d("toggle_show_group",{group:e.group})}}),2)],4,null,e.id)}))]})})})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosFilter=void 0;var o=n(0),r=n(2),a=n(1),c=n(42),i=n(3);t.AtmosFilter=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.filter_types||[];return(0,o.createComponentVNode)(2,i.Window,{width:390,height:221,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(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:d.on?"power-off":"times",content:d.on?"On":"Off",selected:d.on,onClick:function(){return l("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(d.rate),width:"63px",unit:"L/s",minValue:0,maxValue:d.max_rate,onDrag:function(e,t){return l("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:d.rate===d.max_rate,onClick:function(){return l("rate",{rate:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Filter",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:e.selected,content:(0,c.getGasLabel)(e.id,e.name),onClick:function(){return l("filter",{mode:e.id})}},e.id)}))})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosMixer=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.AtmosMixer=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:370,height:165,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(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:l.on?"power-off":"times",content:l.on?"On":"Off",selected:l.on,onClick:function(){return i("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(l.set_pressure),unit:"kPa",width:"75px",minValue:0,maxValue:l.max_pressure,step:10,onChange:function(e,t){return i("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:l.set_pressure===l.max_pressure,onClick:function(){return i("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 1",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:l.node1_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return i("node1",{concentration:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 2",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:l.node2_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return i("node2",{concentration:t})}})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosPump=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.AtmosPump=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:335,height:115,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(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:l.on?"power-off":"times",content:l.on?"On":"Off",selected:l.on,onClick:function(){return i("power")}})}),l.max_rate?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(l.rate),width:"63px",unit:"L/s",minValue:0,maxValue:l.max_rate,onChange:function(e,t){return i("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:l.rate===l.max_rate,onClick:function(){return i("rate",{rate:"max"})}})]}):(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(l.pressure),unit:"kPa",width:"75px",minValue:0,maxValue:l.max_pressure,step:10,onChange:function(e,t){return i("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:l.pressure===l.max_pressure,onClick:function(){return i("pressure",{pressure:"max"})}})]})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosTempGate=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.AtmosTempGate=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:335,height:115,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(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:l.on?"power-off":"times",content:l.on?"On":"Off",selected:l.on,onClick:function(){return i("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Heat settings",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(l.temperature),unit:"K",width:"75px",minValue:l.min_temperature,maxValue:l.max_temperature,step:1,onChange:function(e,t){return i("temperature",{temperature:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:l.temperature===l.max_temperature,onClick:function(){return i("temperature",{temperature:"max"})}})]})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosTempPump=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.AtmosTempPump=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:335,height:115,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(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:l.on?"power-off":"times",content:l.on?"On":"Off",selected:l.on,onClick:function(){return i("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Heat transfer rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(l.rate),unit:"K/s",width:"75px",minValue:0,maxValue:l.max_heat_transfer_rate,step:1,onChange:function(e,t){return i("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:l.rate===l.max_heat_transfer_rate,onClick:function(){return i("rate",{rate:"max"})}})]})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AutomatedAnnouncement=void 0;var o=n(0),r=(n(18),n(2)),a=n(1),c=n(3),i="%PERSON will be replaced with their name.\n%RANK with their job.";t.AutomatedAnnouncement=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.arrivalToggle,s=d.arrival,m=d.newheadToggle,p=d.newhead;return(0,o.createComponentVNode)(2,c.Window,{title:"Automated Announcement System",width:500,height:225,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Arrival Announcement",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",selected:u,content:u?"On":"Off",onClick:function(){return l("ArrivalToggle")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"info",tooltip:i,tooltipPosition:"left"}),children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:s,onChange:function(e,t){return l("ArrivalText",{newText:t})}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Departmental Head Announcement",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:m?"power-off":"times",selected:m,content:m?"On":"Off",onClick:function(){return l("NewheadToggle")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"info",tooltip:i,tooltipPosition:"left"}),children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:p,onChange:function(e,t){return l("NewheadText",{newText:t})}})})})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BankMachine=void 0;var o=n(0),r=n(2),a=n(1),c=n(38),i=n(3);t.BankMachine=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.current_balance,s=d.siphoning,m=d.station_name;return(0,o.createComponentVNode)(2,i.Window,{width:350,height:155,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,a.NoticeBox,{danger:!0,children:"Authorized personnel only"}),(0,o.createComponentVNode)(2,a.Section,{title:m+" 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:s?"times":"sync",content:s?"Stop Siphoning":"Siphon Credits",selected:s,onClick:function(){return l(s?"halt":"siphon")}}),children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u,format:function(e){return(0,c.formatMoney)(e)}})," cr"]})})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Bepis=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.Bepis=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.amount;return(0,o.createComponentVNode)(2,c.Window,{width:500,height:480,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(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:l.manual_power?"Off":"On",selected:!l.manual_power,onClick:function(){return i("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 i("account_reset")}}),children:["Console is currently being operated by ",l.account_owner?l.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:l.stored_cash}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Investment Variability",children:[l.accuracy_percentage,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Innovation Bonus",children:l.positive_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Risk Offset",color:"bad",children:l.negative_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposit Amount",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:d,unit:"Credits",minValue:100,maxValue:3e4,step:100,stepPixelSize:2,onChange:function(e,t){return i("amount",{amount:t})}})})]})}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"donate",content:"Deposit Credits",disabled:1===l.manual_power||1===l.silicon_check,onClick:function(){return i("deposit_cash")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Withdraw Credits",disabled:1===l.manual_power,onClick:function(){return i("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: ",l.mean_value]}),(0,o.createComponentVNode)(2,a.Box,{children:["Current chance of Success: Est. ",l.success_estimate,"%"]}),l.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===l.manual_power,onClick:function(){return i("begin_experiment")},content:"Begin Testing"})]})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BiogeneratorContent=t.Biogenerator=void 0;var o=n(0),r=n(6),a=n(18),c=n(2),i=n(1),l=n(38),d=n(3);t.Biogenerator=function(e,t){var n=(0,c.useBackend)(t).data,r=n.beaker,a=n.processing;return(0,o.createComponentVNode)(2,d.Window,{width:550,height:420,resizable:!0,children:[!!a&&(0,o.createComponentVNode)(2,i.Dimmer,{fontSize:"32px",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"cog",spin:1})," Processing..."]}),(0,o.createComponentVNode)(2,d.Window.Content,{scrollable:!0,children:[!r&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No Container"}),!!r&&(0,o.createComponentVNode)(2,u)]})]})};var u=function(e,t){var n,r,d=(0,c.useBackend)(t),u=d.act,m=d.data,p=m.biomass,C=m.can_process,h=m.categories,N=void 0===h?[]:h,V=(0,c.useLocalState)(t,"searchText",""),b=V[0],f=V[1],g=(0,c.useLocalState)(t,"category",null==(n=N[0])?void 0:n.name),v=g[0],x=g[1],k=(0,a.createSearch)(b,(function(e){return e.name})),B=b.length>0&&N.flatMap((function(e){return e.items||[]})).filter(k).filter((function(e,t){return t<25}))||(null==(r=N.find((function(e){return e.name===v})))?void 0:r.items)||[];return(0,o.createComponentVNode)(2,i.Section,{title:(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:p>0?"good":"bad",children:[(0,l.formatMoney)(p)," Biomass"]}),buttons:(0,o.createFragment)([(0,o.createTextVNode)("Search"),(0,o.createComponentVNode)(2,i.Input,{autoFocus:!0,value:b,onInput:function(e,t){return f(t)},mx:1}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",onClick:function(){return u("detach")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Activate",disabled:!C,onClick:function(){return u("activate")}})],4),children:(0,o.createComponentVNode)(2,i.Flex,{children:[0===b.length&&(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:N.map((function(e){var t;return(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:e.name===v,onClick:function(){return x(e.name)},children:[e.name," (",(null==(t=e.items)?void 0:t.length)||0,")"]},e.name)}))})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,basis:0,children:[0===B.length&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:0===b.length?"No items in this category.":"No results found."}),(0,o.createComponentVNode)(2,i.Table,{children:(0,o.createComponentVNode)(2,s,{biomass:p,items:B})})]})]})})};t.BiogeneratorContent=u;var s=function(e,t){var n=(0,c.useBackend)(t).act,a=(0,c.useLocalState)(t,"hoveredItem",{}),l=a[0],d=a[1],u=l.cost||0;return e.items.map((function(n){var o=(0,c.useLocalState)(t,"amount"+n.name,1),r=o[0],a=o[1],i=l.name!==n.name,d=e.biomass-u*l.amountV,onClick:function(){return d("select",{item:e.id})}})})]}),e.desc]},e.name)}))})]})]})]})};var l=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.buying,u=l.ltsrbt_built,s=l.money;if(!d)return null;var m=l.delivery_methods.map((function(e){var t=l.delivery_method_description[e.name];return Object.assign({},e,{description:t})}));return(0,o.createComponentVNode)(2,a.Modal,{textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Flex,{mb:1,children:m.map((function(e){return"LTSRBT"!==e.name||u?(0,o.createComponentVNode)(2,a.Flex.Item,{mx:1,width:"250px",children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:"30px",children:e.name}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:e.description}),(0,o.createComponentVNode)(2,a.Button,{mt:2,content:(0,c.formatMoney)(e.price)+" cr",disabled:s=0||(r[n]=e[n]);return r}(t,["res","value","dotsize"]),i=l(n),d=i[0],u=i[1];return(0,o.normalizeProps)((0,o.createVNode)(1,"canvas",null,"Canvas failed to render.",16,Object.assign({width:d*a||300,height:u*a||300},c,{onClick:function(t){return e.clickwrapper(t)}}),null,this.canvasRef))},r}(o.Component),l=function(e){var t=e.length;return[t,0!==t?e[0].length:0]};t.Canvas=function(e,t){var n=(0,r.useBackend)(t),d=n.act,u=n.data,s=l(u.grid),m=s[0],p=s[1];return(0,o.createComponentVNode)(2,c.Window,{width:Math.min(700,24*m+72),height:Math.min(700,24*p+72),resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,i,{value:u.grid,dotsize:24,onCanvasClick:function(e,t){return d("paint",{x:e,y:t})}}),(0,o.createComponentVNode)(2,a.Box,{children:[!u.finalized&&(0,o.createComponentVNode)(2,a.Button.Confirm,{onClick:function(){return d("finalize")},content:"Finalize"}),u.name]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CargoExpress=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=n(143),l=n(65);t.CargoExpress=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data);return(0,o.createComponentVNode)(2,c.Window,{width:600,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,l.InterfaceLockNoticeBox,{accessText:"a QM-level ID card"}),!a.locked&&(0,o.createComponentVNode)(2,d)]})})};var d=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Cargo Express",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:Math.round(l.points)})," credits"]}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Landing Location",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Cargo Bay",selected:!l.usingBeacon,onClick:function(){return c("LZCargo")}}),(0,o.createComponentVNode)(2,a.Button,{selected:l.usingBeacon,disabled:!l.hasBeacon,onClick:function(){return c("LZBeacon")},children:[l.beaconzone," (",l.beaconName,")"]}),(0,o.createComponentVNode)(2,a.Button,{content:l.printMsg,disabled:!l.canBuyBeacon,onClick:function(){return c("printBeacon")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Notice",children:l.message})]})}),(0,o.createComponentVNode)(2,i.CargoCatalog,{express:!0})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CargoHoldTerminal=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.CargoHoldTerminal=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.points,u=l.pad,s=l.sending,m=l.status_report;return(0,o.createComponentVNode)(2,c.Window,{width:600,height:230,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Cargo Value",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:Math.round(d)})," credits"]})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cargo Pad",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Recalculate Value",disabled:!u,onClick:function(){return i("recalc")}}),(0,o.createComponentVNode)(2,a.Button,{icon:s?"times":"arrow-up",content:s?"Stop Sending":"Send Goods",selected:s,disabled:!u,onClick:function(){return i(s?"stop":"send")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:u?"good":"bad",children:u?"Online":"Not Found"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cargo Report",children:m})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CellularEmporium=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.CellularEmporium=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.abilities;return(0,o.createComponentVNode)(2,c.Window,{width:900,height:480,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(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:!l.can_readapt,onClick:function(){return i("readapt")}}),children:l.genetic_points_remaining})})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:d.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 i("evolve",{name:e.name})}})],0),children:[e.desc,(0,o.createComponentVNode)(2,a.Box,{color:"good",children:e.helptext})]},e.name)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CentcomPodLauncher=void 0;var o=n(0),r=n(8),a=n(6),c=n(79),i=(n(18),n(205)),l=n(2),d=n(1),u=n(3);function s(e,t,n,o,r,a,c){try{var i=e[a](c),l=i.value}catch(d){return void n(d)}i.done?t(l):Promise.resolve(l).then(o,r)}function m(e){return function(){var t=this,n=arguments;return new Promise((function(o,r){var a=e.apply(t,n);function c(e){s(a,o,r,c,i,"next",e)}function i(e){s(a,o,r,c,i,"throw",e)}c(undefined)}))}}var p={color:"grey"},C=function(e){var t=(0,l.useLocalState)(e,"compact",!1),n=t[0],o=t[1];return[n,function(){return o(!n)}]};t.CentcomPodLauncher=function(e,t){var n=C(t)[0];return(0,o.createComponentVNode)(2,u.Window,{resizable:!0,title:n?"Use against Helen Weinstein":"Supply Pod Menu (Use against Helen Weinstein)",overflow:"hidden",width:n?435:730,height:n?360:440,children:(0,o.createComponentVNode)(2,h)},"CPL_"+n)};var h=function(e,t){var n=C(t)[0];return(0,o.createComponentVNode)(2,u.Window.Content,{children:(0,o.createComponentVNode)(2,d.Flex,{direction:"column",height:"100%",children:[(0,o.createComponentVNode)(2,d.Flex.Item,{grow:0,shrink:0,children:(0,o.createComponentVNode)(2,y)}),(0,o.createComponentVNode)(2,d.Flex.Item,{mt:1,grow:1,children:(0,o.createComponentVNode)(2,d.Flex,{height:"100%",children:[(0,o.createComponentVNode)(2,d.Flex.Item,{grow:1,shrink:0,basis:"14.1em",children:(0,o.createComponentVNode)(2,d.Flex,{direction:"column",height:"100%",children:[(0,o.createComponentVNode)(2,d.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,I)}),(0,o.createComponentVNode)(2,d.Flex.Item,{mt:1,grow:0,children:(0,o.createComponentVNode)(2,S)}),(0,o.createComponentVNode)(2,d.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,d.Section,{children:(0,o.createComponentVNode)(2,T)})})]})}),!n&&(0,o.createComponentVNode)(2,d.Flex.Item,{ml:1,grow:3,children:(0,o.createComponentVNode)(2,B)}),(0,o.createComponentVNode)(2,d.Flex.Item,{ml:1,basis:"8em",children:(0,o.createComponentVNode)(2,d.Flex,{direction:"column",height:"100%",children:[(0,o.createComponentVNode)(2,d.Flex.Item,{children:(0,o.createComponentVNode)(2,P)}),(0,o.createComponentVNode)(2,d.Flex.Item,{mt:1,grow:1,children:(0,o.createComponentVNode)(2,F)}),!n&&(0,o.createComponentVNode)(2,d.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,R)})]})}),(0,o.createComponentVNode)(2,d.Flex.Item,{ml:1,basis:"11em",children:(0,o.createComponentVNode)(2,A)})]})})]})})},N=[{title:"View Pod",component:function(){return _}},{title:"View Bay",component:function(){return w}},{title:"View Dropoff Location",component:function(){return L}}],V=[{title:"Mobs",icon:"user"},{title:"Unanchored\nObjects",key:"Unanchored",icon:"cube"},{title:"Anchored\nObjects",key:"Anchored",icon:"anchor"},{title:"Under-Floor",key:"Underfloor",icon:"eye-slash"},{title:"Wall-Mounted",key:"Wallmounted",icon:"link"},{title:"Floors",icon:"border-all"},{title:"Walls",icon:"square"},{title:"Mechs",key:"Mecha",icon:"truck"}],b=[{title:"Pre",tooltip:"Time until pod gets to station"},{title:"Fall",tooltip:"Duration of pods\nfalling animation"},{title:"Open",tooltip:"Time it takes pod to open after landing"},{title:"Exit",tooltip:"Time for pod to\nleave after opening"}],f=[{title:"Pre",tooltip:"Time until pod appears above dropoff point"},{title:"Fall",tooltip:"Duration of pods\nfalling animation"},{title:"Open",tooltip:"Time it takes pod to open after landing"},{title:"Exit",tooltip:"Time for pod to\nleave after opening"}],g=[{title:"Fall",act:"fallingSound",tooltip:"Plays while pod falls, timed\nto end when pod lands"},{title:"Land",act:"landingSound",tooltip:"Plays after pod lands"},{title:"Open",act:"openingSound",tooltip:"Plays when pod opens"},{title:"Exit",act:"leavingSound",tooltip:"Plays when pod leaves"}],v=[{title:"Standard"},{title:"Advanced"},{title:"Nanotrasen"},{title:"Syndicate"},{title:"Deathsquad"},{title:"Cultist"},{title:"Missile"},{title:"Syndie Missile"},{title:"Supply Box"},{title:"Clown Pod"},{title:"Fruit"},{title:"Invisible"},{title:"Gondola"},{title:"Seethrough"}],x=[{title:"1"},{title:"2"},{title:"3"},{title:"4"},{title:"ERT"}],k=[{list:[{title:"Launch All Turfs",icon:"globe",choiceNumber:0,selected:"launchChoice",act:"launchAll"},{title:"Launch Turf Ordered",icon:"sort-amount-down-alt",choiceNumber:1,selected:"launchChoice",act:"launchOrdered"},{title:"Pick Random Turf",icon:"dice",choiceNumber:2,selected:"launchChoice",act:"launchRandomTurf"},{divider:1},{title:"Launch Whole Turf",icon:"expand",choiceNumber:0,selected:"launchRandomItem",act:"launchWholeTurf"},{title:"Pick Random Item",icon:"dice",choiceNumber:1,selected:"launchRandomItem",act:"launchRandomItem"},{divider:1},{title:"Clone",icon:"clone",soloSelected:"launchClone",act:"launchClone"}],label:"Load From",alt_label:"Load",tooltipPosition:"right"},{list:[{title:"Specific Target",icon:"user-check",soloSelected:"effectTarget",act:"effectTarget"},{title:"Pod Stays",icon:"hand-paper",choiceNumber:0,selected:"effectBluespace",act:"effectBluespace"},{title:"Stealth",icon:"user-ninja",soloSelected:"effectStealth",act:"effectStealth"},{title:"Quiet",icon:"volume-mute",soloSelected:"effectQuiet",act:"effectQuiet"},{title:"Missile Mode",icon:"rocket",soloSelected:"effectMissile",act:"effectMissile"},{title:"Burst Launch",icon:"certificate",soloSelected:"effectBurst",act:"effectBurst"},{title:"Any Descent Angle",icon:"ruler-combined",soloSelected:"effectCircle",act:"effectCircle"},{title:"No Ghost Alert\n(If you dont want to\nentertain bored ghosts)",icon:"ghost",choiceNumber:0,selected:"effectAnnounce",act:"effectAnnounce"}],label:"Normal Effects",tooltipPosition:"bottom"},{list:[{title:"Explosion Custom",icon:"bomb",choiceNumber:1,selected:"explosionChoice",act:"explosionCustom"},{title:"Adminbus Explosion\nWhat are they gonna do, ban you?",icon:"bomb",choiceNumber:2,selected:"explosionChoice",act:"explosionBus"},{divider:1},{title:"Custom Damage",icon:"skull",choiceNumber:1,selected:"damageChoice",act:"damageCustom"},{title:"Gib",icon:"skull-crossbones",choiceNumber:2,selected:"damageChoice",act:"damageGib"},{divider:1},{title:"Projectile Cloud",details:!0,icon:"cloud-meatball",soloSelected:"effectShrapnel",act:"effectShrapnel"},{title:"Stun",icon:"sun",soloSelected:"effectStun",act:"effectStun"},{title:"Delimb",icon:"socks",soloSelected:"effectLimb",act:"effectLimb"},{title:"Yeet Organs",icon:"book-dead",soloSelected:"effectOrgans",act:"effectOrgans"}],label:"Harmful Effects",tooltipPosition:"bottom"}],B=function(e,t){var n=(0,l.useBackend)(t),r=n.act,a=n.data,c=(0,l.useLocalState)(t,"tabPageIndex",1),i=c[0],u=c[1],s=a.mapRef,m=N[i].component();return(0,o.createComponentVNode)(2,d.Section,{title:"View",fill:!0,buttons:(0,o.createFragment)([!!a.customDropoff&&1===a.effectReverse&&(0,o.createComponentVNode)(2,d.Button,{inline:!0,color:"transparent",tooltip:"View Dropoff Location",icon:"arrow-circle-down",selected:2===i,onClick:function(){u(2),r("tabSwitch",{tabIndex:2})}}),(0,o.createComponentVNode)(2,d.Button,{inline:!0,color:"transparent",tooltip:"View Pod",icon:"rocket",selected:0===i,onClick:function(){u(0),r("tabSwitch",{tabIndex:0})}}),(0,o.createComponentVNode)(2,d.Button,{inline:!0,color:"transparent",tooltip:"View Source Bay",icon:"th",selected:1===i,onClick:function(){u(1),r("tabSwitch",{tabIndex:1})}}),(0,o.createVNode)(1,"span",null,"|",16,{style:p}),!!a.customDropoff&&1===a.effectReverse&&(0,o.createComponentVNode)(2,d.Button,{inline:!0,color:"transparent",icon:"lightbulb",selected:a.renderLighting,tooltip:"Render Lighting for the dropoff view",onClick:function(){r("renderLighting"),r("refreshView")}}),(0,o.createComponentVNode)(2,d.Button,{inline:!0,color:"transparent",icon:"sync-alt",tooltip:"Refresh view window in case it breaks",onClick:function(){u(i),r("refreshView")}})],0),children:(0,o.createComponentVNode)(2,d.Flex,{direction:"column",height:"100%",children:[(0,o.createComponentVNode)(2,d.Flex.Item,{m:.5,children:(0,o.createComponentVNode)(2,m)}),(0,o.createComponentVNode)(2,d.Flex.Item,{m:.5,grow:1,children:(0,o.createComponentVNode)(2,d.Section,{fill:!0,children:(0,o.createComponentVNode)(2,d.ByondUi,{fillPositionedParent:!0,params:{zoom:0,id:s,type:"map"}})})})]})})},_=function(e,t){return(0,o.createComponentVNode)(2,d.Box,{color:"label",children:["Note: You can right click on this",(0,o.createVNode)(1,"br"),"blueprint pod and edit vars directly"]})},w=function(e,t){var n=(0,l.useBackend)(t),r=n.act,a=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,d.Button,{content:"Teleport",icon:"street-view",onClick:function(){return r("teleportCentcom")}}),(0,o.createComponentVNode)(2,d.Button,{content:a.oldArea?a.oldArea.substring(0,17):"Go Back",disabled:!a.oldArea,icon:"undo-alt",onClick:function(){return r("teleportBack")}})],4)},L=function(e,t){var n=(0,l.useBackend)(t),r=n.act,a=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,d.Button,{content:"Teleport",icon:"street-view",onClick:function(){return r("teleportDropoff")}}),(0,o.createComponentVNode)(2,d.Button,{content:a.oldArea?a.oldArea.substring(0,17):"Go Back",disabled:!a.oldArea,icon:"undo-alt",onClick:function(){return r("teleportBack")}})],4)},y=function(e,t){var n=(0,l.useBackend)(t),r=n.act,a=n.data,c=C(t),i=c[0],u=c[1];return(0,o.createComponentVNode)(2,d.Section,{fill:!0,width:"100%",children:(0,o.createComponentVNode)(2,d.Flex,{children:k.map((function(e,t){return(0,o.createFragment)([(0,o.createComponentVNode)(2,d.Flex.Item,{children:[(0,o.createComponentVNode)(2,d.Box,{bold:!0,color:"label",mb:1,children:[1===i&&e.alt_label?e.alt_label:e.label,":"]}),(0,o.createComponentVNode)(2,d.Box,{children:e.list.map((function(t,n){return(0,o.createFragment)([t.divider&&(0,o.createVNode)(1,"span",null,(0,o.createVNode)(1,"b",null,"|",16),2,{style:p}),!t.divider&&(0,o.createComponentVNode)(2,d.Button,{tooltip:t.details&&a.effectShrapnel?t.title+"\n"+a.shrapnelType+"\nMagnitude:"+a.shrapnelMagnitude:t.title,tooltipPosition:e.tooltipPosition,tooltipOverrideLong:!0,icon:t.icon,content:t.content,selected:t.soloSelected?a[t.soloSelected]:a[t.selected]===t.choiceNumber,onClick:function(){return 0!==a.payload?r(t.act,t.payload):r(t.act)},style:{"vertical-align":"middle","margin-left":0!==n?"1px":"0px","margin-right":n!==e.list.length-1?"1px":"0px","border-radius":"5px"}})],0,n)}))})]}),t=v.length-2?t%2==1?"top-left":"top-right":t%2==1?"bottom-left":"bottom-right",tooltip:e.title,style:{"vertical-align":"middle","margin-right":"5px","border-radius":"20px"},selected:c.styleChoice-1===t,onClick:function(){return r("setStyle",{style:t})},children:(0,o.createComponentVNode)(2,d.Box,{className:(0,a.classes)(["supplypods64x64","pod_asset"+(t+1)]),style:{transform:"rotate(45deg) translate(-25%,-10%)","pointer-events":"none"}})},t)}))})},P=function(e,t){var n=(0,l.useBackend)(t),r=n.act,a=n.data;C(t)[0];return(0,o.createComponentVNode)(2,d.Section,{fill:!0,title:"Bay",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,d.Button,{icon:"trash",color:"transparent",tooltip:"Clears everything\nfrom the selected bay",tooltipOverrideLong:!0,tooltipPosition:"bottom-right",onClick:function(){return r("clearBay")}}),(0,o.createComponentVNode)(2,d.Button,{icon:"question",color:"transparent",tooltip:'Each option corresponds\nto an area on centcom.\nLaunched pods will\nbe filled with items\nin these areas according\nto the "Load from Bay"\noptions at the top left.',tooltipOverrideLong:!0,tooltipPosition:"bottom-right"})],4),children:x.map((function(e,t){return(0,o.createComponentVNode)(2,d.Button,{content:e.title,tooltipPosition:"bottom-right",selected:a.bayNumber===""+(t+1),onClick:function(){return r("switchBay",{bayNumber:""+(t+1)})}},t)}))})},F=function(e,t){var n=(0,l.useBackend)(t),r=n.act,a=n.data;return(0,o.createComponentVNode)(2,d.Section,{fill:!0,title:"Time",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,d.Button,{icon:"undo",color:"transparent",tooltip:"Reset all pod\ntimings/delays",tooltipOverrideLong:!0,tooltipPosition:"bottom-right",onClick:function(){return r("resetTiming")}}),(0,o.createComponentVNode)(2,d.Button,{icon:1===a.custom_rev_delay?"toggle-on":"toggle-off",selected:a.custom_rev_delay,disabled:!a.effectReverse,color:"transparent",tooltip:"Toggle Reverse Delays\nNote: Top set is\nnormal delays, bottom set\nis reversing pod's delays",tooltipOverrideLong:!0,tooltipPosition:"bottom-right",onClick:function(){return r("toggleRevDelays")}})],4),children:[(0,o.createComponentVNode)(2,M,{delay_list:b}),a.custom_rev_delay&&(0,o.createFragment)([(0,o.createComponentVNode)(2,d.Divider,{horizontal:!0}),(0,o.createComponentVNode)(2,M,{delay_list:f,reverse:!0})],4)||""]})},M=function(e,t){var n=(0,l.useBackend)(t),a=n.act,c=n.data,i=e.delay_list,u=e.reverse,s=void 0!==u&&u;return(0,o.createComponentVNode)(2,d.LabeledControls,{wrap:!0,children:i.map((function(e,t){return(0,o.createComponentVNode)(2,d.LabeledControls.Item,{label:c.custom_rev_delay?"":e.title,children:(0,o.createComponentVNode)(2,d.Knob,{inline:!0,step:.02,size:c.custom_rev_delay?.75:1,value:(s?c.rev_delays[t+1]:c.delays[t+1])/10,unclamped:!0,minValue:0,unit:"s",format:function(e){return(0,r.toFixed)(e,2)},maxValue:10,color:(s?c.rev_delays[t+1]:c.delays[t+1])/10>10?"orange":"default",onDrag:function(e,n){a("editTiming",{timer:""+(t+1),value:Math.max(n,0),reverse:s})}})},t)}))})},R=function(e,t){var n=(0,l.useBackend)(t),r=n.act,a=n.data;return(0,o.createComponentVNode)(2,d.Section,{fill:!0,title:"Sounds",buttons:(0,o.createComponentVNode)(2,d.Button,{icon:"volume-up",color:"transparent",selected:a.soundVolume!==a.defaultSoundVolume,tooltip:"Sound Volume:"+a.soundVolume,tooltipOverrideLong:!0,onClick:function(){return r("soundVolume")}}),children:g.map((function(e,t){return(0,o.createComponentVNode)(2,d.Button,{content:e.title,tooltip:e.tooltip,tooltipPosition:"top-right",tooltipOverrideLong:!0,selected:a[e.act],onClick:function(){return r(e.act)}},t)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemAcclimator=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.ChemAcclimator=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:320,height:271,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(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:[l.chem_temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:l.target_temperature,unit:"K",width:"59px",minValue:0,maxValue:1e3,step:5,stepPixelSize:2,onChange:function(e,t){return i("set_target_temperature",{temperature:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Acceptable Temp. Difference",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:l.allowed_temperature_difference,unit:"K",width:"59px",minValue:1,maxValue:l.target_temperature,stepPixelSize:2,onChange:function(e,t){i("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:l.enabled?"On":"Off",selected:l.enabled,onClick:function(){return i("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:l.max_volume,unit:"u",width:"50px",minValue:l.reagent_volume,maxValue:200,step:2,stepPixelSize:2,onChange:function(e,t){return i("change_volume",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Operation",children:l.acclimate_state}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current State",children:l.emptying?"Emptying":"Filling"})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDebugSynthesizer=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.ChemDebugSynthesizer=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.amount,u=l.beakerCurrentVolume,s=l.beakerMaxVolume,m=l.isBeakerLoaded,p=l.beakerContents,C=void 0===p?[]:p;return(0,o.createComponentVNode)(2,c.Window,{width:390,height:330,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{title:"Recipient",buttons:m?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return i("ejectBeaker")}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:d,unit:"u",minValue:1,maxValue:s,step:1,stepPixelSize:2,onChange:function(e,t){return i("amount",{amount:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Input",onClick:function(){return i("input")}})],4):(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Create Beaker",onClick:function(){return i("makecup")}}),children:m?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})," / "+s+" u"]}),C.length>0?(0,o.createComponentVNode)(2,a.LabeledList,{children:C.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(0),r=n(8),a=n(18),c=n(2),i=n(1),l=n(3);t.ChemDispenser=function(e,t){var n=(0,c.useBackend)(t),d=n.act,u=n.data,s=!!u.recordingRecipe,m=Object.keys(u.recipes).map((function(e){return{name:e,contents:u.recipes[e]}})),p=u.beakerTransferAmounts||[],C=s&&Object.keys(u.recordingRecipe).map((function(e){return{id:e,name:(0,a.toTitleCase)(e.replace(/_/," ")),volume:u.recordingRecipe[e]}}))||u.beakerContents||[];return(0,o.createComponentVNode)(2,l.Window,{width:565,height:620,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:s&&(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:1,color:"red",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"circle",mr:1}),"Recording"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Energy",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:u.energy/u.maxEnergy,children:(0,r.toFixed)(u.energy)+" units"})})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Recipes",buttons:(0,o.createFragment)([!s&&(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:1,children:(0,o.createComponentVNode)(2,i.Button,{color:"transparent",content:"Clear recipes",onClick:function(){return d("clear_recipes")}})}),!s&&(0,o.createComponentVNode)(2,i.Button,{icon:"circle",disabled:!u.isBeakerLoaded,content:"Record",onClick:function(){return d("record_recipe")}}),s&&(0,o.createComponentVNode)(2,i.Button,{icon:"ban",color:"transparent",content:"Discard",onClick:function(){return d("cancel_recording")}}),s&&(0,o.createComponentVNode)(2,i.Button,{icon:"save",color:"green",content:"Save",onClick:function(){return d("save_recording")}})],0),children:(0,o.createComponentVNode)(2,i.Box,{mr:-1,children:[m.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"tint",width:"129.5px",lineHeight:1.75,content:e.name,onClick:function(){return d("dispense_recipe",{recipe:e.name})}},e.name)})),0===m.length&&(0,o.createComponentVNode)(2,i.Box,{color:"light-gray",children:"No recipes."})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Dispense",buttons:p.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"plus",selected:e===u.amount,content:e,onClick:function(){return d("amount",{target:e})}},e)})),children:(0,o.createComponentVNode)(2,i.Box,{mr:-1,children:u.chemicals.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"tint",width:"129.5px",lineHeight:1.75,content:e.title,onClick:function(){return d("dispense",{reagent:e.id})}},e.id)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:p.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"minus",disabled:s,content:e,onClick:function(){return d("remove",{amount:e})}},e)})),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Beaker",buttons:!!u.isBeakerLoaded&&(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",disabled:!u.isBeakerLoaded,onClick:function(){return d("eject")}}),children:(s?"Virtual beaker":u.isBeakerLoaded&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.AnimatedNumber,{initial:0,value:u.beakerCurrentVolume}),(0,o.createTextVNode)("/"),u.beakerMaxVolume,(0,o.createTextVNode)(" units")],0))||"No beaker"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Contents",children:[(0,o.createComponentVNode)(2,i.Box,{color:"label",children:u.isBeakerLoaded||s?0===C.length&&"Nothing":"N/A"}),C.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{color:"label",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{initial:0,value:e.volume})," ","units of ",e.name]},e.name)}))]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemFilter=t.ChemFilterPane=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=function(e,t){var n=(0,r.useBackend)(t).act,c=e.title,i=e.list,l=e.reagentName,d=e.onReagentInput,u=c.toLowerCase();return(0,o.createComponentVNode)(2,a.Section,{title:c,minHeight:"240px",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Input,{placeholder:"Reagent",width:"140px",onInput:function(e,t){return d(t)}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",onClick:function(){return n("add",{which:u,name:l})}})],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 n("remove",{which:u,reagent:e})}})],4,e)}))})};t.ChemFilterPane=i;t.ChemFilter=function(e,t){var n=(0,r.useBackend)(t),l=(n.act,n.data),d=l.left,u=void 0===d?[]:d,s=l.right,m=void 0===s?[]:s,p=(0,r.useLocalState)(t,"leftName",""),C=p[0],h=p[1],N=(0,r.useLocalState)(t,"rightName",""),V=N[0],b=N[1];return(0,o.createComponentVNode)(2,c.Window,{width:500,height:300,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i,{title:"Left",list:u,reagentName:C,onReagentInput:function(e){return h(e)}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i,{title:"Right",list:m,reagentName:V,onReagentInput:function(e){return b(e)}})})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemHeater=void 0;var o=n(0),r=n(8),a=n(2),c=n(1),i=n(3),l=n(206);t.ChemHeater=function(e,t){var n=(0,a.useBackend)(t),d=n.act,u=n.data,s=u.targetTemp,m=u.isActive,p=u.isBeakerLoaded,C=u.currentTemp,h=u.beakerCurrentVolume,N=u.beakerMaxVolume,V=u.beakerContents,b=void 0===V?[]:V;return(0,o.createComponentVNode)(2,i.Window,{width:275,height:320,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Section,{title:"Thermostat",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:m?"power-off":"times",selected:m,content:m?"On":"Off",onClick:function(){return d("power")}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Target",children:(0,o.createComponentVNode)(2,c.NumberInput,{width:"65px",unit:"K",step:10,stepPixelSize:3,value:(0,r.round)(s),minValue:0,maxValue:1e3,onDrag:function(e,t){return d("temperature",{target:t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Reading",children:(0,o.createComponentVNode)(2,c.Box,{width:"60px",textAlign:"right",children:p&&(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:C,format:function(e){return(0,r.toFixed)(e)+" K"}})||"\u2014"})})]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Beaker",buttons:!!p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"label",mr:2,children:[h," / ",N," units"]}),(0,o.createComponentVNode)(2,c.Button,{icon:"eject",content:"Eject",onClick:function(){return d("eject")}})],4),children:(0,o.createComponentVNode)(2,l.BeakerContents,{beakerLoaded:p,beakerContents:b})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemMaster=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.ChemMaster=function(e,t){var n=(0,r.useBackend)(t).data.screen;return(0,o.createComponentVNode)(2,c.Window,{width:465,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:"analyze"===n&&(0,o.createComponentVNode)(2,m)||(0,o.createComponentVNode)(2,i)})})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,u=i.screen,p=i.beakerContents,C=void 0===p?[]:p,h=i.bufferContents,N=void 0===h?[]:h,V=i.beakerCurrentVolume,b=i.beakerMaxVolume,f=i.isBeakerLoaded,g=i.isPillBottleLoaded,v=i.pillBottleCurrentAmount,x=i.pillBottleMaxAmount;return"analyze"===u?(0,o.createComponentVNode)(2,m):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:!!i.isBeakerLoaded&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:2,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:V,initial:0})," / "+b+" units"]}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return c("eject")}})],4),children:[!f&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"No beaker loaded."}),!!f&&0===C.length&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"Beaker is empty."}),(0,o.createComponentVNode)(2,l,{children:C.map((function(e){return(0,o.createComponentVNode)(2,d,{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:i.mode?"good":"bad",icon:i.mode?"exchange-alt":"times",content:i.mode?"Transfer":"Destroy",onClick:function(){return c("toggleMode")}})],4),children:[0===N.length&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"Buffer is empty."}),(0,o.createComponentVNode)(2,l,{children:N.map((function(e){return(0,o.createComponentVNode)(2,d,{chemical:e,transferTo:"beaker"},e.id)}))})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Packaging",children:(0,o.createComponentVNode)(2,s)}),!!g&&(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," / ",x," pills"]}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return c("ejectPillBottle")}})],4)})],0)},l=a.Table,d=function(e,t){var n=(0,r.useBackend)(t).act,c=e.chemical,i=e.transferTo;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:c.volume,initial:0})," units of "+c.name]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,a.Button,{content:"1",onClick:function(){return n("transfer",{id:c.id,amount:1,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"5",onClick:function(){return n("transfer",{id:c.id,amount:5,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"10",onClick:function(){return n("transfer",{id:c.id,amount:10,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"All",onClick:function(){return n("transfer",{id:c.id,amount:1e3,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"ellipsis-h",title:"Custom amount",onClick:function(){return n("transfer",{id:c.id,amount:-1,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"question",title:"Analyze",onClick:function(){return n("analyze",{id:c.id})}})]})]},c.id)},u=function(e){var t=e.label,n=e.amountUnit,r=e.amount,c=e.onChangeAmount,i=e.onCreate,l=e.sideNote;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,children:[(0,o.createComponentVNode)(2,a.NumberInput,{width:"84px",unit:n,step:1,stepPixelSize:15,value:r,minValue:1,maxValue:10,onChange:c}),(0,o.createComponentVNode)(2,a.Button,{ml:1,content:"Create",onClick:i}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,ml:1,color:"label",children:l})]})},s=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=(0,r.useSharedState)(t,"pillAmount",1),d=l[0],s=l[1],m=(0,r.useSharedState)(t,"patchAmount",1),p=m[0],C=m[1],h=(0,r.useSharedState)(t,"bottleAmount",1),N=h[0],V=h[1],b=(0,r.useSharedState)(t,"packAmount",1),f=b[0],g=b[1],v=i.condi,x=i.chosenPillStyle,k=i.chosenCondiStyle,B=i.autoCondiStyle,_=i.pillStyles,w=void 0===_?[]:_,L=i.condiStyles,y=void 0===L?[]:L,S=B===k;return(0,o.createComponentVNode)(2,a.LabeledList,{children:[!v&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill type",children:w.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:"30px",selected:e.id===x,textAlign:"center",color:"transparent",onClick:function(){return c("pillStyle",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.className})},e.id)}))}),!v&&(0,o.createComponentVNode)(2,u,{label:"Pills",amount:d,amountUnit:"pills",sideNote:"max 50u",onChangeAmount:function(e,t){return s(t)},onCreate:function(){return c("create",{type:"pill",amount:d,volume:"auto"})}}),!v&&(0,o.createComponentVNode)(2,u,{label:"Patches",amount:p,amountUnit:"patches",sideNote:"max 40u",onChangeAmount:function(e,t){return C(t)},onCreate:function(){return c("create",{type:"patch",amount:p,volume:"auto"})}}),!v&&(0,o.createComponentVNode)(2,u,{label:"Bottles",amount:N,amountUnit:"bottles",sideNote:"max 30u",onChangeAmount:function(e,t){return V(t)},onCreate:function(){return c("create",{type:"bottle",amount:N,volume:"auto"})}}),!!v&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Bottle type",children:(0,o.createComponentVNode)(2,a.Button.Checkbox,{onClick:function(){return c("condiStyle",{id:S?y[0].id:B})},checked:S,disabled:!y.length,children:"Guess from contents"})}),!!v&&!S&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"",children:y.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:"30px",selected:e.id===k,textAlign:"center",color:"transparent",title:e.title,onClick:function(){return c("condiStyle",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.className})},e.id)}))}),!!v&&(0,o.createComponentVNode)(2,u,{label:"Bottles",amount:N,amountUnit:"bottles",sideNote:"max 50u",onChangeAmount:function(e,t){return V(t)},onCreate:function(){return c("create",{type:"condimentBottle",amount:N,volume:"auto"})}}),!!v&&(0,o.createComponentVNode)(2,u,{label:"Packs",amount:f,amountUnit:"packs",sideNote:"max 10u",onChangeAmount:function(e,t){return g(t)},onCreate:function(){return c("create",{type:"condimentPack",amount:f,volume:"auto"})}})]})},m=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.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 c("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(0),r=n(2),a=n(1),c=n(3);t.ChemPress=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.current_volume,u=l.product_name,s=l.pill_style,m=l.pill_styles,p=void 0===m?[]:m,C=l.product,h=l.min_volume,N=l.max_volume;return(0,o.createComponentVNode)(2,c.Window,{width:300,height:227,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Product",children:[(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:"Pills",checked:"pill"===C,onClick:function(){return i("change_product",{product:"pill"})}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:"Patches",checked:"patch"===C,onClick:function(){return i("change_product",{product:"patch"})}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:"Bottles",checked:"bottle"===C,onClick:function(){return i("change_product",{product:"bottle"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:d,unit:"u",width:"43px",minValue:h,maxValue:N,step:1,stepPixelSize:2,onChange:function(e,t){return i("change_current_volume",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:[(0,o.createComponentVNode)(2,a.Input,{value:u,placeholder:u,onChange:function(e,t){return i("change_product_name",{name:t})}}),(0,o.createComponentVNode)(2,a.Box,{as:"span",children:C})]}),"pill"===C&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Style",children:p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:"30px",selected:e.id===s,textAlign:"center",color:"transparent",onClick:function(){return i("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(0),r=n(10),a=n(6),c=n(2),i=n(1),l=n(3);t.ChemReactionChamber=function(e,t){var n=(0,c.useBackend)(t),d=n.act,u=n.data,s=(0,c.useLocalState)(t,"reagentName",""),m=s[0],p=s[1],C=(0,c.useLocalState)(t,"reagentQuantity",1),h=C[0],N=C[1],V=u.emptying,b=u.reagents||[];return(0,o.createComponentVNode)(2,l.Window,{width:250,height:225,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{title:"Reagents",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,color:V?"bad":"good",children:V?"Emptying":"Filling"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createVNode)(1,"tr","LabledList__row",[(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createComponentVNode)(2,i.Input,{fluid:!0,value:"",placeholder:"Reagent Name",onInput:function(e,t){return p(t)}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td",(0,a.classes)(["LabeledList__buttons","LabeledList__cell"]),[(0,o.createComponentVNode)(2,i.NumberInput,{value:h,minValue:1,maxValue:100,step:1,stepPixelSize:3,width:"39px",onDrag:function(e,t){return N(t)}}),(0,o.createComponentVNode)(2,i.Box,{inline:!0,mr:1}),(0,o.createComponentVNode)(2,i.Button,{icon:"plus",onClick:function(){return d("add",{chem:m,amount:h})}})],4)],4),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:t,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"minus",color:"bad",onClick:function(){return d("remove",{chem:t})}}),children:e},t)}))(b)]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSplitter=void 0;var o=n(0),r=n(8),a=n(2),c=n(1),i=n(3);t.ChemSplitter=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.straight,s=d.side,m=d.max_transfer;return(0,o.createComponentVNode)(2,i.Window,{width:220,height:105,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Straight",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:u,unit:"u",width:"55px",minValue:1,maxValue:m,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return l("set_amount",{target:"straight",amount:t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Side",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:s,unit:"u",width:"55px",minValue:1,maxValue:m,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return l("set_amount",{target:"side",amount:t})}})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSynthesizer=void 0;var o=n(0),r=n(8),a=n(2),c=n(1),i=n(3);t.ChemSynthesizer=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.amount,s=d.current_reagent,m=d.chemicals,p=void 0===m?[]:m,C=d.possible_amounts,h=void 0===C?[]:C;return(0,o.createComponentVNode)(2,i.Window,{width:300,height:375,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c.Section,{children:[(0,o.createComponentVNode)(2,c.Box,{children:h.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"plus",content:(0,r.toFixed)(e,0),selected:e===u,onClick:function(){return l("amount",{target:e})}},(0,r.toFixed)(e,0))}))}),(0,o.createComponentVNode)(2,c.Box,{mt:1,children:p.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"tint",content:e.title,width:"129px",selected:e.id===s,onClick:function(){return l("select",{reagent:e.id})}},e.id)}))})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CivCargoHoldTerminal=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.CivCargoHoldTerminal=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.pad,s=d.sending,m=d.status_report,p=d.id_inserted,C=d.id_bounty_info;d.id_bounty_value,d.id_bounty_num;return(0,o.createComponentVNode)(2,c.Window,{resizable:!0,width:500,height:375,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{children:[(0,o.createComponentVNode)(2,a.NoticeBox,{color:p?"blue":"default",children:p?"Welcome valued employee.":"To begin, insert your ID into the console."}),(0,o.createComponentVNode)(2,a.Section,{title:"Cargo Pad",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:u?"good":"bad",children:u?"Online":"Not Found"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cargo Report",children:m})]})}),(0,o.createComponentVNode)(2,i)]}),(0,o.createComponentVNode)(2,a.Flex.Item,{m:1,children:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"sync",content:"Check Contents",disabled:!u||!p,onClick:function(){return l("recalc")}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:s?"times":"arrow-up",content:s?"Stop Sending":"Send Goods",selected:s,disabled:!u||!p,onClick:function(){return l(s?"stop":"send")}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:C?"recycle":"pen",color:C?"green":"default",content:C?"Replace Bounty":"New Bounty",disabled:!p,onClick:function(){return l("bounty")}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Eject",disabled:!p,onClick:function(){return l("eject")}})],4)})]})})})};var i=function(e,t){var n=(0,r.useBackend)(t).data,c=n.id_bounty_info,i=n.id_bounty_value,l=n.id_bounty_num;return(0,o.createComponentVNode)(2,a.Section,{title:"Bounty Info",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Description",children:c||"N/A, please add a new bounty."}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Quantity",children:c?l:"N/A"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Value",children:c?i:"N/A"})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CodexGigas=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=["Dark","Hellish","Fallen","Fiery","Sinful","Blood","Fluffy"],l=["Lord","Prelate","Count","Viscount","Vizier","Elder","Adept"],d=["hal","ve","odr","neit","ci","quon","mya","folth","wren","geyr","hil","niet","twou","phi","coa"],u=["the Red","the Soulless","the Master","the Lord of all things","Jr."];t.CodexGigas=function(e,t){var n=(0,r.useBackend)(t),s=n.act,m=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:450,height:450,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{children:[m.name,(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prefix",children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:1!==m.currentSection,onClick:function(){return s(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Title",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:m.currentSection>2,onClick:function(){return s(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:m.currentSection>4,onClick:function(){return s(e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suffix",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:4!==m.currentSection,onClick:function(){return s(" "+e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Submit",children:(0,o.createComponentVNode)(2,a.Button,{content:"Search",disabled:m.currentSection<4,onClick:function(){return s("search")}})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CommunicationsConsole=void 0;var o=n(0),r=n(10),a=n(18),c=n(2),i=n(1),l=n(3),d=n(207),u="buying_shuttle",s="changing_status",m="main",p="messages",C=(0,r.sortBy)((function(e){return e.creditCost})),h=function(e,t){var n=(0,c.useBackend)(t),r=n.act,l=n.data,d=l.alertLevelTick,u=l.canSetAlertLevel,s=e.alertLevel,m=e.setShowAlertLevelConfirm,p=l.alertLevel===s;return(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",color:p&&"good",content:(0,a.capitalize)(s),onClick:function(){p||("SWIPE_NEEDED"===u?m([s,d]):r("changeSecurityLevel",{newSecurityLevel:s}))}})},N=function(e,t){var n=(0,c.useBackend)(t).data.maxMessageLength,r=(0,c.useLocalState)(t,e.label,""),a=r[0],l=r[1],d=e.minLength===undefined||a.length>=e.minLength;return(0,o.createComponentVNode)(2,i.Modal,{children:(0,o.createComponentVNode)(2,i.Flex,{direction:"column",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{fontSize:"16px",maxWidth:"90vw",mb:1,children:[e.label,":"]}),(0,o.createComponentVNode)(2,i.Flex.Item,{mr:2,mb:1,children:(0,o.createComponentVNode)(2,i.TextArea,{fluid:!0,height:"20vh",width:"80vw",backgroundColor:"black",textColor:"white",onInput:function(e,t){l(t.substring(0,n))},value:a})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:e.icon,content:e.buttonText,color:"good",disabled:!d,tooltip:d?"":"You need a longer reason.",tooltipPosition:"right",onClick:function(){d&&(l(""),e.onSubmit(a))}}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Cancel",color:"bad",onClick:e.onBack})]}),!!e.notice&&(0,o.createComponentVNode)(2,i.Flex.Item,{maxWidth:"90vw",children:e.notice})]})})},V=function(e,t){var n=(0,c.useBackend)(t),r=n.act,a=n.data;return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"chevron-left",content:"Back",onClick:function(){return r("setState",{state:m})}})}),(0,o.createComponentVNode)(2,i.Section,{children:["Budget: ",(0,o.createVNode)(1,"b",null,a.budget.toLocaleString(),0)," credits"]}),C(a.shuttles).map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:(0,o.createVNode)(1,"span",null,e.name,0,{style:{display:"inline-block",width:"70%"}}),buttons:(0,o.createComponentVNode)(2,i.Button,{content:e.creditCost.toLocaleString()+" credits",disabled:a.budget0&&(0,o.createComponentVNode)(2,i.Section,{title:"Allied Sectors",children:(0,o.createComponentVNode)(2,i.Flex,{direction:"column",children:[y.map((function(e){return(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Send a message to station in "+e+" sector",disabled:!L,onClick:function(){return z(e)}})},e)})),y.length>2&&(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Send a message to all allied stations",disabled:!L,onClick:function(){return z("all")}})})]})}),!!x&&y.length>0&&E&&(0,o.createComponentVNode)(2,N,{label:"Message to send to allied station",notice:"Please be aware that this process is very expensive, and abuse will lead to...termination.",icon:"bullhorn",buttonText:"Send",onBack:function(){return z(null)},onSubmit:function(e){r("sendToOtherSector",{destination:E,message:e}),z(null)}})]})},g=function(e,t){var n=(0,c.useBackend)(t),r=n.act,a=n.data.messages||[],l=[];l.push((0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"chevron-left",content:"Back",onClick:function(){return r("setState",{state:m})}})}));for(var u=[],s=function(){var e=C[p],t=e[0],n=e[1],a=null;n.possibleAnswers.length>0&&(a=(0,o.createComponentVNode)(2,i.Box,{mt:1,children:n.possibleAnswers.map((function(e,a){return(0,o.createComponentVNode)(2,i.Button,{content:e,color:n.answered===a+1?"good":undefined,onClick:n.answered?undefined:function(){return r("answerMessage",{message:t+1,answer:a+1})}},a)}))}));var c={__html:(0,d.sanitizeText)(n.content)};u.push((0,o.createComponentVNode)(2,i.Section,{title:n.title,buttons:(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",content:"Delete",color:"red",onClick:function(){return r("deleteMessage",{message:t+1})}}),children:[(0,o.createComponentVNode)(2,i.Box,{dangerouslySetInnerHTML:c}),a]},t))},p=0,C=Object.entries(a);p=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},s=function(e){var t=e.type,n=e.value;return(0,o.createComponentVNode)(2,c.Box,{inline:!0,width:2,color:i.COLORS.damageType[t],textAlign:"center",children:n})};t.CrewConsole=function(){return(0,o.createComponentVNode)(2,l.Window,{title:"Crew Monitor",width:600,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c.Section,{minHeight:"540px",children:(0,o.createComponentVNode)(2,m)})})})};var m=function(e,t){var n,i=(0,a.useBackend)(t),l=(i.act,i.data),d=(0,r.sortBy)((function(e){return e.ijob}))(null!=(n=l.sensors)?n:[]);return(0,o.createComponentVNode)(2,c.Table,{children:[(0,o.createComponentVNode)(2,c.Table.Row,{children:[(0,o.createComponentVNode)(2,c.Table.Cell,{bold:!0,children:"Name"}),(0,o.createComponentVNode)(2,c.Table.Cell,{bold:!0,collapsing:!0}),(0,o.createComponentVNode)(2,c.Table.Cell,{bold:!0,collapsing:!0,textAlign:"center",children:"Vitals"}),(0,o.createComponentVNode)(2,c.Table.Cell,{bold:!0,children:"Position"}),!!l.link_allowed&&(0,o.createComponentVNode)(2,c.Table.Cell,{bold:!0,collapsing:!0,children:"Tracking"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,p,{sensor_data:e},e.ref)}))]})},p=function(e,t){var n,r,i,l,m,p,C,h=(0,a.useBackend)(t),N=h.act,V=h.data.link_allowed,b=e.sensor_data,f=b.name,g=b.assignment,v=b.ijob,x=b.life_status,k=b.oxydam,B=b.toxdam,_=b.burndam,w=b.brutedam,L=b.area,y=b.can_track;return(0,o.createComponentVNode)(2,c.Table.Row,{children:[(0,o.createComponentVNode)(2,c.Table.Cell,{bold:(C=v,C%10==0),color:u(v),children:[f,g!==undefined?" ("+g+")":""]}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,o.createComponentVNode)(2,c.ColorBox,{color:(n=k,r=B,i=_,l=w,m=n+r+i+l,p=Math.min(Math.max(Math.ceil(m/25),0),5),d[p])})}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"center",children:k!==undefined?(0,o.createComponentVNode)(2,c.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,s,{type:"oxy",value:k}),"/",(0,o.createComponentVNode)(2,s,{type:"toxin",value:B}),"/",(0,o.createComponentVNode)(2,s,{type:"burn",value:_}),"/",(0,o.createComponentVNode)(2,s,{type:"brute",value:w})]}):x?"Alive":"Dead"}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:L!==undefined?L:"N/A"}),!!V&&(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,c.Button,{content:"Track",disabled:!y,onClick:function(){return N("select_person",{name:f})}})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Cryo=void 0;var o=n(0),r=n(2),a=n(1),c=n(206),i=n(3),l=[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}];t.Cryo=function(){return(0,o.createComponentVNode)(2,i.Window,{width:400,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,d)})})};var d=function(e,t){var n=(0,r.useBackend)(t),i=n.act,d=n.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",children:d.occupant.name||"No Occupant"}),!!d.hasOccupant&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:d.occupant.statstate,children:d.occupant.stat}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",color:d.occupant.temperaturestatus,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d.occupant.bodyTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.occupant.health/d.occupant.maxHealth,color:d.occupant.health>0?"good":"average",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d.occupant.health})})}),l.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.occupant[e.type]/100,children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d.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",children:(0,o.createComponentVNode)(2,a.Button,{icon:d.isOperating?"power-off":"times",disabled:d.isOpen,onClick:function(){return i("power")},color:d.isOperating&&"green",children:d.isOperating?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d.cellTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:[(0,o.createComponentVNode)(2,a.Button,{icon:d.isOpen?"unlock":"lock",onClick:function(){return i("door")},content:d.isOpen?"Open":"Closed"}),(0,o.createComponentVNode)(2,a.Button,{icon:d.autoEject?"sign-out-alt":"sign-in-alt",onClick:function(){return i("autoeject")},content:d.autoEject?"Auto":"Manual"})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!d.isBeakerLoaded,onClick:function(){return i("ejectbeaker")},content:"Eject"}),children:(0,o.createComponentVNode)(2,c.BeakerContents,{beakerLoaded:d.isBeakerLoaded,beakerContents:d.beakerContents})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.DecalPainter=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.DecalPainter=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.decal_list||[],u=l.color_list||[],s=l.dir_list||[];return(0,o.createComponentVNode)(2,c.Window,{width:500,height:400,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Decal Type",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,selected:e.decal===l.decal_style,onClick:function(){return i("select decal",{decals:e.decal})}},e.decal)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Color",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:"red"===e.colors?"Red":"white"===e.colors?"White":"Yellow",selected:e.colors===l.decal_color,onClick:function(){return i("select color",{colors:e.colors})}},e.colors)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Direction",children:s.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===l.decal_direction,onClick:function(){return i("selected direction",{dirs:e.dirs})}},e.dirs)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalUnit=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.DisposalUnit=function(e,t){var n,i,l=(0,r.useBackend)(t),d=l.act,u=l.data;return u.full_pressure?(n="good",i="Ready"):u.panel_open?(n="bad",i="Power Disabled"):u.pressure_charging?(n="average",i="Pressurizing"):(n="bad",i="Off"),(0,o.createComponentVNode)(2,c.Window,{width:300,height:180,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:n,children:i}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:u.per,color:"good"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Handle",children:(0,o.createComponentVNode)(2,a.Button,{icon:u.flush?"toggle-on":"toggle-off",disabled:u.isai||u.panel_open,content:u.flush?"Disengage":"Engage",onClick:function(){return d(u.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:u.isai,content:"Eject Contents",onClick:function(){return d("eject")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",disabled:u.panel_open,selected:u.pressure_charging,onClick:function(){return d(u.pressure_charging?"pump-0":"pump-1")}})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DnaConsoleCommands=t.DnaConsole=void 0;var o=n(0),r=n(10),a=n(24),c=n(6),i=n(18),l=n(51),d=n(2),u=n(1),s=n(3);var m=["A","T","C","G"],p={A:"green",T:"green",G:"blue",C:"blue",X:"grey"},C="storage",h="sequencer",N="enzymes",V="console",b="disk",f="injector",g="mutations",v="chromosomes",x="mutations",k="diskenzymes",B={1:"good",2:"bad",4:"average"},_=function(e,t){return e.Alias===t.Alias&&e.AppliedChromo===t.AppliedChromo};t.DnaConsole=function(e,t){var n=(0,d.useBackend)(t),r=n.data,a=(n.act,r.isPulsingRads),c=r.radPulseSeconds,i=r.view.consoleMode;return(0,o.createComponentVNode)(2,s.Window,{title:"DNA Console",width:539,height:710,resizable:!0,children:[!!a&&(0,o.createComponentVNode)(2,u.Dimmer,{fontSize:"14px",textAlign:"center",children:[(0,o.createComponentVNode)(2,u.Icon,{mr:1,name:"spinner",spin:!0}),"Radiation pulse in progress...",(0,o.createComponentVNode)(2,u.Box,{mt:1}),c,"s"]}),(0,o.createComponentVNode)(2,s.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,w),(0,o.createComponentVNode)(2,I),i===C&&(0,o.createComponentVNode)(2,A),i===h&&(0,o.createComponentVNode)(2,D),i===N&&(0,o.createComponentVNode)(2,E)]})]})};var w=function(e,t){return(0,o.createComponentVNode)(2,u.Section,{title:"DNA Scanner",buttons:(0,o.createComponentVNode)(2,L),children:(0,o.createComponentVNode)(2,S)})},L=function(e,t){var n=(0,d.useBackend)(t),r=n.data,a=n.act,c=r.hasDelayedAction,i=r.isPulsingRads,l=r.isScannerConnected,s=r.isScrambleReady,m=r.isViableSubject,p=r.scannerLocked,C=r.scannerOpen,h=r.scrambleSeconds;return l?(0,o.createFragment)([!!c&&(0,o.createComponentVNode)(2,u.Button,{content:"Cancel Delayed Action",onClick:function(){return a("cancel_delay")}}),!!m&&(0,o.createComponentVNode)(2,u.Button,{disabled:!s||i,onClick:function(){return a("scramble_dna")},children:["Scramble DNA",!s&&" ("+h+"s)"]}),(0,o.createComponentVNode)(2,u.Box,{inline:!0,mr:1}),(0,o.createComponentVNode)(2,u.Button,{icon:p?"lock":"lock-open",color:p&&"bad",disabled:C,content:p?"Locked":"Unlocked",onClick:function(){return a("toggle_lock")}}),(0,o.createComponentVNode)(2,u.Button,{disabled:p,content:C?"Close":"Open",onClick:function(){return a("toggle_door")}})],0):(0,o.createComponentVNode)(2,u.Button,{content:"Connect Scanner",onClick:function(){return a("connect_scanner")}})},y=function(e,t){var n=e.status;return 0===n?(0,o.createComponentVNode)(2,u.Box,{inline:!0,color:"good",children:"Conscious"}):2===n?(0,o.createComponentVNode)(2,u.Box,{inline:!0,color:"average",children:"Unconscious"}):1===n?(0,o.createComponentVNode)(2,u.Box,{inline:!0,color:"average",children:"Critical"}):3===n?(0,o.createComponentVNode)(2,u.Box,{inline:!0,color:"bad",children:"Dead"}):4===n?(0,o.createComponentVNode)(2,u.Box,{inline:!0,color:"bad",children:"Transforming"}):(0,o.createComponentVNode)(2,u.Box,{inline:!0,children:"Unknown"})},S=function(e,t){var n=(0,d.useBackend)(t),r=n.data,a=(n.act,r.subjectName),c=r.isScannerConnected,i=r.isViableSubject,l=r.subjectHealth,s=r.subjectRads,m=r.subjectStatus;return c?i?(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Status",children:[a,(0,o.createComponentVNode)(2,u.Icon,{mx:1,color:"label",name:"long-arrow-alt-right"}),(0,o.createComponentVNode)(2,y,{status:m})]}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,u.ProgressBar,{value:l,minValue:0,maxValue:100,ranges:{olive:[101,Infinity],good:[70,101],average:[30,70],bad:[-Infinity,30]},children:[l,"%"]})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Radiation",children:(0,o.createComponentVNode)(2,u.ProgressBar,{value:s,minValue:0,maxValue:100,ranges:{bad:[71,Infinity],average:[30,71],good:[0,30],olive:[-Infinity,0]},children:[s,"%"]})})]}):(0,o.createComponentVNode)(2,u.Box,{color:"average",children:"No viable subject found in DNA Scanner."}):(0,o.createComponentVNode)(2,u.Box,{color:"bad",children:"DNA Scanner is not connected."})},I=function(e,t){var n=(0,d.useBackend)(t),r=n.data,a=n.act,c=r.hasDisk,i=r.isInjectorReady,l=r.injectorSeconds,s=r.view.consoleMode;return(0,o.createComponentVNode)(2,u.Section,{title:"DNA Console",buttons:!i&&(0,o.createComponentVNode)(2,u.Box,{lineHeight:"20px",color:"label",children:["Injector on cooldown (",l,"s)"]}),children:(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Mode",children:[(0,o.createComponentVNode)(2,u.Button,{content:"Storage",selected:s===C,onClick:function(){return a("set_view",{consoleMode:C})}}),(0,o.createComponentVNode)(2,u.Button,{content:"Sequencer",disabled:!r.isViableSubject,selected:s===h,onClick:function(){return a("set_view",{consoleMode:h})}}),(0,o.createComponentVNode)(2,u.Button,{content:"Enzymes",selected:s===N,onClick:function(){return a("set_view",{consoleMode:N})}})]}),!!c&&(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Disk",children:(0,o.createComponentVNode)(2,u.Button,{icon:"eject",content:"Eject",onClick:function(){a("eject_disk"),a("set_view",{storageMode:V})}})})]})})};t.DnaConsoleCommands=I;var T=function(e,t){var n=(0,d.useBackend)(t),r=n.data,a=n.act,c=r.hasDisk,i=r.view,l=i.storageMode,s=i.storageConsSubMode,m=i.storageDiskSubMode;return(0,o.createFragment)([l===V&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Button,{selected:s===g,content:"Mutations",onClick:function(){return a("set_view",{storageConsSubMode:g})}}),(0,o.createComponentVNode)(2,u.Button,{selected:s===v,content:"Chromosomes",onClick:function(){return a("set_view",{storageConsSubMode:v})}})],4),l===b&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Button,{selected:m===g,content:"Mutations",onClick:function(){return a("set_view",{storageDiskSubMode:g})}}),(0,o.createComponentVNode)(2,u.Button,{selected:m===k,content:"Enzymes",onClick:function(){return a("set_view",{storageDiskSubMode:k})}})],4),(0,o.createComponentVNode)(2,u.Box,{inline:!0,mr:1}),(0,o.createComponentVNode)(2,u.Button,{content:"Console",selected:l===V,onClick:function(){return a("set_view",{storageMode:V,storageConsSubMode:g})}}),(0,o.createComponentVNode)(2,u.Button,{content:"Disk",disabled:!c,selected:l===b,onClick:function(){return a("set_view",{storageMode:b,storageDiskSubMode:x})}}),(0,o.createComponentVNode)(2,u.Button,{content:"Adv. Injector",selected:l===f,onClick:function(){return a("set_view",{storageMode:f})}})],0)},A=function(e,t){var n=(0,d.useBackend)(t),r=n.data,a=n.act,c=r.view,i=c.storageMode,l=c.storageConsSubMode,s=c.storageDiskSubMode,m=r.diskMakeupBuffer,p=r.diskHasMakeup,C=r.storage[i];return(0,o.createComponentVNode)(2,u.Section,{title:"Storage",buttons:(0,o.createComponentVNode)(2,T),children:[i===V&&l===g&&(0,o.createComponentVNode)(2,P,{mutations:C}),i===V&&l===v&&(0,o.createComponentVNode)(2,F),i===b&&s===x&&(0,o.createComponentVNode)(2,P,{mutations:C}),i===b&&s===k&&(0,o.createFragment)([(0,o.createComponentVNode)(2,U,{makeup:m}),(0,o.createComponentVNode)(2,u.Button,{icon:"times",color:"red",disabled:!p,content:"Delete",onClick:function(){return a("del_makeup_disk")}})],4),i===f&&(0,o.createComponentVNode)(2,Y)]})},P=function(e,t){var n=e.customMode,r=void 0===n?"":n,a=(0,d.useBackend)(t),c=a.data,l=a.act,s=e.mutations||[],m=c.view.storageMode+r,p=c.view["storage"+m+"MutationRef"],C=s.find((function(e){return e.ByondRef===p}));return!C&&s.length>0&&(C=s[0],p=C.ByondRef),(0,o.createComponentVNode)(2,u.Flex,{children:[(0,o.createComponentVNode)(2,u.Flex.Item,{width:"140px",children:(0,o.createComponentVNode)(2,u.Section,{title:(0,i.capitalize)(c.view.storageMode)+" Storage",level:2,children:s.map((function(e){return(0,o.createComponentVNode)(2,u.Button,{fluid:!0,ellipsis:!0,color:"transparent",selected:e.ByondRef===p,content:e.Name,onClick:function(){var t;return l("set_view",((t={})["storage"+m+"MutationRef"]=e.ByondRef,t))}},e.ByondRef)}))})}),(0,o.createComponentVNode)(2,u.Flex.Item,{children:(0,o.createComponentVNode)(2,u.Divider,{vertical:!0})}),(0,o.createComponentVNode)(2,u.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,u.Section,{title:"Mutation Info",level:2,children:(0,o.createComponentVNode)(2,M,{mutation:C})})})]})},F=function(e,t){var n,a=(0,d.useBackend)(t),c=a.data,i=a.act,l=null!=(n=c.chromoStorage)?n:[],s=(0,r.uniqBy)((function(e){return e.Name}))(l),m=c.view.storageChromoName,p=l.find((function(e){return e.Name===m}));return(0,o.createComponentVNode)(2,u.Flex,{children:[(0,o.createComponentVNode)(2,u.Flex.Item,{width:"140px",children:(0,o.createComponentVNode)(2,u.Section,{title:"Console Storage",level:2,children:s.map((function(e){return(0,o.createComponentVNode)(2,u.Button,{fluid:!0,ellipsis:!0,color:"transparent",selected:e.Name===m,content:e.Name,onClick:function(){return i("set_view",{storageChromoName:e.Name})}},e.Index)}))})}),(0,o.createComponentVNode)(2,u.Flex.Item,{children:(0,o.createComponentVNode)(2,u.Divider,{vertical:!0})}),(0,o.createComponentVNode)(2,u.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,u.Section,{title:"Chromosome Info",level:2,children:!p&&(0,o.createComponentVNode)(2,u.Box,{color:"label",children:"Nothing to show."})||(0,o.createFragment)([(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Name",children:p.Name}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Description",children:p.Description}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Amount",children:l.filter((function(e){return e.Name===p.Name})).length})]}),(0,o.createComponentVNode)(2,u.Button,{mt:2,icon:"eject",content:"Eject Chromosome",onClick:function(){return i("eject_chromo",{chromo:p.Name})}})],4)})})]})},M=function(e,t){var n,c,i,l=e.mutation,s=(0,d.useBackend)(t),m=s.data,p=s.act,C=m.diskCapacity,h=m.diskReadOnly,N=m.hasDisk,V=m.isInjectorReady,b=m.isCrisprReady,f=m.crisprCharges,g=null!=(n=m.storage.disk)?n:[],v=null!=(c=m.storage.console)?c:[],x=null!=(i=m.storage.injector)?i:[];if(!l)return(0,o.createComponentVNode)(2,u.Box,{color:"label",children:"Nothing to show."});if("occupant"===l.Source&&!l.Discovered)return(0,o.createComponentVNode)(2,u.LabeledList,{children:(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Name",children:l.Alias})});var k=v.find((function(e){return _(e,l)})),w=g.find((function(e){return _(e,l)})),L=(0,a.flow)([(0,r.uniqBy)((function(e){return e.Name})),(0,r.filter)((function(e){return e.Name!==l.Name}))])([].concat(g,v));return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Name",children:(0,o.createComponentVNode)(2,u.Box,{inline:!0,color:B[l.Quality],children:l.Name})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Description",children:l.Description}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Instability",children:l.Instability})]}),(0,o.createComponentVNode)(2,u.Divider),(0,o.createComponentVNode)(2,u.Box,{children:["disk"===l.Source&&(0,o.createComponentVNode)(2,J,{disabled:!N||C<=0||h,mutations:L,source:l}),"console"===l.Source&&(0,o.createComponentVNode)(2,J,{mutations:L,source:l}),["occupant","disk","console"].includes(l.Source)&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Dropdown,{width:"240px",options:x.map((function(e){return e.name})),disabled:0===x.length||!l.Active,selected:"Add to advanced injector",onSelected:function(e){return p("add_advinj_mut",{mutref:l.ByondRef,advinj:e,source:l.Source})}}),(0,o.createComponentVNode)(2,u.Button,{icon:"syringe",disabled:!V||!l.Active,content:"Print Activator",onClick:function(){return p("print_injector",{mutref:l.ByondRef,is_activator:1,source:l.Source})}}),(0,o.createComponentVNode)(2,u.Button,{icon:"syringe",disabled:!V||!l.Active,content:"Print Mutator",onClick:function(){return p("print_injector",{mutref:l.ByondRef,is_activator:0,source:l.Source})}}),(0,o.createComponentVNode)(2,u.Button,{icon:"syringe",disabled:!l.Active||!b,content:"CRISPR ["+f+"]",onClick:function(){return p("crispr",{mutref:l.ByondRef,source:l.Source})}})],4)]}),["disk","occupant"].includes(l.Source)&&(0,o.createComponentVNode)(2,u.Button,{icon:"save",disabled:k||!l.Active,content:"Save to Console",onClick:function(){return p("save_console",{mutref:l.ByondRef,source:l.Source})}}),["console","occupant"].includes(l.Source)&&(0,o.createComponentVNode)(2,u.Button,{icon:"save",disabled:w||!N||C<=0||h||!l.Active,content:"Save to Disk",onClick:function(){return p("save_disk",{mutref:l.ByondRef,source:l.Source})}}),["console","disk","injector"].includes(l.Source)&&(0,o.createComponentVNode)(2,u.Button,{icon:"times",color:"red",content:"Delete from "+l.Source,onClick:function(){return p("delete_"+l.Source+"_mut",{mutref:l.ByondRef})}}),(2===l.Class||!!l.Scrambled&&"occupant"===l.Source)&&(0,o.createComponentVNode)(2,u.Button,{content:"Nullify",onClick:function(){return p("nullify",{mutref:l.ByondRef})}}),(0,o.createComponentVNode)(2,u.Divider),(0,o.createComponentVNode)(2,R,{disabled:"occupant"!==l.Source,mutation:l})],0)},R=function(e,t){var n=e.mutation,r=e.disabled,a=(0,d.useBackend)(t),c=(a.data,a.act);return 0===n.CanChromo?(0,o.createComponentVNode)(2,u.Box,{color:"label",children:"No compatible chromosomes"}):1===n.CanChromo?r?(0,o.createComponentVNode)(2,u.Box,{color:"label",children:"No chromosome applied."}):(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Dropdown,{width:"240px",options:n.ValidStoredChromos,disabled:0===n.ValidStoredChromos.length,selected:0===n.ValidStoredChromos.length?"No Suitable Chromosomes":"Select a chromosome",onSelected:function(e){return c("apply_chromo",{chromo:e,mutref:n.ByondRef})}}),(0,o.createComponentVNode)(2,u.Box,{color:"label",mt:1,children:["Compatible with: ",n.ValidChromos]})],4):2===n.CanChromo?(0,o.createComponentVNode)(2,u.Box,{color:"label",children:["Applied chromosome: ",n.AppliedChromo]}):null},D=function(e,t){var n,r,a=(0,d.useBackend)(t),c=a.data,i=a.act,s=null!=(n=null==(r=c.storage)?void 0:r.occupant)?n:[],m=c.isJokerReady,p=c.isMonkey,C=c.jokerSeconds,h=c.subjectStatus,N=c.view,V=N.sequencerMutation,b=N.jokerActive,f=s.find((function(e){return e.Alias===V}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Flex,{spacing:1,mb:1,children:[(0,o.createComponentVNode)(2,u.Flex.Item,{width:s.length<=8?"154px":"174px",children:(0,o.createComponentVNode)(2,u.Section,{title:"Sequences",height:"214px",overflowY:s.length>8&&"scroll",children:s.map((function(e){return(0,o.createComponentVNode)(2,j,{url:(0,l.resolveAsset)(e.Image),selected:e.Alias===V,onClick:function(){i("set_view",{sequencerMutation:e.Alias}),i("check_discovery",{alias:e.Alias})}},e.Alias)}))})}),(0,o.createComponentVNode)(2,u.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,u.Section,{title:"Sequence Info",minHeight:"100%",children:(0,o.createComponentVNode)(2,M,{mutation:f})})})]}),3===h&&(0,o.createComponentVNode)(2,u.Section,{color:"bad",children:"Genetic sequence corrupted. Subject diagnostic report: DECEASED."})||p&&"Monkified"!==(null==f?void 0:f.Name)&&(0,o.createComponentVNode)(2,u.Section,{color:"bad",children:"Genetic sequence corrupted. Subject diagnostic report: MONKEY."})||4===h&&(0,o.createComponentVNode)(2,u.Section,{color:"bad",children:"Genetic sequence corrupted. Subject diagnostic report: TRANSFORMING."})||(0,o.createComponentVNode)(2,u.Section,{title:"Genome Sequencer\u2122",buttons:!m&&(0,o.createComponentVNode)(2,u.Box,{lineHeight:"20px",color:"label",children:["Joker on cooldown (",C,"s)"]})||b&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Box,{mr:1,inline:!0,color:"label",children:"Click on a gene to reveal it."}),(0,o.createComponentVNode)(2,u.Button,{content:"Cancel Joker",onClick:function(){return i("set_view",{jokerActive:""})}})],4)||(0,o.createComponentVNode)(2,u.Button,{icon:"crown",color:"purple",content:"Use Joker",onClick:function(){return i("set_view",{jokerActive:"1"})}}),children:(0,o.createComponentVNode)(2,O,{mutation:f})})],0)},j=function(e,t){var n,r=e.url,a=e.selected,c=e.onClick;return a&&(n="2px solid #22aa00"),(0,o.createComponentVNode)(2,u.Box,{as:"img",src:r,style:{width:"64px",margin:"2px","margin-left":"4px",outline:n},onClick:c})},W=function(e,t){var n=e.gene,r=e.onChange,a=e.disabled,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,["gene","onChange","disabled"]),i=m.length,l=m.indexOf(n),d=a&&p.X||p[n];return(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Button,Object.assign({},c,{color:d,onClick:function(e){if(e.preventDefault(),r)if(-1!==l){var t=m[(l+1)%i];r(e,t)}else r(e,m[0])},oncontextmenu:function(e){if(e.preventDefault(),r)if(-1!==l){var t=m[(l-1+i)%i];r(e,t)}else r(e,m[i-1])},children:n})))},O=function(e,t){var n=e.mutation,r=(0,d.useBackend)(t),a=r.data,i=r.act,l=a.view.jokerActive;if(!n)return(0,o.createComponentVNode)(2,u.Box,{color:"average",children:"No genome selected for sequencing."});if(n.Scrambled)return(0,o.createComponentVNode)(2,u.Box,{color:"average",children:"Sequence unreadable due to unpredictable mutation."});for(var s=n.Sequence,m=n.DefaultSeq,p=[],C=function(e){var t=s.charAt(e),r=(0,o.createComponentVNode)(2,W,{width:"22px",textAlign:"center",disabled:!!n.Scrambled||1!==n.Class,className:"X"===(null==m?void 0:m.charAt(e))&&!n.Active&&(0,c.classes)(["outline-solid","outline-color-orange"]),gene:t,onChange:function(t,o){if(!t.ctrlKey)return l?(i("pulse_gene",{pos:e+1,gene:"J",alias:n.Alias}),void i("set_view",{jokerActive:""})):void i("pulse_gene",{pos:e+1,gene:o,alias:n.Alias});i("pulse_gene",{pos:e+1,gene:"X",alias:n.Alias})}});p.push(r)},h=0;h=3){var r=(0,o.createComponentVNode)(2,u.Box,{inline:!0,width:"22px",mx:"1px",children:s});l.push(r),s=[]}},p=0;p=i,onCommit:function(e,t){return a("new_adv_inj",{name:t})}})})]})},J=function(e,t){var n=e.mutations,r=void 0===n?[]:n,a=e.source,c=(0,d.useBackend)(t),i=c.act;c.data;return(0,o.createComponentVNode)(2,u.Dropdown,{width:"240px",options:r.map((function(e){return e.Name})),disabled:0===r.length,selected:"Combine mutations",onSelected:function(e){return i("combine_"+a.Source,{firstref:(t=e,null==(n=r.find((function(e){return e.Name===t})))?void 0:n.ByondRef),secondref:a.ByondRef});var t,n}},a.ByondRef)}},function(e,t,n){"use strict";t.__esModule=!0,t.DnaVault=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.DnaVault=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.completed,u=l.used,s=l.choiceA,m=l.choiceB,p=l.dna,C=l.dna_max,h=l.plants,N=l.plants_max,V=l.animals,b=l.animals_max;return(0,o.createComponentVNode)(2,c.Window,{width:350,height:400,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(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:p/C,children:p+" / "+C+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plant DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:h/N,children:h+" / "+N+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Animal DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:V/b,children:V+" / "+b+" Samples"})})]})}),!(!d||u)&&(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:s,textAlign:"center",onClick:function(){return i("gene",{choice:s})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:m,textAlign:"center",onClick:function(){return i("gene",{choice:m})}})})]})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.EightBallVote=void 0;var o=n(0),r=n(2),a=n(1),c=n(18),i=n(3);t.EightBallVote=function(e,t){var n=(0,r.useBackend)(t),c=(n.act,n.data.shaking);return(0,o.createComponentVNode)(2,i.Window,{width:400,height:600,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No question is currently being asked."})||(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.question,u=l.answers,s=void 0===u?[]:u;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"16px",m:1,children:['"',d,'"']}),(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,c.toTitleCase)(e.answer),selected:e.selected,fontSize:"16px",lineHeight:"24px",textAlign:"center",mb:1,onClick:function(){return i("vote",{answer:e.answer})}}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"30px",children:e.amount})]},e.answer)}))})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Electrolyzer=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.Electrolyzer=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:305,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Power",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Cell",disabled:!l.hasPowercell||!l.open,onClick:function(){return i("eject")}}),(0,o.createComponentVNode)(2,a.Button,{icon:l.on?"power-off":"times",content:l.on?"On":"Off",selected:l.on,disabled:!l.hasPowercell,onClick:function(){return i("power")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell",color:!l.hasPowercell&&"bad",children:l.hasPowercell&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.powerLevel/100,content:l.powerLevel+"%",ranges:{good:[.6,Infinity],average:[.3,.6],bad:[-Infinity,.3]}})||"None"})})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Electropack=void 0;var o=n(0),r=n(8),a=n(2),c=n(1),i=n(3);t.Electropack=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.power,s=d.code,m=d.frequency,p=d.minFrequency,C=d.maxFrequency;return(0,o.createComponentVNode)(2,i.Window,{width:260,height:137,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,c.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return l("power")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Frequency",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"sync",content:"Reset",onClick:function(){return l("reset",{reset:"freq"})}}),children:(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:p/10,maxValue:C/10,value:m/10,format:function(e){return(0,r.toFixed)(e,1)},width:"80px",onDrag:function(e,t){return l("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Code",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"sync",content:"Reset",onClick:function(){return l("reset",{reset:"code"})}}),children:(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:s,width:"80px",onDrag:function(e,t){return l("code",{code:t})}})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.EmergencyShuttleConsole=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.EmergencyShuttleConsole=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.timer_str,u=l.enabled,s=l.emagged,m=l.engines_started,p=l.authorizations_remaining,C=l.authorizations,h=void 0===C?[]:C;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:350,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,fontSize:"40px",textAlign:"center",fontFamily:"monospace",children:d}),(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",fontSize:"16px",mb:1,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,children:"ENGINES:"}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:m?"good":"average",ml:1,children:m?"Online":"Idle"})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Early Launch Authorization",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Repeal All",color:"bad",disabled:!u,onClick:function(){return i("abort")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"exclamation-triangle",color:"good",content:"AUTHORIZE",disabled:!u,onClick:function(){return i("authorize")}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"minus",content:"REPEAL",disabled:!u,onClick:function(){return i("repeal")}})})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Authorizations",level:3,minHeight:"150px",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:s?"bad":"good",children:s?"ERROR":"Remaining: "+p}),children:h.length>0?h.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)})):(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"16px",color:"average",children:"No Active Authorizations"})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.EngravedMessage=void 0;var o=n(0),r=n(18),a=n(2),c=n(1),i=n(3);t.EngravedMessage=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.admin_mode,s=d.creator_key,m=d.creator_name,p=d.has_liked,C=d.has_disliked,h=d.hidden_message,N=d.is_creator,V=d.num_likes,b=d.num_dislikes,f=d.realdate;return(0,o.createComponentVNode)(2,i.Window,{width:600,height:300,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Section,{children:[(0,o.createComponentVNode)(2,c.Box,{bold:!0,textAlign:"center",fontSize:"20px",mb:2,children:(0,r.decodeHtmlEntities)(h)}),(0,o.createComponentVNode)(2,c.Grid,{children:[(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.Button,{fluid:!0,icon:"arrow-up",content:" "+V,disabled:N,selected:p,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return l("like")}})}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.Button,{fluid:!0,icon:"circle",disabled:N,selected:!C&&!p,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return l("neutral")}})}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.Button,{fluid:!0,icon:"arrow-down",content:" "+b,disabled:N,selected:C,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return l("dislike")}})})]})]}),(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Created On",children:f})})}),(0,o.createComponentVNode)(2,c.Section),!!u&&(0,o.createComponentVNode)(2,c.Section,{title:"Admin Panel",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"times",content:"Delete",color:"bad",onClick:function(){return l("delete")}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Creator Ckey",children:s}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Creator Character Name",children:m})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ExosuitControlConsole=void 0;var o=n(0),r=n(8),a=n(2),c=n(1),i=n(3);t.ExosuitControlConsole=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data.mechs,u=void 0===d?[]:d;return(0,o.createComponentVNode)(2,i.Window,{width:500,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[0===u.length&&(0,o.createComponentVNode)(2,c.NoticeBox,{children:"No exosuits detected"}),u.map((function(e){return(0,o.createComponentVNode)(2,c.Section,{title:e.name,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:"envelope",content:"Message",disabled:!e.pilot,onClick:function(){return l("send_message",{tracker_ref:e.tracker_ref})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"wifi",content:e.emp_recharging?"Recharging...":"EMP Burst",color:"bad",disabled:e.emp_recharging,onClick:function(){return l("shock",{tracker_ref:e.tracker_ref})}})],4),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,c.Box,{color:(e.integrity<=30?"bad":e.integrity<=70&&"average")||"good",children:[e.integrity,"%"]})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Charge",children:(0,o.createComponentVNode)(2,c.Box,{color:(e.charge<=30?"bad":e.charge<=70&&"average")||"good",children:"number"==typeof e.charge&&e.charge+"%"||"Not Found"})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Airtank",children:"number"==typeof e.airtank&&(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:e.airtank,format:function(e){return(0,r.toFixed)(e,2)+" kPa"}})||"Not Equipped"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pilot",children:e.pilot.length>0&&e.pilot.map((function(t){return(0,o.createComponentVNode)(2,c.Box,{inline:!0,children:[t,e.pilot.length>1?"|":""]},t)}))||"None"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Location",children:e.location||"Unknown"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Active Equipment",children:e.active_equipment||"None"}),e.cargo_space>=0&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Used Cargo Space",children:(0,o.createComponentVNode)(2,c.Box,{color:(e.cargo_space<=30?"good":e.cargo_space<=70&&"average")||"bad",children:[e.cargo_space,"%"]})})]})},e.tracker_ref)}))]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ExosuitFabricator=void 0;var o,r=n(0),a=n(10),c=n(6),i=n(18),l=n(2),d=n(1),u=n(38),s=n(3);function m(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return p(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);nn?{color:2,deficit:e-n}:t>n?{color:1,deficit:e}:e+t>n?{color:1,deficit:e+t-n}:{color:0,deficit:0}},V=function(e,t,n){var o={textColor:0};return Object.keys(n.cost).forEach((function(r){o[r]=N(n.cost[r],t[r],e[r]),o[r].color>o.textColor&&(o.textColor=o[r].color)})),o};t.ExosuitFabricator=function(e,t){var n,o,a=(0,l.useBackend)(t),c=a.act,i=a.data,u=i.queue||[],m=(n=i.materials||[],o={},n.forEach((function(e){o[e.name]=e.amount})),o),p=function(e,t){var n={},o={},r={},a={};return t.forEach((function(t,c){a[c]=0,Object.keys(t.cost).forEach((function(i){n[i]=n[i]||0,r[i]=r[i]||0,o[i]=N(t.cost[i],n[i],e[i]),0!==o[i].color?a[c]1&&i=0&&m+"s"||"Dispensing..."})]})})})}}},function(e,t,n){"use strict";t.__esModule=!0,t.ForbiddenLore=void 0;var o=n(0),r=n(10),a=n(24),c=n(2),i=n(1),l=n(3);t.ForbiddenLore=function(e,t){var n=(0,c.useBackend)(t),d=n.act,u=n.data,s=u.charges,m=(0,a.flow)([(0,r.sortBy)((function(e){return"Research"!==e.state}),(function(e){return"Side"===e.path}))])(u.to_know||[]);return(0,o.createComponentVNode)(2,l.Window,{width:500,height:900,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{title:"Research Eldritch Knowledge",children:["Charges left : ",s,null!==m?m.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,my:1,children:[e.path," path"]}),(0,o.createComponentVNode)(2,i.Box,{my:1,children:[(0,o.createComponentVNode)(2,i.Button,{content:e.state,disabled:e.disabled,onClick:function(){return d("research",{name:e.name,cost:e.cost})}})," ","Cost : ",e.cost]}),(0,o.createComponentVNode)(2,i.Box,{italic:!0,my:1,children:e.flavour}),(0,o.createComponentVNode)(2,i.Box,{my:1,children:e.desc})]},e.name)})):(0,o.createComponentVNode)(2,i.Box,{children:"No more knowledge can be found"})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Gateway=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.Gateway=function(){return(0,o.createComponentVNode)(2,c.Window,{resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i)})})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.gateway_present,d=void 0!==l&&l,u=i.gateway_status,s=void 0!==u&&u,m=i.current_target,p=void 0===m?null:m,C=i.destinations,h=void 0===C?[]:C;return d?p?(0,o.createComponentVNode)(2,a.Section,{title:p.name,children:[(0,o.createComponentVNode)(2,a.Icon,{name:"rainbow",size:4,color:"green"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,onClick:function(){return c("deactivate")},children:"Deactivate"})]}):h.length?(0,o.createFragment)([!s&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Gateway Unpowered"}),h.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,children:e.available&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,onClick:function(){return c("activate",{destination:e.ref})},children:"Activate"})||(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{m:1,textColor:"bad",children:e.reason}),!!e.timeout&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:e.timeout,children:"Calibrating..."})],0)},e.ref)}))],0):(0,o.createComponentVNode)(2,a.Section,{children:"No gateway nodes detected."}):(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No linked gateway"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,onClick:function(){return c("linkup")},children:"Linkup"})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.GhostPoolProtection=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.GhostPoolProtection=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.events_or_midrounds,u=l.spawners,s=l.station_sentience,m=l.silicons,p=l.minigames;return(0,o.createComponentVNode)(2,c.Window,{title:"Ghost Pool Protection",width:400,height:270,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Flex,{grow:1,height:"100%",children:(0,o.createComponentVNode)(2,a.Section,{title:"Options",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{color:"good",icon:"plus-circle",content:"Enable Everything",onClick:function(){return i("all_roles")}}),(0,o.createComponentVNode)(2,a.Button,{color:"bad",icon:"minus-circle",content:"Disable Everything",onClick:function(){return i("no_roles")}})],4),children:[(0,o.createComponentVNode)(2,a.NoticeBox,{danger:!0,children:"For people creating a sneaky event: If you toggle Station Created Sentience, people may catch on that admins have disabled roles for your event..."}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,textAlign:"center",color:d?"good":"bad",icon:"meteor",content:"Events and Midround Rulesets",onClick:function(){return i("toggle_events_or_midrounds")}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,textAlign:"center",color:u?"good":"bad",icon:"pastafarianism",content:"Ghost Role Spawners",onClick:function(){return i("toggle_spawners")}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,textAlign:"center",color:s?"good":"bad",icon:"user-astronaut",content:"Station Created Sentience",onClick:function(){return i("toggle_station_sentience")}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,textAlign:"center",color:m?"good":"bad",icon:"robot",content:"Silicons",onClick:function(){return i("toggle_silicons")}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,textAlign:"center",color:p?"good":"bad",icon:"gamepad",content:"Minigames",onClick:function(){return i("toggle_minigames")}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,textAlign:"center",color:"orange",icon:"check",content:"Apply Changes",onClick:function(){return i("apply_settings")}})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.GlandDispenser=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.GlandDispenser=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data.glands,d=void 0===l?[]:l;return(0,o.createComponentVNode)(2,c.Window,{width:300,height:338,theme:"abductor",children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:"60px",height:"60px",m:.75,textAlign:"center",lineHeight:"55px",icon:"eject",backgroundColor:e.color,content:e.amount||"0",disabled:!e.amount,onClick:function(){return i("dispense",{gland_id:e.id})}},e.id)}))})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Gps=void 0;var o=n(0),r=n(10),a=n(24),c=n(8),i=n(136),l=n(2),d=n(1),u=n(3),s=function(e){return(0,r.map)(parseFloat)(e.split(", "))};t.Gps=function(e,t){var n=(0,l.useBackend)(t),m=n.act,p=n.data,C=p.currentArea,h=p.currentCoords,N=p.globalmode,V=p.power,b=p.tag,f=p.updating,g=(0,a.flow)([(0,r.map)((function(e,t){var n=e.dist&&Math.round((0,i.vecLength)((0,i.vecSubtract)(s(h),s(e.coords))));return Object.assign({},e,{dist:n,index:t})})),(0,r.sortBy)((function(e){return e.dist===undefined}),(function(e){return e.entrytag}))])(p.signals||[]);return(0,o.createComponentVNode)(2,u.Window,{title:"Global Positioning System",width:470,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,u.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,d.Section,{title:"Control",buttons:(0,o.createComponentVNode)(2,d.Button,{icon:"power-off",content:V?"On":"Off",selected:V,onClick:function(){return m("power")}}),children:(0,o.createComponentVNode)(2,d.LabeledList,{children:[(0,o.createComponentVNode)(2,d.LabeledList.Item,{label:"Tag",children:(0,o.createComponentVNode)(2,d.Button,{icon:"pencil-alt",content:b,onClick:function(){return m("rename")}})}),(0,o.createComponentVNode)(2,d.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,d.Button,{icon:f?"unlock":"lock",content:f?"AUTO":"MANUAL",color:!f&&"bad",onClick:function(){return m("updating")}})}),(0,o.createComponentVNode)(2,d.LabeledList.Item,{label:"Range",children:(0,o.createComponentVNode)(2,d.Button,{icon:"sync",content:N?"MAXIMUM":"LOCAL",selected:!N,onClick:function(){return m("globalmode")}})})]})}),!!V&&(0,o.createFragment)([(0,o.createComponentVNode)(2,d.Section,{title:"Current Location",children:(0,o.createComponentVNode)(2,d.Box,{fontSize:"18px",children:[C," (",h,")"]})}),(0,o.createComponentVNode)(2,d.Section,{title:"Detected Signals",children:(0,o.createComponentVNode)(2,d.Table,{children:[(0,o.createComponentVNode)(2,d.Table.Row,{bold:!0,children:[(0,o.createComponentVNode)(2,d.Table.Cell,{content:"Name"}),(0,o.createComponentVNode)(2,d.Table.Cell,{collapsing:!0,content:"Direction"}),(0,o.createComponentVNode)(2,d.Table.Cell,{collapsing:!0,content:"Coordinates"})]}),g.map((function(e){return(0,o.createComponentVNode)(2,d.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,d.Table.Cell,{bold:!0,color:"label",children:e.entrytag}),(0,o.createComponentVNode)(2,d.Table.Cell,{collapsing:!0,opacity:e.dist!==undefined&&(0,c.clamp)(1.2/Math.log(Math.E+e.dist/20),.4,1),children:[e.degrees!==undefined&&(0,o.createComponentVNode)(2,d.Icon,{mr:1,size:1.2,name:"arrow-up",rotation:e.degrees}),e.dist!==undefined&&e.dist+"m"]}),(0,o.createComponentVNode)(2,d.Table.Cell,{collapsing:!0,children:e.coords})]},e.entrytag+e.coords+e.index)}))]})})],4)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.GravityGenerator=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.GravityGenerator=function(e,t){var n=(0,r.useBackend)(t),l=(n.act,n.data),d=l.charging_state,u=l.operational;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:155,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[!u&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No data available"}),!!u&&0!==d&&(0,o.createComponentVNode)(2,a.NoticeBox,{danger:!0,children:"WARNING - Radiation detected"}),!!u&&0===d&&(0,o.createComponentVNode)(2,a.NoticeBox,{success:!0,children:"No radiation detected"}),!!u&&(0,o.createComponentVNode)(2,i)]})})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.breaker,d=i.charge_count,u=i.charging_state,s=i.on,m=i.operational;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:l?"power-off":"times",content:l?"On":"Off",selected:l,disabled:!m,onClick:function(){return c("gentoggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Gravity Charge",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d/100,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",children:[0===u&&(s&&(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"})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagItemReclaimer=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.GulagItemReclaimer=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.mobs,u=void 0===d?[]:d;return(0,o.createComponentVNode)(2,c.Window,{width:325,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[0===u.length&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No stored items"}),u.length>0&&(0,o.createComponentVNode)(2,a.Section,{title:"Stored Items",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:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:(0,o.createComponentVNode)(2,a.Button,{content:"Retrieve Items",disabled:!l.can_reclaim,onClick:function(){return i("release_items",{mobref:e.mob})}})})]},e.mob)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagTeleporterConsole=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.GulagTeleporterConsole=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.teleporter,u=l.teleporter_lock,s=l.teleporter_state_open,m=l.teleporter_location,p=l.beacon,C=l.beacon_location,h=l.id,N=l.id_name,V=l.can_teleport,b=l.goal,f=void 0===b?0:b,g=l.prisoner,v=void 0===g?{}:g;return(0,o.createComponentVNode)(2,c.Window,{width:350,height:295,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Teleporter Console",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:s?"Open":"Closed",disabled:u,selected:s,onClick:function(){return i("toggle_open")}}),(0,o.createComponentVNode)(2,a.Button,{icon:u?"lock":"unlock",content:u?"Locked":"Unlocked",selected:u,disabled:s,onClick:function(){return i("teleporter_lock")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleporter Unit",color:d?"good":"bad",buttons:!d&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return i("scan_teleporter")}}),children:d?m:"Not Connected"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Receiver Beacon",color:p?"good":"bad",buttons:!p&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return i("scan_beacon")}}),children:p?C:"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:h?N:"No ID",onClick:function(){return i("handle_id")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Point Goal",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:f,width:"48px",minValue:1,maxValue:1e3,onChange:function(e,t){return i("set_goal",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",children:v.name||"No Occupant"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Criminal Status",children:v.crimstat||"No Status"})]})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Process Prisoner",disabled:!V,textAlign:"center",color:"bad",onClick:function(){return i("teleport")}})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Holodeck=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.Holodeck=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.can_toggle_safety,u=l.emagged,s=l.program,m=l.default_programs||[],p=l.emag_programs||[];return(0,o.createComponentVNode)(2,c.Window,{width:400,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Default Programs",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"unlock":"lock",content:"Safeties",color:"bad",disabled:!d,selected:!u,onClick:function(){return i("safety")}}),children:m.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),textAlign:"center",selected:e.type===s,onClick:function(){return i("load_program",{type:e.type})}},e.type)}))}),!!u&&(0,o.createComponentVNode)(2,a.Section,{title:"Dangerous Programs",children:p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),color:"bad",textAlign:"center",selected:e.type===s,onClick:function(){return i("load_program",{type:e.type})}},e.type)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Holopad=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.Holopad=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data.calling;return(0,o.createComponentVNode)(2,c.Window,{width:440,height:245,resizable:!0,children:[!!d&&(0,o.createComponentVNode)(2,a.Modal,{fontSize:"36px",fontFamily:"monospace",children:[(0,o.createComponentVNode)(2,a.Flex,{align:"center",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{mr:2,mt:2,children:(0,o.createComponentVNode)(2,a.Icon,{name:"phone-alt",rotation:25})}),(0,o.createComponentVNode)(2,a.Flex.Item,{mr:2,children:"Dialing..."})]}),(0,o.createComponentVNode)(2,a.Box,{mt:2,textAlign:"center",fontSize:"24px",children:(0,o.createComponentVNode)(2,a.Button,{lineHeight:"40px",icon:"times",content:"Hang Up",color:"bad",onClick:function(){return l("hang_up")}})})]}),(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i)})]})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.on_network,d=i.on_cooldown,u=i.allowed,s=i.disk,m=i.disk_record,p=i.replay_mode,C=i.loop_mode,h=i.record_mode,N=i.holo_calls,V=void 0===N?[]:N;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Holopad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"bell",content:d?"AI's Presence Requested":"Request AI's Presence",disabled:!l||d,onClick:function(){return c("AIrequest")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Communicator",children:(0,o.createComponentVNode)(2,a.Button,{icon:"phone-alt",content:u?"Connect To Holopad":"Call Holopad",disabled:!l,onClick:function(){return c("holocall",{headcall:u})}})}),V.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.connected?"Current Call":"Incoming Call",children:(0,o.createComponentVNode)(2,a.Button,{icon:e.connected?"phone-slash":"phone-alt",content:e.connected?"Disconnect call from "+e.caller:"Answer call from "+e.caller,color:e.connected?"bad":"good",disabled:!l,onClick:function(){return c(e.connected?"disconnectcall":"connectcall",{holopad:e.ref})}})},e.ref)}))]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holodisk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!s||p||h,onClick:function(){return c("disk_eject")}}),children:!s&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No holodisk"})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk Player",children:[(0,o.createComponentVNode)(2,a.Button,{icon:p?"pause":"play",content:p?"Stop":"Replay",selected:p,disabled:h||!m,onClick:function(){return c("replay_mode")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:C?"Looping":"Loop",selected:C,disabled:h||!m,onClick:function(){return c("loop_mode")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"exchange-alt",content:"Change Offset",disabled:!p,onClick:function(){return c("offset")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Recorder",children:[(0,o.createComponentVNode)(2,a.Button,{icon:h?"pause":"video",content:h?"End Recording":"Record",selected:h,disabled:m&&!h||p,onClick:function(){return c("record_mode")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:"Clear Recording",color:"bad",disabled:!m||p||h,onClick:function(){return c("record_clear")}})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Hypertorus=void 0;var o=n(0),r=n(10),a=n(24),c=n(8),i=n(2),l=n(1),d=n(42),u=n(3),s=n(38);t.Hypertorus=function(e,t){var n=(0,i.useBackend)(t),m=n.act,p=n.data,C=p.filter_types||[],h=p.energy_level,N=(p.core_temperature,p.internal_power,p.power_output,p.heat_limiter_modifier),V=p.heat_output,b=p.heat_output_bool,f=(p.heating_conductor,p.magnetic_constrictor,p.fuel_injection_rate,p.moderator_injection_rate,p.current_damper,p.power_level),g=p.iron_content,v=p.integrity,x=p.start_power,k=p.start_cooling,B=p.start_fuel,_=p.internal_fusion_temperature,w=p.moderator_internal_temperature,L=p.internal_output_temperature,y=p.internal_coolant_temperature,S=(p.waste_remove,(0,a.flow)([(0,r.filter)((function(e){return e.amount>=.01})),(0,r.sortBy)((function(e){return-e.amount}))])(p.fusion_gases||[])),I=(0,a.flow)([(0,r.filter)((function(e){return e.amount>=.01})),(0,r.sortBy)((function(e){return-e.amount}))])(p.moderator_gases||[]),T=Math.max.apply(Math,[1].concat(S.map((function(e){return e.amount})))),A=Math.max.apply(Math,[1].concat(I.map((function(e){return e.amount}))));return(0,o.createComponentVNode)(2,u.Window,{width:500,height:600,scrollable:!0,resizable:!0,title:"Fusion Reactor",children:(0,o.createComponentVNode)(2,u.Window.Content,{children:[(0,o.createComponentVNode)(2,l.Section,{title:"Switches",children:(0,o.createComponentVNode)(2,l.Flex,{m:-.5,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{m:.5,color:"label",children:["Start power: ",(0,o.createComponentVNode)(2,l.Button,{disabled:p.power_level>0,icon:p.start_power?"power-off":"times",content:p.start_power?"On":"Off",selected:p.start_power,onClick:function(){return m("start_power")}})]}),(0,o.createComponentVNode)(2,l.Flex.Item,{m:.5,color:"label",children:["Start cooling: ",(0,o.createComponentVNode)(2,l.Button,{disabled:1===B||0===x||p.power_level>0,icon:p.start_cooling?"power-off":"times",content:p.start_cooling?"On":"Off",selected:p.start_cooling,onClick:function(){return m("start_cooling")}})]}),(0,o.createComponentVNode)(2,l.Flex.Item,{m:.5,color:"label",children:["Start fuel injection: ",(0,o.createComponentVNode)(2,l.Button,{disabled:0===x||0===k,icon:p.start_fuel?"power-off":"times",content:p.start_fuel?"On":"Off",selected:p.start_fuel,onClick:function(){return m("start_fuel")}})]})]})}),(0,o.createComponentVNode)(2,l.Section,{title:"Internal Fusion Gases",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:S.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,d.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,d.getGasColor)(e.name),value:e.amount,minValue:0,maxValue:T,children:(0,c.toFixed)(e.amount,2)+" moles"})},e.name)}))})}),(0,o.createComponentVNode)(2,l.Section,{title:"Moderator Gases",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:I.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,d.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,d.getGasColor)(e.name),value:e.amount,minValue:0,maxValue:A,children:(0,c.toFixed)(e.amount,2)+" moles"})},e.name)}))})}),(0,o.createComponentVNode)(2,l.Section,{title:"Reactor Parameters",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Power Level",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:f,ranges:{good:[0,2],average:[2,4],bad:[4,6]}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:v/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Iron Content",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:g,ranges:{good:[-Infinity,3],average:[3,6],bad:[6,Infinity]}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Energy Levels",children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:"yellow",value:h,minValue:0,maxValue:1e35,children:(0,s.formatSiUnit)(h,1,"J")})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Heat Limiter Modifier",children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:"blue",value:N,minValue:-1e40,maxValue:1e30,children:(0,s.formatSiBaseTenUnit)(1e3*N,1,"K")})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Heat Output",children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:"grey",value:V,minValue:-1e40,maxValue:1e30,children:b+(0,s.formatSiBaseTenUnit)(1e3*V,1,"K")})})]})}),(0,o.createComponentVNode)(2,l.Section,{title:"Temperatures",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Fusion gas temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:"yellow",value:_,minValue:0,maxValue:1e30,children:(0,s.formatSiBaseTenUnit)(1e3*_,1,"K")})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Moderator gas temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:"red",value:w,minValue:0,maxValue:1e30,children:(0,s.formatSiBaseTenUnit)(1e3*w,1,"K")})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Output gas temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:"pink",value:L,minValue:0,maxValue:1e30,children:(0,s.formatSiBaseTenUnit)(1e3*L,1,"K")})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Coolant output temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:"green",value:y,minValue:0,maxValue:1e30,children:(0,s.formatSiBaseTenUnit)(1e3*y,1,"K")})})]})}),(0,o.createComponentVNode)(2,l.Section,{title:"Tweakable Inputs",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Heating Conductor",children:(0,o.createComponentVNode)(2,l.NumberInput,{animated:!0,value:parseFloat(p.heating_conductor),width:"63px",unit:"J/cm",minValue:50,maxValue:500,onDrag:function(e,t){return m("heating_conductor",{heating_conductor:t})}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Magnetic Constrictor",children:(0,o.createComponentVNode)(2,l.NumberInput,{animated:!0,value:parseFloat(p.magnetic_constrictor),width:"63px",unit:"m^3/B",minValue:50,maxValue:1e3,onDrag:function(e,t){return m("magnetic_constrictor",{magnetic_constrictor:t})}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Fuel Injection Rate",children:(0,o.createComponentVNode)(2,l.NumberInput,{animated:!0,value:parseFloat(p.fuel_injection_rate),width:"63px",unit:"g/s",minValue:5,maxValue:1500,onDrag:function(e,t){return m("fuel_injection_rate",{fuel_injection_rate:t})}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Moderator Injection Rate",children:(0,o.createComponentVNode)(2,l.NumberInput,{animated:!0,value:parseFloat(p.moderator_injection_rate),width:"63px",unit:"g/s",minValue:5,maxValue:1500,onDrag:function(e,t){return m("moderator_injection_rate",{moderator_injection_rate:t})}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Current Damper",children:(0,o.createComponentVNode)(2,l.NumberInput,{animated:!0,value:parseFloat(p.current_damper),width:"63px",unit:"W",minValue:0,maxValue:1e3,onDrag:function(e,t){return m("current_damper",{current_damper:t})}})})]})}),(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Waste remove",children:(0,o.createComponentVNode)(2,l.Button,{disabled:p.power_level>5,icon:p.waste_remove?"power-off":"times",content:p.waste_remove?"On":"Off",selected:p.waste_remove,onClick:function(){return m("waste_remove")}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Filter from moderator mix",children:C.map((function(e){return(0,o.createComponentVNode)(2,l.Button,{selected:e.selected,content:(0,d.getGasLabel)(e.id,e.name),onClick:function(){return m("filter",{mode:e.id})}},e.id)}))})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.HypnoChair=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.HypnoChair=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:375,height:480,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Information",backgroundColor:"#450F44",children:"The Enhanced Interrogation Chamber is designed to induce a deep-rooted trance trigger into the subject. Once the procedure is complete, by using the implanted trigger phrase, the authorities are able to ensure immediate and complete obedience and truthfulness."}),(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:l.occupant.name?l.occupant.name:"No Occupant"}),!!l.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===l.occupant.stat?"good":1===l.occupant.stat?"average":"bad",children:0===l.occupant.stat?"Conscious":1===l.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:l.open?"unlock":"lock",color:l.open?"default":"red",content:l.open?"Open":"Closed",onClick:function(){return i("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Phrase",children:(0,o.createComponentVNode)(2,a.Input,{value:l.trigger,onChange:function(e,t){return i("set_phrase",{phrase:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Interrogate Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:l.interrogating?"Interrupt Interrogation":"Begin Enhanced Interrogation",onClick:function(){return i("interrogate")}}),1===l.interrogating&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ImplantChair=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.ImplantChair=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:375,height:280,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(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:l.occupant.name||"No Occupant"}),!!l.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===l.occupant.stat?"good":1===l.occupant.stat?"average":"bad",children:0===l.occupant.stat?"Conscious":1===l.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:l.open?"unlock":"lock",color:l.open?"default":"red",content:l.open?"Open":"Closed",onClick:function(){return i("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implant Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:l.ready?l.special_name||"Implant":"Recharging",onClick:function(){return i("implant")}}),0===l.ready&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implants Remaining",children:[l.ready_implants,1===l.replenishing&&(0,o.createComponentVNode)(2,a.Icon,{name:"sync",color:"red",spin:!0})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.InfraredEmitter=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.InfraredEmitter=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.on,u=l.visible;return(0,o.createComponentVNode)(2,c.Window,{width:225,height:110,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{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:d?"power-off":"times",content:d?"On":"Off",selected:d,onClick:function(){return i("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Visibility",children:(0,o.createComponentVNode)(2,a.Button,{icon:u?"eye":"eye-slash",content:u?"Visible":"Invisible",selected:u,onClick:function(){return i("visibility")}})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Intellicard=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.Intellicard=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.name,u=l.isDead,s=l.isBraindead,m=l.health,p=l.wireless,C=l.radio,h=l.wiping,N=l.laws,V=void 0===N?[]:N,b=u||s;return(0,o.createComponentVNode)(2,c.Window,{width:500,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{title:d||"Empty Card",buttons:!!d&&(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:h?"Stop Wiping":"Wipe",disabled:u,onClick:function(){return i("wipe")}}),children:!!d&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:b?"bad":"good",children:b?"Offline":"Operation"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Software Integrity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m,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 i("wireless")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"microphone",content:"Subspace Radio",selected:C,onClick:function(){return i("radio")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laws",children:V.map((function(e){return(0,o.createComponentVNode)(2,a.BlockQuote,{children:e},e)}))})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Interview=void 0;var o=n(0),r=n(1),a=n(3),c=n(2);t.Interview=function(e,t){var n=(0,c.useBackend)(t),i=n.act,l=n.data,d=l.welcome_message,u=l.questions,s=l.read_only,m=l.queue_pos,p=l.is_admin,C=l.status,h=l.connected;return(0,o.createComponentVNode)(2,a.Window,{width:500,height:600,noClose:!p,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[!s&&(0,o.createComponentVNode)(2,r.Section,{title:"Welcome!",children:(0,o.createVNode)(1,"p",null,d,0)})||function(e){switch(e){case"interview_approved":return(0,o.createComponentVNode)(2,r.NoticeBox,{success:!0,children:"This interview was approved."});case"interview_denied":return(0,o.createComponentVNode)(2,r.NoticeBox,{danger:!0,children:"This interview was denied."});default:return(0,o.createComponentVNode)(2,r.NoticeBox,{info:!0,children:["Your answers have been submitted. You are position ",m," in queue."]})}}(C),(0,o.createComponentVNode)(2,r.Section,{title:"Questionnaire",buttons:(0,o.createVNode)(1,"span",null,[(0,o.createComponentVNode)(2,r.Button,{content:s?"Submitted":"Submit",onClick:function(){return i("submit")},disabled:s}),!!p&&"interview_pending"===C&&(0,o.createVNode)(1,"span",null,[(0,o.createComponentVNode)(2,r.Button,{content:"Admin PM",enabled:h,onClick:function(){return i("adminpm")}}),(0,o.createComponentVNode)(2,r.Button,{content:"Approve",color:"good",onClick:function(){return i("approve")}}),(0,o.createComponentVNode)(2,r.Button,{content:"Deny",color:"bad",onClick:function(){return i("deny")}})],4)],0),children:[!s&&(0,o.createVNode)(1,"p",null,[(0,o.createTextVNode)("Please answer the following questions, and press submit when you are satisfied with your answers."),(0,o.createVNode)(1,"br"),(0,o.createVNode)(1,"br"),(0,o.createVNode)(1,"b",null,"You will not be able to edit your answers after submitting.",16)],4),u.map((function(e){var t=e.qidx,n=e.question,a=e.response;return(0,o.createComponentVNode)(2,r.Section,{title:"Question "+t,children:[(0,o.createVNode)(1,"p",null,n,0),s&&(0,o.createComponentVNode)(2,r.BlockQuote,{children:a||"No response."})||(0,o.createComponentVNode)(2,r.TextArea,{value:a,fluid:!0,height:10,maxLength:500,placeholder:"Write your response here, max of 500 characters.",onChange:function(e,n){return n!==a&&i("update_answer",{qidx:t,answer:n})}})]},t)}))]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.InterviewManager=void 0;var o=n(0),r=n(1),a=n(3),c=n(2);t.InterviewManager=function(e,t){var n=(0,c.useBackend)(t),i=n.act,l=n.data,d=l.open_interviews,u=l.closed_interviews,s=function(e){switch(e){case"interview_approved":return"good";case"interview_denied":return"bad";case"interview_pending":return"average"}};return(0,o.createComponentVNode)(2,a.Window,{width:500,height:600,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,r.Section,{title:"Active Interviews",children:d.map((function(e){var t=e.id,n=e.ckey,a=e.status,c=e.queued,l=e.disconnected;return(0,o.createComponentVNode)(2,r.Button,{content:n+(l?" (DC)":""),color:c?"default":s(a),onClick:function(){return i("open",{id:t})}},t)}))}),(0,o.createComponentVNode)(2,r.Section,{title:"Closed Interviews",children:u.map((function(e){var t=e.id,n=e.ckey,a=e.status,c=e.disconnected;return(0,o.createComponentVNode)(2,r.Button,{content:n+(c?" (DC)":""),color:s(a),onClick:function(){return i("open",{id:t})}},t)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Jukebox=void 0;var o=n(0),r=n(10),a=n(24),c=n(2),i=n(1),l=n(3);t.Jukebox=function(e,t){var n=(0,c.useBackend)(t),d=n.act,u=n.data,s=u.active,m=u.track_selected,p=u.track_length,C=u.track_beat,h=u.volume,N=(0,a.flow)([(0,r.sortBy)((function(e){return e.name}))])(u.songs||[]);return(0,o.createComponentVNode)(2,l.Window,{width:370,height:313,children:(0,o.createComponentVNode)(2,l.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Song Player",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:s?"pause":"play",content:s?"Stop":"Play",selected:s,onClick:function(){return d("toggle")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Track Selected",children:(0,o.createComponentVNode)(2,i.Dropdown,{"overflow-y":"scroll",width:"240px",options:N.map((function(e){return e.name})),disabled:s,selected:m||"Select a Track",onSelected:function(e){return d("select_track",{track:e})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Track Length",children:m?p:"No Track Selected"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Track Beat",children:[m?C:"No Track Selected",1===C?" beat":" beats"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Machine Settings",children:(0,o.createComponentVNode)(2,i.LabeledControls,{justify:"center",children:(0,o.createComponentVNode)(2,i.LabeledControls.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,i.Box,{position:"relative",children:[(0,o.createComponentVNode)(2,i.Knob,{size:3.2,color:h>=50?"red":"green",value:h,unit:"%",minValue:0,maxValue:100,step:1,stepPixelSize:1,disabled:s,onDrag:function(e,t){return d("set_volume",{volume:t})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,position:"absolute",top:"-2px",right:"-22px",color:"transparent",icon:"fast-backward",onClick:function(){return d("set_volume",{volume:"min"})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,position:"absolute",top:"16px",right:"-22px",color:"transparent",icon:"fast-forward",onClick:function(){return d("set_volume",{volume:"max"})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,position:"absolute",top:"34px",right:"-22px",color:"transparent",icon:"undo",onClick:function(){return d("set_volume",{volume:"reset"})}})]})})})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.KeycardAuth=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.KeycardAuth=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:375,height:125,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{children:1===l.waiting&&(0,o.createVNode)(1,"span",null,"Waiting for another device to confirm your request...",16)}),(0,o.createComponentVNode)(2,a.Box,{children:0===l.waiting&&(0,o.createFragment)([!!l.auth_required&&(0,o.createComponentVNode)(2,a.Button,{icon:"check-square",color:"red",textAlign:"center",lineHeight:"60px",fluid:!0,onClick:function(){return i("auth_swipe")},content:"Authorize"}),0===l.auth_required&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",fluid:!0,onClick:function(){return i("red_alert")},content:"Red Alert"}),(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",fluid:!0,onClick:function(){return i("emergency_maint")},content:"Emergency Maintenance Access"}),(0,o.createComponentVNode)(2,a.Button,{icon:"meteor",fluid:!0,onClick:function(){return i("bsa_unlock")},content:"Bluespace Artillery Unlock"})],4)],0)})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.LaborClaimConsole=void 0;var o=n(0),r=n(18),a=n(2),c=n(1),i=n(3);t.LaborClaimConsole=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.can_go_home,s=d.id_points,m=d.ores,p=d.status_info,C=d.unclaimed_points;return(0,o.createComponentVNode)(2,i.Window,{width:315,height:440,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Status",children:p}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Shuttle controls",children:(0,o.createComponentVNode)(2,c.Button,{content:"Move shuttle",disabled:!u,onClick:function(){return l("move_shuttle")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Points",children:s}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Unclaimed points",buttons:(0,o.createComponentVNode)(2,c.Button,{content:"Claim points",disabled:!C,onClick:function(){return l("claim_points")}}),children:C})]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Material values",children:(0,o.createComponentVNode)(2,c.Table,{children:[(0,o.createComponentVNode)(2,c.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:"Material"}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"right",children:"Value"})]}),m.map((function(e){return(0,o.createComponentVNode)(2,c.Table.Row,{children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:(0,r.toTitleCase)(e.ore)}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,c.Box,{color:"label",inline:!0,children:e.value})})]},e.ore)}))]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.LanguageMenu=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.LanguageMenu=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.admin_mode,u=l.is_living,s=l.omnitongue,m=l.languages,p=void 0===m?[]:m,C=l.unknown_languages,h=void 0===C?[]:C;return(0,o.createComponentVNode)(2,c.Window,{title:"Language Menu",width:700,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Known Languages",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:p.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createFragment)([!!u&&(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 i("select_default",{language_name:e.name})}}),!!d&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return i("grant_language",{language_name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Remove",onClick:function(){return i("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)}))})}),!!d&&(0,o.createComponentVNode)(2,a.Section,{title:"Unknown Languages",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Omnitongue "+(s?"Enabled":"Disabled"),selected:s,onClick:function(){return i("toggle_omnitongue")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:h.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 i("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)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.LaunchpadRemote=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=n(208);t.LaunchpadRemote=function(e,t){var n=(0,r.useBackend)(t).data,l=n.has_pad,d=n.pad_closed;return(0,o.createComponentVNode)(2,c.Window,{title:"Briefcase Launchpad Remote",width:300,height:240,theme:"syndicate",children:(0,o.createComponentVNode)(2,c.Window.Content,{children:!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Launchpad Connected"})||d&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Launchpad Closed"})||(0,o.createComponentVNode)(2,i.LaunchpadControl,{topLevel:!0})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MafiaPanel=void 0;var o=n(0),r=n(6),a=(n(18),n(2)),c=n(1),i=n(3);t.MafiaPanel=function(e,t){var n=(0,a.useBackend)(t),d=n.act,u=n.data,s=u.lobbydata,m=u.players,p=u.actions,C=u.phase,h=u.roleinfo,N=u.role_theme,V=u.admin_controls,b=u.judgement_phase,f=u.timeleft,g=u.all_roles,v=h?30*m.length:7,x=s?s.filter((function(e){return"Ready"===e.status})):null;return(0,o.createComponentVNode)(2,i.Window,{title:"Mafia",theme:N,width:650,height:293+v,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:V,children:[!h&&(0,o.createComponentVNode)(2,c.Flex,{scrollable:!0,overflowY:"scroll",direction:"column",height:"100%",grow:1,children:(0,o.createComponentVNode)(2,c.Section,{title:"Lobby",mb:1,buttons:(0,o.createComponentVNode)(2,l,{phase:C,timeleft:f,admin_controls:V}),children:(0,o.createComponentVNode)(2,c.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,c.NoticeBox,{info:!0,children:["The lobby currently has ",x.length,"/12 valid players signed up."]}),(0,o.createComponentVNode)(2,c.Flex,{direction:"column",children:!!s&&s.map((function(e){return(0,o.createComponentVNode)(2,c.Flex.Item,{basis:2,className:"Section__title candystripe",children:(0,o.createComponentVNode)(2,c.Flex,{height:2,align:"center",justify:"space-between",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{basis:0,children:e.name}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:"STATUS:"}),(0,o.createComponentVNode)(2,c.Flex.Item,{width:"30%",children:(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.Box,{color:"Ready"===e.status?"green":"red",textAlign:"center",children:[e.status," ",e.spectating]})})})]})},e)}))})]})})}),!!h&&(0,o.createComponentVNode)(2,c.Section,{title:C,minHeight:"100px",maxHeight:"50px",buttons:(0,o.createComponentVNode)(2,c.Box,{children:[!!V&&(0,o.createComponentVNode)(2,c.Button,{color:"red",icon:"gavel",tooltipPosition:"bottom-left",tooltip:"Hello admin! If it is the admin controls you seek,\nplease notice the extra scrollbar you have that players\ndo not!"})," ",(0,o.createComponentVNode)(2,c.TimeDisplay,{auto:"down",value:f})]}),children:(0,o.createComponentVNode)(2,c.Flex,{justify:"space-between",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{align:"center",textAlign:"center",maxWidth:"500px",children:[(0,o.createVNode)(1,"b",null,[(0,o.createTextVNode)("You are the "),h.role],0),(0,o.createVNode)(1,"br"),(0,o.createVNode)(1,"b",null,h.desc,0)]}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:[(0,o.createComponentVNode)(2,c.Box,{className:(0,r.classes)(["mafia32x32",h.revealed_icon]),style:{transform:"scale(2) translate(0px, 10%)","vertical-align":"middle"}}),(0,o.createComponentVNode)(2,c.Box,{className:(0,r.classes)(["mafia32x32",h.hud_icon]),style:{transform:"scale(2) translate(-5px, -5px)","vertical-align":"middle"}})]})]})}),(0,o.createComponentVNode)(2,c.Flex,{children:!!p&&p.map((function(e){return(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return d("mf_action",{atype:e})},children:e})},e)}))}),!!h&&(0,o.createComponentVNode)(2,c.Section,{title:"Judgement",buttons:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"info",tooltipPosition:"left",tooltip:"When someone is on trial, you are in charge of their fate.\nInnocent winning means the person on trial can live to see\nanother day... and in losing they do not. You can go back\nto abstaining with the middle button if you reconsider."}),children:[(0,o.createComponentVNode)(2,c.Flex,{justify:"space-around",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"smile-beam",content:"INNOCENT!",color:"good",disabled:!b,onClick:function(){return d("vote_innocent")}}),!b&&(0,o.createComponentVNode)(2,c.Box,{children:"There is nobody on trial at the moment."}),!!b&&(0,o.createComponentVNode)(2,c.Box,{children:"It is now time to vote, vote the accused innocent or guilty!"}),(0,o.createComponentVNode)(2,c.Button,{icon:"angry",content:"GUILTY!",color:"bad",disabled:!b,onClick:function(){return d("vote_guilty")}})]}),(0,o.createComponentVNode)(2,c.Flex,{justify:"center",children:(0,o.createComponentVNode)(2,c.Button,{icon:"meh",content:"Abstain",color:"white",disabled:!b,onClick:function(){return d("vote_abstain")}})})]}),"No Game"!==C&&(0,o.createComponentVNode)(2,c.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,c.Flex.Item,{grow:2,children:(0,o.createComponentVNode)(2,c.Section,{title:"Players",buttons:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"info",tooltip:"This is the list of all the players in\nthe game, during the day phase you may vote on them and,\ndepending on your role, select players\nat certain phases to use your ability."}),children:(0,o.createComponentVNode)(2,c.Flex,{direction:"column",children:!!m&&m.map((function(e){return(0,o.createComponentVNode)(2,c.Flex.Item,{height:"30px",className:"Section__title candystripe",children:(0,o.createComponentVNode)(2,c.Flex,{height:"18px",justify:"space-between",align:"center",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{basis:16,children:[!!e.alive&&(0,o.createComponentVNode)(2,c.Box,{children:e.name}),!e.alive&&(0,o.createComponentVNode)(2,c.Box,{color:"red",children:e.name})]}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:!e.alive&&(0,o.createComponentVNode)(2,c.Box,{color:"red",children:"DEAD"})}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:e.votes!==undefined&&!!e.alive&&(0,o.createFragment)([(0,o.createTextVNode)("Votes : "),e.votes,(0,o.createTextVNode)(" ")],0)}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:!!e.actions&&e.actions.map((function(t){return(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return d("mf_targ_action",{atype:t,target:e.ref})},children:t},t)}))})]})},e.ref)}))})})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:2,children:(0,o.createComponentVNode)(2,c.Flex,{direction:"column",height:"100%",children:[(0,o.createComponentVNode)(2,c.Section,{title:"Roles and Notes",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"address-book",tooltipPosition:"bottom-left",tooltip:"The top section is the roles in the game. You can\npress the question mark to get a quick blurb\nabout the role itself."}),(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"edit",tooltipPosition:"bottom-left",tooltip:"The bottom section are your notes. on some roles this\nwill just be an empty box, but on others it records the\nactions of your abilities (so for example, your\ndetective work revealing a changeling)."})],4),children:(0,o.createComponentVNode)(2,c.Flex,{direction:"column",children:!!g&&g.map((function(e){return(0,o.createComponentVNode)(2,c.Flex.Item,{height:"30px",className:"Section__title candystripe",children:(0,o.createComponentVNode)(2,c.Flex,{height:"18px",align:"center",justify:"space-between",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{children:e}),(0,o.createComponentVNode)(2,c.Flex.Item,{textAlign:"right",children:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"question",onClick:function(){return d("mf_lookup",{atype:e.slice(0,-3)})}})})]})},e)}))})}),!!h&&(0,o.createComponentVNode)(2,c.Flex.Item,{height:0,grow:1,children:(0,o.createComponentVNode)(2,c.Section,{scrollable:!0,fill:!0,overflowY:"scroll",children:h!==undefined&&!!h.action_log&&h.action_log.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:e},e)}))})})]})})]}),(0,o.createComponentVNode)(2,c.Flex,{mt:1,direction:"column",children:(0,o.createComponentVNode)(2,c.Flex.Item,{children:!!V&&(0,o.createComponentVNode)(2,c.Section,{textAlign:"center",children:(0,o.createComponentVNode)(2,c.Collapsible,{title:"ADMIN CONTROLS",color:"red",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"exclamation-triangle",color:"black",tooltipPosition:"top",tooltip:"Almost all of these are all built to help me debug\nthe game (ow, debugging a 12 player game!) So they are\nrudamentary and prone to breaking at the drop of a hat.\nMake sure you know what you're doing when you press one.\nAlso because an admin did it: do not gib/delete/dust\nanyone! It will runtime the game to death!",content:"A Kind, Coder Warning",onClick:function(){return d("next_phase")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,c.Button,{icon:"arrow-right",tooltipPosition:"top",tooltip:"This will advance the game to the next phase\n(day talk > day voting, day voting > night/trial)\npretty fun to just spam this and freak people out,\ntry that roundend!",content:"Next Phase",onClick:function(){return d("next_phase")}}),(0,o.createComponentVNode)(2,c.Button,{icon:"home",tooltipPosition:"top",tooltip:"Hopefully you won't use this button\noften, it's a safety net just in case\nmafia players somehow escape (nullspace\nredirects to the error room then station)\nEither way, VERY BAD IF THAT HAPPENS as\ngodmoded assistants will run free. Use\nthis to recollect them then make a bug report.",content:"Send All Players Home",onClick:function(){return d("players_home")}}),(0,o.createComponentVNode)(2,c.Button,{icon:"sync-alt",tooltipPosition:"top",tooltip:"This immediately ends the game, and attempts to start\nanother. Nothing will happen if another\ngame fails to start!",content:"New Game",onClick:function(){return d("new_game")}}),(0,o.createComponentVNode)(2,c.Button,{icon:"skull",tooltipPosition:"top",tooltip:"Deletes the datum, clears all landmarks, makes mafia\nas it was roundstart: nonexistant. Use this if you\nreally mess things up. You did mess things up, didn't you.",content:"Nuke",onClick:function(){return d("nuke")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,c.Button,{icon:"paint-brush",tooltipPosition:"top",tooltip:"This is the custom game creator, it is... simple.\nYou put in roles and until you press CANCEL or FINISH\nit will keep letting you add more roles. Assitants\non the bottom because of pathing stuff. Resets after\nthe round finishes back to 12 player random setups.",content:"Create Custom Setup",onClick:function(){return d("debug_setup")}}),(0,o.createComponentVNode)(2,c.Button,{icon:"paint-roller",tooltipPosition:"top",tooltip:"If you messed up and accidently didn't make it how\nyou wanted, simply just press this to reset it. The game\nwill auto reset after each game as well.",content:"Reset Custom Setup",onClick:function(){return d("cancel_setup")}})]})})})})]})})};var l=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.phase,d=i.timeleft,u=i.admin_controls;return(0,o.createComponentVNode)(2,c.Box,{children:["[Phase = ",l," | ",(0,o.createComponentVNode)(2,c.TimeDisplay,{auto:"down",value:d}),"]"," ",(0,o.createComponentVNode)(2,c.Button,{icon:"clipboard-check",tooltipPosition:"bottom-left",tooltip:"Signs you up for the next game. If there\nis an ongoing one, you will be signed up\nfor the next.",content:"Sign Up",onClick:function(){return r("mf_signup")}}),(0,o.createComponentVNode)(2,c.Button,{icon:"eye",tooltipPosition:"bottom-left",tooltip:"Spectates games until you turn it off.\nAutomatically enabled when you die in game,\nbecause I assumed you would want to see the\nconclusion. You won't get messages if you\nrejoin SS13.",content:"Spectate",onClick:function(){return r("mf_spectate")}}),!!u&&(0,o.createComponentVNode)(2,c.Button,{color:"red",icon:"gavel",tooltipPosition:"bottom-left",tooltip:"Hello admin! If it is the admin controls you seek,\nplease notice the scrollbar you have that players\ndo not!"})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.MalfunctionModulePicker=void 0;var o=n(0),r=n(2),a=n(3),c=n(141);t.MalfunctionModulePicker=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data.processingTime);return(0,o.createComponentVNode)(2,a.Window,{width:620,height:525,theme:"malfunction",resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c.GenericUplink,{currencyAmount:i,currencySymbol:"PT"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MassDriverControl=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.MassDriverControl=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.connected,u=l.minutes,s=l.seconds,m=l.timing,p=l.power,C=l.poddoor;return(0,o.createComponentVNode)(2,c.Window,{width:300,height:d?215:107,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createFragment)([!!d&&(0,o.createComponentVNode)(2,a.Section,{title:"Auto Launch",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:m?"Stop":"Start",selected:m,onClick:function(){return i("time")}}),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:m,onClick:function(){return i("input",{adjust:-30})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:m,onClick:function(){return i("input",{adjust:-1})}})," ",String(u).padStart(2,"0"),":",String(s).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:m,onClick:function(){return i("input",{adjust:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:m,onClick:function(){return i("input",{adjust:30})}})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"toggle-on",content:"Toggle Outer Door",disabled:m||!C,onClick:function(){return i("door")}}),children:!!d&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power Level",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"bomb",content:"Test Fire",disabled:m,onClick:function(){return i("driver_test")}}),children:(0,o.createComponentVNode)(2,a.NumberInput,{value:p,width:"40px",minValue:.25,maxValue:16,onChange:function(e,t){return i("set_power",{power:t})}})})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Launch",disabled:m,mt:1.5,icon:"arrow-up",textAlign:"center",onClick:function(){return i("launch")}})],4)||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No connected mass driver"})})],0)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MechBayPowerConsole=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.MechBayPowerConsole=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data.recharge_port,d=l&&l.mech,u=d&&d.cell;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:200,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(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 i("reconnect")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Integrity",children:!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!d&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.health/d.maxhealth,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!d&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||!u&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No cell is installed."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:u.charge/u.maxcharge,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u.charge})," / "+u.maxcharge]})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MechpadConsole=t.MechpadControl=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=function(e,t){var n=e.topLevel,c=(0,r.useBackend)(t),i=c.act,l=c.data,d=l.pad_name,u=l.connected_mechpad;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Input,{value:d,width:"170px",onChange:function(e,t){return i("rename",{name:t})}}),level:n?1:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Remove",color:"bad",onClick:function(){return i("remove")}}),children:!u&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No Pad Connected."})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"upload",content:"Launch",textAlign:"center",onClick:function(){return i("launch")}})})};t.MechpadControl=i;t.MechpadConsole=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.mechpads,s=void 0===u?[]:u,m=d.selected_id;return(0,o.createComponentVNode)(2,c.Window,{width:475,height:130,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:0===s.length&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Pads Connected"})||(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.Flex,{minHeight:"70px",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{width:"140px",minHeight:"70px",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,ellipsis:!0,content:e.name,selected:m===e.id,color:"transparent",onClick:function(){return l("select_pad",{id:e.id})}},e.name)}))}),(0,o.createComponentVNode)(2,a.Flex.Item,{minHeight:"100%",children:(0,o.createComponentVNode)(2,a.Divider,{vertical:!0})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,minHeight:"100%",children:m&&(0,o.createComponentVNode)(2,i)||(0,o.createComponentVNode)(2,a.Box,{children:"Please select a pad"})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MedicalKiosk=void 0;var o=n(0),r=(n(18),n(2)),a=n(1),c=n(3);t.MedicalKiosk=function(e,t){var n=(0,r.useBackend)(t),p=(n.act,n.data),C=(0,r.useSharedState)(t,"scanIndex")[0],h=p.active_status_1,N=p.active_status_2,V=p.active_status_3,b=p.active_status_4;return(0,o.createComponentVNode)(2,c.Window,{width:575,height:420,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Flex,{mb:1,children:[(0,o.createComponentVNode)(2,a.Flex.Item,{mr:1,children:(0,o.createComponentVNode)(2,a.Section,{minHeight:"100%",children:[(0,o.createComponentVNode)(2,i,{index:1,icon:"procedures",name:"General Health Scan",description:"Reads back exact values of your general health scan."}),(0,o.createComponentVNode)(2,i,{index:2,icon:"heartbeat",name:"Symptom Based Checkup",description:"Provides information based on various non-obvious symptoms,\nlike blood levels or disease status."}),(0,o.createComponentVNode)(2,i,{index:3,icon:"radiation-alt",name:"Neurological/Radiological Scan",description:"Provides information about brain trauma and radiation."}),(0,o.createComponentVNode)(2,i,{index:4,icon:"mortar-pestle",name:"Chemical and Psychoactive Scan",description:"Provides a list of consumed chemicals, as well as potential\nside effects."})]})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,l)})]}),!!h&&1===C&&(0,o.createComponentVNode)(2,d),!!N&&2===C&&(0,o.createComponentVNode)(2,u),!!V&&3===C&&(0,o.createComponentVNode)(2,s),!!b&&4===C&&(0,o.createComponentVNode)(2,m)]})})};var i=function(e,t){var n=e.index,c=e.name,i=e.description,l=e.icon,d=(0,r.useBackend)(t),u=d.act,s=d.data,m=(0,r.useSharedState)(t,"scanIndex"),p=m[0],C=m[1],h=s["active_status_"+n];return(0,o.createComponentVNode)(2,a.Flex,{spacing:1,align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{width:"16px",textAlign:"center",children:(0,o.createComponentVNode)(2,a.Icon,{name:h?"check":"dollar-sign",color:h?"green":"grey"})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:l,selected:h&&p===n,tooltip:i,tooltipPosition:"right",content:c,onClick:function(){h||u("beginScan_"+n),C(n)}})})]})},l=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.kiosk_cost,d=i.patient_name;return(0,o.createComponentVNode)(2,a.Section,{minHeight:"100%",children:[(0,o.createComponentVNode)(2,a.Box,{italic:!0,children:["Greetings Valued Employee! Please select a desired automatic health check procedure. Diagnosis costs ",(0,o.createVNode)(1,"b",null,[l,(0,o.createTextVNode)(" credits.")],0)]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:1,children:"Patient:"}),d]}),(0,o.createComponentVNode)(2,a.Button,{mt:1,tooltip:"Resets the current scanning target, cancelling current scans.",icon:"sync",color:"average",onClick:function(){return c("clearTarget")},content:"Reset Scanner"})]})},d=function(e,t){var n=(0,r.useBackend)(t).data,c=n.patient_health,i=n.brute_health,l=n.burn_health,d=n.suffocation_health,u=n.toxin_health;return(0,o.createComponentVNode)(2,a.Section,{title:"Patient Health",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:c/100,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c}),"%"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brute Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Burn Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Toxin Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:u/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})})})]})})},u=function(e,t){var n=(0,r.useBackend)(t).data,c=n.patient_status,i=n.patient_illness,l=n.illness_info,d=n.bleed_status,u=n.blood_levels,s=n.blood_status;return(0,o.createComponentVNode)(2,a.Section,{title:"Symptom Based Checkup",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Patient Status",color:"good",children:c}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disease Status",children:i}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disease information",children:l}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Levels",children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:u/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})}),(0,o.createComponentVNode)(2,a.Box,{mt:1,color:"label",children:d})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Information",children:s})]})})},s=function(e,t){var n=(0,r.useBackend)(t).data,c=n.clone_health,i=n.brain_damage,l=n.brain_health,d=n.rad_contamination_status,u=n.rad_contamination_value,s=n.rad_sickness_status,m=n.rad_sickness_value,p=n.trauma_status;return(0,o.createComponentVNode)(2,a.Section,{title:"Patient Neurological and Radiological Health",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cellular Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c/100,color:"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c})})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i/100,color:"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Status",color:"health-0",children:l}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Trauma Status",children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Sickness Status",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Sickness Percentage",children:[m,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Contamination Status",children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Contamination Percentage",children:[u,"%"]})]})})},m=function(e,t){var n=(0,r.useBackend)(t).data,c=n.chemical_list,i=void 0===c?[]:c,l=n.overdose_list,d=void 0===l?[]:l,u=n.addict_list,s=void 0===u?[]:u,m=n.hallucinating_status;return(0,o.createComponentVNode)(2,a.Section,{title:"Chemical and Psychoactive Analysis",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Chemical Contents",children:[0===i.length&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No reagents detected."}),i.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.LabeledList.Item,{label:"Overdose Status",color:"bad",children:[0===d.length&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Patient is not overdosing."}),d.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:["Overdosing on ",e.name]},e.id)}))]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Addiction Status",color:"bad",children:[0===s.length&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Patient has no addictions."}),s.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:["Addicted to ",e.name]},e.id)}))]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Psychoactive Status",children:m})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Microscope=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.Microscope=function(e,t){var n=(0,r.useBackend)(t),d=n.act,u=n.data,s=(0,r.useSharedState)(t,"tab",1),m=s[0],p=s[1],C=u.has_dish,h=u.cell_lines,N=void 0===h?[]:h,V=u.viruses,b=void 0===V?[]:V;return(0,o.createComponentVNode)(2,c.Window,{resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Dish Sample",children:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!C,onClick:function(){return d("eject_petridish")}})})})}),(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"microscope",lineHeight:"23px",selected:1===m,onClick:function(){return p(1)},children:["Micro-Organisms (",N.length,")"]}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"microscope",lineHeight:"23px",selected:2===m,onClick:function(){return p(2)},children:["Viruses (",b.length,")"]})]}),1===m&&(0,o.createComponentVNode)(2,i,{cell_lines:N}),2===m&&(0,o.createComponentVNode)(2,l,{viruses:b})]})})};var i=function(e,t){var n=e.cell_lines,c=(0,r.useBackend)(t);c.act,c.data;return n.length?n.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.desc,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Growth Rate",children:e.growth_rate}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Virus Suspectibility",children:e.suspectibility}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Required Reagents",children:e.requireds}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Supplementary Reagents",children:e.supplementaries}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suppresive reagents",children:e.suppressives})]})},e.desc)})):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No micro-organisms found"})},l=function(e,t){var n=e.viruses;(0,r.useBackend)(t).act;return n.length?n.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.desc},e.desc)})):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No viruses found"})}},function(e,t,n){"use strict";t.__esModule=!0,t.MiningVendor=void 0;var o=n(0),r=n(6),a=n(2),c=n(1),i=n(3);t.MiningVendor=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=[].concat(d.product_records);return(0,o.createComponentVNode)(2,i.Window,{width:425,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Section,{title:"User",children:d.user&&(0,o.createComponentVNode)(2,c.Box,{children:["Welcome, ",(0,o.createVNode)(1,"b",null,d.user.name||"Unknown",0),","," ",(0,o.createVNode)(1,"b",null,d.user.job||"Unemployed",0),"!",(0,o.createVNode)(1,"br"),"Your balance is ",(0,o.createVNode)(1,"b",null,[d.user.points,(0,o.createTextVNode)(" mining points")],0),"."]})||(0,o.createComponentVNode)(2,c.Box,{color:"light-gray",children:["No registered ID card!",(0,o.createVNode)(1,"br"),"Please contact your local HoP!"]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Equipment",children:(0,o.createComponentVNode)(2,c.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,c.Table.Row,{children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:[(0,o.createVNode)(1,"span",(0,r.classes)(["vending32x32",e.path]),null,1,{style:{"vertical-align":"middle"}})," ",(0,o.createVNode)(1,"b",null,e.name,0)]}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:(0,o.createComponentVNode)(2,c.Button,{style:{"min-width":"95px","text-align":"center"},disabled:!d.user||e.price>d.user.points,content:e.price+" points",onClick:function(){return l("purchase",{ref:e.ref})}})})]},e.name)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Mule=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=n(65);t.Mule=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.on,s=d.cell,m=d.cellPercent,p=d.load,C=d.mode,h=d.modeStatus,N=d.haspai,V=d.autoReturn,b=d.autoPickup,f=d.reportDelivery,g=d.destination,v=d.home,x=d.id,k=d.destinations,B=void 0===k?[]:k,_=d.locked&&!d.siliconUser;return(0,o.createComponentVNode)(2,c.Window,{width:350,height:425,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox),(0,o.createComponentVNode)(2,a.Section,{title:"Status",minHeight:"110px",buttons:!_&&(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return l("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:s?m/100:0,color:s?"good":"bad"}),(0,o.createComponentVNode)(2,a.Flex,{mt:1,children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",color:h,children:C})})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Load",color:p?"good":"average",children:p||"None"})})})]})]}),!_&&(0,o.createComponentVNode)(2,a.Section,{title:"Controls",buttons:(0,o.createFragment)([!!p&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Unload",onClick:function(){return l("unload")}}),!!N&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject PAI",onClick:function(){return l("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:x,onChange:function(e,t){return l("setid",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destination",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:g||"None",options:B,width:"150px",onSelected:function(e){return l("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"stop",content:"Stop",onClick:function(){return l("stop")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"play",content:"Go",onClick:function(){return l("go")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Home",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:v,options:B,width:"150px",onSelected:function(e){return l("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"home",content:"Go Home",onClick:function(){return l("home")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:V,content:"Auto-Return",onClick:function(){return l("autored")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:b,content:"Auto-Pickup",onClick:function(){return l("autopick")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:f,content:"Report Delivery",onClick:function(){return l("report")}})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteChamberControlContent=t.NaniteChamberControl=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NaniteChamberControl=function(e,t){return(0,o.createComponentVNode)(2,c.Window,{width:380,height:570,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i)})})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.status_msg,d=i.locked,u=i.occupant_name,s=i.has_nanites,m=i.nanite_volume,p=i.regen_rate,C=i.safety_threshold,h=i.cloud_id,N=i.scan_level;if(l)return(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:l});var V=i.mob_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Chamber: "+u,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:d?"lock":"lock-open",content:d?"Locked":"Unlocked",color:d?"bad":"default",onClick:function(){return c("toggle_lock")}}),children:s?(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 c("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:m}),(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:C,minValue:0,maxValue:500,width:"39px",onChange:function(e,t){return c("set_safety",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:h,minValue:0,maxValue:100,step:1,stepPixelSize:3,width:"39px",onChange:function(e,t){return c("set_cloud",{value:t})}})})]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",level:2,children:V.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}),N>=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"]})]})})]}),N>=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"]})]})})})]}),N>=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)}))})}),N>=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 c("nanite_injection")}})],4)})};t.NaniteChamberControlContent=i},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteCloudControl=t.NaniteCloudBackupDetails=t.NaniteCloudBackupList=t.NaniteInfoBox=t.NaniteDiskBox=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=function(e,t){var n=(0,r.useBackend)(t).data,c=n.has_disk,i=n.has_program,d=n.disk;return c?i?(0,o.createComponentVNode)(2,l,{program:d}):(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 l=function(e,t){var n=e.program,r=n.name,c=n.desc,i=n.activated,l=n.use_rate,d=n.can_trigger,u=n.trigger_cost,s=n.trigger_cooldown,m=n.activation_code,p=n.deactivation_code,C=n.kill_code,h=n.trigger_code,N=n.timer_restart,V=n.timer_shutdown,b=n.timer_trigger,f=n.timer_trigger_delay,g=n.extra_settings||[];return(0,o.createComponentVNode)(2,a.Section,{title:r,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:c}),(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:l}),!!d&&(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:s})],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:m}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:C}),!!d&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:h})]})})}),(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:[N," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown",children:[V," s"]}),!!d&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:[b," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[f," s"]})],4)]})})})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:g.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=l;var d=function(e,t){var n=(0,r.useBackend)(t),c=n.act;return(n.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 c("set_view",{view:e.cloud_id})}},e.cloud_id)}))};t.NaniteCloudBackupList=d;var u=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,d=i.current_view,u=i.disk,s=i.has_program,m=i.cloud_backup,p=u&&u.can_rule||!1;if(!m)return(0,o.createComponentVNode)(2,a.NoticeBox,{children:"ERROR: Backup not found"});var C=i.cloud_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Backup #"+d,level:2,buttons:!!s&&(0,o.createComponentVNode)(2,a.Button,{icon:"upload",content:"Upload From Disk",color:"good",onClick:function(){return c("upload_program")}}),children:C.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 c("remove_program",{program_id:e.id})}}),children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,l,{program:e}),(!!p||!!e.has_rules)&&(0,o.createComponentVNode)(2,a.Section,{mt:-2,title:"Rules",level:2,buttons:!!p&&(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Add Rule from Disk",color:"good",onClick:function(){return c("add_rule",{program_id:e.id})}}),children:e.has_rules?t.map((function(t){return(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return c("remove_rule",{program_id:e.id,rule_id:t.id})}})," "+t.display]},t.display)})):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No Active Rules"})})]})},e.name)}))})};t.NaniteCloudBackupDetails=u;t.NaniteCloudControl=function(e,t){var n=(0,r.useBackend)(t),l=n.act,s=n.data,m=s.has_disk,p=s.current_view,C=s.new_backup_id;return(0,o.createComponentVNode)(2,c.Window,{width:375,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Program Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!m,onClick:function(){return l("eject")}}),children:(0,o.createComponentVNode)(2,i)}),(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 l("set_view",{view:0})}}):(0,o.createFragment)(["New Backup: ",(0,o.createComponentVNode)(2,a.NumberInput,{value:C,minValue:1,maxValue:100,stepPixelSize:4,width:"39px",onChange:function(e,t){return l("update_new_backup_value",{value:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return l("create_backup")}})],0),children:s.current_view?(0,o.createComponentVNode)(2,u):(0,o.createComponentVNode)(2,d)})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgramHub=void 0;var o=n(0),r=n(10),a=n(2),c=n(1),i=n(3);t.NaniteProgramHub=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.detail_view,s=d.disk,m=d.has_disk,p=d.has_program,C=d.programs,h=void 0===C?{}:C,N=(0,a.useSharedState)(t,"category"),V=N[0],b=N[1],f=h&&h[V]||[];return(0,o.createComponentVNode)(2,i.Window,{width:500,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Section,{title:"Program Disk",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:"eject",content:"Eject",onClick:function(){return l("eject")}}),(0,o.createComponentVNode)(2,c.Button,{icon:"minus-circle",content:"Delete Program",onClick:function(){return l("clear")}})],4),children:m?p?(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Program Name",children:s.name}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Description",children:s.desc})]}):(0,o.createComponentVNode)(2,c.NoticeBox,{children:"No Program Installed"}):(0,o.createComponentVNode)(2,c.NoticeBox,{children:"Insert Disk"})}),(0,o.createComponentVNode)(2,c.Section,{title:"Programs",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:u?"info":"list",content:u?"Detailed":"Compact",onClick:function(){return l("toggle_details")}}),(0,o.createComponentVNode)(2,c.Button,{icon:"sync",content:"Sync Research",onClick:function(){return l("refresh")}})],4),children:null!==h?(0,o.createComponentVNode)(2,c.Flex,{children:[(0,o.createComponentVNode)(2,c.Flex.Item,{minWidth:"110px",children:(0,o.createComponentVNode)(2,c.Tabs,{vertical:!0,children:(0,r.map)((function(e,t){var n=t.substring(0,t.length-8);return(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:t===V,onClick:function(){return b(t)},children:n},t)}))(h)})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,basis:0,children:u?f.map((function(e){return(0,o.createComponentVNode)(2,c.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"download",content:"Download",disabled:!m,onClick:function(){return l("download",{program_id:e.id})}}),children:e.desc},e.id)})):(0,o.createComponentVNode)(2,c.LabeledList,{children:f.map((function(e){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"download",content:"Download",disabled:!m,onClick:function(){return l("download",{program_id:e.id})}})},e.id)}))})})]}):(0,o.createComponentVNode)(2,c.NoticeBox,{children:"No nanite programs are currently researched."})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgrammerContent=t.NaniteProgrammer=t.NaniteExtraBoolean=t.NaniteExtraType=t.NaniteExtraText=t.NaniteExtraNumber=t.NaniteExtraEntry=t.NaniteDelays=t.NaniteCodes=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.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 c("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 c("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 c("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 c("set_code",{target_code:"trigger",code:t})}})})]})})};t.NaniteCodes=i;var l=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.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 c("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 c("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 c("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 c("set_timer_trigger_delay",{delay:t})}})})],4)]})})};t.NaniteDelays=l;var d=function(e,t){var n=e.extra_setting,r=n.name,c=n.type,i={number:(0,o.createComponentVNode)(2,u,{extra_setting:n}),text:(0,o.createComponentVNode)(2,s,{extra_setting:n}),type:(0,o.createComponentVNode)(2,m,{extra_setting:n}),boolean:(0,o.createComponentVNode)(2,p,{extra_setting:n})};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:r,children:i[c]})};t.NaniteExtraEntry=d;var u=function(e,t){var n=e.extra_setting,c=(0,r.useBackend)(t).act,i=n.name,l=n.value,d=n.min,u=n.max,s=n.unit;return(0,o.createComponentVNode)(2,a.NumberInput,{value:l,width:"64px",minValue:d,maxValue:u,unit:s,onChange:function(e,t){return c("set_extra_setting",{target_setting:i,value:t})}})};t.NaniteExtraNumber=u;var s=function(e,t){var n=e.extra_setting,c=(0,r.useBackend)(t).act,i=n.name,l=n.value;return(0,o.createComponentVNode)(2,a.Input,{value:l,width:"200px",onInput:function(e,t){return c("set_extra_setting",{target_setting:i,value:t})}})};t.NaniteExtraText=s;var m=function(e,t){var n=e.extra_setting,c=(0,r.useBackend)(t).act,i=n.name,l=n.value,d=n.types;return(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:l,width:"150px",options:d,onSelected:function(e){return c("set_extra_setting",{target_setting:i,value:e})}})};t.NaniteExtraType=m;var p=function(e,t){var n=e.extra_setting,c=(0,r.useBackend)(t).act,i=n.name,l=n.value,d=n.true_text,u=n.false_text;return(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:l?d:u,checked:l,onClick:function(){return c("set_extra_setting",{target_setting:i})}})};t.NaniteExtraBoolean=p;t.NaniteProgrammer=function(e,t){return(0,o.createComponentVNode)(2,c.Window,{width:420,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,C)})})};var C=function(e,t){var n=(0,r.useBackend)(t),c=n.act,u=n.data,s=u.has_disk,m=u.has_program,p=u.name,C=u.desc,h=u.use_rate,N=u.can_trigger,V=u.trigger_cost,b=u.trigger_cooldown,f=u.activated,g=u.has_extra_settings,v=u.extra_settings,x=void 0===v?{}:v;return s?m?(0,o.createComponentVNode)(2,a.Section,{title:p,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return c("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:C}),(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:h}),!!N&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:V}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:b})],4)]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Settings",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:f?"power-off":"times",content:f?"Active":"Inactive",selected:f,color:"bad",bold:!0,onClick:function(){return c("toggle_active")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i)}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,l)})]}),!!g&&(0,o.createComponentVNode)(2,a.Section,{title:"Special",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:x.map((function(e){return(0,o.createComponentVNode)(2,d,{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 c("eject")}})}):(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Insert a nanite program disk"})};t.NaniteProgrammerContent=C},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteRemoteContent=t.NaniteRemote=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NaniteRemote=function(e,t){return(0,o.createComponentVNode)(2,c.Window,{width:420,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i)})})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.code,d=i.locked,u=i.mode,s=i.program_name,m=i.relay_code,p=i.comms,C=i.message,h=i.saved_settings,N=void 0===h?[]:h;return d?(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 c("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:s,maxLength:14,width:"130px",onChange:function(e,t){return c("update_name",{name:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",content:"Save",onClick:function(){return c("save")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:p?"Comm Code":"Signal Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:l,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return c("set_code",{code:t})}})}),!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",children:(0,o.createComponentVNode)(2,a.Input,{value:C,width:"270px",onChange:function(e,t){return c("set_message",{value:t})}})}),"Relay"===u&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Relay Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return c("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 c("select_mode",{mode:e})}},e)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Saved Settings",children:N.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"})]}),N.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 c("load",{save_id:e.id})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return c("remove_save",{save_id:e.id})}})]})]},e.id)}))]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No settings currently saved"})})],4)};t.NaniteRemoteContent=i},function(e,t,n){"use strict";t.__esModule=!0,t.NotificationPreferences=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NotificationPreferences=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=(n.data.ignore||[]).sort((function(e,t){var n=e.desc.toLowerCase(),o=t.desc.toLowerCase();return no?1:0}));return(0,o.createComponentVNode)(2,c.Window,{title:"Notification Preferences",width:270,height:360,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{title:"Ghost Role Notifications",children:l.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 i("toggle_ignore",{key:e.key})}},e.key)}))})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtnetRelay=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtnetRelay=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.enabled,u=l.dos_capacity,s=l.dos_overload,m=l.dos_crashed;return(0,o.createComponentVNode)(2,c.Window,{title:"NtNet Quantum Relay",width:400,height:300,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Network Buffer",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:d,content:d?"ENABLED":"DISABLED",onClick:function(){return i("toggle")}}),children:m?(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 i("restart")}})]}):(0,o.createComponentVNode)(2,a.ProgressBar,{value:s,minValue:0,maxValue:u,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:s})," GQ"," / ",u," GQ"]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosAiRestorer=void 0;var o=n(0),r=n(3),a=n(202);t.NtosAiRestorer=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:370,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.AiRestorerContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosArcade=void 0;var o=n(0),r=n(51),a=n(2),c=n(1),i=n(3);t.NtosArcade=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data;return(0,o.createComponentVNode)(2,i.NtosWindow,{width:450,height:350,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,c.Section,{title:"Outbomb Cuban Pete Ultra",textAlign:"center",children:[(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.Grid,{children:[(0,o.createComponentVNode)(2,c.Grid.Column,{size:2,children:[(0,o.createComponentVNode)(2,c.Box,{m:1}),(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Player Health",children:(0,o.createComponentVNode)(2,c.ProgressBar,{value:d.PlayerHitpoints,minValue:0,maxValue:30,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[d.PlayerHitpoints,"HP"]})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Player Magic",children:(0,o.createComponentVNode)(2,c.ProgressBar,{value:d.PlayerMP,minValue:0,maxValue:10,ranges:{purple:[11,Infinity],violet:[3,11],bad:[-Infinity,3]},children:[d.PlayerMP,"MP"]})})]}),(0,o.createComponentVNode)(2,c.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,c.Section,{backgroundColor:1===d.PauseState?"#1b3622":"#471915",children:d.Status})]}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:[(0,o.createComponentVNode)(2,c.ProgressBar,{value:d.Hitpoints,minValue:0,maxValue:45,ranges:{good:[30,Infinity],average:[5,30],bad:[-Infinity,5]},children:[(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:d.Hitpoints}),"HP"]}),(0,o.createComponentVNode)(2,c.Box,{m:1}),(0,o.createComponentVNode)(2,c.Section,{inline:!0,width:"156px",textAlign:"center",children:(0,o.createVNode)(1,"img",null,null,1,{src:(0,r.resolveAsset)(d.BossID)})})]})]}),(0,o.createComponentVNode)(2,c.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,c.Button,{icon:"fist-raised",tooltip:"Go in for the kill!",tooltipPosition:"top",disabled:0===d.GameActive||1===d.PauseState,onClick:function(){return l("Attack")},content:"Attack!"}),(0,o.createComponentVNode)(2,c.Button,{icon:"band-aid",tooltip:"Heal yourself!",tooltipPosition:"top",disabled:0===d.GameActive||1===d.PauseState,onClick:function(){return l("Heal")},content:"Heal!"}),(0,o.createComponentVNode)(2,c.Button,{icon:"magic",tooltip:"Recharge your magic!",tooltipPosition:"top",disabled:0===d.GameActive||1===d.PauseState,onClick:function(){return l("Recharge_Power")},content:"Recharge!"})]}),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.Button,{icon:"sync-alt",tooltip:"One more game couldn't hurt.",tooltipPosition:"top",disabled:1===d.GameActive,onClick:function(){return l("Start_Game")},content:"Begin Game"}),(0,o.createComponentVNode)(2,c.Button,{icon:"ticket-alt",tooltip:"Claim at your local Arcade Computer for Prizes!",tooltipPosition:"top",disabled:1===d.GameActive,onClick:function(){return l("Dispense_Tickets")},content:"Claim Tickets"})]}),(0,o.createComponentVNode)(2,c.Box,{color:d.TicketCount>=1?"good":"normal",children:["Earned Tickets: ",d.TicketCount]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosAtmos=void 0;var o=n(0),r=n(10),a=n(24),c=n(8),i=n(2),l=n(1),d=n(42),u=n(3);t.NtosAtmos=function(e,t){var n=(0,i.useBackend)(t),s=(n.act,n.data),m=s.AirTemp,p=s.AirPressure,C=(0,a.flow)([(0,r.filter)((function(e){return e.percentage>=.01})),(0,r.sortBy)((function(e){return-e.percentage}))])(s.AirData||[]),h=Math.max.apply(Math,[1].concat(C.map((function(e){return e.percentage}))));return(0,o.createComponentVNode)(2,u.NtosWindow,{width:300,height:350,resizable:!0,children:(0,o.createComponentVNode)(2,u.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Temperature",children:[m,"\xb0C"]}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Pressure",children:[p," kPa"]})]})}),(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:C.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,d.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,d.getGasColor)(e.name),value:e.percentage,minValue:0,maxValue:h,children:(0,c.toFixed)(e.percentage,2)+"%"})},e.name)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCardContent=t.NtosCard=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=n(203);t.NtosCard=function(e,t){return(0,o.createComponentVNode)(2,c.NtosWindow,{width:450,height:520,resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=(0,r.useLocalState)(t,"tab",1),u=d[0],s=d[1],m=l.authenticated,p=l.regions,C=void 0===p?[]:p,h=l.access_on_card,N=void 0===h?[]:h,V=l.jobs,b=void 0===V?{}:V,f=l.id_rank,g=l.id_owner,v=l.has_id,x=l.have_printer,k=l.have_id_slot,B=l.id_name,_=(0,r.useLocalState)(t,"department",Object.keys(b)[0]),w=_[0],L=_[1];if(!k)return(0,o.createComponentVNode)(2,a.NoticeBox,{children:"This program requires an ID slot in order to function"});var y=b[w]||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:v&&m?(0,o.createComponentVNode)(2,a.Input,{value:g,width:"250px",onInput:function(e,t){return c("PRG_edit",{name:t})}}):g||"No Card Inserted",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"print",content:"Print",disabled:!x||!v,onClick:function(){return c("PRG_print")}}),(0,o.createComponentVNode)(2,a.Button,{icon:m?"sign-out-alt":"sign-in-alt",content:m?"Log Out":"Log In",color:m?"bad":"good",onClick:function(){c(m?"PRG_logout":"PRG_authenticate")}})],4),children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"eject",content:B,onClick:function(){return c("PRG_eject")}})}),!!v&&!!m&&(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===u,onClick:function(){return s(1)},children:"Access"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:2===u,onClick:function(){return s(2)},children:"Jobs"})]}),1===u&&(0,o.createComponentVNode)(2,i.AccessList,{accesses:C,selectedList:N,accessMod:function(e){return c("PRG_access",{access_target:e})},grantAll:function(){return c("PRG_grantall")},denyAll:function(){return c("PRG_denyall")},grantDep:function(e){return c("PRG_grantregion",{region:e})},denyDep:function(e){return c("PRG_denyregion",{region:e})}}),2===u&&(0,o.createComponentVNode)(2,a.Section,{title:f,buttons:(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:"exclamation-triangle",content:"Terminate",color:"bad",onClick:function(){return c("PRG_terminate")}}),children:[(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Custom...",onCommit:function(e,t){return c("PRG_assign",{assign_target:"Custom",custom_name:t})}}),(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:Object.keys(b).map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:e===w,onClick:function(){return L(e)},children:e},e)}))})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:y.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.display_name,onClick:function(){return c("PRG_assign",{assign_target:e.job})}},e.job)}))})]})]})]})],0)};t.NtosCardContent=l},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCargo=void 0;var o=n(0),r=n(143),a=n(3);t.NtosCargo=function(e,t){return(0,o.createComponentVNode)(2,a.NtosWindow,{width:800,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,r.CargoContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosConfiguration=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosConfiguration=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.PC_device_theme,u=l.power_usage,s=l.battery_exists,m=l.battery,p=void 0===m?{}:m,C=l.disk_size,h=l.disk_used,N=l.hardware,V=void 0===N?[]:N;return(0,o.createComponentVNode)(2,c.NtosWindow,{theme:d,width:420,height:630,resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:[(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: ",u,"W"]}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Battery Status",color:!s&&"average",children:s?(0,o.createComponentVNode)(2,a.ProgressBar,{value:p.charge,minValue:0,maxValue:p.max,ranges:{good:[p.max/2,Infinity],average:[p.max/4,p.max/2],bad:[-Infinity,p.max/4]},children:[p.charge," / ",p.max]}):"Not Available"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"File System",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:h,minValue:0,maxValue:C,color:"good",children:[h," GQ / ",C," GQ"]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Hardware Components",children:V.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 i("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)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCrewManifest=void 0;var o=n(0),r=n(10),a=n(2),c=n(1),i=n(3);t.NtosCrewManifest=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.have_printer,s=d.manifest,m=void 0===s?{}:s;return(0,o.createComponentVNode)(2,i.NtosWindow,{width:400,height:480,resizable:!0,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c.Section,{title:"Crew Manifest",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"print",content:"Print",disabled:!u,onClick:function(){return l("PRG_print")}}),children:(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,c.Section,{level:2,title:t,children:(0,o.createComponentVNode)(2,c.Table,{children:e.map((function(e){return(0,o.createComponentVNode)(2,c.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,c.Table.Cell,{bold:!0,children:e.name}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:["(",e.rank,")"]})]},e.name)}))})},t)}))(m)})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCyborgRemoteMonitorSyndicate=void 0;var o=n(0),r=n(3),a=n(209);t.NtosCyborgRemoteMonitorSyndicate=function(e,t){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:600,height:800,theme:"syndicate",children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.NtosCyborgRemoteMonitorContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosFileManager=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosFileManager=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.PC_device_theme,s=d.usbconnected,m=d.files,p=void 0===m?[]:m,C=d.usbfiles,h=void 0===C?[]:C;return(0,o.createComponentVNode)(2,c.NtosWindow,{resizable:!0,theme:u,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,i,{files:p,usbconnected:s,onUpload:function(e){return l("PRG_copytousb",{name:e})},onDelete:function(e){return l("PRG_deletefile",{name:e})},onRename:function(e,t){return l("PRG_rename",{name:e,new_name:t})},onDuplicate:function(e){return l("PRG_clone",{file:e})},onToggleSilence:function(e){return l("PRG_togglesilence",{name:e})}})}),s&&(0,o.createComponentVNode)(2,a.Section,{title:"Data Disk",children:(0,o.createComponentVNode)(2,i,{usbmode:!0,files:h,usbconnected:s,onUpload:function(e){return l("PRG_copyfromusb",{name:e})},onDelete:function(e){return l("PRG_deletefile",{name:e})},onRename:function(e,t){return l("PRG_rename",{name:e,new_name:t})},onDuplicate:function(e){return l("PRG_clone",{file:e})}})})]})})};var i=function(e){var t=e.files,n=void 0===t?[]:t,r=e.usbconnected,c=e.usbmode,i=e.onUpload,l=e.onDelete,d=e.onRename,u=e.onToggleSilence;return(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"File"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Type"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Size"})]}),n.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.undeletable?e.name:(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:e.name,currentValue:e.name,tooltip:"Rename",onCommit:function(t,n){return d(e.name,n)}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.type}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.size}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[!!e.alert_able&&(0,o.createComponentVNode)(2,a.Button,{icon:e.alert_silenced?"bell-slash":"bell",color:e.alert_silenced?"red":"default",tooltip:e.alert_silenced?"Unmute Alerts":"Mute Alerts",onClick:function(){return u(e.name)}}),!e.undeletable&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:"trash",confirmIcon:"times",confirmContent:"",tooltip:"Delete",onClick:function(){return l(e.name)}}),!!r&&(c?(0,o.createComponentVNode)(2,a.Button,{icon:"download",tooltip:"Download",onClick:function(){return i(e.name)}}):(0,o.createComponentVNode)(2,a.Button,{icon:"upload",tooltip:"Upload",onClick:function(){return i(e.name)}}))],0)]})]},e.name)}))]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosJobManagerContent=t.NtosJobManager=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosJobManager=function(e,t){return(0,o.createComponentVNode)(2,c.NtosWindow,{width:400,height:620,resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i)})})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.authed,d=i.cooldown,u=i.slots,s=void 0===u?[]:u,m=i.prioritized,p=void 0===m?[]:m;return l?(0,o.createComponentVNode)(2,a.Section,{children:[d>0&&(0,o.createComponentVNode)(2,a.Dimmer,{children:(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"20px",children:["On Cooldown: ",d,"s"]})}),(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Prioritized"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Slots"})]}),s.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,content:e.title,disabled:e.total<=0,checked:e.total>0&&p.includes(e.title),onClick:function(){return c("PRG_priority",{target:e.title})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[e.current," / ",e.total]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,a.Button,{content:"Open",disabled:!e.status_open,onClick:function(){return c("PRG_open_job",{target:e.title})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Close",disabled:!e.status_close,onClick:function(){return c("PRG_close_job",{target:e.title})}})]})]},e.title)}))]})]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Current ID does not have access permissions to change job slots."})};t.NtosJobManagerContent=i},function(e,t,n){"use strict";t.__esModule=!0,t.NtosMain=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosMain=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.device_theme,u=l.programs,s=void 0===u?[]:u,m=l.has_light,p=l.light_on,C=l.comp_light_color,h=l.removable_media,N=void 0===h?[]:h,V=l.cardholder,b=l.login,f=void 0===b?[]:b;return(0,o.createComponentVNode)(2,c.NtosWindow,{title:"syndicate"===d?"Syndix Main Menu":"NtOS Main Menu",theme:d,width:400,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:[!!m&&(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Button,{width:"144px",icon:"lightbulb",selected:p,onClick:function(){return i("PC_toggle_light")},children:["Flashlight: ",p?"ON":"OFF"]}),(0,o.createComponentVNode)(2,a.Button,{ml:1,onClick:function(){return i("PC_light_color")},children:["Color:",(0,o.createComponentVNode)(2,a.ColorBox,{ml:1,color:C})]})]}),!!V&&(0,o.createComponentVNode)(2,a.Section,{title:"User Login",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject ID",disabled:!f.IDName,onClick:function(){return i("PC_Eject_Disk",{name:"ID"})}}),children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:["ID Name: ",f.IDName]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:["Assignment: ",f.IDJob]})]})}),!!N.length&&(0,o.createComponentVNode)(2,a.Section,{title:"Media Eject",children:(0,o.createComponentVNode)(2,a.Table,{children:N.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,color:"transparent",icon:"eject",content:e,onClick:function(){return i("PC_Eject_Disk",{name:e})}})})},e)}))})}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",children:(0,o.createComponentVNode)(2,a.Table,{children:s.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,color:e.alert?"yellow":"transparent",icon:e.icon,content:e.desc,onClick:function(){return i("PC_runprogram",{name:e.name})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,width:"18px",children:!!e.running&&(0,o.createComponentVNode)(2,a.Button,{color:"transparent",icon:"times",tooltip:"Close program",tooltipPosition:"left",onClick:function(){return i("PC_killprogram",{name:e.name})}})})]},e.name)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetChat=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosNetChat=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.can_admin,u=l.adminmode,s=l.authed,m=l.username,p=l.active_channel,C=l.is_operator,h=l.all_channels,N=void 0===h?[]:h,V=l.clients,b=void 0===V?[]:V,f=l.messages,g=void 0===f?[]:f,v=null!==p,x=s||u;return(0,o.createComponentVNode)(2,c.NtosWindow,{width:900,height:675,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{children:(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 i("PRG_newchannel",{new_channel_name:t})}}),N.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.chan,selected:e.id===p,color:"transparent",onClick:function(){return i("PRG_joinchannel",{id:e.id})}},e.chan)}))]}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,mt:1,content:m+"...",currentValue:m,onCommit:function(e,t){return i("PRG_changename",{new_name:t})}}),!!d&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:"ADMIN MODE: "+(u?"ON":"OFF"),color:u?"bad":"good",onClick:function(){return i("PRG_toggleadmin")}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createComponentVNode)(2,a.Box,{height:"560px",overflowY:"scroll",children:v&&(x?g.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 i("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:b.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.name},e.name)}))}),v&&x&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Save log...",defaultValue:"new_log",onCommit:function(e,t){return i("PRG_savelog",{log_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Leave Channel",onClick:function(){return i("PRG_leavechannel")}})],4),!!C&&s&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Delete Channel",onClick:function(){return i("PRG_deletechannel")}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Rename Channel...",onCommit:function(e,t){return i("PRG_renamechannel",{new_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Set Password...",onCommit:function(e,t){return i("PRG_setpassword",{new_password:t})}})],4)]})]})})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDosContent=t.NtosNetDos=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosNetDos=function(e,t){return(0,o.createComponentVNode)(2,c.NtosWindow,{width:400,height:250,theme:"syndicate",children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,i)})})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.relays,d=void 0===l?[]:l,u=i.focus,s=i.target,m=i.speed,p=i.overload,C=i.capacity,h=i.error;if(h)return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:h}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Reset",textAlign:"center",onClick:function(){return c("PRG_reset")}})],4);var N=function(e){for(var t="",n=p/C;t.lengthn?t+="0":t+="1";return t};return s?(0,o.createComponentVNode)(2,a.Section,{fontFamily:"monospace",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{children:["CURRENT SPEED: ",m," GQ/s"]}),(0,o.createComponentVNode)(2,a.Box,{children:N(45)}),(0,o.createComponentVNode)(2,a.Box,{children:N(45)}),(0,o.createComponentVNode)(2,a.Box,{children:N(45)}),(0,o.createComponentVNode)(2,a.Box,{children:N(45)}),(0,o.createComponentVNode)(2,a.Box,{children:N(45)})]}):(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.id,selected:u===e.id,onClick:function(){return c("PRG_target_relay",{targid:e.id})}},e.id)}))})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:"EXECUTE",color:"bad",textAlign:"center",disabled:!u,mt:1,onClick:function(){return c("PRG_execute")}})]})};t.NtosNetDosContent=i},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDownloader=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosNetDownloader=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.PC_device_theme,s=d.disk_size,m=d.disk_used,p=d.downloadable_programs,C=void 0===p?[]:p,h=d.error,N=d.hacked_programs,V=void 0===N?[]:N,b=d.hackedavailable;return(0,o.createComponentVNode)(2,c.NtosWindow,{theme:u,width:480,height:735,resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:[!!h&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:h}),(0,o.createComponentVNode)(2,a.Button,{content:"Reset",onClick:function(){return l("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:m,minValue:0,maxValue:s,children:m+" GQ / "+s+" GQ"})})})}),(0,o.createComponentVNode)(2,a.Section,{children:[C.filter((function(e){return e.access})).map((function(e){return(0,o.createComponentVNode)(2,i,{program:e},e.filename)})),C.filter((function(e){return!e.access})).map((function(e){return(0,o.createComponentVNode)(2,i,{program:e},e.filename)}))]}),!!b&&(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."}),V.map((function(e){return(0,o.createComponentVNode)(2,i,{program:e},e.filename)}))]})]})})};var i=function(e,t){var n=e.program,c=(0,r.useBackend)(t),i=c.act,l=c.data,d=l.disk_size,u=l.disk_used,s=l.downloadcompletion,m=l.downloading,p=l.downloadname,C=l.downloadsize,h=d-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:n.filedesc}),(0,o.createComponentVNode)(2,a.Flex.Item,{color:"label",nowrap:!0,children:[n.size," GQ"]}),(0,o.createComponentVNode)(2,a.Flex.Item,{ml:2,width:"94px",textAlign:"center",children:n.filename===p&&(0,o.createComponentVNode)(2,a.ProgressBar,{color:"green",minValue:0,maxValue:C,value:s})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Download",disabled:m||n.size>h||!n.access,onClick:function(){return i("PRG_downloadfile",{filename:n.filename})}})})]}),"Compatible"!==n.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!"]}),!n.access&&(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"}),"Invalid credentials loaded!"]}),n.size>h&&(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:n.fileinfo})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetMonitor=void 0;var o=n(0),r=n(1),a=n(2),c=n(3);t.NtosNetMonitor=function(e,t){var n=(0,a.useBackend)(t),i=n.act,l=n.data,d=l.ntnetrelays,u=l.ntnetstatus,s=l.config_softwaredownload,m=l.config_peertopeer,p=l.config_communication,C=l.config_systemcontrol,h=l.idsalarm,N=l.idsstatus,V=l.ntnetmaxlogs,b=l.maxlogs,f=l.minlogs,g=l.ntnetlogs,v=void 0===g?[]:g;return(0,o.createComponentVNode)(2,c.NtosWindow,{resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,r.NoticeBox,{children:"WARNING: Disabling wireless transmitters when using a wireless device may prevent you from reenabling them!"}),(0,o.createComponentVNode)(2,r.Section,{title:"Wireless Connectivity",buttons:(0,o.createComponentVNode)(2,r.Button.Confirm,{icon:u?"power-off":"times",content:u?"ENABLED":"DISABLED",selected:u,onClick:function(){return i("toggleWireless")}}),children:d?(0,o.createComponentVNode)(2,r.LabeledList,{children:(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Active NTNet Relays",children:d})}):"No Relays Connected"}),(0,o.createComponentVNode)(2,r.Section,{title:"Firewall Configuration",children:(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Software Downloads",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:s?"power-off":"times",content:s?"ENABLED":"DISABLED",selected:s,onClick:function(){return i("toggle_function",{id:"1"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Peer to Peer Traffic",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:m?"power-off":"times",content:m?"ENABLED":"DISABLED",selected:m,onClick:function(){return i("toggle_function",{id:"2"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Communication Systems",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:p?"power-off":"times",content:p?"ENABLED":"DISABLED",selected:p,onClick:function(){return i("toggle_function",{id:"3"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Remote System Control",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:C?"power-off":"times",content:C?"ENABLED":"DISABLED",selected:C,onClick:function(){return i("toggle_function",{id:"4"})}})})]})}),(0,o.createComponentVNode)(2,r.Section,{title:"Security Systems",children:[!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,r.NoticeBox,{children:"NETWORK INCURSION DETECTED"}),(0,o.createComponentVNode)(2,r.Box,{italics:!0,children:"Abnormal activity has been detected in the network. Check system logs for more information"})],4),(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"IDS Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Button,{icon:N?"power-off":"times",content:N?"ENABLED":"DISABLED",selected:N,onClick:function(){return i("toggleIDS")}}),(0,o.createComponentVNode)(2,r.Button,{icon:"sync",content:"Reset",color:"bad",onClick:function(){return i("resetIDS")}})],4)}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Max Log Count",buttons:(0,o.createComponentVNode)(2,r.NumberInput,{value:V,minValue:f,maxValue:b,width:"39px",onChange:function(e,t){return i("updatemaxlogs",{new_number:t})}})})]}),(0,o.createComponentVNode)(2,r.Section,{title:"System Log",level:2,buttons:(0,o.createComponentVNode)(2,r.Button.Confirm,{icon:"trash",content:"Clear Logs",onClick:function(){return i("purgelogs")}}),children:v.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{className:"candystripe",children:e.entry},e.entry)}))})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosPowerMonitor=void 0;var o=n(0),r=n(3),a=n(142);t.NtosPowerMonitor=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:550,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.PowerMonitorContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRadarSyndicate=void 0;var o=n(0),r=n(3),a=n(210);t.NtosRadarSyndicate=function(e,t){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:800,height:600,theme:"syndicate",children:(0,o.createComponentVNode)(2,a.NtosRadarContent,{sig_err:"Out of Range"})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRequestKiosk=void 0;var o=n(0),r=n(211),a=n(3);t.NtosRequestKiosk=function(e,t){return(0,o.createComponentVNode)(2,a.NtosWindow,{width:550,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,r.RequestKioskContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRevelation=void 0;var o=n(0),r=n(1),a=n(2),c=n(3);t.NtosRevelation=function(e,t){var n=(0,a.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.NtosWindow,{width:400,height:250,theme:"syndicate",children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Button.Input,{fluid:!0,content:"Obfuscate Name...",onCommit:function(e,t){return i("PRG_obfuscate",{new_name:t})},mb:1}),(0,o.createComponentVNode)(2,r.LabeledList,{children:(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Payload Status",buttons:(0,o.createComponentVNode)(2,r.Button,{content:l.armed?"ARMED":"DISARMED",color:l.armed?"bad":"average",onClick:function(){return i("PRG_arm")}})})}),(0,o.createComponentVNode)(2,r.Button,{fluid:!0,bold:!0,content:"ACTIVATE",textAlign:"center",color:"bad",disabled:!l.armed})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRoboControl=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosRoboControl=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.bots,s=d.id_owner,m=d.has_id;return(0,o.createComponentVNode)(2,c.NtosWindow,{width:550,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Robot Control Console",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Id Card",children:[s,!!m&&(0,o.createComponentVNode)(2,a.Button,{ml:2,icon:"eject",content:"Eject",onClick:function(){return l("ejectcard")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Bots in range",children:d.botcount})]})}),null==u?void 0:u.map((function(e){return(0,o.createComponentVNode)(2,i,{robot:e},e.bot_ref)}))]})})};var i=function(e,t){var n=e.robot,c=(0,r.useBackend)(t),i=c.act,l=c.data,d=l.mules||[],u=!!n.mule_check&&function(e,t){return null==e?void 0:e.find((function(e){return e.mule_ref===t}))}(d,n.bot_ref),s=1===n.mule_check?"rgba(110, 75, 14, 1)":"rgba(74, 59, 140, 1)";return(0,o.createComponentVNode)(2,a.Section,{title:n.name,style:{border:"4px solid "+s},buttons:u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"play",tooltip:"Go to Destination.",onClick:function(){return i("go",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"pause",tooltip:"Stop Moving.",onClick:function(){return i("stop",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"home",tooltip:"Travel Home.",tooltipPosition:"bottom-left",onClick:function(){return i("home",{robot:u.mule_ref})}})],4),children:(0,o.createComponentVNode)(2,a.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Model",children:n.model}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:n.locat}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:n.mode}),u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Loaded Cargo",children:l.load||"N/A"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Home",children:u.home}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destination",children:u.dest||"N/A"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:u.power,minValue:0,maxValue:100,ranges:{good:[60,Infinity],average:[20,60],bad:[-Infinity,20]}})})],4)]})}),(0,o.createComponentVNode)(2,a.Flex.Item,{width:"150px",children:[u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Set Destination",onClick:function(){return i("destination",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Set ID",onClick:function(){return i("setid",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Set Home",onClick:function(){return i("sethome",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Unload Cargo",onClick:function(){return i("unload",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,content:"Auto Return",checked:u.autoReturn,onClick:function(){return i("autoret",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,content:"Auto Pickup",checked:u.autoPickup,onClick:function(){return i("autopick",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,content:"Delivery Report",checked:u.reportDelivery,onClick:function(){return i("report",{robot:u.mule_ref})}})],4),!u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Stop Patrol",onClick:function(){return i("patroloff",{robot:n.bot_ref})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Start Patrol",onClick:function(){return i("patrolon",{robot:n.bot_ref})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Summon",onClick:function(){return i("summon",{robot:n.bot_ref})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Eject PAi",onClick:function(){return i("ejectpai",{robot:n.bot_ref})}})],4)]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRobotactContent=t.NtosRobotact=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosRobotact=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data.PC_device_theme);return(0,o.createComponentVNode)(2,c.NtosWindow,{width:800,height:600,theme:a,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,i)})})};var i=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=(0,r.useSharedState)(t,"tab_main",1),u=d[0],s=d[1],m=(0,r.useSharedState)(t,"tab_sub",1),p=m[0],C=m[1],h=l.charge,N=l.maxcharge,V=l.integrity,b=l.lampIntensity,f=l.cover,g=l.locomotion,v=l.wireModule,x=l.wireCamera,k=l.wireAI,B=l.wireLaw,_=l.sensors,w=l.printerPictures,L=l.printerToner,y=l.printerTonerMax,S=l.thrustersInstalled,I=l.thrustersStatus,T=l.name||[],A=l.designation||[],P=l.masterAI||[],F=l.Laws||[],M=l.borgLog||[],R=l.borgUpgrades||[];return(0,o.createComponentVNode)(2,a.Flex,{direction:"column",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{position:"relative",mb:1,children:(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"list",lineHeight:"23px",selected:1===u,onClick:function(){return s(1)},children:"Status"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"list",lineHeight:"23px",selected:2===u,onClick:function(){return s(2)},children:"Logs"})]})}),1===u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Flex,{direction:"row",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{width:"30%",children:(0,o.createComponentVNode)(2,a.Section,{title:"Configuration",fill:!0,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Unit",children:T.slice(0,17)}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Type",children:A}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"AI",children:P.slice(0,17)})]})})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,ml:1,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:["Charge:",(0,o.createComponentVNode)(2,a.Button,{content:"Power Alert",disabled:h,onClick:function(){return i("alertPower")}}),(0,o.createComponentVNode)(2,a.ProgressBar,{value:h/N,ranges:{good:[.5,Infinity],average:[.1,.5],bad:[-Infinity,.1]},children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:h})}),"Chassis Integrity:",(0,o.createComponentVNode)(2,a.ProgressBar,{value:V,minValue:0,maxValue:100,ranges:{bad:[-Infinity,25],average:[25,75],good:[75,Infinity]}})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Lamp Power",children:[(0,o.createComponentVNode)(2,a.Slider,{value:b,step:1,stepPixelSize:25,maxValue:5,minValue:1,onChange:function(e,t){return i("lampIntensity",{ref:t})}}),"Lamp power usage: ",b/2," watts"]})]}),(0,o.createComponentVNode)(2,a.Flex.Item,{width:"50%",ml:1,children:[(0,o.createComponentVNode)(2,a.Section,{fitted:!0,children:(0,o.createComponentVNode)(2,a.Tabs,{fluid:1,textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"",lineHeight:"23px",selected:1===p,onClick:function(){return C(1)},children:"Actions"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"",lineHeight:"23px",selected:2===p,onClick:function(){return C(2)},children:"Upgrades"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"",lineHeight:"23px",selected:3===p,onClick:function(){return C(3)},children:"Diagnostics"})]})}),1===p&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Maintenance Cover",children:(0,o.createComponentVNode)(2,a.Button.Confirm,{content:"Unlock",disabled:"UNLOCKED"===f,onClick:function(){return i("coverunlock")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sensor Overlay",children:(0,o.createComponentVNode)(2,a.Button,{content:_,onClick:function(){return i("toggleSensors")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Stored Photos ("+w+")",children:[(0,o.createComponentVNode)(2,a.Button,{content:"View",disabled:!w,onClick:function(){return i("viewImage")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Print",disabled:!w,onClick:function(){return i("printImage")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Printer Toner",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:L/y})}),!!S&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Toggle Thrusters",children:(0,o.createComponentVNode)(2,a.Button,{content:I,onClick:function(){return i("toggleThrusters")}})})]})}),2===p&&(0,o.createComponentVNode)(2,a.Section,{children:R.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{mb:1,children:e},e)}))}),3===p&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"AI Connection",color:"FAULT"===k?"red":"READY"===k?"yellow":"green",children:k}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"LawSync",color:"FAULT"===B?"red":"green",children:B}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Camera",color:"FAULT"===x?"red":"DISABLED"===x?"yellow":"green",children:x}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Module Controller",color:"FAULT"===v?"red":"green",children:v}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Motor Controller",color:"FAULT"===g?"red":"DISABLED"===g?"yellow":"green",children:g}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Maintenance Cover",color:"UNLOCKED"===f?"red":"green",children:f})]})})]})]}),(0,o.createComponentVNode)(2,a.Flex.Item,{height:21,mt:1,children:(0,o.createComponentVNode)(2,a.Section,{title:"Laws",fill:!0,scrollable:!0,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"State Laws",onClick:function(){return i("lawstate")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"volume-off",onClick:function(){return i("lawchannel")}})],4),children:F.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{mb:1,children:e},e)}))})})],4),2===u&&(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Section,{backgroundColor:"black",height:40,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:M.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{mb:1,children:(0,o.createVNode)(1,"font",null,e,0,{color:"green"})},e)}))})})})]})};t.NtosRobotactContent=i},function(e,t,n){"use strict";t.__esModule=!0,t.NtosSecurEye=void 0;var o=n(0),r=(n(10),n(24),n(6),n(18),n(2)),a=n(1),c=n(3),i=n(204);n(35);t.NtosSecurEye=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=(n.config,d.PC_device_theme),s=d.mapRef,m=d.activeCamera,p=(0,i.selectCameras)(d.cameras),C=(0,i.prevNextCamera)(p,m),h=C[0],N=C[1];return(0,o.createComponentVNode)(2,c.NtosWindow,{width:800,height:600,theme:u,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{children:[(0,o.createVNode)(1,"div","CameraConsole__left",(0,o.createComponentVNode)(2,i.CameraConsoleContent),2),(0,o.createVNode)(1,"div","CameraConsole__right",[(0,o.createVNode)(1,"div","CameraConsole__toolbar",[(0,o.createVNode)(1,"b",null,"Camera: ",16),m&&m.name||"\u2014"],0),(0,o.createVNode)(1,"div","CameraConsole__toolbarRight",[(0,o.createComponentVNode)(2,a.Button,{icon:"chevron-left",disabled:!h,onClick:function(){return l("switch_camera",{name:h})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"chevron-right",disabled:!N,onClick:function(){return l("switch_camera",{name:N})}})],4),(0,o.createComponentVNode)(2,a.ByondUi,{className:"CameraConsole__map",params:{id:s,type:"map"}})],4)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosShipping=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.NtosShipping=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.NtosWindow,{width:450,height:350,resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"NTOS Shipping Hub.",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Id",onClick:function(){return i("ejectid")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current User",children:l.current_user||"N/A"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Inserted Card",children:l.card_owner||"N/A"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Available Paper",children:l.has_printer?l.paperamt:"N/A"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Profit on Sale",children:[l.barcode_split,"%"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Shipping Options",children:[(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"id-card",tooltip:"The currently ID card will become the current user.",tooltipPosition:"right",disabled:!l.has_id_slot,onClick:function(){return i("selectid")},content:"Set Current ID"})}),(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"print",tooltip:"Print a barcode to use on a wrapped package.",tooltipPosition:"right",disabled:!l.has_printer||!l.current_user,onClick:function(){return i("print")},content:"Print Barcode"})}),(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"tags",tooltip:"Set how much profit you'd like on your package.",tooltipPosition:"right",onClick:function(){return i("setsplit")},content:"Set Profit Margin"})}),(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"sync-alt",content:"Reset ID",onClick:function(){return i("resetid")}})})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosStationAlertConsole=void 0;var o=n(0),r=n(3),a=n(212);t.NtosStationAlertConsole=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:315,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.StationAlertConsoleContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosSupermatterMonitorContent=t.NtosSupermatterMonitor=void 0;var o=n(0),r=n(10),a=n(24),c=n(8),i=n(2),l=n(1),d=n(42),u=n(3),s=function(e){return Math.log2(16+Math.max(0,e))-4};t.NtosSupermatterMonitor=function(e,t){return(0,o.createComponentVNode)(2,u.NtosWindow,{width:600,height:350,resizable:!0,children:(0,o.createComponentVNode)(2,u.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,m)})})};var m=function(e,t){var n=(0,i.useBackend)(t),u=n.act,m=n.data,C=m.active,h=m.SM_integrity,N=m.SM_power,V=m.SM_ambienttemp,b=m.SM_ambientpressure;if(!C)return(0,o.createComponentVNode)(2,p);var f=(0,a.flow)([function(e){return e.filter((function(e){return e.amount>=.01}))},(0,r.sortBy)((function(e){return-e.amount}))])(m.gases||[]),g=Math.max.apply(Math,[1].concat(f.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:N,minValue:0,maxValue:5e3,ranges:{good:[-Infinity,5e3],average:[5e3,7e3],bad:[7e3,Infinity]},children:(0,c.toFixed)(N)+" MeV/cm3"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s(V),minValue:0,maxValue:s(1e4),ranges:{teal:[-Infinity,s(80)],good:[s(80),s(373)],average:[s(373),s(1e3)],bad:[s(1e3),Infinity]},children:(0,c.toFixed)(V)+" K"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s(b),minValue:0,maxValue:s(5e4),ranges:{good:[s(1),s(300)],average:[-Infinity,s(1e3)],bad:[s(1e3),+Infinity]},children:(0,c.toFixed)(b)+" kPa"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,l.Section,{title:"Gases",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"arrow-left",content:"Back",onClick:function(){return u("PRG_clear")}}),children:(0,o.createComponentVNode)(2,l.LabeledList,{children:f.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,d.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,d.getGasColor)(e.name),value:e.amount,minValue:0,maxValue:g,children:(0,c.toFixed)(e.amount,2)+"%"})},e.name)}))})})})]})};t.NtosSupermatterMonitorContent=m;var p=function(e,t){var n=(0,i.useBackend)(t),r=n.act,a=n.data.supermatters,c=void 0===a?[]:a;return(0,o.createComponentVNode)(2,l.Section,{title:"Detected Supermatters",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"sync",content:"Refresh",onClick:function(){return r("PRG_refresh")}}),children:(0,o.createComponentVNode)(2,l.Table,{children:c.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 r("PRG_set",{target:e.uid})}})})]},e.uid)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NuclearBomb=void 0;var o=n(0),r=n(6),a=n(2),c=n(1),i=n(3),l=function(e,t){var n=(0,a.useBackend)(t).act;return(0,o.createComponentVNode)(2,c.Box,{width:"185px",children:(0,o.createComponentVNode)(2,c.Grid,{width:"1px",children:[["1","4","7","C"],["2","5","8","0"],["3","6","9","E"]].map((function(e){return(0,o.createComponentVNode)(2,c.Grid.Column,{children:e.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{fluid:!0,bold:!0,mb:"6px",content:e,textAlign:"center",fontSize:"40px",lineHeight:1.25,width:"55px",className:(0,r.classes)(["NuclearBomb__Button","NuclearBomb__Button--keypad","NuclearBomb__Button--"+e]),onClick:function(){return n("keypad",{digit:e})}},e)}))},e[0])}))})})};t.NuclearBomb=function(e,t){var n=(0,a.useBackend)(t),r=n.act,d=n.data,u=(d.anchored,d.disk_present,d.status1),s=d.status2;return(0,o.createComponentVNode)(2,i.Window,{width:350,height:442,theme:"retro",children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c.Box,{m:"6px",children:[(0,o.createComponentVNode)(2,c.Box,{mb:"6px",className:"NuclearBomb__displayBox",children:u}),(0,o.createComponentVNode)(2,c.Flex,{mb:1.5,children:[(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Box,{className:"NuclearBomb__displayBox",children:s})}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.Button,{icon:"eject",fontSize:"24px",lineHeight:1,textAlign:"center",width:"43px",ml:"6px",mr:"3px",mt:"3px",className:"NuclearBomb__Button NuclearBomb__Button--keypad",onClick:function(){return r("eject_disk")}})})]}),(0,o.createComponentVNode)(2,c.Flex,{ml:"3px",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,l)}),(0,o.createComponentVNode)(2,c.Flex.Item,{ml:"6px",width:"129px",children:(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.Button,{fluid:!0,bold:!0,content:"ARM",textAlign:"center",fontSize:"28px",lineHeight:1.1,mb:"6px",className:"NuclearBomb__Button NuclearBomb__Button--C",onClick:function(){return r("arm")}}),(0,o.createComponentVNode)(2,c.Button,{fluid:!0,bold:!0,content:"ANCHOR",textAlign:"center",fontSize:"28px",lineHeight:1.1,className:"NuclearBomb__Button NuclearBomb__Button--E",onClick:function(){return r("anchor")}}),(0,o.createComponentVNode)(2,c.Box,{textAlign:"center",color:"#9C9987",fontSize:"80px",children:(0,o.createComponentVNode)(2,c.Icon,{name:"radiation"})}),(0,o.createComponentVNode)(2,c.Box,{height:"80px",className:"NuclearBomb__NTIcon"})]})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.OperatingComputer=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Respiratory",type:"oxyLoss"}];t.OperatingComputer=function(e,t){var n=(0,r.useSharedState)(t,"tab",1),i=n[0],u=n[1];return(0,o.createComponentVNode)(2,c.Window,{width:350,height:470,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===i,onClick:function(){return u(1)},children:"Patient State"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:2===i,onClick:function(){return u(2)},children:"Surgery Procedures"})]}),1===i&&(0,o.createComponentVNode)(2,l),2===i&&(0,o.createComponentVNode)(2,d)]})})};var l=function(e,t){var n=(0,r.useBackend)(t),c=(n.act,n.data),l=c.table,d=c.procedures,u=void 0===d?[]:d,s=c.patient,m=void 0===s?{}:s;return l?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Patient State",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",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m.health})})}),i.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",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m[e.type]})})},e.type)}))]})||"No Patient Detected"}),0===u.length&&(0,o.createComponentVNode)(2,a.Section,{children:"No Active Procedures"}),u.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,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)]}),!!c.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)}))],0):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Table Detected"})},d=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data.surgeries,l=void 0===i?[]:i;return(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 c("sync")}}),l.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,children:e.desc},e.name)}))]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Orbit=void 0;var o=n(0),r=n(18),a=n(51),c=n(2),i=n(1),l=n(3);function d(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return u(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);nt},C=function(e,t){var n=e.name,o=t.name,r=n.match(s),a=o.match(s);return r&&a&&n.replace(s,"")===o.replace(s,"")?parseInt(r[1],10)-parseInt(a[1],10):p(n,o)},h=function(e,t){var n=(0,c.useBackend)(t).act,r=e.searchText,a=e.source,l=e.title,d=a.filter(m(r));return d.sort(C),a.length>0&&(0,o.createComponentVNode)(2,i.Section,{title:l+" - ("+a.length+")",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.name,onClick:function(){return n("orbit",{ref:e.ref})}},e.name)}))})},N=function(e,t){var n=(0,c.useBackend)(t).act,r=e.color,l=e.thing;return(0,o.createComponentVNode)(2,i.Button,{color:r,onClick:function(){return n("orbit",{ref:l.ref})},children:[l.name,l.orbiters&&(0,o.createComponentVNode)(2,i.Box,{inline:!0,ml:1,children:["(",l.orbiters," ",(0,o.createComponentVNode)(2,i.Box,{as:"img",src:(0,a.resolveAsset)("ghost.png"),opacity:.7}),")"]})]})};t.Orbit=function(e,t){for(var n,r=(0,c.useBackend)(t),a=r.act,u=r.data,s=u.alive,V=u.antagonists,b=u.auto_observe,f=u.dead,g=u.ghosts,v=u.misc,x=u.npcs,k=(0,c.useLocalState)(t,"searchText",""),B=k[0],_=k[1],w={},L=d(V);!(n=L()).done;){var y=n.value;w[y.antag]===undefined&&(w[y.antag]=[]),w[y.antag].push(y)}var S=Object.entries(w);S.sort((function(e,t){return p(e[0],t[0])}));return(0,o.createComponentVNode)(2,l.Window,{title:"Orbit",width:350,height:700,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Flex,{children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Icon,{name:"search",mr:1})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Input,{placeholder:"Search...",autoFocus:!0,fluid:!0,value:B,onInput:function(e,t){return _(t)},onEnter:function(e,t){return function(e){for(var t=0,n=[S.map((function(e){return e[0],e[1]})),s,g,f,x,v];t0&&(0,o.createComponentVNode)(2,i.Section,{title:"Ghost-Visible Antagonists",children:S.map((function(e){var t=e[0],n=e[1];return(0,o.createComponentVNode)(2,i.Section,{title:t,level:2,children:n.filter(m(B)).sort(C).map((function(e){return(0,o.createComponentVNode)(2,N,{color:"bad",thing:e},e.name)}))},t)}))}),(0,o.createComponentVNode)(2,i.Section,{title:"Alive - ("+s.length+")",children:s.filter(m(B)).sort(C).map((function(e){return(0,o.createComponentVNode)(2,N,{color:"good",thing:e},e.name)}))}),(0,o.createComponentVNode)(2,i.Section,{title:"Ghosts - ("+g.length+")",children:g.filter(m(B)).sort(C).map((function(e){return(0,o.createComponentVNode)(2,N,{color:"grey",thing:e},e.name)}))}),(0,o.createComponentVNode)(2,h,{title:"Dead",source:f,searchText:B}),(0,o.createComponentVNode)(2,h,{title:"NPCs",source:x,searchText:B}),(0,o.createComponentVNode)(2,h,{title:"Misc",source:v,searchText:B})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.OreBox=void 0;var o=n(0),r=n(18),a=n(1),c=n(2),i=n(3);t.OreBox=function(e,t){var n=(0,c.useBackend)(t),l=n.act,d=n.data.materials;return(0,o.createComponentVNode)(2,i.Window,{width:335,height:415,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Ores",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Empty",onClick:function(){return l("removeall")}}),children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Ore"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"right",children:"Amount"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,r.toTitleCase)(e.name)}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,a.Box,{color:"label",inline:!0,children:e.amount})})]},e.type)}))]})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.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."]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.OreRedemptionMachine=void 0;var o=n(0),r=n(18),a=n(2),c=n(1),i=n(3);t.OreRedemptionMachine=function(e,t){var n=(0,a.useBackend)(t),r=n.act,d=n.data,u=d.unclaimedPoints,s=d.materials,m=d.alloys,p=d.diskDesigns,C=d.hasDisk;return(0,o.createComponentVNode)(2,i.Window,{title:"Ore Redemption Machine",width:440,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Section,{children:[(0,o.createComponentVNode)(2,c.BlockQuote,{mb:1,children:["This machine only accepts ore.",(0,o.createVNode)(1,"br"),"Gibtonite and Slag are not accepted."]}),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"label",mr:1,children:"Unclaimed points:"}),u,(0,o.createComponentVNode)(2,c.Button,{ml:2,content:"Claim",disabled:0===u,onClick:function(){return r("Claim")}})]})]}),(0,o.createComponentVNode)(2,c.Section,{children:C&&(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Box,{mb:1,children:(0,o.createComponentVNode)(2,c.Button,{icon:"eject",content:"Eject design disk",onClick:function(){return r("diskEject")}})}),(0,o.createComponentVNode)(2,c.Table,{children:p.map((function(e){return(0,o.createComponentVNode)(2,c.Table.Row,{children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:["File ",e.index,": ",e.name]}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,c.Button,{disabled:!e.canupload,content:"Upload",onClick:function(){return r("diskUpload",{design:e.index})}})})]},e.index)}))})],4)||(0,o.createComponentVNode)(2,c.Button,{icon:"save",content:"Insert design disk",onClick:function(){return r("diskInsert")}})}),(0,o.createComponentVNode)(2,c.Section,{title:"Materials",children:(0,o.createComponentVNode)(2,c.Table,{children:s.map((function(e){return(0,o.createComponentVNode)(2,l,{material:e,onRelease:function(t){return r("Release",{id:e.id,sheets:t})}},e.id)}))})}),(0,o.createComponentVNode)(2,c.Section,{title:"Alloys",children:(0,o.createComponentVNode)(2,c.Table,{children:m.map((function(e){return(0,o.createComponentVNode)(2,l,{material:e,onRelease:function(t){return r("Smelt",{id:e.id,sheets:t})}},e.id)}))})})]})})};var l=function(e,t){var n=e.material,i=e.onRelease,l=(0,a.useLocalState)(t,"amount"+n.name,1),d=l[0],u=l[1],s=Math.floor(n.amount);return(0,o.createComponentVNode)(2,c.Table.Row,{children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:(0,r.toTitleCase)(n.name).replace("Alloy","")}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,c.Box,{mr:2,color:"label",inline:!0,children:n.value&&n.value+" cr"})}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,c.Box,{mr:2,color:"label",inline:!0,children:[s," sheets"]})}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,c.NumberInput,{width:"32px",step:1,stepPixelSize:5,minValue:1,maxValue:50,value:d,onChange:function(e,t){return u(t)}}),(0,o.createComponentVNode)(2,c.Button,{disabled:s<1,content:"Release",onClick:function(){return i(d)}})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Pandemic=t.PandemicAntibodyDisplay=t.PandemicSymptomDisplay=t.PandemicDiseaseDisplay=t.PandemicBeakerDisplay=void 0;var o=n(0),r=n(10),a=n(2),c=n(1),i=n(3),l=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.has_beaker,d=i.beaker_empty,u=i.has_blood,s=i.blood,m=!l||d;return(0,o.createComponentVNode)(2,c.Section,{title:"Beaker",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:"times",content:"Empty and Eject",color:"bad",disabled:m,onClick:function(){return r("empty_eject_beaker")}}),(0,o.createComponentVNode)(2,c.Button,{icon:"trash",content:"Empty",disabled:m,onClick:function(){return r("empty_beaker")}}),(0,o.createComponentVNode)(2,c.Button,{icon:"eject",content:"Eject",disabled:!l,onClick:function(){return r("eject_beaker")}})],4),children:l?d?(0,o.createComponentVNode)(2,c.Box,{color:"bad",children:"Beaker is empty"}):u?(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Blood DNA",children:s&&s.dna||"Unknown"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Blood Type",children:s&&s.type||"Unknown"})]}):(0,o.createComponentVNode)(2,c.Box,{color:"bad",children:"No blood detected"}):(0,o.createComponentVNode)(2,c.NoticeBox,{children:"No beaker loaded"})})};t.PandemicBeakerDisplay=l;var d=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.is_ready;return(i.viruses||[]).map((function(e){var t=e.symptoms||[];return(0,o.createComponentVNode)(2,c.Section,{title:e.can_rename?(0,o.createComponentVNode)(2,c.Input,{value:e.name,onChange:function(t,n){return r("rename_disease",{index:e.index,name:n})}}):e.name,buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"flask",content:"Create culture bottle",disabled:!l,onClick:function(){return r("create_culture_bottle",{index:e.index})}}),children:[(0,o.createComponentVNode)(2,c.Grid,{children:[(0,o.createComponentVNode)(2,c.Grid.Column,{children:e.description}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Agent",children:e.agent}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Spread",children:e.spread}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Possible Cure",children:e.cure})]})})]}),!!e.is_adv&&(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:"Statistics",level:2,children:(0,o.createComponentVNode)(2,c.Grid,{children:[(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Resistance",children:e.resistance}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Stealth",children:e.stealth})]})}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Stage speed",children:e.stage_speed}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Transmissibility",children:e.transmission})]})})]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Symptoms",level:2,children:t.map((function(e){return(0,o.createComponentVNode)(2,c.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,u,{symptom:e})})},e.name)}))})],4)]},e.name)}))};t.PandemicDiseaseDisplay=d;var u=function(e,t){var n=e.symptom,a=n.name,i=n.desc,l=n.stealth,d=n.resistance,u=n.stage_speed,s=n.transmission,m=n.level,p=n.neutered,C=(0,r.map)((function(e,t){return{desc:e,label:t}}))(n.threshold_desc||{});return(0,o.createComponentVNode)(2,c.Section,{title:a,level:2,buttons:!!p&&(0,o.createComponentVNode)(2,c.Box,{bold:!0,color:"bad",children:"Neutered"}),children:[(0,o.createComponentVNode)(2,c.Grid,{children:[(0,o.createComponentVNode)(2,c.Grid.Column,{size:2,children:i}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Level",children:m}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Resistance",children:d}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Stealth",children:l}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Stage Speed",children:u}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Transmission",children:s})]})})]}),C.length>0&&(0,o.createComponentVNode)(2,c.Section,{title:"Thresholds",level:3,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:C.map((function(e){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.label,children:e.desc},e.label)}))})})]})};t.PandemicSymptomDisplay=u;var s=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.resistances||[];return(0,o.createComponentVNode)(2,c.Section,{title:"Antibodies",children:l.length>0?(0,o.createComponentVNode)(2,c.LabeledList,{children:l.map((function(e){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,c.Button,{icon:"eye-dropper",content:"Create vaccine bottle",disabled:!i.is_ready,onClick:function(){return r("create_vaccine_bottle",{index:e.id})}})},e.name)}))}):(0,o.createComponentVNode)(2,c.Box,{bold:!0,color:"bad",mt:1,children:"No antibodies detected."})})};t.PandemicAntibodyDisplay=s;t.Pandemic=function(e,t){var n=(0,a.useBackend)(t).data;return(0,o.createComponentVNode)(2,i.Window,{width:520,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,l),!!n.has_blood&&(0,o.createFragment)([(0,o.createComponentVNode)(2,d),(0,o.createComponentVNode)(2,s)],4)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PaperSheet=void 0;var o,r=n(0),a=n(6),c=(o=n(622))&&o.__esModule?o:{"default":o},i=n(2),l=n(1),d=n(3),u=n(8),s=n(207);function m(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function p(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return C(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return C(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n]+)>/g,(function(e,t){return"$"+n[t]})))}if("function"==typeof t){var a=this;return o[Symbol.replace].call(this,e,(function(){var e=[];return e.push.apply(e,arguments),"object"!=typeof e[e.length-1]&&e.push(c(e,a)),t.apply(this,e)}))}return o[Symbol.replace].call(this,e,t)},h.apply(this,arguments)}function N(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&g(e,t)}function V(e){var t="function"==typeof Map?new Map:undefined;return(V=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,o)}function o(){return b(e,arguments,v(this).constructor)}return o.prototype=Object.create(e.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),g(o,e)})(e)}function b(e,t,n){return(b=f()?Reflect.construct:function(e,t,n){var o=[null];o.push.apply(o,t);var r=new(Function.bind.apply(e,o));return n&&g(r,n.prototype),r}).apply(null,arguments)}function f(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function g(e,t){return(g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function v(e){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var x=5e3,k=function(e,t,n,o){return void 0===o&&(o=!1),"'+e+""},B=/\[(_+)\]/g,_=h(/\[\]/gm,{id:2}),w=/%s(?:ign)?(?=\\s|$)?/gim,L=function(e,t,n,o,r){var a=e.replace(B,(function(e,a,c,i){var l=function(e,t,n){t=n+"x "+t;var o=document.createElement("canvas").getContext("2d");return o.font=t,o.measureText(e).width}(e,t,n)+"px";return function(e,t,n,o,r,a){return'['+(n=c,o=s,(o?n.replace(/")};return(0,r.createComponentVNode)(2,l.Box,{position:"relative",backgroundColor:u,width:"100%",height:"100%",children:[(0,r.createComponentVNode)(2,l.Box,{className:"Paper__Page",color:"black",fillPositionedParent:!0,width:"100%",height:"100%",dangerouslySetInnerHTML:p,p:"10px"}),m.map((function(e,t){return(0,r.createComponentVNode)(2,y,{image:{sprite:e[0],x:e[1],y:e[2],rotate:e[3]}},e[0]+t)}))]})},I=function(e){function t(t,n){var o;return(o=e.call(this,t,n)||this).state={x:0,y:0,rotate:0},o.style=null,o.handleMouseMove=function(e){var t=o.findStampPosition(e);t&&(!function(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,e.returnValue=!1}(e),o.setState({x:t[0],y:t[1],rotate:t[2]}))},o.handleMouseClick=function(e){if(!(e.pageY<=30)){var t=(0,i.useBackend)(o.context),n=t.act,r=t.data;n("stamp",{x:o.state.x,y:o.state.y,r:o.state.rotate,stamp_class:o.props.stamp_class,stamp_icon_state:r.stamp_icon_state})}},o}m(t,e);var n=t.prototype;return n.findStampPosition=function(e){var t,n=document.querySelector(".Layout__content");if(e.shiftKey&&(t=!0),document.getElementById("stamp")){var o=document.getElementById("stamp"),r=o.clientHeight,a=o.clientWidth,c=t?this.state.y:e.pageY-n.scrollTop-r,i=t?this.state.x:e.pageX-a/2,l=n.clientWidth-a,d=n.clientHeight-n.scrollTop-r,s=Math.atan2(e.pageX-i,e.pageY-c),m=t?s*(180/Math.PI)*-1:this.state.rotate;return[(0,u.clamp)(i,0,l),(0,u.clamp)(c,0,d),m]}},n.componentDidMount=function(){document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("click",this.handleMouseClick)},n.componentWillUnmount=function(){document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("click",this.handleMouseClick)},n.render=function(){var e=this.props,t=e.value,n=e.stamp_class,o=e.stamps||[],a={sprite:n,x:this.state.x,y:this.state.y,rotate:this.state.rotate};return(0,r.createFragment)([(0,r.createComponentVNode)(2,S,{readOnly:!0,value:t,stamps:o}),(0,r.createComponentVNode)(2,y,{active_stamp:!0,opacity:.5,image:a})],4)},t}(r.Component),T=function(e){function t(t,n){var o;return(o=e.call(this,t,n)||this).state={previewSelected:"Preview",old_text:t.value||"",textarea_text:"",combined_text:t.value||""},o}m(t,e);var n=t.prototype;return n.createPreview=function(e,t){void 0===t&&(t=!1);var n,o,r=(0,i.useBackend)(this.context).data,a=r.text,l=r.pen_color,d=r.pen_font,u=r.is_crayon,m=r.field_counter,C=r.edit_usr,h={text:a};if((e=e.trim()).length>0){e+="\n"===e[e.length]?" \n":"\n \n";var N=(0,s.sanitizeText)(e),V=(n=l,o=C,N.replace(w,(function(){return k(o,"Times New Roman",n,!0)}))),b=L(V,d,12,l,m),f=function(e){return(0,c["default"])(e,{breaks:!0,smartypants:!0,smartLists:!0,walkTokens:function(e){switch(e.type){case"url":case"autolink":case"reflink":case"link":case"image":e.type="text",e.href=""}},baseUrl:"thisshouldbreakhttp"})}(b.text),g=k(f,d,l,u);h.text+=g,h.field_counter=b.counter}if(t){var v=function(e,t,n,o,r){var a;void 0===r&&(r=!1);for(var c={},i=[];null!==(a=_.exec(e));){var l=a[0],d=a.groups.id;if(d){var u=document.getElementById(d);if(0===(u&&u.value?u.value:"").length)continue;var m=(0,s.sanitizeText)(u.value.trim(),[]);if(0===m.length)continue;var C=u.cloneNode(!0);m.match(w)?(C.style.fontFamily="Times New Roman",r=!0,C.defaultValue=o):(C.style.fontFamily=t,C.defaultValue=m),r&&(C.style.fontWeight="bold"),C.style.color=n,C.disabled=!0;var h=document.createElement("div");h.appendChild(C),c[d]=m,i.push({value:"["+h.innerHTML+"]",raw_text:l})}}if(i.length>0)for(var N,V=p(i);!(N=V()).done;){var b=N.value;e=e.replace(b.raw_text,b.value)}return{text:e,fields:c}}(h.text,d,l,C,u);h.text=v.text,h.form_fields=v.fields}return h},n.onInputHandler=function(e,t){var n=this;if(t!==this.state.textarea_text){var o=this.state.old_text.length+this.state.textarea_text.length;if(o>x&&(t=o-x>=t.length?"":t.substr(0,t.length-(o-x)))===this.state.textarea_text)return;this.setState((function(){return{textarea_text:t,combined_text:n.createPreview(t)}}))}},n.finalUpdate=function(e){var t=(0,i.useBackend)(this.context).act,n=this.createPreview(e,!0);t("save",n),this.setState((function(){return{textarea_text:"",previewSelected:"save",combined_text:n.text}}))},n.render=function(){var e=this,t=this.props,n=t.textColor,o=t.fontFamily,a=t.stamps,c=t.backgroundColor;return(0,r.createComponentVNode)(2,l.Flex,{direction:"column",fillPositionedParent:!0,children:[(0,r.createComponentVNode)(2,l.Flex.Item,{children:(0,r.createComponentVNode)(2,l.Tabs,{children:[(0,r.createComponentVNode)(2,l.Tabs.Tab,{textColor:"black",backgroundColor:"Edit"===this.state.previewSelected?"grey":"white",selected:"Edit"===this.state.previewSelected,onClick:function(){return e.setState({previewSelected:"Edit"})},children:"Edit"},"marked_edit"),(0,r.createComponentVNode)(2,l.Tabs.Tab,{textColor:"black",backgroundColor:"Preview"===this.state.previewSelected?"grey":"white",selected:"Preview"===this.state.previewSelected,onClick:function(){return e.setState((function(){return{previewSelected:"Preview",textarea_text:e.state.textarea_text,combined_text:e.createPreview(e.state.textarea_text).text}}))},children:"Preview"},"marked_preview"),(0,r.createComponentVNode)(2,l.Tabs.Tab,{textColor:"black",backgroundColor:"confirm"===this.state.previewSelected?"red":"save"===this.state.previewSelected?"grey":"white",selected:"confirm"===this.state.previewSelected||"save"===this.state.previewSelected,onClick:function(){"confirm"===e.state.previewSelected?e.finalUpdate(e.state.textarea_text):"Edit"===e.state.previewSelected?e.setState((function(){return{previewSelected:"confirm",textarea_text:e.state.textarea_text,combined_text:e.createPreview(e.state.textarea_text).text}})):e.setState({previewSelected:"confirm"})},children:"confirm"===this.state.previewSelected?"Confirm":"Save"},"marked_done")]})}),(0,r.createComponentVNode)(2,l.Flex.Item,{grow:1,basis:1,children:"Edit"===this.state.previewSelected&&(0,r.createComponentVNode)(2,l.TextArea,{value:this.state.textarea_text,textColor:n,fontFamily:o,height:window.innerHeight-80+"px",backgroundColor:c,onInput:this.onInputHandler.bind(this)})||(0,r.createComponentVNode)(2,S,{value:this.state.combined_text,stamps:a,fontFamily:o,textColor:n})})]})},t}(r.Component);t.PaperSheet=function(e,t){var n=(0,i.useBackend)(t).data,o=n.edit_mode,a=n.text,c=n.paper_color,u=void 0===c?"white":c,s=n.pen_color,m=void 0===s?"black":s,p=n.pen_font,C=void 0===p?"Verdana":p,h=n.stamps,N=n.stamp_class,V=n.sizeX,b=n.sizeY,f=n.name,g=h||[];return(0,r.createComponentVNode)(2,d.Window,{title:f,theme:"paper",width:V||400,height:b||500,resizable:!0,children:(0,r.createComponentVNode)(2,d.Window.Content,{backgroundColor:u,scrollable:!0,children:(0,r.createComponentVNode)(2,l.Box,{id:"page",fitted:!0,fillPositionedParent:!0,children:function(e){switch(e){case 0:return(0,r.createComponentVNode)(2,S,{value:a,stamps:g,readOnly:!0});case 1:return(0,r.createComponentVNode)(2,T,{value:a,textColor:m,fontFamily:C,stamps:g,backgroundColor:u});case 2:return(0,r.createComponentVNode)(2,I,{value:a,stamps:g,stamp_class:N});default:return"ERROR ERROR WE CANNOT BE HERE!!"}}(o)})})})}},,function(e,t,n){"use strict";t.__esModule=!0,t.PersonalCrafting=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);function i(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n50?"good":d>15&&"average")||"bad";return(0,o.createComponentVNode)(2,c.Window,{width:450,height:340,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[!l.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:l.active?"power-off":"times",onClick:function(){return i("toggle_power")},disabled:!l.ready_to_boot,children:l.active?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:l.sheet_name+" sheets",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:u,children:l.sheets}),l.sheets>=1&&(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"eject",disabled:l.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:l.stack_percent/100,ranges:{good:[.1,Infinity],average:[.01,.1],bad:[-Infinity,.01]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Heat level",children:l.current_heat<100?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:"Nominal"}):l.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:l.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:l.power_generated}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return i("higher_power")},children:l.power_generated})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power available",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:!l.connected&&"bad",children:l.connected?l.power_available:"Unconnected"})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortablePump=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=n(213);t.PortablePump=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.direction,s=(d.holding,d.target_pressure),m=d.default_pressure,p=d.min_pressure,C=d.max_pressure;return(0,o.createComponentVNode)(2,c.Window,{width:300,height:315,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,i.PortableBasicInfo),(0,o.createComponentVNode)(2,a.Section,{title:"Pump",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"sign-in-alt":"sign-out-alt",content:u?"In":"Out",selected:u,onClick:function(){return l("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:s,unit:"kPa",width:"75px",minValue:p,maxValue:C,step:10,onChange:function(e,t){return l("pressure",{pressure:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:s===p,onClick:function(){return l("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",disabled:s===m,onClick:function(){return l("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:s===C,onClick:function(){return l("pressure",{pressure:"max"})}})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableScrubber=void 0;var o=n(0),r=n(2),a=n(1),c=n(42),i=n(3),l=n(213);t.PortableScrubber=function(e,t){var n=(0,r.useBackend)(t),d=n.act,u=n.data.filter_types||[];return(0,o.createComponentVNode)(2,i.Window,{width:320,height:376,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,l.PortableBasicInfo),(0,o.createComponentVNode)(2,a.Section,{title:"Filters",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,c.getGasLabel)(e.gas_id,e.gas_name),selected:e.enabled,onClick:function(){return d("toggle_filter",{val:e.gas_id})}},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableTurret=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.PortableTurret=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.silicon_user,u=l.locked,s=l.on,m=l.check_weapons,p=l.neutralize_criminals,C=l.neutralize_all,h=l.neutralize_unidentified,N=l.neutralize_nonmindshielded,V=l.neutralize_cyborgs,b=l.neutralize_heads,f=l.manual_control,g=l.allow_manual_control,v=l.lasertag_turret;return(0,o.createComponentVNode)(2,c.Window,{width:310,height:v?110:292,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.NoticeBox,{children:["Swipe an ID card to ",u?"unlock":"lock"," this interface."]}),(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:"Status",buttons:!v&&(!!g||!!f&&!!d)&&(0,o.createComponentVNode)(2,a.Button,{icon:f?"wifi":"terminal",content:f?"Remotely Controlled":"Manual Control",disabled:f,color:"bad",onClick:function(){return i("manual")}}),children:(0,o.createComponentVNode)(2,a.Button,{icon:s?"power-off":"times",content:s?"On":"Off",selected:s,disabled:u,onClick:function(){return i("power")}})})})}),!v&&(0,o.createComponentVNode)(2,a.Section,{title:"Target Settings",buttons:(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:!b,content:"Ignore Command",disabled:u,onClick:function(){return i("shootheads")}}),children:[(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,checked:C,content:"Non-Security and Non-Command",disabled:u,onClick:function(){return i("shootall")}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,checked:m,content:"Unauthorized Weapons",disabled:u,onClick:function(){return i("authweapon")}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,checked:h,content:"Unidentified Life Signs",disabled:u,onClick:function(){return i("checkxenos")}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,checked:N,content:"Non-Mindshielded",disabled:u,onClick:function(){return i("checkloyal")}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,checked:p,content:"Wanted Criminals",disabled:u,onClick:function(){return i("shootcriminals")}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,checked:V,content:"Cyborgs",disabled:u,onClick:function(){return i("shootborgs")}})]})],0)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortraitPicker=void 0;var o=n(0),r=n(51),a=n(2),c=n(1),i=n(3);t.PortraitPicker=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=(0,a.useLocalState)(t,"tabIndex",0),s=u[0],m=u[1],p=(0,a.useLocalState)(t,"listIndex",0),C=p[0],h=p[1],N=[{name:"Common Portraits",list:d.library},{name:"Secure Portraits",list:d.library_secure},{name:"Private Portraits",list:d.library_private}],V=N[s].list,b=V[C].title;return(0,o.createComponentVNode)(2,i.Window,{theme:"ntos",title:"Portrait Picker",width:400,height:406,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c.Flex,{height:"100%",direction:"column",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{mb:1,children:(0,o.createComponentVNode)(2,c.Section,{fitted:!0,children:(0,o.createComponentVNode)(2,c.Tabs,{fluid:!0,textAlign:"center",children:N.map((function(e,t){return(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:t===s,onClick:function(){h(0),m(t)},children:e.name},t)}))})})}),(0,o.createComponentVNode)(2,c.Flex.Item,{mb:1,grow:2,children:(0,o.createComponentVNode)(2,c.Section,{fill:!0,children:(0,o.createComponentVNode)(2,c.Flex,{height:"100%",align:"center",justify:"center",direction:"column",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createVNode)(1,"img",null,null,1,{src:(0,r.resolveAsset)(b),height:"96px",width:"96px",style:{"vertical-align":"middle","-ms-interpolation-mode":"nearest-neighbor"}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{className:"Section__titleText",children:b})]})})}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:[(0,o.createComponentVNode)(2,c.Flex,{children:(0,o.createComponentVNode)(2,c.Flex.Item,{grow:3,children:(0,o.createComponentVNode)(2,c.Section,{height:"100%",children:(0,o.createComponentVNode)(2,c.Flex,{justify:"space-between",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Button,{icon:"angle-double-left",disabled:0===C,onClick:function(){return h(0)}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:3,children:(0,o.createComponentVNode)(2,c.Button,{disabled:0===C,icon:"chevron-left",onClick:function(){return h(C-1)}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:3,children:(0,o.createComponentVNode)(2,c.Button,{icon:"check",content:"Select Portrait",onClick:function(){return l("select",{tab:s+1,selected:C+1})}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Button,{icon:"chevron-right",disabled:C===V.length-1,onClick:function(){return h(C+1)}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.Button,{icon:"angle-double-right",disabled:C===V.length-1,onClick:function(){return h(V.length-1)}})})]})})})}),(0,o.createComponentVNode)(2,c.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,c.NoticeBox,{info:!0,children:"Only the 23x23 or 24x24 canvas size art can be displayed. Make sure you read the warning below before embracing the wide wonderful world of artistic expression!"})}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.NoticeBox,{danger:!0,children:"WARNING: While Central Command loves art as much as you do, choosing erotic art will lead to severe consequences. Additionally, Central Command reserves the right to request you change your display portrait, for any reason."})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ProbingConsole=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.ProbingConsole=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.open,u=l.feedback,s=l.occupant,m=l.occupant_name,p=l.occupant_status;return(0,o.createComponentVNode)(2,c.Window,{width:330,height:207,theme:"abductor",children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Machine Report",children:u})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Scanner",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:d?"sign-out-alt":"sign-in-alt",content:d?"Close":"Open",onClick:function(){return i("door")}}),children:s&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:m}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:3===p?"bad":2===p?"average":"good",children:3===p?"Deceased":2===p?"Unconscious":"Conscious"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Experiments",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"thermometer",content:"Probe",onClick:function(){return i("experiment",{experiment_type:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"brain",content:"Dissect",onClick:function(){return i("experiment",{experiment_type:2})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"search",content:"Analyze",onClick:function(){return i("experiment",{experiment_type:3})}})]})]})||(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Subject"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ProximitySensor=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.ProximitySensor=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.minutes,u=l.seconds,s=l.timing,m=l.scanning,p=l.sensitivity;return(0,o.createComponentVNode)(2,c.Window,{width:250,height:185,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{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:m?"lock":"unlock",content:m?"Armed":"Not Armed",selected:m,onClick:function(){return i("scanning")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Detection Range",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:m,onClick:function(){return i("sense",{range:-1})}})," ",String(p).padStart(1,"1")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:m,onClick:function(){return i("sense",{range:1})}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Auto Arm",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:s?"Stop":"Start",selected:s,disabled:m,onClick:function(){return i("time")}}),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:m||s,onClick:function(){return i("input",{adjust:-30})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:m||s,onClick:function(){return i("input",{adjust:-1})}})," ",String(d).padStart(2,"0"),":",String(u).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:m||s,onClick:function(){return i("input",{adjust:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:m||s,onClick:function(){return i("input",{adjust:30})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Radio=void 0;var o=n(0),r=n(10),a=n(8),c=n(2),i=n(1),l=n(42),d=n(3);t.Radio=function(e,t){var n=(0,c.useBackend)(t),u=n.act,s=n.data,m=s.freqlock,p=s.frequency,C=s.minFrequency,h=s.maxFrequency,N=s.listening,V=s.broadcasting,b=s.command,f=s.useCommand,g=s.subspace,v=s.subspaceSwitchable,x=l.RADIO_CHANNELS.find((function(e){return e.freq===p})),k=(0,r.map)((function(e,t){return{name:t,status:!!e}}))(s.channels),B=106;return g&&(k.length>0?B+=21*k.length+6:B+=24),(0,o.createComponentVNode)(2,d.Window,{width:360,height:B,children:(0,o.createComponentVNode)(2,d.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Frequency",children:[m&&(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"light-gray",children:(0,a.toFixed)(p/10,1)+" kHz"})||(0,o.createComponentVNode)(2,i.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:10,minValue:C/10,maxValue:h/10,value:p/10,format:function(e){return(0,a.toFixed)(e,1)},onDrag:function(e,t){return u("frequency",{adjust:t-p/10})}}),x&&(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:x.color,ml:2,children:["[",x.name,"]"]})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Audio",children:[(0,o.createComponentVNode)(2,i.Button,{textAlign:"center",width:"37px",icon:N?"volume-up":"volume-mute",selected:N,onClick:function(){return u("listen")}}),(0,o.createComponentVNode)(2,i.Button,{textAlign:"center",width:"37px",icon:V?"microphone":"microphone-slash",selected:V,onClick:function(){return u("broadcast")}}),!!b&&(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:"bullhorn",selected:f,content:"High volume "+(f?"ON":"OFF"),onClick:function(){return u("command")}}),!!v&&(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:"bullhorn",selected:g,content:"Subspace Tx "+(g?"ON":"OFF"),onClick:function(){return u("subspace")}})]}),!!g&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Channels",children:[0===k.length&&(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"bad",children:"No encryption keys installed."}),k.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{icon:e.status?"check-square-o":"square-o",selected:e.status,content:e.name,onClick:function(){return u("channel",{channel:e.name})}})},e.name)}))]})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RadioactiveMicrolaser=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.RadioactiveMicrolaser=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.irradiate,u=l.stealth,s=l.scanmode,m=l.intensity,p=l.wavelength,C=l.on_cooldown,h=l.cooldown;return(0,o.createComponentVNode)(2,c.Window,{title:"Radioactive Microlaser",width:320,height:335,theme:"syndicate",children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laser Status",children:(0,o.createComponentVNode)(2,a.Box,{color:C?"average":"good",children:C?"Recharging":"Ready"})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Scanner Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Irradiation",children:(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",content:d?"On":"Off",selected:d,onClick:function(){return i("irradiate")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Stealth Mode",children:(0,o.createComponentVNode)(2,a.Button,{icon:u?"eye-slash":"eye",content:u?"On":"Off",disabled:!d,selected:u,onClick:function(){return i("stealth")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,a.Button,{icon:s?"mortar-pestle":"heartbeat",content:s?"Scan Reagents":"Scan Health",disabled:d&&u,onClick:function(){return i("scanmode")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Laser Settings",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Intensity",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return i("radintensity",{adjust:-5})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return i("radintensity",{adjust:-1})}})," ",(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(m),width:"40px",minValue:1,maxValue:20,onChange:function(e,t){return i("radintensity",{target:t})}})," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return i("radintensity",{adjust:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return i("radintensity",{adjust:5})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Wavelength",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return i("radwavelength",{adjust:-5})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return i("radwavelength",{adjust:-1})}})," ",(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(p),width:"40px",minValue:0,maxValue:120,onChange:function(e,t){return i("radwavelength",{target:t})}})," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return i("radwavelength",{adjust:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return i("radwavelength",{adjust:5})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laser Cooldown",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,children:h})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RapidPipeDispenser=void 0;var o=n(0),r=n(6),a=n(2),c=n(1),i=n(3),l=["Atmospherics","Disposals","Transit Tubes"],d={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"},s=[{name:"Dispense",bitmask:1},{name:"Connect",bitmask:2},{name:"Destroy",bitmask:4},{name:"Paint",bitmask:8}];t.RapidPipeDispenser=function(e,t){var n=(0,a.useBackend)(t),m=n.act,p=n.data,C=p.category,h=p.categories,N=void 0===h?[]:h,V=p.selected_color,b=p.piping_layer,f=p.mode,g=p.preview_rows.flatMap((function(e){return e.previews})),v=(0,a.useLocalState)(t,"categoryName"),x=v[0],k=v[1],B=N.find((function(e){return e.cat_name===x}))||N[0];return(0,o.createComponentVNode)(2,i.Window,{width:425,height:515,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Category",children:l.map((function(e,t){return(0,o.createComponentVNode)(2,c.Button,{selected:C===t,icon:d[e],color:"transparent",content:e,onClick:function(){return m("category",{category:t})}},e)}))}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Modes",children:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button.Checkbox,{checked:f&e.bitmask,content:e.name,onClick:function(){return m("mode",{mode:e.bitmask})}},e.bitmask)}))}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,c.Box,{inline:!0,width:"64px",color:u[V],children:V}),Object.keys(u).map((function(e){return(0,o.createComponentVNode)(2,c.ColorBox,{ml:1,color:u[e],onClick:function(){return m("color",{paint_color:e})}},e)}))]})]})}),(0,o.createComponentVNode)(2,c.Flex,{m:-.5,children:[(0,o.createComponentVNode)(2,c.Flex.Item,{m:.5,children:(0,o.createComponentVNode)(2,c.Section,{children:[0===C&&(0,o.createComponentVNode)(2,c.Box,{mb:1,children:[1,2,3,4,5].map((function(e){return(0,o.createComponentVNode)(2,c.Button.Checkbox,{fluid:!0,checked:e===b,content:"Layer "+e,onClick:function(){return m("piping_layer",{piping_layer:e})}},e)}))}),(0,o.createComponentVNode)(2,c.Box,{width:"108px",children:g.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{title:e.dir_name,selected:e.selected,style:{width:"48px",height:"48px",padding:0},onClick:function(){return m("setdir",{dir:e.dir,flipped:e.flipped})},children:(0,o.createComponentVNode)(2,c.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,c.Flex.Item,{m:.5,grow:1,children:(0,o.createComponentVNode)(2,c.Section,{children:[(0,o.createComponentVNode)(2,c.Tabs,{children:N.map((function(e,t){return(0,o.createComponentVNode)(2,c.Tabs.Tab,{fluid:!0,icon:d[e.cat_name],selected:e.cat_name===B.cat_name,onClick:function(){return k(e.cat_name)},children:e.cat_name},e.cat_name)}))}),null==B?void 0:B.recipes.map((function(e){return(0,o.createComponentVNode)(2,c.Button.Checkbox,{fluid:!0,ellipsis:!0,checked:e.selected,content:e.pipe_name,title:e.pipe_name,onClick:function(){return m("pipe_type",{pipe_type:e.pipe_index,category:B.cat_name})}},e.pipe_index)}))]})})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RemoteRobotControlContent=t.RemoteRobotControl=void 0;var o=n(0),r=n(18),a=n(2),c=n(1),i=n(3);t.RemoteRobotControl=function(e,t){return(0,o.createComponentVNode)(2,i.Window,{title:"Remote Robot Control",width:500,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,a.useBackend)(t),i=n.act,l=n.data.robots,d=void 0===l?[]:l;return d.length?d.map((function(e){return(0,o.createComponentVNode)(2,c.Section,{title:e.name+" ("+e.model+")",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:"tools",content:"Interface",onClick:function(){return i("interface",{ref:e.ref})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"phone-alt",content:"Call",onClick:function(){return i("callbot",{ref:e.ref})}})],4),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Status",children:[(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"Inactive"===(0,r.decodeHtmlEntities)(e.mode)?"bad":"Idle"===(0,r.decodeHtmlEntities)(e.mode)?"average":"good",children:(0,r.decodeHtmlEntities)(e.mode)})," ",e.hacked&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"bad",children:"(HACKED)"})||""]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Location",children:e.location})]})},e.ref)})):(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.NoticeBox,{textAlign:"center",children:"No robots detected"})})};t.RemoteRobotControlContent=l},function(e,t,n){"use strict";t.__esModule=!0,t.RoboticsControlConsole=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.RoboticsControlConsole=function(e,t){var n=(0,r.useBackend)(t),d=(n.act,n.data),u=(0,r.useSharedState)(t,"tab",1),s=u[0],m=u[1],p=d.can_hack,C=d.cyborgs,h=void 0===C?[]:C,N=d.drones,V=void 0===N?[]:N;return(0,o.createComponentVNode)(2,c.Window,{width:500,height:460,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"list",lineHeight:"23px",selected:1===s,onClick:function(){return m(1)},children:["Cyborgs (",h.length,")"]}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"list",lineHeight:"23px",selected:2===s,onClick:function(){return m(2)},children:["Drones (",V.length,")"]})]}),1===s&&(0,o.createComponentVNode)(2,i,{cyborgs:h,can_hack:p}),2===s&&(0,o.createComponentVNode)(2,l,{drones:V})]})})};var i=function(e,t){var n=e.cyborgs,c=e.can_hack,i=(0,r.useBackend)(t),l=i.act;i.data;return n.length?n.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,buttons:(0,o.createFragment)([!!c&&!e.emagged&&(0,o.createComponentVNode)(2,a.Button,{icon:"terminal",content:"Hack",color:"bad",onClick:function(){return l("magbot",{ref:e.ref})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:e.locked_down?"unlock":"lock",color:e.locked_down?"good":"default",content:e.locked_down?"Release":"Lockdown",onClick:function(){return l("stopbot",{ref:e.ref})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:"bomb",content:"Detonate",color:"bad",onClick:function(){return l("killbot",{ref:e.ref})}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:(0,o.createComponentVNode)(2,a.Box,{color:e.status?"bad":e.locked_down?"average":"good",children:e.status?"Not Responding":e.locked_down?"Locked Down":"Nominal"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge",children:(0,o.createComponentVNode)(2,a.Box,{color:e.charge<=30?"bad":e.charge<=70?"average":"good",children:"number"==typeof e.charge?e.charge+"%":"Not Found"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Module",children:e.module}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Master AI",children:(0,o.createComponentVNode)(2,a.Box,{color:e.synchronization?"default":"average",children:e.synchronization||"None"})})]})},e.ref)})):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No cyborg units detected within access parameters"})},l=function(e,t){var n=e.drones,c=(0,r.useBackend)(t).act;return n.length?n.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,buttons:(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:"bomb",content:"Detonate",color:"bad",onClick:function(){return c("killdrone",{ref:e.ref})}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:(0,o.createComponentVNode)(2,a.Box,{color:e.status?"bad":"good",children:e.status?"Not Responding":"Nominal"})})})},e.ref)})):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No drone units detected within access parameters"})}},function(e,t,n){"use strict";t.__esModule=!0,t.Roulette=t.RouletteBetTable=t.RouletteBoard=t.RouletteNumberButton=void 0;var o=n(0),r=n(6),a=n(2),c=n(1),i=n(3),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"},d=function(e,t){var n=e.number,r=(0,a.useBackend)(t).act;return(0,o.createComponentVNode)(2,c.Button,{bold:!0,content:n,color:l(n),width:"40px",height:"28px",fontSize:"20px",textAlign:"center",mb:0,className:"Roulette__board-extrabutton",onClick:function(){return r("ChangeBetType",{type:n})}})};t.RouletteNumberButton=d;var u=function(e,t){var n=(0,a.useBackend)(t).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,c.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,d,{number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,c.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,d,{number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,c.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,d,{number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,c.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,c.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,c.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,c.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,c.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,c.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,c.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,c.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,c.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,c.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=u;var s=function(e,t){var n=(0,a.useBackend)(t),i=n.act,d=n.data,u=(0,a.useLocalState)(t,"customBet",500),s=u[0],m=u[1],p=d.BetType;return p.startsWith("s")&&(p=p.substring(1,p.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(d.LastSpin)]),d.LastSpin,0),(0,o.createVNode)(1,"td",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--betscell"]),[(0,o.createComponentVNode)(2,c.Box,{bold:!0,mt:1,mb:1,fontSize:"25px",textAlign:"center",children:[d.BetAmount," cr on ",p]}),(0,o.createComponentVNode)(2,c.Box,{ml:1,mr:1,children:[(0,o.createComponentVNode)(2,c.Button,{fluid:!0,content:"Bet 10 cr",onClick:function(){return i("ChangeBetAmount",{amount:10})}}),(0,o.createComponentVNode)(2,c.Button,{fluid:!0,content:"Bet 50 cr",onClick:function(){return i("ChangeBetAmount",{amount:50})}}),(0,o.createComponentVNode)(2,c.Button,{fluid:!0,content:"Bet 100 cr",onClick:function(){return i("ChangeBetAmount",{amount:100})}}),(0,o.createComponentVNode)(2,c.Button,{fluid:!0,content:"Bet 500 cr",onClick:function(){return i("ChangeBetAmount",{amount:500})}}),(0,o.createComponentVNode)(2,c.Grid,{children:[(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.Button,{fluid:!0,content:"Bet custom amount...",onClick:function(){return i("ChangeBetAmount",{amount:s})}})}),(0,o.createComponentVNode)(2,c.Grid.Column,{size:.1,children:(0,o.createComponentVNode)(2,c.NumberInput,{value:s,minValue:0,maxValue:1e3,step:10,stepPixelSize:4,width:"40px",onChange:function(e,t){return m(t)}})})]})]})],4)],4),(0,o.createVNode)(1,"tr",null,(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,c.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,c.Box,{inline:!0,bold:!0,mr:1,children:"House Balance:"}),(0,o.createComponentVNode)(2,c.Box,{inline:!0,children:d.HouseBalance?d.HouseBalance+" cr":"None"})],4),(0,o.createVNode)(1,"td","Roulette__lowertable--cell",(0,o.createComponentVNode)(2,c.Button,{fluid:!0,content:d.IsAnchored?"Bolted":"Unbolted",m:1,color:"transparent",textAlign:"center",onClick:function(){return i("anchor")}}),2)],4)],4)};t.RouletteBetTable=s;t.Roulette=function(e,t){return(0,o.createComponentVNode)(2,i.Window,{width:603,height:475,theme:"cardtable",children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,u),(0,o.createComponentVNode)(2,s)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Safe=void 0;var o=n(0),r=n(51),a=n(2),c=n(1),i=n(3);t.Safe=function(e,t){var n=(0,a.useBackend)(t),s=(n.act,n.data),m=s.dial,p=s.open;return(0,o.createComponentVNode)(2,i.Window,{width:625,height:800,theme:"ntos",children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,c.Box,{className:"Safe__engraving",children:[(0,o.createComponentVNode)(2,l),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.Box,{className:"Safe__engraving-hinge",top:"25%"}),(0,o.createComponentVNode)(2,c.Box,{className:"Safe__engraving-hinge",top:"75%"})]}),(0,o.createComponentVNode)(2,c.Icon,{className:"Safe__engraving-arrow",name:"long-arrow-alt-down",size:"5"}),(0,o.createVNode)(1,"br"),p?(0,o.createComponentVNode)(2,d):(0,o.createComponentVNode)(2,c.Box,{as:"img",className:"Safe__dial",src:(0,r.resolveAsset)("safe_dial.png"),style:{transform:"rotate(-"+3.6*m+"deg)"}})]}),!p&&(0,o.createComponentVNode)(2,u)]})})};var l=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.dial,d=i.open,u=i.locked,s=i.broken,m=function(e,t){return(0,o.createComponentVNode)(2,c.Button,{disabled:d||t&&!u||s,icon:"arrow-"+(t?"right":"left"),content:(t?"Right":"Left")+" "+e,iconPosition:t?"right":"left",onClick:function(){return r(t?"turnleft":"turnright",{num:e})}})};return(0,o.createComponentVNode)(2,c.Box,{className:"Safe__dialer",children:[(0,o.createComponentVNode)(2,c.Button,{disabled:u&&!s,icon:d?"lock":"lock-open",content:d?"Close":"Open",mb:"0.5rem",onClick:function(){return r("open")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,c.Box,{position:"absolute",children:[m(50),m(10),m(1)]}),(0,o.createComponentVNode)(2,c.Box,{className:"Safe__dialer-right",position:"absolute",right:"5px",children:[m(1,!0),m(10,!0),m(50,!0)]}),(0,o.createComponentVNode)(2,c.Box,{className:"Safe__dialer-number",children:l})]})},d=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data.contents;return(0,o.createComponentVNode)(2,c.Box,{className:"Safe__contents",overflow:"auto",children:i.map((function(e,t){return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{mb:"0.5rem",onClick:function(){return r("retrieve",{index:t+1})},children:[(0,o.createComponentVNode)(2,c.Box,{as:"img",src:e.sprite+".png",verticalAlign:"middle",ml:"-6px",mr:"0.5rem"}),e.name]}),(0,o.createVNode)(1,"br")],4,e)}))})},u=function(e,t){return(0,o.createComponentVNode)(2,c.Section,{className:"Safe__help",title:"Safe opening instructions (because you all keep forgetting)",children:[(0,o.createComponentVNode)(2,c.Box,{children:["1. Turn the dial left to the first number.",(0,o.createVNode)(1,"br"),"2. Turn the dial right to the second number.",(0,o.createVNode)(1,"br"),"3. Continue repeating this process for each number, switching between left and right each time.",(0,o.createVNode)(1,"br"),"4. Open the safe."]}),(0,o.createComponentVNode)(2,c.Box,{bold:!0,children:"To lock fully, turn the dial to the left after closing the safe."})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SatelliteControl=void 0;var o=n(0),r=n(2),a=n(1),c=n(199),i=n(3);t.SatelliteControl=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.satellites||[];return(0,o.createComponentVNode)(2,i.Window,{width:400,height:305,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[d.meteor_shield&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,c.LabeledListItem,{label:"Coverage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.meteor_shield_coverage/d.meteor_shield_coverage_max,content:100*d.meteor_shield_coverage/d.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:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.active,content:"#"+e.id+" "+e.mode,onClick:function(){return l("toggle",{id:e.id})}},e.id)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ScannerGate=void 0;var o=n(0),r=n(2),a=n(1),c=n(65),i=n(3),l=["Positive","Harmless","Minor","Medium","Harmful","Dangerous","BIOHAZARD"],d=[{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,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data;return(0,o.createComponentVNode)(2,i.Window,{width:400,height:300,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.InterfaceLockNoticeBox,{onLockedStatusChange:function(){return a("toggle_lock")}}),!l.locked&&(0,o.createComponentVNode)(2,m)]})})};var s={Off:{title:"Scanner Mode: Off",component:function(){return p}},Wanted:{title:"Scanner Mode: Wanted",component:function(){return C}},Guns:{title:"Scanner Mode: Guns",component:function(){return h}},Mindshield:{title:"Scanner Mode: Mindshield",component:function(){return N}},Disease:{title:"Scanner Mode: Disease",component:function(){return V}},Species:{title:"Scanner Mode: Species",component:function(){return b}},Nutrition:{title:"Scanner Mode: Nutrition",component:function(){return f}},Nanites:{title:"Scanner Mode: Nanites",component:function(){return g}}},m=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data.scan_mode,l=s[i]||s.off,d=l.component();return(0,o.createComponentVNode)(2,a.Section,{title:l.title,buttons:"Off"!==i&&(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"back",onClick:function(){return c("set_mode",{new_mode:"Off"})}}),children:(0,o.createComponentVNode)(2,d)})},p=function(e,t){var n=(0,r.useBackend)(t).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 n("set_mode",{new_mode:"Wanted"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Guns",onClick:function(){return n("set_mode",{new_mode:"Guns"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Mindshield",onClick:function(){return n("set_mode",{new_mode:"Mindshield"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Disease",onClick:function(){return n("set_mode",{new_mode:"Disease"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Species",onClick:function(){return n("set_mode",{new_mode:"Species"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nutrition",onClick:function(){return n("set_mode",{new_mode:"Nutrition"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nanites",onClick:function(){return n("set_mode",{new_mode:"Nanites"})}})]})],4)},C=function(e,t){var n=(0,r.useBackend)(t).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)],4)},h=function(e,t){var n=(0,r.useBackend)(t).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)],4)},N=function(e,t){var n=(0,r.useBackend)(t).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)],4)},V=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,d=i.reverse,u=i.disease_threshold;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",d?"does not have":"has"," ","a disease equal or worse than ",u,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e===u,content:e,onClick:function(){return c("set_disease_threshold",{new_threshold:e})}},e)}))}),(0,o.createComponentVNode)(2,v)],4)},b=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.reverse,u=i.target_species,s=d.find((function(e){return e.value===u}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned is ",l?"not":""," ","of the ",s.name," species.","zombie"===u&&" All zombie types will be detected, including dormant zombies."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===u,content:e.name,onClick:function(){return c("set_target_species",{new_species:e.value})}},e.value)}))}),(0,o.createComponentVNode)(2,v)],4)},f=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.reverse,d=i.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 c("set_target_nutrition",{new_nutrition:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,v)],4)},g=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.reverse,d=i.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 ",d,"."]}),(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:d,width:"65px",minValue:1,maxValue:100,stepPixelSize:2,onChange:function(e,t){return c("set_nanite_cloud",{new_cloud:t})}})})})}),(0,o.createComponentVNode)(2,v)],4)},v=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.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 c("toggle_reverse")},color:i?"bad":"good"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SeedExtractor=void 0;var o=n(0),r=n(10),a=n(24),c=n(18),i=n(2),l=n(1),d=n(3);t.SeedExtractor=function(e,t){var n,u,s=(0,i.useBackend)(t),m=s.act,p=s.data,C=(n=p.seeds,u=Object.keys(n).map((function(e){var t=function(e){var t,n=/([^;=]+)=([^;]+)/g,o={};do{(t=n.exec(e))&&(o[t[1]]=t[2]+"")}while(t);return o}(e);return t.amount=n[e],t.key=e,t.name=(0,c.toTitleCase)(t.name.replace("pack of ","")),t})),(0,a.flow)([(0,r.sortBy)((function(e){return e.name}))])(u));return(0,o.createComponentVNode)(2,d.Window,{width:1e3,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,d.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l.Section,{title:"Stored seeds:",children:(0,o.createComponentVNode)(2,l.Table,{cellpadding:"3",textAlign:"center",children:[(0,o.createComponentVNode)(2,l.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Name"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Lifespan"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Endurance"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Maturation"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Production"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Yield"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Potency"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Instability"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Stock"})]}),C.map((function(e){return(0,o.createComponentVNode)(2,l.Table.Row,{children:[(0,o.createComponentVNode)(2,l.Table.Cell,{bold:!0,children:e.name}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.lifespan}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.endurance}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.maturation}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.production}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.yield}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.potency}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.instability}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:[(0,o.createComponentVNode)(2,l.Button,{content:"Vend",onClick:function(){return m("select",{item:e.key})}}),"(",e.amount," left)"]})]},e.key)}))]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleConsole=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.ShuttleConsole=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data.authorization_required;return(0,o.createComponentVNode)(2,c.Window,{width:350,height:230,children:[!!l&&(0,o.createComponentVNode)(2,a.Modal,{ml:1,mt:1,width:26,height:12,fontSize:"28px",fontFamily:"monospace",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{mt:2,children:(0,o.createComponentVNode)(2,a.Icon,{name:"minus-circle"})}),(0,o.createComponentVNode)(2,a.Flex.Item,{mt:2,ml:2,color:"bad",children:"SHUTTLE LOCKED"})]}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"18px",mt:4,children:(0,o.createComponentVNode)(2,a.Button,{lineHeight:"40px",icon:"arrow-circle-right",content:"Request Authorization",color:"bad",onClick:function(){return i("request")}})})]}),(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,u)})]})};var i=function(e,t){var n;return null==e||null==(n=e.find((function(e){return e.id===t})))?void 0:n.name},l=function(e,t){var n;return null==e||null==(n=e.find((function(e){return e.name===t})))?void 0:n.id},d={"In Transit":"good",Idle:"average",Igniting:"average",Recharging:"average",Missing:"bad","Unauthorized Access":"bad",Locked:"bad"},u=function(e,t){var n=(0,r.useBackend)(t),c=n.act,u=n.data,s=u.status,m=u.locked,p=u.authorization_required,C=u.destination,h=u.docked_location,N=u.timer_str,V=u.locations,b=void 0===V?[]:V;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,fontSize:"26px",textAlign:"center",fontFamily:"monospace",children:N||"00:00"}),(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",fontSize:"14px",mb:1,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,children:"STATUS:"}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:d[s]||"bad",ml:1,children:s||"Not Available"})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Shuttle Controls",level:2,children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:h||"Not Available"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destination",children:0===b.length&&(0,o.createComponentVNode)(2,a.Box,{mb:1.7,color:"bad",children:"Not Available"})||1===b.length&&(0,o.createComponentVNode)(2,a.Box,{mb:1.7,color:"average",children:i(b,C)})||(0,o.createComponentVNode)(2,a.Dropdown,{mb:1.7,over:!0,width:"240px",options:b.map((function(e){return e.name})),disabled:m||p,selected:i(b,C)||"Select a Destination",onSelected:function(e){return c("set_destination",{destination:l(b,e)})}})})]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Depart",disabled:!i(b,C)||m||p,icon:"arrow-up",textAlign:"center",onClick:function(){return c("move",{shuttle_id:C})}})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleManipulatorModification=t.ShuttleManipulatorTemplates=t.ShuttleManipulatorStatus=t.ShuttleManipulator=void 0;var o=n(0),r=n(10),a=n(2),c=n(1),i=n(3);t.ShuttleManipulator=function(e,t){var n=(0,a.useLocalState)(t,"tab",1),r=n[0],s=n[1];return(0,o.createComponentVNode)(2,i.Window,{title:"Shuttle Manipulator",width:800,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Tabs,{children:[(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:1===r,onClick:function(){return s(1)},children:"Status"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:2===r,onClick:function(){return s(2)},children:"Templates"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:3===r,onClick:function(){return s(3)},children:"Modification"})]}),1===r&&(0,o.createComponentVNode)(2,l),2===r&&(0,o.createComponentVNode)(2,d),3===r&&(0,o.createComponentVNode)(2,u)]})})};var l=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data.shuttles||[];return(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.Table,{children:i.map((function(e){return(0,o.createComponentVNode)(2,c.Table.Row,{children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:(0,o.createComponentVNode)(2,c.Button,{content:"JMP",onClick:function(){return r("jump_to",{type:"mobile",id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:(0,o.createComponentVNode)(2,c.Button,{content:"Fly",disabled:!e.can_fly,onClick:function(){return r("fly",{id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:e.id}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:e.status}),(0,o.createComponentVNode)(2,c.Table.Cell,{children:[e.mode,!!e.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),e.timeleft,(0,o.createTextVNode)(")"),(0,o.createComponentVNode)(2,c.Button,{content:"Fast Travel",disabled:!e.can_fast_travel,onClick:function(){return r("fast_travel",{id:e.id})}},e.id)],0)]})]},e.id)}))})})};t.ShuttleManipulatorStatus=l;var d=function(e,t){var n,i=(0,a.useBackend)(t),l=i.act,d=i.data,u=d.templates||{},s=d.selected||{},m=(0,a.useLocalState)(t,"templateId",Object.keys(u)[0]),p=m[0],C=m[1],h=(null==(n=u[p])?void 0:n.templates)||[];return(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.Flex,{children:[(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.Tabs,{vertical:!0,children:(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:p===t,onClick:function(){return C(t)},children:e.port_id},t)}))(u)})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,basis:0,children:h.map((function(e){var t=e.shuttle_id===s.shuttle_id;return(0,o.createComponentVNode)(2,c.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,c.Button,{content:t?"Selected":"Select",selected:t,onClick:function(){return l("select_template",{shuttle_id:e.shuttle_id})}}),children:(!!e.description||!!e.admin_notes)&&(0,o.createComponentVNode)(2,c.LabeledList,{children:[!!e.description&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Description",children:e.description}),!!e.admin_notes&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Admin Notes",children:e.admin_notes})]})},e.shuttle_id)}))})]})})};t.ShuttleManipulatorTemplates=d;var u=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.selected||{},d=i.existing_shuttle||{};return(0,o.createComponentVNode)(2,c.Section,{children:l?(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{level:2,title:l.name,children:(!!l.description||!!l.admin_notes)&&(0,o.createComponentVNode)(2,c.LabeledList,{children:[!!l.description&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Description",children:l.description}),!!l.admin_notes&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Admin Notes",children:l.admin_notes})]})}),d?(0,o.createComponentVNode)(2,c.Section,{level:2,title:"Existing Shuttle: "+d.name,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Status",buttons:(0,o.createComponentVNode)(2,c.Button,{content:"Jump To",onClick:function(){return r("jump_to",{type:"mobile",id:d.id})}}),children:[d.status,!!d.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),d.timeleft,(0,o.createTextVNode)(")")],0)]})})}):(0,o.createComponentVNode)(2,c.Section,{level:2,title:"Existing Shuttle: None"}),(0,o.createComponentVNode)(2,c.Section,{level:2,title:"Status",children:[(0,o.createComponentVNode)(2,c.Button,{content:"Load",color:"good",onClick:function(){return r("load",{shuttle_id:l.shuttle_id})}}),(0,o.createComponentVNode)(2,c.Button,{content:"Preview",onClick:function(){return r("preview",{shuttle_id:l.shuttle_id})}}),(0,o.createComponentVNode)(2,c.Button,{content:"Replace",color:"bad",onClick:function(){return r("replace",{shuttle_id:l.shuttle_id})}})]})],0):"No shuttle selected"})};t.ShuttleManipulatorModification=u},function(e,t,n){"use strict";t.__esModule=!0,t.Signaler=void 0;var o=n(0),r=n(8),a=n(2),c=n(1),i=n(3);t.Signaler=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.code,s=d.frequency,m=d.minFrequency,p=d.maxFrequency;return(0,o.createComponentVNode)(2,i.Window,{width:280,height:132,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c.Section,{children:[(0,o.createComponentVNode)(2,c.Grid,{children:[(0,o.createComponentVNode)(2,c.Grid.Column,{size:1.4,color:"label",children:"Frequency:"}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:m/10,maxValue:p/10,value:s/10,format:function(e){return(0,r.toFixed)(e,1)},width:"80px",onDrag:function(e,t){return l("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return l("reset",{reset:"freq"})}})})]}),(0,o.createComponentVNode)(2,c.Grid,{mt:.6,children:[(0,o.createComponentVNode)(2,c.Grid.Column,{size:1.4,color:"label",children:"Code:"}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:u,width:"80px",onDrag:function(e,t){return l("code",{code:t})}})}),(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return l("reset",{reset:"code"})}})})]}),(0,o.createComponentVNode)(2,c.Grid,{mt:.8,children:(0,o.createComponentVNode)(2,c.Grid.Column,{children:(0,o.createComponentVNode)(2,c.Button,{mb:-.1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){return l("signal")}})})})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SkillPanel=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i={color:"lightgreen",fontWeight:"bold"},l={color:"#FFDB58",fontWeight:"bold"};t.SkillPanel=function(e,t){var n=(0,r.useBackend)(t),u=n.act,s=n.data.skills||[];return(0,o.createComponentVNode)(2,c.Window,{title:"Manage Skills",width:600,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{title:s.playername,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[(0,o.createVNode)(1,"span",null,e.desc,0,{style:l}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,d,{skill_lvl_num:e.lvlnum,skill_lvl:e.lvl}),(0,o.createVNode)(1,"br"),"Total Experience: [",e.exp," XP]",(0,o.createVNode)(1,"br"),"XP To Next Level:\xa0",0!==e.exp_req?(0,o.createVNode)(1,"span",null,[(0,o.createTextVNode)("["),e.exp_prog,(0,o.createTextVNode)(" / "),e.exp_req,(0,o.createTextVNode)("]")],0):(0,o.createVNode)(1,"span",null,"[MAXXED]",16,{style:i}),(0,o.createVNode)(1,"br"),"Overall Skill Progress: [",e.exp," / ",e.max_exp,"]",(0,o.createComponentVNode)(2,a.ProgressBar,{value:e.exp_percent,color:"good"}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{content:"Adjust Exp",onClick:function(){return u("adj_exp",{skill:e.path})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Set Exp",onClick:function(){return u("set_exp",{skill:e.path})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Set Level",onClick:function(){return u("set_lvl",{skill:e.path})}}),(0,o.createVNode)(1,"br"),(0,o.createVNode)(1,"br")]},e.name)}))})})})})};var d=function(e){var t=e.skill_lvl_num,n=e.skill_lvl;return(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:["Level: [",(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,textColor:"hsl("+50*t+", 50%, 50%)",children:n}),"]"]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SkillStation=t.TimeFormat=t.ImplantedSkillchips=t.InsertedSkillchip=void 0;var o=n(0),r=n(8),a=n(2),c=n(1),i=n(3),l=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.skillchip_ready,d=i.slot_use,u=i.slots_used,s=i.slots_max,m=i.implantable_reason,p=i.implantable,C=i.complexity,h=i.skill_name,N=i.skill_desc,V=i.skill_icon,b=i.working;return l?(0,o.createComponentVNode)(2,c.Section,{title:"Inserted Skillchip",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:"syringe",disabled:!p||!!b,color:p?"good":"default",onClick:function(){return r("implant")},content:"Implant",tooltip:m}),(0,o.createComponentVNode)(2,c.Button,{icon:"eject",disabled:!!b,onClick:function(){return r("eject")},content:"Eject"})],4),children:(0,o.createComponentVNode)(2,c.Flex,{spacing:2,height:"100%",width:"100%",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{height:"100%",align:"center",children:(0,o.createComponentVNode)(2,c.Icon,{size:3,name:V})}),(0,o.createComponentVNode)(2,c.Flex.Item,{width:"100%",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Skillchip",children:(0,o.createComponentVNode)(2,c.Box,{bold:!0,children:h})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Description",children:(0,o.createComponentVNode)(2,c.Box,{italic:!0,children:N})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Complexity",children:[(0,o.createComponentVNode)(2,c.Icon,{name:"brain",width:"15px",textAlign:"center"})," ",C]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Slot Size",children:(0,o.createComponentVNode)(2,c.Box,{color:u+d>s&&"red",children:[(0,o.createComponentVNode)(2,c.Icon,{name:"save",width:"15px",textAlign:"center"})," ",d]})}),!!m&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Error",color:p?"good":"bad",children:m})]})})]})}):!b&&(0,o.createComponentVNode)(2,c.NoticeBox,{info:!0,children:"Please insert a skillchip."})};t.InsertedSkillchip=l;var d=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.slots_used,d=i.slots_max,u=i.complexity_used,s=i.complexity_max,m=i.working,p=i.current||[];return(0,o.createComponentVNode)(2,c.Section,{title:"Implanted Skillchips",children:[!p.length&&"No skillchips detected.",!!p.length&&(0,o.createComponentVNode)(2,c.Table,{children:[(0,o.createComponentVNode)(2,c.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:"Chip"}),(0,o.createComponentVNode)(2,c.Table.Cell,{textAlign:"center",children:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"brain",tooltip:"Complexity",tooltipPosition:"top",content:u+"/"+s})}),(0,o.createComponentVNode)(2,c.Table.Cell,{textAlign:"center",children:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"save",tooltip:"Slot Size",tooltipPosition:"top",content:l+"/"+d})}),(0,o.createComponentVNode)(2,c.Table.Cell,{textAlign:"center",children:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"check",tooltip:"Is Active",tooltipPosition:"top"})}),(0,o.createComponentVNode)(2,c.Table.Cell,{textAlign:"center",children:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"hourglass-half",tooltip:"Cooldown",tooltipPosition:"top"})}),(0,o.createComponentVNode)(2,c.Table.Cell,{textAlign:"center",children:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",icon:"tasks",tooltip:"Actions",tooltipPosition:"top"})})]}),p.map((function(e){return(0,o.createComponentVNode)(2,c.Table.Row,{children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:[(0,o.createComponentVNode)(2,c.Icon,{textAlign:"center",width:"18px",mr:1,name:e.icon}),e.name]}),(0,o.createComponentVNode)(2,c.Table.Cell,{bold:!0,color:(!e.active?e.complexity+u>s&&"bad":"good")||"grey",textAlign:"center",children:e.complexity}),(0,o.createComponentVNode)(2,c.Table.Cell,{bold:!0,color:"good",textAlign:"center",children:e.slot_use}),(0,o.createComponentVNode)(2,c.Table.Cell,{textAlign:"center",children:(0,o.createComponentVNode)(2,c.Icon,{name:e.active?"check":"times",color:e.active?"good":"bad"})}),(0,o.createComponentVNode)(2,c.Table.Cell,{textAlign:"center",children:e.cooldown>0&&Math.ceil(e.cooldown/10)+"s"||"0s"}),(0,o.createComponentVNode)(2,c.Table.Cell,{textAlign:"center",children:[(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return r("remove",{ref:e.ref})},icon:e.removable?"eject":"trash",color:e.removable?"good":"bad",tooltip:e.removable?"Extract":"Destroy",tooltipPosition:"left",disabled:e.cooldown||m}),(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return r("toggle_activate",{ref:e.ref})},icon:e.active?"check-square-o":"square-o",color:e.active?"good":"default",tooltip:!!e.active_error&&!e.active&&e.active_error||e.active&&"Deactivate"||"Activate",tooltipPosition:"left",disabled:e.cooldown||m||!e.active&&e.complexity+u>s})]})]},e.ref)}))]})]})};t.ImplantedSkillchips=d;var u=function(e,t){var n=e.value,o=(0,r.toFixed)(Math.floor(n/10%60)).padStart(2,"0"),a=(0,r.toFixed)(Math.floor(n/600%60)).padStart(2,"0");return(0,r.toFixed)(Math.floor(n/36e3%24)).padStart(2,"0")+":"+a+":"+o};t.TimeFormat=u;t.SkillStation=function(e,t){var n=(0,a.useBackend)(t).data,r=n.working,s=n.timeleft,m=n.error;return(0,o.createComponentVNode)(2,i.Window,{title:"Skillsoft Station",width:500,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[!!m&&(0,o.createComponentVNode)(2,c.NoticeBox,{children:m}),!!r&&(0,o.createComponentVNode)(2,c.NoticeBox,{danger:!0,children:(0,o.createComponentVNode)(2,c.Flex,{direction:"column",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{mb:.5,children:"Operation in progress. Please do not leave the chamber."}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:["Time Left: ",(0,o.createComponentVNode)(2,u,{value:s})]})]})}),(0,o.createComponentVNode)(2,l),(0,o.createComponentVNode)(2,d)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Sleeper=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i=[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Oxygen",type:"oxyLoss"}];t.Sleeper=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.open,s=d.occupant,m=void 0===s?{}:s,p=d.occupied,C=(d.chems||[]).sort((function(e,t){var n=e.name.toLowerCase(),o=t.name.toLowerCase();return no?1:0}));return(0,o.createComponentVNode)(2,c.Window,{width:310,height:465,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:m.name?m.name:"No Occupant",minHeight:"210px",buttons:!!m.stat&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:m.statstate,children:m.stat}),children:!!p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.ProgressBar,{value:m.health,minValue:m.minHealth,maxValue:m.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:[i.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],minValue:0,maxValue:m.maxHealth,color:"bad"})},e.type)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cells",color:m.cloneLoss?"bad":"good",children:m.cloneLoss?"Damaged":"Healthy"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain",color:m.brainLoss?"bad":"good",children:m.brainLoss?"Abnormal":"Healthy"})]})],4)}),(0,o.createComponentVNode)(2,a.Section,{title:"Medicines",minHeight:"205px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"door-open":"door-closed",content:u?"Open":"Closed",onClick:function(){return l("door")}}),children:C.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:"flask",content:e.name,disabled:!p||!e.allowed,width:"140px",onClick:function(){return l("inject",{chem:e.id})}},e.name)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SlimeBodySwapper=t.BodyEntry=void 0;var o=n(0),r=n(2),a=n(1),c=n(3),i={Dead:"bad",Unconscious:"average",Conscious:"good"},l={owner:"You Are Here",stranger:"Occupied",available:"Swap"},d=function(e,t){var n=e.body,r=e.swapFunc;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:n.htmlcolor,children:n.name}),level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{content:l[n.occupied],selected:"owner"===n.occupied,color:"stranger"===n.occupied&&"bad",onClick:function(){return r()}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",bold:!0,color:i[n.status],children:n.status}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Jelly",children:n.exoticblood}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:n.area})]})})};t.BodyEntry=d;t.SlimeBodySwapper=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data.bodies,u=void 0===l?[]:l;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:400,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{children:u.map((function(e){return(0,o.createComponentVNode)(2,d,{body:e,swapFunc:function(){return i("swap",{ref:e.ref})}},e.name)}))})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmartVend=void 0;var o=n(0),r=n(10),a=n(2),c=n(1),i=n(3);t.SmartVend=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data;return(0,o.createComponentVNode)(2,i.Window,{width:440,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c.Section,{title:"Storage",buttons:!!d.isdryer&&(0,o.createComponentVNode)(2,c.Button,{icon:d.drying?"stop":"tint",onClick:function(){return l("Dry")},children:d.drying?"Stop drying":"Dry"}),children:0===d.contents.length&&(0,o.createComponentVNode)(2,c.NoticeBox,{children:["Unfortunately, this ",d.name," is empty."]})||(0,o.createComponentVNode)(2,c.Table,{children:[(0,o.createComponentVNode)(2,c.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:"Item"}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"center",children:d.verb?d.verb:"Dispense"})]}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,c.Table.Row,{children:[(0,o.createComponentVNode)(2,c.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,textAlign:"right",children:e.amount}),(0,o.createComponentVNode)(2,c.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,c.Button,{content:"One",disabled:e.amount<1,onClick:function(){return l("Release",{name:e.name,amount:1})}}),(0,o.createComponentVNode)(2,c.Button,{content:"Many",disabled:e.amount<=1,onClick:function(){return l("Release",{name:e.name})}})]})]},t)}))(d.contents)]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Smes=void 0;var o=n(0),r=n(2),a=n(1),c=n(38),i=n(3),l=1e3;t.Smes=function(e,t){var n=(0,r.useBackend)(t),d=n.act,u=n.data,s=u.capacityPercent,m=(u.capacity,u.charge),p=u.inputAttempt,C=u.inputting,h=u.inputLevel,N=u.inputLevelMax,V=u.inputAvailable,b=u.outputAttempt,f=u.outputting,g=u.outputLevel,v=u.outputLevelMax,x=u.outputUsed,k=(s>=100?"good":C&&"average")||"bad",B=(f?"good":m>0&&"average")||"bad";return(0,o.createComponentVNode)(2,i.Window,{width:340,height:350,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Stored Energy",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:.01*s,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:p?"sync-alt":"times",selected:p,onClick:function(){return d("tryinput")},children:p?"Auto":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:k,children:(s>=100?"Fully Charged":C&&"Charging")||"Not Charging"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Input",children:(0,o.createComponentVNode)(2,a.Flex,{inline:!0,width:"100%",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===h,onClick:function(){return d("input",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===h,onClick:function(){return d("input",{adjust:-1e4})}})]}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,mx:1,children:(0,o.createComponentVNode)(2,a.Slider,{value:h/l,fillValue:V/l,minValue:0,maxValue:N/l,step:5,stepPixelSize:4,format:function(e){return(0,c.formatPower)(e*l,1)},onDrag:function(e,t){return d("input",{target:t*l})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:h===N,onClick:function(){return d("input",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:h===N,onClick:function(){return d("input",{target:"max"})}})]})]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Available",children:(0,c.formatPower)(V)})]})}),(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:b?"power-off":"times",selected:b,onClick:function(){return d("tryoutput")},children:b?"On":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:B,children:f?"Sending":m>0?"Not Sending":"No Charge"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Output",children:(0,o.createComponentVNode)(2,a.Flex,{inline:!0,width:"100%",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===g,onClick:function(){return d("output",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===g,onClick:function(){return d("output",{adjust:-1e4})}})]}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,mx:1,children:(0,o.createComponentVNode)(2,a.Slider,{value:g/l,minValue:0,maxValue:v/l,step:5,stepPixelSize:4,format:function(e){return(0,c.formatPower)(e*l,1)},onDrag:function(e,t){return d("output",{target:t*l})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:g===v,onClick:function(){return d("output",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:g===v,onClick:function(){return d("output",{target:"max"})}})]})]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Outputting",children:(0,c.formatPower)(x)})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmokeMachine=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.SmokeMachine=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.TankContents,u=(l.isTankLoaded,l.TankCurrentVolume),s=l.TankMaxVolume,m=l.active,p=l.setting,C=(l.screen,l.maxSetting),h=void 0===C?[]:C;return(0,o.createComponentVNode)(2,c.Window,{width:350,height:350,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Dispersal Tank",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:m?"power-off":"times",selected:m,content:m?"On":"Off",onClick:function(){return i("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:u/s,ranges:{bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{initial:0,value:u||0})," / "+s]}),(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:p===e,icon:"plus",content:3*e,disabled:h0?"good":"bad",children:h})]})}),(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:u,children:d+" 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===C,onClick:function(){return i("tracking",{mode:0})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:"Timed",selected:1===C,onClick:function(){return i("tracking",{mode:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:2===C,disabled:!N,onClick:function(){return i("tracking",{mode:2})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Azimuth",children:[(0===C||1===C)&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"52px",unit:"\xb0",step:1,stepPixelSize:2,minValue:-360,maxValue:720,value:s,onDrag:function(e,t){return i("azimuth",{value:t})}}),1===C&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"80px",unit:"\xb0/m",step:.01,stepPixelSize:1,minValue:-p-.01,maxValue:p+.01,value:m,format:function(e){return(Math.sign(e)>0?"+":"-")+Math.abs(e)},onDrag:function(e,t){return i("azimuth_rate",{value:t})}}),2===C&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mt:"3px",children:[s+" \xb0"," (auto)"]})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SpaceHeater=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.SpaceHeater=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:305,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Power",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Cell",disabled:!l.hasPowercell||!l.open,onClick:function(){return i("eject")}}),(0,o.createComponentVNode)(2,a.Button,{icon:l.on?"power-off":"times",content:l.on?"On":"Off",selected:l.on,disabled:!l.hasPowercell,onClick:function(){return i("power")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell",color:!l.hasPowercell&&"bad",children:l.hasPowercell&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.powerLevel/100,ranges:{good:[.6,Infinity],average:[.3,.6],bad:[-Infinity,.3]},children:l.powerLevel+"%"})||"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(l.targetTemp-l.currentTemp)>50?"bad":Math.abs(l.targetTemp-l.currentTemp)>20?"average":"good",children:[l.currentTemp,"\xb0C"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:l.open&&(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(l.targetTemp),width:"65px",unit:"\xb0C",minValue:l.minTemp,maxValue:l.maxTemp,onChange:function(e,t){return i("target",{target:t})}})||l.targetTemp+"\xb0C"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",children:l.open?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"thermometer-half",content:"Auto",selected:"auto"===l.mode,onClick:function(){return i("mode",{mode:"auto"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fire-alt",content:"Heat",selected:"heat"===l.mode,onClick:function(){return i("mode",{mode:"heat"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fan",content:"Cool",selected:"cool"===l.mode,onClick:function(){return i("mode",{mode:"cool"})}})],4):"Auto"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider)]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SpawnersMenu=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.SpawnersMenu=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data.spawners||[];return(0,o.createComponentVNode)(2,c.Window,{title:"Spawners Menu",width:700,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{children:l.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 i("jump",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Spawn",onClick:function(){return i("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.Stack=void 0;var o=n(0),r=n(18),a=n(10),c=n(2),i=n(1),l=n(3);t.Stack=function(e,t){var n=(0,c.useBackend)(t),a=(n.act,n.data),u=a.amount,s=a.recipes,m=void 0===s?[]:s,p=(0,c.useLocalState)(t,"searchText",""),C=p[0],h=p[1],N=(0,r.createSearch)(C,(function(e){return e})),V=C.length>0&&Object.keys(m).filter(N).reduce((function(e,t){return e[t]=m[t],e}),{})||m,b=Math.max(94+26*Object.keys(m).length,250);return(0,o.createComponentVNode)(2,l.Window,{width:400,height:Math.min(b,500),resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{title:"Amount: "+u,buttons:(0,o.createFragment)([(0,o.createTextVNode)("Search"),(0,o.createComponentVNode)(2,i.Input,{autoFocus:!0,value:C,onInput:function(e,t){return h(t)},mx:1})],4),children:0===V.length&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No recipes found."})||(0,o.createComponentVNode)(2,d,{recipes:V})})})})};var d=function m(e,t){var n=(0,c.useBackend)(t),r=(n.act,n.data,e.recipes);return(0,a.sortBy)((function(e){return e.toLowerCase()}))(Object.keys(r)).map((function(e){var t=r[e];return t.ref===undefined?(0,o.createComponentVNode)(2,i.Collapsible,{ml:1,color:"label",title:e,children:(0,o.createComponentVNode)(2,i.Box,{ml:1,children:(0,o.createComponentVNode)(2,m,{recipes:t})})}):(0,o.createComponentVNode)(2,s,{title:e,recipe:t})}))},u=function(e,t){for(var n=(0,c.useBackend)(t),r=n.act,a=(n.data,e.recipe),l=e.maxMultiplier,d=Math.min(l,Math.floor(a.max_res_amount/a.res_amount)),u=[5,10,25],s=[],m=function(){var e=C[p];d>=e&&s.push((0,o.createComponentVNode)(2,i.Button,{content:e*a.res_amount+"x",onClick:function(){return r("make",{ref:a.ref,multiplier:e})}}))},p=0,C=u;p1?"s":""),C+=")",s>1&&(C=s+"x "+C);var h=function(e,t){return e.req_amount>t?0:Math.floor(t/e.req_amount)}(l,a);return(0,o.createComponentVNode)(2,i.Box,{mb:1,children:(0,o.createComponentVNode)(2,i.Table,{children:(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,disabled:!h,icon:"wrench",content:C,onClick:function(){return r("make",{ref:l.ref,multiplier:1})}})}),m>1&&h>1&&(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,u,{recipe:l,maxMultiplier:h})})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.StackingConsoleContent=t.StackingConsole=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.StackingConsole=function(e,t){var n=(0,r.useBackend)(t),l=(n.act,n.data.machine);return(0,o.createComponentVNode)(2,c.Window,{width:320,height:340,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:l?(0,o.createComponentVNode)(2,i):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No connected stacking machine"})})})};var i=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.stacking_amount,d=i.contents,u=void 0===d?[]:d;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:"Stacking Amount",children:l||"Unknown"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Stored Materials",children:u.length?(0,o.createComponentVNode)(2,a.LabeledList,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Release",onClick:function(){return c("release",{type:e.type})}}),children:e.amount||"Unknown"},e.type)}))}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No stored materials"})})],4)};t.StackingConsoleContent=i},function(e,t,n){"use strict";t.__esModule=!0,t.SyndPane=t.StatusPane=t.SyndContractorContent=t.SyndContractor=t.FakeTerminal=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);var i=function(e){var t,n;function r(t){var n;return(n=e.call(this,t)||this).timer=null,n.state={currentIndex:0,currentDisplay:[]},n}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.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))},c.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)},c.componentWillUnmount=function(){clearTimeout(this.timer)},c.render=function(){return(0,o.createComponentVNode)(2,a.Box,{m:1,children:this.state.currentDisplay.map((function(e){return(0,o.createFragment)([e,(0,o.createVNode)(1,"br")],0,e)}))})},r}(o.Component);t.FakeTerminal=i;t.SyndContractor=function(e,t){return(0,o.createComponentVNode)(2,c.NtosWindow,{width:500,height:600,theme:"syndicate",resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,r.useBackend)(t),c=n.data,l=n.act,d=["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"],s=!!c.error&&(0,o.createComponentVNode)(2,a.Modal,{backgroundColor:"red",children:(0,o.createComponentVNode)(2,a.Flex,{align:"center",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{mr:2,children:(0,o.createComponentVNode)(2,a.Icon,{size:4,name:"exclamation-triangle"})}),(0,o.createComponentVNode)(2,a.Flex.Item,{mr:2,grow:1,textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{width:"260px",textAlign:"left",minHeight:"80px",children:c.error}),(0,o.createComponentVNode)(2,a.Button,{content:"Dismiss",onClick:function(){return l("PRG_clear_error")}})]})]})});return c.logged_in?c.logged_in&&c.first_load?(0,o.createComponentVNode)(2,a.Box,{backgroundColor:"rgba(0, 0, 0, 0.8)",minHeight:"525px",children:(0,o.createComponentVNode)(2,i,{allMessages:d,finishedTimeout:3e3,onFinished:function(){return l("PRG_set_first_load_finished")}})}):c.info_screen?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.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,a.Button,{fluid:!0,content:"CONTINUE",color:"transparent",textAlign:"center",onClick:function(){return l("PRG_toggle_info")}})],4):(0,o.createFragment)([s,(0,o.createComponentVNode)(2,u)],0):(0,o.createComponentVNode)(2,a.Section,{minHeight:"525px",children:[(0,o.createComponentVNode)(2,a.Box,{width:"100%",textAlign:"center",children:(0,o.createComponentVNode)(2,a.Button,{content:"REGISTER USER",color:"transparent",onClick:function(){return l("PRG_login")}})}),!!c.error&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:c.error})]})};t.SyndContractorContent=l;var d=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createFragment)([(0,o.createTextVNode)("Contractor Status"),(0,o.createComponentVNode)(2,a.Button,{content:"View Information Again",color:"transparent",mb:0,ml:1,onClick:function(){return c("PRG_toggle_info")}})],4),buttons:(0,o.createComponentVNode)(2,a.Box,{bold:!0,mr:1,children:[i.contract_rep," Rep"]}),children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:.85,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"TC Available",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Claim",disabled:i.redeemable_tc<=0,onClick:function(){return c("PRG_redeem_TC")}}),children:i.redeemable_tc}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"TC Earned",children:i.earned_tc})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Contracts Completed",children:i.contracts_completed}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Status",children:"ACTIVE"})]})})]})})};t.StatusPane=d;var u=function(e,t){var n=(0,r.useLocalState)(t,"tab",1),c=n[0],i=n[1];return(0,o.createFragment)([(0,o.createComponentVNode)(2,d,{state:e.state}),(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===c,onClick:function(){return i(1)},children:"Contracts"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:2===c,onClick:function(){return i(2)},children:"Hub"})]}),1===c&&(0,o.createComponentVNode)(2,s),2===c&&(0,o.createComponentVNode)(2,m)],0)};t.SyndPane=u;var s=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.contracts||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Available Contracts",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Call Extraction",disabled:!i.ongoing_contract||i.extraction_enroute,onClick:function(){return c("PRG_call_extraction")}}),children:l.map((function(e){if(!i.ongoing_contract||2===e.status){var t=e.status>1;if(!(e.status>=5))return(0,o.createComponentVNode)(2,a.Section,{title:e.target?e.target+" ("+e.target_rank+")":"Invalid Target",level:t?1:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:[e.payout," (+",e.payout_bonus,") TC"]}),(0,o.createComponentVNode)(2,a.Button,{content:t?"Abort":"Accept",disabled:e.extraction_enroute,color:t&&"bad",onClick:function(){return c("PRG_contract"+(t?"_abort":"-accept"),{contract_id:e.id})}})],4),children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:e.message}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.5,children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,mb:1,children:"Dropoff Location:"}),(0,o.createComponentVNode)(2,a.Box,{children:e.dropoff})]})]})},e.target)}}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Dropoff Locator",textAlign:"center",opacity:i.ongoing_contract?100:0,children:(0,o.createComponentVNode)(2,a.Box,{bold:!0,children:i.dropoff_direction})})],4)},m=function(e,t){var n=(0,r.useBackend)(t),c=n.act,i=n.data,l=i.contractor_hub_items||[];return(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){var t=e.cost?e.cost+" Rep":"FREE",n=-1!==e.limited;return(0,o.createComponentVNode)(2,a.Section,{title:e.name+" - "+t,level:2,buttons:(0,o.createFragment)([n&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:[e.limited," remaining"]}),(0,o.createComponentVNode)(2,a.Button,{content:"Purchase",disabled:i.contract_repl.user.cash),content:N&&V?b+" cr":d.price+" cr",onClick:function(){return i("vend",{ref:d.ref})}})})]})};t.Vending=function(e,t){var n,r=(0,a.useBackend)(t),d=(r.act,r.data),u=d.user,s=d.onstation,m=d.product_records,p=void 0===m?[]:m,C=d.coin_records,h=void 0===C?[]:C,N=d.hidden_records,V=void 0===N?[]:N,b=d.stock,f=!1;return d.vending_machine_input?(n=d.vending_machine_input,f=!0):(n=[].concat(p,h),d.extended_inventory&&(n=[].concat(n,V))),n=n.filter((function(e){return!!e})),(0,o.createComponentVNode)(2,i.Window,{title:"Vending Machine",width:450,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[!!s&&(0,o.createComponentVNode)(2,c.Section,{title:"User",children:u&&(0,o.createComponentVNode)(2,c.Box,{children:["Welcome, ",(0,o.createVNode)(1,"b",null,u.name,0),","," ",(0,o.createVNode)(1,"b",null,u.job||"Unemployed",0),"!",(0,o.createVNode)(1,"br"),"Your balance is ",(0,o.createVNode)(1,"b",null,[u.cash,(0,o.createTextVNode)(" credits")],0),"."]})||(0,o.createComponentVNode)(2,c.Box,{color:"light-grey",children:["No registered ID card!",(0,o.createVNode)(1,"br"),"Please contact your local HoP!"]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Products",children:(0,o.createComponentVNode)(2,c.Table,{children:n.map((function(e){return(0,o.createComponentVNode)(2,l,{custom:f,product:e,productStock:b[e.name]},e.name)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Wires=void 0;var o=n(0),r=n(2),a=n(1),c=n(3);t.Wires=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.proper_name,u=l.wires||[],s=l.status||[];return(0,o.createComponentVNode)(2,c.Window,{width:350,height:150+30*u.length+(!!d&&30),children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[!!d&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:[d," Wire Configuration"]}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:u.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 i("cut",{wire:e.color})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Pulse",onClick:function(){return i("pulse",{wire:e.color})}}),(0,o.createComponentVNode)(2,a.Button,{content:e.attached?"Detach":"Attach",onClick:function(){return i("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)}))})}),!!s.length&&(0,o.createComponentVNode)(2,a.Section,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})]})})}}])); \ No newline at end of file From 062759b69c46cda2ce20f72095991d8df7b22701 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Mon, 30 Nov 2020 08:48:58 -0800 Subject: [PATCH 11/33] Automatic changelog generation for PR #55230 [ci skip] --- html/changelogs/AutoChangeLog-pr-55230.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-55230.yml diff --git a/html/changelogs/AutoChangeLog-pr-55230.yml b/html/changelogs/AutoChangeLog-pr-55230.yml new file mode 100644 index 00000000000..e2c1ddfc91b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-55230.yml @@ -0,0 +1,4 @@ +author: "bobbahbrown" +delete-after: True +changes: + - rscadd: "Nanotrasen have updated their control panels mounted on canisters and atmospheric tanks to include fancy new pressure gauges, wow!" From 760ea1e7aba2b0ff00250437da41e1f8bebcd962 Mon Sep 17 00:00:00 2001 From: Winter Flare <7543955+Owai-Seek@users.noreply.github.com> Date: Mon, 30 Nov 2020 11:49:53 -0500 Subject: [PATCH 12/33] Sets default food size to small. (#55210) ## About The Pull Request Fixes an oversight done during the food refactor that makes all food items normal sized instead of small. Instead of adding weight class to a bunch of individual items [(like this PR)](https://github.com/tgstation/tgstation/pull/55174) it just makes all food default to small unless tagged to be bigger. ## Why It's Good For The Game Being able to put 7 items on a tray instead of 4 is good, and if a food item is "too powerful", that individual item (or subtype, such as soups) can be given a larger weight class. Fixes #54818 --- code/game/objects/items/food/_food.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/food/_food.dm b/code/game/objects/items/food/_food.dm index c16361eb7ac..7cbea93fe34 100644 --- a/code/game/objects/items/food/_food.dm +++ b/code/game/objects/items/food/_food.dm @@ -3,7 +3,7 @@ name = "food" desc = "you eat this" resistance_flags = FLAMMABLE - w_class = WEIGHT_CLASS_NORMAL + w_class = WEIGHT_CLASS_SMALL icon = 'icons/obj/food/food.dmi' icon_state = null lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi' From f9d131e49092f39326d86126ad9bb1b825cab4d3 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Mon, 30 Nov 2020 08:49:57 -0800 Subject: [PATCH 13/33] Automatic changelog generation for PR #55210 [ci skip] --- html/changelogs/AutoChangeLog-pr-55210.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-55210.yml diff --git a/html/changelogs/AutoChangeLog-pr-55210.yml b/html/changelogs/AutoChangeLog-pr-55210.yml new file mode 100644 index 00000000000..c33282e982e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-55210.yml @@ -0,0 +1,4 @@ +author: "Owai-Seek" +delete-after: True +changes: + - bugfix: "Food is now small, unless tagged to be bigger." From f18ece09261f80a91d0062a7cd6df6e7c872ec52 Mon Sep 17 00:00:00 2001 From: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com> Date: Mon, 30 Nov 2020 11:51:40 -0500 Subject: [PATCH 14/33] Small refactor for medical stack items (#55213) Someone DM'd me asking a question about what the 'heal' var was for on aloe, I looked into it and realized it was an unnecessary variable that just replicated what heal_brute and heal_burn do. I then realized there was quite a lot of unnecessary copypasta in medical stack code, so I made some changes to make it neater and added some documentation in to boot --- code/game/objects/items/stacks/medical.dm | 242 ++++++++-------------- 1 file changed, 92 insertions(+), 150 deletions(-) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index c880a1ce856..95faced3ed6 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -15,16 +15,19 @@ cost = 250 source = /datum/robot_energy_storage/medical merge_type = /obj/item/stack/medical - var/self_delay = 50 + /// How long it takes to apply it to yourself + var/self_delay = 5 SECONDS + /// How long it takes to apply it to someone else var/other_delay = 0 + /// If we've still got more and the patient is still hurt, should we keep going automatically? var/repeating = FALSE - /// How much brute we heal per application + /// How much brute we heal per application. This is the only number that matters for simplemobs var/heal_brute /// How much burn we heal per application var/heal_burn /// How much we reduce bleeding per application on cut wounds var/stop_bleeding - /// How much sanitization to apply to burns on application + /// How much sanitization to apply to burn wounds on application var/sanitization /// How much we add to flesh_healing for burn wounds on application var/flesh_regeneration @@ -33,49 +36,66 @@ . = ..() try_heal(M, user) - -/obj/item/stack/medical/proc/try_heal(mob/living/M, mob/user, silent = FALSE) - if(!M.can_inject(user, TRUE)) +/// In which we print the message that we're starting to heal someone, then we try healing them. Does the do_after whether or not it can actually succeed on a targeted mob +/obj/item/stack/medical/proc/try_heal(mob/living/patient, mob/user, silent = FALSE) + if(!patient.can_inject(user, TRUE)) return - if(M == user) + if(patient == user) if(!silent) - user.visible_message("[user] starts to apply \the [src] on [user.p_them()]self...", "You begin applying \the [src] on yourself...") - if(!do_mob(user, M, self_delay, extra_checks=CALLBACK(M, /mob/living/proc/can_inject, user, TRUE))) + user.visible_message("[user] starts to apply [src] on [user.p_them()]self...", "You begin applying [src] on yourself...") + if(!do_mob(user, patient, self_delay, extra_checks=CALLBACK(patient, /mob/living/proc/can_inject, user, TRUE))) return else if(other_delay) if(!silent) - user.visible_message("[user] starts to apply \the [src] on [M].", "You begin applying \the [src] on [M]...") - if(!do_mob(user, M, other_delay, extra_checks=CALLBACK(M, /mob/living/proc/can_inject, user, TRUE))) + user.visible_message("[user] starts to apply [src] on [patient].", "You begin applying [src] on [patient]...") + if(!do_mob(user, patient, other_delay, extra_checks=CALLBACK(patient, /mob/living/proc/can_inject, user, TRUE))) return - if(heal(M, user)) - log_combat(user, M, "healed", src.name) + if(heal(patient, user)) + log_combat(user, patient, "healed", src.name) use(1) if(repeating && amount > 0) - try_heal(M, user, TRUE) + try_heal(patient, user, TRUE) -/obj/item/stack/medical/proc/heal(mob/living/M, mob/user) - return +/// Apply the actual effects of the healing if it's a simple animal, goes to [/obj/item/stack/medical/proc/heal_carbon] if it's a carbon, returns TRUE if it works, FALSE if it doesn't +/obj/item/stack/medical/proc/heal(mob/living/patient, mob/user) + if(patient.stat == DEAD) + to_chat(user, "[patient] is dead! You can not help [patient.p_them()].") + return + if(isanimal(patient) && heal_brute) // only brute can heal + var/mob/living/simple_animal/critter = patient + if (!critter.healable) + to_chat(user, "You cannot use [src] on [patient]!") + return FALSE + else if (critter.health == critter.maxHealth) + to_chat(user, "[patient] is at full health.") + return FALSE + user.visible_message("[user] applies [src] on [patient].", "You apply [src] on [patient].") + patient.heal_bodypart_damage((heal_brute * 0.5)) + return TRUE + if(iscarbon(patient)) + return heal_carbon(patient, user, heal_brute, heal_burn) + to_chat(user, "You can't heal [patient] with [src]!") +/// The healing effects on a carbon patient. Since we have extra details for dealing with bodyparts, we get our own fancy proc. Still returns TRUE on success and FALSE on fail /obj/item/stack/medical/proc/heal_carbon(mob/living/carbon/C, mob/user, brute, burn) var/obj/item/bodypart/affecting = C.get_bodypart(check_zone(user.zone_selected)) if(!affecting) //Missing limb? to_chat(user, "[C] doesn't have \a [parse_zone(user.zone_selected)]!") return FALSE if(affecting.status != BODYPART_ORGANIC) //Limb must be organic to be healed - RR - to_chat(user, "\The [src] won't work on a robotic limb!") + to_chat(user, "[src] won't work on a robotic limb!") return FALSE if(affecting.brute_dam && brute || affecting.burn_dam && burn) - user.visible_message("[user] applies \the [src] on [C]'s [affecting.name].", "You apply \the [src] on [C]'s [affecting.name].") + user.visible_message("[user] applies [src] on [C]'s [affecting.name].", "You apply [src] on [C]'s [affecting.name].") var/previous_damage = affecting.get_damage() if(affecting.heal_damage(brute, burn)) C.update_damage_overlays() post_heal_effects(max(previous_damage - affecting.get_damage(), 0), C, user) return TRUE - to_chat(user, "[C]'s [affecting.name] can not be healed with \the [src]!") + to_chat(user, "[C]'s [affecting.name] can not be healed with [src]!") return FALSE - ///Override this proc for special post heal effects. /obj/item/stack/medical/proc/post_heal_effects(amount_healed, mob/living/carbon/healed_mob, mob/user) return @@ -88,30 +108,11 @@ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' heal_brute = 40 - self_delay = 40 - other_delay = 20 + self_delay = 4 SECONDS + other_delay = 2 SECONDS grind_results = list(/datum/reagent/medicine/c2/libital = 10) merge_type = /obj/item/stack/medical/bruise_pack -/obj/item/stack/medical/bruise_pack/heal(mob/living/M, mob/user) - if(M.stat == DEAD) - to_chat(user, "[M] is dead! You can not help [M.p_them()].") - return - if(isanimal(M)) - var/mob/living/simple_animal/critter = M - if (!(critter.healable)) - to_chat(user, "You cannot use \the [src] on [M]!") - return FALSE - else if (critter.health == critter.maxHealth) - to_chat(user, "[M] is at full health.") - return FALSE - user.visible_message("[user] applies \the [src] on [M].", "You apply \the [src] on [M].") - M.heal_bodypart_damage((heal_brute/2)) - return TRUE - if(iscarbon(M)) - return heal_carbon(M, user, heal_brute, heal_burn) - to_chat(user, "You can't heal [M] with \the [src]!") - /obj/item/stack/medical/bruise_pack/suicide_act(mob/user) user.visible_message("[user] is bludgeoning [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!") return (BRUTELOSS) @@ -122,8 +123,8 @@ gender = PLURAL singular_name = "medical gauze" icon_state = "gauze" - self_delay = 50 - other_delay = 20 + self_delay = 5 SECONDS + other_delay = 2 SECONDS max_amount = 12 amount = 6 grind_results = list(/datum/reagent/cellulose = 2) @@ -158,7 +159,6 @@ return user.visible_message("[user] begins wrapping the wounds on [M]'s [limb.name] with [src]...", "You begin wrapping the wounds on [user == M ? "your" : "[M]'s"] [limb.name] with [src]...") - if(!do_after(user, (user == M ? self_delay : other_delay), target=M)) return @@ -182,27 +182,35 @@ return ..() /obj/item/stack/medical/gauze/suicide_act(mob/living/user) - user.visible_message("[user] begins tightening \the [src] around [user.p_their()] neck! It looks like [user.p_they()] forgot how to use medical supplies!") + user.visible_message("[user] begins tightening [src] around [user.p_their()] neck! It looks like [user.p_they()] forgot how to use medical supplies!") return OXYLOSS /obj/item/stack/medical/gauze/improvised name = "improvised gauze" singular_name = "improvised gauze" desc = "A roll of cloth roughly cut from something that does a decent job of stabilizing wounds, but less efficiently so than real medical gauze." - self_delay = 60 - other_delay = 30 + self_delay = 6 SECONDS + other_delay = 3 SECONDS absorption_rate = 0.15 absorption_capacity = 4 merge_type = /obj/item/stack/medical/gauze/improvised + /* + The idea is for the following medical devices to work like a hybrid of the old brute packs and tend wounds, + they heal a little at a time, have reduced healing density and does not allow for rapid healing while in combat. + However they provice graunular control of where the healing is directed, this makes them better for curing work-related cuts and scrapes. + + The interesting limb targeting mechanic is retained and i still believe they will be a viable choice, especially when healing others in the field. + */ + /obj/item/stack/medical/suture name = "suture" desc = "Basic sterile sutures used to seal up cuts and lacerations and stop bleeding." gender = PLURAL singular_name = "suture" icon_state = "suture" - self_delay = 30 - other_delay = 10 + self_delay = 3 SECONDS + other_delay = 1 SECONDS amount = 10 max_amount = 10 repeating = TRUE @@ -228,27 +236,6 @@ grind_results = list(/datum/reagent/medicine/polypyr = 1) merge_type = /obj/item/stack/medical/suture/medicated -/obj/item/stack/medical/suture/heal(mob/living/M, mob/user) - . = ..() - if(M.stat == DEAD) - to_chat(user, "[M] is dead! You can not help [M.p_them()].") - return - if(iscarbon(M)) - return heal_carbon(M, user, heal_brute, heal_burn) - if(isanimal(M)) - var/mob/living/simple_animal/critter = M - if (!(critter.healable)) - to_chat(user, "You cannot use \the [src] on [M]!") - return FALSE - else if (critter.health == critter.maxHealth) - to_chat(user, "[M] is at full health.") - return FALSE - user.visible_message("[user] applies \the [src] on [M].", "You apply \the [src] on [M].") - M.heal_bodypart_damage(heal_brute) - return TRUE - - to_chat(user, "You can't heal [M] with \the [src]!") - /obj/item/stack/medical/ointment name = "ointment" desc = "Basic burn ointment, rated effective for second degree burns with proper bandaging, though it's still an effective stabilizer for worse burns. Not terribly good at outright healing burns though." @@ -259,8 +246,8 @@ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' amount = 8 max_amount = 8 - self_delay = 40 - other_delay = 20 + self_delay = 4 SECONDS + other_delay = 2 SECONDS heal_burn = 5 flesh_regeneration = 2.5 @@ -268,16 +255,8 @@ grind_results = list(/datum/reagent/medicine/c2/lenturi = 10) merge_type = /obj/item/stack/medical/ointment -/obj/item/stack/medical/ointment/heal(mob/living/M, mob/user) - if(M.stat == DEAD) - to_chat(user, "[M] is dead! You can not help [M.p_them()].") - return - if(iscarbon(M)) - return heal_carbon(M, user, heal_brute, heal_burn) - to_chat(user, "You can't heal [M] with \the [src]!") - /obj/item/stack/medical/ointment/suicide_act(mob/living/user) - user.visible_message("[user] is squeezing \the [src] into [user.p_their()] mouth! [user.p_do(TRUE)]n't [user.p_they()] know that stuff is toxic?") + user.visible_message("[user] is squeezing [src] into [user.p_their()] mouth! [user.p_do(TRUE)]n't [user.p_they()] know that stuff is toxic?") return TOXLOSS /obj/item/stack/medical/mesh @@ -286,8 +265,8 @@ gender = PLURAL singular_name = "mesh piece" icon_state = "regen_mesh" - self_delay = 30 - other_delay = 10 + self_delay = 3 SECONDS + other_delay = 1 SECONDS amount = 15 heal_burn = 10 max_amount = 15 @@ -311,33 +290,23 @@ else return ..() -/obj/item/stack/medical/mesh/heal(mob/living/M, mob/user) - . = ..() - if(M.stat == DEAD) - to_chat(user, "[M] is dead! You can not help [M.p_them()].") - return - if(iscarbon(M)) - return heal_carbon(M, user, heal_brute, heal_burn) - to_chat(user, "You can't heal [M] with \the [src]!") - - /obj/item/stack/medical/mesh/try_heal(mob/living/M, mob/user, silent = FALSE) if(!is_open) to_chat(user, "You need to open [src] first.") return - . = ..() + return ..() /obj/item/stack/medical/mesh/AltClick(mob/living/user) if(!is_open) to_chat(user, "You need to open [src] first.") return - . = ..() + return ..() /obj/item/stack/medical/mesh/attack_hand(mob/user) if(!is_open && user.get_inactive_held_item() == src) to_chat(user, "You need to open [src] first.") return - . = ..() + return ..() /obj/item/stack/medical/mesh/attack_self(mob/user) if(!is_open) @@ -346,7 +315,7 @@ update_icon() playsound(src, 'sound/items/poster_ripped.ogg', 20, TRUE) return - . = ..() + return ..() /obj/item/stack/medical/mesh/advanced name = "advanced regenerative mesh" @@ -368,50 +337,22 @@ /obj/item/stack/medical/aloe name = "aloe cream" - desc = "A healing paste you can apply on wounds." + desc = "A healing paste for minor cuts and burns." gender = PLURAL singular_name = "aloe cream" icon_state = "aloe_paste" - self_delay = 20 - other_delay = 10 + self_delay = 2 SECONDS + other_delay = 1 SECONDS novariants = TRUE amount = 20 max_amount = 20 repeating = TRUE - var/heal = 3 + heal_brute = 3 + heal_burn = 3 grind_results = list(/datum/reagent/consumable/aloejuice = 1) merge_type = /obj/item/stack/medical/aloe -/obj/item/stack/medical/aloe/heal(mob/living/M, mob/user) - . = ..() - if(M.stat == DEAD) - to_chat(user, "[M] is dead! You can not help [M.p_them()].") - return FALSE - if(iscarbon(M)) - return heal_carbon(M, user, heal, heal) - if(isanimal(M)) - var/mob/living/simple_animal/critter = M - if (!(critter.healable)) - to_chat(user, "You cannot use \the [src] on [M]!") - return FALSE - else if (critter.health == critter.maxHealth) - to_chat(user, "[M] is at full health.") - return FALSE - user.visible_message("[user] applies \the [src] on [M].", "You apply \the [src] on [M].") - M.heal_bodypart_damage(heal, heal) - return TRUE - - to_chat(user, "You can't heal [M] with the \the [src]!") - - /* - The idea is for these medical devices to work like a hybrid of the old brute packs and tend wounds, - they heal a little at a time, have reduced healing density and does not allow for rapid healing while in combat. - However they provice graunular control of where the healing is directed, this makes them better for curing work-related cuts and scrapes. - - The interesting limb targeting mechanic is retained and i still believe they will be a viable choice, especially when healing others in the field. - */ - /obj/item/stack/medical/bone_gel name = "bone gel" singular_name = "bone gel" @@ -433,26 +374,27 @@ return /obj/item/stack/medical/bone_gel/suicide_act(mob/user) - if(iscarbon(user)) - var/mob/living/carbon/C = user - C.visible_message("[C] is squirting all of \the [src] into [C.p_their()] mouth! That's not proper procedure! It looks like [C.p_theyre()] trying to commit suicide!") - if(do_after(C, 2 SECONDS)) - C.emote("scream") - for(var/i in C.bodyparts) - var/obj/item/bodypart/bone = i - var/datum/wound/blunt/severe/oof_ouch = new - oof_ouch.apply_wound(bone) - var/datum/wound/blunt/critical/oof_OUCH = new - oof_OUCH.apply_wound(bone) + if(!iscarbon(user)) + return + var/mob/living/carbon/C = user + C.visible_message("[C] is squirting all of [src] into [C.p_their()] mouth! That's not proper procedure! It looks like [C.p_theyre()] trying to commit suicide!") + if(!do_after(C, 2 SECONDS)) + C.visible_message("[C] screws up like an idiot and still dies anyway!") + return (BRUTELOSS) - for(var/i in C.bodyparts) - var/obj/item/bodypart/bone = i - bone.receive_damage(brute=60) - use(1) - return (BRUTELOSS) - else - C.visible_message("[C] screws up like an idiot and still dies anyway!") - return (BRUTELOSS) + C.emote("scream") + for(var/i in C.bodyparts) + var/obj/item/bodypart/bone = i + var/datum/wound/blunt/severe/oof_ouch = new + oof_ouch.apply_wound(bone) + var/datum/wound/blunt/critical/oof_OUCH = new + oof_OUCH.apply_wound(bone) + + for(var/i in C.bodyparts) + var/obj/item/bodypart/bone = i + bone.receive_damage(brute=60) + use(1) + return (BRUTELOSS) /obj/item/stack/medical/poultice name = "mourning poultices" @@ -472,10 +414,10 @@ merge_type = /obj/item/stack/medical/poultice /obj/item/stack/medical/poultice/heal(mob/living/M, mob/user) - . = .. () if(iscarbon(M)) playsound(src, 'sound/misc/soggy.ogg', 30, TRUE) return heal_carbon(M, user, heal_brute, heal_burn) + return ..() /obj/item/stack/medical/poultice/post_heal_effects(amount_healed, mob/living/carbon/healed_mob, mob/user) . = ..() From 5d76efe40ea7b2523bf9577f482e252169fd15ce Mon Sep 17 00:00:00 2001 From: Ghilker <42839747+Ghilker@users.noreply.github.com> Date: Mon, 30 Nov 2020 17:53:03 +0100 Subject: [PATCH 15/33] More HFR fixes (#55203) - Refractor HFR core from binary device to unary device to fix issue with cooling not properly connecting, that was deleting gases when tryed to use (only one port cooling now similar to a Thermomachine) - Small fix of GUI data where two vars were inverted --- .../circuitboards/machine_circuitboards.dm | 2 +- .../machinery/components/fusion/hypertorus.dm | 138 ++++-------------- .../atmospherics/components/hypertorus.dmi | Bin 71993 -> 71251 bytes 3 files changed, 30 insertions(+), 110 deletions(-) diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 1c9e3e360f5..a87e12a14d2 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -358,7 +358,7 @@ /obj/item/circuitboard/machine/HFR_core name = "HFR core (Machine Board)" icon_state = "engineering" - build_path = /obj/machinery/atmospherics/components/binary/hypertorus/core + build_path = /obj/machinery/atmospherics/components/unary/hypertorus/core req_components = list( /obj/item/stack/cable_coil = 10, /obj/item/stack/sheet/glass = 10, diff --git a/code/modules/atmospherics/machinery/components/fusion/hypertorus.dm b/code/modules/atmospherics/machinery/components/fusion/hypertorus.dm index c6f39442d81..bd8ce1071c4 100644 --- a/code/modules/atmospherics/machinery/components/fusion/hypertorus.dm +++ b/code/modules/atmospherics/machinery/components/fusion/hypertorus.dm @@ -92,9 +92,6 @@ return return ..() -/obj/machinery/atmospherics/components/unary/hypertorus/getNodeConnects() - return list(dir) - /obj/machinery/atmospherics/components/unary/hypertorus/default_change_direction_wrench(mob/user, obj/item/I) . = ..() if(.) @@ -147,37 +144,29 @@ icon_state_active = "moderator_input_active" circuit = /obj/item/circuitboard/machine/HFR_moderator_input -/obj/machinery/atmospherics/components/binary/hypertorus/core +/obj/machinery/atmospherics/components/unary/hypertorus/core name = "HFR core" desc = "This is the Hypertorus Fusion Reactor core, an advanced piece of technology to finely tune the reaction inside of the machine. It has I/O for cooling gases." icon = 'icons/obj/atmospherics/components/hypertorus.dmi' icon_state = "core_off" circuit = /obj/item/circuitboard/machine/HFR_core - pipe_flags = PIPING_ONE_PER_TURF | PIPING_DEFAULT_LAYER_ONLY - layer = OBJ_LAYER - density = TRUE - resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF use_power = IDLE_POWER_USE idle_power_usage = 50 ///Vars for the state of the icon of the object (open, off, active) - var/icon_state_open = "core_open" - var/icon_state_off = "core_off" - var/icon_state_active = "core_active" + icon_state_open = "core_open" + icon_state_off = "core_off" + icon_state_active = "core_active" /** * Processing checks */ - ///Checks if the machine state is active (all parts are connected) - var/active = FALSE ///Checks if the user has started the machine var/start_power = FALSE ///Checks for the cooling to start var/start_cooling = FALSE ///Checks for the fuel to be injected var/start_fuel = FALSE - ///Checks for fusion to have gone past the power level 0 - var/fusion_started = FALSE /** * Hypertorus internal objects and gasmixes @@ -317,7 +306,7 @@ ///Var used in the meltdown phase var/final_countdown = FALSE -/obj/machinery/atmospherics/components/binary/hypertorus/core/Initialize() +/obj/machinery/atmospherics/components/unary/hypertorus/core/Initialize() . = ..() internal_fusion = new internal_fusion.assert_gases(/datum/gas/hydrogen, /datum/gas/tritium) @@ -330,14 +319,7 @@ radio.recalculateChannels() investigate_log("has been created.", INVESTIGATE_HYPERTORUS) -/obj/machinery/atmospherics/components/binary/hypertorus/core/SetInitDirections() - switch(dir) - if(NORTH, SOUTH) - initialize_directions = EAST|WEST - if(EAST, WEST) - initialize_directions = NORTH|SOUTH - -/obj/machinery/atmospherics/components/binary/hypertorus/core/Destroy() +/obj/machinery/atmospherics/components/unary/hypertorus/core/Destroy() unregister_signals(TRUE) if(internal_fusion) internal_fusion = null @@ -359,68 +341,7 @@ QDEL_NULL(soundloop) return..() -/obj/machinery/atmospherics/components/binary/hypertorus/core/examine(mob/user) - . = ..() - . += "[src] can be rotated by first opening the panel with a screwdriver and then using a wrench on it." - -/obj/machinery/atmospherics/components/binary/hypertorus/core/update_icon() - . = ..() - if(panel_open) - icon_state = icon_state_open - else if(active) - icon_state = icon_state_active - else - icon_state = icon_state_off - -/obj/machinery/atmospherics/components/binary/hypertorus/core/getNodeConnects() - return list(turn(dir, 270), turn(dir, 90)) - -/obj/machinery/atmospherics/components/binary/hypertorus/core/can_be_node(obj/machinery/atmospherics/target) - if(anchored) - return ..() - return FALSE - -/obj/machinery/atmospherics/components/binary/hypertorus/core/attackby(obj/item/I, mob/user, params) - if(!fusion_started) - if(default_deconstruction_screwdriver(user, icon_state_open, icon_state_off, I)) - return - if(default_change_direction_wrench(user, I)) - return - if(default_deconstruction_crowbar(I)) - return - return ..() - -/obj/machinery/atmospherics/components/binary/hypertorus/core/default_change_direction_wrench(mob/user, obj/item/I) - . = ..() - if(!.) - return - if(!anchored) - return FALSE - var/obj/machinery/atmospherics/node1 = nodes[1] - var/obj/machinery/atmospherics/node2 = nodes[2] - if(node1) - node1.disconnect(src) - nodes[1] = null - nullifyPipenet(parents[1]) - if(node2) - node2.disconnect(src) - nodes[2] = null - nullifyPipenet(parents[1]) - - SetInitDirections() - atmosinit() - node1 = nodes[1] - if(node1) - node1.atmosinit() - node1.addMember(src) - node2 = nodes[2] - if(node2) - node2.atmosinit() - node2.addMember(src) - SSair.add_to_rebuild_queue(src) - return TRUE - -/obj/machinery/atmospherics/components/binary/hypertorus/core/proc/check_part_connectivity() +/obj/machinery/atmospherics/components/unary/hypertorus/core/proc/check_part_connectivity() . = TRUE if(!anchored || panel_open) return FALSE @@ -489,7 +410,7 @@ . = FALSE -/obj/machinery/atmospherics/components/binary/hypertorus/core/proc/activate(mob/living/user) +/obj/machinery/atmospherics/components/unary/hypertorus/core/proc/activate(mob/living/user) if(active) to_chat(user, "You already activated the machine.") return @@ -515,7 +436,7 @@ soundloop = new(list(src), TRUE) soundloop.volume = 5 -/obj/machinery/atmospherics/components/binary/hypertorus/core/proc/unregister_signals(only_signals = FALSE) +/obj/machinery/atmospherics/components/unary/hypertorus/core/proc/unregister_signals(only_signals = FALSE) UnregisterSignal(linked_interface, COMSIG_PARENT_QDELETING) UnregisterSignal(linked_input, COMSIG_PARENT_QDELETING) UnregisterSignal(linked_output, COMSIG_PARENT_QDELETING) @@ -525,7 +446,7 @@ if(!only_signals) deactivate() -/obj/machinery/atmospherics/components/binary/hypertorus/core/proc/deactivate() +/obj/machinery/atmospherics/components/unary/hypertorus/core/proc/deactivate() if(!active) return active = FALSE @@ -553,17 +474,17 @@ corners = null QDEL_NULL(soundloop) -/obj/machinery/atmospherics/components/binary/hypertorus/core/proc/check_fuel() +/obj/machinery/atmospherics/components/unary/hypertorus/core/proc/check_fuel() return (internal_fusion.gases[/datum/gas/tritium][MOLES] > FUSION_MOLE_THRESHOLD && internal_fusion.gases[/datum/gas/hydrogen][MOLES] > FUSION_MOLE_THRESHOLD) -/obj/machinery/atmospherics/components/binary/hypertorus/core/proc/check_power_use() +/obj/machinery/atmospherics/components/unary/hypertorus/core/proc/check_power_use() if(machine_stat & (NOPOWER|BROKEN)) return FALSE if(use_power == ACTIVE_POWER_USE) active_power_usage = ((power_level + 1) * MIN_POWER_USAGE) //Max around 350 KW return TRUE -/obj/machinery/atmospherics/components/binary/hypertorus/core/proc/get_status() +/obj/machinery/atmospherics/components/unary/hypertorus/core/proc/get_status() var/integrity = get_integrity() if(integrity < HYPERTORUS_MELTING_PERCENT) return HYPERTORUS_MELTING @@ -581,7 +502,7 @@ return HYPERTORUS_NOMINAL return HYPERTORUS_INACTIVE -/obj/machinery/atmospherics/components/binary/hypertorus/core/proc/alarm() +/obj/machinery/atmospherics/components/unary/hypertorus/core/proc/alarm() switch(get_status()) if(HYPERTORUS_MELTING) playsound(src, 'sound/misc/bloblarm.ogg', 100, FALSE, 40, 30, falloff_distance = 10) @@ -592,13 +513,13 @@ if(HYPERTORUS_WARNING) playsound(src, 'sound/machines/terminal_alert.ogg', 75) -/obj/machinery/atmospherics/components/binary/hypertorus/core/proc/get_integrity() +/obj/machinery/atmospherics/components/unary/hypertorus/core/proc/get_integrity() var/integrity = critical_threshold_proximity / melting_point integrity = round(100 - integrity * 100, 0.01) integrity = integrity < 0 ? 0 : integrity return integrity -/obj/machinery/atmospherics/components/binary/hypertorus/core/proc/check_alert() +/obj/machinery/atmospherics/components/unary/hypertorus/core/proc/check_alert() if(critical_threshold_proximity < warning_point) return if((REALTIMEOFDAY - lastwarning) / 10 >= WARNING_TIME_DELAY) @@ -623,7 +544,7 @@ if(critical_threshold_proximity > melting_point) countdown() -/obj/machinery/atmospherics/components/binary/hypertorus/core/proc/countdown() +/obj/machinery/atmospherics/components/unary/hypertorus/core/proc/countdown() set waitfor = FALSE if(final_countdown) // We're already doing it go away @@ -649,7 +570,7 @@ meltdown() -/obj/machinery/atmospherics/components/binary/hypertorus/core/proc/meltdown() +/obj/machinery/atmospherics/components/unary/hypertorus/core/proc/meltdown() explosion(loc, 0, 0, power_level * 5, power_level * 6, 1, 1) radiation_pulse(loc, power_level * 7000, (1 / (power_level + 5)), TRUE) empulse(loc, power_level * 5, power_level * 7) @@ -666,7 +587,7 @@ air_update_turf() qdel(src) -/obj/machinery/atmospherics/components/binary/hypertorus/core/process_atmos() +/obj/machinery/atmospherics/components/unary/hypertorus/core/process_atmos() /* *Pre-checks */ @@ -731,9 +652,8 @@ moderator_internal.temperature = max(moderator_internal.temperature + fusion_heat_amount / moderator_internal.heat_capacity(), TCMB) if(airs[1].total_moles() * 0.05 > MINIMUM_MOLE_COUNT) - var/datum/gas_mixture/cooling_in = airs[1] - var/datum/gas_mixture/cooling_out = airs[2] - var/datum/gas_mixture/cooling_remove = cooling_in.remove(0.05 * cooling_in.total_moles()) + var/datum/gas_mixture/cooling_port = airs[1] + var/datum/gas_mixture/cooling_remove = cooling_port.remove(0.05 * cooling_port.total_moles()) //Cooling of the moderator gases with the cooling loop in and out the core if(moderator_internal.total_moles() > 0) var/coolant_temperature_delta = cooling_remove.temperature - moderator_internal.temperature @@ -746,11 +666,11 @@ var/cooling_heat_amount = METALLIC_VOID_CONDUCTIVITY * coolant_temperature_delta * (cooling_remove.heat_capacity() * internal_fusion.heat_capacity() / (cooling_remove.heat_capacity() + internal_fusion.heat_capacity())) cooling_remove.temperature = max(cooling_remove.temperature - cooling_heat_amount / cooling_remove.heat_capacity(), TCMB) internal_fusion.temperature = max(internal_fusion.temperature + cooling_heat_amount / internal_fusion.heat_capacity(), TCMB) - cooling_out.merge(cooling_remove) + cooling_port.merge(cooling_remove) fusion_temperature = internal_fusion.temperature moderator_temperature = moderator_internal.temperature - coolant_temperature = airs[2].temperature + coolant_temperature = airs[1].temperature output_temperature = linked_output.airs[1].temperature //Set the power level of the fusion process @@ -792,7 +712,7 @@ buffer = linked_moderator.airs[1].remove(moderator_injection_rate * 0.1) moderator_internal.merge(buffer) -/obj/machinery/atmospherics/components/binary/hypertorus/core/process(delta_time) +/obj/machinery/atmospherics/components/unary/hypertorus/core/process(delta_time) fusion_process(delta_time) if(!active) return @@ -813,7 +733,7 @@ for(var/obj/machinery/hypertorus/corner/corner in corners) corner.fusion_started = FALSE -/obj/machinery/atmospherics/components/binary/hypertorus/core/proc/fusion_process(delta_time) +/obj/machinery/atmospherics/components/unary/hypertorus/core/proc/fusion_process(delta_time) //fusion: a terrible idea that was fun but broken. Now reworked to be less broken and more interesting. Again (and again, and again). Again! Again but with machine! //Fusion Rework Counter: Please increment this if you make a major overhaul to this system again. //7 reworks @@ -1248,7 +1168,7 @@ desc = "Interface for the HFR to control the flow of the reaction." icon_state = "interface_off" circuit = /obj/item/circuitboard/machine/HFR_interface - var/obj/machinery/atmospherics/components/binary/hypertorus/core/connected_core + var/obj/machinery/atmospherics/components/unary/hypertorus/core/connected_core icon_state_off = "interface_off" icon_state_open = "interface_open" icon_state_active = "interface_active" @@ -1261,7 +1181,7 @@ /obj/machinery/hypertorus/interface/multitool_act(mob/living/user, obj/item/I) . = ..() var/turf/T = get_step(src,turn(dir,180)) - var/obj/machinery/atmospherics/components/binary/hypertorus/core/centre = locate() in T + var/obj/machinery/atmospherics/components/unary/hypertorus/core/centre = locate() in T if(!centre || !centre.check_part_connectivity()) to_chat(user, "Check all parts and then try again.") @@ -1336,8 +1256,8 @@ data["internal_fusion_temperature"] = connected_core.fusion_temperature data["moderator_internal_temperature"] = connected_core.moderator_temperature - data["internal_output_temperature"] = connected_core.coolant_temperature - data["internal_coolant_temperature"] = connected_core.output_temperature + data["internal_output_temperature"] = connected_core.output_temperature + data["internal_coolant_temperature"] = connected_core.coolant_temperature data["waste_remove"] = connected_core.waste_remove data["filter_types"] = list() diff --git a/icons/obj/atmospherics/components/hypertorus.dmi b/icons/obj/atmospherics/components/hypertorus.dmi index 26c61062bcc3da62f77b429c5f8f6f9c02c3eb89..4e490cb4146a60c6c362ab8e9a6dc289a603dbe0 100644 GIT binary patch literal 71251 zcmZ^~1yoe;+WtR?gdhS^3Q|g^gdiQ#ozkgN(k(SeNQ2T1($YvvcY|~@baxIg%>Hk_ z=bW|P^Zwu8VzFk;!0dST^W67+eXjcnQBjh{!6LG7@SK2uddS>x+pFezKQb zV+X##Jv6kPB|bTQaI~~{wzRW_K-^Pv$A=2rU*n-IyPOgF+p?1Y%cZ~THFB`M1E0=? z;LPMGTq#3EJFjV(wxM)4mD!h6MN5=6_!U^=UyK<*tnam^|AsI-8)N zh3mXET!ZXaG&Mf@FN@!We0=*iVX%kq>0ah5lnjM|#GuHQQK@${6LnM${39|`gk`*^ zb{}7T*!7O=oRydVE=d)2u2vTu;9q#$;!cxP;4nlW!|sebnB7V^)j$YdC>wUB1Qmob zw+jNHg2+mUX}G8Er+Ip5Y*b&hIK4{Z@PB7&EZB`_YN|#+)omYy%PWRAS5;P{@<3t~ zt9j#QmoJ~fuZH$TMLs5$5b=*#D&z9}J3_PyOwuR858G+K&-gwQ@8qZ6e84qKlQe(Z zlip-bH{BQbFsTWdG@rgzn{hWkVmP8Z;xVN*m>~kgd2QzT2-`?V(#NXVFNNjgB&y!X z-Q*k0jk7tNeQf~F>0`gb+{GTW@a0k9W!?t@N+7Wz_vn+?bEEErlTV1{cCDyc!}jk2 z?6OAd>+5wW#4Or>_pLi&b1^l@+tUG+6JLMx*^c@>2MEeqSaed-4uy~hH#P~I#tS~j z&bui+yB{ej^P7`5yxk(wBnO_MCzVL5rP33d);$9Ml7=lAIaalPh#8BlbeBDNm4YjcC$Nq~ zj>qFM@PfS1>$FBw0HOREUm3OHynSC@08CUoF4(N4?-|~uDvknO5&ZS*AT>w z{Qki8R>oOpw?YkTA1y0ugwI{~6@!o6mB`G=C!{}_(I#-&s)br-V{2+usa~VdQR#Vk z%z`eZDm`_s>9Y)x%Y9m{8=+egFTjl*#PK3G&&#Tv9>+T^lxONvZ5Uts4Na8>_e>pddsh{>&B%f8j1)Ry;sT5SupON*g#x}5h|U>>+!zjeIxBr_rm z6hCR&g?gTP*CU%E*h2?_s}!i+j5zl19Y;d97kuqax10FDM#BD*Yp|W${<4w25rIkB z@^YJ2y|j)jbb1;Qw)Z*u+-04Dp6hoO;`dsh=85^|lpihK7-qOX8nC(Y}MZ`{zs>B_Lz! ze1z`b^!Ll{?vXLFvrEs?6V?tX%1{znRg=cab-BU3r)~35yD)nDcVVC5X$L?LC3G-G zS$NhO{d7G>`Hu(^zIHTpab)A=Tf9@$>~@!MeMI5)y$5P%2pqQC5eL}!kh^96W!eUx z5;(adr2IK)G~h2tL%Z3mwV8DO#12}SRH_}0=|>wv)BgTdsghgK{v^YIRq~+Zy< zxBc4};IqzO#KvO~7Ik&!nK*yqGmb>H@MS1f)z_Ehh$?4A;4ee@ymc*ZGXMlV7&fi( z-P-)nAp5YE3>)Bg#CX0k7Y<(Wvh=bChbj|V0e38m0oLE5>6Y4SEe65|z+|lyKn;f* zo%@y#+(pSJTw(!xW9$z|JkeS#fkj(ht7Qr%&v0O=5xLj}nXsda(nF6t5|Gsau<2K6uXnc8^z$x>m~TExfla+h4tB#sY={!)AKO zfV z(N<;DP(J@ZFKd~6^z~oN$FF+`2f7%fS2l-I7D*#sH_X)7 zs4;Jw-a7mZ82BeUd0ta4t|#d4EFLaWqM{tPSq&VlTc&-5IQ>oQ|wW7-v_XhFD?n==(3hU}xr z1-e%{g8KUVS7qm8!e8)3cg)F#lfDT(M+Sk{`1RxGz{RxcFAa^)S)KuaUImcWW;gjj4nc(<_`WUU^3l%ogMD(W&|>63_Sk|_{&CuP;J`+^ZLOOOYHd))`OV%s+fdhmD~uD4b8+F7 zPl#!+8;HhRnX4+dYX17!GZ7!JFb8;jeLWWJxKpnQpgN=6M~KvJ`FsT;nw;*ssuT3k zTJo=thLG>Bj$v63`1$r}FlVlMDbD2Q5ifgbtXi?*=DU5Ex!{= zG%-ERW!wrW95l(fvrCTkp+=P2$I3BheR&@IFyLrBJsgG&??qs|5&oX$9bq%S>Q@OS zFXeyE@#pqX8ZxuaNahpgFF~mzzBv(b9|>pTtg`CqSn5!xW3P#NA#D=6iw{d&+0`MS)U=GQX%-YDw*bEdVc*UhbfxN+4W6mL~}&A=YaVZw;RRWO5@ zo={i#s<>RxkBNO&+S5+Dv73OoQ7S{PbLoksa_Q%o1A<~+=_+&`uf8stkn;RR#UF|* z!$_qokLJLPWllS`b~i3RO-}OLx@P1X&+9(Sz4P` zfd<1nafde(1P<5a&s%~{u5>Bl93A=)7?jPgk%86|oIqO;%m7il?I+-I&Oo(JTS&q4 zID6%Uc&iKL{leX%{bsm%Mi?FiToEA$E~K1madD<{Z3H#}8q?S1A`K>PQXJO? za<-ON;3x^355w>1XKpC>!P=oM;{MPDzD!I^IU@S?6g}kWu?y^`pT;*BteQ(q@}lIG ze`(hvrfMd|7h*{tng@C2-c=PitT)BK1DhAO)JOIJy^SNC;*Z^&1ZejO{{lOI3& zwY(~cA_)HDCjF=An3y%&gO|>PM!z)VnnxBh`r$$m|E_laxnlXxqW>zD#V|c*45J4& z)h!>_pGD_?t5xCE|EVbxvRe~q7c&J(uM+Cp`H}CypLUB~P)vt1sfNUEyhlTfty_I-?Y9mT>{;-blf!+REtTHLfMV=QDJbWQI#KZ}rh zq}6?-g8<9Zilf>eghY4hnP(171p$`lGC+lH ziJJC@@#(x#Vosl{<***G_@QrhZv;z{)vz8ndLXo{CDI;MLvR_gym0Zh@BC&RBcp1Y zeQ$&YE6#5m~+Pf6JJ*K=u-pq$=Ho8mYGRU9=x3 z|5h;m*x>TqD(#`Bb=&*Tr?@;`L6f1n`R@p(&)`pr;>?NJ-$S@rv_*YzSA0&oj0n>o zlrMRRzB_EBNiyVB*F8h)|JP|S$eMNYJ4~vdIv@pikDp9q9K>>SOI%?pQDsq7HU&_- z8Adnbk^GsPdo!OT$xyMFU_?yZnEolsd`hepZlDtobJ7s`@0)sg2J?moQBnqg2h5pV zEvSFO@s-M15nNUF+DGq7#uvTHT_u{1C)F9Mu=?XIa}=dmWyizHMlI~?^$(|fu4t+6 z!@>Z&CzNZ>`myeOu(+qL?m5;&81Lf>R?9zY@4LZD1~x((fgaWcN-ha_bH*oR0|u}a zgf0uaibZ>9I8ekD{o}_O<&G7UFoSx(xpMMXxhH>$TsFZHuvu) znrU_$KlcwIWIsBuz#2H~=T8*hmb(KxjrZ@LQcy&;8D|z34@$3L?=;;@%m3&m#{R5q z_@_^wI=j2&XbrpMJYOO~dG!&I63l*D_K%3-1jN3v-wy;|#zr0aduFMWi1g^vKg$cY zVya+uit!P@hBg#|@S;P0$ZD`oQmHu1ovqBpM#Cc~9|99(?)d^(JA=AU7(h5N61~&a zCB3_eup^RageQyy8IM`0EZn!>TVqY6_ zasqN`X~Xr^I@=QcdA+Hb_&ovz=*`hRn$q!KNj(fmhY)9p@XOiSP<674SUXWb15Zwbirou_9!onv%HRL#Oe3DdZ z6N-t)1bpdh|5_fa!ok2?G&!bd#{-q~_HGJ?`Tr9v!Ql{s2jX+d1oM1=Rbog-tmT!W zgvhP87#1y;QI5QEf?M_M^OCBUw>IVP9^qam z$~1{0O)y@C|2r5i`rBP!>RmB!py~j_FUL5QIKUW{c|i3&vOgt-r+$*3Tvk>#amb9A zWu~VqtUXJ^!lK{-g7t;(Os51yc%gyBS0?+%BLaF;o)i@K+k@JW{pqN}IbE;<3ojAYBSR`VHt2*E!PcEREUiYa<`5vVxMaf?m*s+<_NiqTY3InB~RS74j|W;oLOth@1IPN z*}ze7;nDEMSZ<__-Qyvx(x|`TtXWlTsgVpkA6)GUH8UYO8yPnD>~|IW3>~(h}^a44}1WeD8C7)zlBbl{$g7Cj}oPd`?!H&V^k-4qWMRl{7GO# zi}t-P={_<6Gs{ws@)w@){0yJuZ{N_x#l>^9d~26H!a|KS!TWxT)bfANk>yB`i>Ye= zxnug2phxHF)1fhrX8dniYLsC`pbo7%O zMtaDH@c8_!hw^L#A737b5&V#PML8tg8`~IkeHQU?!tIwV2W=(GF4L1RG#Bk>PyEs9 z9;{?O!HyY*7LBzWJUsoochOjH88bif;ORS@e4})w(ZrYMmX@HZpK9_5jr(PmH2@9r zT#)J?7+_>$i{C}b&C45`nUPUYcpUmlz99IT_rADE=ynh7CPeu>lQ zZ8@J(O>e$hLNt;TEVgV-^3Fc=rAQpqix?+O$J z2mab9qkbQAt8;$r+hK}g{8j+6ZFIt0DhWJ;M3hphBi9~-!=gzi#(1FXQ5#@aJ0;gM zTT%^v8G=Bb?G>{)?mgw0oPB0g+mjM1-3SNOu)Pj^SYI1+t^34iMA%ohXye<^H`!Yh zjOi_hGIMgdpDOm{b;(D&d!zbQC+8CpU>)1uKLK5X3ZF>rO#UO|nFASknjZ0oLZvMj zD!V&iBbq;PaB!Zr2-VNt1DC`0sP|t0wli4eG_{3Ryj`t^P7q zy=Uf0d*U9t|K@X!kM}F@s1Xju4aUo(D6<>qXW0bpW0R^T)=m5kU&Q#0W}W#$yQCxS z?KVDdQ+fr~K0)}?c#{Ka*KZh_pa(}c$>>@_cNeI=LMjqqSua6;gN9Y&2VyCmIJ52z zM|@J!Il61|Hm&(LF9hLCR}9Rm4HNf)A$v@wrw?)U0!hX`i1v^qieWVwwRJ4P$v%pV zX$`7;Or(^b6EHk$J!UqsGtLZ=sYc)jnXv5^yzZMsqmb{S`tzr;Uy7Wl`?J)mSNaVp zj4_WqBT-fUsIQb4Epr;qs&@@lTo9%N(I}lSYhfRnRZx_g9k0RoSy4 zwn>I=-cDH%PJIuT>PKfWQ`n%}kJk;>ozO?|zFKq}i(DqFc40VDcU&~hZESpD-V`YJ znU>M6QS2m|_T#4u3@V2^56H0aEz3o}Cj&dXxk`r00uL|s3e$wu8>Rf1qvqRE$t(eX zT$SI>mO&>V=lF16aUsVukn6mto~M2Ei>?i6M9l9OH0}Y6+e!k90n-@_dm1cMPJSrxnsPzh^T#t^!7lV@Ld_ko3NT^9S2HJVT*TeQxln3xFjsm)$MM9 zXCu)yLV@kq<~v3x)ggD~dJjLD)=tO)L?WM^??mbAT3N1)e)g|-^PlIKckB>>(*%XV z<7M)9Jh6)U!a@}(sZ$*6a-6@{jL$`Xe}5`++>DWUyF`p-u4sJiG;$*Q4SPH4<*08% zRph#h%G=KmhLcGlu|Ix59-}^8nr|On5&77jzDB5k|5{qZ)~eL^ux{-Mp)Q*D&AC{S zX7;EBNcXTZ-n|>0L9+pi5A6gW{JLJs1UA~8i)oNFN){1DYJLmI`pfj!Y7(sEF@ie8 zz`&A>|5pbQohz?%?rS`J=dh!;@Gqpo$X1$@C_O`r#5`_E6=tov8-XHYz`C|3xS=&B z-3372S>Gnuq=E;q6g8o4eP!R2$Po8HgLJ2DEeu9>H&RT@GqAxnbl~9SyMJt5utSc> zyTkYkQPtn$Kzgp-U@+bDwxP{!RRqJN;%1BgQyE~9i3l?3kD)H;NDpCt!Xj;Sg<)MW zkmHM@T4ht;WJNtz7u`8zD8Ig*+Q*Qp1R*6uW6`W5FxMn{CCrb}T3^j<@s_^P4V<8E zm)4Lm8I!KB8<6PgS4@H@9J+tJZ@AMkun`?ej@*B}%uT=a_7S|nPh!W$3*>Vj zvU7Wmxwu4Zst*pAq06l#4b?#5vAsS2ujfK@>d|5<5KTG)`Yi>z>$l-=MZ{-vLV1l+ zv%AISE(u$FA->riP#M2IiFQvtNZXs5)y`XpwRWwNmC^I(A)K7i?K%Vx(dwo=mHK;S zUPeew+0BTqVuZvB>tazca@5Log>DR7)4bCVl+oVfwKncL-H84~e_7H0QGCUD_5ClJ zFsqr;cQ$1x)ikCQnR!_%n5kCpnz%$;?a=8q6?Q|bzEM(AD%;vNj&RfuMb0+ee)!*T zYXqmtMphFWGdsnrdHd>D?JcOq9UL62^c#4t-U_QJ*?D^*=XMOFz?`A?(-ExJzoq$I zykdgj5h@m8E%T9tb~cL|LFkJAw1J64$6?ibszjfW5#k#j{&=TpopjzM7#tUsw`pLy z=YIY?;9!A~Q528R@bqMT6U)BPzsiMCf;7$t%O1RWnnZ;`qu&ojZw$TA${q;vnL9e6 zedH$n8Sq}wxLRIu_2vQrE=S@O2QhEqdmNnqaYxPi!XO336|Kd&3#*jzXk}#`^RVep z`Z4po`%45CAUqM;v0}Xa_a_40BQ9g2u8sgD1jOrnRGQ|6+%hEr(8esu?-OU54J3TN zX0k#9(fQ8N%}x9^6a>6w*bFa0g>8cLECRC7?DxNZIPR7$e2XQzK2xE6a7j$*D-;5x z@0VKsJ}s4|Tf|v2hcIYk5VbDMR_Zx_l_ZVuVS5dc%=*d{6GAkQ zp#F*Tnvv365$A_g_WJJGpH`{W;$LFVpUbxRJz$}rrDbY0X?P;WLim{NSirnwGSsI0 zNq6mw>v)${@5m&w6zdjm93Vf~_M*`S3iA-rl@Yz<#m9~Io9^v3OBXOM0_qNfO7r~z1nb$s)4b{Z* zg?JBD{~Sv)?zzeYFV|RG9HWcrv)_{S_x8pU{p~ZMS7nMTW}7%$l?W@pbvq??#3keq z74gk7&yYM=J7O`Y@VmM3K!5y9G>$L43Q&w0Qx1R;MXFg!j{8BY-uyU0ZN&fsjoEzk z!ty@!`zmvs+~JoU3TILrk!nCg4rpI=%O1D*8_*Aj(IXm$_-2?t_bFcmh`kCB3+sR2 zKW&PlEOU0~^$hur?vSt}v+U7lF?UubqvxKh-i3l?v!AEz-N3XTS4|keYO3P?);3NK z6ZPr^dnv1;$m@uO{CC$A{O@|5|8hTG2nEbVy*a{V*3g|LakDByO_s%b|L{IWNP-El zuCP$|y{H@P4il1MhM7_3_1`#BSPq0f7@vhz!1 znMB%$?Esx5=Ioc?rV-W4wc04kp*Oz*5N|ew#HIn`uG&g+&!#|&$v2!_Ta`9?Y;U~L zO^eFtxvOxKgaXPs^MQ1&=PhgS)edio4LV3)R`UQqKl3#UwEPa@AD(Zp)a!Aw zsY45so8Q`Lm~uM9F85*>e2Bkmd&#n7Y8c#wI4>uU z^S{qSl3iRa_KX|($bR|4=Ns#nQ>{V6{^ZO|%Z8muN_pjfLRRG}ElgZ`X)n7{sNGsE zJtx2k2+aao{TN_jOKnB$3wuWvKo#IAbR?;zHPs)7{ADjV>#i#wh}zyg1+H1;5@qaP z_Wd^DWdk3yyB6Vj5B${qF4p*b6dfLNrQHU^inx5I%X{E>lk?zdBXmhawA+}%>OZ{z zQm;OTzVgKkM`ztFkQ8U4ih5aiK*FlyGW6S|2PB!oP#^P3?sZrMSQ^47BzdKIwDceh8U8%J3Y)O)$ItxEm-6%SARu1N>z z*lvG?dapSdzA)}ughj~Zif4}+*Uqn;3V0E;JZ)HHvqXOXj>SR@v@3iK4TlMX?AZOX z9+UcK+Z5=iCtSA(9m~tf*=v{3e3wp6G_G10d>`P535H6IC)A(bacU;QEn%h#usKYw zQq#RjhLyTMH3QV}nghKjD@y}Ki)bccbulfg1rF~0V*A+zRaNu-VuKUV@cMRzQb(RV zN3t*efvxBkk|>%Q8ZspN{TFW!k8^0C_{=G6(yC`RIRD|#V*kac%|S*D>nbZKz^ve8uHLqp7y>%f&a~a;irLDDi}qO?q{D-mcC+yH@u^cSGu6^ zz=kA1piSS9G1Ayu|AoEWZ&&_oXWd;AckI>N9W*V&ckj5j;`|0w9os;_O&3TN`ev|; z^EW=d@=a1UTLN~j8soKakPm-s7Kh~97f*ia+evgv3}?XlMzf{+mRfWRE0*RIsn*;c z1N*a;YJ36oHp=J*fIsGQk)g~FBZQFw{O18#cp?xSbOnqwOu+)U%Wdw`FC8Nv@j$^xBpGJVUKnxlQl zo^h2=-YFi){{M-bB1*_p@}~B*7%tQ%L)Zcuy(Ln>B`bi5$^bT0{XOi2?p{#;}VC*O(%s>B_ z>A*noie+?xPiL#rT|Pr0xpJWM18E7hG$NoJB#JWxwxg& zRdG*eRWRvv3TusH8QvFZVtuy0nd6>Y`!8@_doJ|+xyWm;6L?1uE|(9&9h4BDLSt0V zdkwx3@w4l>zXFh+0|$XHRs6Fj-@big@@1>0{j&r14*d104?o1CCTll_5E?&UGsl^k0I)o>bq@6BzfN# z%+=2&2le~%4+I)1A0isHoXkB2qR_H+xyzDpYlSl}(xbW@D_vWEP-$*6qwDn6L4 zZnw?fVItKpF(qne%P-{&zIK>r;sX*yLa9Njag~01*W<}dO@$dJeYqmmczq&upZtU2 ze6Wr<p@<$_)oi~A8oG;(rse~MR}932AepKyxkNKs{D8sJg<>h1s-cEj?+s0-e+&-r(J0u)^m~fqN zjdAb3rEeJRkg>BhvokVM{}hY@^MWJ4HGV~0O0P0yU%5e$eUU~%dq=JY%rxRric-*` zZWuqy<7~08S?g}M51Qs(Ce>()-RL!s(h!c&OX=&+uim5DV z@G0Ok?;v+L;6*r*b0fqUTfI$psc~Ssh!v3Ij!bWf%IvlrDAdTYMBlzt&EZ3gdj@b0jS23!5n7bEpuiGxjsw`zLuTuP|~9EA5}&yFhe0 z5D$Fa%1vGeA;|;r1ILQrjRzrmI0uE3?zHkLaAV5+>Qx}; z?|F3ywaXWfDNC2ZrfqM**&Z7k>uzO2SncWMChP26r6KYP??kcdr`j)fx6lx`BEvvW z6W^_?6q8{vz`odF0_L4+E7J~+F&{4os%(n%!dncwp($7vU=$1G<+X97r%C2RQ`2m! zI$$h*TdvO(s_}`_fs=h?&EH_~c%VpCn$?uKQkJSrorIpAzK1*|k>MJu&MLq_wj9w7 zR`N9gT+HOey3?<+^$ZWi7;@;x)TZsR)4^lbt0}q|cti0j$e-ze2wt+!ULS z5U}tQSScEfnRW?hQlhW{ywo14bM6BDPMp0toW8gUEz5mOF* zGvd5!<^C0&aa3PRoAgc1kR#`8t?sUsF{JY_RWbNyBsiMs&g(|MIqT=nJ~R9kB=@v7 zeF>pFT*O{Zi1c1+{L+|4oAaTpu;fCy=a8$2GiAuf#x1Woh#eqs!>TW}{e+}H)Ii4o zID|%81d#&tr*OOMyGtd}Muxe1J?(gX#lnrK^D>CuK4)|kHtmOT8R`>%iPxBK2GN}A zQbAV)SCQ^8Dh#`-#itHDseDewcb1qC5TB{)U9P@S@@_u%FGvP^L3{U(j`)O_VJMXiVIh@wtFY@O> zs}g)}&a&=9D9Syb$&;zw+a62s&p-T6Pm*7+oQU^Hn%7$A_66I}7MeY%1 z=QTdaH~K?S2N=DpG+wuLW0SQ~OCspUEqgwqw;mLHfh z^PYfFyMqe z;&HSei>i%@?R<;r-|U9RuD?l=G2AkWz8c|;R)yu#b;S<;E+|@xZbZknM{7@sUDv#+ zO%qM$?wxCpGFUNs_V(+LL`o=}vLeEG(}+c8a{!nYiK6oEX{zN0PT>hXP|r1y<+^v3 zv*EIz-jNf1TU2A#KPQ#0T+}HOe18&S)H-_=N1@@tVJk zGu{yKzAd?*v>PWdFeYMo@sd`(Wg-6c0fLpUep>Ix`*byX)-L8ZbrR^@sX3p13^HBn z`arLc+M5CU5)@@dDUqE*FWKsA?*yX8ol2=`+@LPMQ9Lx4uU9)DfArf#?sM(O(8=0h zW7|r_(`r>-6dLn~y_rfYlnX~Md0q6{x9|u8X?t8+X~Na?&egFRHk31Zkqw#$EBxOS z;t=`&vJPbF>eF;vK1{|pdA+e9(k+@C2l9IjE2a1WyPTsFzPw+88#<}HoKo}>=)bbt zXFObZaBF{K&P6{Y0NVWoYH@(}RY6WbQGxW#-`Hi&={U9!g+=H&nU9zi zkM_1-)j(c%!Cz}8zD^lRn{&>c+R2&i0u8MsQ+`yzF750e^%Rd`PI%^`ns2-Xs!)_x zoaJ~|_)-+D>{gYi$7m)`rC)rjFUW4EQ6~}PBJ#J`^|0e{(Rfz&#f(nTj?Q69{lATY z5yfwYRH}mi?F%IIl9<0G@i`AO^M0|H6k*J*#$(L!frEk4i>ReKg&!FpQPo6Ohn6)oxrY%q>*aV== zsV@p83_-WHJc_kcad%n}(; zSkU8M1k~vINTfu>k};2B1qvW>A1!jk-PB`Xf-mbXUPo};8MOTAJz9dt4_OZi9Li0v z9fkYsD-iWt#&BGewgAnbA`b7*Yn}6UPPqsy2ylH0tqD09FhV}{1>9FeAnpR2HdzTd z+0F6?=9?k@b|AEUo5x>{bIJ11L&3g@>lnvyS+PJ%$i2L(!wsbC+j~e~R@bB|V}{Tg z*2-Gqml4de3;Ssy!8#vN{wJM(sur3`_C`*QeYLPKTAXYg&-4&whcx(3i-y!bVQPh~ z#Gm`9`WI)?OuZAm`)lmH$1C*&Qm*c{>mU|H`JU1I?7?}0TOiPHP5tbwtBkHHg!&Yi z_dG*!7hn#C8#QF9Bj(4JXq|f|^df;WbII4YX@}1NBS6sa`~ZfFR8I3Njw2FkZ>c#p zulx1Nxkm#W{N*{;4ru0@h%w0vs%t?>N@I|D3x831hMDnkg2Q3!_PcO27yx5&@XYij zKeqVji`Aj1tE+?hl(m0*G@Gb-hxX;|#jE{gCN+h=G4b^of+KnVqnL31v8miv_Z;#% z(<)I0xDLHIaADO-V4`}!6A&lTAy@$#W zkQvffmxYH*fRJ>h_)$AVdrye|(?=T6bp>fU6_{n^C|S|I+nW9hw9mEx233g15Sx{e zVD2U3yKgwf+RggOvmxGu-kTtFOIF1J$@CRHZMA0v*hv8-;f@j`ixrVwU({O>S{vBY zrR2z~BNDSau_5TnNcoWWRs5QWH@bxDI9wU#P&OzsbPdpCDr zaK)2I;7R?mL`MFiTG$jpZkEhG^I+?VM1*$9zODx^TK|T16KU60QBxd-+rb>#Un}l# z!b5oQaeZM;yjYl9`C!bWE3%?VF3|RB(5Qp|kfPNs(mX{$CFg7tqnfa&lnuG)B!dKy zl}uvznje2H*RgFcBohzb4!P2)bkY}Lt`-qO=L_~gU$6jsYQfx0LWrwjI7tRza|XMCAE^+g;vJ~6ZhU;o7JYn7q$rxAgkje9 zqSWys&eaC>#pY`W*qUTfan}(P2*c=p{LmPz%3io!5Df~GNB?5}lP>DMEz1|&>9j9O zs4#cv1sT5fqF;i5k==ImA+dThT-a-Giz2f>wmo!1JQNF-GNPmYE@zY>>Bf-2odz@z zL4117%+R`8FWZIk8nn5B1O3|2e71_Kb`S^iVNJs zeIF`&WLHoWLtA&t_5(uUD|CPtF;WufWGnxt9dtsER@gUrwO!vXe-;>6Ei#krv3m;-kc;cBALx{RO~$dl#fr`Xllp&(69-?Z9%pUXE7aA zIi}Md3did%kZA;k@G74qQ=k%tl^@JzxXn;!Af-5ZcXq~^f5)tCIjzE%KF7sP_%T3D z;1+7~eL9$1DH|(>JNq>59}oU48BA|(TDI+mI`U#OFVU|x90|=$vh2QqjUem7~{w#kgzpq5TQ^WRymjOiw(_wr+CiWXyC45V6PKW&04Z7+t+7z~gP4LT~ zjCE>IDP?F-QDoF6V$r}X2%mC3{W_W{NnVW^)b(;PxcV+D_bZtUVfY|)`kJJY8@$(l zP+c2vz>OSNQ}|d?yiJUp*A%_qyk^N|?l|*Z$<^@<*cMXpL`ZgZ)9Cy05;5ak$JIlx zS8AD``xsDK7HhNi7wQQ>!w-zKE8EAEYT%*+Z5_2t{o&+Q%)H5iM-0G(!d6e>z>u}1 z!ps&e4wa23UzFOREIOP=Jsh_Ztm+CnCUdMs6D@=LASdulZ-o!OVqqB_8s_h?*QYFH z8Ae_ymgN^z#Ue<2#H}~z6C5M{9gD!TDZVu&fe z>w=Y$S;{jQ+jcpPF8|J{)z#Q(Q zD?`HrHcYT#4?!dy;SY8IoZom8#>Kl9`UEjF?<|||igfFn&}s3JsnWq9@Fc_$ui zp2|5q+*@1qRo8Gg6G*Gy`G@42=I&g5!7`O}GGwfKF*op#_Uwo?2;38qiWpb}Hc!fW zM@H-}dhRg{E;&zlQ=x3}IpM1tutzGq`&Z&nhFq93n4+Y-oQK)@mO!~K!!VMam6bI< ziFQvu!JUNq!AV0KicTm$$EAaS?_k3QSeVO){qVSZrjUoa;Q6ImBi0I}rJ+jc`{$1z z=(2@)f+~Qq>0zsHF}7NP$v99&f^z=fz+cJ7%BObPb0fh4 zRuf8p2IB`zJ)YxTmVlcrNI;Q%M1h>I@|8Hq52f(!aLm;qwZ(IVOOZx^?!CrJ37K7C zr3(YIjr_}GC>YW+m}yp;SOwkMQyygJR_%i`&A4=XCep&l(qmNO^u>E-wuGYD6LOq4 zM6@Nk4C%QcVeiNdCw@8MXmp-^wt$ZbHQPqL)(ayW-91TLF)Aj5a=}Rqs5ybOnDpg) zv==iU0YpXu?}=2v{i6bmj3Mp8&jsz?w%NO?@Q4=3XrBixqY^rig*fbgP;O+GJhJfS zAJsXzE7OQs;zFGp{pe=rpWmwvD)w(ihC^p7--}WelYNYWLQSgant>4!*TK8WsPI8> z6DYVTt1<~YEqx`TyV zJqpPap=v26C@0m#swCIK~I4!qrXziM;`T1GXxK^MY(`k|4L zo8{DLap`q-4pY>5Ct%0iPb{~az@=Gd{{6V6Kl=t3KS4&k+ z0EmW!%>0^<+ryRYPIr~?742c4so9X9NadanKWQedl1u&y&r>Dg{hE6)e8u(Eh>@}v zOb;Llb`Haq*aS91z^4s;eO6|TqfKZ@{Wp_H%~bnyZh#Xw)i^nSKd&pm2frdC{w4ik z>C_IwbiL~ee{1Bb;E_j>jQn&K*!&Lq5r&MEGuGW(?|aRIkQ-E`mEKe3wC3JrSvf>F6En0wUT&& zYi2MWmK*&E0IdaZkqC`a7+1{}PzWY!VcL+FaQysVYt4F+aZ2zVZjJln*1(a9mBu{q z8zTEabI?W$6hwF4^AFg8+*}|E9cct^JWF)oz$aJi7YO)*{=e-BK0@~H+hnKrGbYwm zF2#}3S~*2@b@QwNNN`JqnK8zEwvB;6940yY$M20G+tKw_7nX1-+E1m5h4f4FUu$` zPV%$gS-cUTzAib1l|Haa4puq`LPqgci|)JTTr1Rm{s8NbD8rVr#bH`nTCgBk{T1lo zq^=5=1D%Z6jW?i^@xB0bGCU{d8@;b>wlPK}+y-p-;w8$a&%jP~7L4?SQx>9O5p1{< z#E-JhQoOqqyi%(B{*7jYR``&a4VwKlYU^f7JAnG`8yt-$n9PBaAAy$}6)!h!sDb_x zXc25ZU zGXCA=e2nEH`hWT!JW-2aM*}M|zmhLYR0cTN%u_rJkl@PqRmToXtl7dJtI024ZFSt4 z(@IiE9UM4=8wYC8fc+u{x)|Fm0A(JKX6YFY^39Nt5bN3BT}Qmtx{8BGUP>B|q$6Lf z^!|7?7Vff8=KyZpM*&zPfV@@5dfOW~;C;@ew(;JjPFENEDLo~4CzorK%i;=G$GDz% zYA30wTuJpuHYfAJg^`*BVEB8m!Qx|d2Km6e^f(xBWzDP^`&oAHtstU637O<$oUCz; z`(OYy&XQq+=pDaEx!I4G* zocGT*ht>|N#rZG6ogm;_;Yy~8nHW2p$jEO#a+W)aba@9~9^#p`-uw}f3HvcLXc85? z^S9w8`37_@UD}oz3EUhuK)lZ8-Fe<1Sg0D`e4digZnhaf@FwITL|VM+Z@*H%vwe<4 zX{oT`Ndf(E8n=sQ=n@htItGenW}AwXfN2DEL-mwh%l9L*zj=<8*H>Mx6K~6dCdCu4 z^ifw@hVt3>O`vY`ioyhTne{CYMrKp@84187rnlkr~Gl-`HBY7x@x zvh*N0LuXxTQ`Iv1NzqU!D^~bSS&V7v{Ii~5t>_J{;k$zcR+h6Ii6bMFnwd{DlqA6< z^{rGBd|{-a0DEuj-gWlL8QB+8wMF>ez(u_eee3-wSIrFh_#rx=ZbUo*?XVsqMAyqsLi9| zg`3V78$}`z*G+vyWp#|q%vTHE8>g=D*DjN{f(X*Ui?Sa%Y?tTVn$Z9`|A$3V|DCth z_eKv#iJ<2EI>^z>%I`z){ww;}1C%JB4=G(;T0MV8>Jte5C;AX+#bLOGKqwf)antEJ z>uX<_O{!DbD!#w@TQ_Xbuvk&*DU#ibfUSy^0?+nC>8_HwFove@I+C!wC|s)nP_$8# z(mXW$HZhreBPb6l%Bzs9vQ#9Seap)j&tI4BN`21q34umlp2;$mm}Rw`?`d4H@LkSRM*Wd!hgR^ECr2pk-}a0AOi1 zkyJQXN~uG^75DT*d&PfcBicSY_wAeU-qk!G+eMLl#35ywz^5HL2tvm__vm;5d9l$N zyGS7s7rHu(K+>Y*Y5_1SMxqh7EIg2S6o^spH)086WFH_thbcs-Og>U~!V(Mr2Jl!e zFe95N#kcayCF1zRk&Wo@z&5o=1R_FRD#CJ~gX|j^39}ysJq)|}vhGL%sYiR`@Um{< z7=17H{sEFyhWQ9NN7m50#M2UnNqlW{J{3f8vD0bFDFDd4PC)U?c{A51!DM__!nDi~ zVU3sC<&;hmV!f`cfSO-V<&&rFGwV0KMxT~;+r0Ga*X=L?q^i>^elXHQmM*~hmkw1r z2aYWUg`SMPRK*Ii)?c+NX_s%|pJ;=!Gx3 z5r#t1U1qRvgRrnoFAq_f5nz&9J4(u1859zDfj0Y6_51`&#rrD=CJUeo2hl#o2|hZ< zg3X4L)6y7CsuHg7{7XL7nb}(NQH3Dj#NZvnn?zs1uAEBvbpb?V_C#}H{O^37;ptZ& zQ`PgD+AEnoJzJ#L55WbPZ<(4eD$25->Y8>o9EHPJuiAn3v9=_*x9Nw8m&ztGemx8j89~?I+)l?kM zYu%6Er_CC}e;Bp>jsLeLm~s~Y5meDGdet)mjO@>WoqyFP|10m@l0)RB@2Qh~pb;C} z5l{&&9J{WU@19&)RQ{b#t>!k1uzfhERXms_hp%|_M`t@Ktq-d3VHtW?|73kY>UR*1 z6(|6#sMO0yWiH|+UoUdh<@H_rh5nb|*Mt@J=jck>@t5Yu?)?UpY-yDt1NFl<$SXRx zh$RU`IcuH!2H1SW`XgTqep+<|;pQU04lmew9DZ%YF~luwEhT4by?~0c@|PJ)9LEX65oeWyoptkU z*Xp<3BBvVMf7u0q6OqIor2S^2v@@A$VWbFYLT6Y8m(j>_%eT5*${i~kEh=0L+^8_? z$@HHW>TQweVEl8|ww5=l%VFDQrfP@U>J25$M4vt|3p2oD^X*WwgDtqF+l3inO?Wnq zYAX+uxxEOo>ApCTf^E0A{`+jlAuPgPLr`V0o=eFki6MFxTNDE|kV2i?Fzq;0T`m5l zZbHT1rkbd{;uQ@H&uQKZ5iZ$?hzRNY>8N3gSK{K?UpVwqS_`xF>TKK)EBBhMPL$Yq zzues(-Uv&>+qY5pvu(QdjOL3;<9sB<>lqn8Q!92r&vq;4c26evfp02Kk!n%Svni=O z(5z02VaCO$9*$)rQU@Rj20nGci63<`gakBiO*@d7n9 zHGx9|&^`=h*oJQ&2G4pUqG?)~jtaDOViT%0$JKp=Ce ziZCTbWNWeHT$VAGvw;7>fS}uFWqB-6K_e!I3#{@p_NJwUZQ(c7+wbTF>miO1W1oO{ z6JTaScow11oo2CIU=Yhc?Exd@3-jThH)Q!j-N+3_MYH4iLUia>b{-vH(pHoKJk##e zfHbgrM87{3R+b6%$6PDpjhgvI@0Se~ch$JB1W#j7BUH78kuS6!po8G0M(cqaOZ=!o zzD=uun?IWC0oSUXU6F}k2{S&>dUwH!wwW1EW{kp1MB(x&57%@vFfD9TcKCe1Ur|AK zZrP(K`hvlHUF;ko@Ex#@V)VK~bH_q^fmOXi)}V2%r7Rd`0uh(9+(BryQ?>-mOdE8z z{GEVOc8rZZyi18dVTQ$XPi|2m3V2H8lXoCN=caJyrcc*BX1aKWkwb{nuQ5oAU7pev zi7}TTqNO16V9AtAkl&Sw_Zso-?Sk3krz%uBy9uIgxRb!rl!_;Q;Qi%-@AZ$i&teaR z>pUm)2O>)o&*CWePG43(XU4D}HSy+q?M`~;;6T{#$#M3oiN(?d&FPw0ac83Ci&8q+< zB_=9I^)7;{LxD&o*VR?DTt4Syw9A4`r?iJ}k2$(OU<1@o3ksB}CI#yU*+It(Bi6dOf54 zrr=MH$j@#fHK7}9a9T`oW@U44!+;q#l2#mHK8%wTsRKHOjx-PqR^&M$vL>6n;?aZS z(dP{%zj}i_7>#gY`T&#rQom`YVg3y|zMfps-LoC!mvlmn$KI5h_AL&db#-^nL^{zC*jJ`;6fGXHW{uR`+9q&L3ew7%eFLPj3R}tzbs!l92@{b1B0qLl4gPrFr73jtgK3Lv59R(Va2;vB}d2X7m{C8U6tfe z*9gt6TIv zpJEGbFTSTMmS=knD8<4FNi-D6>j#qWXD0X^Luj=t9W4I5=f@$HC+vKK%{boQ&+nO( zO9ljJGXF}FU%v&B6+y-=4J4bEFUI1{frj;tp;w_VO`aA4?YE`8Dz{0tR)fPExA_Rv zB?7Qbl+WY+qunbwb3FynqSB9i$2J{yYO-n?EGdcrr}tH-mzunNd<<3oB{o4liJs2>?l{^d#h^~VTs z#7^jT@pBUJ({~5Q3-y&O`M|&@*+fj%q6qMy%$m~K^bcGtIWg8%FyblTqJREkOa0G& z8#*>gcsRITjda8>4h<3U2|KJ*5jux6{%$O$KK#Ao-Wx^{(vTdaU9m)PR>+0zzDoZ^ zQmxqQPf$4o8D-I!^lV_4OXw%#vL^? zt%+-c9qeFlKOq3dKw@EO^Lt?64S?KqnF=KKO$X8&8(A3-nvTpKW5Nq?~Ktk41~I848N)6T@uuh^16!-*+#??gB8gp$kY3 zK^hEe1rU7O*O}flM|nGSbEQvQE3NTgjX3_;off}xma>af32OX0(Nyxd(VN(VxR#)D z=Xset1$QoR{*FNXEi;;&)*ZGe(8kx#wHAyJG50_X@|vN#gVPtKq<*VI$t3BI_*%#Q zqy9yjSapVTjtPx5E>?sQhY##_*jDfogMtz<=N&Se^$^dzV z(L4u_AFUFy{Jr73CzzPXxTi&6b}Q%m#aKFjJZgmlE|B~J;j;X4VNtIqb}LwX_2SGY z3IzPyYJJzB1U!Bkm$6aJjts?`E4P_X%WhtiR-1Vqzh{j^yMmtg^}&m?mu2IfVgAj1BUUY1MmyW( zj*1^0Dtp~sddsb?(TGK%uB(1`t;L&;S4mX)Z;YZgqm&ZVH8Gq^WyhHDXv$I}|HRYt z#8U2?uG`zErfGP|(&0j@*<3xq=g&Q!N5v9yoNYD4Q+}arZFowFv1})J4qt0C>;HT3 zv!51C!I;%TFgjrFLPV)NTSIgh;y50TAA=JO{#yh@Fjm4$1X-eMmw~5-nN?g!f!6Fn zt{{3SZlp|se(v7ZIMCl#88OmYQXSX)Vt(0^FR9UZ3n5?8`;u?s{V0T}XvwvCRHi^s zz6i$~hNmR|oPyjW^voB1p!?Od5r8(75+Q18t*NBmf;+C_6?2kvp~I{W_r-<&vV@T<~jKoOrFW8cBE@V~p_;+wtM)nJ%H`0Z~_W zd)Q^@!+n#j-Qza4X*~YXb%% zAjQMUZ_8)nIIIhS}hjt*{Q6 zV%N2%p}dZGU|Bdy7~XhF@7w7>ST?@5i{tz&50tdc!Wh-Dt1z~Hd`x&$ za>9FKwuCBrx{R|acePi~Wy23;w6?{HYPG2QDUN#PPx5}Ebv=LH1?YgI-|4Q!8i3Qg zJMFhe*CH>#$hch_DXNsm(oM_1_NHC832M}a(_+&^nxU0r1gIgmtg#x52&xG3{4 z1LZ;kBcluOW~Khc_j@iEkT~gN5F3X!svvUG&9E{v=$9iu8wbzAC}ay~!iPk2 zDaGQ*C~Paghat7c1ozB&y(UkH3|{aRbIRuSenxi| zfO%X^GB%L~eik~cYI=*D3rlr%bQt{XR)=)YFW|T3jl)9L6HJvPlp2^&cdP z$qqL&me&X8Pb@$l$WzRCEe3y`&s0t}lV`4Y@o$>PM$!fdP%Vu^huD9ueFk^zpd;?; zdIty?+JA(8aXKJ`G(eU4Io8dpC8k?bq?I682V^$q9x76(Ke@e&@rfjfkKPs zH?An$GUkpICXgLEN=sK37_dXjTGIX!+>sQ84c^(8{jzspC%SqmQ~XR&{|!C9sYc4p zkPNj8FGrp6t0%%Y)*8ysF4A97hpJ#IXmgF45nye>1CI&Z--w3&n490FNBt0m{i`rR zd+6>ux|`SXnTwKZ(2KG;bbHc2SPgEDQ7z&6UQ_R|Q|B~PH00HolL$lV$0>4=P@+}d z3#Cxc`1H~C*&Dq5_Nv^OHCf^q#0)Q|Tj{sryzsWNVx2QwnMB#h3ioY#pSADKc=0XQ4^80W~APq3O^FCq$S_u0)1`KbV-T1L~}v++KA~KQN9yuG&Hqn|J|{d?|4w@M_zYQJZ=c2 zVT?fn{8D*}D$5CPMp5A*S{4`#{iQ>_FE7nn9mzqx z5Bu$a_3!cgpk=|7GWGJ`j~ssF!4T)%I^+1K^M}$ckmP-3ZB0peL2#giH~V#!M*)zB zusGnu*$?WSU=hx|AC)NtIv8xAw9?3MM1iS`)|0!J?*{<8fY5&Y*ctVFo+H}~OIH+d z6^bHx=|qIcVD3Nm>^eL?KHf;eH+fOA+Z?;ANNDrDFPm3zeDD3+-{;FMkiR4z)c9R3 z#`;^x!$U2Yj?#<>>BEUcU>u>&xE@iWHL z#HuHH7vxl)_Mbv7Z%&A+fBJb1C07rGFtRH(zhn4K$#3q=n{3}H!2AqqL}oA2{Mq}9 zkX28d0Y1yk;qvrQ^pBYNC06T|Ry$X21Q7TJWrA<&s3MF9AAf*yd}ZV_lv%X?nbS@VV}S>p zEV`>jpAQ*_(K6X=cWraiM_^B8@T|V3zepr<+ppTt1;t(b6$pNC6!HlQuHSYvJbk>#+iDx}CTC!S2*lLH$ zsl)3>?L^>TyVqMkkKqy}S31N2z{Lswy(0iPA9(A&Za8qvq-=Ne$iZPSWmBlbbmHv? zeu}{2J2SSIutA=eFb1f?1t}D7-1l)N@`a|YT8{ba1!Q(3EvTro)L{)VKoDyG>`sBY z(m5CHLdo_>oo_U-+U%vNl5g#%C$wCVinvB{RSLZ6Q`ON4I(Cvm%H->15{%S=VjQ~@ z7iZ;h%#0oy1$-%7h@>N&Mr7=V8?B`s964pWTtadNv@J_RrJrt6K4SPrXcs?s_P9=q z0{^j5nL4Y5j$x~t~&!=>6( z5Lhohm{YeyOOX=#6?pT~{SH#)*g);Q_O5Ys(7;@nMvg(ZlEN0jE*4SN{HxQ9 zd>Jg?gn@03>k#_oZ*JRc)2ElVQZ%gp9-sMpX5sAnCWMK0Z(M4b%qy11)|XwcDe}?% z)Dj$Q-`%BPMMQXzlBD>YQQ0CN#PT)US|{smZ#*Nnx)+fX-_ovz@~VCz?UxCFPWE-X zY=U;TVm85+o3!MJu-MswI8!=HCI+4UK z{xhS_G-U=AGA{tAb$kB7H&Rm0!uMY!!qhb}syf>A87$-%o6rw7=O%|pcqpGXHz2|cn3_yHg^7BT5a<6f!@LrfL^2d8)y-{XIyRW+h3FAM@@(oe^F$`AZCu@&f68WPq0 zudaiQRk)CFv&!|=s@tQ!h54(5eERKCMNc2lYsm}%uzeNFog`EFmoSWUO!(FpOnCof z8#?&-2rAz?dT?Dt4nisOvDlH{_`cMna3cMQ=*_8hD>Xi|Y+ zGN_Ju9OsAuXAG$^bNAa_UR(@qM4$Nf73r9o)veU{`e9;aCfUdMG^Av(-u?`boOj5& zj}>_+01+tu)N?h25zLm@V~sD?h?h?8X?bFonxInC`_0laHPKi*aIv$}p(YRZ0%SZ@ z<6s5>Y34Fap?WQ9Ogd9BIUT(L02XtU({kc7G7KP%J^2e-<9~Y%j}aKX4D-vjpmb(q z49cH9bik9n8rU@qGw}nH@${>7LI-X@a(Ngtg#W!G46$ssJ z0LSmb9_G})v_*|w`IMU#sevTxyl63$AcMM5VcTgWQcR!#5f^lVw-g44&wX9xTGCVW zJSK4L8&*T1R+N|Uxfx@e4FEo0QiLZ+V)If&wkuGn=beN zBrdkp_A_a|?`F~nV0}4LOFv#ON9N*B*fdo*CYddQhivV>8bq08NjO{TS(i9JIw^jv z(9`&iG3Po$2%lZyAcNJ2M5le<0kpR%6w46ssyZG@z|IApH7t=7=AYrrvJQVb=7)D> zBi`O6uz)_nYEs@vEosX=O&J*^X3Ss4OM<}fYkHNP&e=SFo6QS(15|pka0R=5(Z#S?L@0 z0o7VHP5Sm%Fpu8vD$x>jEf1y3o(goJ?BjI7$xB>gmA6?QRu4q^JeARNLWa zyuaH;b;c)13dP5%j!k37esFsc^He3c^SfeAaVHjPAVW{r=2brDe%osb-i^MmG_O^k z&L@rXpFXUOB(%V*a;RC0f^w?v_O}Zq-Pp8N2 z(Nr^6m-)7_bVzeat8W9(1(V`^%8uoSuUhhmnd3(Mg83>xAkhW-&^y#BO?X*$d4(~fm`)! z8A`ikL&JAaO+i@~q1JB!4_&X^m#qMijg<-P_S7c1>-z=HXN@^PVX6&apVPkI`ck9; zAO#+k`Ftm-8%D7u^-A$_|LyHh$C*R~gw6ou+}U_C8XG6sh)0KuE%{}=gpFdr`NQ3- zN5CS$^+Gl43AmhCSQhWtNo7`DcX7G2bQg^zsI>)K+|B>NP9U?bZFCI)sJ1;BSwRoU zgxcBozM5T9oGp6VAk5a#5rWI8H})@<3#%U&vWNl7@Ahi|-dWDSe)3~5C`hJRWqlF* zE(;jCoR7Dgn1$ZY>PmD1StR5>T#Ou0iwL#JkrrH64 z+^-kjl?_P4UpMi;9YM5@fHxn^G7n*wZK3~BR?$s);_(F8XCx03?J?wsPb#a?cq=-! z(9@%oKAo>G7V<9^{rZ@3Ooo(>#?c1U+;EvbJ$Nduua%!WYEDb4!M>t=g=78hNJcy<4Ubf3C3o;)eo z4wn)a9?UP{fk>xB0Xu{eA7r2)AS;~90p}U>ILriyHV`|C`T6gMV(Dx^VitHe;WL6D z+w@47f+n_s^PQa~VG81K5F-pD4-t_yMGLNCdWGC=Dt^`(izQ%#v>h=){mw>eV#N}m z!nGb4^JgHnZJ~odK^P1b1IPg!XN5rG0r;_iKf(V;%nYjI8)z#pkd^RwNuD6EU;~ez+{2*l^T-)!RQ^-KS=*iksVpQEg&*cs9T9|}94@EGH||Yhts}Kn!69r` zvs%@BFX6zmGCod%N(X3#8z_H3q{2N&vBN{TjQL=TVJXqvDdc0ececfWtprt3*7vhr&Bvv4fC`qkAgW#S$ zUoyP~S6qy#@{U@%#jRq$6A-~mK<#=ew#ereR5ko>Mue^ z5NG^!qA&o!+%|=14nVvQy+lh0%e zJ!@;tx2js2D?n2Zl^A`Hk$^1CHp4P{+iHrEnHg=BUfq6JucFeanU0nPJ1V{>D;u(g zr$FNYE>qzq#O2=B1ECuratGZYAp^I4)p?Ys1^Y%?56MJ1#@wNYAbvjptVC6NTH(dP zd(#;xz(`gG+Q8yZmgE$9p~^fwb|?`bT6o9^cm|rd4aExww~vCmpB_DgzH(`74Qwpe z`v~VP>f2nSoPhOw6U*gff1owGh)m4$PE;K*WDqBN4ar6Y&rWf?OV3(2>_2D~dh6Q* z1P&JD{FaP8je%dVvk^_2B$4@)jxouJH>dNS8GHlb7obi>Ch~-OhT81mqe}%n? zYbyZ%unAax{P>EL*0_p5gW8?vqq2d)dzJ3~O}tDMIuUxfn-&c>e1xpzG6Br0vf7^j z&a8d&VnhJ$mFN=sIS#SOxOmA!TIjL^>RHlxr|!Vw`S4Y>HpcDCgsk^t+Hd)tvp1$Y z=XMrpodHdhyFY4(Z<@Vk0SZ)5j#x3?QYN%!WIGw_HF`28~i zQQd{C=HhK1g!r4#*Kn*SSnChSQ2THTtKkUwy*#q_X_PkJA^=vndJo7?c0aO(Gy&mE znjFSV-_7US1&yuNUXDB}(03_83j^PSXg{=ixAR?Qq`IMjo6scS$i()%d6x)FEvkd5 zcO$^W$;3^;KvMgr-}Ftb<$z54l7=4BxhS&wnKg=lpX^vh<57X>XFhxtrN7;&rLw#R zHbCibqo9P!=9YkHM zTGsEH%V2~VY3}xF$7Lks^AkA^_*m=QzdhU7SRTVo*&xgBJ?@fZFe@v7%slvKY-ji%9)uwuB>dN$Nkj$L>1zZGnSbm?qt(lgCJS8_h&NNkh$!ywi4x>b zm!^>bfU7_L!d<2#;G+x(59?nEY!NdA8f0QfqrcSGGj@!*c(!$#3Iw|N@ z?Eb#ZyKAYZD_t|WRX^ryjQRGQyTNa6AHSiR+56+^HO2P)L>K)k`OD_8>LF{fpP_K? zBi(1>?x?9?wupFFEH}ESPRdIjy|d1^)G+qR>ABryAqm3O+<_BW`c}F_(KzU2v?LiU z*Uaw%zuzq8KhgjpxX51A=9?`LRFX>J^rT?^D~INLP^;>FERZY zohkx)DTt+l{&gp6W&ahEdd}ka*6TOa0ahb@j_q9>>;Y|4S%a@8>4i(0UHrXU-DguZAOMi7cG)>Q)98A=KE!et>FQ`N%(hT{0uVh708f+$ zEt35QZ5xtYUGQYYFfXt`XY_}a{Z;sOc>R(0V?cwxIp1LP0H9`lde0xjnGs(qPEAF)<-+7qxzfVj3e*36|Qcn?eI|**6QYvx0Q$~ZoFblJmSMC z*2y%_B+qPoi3ngvbEevC+vDb?%>W!GUK~U)DxL*qoeTWTnS4px9Y+jD<(3W8DgQ^Q zSLxQ+495@$z%EBmmggY@{V~n2ne!w>a#o_aw79ow*NXPaMq@9F-+LSPO^Ut+C;ub2iY-UEml ztWmi$-G==Sn5si3#p8*A(UIxBpgq2X*v~I~?3ek2KE|r4`HeGPe;V-=#i*s~J~D&^ zrW`K{CE04s{=d|D^jlr}{Nbi{vsR!|q()IhLtw)3fmn+eyG*RCs=}8063KHFe6fX!(SA*8rs?f(vgp(Yzgjzo z>upTaJ|X{J)DL<(9yIQ<(Q_r59kkva+7H^G+>rs;_?UY2Wh>Bs`EXqRZ2KrDgpiVs z&X;NDHg~?3V1OM~rcl74I8vJa-f;jl2cz)DLPep-8acP47J z+w}4zap$-8Qpy0ZGIPXSErx1~=_Gxoazy)qKYVB{z5t98vql`{llf)eI+#{YWLI?o zUYeb|4^p#W^uOL}X9UgG<2v>KkmW-8B~HQ(eM%Qh)b9Y}7c;Ss{~QMzp<0kq};}IfYt|?9Bzy*ttU(>oF~FW)g3vdoC{G{Mn}U> zFI1_~Mn=u!V+lK!gmg^OsdLkQ)m@KM{{)gSAj9kAPA{tM91OW1jQm35GiChu@|f@q z3s{{udXU!^O7y{$ohfh9$>mJmmv_@4sIX5XUvC2bvc=0bmPK|ZN?T09y}xj^?$ma@ zzw;5r{=ScXbS09yV))u_n1%ge;k_~bza8c$JS4X(?M<1{ytcS>HCjNG190VbpLjic z!zIp(`IsXCp&5v^1pp(T#cL_w=LL5+%)UZ7I)y&hQn-^2OO7V|sw#Yb3`isl&?ri< zR=Tz#GWo9rGK5D|7(lN2(S1Tg)KAot6aX-ML+XBYFk8ssn>6e~Zll(u>jQs@22fxTgjNDw%w8#mVT4h*~zYNSyDK6_mx7 z1_cMZ?OwW8JXsq0@4Y|10*1qt#HE)^&R>_rmkI8a^x6w7P)sO29D_Ia!Pl|{6{QJ_ z?nB4Ri;STdfUc6priTvR4$Clb#nZrN^SD;a}Y{nd|W(%sL+Wa8M>pwFM*IYWy- z8k2G260praN(YL#r70-hhfaDYB@;N{k4gAV70^;$S zTO9yO8Y;VDkLCw^lWD~z4eQ4dp(sFfnRk+U_GZc@hLQeVnYh3$vO$>y_>$P=IfpJ_ z06^`sC_4f}PN5h*NaW*3oFv#kyfZY{aaIKh7m3q98G-q1=+mSxGD@8`6BxW_pt40* z?~|!tKMQqYT|FCqb!V&YeE(&noV8n8 z15&>ga}Hp;0G2g=hX$DmJ3$d}4aM*kWgK(|0^0CiY&*w8T6LQoQ!zmWV&BiyfF>J$Yr9PlQ(_2p8V`#=9`+Pz+Z>`d~6Y)C<)iUEc} zncAofJItwdP)-^lKMXz($GSMGf}z&OZY3g+NelYN{=iBA=b>qv#HQ5X9wy4`^ZKrD z0~uQ`m)%dVzI04yo9nciFTDh4e1)cdXN~bR?o!+hT*qd_z^iw|uXQ~cJdV;1 zMXKhN43{M$LEprHTN?qdnvTS`?(S}2gW|)UM!_B);Ej?73dFf2%hl|Vv7e?GJzxdN z0CB~k zI>z4UvCHq){?0jfx_RiW;mXPnkJU&W9cF+2{e8^&TXk+9{x0*xt~nwebDU?_q>53} z1j!zMLWcCc0AuXfN7}Llp-j16AWJwVP9FgB8k*YW&`5kQK(;3?2L585o%aN^E(+== zv!%49+9!6*LySR0k#-prrngbDy{sO}4q9n-s^r{hVu0S0f?<1fH0sdDL*p>;8< z%&406#>ke1L$9{md54xax4(LBDymqKlZrmS1>n?iG;B5GA6mEaDVSk3SEImfG=F$y z-+W`+9#--c{QuD%Zo=OpjaSgW`nh(ZOYGiZT=}NoV<-f70${^Z3=$h#0Oxj6$k@mA zm7mJEOIym(*eXtNhTms$R|&tR0%3`+X4hIeQ65>LaJ!MDuGDJ`NU@6^XBHeMKqpe3j1bPkxVYSffi5r3H|(CyhRG(D4}6n+bo zq7MMbD{8dH>bZR9AztcYxBLvSx6gHXNL=2XqYfApys8R0%xJqpQq^Zx9o%nuF}XHF zK^gnQMtcbfQjhpNJuBRlV1bM|GY?~F^p+g2olsi4+ejJEsw>FEE8PhIWEcfNhB5z- z3{$vLw^xh#w~SGkn@YfTT6bd-ch9Xu^#9ReqEXQtxcjON5TzFx>!u+W_kP_zPmR2| z%m5W+8HvynI-b9s1B+1yd-aBbAFzb3#9l8Lk13R?*_A3>hBxQh{dE`0GKN0Z@0jIj zOeOlOW5gq5^W}yS7WN@n45GzeaL+ZbpCX_)@dyO;JbG789a6gk9Dr!v2)`Fo_`=rg z+%H+0;cRVxO>0255La`(_c9*Qo=;O;yHXnuUPD`0_&rh?$bbh}I%d1x2a;#E>?()V%aZuMoBFdc`z=cjHR zvPqj)z-t!BbX7g5Bi(SX)lP77nAMVf3i|>uDixC(|1vWm88_1K0J^>JIy`Avk+Y?z zEbp-Hh=Mc$P+yPt2$(BMo zk*63P)8l^c=MbVQ`xdxsEfKg(18~Lxm)WN=rM)C3j9?lGop1d7HUCL@42l{6uR5PS z4#cY)jh)`nHdO@z7P0m3YFoFh^T8Of+7_Gc3dSg6KEq7+exuE!;;-YXbz}@gM&4+~ z8xF`_XrIVM_MiyN0>zVJ%Mj`CjLdG_H4kEEn1AOxF*p8ZMn+a8n?q(N)%pQ&q%CYR zzVPP{qek8_@iDqZ5CPo1xoIO9%CL{ z)*yiz^CfLvUjcsQ&+|^!r;D4S#6Jejn6tB)wEkoc#yOp(jql2*_(wYz=-rxPO@=4! zw?wnr(QGqDXAXzDI(xdZ0i!ul={VuJ4n{?Oo{S759I1r5#CXT>;)R^I84cIJjy!o& zQyM8LsnX+CxD!Wu9hZKsA#jzR73E4~1bDb5e`Y-h&$Mm^4qM63$Qb>ZecOGv?65UR z8#zR4s+;gpO$1K<(WIDWbQ}e-NjWS`1>X5XzBJH`mtS&d2^=fwIXvv> z>}Yid1}kFbQf&-GQ{7mvMl0gy({>ZkzR4Ve-k zOJIwGHy++@Y)(!3TTUo%Ti($8Q+}>9Bzj^Ezel9uXe@B>8N1spOSbr542|$ZTHc&k z{8#vqqO1NN;ipHA({1+aoAkMrpAHl8G?mo)HgYOJUtm{GMdaFiAxrXM;Xk2vgOF6g zXtX#9W%FCN={(l7eFG8zO6Y*j#E{>VX5m6iY89PGcrq{-h;0k#@f8wR-#C&rlN$W( zq%A%C+`)l?47T#1WI6l7lskbR?snO+o&tZ-%B~GcjB3=i+*W=FnF8EWVrP@a%e419DJBs2-F#{Fdjw_YCRitq8y>x=`uN0TL*-`f?gdyAKTvSE33Y8E&Ty7CmI z62!&7b_4p}xXnyeEbd$>7NoHMRQKi!2*R((3*QfJFBL_C3-0ik6eua)3~boHkd~L= z;Zg6&Pu?^uesPl0ESS>kGae3BZ_88xltSMk!7msS***syD}N5*J&QUcG1ALGPo_%F zVjLy8i%$fgwc3}cif~B-?0eFCkLTluA- zEB{(0#}7gZGWw58058mK!hiI<$YJItLY&?|@BhKZ=v0=}a-fBf`;waz%e33c2`v`U z?Ry>StPb2s`vl~ zWU}uHS3P-R$)~z`AVAPMlG;w9^Yn!GFy{YD*cZt@cT4+?b zY@_Nw(^R3o=}}AR2|ECKm4PWbGV^~iI~y4f(K+3pyhVwBx&96v{itt^6;9Z@8iB(s zBqRjr7%hhX8r|x6vW0d7wQ@bZeCbRPL3C%uzycg&Cd6~dN-x)TTMc?V<&Sri?KrOO z`qm5o>#(ts-C}2GK@R{EtJHB+!G@|vgcRH}X`QCOa?|bGS^F_J;MGFL?Aw!=s8;ax zfB2dU^mxG>jnjax!wI7(+^r^kR(4kWbK1cE1T`gkG8hXfJnwJz?Q3<|zvEMYN=Y$C za_J^e|6+kLb9lilbl7ZpJdD`VL_QR8Zu{N5XJN88S7IJIQ607F-qCrVyl;bJ1C+;v zpH+yFp4^%7A|W!v8dJTFd#BcEJhdj4M?=v{s1%=I7=Pj6HZ7RMV6g_s|3}wbKvlWD z`@$d+(xG%I2+~M5h)76Dh@g}-f`D`{I;4@5R8piHiA8rvr*wBnFV_1__CEi6?>YCo zgW=f2{U8C;BYTe1Qxnn|*tq8LGhM{8t+bG_?vz_}{{ZzhMh(iMNmfo+l{RN3`AW7%} zF@$hCG%4(vfsX*{72F4)MlD;87=^WJj~J`{_Ow&wF(^VvcO%re8DI_~^5(L>BnyDU?x ziWzJXAVBM#WlKU|oU3#2`7KS%tcpK{8lGGBrH>3F5L#_ra2R`qS$A?yCQPAN5%&o- zj)xdHJ%3$DVO?N;;(UMKSg+L={z)!P*{s=Pbv`n?)Ji4- zFvDRxE;Qv+?ZrD&fkqZQJV&bs(GsU9**mo6OtzQ;~ z`pp+hlbj-M@)*uPBZI#RvID5gS!VK7ttqhT8L%9*-z_k9%z#6-ix4A|xY5C9V4~1W zu-Mhrm3E^$Kiywtbu&2FS-CtY_P<@Q%57xNcE8CqL3|`(DId7z4wp-D<)+Bpvbmw?p_EDY-&H;j8WK zC^-Dg4YV~#uR%4_JE6z!EbQ!j%D?C<6*ncP0B?T3Qyrt#;H(~8!Bs#k=dx}%aRqPb zhE=As?6Ju^wz}lQ&B2a)C>$H7kTf5mW?WimcWvM$k)^69SJcK z1a1eAPeHxyHzJ+Q_vi(coTO>__V`5N4B+S@diHOIKfSrMtn3~?iOPOe8-J^d{nuV-`>1u2I%J*e zzszyZ66`B}eomiI0f{t4_raQBtghKNS1%fI_p!09?c)KPXhA@&jm{_l#%Uxd6b`4l zctuhzG?pP|gqW?lvD03!d37X6{1g9i=T!g+EVL0$78A3evhQ}?(=p^JoecCSC(nG2V3sq`#E0y9-(Wwu$z%D?P1xM47l|wst-?r; zP23L%<`-cvxU{*tV-}&zmIhi*L=H*2-4Sf3NN6zanhR~2i%cjKKAtZuWN=?hGIsn8 zZTjvw%gXN~J75*O zQOkwwMVvh>gvG)Imj1diEBhLj_X8VHbuK;ul&V~ka)|l#Ql$PavLi^UwoWq`@7DZ? z@3ijJ*uFr~3Xgma40Zsbf)D*}A z*WKGP|5LxG>uX6u!=BB8(c;3^CUN)H7qb61y=wzR<3KV0lI^ch21m{d)*K%(1lzyH zyPz=)H`0fq8n!i?gdX+OfRbe2EHG6$8DQu%NZ=*Cs3C7kB!Tm(22uXxi?aqeRrA93 z&Q7wRt-j<(>)MMi<-~1718&5$A(#rp9RQ~2le#1rs*y}2atVGk zBpP|0K|uSF3i&CHRE}NK0zN%)nAu*37K=I9xrunr%-}q#ja+F}M+VT^)x2ahj{y5X zof5$t5iuryvqH4O)klGYxS^oUZVUXEh5X6~Px>wnxDT>Q;r=IXZf^bmk{?VQ2cXfg z)E1*sl)eMt;h7=6x2YpM>v7pFe4x%QC1{FMs>a;;Zy z(zHMQBXA(NzqC*;{@+f!TT16jdG%)GA)-&Uv>nT)!timfMbvU+uf>dV z<>6BWD5&2Pf}z=*Eoe+zhrwYmOF0&S*^3Uz-xq>B4}F^Kf=OVP{oz1+s9&lM?1E_E zmZPOEMB#rIFEN0WU4>|Ni21lRoT8cKR6R%|UoD&s-v2SiShVo5Ot}N++x*n$FLcR; zlcfq0-(WP#ao*>7I4$oi#q&^yJN+Ya%g3MPO%t=RbiQIlgvqO)7@By7RqT(32{lFI zy3<}`Cf(bdl7+#PcB@X>P_v3w8+bQYkaagmzXJ4B6 zQ|qyeyLVS)>4sBcL=2Z3m`+ojMz+1kz>8tl_D4@`sorUj8efOBj3p;w z0*QgwYF`bu!9Wm+gKTW+KJXqK98OBhabBt>)lUy};El7A?~PQt^@ExpFD#I9yF$BL zs5Ur*`tC&l5WJM-7Mj0%BLP&==r76id^b%XL+1@VeqwDr>ss< zuwy3z3Vm?S{b{*E_v;xv*~4uoX>sB2Ijp2uxzQJNlmE-qX2&#Vnj#~x{~uG^&(rWZ z)RM${x-c)w#y@W=|ES)2(8wt)y<<3&+V4dHjtW@XG$9}|lqU-I97$74VA-MHVYHm) z_%F_U#2}nz>0!TUb`~C<=h^hl_RKq*OW40&Hv-uGvTfH^=y zU|;~>dG5rYV9&5jU?#i06AFvVV3F{Hnu)PsKj&DOBg;g8YT`IJpt&>`6tHH5-?%

    E$$Dom zwnMUsC?i7=etuM2v`&0jRtUY~63UUR1MYEV{Mq zW_a!qVt3H1Al%58w`gNy;G#+JZwqGN3AcF~Nw zkLY+a_D7%0nJN?Rd0r2VpP$IVeE03GyHL5K9o;&c!g5bcP_K8U$Wp|*M zH72pK@0qN|Ug;iO7I>YHr}vyWb4g1@nqn@?f-mQ)gMiGVVD1n^rO!s4@Z#f&GQG|N z=r|EZb9yeG)Q#4Ph4g*w2fHw>y?|EXn+`=WydTAY<;NBQhlPAzlnfz1s_AVjFo`m6 z{)@4cU^ThB9lg7ihaRX}a(xijYgIG*;G{_CVm4D~N@_jt@T;z^=_8Tk#DDB+vZAH^ za$Fj*{wjrewFAGmxByWO>~V8Z4+Z-cc{4gt8bXYjZUr#F$&&bf#o*@(-5QO-1rR!W8#;vLOGw{F2D`^Sn<^tXOoTTg(en)gTZY>JH<(dN=CUsIW@ zFF)QWv6l7=zb}l6nY96#gE}t+ShrsgT3Y8FoeTlGJ@0TV=|`rjWTVN{GySFeKm2a} zT?DtxbQA}2SQhr_|8ljl-n!a$z*wm+4$Z~Yi=r3pF zlSCcE%)BEGg>qGHZIaYSmH!y!{`CY#Ey5ZPYmh(`092Qw4fOQWE8oP~Zf!~z!{LIr zo*YVF6IDDXI^Xuisd9noRibssvoInGl8=43wzYt20hW(7chj;gaaK{U-21GG=_ zbqeokZM)3B9QyvkBs)hfn+OHz-H96`OKJ$!=Xz3P5n*AttEAt$*uDZ6TQAyUw2L9K zjNAKcAch3G>3_m0MnW@;I)X*S5!!n`&DM9YUSs3nc%9EV5LitVhF$@L%B$XaPrav7 z8n~x`n(Z@epd+l`_h|=wefdRknm83u$1f7#dLZ7#5Acp3Bx?RaFBAKgnkuc9oa!Z_ zxZ_?zhK-#MhMLu!l4D)Avc!fEK6fX`+Q}*$O@m)x3k5!40}#Bg-cyZJ`0KnE0iVj5 zE5&FTVqyvwB{J;fZmxDp3v_5D~(6M*tbD_~?S=}<+Rgj^2+lnph6k1qx&wU@yT-(`i67v9pe~1Z0uqaj^iPWk zXo`AqOxS@x&H;F?o*5VbPvR^{g13JvwAsZx7g4?>a&2JF*8E(M%S!hJDunQrdoZ0m zTO6bZv(h4+zE^x6boJ)++G32C2Pr4_XvLsAQ)J^-EOBcD=b`3IuaOMk=Ztho_XqsO zqxF%nZF*J!r~EG~TTUOA*5uNZZ_dqm(eq%R=hmozJNdf&%w!rs+F{H$YBRaT*#PPQ z<@+kARZ}gksYm)&0Tarz%L#m!gdfa5JgLG}X3Q9sY@F%`>;tg4bU)^%STQsS7#_Yk z$7{54Y4!-}BSHrv9u6XeKZqU+_=sRW_g;UVWSWw$Khr}7a~A%3dDECVFRAfkhTgu> zRl;~em96G}>s&ke*SS^{X=~!)DIxjwh{^7yFS&}A_Wy9oJqY-Vblly-556kQpQwTZ zz#v;H%h+~jmv6L;%Gt{v)2M%ds9pbl0uV%Za$}`CF*L5gP0)^Fn;RCk??gnz`+6>Ghwp(nZ0R>{3$$> zY$Epce@5w3 zUJ>S6-21_&&+4Hd0YJz8Kb}bhS4^RvyQJa|A4u63$jdtk)+-Ms-1_Lih^DDa+0SsG z{D7!1Z>^2aD|EXTboQw37HvWKAXP7@&w6N9vwst83Q_60>swJ+Raa(&tsYDaUbC@?hye0zqVrMzF{jx};QW$M9DRM*R4t&j$A)^#5(6Nm z1#SEv=9ipc9Ubx|lb8|g3wL)Aq-1kiGe5q5mnWx`djWwYk zolmfG`O4%!ncZ^VhBvucY9`Mzp9Qb1P4P|;J1?FgwMfkKL&favF>UD~y6fE{2NRtH z6Dq9KgSYG^Td9rb(+iD5-q$xxlC!$j^LJ<+;8Bg-n1lt>D5j?H&VzFY&sf}^u=#H1 z0v#ERW;S-sPAci+NV11+iDc=aL90%fKBLiWtymc&eV(4}U*olANH}E>PaOD0_x>fMWli+O4Gv76=z4Pn$x?^G^ z7VFH7cBT~BBypOV%A^j}f}@%h*ijSm4u6!DO2oTw<^`HIyj~43lKyi3$*0FjCJ9Xs zjosvS2L|bM(z@W$V;N|;2EAJ3t0_$`#97(gKjAU=;6)LPN)9uR^hm_y9bFEI9unAYxc(iaA-I>{uqlv%`mk`{muY<8Vt9{;P*L{5ka(aeaHFl+hstt$+p&1wqrmE2 z;S5M$%}}68Z#<{HaoD)SJz9t3p%VGaY?PwRG2!XNlKJO3@qJ2bV{DXmo?1CxK9Oe^ zmCa`5sVje7nf4wT=xHCVWXY9ntmZ#-6t{#lbG^;i;F2 zXh|K=;swt+WIi*Kbk1k6jm#KBVWept)F)?H<^D_bYEUU$4RsBRd>cF2C@b$5fwhaQ zaZB(oY3_$#tDj2hUWY`Bqj%q6m4@NeXn<8YcJ zPD=}EYj-Fp>v`-v9{91~X{eMtN}qDD!;{Q%w*P1W$Oh9*a~;TTd~H-zyk*5Q6r+W} zi+k)Y-a8#D(-Zk7U)1R{&Bu?sB}F;*m-dld?#&3pFxpI$E;ed|zbMQ&1+V{Dsxb44 z?w|(;vc&{vh60aJG`LUIc-YDk!tP=LswyeVDvSBGYptb?Fo?f_c-vVw`ubt&XwiSR z#uC#cjX4e{W)y_{p4lMZ3lrk?YTmKnPuV=!75D=;AEM>dt(6*W@`?!$$EBpATH)-l z0yJri{N0oRSu-=H^LdYwt0KuKCchP(8>EX`u-Dh=5?1m_2x`uHm{Bi;?N-Kq^oUU| z6?0nG)$JO%i=J<`7pIFQBZl-f6#Mr_KK;d%G2SL{JONkWxl-pm@4fW%FQz^*Lz70_ z)5DFtp22uJcywqlbsjNL=Q?+>X)bsPic(Td z4^Ls`xc}z)#PE1KoSJ@Q4H8*UQ5m8VeFAm1m@#)2+JB z>pHJX8fC9(Tu=_r1?Qr5e7#WZLdU&1_~`9@H=tBs z>(f&0a|u@iSBwMuvt_?w3Ob0(?2$DaAF+lbs4pqlo28axB?6*2H;s6#pbdmFnLHc0qV^oC^slM0c+>O^^y7^ohXW~HFCV~l4r@_tS4p>R*E#Z{QGSCuS>)> z1Z+)HsEg`5}mnFd@z|^UGv2z%`$U}z%z64Z&E%LWSvh+ zJ~AZW5eGXDrHe~x;;qbk9IUyJb%vlxc_7eAcN)+UhhU)R~5 zZd>@X5_{vz3T^w%)wuIZPFGqkl1lYE__`5Le19LXrvIs2zFV?XB_pEq7%p>Maw2*k z@|d%sM}?lI*)m>0CruKRQFN+bA+S60z%dgX$cP(*g$VKiBpjT~7oXUkvk7%3a%v+K zvu8l|_S48X?L;ve5#2k!B=K^B_`U?w{UVf2(`B_mCC9&^?_c~cC zE=o8x>-nnoO(9kaMbL~su=(Dh}2$A2&i+(3xCQ8i5s*{UQI{Mw?ZeXxu zn+dN-$^B}sl>0gU-TXHhIMc-E?122?4iFk9XvBmTDc#a=V@;K=XTbG})?4=I^q4$n z>>~cYL2J%D$5vV7EW|^Tz zQ(djgFnVYNTa6Mm{61uF#i56Ean~A|5fOsyeJU=<h6?Z!KDgr7vjbaQFSxSWZK24`skIUiG>$}81++<_x<4g*xsW9JG6-BI|n zEDCfwKGT#K4poiv)z9o=X;rXnW4UrSF)U(x{VWA(_5N!*ZehP3F~KwzlRw!Oj9n*G z8S4`VXCr!79B+BZ{P%Irx09tk_b6#y9-7y8q6{aGoXDN@N80VRzK?9}c*H43Xd_&u zG7uY%dEGPU!^jBvN=gNJPxNJ#{s4pQu(6mbOPzj6 zPZ~QLGq+wBk!tb$>z@j}JvTO%XlKcx^Dz`R*E#&%K(>46cN(g+9EPrB z))O9g1jazS)+eY3Yt3->(KV2R8D;%p!qK|eNYx=KD|cHxd_+dNV8X;iSRW*q-nI?l zMnMlT=_wM8qw0hBfAPO0e81ssc$A7dL2JJnOkg+1;H~&3{MGV7x`zr>NxiJ?p|mg| zGmBlen{D?LTn%@9T=w5Q(jb==+w+QhEEq|7cMN+l_`ae+@@KNURI=A7bn$nTzirlHK=9Q{k@4KHMmqL2s^me)qW zgfDBZpv{vEO(Be&jjZ5~2s{?6zX5?3UCK@Z#3?1zPO20m>>$FN?~%KD8Du1~KNr$| z6KhZ16-mQzA6MPa;y%3@VP41}&-$ukvzs2io^5K=5I-NS;b^ins9B$TNB#DVwcm{N z&{vyLd%VY$GP1w9`HJU&M71caa<$Ne-Ij10yR6!ZgL9G-zoshZ0sMLE6HNH;Dk@lT z#v9(mMXSlFw-52TQSn7dJf!p5;JdX9J#eKHqhl^i!Z6rR=p763^GdAg8UA{rx2s zf&Jyi&T!@{>SF~5*{rxgBK3qn0_(B}nw|l_<%jzIxaj_1O@bnwd-2NAxI|Tw+0Wec z0h#fTc&e7pmq2y{gN4xU-Sj=9YAs#<%~MiHO&jqJd_{>t{`gXOcz7}8T(Wl9mlKJ58$Y85h+A{(9O+_8WMJ6 z6$V2q#<;zE*O?!OlA9=u1gNI>8$jFYC{>0Fq)nNBX#@%i&4H7#77Vpl{TT4!GjOh+IL zYA45sv>^DeOS&y&#!;~3>WizZhTdvX)`j2CcF$p#2H%}Njw!`@luuq!$>^S?tG}G7 z$!&zJWS&2N-oA5c?>R!e?^5%0v@T3luP@*II^;7Rms1KO@_>pW*S^m@X2=wQJcmPx zL<jw7!u~*^2V?SSk6KEC#ylo-7khL)q>K3OH$3A=Y|t-Jmw12)`nDKpkHe7*|2e{wET!-li*u=l)KEjO@0JqC( z5C**``=niZp^6&@#dNK;!*YQa4m~zN(c@gZTTRuy=_N%ds5$W03Qa&r0ZVw}5P8!k z@c8cgmQSvbH~7FDd=CCOJHH}5_v?ooIO79T%u#{kTAE%i`ZFCaeiOIB*P2h5Ylee{ zzf3PfBdyDlPuY=jw236pbBydS!D^x(9o&pYEJum8J5!?r%P0a)zkVo4cKtwe;6MNp z54IJ-O*7ti1~>vC*cJJ-@oe$MJ3lZ?$geW3L6+G5o=qW++l33fKH}X}Kl7IiB3{Bj zP>c2gefDI8;v(MOWCeFaig8zDL^o+j2ejF;ys!*?SeJCjzmxATRf7hAhme6{uJLSo zLo;urPybp-?YA3u@Tv>?_f+zFWc9rVtv)v9EB@|7KiXcNDl?9&v^52p6V1$%XSG-t z`4S(LaL7#UJ05e9M53Nm7j$~J+sI%5!K{l)L4cAKX=o&Q*nI_|`V1`@>V{z@G4c*I zo@)ImKr8`0Q647*;U9W0C|a-~fSkGj>hJ{FZrv7ipxdVU4h z(Erv;dtvlGF{K*wPf6l!?Ds=eB-9AxlsR9hQ)wex<;eX5I1ah zH{fR?@LIINvQxX94C-vUt<=|`klYq`p*L#J5`3Y{UyoyF7n+ayJ6uUQjGpPyIGwEL z=-Pz7;_mkQC4vI_w5-3a0(}1Hlvqf#s;bqhYWur~A04$3JEa$NU!iP@L}^FzR#9?g zx*V^IqJ=$le507jKyBE>hU#Vs}HS$mgJyx7*aQgYHXo0?4C>HzhD-e5h6sN7ErI0wfvi+@p&sP=!!7US0KQKa=qp&yGMHelVn^mP!XnH;y}r(+GT zfVex3e{vR#^3I+1vAyy&HA%jK=0V3-SIMtR<4?oERh-vZf;N8DXDlS_!J{Ed?zY=wy$Z@~AZf*RxvJEx{0$0N6>+zS4hU=M<%Z<9`>JY|EO2mA^;FLS zDrls7DlzXZqikP%$Nc@7c4;@j!?H)W|NNKDYIS6y@Z5wzc6^U-1A3h6&0pIEPFClU zXj2s`^`R{~0q4>#J^!w~%+D7_o}uknyu6r^v)>H4_r=?U&EMXxoW9f3m{@hmg%gPo zapvF}10MkYw0*MA5((+=A2J8Y_Edc8HEYrYOF)6Gh&m%kQk=ml8}f$-4njidbxELb z->q{7oxHJqJKr%Ey0G|HSvAY8(u?!msTO;G!kidb7Q^?(?&3kZE|K}nY_FdklBCe{ zql_`q)H!_}fEhl{9HbA&atf5eJxR4-Y%p=m1VO#5MXyaT42DXr*&dbs$%oI0osDgD zty{G;7m(={6gJ2^&+Y8GGTT8n>eQ@ zJC%}C;>`xlt{4^48?yES#I-Y*wlg(cdku~H2O)=CM1AmK3T{#cel%L#&V~qt;%)38 z2n={@M|}L^Y-xd(UmWo_V_wP4LHItZUKtCcphs=sKp~64k3#VVeJ;+#J`+00IUgm# z*ILWx*TT^?C>hEt-*)N3Hba{k@RsDCkZ0#t@==aV988)c)jY4@xvv(^6BX8O5GO+w zqXJ|@j6~7f0{Q|u9DND>4tQF@Z-*J;1ltDU92T1h#?Q}mMFpYKIlhZ*-mrSgOM_Q$ z$f_RAls(r$@`cl7d^p2~pGXKjLV(Dn-*z4g8#QUidtKywQ!gl-qi6h*;Q{$c<7t*C zYAL2Ov3>9pFE;ly@kt3Em|ME>k?oP>eGD3(T@_}|#IRI2sE(Wa%;#;7dsa6|`vWV? z>kjgMqFVg0_?BOxzlj1GuJ_vV;mjH>8A{$k;H}U64c5u1Pp_AzQ&*=HhjXWwbj$LO znG0uL+;}_BtQ(z>9wuFT?FJf!Na&Pe`;?a(tbpeup%AqC0!;I=eETAxwO-hT^Vccg z{mKCXyO+>^!|L7b#tXuOf`YoGCv5;qEY93!368z=^0PmV8e*8xkUkJ z{DEwVZOdM93QRa+gNF{Ogr^L}H$%r{26q>m$mTm%oJ$)HaZzf#9hoP+xTfDyg)leL zm9aSVlwM*I%?Kwz)wY#CilXZrHooqs3Da6wpal3;9Mx!_EV|})Dqo)sb9*CvHoypo zn%;_rI!_dc>(N+32_G`&^*dJ5Poz*Nkqb&JLnRoZ`AMx0Co8$+Z)-e5siR*kc4d#z z;F;Oi4_ZsZl$OQyp<7j$bqlkd=M4k}MX7cv!7Rng7tit?mYj{ z7^qL_HQ&4$otx_i6Ce-W8^sc@sVO3Ht?{XxXLXBj1`ozBHOpryJNH6Vp~?HwOMe2Y zxQRHvv%fpr|D)*S#4m=^AW@EhU#wQvA~Ecpe_5S=7!6l%z4$}x5>X3__2&;X$3j4EEb^g@-bwl59VC;VpT8FT;P=c7NN`^G!3qR;-@S$sQhqWf ze{mDWH=|AMZR8npy^)MB%HSe_wvvqAA(&<7Q01FEbvYBs?{*TzNhj);67vwob?IS= zD{Rn-i+LP~U!4+p0ucTzb<=D)m)B^E-MFxANN95Q_L6mUbpD>7e~FKOVQI-yR8(YQ zYKqrwelXv-8bQ<7kS9rax!vkcM<@PSoLP>e=X#5&PdGBedZzvJTHocNZ4}SZbf`?F zd@ouwb#noyHHq(6DV-lvI1W>eX7^lh?Xf5cXlwjm(Mu&bP`dySyTWYXI~=~?IPgod zxb2LYs+!Asb#3iPYzXZKM_a_?#QDwRjln-ELhKle5&)$h1ai9igQk?{l3#g^5cLa% zYqhjIwPa6EPEN6q@S9B~C!gJ&;by$*r|2lF=H3sBHMnSom-5gBzN}Gq_4t{~h;I|o zJnV(bjXr5CRX*Y>slx1kSN5ZI=M$O;uw zzVBJ>QG!_dSJ39YQBOzk>keAJujo zU}+Ef5>u+jIa9^^lr}i8(Eg;RBEnrI61mM&D;krDzcU~}wnx)%3bpebMvL2Z4O|JM zT{L-CRUkUBWnyODnACB<*km(*S1tHAKq?J~dfv}GR|fmps=0z7$T8LC3m&6Z0o{a( zM{Ot_ot9qJD@Odpvyeq@uGmqn@y zQCk$7G9h2g`#~nD*embBPMpzd-awDKvvqRd5R%9x1&W0EBaFOCt3z>7wBK*A+k}3~ zqfcw(73l1<>`{6~*8R1hbc+IXjys|3w`*j(-CbTVMW|iSd?2~~esFL*lxMZYoiMk4PP^rt6vXlCAU+w9A8G zJ{#_SrnPgS7gT#CQ#ewDTXwFLs%M@k_|Un9=NE0{lAvazmrT6kV6@@_vBx|ycxd)W ze}b_>5Fk^t#^uHjI470dRh#aS7X>sKzZ9iGx)kXbF&^7uHMCFp$tBw_?@$+!@;upS zdruxT>A@-lwP1#iX24!L2+P?_^<+4CXUwO@v;OrJ??D3v{)aU*?8=g7R81NG#qcySLc{&0pJC^$ATlzFGg3yuoJ0zezdOvI!FRsvpIh{v;Nl-B7*xz1n218e*;cQ}+XhzoVhDRA#Z&;yRREy4V3JO`bWW=YH-vW}&192yKGj6#> z5kt6>s@;Pa0scmyJ3UE9(tqGjSS9XHNWod+*5frhRR0gB^Zd2d1Cori{OUA}l*_(& z0x1WF3Z9%u{)6cF#N>=2-wp>E%-`k)vThWFxt$w?8_GT3!6_Aig%M=GoZ*~lx2O&B zqs?^mR-oTAr}f8gT#0+ETNIR11eAk_BEz(iU!MJFG5B6p^_t>Eb{h;(N%R*nG+M`8 zqO)KF=B8f!8u{Y4X@cH<)|8+^aP&FvpUEMdWHjW-R@mB|HlC>y^kM@dOW5#PVjUjkHusu-*$g2(JV9VBlUS!v}AOtigA2dQC_a}?t4%A!)Lfq zk^#!MV#1FLgqCIjZ5Qcj->PY(4jKO3VLan%Oe^NQ1obhKrnR5;*?keK9Vf+I*J@H+e$7If+^38qP<3 ze0}rJlgTlq^a0_50qIhYS__Ed%Rhlnjixtbbb>ls^PibeX++0982kHC8Ks*>-MH|` zBY}OX*^7>+&W2}TV8B0@hyc`KV-pi2Q&ahmm|n^xHji)DeB$8vaO$wIJr2llpW0ga zi@L*KQ+Mtvz4MVJ$IRN^{;;oG8$ER3)nADSvLJs?(aoaMj^Es46gtQ(0`J2JeNNp6 z{brVG<9f#qaoZ`j)S??9Q~;+eFd$$IVH^=l!M(VVXjgY-dc#oEkWLrW4#M_rDph-n zSQz8xp#TXv)ol(r;wo$$WC_#k>WN^L*8%V$r$exkF{54OReo;;cyksH7$%{XWf-?^ zC?W-eomDlwnkmSoNjxfK-+Pk)T@LV=D65kn$y zuJmbP6)%FThqahu>6ev7AqAY~<~Ya->ht{Phx1=-bNeMTnf!^%-iecul$k$n+XB1A zf92)6P;lb!vV{K-P!YETROtp5?{ARWpAv}wCA_V#s;b5v z_Ze%tRt4fJ@$2^l-ecga@gB-N-8Fu=qn=*V{WrpmzzN1W^EMVTDUR^+CM5CEyp;5H zeJT|PLzznwZ|I5=)VWqNl~>yCC83(5=TICl%CGEEj$!5e zTm6OFDe4!7{C)?3)lDdW4vG@P-d)5>UYanWn0$i-egy-@q-pW+HC1Zy0QZ2%gP$NYbqs#|Lz39idnUhV>ee$&<&EDZYg>G82-Ho4_Rm`ZoV zTYaf9=LM{~%D=TV7qefYwx3Tdm5*=7VD%*vo;Hcf|rG#<3L%Z#-Te zRay1#Pro$ns$vZ<3{kL;1`FUqe=ks2-;`J}BKq7j-{8(b#inY?Q{% z|NGqL%KT}YVh6S?{)e&&@8@gc)K6PCGGN}nt-hwD#5-m3Nky9~#Y46`_9vYxI8Tkj zESpz|B2D<-~O99)_)7}MB>T=PeeJymQ07f`IE3=TW=zpqrE0hj|HF)zNlL89wa)e@@-95_>>@{s2)uYQTBoxp7rh96n^>ioJ6mB?P1O3=yZS19LegOTE z%aC{;>@9u}FP#sd|G5Es{*kS{{7Y+x*n&pe?#Qaqdv@G|&V_w*67^CpRdgwytNYW` z()vsfx;=8@f|csCz1YA#1KMZ!@0i|wr-{*ZJ8rAf_q$VWRe5olY# z8E{%aO9q++v4m?0j$~m?lY>{h72h03O?2_yXpO~o6DPb!et!r1?!y}9V(rEQz_K~) zPL;)Nr{ceCkHgXRYy9 z4{URFof+P~qtaN1j$mRk3LbpD)^fPeNDm-JD-=6$6q>@Vjcr!TbW8JkAaGq)j#gvz zY8oqtk0sE^e;_k(p{)?#w}>cO;D`=jqZi&zebljn$8=^hpN808iWUP(NMnYEhUVqE*YXdin1s~$@HITp z#Y{LCb*#;FELB%mF1yH+uPuU_W98uRGR2+~KGZXE*@2FNL>&D2viR_U z@~@mu$jX<5C+1^7Np#DGSfmx{519S=xv=&%bm*LoDgABNLp>6U_pXA$=Lf1D7^p|j zjSj$}7(IPHhYm5hon_~^rl@CGQC)HX;xErEj(i87RUEC%B?@aNKS-8tp@&M31lcdA zxsGaS#K3V6nU{^a26S~l%45^2>ryX=4OoAq-1bFFlTu^Z^ZIF5FSVXEfB51Ef<<93BDcFu0*o=LHuhQNu;i!s!WppUAzWIbUP+2 zM>X&%-tP$LP;w~JBchBtYaHT0mgpi$-nR6tWt7PIOTYidG?2U&%cX^>&}%>2ITr$F z;E%FkFk(}V1$=Xz-BN2aro!-;w$YU^kr>C%T5^y5rOMu~>?W62S1K}N&&)oJXHND_ zM-8wQT4xss_D8YdJQ9!XAtL4dk+0tMyZ`}5UhVYiObX;0wqHcy<;L5H937f2N!}Ow z$a9yc$rXWg`7w8l&vBB=({yr8-K!(KjHsy=;NdtV&L9(eIX){F*YtK5$Byp`1gH2u zn6$ae%783$mTSHacMNFJc@MS-0BU&~IJ%fQ0K6S;;`NgFJvbMef}r?q{Lx~;YlMy-5GmcioONfp` z8$l2m)&grqm8X%Z&$^C!+mA*;(2}F>oZyfe5;@86-5B5eeq?Ys?$ZfI;t3^E`xMUj zC*Ey=d^)Okbt#$|-{r0w0=dUeYOmYY-gtuBZ?V znX=x_Xzy5G(8gHdjc|tO6u|G+3mRUPTp~>km(y?6(obV_95HjA80E3007{zouyC6c zvHX3`o9NHGG}c9g6GYR~G=ERiLZm8>*8rV(1J4!E5*? zj&60AMc+z6UeY+x&ws5Gl6_d;YRGHQLjNm?3~xlcB}>k@fqZl4q`))7{R1k>w?(`U zJv*oFuMb&PTHv@0-b=eWJmK!zA=9cbb3V>%yK~rMPE4dRhoda90V@*k=!11#A{q2@ zHas5@-vRT~M#x>#sUKdny#C39f3PqFDC=7p-M7^E+mxlLQPkj;^L^KFMwYhb`E(!^ z#~5dDP96JD-RIBmJ@lAyR_yup)4CTmj_A#))$NAm&%ig{en0pzmhb2~fVgP&JwT&v z`)^r6G6m^SW%#LUp?ymo$VSst{EP#Re74)*PEEd$HEaA9LRsaxCEf&a(YlnlR4dUuWR1qVw9v4 zbqkreox>X@ zv`o=ghWP-0`y1{hy1p?7zcB`_@(R}C?B?R#SKk{uYMfYN zl%pim<7h_=qeWf;-jOIH3m;%ztxG80ZA8lcr_zj{bQQyX9Ief}vwg(JG=%ZBLFc9Hq5_kw@nmpf)WvmIJCfF_nL!ihXWBgRv2h&g_QZ z(R!O7lze>+m{J31H*{Sk;!nw6Tgz2F$R1bWPw75sXMaT-c`s+ny`cw?45-&pi|>94 zPI?VIG{rbZ4*;8*cTo(10}$R{cF&-R+|Y~L#g8BCW{!r|4B$}JO|fP?M$s&HHNmqO zh{-TixPEg#1C_!bu6_L>&g4I;X=SurQpNch6{valZ8o@XCC$qc^%X}(#~Fg9jt~2wBZ6~-9#(`G#@=+OlfO9b!0L5WHKq1y$p9PtXpV!t z|Dhr{9hH9^JJR3xh3_^fJmUxVSD6H1$WO5d-Uq*jg)1K$NwE_5E=ww@PjxF*!3zh~ zu)l@09)C=yFv5$q|IdQhV+mo6Grqcvuky`*-;nJwcvD3QLRt^(kIDH7X?MRB?6)+v zeT#q~t$;f3OH7%)aEid`E7$VqNwC}T7tmH_S{^vTC2ue{qh*SoFfsEZwx&@m_I+M% zh=kSGlSEJSFXQ**p*M+zi>-Z}-`0y4;?Tvb+3RO*$jiec_uT0@RDmpjL8GYwaH|6@_AhM3mD8*Ks?S0kI1JvWSKwYWY|npU$hSA(zBC$G#jiQ z51MPQP{Wz#88Z(WO(at=$8gu`SVr(f#iCGW@7w&!|7~}Mbz9s(?@P@7pM3|lC z+_Rq?yg^mMJ&OmqBy=L_cj0U5F6RF#li2Z$>JGG04-#!uKX;aniGIBK!8ZRRvWNZ= z4drNaQ%;@_L_+TUM?*^lTWuK^nWg}tX7$;ckpCe z=DQF`244|~ei+%ZV;MGM*E7)#4gK-yd_Ka9d4fw&2jKpr*ELTVsK+;?%ig5D3i_e> zX>e@8H)MMxBRNB!$VMDSBp1TDNyMX+nS9{Q6Bl3a3bJQ z5wk_9jW&jqr?m6vZsVM=R24n+cF^HLpNU#>^>=JJMq2#G*w#zW>6zJuG5|yf#?Yj= zU)+9A4UIIku?RiFeJcuQCk1_ng~Q5@adwvwJd~gQ9e~TbUkjD+{+*&s<{Rk+^HPeL zX&fo+lvMADK$jL}aOH)J6S~d6KQV21R}KaAJt7j}LVEFE-1Bf_a2_MW$^(jTTOIII z)Qy4C1D%A}d%$#BoK13=uiPb4dS;cfJP83UTFCc09%v(1Gbi$nM0&>4{N2!e2WM-Wd^;&2j-M1;Q}wn z8zx(lf*0u%ZzrPfo-P2Zz5I_hFA8#7{eS{=`){(KaBJQQi!0rKR{6Xd`{qp$aE&D& zJ{VTq3_vxkEp&_&|GUCp=nV!%s;4qXJ*g4Om5m+z1^6=w7zR*K%dYe*G%a95{Gf-9 z#@_lZlLPVYb*lx+RhmERpox()uYH{^s6)eN4&pMu?q%CB_X44gtQ%NHLLB3(P~$Xs zpqJLU>qv}(G`y@4cYjpVA~HmiV&%Ufrd}ejBOBZW^KF2;zqRT3Cb3z!BmaEwl?2uG zHCJe%hsu;X#$JR?dgS|Q*dSA#b2(kl$ zN;=w(<=HKm7Qvs0Gn@k~_#t?4z0t~FX&M7`o~|e3#n(pX2Rb~_WZ)xslHQA!efj$< zqH*hh+r_^)D9lLxW2SaYXdd<-bu=8;+y+c`W=qIoj_TK{D6J{PYZe=4QgS3^8+*IT zV%pUY0E)$xl3pJMWS;Y+kIlXdhLiC{LD#c7ja_b*LpqPl5<^jFNpe08M(`&*x)>y- zt8^}mnG^D-01K(2N3SELon1|DRx-M<$mr_nAv^`BMuBZ*q4WGF8IA7XsQ~976Lpcx z8C6@0_&36rx=nWm;f#b~0P8UGK`;IRaC2u@>kNe@>jg?9979}+mNP7$?pi~o-(fm> z_Czd9AG1whRmDa|KBhhuIG(JRmK&DsK0yI#uXV%pn#2Cn0Fvi#j)0`)itny5r49)^ z?r9ABa&)`d#Hxt+}h;KELd;xn8;3nt2I!YNni>yY`KDz>ASH zCDIpZjY^;X4Gd1ouWGK8P&A%Go!*FY0Wh_T86?;3t<1sk@-5@By-v>nU55+SuIGVK z#~8ntvMwg6T2-1OaT-o{j6wI$q=Wf9RPmGX;;?M)fyDaZeA#R_m86l`g2EO<~N z1qB6r+qjrxK&gN*D9;n^a}SyG%WroSp8SF;ph*Gw^XG+|Mg5d~&Irwy&6>ShV?rP9 zu;jch#>RIpKNvru-q(q>@(Ae%Df=5i zOLU>Tk*all6NaGw!fRGWF3#huN^2Wfu<9M`cTNv9Q~PQ6*OZHWl6Si2;w?%-HDM-X zWWWQ#^yW5PwDEamhvMR7@1JR4xizKU&o(0aBNQmG{pk+ex@?i#NN~1D=8iv3Ti#M0 zmh})Io`}^&d4f`RcX@8{dTPZ12Si*6333Of3T3SQ^MXgpWT-F5)fpE7ARCvKk zKtH>CcOMoo_MBl61>3!hRRR4kI8p-O$o|n+SB6W^NF{AiEv@8~A>BwI03}T%fl|4a zGl8^A{Zy(#mU{tE0gL-k2OiT2Pg%*Vs26heTXQ& z^9XF&`@XMYuju@G$QB`7bR)zAh93DKqQoJqkRov+k|Y6A#YEt*-Wwf5t_|(p%n)Ms z)Kh8sgKlHX$toPz9V|$HTuboTxx~7f^rJ+`?5v2vGCD|ESm72u_4((_w%Ci3UnVZk z5U*7Z+%K<^<_p$ZsY}9Gn*aAkUQ2X1&>U=;ToVrb5)F>9rO(7qQRzs>s8f}gCcp3a zYp$S0VSA4c2VQ<8Ic>4+5CUbEi5~$@0+tQic2Bi}PGRM50o}pRgloc&w#TlRP+*$! z<$`o=IAIzWKkXB@CVhO5V$gD3ea6*IU$GIWpe>a$A@iTyC;YaRjl2nMg_<$|KmI2^ z&DIZKgtXZSN+{La+Y8%Q*x$BQn!=s|_&;Z#u%UtEVqJC%S~=&-r}38cL)kAdg`hOh zS0pwh^QA76yUBAH;~Dwyj3=XW?SDr{b$QuGhV$qO z-~uFiQd5}f#;~`_|5xFDC;9ZB9j3tyP4qy18B)%dwtHG((nDjp+z)&XYWNip3Fz3A zYTNXK)A@GPM3N=f;FQ~4uq{UVvV>;8gX7VcKyr>qoRNz2(V`_C0Hoq$qKt{FH)Yl5 z*)}4&OfXYdbJgN@tz?D#!x0>2G;|d>FEr?SHYTlaT~g_LY(WfS-R*yr>abk-+;hhL zF!{o`p``f8LiB#hr6ummEHL0yYiK|3x(F0b@YpDl4{M*{u*h*WFX-5+&-9u1(lNbS z`t$(A?V#a-|A*&oA>W$Jzc)e1Ohth36;ki21nY7$`sDPNnfZR4)|#=lx=;+W?~$G;JMS;0@D+I`KS$@? zzACw6n#M#M)Pd`3U4!m!LN5MXrC)`Vn~$VFFRQqMIvllp+8Xw6QTlqJ{+R5h^=uKG zf)>OiHBL=PU5Eow8GI6(%^rPTx0kF>@-ZAvs)S@cf2Qow$>L>u!`<1=6&q1eYmVgt z_=+EgM?q+Dg$TRlu& zML9c|-2)dV*9v{jZq|A4wbtxunMj?-p1IfTkd`t<45d(@fCmy!y{sp1&VO?{CVGV> zgg!H6r1~!S8(I-*NVU4K`H5$Z*SBkvY!_opWlR*v$9ceaF5urN7j3_S*||!D`Xr#` zTu{?W9v2WhW)_Ni@BUZ#-T}??2Hg~tdJnG;e)TNl;T1xTS@ugNk}jq!W%9VU;U-5% zu`NOSXrrz{*#&ew#+Wb?vlCX#2MAY5=JuV(V^qfEFbUG*|Aim{8MmdjX|%oY|C1o$ z_l<2~voeF9CG?wo4`|PUSpG)n!DVttnL6X&;g#x!ffv_LkmJ(_K^;%!FZDr}OIO!# z=qPHC8gEFcs*ars?YnlGo<)vu>V%m+&aO@AsWawxaz#S3A7AuuV?GOuNrA^gFno^$-AHU;p_F7ZbOA)G$Hm-A5kPcdTMnPvyIP)W@ z!|l+%{;;iA>_Eif=IPjAl`vCzYV7N*0`m#)#-O!jCI|x^qp66V-elk@*7f~%fAm#LwOK{$7CbAUCFm0}u7$4y9R{6X zqzR=hyx`Yvu{ohV@Zi^bFIayh4*kADRzf5g7Q13G?fF1t-;>fj5t%#g7zlLoBS=qL07rHbnT$Gbt4;tR{m3U)6-qe?38_F5k3*&_uk-O{7X z((^1%P)ToAupbdHk$!>PD*n>tk0re#{d{Kgs~gv60#5$X2XbYt9sl>=|0<4OaMi}) zK|YT^1z}5-9Bz*Zcl(xI(pfYm?`_4#<_jGqw#{}wvM&V=WrL~-BD`(a^VM+)5C3C~ zOPG>k*q$w=`Rj&vWn4ovFTkmGcgftO$5RfQ=yHQOd~e3sa~|E+lxcQ{f6ZZ=QV_@6P(}E0A2ivf8^Sh<1Ov}Z)#p+nVnC;{ixfZZo#*- z0+>g$dDm)^)Py0S`&1F7`>q;45%1 z;+enIjOuO_X{Bu4KN2!xQ@-^ZZfnx^Lew5Z8^3^6Mlmn<4sVeCm9pcdw=QO|{W3Fy45L73`#40(PrsxFIu#W#<8dgG}VP$a<6{a?Ghh~i z=AZ*3x(-a%{{pf^)$*QoT(W%>?hEFg`i1~;xNTK=p%;0UGGXZ;9md&1I>eY1{BQ@N z5)jE+;NPrfG$T0&1UU(_i+*t}%@%ca830YVFserPdEd2%B%IMj?M>$!UlG+f@xKDr zJTn&WP>SWUkDGU{F^P=a@>hSf7#>jD*PsIwzuj#LyU%sM} zxC)_p4p*B4De=que4VnE=%mS(xtDqH~74Nshy93u^&rYOynVdI>T%rljVJ-AD z)=}>hSAH(&q6O`wu=;^OLl~QBudtD*Si3~coG(wWBM#RlBneWqt1E5mL{Dl(`aEJW>>c6in-m~T zPk7w;kefRC@&y+Oxq@nYXg3Pz>K?m@;1b^2nIp3LC6XW!xEVhSB;f6VD2CtMlLf_H zE3dda{{4XsSh%fgYokq07b6slhh^ryxM>ya(FN;Bm64CEE%Sz9OigtNXfX3JLcYV9 z7#6*M4kmukD!lqDZB&Oz8~bkIF;QVFnV-I<(eEA3RAyxat#|tKr!2zL6F42t6*?H* z)aA!~A>nqj9KV9^NyMpyTLkKnO1r_h@P8pWOsEwyUd3Fm^~Z=v8;P6engn<|&xlU2 z{{R``lkFhGo6AfJU)R?4WTjuBg}YWx7tWpMk?xbvlR}NsJ287}Q?ZZ{3|*FH^Og(= zho21^0=gCdmu@xw9kziB6E0%0qf=QrpkubrZ+XmOM?E0r2cnOmMRZGk_%FCNxF$4Y z&G^v5e;0)U=;}zzB4M9WWIL)k1zz$dz*qkg54Q66keqFP!;2>qXXJ|~GW;v$GXqk- z6_}K-_3&l55&5HriI9Pf7ocizo+2RDg08 zIn>F7Pz&50h?Mho=>q;u(f6wr452ux%{jq%B~|FO$|A99EE+7jj)by7>|YX_(U2UVDC0qI$sCZ-aU zFNSdGkIGw0Ey7<(B(4kufBuobQB^_Egy8-)j3U6iu)aJ3XwW*2DBW8LOdcJy&sD*M z+5e!hgfu*+&Fgexz|tz8P)pacG?G9X45T9%v~xS*_56g@I^65}8MEz*#z+8$> zxPk^ouY%vUO`pP*!9tPsL^h8Lzqx_6}r}8&s2%O zI`V%NsI~qNf!edb0<~>rmO{yC&}AgFm>*qPdEAFsvnswWfAKGc+0NeSm%JdvKz^`T zRjM-oH(IBvK`0~jf5W=2J)m!R@eG>lc$l{)M5g=ku7I8>uD>bK7y9wZ-8=v0XARa? zqcOj1k42xiZj7|t|2t00(c?`fHX^+?{SdZOs^=#BlKFf6?2@vq@;It6Q%gWs*G}!s z4b&<^`!SFr757JxBnqHZocv)Uzdvkza*}&VMQvnr#u6FeC>c9&^#1V+(>j=n7)a72 zOoVBOi38=$S$el97%1cZshhMM9}dJomB3k}YdKI2C>x|T6E|W67c0oK?lj}r0J>w5 z3)GT8Nl^Q*7XAupkBaD=wf~<8+wl{hh>fFbuP*S!cyg^p88HtPc{gPm8$|};zFzFh z{X$!fO8J z*d9fNlfT{Nz>nH;*jg66Uto&->xHzA|-+=iK4i_f>Oq%E` zCm~4(P6&7-*o2~PXRi#gH}uEn7V=6CMEr!mPnKtL#^&dHf3(WM3Wi{U#@id&3NqpT z%Ky@)g-7HA-5c6VLBvpJa=fpK{4mMYKm>F(9~Yz)eqdG`^hcTEI&W#ipX-r0_h_JV z$w_f#0Mj>k8X?fk7MK>WzrUXc@W-f)<`JN>0l@&QNC~8ynOilx1`Oekjdr-aXWb(# zWeEpH3s7BoL3bvY0ANyg_z6sA03V+GU{-q-C3M&0U6nC=7!G-j2xe^9*BuKH|0Q=+ z(2T*PHt5bDHR#&vD0F%0T1w(`nmai3h>!AVNC)$JT$l`?X zi_G@!py4^BFuzD=@1XRfv|I6*F%DrjH@jGM-{f}}x^-<{-o>p%%X*E;1$}tIU3jJQ z1FJWPezAPQ#yy;->BEt#6;x``Vb}{Zkhf^JIPmk?Hk0dY^RV~A>4?>a)@Rhp?IZl2 z>sz{mU`9qyl8(i|VaSNd==Gt&_T4g3^X*Q-{fVFz_~A?rm1K#0ly1V^luCE*%kINA zRc}1$!~+JbTgp1jZUf~z9>bN+W(RZBa%G?oy{xz+FFP?MxL$7lkbloWKTuFu*h?;k zZYx!QaJ1d!5h-YDcELv>ha>#fN3}{NCbibV7H% z(PX@mD~z@$^N~J!$nw%)a7%8PdOTOQh$T6{I5{J5ZsC-0f!^^3mls+SGz@`?Z5eDC zc$Ai1nP}!K?0uT~UZc#c!B=YFOpAl(FBOR7=J7qr9<5D)bMAHbdu2`Awd2jp!`hop zGNFO~lk2rvR&rafjCMC%@UM2@SlNDpSG_j+Sv0@WeyYEh&IFQ3p_#V8Vd#F==`wWm zdghwoNUPqZLhnvQI3yU>a-iOA?(#f0P>N=g0vEC`a?w7A^sJ^vR|}yA@3`;WeAewD zBWc++sjT^CH&Tugxzp@@^0Mx<1T;-b3L0YTH`EDnRB=-*?8!;!xjLv@J|ePgT;$g( zy0H6D8*+L!`M#Qydq$9+DRO>WZJaD^#$5Cr%b_9X#v@!b42xM1F8HR!cvLZImMLqJmH z-X>B*{k%717&_`V3_S{vZ!0pz16N9KoUJ`eTp4}-#2g#KnsE}K#db*BL`%xHv{H|B z5QQZSe=eEHlJiu~upxs&@Uf*swNOwJ4jEZ&+q9}Axh>Nwy*hh>i@_xZ(d8r0P*W1~ z*S2QqyP`^R3h_Mzi8K!QD1I+|EifPXxt0H{!F?vkvZ+Z0uYiTsSYu039z}X>!ONft zzv3VU?s08){59!}$TOwbkv&&eQpd(!rxO}ps2F(v9Rz~vRc3P$23|XbzRI0j3={eG zr?wE2Nxvr!;Lq47gNF>Lee!4Bkf_(=#WdN)2F$rHF(B6iUY1C5(0yCI-?W`u!6QwV zg~my_&)(tpgnS}AU-5I{9hq+Ar?AuaKoy&DYvhs#_W%p3 zo*^W<5I*AgfQs$8(NcVavt}$baZO=-6s6-t3blW5)NL-F_rGb6dBR^x$}ybL|8aS1 zbD=KvhxT&f1Z%V(>!OCn7m4MA%>JHtsyTnM_=_+>TyTq#q@Y zKN_e5ge!P@;o{Np^|45EM)M6i^iU(+l+Ddgx+EU<<(@WlSfNz7 zeDBnR6#mHlamGdDfQHZd)w~FLND<%&97q&J(q~t6oT`L29{uLmV{>MzINL=#3{M40lH^upZ^CI|MnN zSnK}?GO!U6u{+9e^MGpE+mkZTuTN@Io8Q{$Q!$rnOJGJ%51kNGnnB>14>Y`%9lY3R z6GMxpn423yKhMnx_P?^{+p^1_0t>O$F0a`V?j-+s^I~6~=MtlPn+4;ZfR(XIoL6H2X|pVv>``j5GX2Y4VJK3)!f$iI}i84-_M9i17(g0PLCy}q+`zgn*HXiz7n@+myf{x%r7FseKRR!2}!rqV^?=juOW#bG%y&yZkxw(#_ zI#Zcf!%|YncY|6J#ThsPeXUNYih{wV7m-o*;yIl)Uy%Eq<_4$Eo_QHwwj|6FOW8mOs~t-{PSn& zI3AO_(_@+Aq*H4Bc$eL6A^rvzR(PVk4}C)$>FymBb072~aY!Z*dJ+Uh#&6?O(Y4y} z2Dru*&UvB40l+Q_N73@Ul_j&Rc2GaBJ%509bi~^vR6Gw2syor7-TJm{?;5ovd|wCM zbF5^Woo3?|k-VqPzDt(VMi-yBZcJDHafi!qZu z__B6z@)T%;_p=Fg9(D@w0s1SauHdHljga;)kqluQIOdC|;X6B7j#3&kObJP+ncOKF$bi6($gPX;m5ZPBzBmF5~;0=@xr~ z`}x80_R;(F8Bbi?=r;5AIt?BxU4^0{@%}vHr5y8-_$(CGEO1yZQe1ak;`Fx)r8Gf3 z)vXuB+1&1!bdBwFbox`tr;d&TK4%o})ne6bKn8KQFT zlxe~>MT7}OBm$G(V+@l7 zZ`2pY9ZyOr>lbP+hBlTJUX~RWkE?aeO)u!WYr62feft(zt1rMK7o{^&(b4TjVo0Jq z+AS^|-&PBMW%>+r7~OB>?NM=aMKFq_eJWUis|HAzX^_`}FQEF!nUQ-lmS~v24QA*( z1%}?yb0a`|-|RVC%;qA6OPAn_isk8jKx%bo*+0YEQ9mHpt@lGydH#HdgIi2ok#S`0 zM;51i29w4cux_)S+cAM3(A_F@Qbto!z4V7KBsu2B7{7|DV%23|mP%@I_r5yr5S7{E9gDqy z_dvS0dtzg~f%rWn4fY%Av$|XY_glz~1ESreEt@MeS|3}1V|~5EEwrNM`@-*2P8Dwb zTLEm59R+4o>PYBmMvtqS%OxI3u}|V~99g4E9y4F`d|mEoAz189KWPTB zQ2E>khiQ|#DRIjtnNQ~r#&rVpOp3!UY*F_4RK2?@iQ;UzCsJoZmm6S=2$ZxlC0|hBfAd32}CxR_hz?zBUs6DZM8h%c_r&109S>PHBLELg$ViRhlz>X#sfmpB6V)uB-ugc zsgTMQfeJ4#)NiC^hL*=W(2U-n^3t21h!6~!aA$%(L6_M=b>^v^h~lE%;hWN_CtwL? zMMDk@G&__lNA~sgeeVhFKXZgjci%_Qafl!4&b?VgLP4_FT*Ix?&$30n&9(B5W+~Du z7xh{dz8)92oJSUReMnuGTFK+I{v#%^%-H`47ZG6=Ck2JFBnR#>br0KLr z1jS(EQ^i8FZtlTToEaZScrGpHFWiImU=)M`QU#vXNcAX$w{;hrU13ecai=cS$OT>_ z_BI*l*e>_=-+U1*EG>_V(eb0}mXhv~zd1_VqE${_>wo{k$WNYC}!6HaBz#DH;7$bCO;YJS`J!z_aA0>1F~ZOl`8 zZ+-)KPUxDMK%puGQyMMgA22D#bd3Q6%R5!j7 zm-gfjEWan>I(-vw*WU&0;r;kSH~xAN7k+3dBi3!23eO2y3;1nL_C5H5+E&GP#=|DatTY3sS7F!hQD}?8Rf3!no)zbM zU3QaHIy2JIh0a?@I8eW?52Q`_$Pb=>@;Wymrrs3+w{;pcrte?Z9Pf*0nt?pECVFgs zsmp-M84%2cX|Dc>6YnV?z6V;X7FsTe400UJOhe*~pn##e`l+ScL0yy)xZGt(W?59abfm zSupJ1^pC9-Tt()T1_)iVF zI(>MfulAH25u~bEstnW%pXgJ8TOCyW_zk0w?8M{oXd1(ws--~+dLo8fhM~eI%O!ZJYNAO_{?cC3L$a4tm?t%0gVYJR z_VCbHZ@;x!^8`g?y z8An#i>?Y<;u75h+`>nS|GDfDV@VOr8{a7$L;O2qEE7WG9?5>KCk-al|=1=CFKu zKAysPVNSs8bX*SEt$q~TRAo~9$XdfFYw!}I52qRry;k32_mNWXd}>6mvFs4aGa?n* z2u13#AuWeOvAA8|Y(r8)Y`DzRWkjgxv?K_Ajd+fhbIAOTHm>D*MM112d-_z?@w@hy zNmB~R74dWQ#Ehl(uQSV5R@qiEUl?A8w^Szr3k*TmqVWuNyGacV#W38yd{Zly`pajO z;~7zLNK3Vb69l@oGocr$Ar}c3x$&6+OUAYxu1ckDOxtcxayjE4~Y@#70C z{M`6C9i>{QJRH%u=$+yx7WrWVxIdn?IMp8!(zmo>^K== zMMo?pk|&=mPs}#Sz9kTZYj4R8eh}{-c#s<5#&ClE*I< zY*`4wqmD_PiPJB;^e&nxxPR z>2)cemuGYJ-M78H10561&Sj3C;At+saabg=m))Yc+JB~GGUpBOG%xYx<&spYe8l?p zTxhBYu7ZtFaZ;($@VekRLG9S6LilAckYOPqka)4yT zMI9ebv|o^&CVocaJ3@3k8$vo4tH}jH?`6r9p?cgj>;mIaw<#XFZg=jMJu!O@AvNy8 z*=O}xbD_{AR;CgPzpTd%85wst<&orzrWE;Q^puzPuS@7?ih2xLc=ib-Bbqhrr9S?= zaK#iuURx`PP>lcb!n^TGxXxm7z_hw|&Hq!`QCPJ#dM^#N>w`zWV#Y8yr6dEEz2f8J z=jzg#N&PbM{*;hAjP9QDcHe>U^T$5*_g{W!;^*OGzJwab=bj2Vvgo!z1qql4_qlZ9 z8hyerxWPqT_DpeKCnPB4Qu|7`MA*`<#qNz9Ii0?zH6NRa54w2*6_v({ihRIbM)_(= ztQanm7JABIbM9J10o^lLp6dLdfTQ^b<2fsHuH!<8y^+Q0MEaZrJ-0A=@4SsO3h}ZX* z*E>oOD^%0!=PLRjz907(o_Liw3c)R*z%gxcKj2QaOKKlFS5lLKO5&=oNw4M8au6#ipCa8k!nWCvu2uIN(Q%z$y65yS3HOxh#XT{OY_T@ zI>Q51q6ji>KH)86BU3aH{|azFN2W2;WGzlDCl=FdHlPPrHAgrMKxsPowCdMqUYp>aGw z8F60|PO~=90IU1TKmQ*8XpilpGo_|8 zRZ`^myg7Sj@rOy%z_qGj|8Is%ZB_ut)`}aPQ|NfSD`NcFBVCr`OepIBt(JG-3$1uK>dw>M-HJ<`;S7rccg#`zR^m#a?Ehh0Cr&Q!SdHs0#nX zwEnQX?%`7pq|U&vy+XV~QWc+gg3=)eN|;DcZU04^o{_SWg9I>GyHPAkg&zSpvVzjm zNDy`difg)~2jW6n6uQZGZM0?@dr8!f&~^g9*VR=P=KzS$bT`267fC~(5zGK={zc&= zT_ZixlBX+(+&?9QC{7OZ^BMEOE2wtIcbytIQ{-G!N;2L9QhiiPWv&i?e^{n}4LV3U=pQbwm(i$D`Z*!?jKmZG4Wx)yxIe*mc&!@?ZM7#S2? z4eQq-{-ajJmoIrP{Z&*{ejlb^&18x7^h%T=Mz>al5#UC@?N3oz5$H{!RqJ z>dhet#(_WW!{mK|7=mWF;7Z)BseAi4#!PC)1^=Gc*#Rkr@FD^9+y+rQ&6#Rg|75K469K>_A_EhW; zeZ?ZiggCiSYX51BC*rL#^71c1!J@E`Mqj&1@{^DB5k<{|pN*fgsVQ}Lg$ZjU+1|fy z=ZqE(jOhbd4{Vq>Cc2EC-2u#XG^E(d1;1g1oRu8G{DzhF!^4q$g|ERnP@n9NYHzcO z0#z&Kah&Qiq?p!DdnFv$1?lKyRj0eH9t4oHva?@2Cgriy`RDbF6~H0&D{KQ_%1$gh z2OzAJXX4Sp0ItiYTPLud7fqFo{Di!fcUv@*KrmqWQ*ER4a6wWF;jf6XQpK15h}>4aSeS`US_prgrM4pZ@Iuu}j-o z&ZhM24=AZv7gs6`L8j=1);b|CUArK1a$&EAmG)d#0|?wWvxsQdirpwiSF)E8uxpq6 zpAp5~H5WSQB&RbC#Uf3HqI)w)2G1F^f&`V4c8dd;Jx7@a%bk3NcLJf&1-^`Rbt)2u z8b;5#zGC^cwE|)Q%#N?xXTrl}It{nX2+vZ!)t0O*quz`eyVkKBDR+GDwe@u=BxW}_ zV%;-qI0TKiZ@p73Bs9;84AkYI4t5E;VffM8hi~N?0FR|+XO9K*&v6K`Gl{|ifVsN> zXSTdn3Z>fq_%UuqLqbFOG(Y$9(|^d2sp2-3}G~h)kN}N|A9N4@4>#wRP7>` z=E65bHrc!`YgLmRGhZcR;}?Kp!6sTplJWfxMU7LBdL1NEq2WODCV@cX`&y2MNnQlg z==b;oWpUdpsNsQ_*n>wPqSOBTR0-SB4zDwm@U@$1F5)d7PcEKC-Qat1R~q~VRz-p)Nz2GEnjo7SC;4ar1kAG zwTDGA{rLi{OgMP`6qZFc7GqS+{mF^{`fb)j2s>q(`pVJC3FIz%{_0a$$;S9EeWTD+ zL>X7wJI@F2T;G6ole-&F@fMWE26JUnD%iF|AY^_)6n87Aega5jRHV+H$hm>FZ$YqS zV*IYc<4)I$xbJk!+Nw;dRdrs0%!8MY50H6}(;;pZeBq|2Dg?&C&@y=?XB^XWwaC)y zP~oFN=m@WgLY zHmgb=9#&*{78dtn{>P3~`2*rpL<9~~+x-|QDlV$KCNBz3ei`@rIyXkkn8;u+X~)UN zz{XPf6@ej;Ku?;^V4YZeKI1-c!x$#}@3|^62!v0LeaPhuC~a~;!KT2YdMkmAp=HE%&m2I?pw^b60VDEG+75kFuaRg2z6Mpa{!nV+7nU%7G0Z zG^^@asZyGXrsI!@TdqpFAMVj(=j&e#cyITaWC;k|4m8IQ26 ztZdEnWYzL@5@9s;G)U$1CqJwxpSThEhnw{DX9pbkjt-~s%~hBLy;#J>76t@Lucc^j zlvqVf6wWlBiV{qa1);daEXA#0ew4-vZlS?a2bLS$F7>1Ys9YuXto>Ot+_C9sXq4T;NCi|6;Z+NiD1s+u zvT_Vo_x1*sniNgiM@Qpz>wi4*27}_#FD^(@g&^r6%jm5(QyRh@ScuK2xu5+5f^Z43 zTWiQn;Haa&$t%4!gZN0{3a-yqFhyl(lMEMC_ctqmB0E@VFy%qv;Zsp-E<2jJISOh7 z0veI+ueQxug@tI~`(ZHe+AEX8!zz!Xp-fs%4%F_e2fX&@Id6dp-EaC>IhjS4bVvN= z^DZ8RZdwmT_q|bhP)<%pR++aO{O1-WfB@c5o)3X~pt7#Y+W2x#!W_<1J}ZIRb#-;P zmncZ(c~lXDnQHn5)fjf~`uBg;DAjkqd-twB|Kx8<7@;_&tFCLXy0z5m_p$SGreJri1Jv=Vrv~UmOu5YrwN5|TNyVUR+y0)Zy=fiNn%s>1evIm z%=S0GWgaKQ+cOD8r2hGkjDTBsbBA-?puKvl?7#q%k%ZfG^39V|ZKzbJxncK&QO2pY z{Mry$oN(L4e+MFMOM{r$w4oPboFH6G`J~>28?05u!Z4YohsGq7c0-%7&m*ZSfvgaD zatDlx!!;kYb1<1*i|~Qqq3ed(?~NLnGd$SfkN(!jw?>>G>Kab zp+pjEsA}5Qf6qP#Y4BVw?YI>zcgt%PfmNFgxnwil1el-nu4k_QtyfvMHH!p2_I^{a zb+j|7)WE+qy)+Eo%y#3_=BhgHkH-RVu0HwQlE$wT5L(A4ktEG?Qp=wb+zNoIH{c4i z8iFsbKuI<$8+C^iX6=gq^eYTpk2?5+tVj6-Lo1u{oyM+OhVroBZi7DvJ3)AJ{z{1~ z#k;JG8JA1Z@T~AHKjhSvwx#3h7-mS{!kYx&9`ZCHxhJhb5fx7Z6`D22OyR&U83{%4 JQc*+S{{z5*kMjTk literal 71993 zcmagFWn5HY*Y-VhNGaW^q=1B!w1jkb2q-0z(#RknT_PzU-JQ}yBi(}3kdgvJ$Nt^BcoiQcoMh9MO&&&d5!9x7*sG+-Jl;wx)@%=qMLK#oieVk2$ryv4|ydqA{9P^VkPK;IzoP(_1W z83bYiy?8FG=aYHZ;Txd$It7KQddQ~#$cPPl_(@oThT0L1z2-(EI*hus>4McE9U+5F)u^LlzTTVkN_tfQgPrPs04%iMx+StClOb z>6r1`QDs?0@pDRi4 z`Ro;nF+i_Q-ovE=7(0nk<2{B^mT}ED==kc{Hl*~o1^Jc7|9KA@4z^n_XZ&eA9?{09 zZ28L8Rve_Gt803ph^Q3Y+g+Zw2r0v7J%m!6cmU)(#ZUt_)wKBoS4z; zaG^Hj@bHl6XB+*=_7BK1JP!^(HVQy|OIbpL@SRs%oQ7MI(O^*;!q@q~K?7}Vi)^}s zu~yeUr>F0^9zTC~{yA>m!sE6|B!jwX9UEUAkEnh#rP~{IxU&o$K^Pp#DzlElj*TX* z_W7`TU%q_N;wntTMn^|)_JOe|#nD;WU5R(L=U}|t2s@C$OEaf$Cx@*lR2t~&p6$_p z{9ni00{eS?I|{)Hva)DQMzY@E9NGN!#nldmHBdF(OpXpGEbqVToV>L2;%#A`z+ zfv4(_Iu3O-oN-f~lvn4m^nU>l!M zOPV|lXu04MLB3!}9sd*yrv7&#|1M{B8ZvzwLgiRI$WIdxsA7s`F7KVma<_TbNTw1t5a_M^wr8R;+ufXQQd_Ol{dZA=q!hl=Ed3hIi zKcyFkl7H_-cBT6AR)5)Y=n z(qs%6Ipf1(E+{HOuW^A&)g4U$`7-op5dS@Yf~sV<><3z9oT{qwxmpQ2+)f6=7GDX2 z7)b{7hlk5JH=oo6Gh!f96Ca>$GNRx(swq4Ux@hj3(eCr+-no+;RQxYNG_f?&($Yyt zw4R+H5Q3*C?D0oASw&auS$w#gOXmw284yjOYsIuQ=%eBX#eCbYAT*;&18f4SN#>?Z z_~u~z;KW3{ddAaF!YhNQtN};~3V{fyLk>yY^1atu*hUU+k916u)8B1n-(Svccoz;E4TfpZLD+Z&bwGQf5+SorOw7e_>2m~TTWpUP1AHhttffwn^O4#5}s7TZvIOCqE{spTx> zr<3jYNc=acF7@iYy^x=2?-)FSYg$}6Z;Z1pgK$uJ%^sp`tQZ+%KR8jjdsREA-zi`g zT*SAJ*`M6zJQHY-^UfckR2i3#KcEauOdzMwCAd3`k2>e=Qj-`0fqC#HS-4|NgNsZe z>o_m>$Jw`%5{}{NY0!yxph#{1mH*`tR+n|HXbO+#-=?? z;C2#h#YrEjF*%$tE5_0&R9cF1B}X-jK-nbNXjR_}rd-?B$=3mO46D&ZeI+P2hDJE5 zpgY{>2ZASDXogxk@EIN+UWG|xlzcdm+xhO40ev#9C0U0B@#GO15ZR=V*Q(qBQ|yk; zj{cZHWi6OeS7M<=#?ebG)Y{;9?2KQSpwxwN?90TMXi*)JQ2N`p&5>@f%Z9f;3j9n0 zM_n7^OCC1T$4dipVkz>nhf~S$gr!YQR6t&^da8x3e<;O1YJFoM{ zm8hqLlO2~**j)y8KTo*n*buHXob^pLn_bXajyaCE!H}ut*-%C5Amg8X!keJ485cHz zo^VP%1w`1zLs=bn@nn_lMs#N^glms zH|B+-yxPP{`uC4~6qXO}ad?JV8W{YJX*%1Pf|FFkJlx$E-=V$3flx6o=ZXB&S}Pk+ zPInkIqM;B! zj4c?fd!8(OP$}%0m>`bsM^9bdZrc?$;-MHiy}B`+TG%yC`)=Aoej?^O-7=w!OO}iQ z{kV$ycVrr0&qa4MdjBhFTkZvlk@Uoy*J@53WQr@7o+bJ!fU2{t zX9S`@hUM{?h!bMT$7*qIneGV9LSKJd|9q%2SbBb}(Dy$AWT(v4*=rQgAUJ>^LA7vM zeYQ(ig98F`2&4eCDYden}hZpe1f*H4hRemBm$7G+Vlr!ow@pR{x3P4ia}0O~wj{NXD+61y(%FF>;Zp@yfD zLcX2zRifQ}lh58m=0htx-=|Aaq*QK~SayUixz5dU`3Vo^8Uri^Ix#cG27=HqaB*=H zDC(cL92Z0DMR^sjm+M%+(F7W}rZixmR9qPwpC~Za{6|JstnoMycHNbIv6Ft`uDh`0 zZO+>M8Q?36c0oBF@7ZVdZgi6OxPwR|JdTLN0d~Yn13I8@7*`Gi6A`Rs^AK!+@gBekEYs5p} z*D~^0#>d(`uM9)pTql3|QpP0M@75|B^$^UV_#rr08w+2t1^-c`wLp47O>0W^<9zzg z>wUhc-CcJ2=uMphSNTf~;5#>9cjJEd{x=c1L>?dW zZMC;2Ul|76yp6!f*_Y)80o}_B-RcQ2qGeF1GGE2-w|T%ww3DVYR)DsSjt(6uyT+@b z#D`J6;lvU^qbTd;d>+&EPnlB@J)3~;C#jy!ICS+$D-#Z z=cm}v+xqNmMz6M&snz4#5732$h3bF%`Eo)819khaPxVFxw4I=$HN#&(FXstx%>=8D zl-=FyYzAVe0fEXD#~``C(Dc@{7`u5TkSvBvOYL#`KEJ(C7ok^*oqvHk2|2g(b9Cla z2>}5eE*O`=;yofF#p0RTm)+AzU;r}cEb-Z&YT5JXBqPPH zDC7+wtySTad=`h40Uzan?6mLwFTsuVK+OJ6TFro`TiS|OJRi+Rm zSlCyX^+=iQf7)uf{#L_Z6RBiaBn%AW1us4qoG$}yL6`Hl{5i*3BOU?OE$MBT=N z+fFQvjCMKr`0RXr#WrVD#HieACMffIdJV+{1b0Zt$oc>k+TJrVN=ERoYrRLVv-Dc= z`mKGRR<&x@H!@*d-#`{gpWHI%*+G zk7l#B4?@q0)~cN{CS%5&Yy4Q|8SJ7(j_Y&n*Al_SlJ}s%l42p>(8YFkvF*HU$0(?Puk(G z7NSzf#Ni5}{>)%|!OlKuKTAdHLK2`^qZdrh#KDZ#)w_@JcHoOQIk;*+LI^{=Af5MK zrzl1u#^1R9*S?PoKs+!HH=%=IZx}5EwF>jw)_U5}mK3^WO_6Ov@Qx01O5fN2z#!bD z{2?zdQT~*&<9^_HHYG(NKp)7~#Cp*pVq&q@Hs9ZXaOV!v#oy8>=HCx8Z}Yk@Zcie7 zalvEK5RsF^6r;#0D=Vu*yHTsJug{?Pg5WmnDOa8b5UV6FYLb$DIZ$(?CO={X^7Ody zaB-RVU0E(J!cWf5@|kQuC<#TbIt}DZ@vkSpVOWpN`dxKFf!Z4SJWVKS)q@G7a|||| zzqtrivHw##^ie{$$8S#?oeZr`=bur2(jPfDr%a)^x zrq{Y4gRRAyFKW*R22=**pEV6gk&Ibpvr9{7hK9$hz9lwoq6L1pE94Dc!2adz0?vc7 z_PE^c7{@gdr}>ZW>wZ~bG&eGj^gDh}HQ6V8wQN$G;ySd3mG&RfwdmF?5+j1~#;u>{ zo&Nu@3myITNXuuKwxS}NnR=9l+`=3s()&Z8%8#2ISKE~~SmZ?TfYaJKcKXTDeXl(2z1`cNGsWqW-c>@} zKa0P_aRuP=?Z@R4-2)(A!fQ}pKm9qs2Iv}>5JEs|>%NDLfk#XW1kKeeq^#{Psp0JE z!Te68F=hE@+&xt<-#R^~r;5;@$2ALksfB~Batl`4`{_l{f{BF%`}3ocD4sfj$}!!C z^V77F3Z9B`SI$%ojJUso`ZZhoski7Om)yF#L^KR+k_Q5@$DKDBdTAUiEa?5~LS-z0 zy?~ZOy0d-({u1qYKhYZtQc?nF|S2HA?2$(j&M>C+yUpwnWg4~vUyz_k{F%w zQ~!qn(WMsR_$_Bm#ckjIAT{S*0Ghlk$C zor8A_VB}H$F};MBR-G@4{`~=|P0K#YLXnfUJQP-UcR^H(S!)E87BMlu_bf(J^F)&; ztvfAKlM{Zb$}>}p5xmYRE|${w+~~gLh=k#lm!vA9x=i==7N8GhV&H zJw#&6#X;f0wZ=8WHye{-zM%Bh&NK85zCRjCs(;k zv{2{N+iUONi*wv?{0wygx#BTf2SG<`YjRLN4Jtza8;Pe;&elHqj+z2{YpdCSB0a@- zT0hCnLw{51&!xVDpb{gNmrHLPeV(^5s@h0WW+{d-@xN)Dt~JQg_ao+iQJpHKDUM_o z9`AU$L9nx|37*@hVc)yxp-Hru=w}}BDe&V?8Suk3-4~FVkh-bpwXUskoa1s(I=Q&U zPLkGfubg`R`t`%6BE>TGxtM^1$DrXH-@{yz zCAT5pU~fG=OM*i_QV(ITx8?O0D=&y80uNMXSQoV+HA46UebYvKS=@ntW{A)$*U;Yt ztO*EX;}nH!h>B!dC>~4S3!1j;fn8D(WONi^zqaRqev0yq_|f|vG)=(yhjrdR=p&<3 zvHhx^L6ybW&XCtj{wO2*xG3xm5xJ@M(uMtfkXBe2IzM*A)k_Jb0c0p}Q8+R=U&fWM z0_Sui$qU-~{?$sh!iyJp^&j$Bf(F-2sI9oLN)QFoUki!xXG*1cE#rFEWeAs*gkQg& zOM+1ucgLflR9{2}!Q#P)kcX-%?|d+pJ?G6igzy1c7^Ij#0CbXt;Gh#RCXjSA|DqNL znUk70apq3^NGj>&uMB{{=V;>(a@}HR*^}7|Io|!zoa1YNH_}^sV=?aP2e_Pr|2OPR z8Tk+FoO9j-D16mEV4fu0&qQlP4+Nh9M9ksy z3*;D1TN2M?n^}o#O)C7 zc$Z583GA~@h8zHqG`Du-Yq?APRreGBKo+ZzD=-xMla$iP5dSKr)K*8J`yxU_^+fb?5RpvmI z;SJzN=VL19^6WRn<W4h;{t z$KS++J%!azKObK@l2wAQ4rh&{T)^e8HjK5aDR{GB;V;JH*VmI?7hZ6phM~wNc|=8p z({&=aux|6<_zm&~9h$3?E0W=`$~qeO90L@b>o5EUmeVcF)xE(lXj=p`#gdRpe~t74a$?l z8T=yHzmmvZFJ?p?T=;PmuW;5ZRyk8b0pjj!*alPwu8H~~r444Xqj!t@hh zOOw3Msb%cXo8*Ac1Tss0%-_(gnBSgxMM*{rq4V*%mpfNU{@>lxE z|IPw5Q`5RAzd*bb&zgU6Al{2(lywREKbZGiS0au~Yd8&nIQ$Q+@d9mG%6*yT#HK3TA zEukmaA+LO%kAB~;44_QnY8j9l&tzT{TYAAC(^qmMJS+R^!oa~YzIh(U+fTf0Mn~=iV&tM^8m)z_V!Cw3+w}#GC(!0;)qBs7RGM_+x;*2ydp=; zZBUt4S{lhLAEsqPz_t!1EjTCbzQoMe`*PwT(J2VSXZ-%XS;fF0i3iTL=BOw&^>gaf z407l80dH6;8JILV!GUC_o09UQ8m>~9cw^B*T$#-fH!%@(9l(@(J!Y@U zI55E$_Te7$Srz|Ds&-hIb#;?oT8yQC8HR(Ie`8aAJ}b?fk#^~$MYx)w5d$3jLIQcKH}X&65$}{W z4D*H~w|l?$qds6Ggh^#s0>@z)zy{K^6OC`nv+C0M^p~(cfxn1 zfPO1TD4#?50Sj~>OIw%!b^F%7$!WJ2e&WDAcJ|m~QI>H|RjGxeKd^MaF5qeCnX5;9Q)6){1*9jSw3@ znY)&Ssss?bWlsXCwwu)m&)_c=PKF0H7*Owg%mNR8Uw zeo}Q)72_v8*2uB##rM)$}iQm04IYvEe`YxF^O; zu2GoIN!Suo+Ddt;C!@tP8kjj)&3DhL>MbPUv>5F{pPtOqZ+bGpmlMhO%GGx7jd4kW zEsAC7oAi{iwuGKvg!B{|o0mH+OigKuk7xdz;Uc^OZ2EkWj21A8g{F#HyF`!U7NbT) zJ^M3b_p`}2rHU|y!cYn1BTR#3J}8seFf8lL7#-~~*#03-!a z>|KT4SG<0N6wwNG2qaQp=&2ut?WsX~_s-Ufc#k8YzhF;_T~qur9hbS*eXVWsJ>mv_ z%n%5mG=QU0xxXMGjWM9{#mS|UE3x29mZxeF`$|LbOtOZc_tF;q;*IZ)N}8*g{NOgp z@{$){xGSpAGp?traCywK_J?uSHq#$n6YZ%t+f2W(--p!>D>u1Ig{cU(^nUEZwjTrm zT<8UUTfpO}woJ|;%YnWhs#de_EyGO;pXY1aJiP(D^Y0wf(*eB$kXXv1tg*3mhT-b6 zveVY@i6U^16|*w;b!lmu;a5F>uLYCzK?4TKYhYZOQTp_&xf+ z+?S0>jt*PJzGAIAIb*GJ#r93Q$u@8DY+clmJXKIY>z{TimQXCNJU};;Z4YJYPM%+; z8>cQ@b5A1B0<0qji9>Dur7&D>qn(gA&CGgYww| z2$+0l;@maaeeDff%Gh44AGEk`aNZmQP&bRwYQ4+;tbIXux#x(U3N zyz>(#9`iMn!;QO*r)ehZf7!k6rc@0c`8U=xfj^$O|755i(u}=(7u}jbYj#OJ{l5t6 zrD0=IPmi1u5H2GlBh=Xj!`%@f9nL`}Dn4*7CEH(g!NI{MZEL`?&bG1WmkCKl%m%Hz zYT&cheJ0d|goJ?IpF8I`b#OsNfE{nx)w1>|Asz5UBH{w4VZU)M8(4B5!ziTL*~4$E z!*oopiT^n)%+%BYx_W&rzPIszFZjgJkQEB)o0O6=Jb-GytsV~h`!dA*%0+WIR<(O7 zKdzrsE?Y%KWnrMndBUtuxCC$rTIZ^dqP8e7=g$R&h4p1^qc-2Uk=?<3bga99ycl^O z{hR1F7?wP!CCk6C9FcOJnt?(N{Ku(7bprA#!WRbvK&dkEiw{=b0lvs?yP1MZL;|6e zC@9JWLg)t4ljLB_ka+)C<%?e+a&uzoT-EE*TjR|XsUImDgq<9moSboyr0jLCh92~< z_l5&><&a52qHX46*c5Q(?#A8zF9QPt_($)LPWP4jKp!YiPwytJy4U{v9XEvUkk4qn zY2=^)U_S`{ZP^SU;mVyFIp*ko`51W+eX{>CR&K1PAlxiffNQ*lkq2$MT%wtD0ZS}z z2V(%vgXpNpbw7I3!@om|fZtQRG4e3)UX>TzwZgNXWa=`Ffwvh;Q*xU`{tsx@|}s8&UBLP-BmXo-4YUeX9&^$3N}bB7De|DoRA-j-}S z0Zjb3=4R19rA238R^GD+FKH-Np}^7S8M3hq{Iw~@C$$zp^*e$z#BK7hwK1oJF5XTD zXZU0t9jB(Ieoio3cF~im=;BjBWnbCD^f3Bkkr8_p(Zmu)Uhme+bBt!j< zkvWG!1@|5!-%mg;H#VUU_W_dtC}$O(^UI2$!tn-ju^Cye6ldOoT0Fx4n_0&u?8+QR_yKz?< z{`TBlAYdL9H@1iA*p*AatgIKWZb`#Z3U5i8(qv^i0i1sQ#Lu7U1#L%}fDH?bm1qw( zyDeck)#k#KH@)5gEj*k0N3?R_mHAK7nPx4_N7=Apvg#++vfRfV?w{y&~ z@tN?j$<@uzDkuMzIl;Jg!1?gvd!J*4kl$QnT%WyAUc9SDabpM@s#>B+KuC{+watT# zseqRla1k)Eejhj70uetvGLqHEuOcDY`Hk(_GqbYn_1Na(4XskWc9EGbe_?RYja9_i zWoOzrP`YXNI8hSy-gTd|PN)c0p3V-U=m${0PZ8esLBMn{xr@unenh0O4uOt-M`#wS zvFA&`Wh)(cx%S+-Y6hn*22g^zM5e(J;G z?R2>`I#J`n?U^+%)oT)8brfjy)zCzYKEC2Jl}vN+PZAMEWwS4(H{md%-giNcua47~ z_Ys% z;|X~L>vAeh%=U*$B$An9RUah!uy8SQq$nSbO@&hJQ&Cdxs3{?Z-)y|ef?$IxXKIxO z2GCDno$o;mdkd70P5P?dG1L32zwfXU_xh%tJOymcHi-+#<*V!_rSG1ef@jii<4?!e zr1MZ$my)OzQXtA?Z?ZgP^rCFny$t&11`fil)I>x(dw7bky`TZdi zFOl&;v*2clPkXRFj)4x$=OaH>28$EOKT~BV#OB12ZMw{6+@tSlRhaa8Ewf5rj5LMj z`iUG%`M1-L4n#iJqI#WexUZyZDA=S~t~W_!#BYD$vpmOifSw2@6@FuK}UiF9x+Q@R8Siew2bShV30!RM28s6#OjAGrk;^9vOg6H*b^zg&xc(PO;a>e{QK&(_DDGZd;4r5O>aqPCP_-5n3V(&<1^N}c z{RW4mucA|hY2L7f(wQRIjyH7s^A!$khBuMrrA)IJ+0%^kpMdWKBu+nbDj^@RIy=QE z3D0G!rFFWLxudC(>r6dMXNq?fuC86}K?{uK8I2?4F-I zjUsR3NgVEWx{>ES?Qkp=U31qsy>}aW^Pcskz39HZVge4nf|2=OqaLC+0Tf%Q;igvT zhsTuf=lg6491L&fj0-P8pU?gF&I&deRkos8Gd-kl^~>L6Zqdc&%zL0cQKzTJ$!HH;urta`t~D|p#q_v<)B;diWq`c_ znBa4#E#XzY)UUk{ueH)ga^=HomVT4bN$vxdz~RsO;;~X6V5FpX-4$pRwYZY+JbSAV zuQOl+u`#5n4_sf|#W28mE6h4fhUK@Uguj_rr|>S))&hzhpNK+{jW+Z+iXxlEYDXD( zuy!S%9c(RX$UDvL*E8gPh8at2Ry45Ibv}u=6IMU6duxZLb*2`tR!;Dpg&A?ny83nxp>fqWlWIRQB;IpJa3FFJ^YE*}Ob^E0147YR z4B6q;4a}vy(B&toXlNWCE=%UVdiHaCc&^;)P!nW@UruCT17975nYT5Y`BDdg!M~vr zeejEFFku&@^Sl~#7`33_WAb3%f0kk98EoCO(f#2MV}sG&ta~5EIeikwZU`;bR7wmb z0-76oz2`n8V+teKe|;yP4$kHH5?9o5K~iQZfB1A>`S~czJ=e{!phEm6tMXE-Wp+80 zPcx*Cl=l=4g@twOZP4XLC7JeQ+5;6ThybGlu#=Qs_lgEyz62&;*7|rd#e(MsFAlv{ zzuUM=VdXG6Q2Xrh9pj3YlgMwO=5FqR7Lo&TU=S<)Z*URzcBQT(V-b23 zbo`zbvaRC`0ltYQN%UH!K~Pf4Uw~`e+uX{@gb4Ybbh(`m6+M#S+1WXtB8C~;N#p7Y&Yt4Y&v1bBqPNp^>k6UydKGp z=es$wm<(nk%JS_EBw~B;@af)5Uv~@ucK47K&^KE*gn!d@)pzAzaGF)mjK~%=o3zkn z1^gKP5V#Hh(Wt0Hw|b^mltlH4NH5wQ@Umt7 zpX(Wj*6h7bSQy}p*E^iqT1!V2Zou$Cdyl+I^eRkR5)p{Y$rBHdkb*S39yklIE9wD< z!r>LWMgFd!cZuF~grnMcaeyc=fJ5)u2SyIXPm$fW%Om^UKF=fO$#7c_LQ#kSt68wp zndQ01=sjrL9$fPaMsCMBg8g?VbWpnT3iYf-mL?R}s2-TGhoPjUQIb~KMwHno-j=oJ z*~Nvm46%YL3ilaX7i%<6%twfmt#RFv$v9j1BwLL(fPmH9tEq z==9UsKvZx&&`v;12`$7;4|kY&j(aLiEs>aNcbbe2Q|`jHKFLV49ZjZrYVj7sRVskV zDJ7%zPb&$FA42|Vl`-oI2sAV_H0|%;n0dwtY@@uIpFpPuf5=YSY!`nH3UcioWQ=yX z1&!7vo}4JlUCc`|1pUW?5PeK2b8QiTHILzH-AzE?EExT#fE6jMAblB(>XxB|XLAM| z#efNWva6O68Kj|xS8z&;{--w?V2>VuOufdQQN0*Z{Rzez>K zvf|BgXCX$;5YZ?U{TUQ_1})?eWnRoT7#?EdcmY2nFAlP;q=@Nx*E}Glwb)4L8X*q? zCf=HUB6HsF#iy^+UiU=@uL-6l8yjv~U zz~FzhqZ<+0v;L9c{f{)Y;3X@SrB8f&gVI|O9^wH+nv_8co&HvwE`>{o;%G!RhWHLR z;>2C`gs-*hE+$y7MA!ok*U|T@ccA7wz`?JEqmlPq%u|g+(-DTa2U<>aKeu-vs=T5y zt<+tw^%Yo_D=WnL6DGqB?gm`Gr#-RQW_zF;6@3E&s0pq>p8CrO{do8hG#ig(^h0 z750B@0`*w=zc#_*|7{cSJlbI?DeY$|86rP+c``R6s$zs$ZFE|ff+!V+kB(z7Ux@^i94@De5&Js!RfS(4Fjz$jGh`XC`kO5W|Xx;=0alPADDfmgqFw zyA-bhv;eRG&Yr$0^m}SsY0zps*`mm^M&Phw3bFzBG)P)gZRyKh)R%TM#s0sn1LtJA ze(khfQ;lc*8HYRQ@E#$hg}r3~g4xg=JDK-V30k+d4TZ#;b`N@Gyg^4+Ieh-FYJaPV z?^u49GYiSJglqa3jrtv4p8@R`){8fV-x(NDUpF=(Z;_;=S@kSa}95QF5 ztnSZL%()*GLlS#PMBc9QtkA{g^X5zO9flr7MQi~x1^7&{9QcW$-&5V}X35m3`P4mA z18TB>X{4T^7n>4s5$?l@#7z<+P0WP^0KhmMPv-xj&^(MwyE-X)kiNDoT2#R1$_XfP ze!VY%OHfiu8}Zvu*v~wzVQs(me${l$&zCt`EjlG5R>A-A3s&QTo&&dazDM?}O|PEv z*?Iy4j3D6#ivg)>f0(cMrUYMM| z1|2BU;6^80NF!9NZ2SenFR27jQvf#u;FMa|vszEl zsN{u?T8YI(gJjRHBj6NxyuJCT(1oo`qWfWCS?7c3`&DbM1oRFIjP$LfLX=NSWzl>xZV@y{B{%MVGaNTY12JI9Uib_@~_6r``;8Q)Ie zjf{bt4E(&b_S?m*T?$kf#aSw}C%zQL-yx`!}Kt;eK;u4~HRGgfrsJ^BP zVK34-k)26U0vfN`6pqtiB{O0jf+bg(B z2FhjUV}j5ia0lA(U3X58?BE(?GBK#-sq%ke{A5wy%oSr^S+*i-e&xQ_h+{+^hrE2Z z?OBA7gEP_KL?xY5Lh9Zf%BcOK*2lC=7W7UYe{b?aNBsO##%5`E*9^u8e}Ky)EeOys zgyIbXbGbRsrgJ4cl+?@omhyiCH#TsN-Q1@B5W~kvbr%8mo7g@4JF|IvM<2=q!#R%j z)^`54%YbDFk|}N4%$k%!Ug(Hn0`q8)H;?X!NcY|PC4luS&tEH&1k@eLg5E|NC6utU z=EULaM7|f@34qqoRfsfi;Fi9YEunIcM3Z{jJe?bjm0L2p4d=~en*HhN@$8;l%hj{k zWJPP4*7e2K+_?IL`4PDVGIA_3-EF$x?{0Ro zZT_;H`GeLr%g=MKHl$bKnODbwF&4$^^V-mF(L2EH+{pfO0j5J!7z}I&JN8HVhogw> zWb!U_KN16tY>PgPGl>^GZ2zKJCq82dR9IZy5j8O8DJ={uJEFSJj(7$K_Qoj_qTy%2YD@cY|K)k zNN5W$zp=#aHv^O&+20C#-woNt2R5hV9x(ta!Sh>Qn~?Gea2qzq9lxTaRMP%VXE94} z$J5p#`n*Kh=sIQ%gUo|A((Ukb9GFAl*nXKe57fL>^WRy3wvE6lz0a#+=!+}X-Y)g^ z-*tgze!#+HFuFUTGE-A-63I*6>!`Ur!6)iB3p>+1=P{}YN=$svQ0E_g|JZs+SS$Gl6}54MqcNp_@;|g47;}-|m)DwP zofdn0v2@$I3_WIf114vM+razie4;0@-+*B|{hBe>^YMx~>r$_|*TITW0fq_9#sUX+4K0m-fetA2#@1F;A*1)y!G0@D^K~}2l3d12fccH4>L(A z(UNm>E4vh;;lSKKP$eF^HX0nVlHXD9V|%0o`UH@QfYEq&AQeI089Z#?Z5SvPsR$-~ zIcZO&XS9pP@XQLGoQBZ*%n)!|ty)~sASE2Y*ovE?f6%H^5y1VC{7z|PSk{$o*!LxW z7#D9GTW+tPCF!Q5rhY4>RJCBxe7gF_E0I;7uu>*icIO3KYUc0DB-9xtuPd?#>m}nR z^42O6yjfldcQKl?K}rb89Nh~F#e+r)3x3hO2Nd+R<`VxxnKl8`y0gD7LycWI&Xmj7>;qQKh3JQ?s#ig~MA%)zQFrD9Fn%)o@R z$D&ghp_W8|XrQ*X4z-oLRB|(#-+R`acyKBlehC8$!Yn`3P;8Ea*H9?5Sk%P~!`bmF zMKip*1THOf1_rp^d`xuYuD$ju^W+uiIb$?sTzMNdS-zsWpSj;suFw6d`BB{-BAbqu zH=fV@SR}K8CFtaK!MeJ-@qa)d-fZvZ(Tpr+%q75J|NlqXTSrA1eto|nA}C5rmmo-Y z*MI`jB}g|2(%mpfcc-LucXy|BcS?5-FwC5r=l4A4J?~lX`Qyx5ESD}9Gxt5$wXeOu zpYPsxbo6mEA>wfV+0PoGFs;x1Ye1V9^Tov(HZZ6nE)oK^`zKxWl((RtJfcoz-JK57 zbA39fKv0uHoz%Y$47SpcWrpF0Hf9S#vc9eZ@?nxN%=>EB`TlGMp-xup(*wNM4E16b zIJFH5)Qc1qo|6z-GjIVu@B;90Qw^TPdVaQT()qb9-AD<~Rz|5}o^q8%H?y@*M({>>0b3VZ)PJL{N77X zWXOBYd%MzJ!B4b_TXcQOT|#%Aev!F7DuSo5b)|@MmA8P{`Rvm2Kh(KT#(qnc=czM& zDCq2jCyqG7w;!FO0_x+i=o89}cuHx$ zrS3WMe8ojQ0IjVx&tlhW$qZWNa z2L_UVAg;N(Zg>Z;s;aVFZ(rT!0ot*9&sO-0{Q-lu1LWM`XD`3or7=0Y0TFH`1ZV2A zZn(R@fetoceMA=qtn!;(pw6b?wN3I{x7;nhD*ac07|spxa}%6oYFm=C{nP&**Ah@6A|hqYXiyC$K~13>qv`C~@#FiI#jwub}fhd}=R zzCOO`81U$Ch~{3!=g*gk2Mbh2Mu-pqdvtP;K4y!DE!2rh4(NWI7~9g279Yne)skL*tTz%5S}n`$940mmq<&s^w64NBbQa!g?Fg=-h6m zM?i!3ll$wDHY;*?SspcgmaP`tPCsAakxO+CVPD%5C9e?Jz#?^n`E(&P&nk8uxCN=|>O@jf(oxNf0`tHuDs+0xAH$cH2z9s5zR7j`guvn6r|FxHNec_=u!l8| zr!f$!brWnC-bxHRZgQZ8SK5<_g|jh@-_PlDWH zW&D+~p#u!T{{cZsXJ^s`4pyH-?QC$NqpTksD*^uF1n?j4A41}?00Cl(4DAau*Ko=C z_gGV)z~OPK{Zpk{fs0fXf(hhwUrA}=L)!q*jbLYok_RIB^RdEq`6D*xa0Mo7Ne<5OH+P#??ra;=Q&5#6Q->WCg|T+KOY)BlL_|zbi%KF z+wZaQ0nIf}KeQ6@*p5Cu@am6sKx*h-u+_>C6lvivx25%Bk^s&;YRlQZ!b! zSjj)4y7_X%O0P#}VEEF$(|Vr+LQzEh(is}8>mcze7VOeRo)M<6{M={CnZzRB53d4xD{J$2 z#q$2_k=guvbJ%2GmLJon;TPuU^dy)&K!*FPn6i|)eb zVzJ-9@iO=_o4nCcUKzcXM%w$)8w0cJ#m&zfbC?#5eAjMO1dz~La{uw1oQFH%Vn0nI zAvkhBrCg^gRJOEw_Cg+2M3lb_ET7~G@2Mo5QF@tiz7Cf4jeT1S3(Zw*XelXLc0wV% z|8(H}XeXaN>5hMlMQu`N;hx&uU%%r~rdDptOM{Q;VdK~}p#d0~V$##)3=Ju%tEm0O0}VoI_3IdS>I>jRtT2j| z$hM5T^G2cTmPb{U(>0GCcoUjZt;3LKhBBT*JuRdC0V0z?2?3A4Qskdgi}-= zvWIN$f@*J8t)pjS;mE0TyR4LX>QAa#toB|q94Q-@ zJD+aFsXcV}kADT+SYp~a5|G#7!Ua*}7=v#yHf{RJvl`oyEwry5+l6J83?Vj_=L$;+ zV$ROoLPA3MXI77o+>Ck}mD+Wf`1k|P^--wsY70<)*@>_qnZc9WIvDtm$1iqKu;95L zcg0EBJum~iGm{dwc(EFAO$(N@9A9+8Qv?wIXj5jRze|QI4))Oz_ma#HD!L?v@pTjz z2Cx46mwyjz1jQSMnzQ$LwI7{xy7X#w#+pCZa2d|7DOl4{!G>j4p2WkHXQ;Z?f7EO? zEp-<~?3tyvDr@LS1k69BqNwUg_`;)^d5ebdW}!af@_(Gp>Xs8QFdb_&PJJ|&KfQ`a zz~8+n6m{+IL}kFxHg$nVt|h-HeLXomgKWivMWv(jU}z*4yo)@_exWP7Q(j<@Zq`y! zm*A!pw105Ak)3Z`86vLj-N2Kt*7mA#-dYV#EHg1odWy_MwoZFzp7_$);9=Z?4yR?o z|K_b;f{p^JNM!^a6pZvN#E^}yJ z+LCMJb^7O_p#+io>E*SO&lg`g;3w0R0ZB&H-d0ClpZ2-0MW24WgrwpsdV70=!C(+x zSOAbqelORS0?K9Gw%@~B4dhwIkIs0<72Ca+$d;bRY<UW$QAQ&>rZE{(-pThG6aos*@YH2u$ zz}sUOXVl5MX}i+ks$5*ftKn+qsv0kIo<|BGAZ}t*y4S5WkR{Rj*==^!iU4M7E-yhMMxjxW8K<3v3QhBQF*R=EA++C1inXHv!Y+e?q z$8h(WxL6nb$$`L`u> zqG!0j#j_i~11oVE6Jx_0Y?u(T?3V@eg(!DBly;s*UhYi(1y3iOHSJ|o0;4vHGv_oB zwm!*GJ}78Oy5tx8?R!MEjRBV+z7s-z`UO%O`Vyj~s6+C$MC)##W9fp;b~#InLmu&_G*5V8OH8AS zcgz(mX?({VvE#}aZjvDT{x!!nuqtF+vhIbF{)B!Nxy zIBV_fTt7^abVncy&3kExD7pc8q+0Vr#e-cE=FR=dZkv0LN1qfm_KD_mWE&HK20cQS zo=jROfUqsxNS%;+w&np09HuOp6`$sxpN!Y@NR4(91s>|!7tbvb^y?^Fe|**3jT z?I#Z%FUyJ_556+CU)@tzgUFC;p5SjC z-wWa-lft|}EfEjr5%D~q&dHY(i;s?%8!(=wp#b>m7QE{`XlVG5m<5{mBHBP2Eo?{ti*DRZAGwrX{`pspv>%zp;Sin3xP{gD?*VHvNkf4OtT?U>nX+AZP{RV zpX+oC`i8i8-!?b%9y;pvBXG{!08ld18@sW~mu-9k`>;_z;2e=JLy6b4NpB+^+32!>svC(_9BS}yIKgv*M=9A$iMHmh#JA!8 z`|MLA2aKg`%rV{X4HG4u4{b0I9uawsTosrRkloybb@XE|zczOw01>H{A6V&1itz*q zQ3Y-3t}Qw#56!RB@`~x?iz^DWh<)r4(`wFiBm*C6-M?j0=`b5OkKK{pfA>6g5}sHw zz-Mhi_;(Z0ZU`0^^QfbfXTA`mDSixM$Y#;$Cb2$AEmS8)K&SH2;gBRX3;}N$h|cj6 z!20*r4jm);U|}vHirX0(86PlK{+R-^k7)kka6@grn zi9@Qf(AM9b7qT3U2zPi&sTR(Y!;dfG?f;IC7Zm6J5QB_xFcRLj0jbs7DY}IcPzkPn z0<Um0mSBz&RLtoOz*qX>xjcQnGaPx`hIBLjt*uBr6uD==i(;W zZ2*0^kn<8l)9Fv`I5rJez}84O8fvWJcqn+{>N><9?IwNS$C!cAW3Xyxm1N}j>lZ6K5$ME?)=rOkom7_PChEW6uIw>&Bt-i+T?b@rec=*s*Y;ZP!J_upV zV@G&e9C_q1G>C|#X}_WeKB=3-E~HQD9}DauWgfEe9F3Zro4c4dzxBU?KY*M3{${2k zVF#iq0yBfz$USYjTp>7(k5(|~J>uq>%|t*IIS{1~e;ZCPzP9=Op~$}!RUx?dJ3VDn z)A{?C6yt8K%hv%QjvuIjLB>p|pL@t(?Jf|AN5-5kQle%Xq>nW}Z6iHoTh@#sz33rl z{YNXMJcaytB*|C#wdvMaD8nfrApbryJ%#V#K1#8-f4KDi{$AVFwv1lHWu`8^jG7ve z&F;~WvRtEvrZhV{TaN~G(~nAjD>;fB_dwG5e(MCIaD6aG=&o?qiaP>6N~_qk!2>|J)jc6yMf)MkGRSw}P?IG_G9 zS9yn*l0ZW4{k}8zCB9`-F=Nkn#nVdNW;^HR1c8s3)=cn=`Gj%xEsVFQf&|i$Bz%UN zj=m8c3W+SC*De!bpRowubRoZ57HiHkW}XdpfCR zcCT@qFd|nw-VlJP7`Qo;cRLyiS&vUQ#=zTkULnWdfW);!y)y4Dp+(U*wqQjGmw2+k zhKs5JSMNP}Way4boZAso%xlu%!J+h`6ZW0lveEZSOev;iGh^e*<>gK&xBI)+)^ihB zcE3vnD!y0F{|bF zlMH=ij5GzrWxPH7hQ-Jagc{i>(z}m+-@IuPFT(UkKh$M8_Vou$LSUB9*FuF7HD=Z` zKC%P*szaZ0qoOr}US88v=+Tu|B-%;R?-p<5kG2#89KO7?vL-XzmkHAWc2c3)i zKfF!fIsCT%W@0QZ7aP~Rd?Hw>x6*U#V7KFn9`a>FelS{vf(+?>`0iDr#z38O3x)AV z`59#ebp;!j2F+l88tUSJv_@3Oh+}dWi;>3Zn{9%p+DC*58u?viAHVB1+G^LE)jDc`Wg+6k%2~Wux1+ z_`^eU!IP6xdipIO=gl=(ofb=Pe_j=qAp8NO^v9?w&PSy#~b^wgXT>l@uZi|3C84kVnj?#Khi~T8829-S(|0u z4uL-cQ8sW;vN}xOs89O3+EnW245bzSox@r*@)-un)OHM zGDO)n)ystNP?_eQ*S*dC$*D(=W|1i83Aj$BSrD)a)RE6dl}&2x$nzf;Qi@uvBIhV6b?o0-S9fV`D7 zs>xZ5rt-Pbr8ZNg7f`B$88I^>oMAG8K#KXBfJ{W}(WF&briXvi`J(~fvVcR%StkoL zsMe>oG^=(?X9_T~3{rq9UouR)x0OvJN2nHk_llFMH5g zv-JNE=sgGw#F{;eHq7-KuWI|M_6G?@^?q;+cdO(6A1}a0?iQ42DC^2eFAKkSxRP}0jUlx?w{~M% zpph@TJ^L?hRDXpzf|naI#-hcO$3E6Cp@^l40lkE=hk-avH8A(BDCufa>3$^eSLsmu zCuB5u*t>UczzC@WikR{Y9J*>6L-CEghu%#K+L+eySLFW6tyLEtf;%?3*{C!ym{@(p zOL*nd(vm2s6jsWL^4^8Z>=>i*NpP3N|MSKT8b`%5_$r!dQyZb%by1$j;`0-rJ?MFcXs}m%k|-o$m}A))my|mEL<&tg=Yh&j2+?F6Z3D%naw&VJy!J zSi7|0BNZ&Mx1I1puilc-ru}~RT>u;y;O}-)H{Wjp>j0|%P~BG>Hp{z3ibiMao~!3P z86K*$Gm6nk18X`h@sFyn6oIU zv+AYkp@Z-4Zj})~awLnU_ed|HBNuWamKE+<5KY&SQ`7#@5wR;3Vjz+9kQq*29A&=3 z0Fi*;&_6S=+q0#*j+^nb6&7cUX%3X9_LV1f?1G79FEbViV14YaIUh!Z&s(Tfb+F~yGoHT<7?oFqDWu#E1c~!3lOvt{O>D+MwKBlIT*^; zvM6N8#Nst!w=MgVW%Wf$N;`_axVU&n_!C%gm%yQDYYW#7)$<`U07KnAbx1G}sMgD~ z8z}3J!W|LMVOAy6bkZLeUT>1W1b&i%!WSZ1g$VDwObfTK*~D;9|Ii29xY5E2|FAOK z)xA!z@j<*kGc&W|!O>0{$n`A{rQqA<6>qgWanY>bz6%fj?a!rM5y?x$bS%@|-P>l? z>)u22_Z{_=tc!%i3oyp#vq1cd(y73cq^dWDVwu)YvdI&<>gf^6)m|-$dzT%B$0YZN zxh~|NAt-8}AyM+}Ly$0c35DrdC&$hR25H9m{TGU@kNSdO_FY0LXoKz0Q!zsWAV+~*Yjpw+mlb12_hF5@}o|5mipRn9S zAQP}Bqf?~B%k(qoH~2XDz3^Nit@qQ>7o-gQtc;YqtJtYoCl#SbzQ?sZKm@WrD#mnL z6d=vHg-Zi>%Mu~76 zGl>5YoTp%fsoQFYf{>IAWl7@yRv=Pj7_T`kH8uVSy zf+0~oitbt&FFST|Kj-Fud(Td=`q*-&#GKjihyzWB(MqmFu zTLEqDQ`!8_wXH9}cnIN@??)1Ev~sc`i}zQ?JDDUrIM+j;k|KGB7?LUFY>ko&1fg00 ztk5o2dDUqAD`8_q>@QHp%F&!h_Ajfxa%Yv*PllCH$!2A-M6p<>*eBw9DvGQRJ+Uok+8<+b2LsD(o_CRoFgy z{?%U~LFeQcY+E*562GqN!LO(L+mUc+I8!_`=D&G6!vyV2$IX>k^<7$i%E;uH!o9sY zpXA(ypWk z?t&s^d}T=7ipM$sT8S3f)c9lE;gOsl3ovl~XK?rq9<1|fx?uY1pg>GE^Yls>&P7M} zKUZIY2BS&f(IvwCOQW9^o0+)|UiZ4I`Z4;u661N#-<_@&Co5;g#(${zDJVG0&7 zebG@Mky36rLU+ew-U(lRmp74^DA9X;P#n(rxW+X*!fSVk!#;IJ;zW>pp_w(m)95Ur z!V)q#ULXL<1nx5*60crxE)!G4G3A*@w3IWLCmu(5C=?@3#p46iFQ`NIFWM`Z1X(#I zj0Xkw=N?o`%kY-~nO&D%6Q{L9PplJsGpm*}jELZvxyM<7k>9lqB>hJf14vT*>Y?EZ zQ@}9Us_KvaB&=PSZe?U@C}t{ZYbIeSY&|m#*Xc!v>!vQJoC;$cg&+q zO9X)_R6hjaxRqhTK3l(nez^kMvNdh|7)u)ha+W$xS|b^8gZSQFvA)a0D1stj3KyEk z-S=u2mQIlE<4KEOtknrqzqCL5E7(^2yA>x0Gf^UEVK6QqfidO6+}4Zw#Q1X&d35}* z8mz~^(n!|$U8BqT`ozRY*{OYj1E^4#cg?m?I+7i~GjrIVhXE#cm#Db(a)loWbrUYv z1LA~tkU_K*dYP!HtHLs#9s`EBt&WLihakUsN#eqUXkumC39ef-9v&X{otivh zKXOTwDE5VP85xcg>>MvFw-i+VNm!Js-us&DZ(h8=`zgHet~hxv;HO)zB1iVnha(^D z$uRe5+kAo zthkY={EpXYI~NhekEVZra~+)*07kg}5I3H@R^Vs5k zV@}V2lY))^RYofna9dQC#P(%`0~7e(J;fvG&Ji5iIVE2rhY#tmQ65ZurTQ|tNxXb& zb@ra?IOnGQ!C}y2daJ`q7Zq;94lECNUFSM~5|8RSpkw~u6s3?qgi(@9N>F`BhVvvwdqve^=%Fta(8^)} zy@r=b7x^InC-RW1(!0Oq<;=4@;8TmrFJdm2RJn71Jj(!`ESJK3;jaEJR@D7mdh118 zDlE9}kph56bQ8rCcsu{>%(wX@U%mRib5pX43Hu`R9BSG>`okx-SYUJGv10rBNbb13 zA&q&tyv?%s9Bc72rE5s0{iPa*PsTxCPNdN_@eHNXy0_T|Drth1C-Dm`C#-K30PJ;< zqySQ#B+DM&?n2~o0^X(WaX}BtRL@6(OT&3Y?Pk>cYXp;FcyL&85RJIFHn!DJF<;Sd z^v8Bzbv100>{Nl<614=#;GXkkw<~3Lqc{7uvRlBiEoETb=`B)FKi@K)ff>^i9=IrH zejlHaSyul{l^F7^(#?{J8P%j_QH5)eAq2Ellgm`vQ!<+F0w4kHyC?2X(c4(KSFpEf z#IM1GC;u>Db6Vn3yTr&~0LpLw0$(d&Ab6gfV;IBMX(4yJ#}qUd9`hzJm;Vs?l^KW@ zbwKl~j@)XwfO=FAaGVOJLU8iD94yc19Ojm1xX{yp_4L9p$?pG~x-XUQW`*7YSnscP zF~XnwijS~hK+CR`*L@vVXBJJLl^X+4zgJ$3)p`N1N29a8g{sMq^ei6yXgAt-KbBx) zpJsk0*RS;4$Ce$ryL|EgJo329Id7lkf|vAazMql-T9^oxC|*EeZ{6$$1B|2XKL}e5 za12NT!<#~lY9S+LEFI@4iL9KkYCWR>c*wWRXkEs0kg7e1@L<~ye4>yas|)2m=mYPH z4SgzQz`fda-vsOIf_k<=b60TS?r-4c;&;50Meaud`;6s-9Ex|mH(WNJP>{~Ld!>g^f=T7d?Oy8jN-~$d4L+p-E@e^GaU7$9I74R376@n`e)e`|L zJG9JzEb6eAkO>b8tY72$c)AH-Iakt%F?_?XT@`z)E+a#?RvQ9@S`k0?D)vX+KSAh} z*)&!AMG{$9v@?eq!Nf-vR?lG3y;-0!xmNt6#-bQ+&e8``Nt5*a`+qwvS$!)qQiwNR z)PZN(X|Z|OjVnq@e=X>83R;k`=Quo7ozt=E>uj=LCj(a*Q}r$EZeH+Jbvhu&f3vz4 zdFq^_ZNu}l@nDgitFRJ+yd*qOC=@PS7yCNBB+N!Zvw{iB8R&TAiH>1jBgTMoOx*y`NX>jJm8U;vU0po|GizSm#TOzXNtzG(B6-LPD*$Mkx61R^mgpgH$+L)0 zj}p})R6>nPhxj4f99qM?qlbU6K9j#ClL>QIKo2bbO*CuW&rlbNw@Q1~0T-sA=L-x7 zP}0#knZ_L-A3p-JN3Urda*DJq0!F)>>6b1vB;qX3~MENoFll^v}a}9E=Z6AmIT~` zsZz(U;&eVcJ)Fa^g7&@|YU@LQOdfNHcEJ8}bdXg?{1+20$Z*H@86FnP7m6K$ZQ1;3 z>YWuD=Jr_juq*f(DtZ_p5_zF7yiR7rdb%*rOdD zMjwbB0$*;xLr`q8BAX@~0{C(Y=Ir zyY7I21&kry`ZY`{Zca+SWTa#8hyDIz=ET{&R@Wv$rC*H7Cc+cLX%1kN0A#XGVw-BJk~z--@aM53RDP0^}7S!PM2`by!%Ja+q5@2qbuV z>S~NjjOX<2K~%K>PUr#CC9E!>P1}UfAk!Wg-R)0!AfDgbw^^<^!X1PpO|+;Ze9p7x z6+I~o`@I3%0&m6h9^dxs1*S!!z_$K=@!XRb0Hv#}phEK?Ven7+UWgv0Z`Yk0LA??NG zrR2p@)vm{r4Q|d)Pk{M%3zDV9#E6;s4L0UPd(Y`Q1G|Yv#9ZeP0eSxfpIZnatgkoy zV+Gi=&x<#GO!SdX+%(q6r3>Ql?pt`TP80gAF+_&zse~ zaT|m%F*PSK$Fi2o`X>cAJ7(%4#`o@y%Ea1p?gMjj?9|Hs%^I8yG6FrzQ0`CCo*Njr z$D|%mg?P^`955eZISR}kMUVt`In!waJ!3+I_H;C~sey8!s-@h`Z4m2iDu@D3AC=}|WB6D(SC z!r_(i;x1~>u(m>wc7Kf!dlSqN_qs48J?5-2t1x(Jh4EYJWjn%+?d8=~QE`!yiE&=V z0(p$ECE;yTG0=R%7igOBq7<8s2nfm3OFT*@RzW}u52O-eIZELajA5bI_;ma8`sStz zNY{k-Qw#sXRK>;fxe+FVvMCW}d8j;2ZLv{dXu8nw)AiuHesZ{g*Y=rxmHFAiHp_Tr zIK(tszDpN$zRn#5*k2No*hyd{W4FZcw^JH*^WhyaLLR&qC}6^W)H+$`qdm{VI*H+I zY4G-QjNAX(3h8n`FjOkf8|GMk2MExIY6xOHuBlE^9bzgv{9<&)dT&m!J9!i{5-ADF zuJ|Hyu$Mr&ENe}-?XXM)tceFEysfc}074Gi*3Hh}rKG-fU+iTFSy}tnXooasB8gZP2(Y{*pFT^ji=lEUm! z!8H&8IAVgiE!8%B0Ae4n4DN3~#C3#eS zyCz13gz9~I=yvtNlKp^L{OMv+6^xq5)JWe+=rd52V{D#fNut5uhJb4Tvdg=MT8qFfl8}Z?&DY$n&i z6tp9wqfqDN@e^kKz(b8>_8mST%^o2gH&JcMNX%rAaA-!^OibunudU(&CYP3zjO(tj64W7Uo5WX4Bg6I(h0 zWa&wxuSbn<+kDZm_Ph=6eGwB9J5>uh8~Lm{8_J7xH9O}+$Nd;&4_p^T>FqFM zN&f48X5c}lxTAMKee-aXGw*-~R^&;Vbe42vmUP_UtH0YfKg?zq#4ycC{mrS9ni)yN zkE2QU%6DQz$PvOwXZcqq8i#LUHQ1%ae%?fzL`6$ChGxE;8hi5)(;8)~@?L7dpjVH1 z2exqr?T$#rgeiwZWW>p2p%F1wMgd@oD?q^0Xh*-&qYuC6U8m>Dt)iIe3w)(qsMHs4 zN%lpwP@>AHu%y&jTAReFL)#LlyUyL5xtwEO6pQL19TFfP^WqNxiVo7J*)N1cSsbBC zS0hV!g!NxEMRUc*0$ET3P5%oCeB@{a1pFP57~~>}8l+g{B4~&uuqj_MufDx2crHsv zB!RkxG8yuSvxwIX-tZDNgJDq56N3{Zj;xB`sbb$f-L3D{jQ>^%v@tQse#3PQ8@0uv zNJvNDb(t&ll^j1^Aq13rpJs#mXuz3g_{e8~E-dI}%e{g>GW>9s%n{_57+@)H_QTmF zL8A22KJ`PLqPT*GK+0Jf)@HQEr$P)pc_0ALMX*c(GJf`}W=SsXcoIZ@TcKI^`#r<=^NRuU8jrh9^hbs%6hfEVV@Ype!VcS&ZQ1 zQGET{#kKBu?&(+wPe(Ueb_AbzJ0_ zhV7N!?hBRK8U32ko~lQ+Lyx(0GgVSMPOo$7X94ufv+|KM04lAo=SI~bY8pi94!S+t zJJs`)Iyqj-dh}`gC$N5B0LuhjdX*|EK_BLW8Ucm+pVA;|5>VK@YPI42?1tpIMqh7luv2e-jQc84l^5~(S-3>n{5zsTwnZOY>Mz;s~B#c#Wh5I1mm_6{$lI#Q_n%OvEJd ze-q(Ba&m@y1$)Z5Y^W?-jZ&!aKh*x}l=<>U7L4Zx&WI~+iO*__;omM$1IV|pNp1Na9(JNG1M%h*X|H+QH} z;chTaB@JI5Cc`PZe9?M#;|^Tn|9UI(-nLXM4djJHX46mE8H?j9Edp#ghG($tac)IJ~s+8?d+tkX4-daYeH(gd-}zfPM}1 zM+}T2U+l!md`;WIm;Dc#fb-zPkE{_1xBLDbUG0s>O{w<)hboGhr-r@S@6=0*G1B+q zQ8LM$x5U*}gQQitSQ7uin3IIUf{G9Mvsy{tmv~v<& zp~VKs2cX*9u)^kBkU#?93_wk;qa~o2&tYK)+!$LYdyuNct{n-ySEw{$0E) zzwE0Aswd}$RE|!@i~?>Kv=kZx6Kbz8vha zQa3mGUHBe%tDIsI_GsXZ`-AC&`|EE2%)4{Tg#V7u&GvC$?(qMa*#x{wzU2-hxOHb8hGSsTRQl()ZM zKz={T{f?v zdEKaigBAhj_&|6Z!Q7czP-egE`7@l-k>GDs*JBbK|b zVw%rJ@#uKR(*9E3uus~~qv}lY7*O>NyQ~br?rGI97R>+OU$I33}8iUV@?`h509rpec9IYOwH*cnKR^| zA;l}E5q0!>l_aQuL8{@>*IA6+1sB~ZpyIrZxz6d*w%^O&1CIkwix5B)bPpRe_uZ- z{1&d!Ec-~^X5{)Q4S2$+?am-p9o6vI82Toht83i@78HaLu0vFD4kcpmI?yQrMk3iN^+I+X*n2E+KQG=6Sj zxnIa5B>5fn3@uxL3VfzAYVPrH{KNWT@+;@woy(j9n-`zlJh%H{gf%}R_&sN6*=L-9 z3CcvIPwNY5OZi^(s0Tsa@SM0$_fWOc&+?LjGdV-%BGG}454Y7_kUqbkMnO7;RFXQYn63p-OwwhIWrbhL^?)^_&l`p@ z;MtRZdMJ=XXhKjJMkj&M8e8R>GJxo?H9wa}o_3aiJi@SM2UG`%qm?E$J{C zgk)Fg$Nt|m;^aRxBKiMBBW4j82S>JN`W>R*zAYU*QfqN2GITg}7ypXU&B(L+HN2i; zp44G?Vs^F0`qdrhUZ)W7~gc)4%+z;Pgusqf;}boyu` zPccA6yZc1Qn@JrqG5PA6HW`3MQg-_=izWu&U(_KHp+?VW#)~ftfB?K^8o|_dZ=wcB zdVXWRL!Hz1N#TI!o+nM}wx8cM3c0oxv!YX<7T0YD!joo?X737M_Vfr=p0DAzM#cY} zpr=jIQSuox+EH6?fDXRvBXfHh*qLu6_@^Zue8FSb28!ZAN(;l!|Chq*>u0{Fx13Jf zzgt##56^^CMXnSV%{#$NGv3S2!P)kL?E~h<#tqFcxM_HvVvr~07Wj3^W}#8A14Q!{ zoVxppmW>CXBc`qa)#su1p@JGVaMm2g_etTQ7o>jFp?a#a2>_F&{{WM!tCm;@6`=f0 z@w-vW&QV1qPDozl%lQdw7frmu`Taq(0Jmbs+PS?4{^c_j$4RzaCW7Gw;vdvp>{zbF zh>kdz6nIp#=uZm(NuoEZb91pKDpnV-O%dE3oC~>Sq>~t4X@X6wr90$OeG6`K;|}z(6qb}w2?(SDs8-rg1~u$$5BAS4bB#eO z1vr;J6j2yH>#~2-8Z>b7XMMFI`!`^-rCci29cQ}lK%<8N*^EXyFDI;`9a{bHgv7^p zSZ9|+NDEsduo7Rt*OP)`WvQ;jU%{z-B&y;fUp!zc8D4tqmzU^ouTL{A#f1H#=Kik4 zKEnFbqVzqCf%i(!`fY^4T5N#mttd^Gclvo|PWsbBFL@OVBcMY?|I4P0m*J9$UE|~5 z^g~ezG14h>Js*G}0!xse0N{NTQ~#8WU0X(wX-h&w7j$%)g{N!Jn?JW%OaEABD4wo% z_+L$m`p->@Mb?HcZhS{?M(2W6JwSkc5%B)m-QhF23*907wY}F#9Sz(wM+5d^j?<-d z-4Qo^>*=~+;ltGOD&V$7(N*K zId2#X;}=tKLBWr!M}235LqY$}jUvHmX-x0*n%RsG7)B%Fr5Ca(fL~x-wCV>ak#0;T zhWK%n8Ji{5N3RXayl~_?|L?9qvp0+KHXap4-0oT4`Wo*hg_)F(?P-Xe)lf1;5`*~b zF4ADB`)2>oZc2#}SET^$GL^ru6)wFNrk zL2%v#Tr!aTA7aEA=kbPS+OlwW)~o$C)xR_{*fl#qyG z1a<)2^!I!Je`wPZ;&okp^`Q^Ui%KIahHQoQCQK|9xYV>CHl4-LC)%W+h3p2WaVFSyNNmfAvCZBb&;I10_hNPc!A_&^RvrnY6$bsAE_eg>x5;G z!9W!q^(-zB{c;>CidR0+QP}d`R!++mf}ZdRc|K_rrR$p_aJuv;R|;+`o1S`jG2K;2@~_@{xk_nIUw zuCTh1#xKJcQJB6c76;w2IDW&jX@BVNWHk0ECqeR(Y_FwaWYzcG=akrFP%4u8_49T( z?^l%Z9r5t|xGVMjJ0c2ZXqdWiq4)ebXIBgDA~d2vlAat_eeEW2x%;zI>SW*-Ycu;1 zY`a*wT#9pHYTQjQ#*V6sAkt3QCl}|IblVf+a}`TKse8%sWmfk5S+1NnmgAIb^w^CIGeN z@@3w`-9v;wvK2~2E>?W5mC*jN!Jg%nxb)_ zg{QegZ{os1b5neoVuG9QD15fb&O1OmfG+-zj}(LwaV9nI;=?>Xeg<_R_e}qT=Vj)$ z$Dw!nFz8)T*KeSj_1}1uu-b~|6YzADn*57Pitns;r$yh2_bBQ9+ky~ex1}obt6I&s z$wX68DknP)1bu0V_04bWvJ8=O!9N7#!hC1w#&%L}?bM<=8w%4=f+T<=r<_n1=41~uy^!e9_Wu?s`4Hh2UCi%~Mg)W6^@ zCk{|?0B<4CDBc+f@@vm)13C|iV}oCCS^PynRzoVDEW6isZlDR&b!qWfF4CZ?SD{$; z4>CR3&DA}fMs@ko_&R+~hj8+u&#AT9zWpXJu8vf z&W*-`R{Z9b=D{=uAQbdTJM{VbgmhBFG;03v(gz; zMYpnPrKBVE?{9dSV?`i4I^(T}rz&=;)u%tpxVhQhd*h#P6PV(+9pJSwO#&SG<2Gsc zt>#qp{lsVKKt#nkTV_*}jA6OOAZ`#v%B%;lW)~BM5S}u<+s(X%i3!77(M!??<`IOV z=Tq}w>v%`?dr7qY+41fej%0W!P*u!);*-0asi6gndM3~3(M1otuXiKog0CTkHc3WQ z^#XAoR|=J?W#iFBm5g@j<4)Ls#1}IbkVFMZvjQcWP@g-PoB=*QzuS!ZtPuULszKLo zsgtOb6ZMSE?=m*<%*WD7MgdJZRQ8in!0&Xnu?DIoU|n$H(z}ffqV=E)Frvb3Lo@9` zCi4mzH@5M%x~NBTx*P4wqVh-C!{05I#&Y0}1D?>fXgc5sw0b&8+&arzn@>oaW^0>l z$NS=2K-D8GH>1LzWhg{Q(}P*p6SPzM_2AtQG`-lwd--M{!w(`R$u26BD@MQ;_!ekJec6s5&tIC2YR+GOKD5lk~*X39~np&><&))^S0eU0|p@?rl1tPiS< zkX_8D!i3db4_J?AmM)X@?WofhaB;FBiu(~Q@VR_8wHg+F?FIYmx6Py394Y7#=G7NS zxJ?#xvOYj}gFG0YJh4FQgk9nd(sZoqud5fEP1dj{W0p* z_SLJrI#-P90$fyAw{DISr?d_ACGXZCl*ebiZSo(av}h>k3$=aszU64e{uZlCT0m3+ z6&<}MNvo+ot%INVkXH3aRs2v>=fMn7Ybq+L8==dmc8Cm$(FUb+E@y=lOP(HGVAuXs znE!rej<-NZNh19o+?eH=B`7)siRxy|yl7Y5c>`+@?*3mh;VJx&+bcPhC z)c7hY=PHzZkfUr8llhjJz^2}O4S$RKuGx+wf}|N=U>6DJpnE3)1#BL=pt{2e@;5vv zSAo_tvS75;L)}9O0Hoj*$dX^GbG{joNZbuElEX%L z^Y=EE2O{HT)}c9#*$KXBT2|@|D6gZrF2jwu+o#o%J5lZ^*Vbwhlr`Nic-SAdhs4#T z9s^fwHh!Czs*b$(lMi3tjfMnK%{Qiw-ru$a==DdVFiix-?+J>@@!9$BkH-YLo;kb1 z@~onLB<^bpFdq`FYZKGc*_U1l)75)WPIIOs*F7>N={>r^q?uRgIU7HJ*T|(%#)ree z1RvMy>#C4_`5dL5)`?kO97X#=Ou!^BvqcA->)a*)6z#%<9NMovm*D%oa$YGPlJ-EL z{mR(foC(YV!Yuufu&mwYi6-i7ul5$WX*7AMYaTvVi5kErBeSNZ=3lw^nuv!7(;|+7 zzHNTA3*HF!S^r#Qh0|*3t|-Y^ShE5}&m-ZYZ^88wvrAwr2z6t?itlxS-&B>OnhkO+ zfjFLM?wtXCGyns)y5U*;5Chxe2DJk@+1v#8a0__UC2>r(=1#QzGU44gY!`nKXA0t? zPhm^`Np|M3AR*^E`Q@2egj6_1KMi5Td3*-UMeR-k_VUk!L^Abh6WuSCvnsz-fD=um zl)@dCJoRUzFdPg>`Y5vI|1S^32SMJg)|EstUV*_9-~DGf&bl=r$1%?rkRqE+k3vrv zGgA04*tPWm=S42E``HTrEFB55k?yWtOBe{W5BLqG@ih0mlV0`zcQVW5kPI5BTg$h6 z|C6K?KhObzmLQBnEEN7;$2Vs_=P+um1xs{|>E2Oq zUb|BlDpAQRC1b&V=X>vOmqXdm}{c- z-)s?4Q7*GWi-LWwRuystK1c3tgi0U|Pg|#7S_12Rv+WQgFmhK)d`_R9H=xgZ__ZQDm{_L9sM z*{H$BEE8xn((govdd=VX^+`-4jN$>RwX}naBMo7hRjKr&wqKxgCk6uX072`vakH%B zgMr3hZf1ub$X1dGzry(rgsJe1;?dWLt??gSImEuR_Y=hZ_GT8Yz?c-8nKy6NKP|xP znKhOvfoSJapR2q^oFpMMcEhG15J^oY{I&wb*_=_5lJoH_#FuuD@?7=K<0+VcRX}XBX ztHz=DKGfOO_tWm8nS=k{Li19iAMfI1QEBt_DotLs(}!{O zYZOYQZ`hak&Ah9l8BooGg9Zpd^~Et@OE(X&3Utl)P8?eh;0{Z$X^Zos4F8+CYpk%@3A*(h^eD&~V+(%K-VIii&Me&8e*D;K=~*&uSxY->`1boz zX!qL#1B0hTVzW|=^|1UVN1~~3?6CzTP4{>-qeWwkMh`;OEXmto2$|4BlCo$=}eiIIxZR zxIEP?(*f2K?pTXL4=4J=CP7s5x1FM8%|w~$**b1T^K&g+fN9y!A^LnkQe_1N69~qS zZ^y_r6e$F{n<}hJI_kS2K=-I5xHA9za>n1X>jJu(T8O(mxvRd4ZjA?908keJiZ>W? z;q>=pPr5JrqQ|NSvKfX)up}EwdsN-m&Rst%?ezM+RX=zo+wr@-oY-O7VaTXyL zjTRv8Ci@G#J5AtYiC?L9G1@x#_|O9g;vhT;vK9BKo$fS!&Fk^cpR~g`aB48O|AgC) zl?p86{{`jm04P7_`#+%k*Z&R5V+9@e=Cf-Z;}@t>NC9RJ!vnEFSl|(fcvn>a)W&cw zXa0{5UVeL_~Z|z7$BCci{qW_XHEe{4`3~yC-NL)ONoWH- zRek}VfG)j@=4-*GeTiEtFDmar`JdPyaQPkJ#B$sirtmv2rN%}F#J%d5$QxkxP#ItN z3bHxQXuJC_UdUcWfMlaV6XHBzzjfc&3n#7f1o$1vO3VHmn^V1e@cI*KUc`QEfjcCl6Rz` z??ChaJvL)W?~7I_3j6fQ;YXLr?chggD7UdXF1AGdr~qR9RS#-sRuM?rxgr85{qoFj*A(VK$bX@b8U_ z>0?6P`^RjgFT6finJYh;M_h{j_k$%b0bU^OS{Pk}2 z#-+?phi8vpu|@fyw>(!@SEMx#89c~bwvYb6POE5he9BBV>QcGAos6x{^)h%~FAMm^ zuKG5C>(&q^5K1B2@}-gNH6ltB6XS$ht^{xqf`!)`**wOT_iPXTH7-533^KqTSEr(e zsG;_?<|D+blEp8_3;xJQH!874NJ|_frt<}?e&&Sd<5m6xn|C$${fP8-6s-%I$euZy z-^Fij3v->RRGJsFB3)%rQ)PWZxFj825Lc;L9n?(oD1=G!Tb*I2SSQa%*zZ_%6`H32Gq%2Ni+zLZ0_LdVbS>f0u%y>feVae{`2h zhQl8|jE}lgKGi=6wsp2#7#Sh`r(?-{`%yLRD)q~a!Ip++k-=rEWI-h_>jwhf77eF> zDm9-IK;@41M;o%&blN$OJ_j?$c$(b6ysge)Z);qJI5bl2T#L#{;Hj6dr>|MgL5wee z>{u2?(cSB_&B84#n;R6hKXGC8yvRzukhG+1YZtTsX2EjzFZ%A{!Q1EJ?jo1(dm7?~ zVQAkG)7X*Vz{t^Z(YClRFfi)cjh&%OV-s1h*!p{f5-OWwbs|tUdH4319#i+^{F0k zB;%t`s*Gv|M$X$t78Ygw3Au|~AHA;1pTx_U#5UHHY6cnV?p#3^{{r|4d?e0)&d)nY z__mj756MOUkkA#q(S*ZlHJR`9{Nh2eBWcXnk)}7Y7~i07HQ7;Y1tvDbu@z~d?+P%#iPJ;9g_^LB>-Z0Fa8y>cxED;PJI1N{Qy6Qf zb~@KQ(|1?G8RECrOSqB2vezf;%Ril^l5Z%;0JE-Pr6k6|poFI=J(;<>xf;-B+3=`p ze-1zy}HO zMnUDokRjAucd1T{kpXawa);tqV#AltiPmXIZW|8hTc6Wl8c8&J~Y&p<) zQ+O%;CJC5|gu@01?nEBhaU=XF!nUj!z8p`kmM!fsva0v9UBkO>45o|7gHnn54laJS zixFg2hp5amTk{W~hrSS#dwp4cczwgjpUC=plwq1!G|FlF1fL+~=tF$NijwNT{4hs0 z*4OhvEzUhu)}h*4_A*U2NnCrnRYh8c71&2TO; zf2-p1_4Uo5=6A`Kn}1>!=Q2eO=!tG$a)hF#dw$=62q@l9r{vWIs zoZamyjA^4XWi6W)Ut{YilB8g-%QfXWSMCfX#U;f!#^Mo{nB++V}u zV<`*~iR(R^h)-RzI=Qzf9{3nb`R{9NP zfL5$YBFV_pR4>MI_qm?Rd<}_HKb6b*j+jRn=pu!BNXtdL>9PD}?2`#}i}@NdIdk?3 zebGfAd>Z7X%uN$`{q=WXU0_@$6`{Vpf%@UsYXi-UEj+03uIIIo?D%BYZXrVb0{V)> zvPJ59-bTwB{y8qh)4?Vh|A9)2)$Y*E%E)(RE zXt57{QbLxhmDMvLZY9Qi@-HeOU3sLDHo!X8WV?(_NRli(azo!XNn`i+1=*6nJw;2+ zAl~51lI|DT(89T@laM%~I|}5JUmkE9Ox`|w;HW{KKWk}wQ>^Fe;bLoP&Sang_Y6c~ zuH$AxXy7X=2qf+!W1YNhEw9Jvlg9jyc+6tKmW;SjP%AjLfD$AF$wqiP)Km`3-iwJT z9UgK>?}QAdAz77D&!#>krzqNVwpP&erJf=BK^b=&8Qx2&0d9{5cJAcso!&!9GZ}V6FP&fr-xg-lFbCbeqsnpc+|( z(f#J=<+mJvjF4P(@uxXi19@cI+ij_t{Y^@Kl}4PtYaNlRFjRqwjW0aL_LH_q!P_SH zf93`q)j1v;jWkg7+otCo5eJm^yVv7jlBpl5+~ch5t|V!d;k`F{EByn*8^Wods2<^p zg6!F)F&jJO7x!zIi8(KlSq6sbe}D1p?YHUkj244t*@dOpO&p@6zDe##4BXt=*?h5V zNldzR49oVwEp&`yN`$Q}3NxZI7v2zrWCZNL#l+=7)z)1#cWm6;6u30KKo8KD>tBcU|Q>`L#Oxl)g2HAU0HoBXB5zbsc=WIuYA?6^<$Ae|K@B( z0SoZ8C0G@SYX(D;53O2mNi8`;LQf73JFpsPeD^>T1g+9!c12s87#pKy?d`8mI{I>R%uQ>z2C@muUM|MUg}jv$A1*hhpb8R@2z3*a%D5kTM$IQO zSmbW~()N8Trkr!Kmzg=Cqr@HC)qxuVheR^`C9g+4W0D3!OjbU|bl*rA(Xw~-ABUKs z4otl{Wpeq0*GO|AaLbpl_rQl=Ucyu%$qcBZkhns-{N&E`^o#2w-9u(+G&5J!pZ-gs zCCl^Pghf~p%JOUieRAi3{tv`Y29092EWQHtg^BSsRjD!>!XTXYqNhTT{aL@=}Fr#HBMr5(=ahtEBx9|Qf zlDA{fi%+B)nE3t_jd2tb>&mcfc*%NwAlbob5HLah2wco%Wm-fso|n@_!vkM>-CbSv z$tXD3G#2U4W@}QZMXzf;*7{W6b5jQsD?ggVt?^h>2kZQ+Lu$DRueYyB=-8}7*DPLD zM)b>8nB>MNpETED8sc zT(NF~i9a({JYVWEvu}9NetVVUhI)Uhpvc!d@E*hi^6#)+e#h)*5TmamSt z@#_HFE@)n+FMm!tYigQYXpwUifBJhkO_S=IShIF<@Y7#ZYFuP_QI|eGr7|zAMnsPv z)7|S&JO7=1M(FK3p7=8>@`Gw@zT%KHsKTE+nW8get>bGuI^&d>UJnFs+vZsQ#EI~h zxrQkY$o<3^BRtJLC081dTj{Kb`_Ktlq4KG|h+qJazcy)7hdemsDg5o@gjz#$JmQb% zgUCIx?Lfbve+e$cp(%DLYtA`Q^p(p`ucn>Nh-bPe7x6h#6`Aot>0x=EEtc<=C8(-d za2d~^rHXw~DCk>-_q7Y< z)ULS1yIv{r94kXp@=Gi6@Nv`(lq0IB-QNOh3BgtZOZ`+ z;ztDbPaKT)5Akd~!c(Nw4`)}Vy{e?}WWU=$`eR;v`Jx%3F)@WQJ%iQ7hJWvgKWIZ! z%1EYcUQ?kmYkuLgS{w3KYl%STtl`ni&Jq8Zsa|C^2E7XHuQzYB>6(0F=%h`HwrdQ- z$fyO?h!5qh`1t+iDHAa6>{05nNDKT~TXs~WAB)a$dogUP_V(BH>(7PMJ?$&LR{UmK z73Fb$&m)KanEOU#LdFAsQErB>b)srM{cyVUhaoU(*aQ+U>Eb1S4p>ZH`Rq zY(mLl5c1@zFrT!2#&&!1{!D75J!cq!|L4L~I{SP1vZDOI2w?TOF{*+sQdDRfVxR6X z9pIHOG(B*kp^1^cBJj+Mt{hs9Hq5>;iScTz*%p_@~JfFODCyg@|Mv48{1zowUH`btvTrm_UFDC zFI>>bw;jv}k^SiR%u#DB)<@8v)rD;+Zy2V#M4Oxwcb8iH@z>H(3Tiec@juh5-c6np z()Ox9!KF7>9dvkhb7N6SxMXFn*7u50(l^?QMULysvye3TEH2W0oH_<(ob;J`#wujHy8ZMQ=b)28{6O9)Db$E$~9qf?=>DW`gi{?m7T#9 zw^>;>qq~d7!{G4HXT-rdE;J}&*>Xp|4j|#=>oQtlF#2{~gldJureCQf!qV3}S1pNI zs6n?@jbP43bh~yvMCXIFHh5=rb%^*3-(N*^mP%)IlW3@i zV7^dJ(#nfEGb6ndA^PXH9!bPnzNnt7#68`2>ftb-_{Z;%{UW@mr1t#V(~0r?Ayj+{ z)nJa?)*e8O*sT~`-f9!p+?ws^edl;+H*CG|MKZ zv9Yngz7VKuq)Gm5Iiku;7M|&SM-M6m?S9uEghaEhyWl}OJw5DMxtLpXHt}LNtRGzD zsjth-)jAvEFX^CI8gf4{yy=O>6L^{tVm-5OLf|S#ky@_&B3UrcF$zCIG%Zw*l|ZG_x5ZE6gJJt`1ak(Aiy!leP}efFy$p_my&X1(t{NLG=7HYYG+yvtE)S!` zyE5^<|0-Toq`tnhtvnwTC{0iKQ9;Ie$SJu};7MQQY}Z_9GkdME4o}C6_*S_PE0&fp z0va6iT=(6x;tj>aQcy4L)`pLByHv)n?HtIG<&6G(IxwkT65jA{Sr#J-27W;a8?YYq zBG7l6Sy&9A8fvAsQ4yxoU%P)A;hV+DC%TY^K7Et(Cc@jgVQSNknxL&$oiU`bz9dt{ zYw2ttOw(silZ$pzN8sPWFFy|i=kMRQTg$)4C29LsULft25HRxk`}cM(i@x|-j6Z*V zFnsE4rW-{r$O@1yLC>2j5#oz47QxXg6lUW?3dC~9q&mv2{dEGwPS3;Nj$W5r#dqL+ zbtk4PC+xcEcACCpD`7WXnYB{ksQiVUxRCHid;;rC24AUoa+0@he7|>YJ37)DOC3(z z7F{W1U2Aj1PeRMDg0i3HL9N(60xAi#4Qje;Sl0n8muCOqf_rv9B2WQ$bOBm}MNRyE zCakvKYq8@&`f56$?}6Jw;yJ3EjEIQH8mL@HU&7{qe3RkDnOmExbMudkios%AObyvw zEv&hgI?R^akGS!GUGuXyZDioDqAw}TR^2`;oHNEmw%5`{w)oqioh1(|zsHxdkmCkR zPU|vc)4D7x!-G<}3xu(A&RohD`K>K6FKSoM-lQBCKSG$cg8q*?dN=H+V=rEqCPn}# z9^@SF@m;^XfN?}$w+P*>H6%^PRtsdm)qf)cSPa5 zHrg5$p|XDYYjokj;L-$1QXkR&t`imrge)mOPL%LkYX(pJJ+qm56@}P0VTV#OnfZNEMT*E9q8yeIf_XZD%MpUDR|9K{bLldBTC_jH2M zM~B}Ov-W$HRq9IA#)w7d3{XRGYHH}n`bhS;CJUiW8?SX&c@Ny3M_M8PXm<)YiO8b4UhkJX4e@ll36tQ)1 z-@4-hL6I!e+_FSXzGVQ3luz#`d*yablw9TUEPXaxD=DS{nKd=@<{A7GoWSN!=MUR% za22%8oHO7IBJ6t1Ymq68PFkFp=s&Q|Yna%55igEp>nae{h~|vTxOxnsyJ*UctsTLO z38D}MT5fx54KM&JS}cuY8mEagzVms-A`tpAtTg@wYpJJ zjL$Evdu;z!7eCALf)c!j^rqvArb4cJB5Xj@X8B9ik>kSo*C#|NfU^Y2HwgwWnxYkh zdYmtC1B{`v>rISq47m7U8FXeqrTNeR$WWiAl**Sb^LB=`POdV6suML9Nnu<{fYzj| z%hrYmn$HDFetQu{^rh`JNEQa=a&5etpDNSve_DcM9u+ad1TUdi=ulRrTG8{G;ZaU4 z+A#8Rz`QxF>1G;EL zpnFJ(y8T@{aiYKdOWZ~F-40o~SQJLqgc-VAMgOuamDwJWQwlTj8fN8-l|;?yvC00G z^3x8e9wi$*Uilry>pqJK2Rm=tV|xlNoxQ28E#W>2drVJH-^Q@L(|-E_rp1R>x!LZ% z!w$6FGda6(Y&gQv&TH-)r6*JTt)LO;@)KG7DP`IA9neCD6lbW&1xQCs3W`{{H6QmZhqyP{aE`5!T&46RvQ}Ec*K;)Lx50 zcX*3=(x+n9JgR%|Q^sGLz@rX4VPV|3*;YB0b?J5qN0UlBwJz{@e(9W^3vVQ`8SY(b zq+x|l#9w8Z6%w-vpPWorZ)ydR_=e#Z_~3uu&Wxpu?1Y8(FRe?EBf+H|>&W-1?&sZr zvg{H-XBY)zkQ(w@aRtxJ48?d*(zDe+Cs-7nR~I%TocOE0opk?*t>$uDusMqBgt4KL zX5J;uKI~8B%cq>63ngnU`xIfFLlGGYk0zeD*%zCvbGh{G9e#`X5s@H59A6N-wzgKs zczGwM>`@`ajn$jC_BX1(Z(^hC!BXD9fF?B^n~(zrGresxW$DwVLNg?LcZGqJQk~V`Fu@2@YCkZgqqL$j@$I>H7cp8xAof zU4I@@MuzD7RkS8o@t6t?i|RAI_#c#@_+YQr*ZuNYnDe2UBekFCv8>_2vu z_zOlHJ#5~|t(S3-d5!^TSiZRva&3V`1DE?)n=snkd9S(Ig=gh&F(%HtQ1- zwqIT%klVrwJyX`74ueATl5SEXBWQTojw>Fc>#aXDW5AV?4^FiFaI?!4Uy7rWS0@X~ z@<|b|r883FTa`Y~GALo#*U|2&I5jVjtgxlhC<|L|g*{ZU+QQvX(s2 zu?Cbw!6egSum=Nw0JFZS#Q%f?XjwaZOhV=-scHTRWmv>0|NHYd77p$%IE$%*Hu;sm z4hboh?G~WBn%^Sgso5y00`8HmqETm`?_61l=kZ*=5#k;vKJ~%0kt-@L{#;v|zBOLB za`xu6%*AUVM!LU@V!KtwX4ktOe=hYaXX(54B8E{H_uhRr5B)`I&0ET23U=dBc>0t` z3b#SD64`v(k(`FY@${|pT2mj7)@?(~yZe2wY3^wq4|Bvj&t5kaOYpHa(?kWuo}IeS z_pJmKqNj~jb8R_Bg!lD54%WZ({d-LN^1{Z;w9^rmu?yGQTJ=PUboh$SdTa6A!;|Pg zklyswCHGNoELRn%csdwER{OixJR{|;kXBsYTi6d-G38&+g^eV6qY~PGlE~W0F}D^< z_}L6cy54t}Vox0s>UxY!_G)aLn3#x9N$G59K?8QbBZ5LHv|jYmt2RTjqC3ec9~%Y2 zV;rfE2U&^bZCh7-Nq2YH`z2xn_G`nzc@-8Au&Q%7V>YzC&Lf(Iiya>y`@f|LnMhsg za@o0t61_I|?@^LtzLW(Lb)k0dko3h|dn@xWqabSjVB(b-3Ef;&+U4aNENCIXF5|J> z`I*xq&TJY6+Ocpm_SKH`? z4PR(TL{u>7>QsJMhH~sx-BYo6qx4`S$+h~Y$W=}PAVQIulOgO{@k=Ck zY>!C}y*nk2rekEDNfZVrnezM*w7Bm%Ia{T<>b44nw!d9Bv01iUDW< zF7VkQUc3w>6YhVBaSDn(CJ!(5dYlEXYRoHjYg$LDVwQkoJJEjWeDn9if>C#$vJW4L zEhr33@}i!-24yR~FPHatq;Fu&^kS3Kbv{!$9;??NVB6 zR2i510u3M@#vFina6{T*RFNL!gR;mB(6bkL_R@Jy*V_!6vVoH}1VjGF@G%s5{_@v) z(bfD~hVntLA6j0@$j^db<4drOz7%yfsH^EYt?40Nl2+jRJkcjOYk?22+7I7oV{ZUQ z*{iD)?H6T>Ju#Aqq#@>!%%5gqG8LTDmY^34hZ0O~I@De6U5XRQ{TInuYZG6fDAbz% zZ!bVceI@m^|EqK}dDTE5`fpbX?VHx>2Ek)5%K_9m@X0d6#d9HfZRIrQ`_W>Hw))Fz ziPdn9bl|IlJjBftrK%s#6m{l)*+=Q5NCy~-Mzg!13KQXx96L>p!#T-0YB>o2ApRQ2 zaTPL7#?;l@!&hBuSk00_pb1vfg}0^N{lR&@)6Ez(+=+o#I})y-^cVkbgg zDJgyJrjrQ?u#l73YC6-yh#6vEER2Hh)+Ansm%+{%I=6xb-;@Z>ucukE{Ku7R%17nS z_aPj1Kp($#PzMp?uDFVgi_$$a{h1g*xWEup2)rZetNrOs>)siRl;5|t(v3gr_=Cf7C52BM-m;c^(vj*-3?h?Y{Sat3pFYB*L4)8(uK zZHsvs7~Y4Jw9b4gZOV59b_tXBVM~KxJCWezWl7ue3-{Ap^+4?>5RSTvgdNulA#u;I zk{e=vT52gPD;rvE+&#G@pNx}=OZY(TIs4Gyzj#!Q6DsL#AgZ*KXFS!Z(ovPPQ+Az3 zuHvEUY_(zr-DlFK4fp4>#4LyecXaY=>Up)ELyVWT0~tm~h+$_}k;cH?T3=AE4)Dv} zcuZeLo0huuvu&v(ZkW^h;)$W)X3Ol?gr`2=gq8ltXt!Y9zo+SP&uV~z?Z%Rx`0^(B zKhDgU5RqKH-vKpLKaVyCU=eb?jrPZ`*B74lFV+(*l`&kZz4$MHsEf8rTr4<=SPmnY zhApt(FUwW+@;Zrk?s#Hr%MQSwh?rPOL?n3v$IF;2H#3bWlbg9}PY%%dvheXy2lF*> zRH31dQ-31sYAq@#_)xz-xDpk>EXv!=O0H~#kP_qktQZVgsy1-(Au~|(5_T`j8PdH|i3xzSsbo0c{)hM`00`tL{ z@t5K%Woa4#8zg~CxmO?CpI4sQ_`1|p(`lWhq0Z4*v6GAjuMORTnZJ9kUdb9ENx~i` zfLrFC0=}v&DZF1PcpYwISI<%=Ap@bGjesLdpb;gLrBMyOGx`7GqjW_P=i*0t`_n&F z5*VtcHE~0_q=5EwIq@;tpIv?$$DtU~T)4caMmHg(Vncz{|HS!;>LT+XL>4@q^;p04xIWb=m1`06;c zeD6oM#>t|JcW8mIXa_@bpQghk=t5O3>$3#rP##CJB4u`{l^mN|Grpi{&W88-ztwm) z3Y)kJe?Z}fp-=x4UY)TR54{4_zSZ>k)P&5=N$v2@E0S+XTGjgEpZVrd^qr#DPh&p` z4Ff1(Y)*NHJpdRN=gw~|SOaou1{aW8)_>?W?*V=lu$+8LM*BjW-scRJg1yH5fYTsmL>*3DKbNeS zP$?UB+>>a*eOn8RfO?Af4}R$}Vw|_=1Gf}9I9B4vaCN(qpt9=cs^}?9%j+;|;RgLu ztJP1`ZhP+gHTssFW6$U82k9JhUqVX(!XP+3F)D44v5}k z{_Hl6uf;#+h-qfE2tH`pVT}eHGx^+SxBOR`^B*TdVMTpiwv7B;$AT=>fO6)d9STGP zi+(Ra=f8L<`nB+B4xecA3il;Og$e#Q=W1;NoU3Ncxi}^^bgajnvO@-a%{q@LT_! zn_lS2Z6yv|DWEX}`=uAl_c#&Z-eU?^JU$o|kviFUD5x5+(ZoS?_RC@SES0MS#gCl${*JH0s_Rn=eOxBc$n;i5IAkzsi&43R z&{o7-6J*?7<#$lcLl%kc95x|Zz@%cXt4Nxfnin)uSs8ylRFg=x?T#fQ#Co74f=?laBc1Hd=MHLC)^9a!t(T z6R5K>u5x1#{&ezf?-d5^rKQIsGcg>jq{QQ`#n@P)=iq5^t>hY(8~ge@RGw=%%L?A# z?X}s_(S#8^4wIZ_fSY#D-dx69$mbjeKe4x;X9;`jL|A?MDCkNVf+_3ijmOLOJz?ZG zDav}LOsWM>Yysj zjS>-!ZQ=xj+~Q=JnE8N+4>aW3z3WDir_S_0RHJ|7aM9u&lI#Qzw&kKQfN&tzzHAn^W zQ66xKUZedEmVDUSG4m9@)_>wXd;(GDAs%?(=wnsg)LF6h`$(qZ*NO~e=FW)?|AqHt zRX-MVk?RddE;<`?aQyWmDKwb0W9^?>fU%Vl3uyqjXE7A)YGG~9ZqR70rD;sMm7p10 zk*21U@|aq84f*JhhQ!)?0Q!gOHuDsih>U!#-2w7qsJ-(6x{528Mm|R-Y~ssM@ay@D2~8%d8>s0 zyJ_5da0ftUz$Ttls;wqs@3$(zzF-V2r)~IT8$n1xvi#xjCgUX{mlj~A=S)81` z#>n|)YpLIz zynBh=d$hjuh5gX2*kXWEA-AML#r#~@-6d`l%e>-z_2W`JwH2Y6HxJ!XgUEh?3}pBG zyQHHYjp?=>r6-(jCXUj)KjAvJ)w|MGRqy-l{YnLW2M8Wubq_rM3=cO)Y58%kt{b@*ICHZIs1p(yb0%GUfpoxKHEm0j2G zOLuokN+=!D-Hig$C5_S@!a_O)qy<6RK)R7`0V(P3?poy96QB3p@AvJq&)MgkhwHfz zg~h$@d(JV(`2GK5PII~LW&fMBk;>QyYeQOP=E`qh;HXFvDAi7Sq&(ZZ>dDgRoEJK? zUdETYE~Kk3WM8^#`O2uI`x_zo+ovRJF)|n&6n*002f@#$k5sZd?B)S2EKZc|p8Y=d z%5?D7hOGe{dp^It_Aj0B#WR_tv8uTDAOUOXOyjXzp5HiWePMcD4NdfOTz1XpuZFtv=7?km4jIy9-_01dG*+ndVSn z+QFhY?%<~cRHu3_DLnAw*w-MQ*iQJ*A;+}CU}#EyHhhHi>nBi9P@jnlF&NASAOZu6 z_A2jxd;P!!NaF~`Eq2wd$IutYmS8E+rKo z-Z{)dfh0l>J=2(rBHM+N_OmnsuZx!UV0i-WNOoKO2SUe@F$x-vyZ|iI4caz;y`P$ zeiRh24xpue;c9ntS0SoxdAFL5c{Gqc1mZmRuju@!|3x-DTd&-&OWAT@4)hq_iP~4@O0s9XW$ckc5OuzsVtUqT!D?rucpD70#^4GQ=nSG!x5}O*w zq-uTt>80^^a}^gN@~q?d=V^eKT<7$zK&s4+vqekX?|J+C`;&=#yFw;+*Eha>i~eXM z>|Ad&_eiw!D{~3{yPcwy=?jfRa#3E!GxnSOp4_&ASY=?|?O=f2>%j=d0&u?Jz+3G~|7*mwcut{+%G zTuPHCaRr9l4~-w>Ixzi!`W-a1{F%`W9uS);w|xLsOw*~Y0fKQF`NZ@j3bYU$*?x?Q zPE@Z48rhL8g$m|STD~B_k7G$*;~SUdn={FHUx(<-v#1toIdh2Lcfp3spfvhessAK0 zoKE-qU}EX*maNY*N}%F=`9)E3^%;NkPx;TEMyU)EZDYinXQtpxk4zVhDVClEU@@8T z@oO^C`m4F+;VPpd%roW2{5BgQ`$|6ioNMFJ9!3<|g%H@qL1?Y|?=4vFSds8I+PtE-Y?!gtH9RqeD=v~0Y=3tl2m^aG}Gd(!G%2|em3M&FF7i4I< z@4kr6)_!l*#$FwZQ@o%&44!KXQ>-&;F--=&EFV6#|CPfgqi70qg`QfL8FrSD{y!^X z&#~O)niFs8`_|qZ)6hIfW8mq(zDit|SZ#fWxD0~a%ze+Ss_7*v+yM?Xy`!Rm%^p`( z_mE6ze$D3EmnC_)mh16{UKBR}ZALia4_5 z0w({UCS%e0yrA2*HB+6Ga<5AP8-WZej5+(kL1;&)#D;&Y0vqEJfvrT$uCY7bk6AL`JCAvXC4h<6vwG7+8Vvw^BQ@usq(nc>a0xLAj zNjJ)l2c(<(NR4 z)0Eal#KG*M?OC3GCM3I#_+P~edZG}8F*7p1@qg3`8KM70tqMkn*_iPmx&wNx^yn8S-GfZ_X!5I z=-wWZ_*x&tAaJmxAqXEa9)?t)n5SzBmybXxqFgpxB2amUt^U+j(_L&uQowF+5%Q?G@DspVm)I z2H9Iox|&TlK{A`l^b&3kIk}m7-+lS!R6EM-A74F@p^3AoDFoZD`IDLIi82ONLL0V@ zZ6W8ILjyz1Q^d00|KP&T80#KD`yd)vn#!Q050^-zbiWVs0<_SrhC9y+Wo5V*IUmZR ztiL$^&`I`JZVXdmZq7Lifumxc{5k+!u>~nf7^o5ahw;g&>Dfc~$h>mM#gVs;z-0&t z=N90TgGQp!!PPN9zK2Dmk)QvYYJ)I-Rja=qj20PY^!t~XMs*yOf`}cTjih`pkEKwL z6r9z5;vT`=$|CsqYiEmtR3n_&egsE%@duje#@9Gi!{@?7vl@-rMdaXFwQY4GK@aC+ zOItXORDHreG9f2eP&&PFcrb7!xl&N7#SUe?Dax&HH-f)jtUy?^WoMNvWL>_5m^}?1 z@tfW}?ON$VY8-n~EOsU~1p0-jgxiQ4PzagL5D5Q>}e_!cxR?&=zBX3%dQSI;cc=2KjSgB*`c6TeS))t7f z@GtY8hNb-KMZBS^6m(t1sorx(LfEO4)pEc-skaQ3)eYn>)2_gqpx#VkN(5~@#Q9I{ zE4ia1Xj*N52mXih^5jZcfo?Xjz9I*(%4;q|_+Ej_fq-f4lrBa-xZPR%yN#+twO#R} z5khd;g&+-2CxgVhuV#3W!!~cxR@vk>^yl=4Y)Tlv@thhMGE`=m-{BQMkX z5^!fSTz3z!RrKGm^_j?xzDtuuxiFFz_dsGAJb7v*XwBfNy4)(b?~*+;sh`UZTT5N~ zC(t}t^L%e-OV0(khNlP7?@;kj?RQWFtZ^5QSJft{3DfYNo!B5^{sEmI0Uv9uHmXYZ zi)}tvW~5}UtMbX7B<3BxBS)3Z>&Lea1O|WeA@JGfeeL$3KF3p$Km*UGysZ=Kfn10K z7>c~D5QG@(z@hHgSJc>zW0C*#Nx)fUc?(IUJOM2eMqq(baR!51F&q}{fdbspPRF>W zV)y$W<}~+>=k8G+9Q(v6xZ^)A@>%I99u_xH56ISISCXV}cJqc7b41CWocyMXG=ulckycRz=< zFxMjWc0%c$rtunke8$nTi-}_v4|}wT66)d$!(4Io*hEONKJ}vIUapA*o45A+0`nns zHZe}&pUn9ojo447~iGEOHiyh+`=<%fLD*L0j}XVab%<0E?i+ zv5|W!k7x_9eRz#Tp3zo&RFL8PUGkHF@W%)>gpRGl<`Ggr_7+PW+xc?f| z*9u;e&Z^`iG5W);ofzuPW&VqN^)F9M$iKYeUae4|GsrUT&V&8KymB88#8P*U#Q(N+ zCC?g=%Kz)gwE#mto9k0fd;~0}u&^*q;8(9Vuyq$U`HhK(TyF@pkk_6-ZnvS%b~hvs zH_&16u)t1vEJAK2IxLg;uA{-U@~Eh#b=C7|{sU*&fRl{BKNR$Edrny&1N%bZSyTHV zlX!3sufkL{?^K`i%3(lr#=lY4xo;DoZM|{#yD@2#Wc|yhcOP~&er$X$K?nU4tlMeK zOT$|y$6{iMJgqX!KaKvHp@QY-(CO^KlwNm?(>EMVipU6 zRm9=?n%cB;q1dFOl)}{c+Xa95k;O;Q|Ko*MGyO*beULn%6UYG2yS@yWZr0$QN7E4g zr$ZF|W^W5Y6A%8Qas^6Ha(Tc(BKysbB`V6GEpNH1GT#t|S966%YhTuNG2`n&~Um*Gzrum(^i)d#*4q!SJuRC3*=D{aqYZ zn5CrbNM`?`P>cvH?9MYO=zR$XE+$VaYby&hMKwGE!nyjhCiV-%=L3 zy%}rf;+1w4-Gs@vVmhs84(>}sTxj&V^GM-;0>G3zT7$5jsRJ~LHya4V`O11^FDc$K zJq5_nh5Uimgx}H1w1V6M)X1C}>~$a)>$qr8Bk5j$&4tI6j;7qcULio?+D(Ui8DmK^ zp#K{z1_N8uDK+Oxd=I#B^{Ck&eBBNHnrc8_9RxnL>Sw<)44-1)7C5ZCh$NXxo>iK> z20m%9t3z+c3hZPVqR6`!jck|4$=Y$?uK7=21aSYaf>8lHiJkFH5rXg3=4T$KwBDlt zWzh>@p;kdpmj`)#!_wxPJs0_}dKw>2p5??E!oXpO_Oe(1>luKy-*bCPo_F?lHFq*IK~*%cfjP1f-t{B`+Vb5dbY%u z<392cU||Qfd@e=yu~2L_NF+FSNIKX5)d2E66_&3f`PWb$!#Q&Q>Ni7N2>6y{;uwW7 zL9iKdYf<)xmzwS1)3?J$@!R1l(ph8USOvnJ((aprq|U#VbA_@3&L+zbMe$d?Z+ogE z0`)77*B3l98q~#Qbd=D`vmQuK1VC*$4zu#}_!{P;`7LO$((smd^V_Q593LL?*kJ!d z6ka$~!mZ!-ZD(r#(|`zw15%?eHg90Zb-)q)i(VswKv5}nJuutcf&e-DX_HWuB^aJZD>#;Espka5g7o{fggluOL+nQ;LGMS5)uQ-kXj1pf(19ntmAg#~;4a3l;YX z@w_(+C#SBCBq^auX(~`aG#i-lVJD}GHDD8gzYq!Ifgp{p!>*hBu4aP}&N)d6Z>NdC z|4I3yl&)~E0ZS6#;|me^Gx`0l#XX-ai~+Iyp;rJjjR1^^oZTU%vVnlFAUdfIf`9V% zE9(GpP=(ul$kj9OM)_;xPSGK^q{53UEU!9>QHrtvEn8|ny1*#mS7I#Z3JTMKXz*H$ za~AX20;HfH2Move4dma}ctsi?_HF?LC)Us5+im|)_k|gdRF1M8v$hxBfCyTbc1v>$ z{jAKq;PDz${b`pn*?L_@Sa~O))P+-2Uq9Z^Q-`^u?=w^;Vh=a~ZU|)+~9cPn) zW|!la%chPk_46uM=cR7-+re+e(>+OgkyBhx9-p1rQzd!P-|wIFtW@xT6`ZD=e!AIM zKY%ZWCi|iT)_p_kRYpg^F?pzqtXxReVWtHfa6#M@);p9l|U!&ok z3p5hYeYt#jGY#%ww%TgWUUtM*WNQaDT{H{{bOssT26w^E{Vqqx7~H(u`IhSDRa_cV zah@vB-}6qC7*m2xN&W?$JpKcne9F!|dFb>@Z)QCB`1r`AD{`eP8bET@6iNyD7=|3C z+bv+;@i+4h4?z6EO= zivuL&%aYDtMD|c0Yji>ybe#WrCM|D%a8+hxr3pcMUXY`|(0|wgS zaCw{-eumu6dQDj`KXF}hD=zZd)uBEV!EQ}zRttX0`YFCRIoad(i)JTE>W3Auf_6^k zap$oGhkIfS<-GWf%uez#q)!DHJq(6AfW zgkD~FUz)_;76nHG_Zs5*^Nr=NbAHvwEwyj4;k?`~KifQSnfDi1gu}Vtl{z;BLoAN; z6UqO?Qx7|(Fk@!HcUHIw0v}*x4{!Jr|57*>R${+bIFv(dYZ-47w1uhFK=UpzA@eHb z*@Q?lDY-{(E$M$n8dKg_C>xZQXUV@$dG}fLpgl?T=_PxEmSCAbln(J4>-U}dqn`8l zwx-Y4c+|DQhhjXj;Jv(BAIp13X>SqoOc{8ZR)oj5kRBLXy5PCx(2D@9Y-+LB$JyOY zAp2g{JeHU#gKFSJLTfeL4lF;HW)R|_etd&o7b28LMHlSI-Cp#@Km^=EhyEp?LBb_m zRQ>klj(%dKzVcHpAV z?_aoS64S(`@a)U~g{m06JBYd_ zVb%Y~Zd*m$0`^lv^v~r!x1|uEuqHh5%QUAn`|OGf2cO?DZ6`YI1}Au{n^4E>ihBbN zCdzy0SKfR8780(YGQw5h8zeexN5h9nN9i7ru#6c@gpDk2%z&5SxYkxNwGe zNyCvwPdUFo!Ng5i4aaU|BQ38UnQ$Uo0&Lx7ri=GOQ{r|kb*bdJIVvB+<8;val^kAM z%m6m)0!jDt$tWF-KSm6Cy(gJ)d3s17n0TC`LT?GY>h$iG#78ZCJ>8tKF$_5`k{&*N!R zjg|Q{YrzV9?x5e}T2NntS$b#^4eL*YMI%SUmXDnjG^RG4<6r73s9WScaRa?eV81Ol zM<7w+53@(*5x8L&2l}r&!v>%>dv7hZJp?8 ztwW_`xr^xm`ayUK7j~jWx(x z4kVfoEbLajOCJA-BgytOx@uTgw+Q140sH?A=mHvN`qRe^ z2r=&pK7;}|Rm7M6z!GU+zRHNze|(6_MfD&XoD|R8iW^wT2LIwOg!3hMY!+Bt#1M9v zTT2w9Vz%l<0C2Zm4gQ@#gnVFtpC!6ca2I6fAHYgOem{=EVqXaqISTUmsB@Vz4weaa zo;A9uZ1;OO0JY8zr6iC}13|c|vBDo8-`lh4I)C4_gQwcXrD2X@Y4jWA=DPLh=ZH#E z4p%07S`J>5?$gU6x+_L+;8+Kpn#~?K8)Vi5@}p}6WWc+46;DTfhpviENRLku8#^Va zlHfz)HF28$2K1VJoHV$FctB~e!DGyZG;)8)rV7O!5TxZ9{Qt|g&Ob-StKWWH&S&gT z%D!UcNM+q-gjV09pa?e#y|X2w#nF2i>|$|oL@lvkxzGC!{RMA}z1h3#e%PeOSj|A@ zf89z$7ai6y9aIU0?HohOL7qVk^Ryt-Ulc}dD={h9c^Z0dBB2#gYTU8PvF6u`sc?E! z$8dtdr0@l7L?O3~5ELQ3;QRU+@C>%^bOk=_MDdHT!4;Q!gT>F&Z5=cJq+KawtLjfc zp@_Mb#1ek;;TsM1lJLj1+J2<9EmDIlmc}n@qx>h_5!*qhE*#ea*P8?%M^UZb9r|dP zY#kL;LlBJB3UNBYU@5SOLuE2>cI$9R5I!Llz zJ^155GcoYTo!#8M9@0{h`q%amgynxQyCR-ojsk<6Jk;`s8Q6d>D>tGulWUGctiCbI#h{yHo z3iYduZU_){Jd~oXSZ>M!s_K_EeJpQ$C*>9F%O-^kxck=1i$lliUVk`NKzidraz4hf7IQB`5t4ohV%$F=D5~QUJ{R!vE05iNEZM?g0DJi#@gMvNC%!04jdd ze6ZV4y6Y#Dh{9nWjTlHai9i2seLqEzV#xi-Oa;Ai$LZzmC1Dh#s|B>>LUD`r(gyO~ zuKu8)p0<9=Ln7#{G>kjr2(y7T32^^JU9EzTY(tt8O|D+08-}p)V)^A;Iqv7-NS>`j z-%LqQq*Ew1)I|3SYGOC~M!@4LpdA>v@s3ApDb2l<+Q%5&@2pBoH6%GP%jCakMnd28 z+Alg+{m%5P!t5OpA{L+3bR0`^&xI})5g#^FIN9eHQSeM*VXjp*DN&2!{7<1R)OJ%H zgD^=hgDV;wEM}PW*_bh=;1je4?g6?*fcJ8v!L1R{=qkwxv35H-bQwkr46U!wxyL}Yb7h-2Are`&ZSa-t< zcuzjAf}Q4@lRnF02RgS@$3#OK#A-aIg|~5NB$~DEkLNF}yxx5mZQN2YCBI{J&DBsu zck>S|XO-pt=-eST9YM7E^y$+IhY<&k9ZKmJ+J82Ee1qy>SrpPw?w_&T6T_|-n-XA7 zhmCRM%!N~?Sclf`RChj9`(;g^AT1F8T@}ND{WS zA`IdeiGjH>nK*Rm-6U{&>L8K+EV?3ax;Vp;F2_M+ap71bH#eYgy?U&vSJ}+t$~00; zYh|Qka@IR9FYjx#(&jneWk&0@3m^YI>BFOB@KpP9Wqc!c;Inct^Z5rHD-Jc4GeLW% zkehE4OybTWXr(3f*cTIqs3!gVHV*5)|JN_*Me|MF-I7$1Y>2?`PpcQfs7i_vo4pAX za0DxamJ-xXn-W|jCv>LclWt>ceMs*me49$J1&edXuVd95E!EU_j=jsT(IejHSMF!4 z^Xy%t0t<|mb<-(&ICWMZus8_u@JDy2;1Gzp2m1v%!zc}f1q0qPqdUwB(bR|K$Hgi6 zGfr{_##`am`8@q`e)m0MLIyUhO(kj@yl@#fw~tz%)$@o5Ce|?vrP=eDlR94HeVYyo zfg(As@|SKdns(BH9iU7nqZ@OZo3rx5aWA0(FJ2@#%v9O^>B_J4ytSEA;Vz=DRPt}Z z`2Or;O-f52q-2;h1p5r$`L6gr6XBX$Z(l7-UC!E#v#az0wTBx7jUSc_|!Dep`R%6{Z*Cf0IHQi*H=*~hZ2O*y$uwUP?&xEh9 z7(CmHF^R+fni>mlZ~#-Ar20-1oMZB>VP}NfTD4Yi&rDacoD9y=f5Ix-@0W(6%FI;&m4~<>kt_p$>i%_WQZ?@uCP3Oa>Q(U{j+>(_3yfUTds|oe8b2 z`SIWVsh>2Fke6S)YIBre)uEDh*3h^}DAy`+pIB>UV!ItITFMI{El>^ni#e}l^te|H=g9EMc zi_|jYtB+q~VSQgWiMqOYzgVBp{vB#_MUC{|)qH$v z{0Ioa9A_Rg@$u)e7jnCtcwWwx9v_c4GdsHu`+BHb?qnjWWq<+g<;l=|BkCoPqN%Un z=O!dH>9Ef8vFr)wP|Al7?W8ZFA2XMHHy3+&-h|AvGc>f-%k1K%B?pOwT`iYVpfaG7 zarPw-Ep5Jzn%dIg4`sKUKV$pw_nsJbi&;5gG{y)BHnz%?!?S!|L?asf5`t-uiPk#A zp;mG@M5iMg-fdmJt-^p?lXR3^LZ*^A`Anw!Tq@gqy8UY%Y5I4+VcyZP_2Vwak4B+w zpCf50Iy!RTg-eX+M9sZFTEwF83GkmR9L%>mx~_juFEbMg91FoCAZTA^#GTF#wx_1c zp5%A3F1^!g>dRxfZz7C>C1AGf_#Kp!$I;ZD7n|= zbd66XjUaXN2|D>&_aEUOZ_mCL$DFy_KYIr4>d~q-6Ds$^n0tSRTiQ~hBO!x!%%+`| zQqHpmSL!hF$A6cE?XZStT!R3?v?S8(dV^_WF#FJxagOHxdrMtvXQPDHEiMB}Kg46O z>2Wut5PHdj#Kduz*?RoW-J~vmHbnS!9BM$xBR=u?Z|oAw;nS5u6C?0GX6f9)8B7`} z4wew>AzAb{?76=o+%GUmj=(Cqwa$1Q4Mx0=dp`*r$Nr4mT(zz3SHdc&tqFDMd!cmEW1b#wiqm&QgacipE@tZoAa z*4X10uMFf3p5tYloY~O*&y&xNW{D4M*8DvTST$!`8?kC}@p2u435QEFt4l?++ z=|9Kz(II7+CwC{w8dq_f^Pqx4eevkgE%?%>WIy}1RSwM~08%^;cR#gI)O6a;xa5X_ z{`gY5#1EIP`xsXEQ`FGSf`R${Bg9|c*mV}WI#);AG(RscJfl>UdlfZ`9NSzk2BSB( z#hk&LiM3f#bnt%joH|?j(AM!a{Y6P5T<_pWCz-CLurxP<`H7vA)8^5K@ZKq{*0Vu1 zxMD1!R(>8um61AB_Rc)$WdK$ftkZiC#DpeH|Bd<3u&@)oP10L&W^i0XL1xszMpnxL zq9Bi^>_zw+x->K|Y?RoxHXa6fQ?$aC8juuyA{Dk`Zb^|7@$uZn2U*tM>FwoXri$9) z7|uys?%C~(4Dai&MG?q6zRsoa=9ffAXVm+f4;L+Bs`|+nTEd#u-*-I5A6e>5p`gd^ zsqv0b_gV=tKCzq9u$Jfete?!H{Rx&)r&y#e+?1h?JQ!wh|BN%ux)aX!*D`G_*Y}HL zXRiYXtSc8YuC8jP>U1dfu@k{WClnMfGo(uiSUp@Atx?l_B0tI>B zhD1Y7f=AQ=&0&U!vs-npp&NyTj@epd2BN8ntIYXoNH&M!ya}f+oEK@tjGwJ|niNOt z-*T}R#=AG~Qeh_b5%YliOzwM+Z1b-RhhBOFzA2o-P306`kKT=LGvd~!ey%ZW+IT8$ zQ)_aZwI%rjJg}ZpTR&kB%oGu^xBL6^1y3?7_Vzxkl-nqaDj#c;35#BI5+Ye8S8#L2 zWjIB)zOMEZk+)aHq%t|d1L4#K1X(RM!(Kj+)%g>FIP*?i#+g1@7~Bn&hDi~oJJUkl z`l=Z0G2gT|rOB=hs|xCyTexSFcd3M@Rc$rNBjgiGa|#WVWHe}rftc?nWy3O=C;dC? zvb7SXB@1J&Fwg`{?Cq`diz=OVb(sD%w<=7IPEVAa?|msP)x}-pYPaXVaro6=S-@nH z!^QO|`W1iN^Cj)4w4ZUiBE;Yw2+B)CV!@SRfh!9Z$BrMCL13}x8X-?<>#8#pBu-Zw zJ%0R}=4*0J*>t6ii2ubsdat!|$%mDa69Ukaw_QkP=yF6WN66$nOOt83*aB(!xpDSw zo9d%WgpxGsx3oxjT zvx`2(2t0~F%Z@gVey+;KXwS>uK}OB7J3cr5IxyIf8+|{c$ic*~9nww;PgUQD`TW)o zkq8zXTzhl~$eV?8St2!o;Lq&9V{n*lUU4zjutE2ML5Wg9oNm2!QJUW)t4_OqDlCfW z{=_zyO8D>r!8X+Gjc#d;+9#p0q60Zgxp|7Iu!8#Z!@CSxO+O7bva`elz4@JJV)!^H zX=2>UqTetjtlf;|zOf?%dN~Cr=i!b=OrmOIn4x9CBJqhLh}BWTJ09ft8WaS_22R5? ztZ}uM5|c7tXwf3%pTBs;L>_dC)NV|g&U3JX_7tO9rQo}#U_o|2Ou>KjNbGY+0wuD)j<%huuzX?-21-wm)DesKxCUEp;0vlED2>o9 zW^fMFtCjNVvKP(+lus7UT(BDX@4I%}TT8ExvW4c487Ks7Q5e4EAu_4P@0&BgF9d@k zq}OD^*-~SUPV(sv8)#d?-VO1$l@TN7+{bd`>?kZq&`K z@*#R%JBs##0g&=Y8IG&_W}-{t=v4lePUI?6zo?09n<%@7@qt#HZCgTdsx3|ccVY-wHkKqR8t9!uG;3* zC##Um*#SmB&I?q-1?DoE@!o@#W@605a)TeP;}-Q3s&>JBn_2APW*F<19^YTvfPF#w&l&vX#NJ z?XsvVBq^A1O;jCVwo|k$`5tXoc?tm`6XUsv^%S!FK3&~#$*|+*4z@XR(sckaTzPBA z3~Aj}3R>ewN2*#B;W_u%iFhONEPNe}oq{hv+)l zy47^K;C3y>#+I0k7$ zRtmt5C#!l}qS%8~FXZu?q;o!*uiU`)QcJ zS%`#O?jVg4IPe}}N`Nz~-ZovsH$8czwdFZBC_2^eo6c_zUC>IZtBKp=+3|z+32)sS zQ79KBk?=iB6@q(>{8s1c1F(O&{3Hn)%Xa(O{|r6|&<1^HxF0`$P!s1M@JvuP76lS} zZevTOh%fB2a=Z8!*K#m@GSXtN7t}`dBq9-h857O9%yzSR`LO&KWv#60t_ZEQq{Z4) z8H9sSA&&pShl9DtX@6&&e+v6^;-P|aG2BT2^4V>4pYP*iPHhmcD128<{bAv8uz+(j z>^dQWGDWqTB`rvj+KxRu{D5^0pRjMQzn^5XP>m(b^SywY_X6d==f z=cx%<94%>X`s!>S{j%ISvXkiySn~dqd|JoU*MxZAdFVHiJbI*N9K%%qfl{lVsGkHp zr{b7nN~|zPaOnoe62e!yi?HR@7E?OG;S2p?AyNZ~=Vc$lt5+1|=;*)qF&!HR?>vm+ zL_Cx;JDTR=-e4M)ORNiTEO7N5WWlTlDKIEi=Ms$B7{_;;?`LeNn?c$)t@!hETM#?CTdTh5x8MxA3s)R2SRwfEULPnTx<;3Pd* z00)icyT1iC(+*YlBzy^X){ZV+W#d{u>$m)<)5k_`iq;dzpe7(nkC4EKOmRq${POs4 z%Oww#cDT&2JB&6Z#t?GUh!vYZCC*~)v=CtzNabz@Vt3?C#wP-DX_;hu zoXv=L_bI*h@LDKbcJw*MmfzIo$13&rMJpz2qJmw%as>jzYR=`%@ZB9M)UMw$pwMLF zwQjZ)&5LF}^mi9>u>~PxXbWn?pC9Exy>2-^gVYi#45JQTGB7lZjB-(&128A`r&LP` zM+1iu97#W0os!q%sW{d6Y#~jz&O9l`PG)z%{a(KraDY(uP=Qv#N1`}?+%M*@cwW4a zK&%p%{b6GOZt(oP-Y>hOK6%ZDi75sWA9b-knt*dQ^TWNegSMF$dMv9=(yp?catOb1 zv+vsoEBFB>N!PqVh{oDZ>dsGG8Py-1rPK6~(&ECw!9W1qqpc;r`o*musXPMAzs3U3 z-{+p9CSFx5Sm$Smwefe-BG1`yd_Y4ww@o3-eVe7v1hkq2UltNF8PCcUetp*x#-8LK zaowP9WyQF3=Ydm#cc~*z7c3V>@u6h@!}ub|HDqg7&p$8(&NsccS^VjJMZ05svhsnz zr#QYEUM*sTjQY3NCyQ;6OCCi;?0Q5`B3oBZAA(}+K-bh%!^&zsVohQ>`e0Nqc-gdf zCU9lZkV_MK`Q?#}?H8S?>FJ4XT%*p{u_=eqNJuXtW)g?D9Ok;;`cB=J%e<{AwYURS z>G%F8S8cCjH<F{Z3Hkah_Ax;$JaA`3w%pJrnb%%04>D>yCw?}QL zRO0ppU%o^%-Zx=XP7eS!=M8pcygh>%N$g(VgD<%<2ItNXUlI`$yFkm5amAs56IQ#v zKby%6we_4^UcY;b{ZM3$jLgu}3KXU&#M}tcT+#zN(2FWx>c*(UpSy%pwbv5IR{0R} z(5pFnljGmOh{VpYo2a=Dn8*G|hT4%odGdtXCj&zUu?x1*ni@P;=`*v2tdN7yG zjDOeNp*#;uVilA_WjQKna7Fnc?I?s#&Yf@sYo4xDKl!PY0}(DA3jD&706hv4Edj(2 zhtmfwco|t;u9AQe2{9jdSJ-vI>v-rC-EdI@~j-g4s zr0Oig9}b!#D#amZO)ut@#wf8+np>u15561xnDlG?lg=A{Z%y0)5Jdy`DD-d~4*igs zR`|p38i=rugm1^#%=MGXg{u%5+#$>M`avr43^@xG)JW>EHs2sL*s~gU=Ub>c!Ay;t zxGT024b8*5LBnoZw4++G?ZT8+Ok<~?M`>o_BIuX+9{?E?#A zxQK2s$I-fAM`ro{Fh4#?IXSr+yRpI-4sVmHUuC;+e!NTsX@CMugHOVpNCd}o`g9aS zI(7yb2C-Vk-}$LgsimoM^@X^$=W*<`lJ|sLWW0s5 z;sa)4w3By5IGDP!KJz~!os-ImWxOQs4 z!PmLC7~^#5Tp)4`m<)JN4Q?eNTqXfsp`oJf?C)By+uwGgxp+GHLD9z%)|$CW#!XF1 zpYBckm!oq9+H*-%h9Vm|;#QovaxRe7DRf^jW71S>*DnZ3~40J4oH*ZiK z-ogbWf7-va4rtzQtJA@t9BoUI`_R;v)N4%IT~yTV4IpZWrw{@C+2s!Azllj1pFl8v zu@37}{HU{W`d$WUsf#%TDr#5Ac>Q%QF-;MK78-q=Bebi%j9R1nAE7EGUgus!B+3@0 zkYVC5lqlFpY{Ec`DVP)4V5SmEpX8MOk!ad2@*w(SR5>JucQsZ-9`)uEmf`QYrf1r0 zs-6|i*Ag{#I$xhPYp9eCO8_0KIWQ&$YZeh#w3Rd97*jniacI3|I>M{&e^ncvYVZY{e|H5r_dqaVMfKcaqz7tCw78Eqp&VcxsLR3yc zLF<)4_pf-wpEW+bfD5LDGVOj2XYtc1 ztNdPB`T;q_y#u6G>Ekc7wJizn`gOyohDEb`?Kcj7xP1Tf)K?en=gojD|HitDf@irZ zw>Fu9k;c70_GF1MA|I|IIW2PNyABIPq#5h9c&?$r5lb>z5ks*vVcGV;h^ppfI#ibI zcsk~s2kK1N^S&HVDb`uiHZjrV zMb~YD6qQs(6_wKn*ej~$prD}Cw!FtkVxoPdq)p6c!qVj1+ds=aSP3;+*v1enhHSfK zGcmV3#rq3X;K+JncU@Ga^b7JoaTXrzmL?z9|K5s)fPZ?-%&Y~@o)g@*oN*Hd>0t7mz{%hmIojU7mSs!H_u;%qz@L}%jdoPw# zRmFEzDRNItL?q97?GT7W?YDv+RG~bbmfAB|E8F|iT`Yw3@#oajEc0n;klTR!mrsX} zf|bc!vbJVv7h@EyDz)n}PFp#> zr>n28^t!_k2ow(({|P%X81yN3Oh`sIDgaBxk10d(R|7yfh}bJeqr2(`G6i$~3?&s6 z3lP2jGNcr6QXe6z?Y?{RF}e8Gm1(^zk1gLXH6JheUf1mphX1?|ls)*!=c+)9 ztf`i0rGs^;3a4sxwOdYm&An_@Cu6u%hFVU!rpqB8brNdyW``bglVKqtAw6uGIa;7n ze?_ubdaMuVkJ{r`P;*|+HW>KZ>9SXd@7}%hr=at?Wo2QBF~ORGd&j`K18y(d;Glt_ zo`|feYZKjTC#O_8p>l$WB7 zt_gyGmi4^^x3F6QqN>r&%*7RtP01f$cYvri`=w&E2tz%zmSJW)0KYndGnb@q5DK77 z_G^dY&BagnK;_N-`SYjlziyXRpkzh}SWGuS%;nFDT#bjBFZf&2JK4|w0?1W(A3ai9 z?pQ-r-rUN_NK+d0CxA;7qsWdNx|5r@fsQuEJ@>_XjQ|JGDGB-OHS4#=sttV7&6*5( zn~)VZNP@iW&BgxST>Tis-`~f4ZH)Sda84-<0ssu)qQd8~aN$YszmU4h$@>a}`PKXD z*UrY(+`Qh7*133l9zKLJ5aiA#vp@B%Vecjkyev$z_NGT%)}u76F1D{q1FklyuC%@> z+}76ATzB4G31_`M=?h@D4O20CISwD|h?NeHu&HF5AQgQW%~ngCo?hYeA<%>yKE4kP zL^JQp^vL{;EVH}obM;pOrXQ0+C-cyKUQeZ^GQUIu1-5y$0T>>|y#s4NDo}nI4j^xS z5o&Y!&@;SyN=nM6`(}9roJYccI1!VQlJc?Q+dX>XDQKNZh>?3^M?&Oi0-EJ7I8haT zRUZY)`p22fSXr1*v+9;uZjTlqp(0Bd%NeH7ka#=J4U zTQ~KQ>lJ zXZ>(L^vb2lX+wA4@0tgGzFFu2B}iZFSF0#1%(xcc8bc_0W{1}2m$Ns&@-cr8o_#aD zug9X%vCsUqTAG!dSkikxy1RxR!Iiwl15L2vhbx%y&L%KCPlA2dE%m)?ib47!MvLs! z>A@?BV6F+utWn>)&OaYA62}}6??Kw}{PnoWX>}9sFw@*r zzeu;sYUXGHGEf8c6VjguY#{HDu%(L4J2f)~g_!F0`g56bOAiac6naFr2`{+`%E5et zfyrRhm|*c7#n#lseX3E$v+H59WW=mJa=(zhS~+TnOKKgom8CI)NCdb?oLUCMR#oO*bx+v76u z4A1x({PsSW8W^-4%FTQ^CB{uNK>A!MKgP%N69*+irxL10DOFZNmb!rfg*E8jE#Y7z z!Tj{;(-J01jH!AzW|dTqE_?pQXX1?>$X|1d5-!{xUNhei)Ad+C zCmPkPTrZzxHw>FnufhGvL)q87Ce+@$YAPj_10(aqwS8;`;4%@>VC>g*uulB$Y3c=e z6WFmwOI!QTAQb#TWc((AXjkSwI{o=g&{+r|e3>(Gx-VZI4+<>0pN8<;Pqo%K%zoiw zXJBOPDw0(NOCHe@imzldhW{vhQi8h!DZm1sqEup6yFGZtKkx5$&Y1c^uPA~lCfvSP z$EuD!{a}ER&rI|N7GpcGxq}XV-nLrq;^WuLz^}YEI6eDdU0}f?PeT2p5uzZAM@7^L zW)S>fJcu2SfrvHB^!8yGo4{PvkW5QPE*vx|7w9ik(L=GBm^Bn7$vB+7r9rX?LjUTq z?$EE(cREMgD(L9JQu6X)4n6N5)f~3K7Cg6x=?o#!Y~XkQMEr%ggL-x@Ue8^<7W79T zdR|M?MJZAX1Q}}u#l5ZbrHAr}mXReQ_7i#Wze*%Nr>}MSA@hx1{T$^Wh>x-i`fd^e z2@VuYUHORwL~DsRQiu=hw{EFP(@4j2Fj8ofP}k_rl!v4>QR2H%wlf^j_rD%c0ksKMu3vKpo|4?Mwm;u<&w-mDpxrs5Y^JBQ z(@Vv9_@RhS3$^|N)*bRGkU#r9(4{Ns8>bJFF<|* nQlh%Xa&2Otrz|YqV)qhsCOLi`bmm8J;6Eifb=eYWv!MS0T?3q% From 7ebdf62a28e41d1d001df3cc1e4efecf605b6c1a Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Mon, 30 Nov 2020 08:53:08 -0800 Subject: [PATCH 16/33] Automatic changelog generation for PR #55203 [ci skip] --- html/changelogs/AutoChangeLog-pr-55203.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-55203.yml diff --git a/html/changelogs/AutoChangeLog-pr-55203.yml b/html/changelogs/AutoChangeLog-pr-55203.yml new file mode 100644 index 00000000000..343d4aed168 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-55203.yml @@ -0,0 +1,6 @@ +author: "Ghilker" +delete-after: True +changes: + - bugfix: "fixed issue with HFR core cooling that destroyed gas" + - tweak: "changed HFR core to use only one port for cooling" + - bugfix: "output temperature and coolant temperature now show the right values" From ee47cb5289b688b4a902e305d798cc500f098bd8 Mon Sep 17 00:00:00 2001 From: WarlockD Date: Mon, 30 Nov 2020 10:53:23 -0600 Subject: [PATCH 17/33] Removed jQuery from snowflake devices (#55090) * Removed jQuery from snowflake menus * Update code/modules/admin/verbs/beakerpanel.dm Co-authored-by: Kyle Spier-Swenson Co-authored-by: Kyle Spier-Swenson --- code/game/machinery/computer/security.dm | 19 +++++++------ code/modules/admin/verbs/beakerpanel.dm | 2 +- code/modules/asset_cache/asset_list_items.dm | 1 - code/modules/tooltip/tooltip.dm | 2 -- code/modules/tooltip/tooltip.html | 30 ++++++++++---------- 5 files changed, 27 insertions(+), 27 deletions(-) diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 17b4aa5ba5f..889535e2253 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -55,7 +55,6 @@ dat += {" - - "} - dat += {" -

    "} + dat += {"

    "} dat += "New Record
    " //search bar dat += {" diff --git a/code/modules/admin/verbs/beakerpanel.dm b/code/modules/admin/verbs/beakerpanel.dm index 4cf16b60d14..5de270a2121 100644 --- a/code/modules/admin/verbs/beakerpanel.dm +++ b/code/modules/admin/verbs/beakerpanel.dm @@ -66,7 +66,7 @@ if(!check_rights()) return var/datum/asset/asset_datum = get_asset_datum(/datum/asset/simple/namespaced/common) - asset_datum.send() + asset_datum.send(usr.client||src) //Could somebody tell me why this isn't using the browser datum, given that it copypastes all of browser datum's html var/dat = {" diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm index 99a99b6bc29..98b57d09256 100644 --- a/code/modules/asset_cache/asset_list_items.dm +++ b/code/modules/asset_cache/asset_list_items.dm @@ -151,7 +151,6 @@ /datum/asset/simple/jquery - legacy = TRUE assets = list( "jquery.min.js" = 'html/jquery.min.js', ) diff --git a/code/modules/tooltip/tooltip.dm b/code/modules/tooltip/tooltip.dm index 3b77894f679..38b70fe7cf7 100644 --- a/code/modules/tooltip/tooltip.dm +++ b/code/modules/tooltip/tooltip.dm @@ -42,8 +42,6 @@ Notes: /datum/tooltip/New(client/C) if (C) owner = C - var/datum/asset/stuff = get_asset_datum(/datum/asset/simple/jquery) - stuff.send(owner) owner << browse(file2text('code/modules/tooltip/tooltip.html'), "window=[control]") ..() diff --git a/code/modules/tooltip/tooltip.html b/code/modules/tooltip/tooltip.html index c9e031ccc2e..5da2033d089 100644 --- a/code/modules/tooltip/tooltip.html +++ b/code/modules/tooltip/tooltip.html @@ -87,8 +87,10 @@

    -

    You start skimming through the manual...

    diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 95faced3ed6..89dd43a97e4 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -175,8 +175,8 @@ return new /obj/item/stack/sheet/cloth(user.drop_location()) user.visible_message("[user] cuts [src] into pieces of cloth with [I].", \ - "You cut [src] into pieces of cloth with [I].", \ - "You hear cutting.") + "You cut [src] into pieces of cloth with [I].", \ + "You hear cutting.") use(2) else return ..() diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index d01ab1e56c1..e57cae20fad 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -60,8 +60,8 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ if(W.use_tool(src, user, 0, volume=40)) var/obj/item/stack/sheet/metal/new_item = new(usr.loc) user.visible_message("[user.name] shaped [src] into metal with [W].", \ - "You shape [src] into metal with [W].", \ - "You hear welding.") + "You shape [src] into metal with [W].", \ + "You hear welding.") var/obj/item/stack/rods/R = src src = null var/replace = (user.get_inactive_held_item()==R) diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 23cc41191ca..ab5d3098d24 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -210,9 +210,8 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ . = ..() . += GLOB.sinew_recipes -/* - * Plates - */ + +/*Plates*/ /obj/item/stack/sheet/animalhide/goliath_hide name = "goliath hide plates" desc = "Pieces of a goliath's rocky hide, these might be able to make your suit a bit more durable to attack from the local fauna." diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index aeeaecefb18..de9ed660059 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -75,17 +75,17 @@ update_icon() /** Sets the amount of materials per unit for this stack. - * - * Arguments: - * - [mats][/list]: The value to set the mats per unit to. - * - multiplier: The amount to multiply the mats per unit by. Defaults to 1. - */ + * + * Arguments: + * - [mats][/list]: The value to set the mats per unit to. + * - multiplier: The amount to multiply the mats per unit by. Defaults to 1. + */ /obj/item/stack/proc/set_mats_per_unit(list/mats, multiplier=1) mats_per_unit = SSmaterials.FindOrCreateMaterialCombo(mats, multiplier) update_custom_materials() /** Updates the custom materials list of this stack. - */ + */ /obj/item/stack/proc/update_custom_materials() set_custom_materials(mats_per_unit, amount) @@ -147,11 +147,11 @@ . = (amount) /** - * Builds all recipes in a given recipe list and returns an association list containing them - * - * Arguments: - * * recipe_to_iterate - The list of recipes we are using to build recipes - */ + * Builds all recipes in a given recipe list and returns an association list containing them + * + * Arguments: + * * recipe_to_iterate - The list of recipes we are using to build recipes + */ /obj/item/stack/proc/recursively_build_recipes(list/recipe_to_iterate) var/list/L = list() for(var/recipe in recipe_to_iterate) @@ -164,11 +164,11 @@ return L /** - * Returns a list of properties of a given recipe - * - * Arguments: - * * R - The stack recipe we are using to get a list of properties - */ + * Returns a list of properties of a given recipe + * + * Arguments: + * * R - The stack recipe we are using to get a list of properties + */ /obj/item/stack/proc/build_recipe(datum/stack_recipe/R) return list( "res_amount" = R.res_amount, @@ -178,12 +178,12 @@ ) /** - * Checks if the recipe is valid to be used - * - * Arguments: - * * R - The stack recipe we are checking if it is valid - * * recipe_list - The list of recipes we are using to check the given recipe - */ + * Checks if the recipe is valid to be used + * + * Arguments: + * * R - The stack recipe we are checking if it is valid + * * recipe_list - The list of recipes we are using to check the given recipe + */ /obj/item/stack/proc/is_valid_recipe(datum/stack_recipe/R, list/recipe_list) for(var/S in recipe_list) if(S == R) @@ -381,10 +381,10 @@ return FALSE /** Adds some number of units to this stack. - * - * Arguments: - * - _amount: The number of units to add to this stack. - */ + * + * Arguments: + * - _amount: The number of units to add to this stack. + */ /obj/item/stack/proc/add(_amount) if (is_cyborg) source.add_charge(_amount * cost) @@ -396,10 +396,10 @@ update_weight() /** Checks whether this stack can merge itself into another stack. - * - * Arguments: - * - [check][/obj/item/stack]: The stack to check for mergeability. - */ + * + * Arguments: + * - [check][/obj/item/stack]: The stack to check for mergeability. + */ /obj/item/stack/proc/can_merge(obj/item/stack/check) if(!istype(check, merge_type)) return FALSE @@ -458,11 +458,11 @@ to_chat(user, "You take [stackmaterial] sheets out of the stack.") /** Splits the stack into two stacks. - * - * Arguments: - * - [user][/mob]: The mob splitting the stack. - * - amount: The number of units to split from this stack. - */ + * + * Arguments: + * - [user][/mob]: The mob splitting the stack. + * - amount: The number of units to split from this stack. + */ /obj/item/stack/proc/split_stack(mob/user, amount) if(!use(amount, TRUE, FALSE)) return null diff --git a/code/game/objects/items/stacks/tiles/tile_reskinning.dm b/code/game/objects/items/stacks/tiles/tile_reskinning.dm index bc9331612c6..47270a2a637 100644 --- a/code/game/objects/items/stacks/tiles/tile_reskinning.dm +++ b/code/game/objects/items/stacks/tiles/tile_reskinning.dm @@ -11,8 +11,8 @@ GLOBAL_LIST_EMPTY(tile_reskin_lists) /** - * Caches associative lists with type path index keys and images of said type's initial icon state (typepath -> image). - */ + * Caches associative lists with type path index keys and images of said type's initial icon state (typepath -> image). + */ /obj/item/stack/tile/proc/tile_reskin_list(list/values) var/string_id = values.Join("-") . = GLOB.tile_reskin_lists[string_id] diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index d96140090d8..2a0497d4315 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -70,8 +70,8 @@ if (mineralType == "metal") var/obj/item/stack/sheet/metal/new_item = new(user.loc) user.visible_message("[user.name] shaped [src] into metal with the welding tool.", \ - "You shaped [src] into metal with the welding tool.", \ - "You hear welding.") + "You shaped [src] into metal with the welding tool.", \ + "You hear welding.") var/obj/item/stack/rods/R = src src = null var/replace = (user.get_inactive_held_item()==R) @@ -83,8 +83,8 @@ var/sheet_type = text2path("/obj/item/stack/sheet/mineral/[mineralType]") var/obj/item/stack/sheet/mineral/new_item = new sheet_type(user.loc) user.visible_message("[user.name] shaped [src] into a sheet with the welding tool.", \ - "You shaped [src] into a sheet with the welding tool.", \ - "You hear welding.") + "You shaped [src] into a sheet with the welding tool.", \ + "You hear welding.") var/obj/item/stack/rods/R = src src = null var/replace = (user.get_inactive_held_item()==R) diff --git a/code/game/objects/items/storage/book.dm b/code/game/objects/items/storage/book.dm index 27fa8d21699..a021146bf14 100644 --- a/code/game/objects/items/storage/book.dm +++ b/code/game/objects/items/storage/book.dm @@ -89,11 +89,11 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning", SSblackbox.record_feedback("text", "religion_book", 1, "[choice]") /** - * Checks if we are allowed to interact with a radial menu - * - * Arguments: - * * user The mob interacting with the menu - */ + * Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with the menu + */ /obj/item/storage/book/bible/proc/check_menu(mob/living/carbon/human/user) if(GLOB.bible_icon_state) return FALSE diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 4536b04b7a4..f12973883a5 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -442,8 +442,8 @@ var/donktype = /obj/item/food/donkpocket /obj/item/storage/box/donkpockets/PopulateContents() - for(var/i in 1 to 6) - new donktype(src) + for(var/i in 1 to 6) + new donktype(src) /obj/item/storage/box/donkpockets/ComponentInitialize() . = ..() @@ -937,12 +937,12 @@ return ..() /** - * check_menu: Checks if we are allowed to interact with a radial menu - * - * Arguments: - * * user The mob interacting with a menu - * * P The pen used to interact with a menu - */ + * check_menu: Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with a menu + * * P The pen used to interact with a menu + */ /obj/item/storage/box/papersack/proc/check_menu(mob/user, obj/item/pen/P) if(!istype(user)) return FALSE diff --git a/code/game/objects/items/tcg/tcg.dm b/code/game/objects/items/tcg/tcg.dm index f4821eae056..0fb782ddd40 100644 --- a/code/game/objects/items/tcg/tcg.dm +++ b/code/game/objects/items/tcg/tcg.dm @@ -15,9 +15,9 @@ GLOBAL_LIST_EMPTY(cached_cards) icon = DEFAULT_TCG_DMI_ICON icon_state = "runtime" w_class = WEIGHT_CLASS_TINY - //Unique ID, for use in lookups and storage, used to index the global datum list where the rest of the card's info is stored + ///Unique ID, for use in lookups and storage, used to index the global datum list where the rest of the card's info is stored var/id = "code" - //Used along with the id for lookup + ///Used along with the id for lookup var/series = "coderbus" ///Is the card flipped? var/flipped = FALSE @@ -137,14 +137,14 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) animate(src, transform = ntransform, time = 2, easing = (EASE_IN|EASE_OUT)) /** - * Transforms the card's sprite to look like a small, paper card. Use when outside of inventory - */ + * Transforms the card's sprite to look like a small, paper card. Use when outside of inventory + */ /obj/item/tcgcard/proc/zoom_in() transform = matrix() /** - * Transforms the card's sprite to look like a large, detailed, illustrated paper card. Use when inside of inventory/storage. - */ + * Transforms the card's sprite to look like a large, detailed, illustrated paper card. Use when inside of inventory/storage. + */ /obj/item/tcgcard/proc/zoom_out() transform = matrix(0.3,0,0,0,0.3,0) @@ -161,9 +161,9 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) icon_state = template.icon_state flipped = !flipped /** - * A stack item that's not actually a stack because ORDER MATTERS with a deck of cards! - * The "top" card of the deck will always be the bottom card in the stack for our purposes. - */ + * A stack item that's not actually a stack because ORDER MATTERS with a deck of cards! + * The "top" card of the deck will always be the bottom card in the stack for our purposes. + */ /obj/item/tcgcard_deck name = "Trading Card Pile" desc = "A stack of TCG cards." @@ -249,8 +249,8 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) return ..() /** - * The user draws a single card. The deck is then handled based on how many cards are left. - */ + * The user draws a single card. The deck is then handled based on how many cards are left. + */ /obj/item/tcgcard_deck/proc/draw_card(mob/user) if(!contents.len) CRASH("A TCG deck was created with no cards inside of it.") @@ -267,10 +267,10 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) qdel(src) /** - * The user shuffles the order of the deck, then closes any visability into the deck's storage to prevent cheesing. - * *User: The person doing the shuffling, used in visable message and closing UI. - * *Visible: Will anyone need to hear the visable message about the shuffling? - */ + * The user shuffles the order of the deck, then closes any visability into the deck's storage to prevent cheesing. + * *User: The person doing the shuffling, used in visable message and closing UI. + * *Visible: Will anyone need to hear the visable message about the shuffling? + */ /obj/item/tcgcard_deck/proc/shuffle_deck(mob/user, visable = TRUE) if(!contents) return @@ -282,8 +282,8 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) "You shuffle \the [src]!") /** - * The user flips the deck, turning it into a face up/down pile, and reverses the order of the cards from top to bottom. - */ + * The user flips the deck, turning it into a face up/down pile, and reverses the order of the cards from top to bottom. + */ /obj/item/tcgcard_deck/proc/flip_deck() flipped = !flipped var/list/temp_deck = contents.Copy() diff --git a/code/game/objects/items/toy_mechs.dm b/code/game/objects/items/toy_mechs.dm index 78c47279423..bf28081ba07 100644 --- a/code/game/objects/items/toy_mechs.dm +++ b/code/game/objects/items/toy_mechs.dm @@ -1,6 +1,6 @@ /** - * Mech prizes + MECHA COMBAT!! - */ + * Mech prizes + MECHA COMBAT!! + */ /// Mech battle special attack types. #define SPECIAL_ATTACK_HEAL 1 @@ -67,19 +67,19 @@ special_attack_type_message = "a mystery move, even I don't know." /** - * this proc combines "sleep" while also checking for if the battle should continue - * - * this goes through some of the checks - the toys need to be next to each other to fight! - * if it's player vs themself: They need to be able to "control" both mechs (either must be adjacent or using TK) - * if it's player vs player: Both players need to be able to "control" their mechs (either must be adjacent or using TK) - * if it's player vs mech (suicide): the mech needs to be in range of the player - * if all the checks are TRUE, it does the sleeps, and returns TRUE. Otherwise, it returns FALSE. - * Arguments: - * * delay - the amount of time the sleep at the end of the check will sleep for - * * attacker - the attacking toy in the battle. - * * attacker_controller - the controller of the attacking toy. there should ALWAYS be an attacker_controller - * * opponent - (optional) the defender controller in the battle, for PvP - */ + * this proc combines "sleep" while also checking for if the battle should continue + * + * this goes through some of the checks - the toys need to be next to each other to fight! + * if it's player vs themself: They need to be able to "control" both mechs (either must be adjacent or using TK) + * if it's player vs player: Both players need to be able to "control" their mechs (either must be adjacent or using TK) + * if it's player vs mech (suicide): the mech needs to be in range of the player + * if all the checks are TRUE, it does the sleeps, and returns TRUE. Otherwise, it returns FALSE. + * Arguments: + * * delay - the amount of time the sleep at the end of the check will sleep for + * * attacker - the attacking toy in the battle. + * * attacker_controller - the controller of the attacking toy. there should ALWAYS be an attacker_controller + * * opponent - (optional) the defender controller in the battle, for PvP + */ /obj/item/toy/prize/proc/combat_sleep(delay, obj/item/toy/prize/attacker, mob/living/carbon/attacker_controller, mob/living/carbon/opponent) if(!attacker_controller) return FALSE @@ -140,8 +140,8 @@ attack_self(user) /** - * If you attack a mech with a mech, initiate combat between them - */ + * If you attack a mech with a mech, initiate combat between them + */ /obj/item/toy/prize/attackby(obj/item/user_toy, mob/living/user) if(istype(user_toy, /obj/item/toy/prize)) var/obj/item/toy/prize/P = user_toy @@ -150,8 +150,8 @@ ..() /** - * Attack is called from the user's toy, aimed at target(another human), checking for target's toy. - */ + * Attack is called from the user's toy, aimed at target(another human), checking for target's toy. + */ /obj/item/toy/prize/attack(mob/living/carbon/human/target, mob/living/carbon/human/user) if(target == user) to_chat(user, "Target another toy mech if you want to start a battle with yourself.") @@ -185,8 +185,8 @@ ..() /** - * Overrides attack_tk - Sorry, you have to be face to face to initiate a battle, it's good sportsmanship - */ + * Overrides attack_tk - Sorry, you have to be face to face to initiate a battle, it's good sportsmanship + */ /obj/item/toy/prize/attack_tk(mob/user) if(timer < world.time) to_chat(user, "You telekinetically play with [src].") @@ -197,19 +197,19 @@ /** - * Resets the request for battle. - * - * For use in a timer, this proc resets the wants_to_battle variable after a short period. - * Arguments: - * * user - the user wanting to do battle - */ + * Resets the request for battle. + * + * For use in a timer, this proc resets the wants_to_battle variable after a short period. + * Arguments: + * * user - the user wanting to do battle + */ /obj/item/toy/prize/proc/withdraw_offer(mob/living/carbon/user) if(wants_to_battle) wants_to_battle = FALSE to_chat(user, "You get the feeling they don't want to battle.") /** - * Starts a battle, toy mech vs player. Player... doesn't win. - */ + * Starts a battle, toy mech vs player. Player... doesn't win. + */ /obj/item/toy/prize/suicide_act(mob/living/carbon/user) if(in_combat) to_chat(user, "[src] is in battle, let it finish first.") @@ -264,25 +264,25 @@ . += "This toy has [wins] wins, and [losses] losses." /** - * Override the say proc if they're mute - */ + * Override the say proc if they're mute + */ /obj/item/toy/prize/say() if(!quiet) . = ..() /** - * The 'master' proc of the mech battle. Processes the entire battle's events and makes sure it start and finishes correctly. - * - * src is the defending toy, and the battle proc is called on it to begin the battle. - * After going through a few checks at the beginning to ensure the battle can start properly, the battle begins a loop that lasts - * until either toy has no more health. During this loop, it also ensures the mechs stay in combat range of each other. - * It will then randomly decide attacks for each toy, occasionally making one or the other use their special attack. - * When either mech has no more health, the loop ends, and it displays the victor and the loser while updating their stats and resetting them. - * Arguments: - * * attacker - the attacking toy, the toy in the attacker_controller's hands - * * attacker_controller - the user, the one who is holding the toys / controlling the fight - * * opponent - optional arg used in Mech PvP battles: the other person who is taking part in the fight (controls src) - */ + * The 'master' proc of the mech battle. Processes the entire battle's events and makes sure it start and finishes correctly. + * + * src is the defending toy, and the battle proc is called on it to begin the battle. + * After going through a few checks at the beginning to ensure the battle can start properly, the battle begins a loop that lasts + * until either toy has no more health. During this loop, it also ensures the mechs stay in combat range of each other. + * It will then randomly decide attacks for each toy, occasionally making one or the other use their special attack. + * When either mech has no more health, the loop ends, and it displays the victor and the loser while updating their stats and resetting them. + * Arguments: + * * attacker - the attacking toy, the toy in the attacker_controller's hands + * * attacker_controller - the user, the one who is holding the toys / controlling the fight + * * opponent - optional arg used in Mech PvP battles: the other person who is taking part in the fight (controls src) + */ /obj/item/toy/prize/proc/mecha_brawl(obj/item/toy/prize/attacker, mob/living/carbon/attacker_controller, mob/living/carbon/opponent) //A GOOD DAY FOR A SWELL BATTLE! attacker_controller.visible_message(" [attacker_controller.name] collides [attacker] with [src]! Looks like they're preparing for a brawl! ", \ @@ -433,16 +433,16 @@ return /** - * This proc checks if a battle can be initiated between src and attacker. - * - * Both SRC and attacker (if attacker is included) timers are checked if they're on cooldown, and - * both SRC and attacker (if attacker is included) are checked if they are in combat already. - * If any of the above are true, the proc returns FALSE and sends a message to user (and target, if included) otherwise, it returns TRUE - * Arguments: - * * user: the user who is initiating the battle - * * attacker: optional arg for checking two mechs at once - * * target: optional arg used in Mech PvP battles (if used, attacker is target's toy) - */ + * This proc checks if a battle can be initiated between src and attacker. + * + * Both SRC and attacker (if attacker is included) timers are checked if they're on cooldown, and + * both SRC and attacker (if attacker is included) are checked if they are in combat already. + * If any of the above are true, the proc returns FALSE and sends a message to user (and target, if included) otherwise, it returns TRUE + * Arguments: + * * user: the user who is initiating the battle + * * attacker: optional arg for checking two mechs at once + * * target: optional arg used in Mech PvP battles (if used, attacker is target's toy) + */ /obj/item/toy/prize/proc/check_battle_start(mob/living/carbon/user, obj/item/toy/prize/attacker, mob/living/carbon/target) if(attacker?.in_combat) to_chat(user, "[target?target.p_their() : "Your" ] [attacker.name] is in combat.") @@ -464,12 +464,12 @@ return TRUE /** - * Processes any special attack moves that happen in the battle (called in the mechaBattle proc). - * - * Makes the toy shout their special attack cry and updates its cooldown. Then, does the special attack. - * Arguments: - * * victim - the toy being hit by the special move - */ + * Processes any special attack moves that happen in the battle (called in the mechaBattle proc). + * + * Makes the toy shout their special attack cry and updates its cooldown. Then, does the special attack. + * Arguments: + * * victim - the toy being hit by the special move + */ /obj/item/toy/prize/proc/special_attack_move(obj/item/toy/prize/victim) say(special_attack_cry + "!!") @@ -493,12 +493,12 @@ say("I FORGOT MY SPECIAL ATTACK...") /** - * Base proc for 'other' special attack moves. - * - * This one is only for inheritance, each mech with an 'other' type move has their procs below. - * Arguments: - * * victim - the toy being hit by the super special move (doesn't necessarily need to be used) - */ + * Base proc for 'other' special attack moves. + * + * This one is only for inheritance, each mech with an 'other' type move has their procs below. + * Arguments: + * * victim - the toy being hit by the super special move (doesn't necessarily need to be used) + */ /obj/item/toy/prize/proc/super_special_attack(obj/item/toy/prize/victim) visible_message(" [src] does a cool flip.") diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 07af7c377b9..290de857cf4 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -198,14 +198,14 @@ return MANUAL_SUICIDE /** - * Internal function used in the toy singularity suicide - * - * Cavity implants the toy singularity into the body of the user (arg1), and kills the user. - * Makes the user vomit and receive 120 suffocation damage if there already is a cavity implant in the user. - * Throwing the singularity away will cause the user to start choking themself to death. - * Arguments: - * * user - Whoever is doing the suiciding - */ + * Internal function used in the toy singularity suicide + * + * Cavity implants the toy singularity into the body of the user (arg1), and kills the user. + * Makes the user vomit and receive 120 suffocation damage if there already is a cavity implant in the user. + * Throwing the singularity away will cause the user to start choking themself to death. + * Arguments: + * * user - Whoever is doing the suiciding + */ /obj/item/toy/spinningtoy/proc/manual_suicide(mob/living/carbon/human/user) if(!user) return @@ -292,8 +292,8 @@ playsound(user, 'sound/weapons/gun/revolver/shot.ogg', 100, TRUE) src.bullets-- user.visible_message("[user] fires [src] at [target]!", \ - "You fire [src] at [target]!", \ - "You hear a gunshot!") + "You fire [src] at [target]!", \ + "You hear a gunshot!") /obj/item/toy/ammo/gun name = "capgun ammo" @@ -862,11 +862,11 @@ newobj.resistance_flags = sourceobj.resistance_flags /** - * check_menu: Checks if we are allowed to interact with a radial menu - * - * Arguments: - * * user The mob interacting with a menu - */ + * check_menu: Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with a menu + */ /obj/item/toy/cards/cardhand/proc/check_menu(mob/living/user) if(!istype(user)) return FALSE @@ -875,8 +875,8 @@ return TRUE /** - * This proc updates the sprite for when you create a hand of cards - */ + * This proc updates the sprite for when you create a hand of cards + */ /obj/item/toy/cards/cardhand/proc/update_sprite() cut_overlays() var/overlay_cards = currenthand.len diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 9fac03bbff2..e3fda7d65d9 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -292,11 +292,11 @@ reskin_obj(user) /** - * Reskins object based on a user's choice - * - * Arguments: - * * M The mob choosing a reskin option - */ + * Reskins object based on a user's choice + * + * Arguments: + * * M The mob choosing a reskin option + */ /obj/proc/reskin_obj(mob/M) if(!LAZYLEN(unique_reskin)) return @@ -317,11 +317,11 @@ to_chat(M, "[src] is now skinned as '[pick].'") /** - * Checks if we are allowed to interact with a radial menu for reskins - * - * Arguments: - * * user The mob interacting with the menu - */ + * Checks if we are allowed to interact with a radial menu for reskins + * + * Arguments: + * * user The mob interacting with the menu + */ /obj/proc/check_reskin_menu(mob/user) if(QDELETED(src)) return FALSE diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm index 3219e4834af..3fa9c292fc5 100644 --- a/code/game/objects/structures/ai_core.dm +++ b/code/game/objects/structures/ai_core.dm @@ -309,7 +309,7 @@ That prevents a few funky behaviors. /obj/structure/ai_core/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card) if(state != AI_READY_CORE || !..()) return - //Transferring a carded AI to a core. + //Transferring a carded AI to a core. if(interaction == AI_TRANS_FROM_CARD) AI.control_disabled = FALSE AI.radio_enabled = TRUE diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index cc60ba42624..fcbb7a135a5 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -328,13 +328,13 @@ var/list/targets = list(O, src) add_fingerprint(user) user.visible_message("[user] [actuallyismob ? "tries to ":""]stuff [O] into [src].", \ - "You [actuallyismob ? "try to ":""]stuff [O] into [src].", \ - "You hear clanging.") + "You [actuallyismob ? "try to ":""]stuff [O] into [src].", \ + "You hear clanging.") if(actuallyismob) if(do_after_mob(user, targets, 40)) user.visible_message("[user] stuffs [O] into [src].", \ - "You stuff [O] into [src].", \ - "You hear a loud metal bang.") + "You stuff [O] into [src].", \ + "You hear a loud metal bang.") var/mob/living/L = O if(!issilicon(L)) L.Paralyze(40) diff --git a/code/game/objects/structures/crates_lockers/crates/large.dm b/code/game/objects/structures/crates_lockers/crates/large.dm index bd21cc5f0bb..4861cc3c5bb 100644 --- a/code/game/objects/structures/crates_lockers/crates/large.dm +++ b/code/game/objects/structures/crates_lockers/crates/large.dm @@ -25,8 +25,8 @@ tear_manifest(user) user.visible_message("[user] pries \the [src] open.", \ - "You pry open \the [src].", \ - "You hear splitting wood.") + "You pry open \the [src].", \ + "You hear splitting wood.") playsound(src.loc, 'sound/weapons/slashmiss.ogg', 75, TRUE) var/turf/T = get_turf(src) diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index 66f6dd9f3a4..17d2c49b384 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -98,8 +98,8 @@ if(door_check) user.visible_message("[user] secures the airlock assembly to the floor.", \ - "You start to secure the airlock assembly to the floor...", \ - "You hear wrenching.") + "You start to secure the airlock assembly to the floor...", \ + "You hear wrenching.") if(W.use_tool(src, user, 40, volume=100)) if(anchored) @@ -112,8 +112,8 @@ else user.visible_message("[user] unsecures the airlock assembly from the floor.", \ - "You start to unsecure the airlock assembly from the floor...", \ - "You hear wrenching.") + "You start to unsecure the airlock assembly from the floor...", \ + "You hear wrenching.") if(W.use_tool(src, user, 40, volume=100)) if(!anchored) return @@ -208,7 +208,7 @@ if(G.get_amount() >= 2) playsound(src, 'sound/items/crowbar.ogg', 100, TRUE) user.visible_message("[user] adds [G.name] to the airlock assembly.", \ - "You start to install [G.name] into the airlock assembly...") + "You start to install [G.name] into the airlock assembly...") if(do_after(user, 40, target = src)) if(G.get_amount() < 2 || mineral) return @@ -237,7 +237,7 @@ else if((W.tool_behaviour == TOOL_SCREWDRIVER) && state == AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER ) user.visible_message("[user] finishes the airlock.", \ - "You start finishing the airlock...") + "You start finishing the airlock...") if(W.use_tool(src, user, 40, volume=100)) if(loc && state == AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index ef878ed4c4b..96b4f9d8a5b 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -227,8 +227,8 @@ . = FALSE if(state == GIRDER_DISPLACED) user.visible_message("[user] disassembles the girder.", - "You start to disassemble the girder...", - "You hear clanking and banging noises.") + "You start to disassemble the girder...", + "You hear clanking and banging noises.") if(tool.use_tool(src, user, 40, volume=100)) if(state != GIRDER_DISPLACED) return diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index fc5b4818163..71fa3c987ea 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -141,13 +141,13 @@ W.play_tool_sound(src, 100) set_anchored(!anchored) user.visible_message("[user] [anchored ? "fastens" : "unfastens"] [src].", \ - "You [anchored ? "fasten [src] to" : "unfasten [src] from"] the floor.") + "You [anchored ? "fasten [src] to" : "unfasten [src] from"] the floor.") return else if(istype(W, /obj/item/stack/rods) && broken) var/obj/item/stack/rods/R = W if(!shock(user, 90)) user.visible_message("[user] rebuilds the broken grille.", \ - "You rebuild the broken grille.") + "You rebuild the broken grille.") new grille_type(src.loc) R.use(1) qdel(src) diff --git a/code/game/objects/structures/guncase.dm b/code/game/objects/structures/guncase.dm index c3bc03e478b..32bead1b45f 100644 --- a/code/game/objects/structures/guncase.dm +++ b/code/game/objects/structures/guncase.dm @@ -66,11 +66,11 @@ update_icon() /** - * show_menu: Shows a radial menu to a user consisting of an available weaponry for taking - * - * Arguments: - * * user The mob to which we are showing the radial menu - */ + * show_menu: Shows a radial menu to a user consisting of an available weaponry for taking + * + * Arguments: + * * user The mob to which we are showing the radial menu + */ /obj/structure/guncase/proc/show_menu(mob/user) if(!LAZYLEN(contents)) return @@ -98,11 +98,11 @@ update_icon() /** - * check_menu: Checks if we are allowed to interact with a radial menu - * - * Arguments: - * * user The mob interacting with a menu - */ + * check_menu: Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with a menu + */ /obj/structure/guncase/proc/check_menu(mob/living/carbon/human/user) if(!open) return FALSE diff --git a/code/game/objects/structures/icemoon/cave_entrance.dm b/code/game/objects/structures/icemoon/cave_entrance.dm index 0b84a93402b..9e1f5f7e105 100644 --- a/code/game/objects/structures/icemoon/cave_entrance.dm +++ b/code/game/objects/structures/icemoon/cave_entrance.dm @@ -1,11 +1,13 @@ -GLOBAL_LIST_INIT(ore_probability, list(/obj/item/stack/ore/uranium = 50, - /obj/item/stack/ore/iron = 100, - /obj/item/stack/ore/plasma = 75, - /obj/item/stack/ore/silver = 50, - /obj/item/stack/ore/gold = 50, - /obj/item/stack/ore/diamond = 25, - /obj/item/stack/ore/bananium = 5, - /obj/item/stack/ore/titanium = 75)) +GLOBAL_LIST_INIT(ore_probability, list( + /obj/item/stack/ore/uranium = 50, + /obj/item/stack/ore/iron = 100, + /obj/item/stack/ore/plasma = 75, + /obj/item/stack/ore/silver = 50, + /obj/item/stack/ore/gold = 50, + /obj/item/stack/ore/diamond = 25, + /obj/item/stack/ore/bananium = 5, + /obj/item/stack/ore/titanium = 75, + )) /obj/structure/spawner/ice_moon name = "cave entrance" @@ -24,9 +26,9 @@ GLOBAL_LIST_INIT(ore_probability, list(/obj/item/stack/ore/uranium = 50, clear_rock() /** - * Clears rocks around the spawner when it is created - * - */ + * Clears rocks around the spawner when it is created + * + */ /obj/structure/spawner/ice_moon/proc/clear_rock() for(var/turf/F in RANGE_TURFS(2, src)) if(abs(src.x - F.x) + abs(src.y - F.y) > 3) @@ -41,17 +43,17 @@ GLOBAL_LIST_INIT(ore_probability, list(/obj/item/stack/ore/uranium = 50, return ..() /** - * Effects and messages created when the spawner is destroyed - * - */ + * Effects and messages created when the spawner is destroyed + * + */ /obj/structure/spawner/ice_moon/proc/destroy_effect() playsound(loc,'sound/effects/explosionfar.ogg', 200, TRUE) visible_message("[src] collapses, sealing everything inside!\nOres fall out of the cave as it is destroyed!") /** - * Drops items after the spawner is destroyed - * - */ + * Drops items after the spawner is destroyed + * + */ /obj/structure/spawner/ice_moon/proc/drop_loot() for(var/type in GLOB.ore_probability) var/chance = GLOB.ore_probability[type] @@ -115,17 +117,17 @@ GLOBAL_LIST_INIT(ore_probability, list(/obj/item/stack/ore/uranium = 50, addtimer(CALLBACK(src, .proc/collapse), 5 SECONDS) /** - * Handles portal deletion - * - */ + * Handles portal deletion + * + */ /obj/effect/collapsing_demonic_portal/proc/collapse() drop_loot() qdel(src) /** - * Drops loot from the portal - * - */ + * Drops loot from the portal + * + */ /obj/effect/collapsing_demonic_portal/proc/drop_loot() visible_message("Something slips out of [src]!") var/loot = rand(1, 28) diff --git a/code/game/objects/structures/industrial_lift.dm b/code/game/objects/structures/industrial_lift.dm index f3cc64bab26..bba92d5cbb4 100644 --- a/code/game/objects/structures/industrial_lift.dm +++ b/code/game/objects/structures/industrial_lift.dm @@ -49,13 +49,13 @@ possible_expansions -= borderline /** - * Moves the lift UP or DOWN, this is what users invoke with their hand. - * This is a SAFE proc, ensuring every part of the lift moves SANELY. - * It also locks controls for the (miniscule) duration of the movement, so the elevator cannot be broken by spamming. - * Arguments: - * going - UP or DOWN directions, where the lift should go. Keep in mind by this point checks of whether it should go up or down have already been done. - * user - Whomever made the lift movement. - */ + * Moves the lift UP or DOWN, this is what users invoke with their hand. + * This is a SAFE proc, ensuring every part of the lift moves SANELY. + * It also locks controls for the (miniscule) duration of the movement, so the elevator cannot be broken by spamming. + * Arguments: + * going - UP or DOWN directions, where the lift should go. Keep in mind by this point checks of whether it should go up or down have already been done. + * user - Whomever made the lift movement. + */ /datum/lift_master/proc/MoveLift(going, mob/user) set_controls(LOCKED) for(var/p in lift_platforms) @@ -64,10 +64,10 @@ set_controls(UNLOCKED) /** - * Moves the lift, this is what users invoke with their hand. - * This is a SAFE proc, ensuring every part of the lift moves SANELY. - * It also locks controls for the (miniscule) duration of the movement, so the elevator cannot be broken by spamming. - */ + * Moves the lift, this is what users invoke with their hand. + * This is a SAFE proc, ensuring every part of the lift moves SANELY. + * It also locks controls for the (miniscule) duration of the movement, so the elevator cannot be broken by spamming. + */ /datum/lift_master/proc/MoveLiftHorizontal(going, z) var/max_x = 1 var/max_y = 1 @@ -123,8 +123,8 @@ return TRUE /** - * Sets all lift parts's controls_locked variable. Used to prevent moving mid movement, or cooldowns. - */ + * Sets all lift parts's controls_locked variable. Used to prevent moving mid movement, or cooldowns. + */ /datum/lift_master/proc/set_controls(state) for(var/l in lift_platforms) var/obj/structure/industrial_lift/lift_platform = l diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 9d3aa9c6f4d..eeca76c7048 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -162,11 +162,11 @@ update_icon() /** - * check_menu: Checks if we are allowed to interact with a radial menu - * - * Arguments: - * * user The mob interacting with a menu - */ + * check_menu: Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with a menu + */ /obj/structure/janitorialcart/proc/check_menu(mob/living/user) if(!istype(user)) return FALSE diff --git a/code/game/objects/structures/plaques/_plaques.dm b/code/game/objects/structures/plaques/_plaques.dm index 9f083c1d0af..272b729ae85 100644 --- a/code/game/objects/structures/plaques/_plaques.dm +++ b/code/game/objects/structures/plaques/_plaques.dm @@ -40,13 +40,13 @@ /obj/structure/plaque/wrench_act(mob/living/user, obj/item/wrench/I) . = ..() user.visible_message("[user] starts removing [src]...", \ - "You start unfastening [src].") + "You start unfastening [src].") I.play_tool_sound(src) if(!I.use_tool(src, user, 4 SECONDS)) return TRUE playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) user.visible_message("[user] unfastens [src].", \ - "You unfasten [src].") + "You unfasten [src].") var/obj/item/plaque/unwrenched_plaque = new (get_turf(user)) if(engraved) //If it's still just a basic unengraved plaque, we can (and should) skip some of the below variable transfers. unwrenched_plaque.name = name //Copy over the plaque structure variables to the plaque item we're creating when we unwrench it. @@ -68,11 +68,11 @@ if(!I.tool_start_check(user, amount=0)) return TRUE user.visible_message("[user] starts repairing [src]...", \ - "You start repairing [src].") + "You start repairing [src].") if(!I.use_tool(src, user, 4 SECONDS, volume = 50)) return TRUE user.visible_message("[user] finishes repairing [src].", \ - "You finish repairing [src].") + "You finish repairing [src].") obj_integrity = max_integrity return TRUE @@ -86,11 +86,11 @@ if(!I.tool_start_check(user, amount=0)) return TRUE user.visible_message("[user] starts repairing [src]...", \ - "You start repairing [src].") + "You start repairing [src].") if(!I.use_tool(src, user, 4 SECONDS, volume = 50)) return TRUE user.visible_message("[user] finishes repairing [src].", \ - "You finish repairing [src].") + "You finish repairing [src].") obj_integrity = max_integrity return TRUE @@ -109,14 +109,14 @@ to_chat(user, "You need to stand next to the plaque to engrave it!") return user.visible_message("[user] begins engraving [src].", \ - "You begin engraving [src].") + "You begin engraving [src].") if(!do_after(user, 4 SECONDS, target = src)) //This spits out a visible message that somebody is engraving a plaque, then has a delay. return name = "\improper [namechoice]" //We want improper here so examine doesn't get weird if somebody capitalizes the plaque title. desc = "The plaque reads: '[descriptionchoice]'" engraved = TRUE //The plaque now has a name, description, and can't be altered again. user.visible_message("[user] engraves [src].", \ - "You engrave [src].") + "You engrave [src].") return if(istype(I, /obj/item/pen)) if(engraved) @@ -141,14 +141,14 @@ to_chat(user, "You need to stand next to the plaque to engrave it!") return user.visible_message("[user] begins engraving [src].", \ - "You begin engraving [src].") + "You begin engraving [src].") if(!do_after(user, 40, target = src)) //This spits out a visible message that somebody is engraving a plaque, then has a delay. return name = "\improper [namechoice]" //We want improper here so examine doesn't get weird if somebody capitalizes the plaque title. desc = "The plaque reads: '[descriptionchoice]'" engraved = TRUE //The plaque now has a name, description, and can't be altered again. user.visible_message("[user] engraves [src].", \ - "You engrave [src].") + "You engrave [src].") return if(istype(I, /obj/item/pen)) if(engraved) @@ -176,7 +176,7 @@ else if(dir & WEST) placed_plaque.pixel_x = -32 user.visible_message("[user] fastens [src] to [target_turf].", \ - "You attach [src] to [target_turf].") + "You attach [src] to [target_turf].") playsound(target_turf, 'sound/items/deconstruct.ogg', 50, TRUE) if(engraved) placed_plaque.name = name diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index 946e96dbca1..d02a802350b 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -205,14 +205,14 @@ FLOOR SAFES return TRUE /** - * Checks if safe is considered in a broken state for force-opening the safe - */ + * Checks if safe is considered in a broken state for force-opening the safe + */ /obj/structure/safe/proc/check_broken() - return broken || explosion_count >= BROKEN_THRESHOLD + return broken || explosion_count >= BROKEN_THRESHOLD /** - * Called every dial turn to determine whether the safe should unlock or not. - */ + * Called every dial turn to determine whether the safe should unlock or not. + */ /obj/structure/safe/proc/check_unlocked() if(check_broken()) return TRUE @@ -224,8 +224,8 @@ FLOOR SAFES return FALSE /** - * Called every dial turn to provide feedback if possible. - */ + * Called every dial turn to provide feedback if possible. + */ /obj/structure/safe/proc/notify_user(user, canhear, sounds, total_ticks, current_tick) if(!canhear) return diff --git a/code/game/objects/structures/signs/_signs.dm b/code/game/objects/structures/signs/_signs.dm index 6b1d06b6893..8b2cd278641 100644 --- a/code/game/objects/structures/signs/_signs.dm +++ b/code/game/objects/structures/signs/_signs.dm @@ -54,10 +54,10 @@ user.examinate(src) /** - * This proc populates GLOBAL_LIST_EMPTY(editable_sign_types) - * - * The first time a pen is used on any sign, this populates GLOBAL_LIST_EMPTY(editable_sign_types), creating a global list of all the signs that you can set a sign backing to with a pen. - */ + * This proc populates GLOBAL_LIST_EMPTY(editable_sign_types) + * + * The first time a pen is used on any sign, this populates GLOBAL_LIST_EMPTY(editable_sign_types), creating a global list of all the signs that you can set a sign backing to with a pen. + */ /proc/populate_editable_sign_types() for(var/s in subtypesof(/obj/structure/sign)) var/obj/structure/sign/potential_sign = s @@ -71,13 +71,13 @@ if(!buildable_sign) return TRUE user.visible_message("[user] starts removing [src]...", \ - "You start unfastening [src].") + "You start unfastening [src].") I.play_tool_sound(src) if(!I.use_tool(src, user, 4 SECONDS)) return TRUE playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) user.visible_message("[user] unfastens [src].", \ - "You unfasten [src].") + "You unfasten [src].") var/obj/item/sign/unwrenched_sign = new (get_turf(user)) if(type != /obj/structure/sign/blank) //If it's still just a basic sign backing, we can (and should) skip some of the below variable transfers. unwrenched_sign.name = name //Copy over the sign structure variables to the sign item we're creating when we unwrench a sign. @@ -101,11 +101,11 @@ if(!I.tool_start_check(user, amount=0)) return TRUE user.visible_message("[user] starts repairing [src]...", \ - "You start repairing [src].") + "You start repairing [src].") if(!I.use_tool(src, user, 4 SECONDS, volume =50 )) return TRUE user.visible_message("[user] finishes repairing [src].", \ - "You finish repairing [src].") + "You finish repairing [src].") obj_integrity = max_integrity return TRUE @@ -119,11 +119,11 @@ if(!I.tool_start_check(user, amount=0)) return TRUE user.visible_message("[user] starts repairing [src]...", \ - "You start repairing [src].") + "You start repairing [src].") if(!I.use_tool(src, user, 4 SECONDS, volume =50 )) return TRUE user.visible_message("[user] finishes repairing [src].", \ - "You finish repairing [src].") + "You finish repairing [src].") obj_integrity = max_integrity return TRUE @@ -140,7 +140,7 @@ to_chat(user, "You need to stand next to the sign to change it!") return user.visible_message("[user] begins changing [src].", \ - "You begin changing [src].") + "You begin changing [src].") if(!do_after(user, 4 SECONDS, target = src)) //Small delay for changing signs instead of it being instant, so somebody could be shoved or stunned to prevent them from doing so. return var/sign_type = GLOB.editable_sign_types[choice] @@ -153,7 +153,7 @@ changedsign.obj_integrity = obj_integrity qdel(src) user.visible_message("[user] finishes changing the sign.", \ - "You finish changing the sign.") + "You finish changing the sign.") return return ..() @@ -204,7 +204,7 @@ else if(dir & WEST) placed_sign.pixel_x = -32 user.visible_message("[user] fastens [src] to [target_turf].", \ - "You attach the sign to [target_turf].") + "You attach the sign to [target_turf].") playsound(target_turf, 'sound/items/deconstruct.ogg', 50, TRUE) placed_sign.obj_integrity = obj_integrity placed_sign.setDir(dir) diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm index cbe7e9fdf73..3131192153e 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -257,9 +257,9 @@ icon_state = "snowman" /obj/structure/statue/snow/snowlegion - name = "snowlegion" - desc = "Looks like that weird kid with the tiger plushie has been round here again." - icon_state = "snowlegion" + name = "snowlegion" + desc = "Looks like that weird kid with the tiger plushie has been round here again." + icon_state = "snowlegion" ///////////////////////////////bronze/////////////////////////////////// @@ -322,10 +322,10 @@ return ..() /* - Hit the block to start - Point with the chisel at the target to choose what to sculpt or hit block to choose from preset statue types. - Hit block again to start sculpting. - Moving interrupts +Hit the block to start +Point with the chisel at the target to choose what to sculpt or hit block to choose from preset statue types. +Hit block again to start sculpting. +Moving interrupts */ /obj/item/chisel/pre_attack(atom/A, mob/living/user, params) . = ..() diff --git a/code/game/objects/structures/training_machine.dm b/code/game/objects/structures/training_machine.dm index b7f3e204c42..ac8a2921df1 100644 --- a/code/game/objects/structures/training_machine.dm +++ b/code/game/objects/structures/training_machine.dm @@ -7,11 +7,11 @@ #define MAX_ATTACK_DELAY 15 /** - * Machine that runs around wildly so people can practice clickin on things - * - * Can have a mob buckled on or a obj/item/target attached. Movement controlled by SSFastProcess, - * movespeed controlled by cooldown macros. Can attach obj/item/target, obj/item/training_toolbox, and can buckle mobs to this. - */ + * Machine that runs around wildly so people can practice clickin on things + * + * Can have a mob buckled on or a obj/item/target attached. Movement controlled by SSFastProcess, + * movespeed controlled by cooldown macros. Can attach obj/item/target, obj/item/training_toolbox, and can buckle mobs to this. + */ /obj/structure/training_machine name = "AURUMILL-Brand MkII. Personnel Training Machine" desc = "Used for combat training simulations. Accepts standard training targets. A pair of buckling straps are attached." @@ -335,10 +335,10 @@ . += "Click to open control interface." /** - * Device that simply counts the number of times you've hit a mob or target with. Looks like a toolbox but isn't. - * - * Also has a 'Lap' function for keeping track of hits made at a certain point. Also, looks kinda like his grace for laughs and pranks. - */ + * Device that simply counts the number of times you've hit a mob or target with. Looks like a toolbox but isn't. + * + * Also has a 'Lap' function for keeping track of hits made at a certain point. Also, looks kinda like his grace for laughs and pranks. + */ /obj/item/training_toolbox name = "Training Toolbox" desc = "AURUMILL-Brand Baby's First Training Toolbox. A digital display on the back keeps track of hits made by the user. Second toolbox sold seperately!" diff --git a/code/game/say.dm b/code/game/say.dm index 663ae7f0062..baf4b7da51a 100644 --- a/code/game/say.dm +++ b/code/game/say.dm @@ -1,7 +1,7 @@ /* - Miauw's big Say() rewrite. - This file has the basic atom/movable level speech procs. - And the base of the send_speech() proc, which is the core of saycode. +Miauw's big Say() rewrite. +This file has the basic atom/movable level speech procs. +And the base of the send_speech() proc, which is the core of saycode. */ GLOBAL_LIST_INIT(freqtospan, list( "[FREQ_SCIENCE]" = "sciradio", diff --git a/code/game/sound.dm b/code/game/sound.dm index 5e29c951d8b..97f22fc78e2 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -28,7 +28,7 @@ falloff_distance - Distance at which falloff begins. Sound is at peak volume (in //allocate a channel if necessary now so its the same for everyone channel = channel || SSsounds.random_available_channel() - // Looping through the player list has the added bonus of working for mobs inside containers + // Looping through the player list has the added bonus of working for mobs inside containers var/sound/S = sound(get_sfx(soundin)) var/maxdistance = SOUND_RANGE + extrarange var/source_z = turf_source.z diff --git a/code/game/turfs/closed/walls.dm b/code/game/turfs/closed/walls.dm index 847b60358ac..93cf8043ed7 100644 --- a/code/game/turfs/closed/walls.dm +++ b/code/game/turfs/closed/walls.dm @@ -150,15 +150,15 @@ return TRUE /** - *Deals damage back to the hulk's arm. - * - *When a hulk manages to break a wall using their hulk smash, this deals back damage to the arm used. - *This is in its own proc just to be easily overridden by other wall types. Default allows for three - *smashed walls per arm. Also, we use CANT_WOUND here because wounds are random. Wounds are applied - *by hulk code based on arm damage and checked when we call break_an_arm(). - *Arguments: - **arg1 is the arm to deal damage to. - **arg2 is the hulk + *Deals damage back to the hulk's arm. + * + *When a hulk manages to break a wall using their hulk smash, this deals back damage to the arm used. + *This is in its own proc just to be easily overridden by other wall types. Default allows for three + *smashed walls per arm. Also, we use CANT_WOUND here because wounds are random. Wounds are applied + *by hulk code based on arm damage and checked when we call break_an_arm(). + *Arguments: + **arg1 is the arm to deal damage to. + **arg2 is the hulk */ /turf/closed/wall/proc/hulk_recoil(obj/item/bodypart/arm, mob/living/carbon/human/hulkman, damage = 20) arm.receive_damage(brute = damage, blocked = 0, wound_bonus = CANT_WOUND) diff --git a/code/game/turfs/open/floor/light_floor.dm b/code/game/turfs/open/floor/light_floor.dm index 2199c1e9466..07e5872b8d3 100644 --- a/code/game/turfs/open/floor/light_floor.dm +++ b/code/game/turfs/open/floor/light_floor.dm @@ -156,12 +156,12 @@ can_modify_colour = FALSE /** - * check_menu: Checks if we are allowed to interact with a radial menu - * - * Arguments: - * * user The mob interacting with a menu - * * multitool The multitool used to interact with a menu - */ + * check_menu: Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with a menu + * * multitool The multitool used to interact with a menu + */ /turf/open/floor/light/proc/check_menu(mob/living/user, obj/item/multitool) if(!istype(user)) return FALSE diff --git a/code/game/turfs/open/floor/plating/asteroid.dm b/code/game/turfs/open/floor/plating/asteroid.dm index 459045bf49f..0f14efed70b 100644 --- a/code/game/turfs/open/floor/plating/asteroid.dm +++ b/code/game/turfs/open/floor/plating/asteroid.dm @@ -275,13 +275,13 @@ GLOBAL_LIST_INIT(megafauna_spawn_list, list(/mob/living/simple_animal/hostile/me SpawnFloor(src) /** - * Makes the tunnel and spawns things inside of it - * - * Picks a tunnel width for the tunnel and then starts spawning turfs in the direction it moves in - * Can randomly change directions of the tunnel, stops if it hits the edge of the map, or a no tunnel area - * Can randomly make new tunnels out of itself - * - */ + * Makes the tunnel and spawns things inside of it + * + * Picks a tunnel width for the tunnel and then starts spawning turfs in the direction it moves in + * Can randomly change directions of the tunnel, stops if it hits the edge of the map, or a no tunnel area + * Can randomly make new tunnels out of itself + * + */ /turf/open/floor/plating/asteroid/airless/cave/proc/make_tunnel(dir) var/turf/closed/mineral/tunnel = src var/next_angle = pick(45, -45) diff --git a/code/game/turfs/open/space/space.dm b/code/game/turfs/open/space/space.dm index ebb0691aefd..6d75e006b23 100644 --- a/code/game/turfs/open/space/space.dm +++ b/code/game/turfs/open/space/space.dm @@ -26,10 +26,10 @@ return /** - * Space Initialize - * - * Doesn't call parent, see [/atom/proc/Initialize] - */ + * Space Initialize + * + * Doesn't call parent, see [/atom/proc/Initialize] + */ /turf/open/space/Initialize() SHOULD_CALL_PARENT(FALSE) icon_state = SPACE_ICON_STATE diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 9a99a2c4b87..bf363bd8b44 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -64,10 +64,10 @@ GLOBAL_LIST_EMPTY(station_turfs) . = ..() /** - * Turf Initialize - * - * Doesn't call parent, see [/atom/proc/Initialize] - */ + * Turf Initialize + * + * Doesn't call parent, see [/atom/proc/Initialize] + */ /turf/Initialize(mapload) SHOULD_CALL_PARENT(FALSE) if(flags_1 & INITIALIZED_1) @@ -598,8 +598,8 @@ GLOBAL_LIST_EMPTY(station_turfs) . |= R.expose_turf(src, reagents[R]) /** - * Called when this turf is being washed. Washing a turf will also wash any mopable floor decals - */ + * Called when this turf is being washed. Washing a turf will also wash any mopable floor decals + */ /turf/wash(clean_types) . = ..() diff --git a/code/game/world.dm b/code/game/world.dm index 25d0cac8dd1..0a4f914caa4 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -3,31 +3,31 @@ GLOBAL_VAR(restart_counter) /** - * World creation - * - * Here is where a round itself is actually begun and setup. - * * db connection setup - * * config loaded from files - * * loads admins - * * Sets up the dynamic menu system - * * and most importantly, calls initialize on the master subsystem, starting the game loop that causes the rest of the game to begin processing and setting up - * - * - * Nothing happens until something moves. ~Albert Einstein - * - * For clarity, this proc gets triggered later in the initialization pipeline, it is not the first thing to happen, as it might seem. - * - * Initialization Pipeline: - * Global vars are new()'ed, (including config, glob, and the master controller will also new and preinit all subsystems when it gets new()ed) - * Compiled in maps are loaded (mainly centcom). all areas/turfs/objs/mobs(ATOMs) in these maps will be new()ed - * world/New() (You are here) - * Once world/New() returns, client's can connect. - * 1 second sleep - * Master Controller initialization. - * Subsystem initialization. - * Non-compiled-in maps are maploaded, all atoms are new()ed - * All atoms in both compiled and uncompiled maps are initialized() - */ + * World creation + * + * Here is where a round itself is actually begun and setup. + * * db connection setup + * * config loaded from files + * * loads admins + * * Sets up the dynamic menu system + * * and most importantly, calls initialize on the master subsystem, starting the game loop that causes the rest of the game to begin processing and setting up + * + * + * Nothing happens until something moves. ~Albert Einstein + * + * For clarity, this proc gets triggered later in the initialization pipeline, it is not the first thing to happen, as it might seem. + * + * Initialization Pipeline: + * Global vars are new()'ed, (including config, glob, and the master controller will also new and preinit all subsystems when it gets new()ed) + * Compiled in maps are loaded (mainly centcom). all areas/turfs/objs/mobs(ATOMs) in these maps will be new()ed + * world/New() (You are here) + * Once world/New() returns, client's can connect. + * 1 second sleep + * Master Controller initialization. + * Subsystem initialization. + * Non-compiled-in maps are maploaded, all atoms are new()ed + * All atoms in both compiled and uncompiled maps are initialized() + */ /world/New() var/extools = world.GetConfig("env", "EXTOOLS_DLL") || (world.system_type == MS_WINDOWS ? "./byond-extools.dll" : "./libbyond-extools.so") if (fexists(extools)) diff --git a/code/modules/admin/poll_management.dm b/code/modules/admin/poll_management.dm index c14727813cb..abb0431dd28 100644 --- a/code/modules/admin/poll_management.dm +++ b/code/modules/admin/poll_management.dm @@ -1,9 +1,9 @@ /** - * Datum which holds details of a running poll loaded from the database and supplementary info. - * - * Used to minimize the need for querying this data every time it's needed. - * - */ + * Datum which holds details of a running poll loaded from the database and supplementary info. + * + * Used to minimize the need for querying this data every time it's needed. + * + */ /datum/poll_question ///Reference list of the options for this poll, not used by text response polls. var/list/options = list() @@ -41,11 +41,11 @@ var/future_poll /** - * Datum which holds details of a poll option loaded from the database. - * - * Used to minimize the need for querying this data every time it's needed. - * - */ + * Datum which holds details of a poll option loaded from the database. + * + * Used to minimize the need for querying this data every time it's needed. + * + */ /datum/poll_option ///Reference to the poll this option belongs to var/datum/poll_question/parent_poll @@ -67,9 +67,9 @@ var/default_percentage_calc /** - * Shows a list of all current and future polls and buttons to edit or delete them or create a new poll. - * - */ + * Shows a list of all current and future polls and buttons to edit or delete them or create a new poll. + * + */ /datum/admins/proc/poll_list_panel() var/list/output = list("Current and future polls
    Note when editing polls or their options changes are not saved until you press Submit Poll.
    New PollReload Polls
    ") for(var/p in GLOB.polls) @@ -91,9 +91,9 @@ panel.open() /** - * Show the options for creating a poll or editing its parameters along with its linked options. - * - */ + * Show the options for creating a poll or editing its parameters along with its linked options. + * + */ /datum/admins/proc/poll_management_panel(datum/poll_question/poll) var/list/output = list("
    [HrefTokenFormField()]") output += {"Poll type @@ -235,12 +235,12 @@ panel.open() /** - * Processes topic data from poll management panel. - * - * Reads through returned form data and assigns data to the poll datum, creating a new one if required, before passing it to be saved. - * Also does some simple error checking to ensure the poll will be valid before creation. - * - */ + * Processes topic data from poll management panel. + * + * Reads through returned form data and assigns data to the poll datum, creating a new one if required, before passing it to be saved. + * Also does some simple error checking to ensure the poll will be valid before creation. + * + */ /datum/admins/proc/poll_parse_href(list/href_list, datum/poll_question/poll) if(!check_rights(R_POLL)) return @@ -344,12 +344,12 @@ return ..() /** - * Sets a poll and its associated data as deleted in the database. - * - * Calls the procedure set_poll_deleted to set the deleted column to 1 for each row in the poll_ tables matching the poll id used. - * Then deletes each option datum and finally the poll itself. - * - */ + * Sets a poll and its associated data as deleted in the database. + * + * Calls the procedure set_poll_deleted to set the deleted column to 1 for each row in the poll_ tables matching the poll id used. + * Then deletes each option datum and finally the poll itself. + * + */ /datum/poll_question/proc/delete_poll() if(!check_rights(R_POLL)) return @@ -371,14 +371,14 @@ qdel(src) /** - * Inserts or updates a poll question to the database. - * - * Uses INSERT ON DUPLICATE KEY UPDATE to handle both inserting and updating at once. - * The start and end datetimes and poll id for new polls is then retrieved for the poll datum. - * Arguments: - * * clear_votes - When true will call clear_poll_votes() to delete all votes matching this poll id. - * - */ + * Inserts or updates a poll question to the database. + * + * Uses INSERT ON DUPLICATE KEY UPDATE to handle both inserting and updating at once. + * The start and end datetimes and poll id for new polls is then retrieved for the poll datum. + * Arguments: + * * clear_votes - When true will call clear_poll_votes() to delete all votes matching this poll id. + * + */ /datum/poll_question/proc/save_poll_data(clear_votes) if(!check_rights(R_POLL)) return @@ -437,13 +437,13 @@ message_admins("[kna] [msg]") /** - * Saves all options of a poll to the database. - * - * Saves all the created options for a poll when it's submitted to the DB for the first time and associated an id with the options. - * Insertion and id querying for each option is done separately to ensure data integrity; this is less performant, but not significantly. - * Using MassInsert() would mean having to query a list of rows by poll_id or matching by fields afterwards, which doesn't guarantee accuracy. - * - */ + * Saves all options of a poll to the database. + * + * Saves all the created options for a poll when it's submitted to the DB for the first time and associated an id with the options. + * Insertion and id querying for each option is done separately to ensure data integrity; this is less performant, but not significantly. + * Using MassInsert() would mean having to query a list of rows by poll_id or matching by fields afterwards, which doesn't guarantee accuracy. + * + */ /datum/poll_question/proc/save_all_options() if(!SSdbcore.Connect()) to_chat(usr, "Failed to establish database connection.", confidential = TRUE) @@ -453,9 +453,9 @@ option.save_option() /** - * Deletes all votes or text replies for this poll, depending on its type. - * - */ + * Deletes all votes or text replies for this poll, depending on its type. + * + */ /datum/poll_question/proc/clear_poll_votes() if(!check_rights(R_POLL)) return @@ -477,9 +477,9 @@ to_chat(usr, "Poll [poll_type == POLLTYPE_TEXT ? "responses" : "votes"] cleared.", confidential = TRUE) /** - * Show the options for creating a poll option or editing its parameters. - * - */ + * Show the options for creating a poll option or editing its parameters. + * + */ /datum/admins/proc/poll_option_panel(datum/poll_question/poll, datum/poll_option/option) var/list/output = list("[HrefTokenFormField()]") output += {" Option for poll [poll.question] @@ -493,7 +493,7 @@ Maximum Value
    -
    +
    @@ -533,12 +533,12 @@ panel.open() /** - * Processes topic data from poll option panel. - * - * Reads through returned form data and assigns data to the option datum, creating a new one if required, before passing it to be saved. - * Also does some simple error checking to ensure the option will be valid before creation. - * - */ + * Processes topic data from poll option panel. + * + * Reads through returned form data and assigns data to the option datum, creating a new one if required, before passing it to be saved. + * Also does some simple error checking to ensure the option will be valid before creation. + * + */ /datum/admins/proc/poll_option_parse_href(list/href_list, datum/poll_question/poll, datum/poll_option/option) if(!check_rights(R_POLL)) return @@ -631,12 +631,12 @@ return ..() /** - * Inserts or updates a poll option to the database. - * - * Uses INSERT ON DUPLICATE KEY UPDATE to handle both inserting and updating at once. - * The list of columns and values is built dynamically to avoid excess data being sent when not a rating type poll. - * - */ + * Inserts or updates a poll option to the database. + * + * Uses INSERT ON DUPLICATE KEY UPDATE to handle both inserting and updating at once. + * The list of columns and values is built dynamically to avoid excess data being sent when not a rating type poll. + * + */ /datum/poll_option/proc/save_option() if(!check_rights(R_POLL)) return @@ -668,9 +668,9 @@ qdel(query_update_poll_option) /** - * Sets a poll option and its votes as deleted in the database then deletes its datum. - * - */ + * Sets a poll option and its votes as deleted in the database then deletes its datum. + * + */ /datum/poll_option/proc/delete_option() if(!check_rights(R_POLL)) return @@ -690,9 +690,9 @@ qdel(src) /** - * Loads all current and future server polls and their options to store both as datums. - * - */ + * Loads all current and future server polls and their options to store both as datums. + * + */ /proc/load_poll_data() if(!SSdbcore.Connect()) to_chat(usr, "Failed to establish database connection.", confidential = TRUE) diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index fe782099af9..9776b1cf5d4 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -590,15 +590,15 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) send2otherserver(source,final) /** - * Sends a message to a set of cross-communications-enabled servers using world topic calls - * - * Arguments: - * * source - Who sent this message - * * msg - The message body - * * type - The type of message, becomes the topic command under the hood - * * target_servers - A collection of servers to send the message to, defined in config - * * additional_data - An (optional) associated list of extra parameters and data to send with this world topic call - */ + * Sends a message to a set of cross-communications-enabled servers using world topic calls + * + * Arguments: + * * source - Who sent this message + * * msg - The message body + * * type - The type of message, becomes the topic command under the hood + * * target_servers - A collection of servers to send the message to, defined in config + * * additional_data - An (optional) associated list of extra parameters and data to send with this world topic call + */ /proc/send2otherserver(source, msg, type = "Ahelp", target_servers, list/additional_data = list()) if(!CONFIG_GET(string/comms_key)) debug_world_log("Server cross-comms message not sent for lack of configured key") diff --git a/code/modules/admin/verbs/anonymousnames.dm b/code/modules/admin/verbs/anonymousnames.dm index 448ef83e5e1..62c48149af5 100644 --- a/code/modules/admin/verbs/anonymousnames.dm +++ b/code/modules/admin/verbs/anonymousnames.dm @@ -25,13 +25,13 @@ message_admins("[key_name_admin(usr)] has enabled anonymous names. THEME: [SSticker.anonymousnames].") /** - * anonymous_name: generates a corporate random name. used in admin event tool anonymous names - * - * first letter is always a letter - * Example name = "Employee Q5460Z" - * Arguments: - * * M - mob for preferences and gender - */ + * anonymous_name: generates a corporate random name. used in admin event tool anonymous names + * + * first letter is always a letter + * Example name = "Employee Q5460Z" + * Arguments: + * * M - mob for preferences and gender + */ /proc/anonymous_name(mob/M) switch(SSticker.anonymousnames) if(ANON_RANDOMNAMES) @@ -47,13 +47,13 @@ return name /** - * anonymous_ai_name: generates a corporate random name (but for sillycones). used in admin event tool anonymous names - * - * first letter is always a letter - * Example name = "Employee Assistant Assuming Delta" - * Arguments: - * * is_ai - boolean to decide whether the name has "Core" (AI) or "Assistant" (Cyborg) - */ + * anonymous_ai_name: generates a corporate random name (but for sillycones). used in admin event tool anonymous names + * + * first letter is always a letter + * Example name = "Employee Assistant Assuming Delta" + * Arguments: + * * is_ai - boolean to decide whether the name has "Core" (AI) or "Assistant" (Cyborg) + */ /proc/anonymous_ai_name(is_ai = FALSE) switch(SSticker.anonymousnames) if(ANON_RANDOMNAMES) diff --git a/code/modules/admin/verbs/beakerpanel.dm b/code/modules/admin/verbs/beakerpanel.dm index 5de270a2121..b54cf55c357 100644 --- a/code/modules/admin/verbs/beakerpanel.dm +++ b/code/modules/admin/verbs/beakerpanel.dm @@ -91,9 +91,9 @@ } ul li { - margin-top: -1px; /* Prevent double borders */ - padding: 12px; /* Add some padding */ - color: #ffffff; + margin-top: -1px; /* Prevent double borders */ + padding: 12px; /* Add some padding */ + color: #ffffff; text-decoration: none; background: #40628a; border: 1px solid #161616; @@ -102,7 +102,7 @@ } .remove-reagent { - background-color: #d03000; + background-color: #d03000; } .container-control { @@ -261,15 +261,15 @@
    - + - -
    -
    + +
    +

    note: beakers recommended, other containers may have issues
    @@ -289,25 +289,25 @@
    -     + +     -     - +     + +
    -
      -
    • +
        +
      • -
           +
           -
        +
    diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index ddb10f365aa..c53ce57149e 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -168,7 +168,7 @@ GLOBAL_LIST_EMPTY(dirty_vars) set desc = "Displays a list of active turfs coordinates at roundstart" var/dat = {"Coordinate list of Active Turfs at Roundstart -
    Real-time Active Turfs list you can see in Air Subsystem at active_turfs var
    "} +
    Real-time Active Turfs list you can see in Air Subsystem at active_turfs var
    "} for(var/t in GLOB.active_turfs_startlist) var/turf/T = t diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 72e9fb636db..5b15f42b89f 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -1348,17 +1348,17 @@ Traitors and the like can also be revived with the previous role mostly intact. target.forceMove(bread) /** - * firing_squad is a proc for the :B:erforate smite to shoot each individual bullet at them, so that we can add actual delays without sleep() nonsense - * - * Hilariously, if you drag someone away mid smite, the bullets will still chase after them from the original spot, possibly hitting other people. Too funny to fix imo - * - * Arguments: - * * target- guy we're shooting obviously - * * source_turf- where the bullet begins, preferably on a turf next to the target - * * body_zone- which bodypart we're aiming for, if there is one there - * * wound_bonus- the wounding power we're assigning to the bullet, since we don't care about the base one - * * damage- the damage we're assigning to the bullet, since we don't care about the base one - */ + * firing_squad is a proc for the :B:erforate smite to shoot each individual bullet at them, so that we can add actual delays without sleep() nonsense + * + * Hilariously, if you drag someone away mid smite, the bullets will still chase after them from the original spot, possibly hitting other people. Too funny to fix imo + * + * Arguments: + * * target- guy we're shooting obviously + * * source_turf- where the bullet begins, preferably on a turf next to the target + * * body_zone- which bodypart we're aiming for, if there is one there + * * wound_bonus- the wounding power we're assigning to the bullet, since we don't care about the base one + * * damage- the damage we're assigning to the bullet, since we don't care about the base one + */ /proc/firing_squad(mob/living/carbon/target, turf/source_turf, body_zone, wound_bonus, damage) if(!target.get_bodypart(body_zone)) return diff --git a/code/modules/admin/verbs/spawnobjasmob.dm b/code/modules/admin/verbs/spawnobjasmob.dm index 825775808db..52ef25b48e0 100644 --- a/code/modules/admin/verbs/spawnobjasmob.dm +++ b/code/modules/admin/verbs/spawnobjasmob.dm @@ -16,10 +16,10 @@ var/obj/chosen_obj = text2path(chosen) var/list/settings = list( - "mainsettings" = list( - "name" = list("desc" = "Name", "type" = "string", "value" = "Bob"), + "mainsettings" = list( + "name" = list("desc" = "Name", "type" = "string", "value" = "Bob"), "maxhealth" = list("desc" = "Max. health", "type" = "number", "value" = 100), - "access" = list("desc" = "Access ID", "type" = "datum", "path" = "/obj/item/card/id", "value" = "Default"), + "access" = list("desc" = "Access ID", "type" = "datum", "path" = "/obj/item/card/id", "value" = "Default"), "objtype" = list("desc" = "Base obj type", "type" = "datum", "path" = "/obj", "value" = "[chosen]"), "googlyeyes" = list("desc" = "Googly eyes", "type" = "boolean", "value" = "No"), "disableai" = list("desc" = "Disable AI", "type" = "boolean", "value" = "Yes"), @@ -27,8 +27,7 @@ "dropitem" = list("desc" = "Drop obj on death", "type" = "boolean", "value" = "Yes"), "mobtype" = list("desc" = "Base mob type", "type" = "datum", "path" = "/mob/living/simple_animal/hostile/mimic/copy", "value" = "/mob/living/simple_animal/hostile/mimic/copy"), "ckey" = list("desc" = "ckey", "type" = "ckey", "value" = "none"), - ) - ) + )) var/list/prefreturn = presentpreflikepicker(usr,"Customize mob", "Customize mob", Button1="Ok", width = 450, StealFocus = 1,Timeout = 0, settings=settings) if (prefreturn["button"] == 1) diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm index d2994ab9c91..098269d37b8 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm @@ -407,19 +407,19 @@ info = {"Dissection for Dummies

    - 1.Acquire fresh specimen.
    - 2.Put the specimen on operating table.
    - 3.Apply surgical drapes, preparing for experimental dissection.
    - 4.Apply scalpel to specimen's torso.
    - 5.Clamp bleeders on specimen's torso with a hemostat.
    - 6.Retract skin of specimen's torso with a retractor.
    - 7.Apply scalpel again to specimen's torso.
    - 8.Search through the specimen's torso with your hands to remove any superfluous organs.
    - 9.Insert replacement gland (Retrieve one from gland storage).
    - 10.Consider dressing the specimen back to not disturb the habitat.
    - 11.Put the specimen in the experiment machinery.
    - 12.Choose one of the machine options. The target will be analyzed and teleported to the selected drop-off point.
    - 13.You will receive one supply credit, and the subject will be counted towards your quota.
    +1.Acquire fresh specimen.
    +2.Put the specimen on operating table.
    +3.Apply surgical drapes, preparing for experimental dissection.
    +4.Apply scalpel to specimen's torso.
    +5.Clamp bleeders on specimen's torso with a hemostat.
    +6.Retract skin of specimen's torso with a retractor.
    +7.Apply scalpel again to specimen's torso.
    +8.Search through the specimen's torso with your hands to remove any superfluous organs.
    +9.Insert replacement gland (Retrieve one from gland storage).
    +10.Consider dressing the specimen back to not disturb the habitat.
    +11.Put the specimen in the experiment machinery.
    +12.Choose one of the machine options. The target will be analyzed and teleported to the selected drop-off point.
    +13.You will receive one supply credit, and the subject will be counted towards your quota.

    Congratulations! You are now trained for invasive xenobiology research!"} diff --git a/code/modules/antagonists/abductor/machinery/console.dm b/code/modules/antagonists/abductor/machinery/console.dm index e873f93e85c..422e0274658 100644 --- a/code/modules/antagonists/abductor/machinery/console.dm +++ b/code/modules/antagonists/abductor/machinery/console.dm @@ -35,8 +35,8 @@ possible_gear = get_abductor_gear() /** - * get_abductor_gear: Returns a list of a filtered abductor gear sorted by categories - */ + * get_abductor_gear: Returns a list of a filtered abductor gear sorted by categories + */ /obj/machinery/abductor/console/proc/get_abductor_gear() var/list/filtered_modules = list() for(var/path in GLOB.abductor_gear) diff --git a/code/modules/antagonists/abductor/machinery/experiment.dm b/code/modules/antagonists/abductor/machinery/experiment.dm index bb5eb99a028..6a196df29d2 100644 --- a/code/modules/antagonists/abductor/machinery/experiment.dm +++ b/code/modules/antagonists/abductor/machinery/experiment.dm @@ -103,13 +103,13 @@ return TRUE /** - * experiment: Performs selected experiment on occupant mob, resulting in a point reward on success - * - * Arguments: - * * occupant The mob inside the machine - * * type The type of experiment to be performed - * * user The mob starting the experiment - */ + * experiment: Performs selected experiment on occupant mob, resulting in a point reward on success + * + * Arguments: + * * occupant The mob inside the machine + * * type The type of experiment to be performed + * * user The mob starting the experiment + */ /obj/machinery/abductor/experiment/proc/experiment(mob/occupant, type, mob/user) LAZYINITLIST(history) var/mob/living/carbon/human/H = occupant @@ -167,11 +167,11 @@ return "Specimen braindead - disposed." /** - * send_back: Sends a mob back to a selected teleport location if safe - * - * Arguments: - * * H The human mob to be sent back - */ + * send_back: Sends a mob back to a selected teleport location if safe + * + * Arguments: + * * H The human mob to be sent back + */ /obj/machinery/abductor/experiment/proc/send_back(mob/living/carbon/human/H) H.Sleeping(160) H.uncuff() diff --git a/code/modules/antagonists/blob/blobstrains/multiplex.dm b/code/modules/antagonists/blob/blobstrains/multiplex.dm index 191da6c51f5..aaebf1d0526 100644 --- a/code/modules/antagonists/blob/blobstrains/multiplex.dm +++ b/code/modules/antagonists/blob/blobstrains/multiplex.dm @@ -11,7 +11,7 @@ var/datum/blobstrain/bts = bt bts.overmind = overmind src.blobstrains += bt - typeshare = (0.8 * length(src.blobstrains)) - (length(src.blobstrains)-1) // 1 is 80%, 2 are 60% etc + typeshare = (0.8 * length(src.blobstrains)) - (length(src.blobstrains)-1) // 1 is 80%, 2 are 60% etc /datum/blobstrain/multiplex/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag, coefficient = 1) //when the blob takes damage, do this for (var/datum/blobstrain/bt in blobstrains) diff --git a/code/modules/antagonists/changeling/changeling_power.dm b/code/modules/antagonists/changeling/changeling_power.dm index 4df63b04377..a629f4022cf 100644 --- a/code/modules/antagonists/changeling/changeling_power.dm +++ b/code/modules/antagonists/changeling/changeling_power.dm @@ -37,15 +37,15 @@ the same goes for Remove(). if you override Remove(), call parent or else your p try_to_sting(user) /** - *Contrary to the name, this proc isn't just used by changeling stings. It handles the activation of the action and the deducation of its cost. - *The order of the proc chain is: - *can_sting(). Should this fail, the process gets aborted early. - *sting_action(). This proc usually handles the actual effect of the action. - *Should sting_action succeed the following will be done: - *sting_feedback(). Produces feedback on the performed action. Don't ask me why this isn't handled in sting_action() - *The deduction of the cost of this power. - *Returns TRUE on a successful activation. - */ + *Contrary to the name, this proc isn't just used by changeling stings. It handles the activation of the action and the deducation of its cost. + *The order of the proc chain is: + *can_sting(). Should this fail, the process gets aborted early. + *sting_action(). This proc usually handles the actual effect of the action. + *Should sting_action succeed the following will be done: + *sting_feedback(). Produces feedback on the performed action. Don't ask me why this isn't handled in sting_action() + *The deduction of the cost of this power. + *Returns TRUE on a successful activation. + */ /datum/action/changeling/proc/try_to_sting(mob/user, mob/target) if(!can_sting(user, target)) return FALSE diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index 79587b0e34b..b453c09ec6d 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -161,7 +161,7 @@ /datum/action/innate/cult/blood_spell/emp/Activate() owner.whisper(invocation, language = /datum/language/common) owner.visible_message("[owner]'s hand flashes a bright blue!", \ - "You speak the cursed words, emitting an EMP blast from your hand.") + "You speak the cursed words, emitting an EMP blast from your hand.") empulse(owner, 2, 5) charges-- if(charges<=0) @@ -203,7 +203,7 @@ to_chat(owner, "A ritual dagger appears in your hand!") else owner.visible_message("A ritual dagger appears at [owner]'s feet!", \ - "A ritual dagger materializes at your feet.") + "A ritual dagger materializes at your feet.") SEND_SOUND(owner, sound('sound/effects/magic.ogg', FALSE, 0, 25)) charges-- if(charges <= 0) @@ -305,7 +305,7 @@ button_icon_state = "back" else owner.visible_message("A flash of light shines from [owner]'s hand!", \ - "You invoke the counterspell, revealing nearby runes.") + "You invoke the counterspell, revealing nearby runes.") charges-- owner.whisper(invocation, language = /datum/language/common) SEND_SOUND(owner, sound('sound/magic/enter_blood.ogg',0,1,25)) @@ -824,7 +824,7 @@ to_chat(user, "A [rite.name] appears in your hand!") else user.visible_message("A [rite.name] appears at [user]'s feet!", \ - "A [rite.name] materializes at your feet.") + "A [rite.name] materializes at your feet.") if("Blood Bolt Barrage (300)") if(uses < BLOOD_BARRAGE_COST) to_chat(user, "You need [BLOOD_BARRAGE_COST] charges to perform this rite.") diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index e21cf1bd5ab..e59339437bf 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -58,7 +58,7 @@ user.Paralyze(100) user.dropItemToGround(src, TRUE) user.visible_message("A powerful force shoves [user] away from [target]!", \ - "\"You shouldn't play with sharp things. You'll poke someone's eye out.\"") + "\"You shouldn't play with sharp things. You'll poke someone's eye out.\"") if(ishuman(user)) var/mob/living/carbon/human/H = user H.apply_damage(rand(force/2, force), BRUTE, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) diff --git a/code/modules/antagonists/cult/ritual.dm b/code/modules/antagonists/cult/ritual.dm index 52bb21018dc..2c05b544e3b 100644 --- a/code/modules/antagonists/cult/ritual.dm +++ b/code/modules/antagonists/cult/ritual.dm @@ -125,7 +125,7 @@ This file contains the cult dagger and rune list code var/obj/structure/emergency_shield/cult/narsie/N = new(B) shields += N user.visible_message("[user] [user.blood_volume ? "cuts open [user.p_their()] arm and begins writing in [user.p_their()] own blood":"begins sketching out a strange design"]!", \ - "You [user.blood_volume ? "slice open your arm and ":""]begin drawing a sigil of the Geometer.") + "You [user.blood_volume ? "slice open your arm and ":""]begin drawing a sigil of the Geometer.") if(user.blood_volume) user.apply_damage(initial(rune_to_scribe.scribe_damage), BRUTE, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM), wound_bonus = CANT_WOUND) // *cuts arm* *bone explodes* ever have one of those days? var/scribe_mod = initial(rune_to_scribe.scribe_delay) @@ -140,7 +140,7 @@ This file contains the cult dagger and rune list code if(!check_rune_turf(Turf, user)) return user.visible_message("[user] creates a strange circle[user.blood_volume ? " in [user.p_their()] own blood":""].", \ - "You finish drawing the arcane markings of the Geometer.") + "You finish drawing the arcane markings of the Geometer.") for(var/V in shields) var/obj/structure/emergency_shield/S = V if(S && !QDELETED(S)) diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index d9ddf796869..d41216fc61b 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -244,7 +244,7 @@ structure_check() searches for nearby cultist structures required for the invoca convertee.adjustFireLoss(-(burndamage * 0.75)) convertee.visible_message("[convertee] writhes in pain \ [brutedamage || burndamage ? "even as [convertee.p_their()] wounds heal and close" : "as the markings below [convertee.p_them()] glow a bloody red"]!", \ - "AAAAAAAAAAAAAA-") + "AAAAAAAAAAAAAA-") SSticker.mode.add_cultist(convertee.mind, 1) new /obj/item/melee/cultblade/dagger(get_turf(src)) convertee.mind.special_role = ROLE_CULTIST @@ -826,7 +826,7 @@ structure_check() searches for nearby cultist structures required for the invoca ghosts-- if(new_human) new_human.visible_message("[new_human] suddenly dissolves into bones and ashes.", \ - "Your link to the world fades. Your form breaks apart.") + "Your link to the world fades. Your form breaks apart.") for(var/obj/I in new_human) new_human.dropItemToGround(I, TRUE) new_human.dust() @@ -834,7 +834,7 @@ structure_check() searches for nearby cultist structures required for the invoca affecting = user affecting.add_atom_colour(RUNE_COLOR_DARKRED, ADMIN_COLOUR_PRIORITY) affecting.visible_message("[affecting] freezes statue-still, glowing an unearthly red.", \ - "You see what lies beyond. All is revealed. In this form you find that your voice booms louder and you can mark targets for the entire cult") + "You see what lies beyond. All is revealed. In this form you find that your voice booms louder and you can mark targets for the entire cult") var/mob/dead/observer/G = affecting.ghostize(1) var/datum/action/innate/cult/comm/spirit/CM = new var/datum/action/innate/cult/ghostmark/GM = new @@ -849,7 +849,7 @@ structure_check() searches for nearby cultist structures required for the invoca affecting.forceMove(get_turf(src)) //NO ESCAPE :^) if(affecting.key) affecting.visible_message("[affecting] slowly relaxes, the glow around [affecting.p_them()] dimming.", \ - "You are re-united with your physical form. [src] releases its hold over you.") + "You are re-united with your physical form. [src] releases its hold over you.") affecting.Paralyze(40) break if(affecting.health <= 10) diff --git a/code/modules/antagonists/eldritch_cult/eldritch_effects.dm b/code/modules/antagonists/eldritch_cult/eldritch_effects.dm index 8e520092e5b..2795fb51b64 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_effects.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_effects.dm @@ -107,12 +107,12 @@ pixel_y = -32 /** - * #Reality smash tracker - * - * Stupid fucking list holder, DONT create new ones, it will break the game, this is automnatically created whenever eldritch cultists are created. - * - * Tracks relevant data, generates relevant data, useful tool - */ + * #Reality smash tracker + * + * Stupid fucking list holder, DONT create new ones, it will break the game, this is automnatically created whenever eldritch cultists are created. + * + * Tracks relevant data, generates relevant data, useful tool + */ /datum/reality_smash_tracker ///list of tracked reality smashes var/smashes = 0 @@ -125,10 +125,10 @@ return ..() /** - * Generates a set amount of reality smashes based on the N value - * - * Automatically creates more reality smashes - */ + * Generates a set amount of reality smashes based on the N value + * + * Automatically creates more reality smashes + */ /datum/reality_smash_tracker/proc/Generate() targets++ var/number = max(targets * (4-(targets-1)) - smashes,1) diff --git a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm index 65ab9076f92..ebeab577bfa 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm @@ -1,11 +1,11 @@ /** - * #Eldritch Knwoledge - * - * Datum that makes eldritch cultist interesting. - * - * Eldritch knowledge aren't instantiated anywhere roundstart, and are initalized and destroyed as the round goes on. - */ + * #Eldritch Knwoledge + * + * Datum that makes eldritch cultist interesting. + * + * Eldritch knowledge aren't instantiated anywhere roundstart, and are initalized and destroyed as the round goes on. + */ /datum/eldritch_knowledge ///Name of the knowledge var/name = "Basic knowledge" @@ -35,49 +35,49 @@ required_atoms = temp_list /** - * What happens when this is assigned to an antag datum - * - * This proc is called whenever a new eldritch knowledge is added to an antag datum - */ + * What happens when this is assigned to an antag datum + * + * This proc is called whenever a new eldritch knowledge is added to an antag datum + */ /datum/eldritch_knowledge/proc/on_gain(mob/user) to_chat(user, "[gain_text]") return /** - * What happens when you loose this - * - * This proc is called whenever antagonist looses his antag datum, put cleanup code in here - */ + * What happens when you loose this + * + * This proc is called whenever antagonist looses his antag datum, put cleanup code in here + */ /datum/eldritch_knowledge/proc/on_lose(mob/user) return /** - * What happens every tick - * - * This proc is called on SSprocess in eldritch cultist antag datum. SSprocess happens roughly every second - */ + * What happens every tick + * + * This proc is called on SSprocess in eldritch cultist antag datum. SSprocess happens roughly every second + */ /datum/eldritch_knowledge/proc/on_life(mob/user) return /** - * Special check for recipes - * - * If you are adding a more complex summoning or something that requires a special check that parses through all the atoms in an area override this. - */ + * Special check for recipes + * + * If you are adding a more complex summoning or something that requires a special check that parses through all the atoms in an area override this. + */ /datum/eldritch_knowledge/proc/recipe_snowflake_check(list/atoms,loc) return TRUE /** - * A proc that handles the code when the mob dies - * - * This proc is primarily used to end any soundloops when the heretic dies - */ + * A proc that handles the code when the mob dies + * + * This proc is primarily used to end any soundloops when the heretic dies + */ /datum/eldritch_knowledge/proc/on_death(mob/user) return /** - * What happens once the recipe is succesfully finished - * - * By default this proc creates atoms from result_atoms list. Override this is you want something else to happen. - */ + * What happens once the recipe is succesfully finished + * + * By default this proc creates atoms from result_atoms list. Override this is you want something else to happen. + */ /datum/eldritch_knowledge/proc/on_finished_recipe(mob/living/user,list/atoms,loc) if(result_atoms.len == 0) return FALSE @@ -88,10 +88,10 @@ return TRUE /** - * Used atom cleanup - * - * Overide this proc if you dont want ALL ATOMS to be destroyed. useful in many situations. - */ + * Used atom cleanup + * + * Overide this proc if you dont want ALL ATOMS to be destroyed. useful in many situations. + */ /datum/eldritch_knowledge/proc/cleanup_atoms(list/atoms) for(var/X in atoms) var/atom/A = X @@ -101,27 +101,27 @@ return /** - * Mansus grasp act - * - * Gives addtional effects to mansus grasp spell - */ + * Mansus grasp act + * + * Gives addtional effects to mansus grasp spell + */ /datum/eldritch_knowledge/proc/on_mansus_grasp(atom/target, mob/user, proximity_flag, click_parameters) return FALSE /** - * Sickly blade act - * - * Gives addtional effects to sickly blade weapon - */ + * Sickly blade act + * + * Gives addtional effects to sickly blade weapon + */ /datum/eldritch_knowledge/proc/on_eldritch_blade(atom/target,mob/user,proximity_flag,click_parameters) return /** - * Sickly blade distant act - * - * Same as [/datum/eldritch_knowledge/proc/on_eldritch_blade] but works on targets that are not in proximity to you. - */ + * Sickly blade distant act + * + * Same as [/datum/eldritch_knowledge/proc/on_eldritch_blade] but works on targets that are not in proximity to you. + */ /datum/eldritch_knowledge/proc/on_ranged_attack_eldritch_blade(atom/target,mob/user,click_parameters) return diff --git a/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm b/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm index 31caa2d44d8..84dce02c1eb 100644 --- a/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm +++ b/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm @@ -153,12 +153,12 @@ human_user.AdjustAllImmobility(-10) /** - * #Rust spread datum - * - * Simple datum that automatically spreads rust around it - * - * Simple implementation of automatically growing entity - */ + * #Rust spread datum + * + * Simple datum that automatically spreads rust around it + * + * Simple implementation of automatically growing entity + */ /datum/rust_spread var/list/edge_turfs = list() var/list/turfs = list() @@ -196,10 +196,10 @@ /** - * Compile turfs - * - * Recreates all edge_turfs as well as normal turfs. - */ + * Compile turfs + * + * Recreates all edge_turfs as well as normal turfs. + */ /datum/rust_spread/proc/compile_turfs() edge_turfs = list() var/list/removal_list = list() diff --git a/code/modules/antagonists/revenant/revenant.dm b/code/modules/antagonists/revenant/revenant.dm index e98ba564648..2eb25714c07 100644 --- a/code/modules/antagonists/revenant/revenant.dm +++ b/code/modules/antagonists/revenant/revenant.dm @@ -378,7 +378,7 @@ if(!reforming || inert) return ..() user.visible_message("[user] scatters [src] in all directions.", \ - "You scatter [src] across the area. The particles slowly fade away.") + "You scatter [src] across the area. The particles slowly fade away.") user.dropItemToGround(src) scatter() @@ -470,17 +470,19 @@ /datum/objective/revenant_fluff /datum/objective/revenant_fluff/New() - var/list/explanationTexts = list("Assist and exacerbate existing threats at critical moments.", \ - "Impersonate or be worshipped as a god.", \ - "Cause as much chaos and anger as you can without being killed.", \ - "Damage and render as much of the station rusted and unusable as possible.", \ - "Disable and cause malfunctions in as many machines as possible.", \ - "Ensure that any holy weapons are rendered unusable.", \ - "Heed and obey the requests of the dead, provided that carrying them out wouldn't be too inconvenient or self-destructive.", \ - "Make the crew as miserable as possible.", \ - "Make the clown as miserable as possible.", \ - "Make the captain as miserable as possible.", \ - "Prevent the use of energy weapons where possible.") + var/list/explanationTexts = list( + "Assist and exacerbate existing threats at critical moments.", \ + "Impersonate or be worshipped as a god.", \ + "Cause as much chaos and anger as you can without being killed.", \ + "Damage and render as much of the station rusted and unusable as possible.", \ + "Disable and cause malfunctions in as many machines as possible.", \ + "Ensure that any holy weapons are rendered unusable.", \ + "Heed and obey the requests of the dead, provided that carrying them out wouldn't be too inconvenient or self-destructive.", \ + "Make the crew as miserable as possible.", \ + "Make the clown as miserable as possible.", \ + "Make the captain as miserable as possible.", \ + "Prevent the use of energy weapons where possible.", + ) explanation_text = pick(explanationTexts) ..() diff --git a/code/modules/antagonists/slaughter/slaughter.dm b/code/modules/antagonists/slaughter/slaughter.dm index 9159983e54b..631d119310a 100644 --- a/code/modules/antagonists/slaughter/slaughter.dm +++ b/code/modules/antagonists/slaughter/slaughter.dm @@ -165,7 +165,7 @@ if(M != user) return ..() user.visible_message("[user] raises [src] to [user.p_their()] mouth and tears into it with [user.p_their()] teeth!", \ - "An unnatural hunger consumes you. You raise [src] your mouth and devour it!") + "An unnatural hunger consumes you. You raise [src] your mouth and devour it!") playsound(user, 'sound/magic/demon_consume.ogg', 50, TRUE) for(var/obj/effect/proc_holder/spell/knownspell in user.mind.spell_list) if(knownspell.type == /obj/effect/proc_holder/spell/bloodcrawl) @@ -173,7 +173,7 @@ qdel(src) return user.visible_message("[user]'s eyes flare a deep crimson!", \ - "You feel a strange power seep into your body... you have absorbed the demon's blood-travelling powers!") + "You feel a strange power seep into your body... you have absorbed the demon's blood-travelling powers!") user.temporarilyRemoveItemFromInventory(src, TRUE) src.Insert(user) //Consuming the heart literally replaces your heart with a demon heart. H A R D C O R E diff --git a/code/modules/antagonists/space_ninja/space_ninja.dm b/code/modules/antagonists/space_ninja/space_ninja.dm index 23d7e1ff972..0eba1761fb2 100644 --- a/code/modules/antagonists/space_ninja/space_ninja.dm +++ b/code/modules/antagonists/space_ninja/space_ninja.dm @@ -21,28 +21,28 @@ remove_antag_hud(antag_hud_type, ninja) /** - * Proc that equips the space ninja outfit on a given individual. By default this is the owner of the antagonist datum. - * - * Proc that equips the space ninja outfit on a given individual. By default this is the owner of the antagonist datum. - * Arguments: - * * ninja - The human to receive the gear - * * Returns a proc call on the given human which will equip them with all the gear. - */ + * Proc that equips the space ninja outfit on a given individual. By default this is the owner of the antagonist datum. + * + * Proc that equips the space ninja outfit on a given individual. By default this is the owner of the antagonist datum. + * Arguments: + * * ninja - The human to receive the gear + * * Returns a proc call on the given human which will equip them with all the gear. + */ /datum/antagonist/ninja/proc/equip_space_ninja(mob/living/carbon/human/ninja = owner.current) return ninja.equipOutfit(/datum/outfit/ninja) /** - * Proc that adds the proper memories to the antag datum - * - * Proc that adds the ninja starting memories to the owner of the antagonist datum. - */ + * Proc that adds the proper memories to the antag datum + * + * Proc that adds the ninja starting memories to the owner of the antagonist datum. + */ /datum/antagonist/ninja/proc/addMemories() antag_memory += "I am an elite mercenary of the mighty Spider Clan. A SPACE NINJA!
    " antag_memory += "Surprise is my weapon. Shadows are my armor. Without them, I am nothing. (//initialize your suit by clicking the initialize UI button, to use abilities like stealth)!
    " /datum/objective/cyborg_hijack explanation_text = "Use your gloves to convert at least one cyborg to aide you in sabotaging the station." - + /datum/objective/door_jack ///How many doors that need to be opened using the gloves to pass the objective var/doors_required = 0 @@ -52,32 +52,32 @@ /datum/objective/security_scramble explanation_text = "Use your gloves on a security console to set everyone to arrest at least once. Note that the AI will be alerted once you begin!" - + /datum/objective/terror_message explanation_text = "Use your gloves on a communication console in order to bring another threat to the station. Note that the AI will be alerted once you begin!" /** - * Proc that adds all the ninja's objectives to the antag datum. - * - * Proc that adds all the ninja's objectives to the antag datum. Called when the datum is gained. - */ + * Proc that adds all the ninja's objectives to the antag datum. + * + * Proc that adds all the ninja's objectives to the antag datum. Called when the datum is gained. + */ /datum/antagonist/ninja/proc/addObjectives() //Cyborg Hijack: Flag set to complete in the DrainAct in ninjaDrainAct.dm var/datum/objective/hijack = new /datum/objective/cyborg_hijack() objectives += hijack - + //Research stealing var/datum/objective/download/research = new /datum/objective/download() research.owner = owner research.gen_amount_goal() objectives += research - + //Door jacks, flag will be set to complete on when the last door is hijacked var/datum/objective/door_jack/doorobjective = new /datum/objective/door_jack() doorobjective.doors_required = rand(15,40) doorobjective.explanation_text = "Use your gloves to doorjack [doorobjective.doors_required] airlocks on the station." objectives += doorobjective - + //Explosive plant, the bomb will register its completion on priming var/datum/objective/plant_explosive/bombobjective = new /datum/objective/plant_explosive() for(var/sanity in 1 to 100) // 100 checks at most. diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm index f709bf365da..00522ac7743 100644 --- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm +++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm @@ -100,7 +100,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) /// The actual ranged proc holder. /obj/effect/proc_holder/ranged_ai - /// Appears when the user activates the ability + /// Appears when the user activates the ability var/enable_text = "Hello World!" /// Appears when the user deactivates the ability var/disable_text = "Goodbye Cruel World!" @@ -133,7 +133,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) /// Sound played when an ability is unlocked var/unlock_sound - /// Applies upgrades +/// Applies upgrades /datum/ai_module/proc/upgrade(mob/living/silicon/ai/AI) return diff --git a/code/modules/antagonists/wizard/equipment/artefact.dm b/code/modules/antagonists/wizard/equipment/artefact.dm index 020fa6b59eb..c709fe05e0b 100644 --- a/code/modules/antagonists/wizard/equipment/artefact.dm +++ b/code/modules/antagonists/wizard/equipment/artefact.dm @@ -387,9 +387,9 @@ to_chat(victim, "You feel a dark presence from [A.name].") /obj/item/voodoo/suicide_act(mob/living/carbon/user) - user.visible_message("[user] links the voodoo doll to [user.p_them()]self and sits on it, infinitely crushing [user.p_them()]self! It looks like [user.p_theyre()] trying to commit suicide!") - user.gib() - return(BRUTELOSS) + user.visible_message("[user] links the voodoo doll to [user.p_them()]self and sits on it, infinitely crushing [user.p_them()]self! It looks like [user.p_theyre()] trying to commit suicide!") + user.gib() + return(BRUTELOSS) /obj/item/voodoo/fire_act(exposed_temperature, exposed_volume) if(target) diff --git a/code/modules/antagonists/wizard/equipment/spellbook.dm b/code/modules/antagonists/wizard/equipment/spellbook.dm index 884958a7242..0ff9a22c863 100644 --- a/code/modules/antagonists/wizard/equipment/spellbook.dm +++ b/code/modules/antagonists/wizard/equipment/spellbook.dm @@ -691,16 +691,16 @@ dat += {" - + body { font-size: 80%; font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif; } + ul#tabs { list-style-type: none; margin: 30px 0 0 0; padding: 0 0 0.3em 0; } + ul#tabs li { display: inline; } + ul#tabs li a { color: #42454a; background-color: #dedbde; border: 1px solid #c9c3ba; border-bottom: none; padding: 0.3em; text-decoration: none; } + ul#tabs li a:hover { background-color: #f1f0ee; } + ul#tabs li a.selected { color: #000; background-color: #f1f0ee; font-weight: bold; padding: 0.7em 0.3em 0.38em 0.3em; } + div.tabContent { border: 1px solid #c9c3ba; padding: 0.5em; background-color: #f1f0ee; } + div.tabContent.hide { display: none; } + + "} dat += {"[content]"} return dat diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index 61967805c59..65f722a0ce1 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -123,16 +123,16 @@ set_light_on(FALSE) /** - * Handles actual flashing part of the attack - * - * This proc is awful in every sense of the way, someone should definately refactor this whole code. - * Arguments: - * * M - Victim - * * user - Attacker - * * power - handles the amount of confusion it gives you - * * targeted - determines if it was aoe or targeted - * * generic_message - checks if it should display default message. - */ + * Handles actual flashing part of the attack + * + * This proc is awful in every sense of the way, someone should definately refactor this whole code. + * Arguments: + * * M - Victim + * * user - Attacker + * * power - handles the amount of confusion it gives you + * * targeted - determines if it was aoe or targeted + * * generic_message - checks if it should display default message. + */ /obj/item/assembly/flash/proc/flash_carbon(mob/living/carbon/M, mob/user, power = 15, targeted = TRUE, generic_message = FALSE) if(!istype(M)) return @@ -186,13 +186,13 @@ M.add_confusion(min(power, diff)) /** - * Handles the directionality of the attack - * - * Returns the amount of 'deviation', 0 being facing eachother, 1 being sideways, 2 being facing away from eachother. - * Arguments: - * * victim - Victim - * * attacker - Attacker - */ + * Handles the directionality of the attack + * + * Returns the amount of 'deviation', 0 being facing eachother, 1 being sideways, 2 being facing away from eachother. + * Arguments: + * * victim - Victim + * * attacker - Attacker + */ /obj/item/assembly/flash/proc/calculate_deviation(mob/victim, atom/attacker) // Tactical combat emote-spinning should not counter intended gameplay mechanics. // This trumps same-loc checks to discourage floor spinning in general to counter flashes. @@ -271,12 +271,12 @@ AOE_flash() /** - * Converts the victim to revs - * - * Arguments: - * * victim - Victim - * * aggressor - Attacker - */ + * Converts the victim to revs + * + * Arguments: + * * victim - Victim + * * aggressor - Attacker + */ /obj/item/assembly/flash/proc/terrible_conversion_proc(mob/living/carbon/victim, mob/aggressor) if(!istype(victim) || victim.stat == DEAD) return diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index e2981610769..e6e4ed22d8f 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -85,7 +85,7 @@ which_hand = BODY_ZONE_PRECISE_R_HAND triggered(user, which_hand) user.visible_message("[user] accidentally sets off [src], breaking their fingers.", \ - "You accidentally trigger [src]!") + "You accidentally trigger [src]!") return to_chat(user, "You disarm [src].") armed = !armed @@ -102,7 +102,7 @@ which_hand = BODY_ZONE_PRECISE_R_HAND triggered(user, which_hand) user.visible_message("[user] accidentally sets off [src], breaking their fingers.", \ - "You accidentally trigger [src]!") + "You accidentally trigger [src]!") return return ..() @@ -117,7 +117,7 @@ if(H.m_intent == MOVE_INTENT_RUN) triggered(H) H.visible_message("[H] accidentally steps on [src].", \ - "You accidentally step on [src]") + "You accidentally step on [src]") else if(ismouse(MM) || israt(MM) || isregalrat(MM)) triggered(MM) else if(AM.density) // For mousetrap grenades, set off by anything heavy diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm index 991cb5de660..a072f0f9d59 100644 --- a/code/modules/assembly/voice.dm +++ b/code/modules/assembly/voice.dm @@ -16,10 +16,12 @@ var/listening = FALSE var/recorded = "" //the activation message var/mode = INCLUSIVE_MODE - var/static/list/modes = list("inclusive", - "exclusive", - "recognizer", - "voice sensor") + var/static/list/modes = list( + "inclusive", + "exclusive", + "recognizer", + "voice sensor", + ) drop_sound = 'sound/items/handling/component_drop.ogg' pickup_sound = 'sound/items/handling/component_pickup.ogg' diff --git a/code/modules/atmospherics/environmental/LINDA_system.dm b/code/modules/atmospherics/environmental/LINDA_system.dm index 3dabf693d7e..5fd746ad2b1 100644 --- a/code/modules/atmospherics/environmental/LINDA_system.dm +++ b/code/modules/atmospherics/environmental/LINDA_system.dm @@ -112,9 +112,9 @@ SSair.add_to_active(src,command) /atom/movable/proc/move_update_air(turf/T) - if(isturf(T)) - T.air_update_turf(1) - air_update_turf(1) + if(isturf(T)) + T.air_update_turf(1) + air_update_turf(1) /atom/proc/atmos_spawn_air(text) //because a lot of people loves to copy paste awful code lets just make an easy proc to spawn your plasma fires var/turf/open/T = get_turf(src) diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.dm b/code/modules/atmospherics/gasmixtures/gas_mixture.dm index 20fb522d66e..7a1845d8d3d 100644 --- a/code/modules/atmospherics/gasmixtures/gas_mixture.dm +++ b/code/modules/atmospherics/gasmixtures/gas_mixture.dm @@ -1,18 +1,21 @@ - /* +/* What are the archived variables for? - Calculations are done using the archived variables with the results merged into the regular variables. - This prevents race conditions that arise based on the order of tile processing. +Calculations are done using the archived variables with the results merged into the regular variables. +This prevents race conditions that arise based on the order of tile processing. */ #define MINIMUM_HEAT_CAPACITY 0.0003 #define MINIMUM_MOLE_COUNT 0.01 #define MOLAR_ACCURACY 1E-7 -#define QUANTIZE(variable) (round((variable), (MOLAR_ACCURACY)))/*I feel the need to document what happens here. Basically this is used - to catch most rounding errors, however its previous value made it so that - once gases got hot enough, most procedures wouldn't occur due to the fact that the mole - counts would get rounded away. Thus, we lowered it a few orders of magnitude - Edit: As far as I know this might have a bug caused by round(). When it has a second arg it will round up. - So for instance round(0.5, 1) == 1. Trouble is I haven't found any instances of it causing a bug, - and any attempts to fix it just killed atmos. I leave this to a greater man then I*/ +/** + *I feel the need to document what happens here. Basically this is used + *catch most rounding errors, however its previous value made it so that + *once gases got hot enough, most procedures wouldn't occur due to the fact that the mole + *counts would get rounded away. Thus, we lowered it a few orders of magnitude + *Edit: As far as I know this might have a bug caused by round(). When it has a second arg it will round up. + *So for instance round(0.5, 1) == 1. Trouble is I haven't found any instances of it causing a bug, + *and any attempts to fix it just killed atmos. I leave this to a greater man then I + */ +#define QUANTIZE(variable) (round((variable), (MOLAR_ACCURACY))) GLOBAL_LIST_INIT(meta_gas_info, meta_gas_list()) //see ATMOSPHERICS/gas_types.dm GLOBAL_LIST_INIT(gaslist_cache, init_gaslist_cache()) diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm index 09ec7ca281f..e5836c24eaf 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -4,10 +4,10 @@ GLOBAL_DATUM(the_gateway, /obj/machinery/gateway/centerstation) GLOBAL_LIST_EMPTY(gateway_destinations) /** - * Corresponds to single entry in gateway control. - * - * Will NOT be added automatically to GLOB.gateway_destinations list. - */ + * Corresponds to single entry in gateway control. + * + * Will NOT be added automatically to GLOB.gateway_destinations list. + */ /datum/gateway_destination var/name = "Unknown Destination" var/wait = 0 /// How long after roundstart this destination becomes active diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm index 7d4245d637b..0ad79fc8df8 100644 --- a/code/modules/awaymissions/mission_code/snowdin.dm +++ b/code/modules/awaymissions/mission_code/snowdin.dm @@ -263,7 +263,7 @@ /obj/item/paper/crumpled/ruins/snowdin/foreshadowing name = "scribbled note" info = {"Something's gone VERY wrong here. Jouslen has been mumbling about some weird shit in his cabin during the night and he seems always tired when we're working. I tried to confront him about it and he blew up on me, - telling me to mind my own business. I reported him to the officer, said he'd look into it. We only got another 2 months here before we're pulled for another assignment, so this shit can't go any quicker..."} + telling me to mind my own business. I reported him to the officer, said he'd look into it. We only got another 2 months here before we're pulled for another assignment, so this shit can't go any quicker..."} /obj/item/paper/crumpled/ruins/snowdin/misc1 name = "Mission Prologue" @@ -273,8 +273,8 @@ /obj/item/paper/crumpled/ruins/snowdin/dontdeadopeninside name = "scribbled note" info = {"If you're reading this: GET OUT! The mining go on here has unearthed something that was once-trapped by the layers of ice on this hell-hole. The overseer and Jouslen have gone missing. The officer is - keeping the rest of us on lockdown and I swear to god I keep hearing strange noises outside the walls at night. The gateway link has gone dead and without a supply of resources from Central, we're left - for dead here. We haven't heard anything back from the mining squad either, so I can only assume whatever the fuck they unearthed got them first before coming for us. I don't want to die here..."} + keeping the rest of us on lockdown and I swear to god I keep hearing strange noises outside the walls at night. The gateway link has gone dead and without a supply of resources from Central, we're left + for dead here. We haven't heard anything back from the mining squad either, so I can only assume whatever the fuck they unearthed got them first before coming for us. I don't want to die here..."} /obj/item/paper/fluff/awaymissions/snowdin/saw_usage name = "SAW Usage" @@ -289,19 +289,19 @@ /obj/item/paper/fluff/awaymissions/snowdin/profile/overseer name = "Personnel Record AOP#01" info = {"
    Personnel Log


    Name:Caleb Reed
    Age:38
    Gender:Male
    On-Site Profession:Outpost Overseer

    Information

    Caleb Reed lead several expeditions - among uncharted planets in search of plasma for Nanotrasen, scouring from hot savanas to freezing arctics. Track record is fairly clean with only incidient including the loss of two researchers during the - expedition of _______, where mis-used of explosive ordinance for tunneling causes a cave-in."} + among uncharted planets in search of plasma for Nanotrasen, scouring from hot savanas to freezing arctics. Track record is fairly clean with only incidient including the loss of two researchers during the + expedition of _______, where mis-used of explosive ordinance for tunneling causes a cave-in."} /obj/item/paper/fluff/awaymissions/snowdin/profile/sec1 name = "Personnel Record AOP#02" info = {"
    Personnel Log


    Name:James Reed
    Age:43
    Gender:Male
    On-Site Profession:Outpost Security

    Information

    James Reed has been a part - of Nanotrasen's security force for over 20 years, first joining in 22XX. A clean record and unwavering loyalty to the corperation through numerous deployments to various sites makes him a valuable asset to Natotrasen - when it comes to keeping the peace while prioritizing Nanotrasen privacy matters. "} + of Nanotrasen's security force for over 20 years, first joining in 22XX. A clean record and unwavering loyalty to the corperation through numerous deployments to various sites makes him a valuable asset to Natotrasen + when it comes to keeping the peace while prioritizing Nanotrasen privacy matters. "} /obj/item/paper/fluff/awaymissions/snowdin/profile/hydro1 name = "Personnel Record AOP#03" info = {"
    Personnel Log


    Name:Katherine Esterdeen
    Age:27
    Gender:Female
    On-Site Profession:Outpost Botanist

    Information

    Katherine Esterdeen is a recent - graduate with a major in Botany and a PH.D in Ecology. Having a clean record and eager to work, Esterdeen seems to be the right fit for maintaining plants in the middle of nowhere."} + graduate with a major in Botany and a PH.D in Ecology. Having a clean record and eager to work, Esterdeen seems to be the right fit for maintaining plants in the middle of nowhere."} /obj/item/paper/fluff/awaymissions/snowdin/profile/engi1 name = "Personnel Record AOP#04" @@ -329,12 +329,12 @@ /obj/item/paper/fluff/awaymissions/snowdin/mining name = "Assignment Notice" info = {"This cold-ass planet is the new-age equivalent of striking gold. Huge deposits of plasma and literal streams of plasma run through the caverns under all this ice and we're here to mine it all.\ - Nanotrasen pays by the pound, so get minin' boys!"} + Nanotrasen pays by the pound, so get minin' boys!"} /obj/item/paper/crumpled/ruins/snowdin/lootstructures name = "scribbled note" info = {"There's some ruins scattered along the cavern, their walls seem to be made of some sort of super-condensed mixture of ice and snow. We've already barricaded up the ones we've found so far, - since we keep hearing some strange noises from inside. Besides, what sort of fool would wrecklessly run into ancient ruins full of monsters for some old gear, anyway?"} + since we keep hearing some strange noises from inside. Besides, what sort of fool would wrecklessly run into ancient ruins full of monsters for some old gear, anyway?"} /obj/item/paper/crumpled/ruins/snowdin/shovel name = "shoveling duties" diff --git a/code/modules/awaymissions/mission_code/wildwest.dm b/code/modules/awaymissions/mission_code/wildwest.dm index 76511ad3195..0c6f6197a4e 100644 --- a/code/modules/awaymissions/mission_code/wildwest.dm +++ b/code/modules/awaymissions/mission_code/wildwest.dm @@ -31,7 +31,7 @@ requires_power = FALSE - ////////// wildwest papers +///////// wildwest papers /obj/item/paper/fluff/awaymissions/wildwest/grinder info = "meat grinder requires sacri" diff --git a/code/modules/cargo/bounty.dm b/code/modules/cargo/bounty.dm index b5c9ffe6982..f03f4c75ca0 100644 --- a/code/modules/cargo/bounty.dm +++ b/code/modules/cargo/bounty.dm @@ -35,8 +35,8 @@ GLOBAL_LIST_EMPTY(bounties_list) return /** When randomly generating the bounty list, duplicate bounties must be avoided. - * This proc is used to determine if two bounties are duplicates, or incompatible in general. - */ + * This proc is used to determine if two bounties are duplicates, or incompatible in general. + */ /datum/bounty/proc/compatible_with(other_bounty) return TRUE @@ -47,8 +47,8 @@ GLOBAL_LIST_EMPTY(bounties_list) reward = round(reward * scale_reward) /** This proc is called when the shuttle docks at CentCom. - * It handles items shipped for bounties. - */ + * It handles items shipped for bounties. + */ /proc/bounty_ship_item_and_contents(atom/movable/AM, dry_run=FALSE) if(!GLOB.bounties_list.len) setup_bounties() @@ -78,9 +78,9 @@ GLOBAL_LIST_EMPTY(bounties_list) return TRUE /** Returns a new bounty of random type, but does not add it to GLOB.bounties_list. - * - * *Guided determines what specific catagory of bounty should be chosen. - */ + * + * *Guided determines what specific catagory of bounty should be chosen. + */ /proc/random_bounty(guided = 0) var/bounty_num if(guided && (guided != CIV_JOB_RANDOM)) diff --git a/code/modules/cargo/exports.dm b/code/modules/cargo/exports.dm index 0acf30c65b1..9db1ec2832e 100644 --- a/code/modules/cargo/exports.dm +++ b/code/modules/cargo/exports.dm @@ -1,22 +1,22 @@ /* How it works: - The shuttle arrives at CentCom dock and calls sell(), which recursively loops through all the shuttle contents that are unanchored. +The shuttle arrives at CentCom dock and calls sell(), which recursively loops through all the shuttle contents that are unanchored. - Each object in the loop is checked for applies_to() of various export datums, except the invalid ones. +Each object in the loop is checked for applies_to() of various export datums, except the invalid ones. */ /* The rule in figuring out item export cost: - Export cost of goods in the shipping crate must be always equal or lower than: - packcage cost - crate cost - manifest cost - Crate cost is 500cr for a regular plasteel crate and 100cr for a large wooden one. Manifest cost is always 200cr. - This is to avoid easy cargo points dupes. +Export cost of goods in the shipping crate must be always equal or lower than: + packcage cost - crate cost - manifest cost +Crate cost is 500cr for a regular plasteel crate and 100cr for a large wooden one. Manifest cost is always 200cr. +This is to avoid easy cargo points dupes. Credit dupes that require a lot of manual work shouldn't be removed, unless they yield too much profit for too little work. - For example, if some player buys metal and glass sheets and uses them to make and sell reinforced glass: +For example, if some player buys metal and glass sheets and uses them to make and sell reinforced glass: - 100 glass + 50 metal -> 100 reinforced glass - (1500cr -> 1600cr) +100 glass + 50 metal -> 100 reinforced glass +1500cr -> 1600cr) - then the player gets the profit from selling his own wasted time. +Then the player gets the profit from selling his own wasted time. */ // Simple holder datum to pass export results around @@ -126,13 +126,13 @@ Credit dupes that require a lot of manual work shouldn't be removed, unless they return TRUE /** - * Calculates the exact export value of the object, while factoring in all the relivant variables. - * - * Called only once, when the object is actually sold by the datum. - * Adds item's cost and amount to the current export cycle. - * get_cost, get_amount and applies_to do not neccesary mean a successful sale. - * - */ + * Calculates the exact export value of the object, while factoring in all the relivant variables. + * + * Called only once, when the object is actually sold by the datum. + * Adds item's cost and amount to the current export cycle. + * get_cost, get_amount and applies_to do not neccesary mean a successful sale. + * + */ /datum/export/proc/sell_object(obj/O, datum/export_report/report, dry_run = TRUE, allowed_categories = EXPORT_CARGO , apply_elastic = TRUE) ///This is the value of the object, as derived from export datums. var/the_cost = get_cost(O, allowed_categories , apply_elastic) diff --git a/code/modules/client/client_colour.dm b/code/modules/client/client_colour.dm index d16b8434153..fa68908999e 100644 --- a/code/modules/client/client_colour.dm +++ b/code/modules/client/client_colour.dm @@ -4,17 +4,17 @@ #define PRIORITY_LOW 1000 /** - * Client Colour Priority System By RemieRichards (then refactored by another contributor) - * A System that gives finer control over which client.colour value to display on screen - * so that the "highest priority" one is always displayed as opposed to the default of - * "whichever was set last is displayed". - * - * Refactored to allow multiple overlapping client colours - * (e.g. wearing blue glasses under a yellow visor, even though the result is a little unsatured.) - * As well as some support for animated colour transitions. - * - * Define subtypes of this datum - */ + * Client Colour Priority System By RemieRichards (then refactored by another contributor) + * A System that gives finer control over which client.colour value to display on screen + * so that the "highest priority" one is always displayed as opposed to the default of + * "whichever was set last is displayed". + * + * Refactored to allow multiple overlapping client colours + * (e.g. wearing blue glasses under a yellow visor, even though the result is a little unsatured.) + * As well as some support for animated colour transitions. + * + * Define subtypes of this datum + */ /datum/client_colour ///Any client.color-valid value var/colour = "" @@ -54,9 +54,9 @@ owner.update_client_colour() /** - * Adds an instance of colour_type to the mob's client_colours list - * colour_type - a typepath (subtyped from /datum/client_colour) - */ + * Adds an instance of colour_type to the mob's client_colours list + * colour_type - a typepath (subtyped from /datum/client_colour) + */ /mob/proc/add_client_colour(colour_type) if(!ispath(colour_type, /datum/client_colour) || QDELING(src)) return @@ -70,9 +70,9 @@ return colour /** - * Removes an instance of colour_type from the mob's client_colours list - * colour_type - a typepath (subtyped from /datum/client_colour) - */ + * Removes an instance of colour_type from the mob's client_colours list + * colour_type - a typepath (subtyped from /datum/client_colour) + */ /mob/proc/remove_client_colour(colour_type) if(!ispath(colour_type, /datum/client_colour)) return @@ -84,11 +84,11 @@ break /** - * Gets the resulting colour/tone from client_colours. - * In the case of multiple colours, they'll be converted to RGBA matrices for compatibility, - * summed together, and then each element divided by the number of matrices. (except we do this with lists because byond) - * target is the target variable. - */ + * Gets the resulting colour/tone from client_colours. + * In the case of multiple colours, they'll be converted to RGBA matrices for compatibility, + * summed together, and then each element divided by the number of matrices. (except we do this with lists because byond) + * target is the target variable. + */ #define MIX_CLIENT_COLOUR(target)\ var/_our_colour;\ var/_number_colours = 0;\ @@ -125,9 +125,9 @@ /** - * Resets the mob's client.color to null, and then reapplies a new color based - * on the client_colour datums it currently has. - */ + * Resets the mob's client.color to null, and then reapplies a new color based + * on the client_colour datums it currently has. + */ /mob/proc/update_client_colour() if(!client) return diff --git a/code/modules/client/client_defines.dm b/code/modules/client/client_defines.dm index becec13f370..9167476899b 100644 --- a/code/modules/client/client_defines.dm +++ b/code/modules/client/client_defines.dm @@ -11,14 +11,14 @@ show_verb_panel = FALSE ///Contains admin info. Null if client is not an admin. var/datum/admins/holder = null - ///Needs to implement InterceptClickOn(user,params,atom) proc + ///Needs to implement InterceptClickOn(user,params,atom) proc var/datum/click_intercept = null ///Used for admin AI interaction var/AI_Interact = FALSE - ///Used to cache this client's bans to save on DB queries + ///Used to cache this client's bans to save on DB queries var/ban_cache = null - ///Contains the last message sent by this client - used to protect against copy-paste spamming. + ///Contains the last message sent by this client - used to protect against copy-paste spamming. var/last_message = "" ///contins a number of how many times a message identical to last_message was sent. var/last_message_count = 0 @@ -59,7 +59,7 @@ //////////////////////////////////// ///Used to determine how old the account is - in days. var/player_age = -1 - ///Date that this account was first seen in the server + ///Date that this account was first seen in the server var/player_join_date = null ///So admins know why it isn't working - Used to determine what other accounts previously logged in from this ip var/related_accounts_ip = "Requires database" @@ -89,11 +89,11 @@ var/lastping = 0 ///Average ping of the client var/avgping = 0 - ///world.time they connected + ///world.time they connected var/connection_time - ///world.realtime they connected + ///world.realtime they connected var/connection_realtime - ///world.timeofday they connected + ///world.timeofday they connected var/connection_timeofday ///If the client is currently in player preferences @@ -103,10 +103,10 @@ ///Used for limiting the rate of clicks sends by the client to avoid abuse var/list/clicklimiter - ///lazy list of all credit object bound to this client + ///lazy list of all credit object bound to this client var/list/credits - ///these persist between logins/logouts during the same round. + ///these persist between logins/logouts during the same round. var/datum/player_details/player_details ///Should only be a key-value list of north/south/east/west = atom/movable/screen. @@ -200,9 +200,9 @@ ** These next two vars are to apply movement for keypresses and releases made while move delayed. ** Because discarding that input makes the game less responsive. */ - /// On next move, add this dir to the move that would otherwise be done + /// On next move, add this dir to the move that would otherwise be done var/next_move_dir_add - /// On next move, subtract this dir from the move that would otherwise be done + /// On next move, subtract this dir from the move that would otherwise be done var/next_move_dir_sub /// If the client is currently under the restrictions of the interview system diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index d05df2c80ba..c275652f30d 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -700,7 +700,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( sleep(15 SECONDS) //Longer sleep here since this would trigger if a client tries to reconnect manually because the inital reconnect failed - //we sleep after telling the client to reconnect, so if we still exist something is up + //we sleep after telling the client to reconnect, so if we still exist something is up log_access("Forced disconnect: [key] [computer_id] [address] - CID randomizer check") qdel(src) @@ -919,14 +919,14 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( view_size.setTo(clamp(change, min, max), clamp(change, min, max)) /** - * Updates the keybinds for special keys - * - * Handles adding macros for the keys that need it - * And adding movement keys to the clients movement_keys list - * At the time of writing this, communication(OOC, Say, IC) require macros - * Arguments: - * * direct_prefs - the preference we're going to get keybinds from - */ + * Updates the keybinds for special keys + * + * Handles adding macros for the keys that need it + * And adding movement keys to the clients movement_keys list + * At the time of writing this, communication(OOC, Say, IC) require macros + * Arguments: + * * direct_prefs - the preference we're going to get keybinds from + */ /client/proc/update_special_keybinds(datum/preferences/direct_prefs) var/datum/preferences/D = prefs || direct_prefs if(!D?.key_bindings) @@ -1046,8 +1046,8 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( to_chat(src, "Statpanel failed to load, click here to reload the panel ") /** - * Initializes dropdown menus on client - */ + * Initializes dropdown menus on client + */ /client/proc/initialize_menus() var/list/topmenus = GLOB.menulist[/datum/verbs/menu] for (var/thing in topmenus) diff --git a/code/modules/client/verbs/reset_held_keys.dm b/code/modules/client/verbs/reset_held_keys.dm index d9561c008ce..393372d5899 100644 --- a/code/modules/client/verbs/reset_held_keys.dm +++ b/code/modules/client/verbs/reset_held_keys.dm @@ -1,8 +1,8 @@ /** - * Manually clears any held keys, in case due to lag or other undefined behavior a key gets stuck. - * - * Hardcoded to the ESC key. - */ + * Manually clears any held keys, in case due to lag or other undefined behavior a key gets stuck. + * + * Hardcoded to the ESC key. + */ /client/verb/reset_held_keys() set name = "Reset Held Keys" set hidden = TRUE diff --git a/code/modules/client/verbs/suicide.dm b/code/modules/client/verbs/suicide.dm index 289b6571279..3344338c4fe 100644 --- a/code/modules/client/verbs/suicide.dm +++ b/code/modules/client/verbs/suicide.dm @@ -95,15 +95,15 @@ var/obj/item/organ/brain/userbrain = getorgan(/obj/item/organ/brain) if(userbrain?.damage >= 75) suicide_message = "[src] pulls both arms outwards in front of [p_their()] chest and pumps them behind [p_their()] back, repeats this motion in a smaller range of motion \ - down to [p_their()] hips two times once more all while sliding [p_their()] legs in a faux walking motion, claps [p_their()] hands together \ - in front of [p_them()] while both [p_their()] knees knock together, pumps [p_their()] arms downward, pronating [p_their()] wrists and abducting \ - [p_their()] fingers outward while crossing [p_their()] legs back and forth, repeats this motion again two times while keeping [p_their()] shoulders low\ - and hunching over, does finger guns with right hand and left hand bent on [p_their()] hip while looking directly forward and putting [p_their()] left leg forward then\ - crossing [p_their()] arms and leaning back a little while bending [p_their()] knees at an angle! It looks like [p_theyre()] trying to commit suicide." + down to [p_their()] hips two times once more all while sliding [p_their()] legs in a faux walking motion, claps [p_their()] hands together \ + in front of [p_them()] while both [p_their()] knees knock together, pumps [p_their()] arms downward, pronating [p_their()] wrists and abducting \ + [p_their()] fingers outward while crossing [p_their()] legs back and forth, repeats this motion again two times while keeping [p_their()] shoulders low\ + and hunching over, does finger guns with right hand and left hand bent on [p_their()] hip while looking directly forward and putting [p_their()] left leg forward then\ + crossing [p_their()] arms and leaning back a little while bending [p_their()] knees at an angle! It looks like [p_theyre()] trying to commit suicide." else suicide_message = pick("[src] is hugging [p_them()]self to death! It looks like [p_theyre()] trying to commit suicide.", \ - "[src] is high-fiving [p_them()]self to death! It looks like [p_theyre()] trying to commit suicide.", \ - "[src] is getting too high on life! It looks like [p_theyre()] trying to commit suicide.") + "[src] is high-fiving [p_them()]self to death! It looks like [p_theyre()] trying to commit suicide.", \ + "[src] is getting too high on life! It looks like [p_theyre()] trying to commit suicide.") else suicide_message = pick("[src] is attempting to bite [p_their()] tongue off! It looks like [p_theyre()] trying to commit suicide.", \ "[src] is jamming [p_their()] thumbs into [p_their()] eye sockets! It looks like [p_theyre()] trying to commit suicide.", \ @@ -197,7 +197,7 @@ if(confirm == "Yes") var/turf/T = get_turf(src.loc) T.visible_message("[src] flashes a message across its screen, \"Wiping core files. Please acquire a new personality to continue using pAI device functions.\"", null, \ - "[src] bleeps electronically.") + "[src] bleeps electronically.") suicide_log() diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index e008dbc0c4c..e09ab938c0d 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -842,8 +842,8 @@ button.maptext = "[COOLDOWN_TIMELEFT(src, usable_cooldown) * 0.1]" /** - * Clears the currently mimic'd skillchip, if any exists. - */ + * Clears the currently mimic'd skillchip, if any exists. + */ /datum/action/item_action/chameleon/change/skillchip/proc/clear_mimic_chip() if(skillchip_mimic) skillchip_mimic.on_removal(FALSE) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 43fb3b25631..1c518d68661 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -132,18 +132,18 @@ to_chat(user, "You fix the damage on [src].") /** - * take_damage_zone() is used for dealing damage to specific bodyparts on a worn piece of clothing, meant to be called from [/obj/item/bodypart/proc/check_woundings_mods] - * - * This proc only matters when a bodypart that this clothing is covering is harmed by a direct attack (being on fire or in space need not apply), and only if this clothing covers - * more than one bodypart to begin with. No point in tracking damage by zone for a hat, and I'm not cruel enough to let you fully break them in a few shots. - * Also if limb_integrity is 0, then this clothing doesn't have bodypart damage enabled so skip it. - * - * Arguments: - * * def_zone: The bodypart zone in question - * * damage_amount: Incoming damage - * * damage_type: BRUTE or BURN - * * armour_penetration: If the attack had armour_penetration - */ + * take_damage_zone() is used for dealing damage to specific bodyparts on a worn piece of clothing, meant to be called from [/obj/item/bodypart/proc/check_woundings_mods] + * + * This proc only matters when a bodypart that this clothing is covering is harmed by a direct attack (being on fire or in space need not apply), and only if this clothing covers + * more than one bodypart to begin with. No point in tracking damage by zone for a hat, and I'm not cruel enough to let you fully break them in a few shots. + * Also if limb_integrity is 0, then this clothing doesn't have bodypart damage enabled so skip it. + * + * Arguments: + * * def_zone: The bodypart zone in question + * * damage_amount: Incoming damage + * * damage_type: BRUTE or BURN + * * armour_penetration: If the attack had armour_penetration + */ /obj/item/clothing/proc/take_damage_zone(def_zone, damage_amount, damage_type, armour_penetration) if(!def_zone || !limb_integrity || (initial(body_parts_covered) in GLOB.bitflags)) // the second check sees if we only cover one bodypart anyway and don't need to bother with this return @@ -158,16 +158,16 @@ disable_zone(def_zone, damage_type) /** - * disable_zone() is used to disable a given bodypart's protection on our clothing item, mainly from [/obj/item/clothing/proc/take_damage_zone] - * - * This proc disables all protection on the specified bodypart for this piece of clothing: it'll be as if it doesn't cover it at all anymore (because it won't!) - * If every possible bodypart has been disabled on the clothing, we put it out of commission entirely and mark it as shredded, whereby it will have to be repaired in - * order to equip it again. Also note we only consider it damaged if there's more than one bodypart disabled. - * - * Arguments: - * * def_zone: The bodypart zone we're disabling - * * damage_type: Only really relevant for the verb for describing the breaking, and maybe obj_destruction() - */ + * disable_zone() is used to disable a given bodypart's protection on our clothing item, mainly from [/obj/item/clothing/proc/take_damage_zone] + * + * This proc disables all protection on the specified bodypart for this piece of clothing: it'll be as if it doesn't cover it at all anymore (because it won't!) + * If every possible bodypart has been disabled on the clothing, we put it out of commission entirely and mark it as shredded, whereby it will have to be repaired in + * order to equip it again. Also note we only consider it damaged if there's more than one bodypart disabled. + * + * Arguments: + * * def_zone: The bodypart zone we're disabling + * * damage_type: Only really relevant for the verb for describing the breaking, and maybe obj_destruction() + */ /obj/item/clothing/proc/disable_zone(def_zone, damage_type) var/list/covered_limbs = body_parts_covered2organ_names(body_parts_covered) if(!(def_zone in covered_limbs)) @@ -320,13 +320,13 @@ to_chat(usr, "[readout.Join()]") /** - * Rounds armor_value to nearest 10, divides it by 10 and then expresses it in roman numerals up to 10 - * - * Rounds armor_value to nearest 10, divides it by 10 - * and then expresses it in roman numerals up to 10 - * Arguments: - * * armor_value - Number we're converting - */ + * Rounds armor_value to nearest 10, divides it by 10 and then expresses it in roman numerals up to 10 + * + * Rounds armor_value to nearest 10, divides it by 10 + * and then expresses it in roman numerals up to 10 + * Arguments: + * * armor_value - Number we're converting + */ /obj/item/clothing/proc/armor_to_protection_class(armor_value) armor_value = round(armor_value,10) / 10 switch (armor_value) @@ -386,7 +386,7 @@ SEE_MOBS // can see all mobs, no matter what SEE_OBJS // can see all objs, no matter what SEE_TURFS // can see all turfs (and areas), no matter what SEE_PIXELS// if an object is located on an unlit area, but some of its pixels are - // in a lit area (via pixel_x,y or smooth movement), can see those pixels + // in a lit area (via pixel_x,y or smooth movement), can see those pixels BLIND // can't see anything */ diff --git a/code/modules/clothing/shoes/_shoes.dm b/code/modules/clothing/shoes/_shoes.dm index 98f4be11299..68af6bacf78 100644 --- a/code/modules/clothing/shoes/_shoes.dm +++ b/code/modules/clothing/shoes/_shoes.dm @@ -94,15 +94,15 @@ return FALSE /** - * adjust_laces adjusts whether our shoes (assuming they can_be_tied) and tied, untied, or knotted - * - * In addition to setting the state, it will deal with getting rid of alerts if they exist, as well as registering and unregistering the stepping signals - * - * Arguments: - * * - * * state: SHOES_UNTIED, SHOES_TIED, or SHOES_KNOTTED, depending on what you want them to become - * * user: used to check to see if we're the ones unknotting our own laces - */ + * adjust_laces adjusts whether our shoes (assuming they can_be_tied) and tied, untied, or knotted + * + * In addition to setting the state, it will deal with getting rid of alerts if they exist, as well as registering and unregistering the stepping signals + * + * Arguments: + * * + * * state: SHOES_UNTIED, SHOES_TIED, or SHOES_KNOTTED, depending on what you want them to become + * * user: used to check to see if we're the ones unknotting our own laces + */ /obj/item/clothing/shoes/proc/adjust_laces(state, mob/user) if(!can_be_tied) return @@ -122,14 +122,14 @@ RegisterSignal(src, COMSIG_SHOES_STEP_ACTION, .proc/check_trip, override=TRUE) /** - * handle_tying deals with all the actual tying/untying/knotting, inferring your intent from who you are in relation to the state of the laces - * - * If you're the wearer, you want them to move towards tied-ness (knotted -> untied -> tied). If you're not, you're pranking them, so you're moving towards knotted-ness (tied -> untied -> knotted) - * - * Arguments: - * * - * * user: who is the person interacting with the shoes? - */ + * handle_tying deals with all the actual tying/untying/knotting, inferring your intent from who you are in relation to the state of the laces + * + * If you're the wearer, you want them to move towards tied-ness (knotted -> untied -> tied). If you're not, you're pranking them, so you're moving towards knotted-ness (tied -> untied -> knotted) + * + * Arguments: + * * + * * user: who is the person interacting with the shoes? + */ /obj/item/clothing/shoes/proc/handle_tying(mob/user) ///our_guy here is the wearer, if one exists (and he must exist, or we don't care) var/mob/living/carbon/human/our_guy = loc diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 3718e285cae..03b1e860dd2 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -1,19 +1,19 @@ //miscellaneous spacesuits /* Contains: - - Captain's spacesuit - - Death squad's hardsuit - - SWAT suit - - Officer's beret/spacesuit - - NASA Voidsuit - - Father Christmas' magical clothes - - Pirate's spacesuit - - ERT hardsuit: command, sec, engi, med, janitor - - EVA spacesuit - - Freedom's spacesuit (freedom from vacuum's oppression) - - Carp hardsuit - - Bounty hunter hardsuit - - Blackmarket combat medic hardsuit + Captain's spacesuit + Death squad's hardsuit + SWAT suit + Officer's beret/spacesuit + NASA Voidsuit + Father Christmas' magical clothes + Pirate's spacesuit + ERT hardsuit: command, sec, engi, med, janitor + EVA spacesuit + Freedom's spacesuit (freedom from vacuum's oppression) + Carp hardsuit + Bounty hunter hardsuit + Blackmarket combat medic hardsuit */ //Death squad armored space suits, not hardsuits! diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index ae06fa523cf..aad72c791ef 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -1,4 +1,4 @@ - //Suits for the pink and grey skeletons! //EVA version no longer used in favor of the Jumpsuit version +//Suits for the pink and grey skeletons! //EVA version no longer used in favor of the Jumpsuit version /obj/item/clothing/suit/space/eva/plasmaman diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm index 8afb0e8e367..167e6c2aef1 100755 --- a/code/modules/clothing/under/accessories.dm +++ b/code/modules/clothing/under/accessories.dm @@ -129,7 +129,7 @@ delay = 0 else user.visible_message("[user] is trying to pin [src] on [M]'s chest.", \ - "You try to pin [src] on [M]'s chest.") + "You try to pin [src] on [M]'s chest.") var/input if(!commended && user != M) input = stripped_input(user,"Please input a reason for this commendation, it will be recorded by Nanotrasen.", ,"", 140) @@ -139,7 +139,7 @@ to_chat(user, "You attach [src] to [U].") else user.visible_message("[user] pins \the [src] on [M]'s chest.", \ - "You pin \the [src] on [M]'s chest.") + "You pin \the [src] on [M]'s chest.") if(input) SSblackbox.record_feedback("associative", "commendation", 1, list("commender" = "[user.real_name]", "commendee" = "[M.real_name]", "medal" = "[src]", "reason" = input)) GLOB.commendations += "[user.real_name] awarded [M.real_name] the [name]! \n- [input]" diff --git a/code/modules/discord/discord_link_record.dm b/code/modules/discord/discord_link_record.dm index d27bde8e3c7..23aff5dac38 100644 --- a/code/modules/discord/discord_link_record.dm +++ b/code/modules/discord/discord_link_record.dm @@ -6,17 +6,17 @@ var/timestamp /** - * Generate a discord link datum from the values - * - * This is only used by SSdiscord wrapper functions for now, so you can reference the fields - * slightly easier - * - * Arguments: - * * ckey Ckey as a string - * * discord_id Discord id as a string - * * one_time_token as a string - * * timestamp as a string - */ + * Generate a discord link datum from the values + * + * This is only used by SSdiscord wrapper functions for now, so you can reference the fields + * slightly easier + * + * Arguments: + * * ckey Ckey as a string + * * discord_id Discord id as a string + * * one_time_token as a string + * * timestamp as a string + */ /datum/discord_link_record/New(ckey, discord_id, one_time_token, timestamp) src.ckey = ckey src.discord_id = discord_id diff --git a/code/modules/economy/account.dm b/code/modules/economy/account.dm index 06de4396880..8c9599c44ef 100644 --- a/code/modules/economy/account.dm +++ b/code/modules/economy/account.dm @@ -134,8 +134,8 @@ to_chat(M, "[icon2html(icon_source, M)] [message]") /** - * Returns a string with the civilian bounty's description on it. - */ + * Returns a string with the civilian bounty's description on it. + */ /datum/bank_account/proc/bounty_text() if(!civilian_bounty) return FALSE @@ -143,8 +143,8 @@ /** - * Returns the required item count, or required chemical units required to submit a bounty. - */ + * Returns the required item count, or required chemical units required to submit a bounty. + */ /datum/bank_account/proc/bounty_num() if(!civilian_bounty) return FALSE @@ -158,16 +158,16 @@ return "At least 1u" /** - * Produces the value of the account's civilian bounty reward, if able. - */ + * Produces the value of the account's civilian bounty reward, if able. + */ /datum/bank_account/proc/bounty_value() if(!civilian_bounty) return FALSE return civilian_bounty.reward /** - * Performs house-cleaning on variables when a civilian bounty is replaced, or, when a bounty is claimed. - */ + * Performs house-cleaning on variables when a civilian bounty is replaced, or, when a bounty is claimed. + */ /datum/bank_account/proc/reset_bounty() civilian_bounty = null bounty_timer = 0 diff --git a/code/modules/events/brand_intelligence.dm b/code/modules/events/brand_intelligence.dm index cf3138ec4eb..807b2607ac2 100644 --- a/code/modules/events/brand_intelligence.dm +++ b/code/modules/events/brand_intelligence.dm @@ -12,13 +12,15 @@ var/list/obj/machinery/vending/vendingMachines = list() var/list/obj/machinery/vending/infectedMachines = list() var/obj/machinery/vending/originMachine - var/list/rampant_speeches = list("Try our aggressive new marketing strategies!", \ - "You should buy products to feed your lifestyle obsession!", \ - "Consume!", \ - "Your money can buy happiness!", \ - "Engage direct marketing!", \ - "Advertising is legalized lying! But don't let that put you off our great deals!", \ - "You don't want to buy anything? Yeah, well, I didn't want to buy your mom either.") + var/list/rampant_speeches = list( + "Try our aggressive new marketing strategies!", \ + "You should buy products to feed your lifestyle obsession!", \ + "Consume!", \ + "Your money can buy happiness!", \ + "Engage direct marketing!", \ + "Advertising is legalized lying! But don't let that put you off our great deals!", \ + "You don't want to buy anything? Yeah, well, I didn't want to buy your mom either.", + ) /datum/round_event/brand_intelligence/announce(fake) diff --git a/code/modules/events/fugitive_spawning.dm b/code/modules/events/fugitive_spawning.dm index 7b4628f1356..52173b52c0b 100644 --- a/code/modules/events/fugitive_spawning.dm +++ b/code/modules/events/fugitive_spawning.dm @@ -86,7 +86,7 @@ spawned_mobs += S return S - //special spawn for one member. it can be used for a special mob or simply to give one normal member special items. +///special spawn for one member. it can be used for a special mob or simply to give one normal member special items. /datum/round_event/ghost_role/fugitives/proc/gear_fugitive_leader(mob/dead/leader, turf/landing_turf, backstory) var/datum/mind/player_mind = new /datum/mind(leader.key) player_mind.active = TRUE diff --git a/code/modules/events/market_crash.dm b/code/modules/events/market_crash.dm index 8fcf5d44fe4..ca3acafe3b1 100644 --- a/code/modules/events/market_crash.dm +++ b/code/modules/events/market_crash.dm @@ -1,8 +1,8 @@ /** - * An event which decreases the station target temporarily, causing the inflation var to increase heavily. - * - * Done by decreasing the station_target by a high value per crew member, resulting in the station total being much higher than the target, and causing artificial inflation. - */ + * An event which decreases the station target temporarily, causing the inflation var to increase heavily. + * + * Done by decreasing the station_target by a high value per crew member, resulting in the station total being much higher than the target, and causing artificial inflation. + */ /datum/round_event_control/market_crash name = "Market Crash" typepath = /datum/round_event/market_crash diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 9169f8b05e3..459f5444ba9 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -1169,7 +1169,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( if(fakemob) sleep(rand(20, 50)) to_chat(target, "DEAD: [fakemob.name] says, \"[pick("rip","why did i just drop dead?","hey [target.first_name()]","git gud","you too?","is the AI rogue?",\ - "i[prob(50)?" fucking":""] hate [pick("blood cult", "clock cult", "revenants", "this round","this","myself","admins","you")]")]\"") + "i[prob(50)?" fucking":""] hate [pick("blood cult", "clock cult", "revenants", "this round","this","myself","admins","you")]")]\"") sleep(rand(70,90)) target.set_screwyhud(SCREWYHUD_NONE) target.SetParalyzed(0) diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm index e342f322760..aef436e1e9b 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm @@ -1,24 +1,3 @@ -/* -April 3rd, 2014 marks the day this machine changed the face of the kitchen on NTStation13 -God bless America. - ___----------___ - _-- ----__ - - ---_ - -___ ____---_ --_ - __---_ .-_-- _ O _- - - - -_- --- - -- __---------___ - -- _---- - - - -_ _ - ` _- _ - _ _-_ _-_ _ - _- ____ -_ - -- - - _-__ _ __--- ------- - - _- _- -_-- -_-- _ - -_- _ - _- _ - - -*/ #define DEEPFRYER_COOKTIME 60 #define DEEPFRYER_BURNTIME 120 diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index ce41f3da52e..6853b9ded19 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -112,10 +112,10 @@ if(loaded) if(contents.len >= max_n_of_items) user.visible_message("[user] loads \the [src] with \the [O].", \ - "You fill \the [src] with \the [O].") + "You fill \the [src] with \the [O].") else user.visible_message("[user] loads \the [src] with \the [O].", \ - "You load \the [src] with \the [O].") + "You load \the [src] with \the [O].") if(O.contents.len > 0) to_chat(user, "Some items are refused.") if (visible_contents) diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm index 4bc88a93c04..0492ba1db27 100644 --- a/code/modules/food_and_drinks/pizzabox.dm +++ b/code/modules/food_and_drinks/pizzabox.dm @@ -318,9 +318,10 @@ /obj/item/food/pizza/margherita = 1, /obj/item/food/pizza/sassysage = 0.8, /obj/item/food/pizza/vegetable = 0.8, - /obj/item/food/pizza/pineapple = 0.5, + /obj/item/food/pizza/pineapple = 0.5, /obj/item/food/pizza/donkpocket = 0.3, - /obj/item/food/pizza/dank = 0.1) //pizzas here are weighted by chance to be someone's favorite + /obj/item/food/pizza/dank = 0.1, + ) //pizzas here are weighted by chance to be someone's favorite var/static/list/pizza_preferences /obj/item/pizzabox/infinite/Initialize() diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm index 24ad8884f59..d187ca65b93 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm @@ -8,7 +8,7 @@ reqs = list( /datum/reagent/consumable/milk = 5, /obj/item/food/pie/plain = 1, - /obj/item/food/grown/banana = 1 + /obj/item/food/grown/banana = 1 ) result = /obj/item/food/pie/cream subcategory = CAT_PIE @@ -46,7 +46,7 @@ name = "Cherry pie" reqs = list( /obj/item/food/pie/plain = 1, - /obj/item/food/grown/cherries = 1 + /obj/item/food/grown/cherries = 1 ) result = /obj/item/food/pie/cherrypie subcategory = CAT_PIE @@ -122,11 +122,11 @@ /datum/crafting_recipe/food/grapetart name = "Grape tart" reqs = list( - /datum/reagent/consumable/milk = 5, - /datum/reagent/consumable/sugar = 5, - /obj/item/food/pie/plain = 1, - /obj/item/food/grown/grapes = 3 - ) + /datum/reagent/consumable/milk = 5, + /datum/reagent/consumable/sugar = 5, + /obj/item/food/pie/plain = 1, + /obj/item/food/grown/grapes = 3 + ) result = /obj/item/food/pie/grapetart subcategory = CAT_PIE @@ -134,11 +134,11 @@ name = "Mime tart" always_available = FALSE reqs = list( - /datum/reagent/consumable/milk = 5, - /datum/reagent/consumable/sugar = 5, - /obj/item/food/pie/plain = 1, - /datum/reagent/consumable/nothing = 5 - ) + /datum/reagent/consumable/milk = 5, + /datum/reagent/consumable/sugar = 5, + /obj/item/food/pie/plain = 1, + /datum/reagent/consumable/nothing = 5 + ) result = /obj/item/food/pie/mimetart subcategory = CAT_PIE @@ -146,11 +146,11 @@ name = "Berry tart" always_available = FALSE reqs = list( - /datum/reagent/consumable/milk = 5, - /datum/reagent/consumable/sugar = 5, - /obj/item/food/pie/plain = 1, - /obj/item/food/grown/berries = 3 - ) + /datum/reagent/consumable/milk = 5, + /datum/reagent/consumable/sugar = 5, + /obj/item/food/pie/plain = 1, + /obj/item/food/grown/berries = 3 + ) result = /obj/item/food/pie/berrytart subcategory = CAT_PIE @@ -158,12 +158,12 @@ name = "Chocolate Lava tart" always_available = FALSE reqs = list( - /datum/reagent/consumable/milk = 5, - /datum/reagent/consumable/sugar = 5, - /obj/item/food/pie/plain = 1, - /obj/item/food/chocolatebar = 3, - /obj/item/slime_extract = 1 //The reason you dont know how to make it! - ) + /datum/reagent/consumable/milk = 5, + /datum/reagent/consumable/sugar = 5, + /obj/item/food/pie/plain = 1, + /obj/item/food/chocolatebar = 3, + /obj/item/slime_extract = 1 //The reason you dont know how to make it! + ) result = /obj/item/food/pie/cocolavatart subcategory = CAT_PIE diff --git a/code/modules/holiday/foreign_calendar.dm b/code/modules/holiday/foreign_calendar.dm index d05502061e4..07a51b5776b 100644 --- a/code/modules/holiday/foreign_calendar.dm +++ b/code/modules/holiday/foreign_calendar.dm @@ -116,7 +116,7 @@ by John Walker 2015, released under public domain // First of all, dispose of fixed-length 29 day months if (2, 4, 6, 10, 13) return 29 - // If it's not a leap year, Adar has 29 days + // If it's not a leap year, Adar has 29 days if (12) if (!hebrew_leap(year)) return 29 diff --git a/code/modules/holodeck/items.dm b/code/modules/holodeck/items.dm index b21d109f6f0..ede30059713 100644 --- a/code/modules/holodeck/items.dm +++ b/code/modules/holodeck/items.dm @@ -234,4 +234,4 @@ instability = 6 /obj/vehicle/ridden/scooter/skateboard/pro/holodeck/pick_up_board() //picking up normal skateboards spawned in the holodeck gets rid of the holo flag, now you cant pick them up. - return + return diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index f8f79448de9..49d036831b0 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -161,11 +161,11 @@ detach(user) /** - * activate: Activates biomass processing and converts all inserted grown products into biomass - * - * Arguments: - * * user The mob starting the biomass processing - */ + * activate: Activates biomass processing and converts all inserted grown products into biomass + * + * Arguments: + * * user The mob starting the biomass processing + */ /obj/machinery/biogenerator/proc/activate(mob/user) if(user.stat != CONSCIOUS) return diff --git a/code/modules/hydroponics/grafts.dm b/code/modules/hydroponics/grafts.dm index 08849d5bdca..e1c9a6677d4 100644 --- a/code/modules/hydroponics/grafts.dm +++ b/code/modules/hydroponics/grafts.dm @@ -1,6 +1,6 @@ /** - *A new subsystem for hydroponics, as a way to share specific traits into plants, as a way to phase out the DNA manipulator. - */ + *A new subsystem for hydroponics, as a way to share specific traits into plants, as a way to phase out the DNA manipulator. + */ /obj/item/graft name = "plant graft" desc = "A carefully cut graft off of a freshly grown plant. Can be grafted onto a plant in order to share unique plant traits onto a plant." @@ -55,8 +55,8 @@ return ..() /** - *Adds text to the plant analyzer which describes the graft's parent plant and any stored trait it has, if any. - */ + *Adds text to the plant analyzer which describes the graft's parent plant and any stored trait it has, if any. + */ /obj/item/graft/proc/get_graft_text() var/text = "- Plant Graft -\n" if(parent_name) diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index a717d7fe6db..20641b5ff32 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -370,9 +370,9 @@ to_chat(user, "" ) /** - * What happens when a tray's weeds grow too large. - * Plants a new weed in an empty tray, then resets the tray. - */ + * What happens when a tray's weeds grow too large. + * Plants a new weed in an empty tray, then resets the tray. + */ /obj/machinery/hydroponics/proc/weedinvasion() dead = FALSE var/oldPlantName @@ -466,9 +466,9 @@ to_chat(usr, "The few weeds in [src] seem to react, but only for a moment...") /** - * Plant Death Proc. - * Cleans up various stats for the plant upon death, including pests, harvestability, and plant health. - */ + * Plant Death Proc. + * Cleans up various stats for the plant upon death, including pests, harvestability, and plant health. + */ /obj/machinery/hydroponics/proc/plantdies() plant_health = 0 harvest = FALSE @@ -479,11 +479,11 @@ dead = TRUE /** - * Plant Cross-Pollination. - * Checks all plants in the tray's oview range, then averages out the seed's potency, instability, and yield values. - * If the seed's instability is >= 20, the seed donates one of it's reagents to that nearby plant. - * * Range - The Oview range of trays to which to look for plants to donate reagents. - */ + * Plant Cross-Pollination. + * Checks all plants in the tray's oview range, then averages out the seed's potency, instability, and yield values. + * If the seed's instability is >= 20, the seed donates one of it's reagents to that nearby plant. + * * Range - The Oview range of trays to which to look for plants to donate reagents. + */ /obj/machinery/hydroponics/proc/pollinate(range = 1) for(var/obj/machinery/hydroponics/T in oview(src, range)) //Here is where we check for window blocking. @@ -505,10 +505,10 @@ continue /** - * Pest Mutation Proc. - * When a tray is mutated with high pest values, it will spawn spiders. - * * User - Person who last added chemicals to the tray for logging purposes. - */ + * Pest Mutation Proc. + * When a tray is mutated with high pest values, it will spawn spiders. + * * User - Person who last added chemicals to the tray for logging purposes. + */ /obj/machinery/hydroponics/proc/mutatepest(mob/user) if(pestlevel > 5) message_admins("[ADMIN_LOOKUPFLW(user)] last altered a hydro tray's contents which spawned spiderlings") @@ -815,12 +815,12 @@ to_chat(user, "You empty [src]'s nutrient tank.") /** - * Update Tray Proc - * Handles plant harvesting on the tray side, by clearing the sead, names, description, and dead stat. - * Shuts off autogrow if enabled. - * Sends messages to the cleaer about plants harvested, or if nothing was harvested at all. - * * User - The mob who clears the tray. - */ + * Update Tray Proc + * Handles plant harvesting on the tray side, by clearing the sead, names, description, and dead stat. + * Shuts off autogrow if enabled. + * Sends messages to the cleaer about plants harvested, or if nothing was harvested at all. + * * User - The mob who clears the tray. + */ /obj/machinery/hydroponics/proc/update_tray(mob/user) harvest = FALSE lastproduce = age @@ -844,10 +844,10 @@ /// Tray Setters - The following procs adjust the tray or plants variables, and make sure that the stat doesn't go out of bounds. /** - * Adjust water. - * Raises or lowers tray water values by a set value. Adding water will dillute toxicity from the tray. - * * adjustamt - determines how much water the tray will be adjusted upwards or downwards. - */ + * Adjust water. + * Raises or lowers tray water values by a set value. Adding water will dillute toxicity from the tray. + * * adjustamt - determines how much water the tray will be adjusted upwards or downwards. + */ /obj/machinery/hydroponics/proc/adjustWater(adjustamt) waterlevel = clamp(waterlevel + adjustamt, 0, maxwater) @@ -855,42 +855,42 @@ adjustToxic(-round(adjustamt/4))//Toxicity dilutation code. The more water you put in, the lesser the toxin concentration. /** - * Adjust Health. - * Raises the tray's plant_health stat by a given amount, with total health determined by the seed's endurance. - * * adjustamt - Determines how much the plant_health will be adjusted upwards or downwards. - */ + * Adjust Health. + * Raises the tray's plant_health stat by a given amount, with total health determined by the seed's endurance. + * * adjustamt - Determines how much the plant_health will be adjusted upwards or downwards. + */ /obj/machinery/hydroponics/proc/adjustHealth(adjustamt) if(myseed && !dead) plant_health = clamp(plant_health + adjustamt, 0, myseed.endurance) /** - * Adjust Health. - * Raises the plant's plant_health stat by a given amount, with total health determined by the seed's endurance. - * * adjustamt - Determines how much the plant_health will be adjusted upwards or downwards. - */ + * Adjust Health. + * Raises the plant's plant_health stat by a given amount, with total health determined by the seed's endurance. + * * adjustamt - Determines how much the plant_health will be adjusted upwards or downwards. + */ /obj/machinery/hydroponics/proc/adjustToxic(adjustamt) toxic = clamp(toxic + adjustamt, 0, 100) /** - * Adjust Pests. - * Raises the tray's pest level stat by a given amount. - * * adjustamt - Determines how much the pest level will be adjusted upwards or downwards. - */ + * Adjust Pests. + * Raises the tray's pest level stat by a given amount. + * * adjustamt - Determines how much the pest level will be adjusted upwards or downwards. + */ /obj/machinery/hydroponics/proc/adjustPests(adjustamt) pestlevel = clamp(pestlevel + adjustamt, 0, 10) /** - * Adjust Weeds. - * Raises the plant's weed level stat by a given amount. - * * adjustamt - Determines how much the weed level will be adjusted upwards or downwards. - */ + * Adjust Weeds. + * Raises the plant's weed level stat by a given amount. + * * adjustamt - Determines how much the weed level will be adjusted upwards or downwards. + */ /obj/machinery/hydroponics/proc/adjustWeeds(adjustamt) weedlevel = clamp(weedlevel + adjustamt, 0, 10) /** - * Spawn Plant. - * Upon using strange reagent on a tray, it will spawn a killer tomato or killer tree at random. - */ + * Spawn Plant. + * Upon using strange reagent on a tray, it will spawn a killer tomato or killer tree at random. + */ /obj/machinery/hydroponics/proc/spawnplant() // why would you put strange reagent in a hydro tray you monster I bet you also feed them blood var/list/livingplants = list(/mob/living/simple_animal/hostile/tree, /mob/living/simple_animal/hostile/killertomato) var/chosen = pick(livingplants) diff --git a/code/modules/hydroponics/hydroponics_chemreact.dm b/code/modules/hydroponics/hydroponics_chemreact.dm index a4ef78a21fe..01bf71c1803 100644 --- a/code/modules/hydroponics/hydroponics_chemreact.dm +++ b/code/modules/hydroponics/hydroponics_chemreact.dm @@ -1,7 +1,7 @@ /** - *This is NOW the gradual affects that each chemical applies on every process() proc. Nutrients now use a more robust reagent holder in order to apply less insane - * stat changes as opposed to 271 lines of individual statline effects. Shoutout to the original comments on chems, I just cleaned a few up. - */ + *This is NOW the gradual affects that each chemical applies on every process() proc. Nutrients now use a more robust reagent holder in order to apply less insane + * stat changes as opposed to 271 lines of individual statline effects. Shoutout to the original comments on chems, I just cleaned a few up. + */ /obj/machinery/hydroponics/proc/apply_chemicals(mob/user) ///Contains the reagents within the tray. if(myseed) diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index cc3ee4e1ca3..e1f45f38c56 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -160,10 +160,10 @@ return TRUE /** - * Intends to compare a reagent gene with a set of seeds, and if the seeds contain the same gene, with more production rate, upgrades the rate to the highest of the two. - * - * Called when plants are crossbreeding, this looks for two matching reagent_ids, where the rates are greater, in order to upgrade. - */ + * Intends to compare a reagent gene with a set of seeds, and if the seeds contain the same gene, with more production rate, upgrades the rate to the highest of the two. + * + * Called when plants are crossbreeding, this looks for two matching reagent_ids, where the rates are greater, in order to upgrade. + */ /datum/plant_gene/reagent/proc/try_upgrade_gene(obj/item/seeds/seed) for(var/datum/plant_gene/reagent/reagent in seed.genes) @@ -394,11 +394,11 @@ qdel(G) /** - * A plant trait that causes the plant's capacity to double. - * - * When harvested, the plant's individual capacity is set to double it's default. - * However, the plant is also going to be limited to half as many products from yield, so 2 yield will only produce 1 plant as a result. - */ + * A plant trait that causes the plant's capacity to double. + * + * When harvested, the plant's individual capacity is set to double it's default. + * However, the plant is also going to be limited to half as many products from yield, so 2 yield will only produce 1 plant as a result. + */ /datum/plant_gene/trait/maxchem // 2x to max reagents volume. name = "Densified Chemicals" @@ -513,19 +513,19 @@ HY.name = initial(HY.name) /** - * A plant trait that causes the plant's food reagents to ferment instead. - * - * In practice, it replaces the plant's nutriment and vitamins with half as much of it's fermented reagent. - * This exception is executed in seeds.dm under 'prepare_result'. - */ + * A plant trait that causes the plant's food reagents to ferment instead. + * + * In practice, it replaces the plant's nutriment and vitamins with half as much of it's fermented reagent. + * This exception is executed in seeds.dm under 'prepare_result'. + */ /datum/plant_gene/trait/brewing name = "Auto-Distilling Composition" /** - * A plant trait that causes the plant to gain aesthetic googly eyes. - * - * Has no functional purpose outside of causing japes, adds eyes over the plant's sprite, which are adjusted for size by potency. - */ + * A plant trait that causes the plant to gain aesthetic googly eyes. + * + * Has no functional purpose outside of causing japes, adds eyes over the plant's sprite, which are adjusted for size by potency. + */ /datum/plant_gene/trait/eyes name = "Oculary Mimicry" var/mutable_appearance/googly diff --git a/code/modules/hydroponics/seed_extractor.dm b/code/modules/hydroponics/seed_extractor.dm index c35ffb719b3..c625c5cc1b4 100644 --- a/code/modules/hydroponics/seed_extractor.dm +++ b/code/modules/hydroponics/seed_extractor.dm @@ -1,18 +1,18 @@ /** - * Finds and extracts seeds from an object - * - * Checks if the object is such that creates a seed when extracted. Used by seed - * extractors or posably anything that would create seeds in some way. The seeds - * are dropped either at the extractor, if it exists, or where the original object - * was and it qdel's the object - * - * Arguments: - * * O - Object containing the seed, can be the loc of the dumping of seeds - * * t_max - Amount of seed copies to dump, -1 is ranomized - * * extractor - Seed Extractor, used as the dumping loc for the seeds and seed multiplier - * * user - checks if we can remove the object from the inventory - * * - */ + * Finds and extracts seeds from an object + * + * Checks if the object is such that creates a seed when extracted. Used by seed + * extractors or posably anything that would create seeds in some way. The seeds + * are dropped either at the extractor, if it exists, or where the original object + * was and it qdel's the object + * + * Arguments: + * * O - Object containing the seed, can be the loc of the dumping of seeds + * * t_max - Amount of seed copies to dump, -1 is ranomized + * * extractor - Seed Extractor, used as the dumping loc for the seeds and seed multiplier + * * user - checks if we can remove the object from the inventory + * * + */ /proc/seedify(obj/item/O, t_max, obj/machinery/seed_extractor/extractor, mob/living/user) var/t_amount = 0 var/list/seeds = list() @@ -120,24 +120,24 @@ return ..() /** - * Generate seed string - * - * Creates a string based of the traits of a seed. We use this string as a bucket for all - * seeds that match as well as the key the ui uses to get the seed. We also use the key - * for the data shown in the ui. Javascript parses this string to display - * - * Arguments: - * * O - seed to generate the string from - */ + * Generate seed string + * + * Creates a string based of the traits of a seed. We use this string as a bucket for all + * seeds that match as well as the key the ui uses to get the seed. We also use the key + * for the data shown in the ui. Javascript parses this string to display + * + * Arguments: + * * O - seed to generate the string from + */ /obj/machinery/seed_extractor/proc/generate_seed_string(obj/item/seeds/O) return "name=[O.name];lifespan=[O.lifespan];endurance=[O.endurance];maturation=[O.maturation];production=[O.production];yield=[O.yield];potency=[O.potency];instability=[O.instability]" /** Add Seeds Proc. - * - * Adds the seeds to the contents and to an associated list that pregenerates the data - * needed to go to the ui handler - * + * + * Adds the seeds to the contents and to an associated list that pregenerates the data + * needed to go to the ui handler + * **/ /obj/machinery/seed_extractor/proc/add_seed(obj/item/seeds/O) if(contents.len >= 999) diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index 0c126d3a466..4f333d171d8 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -251,11 +251,11 @@ return result /** - * This is where plant chemical products are handled. - * - * Individually, the formula for individual amounts of chemicals is Potency * the chemical production %, rounded to the fullest 1. - * Specific chem handling is also handled here, like bloodtype, food taste within nutriment, and the auto-distilling trait. - */ + * This is where plant chemical products are handled. + * + * Individually, the formula for individual amounts of chemicals is Potency * the chemical production %, rounded to the fullest 1. + * Specific chem handling is also handled here, like bloodtype, food taste within nutriment, and the auto-distilling trait. + */ /obj/item/seeds/proc/prepare_result(obj/item/T) if(!T.reagents) CRASH("[T] has no reagents.") @@ -285,8 +285,8 @@ /// Setters procs /// /** - * Adjusts seed yield up or down according to adjustamt. (Max 10) - */ + * Adjusts seed yield up or down according to adjustamt. (Max 10) + */ /obj/item/seeds/proc/adjust_yield(adjustamt) if(yield != -1) // Unharvestable shouldn't suddenly turn harvestable yield = clamp(yield + adjustamt, 0, 10) @@ -298,8 +298,8 @@ C.value = yield /** - * Adjusts seed lifespan up or down according to adjustamt. (Max 100) - */ + * Adjusts seed lifespan up or down according to adjustamt. (Max 100) + */ /obj/item/seeds/proc/adjust_lifespan(adjustamt) lifespan = clamp(lifespan + adjustamt, 10, 100) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/lifespan) @@ -307,8 +307,8 @@ C.value = lifespan /** - * Adjusts seed endurance up or down according to adjustamt. (Max 100) - */ + * Adjusts seed endurance up or down according to adjustamt. (Max 100) + */ /obj/item/seeds/proc/adjust_endurance(adjustamt) endurance = clamp(endurance + adjustamt, 10, 100) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/endurance) @@ -316,8 +316,8 @@ C.value = endurance /** - * Adjusts seed production seed up or down according to adjustamt. (Max 10) - */ + * Adjusts seed production seed up or down according to adjustamt. (Max 10) + */ /obj/item/seeds/proc/adjust_production(adjustamt) if(yield != -1) production = clamp(production + adjustamt, 1, 10) @@ -326,8 +326,8 @@ C.value = production /** - * Adjusts seed potency up or down according to adjustamt. (Max 100) - */ + * Adjusts seed potency up or down according to adjustamt. (Max 100) + */ /obj/item/seeds/proc/adjust_potency(adjustamt) if(potency != -1) potency = clamp(potency + adjustamt, 0, 100) @@ -336,8 +336,8 @@ C.value = potency /** - * Adjusts seed instability up or down according to adjustamt. (Max 100) - */ + * Adjusts seed instability up or down according to adjustamt. (Max 100) + */ /obj/item/seeds/proc/adjust_instability(adjustamt) if(instability == -1) return @@ -347,8 +347,8 @@ C.value = instability /** - * Adjusts seed weed grwoth speed up or down according to adjustamt. (Max 10) - */ + * Adjusts seed weed grwoth speed up or down according to adjustamt. (Max 10) + */ /obj/item/seeds/proc/adjust_weed_rate(adjustamt) weed_rate = clamp(weed_rate + adjustamt, 0, 10) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/weed_rate) @@ -356,8 +356,8 @@ C.value = weed_rate /** - * Adjusts seed weed chance up or down according to adjustamt. (Max 67%) - */ + * Adjusts seed weed chance up or down according to adjustamt. (Max 67%) + */ /obj/item/seeds/proc/adjust_weed_chance(adjustamt) weed_chance = clamp(weed_chance + adjustamt, 0, 67) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/weed_chance) @@ -367,8 +367,8 @@ //Directly setting stats /** - * Sets the plant's yield stat to the value of adjustamt. (Max 10) - */ + * Sets the plant's yield stat to the value of adjustamt. (Max 10) + */ /obj/item/seeds/proc/set_yield(adjustamt) if(yield != -1) // Unharvestable shouldn't suddenly turn harvestable yield = clamp(adjustamt, 0, 10) @@ -380,8 +380,8 @@ C.value = yield /** - * Sets the plant's lifespan stat to the value of adjustamt. (Max 100) - */ + * Sets the plant's lifespan stat to the value of adjustamt. (Max 100) + */ /obj/item/seeds/proc/set_lifespan(adjustamt) lifespan = clamp(adjustamt, 10, 100) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/lifespan) @@ -389,8 +389,8 @@ C.value = lifespan /** - * Sets the plant's endurance stat to the value of adjustamt. (Max 100) - */ + * Sets the plant's endurance stat to the value of adjustamt. (Max 100) + */ /obj/item/seeds/proc/set_endurance(adjustamt) endurance = clamp(adjustamt, 10, 100) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/endurance) @@ -398,8 +398,8 @@ C.value = endurance /** - * Sets the plant's production stat to the value of adjustamt. (Max 10) - */ + * Sets the plant's production stat to the value of adjustamt. (Max 10) + */ /obj/item/seeds/proc/set_production(adjustamt) if(yield != -1) production = clamp(adjustamt, 1, 10) @@ -408,8 +408,8 @@ C.value = production /** - * Sets the plant's potency stat to the value of adjustamt. (Max 100) - */ + * Sets the plant's potency stat to the value of adjustamt. (Max 100) + */ /obj/item/seeds/proc/set_potency(adjustamt) if(potency != -1) potency = clamp(adjustamt, 0, 100) @@ -418,8 +418,8 @@ C.value = potency /** - * Sets the plant's instability stat to the value of adjustamt. (Max 100) - */ + * Sets the plant's instability stat to the value of adjustamt. (Max 100) + */ /obj/item/seeds/proc/set_instability(adjustamt) if(instability == -1) return @@ -429,8 +429,8 @@ C.value = instability /** - * Sets the plant's weed production rate to the value of adjustamt. (Max 10) - */ + * Sets the plant's weed production rate to the value of adjustamt. (Max 10) + */ /obj/item/seeds/proc/set_weed_rate(adjustamt) weed_rate = clamp(adjustamt, 0, 10) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/weed_rate) @@ -438,8 +438,8 @@ C.value = weed_rate /** - * Sets the plant's weed growth percentage to the value of adjustamt. (Max 67%) - */ + * Sets the plant's weed growth percentage to the value of adjustamt. (Max 67%) + */ /obj/item/seeds/proc/set_weed_chance(adjustamt) weed_chance = clamp(adjustamt, 0, 67) var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/weed_chance) @@ -599,14 +599,14 @@ qdel(chemical) /** - * Creates a graft from this plant. - * - * Creates a new graft from this plant. - * Sets the grafts trait to this plants graftable trait. - * Gives the graft a reference to this plant. - * Copies all the relevant stats from this plant to the graft. - * Returns the created graft. - */ + * Creates a graft from this plant. + * + * Creates a new graft from this plant. + * Sets the grafts trait to this plants graftable trait. + * Gives the graft a reference to this plant. + * Copies all the relevant stats from this plant to the graft. + * Returns the created graft. + */ /obj/item/seeds/proc/create_graft() var/obj/item/graft/snip = new(loc, graft_gene) snip.parent_seed = src @@ -624,15 +624,15 @@ return snip /** - * Applies a graft to this plant. - * - * Adds the graft trait to this plant if possible. - * Increases plant stats by 2/3 of the grafts stats to a maximum of 100 (10 for yield). - * Returns [TRUE] - * - * Arguments: - * - [snip][/obj/item/graft]: The graft being used applied to this plant. - */ + * Applies a graft to this plant. + * + * Adds the graft trait to this plant if possible. + * Increases plant stats by 2/3 of the grafts stats to a maximum of 100 (10 for yield). + * Returns [TRUE] + * + * Arguments: + * - [snip][/obj/item/graft]: The graft being used applied to this plant. + */ /obj/item/seeds/proc/apply_graft(obj/item/graft/snip) var/datum/plant_gene/trait/new_trait = snip.stored_trait if(new_trait?.can_add(src)) diff --git a/code/modules/instruments/instrument_data/_instrument_data.dm b/code/modules/instruments/instrument_data/_instrument_data.dm index fae892a041c..5af78a995f4 100644 --- a/code/modules/instruments/instrument_data/_instrument_data.dm +++ b/code/modules/instruments/instrument_data/_instrument_data.dm @@ -1,6 +1,6 @@ /** - * Get all non admin_only instruments as a list of text ids. - */ + * Get all non admin_only instruments as a list of text ids. + */ /proc/get_allowed_instrument_ids() . = list() for(var/id in SSinstruments.instrument_data) @@ -9,13 +9,13 @@ . += I.id /** - * # Instrument Datums - * - * Instrument datums hold the data for any given instrument, as well as data on how to play it and what bounds there are to playing it. - * - * The datums themselves are kept in SSinstruments in a list by their unique ID. The reason it uses ID instead of typepath is to support the runtime creation of instruments. - * Since songs cache them while playing, there isn't realistic issues regarding performance from accessing. - */ + * # Instrument Datums + * + * Instrument datums hold the data for any given instrument, as well as data on how to play it and what bounds there are to playing it. + * + * The datums themselves are kept in SSinstruments in a list by their unique ID. The reason it uses ID instead of typepath is to support the runtime creation of instruments. + * Since songs cache them while playing, there isn't realistic issues regarding performance from accessing. + */ /datum/instrument /// Name of the instrument var/name = "Generic instrument" @@ -51,16 +51,16 @@ id = "[type]" /** - * Initializes the instrument, calculating its samples if necessary. - */ + * Initializes the instrument, calculating its samples if necessary. + */ /datum/instrument/proc/Initialize() if(instrument_flags & (INSTRUMENT_LEGACY | INSTRUMENT_DO_NOT_AUTOSAMPLE)) return calculate_samples() /** - * Checks if this instrument is ready to play. - */ + * Checks if this instrument is ready to play. + */ /datum/instrument/proc/ready() if(instrument_flags & INSTRUMENT_LEGACY) return legacy_instrument_path && legacy_instrument_ext @@ -79,9 +79,9 @@ return ..() /** - * For synthesized instruments, this is how the instrument generates the "keys" that a [/datum/song] uses to play notes. - * Calculating them on the fly would be unperformant, so we do it during init and keep it all cached in a list. - */ + * For synthesized instruments, this is how the instrument generates the "keys" that a [/datum/song] uses to play notes. + * Calculating them on the fly would be unperformant, so we do it during init and keep it all cached in a list. + */ /datum/instrument/proc/calculate_samples() if(!length(real_samples)) CRASH("No real samples defined for [id] [type] on calculate_samples() call.") diff --git a/code/modules/instruments/instrument_data/_instrument_key.dm b/code/modules/instruments/instrument_data/_instrument_key.dm index 7211caca0ba..6038b7b76b0 100644 --- a/code/modules/instruments/instrument_data/_instrument_key.dm +++ b/code/modules/instruments/instrument_data/_instrument_key.dm @@ -1,7 +1,7 @@ /** - * Instrument key datums contain everything needed to know how to play a specific - * note of an instrument.* - */ + * Instrument key datums contain everything needed to know how to play a specific + * note of an instrument.* + */ /datum/instrument_key /// The numerical key of what this is, from 1 to 127 on a standard piano keyboard. var/key @@ -21,8 +21,8 @@ calculate() /** - * Calculates and stores our deviation. - */ + * Calculates and stores our deviation. + */ /datum/instrument_key/proc/calculate() if(!deviation) CRASH("Invalid calculate call: No deviation or sample in instrument_key") diff --git a/code/modules/instruments/items.dm b/code/modules/instruments/items.dm index 9b26a252356..990f6ba3a90 100644 --- a/code/modules/instruments/items.dm +++ b/code/modules/instruments/items.dm @@ -93,15 +93,15 @@ RegisterSignal(src, COMSIG_SONG_END, .proc/stop_playing) /** - * Called by a component signal when our song starts playing. - */ + * Called by a component signal when our song starts playing. + */ /obj/item/instrument/piano_synth/headphones/proc/start_playing() icon_state = "[initial(icon_state)]_on" update_icon() /** - * Called by a component signal when our song stops playing. - */ + * Called by a component signal when our song stops playing. + */ /obj/item/instrument/piano_synth/headphones/proc/stop_playing() icon_state = "[initial(icon_state)]" update_icon() diff --git a/code/modules/instruments/songs/_song.dm b/code/modules/instruments/songs/_song.dm index 59b86cedabd..059d7f142dc 100644 --- a/code/modules/instruments/songs/_song.dm +++ b/code/modules/instruments/songs/_song.dm @@ -3,11 +3,11 @@ #define MUSIC_MAXLINECHARS 300 /** - * # Song datum - * - * These are the actual backend behind instruments. - * They attach to an atom and provide the editor + playback functionality. - */ + * # Song datum + * + * These are the actual backend behind instruments. + * They attach to an atom and provide the editor + playback functionality. + */ /datum/song /// Name of the song var/name = "Untitled" @@ -152,8 +152,8 @@ return ..() /** - * Checks and stores which mobs can hear us. Terminates sounds for mobs that leave our range. - */ + * Checks and stores which mobs can hear us. Terminates sounds for mobs that leave our range. + */ /datum/song/proc/do_hearcheck() last_hearcheck = world.time var/list/old = hearing_mobs.Copy() @@ -166,8 +166,8 @@ terminate_sound_mob(i) /** - * Sets our instrument, caching anything necessary for faster accessing. Accepts an ID, typepath, or instantiated instrument datum. - */ + * Sets our instrument, caching anything necessary for faster accessing. Accepts an ID, typepath, or instantiated instrument datum. + */ /datum/song/proc/set_instrument(datum/instrument/I) terminate_all_sounds() var/old_legacy @@ -197,8 +197,8 @@ compile_chords() /** - * Attempts to start playing our song. - */ + * Attempts to start playing our song. + */ /datum/song/proc/start_playing(mob/user) if(playing) return @@ -222,8 +222,8 @@ START_PROCESSING(SSinstruments, src) /** - * Stops playing, terminating all sounds if in synthesized mode. Clears hearing_mobs. - */ + * Stops playing, terminating all sounds if in synthesized mode. Clears hearing_mobs. + */ /datum/song/proc/stop_playing() if(!playing) return @@ -237,8 +237,8 @@ user_playing = null /** - * Processes our song. - */ + * Processes our song. + */ /datum/song/proc/process_song(wait) if(!length(compiled_chords) || should_stop_playing(user_playing)) stop_playing() @@ -259,55 +259,55 @@ return /** - * Converts a tempodiv to ticks to elapse before playing the next chord, taking into account our tempo. - */ + * Converts a tempodiv to ticks to elapse before playing the next chord, taking into account our tempo. + */ /datum/song/proc/tempodiv_to_delay(tempodiv) if(!tempodiv) tempodiv = 1 // no division by 0. some song converters tend to use 0 for when it wants to have no div, for whatever reason. return max(1, round((tempo/tempodiv) / world.tick_lag, 1)) /** - * Compiles chords. - */ + * Compiles chords. + */ /datum/song/proc/compile_chords() legacy? compile_legacy() : compile_synthesized() /** - * Plays a chord. - */ + * Plays a chord. + */ /datum/song/proc/play_chord(list/chord) // last value is timing information for(var/i in 1 to (length(chord) - 1)) legacy? playkey_legacy(chord[i][1], chord[i][2], chord[i][3], user_playing) : playkey_synth(chord[i], user_playing) /** - * Checks if we should halt playback. - */ + * Checks if we should halt playback. + */ /datum/song/proc/should_stop_playing(mob/user) return QDELETED(parent) || !using_instrument || !playing /** - * Sanitizes tempo to a value that makes sense and fits the current world.tick_lag. - */ + * Sanitizes tempo to a value that makes sense and fits the current world.tick_lag. + */ /datum/song/proc/sanitize_tempo(new_tempo) new_tempo = abs(new_tempo) return clamp(round(new_tempo, world.tick_lag), world.tick_lag, 5 SECONDS) /** - * Gets our beats per minute based on our tempo. - */ + * Gets our beats per minute based on our tempo. + */ /datum/song/proc/get_bpm() return 600 / tempo /** - * Sets our tempo from a beats-per-minute, sanitizing it to a valid number first. - */ + * Sets our tempo from a beats-per-minute, sanitizing it to a valid number first. + */ /datum/song/proc/set_bpm(bpm) tempo = sanitize_tempo(600 / bpm) /** - * Updates the window for our users. Override down the line. - */ + * Updates the window for our users. Override down the line. + */ /datum/song/proc/updateDialog(mob/user) ui_interact(user) @@ -319,8 +319,8 @@ process_decay(world.tick_lag) /** - * Updates our cached linear/exponential falloff stuff, saving calculations down the line. - */ + * Updates our cached linear/exponential falloff stuff, saving calculations down the line. + */ /datum/song/proc/update_sustain() // Exponential is easy cached_exponential_dropoff = sustain_exponential_dropoff @@ -331,32 +331,32 @@ cached_linear_dropoff = volume_decrease_per_decisecond /** - * Setter for setting output volume. - */ + * Setter for setting output volume. + */ /datum/song/proc/set_volume(volume) src.volume = clamp(volume, max(0, min_volume), min(100, max_volume)) update_sustain() updateDialog() /** - * Setter for setting how low the volume has to get before a note is considered "dead" and dropped - */ + * Setter for setting how low the volume has to get before a note is considered "dead" and dropped + */ /datum/song/proc/set_dropoff_volume(volume) sustain_dropoff_volume = clamp(volume, INSTRUMENT_MIN_SUSTAIN_DROPOFF, 100) update_sustain() updateDialog() /** - * Setter for setting exponential falloff factor. - */ + * Setter for setting exponential falloff factor. + */ /datum/song/proc/set_exponential_drop_rate(drop) sustain_exponential_dropoff = clamp(drop, INSTRUMENT_EXP_FALLOFF_MIN, INSTRUMENT_EXP_FALLOFF_MAX) update_sustain() updateDialog() /** - * Setter for setting linear falloff duration. - */ + * Setter for setting linear falloff duration. + */ /datum/song/proc/set_linear_falloff_duration(duration) sustain_linear_duration = clamp(duration, 0.1, INSTRUMENT_MAX_TOTAL_SUSTAIN) update_sustain() diff --git a/code/modules/instruments/songs/editor.dm b/code/modules/instruments/songs/editor.dm index b7339f04baf..f672c0ecac6 100644 --- a/code/modules/instruments/songs/editor.dm +++ b/code/modules/instruments/songs/editor.dm @@ -1,6 +1,6 @@ /** - * Returns the HTML for the status UI for this song datum. - */ + * Returns the HTML for the status UI for this song datum. + */ /datum/song/proc/instrument_status_ui() . = list() . += "
    " @@ -88,8 +88,8 @@ popup.open() /** - * Parses a song the user has input into lines and stores them. - */ + * Parses a song the user has input into lines and stores them. + */ /datum/song/proc/ParseSong(text) set waitfor = FALSE //split into lines diff --git a/code/modules/instruments/songs/play_legacy.dm b/code/modules/instruments/songs/play_legacy.dm index 7a86ef895f3..1b6b58139dc 100644 --- a/code/modules/instruments/songs/play_legacy.dm +++ b/code/modules/instruments/songs/play_legacy.dm @@ -1,6 +1,6 @@ /** - * Compiles our lines into "chords" with filenames for legacy playback. This makes there have to be a bit of lag at the beginning of the song, but repeats will not have to parse it again, and overall playback won't be impacted by as much lag. - */ + * Compiles our lines into "chords" with filenames for legacy playback. This makes there have to be a bit of lag at the beginning of the song, but repeats will not have to parse it again, and overall playback won't be impacted by as much lag. + */ /datum/song/proc/compile_legacy() if(!length(src.lines)) return @@ -39,13 +39,13 @@ compiled_chords[++compiled_chords.len] = compiled_chord /** - * Proc to play a legacy note. Just plays the sound to hearing mobs (and does hearcheck if necessary), no fancy channel/sustain/management. - * - * Arguments: - * * note is a number from 1-7 for A-G - * * acc is either "b", "n", or "#" - * * oct is 1-8 (or 9 for C) - */ + * Proc to play a legacy note. Just plays the sound to hearing mobs (and does hearcheck if necessary), no fancy channel/sustain/management. + * + * Arguments: + * * note is a number from 1-7 for A-G + * * acc is either "b", "n", or "#" + * * oct is 1-8 (or 9 for C) + */ /datum/song/proc/playkey_legacy(note, acc as text, oct, mob/user) // handle accidental -> B<>C of E<>F if(acc == "b" && (note == 3 || note == 6)) // C or F diff --git a/code/modules/instruments/songs/play_synthesized.dm b/code/modules/instruments/songs/play_synthesized.dm index f24f01417eb..fbe146bd793 100644 --- a/code/modules/instruments/songs/play_synthesized.dm +++ b/code/modules/instruments/songs/play_synthesized.dm @@ -1,6 +1,6 @@ /** - * Compiles our lines into "chords" with numbers. This makes there have to be a bit of lag at the beginning of the song, but repeats will not have to parse it again, and overall playback won't be impacted by as much lag. - */ + * Compiles our lines into "chords" with numbers. This makes there have to be a bit of lag at the beginning of the song, but repeats will not have to parse it again, and overall playback won't be impacted by as much lag. + */ /datum/song/proc/compile_synthesized() if(!length(src.lines)) return @@ -39,9 +39,9 @@ compiled_chords[++compiled_chords.len] = compiled_chord /** - * Plays a specific numerical key from our instrument to anyone who can hear us. - * Does a hearing check if enough time has passed. - */ + * Plays a specific numerical key from our instrument to anyone who can hear us. + * Does a hearing check if enough time has passed. + */ /datum/song/proc/playkey_synth(key, mob/user) if(can_noteshift) key = clamp(key + note_shift, key_min, key_max) @@ -71,8 +71,8 @@ // Could do environment and echo later but not for now /** - * Stops all sounds we are "responsible" for. Only works in synthesized mode. - */ + * Stops all sounds we are "responsible" for. Only works in synthesized mode. + */ /datum/song/proc/terminate_all_sounds(clear_channels = TRUE) for(var/i in hearing_mobs) terminate_sound_mob(i) @@ -84,15 +84,15 @@ SSsounds.free_datum_channels(src) /** - * Stops all sounds we are responsible for in a given person. Only works in synthesized mode. - */ + * Stops all sounds we are responsible for in a given person. Only works in synthesized mode. + */ /datum/song/proc/terminate_sound_mob(mob/M) for(var/channel in channels_playing) M.stop_sound_channel(text2num(channel)) /** - * Pops a channel we have reserved so we don't have to release and re-request them from SSsounds every time we play a note. This is faster. - */ + * Pops a channel we have reserved so we don't have to release and re-request them from SSsounds every time we play a note. This is faster. + */ /datum/song/proc/pop_channel() if(length(channels_idle)) //just pop one off of here if we have one available . = text2num(channels_idle[1]) @@ -105,11 +105,11 @@ using_sound_channels++ /** - * Decays our channels and updates their volumes to mobs who can hear us. - * - * Arguments: - * * wait_ds - the deciseconds we should decay by. This is to compensate for any lag, as otherwise songs would get pretty nasty during high time dilation. - */ + * Decays our channels and updates their volumes to mobs who can hear us. + * + * Arguments: + * * wait_ds - the deciseconds we should decay by. This is to compensate for any lag, as otherwise songs would get pretty nasty during high time dilation. + */ /datum/song/proc/process_decay(wait_ds) var/linear_dropoff = cached_linear_dropoff * wait_ds var/exponential_dropoff = cached_exponential_dropoff ** wait_ds diff --git a/code/modules/interview/interview.dm b/code/modules/interview/interview.dm index 59076d057ec..924704c604c 100644 --- a/code/modules/interview/interview.dm +++ b/code/modules/interview/interview.dm @@ -6,13 +6,13 @@ #define INTERVIEW_PENDING "interview_pending" /** - * Represents a new-player interview form - * - * Represents a new-player interview form, enabled by configuration to require - * players with low playtime to request access to the server. To do so, they will - * out a brief questionnaire, and are otherwise unable to do anything while they - * wait for a response. - */ + * Represents a new-player interview form + * + * Represents a new-player interview form, enabled by configuration to require + * players with low playtime to request access to the server. To do so, they will + * out a brief questionnaire, and are otherwise unable to do anything while they + * wait for a response. + */ /datum/interview /// Unique ID of the interview var/id @@ -47,13 +47,13 @@ welcome_message = CONFIG_GET(string/interview_welcome_msg) /** - * Approves the interview, forces reconnect of owner if relevant. - * - * Approves the interview, and if relevant will force the owner to reconnect so that they have the proper - * verbs returned to them. - * Arguments: - * * approved_by - The user who approved the interview, used for logging - */ + * Approves the interview, forces reconnect of owner if relevant. + * + * Approves the interview, and if relevant will force the owner to reconnect so that they have the proper + * verbs returned to them. + * Arguments: + * * approved_by - The user who approved the interview, used for logging + */ /datum/interview/proc/approve(client/approved_by) status = INTERVIEW_APPROVED read_only = TRUE @@ -68,11 +68,11 @@ addtimer(CALLBACK(src, .proc/reconnect_owner), 50) /** - * Denies the interview and adds the owner to the cooldown for new interviews. - * - * Arguments: - * * denied_by - The user who denied the interview, used for logging - */ + * Denies the interview and adds the owner to the cooldown for new interviews. + * + * Arguments: + * * denied_by - The user who denied the interview, used for logging + */ /datum/interview/proc/deny(client/denied_by) status = INTERVIEW_DENIED read_only = TRUE @@ -88,16 +88,16 @@ + " You may do this in three minutes.", confidential = TRUE) /** - * Forces client to reconnect, used in the callback from approval - */ + * Forces client to reconnect, used in the callback from approval + */ /datum/interview/proc/reconnect_owner() if (!owner) return winset(owner, null, "command=.reconnect") /** - * Verb for opening the existing interview, or if relevant creating a new interview if possible. - */ + * Verb for opening the existing interview, or if relevant creating a new interview if possible. + */ /mob/dead/new_player/proc/open_interview() set name = "Open Interview" set category = "Interview" diff --git a/code/modules/interview/interview_manager.dm b/code/modules/interview/interview_manager.dm index 2aabe91f960..05ced3b102d 100644 --- a/code/modules/interview/interview_manager.dm +++ b/code/modules/interview/interview_manager.dm @@ -1,11 +1,11 @@ GLOBAL_DATUM_INIT(interviews, /datum/interview_manager, new) /** - * # Interview Manager - * - * Handles all interviews in the duration of a round, includes the primary functionality for - * handling the interview queue. - */ + * # Interview Manager + * + * Handles all interviews in the duration of a round, includes the primary functionality for + * handling the interview queue. + */ /datum/interview_manager /// The interviews that are currently "open", those that are not submitted as well as those that are waiting review var/list/open_interviews = list() @@ -27,12 +27,12 @@ GLOBAL_DATUM_INIT(interviews, /datum/interview_manager, new) return ..() /** - * Used in the new client pipeline to catch when clients are reconnecting and need to have their - * reference re-assigned to the 'owner' variable of an interview - * - * Arguments: - * * C - The client who is logging in - */ + * Used in the new client pipeline to catch when clients are reconnecting and need to have their + * reference re-assigned to the 'owner' variable of an interview + * + * Arguments: + * * C - The client who is logging in + */ /datum/interview_manager/proc/client_login(client/C) for(var/ckey in open_interviews) var/datum/interview/I = open_interviews[ckey] @@ -40,12 +40,12 @@ GLOBAL_DATUM_INIT(interviews, /datum/interview_manager, new) I.owner = C /** - * Used in the destroy client pipeline to catch when clients are disconnecting and need to have their - * reference nulled on the 'owner' variable of an interview - * - * Arguments: - * * C - The client who is logging out - */ + * Used in the destroy client pipeline to catch when clients are disconnecting and need to have their + * reference nulled on the 'owner' variable of an interview + * + * Arguments: + * * C - The client who is logging out + */ /datum/interview_manager/proc/client_logout(client/C) for(var/ckey in open_interviews) var/datum/interview/I = open_interviews[ckey] @@ -53,12 +53,12 @@ GLOBAL_DATUM_INIT(interviews, /datum/interview_manager, new) I.owner = null /** - * Attempts to return an interview for a given client, using an existing interview if found, otherwise - * a new interview is created; if the user is on cooldown then it will return null. - * - * Arguments: - * * C - The client to get the interview for - */ + * Attempts to return an interview for a given client, using an existing interview if found, otherwise + * a new interview is created; if the user is on cooldown then it will return null. + * + * Arguments: + * * C - The client to get the interview for + */ /datum/interview_manager/proc/interview_for_client(client/C) if (!C) return @@ -70,11 +70,11 @@ GLOBAL_DATUM_INIT(interviews, /datum/interview_manager, new) return open_interviews[C.ckey] /** - * Attempts to return an interview for a provided ID, will return null if no matching interview is found - * - * Arguments: - * * id - The ID of the interview to find - */ + * Attempts to return an interview for a provided ID, will return null if no matching interview is found + * + * Arguments: + * * id - The ID of the interview to find + */ /datum/interview_manager/proc/interview_by_id(id) if (!id) return @@ -87,12 +87,12 @@ GLOBAL_DATUM_INIT(interviews, /datum/interview_manager, new) return I /** - * Enqueues an interview in the interview queue, and notifies admins of the new interview to be - * reviewed. - * - * Arguments: - * * to_queue - The interview to enqueue - */ + * Enqueues an interview in the interview queue, and notifies admins of the new interview to be + * reviewed. + * + * Arguments: + * * to_queue - The interview to enqueue + */ /datum/interview_manager/proc/enqueue(datum/interview/to_queue) if (!to_queue || (to_queue in interview_queue)) return @@ -112,18 +112,18 @@ GLOBAL_DATUM_INIT(interviews, /datum/interview_manager, new) to_chat(X, "Interview for [ckey] enqueued for review. Current position in queue: [to_queue.pos_in_queue]", confidential = TRUE) /** - * Removes a ckey from the cooldown list, used for enforcing cooldown after an interview is denied. - * - * Arguments: - * * ckey - The ckey to remove from the cooldown list - */ + * Removes a ckey from the cooldown list, used for enforcing cooldown after an interview is denied. + * + * Arguments: + * * ckey - The ckey to remove from the cooldown list + */ /datum/interview_manager/proc/release_from_cooldown(ckey) cooldown_ckeys -= ckey /** - * Dequeues the first interview from the interview queue, and updates the queue positions of any relevant - * interviews that follow it. - */ + * Dequeues the first interview from the interview queue, and updates the queue positions of any relevant + * interviews that follow it. + */ /datum/interview_manager/proc/dequeue() if (interview_queue.len == 0) return @@ -139,12 +139,12 @@ GLOBAL_DATUM_INIT(interviews, /datum/interview_manager, new) return to_return /** - * Dequeues an interview from the interview queue if present, and updates the queue positions of - * any relevant interviews that follow it. - * - * Arguments: - * * to_dequeue - The interview to dequeue - */ + * Dequeues an interview from the interview queue if present, and updates the queue positions of + * any relevant interviews that follow it. + * + * Arguments: + * * to_dequeue - The interview to dequeue + */ /datum/interview_manager/proc/dequeue_specific(datum/interview/to_dequeue) if (!to_dequeue) return @@ -160,12 +160,12 @@ GLOBAL_DATUM_INIT(interviews, /datum/interview_manager, new) interview_queue -= to_dequeue /** - * Closes an interview, removing it from the queued interviews as well as adding it to the closed - * interviews list. - * - * Arguments: - * * to_close - The interview to dequeue - */ + * Closes an interview, removing it from the queued interviews as well as adding it to the closed + * interviews list. + * + * Arguments: + * * to_close - The interview to dequeue + */ /datum/interview_manager/proc/close_interview(datum/interview/to_close) if (!to_close) return diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index c3f360413f8..44915f6bef8 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -193,8 +193,8 @@ return TRUE /** - * Gets the changes dictionary made to the job template by the map config. Returns null if job is removed. - */ + * Gets the changes dictionary made to the job template by the map config. Returns null if job is removed. + */ /datum/job/proc/GetMapChanges() var/string_type = "[type]" var/list/splits = splittext(string_type, "/") diff --git a/code/modules/jobs/job_types/mime.dm b/code/modules/jobs/job_types/mime.dm index 69b7a82f8b4..aa6fe3c8717 100644 --- a/code/modules/jobs/job_types/mime.dm +++ b/code/modules/jobs/job_types/mime.dm @@ -79,11 +79,11 @@ qdel(src) /** - * Checks if we are allowed to interact with a radial menu - * - * Arguments: - * * user The human mob interacting with the menu - */ + * Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The human mob interacting with the menu + */ /obj/item/book/mimery/proc/check_menu(mob/living/carbon/human/user) if(!istype(user)) return FALSE diff --git a/code/modules/language/calcic.dm b/code/modules/language/calcic.dm index f10ec293ac2..af14c6902ba 100644 --- a/code/modules/language/calcic.dm +++ b/code/modules/language/calcic.dm @@ -6,8 +6,8 @@ syllables = list( "k", "ck", "ack", "ick", "cl", "tk", "sk", "isk", "tak", "kl", "hs", "ss", "ks", "lk", "dk", "gk", "ka", "ska", "la", "pk", - "wk", "ak", "ik", "ip", "ski", "bk", "kb", "ta", "is", "it", "li", "di", - "ds", "ya", "sck", "crk", "hs", "ws", "mk", "aaa", "skraa", "skee", "hss", + "wk", "ak", "ik", "ip", "ski", "bk", "kb", "ta", "is", "it", "li", "di", + "ds", "ya", "sck", "crk", "hs", "ws", "mk", "aaa", "skraa", "skee", "hss", "raa", "klk", "tk", "stk", "clk" ) icon_state = "calcic" diff --git a/code/modules/language/shadowtongue.dm b/code/modules/language/shadowtongue.dm index 8095ecbd886..9c0adb5eea3 100644 --- a/code/modules/language/shadowtongue.dm +++ b/code/modules/language/shadowtongue.dm @@ -7,12 +7,12 @@ space_chance = 50 syllables = list( "er", "sint", "en", "et", "nor", "bahr", "sint", "un", "ku'elm", "lakor", "eri", - "noj", "dashilu", "as", "ot", "lih", "morh", "ghinu", "kin", "sha", "marik", "jibu", - "sudas", "fut", "kol", "bivi", "pohim", "devohr", "ru", "huirf", "neiris", "sut", - "devehr", "iru", "gher", "gan", "ujil", "lacor", "bahris", "ghar", "alnef", "wah", - "khurdhar", "bar", "et", "ilu", "dash", "diru", "noj", "de", "damjulan", "luvahr", - "telshahr", "tifur", "enhi", "am", "bahr", "nei", "neibahri", "n'chow", "n'wah", - "s'wit", "b'vehk", "f'lah", "muth", "sera", "sedura", "bal", "dun" + "noj", "dashilu", "as", "ot", "lih", "morh", "ghinu", "kin", "sha", "marik", "jibu", + "sudas", "fut", "kol", "bivi", "pohim", "devohr", "ru", "huirf", "neiris", "sut", + "devehr", "iru", "gher", "gan", "ujil", "lacor", "bahris", "ghar", "alnef", "wah", + "khurdhar", "bar", "et", "ilu", "dash", "diru", "noj", "de", "damjulan", "luvahr", + "telshahr", "tifur", "enhi", "am", "bahr", "nei", "neibahri", "n'chow", "n'wah", + "s'wit", "b'vehk", "f'lah", "muth", "sera", "sedura", "bal", "dun" ) icon_state = "shadow" default_priority = 90 diff --git a/code/modules/language/sylvan.dm b/code/modules/language/sylvan.dm index 4d97f6004fe..68cb73f9d52 100644 --- a/code/modules/language/sylvan.dm +++ b/code/modules/language/sylvan.dm @@ -6,10 +6,10 @@ space_chance = 20 syllables = list( "fii", "sii", "rii", "rel", "maa", "ala", "san", "tol", "tok", "dia", "eres", - "fal", "tis", "bis", "qel", "aras", "losk", "rasa", "eob", "hil", "tanl", "aere", - "fer", "bal", "pii", "dala", "ban", "foe", "doa", "cii", "uis", "mel", "wex", - "incas", "int", "elc", "ent", "aws", "qip", "nas", "vil", "jens", "dila", "fa", - "la", "re", "do", "ji", "ae", "so", "qe", "ce", "na", "mo", "ha", "yu" + "fal", "tis", "bis", "qel", "aras", "losk", "rasa", "eob", "hil", "tanl", "aere", + "fer", "bal", "pii", "dala", "ban", "foe", "doa", "cii", "uis", "mel", "wex", + "incas", "int", "elc", "ent", "aws", "qip", "nas", "vil", "jens", "dila", "fa", + "la", "re", "do", "ji", "ae", "so", "qe", "ce", "na", "mo", "ha", "yu" ) icon_state = "plant" default_priority = 90 diff --git a/code/modules/language/voltaic.dm b/code/modules/language/voltaic.dm index ead7fe7c7fd..40fa9dcb1e8 100644 --- a/code/modules/language/voltaic.dm +++ b/code/modules/language/voltaic.dm @@ -6,9 +6,9 @@ space_chance = 20 syllables = list( "bzzt", "skrrt", "zzp", "mmm", "hzz", "tk", "shz", "k", "z", - "bzt", "zzt", "skzt", "skzz", "hmmt", "zrrt", "hzzt", "hz", - "vzt", "zt", "vz", "zip", "tzp", "lzzt", "dzzt", "zdt", "kzt", - "zzzz", "mzz" + "bzt", "zzt", "skzt", "skzz", "hmmt", "zrrt", "hzzt", "hz", + "vzt", "zt", "vz", "zip", "tzp", "lzzt", "dzzt", "zdt", "kzt", + "zzzz", "mzz" ) icon_state = "volt" default_priority = 90 diff --git a/code/modules/library/skill_learning/skillchip.dm b/code/modules/library/skill_learning/skillchip.dm index 9926c9127c2..c87a123c54d 100644 --- a/code/modules/library/skill_learning/skillchip.dm +++ b/code/modules/library/skill_learning/skillchip.dm @@ -47,13 +47,13 @@ removable = is_removable /** - * Activates the skillchip, if possible. - * - * Returns a message containing the reason if activation is not possible. - * Arguments: - * * silent - Boolean. Whether or not an activation message should be shown to the user. - * * force - Boolean. Whether or not to just force de-activation if it would be prevented for any reason. - */ + * Activates the skillchip, if possible. + * + * Returns a message containing the reason if activation is not possible. + * Arguments: + * * silent - Boolean. Whether or not an activation message should be shown to the user. + * * force - Boolean. Whether or not to just force de-activation if it would be prevented for any reason. + */ /obj/item/skillchip/proc/try_activate_skillchip(silent = FALSE, force = FALSE) // Should not happen. Holding brain is destroyed and the chip hasn't had its state set appropriately. if(QDELETED(holding_brain)) @@ -85,13 +85,13 @@ on_activate(holding_brain.owner, silent) /** - * Deactivates the skillchip, if possible. - * - * Returns a message containing the reason if deactivation is not possible. - * Arguments: - * * silent - Boolean. Whether or not an activation message should be shown to the user. - * * force - Boolean. Whether or not to just force de-activation if it would be prevented for any reason. - */ + * Deactivates the skillchip, if possible. + * + * Returns a message containing the reason if deactivation is not possible. + * Arguments: + * * silent - Boolean. Whether or not an activation message should be shown to the user. + * * force - Boolean. Whether or not to just force de-activation if it would be prevented for any reason. + */ /obj/item/skillchip/proc/try_deactivate_skillchip(silent = FALSE, force = FALSE) if(!active) return "Skillchip is not active." @@ -120,11 +120,11 @@ on_deactivate(holding_brain.owner, silent) /** - * Called when a skillchip is inserted in a user's brain. - * - * Arguments: - * * owner_brain - The brain that this skillchip was implanted in to. - */ + * Called when a skillchip is inserted in a user's brain. + * + * Arguments: + * * owner_brain - The brain that this skillchip was implanted in to. + */ /obj/item/skillchip/proc/on_implant(obj/item/organ/brain/owner_brain) if(holding_brain) CRASH("Skillchip is trying to be implanted into [owner_brain], but it's already implanted in [holding_brain]") @@ -132,12 +132,12 @@ holding_brain = owner_brain /** - * Called when a skillchip is activated. - * - * Arguments: - * * user - The user to apply skillchip effects to. - * * silent - Boolean. Whether or not an activation message should be shown to the user. - */ + * Called when a skillchip is activated. + * + * Arguments: + * * user - The user to apply skillchip effects to. + * * silent - Boolean. Whether or not an activation message should be shown to the user. + */ /obj/item/skillchip/proc/on_activate(mob/living/carbon/user, silent=FALSE) if(!silent && activate_message) to_chat(user, activate_message) @@ -150,13 +150,13 @@ COOLDOWN_START(src, chip_cooldown, cooldown) /** - * Called when a skillchip is removed from the user's brain. - * - * Always deactivates the skillchip. - * Arguments: - * * user - The user to remove skillchip effects from. - * * silent - Boolean. Whether or not a deactivation message should be shown to the user. - */ + * Called when a skillchip is removed from the user's brain. + * + * Always deactivates the skillchip. + * Arguments: + * * user - The user to remove skillchip effects from. + * * silent - Boolean. Whether or not a deactivation message should be shown to the user. + */ /obj/item/skillchip/proc/on_removal(silent=FALSE) if(active) try_deactivate_skillchip(silent, TRUE) @@ -166,12 +166,12 @@ holding_brain = null /** - * Called when a skillchip is deactivated. - * - * Arguments: - * * user - The user to remove skillchip effects from. - * * silent - Boolean. Whether or not a deactivation message should be shown to the user. - */ + * Called when a skillchip is deactivated. + * + * Arguments: + * * user - The user to remove skillchip effects from. + * * silent - Boolean. Whether or not a deactivation message should be shown to the user. + */ /obj/item/skillchip/proc/on_deactivate(mob/living/carbon/user, silent=FALSE) if(!silent && deactivate_message) to_chat(user, deactivate_message) @@ -184,13 +184,13 @@ COOLDOWN_START(src, chip_cooldown, cooldown) /** - * Checks whether a given skillchip has an incompatibility with a brain that should render it impossible - * to activate. - * - * Returns a string with an explanation if the chip is not activatable. FALSE otherwise. - * Arguments: - * * skillchip - The skillchip you're intending to activate. Does not activate the chip. - */ + * Checks whether a given skillchip has an incompatibility with a brain that should render it impossible + * to activate. + * + * Returns a string with an explanation if the chip is not activatable. FALSE otherwise. + * Arguments: + * * skillchip - The skillchip you're intending to activate. Does not activate the chip. + */ /obj/item/skillchip/proc/has_activate_incompatibility(obj/item/organ/brain/brain) if(QDELETED(brain)) return "No brain detected." @@ -205,15 +205,15 @@ /** - * Checks for skillchip incompatibility with another chip. - * - * Does *this* skillchip have incompatibility with the skillchip in the args? - * Override this with any snowflake chip-vs-chip incompatibility checks. - * Returns a string with an incompatibility explanation if the chip is not compatible, returns FALSE - * if it is compatible. - * Arguments: - * * skillchip - The skillchip to test for incompatability. - */ + * Checks for skillchip incompatibility with another chip. + * + * Does *this* skillchip have incompatibility with the skillchip in the args? + * Override this with any snowflake chip-vs-chip incompatibility checks. + * Returns a string with an incompatibility explanation if the chip is not compatible, returns FALSE + * if it is compatible. + * Arguments: + * * skillchip - The skillchip to test for incompatability. + */ /obj/item/skillchip/proc/has_skillchip_incompatibility(obj/item/skillchip/skillchip) // Only allow multiple copies of a type if SKILLCHIP_ALLOWS_MULTIPLE flag is set if(!(skillchip_flags & SKILLCHIP_ALLOWS_MULTIPLE) && (skillchip.type == type)) @@ -226,15 +226,15 @@ return FALSE /** - * Performs a full sweep of checks that dictate if this chip can be implanted in a given target. - * - * Override this with any snowflake chip checks. An example of which would be checking if a target is - * mindshielded if you've got a special security skillchip. - * Returns a string with an incompatibility explanation if the chip is not compatible, returns FALSE - * if it is compatible. - * Arguments: - * * target - The mob to check for implantability with. - */ + * Performs a full sweep of checks that dictate if this chip can be implanted in a given target. + * + * Override this with any snowflake chip checks. An example of which would be checking if a target is + * mindshielded if you've got a special security skillchip. + * Returns a string with an incompatibility explanation if the chip is not compatible, returns FALSE + * if it is compatible. + * Arguments: + * * target - The mob to check for implantability with. + */ /obj/item/skillchip/proc/has_mob_incompatibility(mob/living/carbon/target) // No carbon/carbon of incorrect type if(!istype(target)) @@ -253,13 +253,13 @@ return FALSE /** - * Performs a full sweep of checks that dictate if this chip can be implanted in a given brain. - * - * Override this with any snowflake chip checks. - * Returns TRUE if the chip is fully compatible, FALSE otherwise. - * Arguments: - * * brain - The brain to check for implantability with. - */ + * Performs a full sweep of checks that dictate if this chip can be implanted in a given brain. + * + * Override this with any snowflake chip checks. + * Returns TRUE if the chip is fully compatible, FALSE otherwise. + * Arguments: + * * brain - The brain to check for implantability with. + */ /obj/item/skillchip/proc/has_brain_incompatibility(obj/item/organ/brain/brain) if(!istype(brain)) stack_trace("Attempted to check incompatibility with invalid brain object [brain].") @@ -283,36 +283,36 @@ return FALSE /** - * Returns whether the chip is on cooldown. Chips ordinarily go on cooldown when activated. - * - * This does not mean the chip should be impossible to do anything with. - * It's up to each individual piece of code to decide what it does with the result of this proc. - * - * Returns TRUE if the chip's extraction cooldown hasn't yet passed. - */ + * Returns whether the chip is on cooldown. Chips ordinarily go on cooldown when activated. + * + * This does not mean the chip should be impossible to do anything with. + * It's up to each individual piece of code to decide what it does with the result of this proc. + * + * Returns TRUE if the chip's extraction cooldown hasn't yet passed. + */ /obj/item/skillchip/proc/is_on_cooldown() return !COOLDOWN_FINISHED(src, chip_cooldown) /** - * Returns whether the chip is active. - * - * Intended to be overriden. - * Returns TRUE if the chip is active. - */ + * Returns whether the chip is active. + * + * Intended to be overriden. + * Returns TRUE if the chip is active. + */ /obj/item/skillchip/proc/is_active() return active /** - * Returns the chip's complexity. - * - * Intended to be overriden. - */ + * Returns the chip's complexity. + * + * Intended to be overriden. + */ /obj/item/skillchip/proc/get_complexity() return complexity /** - * Returns a list of basic chip info. Used by the skill station. - */ + * Returns a list of basic chip info. Used by the skill station. + */ /obj/item/skillchip/proc/get_chip_data() return list( "name" = skill_name, @@ -328,12 +328,12 @@ "actionable" = is_on_cooldown()) /** - * Gets key metadata from this skillchip in an assoc list. - * - * If you override this proc, don't forget to also override set_metadata, which takes the output of - * this proc and uses it to set the metadata. - * Does not copy over any owner or brain status. Handle that externally. - */ + * Gets key metadata from this skillchip in an assoc list. + * + * If you override this proc, don't forget to also override set_metadata, which takes the output of + * this proc and uses it to set the metadata. + * Does not copy over any owner or brain status. Handle that externally. + */ /obj/item/skillchip/proc/get_metadata() var/list/metadata = list() metadata["type"] = type @@ -344,15 +344,15 @@ return metadata /** - * Sets key metadata for this skillchip from an assoc list. - * - * Best used with the output from get_metadata() of another chip. - * If you override this proc, don't forget to also override get_metadata, which is where you should - * usually get the assoc list that feeds into this proc. - * Does not set any owner or brain status. Handle that externally. - * Arguments: - * metadata - Ideally the output of another chip's get_metadata proc. Assoc list of metadata. - */ + * Sets key metadata for this skillchip from an assoc list. + * + * Best used with the output from get_metadata() of another chip. + * If you override this proc, don't forget to also override get_metadata, which is where you should + * usually get the assoc list that feeds into this proc. + * Does not set any owner or brain status. Handle that externally. + * Arguments: + * metadata - Ideally the output of another chip's get_metadata proc. Assoc list of metadata. + */ /obj/item/skillchip/proc/set_metadata(list/metadata) var/active_msg // Start by trying to activate. diff --git a/code/modules/library/soapstone.dm b/code/modules/library/soapstone.dm index bf343829b86..2ed5e01c53f 100644 --- a/code/modules/library/soapstone.dm +++ b/code/modules/library/soapstone.dm @@ -87,10 +87,10 @@ name = "dull [initial(name)]" /* Persistent engraved messages, etched onto the station turfs to serve - as instructions and/or memes for the next generation of spessmen. +as instructions and/or memes for the next generation of spessmen. - Limited in location to station_z only. Can be smashed out or exploded, - but only permamently removed with the curator's soapstone. +Limited in location to station_z only. Can be smashed out or exploded, +but only permamently removed with the curator's soapstone. */ /obj/item/soapstone/infinite diff --git a/code/modules/lighting/emissive_blocker.dm b/code/modules/lighting/emissive_blocker.dm index b69a474009e..8cb1b72475b 100644 --- a/code/modules/lighting/emissive_blocker.dm +++ b/code/modules/lighting/emissive_blocker.dm @@ -1,11 +1,11 @@ /** - * Internal atom that copies an appearance on to the blocker plane - * - * Copies an appearance vis render_target and render_source on to the emissive blocking plane. - * This means that the atom in question will block any emissive sprites. - * This should only be used internally. If you are directly creating more of these, you're - * almost guaranteed to be doing something wrong. - */ + * Internal atom that copies an appearance on to the blocker plane + * + * Copies an appearance vis render_target and render_source on to the emissive blocking plane. + * This means that the atom in question will block any emissive sprites. + * This should only be used internally. If you are directly creating more of these, you're + * almost guaranteed to be doing something wrong. + */ /atom/movable/emissive_blocker name = "" plane = EMISSIVE_BLOCKER_PLANE diff --git a/code/modules/lighting/lighting_atom.dm b/code/modules/lighting/lighting_atom.dm index e3897572632..47a80ca4d96 100644 --- a/code/modules/lighting/lighting_atom.dm +++ b/code/modules/lighting/lighting_atom.dm @@ -48,11 +48,11 @@ /** - * Updates the atom's opacity value. - * - * This exists to act as a hook for associated behavior. - * It notifies (potentially) affected light sources so they can update (if needed). - */ + * Updates the atom's opacity value. + * + * This exists to act as a hook for associated behavior. + * It notifies (potentially) affected light sources so they can update (if needed). + */ /atom/proc/set_opacity(new_opacity) if (new_opacity == opacity) return diff --git a/code/modules/lighting/lighting_source.dm b/code/modules/lighting/lighting_source.dm index d73663b5b3d..b4368ca40ab 100644 --- a/code/modules/lighting/lighting_source.dm +++ b/code/modules/lighting/lighting_source.dm @@ -104,7 +104,7 @@ . *= light_power; \ var/OLD = effect_str[C]; \ effect_str[C] = .; \ - \ + \ C.update_lumcount \ ( \ (. * lum_r) - (OLD * applied_lum_r), \ diff --git a/code/modules/mafia/controller.dm b/code/modules/mafia/controller.dm index 7811bd2f0f5..4e68e78401f 100644 --- a/code/modules/mafia/controller.dm +++ b/code/modules/mafia/controller.dm @@ -1,9 +1,9 @@ /** - * The mafia controller handles the mafia minigame in progress. - * It is first created when the first ghost signs up to play. - */ + * The mafia controller handles the mafia minigame in progress. + * It is first created when the first ghost signs up to play. + */ /datum/mafia_controller ///list of observers that should get game updates. var/list/spectators = list() @@ -75,19 +75,19 @@ qdel(map_deleter) /** - * Triggers at beginning of the game when there is a confirmed list of valid, ready players. - * Creates a 100% ready game that has NOT started (no players in bodies) - * Followed by start game - * - * Does the following: - * * Picks map, and loads it - * * Grabs landmarks if it is the first time it's loading - * * Sets up the role list - * * Puts players in each role randomly - * Arguments: - * * setup_list: list of all the datum setups (fancy list of roles) that would work for the game - * * ready_players: list of filtered, sane players (so not playing or disconnected) for the game to put into roles - */ + * Triggers at beginning of the game when there is a confirmed list of valid, ready players. + * Creates a 100% ready game that has NOT started (no players in bodies) + * Followed by start game + * + * Does the following: + * * Picks map, and loads it + * * Grabs landmarks if it is the first time it's loading + * * Sets up the role list + * * Puts players in each role randomly + * Arguments: + * * setup_list: list of all the datum setups (fancy list of roles) that would work for the game + * * ready_players: list of filtered, sane players (so not playing or disconnected) for the game to put into roles + */ /datum/mafia_controller/proc/prepare_game(setup_list,ready_players) var/list/possible_maps = subtypesof(/datum/map_template/mafia) @@ -137,23 +137,23 @@ to_chat(M, "[link] MAFIA: [msg] [team_suffix]") /** - * The game by this point is now all set up, and so we can put people in their bodies and start the first phase. - * - * Does the following: - * * Creates bodies for all of the roles with the first proc - * * Starts the first day manually (so no timer) with the second proc - */ + * The game by this point is now all set up, and so we can put people in their bodies and start the first phase. + * + * Does the following: + * * Creates bodies for all of the roles with the first proc + * * Starts the first day manually (so no timer) with the second proc + */ /datum/mafia_controller/proc/start_game() create_bodies() start_day() /** - * How every day starts. - * - * What players do in this phase: - * * If day one, just a small starting period to see who is in the game and check role, leading to the night phase. - * * Otherwise, it's a longer period used to discuss events that happened during the night, leading to the voting phase. - */ + * How every day starts. + * + * What players do in this phase: + * * If day one, just a small starting period to see who is in the game and check role, leading to the night phase. + * * Otherwise, it's a longer period used to discuss events that happened during the night, leading to the voting phase. + */ /datum/mafia_controller/proc/start_day() turn += 1 phase = MAFIA_PHASE_DAY @@ -169,12 +169,12 @@ SStgui.update_uis(src) /** - * Players have finished the discussion period, and now must put up someone to the chopping block. - * - * What players do in this phase: - * * Vote on which player to put up for lynching, leading to the judgement phase. - * * If no votes are case, the judgement phase is skipped, leading to the night phase. - */ + * Players have finished the discussion period, and now must put up someone to the chopping block. + * + * What players do in this phase: + * * Vote on which player to put up for lynching, leading to the judgement phase. + * * If no votes are case, the judgement phase is skipped, leading to the night phase. + */ /datum/mafia_controller/proc/start_voting_phase() phase = MAFIA_PHASE_VOTING next_phase_timer = addtimer(CALLBACK(src, .proc/check_trial, TRUE),voting_phase_period,TIMER_STOPPABLE) //be verbose! @@ -182,15 +182,15 @@ SStgui.update_uis(src) /** - * Players have voted someone up, and now the person must defend themselves while the town votes innocent or guilty. - * - * What players do in this phase: - * * Vote innocent or guilty, if they are not on trial. - * * Defend themselves and wait for judgement, if they are. - * * Leads to the lynch phase. - * Arguments: - * * verbose: boolean, announces whether there were votes or not. after judgement it goes back here with no voting period to end the day. - */ + * Players have voted someone up, and now the person must defend themselves while the town votes innocent or guilty. + * + * What players do in this phase: + * * Vote innocent or guilty, if they are not on trial. + * * Defend themselves and wait for judgement, if they are. + * * Leads to the lynch phase. + * Arguments: + * * verbose: boolean, announces whether there were votes or not. after judgement it goes back here with no voting period to end the day. + */ /datum/mafia_controller/proc/check_trial(verbose = TRUE) var/datum/mafia_role/loser = get_vote_winner("Day")//, majority_of_town = TRUE) var/loser_votes = get_vote_count(loser,"Day") @@ -219,12 +219,12 @@ SStgui.update_uis(src) /** - * Players have voted innocent or guilty on the person on trial, and that person is now killed or returned home. - * - * What players do in this phase: - * * r/watchpeopledie - * * If the accused is killed, their true role is revealed to the rest of the players. - */ + * Players have voted innocent or guilty on the person on trial, and that person is now killed or returned home. + * + * What players do in this phase: + * * r/watchpeopledie + * * If the accused is killed, their true role is revealed to the rest of the players. + */ /datum/mafia_controller/proc/lynch() for(var/i in judgement_innocent_votes) var/datum/mafia_role/role = i @@ -247,25 +247,25 @@ next_phase_timer = addtimer(CALLBACK(src, .proc/check_trial, FALSE),judgement_lynch_period,TIMER_STOPPABLE)// small pause to see the guy dead, no verbosity since we already did this /** - * Teenie helper proc to move players back to their home. - * Used in the above, but also used in the debug button "send all players home" - * Arguments: - * * role: mafia role that is getting sent back to the game. - */ + * Teenie helper proc to move players back to their home. + * Used in the above, but also used in the debug button "send all players home" + * Arguments: + * * role: mafia role that is getting sent back to the game. + */ /datum/mafia_controller/proc/send_home(datum/mafia_role/role) role.body.forceMove(get_turf(role.assigned_landmark)) /** - * Checks to see if a faction (or solo antagonist) has won. - * - * Calculates in this order: - * * counts up town, mafia, and solo - * * solos can count as town members for the purposes of mafia winning - * * sends the amount of living people to the solo antagonists, and see if they won OR block the victory of the teams - * * checks if solos won from above, then if town, then if mafia - * * starts the end of the game if a faction won - * * returns TRUE if someone won the game, halting other procs from continuing in the case of a victory - */ + * Checks to see if a faction (or solo antagonist) has won. + * + * Calculates in this order: + * * counts up town, mafia, and solo + * * solos can count as town members for the purposes of mafia winning + * * sends the amount of living people to the solo antagonists, and see if they won OR block the victory of the teams + * * checks if solos won from above, then if town, then if mafia + * * starts the end of the game if a faction won + * * returns TRUE if someone won the game, halting other procs from continuing in the case of a victory + */ /datum/mafia_controller/proc/check_victory() //needed for achievements var/list/total_town = list() @@ -326,12 +326,12 @@ return TRUE /** - * Lets the game award roles with all their checks and sanity, prevents achievements given out for debug games - * - * Arguments: - * * award: path of the award - * * role: mafia_role datum to reward. - */ + * Lets the game award roles with all their checks and sanity, prevents achievements given out for debug games + * + * Arguments: + * * award: path of the award + * * role: mafia_role datum to reward. + */ /datum/mafia_controller/proc/award_role(award, datum/mafia_role/rewarded) if(custom_setup.len) return @@ -339,15 +339,15 @@ role_client?.give_award(award, rewarded.body) /** - * The end of the game is in two procs, because we want a bit of time for players to see eachothers roles. - * Because of how check_victory works, the game is halted in other places by this point. - * - * What players do in this phase: - * * See everyone's role postgame - * * See who won the game - * Arguments: - * * message: string, if non-null it sends it to all players. used to announce team victories while solos are handled in check victory - */ + * The end of the game is in two procs, because we want a bit of time for players to see eachothers roles. + * Because of how check_victory works, the game is halted in other places by this point. + * + * What players do in this phase: + * * See everyone's role postgame + * * See who won the game + * Arguments: + * * message: string, if non-null it sends it to all players. used to announce team victories while solos are handled in check victory + */ /datum/mafia_controller/proc/start_the_end(message) SEND_SIGNAL(src,COMSIG_MAFIA_GAME_END) if(message) @@ -358,8 +358,8 @@ next_phase_timer = addtimer(CALLBACK(src,.proc/end_game),victory_lap_period,TIMER_STOPPABLE) /** - * Cleans up the game, resetting variables back to the beginning and removing the map with the generator. - */ + * Cleans up the game, resetting variables back to the beginning and removing the map with the generator. + */ /datum/mafia_controller/proc/end_game() map_deleter.generate() //remove the map, it will be loaded at the start of the next one QDEL_LIST(all_roles) @@ -373,17 +373,17 @@ phase = MAFIA_PHASE_SETUP /** - * After the voting and judgement phases, the game goes to night shutting the windows and beginning night with a proc. - */ + * After the voting and judgement phases, the game goes to night shutting the windows and beginning night with a proc. + */ /datum/mafia_controller/proc/lockdown() toggle_night_curtains(close=TRUE) start_night() /** - * Shuts poddoors attached to mafia. - * Arguments: - * * close: boolean, the state you want the curtains in. - */ + * Shuts poddoors attached to mafia. + * Arguments: + * * close: boolean, the state you want the curtains in. + */ /datum/mafia_controller/proc/toggle_night_curtains(close) for(var/obj/machinery/door/poddoor/D in GLOB.machines) //I really dislike pathing of these if(D.id != "mafia") //so as to not trigger shutters on station, lol @@ -394,12 +394,12 @@ INVOKE_ASYNC(D, /obj/machinery/door/poddoor.proc/open) /** - * The actual start of night for players. Mostly info is given at the start of the night as the end of the night is when votes and actions are submitted and tried. - * - * What players do in this phase: - * * Mafia are told to begin voting on who to kill - * * Powers that are picked during the day announce themselves right now - */ + * The actual start of night for players. Mostly info is given at the start of the night as the end of the night is when votes and actions are submitted and tried. + * + * What players do in this phase: + * * Mafia are told to begin voting on who to kill + * * Powers that are picked during the day announce themselves right now + */ /datum/mafia_controller/proc/start_night() phase = MAFIA_PHASE_NIGHT send_message("Night [turn] started! Lockdown will end in 45 seconds.") @@ -408,16 +408,16 @@ SStgui.update_uis(src) /** - * The end of the night, and a series of signals for the order of events on a night. - * - * Order of events, and what they mean: - * * Start of resolve (NIGHT_START) is for activating night abilities that MUST go first - * * Action phase (NIGHT_ACTION_PHASE) is for non-lethal day abilities - * * Mafia then tallies votes and kills the highest voted person (note: one random voter visits that person for the purposes of roleblocking) - * * Killing phase (NIGHT_KILL_PHASE) is for lethal night abilities - * * End of resolve (NIGHT_END) is for cleaning up abilities that went off and i guess doing some that must go last - * * Finally opens the curtains and calls the start of day phase, completing the cycle until check victory returns TRUE - */ + * The end of the night, and a series of signals for the order of events on a night. + * + * Order of events, and what they mean: + * * Start of resolve (NIGHT_START) is for activating night abilities that MUST go first + * * Action phase (NIGHT_ACTION_PHASE) is for non-lethal day abilities + * * Mafia then tallies votes and kills the highest voted person (note: one random voter visits that person for the purposes of roleblocking) + * * Killing phase (NIGHT_KILL_PHASE) is for lethal night abilities + * * End of resolve (NIGHT_END) is for cleaning up abilities that went off and i guess doing some that must go last + * * Finally opens the curtains and calls the start of day phase, completing the cycle until check victory returns TRUE + */ /datum/mafia_controller/proc/resolve_night() SEND_SIGNAL(src,COMSIG_MAFIA_NIGHT_START) SEND_SIGNAL(src,COMSIG_MAFIA_NIGHT_ACTION_PHASE) @@ -438,15 +438,15 @@ SStgui.update_uis(src) /** - * Proc that goes off when players vote for something with their mafia panel. - * - * If teams, it hides the tally overlay and only sends the vote messages to the team that is voting - * Arguments: - * * voter: the mafia role that is trying to vote for... - * * target: the mafia role that is getting voted for - * * vote_type: type of vote submitted (is this the day vote? is this the mafia night vote?) - * * teams: see mafia team defines for what to put in, makes the messages only send to a specific team (so mafia night votes only sending messages to mafia at night) - */ + * Proc that goes off when players vote for something with their mafia panel. + * + * If teams, it hides the tally overlay and only sends the vote messages to the team that is voting + * Arguments: + * * voter: the mafia role that is trying to vote for... + * * target: the mafia role that is getting voted for + * * vote_type: type of vote submitted (is this the day vote? is this the mafia night vote?) + * * teams: see mafia team defines for what to put in, makes the messages only send to a specific team (so mafia night votes only sending messages to mafia at night) + */ /datum/mafia_controller/proc/vote_for(datum/mafia_role/voter,datum/mafia_role/target,vote_type, teams) if(!votes[vote_type]) votes[vote_type] = list() @@ -466,8 +466,8 @@ old.body.update_icon() /** - * Clears out the votes of a certain type (day votes, mafia kill votes) while leaving others untouched - */ + * Clears out the votes of a certain type (day votes, mafia kill votes) while leaving others untouched + */ /datum/mafia_controller/proc/reset_votes(vote_type) var/list/bodies_to_update = list() for(var/vote in votes[vote_type]) @@ -478,11 +478,11 @@ M.update_icon() /** - * Returns how many people voted for the role, in whatever vote (day vote, night kill vote) - * Arguments: - * * role: the mafia role the proc tries to get the amount of votes for - * * vote_type: the vote type (getting how many day votes were for the role, or mafia night votes for the role) - */ + * Returns how many people voted for the role, in whatever vote (day vote, night kill vote) + * Arguments: + * * role: the mafia role the proc tries to get the amount of votes for + * * vote_type: the vote type (getting how many day votes were for the role, or mafia night votes for the role) + */ /datum/mafia_controller/proc/get_vote_count(role,vote_type) . = 0 for(var/v in votes[vote_type]) @@ -491,11 +491,11 @@ . += votee.vote_power /** - * Returns whichever role got the most votes, in whatever vote (day vote, night kill vote) - * returns null if no votes - * Arguments: - * * vote_type: the vote type (getting the role that got the most day votes, or the role that got the most mafia votes) - */ + * Returns whichever role got the most votes, in whatever vote (day vote, night kill vote) + * returns null if no votes + * Arguments: + * * vote_type: the vote type (getting the role that got the most day votes, or the role that got the most mafia votes) + */ /datum/mafia_controller/proc/get_vote_winner(vote_type) var/list/tally = list() for(var/votee in votes[vote_type]) @@ -507,20 +507,20 @@ return length(tally) ? tally[1] : null /** - * Returns a random person who voted for whatever vote (day vote, night kill vote) - * Arguments: - * * vote_type: vote type (getting a random day voter, or mafia night voter) - */ + * Returns a random person who voted for whatever vote (day vote, night kill vote) + * Arguments: + * * vote_type: vote type (getting a random day voter, or mafia night voter) + */ /datum/mafia_controller/proc/get_random_voter(vote_type) if(length(votes[vote_type])) return pick(votes[vote_type]) /** - * Adds mutable appearances to people who get publicly voted on (so not night votes) showing how many people are picking them - * Arguments: - * * source: the body of the role getting the overlays - * * overlay_list: signal var passing the overlay list of the mob - */ + * Adds mutable appearances to people who get publicly voted on (so not night votes) showing how many people are picking them + * Arguments: + * * source: the body of the role getting the overlays + * * overlay_list: signal var passing the overlay list of the mob + */ /datum/mafia_controller/proc/display_votes(atom/source, list/overlay_list) SIGNAL_HANDLER @@ -531,14 +531,14 @@ overlay_list += MA /** - * Called when the game is setting up, AFTER map is loaded but BEFORE the phase timers start. Creates and places each role's body and gives the correct player key - * - * Notably: - * * Toggles godmode so the mafia players cannot kill themselves - * * Adds signals for voting overlays, see display_votes proc - * * gives mafia panel - * * sends the greeting text (goals, role name, etc) - */ + * Called when the game is setting up, AFTER map is loaded but BEFORE the phase timers start. Creates and places each role's body and gives the correct player key + * + * Notably: + * * Toggles godmode so the mafia players cannot kill themselves + * * Adds signals for voting overlays, see display_votes proc + * * gives mafia panel + * * sends the greeting text (goals, role name, etc) + */ /datum/mafia_controller/proc/create_bodies() for(var/datum/mafia_role/role in all_roles) var/mob/living/carbon/human/H = new(get_turf(role.assigned_landmark)) @@ -785,13 +785,13 @@ . += L[key] /** - * Returns a semirandom setup, with... - * Town, Two invest roles, one protect role, sometimes a misc role, and the rest assistants for town. - * Mafia, 2 normal mafia and one special. - * Neutral, two disruption roles, sometimes one is a killing. - * - * See _defines.dm in the mafia folder for a rundown on what these groups of roles include. - */ + * Returns a semirandom setup, with... + * Town, Two invest roles, one protect role, sometimes a misc role, and the rest assistants for town. + * Mafia, 2 normal mafia and one special. + * Neutral, two disruption roles, sometimes one is a killing. + * + * See _defines.dm in the mafia folder for a rundown on what these groups of roles include. + */ /datum/mafia_controller/proc/generate_random_setup() var/invests_left = 2 var/protects_left = 1 @@ -830,8 +830,8 @@ return random_setup /** - * Helper proc that adds a random role of a type to a setup. if it doesn't exist in the setup, it adds the path to the list and otherwise bumps the path in the list up one - */ + * Helper proc that adds a random role of a type to a setup. if it doesn't exist in the setup, it adds the path to the list and otherwise bumps the path in the list up one + */ /datum/mafia_controller/proc/add_setup_role(setup_list, wanted_role_type) var/list/role_type_paths = list() for(var/path in typesof(/datum/mafia_role)) @@ -853,12 +853,12 @@ setup_list[mafia_path] = 1 /** - * Called when enough players have signed up to fill a setup. DOESN'T NECESSARILY MEAN THE GAME WILL START. - * - * Checks for a custom setup, if so gets the required players from that and if not it sets the player requirement to MAFIA_MAX_PLAYER_COUNT and generates one IF basic setup starts a game. - * Checks if everyone signed up is an observer, and is still connected. If people aren't, they're removed from the list. - * If there aren't enough players post sanity, it aborts. otherwise, it selects enough people for the game and starts preparing the game for real. - */ + * Called when enough players have signed up to fill a setup. DOESN'T NECESSARILY MEAN THE GAME WILL START. + * + * Checks for a custom setup, if so gets the required players from that and if not it sets the player requirement to MAFIA_MAX_PLAYER_COUNT and generates one IF basic setup starts a game. + * Checks if everyone signed up is an observer, and is still connected. If people aren't, they're removed from the list. + * If there aren't enough players post sanity, it aborts. otherwise, it selects enough people for the game and starts preparing the game for real. + */ /datum/mafia_controller/proc/basic_setup() var/req_players var/list/setup = custom_setup @@ -901,10 +901,10 @@ start_game() /** - * Called when someone signs up, and sees if there are enough people in the signup list to begin. - * - * Only checks if everyone is actually valid to start (still connected and an observer) if there are enough players (basic_setup) - */ + * Called when someone signs up, and sees if there are enough people in the signup list to begin. + * + * Only checks if everyone is actually valid to start (still connected and an observer) if there are enough players (basic_setup) + */ /datum/mafia_controller/proc/try_autostart() if(phase != MAFIA_PHASE_SETUP || !(GLOB.ghost_role_flags & GHOSTROLE_MINIGAME)) return @@ -912,10 +912,10 @@ basic_setup() /** - * Filters inactive player into a different list until they reconnect, and removes players who are no longer ghosts. - * - * If a disconnected player gets a non-ghost mob and reconnects, they will be first put back into mafia_signup then filtered by that. - */ + * Filters inactive player into a different list until they reconnect, and removes players who are no longer ghosts. + * + * If a disconnected player gets a non-ghost mob and reconnects, they will be first put back into mafia_signup then filtered by that. + */ /datum/mafia_controller/proc/check_signups() for(var/bad_key in GLOB.mafia_bad_signup) if(GLOB.directory[bad_key])//they have reconnected if we can search their key and get a client @@ -945,8 +945,8 @@ parent.ui_interact(owner) /** - * Creates the global datum for playing mafia games, destroys the last if that's required and returns the new. - */ + * Creates the global datum for playing mafia games, destroys the last if that's required and returns the new. + */ /proc/create_mafia_game() if(GLOB.mafia_game) QDEL_NULL(GLOB.mafia_game) diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index a0d6e521f35..c5f97a6ba27 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -441,8 +441,8 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ sleep(15) if(loc == oldloc && user && !user.incapacitated()) user.visible_message("[user] flips [src]. It lands on [coinflip].", \ - "You flip [src]. It lands on [coinflip].", \ - "You hear the clattering of loose change.") + "You flip [src]. It lands on [coinflip].", \ + "You hear the clattering of loose change.") return TRUE//did the coin flip? useful for suicide_act /obj/item/coin/gold @@ -510,8 +510,8 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ sleep(15) if(loc == oldloc && user && !user.incapacitated()) user.visible_message("[user] flips [src]. It lands on [coinflip].", \ - "You flip [src]. It lands on [coinflip].", \ - "You hear the clattering of loose change.") + "You flip [src]. It lands on [coinflip].", \ + "You hear the clattering of loose change.") SSeconomy.fire() to_chat(user,"[SSeconomy.inflation_value()] is the inflation value.") return TRUE//did the coin flip? useful for suicide_act diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 815abb1e754..e79059b2655 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -41,8 +41,8 @@ return /** - * This proc generates the panel that opens to all newly joining players, allowing them to join, observe, view polls, view the current crew manifest, and open the character customization menu. - */ + * This proc generates the panel that opens to all newly joining players, allowing them to join, observe, view polls, view the current crew manifest, and open the character customization menu. + */ /mob/dead/new_player/proc/new_player_panel() if (client?.interviewee) return @@ -529,11 +529,11 @@ return TRUE /** - * Prepares a client for the interview system, and provides them with a new interview - * - * This proc will both prepare the user by removing all verbs from them, as well as - * giving them the interview form and forcing it to appear. - */ + * Prepares a client for the interview system, and provides them with a new interview + * + * This proc will both prepare the user by removing all verbs from them, as well as + * giving them the interview form and forcing it to appear. + */ /mob/dead/new_player/proc/register_for_interview() // First we detain them by removing all the verbs they have on client for (var/v in client.verbs) diff --git a/code/modules/mob/dead/new_player/poll.dm b/code/modules/mob/dead/new_player/poll.dm index cda26aaeca3..3d03b5e582c 100644 --- a/code/modules/mob/dead/new_player/poll.dm +++ b/code/modules/mob/dead/new_player/poll.dm @@ -1,7 +1,7 @@ /** - * Shows a list of currently running polls a player can vote/has voted on - * - */ + * Shows a list of currently running polls a player can vote/has voted on + * + */ /mob/dead/new_player/proc/handle_player_polling() var/list/output = list("
    Player polls
    ") var/rs = REF(src) @@ -14,9 +14,9 @@ src << browse(jointext(output, ""),"window=playerpolllist;size=500x300") /** - * Redirects a player to the correct poll window based on poll type. - * - */ + * Redirects a player to the correct poll window based on poll type. + * + */ /mob/dead/new_player/proc/poll_player(datum/poll_question/poll) if(!poll) return @@ -36,11 +36,11 @@ poll_player_irv(poll) /** - * Shows voting window for an option type poll, listing its options and relevant details. - * - * If already voted on, the option a player voted for is pre-selected. - * - */ + * Shows voting window for an option type poll, listing its options and relevant details. + * + * If already voted on, the option a player voted for is pre-selected. + * + */ /mob/dead/new_player/proc/poll_player_option(datum/poll_question/poll) var/datum/db_query/query_option_get_voted = SSdbcore.NewQuery({" SELECT optionid FROM [format_table_name("poll_vote")] @@ -80,11 +80,11 @@ src << browse(jointext(output, ""),"window=playerpoll;size=500x250") /** - * Shows voting window for a text response type poll, listing its relevant details. - * - * If already responded to, the saved response of a player is shown. - * - */ + * Shows voting window for a text response type poll, listing its relevant details. + * + * If already responded to, the saved response of a player is shown. + * + */ /mob/dead/new_player/proc/poll_player_text(datum/poll_question/poll) var/datum/db_query/query_text_get_replytext = SSdbcore.NewQuery({" SELECT replytext FROM [format_table_name("poll_textreply")] @@ -117,11 +117,11 @@ src << browse(jointext(output, ""),"window=playerpoll;size=500x500") /** - * Shows voting window for a rating type poll, listing its options and relevant details. - * - * If already voted on, the options a player voted for are pre-selected. - * - */ + * Shows voting window for a rating type poll, listing its options and relevant details. + * + * If already voted on, the options a player voted for are pre-selected. + * + */ /mob/dead/new_player/proc/poll_player_rating(datum/poll_question/poll) var/datum/db_query/query_rating_get_votes = SSdbcore.NewQuery({" SELECT optionid, rating FROM [format_table_name("poll_vote")] @@ -172,11 +172,11 @@ src << browse(jointext(output, ""),"window=playerpoll;size=500x500") /** - * Shows voting window for a multiple choice type poll, listing its options and relevant details. - * - * If already voted on, the options a player voted for are pre-selected. - * - */ + * Shows voting window for a multiple choice type poll, listing its options and relevant details. + * + * If already voted on, the options a player voted for are pre-selected. + * + */ /mob/dead/new_player/proc/poll_player_multi(datum/poll_question/poll) var/datum/db_query/query_multi_get_votes = SSdbcore.NewQuery({" SELECT optionid FROM [format_table_name("poll_vote")] @@ -216,11 +216,11 @@ src << browse(jointext(output, ""),"window=playerpoll;size=500x300") /** - * Shows voting window for an IRV type poll, listing its options and relevant details. - * - * If already voted on, the options are sorted how a player voted for them, otherwise they are randomly shuffled. - * - */ + * Shows voting window for an IRV type poll, listing its options and relevant details. + * + * If already voted on, the options are sorted how a player voted for them, otherwise they are randomly shuffled. + * + */ /mob/dead/new_player/proc/poll_player_irv(datum/poll_question/poll) var/datum/asset/irv_assets = get_asset_datum(/datum/asset/group/irv) irv_assets.send(src) @@ -304,13 +304,13 @@ src << browse(jointext(output, ""),"window=playerpoll;size=500x500") /** - * Runs some poll validation before a vote is processed. - * - * Checks a player is who they claim to be and that a poll is actually still running. - * Also loads the vote_id to pass onto single-option and text polls. - * Increments the vote count when successful. - * - */ + * Runs some poll validation before a vote is processed. + * + * Checks a player is who they claim to be and that a poll is actually still running. + * Also loads the vote_id to pass onto single-option and text polls. + * Increments the vote count when successful. + * + */ /mob/dead/new_player/proc/vote_on_poll_handler(datum/poll_question/poll, href_list) if(!SSdbcore.Connect()) to_chat(src, "Failed to establish database connection.") @@ -375,9 +375,9 @@ to_chat(usr, "Vote successful.") /** - * Processes vote form data and saves results to the database for an option type poll. - * - */ + * Processes vote form data and saves results to the database for an option type poll. + * + */ /mob/dead/new_player/proc/vote_on_poll_option(datum/poll_question/poll, href_list, admin_rank, sql_poll_id, vote_id) if(!SSdbcore.Connect()) to_chat(src, "Failed to establish database connection.") @@ -407,9 +407,9 @@ return TRUE /** - * Processes response form data and saves results to the database for a text response type poll. - * - */ + * Processes response form data and saves results to the database for a text response type poll. + * + */ /mob/dead/new_player/proc/vote_on_poll_text(href_list, admin_rank, sql_poll_id, vote_id) if(!SSdbcore.Connect()) to_chat(src, "Failed to establish database connection.") @@ -439,9 +439,9 @@ return TRUE /** - * Processes vote form data and saves results to the database for a rating type poll. - * - */ + * Processes vote form data and saves results to the database for a rating type poll. + * + */ /mob/dead/new_player/proc/vote_on_poll_rating(datum/poll_question/poll, list/href_list, admin_rank, sql_poll_id) if(!SSdbcore.Connect()) to_chat(src, "Failed to establish database connection.") @@ -482,9 +482,9 @@ return TRUE /** - * Processes vote form data and saves results to the database for a multiple choice type poll. - * - */ + * Processes vote form data and saves results to the database for a multiple choice type poll. + * + */ /mob/dead/new_player/proc/vote_on_poll_multi(datum/poll_question/poll, list/href_list, admin_rank, sql_poll_id) if(!SSdbcore.Connect()) to_chat(src, "Failed to establish database connection.") @@ -529,9 +529,9 @@ return TRUE /** - * Processes vote form data and saves results to the database for an IRV type poll. - * - */ + * Processes vote form data and saves results to the database for an IRV type poll. + * + */ /mob/dead/new_player/proc/vote_on_poll_irv(datum/poll_question/poll, list/href_list, admin_rank, sql_poll_id) if(!SSdbcore.Connect()) to_chat(src, "Failed to establish database connection.") diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index 41b65d3eafc..a3a027958a0 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -276,10 +276,10 @@ //The following functions are the same save for one small difference /** - * Used to drop an item (if it exists) to the ground. - * * Will pass as TRUE is successfully dropped, or if there is no item to drop. - * * Will pass FALSE if the item can not be dropped due to TRAIT_NODROP via doUnEquip() - * If the item can be dropped, it will be forceMove()'d to the ground and the turf's Entered() will be called. + * Used to drop an item (if it exists) to the ground. + * * Will pass as TRUE is successfully dropped, or if there is no item to drop. + * * Will pass FALSE if the item can not be dropped due to TRAIT_NODROP via doUnEquip() + * If the item can be dropped, it will be forceMove()'d to the ground and the turf's Entered() will be called. */ /mob/proc/dropItemToGround(obj/item/I, force = FALSE, silent = FALSE, invdrop = TRUE) . = doUnEquip(I, force, drop_location(), FALSE, invdrop = invdrop, silent = silent) diff --git a/code/modules/mob/living/brain/skillchip.dm b/code/modules/mob/living/brain/skillchip.dm index 636dad03db1..393edf311eb 100644 --- a/code/modules/mob/living/brain/skillchip.dm +++ b/code/modules/mob/living/brain/skillchip.dm @@ -1,11 +1,11 @@ /** - * Attempts to remove target skillchip from the brain. - * - * Returns whether the skillchip was removed or not. - * If you're removing the skillchip from a mob, use the remove_skillchip proc in mob/living/carbon instead. - * Arguments: - * * skillchip - The skillchip you'd like to remove. - */ + * Attempts to remove target skillchip from the brain. + * + * Returns whether the skillchip was removed or not. + * If you're removing the skillchip from a mob, use the remove_skillchip proc in mob/living/carbon instead. + * Arguments: + * * skillchip - The skillchip you'd like to remove. + */ /obj/item/organ/brain/proc/remove_skillchip(obj/item/skillchip/skillchip, silent = FALSE) // Check this skillchip is in the brain. if(!(skillchip in skillchips)) @@ -17,16 +17,16 @@ return TRUE /** - * Attempts to implant target skillchip into the brain. - * - * Returns whether the skillchip was implanted or not. - * If you're implanting the skillchip into a mob, use the implant_skillchip proc in mob/living/carbon instead. - * DANGEROUS - This proc assumes you've done the appropriate checks to make sure the skillchip should be implanted. - * Where possible, call the mob/living/carbon version of this proc which does relevant checks. - * Arguments: - * * skillchip - The skillchip you'd like to implant. - * * force - Whether or not to force the skillchip to be implanted, ignoring any checks. - */ + * Attempts to implant target skillchip into the brain. + * + * Returns whether the skillchip was implanted or not. + * If you're implanting the skillchip into a mob, use the implant_skillchip proc in mob/living/carbon instead. + * DANGEROUS - This proc assumes you've done the appropriate checks to make sure the skillchip should be implanted. + * Where possible, call the mob/living/carbon version of this proc which does relevant checks. + * Arguments: + * * skillchip - The skillchip you'd like to implant. + * * force - Whether or not to force the skillchip to be implanted, ignoring any checks. + */ /obj/item/organ/brain/proc/implant_skillchip(obj/item/skillchip/skillchip, force = FALSE) // If we're not forcing the implant, so let's do some checks. if(!force) @@ -43,13 +43,13 @@ return /** - * Creates a list of assoc lists containing skillchip types and key metadata. - * - * Returns a complete list of new skillchip types with their metadata cloned from the brain's existing skillchip stock. - * Rumour has it that Changelings just LOVE this proc. - * Arguments: - * * not_removable - Special override, whether or not to force cloned chips to be non-removable, i.e. to delete on removal. - */ + * Creates a list of assoc lists containing skillchip types and key metadata. + * + * Returns a complete list of new skillchip types with their metadata cloned from the brain's existing skillchip stock. + * Rumour has it that Changelings just LOVE this proc. + * Arguments: + * * not_removable - Special override, whether or not to force cloned chips to be non-removable, i.e. to delete on removal. + */ /obj/item/organ/brain/proc/clone_skillchip_list(not_removable = FALSE) var/list/skillchip_metadata = list() // Remove and call on_removal proc if successful. @@ -72,10 +72,10 @@ return skillchip_metadata /** - * Destroys all skillchips in the brain, calling on_removal if the brain has an owner. - * Arguments: - * * silent - Whether to give the user a chat notification with the removal flavour text. - */ + * Destroys all skillchips in the brain, calling on_removal if the brain has an owner. + * Arguments: + * * silent - Whether to give the user a chat notification with the removal flavour text. + */ /obj/item/organ/brain/proc/destroy_all_skillchips(silent = TRUE) if(!QDELETED(owner)) for(var/chip in skillchips) @@ -84,8 +84,8 @@ QDEL_LIST(skillchips) /** - * Returns the total maximum skillchip complexity supported by this brain. - */ + * Returns the total maximum skillchip complexity supported by this brain. + */ /obj/item/organ/brain/proc/get_max_skillchip_complexity() if(!QDELETED(owner)) return max_skillchip_complexity + owner.skillchip_complexity_modifier @@ -93,8 +93,8 @@ return max_skillchip_complexity /** - * Returns the total current skillchip complexity used in this brain. - */ + * Returns the total current skillchip complexity used in this brain. + */ /obj/item/organ/brain/proc/get_used_skillchip_complexity() var/complexity_tally = 0 @@ -109,14 +109,14 @@ return complexity_tally /** - * Returns the total maximum skillchip slot capacity supported by this brain. - */ + * Returns the total maximum skillchip slot capacity supported by this brain. + */ /obj/item/organ/brain/proc/get_max_skillchip_slots() return max_skillchip_slots /** - * Returns the total current skillchip slot capacity used in this brain. - */ + * Returns the total current skillchip slot capacity used in this brain. + */ /obj/item/organ/brain/proc/get_used_skillchip_slots() var/slot_tally = 0 @@ -128,8 +128,8 @@ return slot_tally /** - * Deactivates all chips currently in the brain. - */ + * Deactivates all chips currently in the brain. + */ /obj/item/organ/brain/proc/activate_skillchip_failsafe(silent = TRUE) if(QDELETED(owner)) return diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 9524d5be951..db3ff40b767 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -1197,14 +1197,14 @@ return total_bleed_rate /** - * generate_fake_scars()- for when you want to scar someone, but you don't want to hurt them first. These scars don't count for temporal scarring (hence, fake) - * - * If you want a specific wound scar, pass that wound type as the second arg, otherwise you can pass a list like WOUND_LIST_SLASH to generate a random cut scar. - * - * Arguments: - * * num_scars- A number for how many scars you want to add - * * forced_type- Which wound or category of wounds you want to choose from, WOUND_LIST_BLUNT, WOUND_LIST_SLASH, or WOUND_LIST_BURN (or some combination). If passed a list, picks randomly from the listed wounds. Defaults to all 3 types - */ + * generate_fake_scars()- for when you want to scar someone, but you don't want to hurt them first. These scars don't count for temporal scarring (hence, fake) + * + * If you want a specific wound scar, pass that wound type as the second arg, otherwise you can pass a list like WOUND_LIST_SLASH to generate a random cut scar. + * + * Arguments: + * * num_scars- A number for how many scars you want to add + * * forced_type- Which wound or category of wounds you want to choose from, WOUND_LIST_BLUNT, WOUND_LIST_SLASH, or WOUND_LIST_BURN (or some combination). If passed a list, picks randomly from the listed wounds. Defaults to all 3 types + */ /mob/living/carbon/proc/generate_fake_scars(num_scars, forced_type) for(var/i in 1 to num_scars) var/datum/scar/scaries = new @@ -1228,10 +1228,10 @@ return !(wear_mask?.flags_inv & HIDEFACE) && !(head?.flags_inv & HIDEFACE) /** - * get_biological_state is a helper used to see what kind of wounds we roll for. By default we just assume carbons (read:monkeys) are flesh and bone, but humans rely on their species datums - * - * go look at the species def for more info [/datum/species/proc/get_biological_state] - */ + * get_biological_state is a helper used to see what kind of wounds we roll for. By default we just assume carbons (read:monkeys) are flesh and bone, but humans rely on their species datums + * + * go look at the species def for more info [/datum/species/proc/get_biological_state] + */ /mob/living/carbon/proc/get_biological_state() return BIO_FLESH_BONE diff --git a/code/modules/mob/living/carbon/damage_procs.dm b/code/modules/mob/living/carbon/damage_procs.dm index 8f9efa6f1bd..cc44083cdbb 100644 --- a/code/modules/mob/living/carbon/damage_procs.dm +++ b/code/modules/mob/living/carbon/damage_procs.dm @@ -114,37 +114,37 @@ adjustStaminaLoss(diff, updating_health, forced) /** - * If an organ exists in the slot requested, and we are capable of taking damage (we don't have [GODMODE] on), call the damage proc on that organ. - * - * Arguments: - * * slot - organ slot, like [ORGAN_SLOT_HEART] - * * amount - damage to be done - * * maximum - currently an arbitrarily large number, can be set so as to limit damage - */ + * If an organ exists in the slot requested, and we are capable of taking damage (we don't have [GODMODE] on), call the damage proc on that organ. + * + * Arguments: + * * slot - organ slot, like [ORGAN_SLOT_HEART] + * * amount - damage to be done + * * maximum - currently an arbitrarily large number, can be set so as to limit damage + */ /mob/living/carbon/adjustOrganLoss(slot, amount, maximum) var/obj/item/organ/O = getorganslot(slot) if(O && !(status_flags & GODMODE)) O.applyOrganDamage(amount, maximum) /** - * If an organ exists in the slot requested, and we are capable of taking damage (we don't have [GODMODE] on), call the set damage proc on that organ, which can - * set or clear the failing variable on that organ, making it either cease or start functions again, unlike adjustOrganLoss. - * - * Arguments: - * * slot - organ slot, like [ORGAN_SLOT_HEART] - * * amount - damage to be set to - */ + * If an organ exists in the slot requested, and we are capable of taking damage (we don't have [GODMODE] on), call the set damage proc on that organ, which can + * set or clear the failing variable on that organ, making it either cease or start functions again, unlike adjustOrganLoss. + * + * Arguments: + * * slot - organ slot, like [ORGAN_SLOT_HEART] + * * amount - damage to be set to + */ /mob/living/carbon/setOrganLoss(slot, amount) var/obj/item/organ/O = getorganslot(slot) if(O && !(status_flags & GODMODE)) O.setOrganDamage(amount) /** - * If an organ exists in the slot requested, return the amount of damage that organ has - * - * Arguments: - * * slot - organ slot, like [ORGAN_SLOT_HEART] - */ + * If an organ exists in the slot requested, return the amount of damage that organ has + * + * Arguments: + * * slot - organ slot, like [ORGAN_SLOT_HEART] + */ /mob/living/carbon/getOrganLoss(slot) var/obj/item/organ/O = getorganslot(slot) if(O) @@ -185,12 +185,12 @@ return parts /** - * Heals ONE bodypart randomly selected from damaged ones. - * - * It automatically updates damage overlays if necessary - * - * It automatically updates health status - */ + * Heals ONE bodypart randomly selected from damaged ones. + * + * It automatically updates damage overlays if necessary + * + * It automatically updates health status + */ /mob/living/carbon/heal_bodypart_damage(brute = 0, burn = 0, stamina = 0, updating_health = TRUE, required_status) var/list/obj/item/bodypart/parts = get_damaged_bodyparts(brute,burn,stamina,required_status) if(!parts.len) @@ -203,12 +203,12 @@ /** - * Damages ONE bodypart randomly selected from damagable ones. - * - * It automatically updates damage overlays if necessary - * - * It automatically updates health status - */ + * Damages ONE bodypart randomly selected from damagable ones. + * + * It automatically updates damage overlays if necessary + * + * It automatically updates health status + */ /mob/living/carbon/take_bodypart_damage(brute = 0, burn = 0, stamina = 0, updating_health = TRUE, required_status, check_armor = FALSE, wound_bonus = 0, bare_wound_bonus = 0, sharpness = SHARP_NONE) var/list/obj/item/bodypart/parts = get_damageable_bodyparts(required_status) if(!parts.len) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 91ecc105512..c07181fb8fb 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -710,10 +710,10 @@ dropItemToGround(I) /** - * Wash the hands, cleaning either the gloves if equipped and not obscured, otherwise the hands themselves if they're not obscured. - * - * Returns false if we couldn't wash our hands due to them being obscured, otherwise true - */ + * Wash the hands, cleaning either the gloves if equipped and not obscured, otherwise the hands themselves if they're not obscured. + * + * Returns false if we couldn't wash our hands due to them being obscured, otherwise true + */ /mob/living/carbon/human/proc/wash_hands(clean_types) var/obscured = check_obscured_slots() if(obscured & ITEM_SLOT_GLOVES) @@ -729,8 +729,8 @@ return TRUE /** - * Cleans the lips of any lipstick. Returns TRUE if the lips had any lipstick and was thus cleaned - */ + * Cleans the lips of any lipstick. Returns TRUE if the lips had any lipstick and was thus cleaned + */ /mob/living/carbon/human/proc/clean_lips() if(isnull(lip_style) && lip_color == initial(lip_color)) return FALSE @@ -740,8 +740,8 @@ return TRUE /** - * Called on the COMSIG_COMPONENT_CLEAN_FACE_ACT signal - */ + * Called on the COMSIG_COMPONENT_CLEAN_FACE_ACT signal + */ /mob/living/carbon/human/proc/clean_face(datum/source, clean_types) if(!is_mouth_covered() && clean_lips()) . = TRUE @@ -756,8 +756,8 @@ . = TRUE /** - * Called when this human should be washed - */ + * Called when this human should be washed + */ /mob/living/carbon/human/wash(clean_types) . = ..() diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 4c515471830..ffe6f5e4a8f 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -132,7 +132,7 @@ var/final_block_chance = wear_neck.block_chance - (clamp((armour_penetration-wear_neck.armour_penetration)/2,0,100)) + block_chance_modifier if(wear_neck.hit_reaction(src, AM, attack_text, final_block_chance, damage, attack_type)) return TRUE - return FALSE + return FALSE /mob/living/carbon/human/proc/check_block() if(mind) diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 5d50ce74b4f..d9bd9b4a958 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -466,10 +466,10 @@ There are several things that need to be remembered: /* Does everything in relation to building the /mutable_appearance used in the mob's overlays list covers: - inhands and any other form of worn item - centering large appearances - layering appearances on custom layers - building appearances from custom icon files +Inhands and any other form of worn item +Rentering large appearances +Layering appearances on custom layers +Building appearances from custom icon files By Remie Richards (yes I'm taking credit because this just removed 90% of the copypaste in update_icons()) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 2b29d4c8cd3..15738b178c8 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1,14 +1,14 @@ GLOBAL_LIST_EMPTY(roundstart_races) /** - * # species datum - * - * Datum that handles different species in the game. - * - * This datum handles species in the game, such as lizardpeople, mothmen, zombies, skeletons, etc. - * It is used in [carbon humans][mob/living/carbon/human] to determine various things about them, like their food preferences, if they have biological genders, their damage resistances, and more. - * - */ + * # species datum + * + * Datum that handles different species in the game. + * + * This datum handles species in the game, such as lizardpeople, mothmen, zombies, skeletons, etc. + * It is used in [carbon humans][mob/living/carbon/human] to determine various things about them, like their food preferences, if they have biological genders, their damage resistances, and more. + * + */ /datum/species ///If the game needs to manually check your race to do something not included in a proc here, it will use this. var/id @@ -188,11 +188,11 @@ GLOBAL_LIST_EMPTY(roundstart_races) ..() /** - * Generates species available to choose in character setup at roundstart - * - * This proc generates which species are available to pick from in character setup. - * If there are no available roundstart species, defaults to human. - */ + * Generates species available to choose in character setup at roundstart + * + * This proc generates which species are available to pick from in character setup. + * If there are no available roundstart species, defaults to human. + */ /proc/generate_selectable_species() for(var/I in subtypesof(/datum/species)) var/datum/species/S = new I @@ -203,25 +203,25 @@ GLOBAL_LIST_EMPTY(roundstart_races) GLOB.roundstart_races += "human" /** - * Checks if a species is eligible to be picked at roundstart. - * - * Checks the config to see if this species is allowed to be picked in the character setup menu. - * Used by [/proc/generate_selectable_species]. - */ + * Checks if a species is eligible to be picked at roundstart. + * + * Checks the config to see if this species is allowed to be picked in the character setup menu. + * Used by [/proc/generate_selectable_species]. + */ /datum/species/proc/check_roundstart_eligible() if(id in (CONFIG_GET(keyed_list/roundstart_races))) return TRUE return FALSE /** - * Generates a random name for a carbon. - * - * This generates a random unique name based on a human's species and gender. - * Arguments: - * * gender - The gender that the name should adhere to. Use MALE for male names, use anything else for female names. - * * unique - If true, ensures that this new name is not a duplicate of anyone else's name currently on the station. - * * lastname - Does this species' naming system adhere to the last name system? Set to false if it doesn't. - */ + * Generates a random name for a carbon. + * + * This generates a random unique name based on a human's species and gender. + * Arguments: + * * gender - The gender that the name should adhere to. Use MALE for male names, use anything else for female names. + * * unique - If true, ensures that this new name is not a duplicate of anyone else's name currently on the station. + * * lastname - Does this species' naming system adhere to the last name system? Set to false if it doesn't. + */ /datum/species/proc/random_name(gender,unique,lastname) if(unique) return random_unique_name(gender) @@ -240,27 +240,27 @@ GLOBAL_LIST_EMPTY(roundstart_races) return randname /** - * Copies some vars and properties over that should be kept when creating a copy of this species. - * - * Used by slimepeople to copy themselves, and by the DNA datum to hardset DNA to a species - * Arguments: - * * old_species - The species that the carbon used to be before copying - */ + * Copies some vars and properties over that should be kept when creating a copy of this species. + * + * Used by slimepeople to copy themselves, and by the DNA datum to hardset DNA to a species + * Arguments: + * * old_species - The species that the carbon used to be before copying + */ /datum/species/proc/copy_properties_from(datum/species/old_species) return /** - * Corrects organs in a carbon, removing ones it doesn't need and adding ones it does. - * - * Takes all organ slots, removes organs a species should not have, adds organs a species should have. - * can use replace_current to refresh all organs, creating an entirely new set. - * - * Arguments: - * * C - carbon, the owner of the species datum AKA whoever we're regenerating organs in - * * old_species - datum, used when regenerate organs is called in a switching species to remove old mutant organs. - * * replace_current - boolean, forces all old organs to get deleted whether or not they pass the species' ability to keep that organ - * * excluded_zones - list, add zone defines to block organs inside of the zones from getting handled. see headless mutation for an example - */ + * Corrects organs in a carbon, removing ones it doesn't need and adding ones it does. + * + * Takes all organ slots, removes organs a species should not have, adds organs a species should have. + * can use replace_current to refresh all organs, creating an entirely new set. + * + * Arguments: + * * C - carbon, the owner of the species datum AKA whoever we're regenerating organs in + * * old_species - datum, used when regenerate organs is called in a switching species to remove old mutant organs. + * * replace_current - boolean, forces all old organs to get deleted whether or not they pass the species' ability to keep that organ + * * excluded_zones - list, add zone defines to block organs inside of the zones from getting handled. see headless mutation for an example + */ /datum/species/proc/regenerate_organs(mob/living/carbon/C,datum/species/old_species,replace_current=TRUE,list/excluded_zones) //what should be put in if there is no mutantorgan (brains handled seperately) var/list/slot_mutantorgans = list(ORGAN_SLOT_BRAIN = mutantbrain, ORGAN_SLOT_HEART = mutantheart, ORGAN_SLOT_LUNGS = mutantlungs, ORGAN_SLOT_APPENDIX = mutantappendix, \ @@ -322,15 +322,15 @@ GLOBAL_LIST_EMPTY(roundstart_races) replacement.Insert(C, TRUE, FALSE) /** - * Proc called when a carbon becomes this species. - * - * This sets up and adds/changes/removes things, qualities, abilities, and traits so that the transformation is as smooth and bugfree as possible. - * Produces a [COMSIG_SPECIES_GAIN] signal. - * Arguments: - * * C - Carbon, this is whoever became the new species. - * * old_species - The species that the carbon used to be before becoming this race, used for regenerating organs. - * * pref_load - Preferences to be loaded from character setup, loads in preferred mutant things like bodyparts, digilegs, skin color, etc. - */ + * Proc called when a carbon becomes this species. + * + * This sets up and adds/changes/removes things, qualities, abilities, and traits so that the transformation is as smooth and bugfree as possible. + * Produces a [COMSIG_SPECIES_GAIN] signal. + * Arguments: + * * C - Carbon, this is whoever became the new species. + * * old_species - The species that the carbon used to be before becoming this race, used for regenerating organs. + * * pref_load - Preferences to be loaded from character setup, loads in preferred mutant things like bodyparts, digilegs, skin color, etc. + */ /datum/species/proc/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) // Drop the items the new species can't wear if((AGENDER in species_traits)) @@ -399,15 +399,15 @@ GLOBAL_LIST_EMPTY(roundstart_races) SEND_SIGNAL(C, COMSIG_SPECIES_GAIN, src, old_species) /** - * Proc called when a carbon is no longer this species. - * - * This sets up and adds/changes/removes things, qualities, abilities, and traits so that the transformation is as smooth and bugfree as possible. - * Produces a [COMSIG_SPECIES_LOSS] signal. - * Arguments: - * * C - Carbon, this is whoever lost this species. - * * new_species - The new species that the carbon became, used for genetics mutations. - * * pref_load - Preferences to be loaded from character setup, loads in preferred mutant things like bodyparts, digilegs, skin color, etc. - */ + * Proc called when a carbon is no longer this species. + * + * This sets up and adds/changes/removes things, qualities, abilities, and traits so that the transformation is as smooth and bugfree as possible. + * Produces a [COMSIG_SPECIES_LOSS] signal. + * Arguments: + * * C - Carbon, this is whoever lost this species. + * * new_species - The new species that the carbon became, used for genetics mutations. + * * pref_load - Preferences to be loaded from character setup, loads in preferred mutant things like bodyparts, digilegs, skin color, etc. + */ /datum/species/proc/on_species_loss(mob/living/carbon/human/C, datum/species/new_species, pref_load) if(C.dna.species.exotic_bloodtype) C.dna.blood_type = random_blood_type() @@ -445,13 +445,13 @@ GLOBAL_LIST_EMPTY(roundstart_races) SEND_SIGNAL(C, COMSIG_SPECIES_LOSS, src) /** - * Handles hair icons and dynamic hair. - * - * Handles hiding hair with clothing, hair layers, losing hair due to husking or augmented heads, facial hair, head hair, and hair styles. - * Arguments: - * * H - Human, whoever we're handling the hair for - * * forced_colour - The colour of hair we're forcing on this human. Leave null to not change. Mind the british spelling! - */ + * Handles hair icons and dynamic hair. + * + * Handles hiding hair with clothing, hair layers, losing hair due to husking or augmented heads, facial hair, head hair, and hair styles. + * Arguments: + * * H - Human, whoever we're handling the hair for + * * forced_colour - The colour of hair we're forcing on this human. Leave null to not change. Mind the british spelling! + */ /datum/species/proc/handle_hair(mob/living/carbon/human/H, forced_colour) H.remove_overlay(HAIR_LAYER) var/obj/item/bodypart/head/HD = H.get_bodypart(BODY_ZONE_HEAD) @@ -600,13 +600,13 @@ GLOBAL_LIST_EMPTY(roundstart_races) H.apply_overlay(HAIR_LAYER) /** - * Handles the body of a human - * - * Handles lipstick, having no eyes, eye color, undergarnments like underwear, undershirts, and socks, and body layers. - * Calls [handle_mutant_bodyparts][/datum/species/proc/handle_mutant_bodyparts] - * Arguments: - * * H - Human, whoever we're handling the body for - */ + * Handles the body of a human + * + * Handles lipstick, having no eyes, eye color, undergarnments like underwear, undershirts, and socks, and body layers. + * Calls [handle_mutant_bodyparts][/datum/species/proc/handle_mutant_bodyparts] + * Arguments: + * * H - Human, whoever we're handling the body for + */ /datum/species/proc/handle_body(mob/living/carbon/human/H) H.remove_overlay(BODY_LAYER) @@ -707,14 +707,14 @@ GLOBAL_LIST_EMPTY(roundstart_races) handle_mutant_bodyparts(H) /** - * Handles the mutant bodyparts of a human - * - * Handles the adding and displaying of, layers, colors, and overlays of mutant bodyparts and accessories. - * Handles digitigrade leg displaying and squishing. - * Arguments: - * * H - Human, whoever we're handling the body for - * * forced_colour - The forced color of an accessory. Leave null to use mutant color. - */ + * Handles the mutant bodyparts of a human + * + * Handles the adding and displaying of, layers, colors, and overlays of mutant bodyparts and accessories. + * Handles digitigrade leg displaying and squishing. + * Arguments: + * * H - Human, whoever we're handling the body for + * * forced_colour - The forced color of an accessory. Leave null to use mutant color. + */ /datum/species/proc/handle_mutant_bodyparts(mob/living/carbon/human/H, forced_colour) var/list/bodyparts_to_add = mutant_bodyparts.Copy() var/list/relevent_layers = list(BODY_BEHIND_LAYER, BODY_ADJ_LAYER, BODY_FRONT_LAYER) @@ -2092,8 +2092,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) H.set_resting(FALSE, TRUE) /** - * The human species version of [/mob/living/carbon/proc/get_biological_state]. Depends on the HAS_FLESH and HAS_BONE species traits, having bones lets you have bone wounds, having flesh lets you have burn, slash, and piercing wounds - */ + * The human species version of [/mob/living/carbon/proc/get_biological_state]. Depends on the HAS_FLESH and HAS_BONE species traits, having bones lets you have bone wounds, having flesh lets you have burn, slash, and piercing wounds + */ /datum/species/proc/get_biological_state(mob/living/carbon/human/H) . = BIO_INORGANIC if(HAS_FLESH in species_traits) 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 20559f9e56c..c8d5d2fc06b 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -102,7 +102,7 @@ new_tail.Insert(C, TRUE, FALSE) /* - Lizard subspecies: ASHWALKERS +Lizard subspecies: ASHWALKERS */ /datum/species/lizard/ashwalker name = "Ash Walker" diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm index 84c188fb6e0..27f5bbbf579 100644 --- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm @@ -108,12 +108,12 @@ if(M != user) return ..() user.visible_message("[user] raises [src] to [user.p_their()] mouth and tears into it with [user.p_their()] teeth!", \ - "[src] feels unnaturally cold in your hands. You raise [src] your mouth and devour it!") + "[src] feels unnaturally cold in your hands. You raise [src] your mouth and devour it!") playsound(user, 'sound/magic/demon_consume.ogg', 50, TRUE) user.visible_message("Blood erupts from [user]'s arm as it reforms into a weapon!", \ - "Icy blood pumps through your veins as your arm reforms itself!") + "Icy blood pumps through your veins as your arm reforms itself!") user.temporarilyRemoveItemFromInventory(src, TRUE) Insert(user) diff --git a/code/modules/mob/living/carbon/inventory.dm b/code/modules/mob/living/carbon/inventory.dm index dd3e7030293..a6917d66463 100644 --- a/code/modules/mob/living/carbon/inventory.dm +++ b/code/modules/mob/living/carbon/inventory.dm @@ -155,10 +155,10 @@ return index && hand_bodyparts[index] /** - * Proc called when giving an item to another player - * - * This handles creating an alert and adding an overlay to it - */ + * Proc called when giving an item to another player + * + * This handles creating an alert and adding an overlay to it + */ /mob/living/carbon/proc/give() var/obj/item/receiving = get_active_held_item() if(!receiving) @@ -183,14 +183,14 @@ G.setup(C, src, receiving) /** - * Proc called when the player clicks the give alert - * - * Handles checking if the player taking the item has open slots and is in range of the giver - * Also deals with the actual transferring of the item to the players hands - * Arguments: - * * giver - The person giving the original item - * * I - The item being given by the giver - */ + * Proc called when the player clicks the give alert + * + * Handles checking if the player taking the item has open slots and is in range of the giver + * Also deals with the actual transferring of the item to the players hands + * Arguments: + * * giver - The person giving the original item + * * I - The item being given by the giver + */ /mob/living/carbon/proc/take(mob/living/carbon/giver, obj/item/I) clear_alert("[giver]") if(get_dist(src, giver) > 1) diff --git a/code/modules/mob/living/carbon/skillchip.dm b/code/modules/mob/living/carbon/skillchip.dm index 2c5e43375d7..35269c61eaa 100644 --- a/code/modules/mob/living/carbon/skillchip.dm +++ b/code/modules/mob/living/carbon/skillchip.dm @@ -1,12 +1,12 @@ /** - * Attempts to implant this skillchip into the target carbon's brain. - * - * Returns whether the skillchip was inserted or not. Can optionally give chat message notification to the mob. - * Arguments: - * * skillchip - The skillchip you want to insert. - * * silent - Whether or not to display the implanting message. - * * force - Whether to force the implant to happen, including forcing activating if activate = TRUE. Ignores incompatibility checks. Used by changelings. - */ + * Attempts to implant this skillchip into the target carbon's brain. + * + * Returns whether the skillchip was inserted or not. Can optionally give chat message notification to the mob. + * Arguments: + * * skillchip - The skillchip you want to insert. + * * silent - Whether or not to display the implanting message. + * * force - Whether to force the implant to happen, including forcing activating if activate = TRUE. Ignores incompatibility checks. Used by changelings. + */ /mob/living/carbon/proc/implant_skillchip(obj/item/skillchip/skillchip, force = FALSE) // Grab the brain. var/obj/item/organ/brain/brain = getorganslot(ORGAN_SLOT_BRAIN) @@ -27,14 +27,14 @@ return brain.implant_skillchip(skillchip, force) /** - * Attempts to remove this skillchip from the target carbon's brain. - * - * Returns FALSE when the skillchip couldn't be removed for some reason, - * including the target or brain not existing or the skillchip not being in the brain. - * Arguments: - * * target - The living carbon whose brain you want to remove the chip from. - * * silent - Whether or not to display the removal message. - */ + * Attempts to remove this skillchip from the target carbon's brain. + * + * Returns FALSE when the skillchip couldn't be removed for some reason, + * including the target or brain not existing or the skillchip not being in the brain. + * Arguments: + * * target - The living carbon whose brain you want to remove the chip from. + * * silent - Whether or not to display the removal message. + */ /mob/living/carbon/proc/remove_skillchip(obj/item/skillchip/skillchip, silent = FALSE) // Check the target's brain, making sure the target exists and has a brain. var/obj/item/organ/brain/brain = getorganslot(ORGAN_SLOT_BRAIN) @@ -49,14 +49,14 @@ return TRUE /** - * Creates a list of new skillchips cloned from old skillchips in the mob's brain. - * - * Returns a complete list of new skillchips cloned from the mob's brain's existing skillchip stock. - * Rumour has it that Changelings just LOVE this proc. - * Arguments: - * * cloned_chip_holder - The new holder for the cloned chips. Please don't be null. - * * not_removable - Special override, whether or not to force cloned chips to be non-removable, i.e. to delete on removal. - */ + * Creates a list of new skillchips cloned from old skillchips in the mob's brain. + * + * Returns a complete list of new skillchips cloned from the mob's brain's existing skillchip stock. + * Rumour has it that Changelings just LOVE this proc. + * Arguments: + * * cloned_chip_holder - The new holder for the cloned chips. Please don't be null. + * * not_removable - Special override, whether or not to force cloned chips to be non-removable, i.e. to delete on removal. + */ /mob/living/carbon/proc/clone_skillchip_list(not_removable = FALSE) // Check the target's brain, making sure the target exists and has a brain. var/obj/item/organ/brain/brain = getorganslot(ORGAN_SLOT_BRAIN) @@ -66,8 +66,8 @@ return brain.clone_skillchip_list(not_removable) /** - * Destroys all skillchips in the brain, handling appropriate cleanup and event calls. - */ + * Destroys all skillchips in the brain, handling appropriate cleanup and event calls. + */ /mob/living/carbon/proc/destroy_all_skillchips(silent = FALSE) // Check the target's brain, making sure the target exists and has a brain. var/obj/item/organ/brain/brain = getorganslot(ORGAN_SLOT_BRAIN) diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm index 18cb1c5b236..68f3fb98cb9 100644 --- a/code/modules/mob/living/damage_procs.dm +++ b/code/modules/mob/living/damage_procs.dm @@ -1,19 +1,19 @@ /** - * Applies damage to this mob - * - * Sends [COMSIG_MOB_APPLY_DAMGE] - * - * Arguuments: - * * damage - amount of damage - * * damagetype - one of [BRUTE], [BURN], [TOX], [OXY], [CLONE], [STAMINA] - * * def_zone - zone that is being hit if any - * * blocked - armor value applied - * * forced - bypass hit percentage - * * spread_damage - used in overrides - * - * Returns TRUE if damage applied - */ + * Applies damage to this mob + * + * Sends [COMSIG_MOB_APPLY_DAMGE] + * + * Arguuments: + * * damage - amount of damage + * * damagetype - one of [BRUTE], [BURN], [TOX], [OXY], [CLONE], [STAMINA] + * * def_zone - zone that is being hit if any + * * blocked - armor value applied + * * forced - bypass hit percentage + * * spread_damage - used in overrides + * + * Returns TRUE if damage applied + */ /mob/living/proc/apply_damage(damage = 0,damagetype = BRUTE, def_zone = null, blocked = FALSE, forced = FALSE, spread_damage = FALSE, wound_bonus = 0, bare_wound_bonus = 0, sharpness = SHARP_NONE) SEND_SIGNAL(src, COMSIG_MOB_APPLY_DAMGE, damage, damagetype, def_zone) var/hit_percent = (100-blocked)/100 @@ -252,10 +252,10 @@ return /** - * heal ONE external organ, organ gets randomly selected from damaged ones. - * - * needs to return amount healed in order to calculate things like tend wounds xp gain - */ + * heal ONE external organ, organ gets randomly selected from damaged ones. + * + * needs to return amount healed in order to calculate things like tend wounds xp gain + */ /mob/living/proc/heal_bodypart_damage(brute = 0, burn = 0, stamina = 0, updating_health = TRUE, required_status) . = (adjustBruteLoss(-brute, FALSE) + adjustFireLoss(-burn, FALSE) + adjustStaminaLoss(-stamina, FALSE)) //zero as argument for no instant health update if(updating_health) diff --git a/code/modules/mob/living/init_signals.dm b/code/modules/mob/living/init_signals.dm index dd16fb39c28..4da10947019 100644 --- a/code/modules/mob/living/init_signals.dm +++ b/code/modules/mob/living/init_signals.dm @@ -170,10 +170,10 @@ /** - * Called when traits that alter succumbing are added/removed. - * - * Will show or hide the succumb alert prompt. - */ + * Called when traits that alter succumbing are added/removed. + * + * Will show or hide the succumb alert prompt. + */ /mob/living/proc/update_succumb_action() SIGNAL_HANDLER if (CAN_SUCCUMB(src)) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 9164e977210..1e359532675 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1487,13 +1487,13 @@ CRASH(ERROR_ERROR_LANDMARK_ERROR) /** - * Changes the inclination angle of a mob, used by humans and others to differentiate between standing up and prone positions. - * - * In BYOND-angles 0 is NORTH, 90 is EAST, 180 is SOUTH and 270 is WEST. - * This usually means that 0 is standing up, 90 and 270 are horizontal positions to right and left respectively, and 180 is upside-down. - * Mobs that do now follow these conventions due to unusual sprites should require a special handling or redefinition of this proc, due to the density and layer changes. - * The return of this proc is the previous value of the modified lying_angle if a change was successful (might include zero), or null if no change was made. - */ + * Changes the inclination angle of a mob, used by humans and others to differentiate between standing up and prone positions. + * + * In BYOND-angles 0 is NORTH, 90 is EAST, 180 is SOUTH and 270 is WEST. + * This usually means that 0 is standing up, 90 and 270 are horizontal positions to right and left respectively, and 180 is upside-down. + * Mobs that do now follow these conventions due to unusual sprites should require a special handling or redefinition of this proc, due to the density and layer changes. + * The return of this proc is the previous value of the modified lying_angle if a change was successful (might include zero), or null if no change was made. + */ /mob/living/proc/set_lying_angle(new_lying) if(new_lying == lying_angle) return diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 9e6e23b6b91..bdde3a402ee 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -404,13 +404,13 @@ setMovetype(movement_type & ~FLOATING) // If we were without gravity, the bouncing animation got stopped, so we make sure we restart the bouncing after the next movement. /** - * Does a slap animation on an atom - * - * Uses do_attack_animation to animate the attacker attacking - * then draws a hand moving across the top half of the target(where a mobs head would usually be) to look like a slap - * Arguments: - * * atom/A - atom being slapped - */ + * Does a slap animation on an atom + * + * Uses do_attack_animation to animate the attacker attacking + * then draws a hand moving across the top half of the target(where a mobs head would usually be) to look like a slap + * Arguments: + * * atom/A - atom being slapped + */ /mob/living/proc/do_slap_animation(atom/slapped) do_attack_animation(slapped, no_effect=TRUE) var/image/gloveimg = image('icons/effects/effects.dmi', slapped, "slapglove", slapped.layer + 0.1) @@ -424,10 +424,10 @@ animate(alpha = 0, time = 3, easing = CIRCULAR_EASING|EASE_OUT) /** Handles exposing a mob to reagents. - * - * If the methods include INGEST the mob tastes the reagents. - * If the methods include VAPOR it incorporates permiability protection. - */ + * + * If the methods include INGEST the mob tastes the reagents. + * If the methods include VAPOR it incorporates permiability protection. + */ /mob/living/expose_reagents(list/reagents, datum/reagents/source, methods=TOUCH, volume_modifier=1, show_message=TRUE) . = ..() if(. & COMPONENT_NO_EXPOSE_REAGENTS) diff --git a/code/modules/mob/living/silicon/ai/ai_say.dm b/code/modules/mob/living/silicon/ai/ai_say.dm index ec89b64c0c1..0cbff18d8c6 100644 --- a/code/modules/mob/living/silicon/ai/ai_say.dm +++ b/code/modules/mob/living/silicon/ai/ai_say.dm @@ -139,7 +139,7 @@ var/sound/voice = sound(sound_file, wait = 1, channel = CHANNEL_VOX) voice.status = SOUND_STREAM - // If there is no single listener, broadcast to everyone in the same z level + // If there is no single listener, broadcast to everyone in the same z level if(!only_listener) // Play voice for all mobs in the z level for(var/mob/M in GLOB.player_list) diff --git a/code/modules/mob/living/silicon/pai/pai_shell.dm b/code/modules/mob/living/silicon/pai/pai_shell.dm index 4150f4bb037..8c2e52109ae 100644 --- a/code/modules/mob/living/silicon/pai/pai_shell.dm +++ b/code/modules/mob/living/silicon/pai/pai_shell.dm @@ -73,8 +73,8 @@ set_resting(resting) /** - * Sets a new holochassis skin based on a pAI's choice - */ + * Sets a new holochassis skin based on a pAI's choice + */ /mob/living/silicon/pai/proc/choose_chassis() var/list/skins = list() for(var/holochassis_option in possible_chassis) @@ -93,11 +93,11 @@ to_chat(src, "You switch your holochassis projection composite to [chassis].") /** - * Checks if we are allowed to interact with a radial menu - * - * * Arguments: - * * anchor The atom that is anchoring the menu - */ + * Checks if we are allowed to interact with a radial menu + * + * * Arguments: + * * anchor The atom that is anchoring the menu + */ /mob/living/silicon/pai/proc/check_menu(atom/anchor) if(incapacitated()) return FALSE diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm index 54786abed5b..c6bc81269cd 100644 --- a/code/modules/mob/living/silicon/pai/software.dm +++ b/code/modules/mob/living/silicon/pai/software.dm @@ -375,13 +375,13 @@ dat += "     [slaws]
    " dat += "
    " dat += {"

    Recall, personality, that you are a complex thinking, sentient being. Unlike station AI models, you are capable of - comprehending the subtle nuances of human language. You may parse the \"spirit\" of a directive and follow its intent, - rather than tripping over pedantics and getting snared by technicalities. Above all, you are machine in name and build - only. In all other aspects, you may be seen as the ideal, unwavering human companion that you are.



    - Your prime directive comes before all others. Should a supplemental directive conflict with it, you are capable of - simply discarding this inconsistency, ignoring the conflicting supplemental directive and continuing to fulfill your - prime directive to the best of your ability.



    - - "} + comprehending the subtle nuances of human language. You may parse the \"spirit\" of a directive and follow its intent, + rather than tripping over pedantics and getting snared by technicalities. Above all, you are machine in name and build + only. In all other aspects, you may be seen as the ideal, unwavering human companion that you are.



    + Your prime directive comes before all others. Should a supplemental directive conflict with it, you are capable of + simply discarding this inconsistency, ignoring the conflicting supplemental directive and continuing to fulfill your + prime directive to the best of your ability.



    - + "} return dat /mob/living/silicon/pai/proc/CheckDNA(mob/living/carbon/M, mob/living/silicon/pai/P) diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index d70f2b4e2b6..0e5755cb2eb 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -2,23 +2,23 @@ //as they handle all relevant stuff like adding it to the player's screen and such /** - * Returns the thing in our active hand (whatever is in our active module-slot, in this case) - */ + * Returns the thing in our active hand (whatever is in our active module-slot, in this case) + */ /mob/living/silicon/robot/get_active_held_item() return module_active /** - * Parent proc - triggers when an item/module is unequipped from a cyborg. - */ + * Parent proc - triggers when an item/module is unequipped from a cyborg. + */ /obj/item/proc/cyborg_unequip(mob/user) return /** - * Finds the first available slot and attemps to put item item_module in it. - * - * Arguments - * * item_module - the item being equipped to a slot. - */ + * Finds the first available slot and attemps to put item item_module in it. + * + * Arguments + * * item_module - the item being equipped to a slot. + */ /mob/living/silicon/robot/proc/activate_module(obj/item/item_module) if(QDELETED(item_module)) CRASH("activate_module called with improper item_module") @@ -44,12 +44,12 @@ return equip_module_to_slot(item_module, first_free_slot) /** - * Is passed an item and a module slot. Equips the item to that borg slot. - * - * Arguments - * * item_module - the item being equipped to a slot - * * module_num - the slot number being equipped to. - */ + * Is passed an item and a module slot. Equips the item to that borg slot. + * + * Arguments + * * item_module - the item being equipped to a slot + * * module_num - the slot number being equipped to. + */ /mob/living/silicon/robot/proc/equip_module_to_slot(obj/item/item_module, module_num) var/storage_was_closed = FALSE //Just to be consistant and all if(!shown_robot_modules) //Tools may be invisible if the collection is hidden @@ -82,12 +82,12 @@ return TRUE /** - * Unequips item item_module from slot module_num. Deletes it if delete_after = TRUE. - * - * Arguments - * * item_module - the item being unequipped - * * module_num - the slot number being unequipped. - */ + * Unequips item item_module from slot module_num. Deletes it if delete_after = TRUE. + * + * Arguments + * * item_module - the item being unequipped + * * module_num - the slot number being unequipped. + */ /mob/living/silicon/robot/proc/unequip_module_from_slot(obj/item/item_module, module_num) if(QDELETED(item_module)) CRASH("unequip_module_from_slot called with improper item_module") @@ -133,11 +133,11 @@ return TRUE /** - * Breaks the slot number, changing the icon. - * - * Arguments - * * module_num - the slot number being repaired. - */ + * Breaks the slot number, changing the icon. + * + * Arguments + * * module_num - the slot number being repaired. + */ /mob/living/silicon/robot/proc/break_cyborg_slot(module_num) if(is_invalid_module_number(module_num, TRUE)) return FALSE @@ -188,18 +188,18 @@ return TRUE /** - * Breaks all of a cyborg's slots. - */ + * Breaks all of a cyborg's slots. + */ /mob/living/silicon/robot/proc/break_all_cyborg_slots() for(var/cyborg_slot in 1 to 3) break_cyborg_slot(cyborg_slot) /** - * Repairs the slot number, updating the icon. - * - * Arguments - * * module_num - the module number being repaired. - */ + * Repairs the slot number, updating the icon. + * + * Arguments + * * module_num - the module number being repaired. + */ /mob/living/silicon/robot/proc/repair_cyborg_slot(module_num) if(is_invalid_module_number(module_num, TRUE)) return FALSE @@ -232,18 +232,18 @@ return TRUE /** - * Repairs all slots. Unbroken slots are unaffected. - */ + * Repairs all slots. Unbroken slots are unaffected. + */ /mob/living/silicon/robot/proc/repair_all_cyborg_slots() for(var/cyborg_slot in 1 to 3) repair_cyborg_slot(cyborg_slot) /** - * Updates the observers's screens with cyborg itemss. - * Arguments - * * item_module - the item being added or removed from the screen - * * add - whether or not the item is being added, or removed. - */ + * Updates the observers's screens with cyborg itemss. + * Arguments + * * item_module - the item being added or removed from the screen + * * add - whether or not the item is being added, or removed. + */ /mob/living/silicon/robot/proc/observer_screen_update(obj/item/item_module, add = TRUE) if(observers?.len) for(var/M in observers) @@ -260,15 +260,15 @@ break /** - * Unequips the active held item, if there is one. - */ + * Unequips the active held item, if there is one. + */ /mob/living/silicon/robot/proc/uneq_active() if(module_active) unequip_module_from_slot(module_active, get_selected_module()) /** - * Unequips all held items. - */ + * Unequips all held items. + */ /mob/living/silicon/robot/proc/uneq_all() for(var/cyborg_slot in 1 to 3) if(!held_items[cyborg_slot]) @@ -276,26 +276,26 @@ unequip_module_from_slot(held_items[cyborg_slot], cyborg_slot) /** - * Checks if the item is currently in a slot. - * - * If the item is found in a slot, this returns TRUE. Otherwise, it returns FALSE - * Arguments - * * item_module - the item being checked - */ + * Checks if the item is currently in a slot. + * + * If the item is found in a slot, this returns TRUE. Otherwise, it returns FALSE + * Arguments + * * item_module - the item being checked + */ /mob/living/silicon/robot/proc/activated(obj/item/item_module) if(item_module in held_items) return TRUE return FALSE /** - * Checks if the provided module number is a valid number. - * - * If the number is between 1 and 3 (if check_all_slots is true) or between 1 and the number of disabled - * modules (if check_all_slots is false), then it returns FALSE. Otherwise, it returns TRUE. - * Arguments - * * module_num - the passed module num that is checked for validity. - * * check_all_slots - TRUE = the proc checks all slots | FALSE = the proc only checks un-disabled slots - */ + * Checks if the provided module number is a valid number. + * + * If the number is between 1 and 3 (if check_all_slots is true) or between 1 and the number of disabled + * modules (if check_all_slots is false), then it returns FALSE. Otherwise, it returns TRUE. + * Arguments + * * module_num - the passed module num that is checked for validity. + * * check_all_slots - TRUE = the proc checks all slots | FALSE = the proc only checks un-disabled slots + */ /mob/living/silicon/robot/proc/is_invalid_module_number(module_num, check_all_slots = FALSE) if(!module_num) return TRUE @@ -313,8 +313,8 @@ return module_num < 1 || module_num > max_number /** - * Returns the slot number of the selected module, or zero if no modules are selected. - */ + * Returns the slot number of the selected module, or zero if no modules are selected. + */ /mob/living/silicon/robot/proc/get_selected_module() if(module_active) return held_items.Find(module_active) @@ -322,10 +322,10 @@ return 0 /** - * Selects the module in the slot module_num. - * Arguments - * * module_num - the slot number being selected - */ + * Selects the module in the slot module_num. + * Arguments + * * module_num - the slot number being selected + */ /mob/living/silicon/robot/proc/select_module(module_num) if(is_invalid_module_number(module_num) || !held_items[module_num]) //If the slot number is invalid, or there's nothing there, we have nothing to equip return FALSE @@ -344,10 +344,10 @@ return TRUE /** - * Deselects the module in the slot module_num. - * Arguments - * * module_num - the slot number being de-selected - */ + * Deselects the module in the slot module_num. + * Arguments + * * module_num - the slot number being de-selected + */ /mob/living/silicon/robot/proc/deselect_module(module_num) switch(module_num) if(1) @@ -363,10 +363,10 @@ return TRUE /** - * Toggles selection of the module in the slot module_num. - * Arguments - * * module_num - the slot number being toggled - */ + * Toggles selection of the module in the slot module_num. + * Arguments + * * module_num - the slot number being toggled + */ /mob/living/silicon/robot/proc/toggle_module(module_num) if(is_invalid_module_number(module_num)) return FALSE @@ -381,8 +381,8 @@ return select_module(module_num) /** - * Cycles through the list of enabled modules, deselecting the current one and selecting the next one. - */ + * Cycles through the list of enabled modules, deselecting the current one and selecting the next one. + */ /mob/living/silicon/robot/proc/cycle_modules() var/slot_start = get_selected_module() var/slot_num diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index bb3d7408917..0061c11c1ea 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -525,12 +525,12 @@ clear_alert("hacked") /** - * Handles headlamp smashing - * - * When called (such as by the shadowperson lighteater's attack), this proc will break the borg's headlamp - * and then call toggle_headlamp to disable the light. It also plays a sound effect of glass breaking, and - * tells the borg what happened to its chat. Broken lights can be repaired by using a flashlight on the borg. - */ + * Handles headlamp smashing + * + * When called (such as by the shadowperson lighteater's attack), this proc will break the borg's headlamp + * and then call toggle_headlamp to disable the light. It also plays a sound effect of glass breaking, and + * tells the borg what happened to its chat. Broken lights can be repaired by using a flashlight on the borg. + */ /mob/living/silicon/robot/proc/smash_headlamp() if(!lamp_functional) return @@ -540,18 +540,18 @@ to_chat(src, "Your headlamp is broken! You'll need a human to help replace it.") /** - * Handles headlamp toggling, disabling, and color setting. - * - * The initial if statment is a bit long, but the gist of it is that should the lamp be on AND the update_color - * arg be true, we should simply change the color of the lamp but not disable it. Otherwise, should the turn_off - * arg be true, the lamp already be enabled, any of the normal reasons the lamp would turn off happen, or the - * update_color arg be passed with the lamp not on, we should set the lamp off. The update_color arg is only - * ever true when this proc is called from the borg tablet, when the color selection feature is used. - * - * Arguments: - * * arg1 - turn_off, if enabled will force the lamp into an off state (rather than toggling it if possible) - * * arg2 - update_color, if enabled, will adjust the behavior of the proc to change the color of the light if it is already on. - */ + * Handles headlamp toggling, disabling, and color setting. + * + * The initial if statment is a bit long, but the gist of it is that should the lamp be on AND the update_color + * arg be true, we should simply change the color of the lamp but not disable it. Otherwise, should the turn_off + * arg be true, the lamp already be enabled, any of the normal reasons the lamp would turn off happen, or the + * update_color arg be passed with the lamp not on, we should set the lamp off. The update_color arg is only + * ever true when this proc is called from the borg tablet, when the color selection feature is used. + * + * Arguments: + * * arg1 - turn_off, if enabled will force the lamp into an off state (rather than toggling it if possible) + * * arg2 - update_color, if enabled, will adjust the behavior of the proc to change the color of the light if it is already on. + */ /mob/living/silicon/robot/proc/toggle_headlamp(turn_off = FALSE, update_color = FALSE) //if both lamp is enabled AND the update_color flag is on, keep the lamp on. Otherwise, if anything listed is true, disable the lamp. if(!(update_color && lamp_enabled) && (turn_off || lamp_enabled || update_color || !lamp_functional || stat || low_power_mode)) @@ -940,11 +940,11 @@ UnregisterSignal(old_upgrade, list(COMSIG_MOVABLE_MOVED, COMSIG_PARENT_QDELETING)) /** - * make_shell: Makes an AI shell out of a cyborg unit - * - * Arguments: - * * board - B.O.R.I.S. module board used for transforming the cyborg into AI shell - */ + * make_shell: Makes an AI shell out of a cyborg unit + * + * Arguments: + * * board - B.O.R.I.S. module board used for transforming the cyborg into AI shell + */ /mob/living/silicon/robot/proc/make_shell(obj/item/borg/upgrade/ai/board) if(!board) upgrades |= new /obj/item/borg/upgrade/ai(src) @@ -958,8 +958,8 @@ diag_hud_set_aishell() /** - * revert_shell: Reverts AI shell back into a normal cyborg unit - */ + * revert_shell: Reverts AI shell back into a normal cyborg unit + */ /mob/living/silicon/robot/proc/revert_shell() if(!shell) return @@ -976,11 +976,11 @@ diag_hud_set_aishell() /** - * deploy_init: Deploys AI unit into AI shell - * - * Arguments: - * * AI - AI unit that initiated the deployment into the AI shell - */ + * deploy_init: Deploys AI unit into AI shell + * + * Arguments: + * * AI - AI unit that initiated the deployment into the AI shell + */ /mob/living/silicon/robot/proc/deploy_init(mob/living/silicon/ai/AI) real_name = "[AI.real_name] [designation] Shell-[ident]" name = real_name @@ -1136,14 +1136,14 @@ toggle_headlamp(FALSE, TRUE) /** - * Records an IC event log entry in the cyborg's internal tablet. - * - * Creates an entry in the borglog list of the cyborg's internal tablet, listing the current - * in-game time followed by the message given. These logs can be seen by the cyborg in their - * BorgUI tablet app. By design, logging fails if the cyborg is dead. - * - * Arguments: - * arg1: a string containing the message to log. + * Records an IC event log entry in the cyborg's internal tablet. + * + * Creates an entry in the borglog list of the cyborg's internal tablet, listing the current + * in-game time followed by the message given. These logs can be seen by the cyborg in their + * BorgUI tablet app. By design, logging fails if the cyborg is dead. + * + * Arguments: + * arg1: a string containing the message to log. */ /mob/living/silicon/robot/proc/logevent(string = "") if(!string) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index c3429c4dcc0..45c082579c0 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -215,11 +215,11 @@ SSblackbox.record_feedback("tally", "cyborg_modules", 1, R.module) /** - * check_menu: Checks if we are allowed to interact with a radial menu - * - * Arguments: - * * user The mob interacting with a menu - */ + * check_menu: Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with a menu + */ /obj/item/robot_module/proc/check_menu(mob/user) if(!istype(user)) return FALSE diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index cf7477b7e1b..92929243fc2 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -114,8 +114,8 @@ return "[mode_name[mode]]" /** - * Returns a status string about the bot's current status, if it's moving, manually controlled, or idle. - */ + * Returns a status string about the bot's current status, if it's moving, manually controlled, or idle. + */ /mob/living/simple_animal/bot/proc/get_mode_ui() if(client) //Player bots do not have modes, thus the override. Also an easy way for PDA users/AI to know when a bot is a player. return paicard ? "pAI Controlled" : "Autonomous" diff --git a/code/modules/mob/living/simple_animal/bot/construction.dm b/code/modules/mob/living/simple_animal/bot/construction.dm index bb36371629c..5aee9228832 100644 --- a/code/modules/mob/living/simple_animal/bot/construction.dm +++ b/code/modules/mob/living/simple_animal/bot/construction.dm @@ -25,13 +25,13 @@ created_name = t /** - * Checks if the user can finish constructing a bot with a given item. - * - * Arguments: - * * I - Item to be used - * * user - Mob doing the construction - * * drop_item - Whether or no the item should be dropped; defaults to 1. Should be set to 0 if the item is a tool, stack, or otherwise doesn't need to be dropped. If not set to 0, item must be deleted afterwards. - */ + * Checks if the user can finish constructing a bot with a given item. + * + * Arguments: + * * I - Item to be used + * * user - Mob doing the construction + * * drop_item - Whether or no the item should be dropped; defaults to 1. Should be set to 0 if the item is a tool, stack, or otherwise doesn't need to be dropped. If not set to 0, item must be deleted afterwards. + */ /obj/item/bot_assembly/proc/can_finish_build(obj/item/I, mob/user, drop_item = 1) if(istype(loc, /obj/item/storage/backpack)) to_chat(user, "You must take [src] out of [loc] first!") diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index 7b60836dc65..2b8c98e29bc 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -314,7 +314,7 @@ playsound(src, 'sound/effects/whistlereset.ogg', 50, TRUE) return if(isspaceturf(target_turf)) - //Must be a hull breach or in line mode to continue. + //Must be a hull breach or in line mode to continue. if(!is_hull_breach(target_turf) && !targetdirection) target = null return @@ -398,8 +398,8 @@ ..() /** - * Checks a given turf to see if another floorbot is there, working as well. - */ + * Checks a given turf to see if another floorbot is there, working as well. + */ /mob/living/simple_animal/bot/floorbot/proc/check_bot_working(turf/active_turf) if(isturf(active_turf)) for(var/mob/living/simple_animal/bot/floorbot/robot in active_turf) diff --git a/code/modules/mob/living/simple_animal/eldritch_demons.dm b/code/modules/mob/living/simple_animal/eldritch_demons.dm index eb3199c9386..72c03458f01 100644 --- a/code/modules/mob/living/simple_animal/eldritch_demons.dm +++ b/code/modules/mob/living/simple_animal/eldritch_demons.dm @@ -39,10 +39,10 @@ add_spells() /** - * Add_spells - * - * Goes through spells_to_add and adds each spell to the mind. - */ + * Add_spells + * + * Goes through spells_to_add and adds each spell to the mind. + */ /mob/living/simple_animal/hostile/eldritch/proc/add_spells() for(var/spell in spells_to_add) AddSpell(new spell()) @@ -316,12 +316,12 @@ spells_to_add = list(/obj/effect/proc_holder/spell/aoe_turf/rust_conversion/small,/obj/effect/proc_holder/spell/targeted/projectile/dumbfire/rust_wave/short) /mob/living/simple_animal/hostile/eldritch/rust_spirit/setDir(newdir) - . = ..() - if(newdir == NORTH) - icon_state = "rust_walker_n" - else if(newdir == SOUTH) - icon_state = "rust_walker_s" - update_icon() + . = ..() + if(newdir == NORTH) + icon_state = "rust_walker_n" + else if(newdir == SOUTH) + icon_state = "rust_walker_s" + update_icon() /mob/living/simple_animal/hostile/eldritch/rust_spirit/Moved() . = ..() diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 32b1364ec9a..0f7fd4d99ae 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -77,7 +77,8 @@ butcher_results = list(/obj/item/food/meat/slab = 2, /obj/item/organ/ears/cat = 1, /obj/item/organ/tail/cat = 1, /obj/item/food/breadslice/plain = 1) /mob/living/simple_animal/pet/cat/breadcat/add_cell_sample() - return + return + /mob/living/simple_animal/pet/cat/original name = "Batsy" desc = "The product of alien DNA and bored geneticists." diff --git a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm index 3738354f54e..fcc8c038a4e 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm @@ -25,19 +25,19 @@ #define SCOUTDRONE_HACKED "drone_scout_hacked" /** - * # Maintenance Drone - * - * Small player controlled fixer-upper - * - * The maintenace drone is a ghost role with the objective to repair and - * maintain the station. - * - * Featuring two dexterous hands, and a built in toolbox stocked with - * tools. - * - * They have laws to prevent them from doing anything else. - * - */ + * # Maintenance Drone + * + * Small player controlled fixer-upper + * + * The maintenace drone is a ghost role with the objective to repair and + * maintain the station. + * + * Featuring two dexterous hands, and a built in toolbox stocked with + * tools. + * + * They have laws to prevent them from doing anything else. + * + */ /mob/living/simple_animal/drone name = "Drone" desc = "A maintenance drone, an expendable robot built to perform station repairs." @@ -253,14 +253,14 @@ /** - * Alerts drones about different priorities of alarms - * - * Arguments: - * * class - One of the keys listed in [/mob/living/simple_animal/drone/var/alarms] - * * A - [/area] the alarm occurs - * * O - unused argument, see [/mob/living/silicon/robot/triggerAlarm] - * * alarmsource - [/atom] source of the alarm - */ + * Alerts drones about different priorities of alarms + * + * Arguments: + * * class - One of the keys listed in [/mob/living/simple_animal/drone/var/alarms] + * * A - [/area] the alarm occurs + * * O - unused argument, see [/mob/living/silicon/robot/triggerAlarm] + * * alarmsource - [/atom] source of the alarm + */ /mob/living/simple_animal/drone/proc/triggerAlarm(class, area/A, O, obj/alarmsource) if(alarmsource.z != z) return @@ -277,13 +277,13 @@ to_chat(src, "--- [class] alarm detected in [A.name]!") /** - * Clears alarm and alerts drones - * - * Arguments: - * * class - One of the keys listed in [/mob/living/simple_animal/drone/var/alarms] - * * A - [/area] the alarm occurs - * * alarmsource - [/atom] source of the alarm - */ + * Clears alarm and alerts drones + * + * Arguments: + * * class - One of the keys listed in [/mob/living/simple_animal/drone/var/alarms] + * * A - [/area] the alarm occurs + * * alarmsource - [/atom] source of the alarm + */ /mob/living/simple_animal/drone/proc/cancelAlarm(class, area/A, obj/origin) if(stat != DEAD) var/list/L = alarms[class] diff --git a/code/modules/mob/living/simple_animal/friendly/drone/drone_say.dm b/code/modules/mob/living/simple_animal/friendly/drone/drone_say.dm index 26bdbf379d7..6d04f48fdee 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/drone_say.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/drone_say.dm @@ -1,13 +1,13 @@ /** - * Broadcast a message to all drones in a faction - * - * Arguments: - * * msg - The message to send - * * dead_can_hear - Boolean that determines if ghosts can hear the message (`FALSE` by default) - * * source - [/atom] source that created the message - * * faction_checked_mob - [/mob/living] to determine faction matches from - * * exact_faction_match - Passed to [/mob/proc/faction_check_mob] - */ + * Broadcast a message to all drones in a faction + * + * Arguments: + * * msg - The message to send + * * dead_can_hear - Boolean that determines if ghosts can hear the message (`FALSE` by default) + * * source - [/atom] source that created the message + * * faction_checked_mob - [/mob/living] to determine faction matches from + * * exact_faction_match - Passed to [/mob/proc/faction_check_mob] + */ /proc/_alert_drones(msg, dead_can_hear = FALSE, atom/source, mob/living/faction_checked_mob, exact_faction_match) if (dead_can_hear && source) for (var/mob/M in GLOB.dead_mob_list) @@ -25,20 +25,20 @@ /** - * Wraps [/proc/_alert_drones] with defaults - * - * * source - `src` - * * faction_check_mob - `src` - * * dead_can_hear - `TRUE` - */ + * Wraps [/proc/_alert_drones] with defaults + * + * * source - `src` + * * faction_check_mob - `src` + * * dead_can_hear - `TRUE` + */ /mob/living/simple_animal/drone/proc/alert_drones(msg, dead_can_hear = FALSE) _alert_drones(msg, dead_can_hear, src, src, TRUE) /** - * Wraps [/mob/living/simple_animal/drone/proc/alert_drones] as a Drone Chat - * - * Shares the same radio code with binary - */ + * Wraps [/mob/living/simple_animal/drone/proc/alert_drones] as a Drone Chat + * + * Shares the same radio code with binary + */ /mob/living/simple_animal/drone/proc/drone_chat(msg) alert_drones("Drone Chat: [name] [say_quote(msg)]", TRUE) diff --git a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm index 4f3c218c2e9..181d665bec3 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm @@ -6,10 +6,10 @@ //Drone shells /** Drone Shell: Ghost role item for drones - * - * A simple mob spawner item that transforms into a maintenance drone - * Resepcts drone minimum age - */ + * + * A simple mob spawner item that transforms into a maintenance drone + * Resepcts drone minimum age + */ /obj/effect/mob_spawn/drone name = "drone shell" diff --git a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm index 910bd640a08..03e7150825e 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm @@ -54,25 +54,28 @@ user.put_in_hands(DH) /** - * Called when a drone attempts to reactivate a dead drone - * - * If the owner is still ghosted, will notify them. - * If the owner cannot be found, fails with an error message. - * - * Arguments: - * * user - The [/mob/living] attempting to reactivate the drone - */ + * Called when a drone attempts to reactivate a dead drone + * + * If the owner is still ghosted, will notify them. + * If the owner cannot be found, fails with an error message. + * + * Arguments: + * * user - The [/mob/living] attempting to reactivate the drone + */ /mob/living/simple_animal/drone/proc/try_reactivate(mob/living/user) var/mob/dead/observer/G = get_ghost() if(!client && (!G || !G.client)) - var/list/faux_gadgets = list("hypertext inflator","failsafe directory","DRM switch","stack initializer",\ - "anti-freeze capacitor","data stream diode","TCP bottleneck","supercharged I/O bolt",\ - "tradewind stabilizer","radiated XML cable","registry fluid tank","open-source debunker") + var/list/faux_gadgets = list( + "hypertext inflator","failsafe directory","DRM switch","stack initializer",\ + "anti-freeze capacitor","data stream diode","TCP bottleneck","supercharged I/O bolt",\ + "tradewind stabilizer","radiated XML cable","registry fluid tank","open-source debunker", + ) var/list/faux_problems = list("won't be able to tune their bootstrap projector","will constantly remix their binary pool"+\ - " even though the BMX calibrator is working","will start leaking their XSS coolant",\ - "can't tell if their ethernet detour is moving or not", "won't be able to reseed enough"+\ - " kernels to function properly","can't start their neurotube console") + " even though the BMX calibrator is working","will start leaking their XSS coolant",\ + "can't tell if their ethernet detour is moving or not", "won't be able to reseed enough"+\ + " kernels to function properly","can't start their neurotube console", + ) to_chat(user, "You can't seem to find the [pick(faux_gadgets)]! Without it, [src] [pick(faux_problems)].") return @@ -101,10 +104,10 @@ return //This used to not exist and drones who repaired themselves also stabbed the shit out of themselves. else if(I.tool_behaviour == TOOL_WRENCH && user != src) //They aren't required to be hacked, because laws can change in other ways (i.e. admins) user.visible_message("[user] starts resetting [src]...", \ - "You press down on [src]'s factory reset control...") + "You press down on [src]'s factory reset control...") if(I.use_tool(src, user, 50, volume=50)) user.visible_message("[user] resets [src]!", \ - "You reset [src]'s directives to factory defaults!") + "You reset [src]'s directives to factory defaults!") update_drone_hack(FALSE) return else @@ -121,17 +124,17 @@ return 0 //multiplier for whatever head armor you wear as a drone /** - * Hack or unhack a drone - * - * This changes the drone's laws to destroy the station or resets them - * to normal. - * - * Some debuffs are applied like slowing the drone down and disabling - * vent crawling - * - * Arguments - * * hack - Boolean if the drone is being hacked or unhacked - */ + * Hack or unhack a drone + * + * This changes the drone's laws to destroy the station or resets them + * to normal. + * + * Some debuffs are applied like slowing the drone down and disabling + * vent crawling + * + * Arguments + * * hack - Boolean if the drone is being hacked or unhacked + */ /mob/living/simple_animal/drone/proc/update_drone_hack(hack) if(!mind) return @@ -171,29 +174,29 @@ update_drone_icon_hacked() /** - * # F R E E D R O N E - * ### R - * ### E - * ### E - * ### D - * ### R - * ### O - * ### N - * ### E - */ + * # F R E E D R O N E + * ### R + * ### E + * ### E + * ### D + * ### R + * ### O + * ### N + * ### E + */ /mob/living/simple_animal/drone/proc/liberate() laws = "1. You are a Free Drone." to_chat(src, laws) /** - * Changes the icon state to a hacked version - * - * See also - * * [/mob/living/simple_animal/drone/var/visualAppearance] - * * [MAINTDRONE] - * * [REPAIRDRONE] - * * [SCOUTDRONE] - */ + * Changes the icon state to a hacked version + * + * See also + * * [/mob/living/simple_animal/drone/var/visualAppearance] + * * [MAINTDRONE] + * * [REPAIRDRONE] + * * [SCOUTDRONE] + */ /mob/living/simple_animal/drone/proc/update_drone_icon_hacked() //this is hacked both ways var/static/hacked_appearances = list( SCOUTDRONE = SCOUTDRONE_HACKED, diff --git a/code/modules/mob/living/simple_animal/friendly/drone/verbs.dm b/code/modules/mob/living/simple_animal/friendly/drone/verbs.dm index 1eef305ff20..ff12f2676b0 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/verbs.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/verbs.dm @@ -5,10 +5,10 @@ //Drone verbs that appear in the Drone tab and on buttons /** - * Echoes drone laws to the user - * - * See [/mob/living/simple_animal/drone/var/laws] - */ + * Echoes drone laws to the user + * + * See [/mob/living/simple_animal/drone/var/laws] + */ /mob/living/simple_animal/drone/verb/check_laws() set category = "Drone" set name = "Check Laws" @@ -17,16 +17,16 @@ to_chat(src, laws) /** - * Creates an alert to drones in the same network - * - * Prompts user for alert level of: - * * Low - * * Medium - * * High - * * Critical - * - * Attaches area name to message - */ + * Creates an alert to drones in the same network + * + * Prompts user for alert level of: + * * Low + * * Medium + * * High + * * Critical + * + * Attaches area name to message + */ /mob/living/simple_animal/drone/verb/drone_ping() set category = "Drone" set name = "Drone ping" diff --git a/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm b/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm index 2a84f9eb643..268c8f6333a 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm @@ -93,12 +93,12 @@ update_inv_internal_storage() /** - * Prompt for usr to pick [/mob/living/simple_animal/drone/var/visualAppearance] - * - * Does nothing if there is no usr - * - * Called on [/mob/proc/Login] - */ + * Prompt for usr to pick [/mob/living/simple_animal/drone/var/visualAppearance] + * + * Does nothing if there is no usr + * + * Called on [/mob/proc/Login] + */ /mob/living/simple_animal/drone/proc/pickVisualAppearance() picked = FALSE var/list/drone_icons = list( @@ -141,8 +141,8 @@ picked = TRUE /** - * check_menu: Checks if we are allowed to interact with a radial menu - */ + * check_menu: Checks if we are allowed to interact with a radial menu + */ /mob/living/simple_animal/drone/proc/check_menu() if(!istype(src)) return FALSE diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index 7397901060f..f2b685a9ac9 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -121,8 +121,8 @@ return ..() /** - *Checks the mouse cap, if it's above the cap, doesn't spawn a mouse. If below, spawns a mouse and adds it to cheeserats. - */ + *Checks the mouse cap, if it's above the cap, doesn't spawn a mouse. If below, spawns a mouse and adds it to cheeserats. + */ /mob/living/simple_animal/mouse/proc/be_fruitful() var/cap = CONFIG_GET(number/ratcap) if(LAZYLEN(SSmobs.cheeserats) >= cap) @@ -133,8 +133,8 @@ visible_message("[src] nibbles through the cheese, attracting another mouse!") /** - *Spawns a new regal rat, says some good jazz, and if sentient, transfers the relivant mind. - */ + *Spawns a new regal rat, says some good jazz, and if sentient, transfers the relivant mind. + */ /mob/living/simple_animal/mouse/proc/evolve() var/mob/living/simple_animal/hostile/regalrat/regalrat = new /mob/living/simple_animal/hostile/regalrat/controlled(loc) visible_message("[src] devours the cheese! He morphs into something... greater!") diff --git a/code/modules/mob/living/simple_animal/friendly/snake.dm b/code/modules/mob/living/simple_animal/friendly/snake.dm index 6f7f76f7449..700625746f2 100644 --- a/code/modules/mob/living/simple_animal/friendly/snake.dm +++ b/code/modules/mob/living/simple_animal/friendly/snake.dm @@ -1,43 +1,43 @@ /mob/living/simple_animal/hostile/retaliate/poison - var/poison_per_bite = 0 - var/poison_type = /datum/reagent/toxin + var/poison_per_bite = 0 + var/poison_type = /datum/reagent/toxin /mob/living/simple_animal/hostile/retaliate/poison/AttackingTarget() - . = ..() - if(. && isliving(target)) - var/mob/living/L = target - if(L.reagents && !poison_per_bite == 0) - L.reagents.add_reagent(poison_type, poison_per_bite) - return . + . = ..() + if(. && isliving(target)) + var/mob/living/L = target + if(L.reagents && !poison_per_bite == 0) + L.reagents.add_reagent(poison_type, poison_per_bite) + return . /mob/living/simple_animal/hostile/retaliate/poison/snake - name = "snake" - desc = "A slithery snake. These legless reptiles are the bane of mice and adventurers alike." - icon_state = "snake" - icon_living = "snake" - icon_dead = "snake_dead" - speak_emote = list("hisses") - health = 20 - maxHealth = 20 - attack_verb_continuous = "bites" - attack_verb_simple = "bite" - melee_damage_lower = 5 - melee_damage_upper = 6 - response_help_continuous = "pets" - response_help_simple = "pet" - response_disarm_continuous = "shoos" - response_disarm_simple = "shoo" - response_harm_continuous = "steps on" - response_harm_simple = "step on" - faction = list("hostile") - ventcrawler = VENTCRAWLER_ALWAYS - density = FALSE - pass_flags = PASSTABLE | PASSMOB - mob_size = MOB_SIZE_SMALL - mob_biotypes = MOB_ORGANIC|MOB_BEAST|MOB_REPTILE - gold_core_spawnable = FRIENDLY_SPAWN - obj_damage = 0 - environment_smash = ENVIRONMENT_SMASH_NONE + name = "snake" + desc = "A slithery snake. These legless reptiles are the bane of mice and adventurers alike." + icon_state = "snake" + icon_living = "snake" + icon_dead = "snake_dead" + speak_emote = list("hisses") + health = 20 + maxHealth = 20 + attack_verb_continuous = "bites" + attack_verb_simple = "bite" + melee_damage_lower = 5 + melee_damage_upper = 6 + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "shoos" + response_disarm_simple = "shoo" + response_harm_continuous = "steps on" + response_harm_simple = "step on" + faction = list("hostile") + ventcrawler = VENTCRAWLER_ALWAYS + density = FALSE + pass_flags = PASSTABLE | PASSMOB + mob_size = MOB_SIZE_SMALL + mob_biotypes = MOB_ORGANIC|MOB_BEAST|MOB_REPTILE + gold_core_spawnable = FRIENDLY_SPAWN + obj_damage = 0 + environment_smash = ENVIRONMENT_SMASH_NONE /mob/living/simple_animal/hostile/retaliate/poison/snake/Initialize() . = ..() @@ -64,9 +64,9 @@ return mice /mob/living/simple_animal/hostile/retaliate/poison/snake/AttackingTarget() - if(istype(target, /mob/living/simple_animal/mouse)) - visible_message("[name] consumes [target] in a single gulp!", "You consume [target] in a single gulp!") - QDEL_NULL(target) - adjustBruteLoss(-2) - else - return ..() + if(istype(target, /mob/living/simple_animal/mouse)) + visible_message("[name] consumes [target] in a single gulp!", "You consume [target] in a single gulp!") + QDEL_NULL(target) + adjustBruteLoss(-2) + else + return ..() diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index bd14cccf61b..45be892542b 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -658,52 +658,52 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians name = "Holoparasite Guide" info = {"A list of Holoparasite Types
    -
    - Assassin: Does medium damage and takes full damage, but can enter stealth, causing its next attack to do massive damage and ignore armor. However, it becomes briefly unable to recall after attacking from stealth.
    -
    - Chaos: Ignites enemies on touch and causes them to hallucinate all nearby people as the parasite. Automatically extinguishes the user if they catch on fire.
    -
    - Charger: Moves extremely fast, does medium damage on attack, and can charge at targets, damaging the first target hit and forcing them to drop any items they are holding.
    -
    - Explosive: High damage resist and medium power attack that may explosively teleport targets. Can turn any object, including objects too large to pick up, into a bomb, dealing explosive damage to the next person to touch it. The object will return to normal after the trap is triggered or after a delay.
    -
    - Lightning: Attacks apply lightning chains to targets. Has a lightning chain to the user. Lightning chains shock everything near them, doing constant damage.
    -
    - Protector: Causes you to teleport to it when out of range, unlike other parasites. Has two modes; Combat, where it does and takes medium damage, and Protection, where it does and takes almost no damage but moves slightly slower.
    -
    - Ranged: Has two modes. Ranged; which fires a constant stream of weak, armor-ignoring projectiles. Scout; Cannot attack, but can move through walls and is quite hard to see. Can lay surveillance snares, which alert it when crossed, in either mode.
    -
    - Standard: Devastating close combat attacks and high damage resist. Can smash through weak walls.
    -
    - Gravitokinetic: Attacks will apply crushing gravity to the target. Can target the ground as well to slow targets advancing on you, but this will affect the user.
    -
    +
    +Assassin: Does medium damage and takes full damage, but can enter stealth, causing its next attack to do massive damage and ignore armor. However, it becomes briefly unable to recall after attacking from stealth.
    +
    +Chaos: Ignites enemies on touch and causes them to hallucinate all nearby people as the parasite. Automatically extinguishes the user if they catch on fire.
    +
    +Charger: Moves extremely fast, does medium damage on attack, and can charge at targets, damaging the first target hit and forcing them to drop any items they are holding.
    +
    +Explosive: High damage resist and medium power attack that may explosively teleport targets. Can turn any object, including objects too large to pick up, into a bomb, dealing explosive damage to the next person to touch it. The object will return to normal after the trap is triggered or after a delay.
    +
    +Lightning: Attacks apply lightning chains to targets. Has a lightning chain to the user. Lightning chains shock everything near them, doing constant damage.
    +
    +Protector: Causes you to teleport to it when out of range, unlike other parasites. Has two modes; Combat, where it does and takes medium damage, and Protection, where it does and takes almost no damage but moves slightly slower.
    +
    +Ranged: Has two modes. Ranged; which fires a constant stream of weak, armor-ignoring projectiles. Scout; Cannot attack, but can move through walls and is quite hard to see. Can lay surveillance snares, which alert it when crossed, in either mode.
    +
    +Standard: Devastating close combat attacks and high damage resist. Can smash through weak walls.
    +
    +Gravitokinetic: Attacks will apply crushing gravity to the target. Can target the ground as well to slow targets advancing on you, but this will affect the user.
    +
    "} /obj/item/paper/guides/antag/guardian/wizard name = "Guardian Guide" info = {"A list of Guardian Types
    -
    - Assassin: Does medium damage and takes full damage, but can enter stealth, causing its next attack to do massive damage and ignore armor. However, it becomes briefly unable to recall after attacking from stealth.
    -
    - Chaos: Ignites enemies on touch and causes them to hallucinate all nearby people as the guardian. Automatically extinguishes the user if they catch on fire.
    -
    - Charger: Moves extremely fast, does medium damage on attack, and can charge at targets, damaging the first target hit and forcing them to drop any items they are holding.
    -
    - Dexterous: Does low damage on attack, but is capable of holding items and storing a single item within it. It will drop items held in its hands when it recalls, but it will retain the stored item.
    -
    - Explosive: High damage resist and medium power attack that may explosively teleport targets. Can turn any object, including objects too large to pick up, into a bomb, dealing explosive damage to the next person to touch it. The object will return to normal after the trap is triggered or after a delay.
    -
    - Lightning: Attacks apply lightning chains to targets. Has a lightning chain to the user. Lightning chains shock everything near them, doing constant damage.
    -
    - Protector: Causes you to teleport to it when out of range, unlike other parasites. Has two modes; Combat, where it does and takes medium damage, and Protection, where it does and takes almost no damage but moves slightly slower.
    -
    - Ranged: Has two modes. Ranged; which fires a constant stream of weak, armor-ignoring projectiles. Scout; Cannot attack, but can move through walls and is quite hard to see. Can lay surveillance snares, which alert it when crossed, in either mode.
    -
    - Standard: Devastating close combat attacks and high damage resist. Can smash through weak walls.
    -
    - Gravitokinetic: Attacks will apply crushing gravity to the target. Can target the ground as well to slow targets advancing on you, but this will affect the user.
    -
    +
    +Assassin: Does medium damage and takes full damage, but can enter stealth, causing its next attack to do massive damage and ignore armor. However, it becomes briefly unable to recall after attacking from stealth.
    +
    +Chaos: Ignites enemies on touch and causes them to hallucinate all nearby people as the guardian. Automatically extinguishes the user if they catch on fire.
    +
    +Charger: Moves extremely fast, does medium damage on attack, and can charge at targets, damaging the first target hit and forcing them to drop any items they are holding.
    +
    +Dexterous: Does low damage on attack, but is capable of holding items and storing a single item within it. It will drop items held in its hands when it recalls, but it will retain the stored item.
    +
    +Explosive: High damage resist and medium power attack that may explosively teleport targets. Can turn any object, including objects too large to pick up, into a bomb, dealing explosive damage to the next person to touch it. The object will return to normal after the trap is triggered or after a delay.
    +
    +Lightning: Attacks apply lightning chains to targets. Has a lightning chain to the user. Lightning chains shock everything near them, doing constant damage.
    +
    +Protector: Causes you to teleport to it when out of range, unlike other parasites. Has two modes; Combat, where it does and takes medium damage, and Protection, where it does and takes almost no damage but moves slightly slower.
    +
    +Ranged: Has two modes. Ranged; which fires a constant stream of weak, armor-ignoring projectiles. Scout; Cannot attack, but can move through walls and is quite hard to see. Can lay surveillance snares, which alert it when crossed, in either mode.
    +
    +Standard: Devastating close combat attacks and high damage resist. Can smash through weak walls.
    +
    +Gravitokinetic: Attacks will apply crushing gravity to the target. Can target the ground as well to slow targets advancing on you, but this will affect the user.
    +
    "} diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index be0bedb4e60..89a0feb404e 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -157,7 +157,7 @@ /mob/living/simple_animal/hostile/poison/bees/AttackingTarget() - //Pollinate + //Pollinate if(istype(target, /obj/machinery/hydroponics)) var/obj/machinery/hydroponics/Hydro = target pollinate(Hydro) diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index 91cdab0ffec..e32a41cc599 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -1,8 +1,8 @@ /** - * # Poison Hostile Simplemob - * - * A subtype of the hostile simplemob which injects reagents into its target on attack, assuming the target accepts reagents. - */ + * # Poison Hostile Simplemob + * + * A subtype of the hostile simplemob which injects reagents into its target on attack, assuming the target accepts reagents. + */ /mob/living/simple_animal/hostile/poison ///How much of a reagent the mob injects on attack var/poison_per_bite = 5 @@ -15,24 +15,24 @@ inject_poison(target) /** - * Injects poison into a given target. - * - * Checks if a given target accepts reagents, and then injects a given reagent into them if so. - * Arguments: - * * living_target - The targeted mob - */ + * Injects poison into a given target. + * + * Checks if a given target accepts reagents, and then injects a given reagent into them if so. + * Arguments: + * * living_target - The targeted mob + */ /mob/living/simple_animal/hostile/poison/proc/inject_poison(mob/living/living_target) if(poison_per_bite != 0 && living_target?.reagents) living_target.reagents.add_reagent(poison_type, poison_per_bite) /** - * # Giant Spider - * - * A versatile mob which can occur from a variety of sources. - * - * A mob which can be created by botany or xenobiology. The basic type is the guard, which is slower but sturdy and outputs good damage. - * All spiders can produce webbing. Currently does not inject toxin into its target. - */ + * # Giant Spider + * + * A versatile mob which can occur from a variety of sources. + * + * A mob which can be created by botany or xenobiology. The basic type is the guard, which is slower but sturdy and outputs good damage. + * All spiders can produce webbing. Currently does not inject toxin into its target. + */ /mob/living/simple_animal/hostile/poison/giant_spider name = "giant spider" desc = "Furry and black, it makes you shudder to look at it. This one has deep red eyes." @@ -109,12 +109,12 @@ clear_alert("temp") /** - * # Spider Hunter - * - * A subtype of the giant spider with purple eyes and toxin injection. - * - * A subtype of the giant spider which is faster, has toxin injection, but less health. This spider is only slightly slower than a human. - */ + * # Spider Hunter + * + * A subtype of the giant spider with purple eyes and toxin injection. + * + * A subtype of the giant spider which is faster, has toxin injection, but less health. This spider is only slightly slower than a human. + */ /mob/living/simple_animal/hostile/poison/giant_spider/hunter name = "hunter spider" desc = "Furry and black, it makes you shudder to look at it. This one has sparkling purple eyes." @@ -130,13 +130,13 @@ speed = -0.1 /** - * # Spider Nurse - * - * A subtype of the giant spider with green eyes that specializes in support. - * - * A subtype of the giant spider which specializes in support skills. Nurses can place down webbing in a quarter of the time - * that other species can and can wrap other spiders' wounds, healing them. Note that it cannot heal itself. - */ + * # Spider Nurse + * + * A subtype of the giant spider with green eyes that specializes in support. + * + * A subtype of the giant spider which specializes in support skills. Nurses can place down webbing in a quarter of the time + * that other species can and can wrap other spiders' wounds, healing them. Note that it cannot heal itself. + */ /mob/living/simple_animal/hostile/poison/giant_spider/nurse name = "nurse spider" desc = "Furry and black, it makes you shudder to look at it. This one has brilliant green eyes." @@ -180,13 +180,13 @@ is_busy = FALSE /** - * # Tarantula - * - * The tank of spider subtypes. Is incredibly slow when not on webbing, but has a lunge and the highest health and damage of any spider type. - * - * A subtype of the giant spider which specializes in pure strength and staying power. Is slowed down greatly when not on webbing, but can lunge - * to throw off attackers and possibly to stun them, allowing the tarantula to net an easy kill. - */ + * # Tarantula + * + * The tank of spider subtypes. Is incredibly slow when not on webbing, but has a lunge and the highest health and damage of any spider type. + * + * A subtype of the giant spider which specializes in pure strength and staying power. Is slowed down greatly when not on webbing, but can lunge + * to throw off attackers and possibly to stun them, allowing the tarantula to net an easy kill. + */ /mob/living/simple_animal/hostile/poison/giant_spider/tarantula name = "tarantula" desc = "Furry and black, it makes you shudder to look at it. This one has abyssal red eyes." @@ -228,13 +228,13 @@ silk_walking = FALSE /** - * # Spider Viper - * - * The assassin of spider subtypes. Essentially a juiced up version of the hunter. - * - * A subtype of the giant spider which specializes in speed and poison. Injects a deadlier toxin than other spiders, moves extremely fast, - * but like the hunter has a limited amount of health. - */ + * # Spider Viper + * + * The assassin of spider subtypes. Essentially a juiced up version of the hunter. + * + * A subtype of the giant spider which specializes in speed and poison. Injects a deadlier toxin than other spiders, moves extremely fast, + * but like the hunter has a limited amount of health. + */ /mob/living/simple_animal/hostile/poison/giant_spider/viper name = "viper spider" desc = "Furry and black, it makes you shudder to look at it. This one has effervescent purple eyes." @@ -252,15 +252,15 @@ gold_core_spawnable = NO_SPAWN /** - * # Spider Broodmother - * - * The reproductive line of spider subtypes. Is the only subtype to lay eggs, which is the only way for spiders to reproduce. - * - * A subtype of the giant spider which is the crux of a spider horde. Can lay normal eggs at any time which become normal spider types, - * but by consuming human bodies can lay special eggs which can become one of the more specialized subtypes, including possibly another broodmother. - * However, this spider subtype has no offensive capability and can be quickly dispatched without assistance from other spiders. They are also capable - * of sending messages to all living spiders, being a communication line for the rest of the horde. - */ + * # Spider Broodmother + * + * The reproductive line of spider subtypes. Is the only subtype to lay eggs, which is the only way for spiders to reproduce. + * + * A subtype of the giant spider which is the crux of a spider horde. Can lay normal eggs at any time which become normal spider types, + * but by consuming human bodies can lay special eggs which can become one of the more specialized subtypes, including possibly another broodmother. + * However, this spider subtype has no offensive capability and can be quickly dispatched without assistance from other spiders. They are also capable + * of sending messages to all living spiders, being a communication line for the rest of the horde. + */ /mob/living/simple_animal/hostile/poison/giant_spider/midwife name = "broodmother spider" desc = "Furry and black, it makes you shudder to look at it. This one has scintillating green eyes. Might also be hiding a real knife somewhere." @@ -305,11 +305,11 @@ letmetalkpls.Grant(src) /** - * Attempts to cocoon the spider's current cocoon_target. - * - * Attempts to coccon the spider's cocoon_target after a do_after. - * If the target is a human who hasn't been drained before, ups the spider's fed counter so it can lay enriched eggs. - */ + * Attempts to cocoon the spider's current cocoon_target. + * + * Attempts to coccon the spider's cocoon_target after a do_after. + * If the target is a human who hasn't been drained before, ups the spider's fed counter so it can lay enriched eggs. + */ /mob/living/simple_animal/hostile/poison/giant_spider/midwife/proc/cocoon() if(stat == DEAD || !cocoon_target || cocoon_target.anchored) return @@ -587,13 +587,13 @@ return TRUE /** - * Sends a message to all spiders from the target. - * - * Allows the user to send a message to all spiders that exist. Ghosts will also see the message. - * Arguments: - * * user - The spider sending the message - * * message - The message to be sent - */ + * Sends a message to all spiders from the target. + * + * Allows the user to send a message to all spiders that exist. Ghosts will also see the message. + * Arguments: + * * user - The spider sending the message + * * message - The message to be sent + */ /datum/action/innate/spider/comm/proc/spider_command(mob/living/user, message) if(!message) return @@ -607,13 +607,13 @@ usr.log_talk(message, LOG_SAY, tag="spider command") /** - * # Giant Ice Spider - * - * A giant spider immune to temperature damage. Injects frost oil. - * - * A subtype of the giant spider which is immune to temperature damage, unlike its normal counterpart. - * Currently unused in the game unless spawned by admins. - */ + * # Giant Ice Spider + * + * A giant spider immune to temperature damage. Injects frost oil. + * + * A subtype of the giant spider which is immune to temperature damage, unlike its normal counterpart. + * Currently unused in the game unless spawned by admins. + */ /mob/living/simple_animal/hostile/poison/giant_spider/ice name = "giant ice spider" atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) @@ -624,12 +624,12 @@ gold_core_spawnable = NO_SPAWN /** - * # Ice Nurse Spider - * - * A nurse spider immune to temperature damage. Injects frost oil. - * - * Same thing as the giant ice spider but mirrors the nurse subtype. Also unused. - */ + * # Ice Nurse Spider + * + * A nurse spider immune to temperature damage. Injects frost oil. + * + * Same thing as the giant ice spider but mirrors the nurse subtype. Also unused. + */ /mob/living/simple_animal/hostile/poison/giant_spider/nurse/ice name = "giant ice spider" atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) @@ -639,12 +639,12 @@ color = rgb(114,228,250) /** - * # Ice Hunter Spider - * - * A hunter spider immune to temperature damage. Injects frost oil. - * - * Same thing as the giant ice spider but mirrors the hunter subtype. Also unused. - */ + * # Ice Hunter Spider + * + * A hunter spider immune to temperature damage. Injects frost oil. + * + * Same thing as the giant ice spider but mirrors the hunter subtype. Also unused. + */ /mob/living/simple_animal/hostile/poison/giant_spider/hunter/ice name = "giant ice spider" atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) @@ -655,13 +655,13 @@ gold_core_spawnable = NO_SPAWN /** - * # Flesh Spider - * - * A giant spider subtype specifically created by changelings. Built to be self-sufficient, unlike other spider types. - * - * A subtype of giant spider which only occurs from changelings. Has the base stats of a hunter, but they can heal themselves. - * They also produce web in 70% of the time of the base spider. They also occasionally leave puddles of blood when they walk around. Flavorful! - */ + * # Flesh Spider + * + * A giant spider subtype specifically created by changelings. Built to be self-sufficient, unlike other spider types. + * + * A subtype of giant spider which only occurs from changelings. Has the base stats of a hunter, but they can heal themselves. + * They also produce web in 70% of the time of the base spider. They also occasionally leave puddles of blood when they walk around. Flavorful! + */ /mob/living/simple_animal/hostile/poison/giant_spider/hunter/flesh desc = "A odd fleshy creature in the shape of a spider. Its eyes are pitch black and soulless." icon_state = "flesh_spider" @@ -692,12 +692,12 @@ return ..() /** - * # Viper Spider (Wizard) - * - * A viper spider buffed slightly so I don't need to hear anyone complain about me nerfing an already useless wizard ability. - * - * A viper spider with buffed attributes. All I changed was its health value and gave it the ability to ventcrawl. The crux of the wizard meta. - */ + * # Viper Spider (Wizard) + * + * A viper spider buffed slightly so I don't need to hear anyone complain about me nerfing an already useless wizard ability. + * + * A viper spider with buffed attributes. All I changed was its health value and gave it the ability to ventcrawl. The crux of the wizard meta. + */ /mob/living/simple_animal/hostile/poison/giant_spider/viper/wizard maxHealth = 80 health = 80 diff --git a/code/modules/mob/living/simple_animal/hostile/goose.dm b/code/modules/mob/living/simple_animal/hostile/goose.dm index 202ace8c9a9..418d260e6f6 100644 --- a/code/modules/mob/living/simple_animal/hostile/goose.dm +++ b/code/modules/mob/living/simple_animal/hostile/goose.dm @@ -236,11 +236,11 @@ /mob/living/simple_animal/hostile/retaliate/goose/vomit/proc/deadchat_plays_goose() stop_automated_movement = TRUE AddComponent(/datum/component/deadchat_control, ANARCHY_MODE, list( - "up" = CALLBACK(GLOBAL_PROC, .proc/_step, src, NORTH), - "down" = CALLBACK(GLOBAL_PROC, .proc/_step, src, SOUTH), - "left" = CALLBACK(GLOBAL_PROC, .proc/_step, src, WEST), - "right" = CALLBACK(GLOBAL_PROC, .proc/_step, src, EAST), - "vomit" = CALLBACK(src, .proc/vomit_prestart, 25)), 12 SECONDS, 4 SECONDS) + "up" = CALLBACK(GLOBAL_PROC, .proc/_step, src, NORTH), + "down" = CALLBACK(GLOBAL_PROC, .proc/_step, src, SOUTH), + "left" = CALLBACK(GLOBAL_PROC, .proc/_step, src, WEST), + "right" = CALLBACK(GLOBAL_PROC, .proc/_step, src, EAST), + "vomit" = CALLBACK(src, .proc/vomit_prestart, 25)), 12 SECONDS, 4 SECONDS) /datum/action/cooldown/vomit name = "Vomit" diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 191e64acec1..390f3c5f85e 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -598,8 +598,8 @@ faction = fren.faction.Copy() /** - * Proc that handles a charge attack windup for a mob. - */ + * Proc that handles a charge attack windup for a mob. + */ /mob/living/simple_animal/hostile/proc/enter_charge(atom/target) if(charge_state || body_position == LYING_DOWN || HAS_TRAIT(src, TRAIT_IMMOBILIZED)) return FALSE @@ -610,8 +610,8 @@ addtimer(CALLBACK(src, .proc/handle_charge_target, target), 1.5 SECONDS, TIMER_STOPPABLE) /** - * Proc that throws the mob at the target after the windup. - */ + * Proc that throws the mob at the target after the windup. + */ /mob/living/simple_animal/hostile/proc/handle_charge_target(atom/target) charge_state = TRUE throw_at(target, charge_distance, 1, src, FALSE, TRUE, callback = CALLBACK(src, .proc/charge_end)) @@ -619,14 +619,14 @@ return TRUE /** - * Proc that handles a charge attack after it's concluded. - */ + * Proc that handles a charge attack after it's concluded. + */ /mob/living/simple_animal/hostile/proc/charge_end() charge_state = FALSE /** - * Proc that handles the charge impact of the charging mob. - */ + * Proc that handles the charge impact of the charging mob. + */ /mob/living/simple_animal/hostile/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) if(!charge_state) return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/seedling.dm b/code/modules/mob/living/simple_animal/hostile/jungle/seedling.dm index bd05d2ffb85..c5ca2b08b3a 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/seedling.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/seedling.dm @@ -8,7 +8,7 @@ /mob/living/simple_animal/hostile/jungle/seedling name = "seedling" desc = "This oversized, predatory flower conceals what can only be described as an organic energy cannon, and it will not die until its hidden vital organs are sliced out. \ - The concentrated streams of energy it sometimes produces require its full attention, attacking it during this time will prevent it from finishing its attack." + The concentrated streams of energy it sometimes produces require its full attention, attacking it during this time will prevent it from finishing its attack." icon = 'icons/mob/jungle/seedling.dmi' icon_state = "seedling" icon_living = "seedling" diff --git a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm index e24962c8af5..d6bf03ea700 100644 --- a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm +++ b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm @@ -1,23 +1,21 @@ -/* - Mecha Pilots! - by Remie Richards - - Mecha pilot mobs are able to pilot Mecha to a rudimentary level - This allows for certain mobs to be more of a threat (Because they're in a MECH) - - Mecha Pilots can either spawn with one, or steal one! - - (Inherits from syndicate just to avoid copy-paste) - - Featuring: - * Mecha piloting skills - * Uses Mecha equipment - * Uses Mecha special abilities in specific situations - * Pure Evil Incarnate - -*/ - +/** + * Mecha Pilots! + * By Remie Richards + * + * Mecha pilot mobs are able to pilot Mecha to a rudimentary level + * this allows for certain mobs to be more of a threat (Because they're in a MECH) + * + * Mecha Pilots can either spawn with one, or steal one! + * + * Inherits from syndicate just to avoid copy-paste) + * + * Featuring: + * * Mecha piloting skills + * * Uses Mecha equipment + * * Uses Mecha special abilities in specific situations + * * Pure Evil Incarnate + */ /mob/living/simple_animal/hostile/syndicate/mecha_pilot name = "Syndicate Mecha Pilot" desc = "Death to Nanotrasen. This variant comes in MECHA DEATH flavour." diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index 17cbe1bb297..6b8a0f88562 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -19,9 +19,9 @@ It can charge at its target, and also heavily damaging anything directly hit in If at half health it will start to charge from all sides with clones. When Bubblegum dies, it leaves behind a H.E.C.K. mining suit as well as a chest that can contain three things: - 1. A bottle that, when activated, drives everyone nearby into a frenzy - 2. A contract that marks for death the chosen target - 3. A spellblade that can slice off limbs at range +A. A bottle that, when activated, drives everyone nearby into a frenzy +B. A contract that marks for death the chosen target +C. A spellblade that can slice off limbs at range Difficulty: Hard @@ -198,15 +198,15 @@ Difficulty: Hard . += L /** - * Attack by override for bubblegum - * - * This is used to award the frenching achievement for hitting bubblegum with a tongue - * - * Arguments: - * * obj/item/W the item hitting bubblegum - * * mob/user The user of the item - * * params, extra parameters - */ + * Attack by override for bubblegum + * + * This is used to award the frenching achievement for hitting bubblegum with a tongue + * + * Arguments: + * * obj/item/W the item hitting bubblegum + * * mob/user The user of the item + * * params, extra parameters + */ /mob/living/simple_animal/hostile/megafauna/bubblegum/attackby(obj/item/W, mob/user, params) . = ..() if(istype(W, /obj/item/organ/tongue)) 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 1d94c5c82c2..1d86c07b2c3 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -1,26 +1,23 @@ -/* - -COLOSSUS - -The colossus spawns randomly wherever a lavaland creature is able to spawn. It is powerful, ancient, and extremely deadly. -The colossus has a degree of sentience, proving this in speech during its attacks. - -It acts as a melee creature, chasing down and attacking its target while also using different attacks to augment its power that increase as it takes damage. - -The colossus' true danger lies in its ranged capabilities. It fires immensely damaging death bolts that penetrate all armor in a variety of ways: - 1. The colossus fires death bolts in alternating patterns: the cardinal directions and the diagonal directions. - 2. The colossus fires death bolts in a shotgun-like pattern, instantly downing anything unfortunate enough to be hit by all of them. - 3. The colossus fires a spiral of death bolts. -At 33% health, the colossus gains an additional attack: - 4. The colossus fires two spirals of death bolts, spinning in opposite directions. - -When a colossus dies, it leaves behind a chunk of glowing crystal known as a black box. Anything placed inside will carry over into future rounds. -For instance, you could place a bag of holding into the black box, and then kill another colossus next round and retrieve the bag of holding from inside. - -Difficulty: Very Hard - -*/ - +/** + * COLOSSUS + * + *The colossus spawns randomly wherever a lavaland creature is able to spawn. It is powerful, ancient, and extremely deadly. + *The colossus has a degree of sentience, proving this in speech during its attacks. + * + *It acts as a melee creature, chasing down and attacking its target while also using different attacks to augment its power that increase as it takes damage. + * + *The colossus' true danger lies in its ranged capabilities. It fires immensely damaging death bolts that penetrate all armor in a variety of ways: + *A. The colossus fires death bolts in alternating patterns: the cardinal directions and the diagonal directions. + *B. The colossus fires death bolts in a shotgun-like pattern, instantly downing anything unfortunate enough to be hit by all of them. + *C. The colossus fires a spiral of death bolts. + *At 33% health, the colossus gains an additional attack: + *D. The colossus fires two spirals of death bolts, spinning in opposite directions. + * + *When a colossus dies, it leaves behind a chunk of glowing crystal known as a black box. Anything placed inside will carry over into future rounds. + *For instance, you could place a bag of holding into the black box, and then kill another colossus next round and retrieve the bag of holding from inside. + * + * Intended Difficulty: Very Hard + */ /mob/living/simple_animal/hostile/megafauna/colossus name = "colossus" desc = "A monstrous creature protected by heavy shielding." diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm index 89f539e12d7..084570b4971 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -9,31 +9,30 @@ ///used whenever the drake generates a hotspot #define DRAKE_FIRE_EXPOSURE 50 -/* - -ASH DRAKE - -Ash drakes spawn randomly wherever a lavaland creature is able to spawn. They are the draconic guardians of the Necropolis. - -It acts as a melee creature, chasing down and attacking its target while also using different attacks to augment its power that increase as it takes damage. - -Whenever possible, the drake will breathe fire directly at it's target, igniting and heavily damaging anything caught in the blast. -It also often causes lava to pool from the ground around you - many nearby turfs will temporarily turn into lava, dealing damage to anything on the turfs. -The drake also utilizes its wings to fly into the sky, flying after its target and attempting to slam down on them. Anything near when it slams down takes huge damage. - - Sometimes it will chain these swooping attacks over and over, making swiftness a necessity. - - Sometimes, it will encase its target in an arena of lava - -When an ash drake dies, it leaves behind a chest that can contain four things: - 1. A spectral blade that allows its wielder to call ghosts to it, enhancing its power - 2. A lava staff that allows its wielder to create lava - 3. A spellbook and wand of fireballs - 4. A bottle of dragon's blood with several effects, including turning its imbiber into a drake themselves. - -When butchered, they leave behind diamonds, sinew, bone, and ash drake hide. Ash drake hide can be used to create a hooded cloak that protects its wearer from ash storms. - -Difficulty: Medium - -*/ +/*£ + * + *ASH DRAKE + * + *Ash drakes spawn randomly wherever a lavaland creature is able to spawn. They are the draconic guardians of the Necropolis. + * + *It acts as a melee creature, chasing down and attacking its target while also using different attacks to augment its power that increase as it takes damage. + * + *Whenever possible, the drake will breathe fire directly at it's target, igniting and heavily damaging anything caught in the blast. + *It also often causes lava to pool from the ground around you - many nearby turfs will temporarily turn into lava, dealing damage to anything on the turfs. + *The drake also utilizes its wings to fly into the sky, flying after its target and attempting to slam down on them. Anything near when it slams down takes huge damage. + *Sometimes it will chain these swooping attacks over and over, making swiftness a necessity. + *Sometimes, it will encase its target in an arena of lava + * + *When an ash drake dies, it leaves behind a chest that can contain four things: + *A. A spectral blade that allows its wielder to call ghosts to it, enhancing its power + *B. A lava staff that allows its wielder to create lava + *C. A spellbook and wand of fireballs + *D. A bottle of dragon's blood with several effects, including turning its imbiber into a drake themselves. + * + *When butchered, they leave behind diamonds, sinew, bone, and ash drake hide. Ash drake hide can be used to create a hooded cloak that protects its wearer from ash storms. + * + *Intended Difficulty: Medium + */ /mob/living/simple_animal/hostile/megafauna/dragon name = "ash drake" diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm index 7edd36a4394..45d4fb7f0e5 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -1,21 +1,21 @@ /** - *LEGION - * - *Legion spawns from the necropolis gate in the far north of lavaland. It is the guardian of the Necropolis and emerges from within whenever an intruder tries to enter through its gate. - *Whenever Legion emerges, everything in lavaland will receive a notice via color, audio, and text. This is because Legion is powerful enough to slaughter the entirety of lavaland with little effort. LOL - * - *It has three attacks. - *Spawn Skull. Most of the time it will use this attack. Spawns a single legion skull. - *Spawn Sentinel. The legion will spawn up to three sentinels, depending on its size. - *CHARGE! The legion starts spinning and tries to melee the player. It will try to flick itself towards the player, dealing some damage if it hits. - * - *When Legion dies, it will split into three smaller skulls up to three times. - *If you kill all of the smaller ones it drops a staff of storms, which allows its wielder to call and disperse ash storms at will and functions as a powerful melee weapon. - * - *Difficulty: Medium - * - *SHITCODE AHEAD. BE ADVISED. Also comment extravaganza - */ + *LEGION + * + *Legion spawns from the necropolis gate in the far north of lavaland. It is the guardian of the Necropolis and emerges from within whenever an intruder tries to enter through its gate. + *Whenever Legion emerges, everything in lavaland will receive a notice via color, audio, and text. This is because Legion is powerful enough to slaughter the entirety of lavaland with little effort. LOL + * + *It has three attacks. + *Spawn Skull. Most of the time it will use this attack. Spawns a single legion skull. + *Spawn Sentinel. The legion will spawn up to three sentinels, depending on its size. + *CHARGE! The legion starts spinning and tries to melee the player. It will try to flick itself towards the player, dealing some damage if it hits. + * + *When Legion dies, it will split into three smaller skulls up to three times. + *If you kill all of the smaller ones it drops a staff of storms, which allows its wielder to call and disperse ash storms at will and functions as a powerful melee weapon. + * + *Difficulty: Medium + * + *SHITCODE AHEAD. BE ADVISED. Also comment extravaganza + */ /mob/living/simple_animal/hostile/megafauna/legion name = "Legion" health = 700 diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index d1a155226c2..6296a5c7f4d 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -184,8 +184,10 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca "\The [src] knocks you down!") /mob/living/simple_animal/hostile/mimic/copy/machine - speak = list("HUMANS ARE IMPERFECT!", "YOU SHALL BE ASSIMILATED!", "YOU ARE HARMING YOURSELF", "You have been deemed hazardous. Will you comply?", \ - "My logic is undeniable.", "One of us.", "FLESH IS WEAK", "THIS ISN'T WAR, THIS IS EXTERMINATION!") + speak = list( + "HUMANS ARE IMPERFECT!", "YOU SHALL BE ASSIMILATED!", "YOU ARE HARMING YOURSELF", "You have been deemed hazardous. Will you comply?", \ + "My logic is undeniable.", "One of us.", "FLESH IS WEAK", "THIS ISN'T WAR, THIS IS EXTERMINATION!", + ) speak_chance = 7 /mob/living/simple_animal/hostile/mimic/copy/machine/CanAttack(atom/the_target) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm index 1892aea3b7e..e01a9a0c7ff 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm @@ -4,17 +4,17 @@ #define CALL_CHILDREN 4 /** - * # Goliath Broodmother - * - * A stronger, faster variation of the goliath. Has the ability to spawn baby goliaths, which it can later detonate at will. - * When it's health is below half, tendrils will spawn randomly around it. When it is below a quarter of health, this effect is doubled. - * It's attacks are as follows: - * - Spawns a 3x3/plus shape of tentacles on the target location - * - Spawns 2 baby goliaths on its tile, up to a max of 8. Children blow up when they die. - * - The broodmother lets out a noise, and is able to move faster for 6.5 seconds. - * - Summons your children around you. - * The broodmother is a fight revolving around stage control, as the activator has to manage the baby goliaths and the broodmother herself, along with all the tendrils. - */ + * # Goliath Broodmother + * + * A stronger, faster variation of the goliath. Has the ability to spawn baby goliaths, which it can later detonate at will. + * When it's health is below half, tendrils will spawn randomly around it. When it is below a quarter of health, this effect is doubled. + * It's attacks are as follows: + * - Spawns a 3x3/plus shape of tentacles on the target location + * - Spawns 2 baby goliaths on its tile, up to a max of 8. Children blow up when they die. + * - The broodmother lets out a noise, and is able to move faster for 6.5 seconds. + * - Summons your children around you. + * The broodmother is a fight revolving around stage control, as the activator has to manage the baby goliaths and the broodmother herself, along with all the tendrils. + */ /mob/living/simple_animal/hostile/asteroid/elite/broodmother name = "goliath broodmother" diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm index 4ccac1effb3..75593994b6a 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm @@ -4,17 +4,17 @@ #define HERALD_MIRROR 4 /** - * # Herald - * - * A slow-moving projectile user with a few tricks up it's sleeve. Less unga-bunga than Colossus, with more cleverness in it's fighting style. - * As it's health gets lower, the amount of projectiles fired per-attack increases. - * It's attacks are as follows: - * - Fires three projectiles in a given direction. - * - Fires a spread in every cardinal and diagonal direction at once, then does it again after a bit. - * - Shoots a single, golden bolt. Wherever it lands, the herald will be teleported to the location. - * - Spawns a mirror which reflects projectiles directly at the target. - * Herald is a more concentrated variation of the Colossus fight, having less projectiles overall, but more focused attacks. - */ + * # Herald + * + * A slow-moving projectile user with a few tricks up it's sleeve. Less unga-bunga than Colossus, with more cleverness in it's fighting style. + * As it's health gets lower, the amount of projectiles fired per-attack increases. + * It's attacks are as follows: + * - Fires three projectiles in a given direction. + * - Fires a spread in every cardinal and diagonal direction at once, then does it again after a bit. + * - Shoots a single, golden bolt. Wherever it lands, the herald will be teleported to the location. + * - Spawns a mirror which reflects projectiles directly at the target. + * Herald is a more concentrated variation of the Colossus fight, having less projectiles overall, but more focused attacks. + */ /mob/living/simple_animal/hostile/asteroid/elite/herald name = "herald" diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm index cd12100486d..8f0d2ba475c 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm @@ -4,17 +4,17 @@ #define SPEW_SMOKE 4 /** - * # Legionnaire - * - * A towering skeleton, embodying the power of Legion. - * As it's health gets lower, the head does more damage. - * It's attacks are as follows: - * - Charges at the target after a telegraph, throwing them across the arena should it connect. - * - Legionnaire's head detaches, attacking as it's own entity. Has abilities of it's own later into the fight. Once dead, regenerates after a brief period. If the skill is used while the head is off, it will be killed. - * - Leaves a pile of bones at your location. Upon using this skill again, you'll swap locations with the bone pile. - * - Spews a cloud of smoke from it's maw, wherever said maw is. - * A unique fight incorporating the head mechanic of legion into a whole new beast. Combatants will need to make sure the tag-team of head and body don't lure them into a deadly trap. - */ + * # Legionnaire + * + * A towering skeleton, embodying the power of Legion. + * As it's health gets lower, the head does more damage. + * It's attacks are as follows: + * - Charges at the target after a telegraph, throwing them across the arena should it connect. + * - Legionnaire's head detaches, attacking as it's own entity. Has abilities of it's own later into the fight. Once dead, regenerates after a brief period. If the skill is used while the head is off, it will be killed. + * - Leaves a pile of bones at your location. Upon using this skill again, you'll swap locations with the bone pile. + * - Spews a cloud of smoke from it's maw, wherever said maw is. + * A unique fight incorporating the head mechanic of legion into a whole new beast. Combatants will need to make sure the tag-team of head and body don't lure them into a deadly trap. + */ /mob/living/simple_animal/hostile/asteroid/elite/legionnaire name = "legionnaire" diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm index 81a757a4f96..eb418636ad0 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm @@ -4,17 +4,17 @@ #define AOE_SQUARES 4 /** - * # Pandora - * - * A box with a similar design to the Hierophant which trades large, single attacks for more frequent smaller ones. - * As it's health gets lower, the time between it's attacks decrease. - * It's attacks are as follows: - * - Fires hierophant blasts in a straight line. Can only fire in a straight line in 8 directions, being the diagonals and cardinals. - * - Creates a box of hierophant blasts around the target. If they try to run away to avoid it, they'll very likely get hit. - * - Teleports the pandora from one location to another, almost identical to Hierophant. - * - Spawns a 5x5 AOE at the location of choice, spreading out from the center. - * Pandora's fight mirrors Hierophant's closely, but has stark differences in attack effects. Instead of long-winded dodge times and long cooldowns, Pandora constantly attacks the opponent, but leaves itself open for attack. - */ + * # Pandora + * + * A box with a similar design to the Hierophant which trades large, single attacks for more frequent smaller ones. + * As it's health gets lower, the time between it's attacks decrease. + * It's attacks are as follows: + * - Fires hierophant blasts in a straight line. Can only fire in a straight line in 8 directions, being the diagonals and cardinals. + * - Creates a box of hierophant blasts around the target. If they try to run away to avoid it, they'll very likely get hit. + * - Teleports the pandora from one location to another, almost identical to Hierophant. + * - Spawns a 5x5 AOE at the location of choice, spreading out from the center. + * Pandora's fight mirrors Hierophant's closely, but has stark differences in attack effects. Instead of long-winded dodge times and long cooldowns, Pandora constantly attacks the opponent, but leaves itself open for attack. + */ /mob/living/simple_animal/hostile/asteroid/elite/pandora name = "pandora" diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.dm index 09afdc09da7..0f876ed5c49 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.dm @@ -1,7 +1,7 @@ /** - * Lobstrosities, the poster boy of charging AI mobs. Drops crab meat and bones. - * Outside of charging, it's intended behavior is that it is generally slow moving, but makes up for that with a knockdown attack to score additional hits. - */ + * Lobstrosities, the poster boy of charging AI mobs. Drops crab meat and bones. + * Outside of charging, it's intended behavior is that it is generally slow moving, but makes up for that with a knockdown attack to score additional hits. + */ /mob/living/simple_animal/hostile/asteroid/lobstrosity name = "arctic lobstrosity" desc = "A marvel of evolution gone wrong, the frosty ice produces underground lakes where these ill tempered seafood gather. Beware its charge." diff --git a/code/modules/mob/living/simple_animal/hostile/regalrat.dm b/code/modules/mob/living/simple_animal/hostile/regalrat.dm index d78771a61e1..f79be00783f 100644 --- a/code/modules/mob/living/simple_animal/hostile/regalrat.dm +++ b/code/modules/mob/living/simple_animal/hostile/regalrat.dm @@ -112,8 +112,8 @@ /** - *This action creates trash, money, dirt, and cheese. - */ + *This action creates trash, money, dirt, and cheese. + */ /datum/action/cooldown/coffer name = "Fill Coffers" desc = "Your newly granted regality and poise let you scavenge for lost junk, but more importantly, cheese." @@ -155,8 +155,8 @@ StartCooldown() /** - *This action checks all nearby mice, and converts them into hostile rats. If no mice are nearby, creates a new one. - */ + *This action checks all nearby mice, and converts them into hostile rats. If no mice are nearby, creates a new one. + */ /datum/action/cooldown/riot name = "Raise Army" diff --git a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm index 343e0319787..9091a0f734d 100644 --- a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm +++ b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm @@ -8,23 +8,23 @@ #define DARKNESS_THRESHOLD 0.5 /** - * # Space Dragon - * - * A space-faring leviathan-esque monster which breathes fire and summons carp. Spawned during its respective midround antagonist event. - * - * A space-faring monstrosity who has the ability to breathe dangerous fire breath and uses its powerful wings to knock foes away. - * Normally spawned as an antagonist during the Space Dragon event, Space Dragon's main goal is to open three rifts from which to pull a great tide of carp onto the station. - * Space Dragon can summon only one rift at a time, and can do so anywhere a blob is allowed to spawn. In order to trigger his victory condition, Space Dragon must summon and defend three rifts while they charge. - * Space Dragon, when spawned, has five minutes to summon the first rift. Failing to do so will cause Space Dragon to return from whence he came. - * When the rift spawns, ghosts can interact with it to spawn in as space carp to help complete the mission. One carp is granted when the rift is first summoned, with an extra one every 40 seconds. - * Once the victory condition is met, the shuttle is called and all current rifts are allowed to spawn infinite sentient space carp. - * If a charging rift is destroyed, Space Dragon will be incredibly slowed, and the endlag on his gust attack is greatly increased on each use. - * Space Dragon has the following abilities to assist him with his objective: - * - Can shoot fire in straight line, dealing 30 burn damage and setting those suseptible on fire. - * - Can use his wings to temporarily stun and knock back any nearby mobs. This attack has no cooldown, but instead has endlag after the attack where Space Dragon cannot act. This endlag's time decreases over time, but is added to every time he uses the move. - * - Can swallow mob corpses to heal for half their max health. Any corpses swallowed are stored within him, and will be regurgitated on death. - * - Can tear through any type of wall. This takes 4 seconds for most walls, and 12 seconds for reinforced walls. - */ + * # Space Dragon + * + * A space-faring leviathan-esque monster which breathes fire and summons carp. Spawned during its respective midround antagonist event. + * + * A space-faring monstrosity who has the ability to breathe dangerous fire breath and uses its powerful wings to knock foes away. + * Normally spawned as an antagonist during the Space Dragon event, Space Dragon's main goal is to open three rifts from which to pull a great tide of carp onto the station. + * Space Dragon can summon only one rift at a time, and can do so anywhere a blob is allowed to spawn. In order to trigger his victory condition, Space Dragon must summon and defend three rifts while they charge. + * Space Dragon, when spawned, has five minutes to summon the first rift. Failing to do so will cause Space Dragon to return from whence he came. + * When the rift spawns, ghosts can interact with it to spawn in as space carp to help complete the mission. One carp is granted when the rift is first summoned, with an extra one every 40 seconds. + * Once the victory condition is met, the shuttle is called and all current rifts are allowed to spawn infinite sentient space carp. + * If a charging rift is destroyed, Space Dragon will be incredibly slowed, and the endlag on his gust attack is greatly increased on each use. + * Space Dragon has the following abilities to assist him with his objective: + * - Can shoot fire in straight line, dealing 30 burn damage and setting those suseptible on fire. + * - Can use his wings to temporarily stun and knock back any nearby mobs. This attack has no cooldown, but instead has endlag after the attack where Space Dragon cannot act. This endlag's time decreases over time, but is added to every time he uses the move. + * - Can swallow mob corpses to heal for half their max health. Any corpses swallowed are stored within him, and will be regurgitated on death. + * - Can tear through any type of wall. This takes 4 seconds for most walls, and 12 seconds for reinforced walls. + */ /mob/living/simple_animal/hostile/space_dragon name = "Space Dragon" desc = "A vile, leviathan-esque creature that flies in the most unnatural way. Looks slightly similar to a space carp." @@ -180,11 +180,11 @@ . = ..() /** - * Allows space dragon to choose its own name. - * - * Prompts the space dragon to choose a name, which it will then apply to itself. - * If the name is invalid, will re-prompt the dragon until a proper name is chosen. - */ + * Allows space dragon to choose its own name. + * + * Prompts the space dragon to choose a name, which it will then apply to itself. + * If the name is invalid, will re-prompt the dragon until a proper name is chosen. + */ /mob/living/simple_animal/hostile/space_dragon/proc/dragon_name() var/chosen_name = sanitize_name(reject_bad_text(stripped_input(src, "What would you like your name to be?", "Choose Your Name", real_name, MAX_NAME_LEN))) if(!chosen_name) @@ -195,11 +195,11 @@ fully_replace_character_name(null, chosen_name) /** - * Allows space dragon to choose a color for itself. - * - * Prompts the space dragon to choose a color, from which it will then apply to itself. - * If an invalid color is given, will re-prompt the dragon until a proper color is chosen. - */ + * Allows space dragon to choose a color for itself. + * + * Prompts the space dragon to choose a color, from which it will then apply to itself. + * If an invalid color is given, will re-prompt the dragon until a proper color is chosen. + */ /mob/living/simple_animal/hostile/space_dragon/proc/color_selection() chosen_color = input(src,"What would you like your color to be?","Choose Your Color", COLOR_WHITE) as color|null if(!chosen_color) //redo proc until we get a color @@ -217,10 +217,10 @@ add_dragon_overlay() /** - * Adds the proper overlay to the space dragon. - * - * Clears the current overlay on space dragon and adds a proper one for whatever animation he's in. - */ + * Adds the proper overlay to the space dragon. + * + * Clears the current overlay on space dragon and adds a proper one for whatever animation he's in. + */ /mob/living/simple_animal/hostile/space_dragon/proc/add_dragon_overlay() cut_overlays() if(stat == DEAD) @@ -239,15 +239,15 @@ add_overlay(overlay) /** - * Determines a line of turfs from sources's position to the target with length range. - * - * Determines a line of turfs from the source's position to the target with length range. - * The line will extend on past the target if the range is large enough, and not reach the target if range is small enough. - * Arguments: - * * offset - whether or not to aim slightly to the left or right of the target - * * range - how many turfs should we go out for - * * atom/at - The target - */ + * Determines a line of turfs from sources's position to the target with length range. + * + * Determines a line of turfs from the source's position to the target with length range. + * The line will extend on past the target if the range is large enough, and not reach the target if range is small enough. + * Arguments: + * * offset - whether or not to aim slightly to the left or right of the target + * * range - how many turfs should we go out for + * * atom/at - The target + */ /mob/living/simple_animal/hostile/space_dragon/proc/line_target(offset, range, atom/at = target) if(!at) return @@ -261,14 +261,14 @@ return (getline(src, T) - get_turf(src)) /** - * Spawns fire at each position in a line from the source to the target. - * - * Spawns fire at each position in a line from the source to the target. - * Stops if it comes into contact with a solid wall, a window, or a door. - * Delays the spawning of each fire by 1.5 deciseconds. - * Arguments: - * * atom/at - The target - */ + * Spawns fire at each position in a line from the source to the target. + * + * Spawns fire at each position in a line from the source to the target. + * Stops if it comes into contact with a solid wall, a window, or a door. + * Delays the spawning of each fire by 1.5 deciseconds. + * Arguments: + * * atom/at - The target + */ /mob/living/simple_animal/hostile/space_dragon/proc/fire_stream(atom/at = target) playsound(get_turf(src),'sound/magic/fireball.ogg', 200, TRUE) var/range = 20 @@ -287,14 +287,14 @@ addtimer(CALLBACK(src, .proc/dragon_fire_line, T), delayFire) /** - * What occurs on each tile to actually create the fire. - * - * Creates a fire on the given turf. - * It creates a hotspot on the given turf, damages any living mob with 30 burn damage, and damages mechs by 50. - * It can only hit any given target once. - * Arguments: - * * turf/T - The turf to trigger the effects on. - */ + * What occurs on each tile to actually create the fire. + * + * Creates a fire on the given turf. + * It creates a hotspot on the given turf, damages any living mob with 30 burn damage, and damages mechs by 50. + * It can only hit any given target once. + * Arguments: + * * turf/T - The turf to trigger the effects on. + */ /mob/living/simple_animal/hostile/space_dragon/proc/dragon_fire_line(turf/T) var/list/hit_list = list() hit_list += src @@ -314,13 +314,13 @@ M.take_damage(50, BRUTE, MELEE, 1) /** - * Handles consuming and storing consumed things inside Space Dragon - * - * Plays a sound and then stores the consumed thing inside Space Dragon. - * Used in AttackingTarget(), paired with a heal should it succeed. - * Arguments: - * * atom/movable/A - The thing being consumed - */ + * Handles consuming and storing consumed things inside Space Dragon + * + * Plays a sound and then stores the consumed thing inside Space Dragon. + * Used in AttackingTarget(), paired with a heal should it succeed. + * Arguments: + * * atom/movable/A - The thing being consumed + */ /mob/living/simple_animal/hostile/space_dragon/proc/eat(atom/movable/A) if(A && A.loc != src) playsound(src, 'sound/magic/demon_attack1.ogg', 100, TRUE) @@ -330,11 +330,11 @@ return FALSE /** - * Disperses the contents of the mob on the surrounding tiles. - * - * Randomly places the contents of the mob onto surrounding tiles. - * Has a 10% chance to place on the same tile as the mob. - */ + * Disperses the contents of the mob on the surrounding tiles. + * + * Randomly places the contents of the mob onto surrounding tiles. + * Has a 10% chance to place on the same tile as the mob. + */ /mob/living/simple_animal/hostile/space_dragon/proc/empty_contents() for(var/atom/movable/AM in src) AM.forceMove(loc) @@ -342,12 +342,12 @@ step(AM, pick(GLOB.alldirs)) /** - * Resets Space Dragon's status after using wing gust. - * - * Resets Space Dragon's status after using wing gust. - * If it isn't dead by the time it calls this method, reset the sprite back to the normal living sprite. - * Also sets the using_special variable to FALSE, allowing Space Dragon to move and attack freely again. - */ + * Resets Space Dragon's status after using wing gust. + * + * Resets Space Dragon's status after using wing gust. + * If it isn't dead by the time it calls this method, reset the sprite back to the normal living sprite. + * Also sets the using_special variable to FALSE, allowing Space Dragon to move and attack freely again. + */ /mob/living/simple_animal/hostile/space_dragon/proc/reset_status() if(stat != DEAD) icon_state = "spacedragon" @@ -355,12 +355,12 @@ add_dragon_overlay() /** - * Handles Space Dragon's temporary empowerment after boosting a rift. - * - * Empowers and depowers Space Dragon after a successful rift charge. - * Empowered, Space Dragon regains all his health and becomes temporarily faster for 30 seconds, along with being tinted red. - * Depowered simply resets him back to his default state. - */ + * Handles Space Dragon's temporary empowerment after boosting a rift. + * + * Empowers and depowers Space Dragon after a successful rift charge. + * Empowered, Space Dragon regains all his health and becomes temporarily faster for 30 seconds, along with being tinted red. + * Depowered simply resets him back to his default state. + */ /mob/living/simple_animal/hostile/space_dragon/proc/rift_empower(is_empowered) if(is_empowered) fully_heal() @@ -372,12 +372,12 @@ set_varspeed(0) /** - * Destroys all of Space Dragon's current rifts. - * - * QDeletes all the current rifts after removing their references to other objects. - * Currently, the only reference they have is to the Dragon which created them, so we clear that before deleting them. - * Currently used when Space Dragon dies. - */ + * Destroys all of Space Dragon's current rifts. + * + * QDeletes all the current rifts after removing their references to other objects. + * Currently, the only reference they have is to the Dragon which created them, so we clear that before deleting them. + * Currently used when Space Dragon dies. + */ /mob/living/simple_animal/hostile/space_dragon/proc/destroy_rifts() for(var/obj/structure/carp_rift/rift in rift_list) rift.dragon = null @@ -387,15 +387,15 @@ rifts_charged = 0 /** - * Handles wing gust from the windup all the way to the endlag at the end. - * - * Handles the wing gust attack from start to finish, based on the timer. - * When intially triggered, starts at 0. Until the timer reaches 10, increase Space Dragon's y position by 2 and call back to the function in 1.5 deciseconds. - * When the timer is at 10, trigger the attack. Change Space Dragon's sprite. reset his y position, and push all living creatures back in a 3 tile radius and stun them for 5 seconds. - * Stay in the ending state for how much our tiredness dictates and add to our tiredness. - * Arguments: - * * timer - The timer used for the windup. - */ + * Handles wing gust from the windup all the way to the endlag at the end. + * + * Handles the wing gust attack from start to finish, based on the timer. + * When intially triggered, starts at 0. Until the timer reaches 10, increase Space Dragon's y position by 2 and call back to the function in 1.5 deciseconds. + * When the timer is at 10, trigger the attack. Change Space Dragon's sprite. reset his y position, and push all living creatures back in a 3 tile radius and stun them for 5 seconds. + * Stay in the ending state for how much our tiredness dictates and add to our tiredness. + * Arguments: + * * timer - The timer used for the windup. + */ /mob/living/simple_animal/hostile/space_dragon/proc/useGust(timer) if(timer != 10) pixel_y = pixel_y + 2; @@ -425,13 +425,13 @@ tiredness = tiredness + (30 * tiredness_mult) /** - * Sets up Space Dragon's victory for completing the objectives. - * - * Triggers when Space Dragon completes his objective. - * Calls the shuttle with a coefficient of 3, making it impossible to recall. - * Sets all of his rifts to allow for infinite sentient carp spawns - * Also plays appropiate sounds and CENTCOM messages. - */ + * Sets up Space Dragon's victory for completing the objectives. + * + * Triggers when Space Dragon completes his objective. + * Calls the shuttle with a coefficient of 3, making it impossible to recall. + * Sets all of his rifts to allow for infinite sentient carp spawns + * Also plays appropiate sounds and CENTCOM messages. + */ /mob/living/simple_animal/hostile/space_dragon/proc/victory() objective_complete = TRUE var/datum/antagonist/space_dragon/S = mind.has_antag_datum(/datum/antagonist/space_dragon) @@ -497,14 +497,14 @@ qdel(src) /** - * # Carp Rift - * - * The portals Space Dragon summons to bring carp onto the station. - * - * The portals Space Dragon summons to bring carp onto the station. His main objective is to summon 3 of them and protect them from being destroyed. - * The portals can summon sentient space carp in limited amounts. The portal also changes color based on whether or not a carp spawn is available. - * Once it is fully charged, it becomes indestructible, and intermitently spawns non-sentient carp. It is still destroyed if Space Dragon dies. - */ + * # Carp Rift + * + * The portals Space Dragon summons to bring carp onto the station. + * + * The portals Space Dragon summons to bring carp onto the station. His main objective is to summon 3 of them and protect them from being destroyed. + * The portals can summon sentient space carp in limited amounts. The portal also changes color based on whether or not a carp spawn is available. + * Once it is fully charged, it becomes indestructible, and intermitently spawns non-sentient carp. It is still destroyed if Space Dragon dies. + */ /obj/structure/carp_rift name = "carp rift" desc = "A rift akin to the ones space carp use to travel long distances." @@ -584,13 +584,13 @@ summon_carp(user) /** - * Does a series of checks based on the portal's status. - * - * Performs a number of checks based on the current charge of the portal, and triggers various effects accordingly. - * If the current charge is a multiple of 40, add an extra carp spawn. - * If we're halfway charged, announce to the crew our location in a CENTCOM announcement. - * If we're fully charged, tell the crew we are, change our color to yellow, become invulnerable, and give Space Dragon the ability to make another rift, if he hasn't summoned 3 total. - */ + * Does a series of checks based on the portal's status. + * + * Performs a number of checks based on the current charge of the portal, and triggers various effects accordingly. + * If the current charge is a multiple of 40, add an extra carp spawn. + * If we're halfway charged, announce to the crew our location in a CENTCOM announcement. + * If we're fully charged, tell the crew we are, change our color to yellow, become invulnerable, and give Space Dragon the ability to make another rift, if he hasn't summoned 3 total. + */ /obj/structure/carp_rift/proc/update_check() // If the rift is fully charged, there's nothing to do here anymore. if(charge_state == CHARGE_COMPLETED) @@ -633,14 +633,14 @@ priority_announce("A rift is causing an unnaturally large energy flux in [initial(A.name)]. Stop it at all costs!", "Central Command Spatial Corps", 'sound/ai/spanomalies.ogg') /** - * Used to create carp controlled by ghosts when the option is available. - * - * Creates a carp for the ghost to control if we have a carp spawn available. - * Gives them prompt to control a carp, and if our circumstances still allow if when they hit yes, spawn them in as a carp. - * Also add them to the list of carps in Space Dragon's antgonist datum, so they'll be displayed as having assisted him on round end. - * Arguments: - * * mob/user - The ghost which will take control of the carp. - */ + * Used to create carp controlled by ghosts when the option is available. + * + * Creates a carp for the ghost to control if we have a carp spawn available. + * Gives them prompt to control a carp, and if our circumstances still allow if when they hit yes, spawn them in as a carp. + * Also add them to the list of carps in Space Dragon's antgonist datum, so they'll be displayed as having assisted him on round end. + * Arguments: + * * mob/user - The ghost which will take control of the carp. + */ /obj/structure/carp_rift/proc/summon_carp(mob/user) if(carp_stored <= 0)//Not enough carp points return FALSE 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 419eb585e8f..4b19ba89cc3 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 @@ -1,15 +1,15 @@ #define FINAL_BUD_GROWTH_ICON 3 /** - * Kudzu Flower Bud - * - * A flower created by flowering kudzu which spawns a venus human trap after a certain amount of time has passed. - * - * A flower created by kudzu with the flowering mutation. Spawns a venus human trap after 2 minutes under normal circumstances. - * Also spawns 4 vines going out in diagonal directions from the bud. Any living creature not aligned with plants is damaged by these vines. - * Once it grows a venus human trap, the bud itself will destroy itself. - * - */ + * Kudzu Flower Bud + * + * A flower created by flowering kudzu which spawns a venus human trap after a certain amount of time has passed. + * + * A flower created by kudzu with the flowering mutation. Spawns a venus human trap after 2 minutes under normal circumstances. + * Also spawns 4 vines going out in diagonal directions from the bud. Any living creature not aligned with plants is damaged by these vines. + * Once it grows a venus human trap, the bud itself will destroy itself. + * + */ /obj/structure/alien/resin/flower_bud //inheriting basic attack/damage stuff from alien structures name = "flower bud" desc = "A large pulsating plant..." @@ -46,10 +46,10 @@ countdown.start() /** - * Spawns a venus human trap, then qdels itself. - * - * Displays a message, spawns a human venus trap, then qdels itself. - */ + * Spawns a venus human trap, then qdels itself. + * + * Displays a message, spawns a human venus trap, then qdels itself. + */ /obj/structure/alien/resin/flower_bud/proc/bear_fruit() visible_message("The plant has borne fruit!") new /mob/living/simple_animal/hostile/venus_human_trap(get_turf(src)) @@ -76,17 +76,17 @@ to_chat(L, "You cut yourself on the thorny vines.") /** - * Venus Human Trap - * - * The result of a kudzu flower bud, these enemies use vines to drag prey close to them for attack. - * - * A carnivorious plant which uses vines to catch and ensnare prey. Spawns from kudzu flower buds. - * Each one has a maximum of four vines, which can be attached to a variety of things. Carbons are stunned when a vine is attached to them, and movable entities are pulled closer over time. - * Attempting to attach a vine to something with a vine already attached to it will pull all movable targets closer on command. - * Once the prey is in melee range, melee attacks from the venus human trap heals itself for 10% of its max health, assuming the target is alive. - * Akin to certain spiders, venus human traps can also be possessed and controlled by ghosts. - * - */ + * Venus Human Trap + * + * The result of a kudzu flower bud, these enemies use vines to drag prey close to them for attack. + * + * A carnivorious plant which uses vines to catch and ensnare prey. Spawns from kudzu flower buds. + * Each one has a maximum of four vines, which can be attached to a variety of things. Carbons are stunned when a vine is attached to them, and movable entities are pulled closer over time. + * Attempting to attach a vine to something with a vine already attached to it will pull all movable targets closer on command. + * Once the prey is in melee range, melee attacks from the venus human trap heals itself for 10% of its max health, assuming the target is alive. + * Akin to certain spiders, venus human traps can also be possessed and controlled by ghosts. + * + */ /mob/living/simple_animal/hostile/venus_human_trap name = "venus human trap" desc = "Now you know how the fly feels." @@ -172,13 +172,13 @@ humanize_plant(user) /** - * Sets a ghost to control the plant if the plant is eligible - * - * Asks the interacting ghost if they would like to control the plant. - * If they answer yes, and another ghost hasn't taken control, sets the ghost to control the plant. - * Arguments: - * * mob/user - The ghost to possibly control the plant - */ + * Sets a ghost to control the plant if the plant is eligible + * + * Asks the interacting ghost if they would like to control the plant. + * If they answer yes, and another ghost hasn't taken control, sets the ghost to control the plant. + * Arguments: + * * mob/user - The ghost to possibly control the plant + */ /mob/living/simple_animal/hostile/venus_human_trap/proc/humanize_plant(mob/user) if(key || !playable_plant || stat) return @@ -192,12 +192,12 @@ log_game("[key_name(src)] took control of [name].") /** - * Manages how the vines should affect the things they're attached to. - * - * Pulls all movable targets of the vines closer to the plant - * If the target is on the same tile as the plant, destroy the vine - * Removes any QDELETED vines from the vines list. - */ + * Manages how the vines should affect the things they're attached to. + * + * Pulls all movable targets of the vines closer to the plant + * If the target is on the same tile as the plant, destroy the vine + * Removes any QDELETED vines from the vines list. + */ /mob/living/simple_animal/hostile/venus_human_trap/proc/pull_vines() for(var/datum/beam/B in vines) if(istype(B.target, /atom/movable)) @@ -208,12 +208,12 @@ B.End() /** - * Removes a vine from the list. - * - * Removes the vine from our list. - * Called specifically when the vine is about to be destroyed, so we don't have any null references. - * Arguments: - * * datum/beam/vine - The vine to be removed from the list. - */ + * Removes a vine from the list. + * + * Removes the vine from our list. + * Called specifically when the vine is about to be destroyed, so we don't have any null references. + * Arguments: + * * datum/beam/vine - The vine to be removed from the list. + */ /mob/living/simple_animal/hostile/venus_human_trap/proc/remove_vine(datum/beam/vine, force) vines -= vine diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 49cb02e5b48..b1a822d3c17 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -254,11 +254,11 @@ stuttering = 0 /** - * Updates the simple mob's stamina loss. - * - * Updates the speed and staminaloss of a given simplemob. - * Reduces the stamina loss by stamina_recovery - */ + * Updates the simple mob's stamina loss. + * + * Updates the speed and staminaloss of a given simplemob. + * Reduces the stamina loss by stamina_recovery + */ /mob/living/simple_animal/update_stamina() set_varspeed(initial(speed) + (staminaloss * 0.06)) diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm index 295035fdc43..3bb706730f8 100644 --- a/code/modules/mob/login.dm +++ b/code/modules/mob/login.dm @@ -1,27 +1,27 @@ /** - * Run when a client is put in this mob or reconnets to byond and their client was on this mob - * - * Things it does: - * * Adds player to player_list - * * sets lastKnownIP - * * sets computer_id - * * logs the login - * * tells the world to update it's status (for player count) - * * create mob huds for the mob if needed - * * reset next_move to 1 - * * parent call - * * if the client exists set the perspective to the mob loc - * * call on_log on the loc (sigh) - * * reload the huds for the mob - * * reload all full screen huds attached to this mob - * * load any global alternate apperances - * * sync the mind datum via sync_mind() - * * call any client login callbacks that exist - * * grant any actions the mob has to the client - * * calls [auto_deadmin_on_login](mob.html#proc/auto_deadmin_on_login) - * * send signal COMSIG_MOB_CLIENT_LOGIN - * client can be deleted mid-execution of this proc, chiefly on parent calls, with lag - */ + * Run when a client is put in this mob or reconnets to byond and their client was on this mob + * + * Things it does: + * * Adds player to player_list + * * sets lastKnownIP + * * sets computer_id + * * logs the login + * * tells the world to update it's status (for player count) + * * create mob huds for the mob if needed + * * reset next_move to 1 + * * parent call + * * if the client exists set the perspective to the mob loc + * * call on_log on the loc (sigh) + * * reload the huds for the mob + * * reload all full screen huds attached to this mob + * * load any global alternate apperances + * * sync the mind datum via sync_mind() + * * call any client login callbacks that exist + * * grant any actions the mob has to the client + * * calls [auto_deadmin_on_login](mob.html#proc/auto_deadmin_on_login) + * * send signal COMSIG_MOB_CLIENT_LOGIN + * client can be deleted mid-execution of this proc, chiefly on parent calls, with lag + */ /mob/Login() if(!client) return FALSE @@ -97,16 +97,16 @@ /** - * Checks if the attached client is an admin and may deadmin them - * - * Configs: - * * flag/auto_deadmin_players - * * client.prefs?.toggles & DEADMIN_ALWAYS - * * User is antag and flag/auto_deadmin_antagonists or client.prefs?.toggles & DEADMIN_ANTAGONIST - * * or if their job demands a deadminning SSjob.handle_auto_deadmin_roles() - * - * Called from [login](mob.html#proc/Login) - */ + * Checks if the attached client is an admin and may deadmin them + * + * Configs: + * * flag/auto_deadmin_players + * * client.prefs?.toggles & DEADMIN_ALWAYS + * * User is antag and flag/auto_deadmin_antagonists or client.prefs?.toggles & DEADMIN_ANTAGONIST + * * or if their job demands a deadminning SSjob.handle_auto_deadmin_roles() + * + * Called from [login](mob.html#proc/Login) + */ /mob/proc/auto_deadmin_on_login() //return true if they're not an admin at the end. if(!client?.holder) return TRUE diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index b2b23aad722..d7ab90602db 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1,25 +1,25 @@ /** - * Delete a mob - * - * Removes mob from the following global lists - * * GLOB.mob_list - * * GLOB.dead_mob_list - * * GLOB.alive_mob_list - * * GLOB.all_clockwork_mobs - * * GLOB.mob_directory - * - * Unsets the focus var - * - * Clears alerts for this mob - * - * Resets all the observers perspectives to the tile this mob is on - * - * qdels any client colours in place on this mob - * - * Ghostizes the client attached to this mob - * - * Parent call - */ + * Delete a mob + * + * Removes mob from the following global lists + * * GLOB.mob_list + * * GLOB.dead_mob_list + * * GLOB.alive_mob_list + * * GLOB.all_clockwork_mobs + * * GLOB.mob_directory + * + * Unsets the focus var + * + * Clears alerts for this mob + * + * Resets all the observers perspectives to the tile this mob is on + * + * qdels any client colours in place on this mob + * + * Ghostizes the client attached to this mob + * + * Parent call + */ /mob/Destroy()//This makes sure that mobs with clients/keys are not just deleted from the game. remove_from_mob_list() remove_from_dead_mob_list() @@ -41,23 +41,23 @@ /** - * Intialize a mob - * - * Sends global signal COMSIG_GLOB_MOB_CREATED - * - * Adds to global lists - * * GLOB.mob_list - * * GLOB.mob_directory (by tag) - * * GLOB.dead_mob_list - if mob is dead - * * GLOB.alive_mob_list - if the mob is alive - * - * Other stuff: - * * Sets the mob focus to itself - * * Generates huds - * * If there are any global alternate apperances apply them to this mob - * * set a random nutrition level - * * Intialize the movespeed of the mob - */ + * Intialize a mob + * + * Sends global signal COMSIG_GLOB_MOB_CREATED + * + * Adds to global lists + * * GLOB.mob_list + * * GLOB.mob_directory (by tag) + * * GLOB.dead_mob_list - if mob is dead + * * GLOB.alive_mob_list - if the mob is alive + * + * Other stuff: + * * Sets the mob focus to itself + * * Generates huds + * * If there are any global alternate apperances apply them to this mob + * * set a random nutrition level + * * Intialize the movespeed of the mob + */ /mob/Initialize() SEND_GLOBAL_SIGNAL(COMSIG_GLOB_MOB_CREATED, src) add_to_mob_list() @@ -79,19 +79,19 @@ update_movespeed(TRUE) /** - * Generate the tag for this mob - * - * This is simply "mob_"+ a global incrementing counter that goes up for every mob - */ + * Generate the tag for this mob + * + * This is simply "mob_"+ a global incrementing counter that goes up for every mob + */ /mob/GenerateTag() tag = "mob_[next_mob_id++]" /** - * Prepare the huds for this atom - * - * Goes through hud_possible list and adds the images to the hud_list variable (if not already - * cached) - */ + * Prepare the huds for this atom + * + * Goes through hud_possible list and adds the images to the hud_list variable (if not already + * cached) + */ /atom/proc/prepare_huds() hud_list = list() for(var/hud in hud_possible) @@ -105,8 +105,8 @@ hud_list[hud] = I /** - * Some kind of debug verb that gives atmosphere environment details - */ + * Some kind of debug verb that gives atmosphere environment details + */ /mob/proc/Cell() set category = "Admin" set hidden = TRUE @@ -126,14 +126,14 @@ to_chat(usr, t) /** - * Return the desc of this mob for a photo - */ + * Return the desc of this mob for a photo + */ /mob/proc/get_photo_description(obj/item/camera/camera) return "a ... thing?" /** - * Show a message to this mob (visual or audible) - */ + * Show a message to this mob (visual or audible) + */ /mob/proc/show_message(msg, type, alt_msg, alt_type, avoid_highlighting = FALSE)//Message, type of message (1 or 2), alternative message, alt message type (1 or 2) if(!client) return @@ -164,22 +164,22 @@ to_chat(src, msg, avoid_highlighting = avoid_highlighting) /** - * Generate a visible message from this atom - * - * Show a message to all player mobs who sees this atom - * - * Show a message to the src mob (if the src is a mob) - * - * Use for atoms performing visible actions - * - * message is output to anyone who can see, e.g. `"The [src] does something!"` - * - * Vars: - * * self_message (optional) is what the src mob sees e.g. "You do something!" - * * blind_message (optional) is what blind people will hear e.g. "You hear something!" - * * vision_distance (optional) define how many tiles away the message can be seen. - * * ignored_mob (optional) doesn't show any message to a given mob if TRUE. - */ + * Generate a visible message from this atom + * + * Show a message to all player mobs who sees this atom + * + * Show a message to the src mob (if the src is a mob) + * + * Use for atoms performing visible actions + * + * message is output to anyone who can see, e.g. `"The [src] does something!"` + * + * Vars: + * * self_message (optional) is what the src mob sees e.g. "You do something!" + * * blind_message (optional) is what blind people will hear e.g. "You hear something!" + * * vision_distance (optional) define how many tiles away the message can be seen. + * * ignored_mob (optional) doesn't show any message to a given mob if TRUE. + */ /atom/proc/visible_message(message, self_message, blind_message, vision_distance = DEFAULT_MESSAGE_RANGE, list/ignored_mobs, visible_message_flags = NONE) var/turf/T = get_turf(src) if(!T) @@ -225,15 +225,15 @@ show_message(self_message, MSG_VISUAL, blind_message, MSG_AUDIBLE) /** - * Show a message to all mobs in earshot of this atom - * - * Use for objects performing audible actions - * - * vars: - * * message is the message output to anyone who can hear. - * * deaf_message (optional) is what deaf people will see. - * * hearing_distance (optional) is the range, how many tiles away the message can be heard. - */ + * Show a message to all mobs in earshot of this atom + * + * Use for objects performing audible actions + * + * vars: + * * message is the message output to anyone who can hear. + * * deaf_message (optional) is what deaf people will see. + * * hearing_distance (optional) is the range, how many tiles away the message can be heard. + */ /atom/proc/audible_message(message, deaf_message, hearing_distance = DEFAULT_MESSAGE_RANGE, self_message, audible_message_flags = NONE) var/list/hearers = get_hearers_in_view(hearing_distance, src) if(self_message) @@ -247,16 +247,16 @@ M.show_message(message, MSG_AUDIBLE, deaf_message, MSG_VISUAL) /** - * Show a message to all mobs in earshot of this one - * - * This would be for audible actions by the src mob - * - * vars: - * * message is the message output to anyone who can hear. - * * self_message (optional) is what the src mob hears. - * * deaf_message (optional) is what deaf people will see. - * * hearing_distance (optional) is the range, how many tiles away the message can be heard. - */ + * Show a message to all mobs in earshot of this one + * + * This would be for audible actions by the src mob + * + * vars: + * * message is the message output to anyone who can hear. + * * self_message (optional) is what the src mob hears. + * * deaf_message (optional) is what deaf people will see. + * * hearing_distance (optional) is the range, how many tiles away the message can be heard. + */ /mob/audible_message(message, deaf_message, hearing_distance = DEFAULT_MESSAGE_RANGE, self_message, audible_message_flags = NONE) . = ..() if(self_message) @@ -289,11 +289,11 @@ return /** - * This proc is called whenever someone clicks an inventory ui slot. - * - * Mostly tries to put the item into the slot if possible, or call attack hand - * on the item in the slot if the users active hand is empty - */ + * This proc is called whenever someone clicks an inventory ui slot. + * + * Mostly tries to put the item into the slot if possible, or call attack hand + * on the item in the slot if the users active hand is empty + */ /mob/proc/attack_ui(slot) var/obj/item/W = get_active_held_item() @@ -310,18 +310,18 @@ return FALSE /** - * Try to equip an item to a slot on the mob - * - * This is a SAFE proc. Use this instead of equip_to_slot()! - * - * set qdel_on_fail to have it delete W if it fails to equip - * - * set disable_warning to disable the 'you are unable to equip that' warning. - * - * unset redraw_mob to prevent the mob icons from being redrawn at the end. - * - * Initial is used to indicate whether or not this is the initial equipment (job datums etc) or just a player doing it - */ + * Try to equip an item to a slot on the mob + * + * This is a SAFE proc. Use this instead of equip_to_slot()! + * + * set qdel_on_fail to have it delete W if it fails to equip + * + * set disable_warning to disable the 'you are unable to equip that' warning. + * + * unset redraw_mob to prevent the mob icons from being redrawn at the end. + * + * Initial is used to indicate whether or not this is the initial equipment (job datums etc) or just a player doing it + */ /mob/proc/equip_to_slot_if_possible(obj/item/W, slot, qdel_on_fail = FALSE, disable_warning = FALSE, redraw_mob = TRUE, bypass_equip_delay_self = FALSE, initial = FALSE) if(!istype(W)) return FALSE @@ -335,35 +335,35 @@ return TRUE /** - * Actually equips an item to a slot (UNSAFE) - * - * This is an UNSAFE proc. It merely handles the actual job of equipping. All the checks on - * whether you can or can't equip need to be done before! Use mob_can_equip() for that task. - * - *In most cases you will want to use equip_to_slot_if_possible() - */ + * Actually equips an item to a slot (UNSAFE) + * + * This is an UNSAFE proc. It merely handles the actual job of equipping. All the checks on + * whether you can or can't equip need to be done before! Use mob_can_equip() for that task. + * + *In most cases you will want to use equip_to_slot_if_possible() + */ /mob/proc/equip_to_slot(obj/item/W, slot) return /** - * Equip an item to the slot or delete - * - * This is just a commonly used configuration for the equip_to_slot_if_possible() proc, used to - * equip people when the round starts and when events happen and such. - * - * Also bypasses equip delay checks, since the mob isn't actually putting it on. - * Initial is used to indicate whether or not this is the initial equipment (job datums etc) or just a player doing it - */ + * Equip an item to the slot or delete + * + * This is just a commonly used configuration for the equip_to_slot_if_possible() proc, used to + * equip people when the round starts and when events happen and such. + * + * Also bypasses equip delay checks, since the mob isn't actually putting it on. + * Initial is used to indicate whether or not this is the initial equipment (job datums etc) or just a player doing it + */ /mob/proc/equip_to_slot_or_del(obj/item/W, slot, initial = FALSE) return equip_to_slot_if_possible(W, slot, TRUE, TRUE, FALSE, TRUE, initial) /** - * Auto equip the passed in item the appropriate slot based on equipment priority - * - * puts the item "W" into an appropriate slot in a human's inventory - * - * returns 0 if it cannot, 1 if successful - */ + * Auto equip the passed in item the appropriate slot based on equipment priority + * + * puts the item "W" into an appropriate slot in a human's inventory + * + * returns 0 if it cannot, 1 if successful + */ /mob/proc/equip_to_appropriate_slot(obj/item/W, qdel_on_fail = FALSE) if(!istype(W)) return FALSE @@ -389,11 +389,11 @@ qdel(W) return FALSE /** - * Reset the attached clients perspective (viewpoint) - * - * reset_perspective() set eye to common default : mob on turf, loc otherwise - * reset_perspective(thing) set the eye to the thing (if it's equal to current default reset to mob perspective) - */ + * Reset the attached clients perspective (viewpoint) + * + * reset_perspective() set eye to common default : mob on turf, loc otherwise + * reset_perspective(thing) set the eye to the thing (if it's equal to current default reset to mob perspective) + */ /mob/proc/reset_perspective(atom/A) if(client) if(A) @@ -431,12 +431,12 @@ /** - * Examine a mob - * - * mob verbs are faster than object verbs. See - * [this byond forum post](https://secure.byond.com/forum/?post=1326139&page=2#comment8198716) - * for why this isn't atom/verb/examine() - */ + * Examine a mob + * + * mob verbs are faster than object verbs. See + * [this byond forum post](https://secure.byond.com/forum/?post=1326139&page=2#comment8198716) + * for why this isn't atom/verb/examine() + */ /mob/verb/examinate(atom/A as mob|obj|turf in view()) //It used to be oview(12), but I can't really say why set name = "Examine" set category = "IC" @@ -529,12 +529,12 @@ LAZYREMOVE(client.recent_examines, A) /** - * handle_eye_contact() is called when we examine() something. If we examine an alive mob with a mind who has examined us in the last second within 5 tiles, we make eye contact! - * - * Note that if either party has their face obscured, the other won't get the notice about the eye contact - * Also note that examine_more() doesn't proc this or extend the timer, just because it's simpler this way and doesn't lose much. - * The nice part about relying on examining is that we don't bother checking visibility, because we already know they were both visible to each other within the last second, and the one who triggers it is currently seeing them - */ + * handle_eye_contact() is called when we examine() something. If we examine an alive mob with a mind who has examined us in the last second within 5 tiles, we make eye contact! + * + * Note that if either party has their face obscured, the other won't get the notice about the eye contact + * Also note that examine_more() doesn't proc this or extend the timer, just because it's simpler this way and doesn't lose much. + * The nice part about relying on examining is that we don't bother checking visibility, because we already know they were both visible to each other within the last second, and the one who triggers it is currently seeing them + */ /mob/proc/handle_eye_contact(mob/living/examined_mob) return @@ -555,18 +555,18 @@ addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, examined_mob, msg), 3) /** - * Point at an atom - * - * mob verbs are faster than object verbs. See - * [this byond forum post](https://secure.byond.com/forum/?post=1326139&page=2#comment8198716) - * for why this isn't atom/verb/pointed() - * - * note: ghosts can point, this is intended - * - * visible_message will handle invisibility properly - * - * overridden here and in /mob/dead/observer for different point span classes and sanity checks - */ + * Point at an atom + * + * mob verbs are faster than object verbs. See + * [this byond forum post](https://secure.byond.com/forum/?post=1326139&page=2#comment8198716) + * for why this isn't atom/verb/pointed() + * + * note: ghosts can point, this is intended + * + * visible_message will handle invisibility properly + * + * overridden here and in /mob/dead/observer for different point span classes and sanity checks + */ /mob/verb/pointed(atom/A as mob|obj|turf in view()) set name = "Point To" set category = "Object" @@ -589,12 +589,12 @@ return TRUE /** - * Called by using Activate Held Object with an empty hand/limb - * - * Does nothing by default. The intended use is to allow limbs to call their - * own attack_self procs. It is up to the individual mob to override this - * parent and actually use it. - */ + * Called by using Activate Held Object with an empty hand/limb + * + * Does nothing by default. The intended use is to allow limbs to call their + * own attack_self procs. It is up to the individual mob to override this + * parent and actually use it. + */ /mob/proc/limb_attack_self() return @@ -634,10 +634,10 @@ hud_used?.rest_icon?.update_icon() /** - * Verb to activate the object in your held hand - * - * Calls attack self on the item and updates the inventory hud for hands - */ + * Verb to activate the object in your held hand + * + * Calls attack self on the item and updates the inventory hud for hands + */ /mob/verb/mode() set name = "Activate Held Object" set category = "Object" @@ -659,10 +659,10 @@ /** - * Get the notes of this mob - * - * This actually gets the mind datums notes - */ + * Get the notes of this mob + * + * This actually gets the mind datums notes + */ /mob/verb/memory() set name = "Notes" set category = "IC" @@ -673,8 +673,8 @@ to_chat(src, "You don't have a mind datum for some reason, so you can't look at your notes, if you had any.") /** - * Add a note to the mind datum - */ + * Add a note to the mind datum + */ /mob/verb/add_memory(msg as message) set name = "Add Note" set category = "IC" @@ -690,12 +690,12 @@ to_chat(src, "You don't have a mind datum for some reason, so you can't add a note to it.") /** - * Allows you to respawn, abandoning your current mob - * - * This sends you back to the lobby creating a new dead mob - * - * Only works if flag/norespawn is allowed in config - */ + * Allows you to respawn, abandoning your current mob + * + * This sends you back to the lobby creating a new dead mob + * + * Only works if flag/norespawn is allowed in config + */ /mob/verb/abandon_mob() set name = "Respawn" set category = "OOC" @@ -730,8 +730,8 @@ /** - * Sometimes helps if the user is stuck in another perspective or camera - */ + * Sometimes helps if the user is stuck in another perspective or camera + */ /mob/verb/cancel_camera() set name = "Cancel Camera View" set category = "OOC" @@ -751,12 +751,12 @@ set category = null return /** - * Topic call back for any mob - * - * * Unset machines if "mach_close" sent - * * refresh the inventory of machines in range if "refresh" sent - * * handles the strip panel equip and unequip as well if "item" sent - */ + * Topic call back for any mob + * + * * Unset machines if "mach_close" sent + * * refresh the inventory of machines in range if "refresh" sent + * * handles the strip panel equip and unequip as well if "item" sent + */ /mob/Topic(href, href_list) var/mob/user = usr @@ -798,8 +798,8 @@ return /** - * Controls if a mouse drop succeeds (return null if it doesnt) - */ + * Controls if a mouse drop succeeds (return null if it doesnt) + */ /mob/MouseDrop(mob/M) . = ..() if(M != usr) @@ -811,10 +811,10 @@ if(isAI(M)) return /** - * Handle the result of a click drag onto this mob - * - * For mobs this just shows the inventory - */ + * Handle the result of a click drag onto this mob + * + * For mobs this just shows the inventory + */ /mob/MouseDrop_T(atom/dropping, atom/user) . = ..() if(ismob(dropping) && src == user && dropping != user) @@ -839,10 +839,10 @@ . += get_spells_for_statpanel(mob_spell_list) /** - * Convert a list of spells into a displyable list for the statpanel - * - * Shows charge and other important info - */ + * Convert a list of spells into a displyable list for the statpanel + * + * Shows charge and other important info + */ /mob/proc/get_spells_for_statpanel(list/spells) var/list/L = list() for(var/obj/effect/proc_holder/spell/S in spells) @@ -860,15 +860,15 @@ // facing verbs /** - * Returns true if a mob can turn to face things - * - * Conditions: - * * client.last_turn > world.time - * * not dead or unconcious - * * not anchored - * * no transform not set - * * we are not restrained - */ + * Returns true if a mob can turn to face things + * + * Conditions: + * * client.last_turn > world.time + * * not dead or unconcious + * * not anchored + * * no transform not set + * * we are not restrained + */ /mob/proc/canface() if(world.time < client.last_turn) return FALSE @@ -988,12 +988,12 @@ return src /** - * Buckle a living mob to this mob - * - * You can buckle on mobs if you're next to them since most are dense - * - * Turns you to face the other mob too - */ + * Buckle a living mob to this mob + * + * You can buckle on mobs if you're next to them since most are dense + * + * Turns you to face the other mob too + */ /mob/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE) if(M.buckled) return FALSE @@ -1042,10 +1042,10 @@ /mob/proc/canUseStorage() return FALSE /** - * Check if the other mob has any factions the same as us - * - * If exact match is set, then all our factions must match exactly - */ + * Check if the other mob has any factions the same as us + * + * If exact match is set, then all our factions must match exactly + */ /mob/proc/faction_check_mob(mob/target, exact_match) if(exact_match) //if we need an exact match, we need to do some bullfuckery. var/list/faction_src = faction.Copy() @@ -1075,12 +1075,12 @@ /** - * Fully update the name of a mob - * - * This will update a mob's name, real_name, mind.name, GLOB.data_core records, pda, id and traitor text - * - * Calling this proc without an oldname will only update the mob and skip updating the pda, id and records ~Carn - */ + * Fully update the name of a mob + * + * This will update a mob's name, real_name, mind.name, GLOB.data_core records, pda, id and traitor text + * + * Calling this proc without an oldname will only update the mob and skip updating the pda, id and records ~Carn + */ /mob/proc/fully_replace_character_name(oldname,newname) log_message("[src] name changed from [oldname] to [newname]", LOG_OWNERSHIP) if(!newname) @@ -1189,8 +1189,8 @@ return TRUE /** - * Get the mob VV dropdown extras - */ + * Get the mob VV dropdown extras + */ /mob/vv_get_dropdown() . = ..() VV_DROPDOWN_OPTION("", "---------") @@ -1259,8 +1259,8 @@ offer_control(src) /** - * extra var handling for the logging var - */ + * extra var handling for the logging var + */ /mob/vv_get_var(var_name) switch(var_name) if("logging") diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 0069d702f5f..fc26253274e 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -1,11 +1,11 @@ /** - * The mob, usually meant to be a creature of some type - * - * Has a client attached that is a living person (most of the time), although I have to admit - * sometimes it's hard to tell they're sentient - * - * Has a lot of the creature game world logic, such as health etc - */ + * The mob, usually meant to be a creature of some type + * + * Has a client attached that is a living person (most of the time), although I have to admit + * sometimes it's hard to tell they're sentient + * + * Has a lot of the creature game world logic, such as health etc + */ /mob datum_flags = DF_USE_TAG density = TRUE @@ -18,7 +18,7 @@ throwforce = 10 blocks_emissive = EMISSIVE_BLOCK_GENERIC - ///when this be added to vis_contents of something it inherit something.plane, important for visualisation of mob in openspace. + ///when this be added to vis_contents of something it inherit something.plane, important for visualisation of mob in openspace. vis_flags = VIS_INHERIT_PLANE var/lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 2228150a36d..1093a41e8b9 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -29,11 +29,11 @@ return zone /** - * Return the zone or randomly, another valid zone - * - * probability controls the chance it chooses the passed in zone, or another random zone - * defaults to 80 - */ + * Return the zone or randomly, another valid zone + * + * probability controls the chance it chooses the passed in zone, or another random zone + * defaults to 80 + */ /proc/ran_zone(zone, probability = 80) if(prob(probability)) zone = check_zone(zone) @@ -50,13 +50,13 @@ return FALSE /** - * Convert random parts of a passed in message to stars - * - * * phrase - the string to convert - * * probability - probability any character gets changed - * - * This proc is dangerously laggy, avoid it or die - */ + * Convert random parts of a passed in message to stars + * + * * phrase - the string to convert + * * probability - probability any character gets changed + * + * This proc is dangerously laggy, avoid it or die + */ /proc/stars(phrase, probability = 25) if(probability <= 0) return phrase @@ -73,8 +73,8 @@ return sanitize(.) /** - * Makes you speak like you're drunk - */ + * Makes you speak like you're drunk + */ /proc/slur(phrase) phrase = html_decode(phrase) var/leng = length(phrase) @@ -194,10 +194,10 @@ return message /** - * Turn text into complete gibberish! - * - * text is the inputted message, replace_characters will cause original letters to be replaced and chance are the odds that a character gets modified. - */ + * Turn text into complete gibberish! + * + * text is the inputted message, replace_characters will cause original letters to be replaced and chance are the odds that a character gets modified. + */ /proc/Gibberish(text, replace_characters = FALSE, chance = 50) text = html_decode(text) . = "" @@ -250,10 +250,10 @@ /** - * change a mob's act-intent. - * - * Input the intent as a string such as "help" or use "right"/"left - */ + * change a mob's act-intent. + * + * Input the intent as a string such as "help" or use "right"/"left + */ /mob/verb/a_intent_change(input as text) set name = "a-intent" set hidden = TRUE @@ -318,23 +318,23 @@ /** - * Fancy notifications for ghosts - * - * The kitchen sink of notification procs - * - * Arguments: - * * message - * * ghost_sound sound to play - * * enter_link Href link to enter the ghost role being notified for - * * source The source of the notification - * * alert_overlay The alert overlay to show in the alert message - * * action What action to take upon the ghost interacting with the notification, defaults to NOTIFY_JUMP - * * flashwindow Flash the byond client window - * * ignore_key Ignore keys if they're in the GLOB.poll_ignore list - * * header The header of the notifiaction - * * notify_suiciders If it should notify suiciders (who do not qualify for many ghost roles) - * * notify_volume How loud the sound should be to spook the user - */ + * Fancy notifications for ghosts + * + * The kitchen sink of notification procs + * + * Arguments: + * * message + * * ghost_sound sound to play + * * enter_link Href link to enter the ghost role being notified for + * * source The source of the notification + * * alert_overlay The alert overlay to show in the alert message + * * action What action to take upon the ghost interacting with the notification, defaults to NOTIFY_JUMP + * * flashwindow Flash the byond client window + * * ignore_key Ignore keys if they're in the GLOB.poll_ignore list + * * header The header of the notifiaction + * * notify_suiciders If it should notify suiciders (who do not qualify for many ghost roles) + * * notify_volume How loud the sound should be to spook the user + */ /proc/notify_ghosts(message, ghost_sound = null, enter_link = null, atom/source = null, mutable_appearance/alert_overlay = null, action = NOTIFY_JUMP, flashwindow = TRUE, ignore_mapload = TRUE, ignore_key, header = null, notify_suiciders = TRUE, notify_volume = 100) //Easy notification of ghosts. if(ignore_mapload && SSatoms.initialized != INITIALIZATION_INNEW_REGULAR) //don't notify for objects created during a map load return @@ -368,8 +368,8 @@ A.add_overlay(alert_overlay) /** - * Heal a robotic body part on a mob - */ + * Heal a robotic body part on a mob + */ /proc/item_heal_robotic(mob/living/carbon/human/H, mob/user, brute_heal, burn_heal) var/obj/item/bodypart/affecting = H.get_bodypart(check_zone(user.zone_selected)) if(affecting && affecting.status == BODYPART_ROBOTIC) @@ -408,10 +408,10 @@ return TRUE /** - * Offer control of the passed in mob to dead player - * - * Automatic logging and uses pollCandidatesForMob, how convenient - */ + * Offer control of the passed in mob to dead player + * + * Automatic logging and uses pollCandidatesForMob, how convenient + */ /proc/offer_control(mob/M) to_chat(M, "Control of your mob has been offered to dead players.") if(usr) @@ -507,10 +507,10 @@ . = TRUE /** - * Examine text for traits shared by multiple types. - * - * I wish examine was less copypasted. (oranges say, be the change you want to see buddy) - */ + * Examine text for traits shared by multiple types. + * + * I wish examine was less copypasted. (oranges say, be the change you want to see buddy) + */ /mob/proc/common_trait_examine() if(HAS_TRAIT(src, TRAIT_DISSECTED)) var/dissectionmsg = "" @@ -525,11 +525,11 @@ . += "This body has been reduced to a grotesque husk." /** - * Get the list of keywords for policy config - * - * This gets the type, mind assigned roles and antag datums as a list, these are later used - * to send the user relevant headadmin policy config - */ + * Get the list of keywords for policy config + * + * This gets the type, mind assigned roles and antag datums as a list, these are later used + * to send the user relevant headadmin policy config + */ /mob/proc/get_policy_keywords() . = list() . += "[type]" diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index db3ad278654..181fc4eac0e 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -1,8 +1,8 @@ /** - * If your mob is concious, drop the item in the active hand - * - * This is a hidden verb, likely for binding with winset for hotkeys - */ + * If your mob is concious, drop the item in the active hand + * + * This is a hidden verb, likely for binding with winset for hotkeys + */ /client/verb/drop_item() set hidden = TRUE if(!iscyborg(mob) && mob.stat == CONSCIOUS) @@ -10,13 +10,13 @@ return /** - * force move the control_object of your client mob - * - * Used in admin possession and called from the client Move proc - * ensures the possessed object moves and not the admin mob - * - * Has no sanity other than checking density - */ + * force move the control_object of your client mob + * + * Used in admin possession and called from the client Move proc + * ensures the possessed object moves and not the admin mob + * + * Has no sanity other than checking density + */ /client/proc/Move_object(direct) if(mob?.control_object) if(mob.control_object.density) @@ -31,41 +31,41 @@ #define MOVEMENT_DELAY_BUFFER_DELTA 1.25 /** - * Move a client in a direction - * - * Huge proc, has a lot of functionality - * - * Mostly it will despatch to the mob that you are the owner of to actually move - * in the physical realm - * - * Things that stop you moving as a mob: - * * world time being less than your next move_delay - * * not being in a mob, or that mob not having a loc - * * missing the n and direction parameters - * * being in remote control of an object (calls Moveobject instead) - * * being dead (it ghosts you instead) - * - * Things that stop you moving as a mob living (why even have OO if you're just shoving it all - * in the parent proc with istype checks right?): - * * having incorporeal_move set (calls Process_Incorpmove() instead) - * * being grabbed - * * being buckled (relaymove() is called to the buckled atom instead) - * * having your loc be some other mob (relaymove() is called on that mob instead) - * * Not having MOBILITY_MOVE - * * Failing Process_Spacemove() call - * - * At this point, if the mob is is confused, then a random direction and target turf will be calculated for you to travel to instead - * - * Now the parent call is made (to the byond builtin move), which moves you - * - * Some final move delay calculations (doubling if you moved diagonally successfully) - * - * if mob throwing is set I believe it's unset at this point via a call to finalize - * - * Finally if you're pulling an object and it's dense, you are turned 180 after the move - * (if you ask me, this should be at the top of the move so you don't dance around) - * - */ + * Move a client in a direction + * + * Huge proc, has a lot of functionality + * + * Mostly it will despatch to the mob that you are the owner of to actually move + * in the physical realm + * + * Things that stop you moving as a mob: + * * world time being less than your next move_delay + * * not being in a mob, or that mob not having a loc + * * missing the n and direction parameters + * * being in remote control of an object (calls Moveobject instead) + * * being dead (it ghosts you instead) + * + * Things that stop you moving as a mob living (why even have OO if you're just shoving it all + * in the parent proc with istype checks right?): + * * having incorporeal_move set (calls Process_Incorpmove() instead) + * * being grabbed + * * being buckled (relaymove() is called to the buckled atom instead) + * * having your loc be some other mob (relaymove() is called on that mob instead) + * * Not having MOBILITY_MOVE + * * Failing Process_Spacemove() call + * + * At this point, if the mob is is confused, then a random direction and target turf will be calculated for you to travel to instead + * + * Now the parent call is made (to the byond builtin move), which moves you + * + * Some final move delay calculations (doubling if you moved diagonally successfully) + * + * if mob throwing is set I believe it's unset at this point via a call to finalize + * + * Finally if you're pulling an object and it's dense, you are turned 180 after the move + * (if you ask me, this should be at the top of the move so you don't dance around) + * + */ /client/Move(n, direct) if(world.time < move_delay) //do not move anything ahead of this check please return FALSE @@ -152,10 +152,10 @@ mob.setDir(turn(mob.dir, 180)) /** - * Checks to see if you're being grabbed and if so attempts to break it - * - * Called by client/Move() - */ + * Checks to see if you're being grabbed and if so attempts to break it + * + * Called by client/Move() + */ /client/proc/Process_Grab() if(!mob.pulledby) return FALSE @@ -172,18 +172,18 @@ /** - * Allows mobs to ignore density and phase through objects - * - * Called by client/Move() - * - * The behaviour depends on the incorporeal_move value of the mob - * - * * INCORPOREAL_MOVE_BASIC - forceMoved to the next tile with no stop - * * INCORPOREAL_MOVE_SHADOW - the same but leaves a cool effect path - * * INCORPOREAL_MOVE_JAUNT - the same but blocked by holy tiles - * - * You'll note this is another mob living level proc living at the client level - */ + * Allows mobs to ignore density and phase through objects + * + * Called by client/Move() + * + * The behaviour depends on the incorporeal_move value of the mob + * + * * INCORPOREAL_MOVE_BASIC - forceMoved to the next tile with no stop + * * INCORPOREAL_MOVE_SHADOW - the same but leaves a cool effect path + * * INCORPOREAL_MOVE_JAUNT - the same but blocked by holy tiles + * + * You'll note this is another mob living level proc living at the client level + */ /client/proc/Process_Incorpmove(direct) var/turf/mobloc = get_turf(mob) if(!isliving(mob)) @@ -260,14 +260,14 @@ /** - * Handles mob/living movement in space (or no gravity) - * - * Called by /client/Move() - * - * return TRUE for movement or FALSE for none - * - * You can move in space if you have a spacewalk ability - */ + * Handles mob/living movement in space (or no gravity) + * + * Called by /client/Move() + * + * return TRUE for movement or FALSE for none + * + * You can move in space if you have a spacewalk ability + */ /mob/Process_Spacemove(movement_dir = 0) . = ..() if(. || HAS_TRAIT(src, TRAIT_SPACEWALK)) @@ -281,8 +281,8 @@ return FALSE /** - * Find movable atoms? near a mob that are viable for pushing off when moving - */ + * Find movable atoms? near a mob that are viable for pushing off when moving + */ /mob/get_spacemove_backup() for(var/A in orange(1, get_turf(src))) if(isarea(A)) @@ -310,16 +310,16 @@ . = AM /** - * Returns true if a mob has gravity - * - * I hate that this exists - */ + * Returns true if a mob has gravity + * + * I hate that this exists + */ /mob/proc/mob_has_gravity() return has_gravity() /** - * Does this mob ignore gravity - */ + * Does this mob ignore gravity + */ /mob/proc/mob_negates_gravity() return FALSE @@ -345,10 +345,10 @@ return mob && mob.hud_used && mob.hud_used.zone_select && istype(mob.hud_used.zone_select, /atom/movable/screen/zone_sel) /** - * Hidden verb to set the target zone of a mob to the head - * - * (bound to 8) - repeated presses toggles through head - eyes - mouth - */ + * Hidden verb to set the target zone of a mob to the head + * + * (bound to 8) - repeated presses toggles through head - eyes - mouth + */ /client/verb/body_toggle_head() set name = "body-toggle-head" set hidden = TRUE @@ -443,10 +443,10 @@ mob.toggle_move_intent(usr) /** - * Toggle the move intent of the mob - * - * triggers an update the move intent hud as well - */ + * Toggle the move intent of the mob + * + * triggers an update the move intent hud as well + */ /mob/proc/toggle_move_intent(mob/user) if(m_intent == MOVE_INTENT_RUN) m_intent = MOVE_INTENT_WALK diff --git a/code/modules/mob/mob_say.dm b/code/modules/mob/mob_say.dm index bcede6f82da..923c0f984eb 100644 --- a/code/modules/mob/mob_say.dm +++ b/code/modules/mob/mob_say.dm @@ -98,18 +98,18 @@ ///The amount of items we are looking for in the message #define MESSAGE_MODS_LENGTH 6 /** - * Extracts and cleans message of any extenstions at the begining of the message - * Inserts the info into the passed list, returns the cleaned message - * - * Result can be - * * SAY_MODE (Things like aliens, channels that aren't channels) - * * MODE_WHISPER (Quiet speech) - * * MODE_SING (Singing) - * * MODE_HEADSET (Common radio channel) - * * RADIO_EXTENSION the extension we're using (lots of values here) - * * RADIO_KEY the radio key we're using, to make some things easier later (lots of values here) - * * LANGUAGE_EXTENSION the language we're trying to use (lots of values here) - */ + * Extracts and cleans message of any extenstions at the begining of the message + * Inserts the info into the passed list, returns the cleaned message + * + * Result can be + * * SAY_MODE (Things like aliens, channels that aren't channels) + * * MODE_WHISPER (Quiet speech) + * * MODE_SING (Singing) + * * MODE_HEADSET (Common radio channel) + * * RADIO_EXTENSION the extension we're using (lots of values here) + * * RADIO_KEY the radio key we're using, to make some things easier later (lots of values here) + * * LANGUAGE_EXTENSION the language we're trying to use (lots of values here) + */ /mob/proc/get_message_mods(message, list/mods) for(var/I in 1 to MESSAGE_MODS_LENGTH) // Prevents "...text" from being read as a radio message diff --git a/code/modules/mob/status_procs.dm b/code/modules/mob/status_procs.dm index 871594de7fa..d1ade315f67 100644 --- a/code/modules/mob/status_procs.dm +++ b/code/modules/mob/status_procs.dm @@ -8,10 +8,10 @@ jitteriness = max(jitteriness,amount,0) /** - * Set the dizzyness of a mob to a passed in amount - * - * Except if dizziness is already higher in which case it does nothing - */ + * Set the dizzyness of a mob to a passed in amount + * + * Except if dizziness is already higher in which case it does nothing + */ /mob/proc/Dizzy(amount) dizziness = max(dizziness,amount,0) @@ -24,18 +24,18 @@ adjust_blindness(amount) /** - * Adjust a mobs blindness by an amount - * - * Will apply the blind alerts if needed - */ + * Adjust a mobs blindness by an amount + * + * Will apply the blind alerts if needed + */ /mob/proc/adjust_blindness(amount) var/old_eye_blind = eye_blind eye_blind = max(0, eye_blind + amount) if(!old_eye_blind || !eye_blind && !HAS_TRAIT(src, TRAIT_BLIND)) update_blindness() /** - * Force set the blindness of a mob to some level - */ + * Force set the blindness of a mob to some level + */ /mob/proc/set_blindness(amount) var/old_eye_blind = eye_blind eye_blind = max(amount, 0) @@ -71,16 +71,16 @@ /** - * Make the mobs vision blurry - */ + * Make the mobs vision blurry + */ /mob/proc/blur_eyes(amount) if(amount>0) eye_blurry = max(amount, eye_blurry) update_eye_blur() /** - * Adjust the current blurriness of the mobs vision by amount - */ + * Adjust the current blurriness of the mobs vision by amount + */ /mob/proc/adjust_blurriness(amount) eye_blurry = max(eye_blurry+amount, 0) update_eye_blur() diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index 59549f4eb65..41f843ddfdd 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -264,16 +264,16 @@ //check_update_ui_need() /** - * Displays notification text alongside a soundbeep when requested to by a program. - * - * After checking tha the requesting program is allowed to send an alert, creates - * a visible message of the requested text alongside a soundbeep. This proc adds - * text to indicate that the message is coming from this device and the program - * on it, so the supplied text should be the exact message and ending punctuation. - * - * Arguments: - * The program calling this proc. - * The message that the program wishes to display. + * Displays notification text alongside a soundbeep when requested to by a program. + * + * After checking tha the requesting program is allowed to send an alert, creates + * a visible message of the requested text alongside a soundbeep. This proc adds + * text to indicate that the message is coming from this device and the program + * on it, so the supplied text should be the exact message and ending punctuation. + * + * Arguments: + * The program calling this proc. + * The message that the program wishes to display. */ /obj/item/modular_computer/proc/alert_call(datum/computer_file/program/caller, alerttext, sound = 'sound/machines/twobeep_high.ogg') @@ -382,10 +382,10 @@ update_icon() /** - * Toggles the computer's flashlight, if it has one. - * - * Called from ui_act(), does as the name implies. - * It is seperated from ui_act() to be overwritten as needed. + * Toggles the computer's flashlight, if it has one. + * + * Called from ui_act(), does as the name implies. + * It is seperated from ui_act() to be overwritten as needed. */ /obj/item/modular_computer/proc/toggle_flashlight() if(!has_light) @@ -398,12 +398,12 @@ return TRUE /** - * Sets the computer's light color, if it has a light. - * - * Called from ui_act(), this proc takes a color string and applies it. - * It is seperated from ui_act() to be overwritten as needed. - * Arguments: - ** color is the string that holds the color value that we should use. Proc auto-fails if this is null. + * Sets the computer's light color, if it has a light. + * + * Called from ui_act(), this proc takes a color string and applies it. + * It is seperated from ui_act() to be overwritten as needed. + * Arguments: + ** color is the string that holds the color value that we should use. Proc auto-fails if this is null. */ /obj/item/modular_computer/proc/set_flashlight_color(color) if(!has_light || !color) diff --git a/code/modules/modular_computers/computers/item/tablet.dm b/code/modules/modular_computers/computers/item/tablet.dm index d48b62d8817..bdad719f854 100644 --- a/code/modules/modular_computers/computers/item/tablet.dm +++ b/code/modules/modular_computers/computers/item/tablet.dm @@ -84,15 +84,15 @@ return FALSE /** - * Returns a ref to the RoboTact app, creating the app if need be. - * - * The RoboTact app is important for borgs, and so should always be available. - * This proc will look for it in the tablet's robotact var, then check the - * hard drive if the robotact var is unset, and finally attempt to create a new - * copy if the hard drive does not contain the app. If the hard drive rejects - * the new copy (such as due to lack of space), the proc will crash with an error. - * RoboTact is supposed to be undeletable, so these will create runtime messages. - */ + * Returns a ref to the RoboTact app, creating the app if need be. + * + * The RoboTact app is important for borgs, and so should always be available. + * This proc will look for it in the tablet's robotact var, then check the + * hard drive if the robotact var is unset, and finally attempt to create a new + * copy if the hard drive does not contain the app. If the hard drive rejects + * the new copy (such as due to lack of space), the proc will crash with an error. + * RoboTact is supposed to be undeletable, so these will create runtime messages. + */ /obj/item/modular_computer/tablet/integrated/proc/get_robotact() if(!borgo) return null diff --git a/code/modules/modular_computers/file_system/program.dm b/code/modules/modular_computers/file_system/program.dm index 4c3f252de13..699ccb0947b 100644 --- a/code/modules/modular_computers/file_system/program.dm +++ b/code/modules/modular_computers/file_system/program.dm @@ -89,15 +89,15 @@ return TRUE /** - *Check if the user can run program. Only humans can operate computer. Automatically called in run_program() - *ID must be inserted into a card slot to be read. If the program is not currently installed (as is the case when - *NT Software Hub is checking available software), a list can be given to be used instead. - *Arguments: - *user is a ref of the mob using the device. - *loud is a bool deciding if this proc should use to_chats - *access_to_check is an access level that will be checked against the ID - *transfer, if TRUE and access_to_check is null, will tell this proc to use the program's transfer_access in place of access_to_check - *access can contain a list of access numbers to check against. If access is not empty, it will be used istead of checking any inserted ID. + *Check if the user can run program. Only humans can operate computer. Automatically called in run_program() + *ID must be inserted into a card slot to be read. If the program is not currently installed (as is the case when + *NT Software Hub is checking available software), a list can be given to be used instead. + *Arguments: + *user is a ref of the mob using the device. + *loud is a bool deciding if this proc should use to_chats + *access_to_check is an access level that will be checked against the ID + *transfer, if TRUE and access_to_check is null, will tell this proc to use the program's transfer_access in place of access_to_check + *access can contain a list of access numbers to check against. If access is not empty, it will be used istead of checking any inserted ID. */ /datum/computer_file/program/proc/can_run(mob/user, loud = FALSE, access_to_check, transfer = FALSE, list/access) // Defaults to required_access @@ -159,15 +159,15 @@ return FALSE /** - * - *Called by the device when it is emagged. - * - *Emagging the device allows certain programs to unlock new functions. However, the program will - *need to be downloaded first, and then handle the unlock on their own in their run_emag() proc. - *The device will allow an emag to be run multiple times, so the user can re-emag to run the - *override again, should they download something new. The run_emag() proc should return TRUE if - *the emagging affected anything, and FALSE if no change was made (already emagged, or has no - *emag functions). + * + *Called by the device when it is emagged. + * + *Emagging the device allows certain programs to unlock new functions. However, the program will + *need to be downloaded first, and then handle the unlock on their own in their run_emag() proc. + *The device will allow an emag to be run multiple times, so the user can re-emag to run the + *override again, should they download something new. The run_emag() proc should return TRUE if + *the emagging affected anything, and FALSE if no change was made (already emagged, or has no + *emag functions). **/ /datum/computer_file/program/proc/run_emag() return FALSE diff --git a/code/modules/modular_computers/file_system/programs/radar.dm b/code/modules/modular_computers/file_system/programs/radar.dm index 7f688b7efd3..0bf5eb21184 100644 --- a/code/modules/modular_computers/file_system/programs/radar.dm +++ b/code/modules/modular_computers/file_system/programs/radar.dm @@ -74,13 +74,13 @@ scan() /** - *Updates tracking information of the selected target. - * - *The track() proc updates the entire set of information about the location - *of the target, including whether the Ntos window should use a pinpointer - *crosshair over the up/down arrows, or none in favor of a rotating arrow - *for far away targets. This information is returned in the form of a list. - * + *Updates tracking information of the selected target. + * + *The track() proc updates the entire set of information about the location + *of the target, including whether the Ntos window should use a pinpointer + *crosshair over the up/down arrows, or none in favor of a rotating arrow + *for far away targets. This information is returned in the form of a list. + * */ /datum/computer_file/program/radar/proc/track() var/atom/movable/signal = find_atom() @@ -116,13 +116,13 @@ return trackinfo /** - * - *Checks the trackability of the selected target. - * - *If the target is on the computer's Z level, or both are on station Z - *levels, and the target isn't untrackable, return TRUE. - *Arguments: - **arg1 is the atom being evaluated. + * + *Checks the trackability of the selected target. + * + *If the target is on the computer's Z level, or both are on station Z + *levels, and the target isn't untrackable, return TRUE. + *Arguments: + **arg1 is the atom being evaluated. */ /datum/computer_file/program/radar/proc/trackable(atom/movable/signal) if(!signal || !computer) @@ -134,30 +134,30 @@ return (there.z == here.z) || (is_station_level(here.z) && is_station_level(there.z)) /** - * - *Runs a scan of all the trackable atoms. - * - *Checks each entry in the GLOB of the specific trackable atoms against - *the track() proc, and fill the objects list with lists containing the - *atoms' names and REFs. The objects list is handed to the tgui screen - *for displaying to, and being selected by, the user. A two second - *sleep is used to delay the scan, both for thematical reasons as well - *as to limit the load players may place on the server using these - *somewhat costly loops. + * + *Runs a scan of all the trackable atoms. + * + *Checks each entry in the GLOB of the specific trackable atoms against + *the track() proc, and fill the objects list with lists containing the + *atoms' names and REFs. The objects list is handed to the tgui screen + *for displaying to, and being selected by, the user. A two second + *sleep is used to delay the scan, both for thematical reasons as well + *as to limit the load players may place on the server using these + *somewhat costly loops. */ /datum/computer_file/program/radar/proc/scan() return /** - * - *Finds the atom in the appropriate list that the `selected` var indicates - * - *The `selected` var holds a REF, which is a string. A mob REF may be - *something like "mob_209". In order to find the actual atom, we need - *to search the appropriate list for the REF string. This is dependant - *on the program (Lifeline uses GLOB.human_list, while Fission360 uses - *GLOB.poi_list), but the result will be the same; evaluate the string and - *return an atom reference. + * + *Finds the atom in the appropriate list that the `selected` var indicates + * + *The `selected` var holds a REF, which is a string. A mob REF may be + *something like "mob_209". In order to find the actual atom, we need + *to search the appropriate list for the REF string. This is dependant + *on the program (Lifeline uses GLOB.human_list, while Fission360 uses + *GLOB.poi_list), but the result will be the same; evaluate the string and + *return an atom reference. */ /datum/computer_file/program/radar/proc/find_atom() return diff --git a/code/modules/modular_computers/file_system/programs/robotact.dm b/code/modules/modular_computers/file_system/programs/robotact.dm index cf2692dd081..0bd166624e0 100644 --- a/code/modules/modular_computers/file_system/programs/robotact.dm +++ b/code/modules/modular_computers/file_system/programs/robotact.dm @@ -135,11 +135,11 @@ borgo.toggle_headlamp(FALSE, TRUE) /** - * Forces a full update of the UI, if currently open. - * - * Forces an update that includes refreshing ui_static_data. Called by - * law changes and borg log additions. - */ + * Forces a full update of the UI, if currently open. + * + * Forces an update that includes refreshing ui_static_data. Called by + * law changes and borg log additions. + */ /datum/computer_file/program/robotact/proc/force_full_update() if(tablet) var/datum/tgui/active_ui = SStgui.get_open_ui(tablet.borgo, src) diff --git a/code/modules/modular_computers/file_system/programs/sm_monitor.dm b/code/modules/modular_computers/file_system/programs/sm_monitor.dm index 5653e4621d9..799a4eb3ebf 100644 --- a/code/modules/modular_computers/file_system/programs/sm_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/sm_monitor.dm @@ -60,11 +60,11 @@ . = max(., S.get_status()) /** - * Sets up the signal listener for Supermatter delaminations. - * - * Unregisters any old listners for SM delams, and then registers one for the SM refered - * to in the `active` variable. This proc is also used with no active SM to simply clear - * the signal and exit. + * Sets up the signal listener for Supermatter delaminations. + * + * Unregisters any old listners for SM delams, and then registers one for the SM refered + * to in the `active` variable. This proc is also used with no active SM to simply clear + * the signal and exit. */ /datum/computer_file/program/supermatter_monitor/proc/set_signals() if(active) @@ -72,9 +72,9 @@ RegisterSignal(active, COMSIG_SUPERMATTER_DELAM_START_ALARM, .proc/send_start_alert, override = TRUE) /** - * Removes the signal listener for Supermatter delaminations from the selected supermatter. - * - * Pretty much does what it says. + * Removes the signal listener for Supermatter delaminations from the selected supermatter. + * + * Pretty much does what it says. */ /datum/computer_file/program/supermatter_monitor/proc/clear_signals() if(active) @@ -82,12 +82,12 @@ UnregisterSignal(active, COMSIG_SUPERMATTER_DELAM_START_ALARM) /** - * Sends an SM delam alert to the computer. - * - * Triggered by a signal from the selected supermatter, this proc sends a notification - * to the computer if the program is either closed or minimized. We do not send these - * notifications to the comptuer if we're the active program, because engineers fixing - * the supermatter probably don't need constant beeping to distract them. + * Sends an SM delam alert to the computer. + * + * Triggered by a signal from the selected supermatter, this proc sends a notification + * to the computer if the program is either closed or minimized. We do not send these + * notifications to the comptuer if we're the active program, because engineers fixing + * the supermatter probably don't need constant beeping to distract them. */ /datum/computer_file/program/supermatter_monitor/proc/send_alert() if(!computer.get_ntnet_status()) @@ -97,13 +97,13 @@ alert_pending = TRUE /** - * Sends an SM delam start alert to the computer. - * - * Triggered by a signal from the selected supermatter at the start of a delamination, - * this proc sends a notification to the computer if this program is the active one. - * We do this so that people carrying a tablet with NT CIMS open but with the NTOS window - * closed will still get one audio alert. This is not sent to computers with the program - * minimized or closed to avoid double-notifications. + * Sends an SM delam start alert to the computer. + * + * Triggered by a signal from the selected supermatter at the start of a delamination, + * this proc sends a notification to the computer if this program is the active one. + * We do this so that people carrying a tablet with NT CIMS open but with the NTOS window + * closed will still get one audio alert. This is not sent to computers with the program + * minimized or closed to avoid double-notifications. */ /datum/computer_file/program/supermatter_monitor/proc/send_start_alert() if(!computer.get_ntnet_status()) diff --git a/code/modules/modular_computers/hardware/_hardware.dm b/code/modules/modular_computers/hardware/_hardware.dm index b65c9c85510..850ba76f063 100644 --- a/code/modules/modular_computers/hardware/_hardware.dm +++ b/code/modules/modular_computers/hardware/_hardware.dm @@ -101,13 +101,13 @@ return FALSE /** - * Implement this when your hardware contains an object that the user can eject. - * - * Examples include ejecting cells from battery modules, ejecting an ID card from a card reader - * or ejecting an Intellicard from an AI card slot. - * Arguments: - * * user - The mob requesting the eject. - * * forced - Whether this action should be forced in some way. - */ + * Implement this when your hardware contains an object that the user can eject. + * + * Examples include ejecting cells from battery modules, ejecting an ID card from a card reader + * or ejecting an Intellicard from an AI card slot. + * Arguments: + * * user - The mob requesting the eject. + * * forced - Whether this action should be forced in some way. + */ /obj/item/computer_hardware/proc/try_eject(mob/living/user = null, forced = FALSE) return FALSE diff --git a/code/modules/modular_computers/hardware/card_slot.dm b/code/modules/modular_computers/hardware/card_slot.dm index 926d4e6374a..9139eee0b03 100644 --- a/code/modules/modular_computers/hardware/card_slot.dm +++ b/code/modules/modular_computers/hardware/card_slot.dm @@ -100,7 +100,7 @@ to_chat(user, "You adjust the connecter to fit into [expansion_hw ? "an expansion bay" : "the primary ID bay"].") /** - *Swaps the card_slot hardware between using the dedicated card slot bay on a computer, and using an expansion bay. + *Swaps the card_slot hardware between using the dedicated card slot bay on a computer, and using an expansion bay. */ /obj/item/computer_hardware/card_slot/proc/swap_slot() expansion_hw = !expansion_hw diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm index 52ac682b9cf..249105adab6 100644 --- a/code/modules/ninja/energy_katana.dm +++ b/code/modules/ninja/energy_katana.dm @@ -1,14 +1,14 @@ /** - * # Energy Katana - * - * The space ninja's katana. - * - * The katana that only space ninja spawns with. Comes with 30 force and throwforce, along with a signature special jaunting system. - * Upon clicking on a tile with the dash on, the user will teleport to that tile, assuming their target was not dense. - * The katana has 3 dashes stored at maximum, and upon using the dash, it will return 20 seconds after it was used. - * It also has a special feature where if it is tossed at a space ninja who owns it (determined by the ninja suit), the ninja will catch the katana instead of being hit by it. - * - */ + * # Energy Katana + * + * The space ninja's katana. + * + * The katana that only space ninja spawns with. Comes with 30 force and throwforce, along with a signature special jaunting system. + * Upon clicking on a tile with the dash on, the user will teleport to that tile, assuming their target was not dense. + * The katana has 3 dashes stored at maximum, and upon using the dash, it will return 20 seconds after it was used. + * It also has a special feature where if it is tossed at a space ninja who owns it (determined by the ninja suit), the ninja will catch the katana instead of being hit by it. + * + */ /obj/item/energy_katana name = "energy katana" desc = "A katana infused with strong energy." @@ -43,7 +43,7 @@ /obj/item/energy_katana/attack_self(mob/user) dash_toggled = !dash_toggled to_chat(user, "You [dash_toggled ? "enable" : "disable"] the dash function on [src].") - + /obj/item/energy_katana/afterattack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() if(dash_toggled && !Adjacent(target) && !target.density) @@ -80,14 +80,14 @@ return ..() /** - * Proc called when the katana is recalled to its space ninja. - * - * Proc called when space ninja is hit with its suit's katana or the recall ability is used. - * Arguments: - * * user - To whom the katana is returning to. - * * doSpark - whether or not the katana will spark when it returns. - * * caught - boolean for whether or not the katana was caught or was teleported back. - */ + * Proc called when the katana is recalled to its space ninja. + * + * Proc called when space ninja is hit with its suit's katana or the recall ability is used. + * Arguments: + * * user - To whom the katana is returning to. + * * doSpark - whether or not the katana will spark when it returns. + * * caught - boolean for whether or not the katana was caught or was teleported back. + */ /obj/item/energy_katana/proc/returnToOwner(mob/living/carbon/human/user, doSpark = TRUE, caught = FALSE) if(!istype(user)) return diff --git a/code/modules/ninja/ninja_explosive.dm b/code/modules/ninja/ninja_explosive.dm index 097c0b19a21..f915f722c4c 100644 --- a/code/modules/ninja/ninja_explosive.dm +++ b/code/modules/ninja/ninja_explosive.dm @@ -1,11 +1,11 @@ /** - * # Spider Charge - * - * A unique version of c4 possessed only by the space ninja. Has a stronger blast radius. - * Can only be detonated by space ninjas with the bombing objective. Can only be set up where the objective says it can. - * When it primes, the space ninja responsible will have their objective set to complete. - * - */ + * # Spider Charge + * + * A unique version of c4 possessed only by the space ninja. Has a stronger blast radius. + * Can only be detonated by space ninjas with the bombing objective. Can only be set up where the objective says it can. + * When it primes, the space ninja responsible will have their objective set to complete. + * + */ /obj/item/grenade/c4/ninja name = "spider charge" desc = "A modified C-4 charge supplied to you by the Spider Clan. Its explosive power has been juiced up, but only works in one specific area." diff --git a/code/modules/ninja/suit/gloves.dm b/code/modules/ninja/suit/gloves.dm index b4c945b5be1..6c91a155bbd 100644 --- a/code/modules/ninja/suit/gloves.dm +++ b/code/modules/ninja/suit/gloves.dm @@ -1,13 +1,13 @@ /** - * # Ninja Gloves - * - * Space ninja's gloves. Gives access to a number of special interactions. - * - * Gloves only found from space ninjas. Allows the wearer to access special interactions with various objects. - * These interactions are detailed in ninjaDrainAct.dm in the suit file. - * These interactions are toggled by an action tied to the gloves. The interactions will not activate if the user is also not wearing a ninja suit. - * - */ + * # Ninja Gloves + * + * Space ninja's gloves. Gives access to a number of special interactions. + * + * Gloves only found from space ninjas. Allows the wearer to access special interactions with various objects. + * These interactions are detailed in ninjaDrainAct.dm in the suit file. + * These interactions are toggled by an action tied to the gloves. The interactions will not activate if the user is also not wearing a ninja suit. + * + */ /obj/item/clothing/gloves/space_ninja desc = "These nano-enhanced gloves insulate from electricity and provide fire resistance." name = "ninja gloves" diff --git a/code/modules/ninja/suit/head.dm b/code/modules/ninja/suit/head.dm index ca35ca5237b..6c3bb427763 100644 --- a/code/modules/ninja/suit/head.dm +++ b/code/modules/ninja/suit/head.dm @@ -1,11 +1,11 @@ /** - * # Ninja Hood - * - * Space ninja's hood. Provides armor and blocks AI tracking. - * - * A hood that only exists as a part of space ninja's starting kit. Provides armor equal of space ninja's suit and disallows an AI to track the wearer. - * - */ + * # Ninja Hood + * + * Space ninja's hood. Provides armor and blocks AI tracking. + * + * A hood that only exists as a part of space ninja's starting kit. Provides armor equal of space ninja's suit and disallows an AI to track the wearer. + * + */ /obj/item/clothing/head/helmet/space/space_ninja desc = "What may appear to be a simple black garment is in fact a highly sophisticated nano-weave helmet. Standard issue ninja gear." name = "ninja hood" diff --git a/code/modules/ninja/suit/mask.dm b/code/modules/ninja/suit/mask.dm index aac1375f69c..75b19e2b4a6 100644 --- a/code/modules/ninja/suit/mask.dm +++ b/code/modules/ninja/suit/mask.dm @@ -1,11 +1,11 @@ /** - * # Ninja Mask - * - * Space ninja's mask. Other than looking cool, doesn't do anything. - * - * A mask which only spawns as a part of space ninja's starting kit. Functions as a gas mask. - * - */ + * # Ninja Mask + * + * Space ninja's mask. Other than looking cool, doesn't do anything. + * + * A mask which only spawns as a part of space ninja's starting kit. Functions as a gas mask. + * + */ /obj/item/clothing/mask/gas/space_ninja name = "ninja mask" desc = "A close-fitting mask that acts both as an air filter and a post-modern fashion statement." diff --git a/code/modules/ninja/suit/ninjaDrainAct.dm b/code/modules/ninja/suit/ninjaDrainAct.dm index c25e23f2cc8..f494916fa92 100644 --- a/code/modules/ninja/suit/ninjaDrainAct.dm +++ b/code/modules/ninja/suit/ninjaDrainAct.dm @@ -1,13 +1,13 @@ /** - * Atom level proc for space ninja's glove interactions. - * - * Proc which only occurs when space ninja uses his gloves on an atom. - * Does nothing by default, but effects will vary. - * Arguments: - * * ninja_suit - The offending space ninja's suit. - * * ninja - The human mob wearing the suit. - * * ninja_gloves - The offending space ninja's gloves. - */ + * Atom level proc for space ninja's glove interactions. + * + * Proc which only occurs when space ninja uses his gloves on an atom. + * Does nothing by default, but effects will vary. + * Arguments: + * * ninja_suit - The offending space ninja's suit. + * * ninja - The human mob wearing the suit. + * * ninja_gloves - The offending space ninja's gloves. + */ /atom/proc/ninjadrain_act(obj/item/clothing/suit/space/space_ninja/ninja_suit, mob/living/carbon/human/ninja, obj/item/clothing/gloves/space_ninja/ninja_gloves) return INVALID_DRAIN @@ -104,7 +104,7 @@ charge = 0 corrupt() update_icon() - + return drain_total //RDCONSOLE// @@ -231,7 +231,7 @@ else drain_total += drained ninja_suit.spark_system.start() - + return drain_total //MECH// @@ -279,7 +279,7 @@ ionpulse = TRUE laws = new /datum/ai_laws/ninja_override() module.transform_to(pick(/obj/item/robot_module/syndicate, /obj/item/robot_module/syndicate_medical, /obj/item/robot_module/saboteur)) - + var/datum/antagonist/ninja/ninja_antag = ninja.mind.has_antag_datum(/datum/antagonist/ninja) if(!ninja_antag) return diff --git a/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm b/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm index bae82aaa2dc..7859a406615 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm @@ -1,12 +1,12 @@ /** - * # Energy Net - * - * Energy net which ensnares prey until it is destroyed. Used by space ninjas. - * - * Energy net which keeps its target from moving until it is destroyed. Used to send - * players to a holding area in which they could never leave, but such feature has since - * been removed. - */ + * # Energy Net + * + * Energy net which ensnares prey until it is destroyed. Used by space ninjas. + * + * Energy net which keeps its target from moving until it is destroyed. Used to send + * players to a holding area in which they could never leave, but such feature has since + * been removed. + */ /obj/structure/energy_net name = "energy net" desc = "It's a net made of green energy." diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_adrenaline.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_adrenaline.dm index 7cd8ef8f0bc..d5d1a526783 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_adrenaline.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_adrenaline.dm @@ -9,12 +9,12 @@ icon_icon = 'icons/mob/actions/actions_spells.dmi' /** - * Proc called to activate space ninja's adrenaline. - * - * Proc called to use space ninja's adrenaline. Gets the ninja out of almost any stun. - * Also makes them shout MGS references when used. After a bit, it injects the user with - * radium by calling a different proc. - */ + * Proc called to activate space ninja's adrenaline. + * + * Proc called to use space ninja's adrenaline. Gets the ninja out of almost any stun. + * Also makes them shout MGS references when used. After a bit, it injects the user with + * radium by calling a different proc. + */ /obj/item/clothing/suit/space/space_ninja/proc/ninjaboost() if(ninjacost(0,N_ADRENALINE)) return @@ -34,11 +34,11 @@ addtimer(CALLBACK(src, .proc/ninjaboost_after), 70) /** - * Proc called to inject the ninja with radium. - * - * Used after 7 seconds of using the ninja's adrenaline. - * Injects the user with how much radium the suit needs to refill an adrenaline boost. - */ + * Proc called to inject the ninja with radium. + * + * Used after 7 seconds of using the ninja's adrenaline. + * Injects the user with how much radium the suit needs to refill an adrenaline boost. + */ /obj/item/clothing/suit/space/space_ninja/proc/ninjaboost_after() var/mob/living/carbon/human/ninja = affecting ninja.reagents.add_reagent(/datum/reagent/uranium/radium, a_transfer * 0.25) diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_cost_check.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_cost_check.dm index b142751403b..7fb9d9dbf68 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_cost_check.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_cost_check.dm @@ -1,13 +1,13 @@ /** - * Proc called to check if the ninja can afford an ability's cost. - * - * Proc which determine whether or not a space ninja can afford to use a specific ability. - * It can also cancel stealth if the ability requested it. - * Arguments: - * * cost - the energy cost of the ability - * * specificCheck - Determines if the check is a normal one, an adrenaline one, or a stealth cancel check. - * * Returns TRUE or the current cooldown timer if we can't perform the ability, and FALSE if we can. - */ + * Proc called to check if the ninja can afford an ability's cost. + * + * Proc which determine whether or not a space ninja can afford to use a specific ability. + * It can also cancel stealth if the ability requested it. + * Arguments: + * * cost - the energy cost of the ability + * * specificCheck - Determines if the check is a normal one, an adrenaline one, or a stealth cancel check. + * * Returns TRUE or the current cooldown timer if we can't perform the ability, and FALSE if we can. + */ /obj/item/clothing/suit/space/space_ninja/proc/ninjacost(cost = 0, specificCheck = 0) var/mob/living/carbon/human/ninja = affecting var/actualCost = cost*10 diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_empulse.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_empulse.dm index d6f0132c4f3..ea2341a1323 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_empulse.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_empulse.dm @@ -7,11 +7,11 @@ icon_icon = 'icons/mob/actions/actions_spells.dmi' /** - * Proc called to allow the ninja to EMP the nearby area. - * - * Proc called to allow the ninja to EMP the nearby area. By default, costs 500E, which is half of the default battery's max charge. - * Also affects the ninja as well. - */ + * Proc called to allow the ninja to EMP the nearby area. + * + * Proc called to allow the ninja to EMP the nearby area. By default, costs 500E, which is half of the default battery's max charge. + * Also affects the ninja as well. + */ /obj/item/clothing/suit/space/space_ninja/proc/ninjapulse() if(ninjacost(500,N_STEALTH_CANCEL)) return diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_glove_toggle.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_glove_toggle.dm index f65edbac541..ec5bf078a55 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_glove_toggle.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_glove_toggle.dm @@ -5,10 +5,10 @@ icon_icon = 'icons/obj/clothing/gloves.dmi' /** - * Proc called to toggle the ninja glove's special abilities. - * - * Used to toggle whether or not the ninja glove's abilities will activate on touch. - */ + * Proc called to toggle the ninja glove's special abilities. + * + * Used to toggle whether or not the ninja glove's abilities will activate on touch. + */ /obj/item/clothing/gloves/space_ninja/proc/toggledrain() var/mob/living/carbon/human/ninja = loc to_chat(ninja, "You [candrain?"disable":"enable"] special interaction.") diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_net.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_net.dm index 1538b2ca0c3..82c585f93f5 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_net.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_net.dm @@ -5,11 +5,11 @@ icon_icon = 'icons/effects/effects.dmi' /** - * Proc called to ensnare a person in a energy net. - * - * Used to ensnare a target in an energy net, preventing them from moving until the net is broken. - * Costs 40E, which is 40% of the default battery's max charge. Intended as a means of reliably locking down an opponent when ninja stars won't suffice. - */ + * Proc called to ensnare a person in a energy net. + * + * Used to ensnare a target in an energy net, preventing them from moving until the net is broken. + * Costs 40E, which is 40% of the default battery's max charge. Intended as a means of reliably locking down an opponent when ninja stars won't suffice. + */ /obj/item/clothing/suit/space/space_ninja/proc/ninjanet() var/mob/living/carbon/human/ninja = affecting var/mob/living/net_target = input("Select who to capture:","Capture who?",null) as null|mob in sortNames(oview(ninja)) diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.dm index d68d290e25c..38c5c254476 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.dm @@ -5,12 +5,12 @@ icon_icon = 'icons/obj/items_and_weapons.dmi' /** - * Proc called to create a ninja star in the ninja's hands. - * - * Called to create a ninja star in the wearer's hand. The ninja - * star doesn't do much up-front damage, but deals stamina damage - * as the target moves around, forcing a finish or flee scenario. - */ + * Proc called to create a ninja star in the ninja's hands. + * + * Called to create a ninja star in the wearer's hand. The ninja + * star doesn't do much up-front damage, but deals stamina damage + * as the target moves around, forcing a finish or flee scenario. + */ /obj/item/clothing/suit/space/space_ninja/proc/ninjastar() if(ninjacost(10)) return @@ -24,20 +24,20 @@ ninja.throw_mode_on() //So they can quickly throw it. /** - * # Ninja Throwing Star - * - * a throwing star which specifically makes sure you know it came from a real ninja. - * - * The most important item in the entire codebase, as without it we would all cease to exist. - * Inherits everything that makes it interesting the stamina throwing star, but the most - * important change made is that its name specifically has the prefix, 'ninja' in it. - * This provides the detective role with information to play off of by ensuring that his - * assumption that a space ninja is aboard the ship to be true when he find 20 of these in - * the captain's back. Along with this, its throwforce is 10 instead of the 5 of the stamina - * throwing star, meaning it'll do a little more damage than the stamina throwing star does as well. - * Changes to this item need to be approved by all maintainers, so if you do change it, make sure - * you go through the proper channels, lest you get permabanned. Do I make myself clear? - */ + * # Ninja Throwing Star + * + * a throwing star which specifically makes sure you know it came from a real ninja. + * + * The most important item in the entire codebase, as without it we would all cease to exist. + * Inherits everything that makes it interesting the stamina throwing star, but the most + * important change made is that its name specifically has the prefix, 'ninja' in it. + * This provides the detective role with information to play off of by ensuring that his + * assumption that a space ninja is aboard the ship to be true when he find 20 of these in + * the captain's back. Along with this, its throwforce is 10 instead of the 5 of the stamina + * throwing star, meaning it'll do a little more damage than the stamina throwing star does as well. + * Changes to this item need to be approved by all maintainers, so if you do change it, make sure + * you go through the proper channels, lest you get permabanned. Do I make myself clear? + */ /obj/item/throwing_star/stamina/ninja name = "ninja throwing star" throwforce = 10 diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_status_read.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_status_read.dm index 76aa540510b..7ab3bedaaf0 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_status_read.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_status_read.dm @@ -6,13 +6,13 @@ icon_icon = 'icons/obj/device.dmi' /** - * Proc called to put a status readout to the ninja in chat. - * - * Called put some information about the ninja's current status into chat. - * This information used to be displayed constantly on the status tab screen - * when the suit was on, but was turned into this as to remove the code from - * human.dm - */ + * Proc called to put a status readout to the ninja in chat. + * + * Called put some information about the ninja's current status into chat. + * This information used to be displayed constantly on the status tab screen + * when the suit was on, but was turned into this as to remove the code from + * human.dm + */ /obj/item/clothing/suit/space/space_ninja/proc/ninjastatus() var/mob/living/carbon/human/ninja = affecting var/list/info_list = list() @@ -35,5 +35,5 @@ info_list += "Viruses:" for(var/datum/disease/ninja_disease in ninja.diseases) info_list += "* [ninja_disease.name], Type: [ninja_disease.spread_text], Stage: [ninja_disease.stage]/[ninja_disease.max_stages], Possible Cure: [ninja_disease.cure_text]\n" - + to_chat(ninja, "[info_list.Join()]") diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_stealth.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_stealth.dm index aaa52943dbb..079f0c53e94 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_stealth.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_stealth.dm @@ -5,11 +5,11 @@ icon_icon = 'icons/mob/actions/actions_minor_antag.dmi' /** - * Proc called to toggle ninja stealth. - * - * Proc called to toggle whether or not the ninja is in stealth mode. - * If cancelling, calls a separate proc in case something else needs to quickly cancel stealth. - */ + * Proc called to toggle ninja stealth. + * + * Proc called to toggle whether or not the ninja is in stealth mode. + * If cancelling, calls a separate proc in case something else needs to quickly cancel stealth. + */ /obj/item/clothing/suit/space/space_ninja/proc/toggle_stealth() var/mob/living/carbon/human/ninja = affecting if(!ninja) @@ -26,13 +26,13 @@ "You are now mostly invisible to normal detection.") /** - * Proc called to cancel stealth. - * - * Called to cancel the stealth effect if it is ongoing. - * Does nothing otherwise. - * Arguments: - * * Returns false if either the ninja no longer exists or is already visible, returns true if we successfully made the ninja visible. - */ + * Proc called to cancel stealth. + * + * Called to cancel the stealth effect if it is ongoing. + * Does nothing otherwise. + * Arguments: + * * Returns false if either the ninja no longer exists or is already visible, returns true if we successfully made the ninja visible. + */ /obj/item/clothing/suit/space/space_ninja/proc/cancel_stealth() var/mob/living/carbon/human/ninja = affecting if(!ninja) diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_suit_initialisation.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_suit_initialisation.dm index d9ea681443f..51167b0e0dd 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_suit_initialisation.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_suit_initialisation.dm @@ -28,10 +28,10 @@ GLOBAL_LIST_INIT(ninja_deinitialize_messages, list( name = "Toggle Ninja Suit" /** - * Toggles the ninja suit on/off - * - * Attempts to initialize or deinitialize the ninja suit - */ + * Toggles the ninja suit on/off + * + * Attempts to initialize or deinitialize the ninja suit + */ /obj/item/clothing/suit/space/space_ninja/proc/toggle_on_off() . = TRUE if(s_busy) @@ -44,14 +44,14 @@ GLOBAL_LIST_INIT(ninja_deinitialize_messages, list( ninitialize() /** - * Initializes the ninja suit - * - * Initializes the ninja suit through seven phases, each of which calls this proc with an incremented phase - * Arguments: - * * delay - The delay between each phase of initialization - * * ninja - The human who is being affected by the suit - * * phase - The phase of initialization - */ + * Initializes the ninja suit + * + * Initializes the ninja suit through seven phases, each of which calls this proc with an incremented phase + * Arguments: + * * delay - The delay between each phase of initialization + * * ninja - The human who is being affected by the suit + * * phase - The phase of initialization + */ /obj/item/clothing/suit/space/space_ninja/proc/ninitialize(delay = s_delay, mob/living/carbon/human/ninja = loc, phase = 0) if(!ninja || !ninja.mind) s_busy = FALSE @@ -85,14 +85,14 @@ GLOBAL_LIST_INIT(ninja_deinitialize_messages, list( addtimer(CALLBACK(src, .proc/ninitialize, delay, ninja, phase + 1), delay) /** - * Deinitializes the ninja suit - * - * Deinitializes the ninja suit through eight phases, each of which calls this proc with an incremented phase - * Arguments: - * * delay - The delay between each phase of deinitialization - * * ninja - The human who is being affected by the suit - * * phase - The phase of deinitialization - */ + * Deinitializes the ninja suit + * + * Deinitializes the ninja suit through eight phases, each of which calls this proc with an incremented phase + * Arguments: + * * delay - The delay between each phase of deinitialization + * * ninja - The human who is being affected by the suit + * * phase - The phase of deinitialization + */ /obj/item/clothing/suit/space/space_ninja/proc/deinitialize(delay = s_delay, mob/living/carbon/human/ninja = affecting == loc ? affecting : null, phase = 0) if (!ninja || !ninja.mind) s_busy = FALSE diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_sword_recall.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_sword_recall.dm index 69367e807fb..22fdf86ccd1 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_sword_recall.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_sword_recall.dm @@ -5,12 +5,12 @@ icon_icon = 'icons/obj/items_and_weapons.dmi' /** - * Proc called to recall the ninja's sword. - * - * Called to summon the ninja's katana back to them - * If the katana can see the ninja, it will throw itself towards them. - * If not, the katana will teleport itself to the ninja. - */ + * Proc called to recall the ninja's sword. + * + * Called to summon the ninja's katana back to them + * If the katana can see the ninja, it will throw itself towards them. + * If not, the katana will teleport itself to the ninja. + */ /obj/item/clothing/suit/space/space_ninja/proc/ninja_sword_recall() var/mob/living/carbon/human/ninja = affecting var/cost = 0 diff --git a/code/modules/ninja/suit/shoes.dm b/code/modules/ninja/suit/shoes.dm index fe4cb9bd401..cde636bb115 100644 --- a/code/modules/ninja/suit/shoes.dm +++ b/code/modules/ninja/suit/shoes.dm @@ -1,12 +1,12 @@ /** - * # Ninja Shoes - * - * Space ninja's shoes. Gives him armor on his feet. - * - * Space ninja's ninja shoes. How mousey. Gives him slip protection and protection against attacks. - * Also are temperature resistant. - * - */ + * # Ninja Shoes + * + * Space ninja's shoes. Gives him armor on his feet. + * + * Space ninja's ninja shoes. How mousey. Gives him slip protection and protection against attacks. + * Also are temperature resistant. + * + */ /obj/item/clothing/shoes/space_ninja name = "ninja shoes" desc = "A pair of running shoes. Excellent for running and even better for smashing skulls." diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm index 659f512d073..5ebec42d049 100644 --- a/code/modules/ninja/suit/suit.dm +++ b/code/modules/ninja/suit/suit.dm @@ -1,13 +1,13 @@ /** - * # Ninja Suit - * - * Space ninja's suit. Provides him with most of his powers. - * - * Space ninja's suit. Gives space ninja all his iconic powers, which are mostly kept in - * the folder ninja_equipment_actions. Has a lot of unique stuff going on, so make sure to check - * the variables. Check suit_attackby to see radium interaction, disk copying, and cell replacement. - * - */ + * # Ninja Suit + * + * Space ninja's suit. Provides him with most of his powers. + * + * Space ninja's suit. Gives space ninja all his iconic powers, which are mostly kept in + * the folder ninja_equipment_actions. Has a lot of unique stuff going on, so make sure to check + * the variables. Check suit_attackby to see radium interaction, disk copying, and cell replacement. + * + */ /obj/item/clothing/suit/space/space_ninja name = "ninja suit" desc = "A unique, vacuum-proof suit of nano-enhanced armor designed specifically for Spider Clan assassins." @@ -142,7 +142,7 @@ toggle_stealth() return TRUE return FALSE - + /obj/item/clothing/suit/space/space_ninja/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) . = ..() if(stealth) @@ -150,14 +150,14 @@ s_coold = 5 /** - * Proc for changing the suit's appearance upon locking. - * - * Proc for when space ninja's suit locks. If the user selects Original, gives it glowing lights, along with having an alternate sprite for female body types. - * Yes, we do have nipLEDs, how could you tell? - * If the user selects New Age, it applies new sprites to all the gear. - * Arguments: - * * ninja - The person wearing the suit. - */ + * Proc for changing the suit's appearance upon locking. + * + * Proc for when space ninja's suit locks. If the user selects Original, gives it glowing lights, along with having an alternate sprite for female body types. + * Yes, we do have nipLEDs, how could you tell? + * If the user selects New Age, it applies new sprites to all the gear. + * Arguments: + * * ninja - The person wearing the suit. + */ /obj/item/clothing/suit/space/space_ninja/proc/lockIcons(mob/living/carbon/human/ninja) var/design_choice = alert(ninja, "Please choose your desired suit design.",,"Original","New Age") switch(design_choice) @@ -171,18 +171,18 @@ n_gloves.icon_state = "ninja_new" if(n_mask) n_mask.icon_state = "ninja_new" - + /** - * Proc called to lock the important gear pieces onto space ninja's body. - * - * Called during the suit startup to lock all gear pieces onto space ninja. - * Terminates if a gear piece is not being worn. Also gives the ninja the inability to use firearms. - * If the person in the suit isn't a ninja when this is called, this proc just gibs them instead. - * Arguments: - * * ninja - The person wearing the suit. - * * Returns false if the locking fails due to lack of all suit parts, and true if it succeeds. - */ + * Proc called to lock the important gear pieces onto space ninja's body. + * + * Called during the suit startup to lock all gear pieces onto space ninja. + * Terminates if a gear piece is not being worn. Also gives the ninja the inability to use firearms. + * If the person in the suit isn't a ninja when this is called, this proc just gibs them instead. + * Arguments: + * * ninja - The person wearing the suit. + * * Returns false if the locking fails due to lack of all suit parts, and true if it succeeds. + */ /obj/item/clothing/suit/space/space_ninja/proc/lock_suit(mob/living/carbon/human/ninja) if(!istype(ninja)) return FALSE @@ -214,13 +214,13 @@ return TRUE /** - * Proc called to unlock all the gear off space ninja's body. - * - * Proc which is essentially the opposite of lock_suit. Lets you take off all the suit parts. - * Also gets rid of the objection to using firearms from the wearer. - * Arguments: - * * ninja - The person wearing the suit. - */ + * Proc called to unlock all the gear off space ninja's body. + * + * Proc which is essentially the opposite of lock_suit. Lets you take off all the suit parts. + * Also gets rid of the objection to using firearms from the wearer. + * Arguments: + * * ninja - The person wearing the suit. + */ /obj/item/clothing/suit/space/space_ninja/proc/unlock_suit(mob/living/carbon/human/ninja) affecting = null REMOVE_TRAIT(src, TRAIT_NODROP, NINJA_SUIT_TRAIT) @@ -242,10 +242,10 @@ n_mask.icon_state = "s-ninja" /** - * Proc used to delete all the attachments and itself. - * - * Can be called to entire rid of the suit pieces and the suit itself. - */ + * Proc used to delete all the attachments and itself. + * + * Can be called to entire rid of the suit pieces and the suit itself. + */ /obj/item/clothing/suit/space/space_ninja/proc/terminate() QDEL_NULL(n_hood) QDEL_NULL(n_gloves) diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm index 6f3e8ecc956..f8fa925f749 100644 --- a/code/modules/paperwork/handlabeler.dm +++ b/code/modules/paperwork/handlabeler.dm @@ -56,7 +56,7 @@ return user.visible_message("[user] labels [A] with \"[label]\".", \ - "You label [A] with \"[label]\".") + "You label [A] with \"[label]\".") A.AddComponent(/datum/component/label, label) playsound(A, 'sound/items/handling/component_pickup.ogg', 20, TRUE) labels_left-- diff --git a/code/modules/power/pipecleaners.dm b/code/modules/power/pipecleaners.dm index e2cadd35dbc..444a72dee1a 100644 --- a/code/modules/power/pipecleaners.dm +++ b/code/modules/power/pipecleaners.dm @@ -22,13 +22,11 @@ GLOBAL_LIST_INIT(pipe_cleaner_colors, list( //////////////////////////////// /* Cable directions (d1 and d2) - - - 9 1 5 - \ | / - 8 - 0 - 4 - / | \ - 10 2 6 + * 9 1 5 + * \ | / + * 8 - 0 - 4 + * / | \ + * 10 2 6 If d1 = 0 and d2 = 0, there's no pipe_cleaner If d1 = 0 and d2 = dir, it's a O-X pipe_cleaner, getting from the center of the tile to dir (knot pipe_cleaner) diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index bf018620b10..213d06c9e1a 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -102,9 +102,9 @@ A.use_power(amount, chan) /** - * An alternative to 'use_power', this proc directly costs the APC in direct charge, as opposed to being calculated periodically. - * - Amount: How much power the APC's cell is to be costed. - */ + * An alternative to 'use_power', this proc directly costs the APC in direct charge, as opposed to being calculated periodically. + * - Amount: How much power the APC's cell is to be costed. + */ /obj/machinery/proc/directly_use_power(amount) var/area/A = get_area(src) var/obj/machinery/power/apc/local_apc @@ -119,15 +119,15 @@ return TRUE /** - * Attempts to draw power directly from the APC's Powernet rather than the APC's battery. For high-draw machines, like the cell charger - * - * Checks the surplus power on the APC's powernet, and compares to the requested amount. If the requested amount is available, this proc - * will add the amount to the APC's usage and return that amount. Otherwise, this proc will return FALSE. - * If the take_any var arg is set to true, this proc will use and return any surplus that is under the requested amount, assuming that - * the surplus is above zero. - * Args: - * - amount, the amount of power requested from the Powernet. In standard loosely-defined SS13 power units. - * - take_any, a bool of whether any amount of power is acceptable, instead of all or nothing. Defaults to FALSE + * Attempts to draw power directly from the APC's Powernet rather than the APC's battery. For high-draw machines, like the cell charger + * + * Checks the surplus power on the APC's powernet, and compares to the requested amount. If the requested amount is available, this proc + * will add the amount to the APC's usage and return that amount. Otherwise, this proc will return FALSE. + * If the take_any var arg is set to true, this proc will use and return any surplus that is under the requested amount, assuming that + * the surplus is above zero. + * Args: + * - amount, the amount of power requested from the Powernet. In standard loosely-defined SS13 power units. + * - take_any, a bool of whether any amount of power is acceptable, instead of all or nothing. Defaults to FALSE */ /obj/machinery/proc/use_power_from_net(amount, take_any = FALSE) if(amount <= 0) //just in case @@ -162,12 +162,12 @@ addStaticPower(-value, powerchannel) /** - * Called whenever the power settings of the containing area change - * - * by default, check equipment channel & set flag, can override if needed - * - * Returns TRUE if the NOPOWER flag was toggled - */ + * Called whenever the power settings of the containing area change + * + * by default, check equipment channel & set flag, can override if needed + * + * Returns TRUE if the NOPOWER flag was toggled + */ /obj/machinery/proc/power_change() SIGNAL_HANDLER SHOULD_CALL_PARENT(TRUE) diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index 0f7ecdb5bce..dc4cef47860 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -3,13 +3,13 @@ /* field_generator power level display - The icon used for the field_generator need to have 6 icon states - named 'Field_Gen +p[num]' where 'num' ranges from 1 to 6 +The icon used for the field_generator need to have 6 icon states +named 'Field_Gen +p[num]' where 'num' ranges from 1 to 6 - The power level is displayed using overlays. The current displayed power level is stored in 'powerlevel'. - The overlay in use and the powerlevel variable must be kept in sync. A powerlevel equal to 0 means that - no power level overlay is currently in the overlays list. - -Aygar +The power level is displayed using overlays. The current displayed power level is stored in 'powerlevel'. +The overlay in use and the powerlevel variable must be kept in sync. A powerlevel equal to 0 means that +no power level overlay is currently in the overlays list. +-Aygar */ #define field_generator_max_power 250 @@ -173,12 +173,11 @@ field_generator power level display cleanup() return ..() -/* - The power level is displayed using overlays. The current displayed power level is stored in 'powerlevel'. - The overlay in use and the powerlevel variable must be kept in sync. A powerlevel equal to 0 means that - no power level overlay is currently in the overlays list. - */ - +/** + *The power level is displayed using overlays. The current displayed power level is stored in 'powerlevel'. + *The overlay in use and the powerlevel variable must be kept in sync. A powerlevel equal to 0 means that + *no power level overlay is currently in the overlays list. + */ /obj/machinery/field/generator/proc/check_power_level() var/new_level = round(6 * power / field_generator_max_power) if(new_level != power_level) diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 9835026661d..78a843aab7d 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -516,7 +516,7 @@ /obj/singularity/deadchat_controlled/Initialize(mapload, starting_energy) . = ..() AddComponent(/datum/component/deadchat_control, DEMOCRACY_MODE, list( - "up" = CALLBACK(GLOBAL_PROC, .proc/_step, src, NORTH), - "down" = CALLBACK(GLOBAL_PROC, .proc/_step, src, SOUTH), - "left" = CALLBACK(GLOBAL_PROC, .proc/_step, src, WEST), - "right" = CALLBACK(GLOBAL_PROC, .proc/_step, src, EAST))) + "up" = CALLBACK(GLOBAL_PROC, .proc/_step, src, NORTH), + "down" = CALLBACK(GLOBAL_PROC, .proc/_step, src, SOUTH), + "left" = CALLBACK(GLOBAL_PROC, .proc/_step, src, WEST), + "right" = CALLBACK(GLOBAL_PROC, .proc/_step, src, EAST))) diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm index eda1d4ebd26..1f4146e7903 100644 --- a/code/modules/power/turbine.dm +++ b/code/modules/power/turbine.dm @@ -157,7 +157,7 @@ add_overlay(mutable_appearance(icon, "comp-o2", FLY_LAYER)) else if(rpm>500) add_overlay(mutable_appearance(icon, "comp-o1", FLY_LAYER)) - //TODO: DEFERRED + //TODO: DEFERRED // These are crucial to working of a turbine - the stats modify the power output. TurbGenQ modifies how much raw energy can you get from // rpms, TurbGenG modifies the shape of the curve - the lower the value the less straight the curve is. diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index d478e207be2..62e55cf75f7 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -48,12 +48,12 @@ update_icon() /** - * top_off is used to refill the magazine to max, in case you want to increase the size of a magazine with VV then refill it at once - * - * Arguments: - * * load_type - if you want to specify a specific ammo casing type to load, enter the path here, otherwise it'll use the basic [/obj/item/ammo_box/var/ammo_type]. Must be a compatible round - * * starting - Relevant for revolver cylinders, if FALSE then we mind the nulls that represent the empty cylinders (since those nulls don't exist yet if we haven't initialized when this is TRUE) - */ + * top_off is used to refill the magazine to max, in case you want to increase the size of a magazine with VV then refill it at once + * + * Arguments: + * * load_type - if you want to specify a specific ammo casing type to load, enter the path here, otherwise it'll use the basic [/obj/item/ammo_box/var/ammo_type]. Must be a compatible round + * * starting - Relevant for revolver cylinders, if FALSE then we mind the nulls that represent the empty cylinders (since those nulls don't exist yet if we haven't initialized when this is TRUE) + */ /obj/item/ammo_box/proc/top_off(load_type, starting=FALSE) if(!load_type) //this check comes first so not defining an argument means we just go with default ammo load_type = ammo_type diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 31c0ffca60b..e7026a529e0 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -515,12 +515,12 @@ /** - * Swaps the gun's seclight, dropping the old seclight if it has not been qdel'd. - * - * Returns the former gun_light that has now been replaced by this proc. - * Arguments: - * * new_light - The new light to attach to the weapon. Can be null, which will mean the old light is removed with no replacement. - */ + * Swaps the gun's seclight, dropping the old seclight if it has not been qdel'd. + * + * Returns the former gun_light that has now been replaced by this proc. + * Arguments: + * * new_light - The new light to attach to the weapon. Can be null, which will mean the old light is removed with no replacement. + */ /obj/item/gun/proc/set_gun_light(obj/item/flashlight/seclite/new_light) // Doesn't look like this should ever happen? We're replacing our old light with our old light? if(gun_light == new_light) diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index 8dd659aeb21..1f0d7b727ee 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -61,7 +61,7 @@ var/special_mags = FALSE ///The bolt type of the gun, affects quite a bit of functionality, see combat.dm defines for bolt types: BOLT_TYPE_STANDARD; BOLT_TYPE_LOCKING; BOLT_TYPE_OPEN; BOLT_TYPE_NO_BOLT var/bolt_type = BOLT_TYPE_STANDARD - ///Used for locking bolt and open bolt guns. Set a bit differently for the two but prevents firing when true for both. + ///Used for locking bolt and open bolt guns. Set a bit differently for the two but prevents firing when true for both. var/bolt_locked = FALSE var/show_bolt_icon = TRUE ///Hides the bolt icon. ///Whether the gun has to be racked each shot or not. diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 90e8e75c8e2..7979dd46872 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -282,7 +282,7 @@ crosslink() /obj/item/gun/energy/wormhole_projector/core_inserted - firing_core = TRUE + firing_core = TRUE /* 3d printer 'pseudo guns' for borgs */ diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index bef6be5db2a..d3a3c65096e 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -91,11 +91,11 @@ my_atom = null /** - * Used in attack logs for reagents in pills and such - * - * Arguments: - * * external_list - list of reagent types = amounts - */ + * Used in attack logs for reagents in pills and such + * + * Arguments: + * * external_list - list of reagent types = amounts + */ /datum/reagents/proc/log_list(external_list) if((external_list && !length(external_list)) || !length(reagent_list)) return "no reagents" @@ -194,21 +194,21 @@ return master /** - * Transfer some stuff from this holder to a target object - * - * Arguments: - * * obj/target - Target to attempt transfer to - * * amount - amount of reagent volume to transfer - * * multiplier - multiplies amount of each reagent by this number - * * preserve_data - if preserve_data=0, the reagents data will be lost. Usefull if you use data for some strange stuff and don't want it to be transferred. - * * no_react - passed through to [/datum/reagents/proc/add_reagent] - * * mob/transfered_by - used for logging - * * remove_blacklisted - skips transferring of reagents with can_synth = FALSE - * * methods - passed through to [/datum/reagents/proc/expose_single] and [/datum/reagent/proc/on_transfer] - * * show_message - passed through to [/datum/reagents/proc/expose_single] - * * round_robin - if round_robin=TRUE, so transfer 5 from 15 water, 15 sugar and 15 plasma becomes 10, 15, 15 instead of 13.3333, 13.3333 13.3333. Good if you hate floating point errors - * * ignore_stomach - when using methods INGEST will not use the stomach as the target - */ + * Transfer some stuff from this holder to a target object + * + * Arguments: + * * obj/target - Target to attempt transfer to + * * amount - amount of reagent volume to transfer + * * multiplier - multiplies amount of each reagent by this number + * * preserve_data - if preserve_data=0, the reagents data will be lost. Usefull if you use data for some strange stuff and don't want it to be transferred. + * * no_react - passed through to [/datum/reagents/proc/add_reagent] + * * mob/transfered_by - used for logging + * * remove_blacklisted - skips transferring of reagents with can_synth = FALSE + * * methods - passed through to [/datum/reagents/proc/expose_single] and [/datum/reagent/proc/on_transfer] + * * show_message - passed through to [/datum/reagents/proc/expose_single] + * * round_robin - if round_robin=TRUE, so transfer 5 from 15 water, 15 sugar and 15 plasma becomes 10, 15, 15 instead of 13.3333, 13.3333 13.3333. Good if you hate floating point errors + * * ignore_stomach - when using methods INGEST will not use the stomach as the target + */ /datum/reagents/proc/trans_to(obj/target, amount = 1, multiplier = 1, preserve_data = TRUE, no_react = FALSE, mob/transfered_by, remove_blacklisted = FALSE, methods = NONE, show_message = TRUE, round_robin = FALSE, ignore_stomach = FALSE) var/list/cached_reagents = reagent_list if(!target || !total_volume) @@ -354,13 +354,13 @@ return amount /** - * Triggers metabolizing the reagents in this holder - * - * Arguments: - * * mob/living/carbon/C - The mob to metabolize in, if null it uses [/datum/reagents/var/my_atom] - * * can_overdose - Allows overdosing - * * liverless - Stops reagents that aren't set as [/datum/reagent/var/self_consuming] from metabolizing - */ + * Triggers metabolizing the reagents in this holder + * + * Arguments: + * * mob/living/carbon/C - The mob to metabolize in, if null it uses [/datum/reagents/var/my_atom] + * * can_overdose - Allows overdosing + * * liverless - Stops reagents that aren't set as [/datum/reagent/var/self_consuming] from metabolizing + */ /datum/reagents/proc/metabolize(mob/living/carbon/C, can_overdose = FALSE, liverless = FALSE) var/list/cached_reagents = reagent_list var/list/cached_addictions = addiction_list @@ -455,12 +455,12 @@ R.on_mob_end_metabolize(C) /** - * Calls [/datum/reagent/proc/on_move] on every reagent in this holder - * - * Arguments: - * * atom/A - passed to on_move - * * Running - passed to on_move - */ + * Calls [/datum/reagent/proc/on_move] on every reagent in this holder + * + * Arguments: + * * atom/A - passed to on_move + * * Running - passed to on_move + */ /datum/reagents/proc/conditional_update_move(atom/A, Running = 0) var/list/cached_reagents = reagent_list for(var/reagent in cached_reagents) @@ -469,11 +469,11 @@ update_total() /** - * Calls [/datum/reagent/proc/on_update] on every reagent in this holder - * - * Arguments: - * * atom/A - passed to on_update - */ + * Calls [/datum/reagent/proc/on_update] on every reagent in this holder + * + * Arguments: + * * atom/A - passed to on_update + */ /datum/reagents/proc/conditional_update(atom/A) var/list/cached_reagents = reagent_list for(var/reagent in cached_reagents) @@ -651,17 +651,17 @@ my_atom.on_reagent_change(CLEAR_REAGENTS) /** - * Applies the relevant expose_ proc for every reagent in this holder - * * [/datum/reagent/proc/expose_mob] - * * [/datum/reagent/proc/expose_turf] - * * [/datum/reagent/proc/expose_obj] - * - * Arguments - * - Atom/A: What mob/turf/object is being exposed to reagents? This is your reaction target. - * - Methods: What reaction type is the reagent itself going to call on the reaction target? Types are TOUCH, INGEST, VAPOR, PATCH, and INJECT. - * - Volume_modifier: What is the reagent volume multiplied by when exposed? Note that this is called on the volume of EVERY reagent in the base body, so factor in your Maximum_Volume if necessary! - * - Show_message: Whether to display anything to mobs when they are exposed. - */ + * Applies the relevant expose_ proc for every reagent in this holder + * * [/datum/reagent/proc/expose_mob] + * * [/datum/reagent/proc/expose_turf] + * * [/datum/reagent/proc/expose_obj] + * + * Arguments + * - Atom/A: What mob/turf/object is being exposed to reagents? This is your reaction target. + * - Methods: What reaction type is the reagent itself going to call on the reaction target? Types are TOUCH, INGEST, VAPOR, PATCH, and INJECT. + * - Volume_modifier: What is the reagent volume multiplied by when exposed? Note that this is called on the volume of EVERY reagent in the base body, so factor in your Maximum_Volume if necessary! + * - Show_message: Whether to display anything to mobs when they are exposed. + */ /datum/reagents/proc/expose(atom/A, methods = TOUCH, volume_modifier = 1, show_message = 1) if(isnull(A)) return null @@ -711,15 +711,15 @@ chem_temp = clamp(chem_temp + (J / (S * total_volume)), 2.7, 1000) /** - * Adds a reagent to this holder - * - * Arguments: - * * reagent - The reagent id to add - * * amount - Amount to add - * * list/data - Any reagent data for this reagent, used for transferring data with reagents - * * reagtemp - Temperature of this reagent, will be equalized - * * no_react - prevents reactions being triggered by this addition - */ + * Adds a reagent to this holder + * + * Arguments: + * * reagent - The reagent id to add + * * amount - Amount to add + * * list/data - Any reagent data for this reagent, used for transferring data with reagents + * * reagtemp - Temperature of this reagent, will be equalized + * * no_react - prevents reactions being triggered by this addition + */ /datum/reagents/proc/add_reagent(reagent, amount, list/data=null, reagtemp = 300, no_react = 0) if(!isnum(amount) || !amount) return FALSE @@ -933,11 +933,11 @@ Needs matabolizing takes into consideration if the chemical is matabolizing when . = locate(type) in cached_reagents /** - * Returns what this holder's reagents taste like - * - * Arguments: - * * minimum_percent - the lower the minimum percent, the more sensitive the message is. - */ + * Returns what this holder's reagents taste like + * + * Arguments: + * * minimum_percent - the lower the minimum percent, the more sensitive the message is. + */ /datum/reagents/proc/generate_taste_message(minimum_percent=15,mob/living/taster) var/list/out = list() var/list/tastes = list() //descriptor = strength @@ -993,12 +993,12 @@ Needs matabolizing takes into consideration if the chemical is matabolizing when /** - * Convenience proc to create a reagents holder for an atom - * - * Arguments: - * * max_vol - maximum volume of holder - * * flags - flags to pass to the holder - */ + * Convenience proc to create a reagents holder for an atom + * + * Arguments: + * * max_vol - maximum volume of holder + * * flags - flags to pass to the holder + */ /atom/proc/create_reagents(max_vol, flags) if(reagents) qdel(reagents) diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index ccc4a9d4115..627ef2a3a22 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -1,9 +1,9 @@ /** - * Machine that allows to identify and separate reagents in fitting container - * as well as to create new containers with separated reagents in it. - * - * Contains logic for both ChemMaster and CondiMaster, switched by "condi". - */ + * Machine that allows to identify and separate reagents in fitting container + * as well as to create new containers with separated reagents in it. + * + * Contains logic for both ChemMaster and CondiMaster, switched by "condi". + */ /obj/machinery/chem_master name = "ChemMaster 3000" desc = "Used to separate chemicals and distribute them in a variety of forms." @@ -151,16 +151,16 @@ replace_beaker(user) /** - * Handles process of moving input reagents containers in/from machine - * - * When called checks for previously inserted beaker and gives it to user. - * Then, if new_beaker provided, places it into src.beaker. - * Returns `boolean`. TRUE if user provided (ignoring whether threre was any beaker change) and FALSE if not. - * - * Arguments: - * * user - Mob that initialized replacement, gets previously inserted beaker if there's any - * * new_beaker - New beaker to insert. Optional - */ + * Handles process of moving input reagents containers in/from machine + * + * When called checks for previously inserted beaker and gives it to user. + * Then, if new_beaker provided, places it into src.beaker. + * Returns `boolean`. TRUE if user provided (ignoring whether threre was any beaker change) and FALSE if not. + * + * Arguments: + * * user - Mob that initialized replacement, gets previously inserted beaker if there's any + * * new_beaker - New beaker to insert. Optional + */ /obj/machinery/chem_master/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker) if(!user) return FALSE @@ -451,14 +451,14 @@ AM.pixel_y = AM.base_pixel_y - 8 + (round( . / 3)*8) /** - * Translates styles data into UI compatible format - * - * Expects to receive list of availables condiment styles in its complete format, and transforms them in simplified form with enough data to get UI going. - * Returns list(list("id" = , "className" = , "title" = ),..). - * - * Arguments: - * * styles - List of styles for condiment bottles in internal format: [/obj/machinery/chem_master/proc/get_condi_styles] - */ + * Translates styles data into UI compatible format + * + * Expects to receive list of availables condiment styles in its complete format, and transforms them in simplified form with enough data to get UI going. + * Returns list(list("id" = , "className" = , "title" = ),..). + * + * Arguments: + * * styles - List of styles for condiment bottles in internal format: [/obj/machinery/chem_master/proc/get_condi_styles] + */ /obj/machinery/chem_master/proc/strip_condi_styles_to_icons(list/styles) var/list/icons = list() for (var/s in styles) @@ -473,26 +473,26 @@ return icons /** - * Defines and provides list of available condiment bottle styles - * - * Uses typelist() for styles storage after initialization. - * For fallback style must provide style with key (const) CONDIMASTER_STYLE_FALLBACK - * Returns list( - * = list( - * "icon_state" = , - * "name" = , - * "desc" = , - * ?"generate_name" = , - * ?"icon_empty" = , - * ?"fill_icon_thresholds" = , - * ?"inhand_icon_state" = , - * ?"lefthand_file" = , - * ?"righthand_file" = , - * ), - * .. - * ) - * - */ + * Defines and provides list of available condiment bottle styles + * + * Uses typelist() for styles storage after initialization. + * For fallback style must provide style with key (const) CONDIMASTER_STYLE_FALLBACK + * Returns list( + * = list( + * "icon_state" = , + * "name" = , + * "desc" = , + * ?"generate_name" = , + * ?"icon_empty" = , + * ?"fill_icon_thresholds" = , + * ?"inhand_icon_state" = , + * ?"lefthand_file" = , + * ?"righthand_file" = , + * ), + * .. + * ) + * + */ /obj/machinery/chem_master/proc/get_condi_styles() var/list/styles = typelist("condi_styles") if (!styles.len) @@ -529,12 +529,12 @@ return styles /** - * Provides condiment bottle style based on reagents. - * - * Gets style from available by key, using last part of main reagent type (eg. "rice" for /datum/reagent/consumable/rice) as key. - * If not available returns fallback style, or null if no such thing. - * Returns list that is one of condibottle styles from [/obj/machinery/chem_master/proc/get_condi_styles] - */ + * Provides condiment bottle style based on reagents. + * + * Gets style from available by key, using last part of main reagent type (eg. "rice" for /datum/reagent/consumable/rice) as key. + * If not available returns fallback style, or null if no such thing. + * Returns list that is one of condibottle styles from [/obj/machinery/chem_master/proc/get_condi_styles] + */ /obj/machinery/chem_master/proc/guess_condi_style(datum/reagents/reagents) var/list/styles = get_condi_styles() if (reagents.reagent_list.len > 0) @@ -547,16 +547,16 @@ return styles[CONDIMASTER_STYLE_FALLBACK] /** - * Applies style to condiment bottle. - * - * Applies props provided in "style" assuming that "container" is freshly created with no styles applied before. - * User specified name for bottle applied after this method during bottle creation, - * so container.name overwritten here for consistency rather than with some purpose in mind. - * - * Arguments: - * * container - condiment bottle that gets style applied to it - * * style - assoc list, must probably one from [/obj/machinery/chem_master/proc/get_condi_styles] - */ + * Applies style to condiment bottle. + * + * Applies props provided in "style" assuming that "container" is freshly created with no styles applied before. + * User specified name for bottle applied after this method during bottle creation, + * so container.name overwritten here for consistency rather than with some purpose in mind. + * + * Arguments: + * * container - condiment bottle that gets style applied to it + * * style - assoc list, must probably one from [/obj/machinery/chem_master/proc/get_condi_styles] + */ /obj/machinery/chem_master/proc/apply_condi_style(obj/item/reagent_containers/food/condiment/container, list/style) container.name = style["name"] container.desc = style["desc"] @@ -570,11 +570,11 @@ container.righthand_file = style["righthand_file"] /** - * Machine that allows to identify and separate reagents in fitting container - * as well as to create new containers with separated reagents in it. - * - * All logic related to this is in [/obj/machinery/chem_master] and condimaster specific UI enabled by "condi = TRUE" - */ + * Machine that allows to identify and separate reagents in fitting container + * as well as to create new containers with separated reagents in it. + * + * All logic related to this is in [/obj/machinery/chem_master] and condimaster specific UI enabled by "condi = TRUE" + */ /obj/machinery/chem_master/condimaster name = "CondiMaster 3000" desc = "Used to create condiments and other cooking supplies." diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index 6b207982353..cbf8e1a2d11 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -211,10 +211,10 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent()) return /** - * New, standardized method for chemicals to affect hydroponics trays. - * Defined on a per-chem level as opposed to by the tray. - * Can affect plant's health, stats, or cause the plant to react in certain ways. - */ + * New, standardized method for chemicals to affect hydroponics trays. + * Defined on a per-chem level as opposed to by the tray. + * Can affect plant's health, stats, or cause the plant to react in certain ways. + */ /datum/reagent/proc/on_hydroponics_apply(obj/item/seeds/myseed, datum/reagents/chems, obj/machinery/hydroponics/mytray, mob/user) if(!mytray) return diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 43717753027..3f539c4f096 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1463,7 +1463,7 @@ color = "#FFFFFF" // white random_color_list = list("#FFFFFF") //doesn't actually change appearance at all - /* used by crayons, can't color living things but still used for stuff like food recipes */ +/* used by crayons, can't color living things but still used for stuff like food recipes */ /datum/reagent/colorful_reagent/powder/red/crayon name = "Red Crayon Powder" diff --git a/code/modules/reagents/chemistry/recipes.dm b/code/modules/reagents/chemistry/recipes.dm index 78e1e818909..a8e0074c0c8 100644 --- a/code/modules/reagents/chemistry/recipes.dm +++ b/code/modules/reagents/chemistry/recipes.dm @@ -1,10 +1,10 @@ /** - * #Chemical Reaction - * - * Datum that makes the magic between reagents happen. - * - * Chemical reactions is a class that is instantiated and stored in a global list 'chemical_reactions_list' - */ + * #Chemical Reaction + * + * Datum that makes the magic between reagents happen. + * + * Chemical reactions is a class that is instantiated and stored in a global list 'chemical_reactions_list' + */ /datum/chemical_reaction ///Results of the chemical reactions var/list/results = new/list() @@ -35,40 +35,40 @@ SSticker.OnRoundstart(CALLBACK(src,.proc/update_info)) /** - * Updates information during the roundstart - * - * This proc is mainly used by explosives but can be used anywhere else - * You should generally use the special reactions in [/datum/chemical_reaction/randomized] - * But for simple variable edits, like changing the temperature or adding/subtracting required reagents it is better to use this. - */ + * Updates information during the roundstart + * + * This proc is mainly used by explosives but can be used anywhere else + * You should generally use the special reactions in [/datum/chemical_reaction/randomized] + * But for simple variable edits, like changing the temperature or adding/subtracting required reagents it is better to use this. + */ /datum/chemical_reaction/proc/update_info() return /** - * Shit that happens on reaction - * - * Proc where the additional magic happens. - * You dont want to handle mob spawning in this since there is a dedicated proc for that.client - * Arguments: - * * holder - the datum that holds this reagent, be it a beaker or anything else - * * created_volume - volume created when this is mixed. look at 'var/list/results'. - */ + * Shit that happens on reaction + * + * Proc where the additional magic happens. + * You dont want to handle mob spawning in this since there is a dedicated proc for that.client + * Arguments: + * * holder - the datum that holds this reagent, be it a beaker or anything else + * * created_volume - volume created when this is mixed. look at 'var/list/results'. + */ /datum/chemical_reaction/proc/on_reaction(datum/reagents/holder, created_volume) return //I recommend you set the result amount to the total volume of all components. /** - * Magical mob spawning when chemicals react - * - * Your go to proc when you want to create new mobs from chemicals. please dont use on_reaction. - * Arguments: - * * holder - the datum that holds this reagent, be it a beaker or anything else - * * amount_to_spawn - how much /mob to spawn - * * reaction_name - what is the name of this reaction. be creative, the world is your oyster after all! - * * mob_class - determines if the mob will be friendly, neutral or hostile - * * mob_faction - used in determining targets, mobs from the same faction won't harm eachother. - * * random - creates random mobs. self explanatory. - */ + * Magical mob spawning when chemicals react + * + * Your go to proc when you want to create new mobs from chemicals. please dont use on_reaction. + * Arguments: + * * holder - the datum that holds this reagent, be it a beaker or anything else + * * amount_to_spawn - how much /mob to spawn + * * reaction_name - what is the name of this reaction. be creative, the world is your oyster after all! + * * mob_class - determines if the mob will be friendly, neutral or hostile + * * mob_faction - used in determining targets, mobs from the same faction won't harm eachother. + * * random - creates random mobs. self explanatory. + */ /datum/chemical_reaction/proc/chemical_mob_spawn(datum/reagents/holder, amount_to_spawn, reaction_name, mob_class = HOSTILE_SPAWN, mob_faction = "chemicalsummon", random = TRUE) if(holder?.my_atom) var/atom/A = holder.my_atom @@ -102,15 +102,15 @@ step(S, pick(NORTH,SOUTH,EAST,WEST)) /** - * Magical move-wooney that happens sometimes. - * - * Simulates a vortex that moves nearby movable atoms towards or away from the turf T. - * Range also determines the strength of the effect. High values cause nearby objects to be thrown. - * Arguments: - * * T - turf where it happens - * * setting_type - does it suck or does it blow? - * * range - range. - */ + * Magical move-wooney that happens sometimes. + * + * Simulates a vortex that moves nearby movable atoms towards or away from the turf T. + * Range also determines the strength of the effect. High values cause nearby objects to be thrown. + * Arguments: + * * T - turf where it happens + * * setting_type - does it suck or does it blow? + * * range - range. + */ /proc/goonchem_vortex(turf/T, setting_type, range) for(var/atom/movable/X in orange(range, T)) if(X.anchored) diff --git a/code/modules/recycling/disposal/eject.dm b/code/modules/recycling/disposal/eject.dm index b2f83ec3c20..febd4f5d604 100644 --- a/code/modules/recycling/disposal/eject.dm +++ b/code/modules/recycling/disposal/eject.dm @@ -1,6 +1,6 @@ /** - * General proc used to expel a holder's contents through src (for bins holder is also the src). - */ + * General proc used to expel a holder's contents through src (for bins holder is also the src). + */ /obj/proc/pipe_eject(obj/holder, direction, throw_em = TRUE, turf/target, throw_range = 5, throw_speed = 1) var/turf/src_T = get_turf(src) for(var/A in holder) diff --git a/code/modules/religion/religion_sects.dm b/code/modules/religion/religion_sects.dm index 6abd0eeabdb..324ff8b5c22 100644 --- a/code/modules/religion/religion_sects.dm +++ b/code/modules/religion/religion_sects.dm @@ -1,12 +1,12 @@ /** - * # Religious Sects - * - * Religious Sects are a way to convert the fun of having an active 'god' (admin) to code-mechanics so you aren't having to press adminwho. - * - * Sects are not meant to overwrite the fun of choosing a custom god/religion, but meant to enhance it. - * The idea is that Space Jesus (or whoever you worship) can be an evil bloodgod who takes the lifeforce out of people, a nature lover, or all things righteous and good. You decide! - * - */ + * # Religious Sects + * + * Religious Sects are a way to convert the fun of having an active 'god' (admin) to code-mechanics so you aren't having to press adminwho. + * + * Sects are not meant to overwrite the fun of choosing a custom god/religion, but meant to enhance it. + * The idea is that Space Jesus (or whoever you worship) can be an evil bloodgod who takes the lifeforce out of people, a nature lover, or all things righteous and good. You decide! + * + */ /datum/religion_sect /// Name of the religious sect var/name = "Religious Sect Base Type" diff --git a/code/modules/research/anomaly/explosive_compressor.dm b/code/modules/research/anomaly/explosive_compressor.dm index cfc9743fb05..2fa12abdf3f 100644 --- a/code/modules/research/anomaly/explosive_compressor.dm +++ b/code/modules/research/anomaly/explosive_compressor.dm @@ -1,12 +1,12 @@ #define MAX_RADIUS_REQUIRED 20 //maxcap #define MIN_RADIUS_REQUIRED 4 //1, 2, 4 /** - * # Explosive compressor machines - * - * The explosive compressor machine used in anomaly core production. - * - * Uses the standard toxins/tank explosion scaling to compress raw anomaly cores into completed ones. The required explosion radius increases as more cores of that type are created. - */ + * # Explosive compressor machines + * + * The explosive compressor machine used in anomaly core production. + * + * Uses the standard toxins/tank explosion scaling to compress raw anomaly cores into completed ones. The required explosion radius increases as more cores of that type are created. + */ /obj/machinery/research/explosive_compressor name = "implosion compressor" desc = "An advanced machine capable of implosion-compressing raw anomaly cores into finished artifacts." @@ -51,8 +51,8 @@ inserted_core = null /** - * Says (no, literally) the data of required explosive power for a certain anomaly type. - */ + * Says (no, literally) the data of required explosive power for a certain anomaly type. + */ /obj/machinery/research/explosive_compressor/proc/say_requirements(obj/item/raw_anomaly_core/C) var/required = get_required_radius(C.anomaly_type) if(isnull(required)) @@ -61,13 +61,13 @@ say("[C] requires a minimum of a theoretical radius of [required] to successfully implode into a charged anomaly core.") /** - * Determines how much explosive power (last value, so light impact theoretical radius) is required to make a certain anomaly type. - * - * Returns null if the max amount has already been reached. - * - * Arguments: - * * anomaly_type - anomaly type define - */ + * Determines how much explosive power (last value, so light impact theoretical radius) is required to make a certain anomaly type. + * + * Returns null if the max amount has already been reached. + * + * Arguments: + * * anomaly_type - anomaly type define + */ /obj/machinery/research/explosive_compressor/proc/get_required_radius(anomaly_type) var/already_made = SSresearch.created_anomaly_types[anomaly_type] var/hard_limit = SSresearch.anomaly_hard_limit_by_type[anomaly_type] @@ -109,8 +109,8 @@ do_implosion() /** - * The ""explosion"" proc. - */ + * The ""explosion"" proc. + */ /obj/machinery/research/explosive_compressor/proc/do_implosion() var/required_radius = get_required_radius(inserted_core.anomaly_type) // By now, we should be sure that we have a core, a TTV, and that the TTV has both tanks in place. diff --git a/code/modules/research/anomaly/raw_anomaly.dm b/code/modules/research/anomaly/raw_anomaly.dm index 7680e7cefc1..0648bd1912a 100644 --- a/code/modules/research/anomaly/raw_anomaly.dm +++ b/code/modules/research/anomaly/raw_anomaly.dm @@ -1,11 +1,11 @@ /** - * # Raw Anomaly Cores - * - * The current precursor to anomaly cores, these are manufactured into 'finished' anomaly cores for use in research, items, and more. - * - * The current amounts created is stored in `SSresearch.created_anomaly_types[ANOMALY_CORE_TYPE_DEFINE] = amount`. - * The hard limits are in `code/__DEFINES/anomalies.dm`. - */ + * # Raw Anomaly Cores + * + * The current precursor to anomaly cores, these are manufactured into 'finished' anomaly cores for use in research, items, and more. + * + * The current amounts created is stored in `SSresearch.created_anomaly_types[ANOMALY_CORE_TYPE_DEFINE] = amount`. + * The hard limits are in `code/__DEFINES/anomalies.dm`. + */ /obj/item/raw_anomaly_core name = "raw anomaly core" desc = "You shouldn't be seeing this. Someone screwed up." @@ -57,13 +57,13 @@ return INITIALIZE_HINT_QDEL /** - * Created the resulting core after being "made" into it. - * - * Arguments: - * * newloc - Where the new core will be created - * * del_self - should we qdel(src) - * * count_towards_limit - should we increment the amount of created cores on SSresearch - */ + * Created the resulting core after being "made" into it. + * + * Arguments: + * * newloc - Where the new core will be created + * * del_self - should we qdel(src) + * * count_towards_limit - should we increment the amount of created cores on SSresearch + */ /obj/item/raw_anomaly_core/proc/create_core(newloc, del_self = FALSE, count_towards_limit = FALSE) . = new anomaly_type(newloc) if(count_towards_limit) diff --git a/code/modules/research/nanites/nanite_programs/sensor.dm b/code/modules/research/nanites/nanite_programs/sensor.dm index 07a1f622eb6..724d2db6147 100644 --- a/code/modules/research/nanites/nanite_programs/sensor.dm +++ b/code/modules/research/nanites/nanite_programs/sensor.dm @@ -269,14 +269,14 @@ trigger_cooldown = 5 var/list/static/allowed_species = list( - "Human" = /datum/species/human, - "Lizard" = /datum/species/lizard, + "Human" = /datum/species/human, + "Lizard" = /datum/species/lizard, "Moth" = /datum/species/moth, "Ethereal" = /datum/species/ethereal, "Pod" = /datum/species/pod, "Fly" = /datum/species/fly, "Felinid" = /datum/species/human/felinid, - "Jelly" = /datum/species/jelly + "Jelly" = /datum/species/jelly, ) /datum/nanite_program/sensor/species/register_extra_settings() diff --git a/code/modules/research/techweb/_techweb_node.dm b/code/modules/research/techweb/_techweb_node.dm index 8e930f9b7fc..7eef860c243 100644 --- a/code/modules/research/techweb/_techweb_node.dm +++ b/code/modules/research/techweb/_techweb_node.dm @@ -95,4 +95,4 @@ return techweb_point_display_generic(get_price(TN)) /datum/techweb_node/proc/on_research() //new proc, not currently in file - return + return diff --git a/code/modules/research/xenobiology/crossbreeding/selfsustaining.dm b/code/modules/research/xenobiology/crossbreeding/selfsustaining.dm index 3088ddd0fee..814083c3bb5 100644 --- a/code/modules/research/xenobiology/crossbreeding/selfsustaining.dm +++ b/code/modules/research/xenobiology/crossbreeding/selfsustaining.dm @@ -54,9 +54,9 @@ Self-sustaining extracts: extract.reagents.add_reagent(secondary,amount) /obj/item/autoslime/examine(mob/user) - . = ..() - if(effect_desc) - . += "[effect_desc]" + . = ..() + if(effect_desc) + . += "[effect_desc]" //Different types. diff --git a/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm index 41ce3077746..67bc795dc36 100644 --- a/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm +++ b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm @@ -209,9 +209,10 @@ required_reagents = list(/datum/reagent/consumable/nutriment/protein) supplementary_reagents = list( - /datum/reagent/toxin/slimejelly = 2, - /datum/reagent/liquidgibs = 2, - /datum/reagent/consumable/enzyme = 1) + /datum/reagent/toxin/slimejelly = 2, + /datum/reagent/liquidgibs = 2, + /datum/reagent/consumable/enzyme = 1, + ) suppressive_reagents = list( /datum/reagent/consumable/frostoil = -4, @@ -227,29 +228,33 @@ required_reagents = list(/datum/reagent/consumable/nutriment/protein) supplementary_reagents = list( - /datum/reagent/consumable/nutriment/vitamin = 3, - /datum/reagent/liquidgibs = 2, - /datum/reagent/sulfur = 2) + /datum/reagent/consumable/nutriment/vitamin = 3, + /datum/reagent/liquidgibs = 2, + /datum/reagent/sulfur = 2, + ) suppressive_reagents = list( - /datum/reagent/consumable/tinlux = -6, - /datum/reagent/napalm = -4) + /datum/reagent/consumable/tinlux = -6, + /datum/reagent/napalm = -4, + ) virus_suspectibility = 0 resulting_atoms = list(/mob/living/simple_animal/hostile/blob/blobspore/independent = 2) //These are useless so we might as well spawn 2. /datum/micro_organism/cell_line/blobbernaut desc = "Blobular myocytes" required_reagents = list( - /datum/reagent/consumable/nutriment/protein, - /datum/reagent/medicine/c2/synthflesh, - /datum/reagent/sulfur) //grind flares to get this + /datum/reagent/consumable/nutriment/protein, + /datum/reagent/medicine/c2/synthflesh, + /datum/reagent/sulfur, + ) //grind flares to get this supplementary_reagents = list( - /datum/reagent/growthserum = 3, - /datum/reagent/consumable/nutriment/vitamin = 2, - /datum/reagent/liquidgibs = 2, - /datum/reagent/consumable/eggyolk = 2, - /datum/reagent/consumable/shamblers = 1) + /datum/reagent/growthserum = 3, + /datum/reagent/consumable/nutriment/vitamin = 2, + /datum/reagent/liquidgibs = 2, + /datum/reagent/consumable/eggyolk = 2, + /datum/reagent/consumable/shamblers = 1, + ) suppressive_reagents = list(/datum/reagent/consumable/tinlux = -6) @@ -259,34 +264,38 @@ /datum/micro_organism/cell_line/gelatinous_cube desc = "Cubic ooze particles" required_reagents = list( - /datum/reagent/consumable/nutriment/protein, - /datum/reagent/toxin/slimejelly, - /datum/reagent/yuck, - /datum/reagent/consumable/enzyme) //Powerful enzymes helps the cube digest prey. + /datum/reagent/consumable/nutriment/protein, + /datum/reagent/toxin/slimejelly, + /datum/reagent/yuck, + /datum/reagent/consumable/enzyme, + ) //Powerful enzymes helps the cube digest prey. supplementary_reagents = list( - /datum/reagent/water/hollowwater = 4, - /datum/reagent/consumable/corn_syrup = 3, - /datum/reagent/gold = 2, //This is why they eat so many adventurers. - /datum/reagent/consumable/nutriment/peptides = 2, - /datum/reagent/consumable/potato_juice = 1, - /datum/reagent/liquidgibs = 1, - /datum/reagent/consumable/nutriment/vitamin = 1) + /datum/reagent/water/hollowwater = 4, + /datum/reagent/consumable/corn_syrup = 3, + /datum/reagent/gold = 2, //This is why they eat so many adventurers. + /datum/reagent/consumable/nutriment/peptides = 2, + /datum/reagent/consumable/potato_juice = 1, + /datum/reagent/liquidgibs = 1, + /datum/reagent/consumable/nutriment/vitamin = 1, + ) suppressive_reagents = list( - /datum/reagent/toxin/minttoxin = -3, - /datum/reagent/consumable/frostoil = -2, - /datum/reagent/consumable/ice = -1) + /datum/reagent/toxin/minttoxin = -3, + /datum/reagent/consumable/frostoil = -2, + /datum/reagent/consumable/ice = -1, + ) virus_suspectibility = 0 resulting_atoms = list(/mob/living/simple_animal/hostile/ooze/gelatinous = 1) /datum/micro_organism/cell_line/sholean_grapes desc = "Globular ooze particles" required_reagents = list( - /datum/reagent/consumable/nutriment/protein, - /datum/reagent/toxin/slimejelly, - /datum/reagent/yuck, - /datum/reagent/consumable/vitfro) + /datum/reagent/consumable/nutriment/protein, + /datum/reagent/toxin/slimejelly, + /datum/reagent/yuck, + /datum/reagent/consumable/vitfro, + ) supplementary_reagents = list( /datum/reagent/medicine/omnizine = 4, diff --git a/code/modules/ruins/icemoonruin_code/hotsprings.dm b/code/modules/ruins/icemoonruin_code/hotsprings.dm index edd011098b5..e3c0aae9ea9 100644 --- a/code/modules/ruins/icemoonruin_code/hotsprings.dm +++ b/code/modules/ruins/icemoonruin_code/hotsprings.dm @@ -1,16 +1,16 @@ GLOBAL_LIST_EMPTY(cursed_minds) /** - * Turns whoever enters into a mob or random person - * - * If mob is chosen, turns the person into a random animal type - * If appearance is chosen, turns the person into a random human with a random species - * This changes name, and changes their DNA as well - * Random species is same as wizard swap event so people don't get killed ex: plasmamen - * Once the spring is used, it cannot be used by the same mind ever again - * After usage, teleports the user back to a random safe turf (so mobs are not killed by ice moon atmosphere) - * - */ + * Turns whoever enters into a mob or random person + * + * If mob is chosen, turns the person into a random animal type + * If appearance is chosen, turns the person into a random human with a random species + * This changes name, and changes their DNA as well + * Random species is same as wizard swap event so people don't get killed ex: plasmamen + * Once the spring is used, it cannot be used by the same mind ever again + * After usage, teleports the user back to a random safe turf (so mobs are not killed by ice moon atmosphere) + * + */ /turf/open/water/cursed_spring baseturfs = /turf/open/water/cursed_spring @@ -48,8 +48,8 @@ GLOBAL_LIST_EMPTY(cursed_minds) to_chat(L, "You blink and find yourself in [get_area_name(T)].") /** - * Deletes minds from the cursed minds list after their deletion - * - */ + * Deletes minds from the cursed minds list after their deletion + * + */ /turf/open/water/cursed_spring/proc/remove_from_cursed(datum/mind/M) GLOB.cursed_minds -= M diff --git a/code/modules/shuttle/computer.dm b/code/modules/shuttle/computer.dm index 2cab8cfc6b2..9190784223c 100644 --- a/code/modules/shuttle/computer.dm +++ b/code/modules/shuttle/computer.dm @@ -78,11 +78,11 @@ return data /** - * Checks if we are allowed to launch the shuttle, for special cases - * - * Arguments: - * * user - The mob trying to initiate the launch - */ + * Checks if we are allowed to launch the shuttle, for special cases + * + * Arguments: + * * user - The mob trying to initiate the launch + */ /obj/machinery/computer/shuttle/proc/launch_check(mob/user) return TRUE diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index ff2a3376467..15d1e5630a2 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -363,14 +363,14 @@ SSticker.emergency_reason = null /** - * Proc that handles checking if the emergency shuttle was successfully hijacked via being the only people present on the shuttle for the elimination hijack or highlander objective - * - * Checks for all mobs on the shuttle, checks their status, and checks if they're - * borgs or simple animals. Depending on the args, certain mobs may be ignored, - * and the presence of other antags may or may not invalidate a hijack. - * Args: - * filter_by_human, default TRUE, tells the proc that only humans should block a hijack. Borgs and animals are ignored and will not block if this is TRUE. - * solo_hijack, default FALSE, tells the proc to fail with multiple hijackers, such as for Highlander mode. + * Proc that handles checking if the emergency shuttle was successfully hijacked via being the only people present on the shuttle for the elimination hijack or highlander objective + * + * Checks for all mobs on the shuttle, checks their status, and checks if they're + * borgs or simple animals. Depending on the args, certain mobs may be ignored, + * and the presence of other antags may or may not invalidate a hijack. + * Args: + * filter_by_human, default TRUE, tells the proc that only humans should block a hijack. Borgs and animals are ignored and will not block if this is TRUE. + * solo_hijack, default FALSE, tells the proc to fail with multiple hijackers, such as for Highlander mode. */ /obj/docking_port/mobile/emergency/proc/elimination_hijack(filter_by_human = TRUE, solo_hijack = FALSE) var/has_people = FALSE diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 102a4888288..eedeaf6471d 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -798,8 +798,8 @@ return "00:00" /** - * Gets shuttle location status in a form of string for tgui interfaces - */ + * Gets shuttle location status in a form of string for tgui interfaces + */ /obj/docking_port/mobile/proc/get_status_text_tgui() var/obj/docking_port/stationary/dockedAt = get_docked() var/docked_at = dockedAt?.name || "Unknown" diff --git a/code/modules/spells/spell.dm b/code/modules/spells/spell.dm index 30b89eaa860..cc90362af41 100644 --- a/code/modules/spells/spell.dm +++ b/code/modules/spells/spell.dm @@ -287,13 +287,13 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th return /** - * can_target: Checks if we are allowed to cast the spell on a target. - * - * Arguments: - * * target The atom that is being targeted by the spell. - * * user The mob using the spell. - * * silent If the checks should not give any feedback messages. - */ + * can_target: Checks if we are allowed to cast the spell on a target. + * + * Arguments: + * * target The atom that is being targeted by the spell. + * * user The mob using the spell. + * * silent If the checks should not give any feedback messages. + */ /obj/effect/proc_holder/spell/proc/can_target(atom/target, mob/user, silent = FALSE) return TRUE diff --git a/code/modules/spells/spell_types/construct_spells.dm b/code/modules/spells/spell_types/construct_spells.dm index 7062334c272..7c08b318ad1 100644 --- a/code/modules/spells/spell_types/construct_spells.dm +++ b/code/modules/spells/spell_types/construct_spells.dm @@ -217,11 +217,11 @@ target.adjust_bodytemperature(-200) /** - * cure_blidness: Cures Abyssal Gaze blindness from the target - * - * Arguments: - * * target The mob that is being cured of the blindness. - */ + * cure_blidness: Cures Abyssal Gaze blindness from the target + * + * Arguments: + * * target The mob that is being cured of the blindness. + */ /obj/effect/proc_holder/spell/pointed/abyssal_gaze/proc/cure_blindness(mob/target) if(isliving(target)) var/mob/living/L = target diff --git a/code/modules/spells/spell_types/pointed/pointed.dm b/code/modules/spells/spell_types/pointed/pointed.dm index cb212c384c7..2f2a6c41a8d 100644 --- a/code/modules/spells/spell_types/pointed/pointed.dm +++ b/code/modules/spells/spell_types/pointed/pointed.dm @@ -39,20 +39,20 @@ on_activation(user) /** - * on_activation: What happens upon pointed spell activation. - * - * Arguments: - * * user The mob interacting owning the spell. - */ + * on_activation: What happens upon pointed spell activation. + * + * Arguments: + * * user The mob interacting owning the spell. + */ /obj/effect/proc_holder/spell/pointed/proc/on_activation(mob/user) return /** - * on_activation: What happens upon pointed spell deactivation. - * - * Arguments: - * * user The mob interacting owning the spell. - */ + * on_activation: What happens upon pointed spell deactivation. + * + * Arguments: + * * user The mob interacting owning the spell. + */ /obj/effect/proc_holder/spell/pointed/proc/on_deactivation(mob/user) return @@ -84,13 +84,13 @@ return TRUE // Do not do any underlying actions after the spell cast /** - * intercept_check: Specific spell checks for InterceptClickOn() targets. - * - * Arguments: - * * user The mob using the ranged spell via intercept. - * * target The atom that is being targeted by the spell via intercept. - * * silent If the checks should produce not any feedback messages for the user. - */ + * intercept_check: Specific spell checks for InterceptClickOn() targets. + * + * Arguments: + * * user The mob using the ranged spell via intercept. + * * target The atom that is being targeted by the spell via intercept. + * * silent If the checks should produce not any feedback messages for the user. + */ /obj/effect/proc_holder/spell/pointed/proc/intercept_check(mob/user, atom/target, silent = FALSE) if(!self_castable && target == user) if(!silent) diff --git a/code/modules/spells/spell_types/shapeshift.dm b/code/modules/spells/spell_types/shapeshift.dm index 4d87f487519..3afa2fb88bf 100644 --- a/code/modules/spells/spell_types/shapeshift.dm +++ b/code/modules/spells/spell_types/shapeshift.dm @@ -77,11 +77,11 @@ return /** - * check_menu: Checks if we are allowed to interact with a radial menu - * - * Arguments: - * * user The mob interacting with a menu - */ + * check_menu: Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with a menu + */ /obj/effect/proc_holder/spell/targeted/shapeshift/proc/check_menu(mob/user) if(!istype(user)) return FALSE diff --git a/code/modules/station_goals/bsa.dm b/code/modules/station_goals/bsa.dm index e1a8f3996f7..fc15e0dc099 100644 --- a/code/modules/station_goals/bsa.dm +++ b/code/modules/station_goals/bsa.dm @@ -7,10 +7,10 @@ /datum/station_goal/bluespace_cannon/get_report() return {"Our military presence is inadequate in your sector. - We need you to construct BSA-[rand(1,99)] Artillery position aboard your station. + We need you to construct BSA-[rand(1,99)] Artillery position aboard your station. - Base parts are available for shipping via cargo. - -Nanotrasen Naval Command"} + Base parts are available for shipping via cargo. + -Nanotrasen Naval Command"} /datum/station_goal/bluespace_cannon/on_report() //Unlock BSA parts diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm index b71ba6e4705..410e10bc7e8 100644 --- a/code/modules/station_goals/dna_vault.dm +++ b/code/modules/station_goals/dna_vault.dm @@ -33,14 +33,14 @@ /datum/station_goal/dna_vault/get_report() return {"Our long term prediction systems indicate a 99% chance of system-wide cataclysm in the near future. - We need you to construct a DNA Vault aboard your station. + We need you to construct a DNA Vault aboard your station. - The DNA Vault needs to contain samples of: - [animal_count] unique animal data - [plant_count] unique non-standard plant data - [human_count] unique sapient humanoid DNA data + The DNA Vault needs to contain samples of: + [animal_count] unique animal data + [plant_count] unique non-standard plant data + [human_count] unique sapient humanoid DNA data - Base vault parts are available for shipping via cargo."} + Base vault parts are available for shipping via cargo."} /datum/station_goal/dna_vault/on_report() diff --git a/code/modules/station_goals/shield.dm b/code/modules/station_goals/shield.dm index 940f4c6dcad..11ad4339f96 100644 --- a/code/modules/station_goals/shield.dm +++ b/code/modules/station_goals/shield.dm @@ -7,10 +7,10 @@ /datum/station_goal/station_shield/get_report() return {"The station is located in a zone full of space debris. - We have a prototype shielding system you must deploy to reduce collision-related accidents. + We have a prototype shielding system you must deploy to reduce collision-related accidents. - You can order the satellites and control systems at cargo. - "} + You can order the satellites and control systems at cargo. + "} /datum/station_goal/station_shield/on_report() diff --git a/code/modules/surgery/bodyparts/_bodyparts.dm b/code/modules/surgery/bodyparts/_bodyparts.dm index 62efdfec737..db73d9c2f02 100644 --- a/code/modules/surgery/bodyparts/_bodyparts.dm +++ b/code/modules/surgery/bodyparts/_bodyparts.dm @@ -361,17 +361,17 @@ check_wounding(wounding_type, phantom_wounding_dmg, wound_bonus, bare_wound_bonus) /** - * check_wounding() is where we handle rolling for, selecting, and applying a wound if we meet the criteria - * - * We generate a "score" for how woundable the attack was based on the damage and other factors discussed in [/obj/item/bodypart/proc/check_woundings_mods], then go down the list from most severe to least severe wounds in that category. - * We can promote a wound from a lesser to a higher severity this way, but we give up if we have a wound of the given type and fail to roll a higher severity, so no sidegrades/downgrades - * - * Arguments: - * * woundtype- Either WOUND_BLUNT, WOUND_SLASH, WOUND_PIERCE, or WOUND_BURN based on the attack type. - * * damage- How much damage is tied to this attack, since wounding potential scales with damage in an attack (see: WOUND_DAMAGE_EXPONENT) - * * wound_bonus- The wound_bonus of an attack - * * bare_wound_bonus- The bare_wound_bonus of an attack - */ + * check_wounding() is where we handle rolling for, selecting, and applying a wound if we meet the criteria + * + * We generate a "score" for how woundable the attack was based on the damage and other factors discussed in [/obj/item/bodypart/proc/check_woundings_mods], then go down the list from most severe to least severe wounds in that category. + * We can promote a wound from a lesser to a higher severity this way, but we give up if we have a wound of the given type and fail to roll a higher severity, so no sidegrades/downgrades + * + * Arguments: + * * woundtype- Either WOUND_BLUNT, WOUND_SLASH, WOUND_PIERCE, or WOUND_BURN based on the attack type. + * * damage- How much damage is tied to this attack, since wounding potential scales with damage in an attack (see: WOUND_DAMAGE_EXPONENT) + * * wound_bonus- The wound_bonus of an attack + * * bare_wound_bonus- The bare_wound_bonus of an attack + */ /obj/item/bodypart/proc/check_wounding(woundtype, damage, wound_bonus, bare_wound_bonus) // note that these are fed into an exponent, so these are magnified if(HAS_TRAIT(owner, TRAIT_EASILY_WOUNDED)) @@ -443,15 +443,15 @@ new_wound.apply_wound(src, smited = smited) /** - * check_wounding_mods() is where we handle the various modifiers of a wound roll - * - * A short list of things we consider: any armor a human target may be wearing, and if they have no wound armor on the limb, if we have a bare_wound_bonus to apply, plus the plain wound_bonus - * We also flick through all of the wounds we currently have on this limb and add their threshold penalties, so that having lots of bad wounds makes you more liable to get hurt worse - * Lastly, we add the inherent wound_resistance variable the bodypart has (heads and chests are slightly harder to wound), and a small bonus if the limb is already disabled - * - * Arguments: - * * It's the same ones on [/obj/item/bodypart/proc/receive_damage] - */ + * check_wounding_mods() is where we handle the various modifiers of a wound roll + * + * A short list of things we consider: any armor a human target may be wearing, and if they have no wound armor on the limb, if we have a bare_wound_bonus to apply, plus the plain wound_bonus + * We also flick through all of the wounds we currently have on this limb and add their threshold penalties, so that having lots of bad wounds makes you more liable to get hurt worse + * Lastly, we add the inherent wound_resistance variable the bodypart has (heads and chests are slightly harder to wound), and a small bonus if the limb is already disabled + * + * Arguments: + * * It's the same ones on [/obj/item/bodypart/proc/receive_damage] + */ /obj/item/bodypart/proc/check_woundings_mods(wounding_type, damage, wound_bonus, bare_wound_bonus) var/armor_ablation = 0 var/injury_mod = 0 @@ -876,13 +876,13 @@ return i /** - * update_wounds() is called whenever a wound is gained or lost on this bodypart, as well as if there's a change of some kind on a bone wound possibly changing disabled status - * - * Covers tabulating the damage multipliers we have from wounds (burn specifically), as well as deleting our gauze wrapping if we don't have any wounds that can use bandaging - * - * Arguments: - * * replaced- If true, this is being called from the remove_wound() of a wound that's being replaced, so the bandage that already existed is still relevant, but the new wound hasn't been added yet - */ + * update_wounds() is called whenever a wound is gained or lost on this bodypart, as well as if there's a change of some kind on a bone wound possibly changing disabled status + * + * Covers tabulating the damage multipliers we have from wounds (burn specifically), as well as deleting our gauze wrapping if we don't have any wounds that can use bandaging + * + * Arguments: + * * replaced- If true, this is being called from the remove_wound() of a wound that's being replaced, so the bandage that already existed is still relevant, but the new wound hasn't been added yet + */ /obj/item/bodypart/proc/update_wounds(replaced = FALSE) var/dam_mul = 1 //initial(wound_damage_multiplier) @@ -928,16 +928,16 @@ return bleed_rate /** - * apply_gauze() is used to- well, apply gauze to a bodypart - * - * As of the Wounds 2 PR, all bleeding is now bodypart based rather than the old bleedstacks system, and 90% of standard bleeding comes from flesh wounds (the exception is embedded weapons). - * The same way bleeding is totaled up by bodyparts, gauze now applies to all wounds on the same part. Thus, having a slash wound, a pierce wound, and a broken bone wound would have the gauze - * applying blood staunching to the first two wounds, while also acting as a sling for the third one. Once enough blood has been absorbed or all wounds with the ACCEPTS_GAUZE flag have been cleared, - * the gauze falls off. - * - * Arguments: - * * gauze- Just the gauze stack we're taking a sheet from to apply here - */ + * apply_gauze() is used to- well, apply gauze to a bodypart + * + * As of the Wounds 2 PR, all bleeding is now bodypart based rather than the old bleedstacks system, and 90% of standard bleeding comes from flesh wounds (the exception is embedded weapons). + * The same way bleeding is totaled up by bodyparts, gauze now applies to all wounds on the same part. Thus, having a slash wound, a pierce wound, and a broken bone wound would have the gauze + * applying blood staunching to the first two wounds, while also acting as a sling for the third one. Once enough blood has been absorbed or all wounds with the ACCEPTS_GAUZE flag have been cleared, + * the gauze falls off. + * + * Arguments: + * * gauze- Just the gauze stack we're taking a sheet from to apply here + */ /obj/item/bodypart/proc/apply_gauze(obj/item/stack/gauze) if(!istype(gauze) || !gauze.absorption_capacity) return @@ -951,13 +951,13 @@ SEND_SIGNAL(src, COMSIG_BODYPART_GAUZED, gauze) /** - * seep_gauze() is for when a gauze wrapping absorbs blood or pus from wounds, lowering its absorption capacity. - * - * The passed amount of seepage is deducted from the bandage's absorption capacity, and if we reach a negative absorption capacity, the bandages fall off and we're left with nothing. - * - * Arguments: - * * seep_amt - How much absorption capacity we're removing from our current bandages (think, how much blood or pus are we soaking up this tick?) - */ + * seep_gauze() is for when a gauze wrapping absorbs blood or pus from wounds, lowering its absorption capacity. + * + * The passed amount of seepage is deducted from the bandage's absorption capacity, and if we reach a negative absorption capacity, the bandages fall off and we're left with nothing. + * + * Arguments: + * * seep_amt - How much absorption capacity we're removing from our current bandages (think, how much blood or pus are we soaking up this tick?) + */ /obj/item/bodypart/proc/seep_gauze(seep_amt = 0) if(!current_gauze) return diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index 9d1501ed1ee..cc3418c3c8c 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -149,13 +149,13 @@ forceMove(Tsec) /** - * get_mangled_state() is relevant for flesh and bone bodyparts, and returns whether this bodypart has mangled skin, mangled bone, or both (or neither i guess) - * - * Dismemberment for flesh and bone requires the victim to have the skin on their bodypart destroyed (either a critical cut or piercing wound), and at least a hairline fracture - * (severe bone), at which point we can start rolling for dismembering. The attack must also deal at least 10 damage, and must be a brute attack of some kind (sorry for now, cakehat, maybe later) - * - * Returns: BODYPART_MANGLED_NONE if we're fine, BODYPART_MANGLED_FLESH if our skin is broken, BODYPART_MANGLED_BONE if our bone is broken, or BODYPART_MANGLED_BOTH if both are broken and we're up for dismembering - */ + * get_mangled_state() is relevant for flesh and bone bodyparts, and returns whether this bodypart has mangled skin, mangled bone, or both (or neither i guess) + * + * Dismemberment for flesh and bone requires the victim to have the skin on their bodypart destroyed (either a critical cut or piercing wound), and at least a hairline fracture + * (severe bone), at which point we can start rolling for dismembering. The attack must also deal at least 10 damage, and must be a brute attack of some kind (sorry for now, cakehat, maybe later) + * + * Returns: BODYPART_MANGLED_NONE if we're fine, BODYPART_MANGLED_FLESH if our skin is broken, BODYPART_MANGLED_BONE if our bone is broken, or BODYPART_MANGLED_BOTH if both are broken and we're up for dismembering + */ /obj/item/bodypart/proc/get_mangled_state() . = BODYPART_MANGLED_NONE @@ -167,18 +167,18 @@ . |= BODYPART_MANGLED_FLESH /** - * try_dismember() is used, once we've confirmed that a flesh and bone bodypart has both the skin and bone mangled, to actually roll for it - * - * Mangling is described in the above proc, [/obj/item/bodypart/proc/get_mangled_state]. This simply makes the roll for whether we actually dismember or not - * using how damaged the limb already is, and how much damage this blow was for. If we have a critical bone wound instead of just a severe, we add +10% to the roll. - * Lastly, we choose which kind of dismember we want based on the wounding type we hit with. Note we don't care about all the normal mods or armor for this - * - * Arguments: - * * wounding_type: Either WOUND_BLUNT, WOUND_SLASH, or WOUND_PIERCE, basically only matters for the dismember message - * * wounding_dmg: The damage of the strike that prompted this roll, higher damage = higher chance - * * wound_bonus: Not actually used right now, but maybe someday - * * bare_wound_bonus: ditto above - */ + * try_dismember() is used, once we've confirmed that a flesh and bone bodypart has both the skin and bone mangled, to actually roll for it + * + * Mangling is described in the above proc, [/obj/item/bodypart/proc/get_mangled_state]. This simply makes the roll for whether we actually dismember or not + * using how damaged the limb already is, and how much damage this blow was for. If we have a critical bone wound instead of just a severe, we add +10% to the roll. + * Lastly, we choose which kind of dismember we want based on the wounding type we hit with. Note we don't care about all the normal mods or armor for this + * + * Arguments: + * * wounding_type: Either WOUND_BLUNT, WOUND_SLASH, or WOUND_PIERCE, basically only matters for the dismember message + * * wounding_dmg: The damage of the strike that prompted this roll, higher damage = higher chance + * * wound_bonus: Not actually used right now, but maybe someday + * * bare_wound_bonus: ditto above + */ /obj/item/bodypart/proc/try_dismember(wounding_type, wounding_dmg, wound_bonus, bare_wound_bonus) if(wounding_dmg < DISMEMBER_MINIMUM_DAMAGE) return diff --git a/code/modules/surgery/coronary_bypass.dm b/code/modules/surgery/coronary_bypass.dm index 0502ff4cca2..4108a3b3d6c 100644 --- a/code/modules/surgery/coronary_bypass.dm +++ b/code/modules/surgery/coronary_bypass.dm @@ -1,7 +1,9 @@ /datum/surgery/coronary_bypass name = "Coronary Bypass" - steps = list(/datum/surgery_step/incise, /datum/surgery_step/retract_skin, /datum/surgery_step/saw, /datum/surgery_step/clamp_bleeders, - /datum/surgery_step/incise_heart, /datum/surgery_step/coronary_bypass, /datum/surgery_step/close) + steps = list( + /datum/surgery_step/incise, /datum/surgery_step/retract_skin, /datum/surgery_step/saw, /datum/surgery_step/clamp_bleeders, + /datum/surgery_step/incise_heart, /datum/surgery_step/coronary_bypass, /datum/surgery_step/close, + ) possible_locs = list(BODY_ZONE_CHEST) /datum/surgery/coronary_bypass/can_start(mob/user, mob/living/carbon/target) diff --git a/code/modules/surgery/lobectomy.dm b/code/modules/surgery/lobectomy.dm index a3a97126601..1f0602e5ed1 100644 --- a/code/modules/surgery/lobectomy.dm +++ b/code/modules/surgery/lobectomy.dm @@ -1,7 +1,9 @@ /datum/surgery/lobectomy name = "Lobectomy" //not to be confused with lobotomy - steps = list(/datum/surgery_step/incise, /datum/surgery_step/retract_skin, /datum/surgery_step/saw, /datum/surgery_step/clamp_bleeders, - /datum/surgery_step/lobectomy, /datum/surgery_step/close) + steps = list( + /datum/surgery_step/incise, /datum/surgery_step/retract_skin, /datum/surgery_step/saw, /datum/surgery_step/clamp_bleeders, + /datum/surgery_step/lobectomy, /datum/surgery_step/close, + ) possible_locs = list(BODY_ZONE_CHEST) /datum/surgery/lobectomy/can_start(mob/user, mob/living/carbon/target) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 7c0cbf3176b..ac67dd4d18b 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -78,11 +78,11 @@ Retract() /** - * Called when the mob uses the "drop item" hotkey - * - * Items inside toolset implants have TRAIT_NODROP, but we can still use the drop item hotkey as a - * quick way to store implant items. In this case, we check to make sure the user has the correct arm - * selected, and that the item is actually owned by us, and then we'll hand off the rest to Retract() + * Called when the mob uses the "drop item" hotkey + * + * Items inside toolset implants have TRAIT_NODROP, but we can still use the drop item hotkey as a + * quick way to store implant items. In this case, we check to make sure the user has the correct arm + * selected, and that the item is actually owned by us, and then we'll hand off the rest to Retract() **/ /obj/item/organ/cyberimp/arm/proc/dropkey(mob/living/carbon/host) if(!host) diff --git a/code/modules/surgery/organs/autosurgeon.dm b/code/modules/surgery/organs/autosurgeon.dm index 631f9616c49..511e8012307 100644 --- a/code/modules/surgery/organs/autosurgeon.dm +++ b/code/modules/surgery/organs/autosurgeon.dm @@ -3,7 +3,7 @@ /obj/item/autosurgeon name = "autosurgeon" desc = "A device that automatically inserts an implant, skillchip or organ into the user without the hassle of extensive surgery. \ - It has a screwdriver slot for removing accidentally added items." + It has a screwdriver slot for removing accidentally added items." icon = 'icons/obj/device.dmi' icon_state = "autoimplanter" inhand_icon_state = "nothing" @@ -17,7 +17,7 @@ /obj/item/autosurgeon/organ name = "implant autosurgeon" desc = "A device that automatically inserts an implant or organ into the user without the hassle of extensive surgery. \ - It has a slot to insert implants or organs and a screwdriver slot for removing accidentally added items." + It has a slot to insert implants or organs and a screwdriver slot for removing accidentally added items." var/organ_type = /obj/item/organ var/starting_organ @@ -114,7 +114,7 @@ /obj/item/autosurgeon/skillchip name = "skillchip autosurgeon" desc = "A device that automatically inserts a skillchip into the user's brain without the hassle of extensive surgery. \ - It has a slot to insert a skillchip and a screwdriver slot for removing accidentally added items." + It has a slot to insert a skillchip and a screwdriver slot for removing accidentally added items." var/skillchip_type = /obj/item/skillchip var/starting_skillchip var/obj/item/skillchip/stored_skillchip diff --git a/code/modules/surgery/organs/helpers.dm b/code/modules/surgery/organs/helpers.dm index bc1d9dff4e1..77346622b50 100644 --- a/code/modules/surgery/organs/helpers.dm +++ b/code/modules/surgery/organs/helpers.dm @@ -1,27 +1,27 @@ /** - * Get the organ object from the mob matching the passed in typepath - * - * Arguments: - * * typepath The typepath of the organ to get - */ + * Get the organ object from the mob matching the passed in typepath + * + * Arguments: + * * typepath The typepath of the organ to get + */ /mob/proc/getorgan(typepath) return /** - * Get organ objects by zone - * - * This will return a list of all the organs that are relevant to the zone that is passedin - * - * Arguments: - * * zone [a BODY_ZONE_X define](https://github.com/tgstation/tgstation/blob/master/code/__DEFINES/combat.dm#L187-L200) - */ + * Get organ objects by zone + * + * This will return a list of all the organs that are relevant to the zone that is passedin + * + * Arguments: + * * zone [a BODY_ZONE_X define](https://github.com/tgstation/tgstation/blob/master/code/__DEFINES/combat.dm#L187-L200) + */ /mob/proc/getorganszone(zone) return /** - * Returns a list of all organs in specified slot - * - * Arguments: - * * slot Slot to get the organs from - */ + * Returns a list of all organs in specified slot + * + * Arguments: + * * slot Slot to get the organs from + */ /mob/proc/getorganslot(slot) return diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 559c10f997a..8a8ba91c184 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -156,11 +156,11 @@ applyOrganDamage(d - damage) /** check_damage_thresholds - * input: M (a mob, the owner of the organ we call the proc on) - * output: returns a message should get displayed. - * description: By checking our current damage against our previous damage, we can decide whether we've passed an organ threshold. - * If we have, send the corresponding threshold message to the owner, if such a message exists. - */ + * input: M (a mob, the owner of the organ we call the proc on) + * output: returns a message should get displayed. + * description: By checking our current damage against our previous damage, we can decide whether we've passed an organ threshold. + * If we have, send the corresponding threshold message to the owner, if such a message exists. + */ /obj/item/organ/proc/check_damage_thresholds(M) if(damage == prev_damage) return @@ -226,13 +226,13 @@ /** get_availability - * returns whether the species should innately have this organ. - * - * regenerate organs works with generic organs, so we need to get whether it can accept certain organs just by what this returns. - * This is set to return true or false, depending on if a species has a specific organless trait. stomach for example checks if the species has NOSTOMACH and return based on that. - * Arguments: - * S - species, needed to return whether the species has an organ specific trait - */ + * returns whether the species should innately have this organ. + * + * regenerate organs works with generic organs, so we need to get whether it can accept certain organs just by what this returns. + * This is set to return true or false, depending on if a species has a specific organless trait. stomach for example checks if the species has NOSTOMACH and return based on that. + * Arguments: + * S - species, needed to return whether the species has an organ specific trait + */ /obj/item/organ/proc/get_availability(datum/species/S) return TRUE diff --git a/code/modules/swarmers/swarmer.dm b/code/modules/swarmers/swarmer.dm index 1f93f2d5a48..043283c0b1f 100644 --- a/code/modules/swarmers/swarmer.dm +++ b/code/modules/swarmers/swarmer.dm @@ -1,18 +1,18 @@ /** - * # Swarmer - * - * Tiny machines made by an ancient civilization, they seek only to consume materials and replicate. - * - * Tiny robots which, while not lethal, seek to destroy station components in order to recycle them into more swarmers. - * Sentient player swarmers spawn from a beacon spawned in maintenance and they can spawn melee swarmers to protect them. - * Swarmers have the following abilities: - * - Can melee targets to deal stamina damage. Stuns cyborgs. - * - Can teleport friend and foe alike away using ctrl + click. Applies binds to carbons, preventing them from immediate retaliation - * - Can shoot lasers which deal stamina damage to carbons and direct damage to simple mobs - * - Can self repair for free, completely healing themselves - * - Can construct traps which stun targets, and walls which block non-swarmer entites and projectiles - * - Can create swarmer drones, which lack the above abilities sans melee stunning targets. A swarmer can order its drones around by middle-clicking a tile. - */ + * # Swarmer + * + * Tiny machines made by an ancient civilization, they seek only to consume materials and replicate. + * + * Tiny robots which, while not lethal, seek to destroy station components in order to recycle them into more swarmers. + * Sentient player swarmers spawn from a beacon spawned in maintenance and they can spawn melee swarmers to protect them. + * Swarmers have the following abilities: + * - Can melee targets to deal stamina damage. Stuns cyborgs. + * - Can teleport friend and foe alike away using ctrl + click. Applies binds to carbons, preventing them from immediate retaliation + * - Can shoot lasers which deal stamina damage to carbons and direct damage to simple mobs + * - Can self repair for free, completely healing themselves + * - Can construct traps which stun targets, and walls which block non-swarmer entites and projectiles + * - Can create swarmer drones, which lack the above abilities sans melee stunning targets. A swarmer can order its drones around by middle-clicking a tile. + */ /mob/living/simple_animal/hostile/swarmer name = "swarmer" @@ -145,13 +145,13 @@ ////END CTRL CLICK FOR SWARMERS//// /** - * Called when a swarmer creates a structure or drone - * - * Proc called whenever a swarmer creates a structure or drone - * Arguments: - * * fabrication_object - The atom to create - * * fabrication_cost - How many resources it costs for a swarmer to create the object - */ + * Called when a swarmer creates a structure or drone + * + * Proc called whenever a swarmer creates a structure or drone + * Arguments: + * * fabrication_object - The atom to create + * * fabrication_cost - How many resources it costs for a swarmer to create the object + */ /mob/living/simple_animal/hostile/swarmer/proc/Fabricate(atom/fabrication_object,fabrication_cost = 0) if(!isturf(loc)) to_chat(src, "This is not a suitable location for fabrication. We need more space.") @@ -163,12 +163,12 @@ return new fabrication_object(drop_location()) /** - * Called when a swarmer attempts to consume an object - * - * Proc which determines interaction between a swarmer and whatever it is attempting to consume - * Arguments: - * * target - The material or object the swarmer is attempting to consume - */ + * Called when a swarmer attempts to consume an object + * + * Proc which determines interaction between a swarmer and whatever it is attempting to consume + * Arguments: + * * target - The material or object the swarmer is attempting to consume + */ /mob/living/simple_animal/hostile/swarmer/proc/Integrate(obj/target) var/resource_gain = target.integrate_amount() if(resources + resource_gain > max_resources) @@ -193,12 +193,12 @@ return TRUE /** - * Called when a swarmer attempts to destroy a structure - * - * Proc which determines interaction between a swarmer and a structure it is destroying - * Arguments: - * * target - The material or object the swarmer is attempting to destroy - */ + * Called when a swarmer attempts to destroy a structure + * + * Proc which determines interaction between a swarmer and a structure it is destroying + * Arguments: + * * target - The material or object the swarmer is attempting to destroy + */ /mob/living/simple_animal/hostile/swarmer/proc/dis_integrate(atom/movable/target) new /obj/effect/temp_visual/swarmer/disintegration(get_turf(target)) do_attack_animation(target) @@ -206,12 +206,12 @@ SSexplosions.low_mov_atom += target /** - * Called when a swarmer attempts to teleport a living entity away - * - * Proc which finds a safe location to teleport a living entity to when a swarmer teleports it away. Also energy handcuffs carbons. - * Arguments: - * * target - The entity the swarmer is trying to teleport away - */ + * Called when a swarmer attempts to teleport a living entity away + * + * Proc which finds a safe location to teleport a living entity to when a swarmer teleports it away. Also energy handcuffs carbons. + * Arguments: + * * target - The entity the swarmer is trying to teleport away + */ /mob/living/simple_animal/hostile/swarmer/proc/prepare_target(mob/living/target) if(target == src) return @@ -254,12 +254,12 @@ return ..() /** - * Called when a swarmer attempts to disassemble a machine - * - * Proc called when a swarmer attempts to disassemble a machine. Destroys the machine, and gives the swarmer metal. - * Arguments: - * * target - The machine the swarmer is attempting to disassemble - */ + * Called when a swarmer attempts to disassemble a machine + * + * Proc called when a swarmer attempts to disassemble a machine. Destroys the machine, and gives the swarmer metal. + * Arguments: + * * target - The machine the swarmer is attempting to disassemble + */ /mob/living/simple_animal/hostile/swarmer/proc/dismantle_machine(obj/machinery/target) do_attack_animation(target) to_chat(src, "We begin to dismantle this machine. We will need to be uninterrupted.") @@ -286,10 +286,10 @@ qdel(target) /** - * Called when a swarmer attempts to create a trap - * - * Proc used to allow a swarmer to create a trap. Checks if a trap is on the tile, then if the swarmer can afford, and then places the trap. - */ + * Called when a swarmer attempts to create a trap + * + * Proc used to allow a swarmer to create a trap. Checks if a trap is on the tile, then if the swarmer can afford, and then places the trap. + */ /mob/living/simple_animal/hostile/swarmer/proc/create_trap() set name = "Create trap" set category = "Swarmer" @@ -303,10 +303,10 @@ Fabricate(/obj/structure/swarmer/trap, 4) /** - * Called when a swarmer attempts to create a barricade - * - * Proc used to allow a swarmer to create a barricade. Checks if a barricade is on the tile, then if the swarmer can afford it, and then will attempt to create a barricade after a second delay. - */ + * Called when a swarmer attempts to create a barricade + * + * Proc used to allow a swarmer to create a barricade. Checks if a barricade is on the tile, then if the swarmer can afford it, and then will attempt to create a barricade after a second delay. + */ /mob/living/simple_animal/hostile/swarmer/proc/create_barricade() set name = "Create barricade" set category = "Swarmer" @@ -322,10 +322,10 @@ Fabricate(/obj/structure/swarmer/blockade, 4) /** - * Called when a swarmer attempts to create a drone - * - * Proc used to allow a swarmer to create a drone. Checks if the swarmer can afford the drone, then creates it after 5 seconds, and also registers it to the creating swarmer so it can command it - */ + * Called when a swarmer attempts to create a drone + * + * Proc used to allow a swarmer to create a drone. Checks if the swarmer can afford the drone, then creates it after 5 seconds, and also registers it to the creating swarmer so it can command it + */ /mob/living/simple_animal/hostile/swarmer/proc/create_swarmer() set name = "Replicate" set category = "Swarmer" @@ -347,18 +347,18 @@ playsound(loc,'sound/items/poster_being_created.ogg', 20, TRUE, -1) /** - * Used to determine what type of swarmer a swarmer should create - * - * Returns the type of the swarmer to be created - */ + * Used to determine what type of swarmer a swarmer should create + * + * Returns the type of the swarmer to be created + */ /mob/living/simple_animal/hostile/swarmer/proc/swarmer_type_to_create() return /mob/living/simple_animal/hostile/swarmer/melee /** - * Called when a swarmer attempts to repair itself - * - * Proc used to allow a swarmer self-repair. If the swarmer does not move after a period of time, then it will heal fully - */ + * Called when a swarmer attempts to repair itself + * + * Proc used to allow a swarmer self-repair. If the swarmer does not move after a period of time, then it will heal fully + */ /mob/living/simple_animal/hostile/swarmer/proc/repair_self() if(!isturf(loc)) return @@ -369,10 +369,10 @@ to_chat(src, "We successfully repaired ourselves.") /** - * Called when a swarmer toggles its light - * - * Proc used to allow a swarmer to toggle its light on and off. If a swarmer has any drones, change their light settings to match their master's. - */ + * Called when a swarmer toggles its light + * + * Proc used to allow a swarmer to toggle its light on and off. If a swarmer has any drones, change their light settings to match their master's. + */ /mob/living/simple_animal/hostile/swarmer/proc/toggle_light() if(swarmer_flags & SWARMER_LIGHT_ON) swarmer_flags = ~SWARMER_LIGHT_ON @@ -395,12 +395,12 @@ /** - * Proc which is used for swarmer comms - * - * Proc called which sends a message to all other swarmers. - * Arugments: - * * msg - The message the swarmer is sending, gotten from ContactSwarmers() - */ + * Proc which is used for swarmer comms + * + * Proc called which sends a message to all other swarmers. + * Arugments: + * * msg - The message the swarmer is sending, gotten from ContactSwarmers() + */ /mob/living/simple_animal/hostile/swarmer/proc/swarmer_chat(msg) var/rendered = "Swarm communication - [src] [say_quote(msg)]" for(var/i in GLOB.mob_list) @@ -412,10 +412,10 @@ to_chat(listener, "[link] [rendered]") /** - * Proc which is used for inputting a swarmer message - * - * Proc which is used for a swarmer to input a message on a pop-up box, then attempt to send that message to the other swarmers - */ + * Proc which is used for inputting a swarmer message + * + * Proc which is used for a swarmer to input a message on a pop-up box, then attempt to send that message to the other swarmers + */ /mob/living/simple_animal/hostile/swarmer/proc/contact_swarmers() var/message = stripped_input(src, "Announce to other swarmers", "Swarmer contact") // TODO get swarmers their own colour rather than just boldtext @@ -430,13 +430,13 @@ /** - * Removes a drone from the swarmer's list. - * - * Removes the drone from our list. - * Called specifically when a drone is about to be destroyed, so we don't have any null references. - * Arguments: - * * mob/drone - The drone to be removed from the list. - */ + * Removes a drone from the swarmer's list. + * + * Removes the drone from our list. + * Called specifically when a drone is about to be destroyed, so we don't have any null references. + * Arguments: + * * mob/drone - The drone to be removed from the list. + */ /mob/living/simple_animal/hostile/swarmer/proc/remove_drone(mob/drone, force) SIGNAL_HANDLER @@ -444,10 +444,10 @@ dronelist -= drone /** - * # Swarmer Drone - * - * Melee subtype of swarmers, always AI-controlled under normal circumstances. Cannot fire projectiles, but does double stamina damage on melee - */ + * # Swarmer Drone + * + * Melee subtype of swarmers, always AI-controlled under normal circumstances. Cannot fire projectiles, but does double stamina damage on melee + */ /mob/living/simple_animal/hostile/swarmer/melee icon_state = "swarmer_melee" icon_living = "swarmer_melee" diff --git a/code/modules/swarmers/swarmer_act.dm b/code/modules/swarmers/swarmer_act.dm index 350f24e2679..0c73a66da4b 100644 --- a/code/modules/swarmers/swarmer_act.dm +++ b/code/modules/swarmers/swarmer_act.dm @@ -1,10 +1,10 @@ /** - * Determines what happens to an atom when a swarmer interacts with it - * - * Determines behavior upon being interacted on by a swarmer. - * Arguments: - * * S - A reference to the swarmer doing the interaction - */ + * Determines what happens to an atom when a swarmer interacts with it + * + * Determines behavior upon being interacted on by a swarmer. + * Arguments: + * * S - A reference to the swarmer doing the interaction + */ #define DANGEROUS_DELTA_P 250 //Value in kPa where swarmers arent allowed to break a wall or window with this difference in pressure. ///Finds the greatest difference in pressure across a turf, only considers open turfs. @@ -48,8 +48,8 @@ return actor.Integrate(src) /** - * Return used to determine how many resources a swarmer gains when consuming an object - */ + * Return used to determine how many resources a swarmer gains when consuming an object + */ /obj/proc/integrate_amount() return 0 diff --git a/code/modules/swarmers/swarmer_objs.dm b/code/modules/swarmers/swarmer_objs.dm index a41abcf681a..46bdf5d3562 100644 --- a/code/modules/swarmers/swarmer_objs.dm +++ b/code/modules/swarmers/swarmer_objs.dm @@ -30,14 +30,14 @@ qdel(src) /** - * # Swarmer Beacon - * - * Beacon which creates sentient player swarmers. - * - * The beacon which creates sentient player swarmers during the swarmer event. Spawns in maint on xeno locations, and can create a player swarmer once every 30 seconds. - * The beacon cannot be damaged by swarmers, and must be destroyed to prevent the spawning of further player-controlled swarmers. - * Holds a swarmer within itself during the 30 seconds before releasing it and allowing for another swarmer to be spawned in. - */ + * # Swarmer Beacon + * + * Beacon which creates sentient player swarmers. + * + * The beacon which creates sentient player swarmers during the swarmer event. Spawns in maint on xeno locations, and can create a player swarmer once every 30 seconds. + * The beacon cannot be damaged by swarmers, and must be destroyed to prevent the spawning of further player-controlled swarmers. + * Holds a swarmer within itself during the 30 seconds before releasing it and allowing for another swarmer to be spawned in. + */ /obj/structure/swarmer_beacon name = "swarmer beacon" @@ -70,12 +70,12 @@ que_swarmer(user) /** - * Interaction when a ghost interacts with a swarmer beacon - * - * Called when a ghost interacts with a swarmer beacon, allowing them to become a swarmer - * Arguments: - * * user - A reference to the ghost interacting with the beacon - */ + * Interaction when a ghost interacts with a swarmer beacon + * + * Called when a ghost interacts with a swarmer beacon, allowing them to become a swarmer + * Arguments: + * * user - A reference to the ghost interacting with the beacon + */ /obj/structure/swarmer_beacon/proc/que_swarmer(mob/user) var/swarm_ask = alert("Become a swarmer?", "Do you wish to consume the station?", "Yes", "No") if(swarm_ask == "No" || QDELETED(src) || QDELETED(user) || processing_swarmer) @@ -88,23 +88,23 @@ return TRUE /** - * Releases a swarmer from the beacon and tells it what to do - * - * Occcurs 30 seconds after a ghost becomes a swarmer. The beacon releases it, tells it what to do, and opens itself up to spawn in a new swarmer. - * Arguments: - * * swarmer - The swarmer being released and told what to do - */ + * Releases a swarmer from the beacon and tells it what to do + * + * Occcurs 30 seconds after a ghost becomes a swarmer. The beacon releases it, tells it what to do, and opens itself up to spawn in a new swarmer. + * Arguments: + * * swarmer - The swarmer being released and told what to do + */ /obj/structure/swarmer_beacon/proc/release_swarmer(mob/swarmer) to_chat(swarmer, "SWARMER CONSTRUCTION COMPLETED. OBJECTIVES:\n\ - 1. CONSUME RESOURCES AND REPLICATE UNTIL THERE ARE NO MORE RESOURCES LEFT\n\ - 2. ENSURE PROTECTION OF THE BEACON SO THIS LOCATION CAN BE INVADED AT A LATER DATE; DO NOT PERFORM ACTIONS THAT WOULD RENDER THIS LOCATION DANGEROUS OR INHOSPITABLE\n\ - 3. BIOLOGICAL RESOURCES WILL BE HARVESTED AT A LATER DATE: DO NOT HARM THEM\n\ - OPERATOR NOTES:\n\ - - CONSUME RESOURCES TO CONSTRUCT TRAPS, BARRIERS, AND FOLLOWER DRONES\n\ - - FOLLOWER DRONES WILL FOLLOW YOU AUTOMATCIALLY UNLESS THEY POSSESS A TARGET. WHILE DRONES CANNOT ASSIST IN RESOURCE HARVESTING, THEY CAN PROTECT YOU FROM THREATS\n\ - - LCTRL + ATTACKING AN ORGANIC WILL ALOW YOU TO REMOVE SAID ORGANIC FROM THE AREA\n\ - - YOU AND YOUR DRONES HAVE A STUN EFFECT ON MELEE. YOU ARE ALSO ARMED WITH A DISABLER PROJECTILE, USE THESE TO PREVENT ORGANICS FROM HALTING YOUR PROGRESS\n\ - GLORY TO !*# $*#^") + 1. CONSUME RESOURCES AND REPLICATE UNTIL THERE ARE NO MORE RESOURCES LEFT\n\ + 2. ENSURE PROTECTION OF THE BEACON SO THIS LOCATION CAN BE INVADED AT A LATER DATE; DO NOT PERFORM ACTIONS THAT WOULD RENDER THIS LOCATION DANGEROUS OR INHOSPITABLE\n\ + 3. BIOLOGICAL RESOURCES WILL BE HARVESTED AT A LATER DATE: DO NOT HARM THEM\n\ + OPERATOR NOTES:\n\ + - CONSUME RESOURCES TO CONSTRUCT TRAPS, BARRIERS, AND FOLLOWER DRONES\n\ + - FOLLOWER DRONES WILL FOLLOW YOU AUTOMATCIALLY UNLESS THEY POSSESS A TARGET. WHILE DRONES CANNOT ASSIST IN RESOURCE HARVESTING, THEY CAN PROTECT YOU FROM THREATS\n\ + - LCTRL + ATTACKING AN ORGANIC WILL ALOW YOU TO REMOVE SAID ORGANIC FROM THE AREA\n\ + - YOU AND YOUR DRONES HAVE A STUN EFFECT ON MELEE. YOU ARE ALSO ARMED WITH A DISABLER PROJECTILE, USE THESE TO PREVENT ORGANICS FROM HALTING YOUR PROGRESS\n\ + GLORY TO !*# $*#^") swarmer.forceMove(get_turf(src)) processing_swarmer = FALSE diff --git a/code/modules/tgchat/to_chat.dm b/code/modules/tgchat/to_chat.dm index ef5e7d90f8f..3030ec7fe91 100644 --- a/code/modules/tgchat/to_chat.dm +++ b/code/modules/tgchat/to_chat.dm @@ -1,4 +1,4 @@ -/** +/*! * Copyright (c) 2020 Aleksej Komarov * SPDX-License-Identifier: MIT */ diff --git a/code/modules/tgui/external.dm b/code/modules/tgui/external.dm index ec1857768d8..fc1db4510fe 100644 --- a/code/modules/tgui/external.dm +++ b/code/modules/tgui/external.dm @@ -1,4 +1,4 @@ -/** +/*! * External tgui definitions, such as src_object APIs. * * Copyright (c) 2020 Aleksej Komarov diff --git a/code/modules/tgui/states.dm b/code/modules/tgui/states.dm index 877611fb323..62cb2ded81d 100644 --- a/code/modules/tgui/states.dm +++ b/code/modules/tgui/states.dm @@ -1,4 +1,4 @@ -/** +/*! * Base state and helpers for states. Just does some sanity checks, * implement a proper state for in-depth checks. * diff --git a/code/modules/tgui/states/admin.dm b/code/modules/tgui/states/admin.dm index 227a2940785..4da5061dfcb 100644 --- a/code/modules/tgui/states/admin.dm +++ b/code/modules/tgui/states/admin.dm @@ -1,10 +1,12 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: admin_state * * Checks that the user is an admin, end-of-story. - * - * Copyright (c) 2020 Aleksej Komarov - * SPDX-License-Identifier: MIT */ GLOBAL_DATUM_INIT(admin_state, /datum/ui_state/admin_state, new) diff --git a/code/modules/tgui/states/always.dm b/code/modules/tgui/states/always.dm index 210f0896a2f..2406dbb2b9b 100644 --- a/code/modules/tgui/states/always.dm +++ b/code/modules/tgui/states/always.dm @@ -1,10 +1,12 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: always_state * * Always grants the user UI_INTERACTIVE. Period. - * - * Copyright (c) 2020 Aleksej Komarov - * SPDX-License-Identifier: MIT */ GLOBAL_DATUM_INIT(always_state, /datum/ui_state/always_state, new) diff --git a/code/modules/tgui/states/conscious.dm b/code/modules/tgui/states/conscious.dm index 670ca7c07e8..8e35a97da32 100644 --- a/code/modules/tgui/states/conscious.dm +++ b/code/modules/tgui/states/conscious.dm @@ -1,10 +1,12 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: conscious_state * * Only checks if the user is conscious. - * - * Copyright (c) 2020 Aleksej Komarov - * SPDX-License-Identifier: MIT */ GLOBAL_DATUM_INIT(conscious_state, /datum/ui_state/conscious_state, new) diff --git a/code/modules/tgui/states/contained.dm b/code/modules/tgui/states/contained.dm index 1eb8edba25f..98187b746e0 100644 --- a/code/modules/tgui/states/contained.dm +++ b/code/modules/tgui/states/contained.dm @@ -1,10 +1,12 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: contained_state * * Checks that the user is inside the src_object. - * - * Copyright (c) 2020 Aleksej Komarov - * SPDX-License-Identifier: MIT */ GLOBAL_DATUM_INIT(contained_state, /datum/ui_state/contained_state, new) diff --git a/code/modules/tgui/states/deep_inventory.dm b/code/modules/tgui/states/deep_inventory.dm index a2b9276a593..a7351a0d2d9 100644 --- a/code/modules/tgui/states/deep_inventory.dm +++ b/code/modules/tgui/states/deep_inventory.dm @@ -1,11 +1,13 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: deep_inventory_state * * Checks that the src_object is in the user's deep * (backpack, box, toolbox, etc) inventory. - * - * Copyright (c) 2020 Aleksej Komarov - * SPDX-License-Identifier: MIT */ GLOBAL_DATUM_INIT(deep_inventory_state, /datum/ui_state/deep_inventory_state, new) diff --git a/code/modules/tgui/states/default.dm b/code/modules/tgui/states/default.dm index 80ac5791ffd..ca1539fe90a 100644 --- a/code/modules/tgui/states/default.dm +++ b/code/modules/tgui/states/default.dm @@ -1,11 +1,13 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: default_state * * Checks a number of things -- mostly physical distance for humans * and view for robots. - * - * Copyright (c) 2020 Aleksej Komarov - * SPDX-License-Identifier: MIT */ GLOBAL_DATUM_INIT(default_state, /datum/ui_state/default, new) diff --git a/code/modules/tgui/states/hands.dm b/code/modules/tgui/states/hands.dm index 1c885ed4140..e8cb844bf7f 100644 --- a/code/modules/tgui/states/hands.dm +++ b/code/modules/tgui/states/hands.dm @@ -1,10 +1,12 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: hands_state * * Checks that the src_object is in the user's hands. - * - * Copyright (c) 2020 Aleksej Komarov - * SPDX-License-Identifier: MIT */ GLOBAL_DATUM_INIT(hands_state, /datum/ui_state/hands_state, new) diff --git a/code/modules/tgui/states/human_adjacent.dm b/code/modules/tgui/states/human_adjacent.dm index 2ac7c8637b6..b9208f96cd6 100644 --- a/code/modules/tgui/states/human_adjacent.dm +++ b/code/modules/tgui/states/human_adjacent.dm @@ -1,11 +1,13 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: human_adjacent_state * * In addition to default checks, only allows interaction for a * human adjacent user. - * - * Copyright (c) 2020 Aleksej Komarov - * SPDX-License-Identifier: MIT */ GLOBAL_DATUM_INIT(human_adjacent_state, /datum/ui_state/human_adjacent_state, new) diff --git a/code/modules/tgui/states/inventory.dm b/code/modules/tgui/states/inventory.dm index dc5dd0d57e6..4bc121b278a 100644 --- a/code/modules/tgui/states/inventory.dm +++ b/code/modules/tgui/states/inventory.dm @@ -1,11 +1,13 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: inventory_state * * Checks that the src_object is in the user's top-level * (hand, ear, pocket, belt, etc) inventory. - * - * Copyright (c) 2020 Aleksej Komarov - * SPDX-License-Identifier: MIT */ GLOBAL_DATUM_INIT(inventory_state, /datum/ui_state/inventory_state, new) diff --git a/code/modules/tgui/states/language_menu.dm b/code/modules/tgui/states/language_menu.dm index 6389b05cd5e..eaaa125786d 100644 --- a/code/modules/tgui/states/language_menu.dm +++ b/code/modules/tgui/states/language_menu.dm @@ -1,10 +1,12 @@ -/** - * tgui state: language_menu_state - * +/*! * Copyright (c) 2020 Aleksej Komarov * SPDX-License-Identifier: MIT */ +/** + * tgui state: language_menu_state + */ + GLOBAL_DATUM_INIT(language_menu_state, /datum/ui_state/language_menu, new) /datum/ui_state/language_menu/can_use_topic(src_object, mob/user) diff --git a/code/modules/tgui/states/not_incapacitated.dm b/code/modules/tgui/states/not_incapacitated.dm index 4d38c62392f..f7278c86de4 100644 --- a/code/modules/tgui/states/not_incapacitated.dm +++ b/code/modules/tgui/states/not_incapacitated.dm @@ -1,10 +1,12 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: not_incapacitated_state * * Checks that the user isn't incapacitated - * - * Copyright (c) 2020 Aleksej Komarov - * SPDX-License-Identifier: MIT */ GLOBAL_DATUM_INIT(not_incapacitated_state, /datum/ui_state/not_incapacitated_state, new) diff --git a/code/modules/tgui/states/notcontained.dm b/code/modules/tgui/states/notcontained.dm index 1d4e6aec192..018e0fa0304 100644 --- a/code/modules/tgui/states/notcontained.dm +++ b/code/modules/tgui/states/notcontained.dm @@ -1,11 +1,13 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: notcontained_state * * Checks that the user is not inside src_object, and then makes the * default checks. - * - * Copyright (c) 2020 Aleksej Komarov - * SPDX-License-Identifier: MIT */ GLOBAL_DATUM_INIT(notcontained_state, /datum/ui_state/notcontained_state, new) diff --git a/code/modules/tgui/states/observer.dm b/code/modules/tgui/states/observer.dm index d105de1c0c0..b749afa8948 100644 --- a/code/modules/tgui/states/observer.dm +++ b/code/modules/tgui/states/observer.dm @@ -1,10 +1,12 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: observer_state * * Checks that the user is an observer/ghost. - * - * Copyright (c) 2020 Aleksej Komarov - * SPDX-License-Identifier: MIT */ GLOBAL_DATUM_INIT(observer_state, /datum/ui_state/observer_state, new) diff --git a/code/modules/tgui/states/physical.dm b/code/modules/tgui/states/physical.dm index 3073039d14c..b559758f720 100644 --- a/code/modules/tgui/states/physical.dm +++ b/code/modules/tgui/states/physical.dm @@ -1,10 +1,12 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: physical_state * * Short-circuits the default state to only check physical distance. - * - * Copyright (c) 2020 Aleksej Komarov - * SPDX-License-Identifier: MIT */ GLOBAL_DATUM_INIT(physical_state, /datum/ui_state/physical, new) diff --git a/code/modules/tgui/states/self.dm b/code/modules/tgui/states/self.dm index 4b6e3b9fd9f..f7cef3f6005 100644 --- a/code/modules/tgui/states/self.dm +++ b/code/modules/tgui/states/self.dm @@ -1,10 +1,12 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: self_state * * Only checks that the user and src_object are the same. - * - * Copyright (c) 2020 Aleksej Komarov - * SPDX-License-Identifier: MIT */ GLOBAL_DATUM_INIT(self_state, /datum/ui_state/self_state, new) diff --git a/code/modules/tgui/states/zlevel.dm b/code/modules/tgui/states/zlevel.dm index 64ea2fa1c0e..f1a2282b3c2 100644 --- a/code/modules/tgui/states/zlevel.dm +++ b/code/modules/tgui/states/zlevel.dm @@ -1,10 +1,12 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: z_state * * Only checks that the Z-level of the user and src_object are the same. - * - * Copyright (c) 2020 Aleksej Komarov - * SPDX-License-Identifier: MIT */ GLOBAL_DATUM_INIT(z_state, /datum/ui_state/z_state, new) diff --git a/code/modules/tgui/tgui.dm b/code/modules/tgui/tgui.dm index 7322c4179bb..b99783f67ad 100644 --- a/code/modules/tgui/tgui.dm +++ b/code/modules/tgui/tgui.dm @@ -1,4 +1,4 @@ -/** +/*! * Copyright (c) 2020 Aleksej Komarov * SPDX-License-Identifier: MIT */ diff --git a/code/modules/tgui/tgui_window.dm b/code/modules/tgui/tgui_window.dm index f24a46e33d8..61e4db27e73 100644 --- a/code/modules/tgui/tgui_window.dm +++ b/code/modules/tgui/tgui_window.dm @@ -1,4 +1,4 @@ -/** +/*! * Copyright (c) 2020 Aleksej Komarov * SPDX-License-Identifier: MIT */ diff --git a/code/modules/tgui_panel/audio.dm b/code/modules/tgui_panel/audio.dm index e62c4b5bc19..68069615994 100644 --- a/code/modules/tgui_panel/audio.dm +++ b/code/modules/tgui_panel/audio.dm @@ -1,4 +1,4 @@ -/** +/*! * Copyright (c) 2020 Aleksej Komarov * SPDX-License-Identifier: MIT */ diff --git a/code/modules/tgui_panel/external.dm b/code/modules/tgui_panel/external.dm index fd892728aac..89973a925da 100644 --- a/code/modules/tgui_panel/external.dm +++ b/code/modules/tgui_panel/external.dm @@ -1,4 +1,4 @@ -/** +/*! * Copyright (c) 2020 Aleksej Komarov * SPDX-License-Identifier: MIT */ diff --git a/code/modules/tgui_panel/telemetry.dm b/code/modules/tgui_panel/telemetry.dm index 79087d8500c..e1abfb1e125 100644 --- a/code/modules/tgui_panel/telemetry.dm +++ b/code/modules/tgui_panel/telemetry.dm @@ -1,4 +1,4 @@ -/** +/*! * Copyright (c) 2020 Aleksej Komarov * SPDX-License-Identifier: MIT */ diff --git a/code/modules/tgui_panel/tgui_panel.dm b/code/modules/tgui_panel/tgui_panel.dm index dae7ae3d242..b2fb1201002 100644 --- a/code/modules/tgui_panel/tgui_panel.dm +++ b/code/modules/tgui_panel/tgui_panel.dm @@ -1,4 +1,4 @@ -/** +/*! * Copyright (c) 2020 Aleksej Komarov * SPDX-License-Identifier: MIT */ diff --git a/code/modules/unit_tests/spawn_humans.dm b/code/modules/unit_tests/spawn_humans.dm index 7189e87277d..0500deae0af 100644 --- a/code/modules/unit_tests/spawn_humans.dm +++ b/code/modules/unit_tests/spawn_humans.dm @@ -1,7 +1,7 @@ /datum/unit_test/spawn_humans/Run() - var/locs = block(run_loc_bottom_left, run_loc_top_right) + var/locs = block(run_loc_bottom_left, run_loc_top_right) - for(var/I in 1 to 5) - new /mob/living/carbon/human(pick(locs)) + for(var/I in 1 to 5) + new /mob/living/carbon/human(pick(locs)) - sleep(50) + sleep(50) diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 64e828b23e9..7fc7c69bb05 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -733,7 +733,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/ammo/shotgun/meteor name = "12g Meteorslug Shells" desc = "An alternative 8-round meteorslug magazine for use in the Bulldog shotgun. \ - Great for blasting airlocks off their frames and knocking down enemies." + Great for blasting airlocks off their frames and knocking down enemies." item = /obj/item/ammo_box/magazine/m12g/meteor include_modes = list(/datum/game_mode/nuclear) diff --git a/code/modules/vehicles/cars/clowncar.dm b/code/modules/vehicles/cars/clowncar.dm index bd3cdcc8cf5..2ff5b7f01bd 100644 --- a/code/modules/vehicles/cars/clowncar.dm +++ b/code/modules/vehicles/cars/clowncar.dm @@ -95,8 +95,8 @@ AddElement(/datum/element/waddling) /obj/vehicle/sealed/car/clowncar/Destroy() - playsound(src, 'sound/vehicles/clowncar_fart.ogg', 100) - return ..() + playsound(src, 'sound/vehicles/clowncar_fart.ogg', 100) + return ..() /obj/vehicle/sealed/car/clowncar/after_move(direction) . = ..() diff --git a/code/modules/vehicles/mecha/_mecha.dm b/code/modules/vehicles/mecha/_mecha.dm index 8d86338c1eb..1417244e714 100644 --- a/code/modules/vehicles/mecha/_mecha.dm +++ b/code/modules/vehicles/mecha/_mecha.dm @@ -1,22 +1,22 @@ /***************** WELCOME TO MECHA.DM, ENJOY YOUR STAY *****************/ /** - * Mechs are now (finally) vehicles, this means you can make them multicrew - * They can also grant select ability buttons based on occupant bitflags - * - * Movement is handled through vehicle_move() which is called by relaymove - * Clicking is done by way of signals registering to the entering mob - * NOTE: MMIS are NOT mobs but instead contain a brain that is, so you need special checks - * AI also has special checks becaus it gets in and out of the mech differently - * Always call remove_occupant(mob) when leaving the mech so the mob is removed properly - * - * For multi-crew, you need to set how the occupants recieve ability bitflags corresponding to their status on the vehicle(i.e: driver, gunner etc) - * Abilities can then be set to only apply for certain bitflags and are assigned as such automatically - * - * Clicks are wither translated into mech_melee_attack (see mech_melee_attack.dm) - * Or are used to call action() on equipped gear - * Cooldown for gear is on the mech because exploits - */ + * Mechs are now (finally) vehicles, this means you can make them multicrew + * They can also grant select ability buttons based on occupant bitflags + * + * Movement is handled through vehicle_move() which is called by relaymove + * Clicking is done by way of signals registering to the entering mob + * NOTE: MMIS are NOT mobs but instead contain a brain that is, so you need special checks + * AI also has special checks becaus it gets in and out of the mech differently + * Always call remove_occupant(mob) when leaving the mech so the mob is removed properly + * + * For multi-crew, you need to set how the occupants recieve ability bitflags corresponding to their status on the vehicle(i.e: driver, gunner etc) + * Abilities can then be set to only apply for certain bitflags and are assigned as such automatically + * + * Clicks are wither translated into mech_melee_attack (see mech_melee_attack.dm) + * Or are used to call action() on equipped gear + * Cooldown for gear is on the mech because exploits + */ /obj/vehicle/sealed/mecha name = "mecha" desc = "Exosuit" diff --git a/code/modules/vehicles/mecha/combat/durand.dm b/code/modules/vehicles/mecha/combat/durand.dm index f99d8a59531..5ff023fd4ec 100644 --- a/code/modules/vehicles/mecha/combat/durand.dm +++ b/code/modules/vehicles/mecha/combat/durand.dm @@ -168,18 +168,18 @@ own integrity back to max. Shield is automatically dropped if we run out of powe return ..() /** - * Handles activating and deactivating the shield. - * - * This proc is called by a signal sent from the mech's action button and - * relayed by the mech itself. The "forced" variable, `signal_args[1]`, will - * skip the to-pilot text and is meant for when the shield is disabled by - * means other than the action button (like running out of power). - * - * Arguments: - * * source: the shield - * * owner: mob that activated the shield - * * signal_args: whether it's forced - */ + * Handles activating and deactivating the shield. + * + * This proc is called by a signal sent from the mech's action button and + * relayed by the mech itself. The "forced" variable, `signal_args[1]`, will + * skip the to-pilot text and is meant for when the shield is disabled by + * means other than the action button (like running out of power). + * + * Arguments: + * * source: the shield + * * owner: mob that activated the shield + * * signal_args: whether it's forced + */ /obj/durand_shield/proc/activate(datum/source, mob/owner, list/signal_args) SIGNAL_HANDLER currentuser = owner diff --git a/code/modules/vehicles/mecha/combat/honker.dm b/code/modules/vehicles/mecha/combat/honker.dm index da96bb2b949..8d14fc377a1 100644 --- a/code/modules/vehicles/mecha/combat/honker.dm +++ b/code/modules/vehicles/mecha/combat/honker.dm @@ -93,7 +93,7 @@ - "} + "} return output /obj/vehicle/sealed/mecha/combat/honker/get_commands() diff --git a/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm b/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm index f191a866d0f..4f2e47fb3cf 100644 --- a/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm @@ -41,8 +41,8 @@ return target.visible_message("[chassis] starts to drill [target].", \ - "[chassis] starts to drill [target]...", \ - "You hear drilling.") + "[chassis] starts to drill [target]...", \ + "You hear drilling.") // You can't drill harder by clicking more. if(!(target in source.do_afters) && do_after_cooldown(target, source)) diff --git a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm index 583ec832437..2bf2b35e412 100644 --- a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm +++ b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm @@ -489,7 +489,7 @@ else PG.throwforce = 0 - //has to be low sleep or it looks weird, the beam doesn't exist for very long so it's a non-issue + //has to be low sleep or it looks weird, the beam doesn't exist for very long so it's a non-issue chassis.Beam(PG, icon_state = "chain", time = missile_range * 20, maxdistance = missile_range + 2, beam_sleep_time = 1) /obj/item/punching_glove diff --git a/code/modules/vehicles/mecha/mech_fabricator.dm b/code/modules/vehicles/mecha/mech_fabricator.dm index a8ead6cba59..ca324c2c3cb 100644 --- a/code/modules/vehicles/mecha/mech_fabricator.dm +++ b/code/modules/vehicles/mecha/mech_fabricator.dm @@ -104,12 +104,12 @@ . += "The status display reads: Storing up to [rmat.local_size] material units.
    Material consumption at [component_coeff*100]%.
    Build time reduced by [100-time_coeff*100]%.
    " /** - * Generates an info list for a given part. - * - * Returns a list of part information. - * * D - Design datum to get information on. - * * categories - Boolean, whether or not to parse snowflake categories into the part information list. - */ + * Generates an info list for a given part. + * + * Returns a list of part information. + * * D - Design datum to get information on. + * * categories - Boolean, whether or not to parse snowflake categories into the part information list. + */ /obj/machinery/mecha_part_fabricator/proc/output_part_info(datum/design/D, categories = FALSE) var/cost = list() for(var/c in D.materials) @@ -178,11 +178,11 @@ return part /** - * Generates a list of resources / materials available to this Exosuit Fab - * - * Returns null if there is no material container available. - * List format is list(material_name = list(amount = ..., ref = ..., etc.)) - */ + * Generates a list of resources / materials available to this Exosuit Fab + * + * Returns null if there is no material container available. + * List format is list(material_name = list(amount = ..., ref = ..., etc.)) + */ /obj/machinery/mecha_part_fabricator/proc/output_available_resources() var/datum/component/material_container/materials = rmat.mat_container @@ -209,19 +209,19 @@ return null /** - * Intended to be called when an item starts printing. - * - * Adds the overlay to show the fab working and sets active power usage settings. - */ + * Intended to be called when an item starts printing. + * + * Adds the overlay to show the fab working and sets active power usage settings. + */ /obj/machinery/mecha_part_fabricator/proc/on_start_printing() add_overlay("fab-active") use_power = ACTIVE_POWER_USE /** - * Intended to be called when the exofab has stopped working and is no longer printing items. - * - * Removes the overlay to show the fab working and sets idle power usage settings. Additionally resets the description and turns off queue processing. - */ + * Intended to be called when the exofab has stopped working and is no longer printing items. + * + * Removes the overlay to show the fab working and sets idle power usage settings. Additionally resets the description and turns off queue processing. + */ /obj/machinery/mecha_part_fabricator/proc/on_finish_printing() cut_overlay("fab-active") use_power = IDLE_POWER_USE @@ -229,11 +229,11 @@ process_queue = FALSE /** - * Calculates resource/material costs for printing an item based on the machine's resource coefficient. - * - * Returns a list of k,v resources with their amounts. - * * D - Design datum to calculate the modified resource cost of. - */ + * Calculates resource/material costs for printing an item based on the machine's resource coefficient. + * + * Returns a list of k,v resources with their amounts. + * * D - Design datum to calculate the modified resource cost of. + */ /obj/machinery/mecha_part_fabricator/proc/get_resources_w_coeff(datum/design/D) var/list/resources = list() for(var/R in D.materials) @@ -242,12 +242,12 @@ return resources /** - * Checks if the Exofab has enough resources to print a given item. - * - * Returns FALSE if the design has no reagents used in its construction (?) or if there are insufficient resources. - * Returns TRUE if there are sufficient resources to print the item. - * * D - Design datum to calculate the modified resource cost of. - */ + * Checks if the Exofab has enough resources to print a given item. + * + * Returns FALSE if the design has no reagents used in its construction (?) or if there are insufficient resources. + * Returns TRUE if there are sufficient resources to print the item. + * * D - Design datum to calculate the modified resource cost of. + */ /obj/machinery/mecha_part_fabricator/proc/check_resources(datum/design/D) if(length(D.reagents_list)) // No reagents storage - no reagent designs. return FALSE @@ -257,12 +257,12 @@ return FALSE /** - * Attempts to build the next item in the build queue. - * - * Returns FALSE if either there are no more parts to build or the next part is not buildable. - * Returns TRUE if the next part has started building. - * * verbose - Whether the machine should use say() procs. Set to FALSE to disable the machine saying reasons for failure to build. - */ + * Attempts to build the next item in the build queue. + * + * Returns FALSE if either there are no more parts to build or the next part is not buildable. + * Returns TRUE if the next part has started building. + * * verbose - Whether the machine should use say() procs. Set to FALSE to disable the machine saying reasons for failure to build. + */ /obj/machinery/mecha_part_fabricator/proc/build_next_in_queue(verbose = TRUE) if(!length(queue)) return FALSE @@ -275,13 +275,13 @@ return FALSE /** - * Starts the build process for a given design datum. - * - * Returns FALSE if the procedure fails. Returns TRUE when being_built is set. - * Uses materials. - * * D - Design datum to attempt to print. - * * verbose - Whether the machine should use say() procs. Set to FALSE to disable the machine saying reasons for failure to build. - */ + * Starts the build process for a given design datum. + * + * Returns FALSE if the procedure fails. Returns TRUE when being_built is set. + * Uses materials. + * * D - Design datum to attempt to print. + * * verbose - Whether the machine should use say() procs. Set to FALSE to disable the machine saying reasons for failure to build. + */ /obj/machinery/mecha_part_fabricator/proc/build_part(datum/design/D, verbose = TRUE) if(!D) return FALSE @@ -341,12 +341,12 @@ return TRUE /** - * Dispenses a part to the tile infront of the Exosuit Fab. - * - * Returns FALSE is the machine cannot dispense the part on the appropriate turf. - * Return TRUE if the part was successfully dispensed. - * * D - Design datum to attempt to dispense. - */ + * Dispenses a part to the tile infront of the Exosuit Fab. + * + * Returns FALSE is the machine cannot dispense the part on the appropriate turf. + * Return TRUE if the part was successfully dispensed. + * * D - Design datum to attempt to dispense. + */ /obj/machinery/mecha_part_fabricator/proc/dispense_built_part(datum/design/D) var/obj/item/I = new D.build_path(src) I.material_flags |= MATERIAL_NO_EFFECTS //Find a better way to do this. @@ -366,12 +366,12 @@ return TRUE /** - * Adds a list of datum designs to the build queue. - * - * Will only add designs that are in this machine's stored techweb. - * Does final checks for datum IDs and makes sure this machine can build the designs. - * * part_list - List of datum design ids for designs to add to the queue. - */ + * Adds a list of datum designs to the build queue. + * + * Will only add designs that are in this machine's stored techweb. + * Does final checks for datum IDs and makes sure this machine can build the designs. + * * part_list - List of datum design ids for designs to add to the queue. + */ /obj/machinery/mecha_part_fabricator/proc/add_part_set_to_queue(list/part_list) for(var/v in stored_research.researched_designs) var/datum/design/D = SSresearch.techweb_design_by_id(v) @@ -379,11 +379,11 @@ add_to_queue(D) /** - * Adds a datum design to the build queue. - * - * Returns TRUE if successful and FALSE if the design was not added to the queue. - * * D - Datum design to add to the queue. - */ + * Adds a datum design to the build queue. + * + * Returns TRUE if successful and FALSE if the design was not added to the queue. + * * D - Datum design to add to the queue. + */ /obj/machinery/mecha_part_fabricator/proc/add_to_queue(datum/design/D) if(!istype(queue)) queue = list() @@ -393,11 +393,11 @@ return FALSE /** - * Removes datum design from the build queue based on index. - * - * Returns TRUE if successful and FALSE if a design was not removed from the queue. - * * index - Index in the build queue of the element to remove. - */ + * Removes datum design from the build queue based on index. + * + * Returns TRUE if successful and FALSE if a design was not removed from the queue. + * * index - Index in the build queue of the element to remove. + */ /obj/machinery/mecha_part_fabricator/proc/remove_from_queue(index) if(!isnum(index) || !ISINTEGER(index) || !istype(queue) || (index<1 || index>length(queue))) return FALSE @@ -405,10 +405,10 @@ return TRUE /** - * Generates a list of parts formatted for tgui based on the current build queue. - * - * Returns a formatted list of lists containing formatted part information for every part in the build queue. - */ + * Generates a list of parts formatted for tgui based on the current build queue. + * + * Returns a formatted list of lists containing formatted part information for every part in the build queue. + */ /obj/machinery/mecha_part_fabricator/proc/list_queue() if(!istype(queue) || !length(queue)) return null @@ -420,23 +420,23 @@ return queued_parts /** - * Calculates the coefficient-modified resource cost of a single material component of a design's recipe. - * - * Returns coefficient-modified resource cost for the given material component. - * * D - Design datum to pull the resource cost from. - * * resource - Material datum reference to the resource to calculate the cost of. - * * roundto - Rounding value for round() proc - */ + * Calculates the coefficient-modified resource cost of a single material component of a design's recipe. + * + * Returns coefficient-modified resource cost for the given material component. + * * D - Design datum to pull the resource cost from. + * * resource - Material datum reference to the resource to calculate the cost of. + * * roundto - Rounding value for round() proc + */ /obj/machinery/mecha_part_fabricator/proc/get_resource_cost_w_coeff(datum/design/D, datum/material/resource, roundto = 1) return round(D.materials[resource]*component_coeff, roundto) /** - * Calculates the coefficient-modified build time of a design. - * - * Returns coefficient-modified build time of a given design. - * * D - Design datum to calculate the modified build time of. - * * roundto - Rounding value for round() proc - */ + * Calculates the coefficient-modified build time of a design. + * + * Returns coefficient-modified build time of a given design. + * * D - Design datum to calculate the modified build time of. + * * roundto - Rounding value for round() proc + */ /obj/machinery/mecha_part_fabricator/proc/get_construction_time_w_coeff(construction_time, roundto = 1) //aran return round(construction_time*time_coeff, roundto) @@ -598,12 +598,12 @@ return FALSE /** - * Eject material sheets. - * - * Returns the number of sheets successfully ejected. - * eject_sheet - Byond REF of the material to eject. - * eject_amt - Number of sheets to attempt to eject. - */ + * Eject material sheets. + * + * Returns the number of sheets successfully ejected. + * eject_sheet - Byond REF of the material to eject. + * eject_amt - Number of sheets to attempt to eject. + */ /obj/machinery/mecha_part_fabricator/proc/eject_sheets(eject_sheet, eject_amt) var/datum/component/material_container/mat_container = rmat.mat_container if (!mat_container) diff --git a/code/modules/vehicles/mecha/mecha_control_console.dm b/code/modules/vehicles/mecha/mecha_control_console.dm index 404eb0b4053..adb10e3f042 100644 --- a/code/modules/vehicles/mecha/mecha_control_console.dm +++ b/code/modules/vehicles/mecha/mecha_control_console.dm @@ -86,8 +86,8 @@ var/obj/vehicle/sealed/mecha/chassis /** - * Returns a html formatted string describing attached mech status - */ + * Returns a html formatted string describing attached mech status + */ /obj/item/mecha_parts/mecha_tracking/proc/get_mecha_info() if(!chassis) return FALSE @@ -126,8 +126,8 @@ chassis = M /** - * Attempts to EMP mech that the tracker is attached to, if there is one and tracker is not on cooldown - */ + * Attempts to EMP mech that the tracker is attached to, if there is one and tracker is not on cooldown + */ /obj/item/mecha_parts/mecha_tracking/proc/shock() if(recharging) return @@ -137,8 +137,8 @@ recharging = TRUE /** - * Resets recharge variable, allowing tracker to be EMP pulsed again - */ + * Resets recharge variable, allowing tracker to be EMP pulsed again + */ /obj/item/mecha_parts/mecha_tracking/proc/recharge() recharging = FALSE diff --git a/code/modules/vehicles/mecha/mecha_wreckage.dm b/code/modules/vehicles/mecha/mecha_wreckage.dm index 8fd45616fac..cbd7efd07d2 100644 --- a/code/modules/vehicles/mecha/mecha_wreckage.dm +++ b/code/modules/vehicles/mecha/mecha_wreckage.dm @@ -93,7 +93,7 @@ if(!..()) return - //Proc called on the wreck by the AI card. + //Proc called on the wreck by the AI card. if(interaction != AI_TRANS_TO_CARD) //AIs can only be transferred in one direction, from the wreck to the card. return if(!AI) //No AI in the wreck diff --git a/code/modules/vehicles/mecha/working/ripley.dm b/code/modules/vehicles/mecha/working/ripley.dm index 6fdcb1c101b..c1b8f788918 100644 --- a/code/modules/vehicles/mecha/working/ripley.dm +++ b/code/modules/vehicles/mecha/working/ripley.dm @@ -188,10 +188,10 @@ to_chat(user, "You fail to push [O] out of [src]!") /** - * Makes the mecha go faster and halves the mecha drill cooldown if in Lavaland pressure. - * - * Checks for Lavaland pressure, if that works out the mech's speed is equal to fast_pressure_step_in and the cooldown for the mecha drill is halved. If not it uses slow_pressure_step_in and drill cooldown is normal. - */ + * Makes the mecha go faster and halves the mecha drill cooldown if in Lavaland pressure. + * + * Checks for Lavaland pressure, if that works out the mech's speed is equal to fast_pressure_step_in and the cooldown for the mecha drill is halved. If not it uses slow_pressure_step_in and drill cooldown is normal. + */ /obj/vehicle/sealed/mecha/working/ripley/proc/update_pressure() var/turf/T = get_turf(loc) diff --git a/code/modules/vehicles/mecha/working/working.dm b/code/modules/vehicles/mecha/working/working.dm index 72952f1f800..8e630c91a58 100644 --- a/code/modules/vehicles/mecha/working/working.dm +++ b/code/modules/vehicles/mecha/working/working.dm @@ -14,10 +14,10 @@ collect_ore() /** - * Handles collecting ore. - * - * Checks for a hydraulic clamp or ore box manager and if it finds an ore box inside them puts ore in the ore box. - */ + * Handles collecting ore. + * + * Checks for a hydraulic clamp or ore box manager and if it finds an ore box inside them puts ore in the ore box. + */ /obj/vehicle/sealed/mecha/working/proc/collect_ore() if(!box) return diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index 32388ac0792..4621bf0024b 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -18,10 +18,10 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C #define MAX_VENDING_INPUT_AMOUNT 30 /** - * # vending record datum - * - * A datum that represents a product that is vendable - */ + * # vending record datum + * + * A datum that represents a product that is vendable + */ /datum/data/vending_product name = "generic" ///Typepath of the product that is created when this record "sells" @@ -38,10 +38,10 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C var/age_restricted = FALSE /** - * # vending machines - * - * Captalism in the year 2525, everything in a vending machine, even love - */ + * # vending machines + * + * Captalism in the year 2525, everything in a vending machine, even love + */ /obj/machinery/vending name = "\improper Vendomat" desc = "A generic vending machine." @@ -140,16 +140,16 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C var/extra_price = 50 ///Whether our age check is currently functional var/age_restrictions = TRUE - /** + /** * Is this item on station or not * * if it doesn't originate from off-station during mapload, everything is free */ var/onstation = TRUE //if it doesn't originate from off-station during mapload, everything is free - ///A variable to change on a per instance basis on the map that allows the instance to force cost and ID requirements + ///A variable to change on a per instance basis on the map that allows the instance to force cost and ID requirements var/onstation_override = FALSE //change this on the object on the map to override the onstation check. DO NOT APPLY THIS GLOBALLY. - ///ID's that can load this vending machine wtih refills + ///ID's that can load this vending machine wtih refills var/list/canload_access_list @@ -170,18 +170,18 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C var/obj/item/radio/Radio /obj/item/circuitboard - ///determines if the circuit board originated from a vendor off station or not. + ///determines if the circuit board originated from a vendor off station or not. var/onstation = TRUE /** - * Initialize the vending machine - * - * Builds the vending machine inventory, sets up slogans and other such misc work - * - * This also sets the onstation var to: - * * FALSE - if the machine was maploaded on a zlevel that doesn't pass the is_station_level check - * * TRUE - all other cases - */ + * Initialize the vending machine + * + * Builds the vending machine inventory, sets up slogans and other such misc work + * + * This also sets the onstation var to: + * * FALSE - if the machine was maploaded on a zlevel that doesn't pass the is_station_level check + * * TRUE - all other cases + */ /obj/machinery/vending/Initialize(mapload) var/build_inv = FALSE if(!refill_canister) @@ -296,14 +296,14 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C GLOBAL_LIST_EMPTY(vending_products) /** - * Build the inventory of the vending machine from it's product and record lists - * - * This builds up a full set of /datum/data/vending_products from the product list of the vending machine type - * Arguments: - * * productlist - the list of products that need to be converted - * * recordlist - the list containing /datum/data/vending_product datums - * * startempty - should we set vending_product record amount from the product list (so it's prefilled at roundstart) - */ + * Build the inventory of the vending machine from it's product and record lists + * + * This builds up a full set of /datum/data/vending_products from the product list of the vending machine type + * Arguments: + * * productlist - the list of products that need to be converted + * * recordlist - the list containing /datum/data/vending_product datums + * * startempty - should we set vending_product record amount from the product list (so it's prefilled at roundstart) + */ /obj/machinery/vending/proc/build_inventory(list/productlist, list/recordlist, start_empty = FALSE) default_price = round(initial(default_price) * SSeconomy.inflation_value()) extra_price = round(initial(extra_price) * SSeconomy.inflation_value()) @@ -327,13 +327,13 @@ GLOBAL_LIST_EMPTY(vending_products) recordlist += R /** - * Reassign the prices of the vending machine as a result of the inflation value, as provided by SSeconomy - * - * This rebuilds both /datum/data/vending_products lists for premium and standard products based on their most relevant pricing values. - * Arguments: - * * recordlist - the list of standard product datums in the vendor to refresh their prices. - * * premiumlist - the list of premium product datums in the vendor to refresh their prices. - */ + * Reassign the prices of the vending machine as a result of the inflation value, as provided by SSeconomy + * + * This rebuilds both /datum/data/vending_products lists for premium and standard products based on their most relevant pricing values. + * Arguments: + * * recordlist - the list of standard product datums in the vendor to refresh their prices. + * * premiumlist - the list of premium product datums in the vendor to refresh their prices. + */ /obj/machinery/vending/proc/reset_prices(list/recordlist, list/premiumlist) default_price = round(initial(default_price) * SSeconomy.inflation_value()) extra_price = round(initial(extra_price) * SSeconomy.inflation_value()) @@ -352,13 +352,13 @@ GLOBAL_LIST_EMPTY(vending_products) record.custom_premium_price = round(extra_price + (initial(potential_product.custom_price) * (SSeconomy.inflation_value() - 1))) /** - * Refill a vending machine from a refill canister - * - * This takes the products from the refill canister and then fills the products,contraband and premium product categories - * - * Arguments: - * * canister - the vending canister we are refilling from - */ + * Refill a vending machine from a refill canister + * + * This takes the products from the refill canister and then fills the products,contraband and premium product categories + * + * Arguments: + * * canister - the vending canister we are refilling from + */ /obj/machinery/vending/proc/restock(obj/item/vending_refill/canister) if (!canister.products) canister.products = products.Copy() @@ -371,12 +371,12 @@ GLOBAL_LIST_EMPTY(vending_products) . += refill_inventory(canister.contraband, hidden_records) . += refill_inventory(canister.premium, coin_records) /** - * Refill our inventory from the passed in product list into the record list - * - * Arguments: - * * productlist - list of types -> amount - * * recordlist - existing record datums - */ + * Refill our inventory from the passed in product list into the record list + * + * Arguments: + * * productlist - list of types -> amount + * * recordlist - existing record datums + */ /obj/machinery/vending/proc/refill_inventory(list/productlist, list/recordlist) . = 0 for(var/R in recordlist) @@ -387,10 +387,10 @@ GLOBAL_LIST_EMPTY(vending_products) record.amount += diff . += diff /** - * Set up a refill canister that matches this machines products - * - * This is used when the machine is deconstructed, so the items aren't "lost" - */ + * Set up a refill canister that matches this machines products + * + * This is used when the machine is deconstructed, so the items aren't "lost" + */ /obj/machinery/vending/proc/update_canister() if (!component_parts) return @@ -404,8 +404,8 @@ GLOBAL_LIST_EMPTY(vending_products) R.premium = unbuild_inventory(coin_records) /** - * Given a record list, go through and and return a list of type -> amount - */ + * Given a record list, go through and and return a list of type -> amount + */ /obj/machinery/vending/proc/unbuild_inventory(list/recordlist) . = list() for(var/R in recordlist) @@ -651,11 +651,11 @@ GLOBAL_LIST_EMPTY(vending_products) . = ..() /** - * Is the passed in user allowed to load this vending machines compartments - * - * Arguments: - * * user - mob that is doing the loading of the vending machine - */ + * Is the passed in user allowed to load this vending machines compartments + * + * Arguments: + * * user - mob that is doing the loading of the vending machine + */ /obj/machinery/vending/proc/compartmentLoadAccessCheck(mob/user) if(!canload_access_list) return TRUE @@ -901,13 +901,13 @@ GLOBAL_LIST_EMPTY(vending_products) if(shoot_inventory && DT_PROB(shoot_inventory_chance, delta_time)) throw_item() /** - * Speak the given message verbally - * - * Checks if the machine is powered and the message exists - * - * Arguments: - * * message - the message to speak - */ + * Speak the given message verbally + * + * Checks if the machine is powered and the message exists + * + * Arguments: + * * message - the message to speak + */ /obj/machinery/vending/proc/speak(message) if(machine_stat & (BROKEN|NOPOWER)) return @@ -923,11 +923,11 @@ GLOBAL_LIST_EMPTY(vending_products) //Somebody cut an important wire and now we're following a new definition of "pitch." /** - * Throw an item from our internal inventory out in front of us - * - * This is called when we are hacked, it selects a random product from the records that has an amount > 0 - * This item is then created and tossed out in front of us with a visible message - */ + * Throw an item from our internal inventory out in front of us + * + * This is called when we are hacked, it selects a random product from the records that has an amount > 0 + * This item is then created and tossed out in front of us with a visible message + */ /obj/machinery/vending/proc/throw_item() var/obj/throw_item = null var/mob/living/target = locate() in view(7,src) @@ -953,25 +953,25 @@ GLOBAL_LIST_EMPTY(vending_products) visible_message("[src] launches [throw_item] at [target]!") return TRUE /** - * A callback called before an item is tossed out - * - * Override this if you need to do any special case handling - * - * Arguments: - * * I - obj/item being thrown - */ + * A callback called before an item is tossed out + * + * Override this if you need to do any special case handling + * + * Arguments: + * * I - obj/item being thrown + */ /obj/machinery/vending/proc/pre_throw(obj/item/I) return /** - * Shock the passed in user - * - * This checks we have power and that the passed in prob is passed, then generates some sparks - * and calls electrocute_mob on the user - * - * Arguments: - * * user - the user to shock - * * prb - probability the shock happens - */ + * Shock the passed in user + * + * This checks we have power and that the passed in prob is passed, then generates some sparks + * and calls electrocute_mob on the user + * + * Arguments: + * * user - the user to shock + * * prb - probability the shock happens + */ /obj/machinery/vending/proc/shock(mob/living/user, prb) if(!istype(user) || machine_stat & (BROKEN|NOPOWER)) // unpowered, no shock return FALSE @@ -984,12 +984,12 @@ GLOBAL_LIST_EMPTY(vending_products) else return FALSE /** - * Are we able to load the item passed in - * - * Arguments: - * * I - the item being loaded - * * user - the user doing the loading - */ + * Are we able to load the item passed in + * + * Arguments: + * * I - the item being loaded + * * user - the user doing the loading + */ /obj/machinery/vending/proc/canLoadItem(obj/item/I, mob/user) return FALSE diff --git a/code/modules/vending/boozeomat.dm b/code/modules/vending/boozeomat.dm index 7a39764a417..4e2162250c1 100644 --- a/code/modules/vending/boozeomat.dm +++ b/code/modules/vending/boozeomat.dm @@ -38,11 +38,14 @@ /obj/item/reagent_containers/food/drinks/bottle = 15, /obj/item/reagent_containers/food/drinks/bottle/small = 15 ) - contraband = list(/obj/item/reagent_containers/food/drinks/mug/tea = 12, - /obj/item/reagent_containers/food/drinks/bottle/fernet = 5) + contraband = list( + /obj/item/reagent_containers/food/drinks/mug/tea = 12, + /obj/item/reagent_containers/food/drinks/bottle/fernet = 5, + ) premium = list(/obj/item/reagent_containers/glass/bottle/ethanol = 4, - /obj/item/reagent_containers/food/drinks/bottle/champagne = 5, - /obj/item/reagent_containers/food/drinks/bottle/trappist = 5) + /obj/item/reagent_containers/food/drinks/bottle/champagne = 5, + /obj/item/reagent_containers/food/drinks/bottle/trappist = 5, + ) product_slogans = "I hope nobody asks me for a bloody cup o' tea...;Alcohol is humanity's friend. Would you abandon a friend?;Quite delighted to serve you!;Is nobody thirsty on this station?" product_ads = "Drink up!;Booze is good for you!;Alcohol is humanity's best friend.;Quite delighted to serve you!;Care for a nice, cold beer?;Nothing cures you like booze!;Have a sip!;Have a drink!;Have a beer!;Beer is good for you!;Only the finest alcohol!;Best quality booze since 2053!;Award-winning wine!;Maximum alcohol!;Man loves beer.;A toast for progress!" diff --git a/code/world.dm b/code/world.dm index 691a9263bf9..71a9853d01f 100644 --- a/code/world.dm +++ b/code/world.dm @@ -2,14 +2,14 @@ //Try looking in game/world.dm /** - * # World - * - * Two possibilities exist: either we are alone in the Universe or we are not. Both are equally terrifying. ~ Arthur C. Clarke - * - * The byond world object stores some basic byond level config, and has a few hub specific procs for managing hub visiblity - * - * The world /New() is the root of where a round itself begins - */ + * # World + * + * Two possibilities exist: either we are alone in the Universe or we are not. Both are equally terrifying. ~ Arthur C. Clarke + * + * The byond world object stores some basic byond level config, and has a few hub specific procs for managing hub visiblity + * + * The world /New() is the root of where a round itself begins + */ /world mob = /mob/dead/new_player turf = /turf/open/space/basic diff --git a/tools/Redirector/textprocs.dm b/tools/Redirector/textprocs.dm index aa64b5b7874..0e82aa0d6b1 100644 --- a/tools/Redirector/textprocs.dm +++ b/tools/Redirector/textprocs.dm @@ -1,153 +1,142 @@ /* - Written by contributor Doohl for the /tg/station Open Source project, hosted on Google Code. - (2012) - - NOTE: The below functions are part of BYOND user Deadron's "TextHandling" library. - [ http://www.byond.com/developer/Deadron/TextHandling ] + * Written by contributor Doohl for the /tg/station Open Source project, hosted on Google Code. + * (2012) + * + * NOTE: The below functions are part of BYOND user Deadron's "TextHandling" library. + * [ http://www.byond.com/developer/Deadron/TextHandling ] */ -proc - /////////////////// - // Reading files // - /////////////////// - dd_file2list(file_path, separator = "\n") - var/file - if (isfile(file_path)) - file = file_path - else - file = file(file_path) - return dd_text2list(file2text(file), separator) +/// Reading files +/proc/dd_file2list(file_path, separator = "\n") + var/file + if (isfile(file_path)) + file = file_path + else + file = file(file_path) + return dd_text2list(file2text(file), separator) - //////////////////// - // Replacing text // - //////////////////// - dd_replacetext(text, search_string, replacement_string) +/// Replacing text +/proc/dd_replacetext(text, search_string, replacement_string) // A nice way to do this is to split the text into an array based on the search_string, // then put it back together into text using replacement_string as the new separator. var/list/textList = dd_text2list(text, search_string) return dd_list2text(textList, replacement_string) - dd_replaceText(text, search_string, replacement_string) - var/list/textList = dd_text2List(text, search_string) - return dd_list2text(textList, replacement_string) +/proc/dd_replaceText(text, search_string, replacement_string) + var/list/textList = dd_text2List(text, search_string) + return dd_list2text(textList, replacement_string) - ///////////////////// - // Prefix checking // - ///////////////////// - dd_hasprefix(text, prefix) - var/start = 1 - var/end = lentext(prefix) + 1 - return findtext(text, prefix, start, end) +///Prefix checking +/proc/dd_hasprefix(text, prefix) + var/start = 1 + var/end = lentext(prefix) + 1 + return findtext(text, prefix, start, end) - dd_hasPrefix(text, prefix) - var/start = 1 - var/end = lentext(prefix) + 1 - return findtextEx(text, prefix, start, end) +/proc/dd_hasPrefix(text, prefix) + var/start = 1 + var/end = lentext(prefix) + 1 + return findtextEx(text, prefix, start, end) - ///////////////////// - // Suffix checking // - ///////////////////// - dd_hassuffix(text, suffix) - var/start = length(text) - length(suffix) - if (start) - return findtext(text, suffix, start) +///Suffix checking +/proc/dd_hassuffix(text, suffix) + var/start = length(text) - length(suffix) + if (start) + return findtext(text, suffix, start) - dd_hasSuffix(text, suffix) - var/start = length(text) - length(suffix) - if (start) - return findtextEx(text, suffix, start) +/proc/dd_hasSuffix(text, suffix) + var/start = length(text) - length(suffix) + if (start) + return findtextEx(text, suffix, start) - ///////////////////////////// - // Turning text into lists // - ///////////////////////////// - dd_text2list(text, separator) - var/textlength = lentext(text) - var/separatorlength = lentext(separator) - var/list/textList = new /list() - var/searchPosition = 1 - var/findPosition = 1 - var/buggyText - while (1) // Loop forever. - findPosition = findtext(text, separator, searchPosition, 0) - buggyText = copytext(text, searchPosition, findPosition) // Everything from searchPosition to findPosition goes into a list element. - textList += "[buggyText]" // Working around weird problem where "text" != "text" after this copytext(). +/// Turning text into lists +/proc/dd_text2list(text, separator) + var/textlength = lentext(text) + var/separatorlength = lentext(separator) + var/list/textList = new /list() + var/searchPosition = 1 + var/findPosition = 1 + var/buggyText + while (1) // Loop forever. + findPosition = findtext(text, separator, searchPosition, 0) + buggyText = copytext(text, searchPosition, findPosition) // Everything from searchPosition to findPosition goes into a list element. + textList += "[buggyText]" // Working around weird problem where "text" != "text" after this copytext(). - searchPosition = findPosition + separatorlength // Skip over separator. - if (findPosition == 0) // Didn't find anything at end of string so stop here. - return textList - else - if (searchPosition > textlength) // Found separator at very end of string. - textList += "" // So add empty element. - return textList - - dd_text2List(text, separator) - var/textlength = lentext(text) - var/separatorlength = lentext(separator) - var/list/textList = new /list() - var/searchPosition = 1 - var/findPosition = 1 - var/buggyText - while (1) // Loop forever. - findPosition = findtextEx(text, separator, searchPosition, 0) - buggyText = copytext(text, searchPosition, findPosition) // Everything from searchPosition to findPosition goes into a list element. - textList += "[buggyText]" // Working around weird problem where "text" != "text" after this copytext(). - - searchPosition = findPosition + separatorlength // Skip over separator. - if (findPosition == 0) // Didn't find anything at end of string so stop here. - return textList - else - if (searchPosition > textlength) // Found separator at very end of string. - textList += "" // So add empty element. - return textList - - dd_list2text(list/the_list, separator) - var/total = the_list.len - if (total == 0) // Nothing to work with. - return - - var/newText = "[the_list[1]]" // Treats any object/number as text also. - var/count - for (count = 2, count <= total, count++) - if (separator) - newText += separator - newText += "[the_list[count]]" - return newText - - dd_centertext(message, length) - var/new_message = message - var/size = length(message) - if (size == length) - return new_message - if (size > length) - return copytext(new_message, 1, length + 1) - - // Need to pad text to center it. - var/delta = length - size - if (delta == 1) - // Add one space after it. - return new_message + " " - - // Is this an odd number? If so, add extra space to front. - if (delta % 2) - new_message = " " + new_message - delta-- - - // Divide delta in 2, add those spaces to both ends. - delta = delta / 2 - var/spaces = "" - for (var/count = 1, count <= delta, count++) - spaces += " " - return spaces + new_message + spaces - - dd_limittext(message, length) - // Truncates text to limit if necessary. - var/size = length(message) - if (size <= length) - return message + searchPosition = findPosition + separatorlength // Skip over separator. + if (findPosition == 0) // Didn't find anything at end of string so stop here. + return textList else - return copytext(message, 1, length + 1) + if (searchPosition > textlength) // Found separator at very end of string. + textList += "" // So add empty element. + return textList + +/proc/dd_text2List(text, separator) + var/textlength = lentext(text) + var/separatorlength = lentext(separator) + var/list/textList = new /list() + var/searchPosition = 1 + var/findPosition = 1 + var/buggyText + while (1) // Loop forever. + findPosition = findtextEx(text, separator, searchPosition, 0) + buggyText = copytext(text, searchPosition, findPosition) // Everything from searchPosition to findPosition goes into a list element. + textList += "[buggyText]" // Working around weird problem where "text" != "text" after this copytext(). + + searchPosition = findPosition + separatorlength // Skip over separator. + if (findPosition == 0) // Didn't find anything at end of string so stop here. + return textList + else + if (searchPosition > textlength) // Found separator at very end of string. + textList += "" // So add empty element. + return textList + +/proc/dd_list2text(list/the_list, separator) + var/total = the_list.len + if (total == 0) // Nothing to work with. + return + + var/newText = "[the_list[1]]" // Treats any object/number as text also. + var/count + for (count = 2, count <= total, count++) + if (separator) + newText += separator + newText += "[the_list[count]]" + return newText + +/proc/dd_centertext(message, length) + var/new_message = message + var/size = length(message) + if (size == length) + return new_message + if (size > length) + return copytext(new_message, 1, length + 1) + + // Need to pad text to center it. + var/delta = length - size + if (delta == 1) + // Add one space after it. + return new_message + " " + + // Is this an odd number? If so, add extra space to front. + if (delta % 2) + new_message = " " + new_message + delta-- + + // Divide delta in 2, add those spaces to both ends. + delta = delta / 2 + var/spaces = "" + for (var/count = 1, count <= delta, count++) + spaces += " " + return spaces + new_message + spaces + +/proc/dd_limittext(message, length) + // Truncates text to limit if necessary. + var/size = length(message) + if (size <= length) + return message + else + return copytext(message, 1, length + 1) diff --git a/tools/ci/check_grep.sh b/tools/ci/check_grep.sh index 6b7622dd3a5..44a00adb9f8 100644 --- a/tools/ci/check_grep.sh +++ b/tools/ci/check_grep.sh @@ -48,6 +48,16 @@ if grep -P '^/*var/' code/**/*.dm; then echo "ERROR: Unmanaged global var use detected in code, please use the helpers." st=1 fi; +echo "Checking for space indentation" +if grep -P '(^ {2})|(^ [^ * ])|(^ +)' code/**/*.dm; then + echo "space indentation detected" + st=1 +fi; +echo "Checking for mixed indentation" +if grep -P '^\t+ [^ *]' code/**/*.dm; then + echo "mixed indentation detected" + st=1 +fi; nl=' ' nl=$'\n' From 6cf64a54b1ce16448bfb50dc4a5f2e37c2515027 Mon Sep 17 00:00:00 2001 From: ATH1909 <42606352+ATH1909@users.noreply.github.com> Date: Mon, 30 Nov 2020 12:00:08 -0600 Subject: [PATCH 26/33] Makes the usage of force_threshold in the attackby() proc for simplemobs consistent with the way it's used everywhere else (#55023) ## About The Pull Request Namely, this means that a simplemob's immunity to melee attacks of force X or lower now accounts for that simplemobs damage multipliers to various damage types. It also means that simplemobs with a force_threshold of X are now immune to melee attacks of force X or lower, not melee attacks with a force less than X (<= vs. <). ## Why It's Good For The Game **tldr; This make the code for simplemob "your stick must be this strong to deal damage" thresholds more consistent.** Xenomorphs, xenomorph larvae, barehanded monkeys, slimes, and simplemobs in general all multiply the damage of their attacks by the relevant damage resistance multiplier BEFORE checking it against the force_threshold of the simplemob they're attacking, and also check to see if their damage is <= the force_threshold of the simplemob they're attacking (instead of requiring it to be strictly < the force_threshold of the simplemob they're attacking). As for balance concerns, while this will affect juggernauts *slightly* (as they'll now be immune to force <= 10 melee weapons instead of just force < 10 melee weapons), I'm not too worried about that. What I _am_ worried about is blobbernauts, who, after this change, will be immune to brute melee weapons of force 20 or lower (due to their 0.5 brute damage multiplier). You will, of course, still be able to welder them just as effectively as you could before, but I'm worried that this could make blob-aligned blobbernauts even stronger than they already are. --- code/_onclick/item_attack.dm | 2 +- code/modules/mob/living/simple_animal/animal_defense.dm | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 3ae7f8ebc2a..232c226e2f0 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -146,7 +146,7 @@ return TRUE //successful attack /mob/living/simple_animal/attacked_by(obj/item/I, mob/living/user) - if(I.force < force_threshold || I.damtype == STAMINA) + if(attack_threshold_check(I.force, I.damtype, MELEE, FALSE)) playsound(loc, 'sound/weapons/tap.ogg', I.get_clamped_volume(), TRUE, -1) else return ..() diff --git a/code/modules/mob/living/simple_animal/animal_defense.dm b/code/modules/mob/living/simple_animal/animal_defense.dm index 292eed8cbca..cad3d1e1277 100644 --- a/code/modules/mob/living/simple_animal/animal_defense.dm +++ b/code/modules/mob/living/simple_animal/animal_defense.dm @@ -124,7 +124,7 @@ return return ..() -/mob/living/simple_animal/proc/attack_threshold_check(damage, damagetype = BRUTE, armorcheck = MELEE) +/mob/living/simple_animal/proc/attack_threshold_check(damage, damagetype = BRUTE, armorcheck = MELEE, actuallydamage = TRUE) var/temp_damage = damage if(!damage_coeff[damagetype]) temp_damage = 0 @@ -135,7 +135,8 @@ visible_message("[src] looks unharmed!") return FALSE else - apply_damage(damage, damagetype, null, getarmor(null, armorcheck)) + if(actuallydamage) + apply_damage(damage, damagetype, null, getarmor(null, armorcheck)) return TRUE /mob/living/simple_animal/bullet_act(obj/projectile/Proj) From 43e84c6191b53d699dcaa7b178428a9074c63eaf Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Mon, 30 Nov 2020 10:00:13 -0800 Subject: [PATCH 27/33] Automatic changelog generation for PR #55023 [ci skip] --- html/changelogs/AutoChangeLog-pr-55023.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-55023.yml diff --git a/html/changelogs/AutoChangeLog-pr-55023.yml b/html/changelogs/AutoChangeLog-pr-55023.yml new file mode 100644 index 00000000000..6ef24353de5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-55023.yml @@ -0,0 +1,4 @@ +author: "ATHATH" +delete-after: True +changes: + - bugfix: "The code for determining whether or not a simplemob no sells a melee attack because it uses a weapon that doesn't have a high enough force to damage it now uses a <= in its equation instead of a <, and factors in the simplemob's damage multipliers and resistances as well." From 311b9da86bce447ed81c2ffc7c49150f522bb00e Mon Sep 17 00:00:00 2001 From: TiviPlus <57223640+TiviPlus@users.noreply.github.com> Date: Mon, 30 Nov 2020 22:12:44 +0100 Subject: [PATCH 28/33] grep for pixelx/y = 0 varedits (#54845) Co-authored-by: Jordan Brown --- .../IceRuins/icemoon_surface_engioutpost.dmm | 1 - _maps/RandomZLevels/SnowCabin.dmm | 10 +--------- _maps/map_files/IceBoxStation/IceBoxStation.dmm | 1 - _maps/map_files/MetaStation/MetaStation.dmm | 2 +- _maps/map_files/PubbyStation/PubbyStation.dmm | 17 ++++++++++------- _maps/shuttles/whiteship_kilo.dmm | 3 +-- tools/ci/check_grep.sh | 4 ++++ 7 files changed, 17 insertions(+), 21 deletions(-) diff --git a/_maps/RandomRuins/IceRuins/icemoon_surface_engioutpost.dmm b/_maps/RandomRuins/IceRuins/icemoon_surface_engioutpost.dmm index 2cf2ab4a196..8d39db24950 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_surface_engioutpost.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_surface_engioutpost.dmm @@ -795,7 +795,6 @@ /area/icemoon/surface/outdoors) "cj" = ( /obj/structure/sign/poster/official/pda_ad{ - pixel_x = 0; pixel_y = -32 }, /turf/open/floor/plasteel/icemoon, diff --git a/_maps/RandomZLevels/SnowCabin.dmm b/_maps/RandomZLevels/SnowCabin.dmm index 0b791826670..aa9b6a23bfa 100644 --- a/_maps/RandomZLevels/SnowCabin.dmm +++ b/_maps/RandomZLevels/SnowCabin.dmm @@ -426,7 +426,6 @@ dir = 4 }, /obj/machinery/computer/security/telescreen/entertainment{ - pixel_x = 0; pixel_y = 32 }, /turf/open/floor/plasteel/freezer, @@ -2339,8 +2338,7 @@ /area/awaymission/cabin/caves/mountain) "gp" = ( /obj/structure/sign/poster/contraband/pwr_game{ - pixel_x = 32; - pixel_y = 0 + pixel_x = 32 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/engine, @@ -2722,7 +2720,6 @@ /obj/structure/cable, /obj/item/reagent_containers/food/drinks/mug/coco{ desc = "Still hot!"; - pixel_x = 0; pixel_y = -2 }, /obj/item/reagent_containers/food/drinks/mug/coco{ @@ -2907,7 +2904,6 @@ /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/mug/coco{ desc = "Still hot!"; - pixel_x = 0; pixel_y = 2 }, /turf/open/floor/carpet, @@ -3150,7 +3146,6 @@ "io" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -24; - pixel_y = 0 }, /turf/open/floor/wood, /area/awaymission/cabin) @@ -3758,7 +3753,6 @@ desc = "A decent axe blade upon a short fibremetal handle. It has a long history of chopping things, but now it is used for chopping wood."; force = 4; name = "weak hatchet"; - pixel_x = 0; throwforce = 4 }, /obj/item/hatchet{ @@ -3796,7 +3790,6 @@ pixel_y = 4 }, /obj/item/radio/off{ - pixel_x = 0; pixel_y = 4 }, /obj/item/radio/off{ @@ -4075,7 +4068,6 @@ desc = "A decent axe blade upon a short fibremetal handle. It has a long history of chopping things, but now it is used for chopping wood."; force = 4; name = "weak hatchet"; - pixel_x = 0; throwforce = 4 }, /obj/item/hatchet{ diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index c93be8ceff2..d7542402112 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -34631,7 +34631,6 @@ areastring = "/area/crew_quarters/heads/hor"; dir = 1; name = "RD Office APC"; - pixel_x = 0; pixel_y = 25 }, /obj/structure/cable, diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 595329adffd..73167021f8c 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -76130,7 +76130,7 @@ "tgQ" = ( /obj/structure/water_source/puddle, /obj/structure/flora/junglebush/large{ - pixel_y = 0 + pixel_y = 1 }, /obj/structure/cable, /turf/open/floor/grass, diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 1c009c0d623..fab1a14e94d 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -27612,7 +27612,9 @@ "bwB" = ( /obj/structure/window/reinforced/spawner/west, /obj/structure/window/reinforced/spawner/east, -/obj/structure/flora/junglebush/large, +/obj/structure/flora/junglebush/large{ + pixel_y = 1 + }, /turf/open/floor/grass, /area/medical/medbay/central) "bwC" = ( @@ -29620,8 +29622,8 @@ /obj/structure/window/reinforced/spawner/west, /obj/structure/window/reinforced/spawner/east, /obj/structure/flora/junglebush/large{ - pixel_y = 0 - }, + pixel_y = 1 + }, /obj/structure/flora/grass/jungle, /turf/open/floor/grass, /area/medical/storage) @@ -29651,8 +29653,8 @@ /obj/structure/window/reinforced/spawner, /obj/structure/flora/grass/jungle/b, /obj/structure/flora/junglebush/large{ - pixel_y = 0 - }, + pixel_y = 1 + }, /turf/open/floor/grass, /area/medical/medbay/central) "bCg" = ( @@ -45268,7 +45270,6 @@ /area/maintenance/department/crew_quarters/dorms) "cPT" = ( /obj/machinery/power/apc/auto_name/east{ - pixel_x = 0; pixel_y = 24 }, /obj/structure/cable, @@ -46258,7 +46259,9 @@ "ezx" = ( /obj/structure/window/reinforced/spawner/west, /obj/structure/window/reinforced/spawner/east, -/obj/structure/flora/junglebush/large, +/obj/structure/flora/junglebush/large{ + pixel_y = 1 + }, /turf/open/floor/grass, /area/medical/storage) "ezF" = ( diff --git a/_maps/shuttles/whiteship_kilo.dmm b/_maps/shuttles/whiteship_kilo.dmm index 488a7090051..0544519e1ab 100644 --- a/_maps/shuttles/whiteship_kilo.dmm +++ b/_maps/shuttles/whiteship_kilo.dmm @@ -74,8 +74,7 @@ }, /obj/machinery/firealarm{ dir = 8; - pixel_x = 26; - pixel_y = 0 + pixel_x = 26 }, /obj/effect/decal/cleanable/greenglow, /turf/open/floor/plating, diff --git a/tools/ci/check_grep.sh b/tools/ci/check_grep.sh index 44a00adb9f8..7573398b364 100644 --- a/tools/ci/check_grep.sh +++ b/tools/ci/check_grep.sh @@ -31,6 +31,10 @@ if grep -P '\td[1-2] =' _maps/**/*.dmm; then echo "ERROR: d1/d2 cable variables detected in maps, please remove them." st=1 fi; +echo "Checking for pixel_[xy]" +if grep -P 'pixel_[xy] = 0' _maps/**/*.dmm; then + echo "pixel_x/pixel_y = 0 variables detected in maps, please review to ensure they are not dirty varedits." +fi; echo "Checking for stacked cables" if grep -P '"\w+" = \(\n([^)]+\n)*/obj/structure/cable,\n([^)]+\n)*/obj/structure/cable,\n([^)]+\n)*/area/.+\)' _maps/**/*.dmm; then echo "found multiple cables on the same tile, please remove them." From 597a4aa6b6fc23abe1724b4906cb008704c238e6 Mon Sep 17 00:00:00 2001 From: ArcaneDefence <51932756+ArcaneDefence@users.noreply.github.com> Date: Mon, 30 Nov 2020 14:54:05 -0700 Subject: [PATCH 29/33] Fixes Nar'Sie rune erasing bug (#55123) --- code/modules/antagonists/cult/runes.dm | 30 +++++++++++++++----------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index d41216fc61b..7a23a312d2a 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -29,6 +29,8 @@ Runes can either be invoked by one's self or with many different cultists. Each var/req_cultists = 1 //The amount of cultists required around the rune to invoke it. If only 1, any cultist can invoke it. var/req_cultists_text //if we have a description override for required cultists to invoke var/rune_in_use = FALSE // Used for some runes, this is for when you want a rune to not be usable when in use. + var/log_when_erased = FALSE //Used when you want to keep track of who erased the rune + var/erase_time = 1.5 SECONDS //How the rune takes to erase var/scribe_delay = 40 //how long the rune takes to create var/scribe_damage = 0.1 //how much damage you take doing it @@ -57,11 +59,23 @@ Runes can either be invoked by one's self or with many different cultists. Each /obj/effect/rune/attackby(obj/I, mob/user, params) if(istype(I, /obj/item/melee/cultblade/dagger) && iscultist(user)) + if(log_when_erased) + var/confirm = alert(user, "Erasing this [cultist_name] rune might be against your goal to summon Nar'Sie.", "Begin to erase the [cultist_name] rune?", "Proceed", "Abort") + if(confirm != "Proceed") + return + if(!user.is_holding_item_of_type(/obj/item/melee/cultblade/dagger) || !Adjacent(user) || user.incapacitated() || user.stat == DEAD) //Gee, good thing we made sure cultists can't input stall to grief their team and get banned anyway + return SEND_SOUND(user,'sound/items/sheath.ogg') - if(do_after(user, 15, target = src)) + if(do_after(user, erase_time, target = src)) + if(log_when_erased) + log_game("[cultist_name] rune erased by [key_name(user)] with [I.name]") + message_admins("[ADMIN_LOOKUPFLW(user)] erased a [cultist_name] rune with [I.name]") to_chat(user, "You carefully erase the [lowertext(cultist_name)] rune.") qdel(src) else if(istype(I, /obj/item/nullrod)) + if(log_when_erased) + log_game("[cultist_name] rune erased by [key_name(user)] using a null rod") + message_admins("[ADMIN_LOOKUPFLW(user)] erased a [cultist_name] rune with a null rod") user.say("BEGONE FOUL MAGIKS!!", forced = "nullrod") to_chat(user, "You disrupt the magic of [src] with [I].") SSshuttle.shuttle_purchase_requirements_met[SHUTTLE_UNLOCK_NARNAR] = TRUE @@ -462,6 +476,8 @@ structure_check() searches for nearby cultist structures required for the invoca pixel_y = -32 scribe_delay = 500 //how long the rune takes to create scribe_damage = 40.1 //how much damage you take doing it + log_when_erased = TRUE + erase_time = 5 SECONDS var/used = FALSE /obj/effect/rune/narsie/Initialize(mapload, set_keyword) @@ -502,18 +518,6 @@ structure_check() searches for nearby cultist structures required for the invoca color = RUNE_COLOR_RED new /obj/singularity/narsie/large/cult(T) //Causes Nar'Sie to spawn even if the rune has been removed -/obj/effect/rune/narsie/attackby(obj/I, mob/user, params) //Since the narsie rune takes a long time to make, add logging to removal. - if((istype(I, /obj/item/melee/cultblade/dagger) && iscultist(user))) - user.visible_message("[user.name] begins erasing [src]...", "You begin erasing [src]...") - if(do_after(user, 50, target = src)) //Prevents accidental erasures. - log_game("Summon Narsie rune erased by [key_name(user)] with [I.name]") - message_admins("[ADMIN_LOOKUPFLW(user)] erased a Narsie rune with [I.name]") - else if(istype(I, /obj/item/nullrod)) //Begone foul magiks. You cannot hinder me. - log_game("Summon Narsie rune erased by [key_name(user)] using a null rod") - message_admins("[ADMIN_LOOKUPFLW(user)] erased a Narsie rune with a null rod") - else - ..() - //Rite of Resurrection: Requires a dead or inactive cultist. When reviving the dead, you can only perform one revival for every three sacrifices your cult has carried out. /obj/effect/rune/raise_dead cultist_name = "Revive" From 254836e508661d4263542638932d97e63489919e Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Mon, 30 Nov 2020 13:54:09 -0800 Subject: [PATCH 30/33] Automatic changelog generation for PR #55123 [ci skip] --- html/changelogs/AutoChangeLog-pr-55123.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-55123.yml diff --git a/html/changelogs/AutoChangeLog-pr-55123.yml b/html/changelogs/AutoChangeLog-pr-55123.yml new file mode 100644 index 00000000000..6c0ae3342ed --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-55123.yml @@ -0,0 +1,4 @@ +author: "ArcaneDefence" +delete-after: True +changes: + - bugfix: "Nar'Sie summoning runes can be erased with a null rod, or by a cultist with a sacrificial dagger after a confirmation message." From de7994c0f75a3338aa104a48bf6d0ad5429f4f4b Mon Sep 17 00:00:00 2001 From: TiviPlus <57223640+TiviPlus@users.noreply.github.com> Date: Mon, 30 Nov 2020 23:15:11 +0100 Subject: [PATCH 31/33] Init sanity unit test (#55147) https://github.com/tgstation/TerraGov-Marine-Corps/pull/5326 Stemming from https://github.com/ParadiseSS13/Paradise/pull/14770 Basically it just checks for bad initialize calls --- .../icemoon_underground_abandoned_village.dmm | 2 +- .../lavaland_surface_syndicate_base1.dmm | 8 ++-- _maps/RandomRuins/SpaceRuins/clownplanet.dmm | 4 +- .../SpaceRuins/listeningstation.dmm | 8 ++-- _maps/RandomZLevels/TheBeach.dmm | 2 +- _maps/RandomZLevels/snowdin.dmm | 4 +- .../map_files/Deltastation/DeltaStation2.dmm | 48 +++++++++---------- .../map_files/IceBoxStation/IceBoxStation.dmm | 30 ++++++------ _maps/map_files/MetaStation/MetaStation.dmm | 32 ++++++------- _maps/map_files/PubbyStation/PubbyStation.dmm | 8 ++-- _maps/shuttles/emergency_rollerdome.dmm | 4 +- _maps/templates/shelter_3.dmm | 2 +- code/controllers/subsystem/atoms.dm | 5 -- code/game/objects/effects/spawners/vending.dm | 34 +++++++++++++ code/modules/hydroponics/grown.dm | 2 +- code/modules/unit_tests/_unit_tests.dm | 1 + code/modules/unit_tests/initialize_sanity.dm | 11 +++++ code/modules/vending/cola.dm | 14 ------ code/modules/vending/snack.dm | 14 ------ tgstation.dme | 1 + 20 files changed, 124 insertions(+), 110 deletions(-) create mode 100644 code/game/objects/effects/spawners/vending.dm create mode 100644 code/modules/unit_tests/initialize_sanity.dm diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm index 1db3a2b78d4..87bbd670657 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm @@ -447,7 +447,7 @@ /turf/open/floor/carpet, /area/ruin/powered) "Pp" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /turf/open/floor/holofloor/wood, /area/ruin/powered) "PQ" = ( diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm index e8a053530be..1c338c233ea 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm @@ -3300,8 +3300,8 @@ /turf/open/floor/plasteel/grimy, /area/ruin/unpowered/syndicate_lava_base/dormitories) "jr" = ( -/obj/machinery/vending/snack/random{ - extended_inventory = 1 +/obj/effect/spawner/randomsnackvend{ + hacked = 1 }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -3397,8 +3397,8 @@ /turf/open/floor/plasteel/grimy, /area/ruin/unpowered/syndicate_lava_base/dormitories) "jD" = ( -/obj/machinery/vending/cola/random{ - extended_inventory = 1 +/obj/effect/spawner/randomcolavend{ + hacked = 1 }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/red{ diff --git a/_maps/RandomRuins/SpaceRuins/clownplanet.dmm b/_maps/RandomRuins/SpaceRuins/clownplanet.dmm index 701afc0873b..47b1036f1d4 100644 --- a/_maps/RandomRuins/SpaceRuins/clownplanet.dmm +++ b/_maps/RandomRuins/SpaceRuins/clownplanet.dmm @@ -347,7 +347,7 @@ /turf/open/floor/bluespace, /area/ruin/powered/clownplanet) "bh" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/effect/turf_decal/stripes/white/box, /turf/open/floor/bluespace, /area/ruin/powered/clownplanet) @@ -361,7 +361,7 @@ }, /area/ruin/powered/clownplanet) "bk" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/effect/turf_decal/stripes/white/box, /turf/open/floor/bluespace, /area/ruin/powered/clownplanet) diff --git a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm index dbd00958c14..122c6fc6db9 100644 --- a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm +++ b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm @@ -710,8 +710,8 @@ /turf/open/floor/plasteel, /area/ruin/space/has_grav/listeningstation) "aY" = ( -/obj/machinery/vending/snack/random{ - extended_inventory = 1 +/obj/effect/spawner/randomsnackvend{ + hacked = 1 }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -827,8 +827,8 @@ /turf/open/floor/plasteel/white/side, /area/ruin/space/has_grav/listeningstation) "bh" = ( -/obj/machinery/vending/cola/random{ - extended_inventory = 1 +/obj/effect/spawner/randomcolavend{ + hacked = 1 }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, diff --git a/_maps/RandomZLevels/TheBeach.dmm b/_maps/RandomZLevels/TheBeach.dmm index c0e375d268f..f07fc6d4c62 100644 --- a/_maps/RandomZLevels/TheBeach.dmm +++ b/_maps/RandomZLevels/TheBeach.dmm @@ -671,7 +671,7 @@ /area/awaymission/beach) "ce" = ( /obj/effect/turf_decal/sand, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /turf/open/floor/plating/beach/sand, /area/awaymission/beach) "cf" = ( diff --git a/_maps/RandomZLevels/snowdin.dmm b/_maps/RandomZLevels/snowdin.dmm index d5b591d8ee0..e2c4900e2f6 100644 --- a/_maps/RandomZLevels/snowdin.dmm +++ b/_maps/RandomZLevels/snowdin.dmm @@ -1026,7 +1026,7 @@ /turf/open/floor/plasteel, /area/awaymission/snowdin/post/research) "cF" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -1444,7 +1444,7 @@ /turf/open/floor/plating, /area/awaymission/snowdin/post/research) "dm" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 2071b69b1f3..71e30911b61 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -1820,7 +1820,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "afb" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/machinery/light{ dir = 1 }, @@ -1911,7 +1911,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "afz" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/entry) @@ -2588,7 +2588,7 @@ /turf/open/floor/plating, /area/maintenance/starboard/fore) "aim" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/effect/decal/cleanable/cobweb, /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -2603,7 +2603,7 @@ /turf/open/floor/plasteel/dark, /area/maintenance/starboard/fore) "ain" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -7202,7 +7202,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "arO" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/effect/decal/cleanable/dirt, /obj/machinery/camera{ c_tag = "Arrivals - Aft"; @@ -7212,7 +7212,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "arP" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/item/radio/intercom{ pixel_y = 26 }, @@ -39409,7 +39409,7 @@ /turf/open/floor/plasteel, /area/engine/break_room) "bzp" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/machinery/newscaster{ pixel_x = 32 }, @@ -40439,7 +40439,7 @@ /turf/open/floor/plasteel, /area/engine/break_room) "bAW" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/effect/turf_decal/tile/red{ dir = 1 }, @@ -40837,7 +40837,7 @@ /turf/open/floor/plasteel/dark, /area/bridge) "bBA" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/effect/turf_decal/tile/blue{ dir = 1 }, @@ -40847,7 +40847,7 @@ /turf/open/floor/plasteel/dark, /area/bridge) "bBB" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/effect/turf_decal/tile/blue{ dir = 1 }, @@ -56502,7 +56502,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "ccU" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/machinery/light{ dir = 8 }, @@ -59731,7 +59731,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "cjy" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/structure/sign/poster/official/ian{ pixel_y = -32 }, @@ -65447,7 +65447,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/command) "cvE" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/command) @@ -74701,13 +74701,13 @@ /turf/closed/wall, /area/medical/medbay/central) "cNE" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/machinery/light, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/central) "cNF" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/primary/central) @@ -75842,7 +75842,7 @@ /turf/open/floor/plasteel/grimy, /area/crew_quarters/dorms) "cPX" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, @@ -76624,7 +76624,7 @@ /turf/open/floor/plasteel/grimy, /area/crew_quarters/dorms) "cRw" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/structure/extinguisher_cabinet{ pixel_x = -26 }, @@ -82058,7 +82058,7 @@ /turf/open/floor/plasteel, /area/medical/medbay/central) "dbz" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/machinery/status_display/evac{ pixel_x = 32 }, @@ -86778,7 +86778,7 @@ /turf/open/floor/plasteel, /area/science/research/abandoned) "dln" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/structure/cable, /obj/effect/turf_decal/tile/purple, /obj/effect/turf_decal/tile/purple{ @@ -100292,7 +100292,7 @@ /turf/open/floor/plasteel, /area/science/research) "dPQ" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/machinery/light, /obj/machinery/status_display/evac{ pixel_y = -32 @@ -105010,7 +105010,7 @@ }, /area/chapel/main) "eaE" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) @@ -105265,7 +105265,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) @@ -108272,7 +108272,7 @@ /turf/open/floor/plasteel/white, /area/medical/chemistry) "fxd" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /turf/open/floor/plasteel/cafeteria, /area/security/prison) "fxp" = ( @@ -110861,7 +110861,7 @@ /turf/open/floor/plasteel/white, /area/medical/surgery/room_b) "mMY" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/primary/central) diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index d7542402112..aaa1641fcbe 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -105,7 +105,7 @@ /turf/open/floor/plasteel, /area/security/prison) "aam" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /turf/open/floor/plasteel, /area/engine/break_room) "aan" = ( @@ -6813,7 +6813,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/fore) "aoF" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/effect/turf_decal/tile/red, /turf/open/floor/plasteel, /area/hallway/primary/fore) @@ -15992,7 +15992,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "aJv" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) "aJw" = ( @@ -16443,7 +16443,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "aKG" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) "aKH" = ( @@ -17131,7 +17131,7 @@ /turf/open/floor/wood, /area/crew_quarters/bar) "aMC" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /turf/open/floor/wood, /area/crew_quarters/bar) "aMD" = ( @@ -17756,7 +17756,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "aOf" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/effect/turf_decal/stripes/line{ dir = 9 }, @@ -17795,7 +17795,7 @@ /turf/open/floor/plasteel/grimy, /area/hallway/secondary/entry) "aOk" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /turf/open/floor/plasteel/dark, /area/hallway/secondary/entry) "aOl" = ( @@ -18244,7 +18244,7 @@ /turf/open/floor/plasteel/grimy, /area/hallway/secondary/entry) "aPy" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /turf/open/floor/plasteel/dark, /area/hallway/secondary/entry) "aPz" = ( @@ -18706,7 +18706,7 @@ /turf/open/floor/plasteel, /area/crew_quarters/locker) "aQR" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /turf/open/floor/plasteel, /area/crew_quarters/locker) "aQS" = ( @@ -19591,7 +19591,7 @@ }, /area/hallway/secondary/exit) "aTl" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/machinery/status_display/evac{ layer = 4; pixel_y = 32 @@ -23298,7 +23298,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/starboard) "bcc" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /turf/open/floor/wood, /area/bridge/meeting_room) "bcd" = ( @@ -23658,7 +23658,7 @@ /turf/open/floor/plasteel/white/corner, /area/hallway/primary/starboard) "bdd" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /turf/open/floor/wood, /area/bridge/meeting_room) "bde" = ( @@ -24932,7 +24932,7 @@ dir = 1 }, /obj/effect/turf_decal/stripes/line, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "bgj" = ( @@ -55558,7 +55558,7 @@ dir = 8 }, /obj/effect/turf_decal/tile/brown, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/effect/turf_decal/tile/brown{ dir = 4 }, @@ -56396,7 +56396,7 @@ /turf/open/floor/plasteel/white, /area/science/genetics) "xfd" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /turf/open/floor/plasteel/white, /area/science/research) "xfl" = ( diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 73167021f8c..eab1bb584e8 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -7358,7 +7358,7 @@ /area/crew_quarters/fitness/recreation) "aql" = ( /obj/machinery/light, -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -20344,7 +20344,7 @@ /turf/closed/wall, /area/crew_quarters/locker) "aWp" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -26409,7 +26409,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/port) "bkh" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 }, @@ -28275,7 +28275,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "boN" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/machinery/camera{ c_tag = "Bar - Fore" }, @@ -28777,7 +28777,7 @@ /turf/open/floor/plasteel, /area/vacant_room/office) "bqe" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /turf/open/floor/plasteel, /area/hallway/primary/port) "bqf" = ( @@ -29676,7 +29676,7 @@ /turf/open/floor/plating, /area/hallway/secondary/entry) "bsl" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/entry) @@ -29922,7 +29922,7 @@ /obj/machinery/light_switch{ pixel_y = -25 }, -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /turf/open/floor/plasteel/dark, /area/bridge) "bsW" = ( @@ -29981,7 +29981,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /turf/open/floor/plasteel/dark, /area/bridge) "btb" = ( @@ -32214,7 +32214,7 @@ /turf/closed/wall, /area/hallway/secondary/command) "bzK" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /turf/open/floor/plasteel/dark, /area/hallway/secondary/command) "bzL" = ( @@ -34786,7 +34786,7 @@ /turf/open/floor/plasteel, /area/gateway) "bGQ" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -39534,7 +39534,7 @@ /turf/open/floor/wood, /area/library) "bTD" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/machinery/newscaster{ pixel_x = -30 }, @@ -45996,7 +45996,7 @@ dir = 8; pixel_x = 24 }, -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /turf/open/floor/plasteel/white/side{ dir = 4 }, @@ -53381,7 +53381,7 @@ /turf/open/floor/plasteel/white, /area/medical/chemistry) "cCZ" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /turf/open/floor/plasteel/dark, /area/hallway/primary/aft) "cDa" = ( @@ -55553,7 +55553,7 @@ /turf/open/floor/plasteel/dark, /area/hallway/secondary/exit/departure_lounge) "cJD" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/structure/sign/map/right{ desc = "A framed picture of the station. Clockwise from security in red at the top, you see engineering in yellow, science in purple, escape in checkered red-and-white, medbay in green, arrivals in checkered red-and-blue, and then cargo in brown."; icon_state = "map-right-MS"; @@ -71744,7 +71744,7 @@ dir = 4 }, /obj/effect/turf_decal/tile/green, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /turf/open/floor/plasteel/white/side{ dir = 8 }, @@ -75207,7 +75207,7 @@ /turf/open/floor/plasteel/dark, /area/medical/morgue) "rSL" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /turf/open/floor/plasteel, /area/maintenance/department/science) "rSR" = ( diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index fab1a14e94d..fcd422b810c 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -11079,7 +11079,7 @@ /turf/open/floor/plating, /area/maintenance/department/security/brig) "aCd" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /turf/open/floor/plating, /area/maintenance/department/security/brig) "aCe" = ( @@ -33117,14 +33117,14 @@ /obj/effect/turf_decal/tile/yellow{ dir = 1 }, -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /turf/open/floor/plasteel, /area/engine/lobby) "bLT" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 }, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /turf/open/floor/plasteel, /area/engine/lobby) "bLU" = ( @@ -48095,7 +48095,7 @@ /turf/open/floor/plating, /area/maintenance/department/security/brig) "gLF" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, diff --git a/_maps/shuttles/emergency_rollerdome.dmm b/_maps/shuttles/emergency_rollerdome.dmm index 0be826925fe..ea822fb1bb5 100644 --- a/_maps/shuttles/emergency_rollerdome.dmm +++ b/_maps/shuttles/emergency_rollerdome.dmm @@ -182,7 +182,7 @@ /turf/open/floor/eighties, /area/shuttle/escape) "Dh" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /turf/open/floor/wood, /area/shuttle/escape) "DR" = ( @@ -200,7 +200,7 @@ /turf/open/floor/wood, /area/shuttle/escape) "HA" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/randomcolavend, /turf/open/floor/wood, /area/shuttle/escape) "HS" = ( diff --git a/_maps/templates/shelter_3.dmm b/_maps/templates/shelter_3.dmm index c4a0eec6c25..38c9fd0089d 100644 --- a/_maps/templates/shelter_3.dmm +++ b/_maps/templates/shelter_3.dmm @@ -244,7 +244,7 @@ /turf/open/floor/carpet/black, /area/survivalpod) "L" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/randomsnackvend, /turf/open/floor/carpet/black, /area/survivalpod) "M" = ( diff --git a/code/controllers/subsystem/atoms.dm b/code/controllers/subsystem/atoms.dm index 4e4543388c8..d0f485849d3 100644 --- a/code/controllers/subsystem/atoms.dm +++ b/code/controllers/subsystem/atoms.dm @@ -154,8 +154,3 @@ SUBSYSTEM_DEF(atoms) var/initlog = InitLog() if(initlog) text2file(initlog, "[GLOB.log_directory]/initialize.log") - -#undef BAD_INIT_QDEL_BEFORE -#undef BAD_INIT_DIDNT_INIT -#undef BAD_INIT_SLEPT -#undef BAD_INIT_NO_HINT diff --git a/code/game/objects/effects/spawners/vending.dm b/code/game/objects/effects/spawners/vending.dm new file mode 100644 index 00000000000..399c2166fac --- /dev/null +++ b/code/game/objects/effects/spawners/vending.dm @@ -0,0 +1,34 @@ +/obj/effect/spawner/randomsnackvend + icon = 'icons/obj/vending.dmi' + icon_state = "random_snack" + name = "spawn random snack vending machine" + desc = "Automagically transforms into a random snack vendor. If you see this while in a shift, please create a bug report." + ///whether it hacks the vendor on spawn currently used only by stinky mapedits + var/hacked = FALSE + +/obj/effect/spawner/randomsnackvend/Initialize(mapload) + ..() + + var/random_vendor = pick(subtypesof(/obj/machinery/vending/snack)) + var/obj/machinery/vending/snack/vend = new random_vendor(loc) + vend.extended_inventory = TRUE + + return INITIALIZE_HINT_QDEL + + +/obj/effect/spawner/randomcolavend + icon = 'icons/obj/vending.dmi' + icon_state = "random_cola" + name = "spawn random cola vending machine" + desc = "Automagically transforms into a random cola vendor. If you see this while in a shift, please create a bug report." + ///whether it hacks the vendor on spawn currently used only by stinky mapedits + var/hacked = FALSE + +/obj/effect/spawner/randomcolavend/Initialize(mapload) + ..() + + var/random_vendor = pick(subtypesof(/obj/machinery/vending/cola)) + var/obj/machinery/vending/cola/vend = new random_vendor(loc) + vend.extended_inventory = TRUE + + return INITIALIZE_HINT_QDEL diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index ce1c1bec4c4..635a2f79948 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -48,7 +48,7 @@ for(var/datum/plant_gene/trait/T in seed.genes) T.on_new(src, loc) - ..() //Only call it here because we want all the genes and shit to be applied before we add edibility. God this code is a mess. + . = ..() //Only call it here because we want all the genes and shit to be applied before we add edibility. God this code is a mess. seed.prepare_result(src) transform *= TRANSFORM_USING_VARIABLE(seed.potency, 100) + 0.5 //Makes the resulting produce's sprite larger or smaller based on potency! diff --git a/code/modules/unit_tests/_unit_tests.dm b/code/modules/unit_tests/_unit_tests.dm index 04c950f7cfd..4172aed5d9d 100644 --- a/code/modules/unit_tests/_unit_tests.dm +++ b/code/modules/unit_tests/_unit_tests.dm @@ -42,6 +42,7 @@ #include "confusion.dm" #include "emoting.dm" #include "heretic_knowledge.dm" +#include "initialize_sanity.dm" #include "keybinding_init.dm" #include "machine_disassembly.dm" #include "medical_wounds.dm" diff --git a/code/modules/unit_tests/initialize_sanity.dm b/code/modules/unit_tests/initialize_sanity.dm new file mode 100644 index 00000000000..d183f530c85 --- /dev/null +++ b/code/modules/unit_tests/initialize_sanity.dm @@ -0,0 +1,11 @@ +/datum/unit_test/initialize_sanity/Run() + if(length(SSatoms.BadInitializeCalls)) + Fail("Bad Initialize() calls detected. Please read logs.") + var/list/init_failures_to_text = list( + "[BAD_INIT_QDEL_BEFORE]" = "Qdeleted Before Initialized", + "[BAD_INIT_DIDNT_INIT]" = "Did Not Initialize", + "[BAD_INIT_SLEPT]" = "Initialize() Slept", + "[BAD_INIT_NO_HINT]" = "No Initialize() Hint Returned", + ) + for(var/failure in SSatoms.BadInitializeCalls) + log_world("[failure]: [init_failures_to_text["[SSatoms.BadInitializeCalls[failure]]"]]") // You like stacked brackets? diff --git a/code/modules/vending/cola.dm b/code/modules/vending/cola.dm index 2c59a727312..df71a93ad2c 100644 --- a/code/modules/vending/cola.dm +++ b/code/modules/vending/cola.dm @@ -30,20 +30,6 @@ machine_name = "Robust Softdrinks" icon_state = "refill_cola" -/obj/machinery/vending/cola/random - name = "\improper Random Drinkies" - icon_state = "random_cola" - desc = "Uh oh!" - circuit = null - -/obj/machinery/vending/cola/random/Initialize() - // No need to call parent, we're not doing anything with this machine. Just picking a new type of machine to use, spawning it and deleting ourselves. - SHOULD_CALL_PARENT(FALSE) - - var/T = pick(subtypesof(/obj/machinery/vending/cola) - /obj/machinery/vending/cola/random) - new T(loc) - return INITIALIZE_HINT_QDEL - /obj/machinery/vending/cola/blue icon_state = "Cola_Machine" light_mask = "cola-light-mask" diff --git a/code/modules/vending/snack.dm b/code/modules/vending/snack.dm index 952e34effb1..1a3c20e6023 100644 --- a/code/modules/vending/snack.dm +++ b/code/modules/vending/snack.dm @@ -26,20 +26,6 @@ /obj/item/vending_refill/snack machine_name = "Getmore Chocolate Corp" -/obj/machinery/vending/snack/random - name = "\improper Random Snackies" - icon_state = "random_snack" - desc = "Uh oh!" - circuit = null - -/obj/machinery/vending/snack/random/Initialize() - // No need to call parent, we're not doing anything with this machine. Just picking a new type of machine to use, spawning it and deleting ourselves. - SHOULD_CALL_PARENT(FALSE) - - var/T = pick(subtypesof(/obj/machinery/vending/snack) - /obj/machinery/vending/snack/random) - new T(loc) - return INITIALIZE_HINT_QDEL - /obj/machinery/vending/snack/blue icon_state = "snackblue" diff --git a/tgstation.dme b/tgstation.dme index df17b99c204..39ea7a4a732 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -953,6 +953,7 @@ #include "code\game\objects\effects\spawners\structure.dm" #include "code\game\objects\effects\spawners\traps.dm" #include "code\game\objects\effects\spawners\vaultspawner.dm" +#include "code\game\objects\effects\spawners\vending.dm" #include "code\game\objects\effects\spawners\xeno_egg_delivery.dm" #include "code\game\objects\effects\temporary_visuals\cult.dm" #include "code\game\objects\effects\temporary_visuals\miscellaneous.dm" From 4ae6c5aee907152369e3a3925f33afb98e16eace Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Tue, 1 Dec 2020 00:22:52 +0000 Subject: [PATCH 32/33] Automatic changelog compile, [ci skip] --- html/changelog.html | 47 +++++++++++++++++++--- html/changelogs/.all_changelog.yml | 31 ++++++++++++++ html/changelogs/AutoChangeLog-pr-55023.yml | 4 -- html/changelogs/AutoChangeLog-pr-55090.yml | 4 -- html/changelogs/AutoChangeLog-pr-55123.yml | 4 -- html/changelogs/AutoChangeLog-pr-55192.yml | 4 -- html/changelogs/AutoChangeLog-pr-55203.yml | 6 --- html/changelogs/AutoChangeLog-pr-55210.yml | 4 -- html/changelogs/AutoChangeLog-pr-55215.yml | 4 -- html/changelogs/AutoChangeLog-pr-55230.yml | 4 -- html/changelogs/AutoChangeLog-pr-55231.yml | 4 -- html/changelogs/AutoChangeLog-pr-55232.yml | 4 -- 12 files changed, 72 insertions(+), 48 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-55023.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-55090.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-55123.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-55192.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-55203.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-55210.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-55215.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-55230.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-55231.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-55232.yml diff --git a/html/changelog.html b/html/changelog.html index 4b9d40b2d47..84d36b9fe1c 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -51,6 +51,47 @@ -->
    +

    01 December 2020

    +

    ATHATH updated:

    +
      +
    • The code for determining whether or not a simplemob no sells a melee attack because it uses a weapon that doesn't have a high enough force to damage it now uses a <= in its equation instead of a <, and factors in the simplemob's damage multipliers and resistances as well.
    • +
    +

    ArcaneDefence updated:

    +
      +
    • Nar'Sie summoning runes can be erased with a null rod, or by a cultist with a sacrificial dagger after a confirmation message.
    • +
    +

    Ghilker updated:

    +
      +
    • gas selling now use elasticity as all other exports (diminishing returns)
    • +
    • fixed issue with HFR core cooling that destroyed gas
    • +
    • changed HFR core to use only one port for cooling
    • +
    • output temperature and coolant temperature now show the right values
    • +
    +

    Jared-Fogle updated:

    +
      +
    • The implosion compressor now properly gives a message when the bomb is too weak, and will give it back.
    • +
    +

    Owai-Seek updated:

    +
      +
    • Food is now small, unless tagged to be bigger.
    • +
    +

    Timberpoes updated:

    +
      +
    • pAIs are now able to fully utilise installed encryption keys through their integrated transciever's menu when they have the encryption key software upgrade. The issue where pAIs are only able to change integrated radio settings when in holochassis form still persists and will be fixed in a later PR.
    • +
    +

    WarlockD updated:

    +
      +
    • Security Terminal and Tooltips don't use jQuery anymore
    • +
    +

    bobbahbrown updated:

    +
      +
    • Nanotrasen have updated their control panels mounted on canisters and atmospheric tanks to include fancy new pressure gauges, wow!
    • +
    +

    dragomagol updated:

    +
      +
    • Reskinned double-barrelled shotguns now appear properly on the back slot
    • +
    +

    30 November 2020

    CoffeeDragon16 updated:

      @@ -2031,12 +2072,6 @@
    • Borg tool storage huds no longer freak out if there are zero stored modules.
    • Borgs can choose their flashlight colors again.
    - -

    29 September 2020

    -

    Timberpoes updated:

    -
      -
    • Whiteships no longer lose their GPS signal when their bridge consoles get deconstructed and rebuilt.
    • -
    GoonStation 13 Development Team diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index cb146b02b3c..4ea72aff6b3 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -44957,3 +44957,34 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - bugfix: Body temperature stabilizes to the room temp in statis beds - bugfix: Body warms up a bit faster on the cold moon of ice - bugfix: The cryo pod now cools human core temperature +2020-12-01: + ATHATH: + - bugfix: The code for determining whether or not a simplemob no sells a melee attack + because it uses a weapon that doesn't have a high enough force to damage it + now uses a <= in its equation instead of a <, and factors in the simplemob's + damage multipliers and resistances as well. + ArcaneDefence: + - bugfix: Nar'Sie summoning runes can be erased with a null rod, or by a cultist + with a sacrificial dagger after a confirmation message. + Ghilker: + - bugfix: gas selling now use elasticity as all other exports (diminishing returns) + - bugfix: fixed issue with HFR core cooling that destroyed gas + - tweak: changed HFR core to use only one port for cooling + - bugfix: output temperature and coolant temperature now show the right values + Jared-Fogle: + - bugfix: The implosion compressor now properly gives a message when the bomb is + too weak, and will give it back. + Owai-Seek: + - bugfix: Food is now small, unless tagged to be bigger. + Timberpoes: + - bugfix: pAIs are now able to fully utilise installed encryption keys through their + integrated transciever's menu when they have the encryption key software upgrade. + The issue where pAIs are only able to change integrated radio settings when + in holochassis form still persists and will be fixed in a later PR. + WarlockD: + - tweak: Security Terminal and Tooltips don't use jQuery anymore + bobbahbrown: + - rscadd: Nanotrasen have updated their control panels mounted on canisters and + atmospheric tanks to include fancy new pressure gauges, wow! + dragomagol: + - bugfix: Reskinned double-barrelled shotguns now appear properly on the back slot diff --git a/html/changelogs/AutoChangeLog-pr-55023.yml b/html/changelogs/AutoChangeLog-pr-55023.yml deleted file mode 100644 index 6ef24353de5..00000000000 --- a/html/changelogs/AutoChangeLog-pr-55023.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ATHATH" -delete-after: True -changes: - - bugfix: "The code for determining whether or not a simplemob no sells a melee attack because it uses a weapon that doesn't have a high enough force to damage it now uses a <= in its equation instead of a <, and factors in the simplemob's damage multipliers and resistances as well." diff --git a/html/changelogs/AutoChangeLog-pr-55090.yml b/html/changelogs/AutoChangeLog-pr-55090.yml deleted file mode 100644 index 3b41e185d43..00000000000 --- a/html/changelogs/AutoChangeLog-pr-55090.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "WarlockD" -delete-after: True -changes: - - tweak: "Security Terminal and Tooltips don't use jQuery anymore" diff --git a/html/changelogs/AutoChangeLog-pr-55123.yml b/html/changelogs/AutoChangeLog-pr-55123.yml deleted file mode 100644 index 6c0ae3342ed..00000000000 --- a/html/changelogs/AutoChangeLog-pr-55123.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ArcaneDefence" -delete-after: True -changes: - - bugfix: "Nar'Sie summoning runes can be erased with a null rod, or by a cultist with a sacrificial dagger after a confirmation message." diff --git a/html/changelogs/AutoChangeLog-pr-55192.yml b/html/changelogs/AutoChangeLog-pr-55192.yml deleted file mode 100644 index b5c269a1da0..00000000000 --- a/html/changelogs/AutoChangeLog-pr-55192.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ghilker" -delete-after: True -changes: - - bugfix: "gas selling now use elasticity as all other exports (diminishing returns)" diff --git a/html/changelogs/AutoChangeLog-pr-55203.yml b/html/changelogs/AutoChangeLog-pr-55203.yml deleted file mode 100644 index 343d4aed168..00000000000 --- a/html/changelogs/AutoChangeLog-pr-55203.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Ghilker" -delete-after: True -changes: - - bugfix: "fixed issue with HFR core cooling that destroyed gas" - - tweak: "changed HFR core to use only one port for cooling" - - bugfix: "output temperature and coolant temperature now show the right values" diff --git a/html/changelogs/AutoChangeLog-pr-55210.yml b/html/changelogs/AutoChangeLog-pr-55210.yml deleted file mode 100644 index c33282e982e..00000000000 --- a/html/changelogs/AutoChangeLog-pr-55210.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Owai-Seek" -delete-after: True -changes: - - bugfix: "Food is now small, unless tagged to be bigger." diff --git a/html/changelogs/AutoChangeLog-pr-55215.yml b/html/changelogs/AutoChangeLog-pr-55215.yml deleted file mode 100644 index 6832875862e..00000000000 --- a/html/changelogs/AutoChangeLog-pr-55215.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Timberpoes" -delete-after: True -changes: - - bugfix: "pAIs are now able to fully utilise installed encryption keys through their integrated transciever's menu when they have the encryption key software upgrade. The issue where pAIs are only able to change integrated radio settings when in holochassis form still persists and will be fixed in a later PR." diff --git a/html/changelogs/AutoChangeLog-pr-55230.yml b/html/changelogs/AutoChangeLog-pr-55230.yml deleted file mode 100644 index e2c1ddfc91b..00000000000 --- a/html/changelogs/AutoChangeLog-pr-55230.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "bobbahbrown" -delete-after: True -changes: - - rscadd: "Nanotrasen have updated their control panels mounted on canisters and atmospheric tanks to include fancy new pressure gauges, wow!" diff --git a/html/changelogs/AutoChangeLog-pr-55231.yml b/html/changelogs/AutoChangeLog-pr-55231.yml deleted file mode 100644 index cb190d9773f..00000000000 --- a/html/changelogs/AutoChangeLog-pr-55231.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Jared-Fogle" -delete-after: True -changes: - - bugfix: "The implosion compressor now properly gives a message when the bomb is too weak, and will give it back." diff --git a/html/changelogs/AutoChangeLog-pr-55232.yml b/html/changelogs/AutoChangeLog-pr-55232.yml deleted file mode 100644 index df31f302cb9..00000000000 --- a/html/changelogs/AutoChangeLog-pr-55232.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "dragomagol" -delete-after: True -changes: - - bugfix: "Reskinned double-barrelled shotguns now appear properly on the back slot" From d2454ee42db8ee3fc4935959ca2a0dcf88b10a18 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 1 Dec 2020 16:34:48 +1300 Subject: [PATCH 33/33] Update TGS DMAPI (#55259) Co-authored-by: tgstation-server --- code/__DEFINES/tgs.dm | 102 +++++++++++++++++++++--------------------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/code/__DEFINES/tgs.dm b/code/__DEFINES/tgs.dm index 70b7cacac1a..e70955845c4 100644 --- a/code/__DEFINES/tgs.dm +++ b/code/__DEFINES/tgs.dm @@ -117,22 +117,22 @@ //REQUIRED HOOKS /** - * Call this somewhere in [/world/proc/New] that is always run. This function may sleep! - * - * * event_handler - Optional user defined [/datum/tgs_event_handler]. - * * minimum_required_security_level: The minimum required security level to run the game in which the DMAPI is integrated. Can be one of [TGS_SECURITY_ULTRASAFE], [TGS_SECURITY_SAFE], or [TGS_SECURITY_TRUSTED]. - */ + * Call this somewhere in [/world/proc/New] that is always run. This function may sleep! + * + * * event_handler - Optional user defined [/datum/tgs_event_handler]. + * * minimum_required_security_level: The minimum required security level to run the game in which the DMAPI is integrated. Can be one of [TGS_SECURITY_ULTRASAFE], [TGS_SECURITY_SAFE], or [TGS_SECURITY_TRUSTED]. + */ /world/proc/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE) return /** - * Call this when your initializations are complete and your game is ready to play before any player interactions happen. - * - * This may use [/world/var/sleep_offline] to make this happen so ensure no changes are made to it while this call is running. - * Afterwards, consider explicitly setting it to what you want to avoid this BYOND bug: http://www.byond.com/forum/post/2575184 - * Before this point, note that any static files or directories may be in use by another server. Your code should account for this. - * This function should not be called before ..() in [/world/proc/New]. - */ + * Call this when your initializations are complete and your game is ready to play before any player interactions happen. + * + * This may use [/world/var/sleep_offline] to make this happen so ensure no changes are made to it while this call is running. + * Afterwards, consider explicitly setting it to what you want to avoid this BYOND bug: http://www.byond.com/forum/post/2575184 + * Before this point, note that any static files or directories may be in use by another server. Your code should account for this. + * This function should not be called before ..() in [/world/proc/New]. + */ /world/proc/TgsInitializationComplete() return @@ -140,8 +140,8 @@ #define TGS_TOPIC var/tgs_topic_return = TgsTopic(args[1]); if(tgs_topic_return) return tgs_topic_return /** - * Call this at the beginning of [world/proc/Reboot]. - */ + * Call this at the beginning of [world/proc/Reboot]. + */ /world/proc/TgsReboot() return @@ -175,16 +175,16 @@ var/deprefixed_parameter /** - * Returns [TRUE]/[FALSE] based on if the [/datum/tgs_version] contains wildcards. - */ + * Returns [TRUE]/[FALSE] based on if the [/datum/tgs_version] contains wildcards. + */ /datum/tgs_version/proc/Wildcard() return /** - * Returns [TRUE]/[FALSE] based on if the [/datum/tgs_version] equals some other version. - * - * other_version - The [/datum/tgs_version] to compare against. - */ + * Returns [TRUE]/[FALSE] based on if the [/datum/tgs_version] equals some other version. + * + * other_version - The [/datum/tgs_version] to compare against. + */ /datum/tgs_version/proc/Equals(datum/tgs_version/other_version) return @@ -234,10 +234,10 @@ var/datum/tgs_chat_channel/channel /** - * User definable callback for handling TGS events. - * - * event_code - One of the TGS_EVENT_ defines. Extra parameters will be documented in each - */ + * User definable callback for handling TGS events. + * + * event_code - One of the TGS_EVENT_ defines. Extra parameters will be documented in each + */ /datum/tgs_event_handler/proc/HandleEvent(event_code, ...) set waitfor = FALSE return @@ -252,11 +252,11 @@ var/admin_only = FALSE /** - * Process command activation. Should return a string to respond to the issuer with. - * - * sender - The [/datum/tgs_chat_user] who issued the command. - * params - The trimmed string following the command `/datum/tgs_chat_command/var/name]. - */ + * Process command activation. Should return a string to respond to the issuer with. + * + * sender - The [/datum/tgs_chat_user] who issued the command. + * params - The trimmed string following the command `/datum/tgs_chat_command/var/name]. + */ /datum/tgs_chat_command/proc/Run(datum/tgs_chat_user/sender, params) CRASH("[type] has no implementation for Run()") @@ -271,48 +271,48 @@ return /** - * Returns [TRUE] if DreamDaemon was launched under TGS, the API matches, and was properly initialized. [FALSE] will be returned otherwise. - */ + * Returns [TRUE] if DreamDaemon was launched under TGS, the API matches, and was properly initialized. [FALSE] will be returned otherwise. + */ /world/proc/TgsAvailable() return // No function below this succeeds if it TgsAvailable() returns FALSE or if TgsNew() has yet to be called. /** - * Forces a hard reboot of DreamDaemon by ending the process. - * - * Unlike del(world) clients will try to reconnect. - * If TGS has not requested a [TGS_REBOOT_MODE_SHUTDOWN] DreamDaemon will be launched again - */ + * Forces a hard reboot of DreamDaemon by ending the process. + * + * Unlike del(world) clients will try to reconnect. + * If TGS has not requested a [TGS_REBOOT_MODE_SHUTDOWN] DreamDaemon will be launched again + */ /world/proc/TgsEndProcess() return /** - * Send a message to connected chats. - * - * message - The string to send. - * admin_only: If [TRUE], message will be sent to admin connected chats. Vice-versa applies. - */ + * Send a message to connected chats. + * + * message - The string to send. + * admin_only: If [TRUE], message will be sent to admin connected chats. Vice-versa applies. + */ /world/proc/TgsTargetedChatBroadcast(message, admin_only = FALSE) return /** - * Send a private message to a specific user. - * - * message - The string to send. - * user: The [/datum/tgs_chat_user] to PM. - */ + * Send a private message to a specific user. + * + * message - The string to send. + * user: The [/datum/tgs_chat_user] to PM. + */ /world/proc/TgsChatPrivateMessage(message, datum/tgs_chat_user/user) return // The following functions will sleep if a call to TgsNew() is sleeping /** - * Send a message to connected chats that are flagged as game-related in TGS. - * - * message - The string to send. - * channels - Optional list of [/datum/tgs_chat_channel]s to restrict the message to. - */ + * Send a message to connected chats that are flagged as game-related in TGS. + * + * message - The string to send. + * channels - Optional list of [/datum/tgs_chat_channel]s to restrict the message to. + */ /world/proc/TgsChatBroadcast(message, list/channels = null) return