diff --git a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
index 2e9c10c8923..20576e02dda 100644
--- a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
@@ -1,4 +1,3 @@
-
/*
Passive gate is similar to the regular pump except:
@@ -11,7 +10,7 @@ Passive gate is similar to the regular pump except:
icon_state = "passgate_map"
name = "passive gate"
- desc = "A one-way air valve that does not require power"
+ desc = "A one-way air valve that does not require power."
can_unwrench = 1
@@ -103,24 +102,32 @@ Passive gate is similar to the regular pump except:
/obj/machinery/atmospherics/components/binary/passive_gate/get_ui_data()
var/data = list()
data["on"] = on
- data["set_pressure"] = round(target_pressure)
+ data["pressure"] = round(target_pressure)
data["max_pressure"] = round(MAX_OUTPUT_PRESSURE)
return data
/obj/machinery/atmospherics/components/binary/passive_gate/ui_act(action, params)
+ if(..())
+ return
switch(action)
if("power")
on = !on
investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", "atmos")
+ . = TRUE
if("pressure")
- switch(params["pressure"])
- if ("max")
- target_pressure = MAX_OUTPUT_PRESSURE
- if ("custom")
- target_pressure = max(0, min(MAX_OUTPUT_PRESSURE, safe_input("Pressure control", "Enter new output pressure (0-[MAX_OUTPUT_PRESSURE] kPa)", target_pressure)))
- investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", "atmos")
+ var/pressure = params["pressure"]
+ if(pressure == "max")
+ target_pressure = MAX_OUTPUT_PRESSURE
+ . = TRUE
+ else if(pressure == "input")
+ pressure = input("New output pressure (0-[MAX_OUTPUT_PRESSURE] kPa):", name, target_pressure) as num|null
+ . = .(action, list("pressure" = pressure))
+ else if(text2num(pressure) != null)
+ target_pressure = Clamp(text2num(pressure), 0, MAX_OUTPUT_PRESSURE)
+ . = TRUE
+ if(.)
+ investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", "atmos")
update_icon()
- return 1
/obj/machinery/atmospherics/components/binary/passive_gate/atmosinit()
..()
@@ -146,12 +153,10 @@ Passive gate is similar to the regular pump except:
investigate_log("was turned [on ? "on" : "off"] by a remote signal", "atmos")
if("status" in signal.data)
- spawn(2)
- broadcast_status()
- return //do not update_icon
-
- spawn(2)
broadcast_status()
+ return
+
+ broadcast_status()
update_icon()
return
diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm
index 2a0b893c5de..5fef39731aa 100644
--- a/code/ATMOSPHERICS/components/binary_devices/pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm
@@ -15,7 +15,7 @@ Thus, the two variables affect pump operation are set in New():
/obj/machinery/atmospherics/components/binary/pump
icon_state = "pump_map"
name = "gas pump"
- desc = "A pump"
+ desc = "A pump that moves gas by pressure."
can_unwrench = 1
@@ -114,24 +114,32 @@ Thus, the two variables affect pump operation are set in New():
/obj/machinery/atmospherics/components/binary/pump/get_ui_data()
var/data = list()
data["on"] = on
- data["set_pressure"] = round(target_pressure)
+ data["pressure"] = round(target_pressure)
data["max_pressure"] = round(MAX_OUTPUT_PRESSURE)
return data
/obj/machinery/atmospherics/components/binary/pump/ui_act(action, params)
+ if(..())
+ return
switch(action)
if("power")
on = !on
investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", "atmos")
+ . = TRUE
if("pressure")
- switch(params["pressure"])
- if("max")
- target_pressure = MAX_OUTPUT_PRESSURE
- if("custom")
- target_pressure = max(0, min(MAX_OUTPUT_PRESSURE, safe_input("Pressure control", "Enter new output pressure (0-[MAX_OUTPUT_PRESSURE] kPa)", target_pressure)))
- investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", "atmos")
+ var/pressure = params["pressure"]
+ if(pressure == "max")
+ target_pressure = MAX_OUTPUT_PRESSURE
+ . = TRUE
+ else if(pressure == "input")
+ pressure = input("New output pressure (0-[MAX_OUTPUT_PRESSURE] kPa):", name, target_pressure) as num|null
+ . = .(action, list("pressure" = pressure))
+ else if(text2num(pressure) != null)
+ target_pressure = Clamp(text2num(pressure), 0, MAX_OUTPUT_PRESSURE)
+ . = TRUE
+ if(.)
+ investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", "atmos")
update_icon()
- return 1
/obj/machinery/atmospherics/components/binary/pump/atmosinit()
..()
@@ -157,12 +165,10 @@ Thus, the two variables affect pump operation are set in New():
investigate_log("was turned [on ? "on" : "off"] by a remote signal", "atmos")
if("status" in signal.data)
- spawn(2)
- broadcast_status()
- return //do not update_icon
-
- spawn(2)
broadcast_status()
+ return
+
+ broadcast_status()
update_icon()
return
diff --git a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm
index 5624bef938f..504d86cd165 100644
--- a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm
@@ -15,7 +15,7 @@ Thus, the two variables affect pump operation are set in New():
/obj/machinery/atmospherics/components/binary/volume_pump
icon_state = "volpump_map"
name = "volumetric gas pump"
- desc = "A volumetric pump"
+ desc = "A pump that moves gas by volume."
can_unwrench = 1
@@ -110,7 +110,7 @@ Thus, the two variables affect pump operation are set in New():
/obj/machinery/atmospherics/components/binary/volume_pump/get_ui_data()
var/data = list()
data["on"] = on
- data["transfer_rate"] = round(transfer_rate)
+ data["rate"] = round(transfer_rate)
data["max_rate"] = round(MAX_TRANSFER_RATE)
return data
@@ -120,19 +120,27 @@ Thus, the two variables affect pump operation are set in New():
set_frequency(frequency)
/obj/machinery/atmospherics/components/binary/volume_pump/ui_act(action, params)
+ if(..())
+ return
switch(action)
if("power")
on = !on
investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", "atmos")
- if("transfer")
- switch(params["rate"])
- if("max")
- transfer_rate = MAX_TRANSFER_RATE
- if("custom")
- transfer_rate = max(0, min(MAX_TRANSFER_RATE, safe_input("Pressure control", "Enter new transfer rate (0-[MAX_TRANSFER_RATE] L/s)", transfer_rate)))
- investigate_log("was set to [transfer_rate] L/s by [key_name(usr)]", "atmos")
+ . = TRUE
+ if("rate")
+ var/rate = params["rate"]
+ if(rate == "max")
+ transfer_rate = MAX_TRANSFER_RATE
+ . = TRUE
+ else if(rate == "input")
+ rate = input("New transfer rate (0-[MAX_TRANSFER_RATE] L/s):", name, transfer_rate) as num|null
+ . = .(action, list("rate" = rate))
+ else if(text2num(rate) != null)
+ transfer_rate = Clamp(text2num(rate), 0, MAX_TRANSFER_RATE)
+ . = TRUE
+ if(.)
+ investigate_log("was set to [transfer_rate] L/s by [key_name(usr)]", "atmos")
update_icon()
- return 1
/obj/machinery/atmospherics/components/binary/volume_pump/receive_signal(datum/signal/signal)
if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command"))
diff --git a/code/ATMOSPHERICS/components/trinary_devices/filter.dm b/code/ATMOSPHERICS/components/trinary_devices/filter.dm
index 9ad4b61b98b..e08bde23e96 100644
--- a/code/ATMOSPHERICS/components/trinary_devices/filter.dm
+++ b/code/ATMOSPHERICS/components/trinary_devices/filter.dm
@@ -1,11 +1,3 @@
-#define FILTER_NOTHING ""
-//very cleverly using the gas IDs so as to simplify a bunch of logic
-#define FILTER_PLASMA "plasma"
-#define FILTER_OXYGEN "o2"
-#define FILTER_NITROGEN "n2"
-#define FILTER_CARBONDIOXIDE "co2"
-#define FILTER_NITROUSOXIDE "n2o"
-
/obj/machinery/atmospherics/components/trinary/filter
name = "gas filter"
icon_state = "filter_off"
@@ -13,7 +5,7 @@
can_unwrench = 1
var/on = 0
var/target_pressure = ONE_ATMOSPHERE
- var/filter_type = FILTER_PLASMA
+ var/filter_type = ""
var/frequency = 0
var/datum/radio_frequency/radio_connection
@@ -98,10 +90,6 @@
filtered_out.assert_gas(filter_type)
filtered_out.gases[filter_type][MOLES] = removed.gases[filter_type][MOLES]
removed.gases[filter_type][MOLES] = 0
- if(filter_type == FILTER_PLASMA && removed.gases["agent_b"])
- filtered_out.assert_gas("agent_b")
- filtered_out.gases["agent_b"][MOLES] = removed.gases["agent_b"][MOLES]
- removed.gases["agent_b"][MOLES] = 0
removed.garbage_collect()
else
filtered_out = null
@@ -133,37 +121,39 @@
/obj/machinery/atmospherics/components/trinary/filter/get_ui_data()
var/data = list()
data["on"] = on
- data["set_pressure"] = round(target_pressure)
+ data["pressure"] = round(target_pressure)
data["max_pressure"] = round(MAX_OUTPUT_PRESSURE)
data["filter_type"] = filter_type
return data
/obj/machinery/atmospherics/components/trinary/filter/ui_act(action, params)
+ if(..())
+ return
switch(action)
if("power")
on = !on
investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", "atmos")
+ . = TRUE
if("pressure")
- switch(params["pressure"])
- if("max")
- target_pressure = MAX_OUTPUT_PRESSURE
- if("custom")
- target_pressure = max(0, min(MAX_OUTPUT_PRESSURE, safe_input("Pressure control", "Enter new output pressure (0-[MAX_OUTPUT_PRESSURE] kPa):", target_pressure)))
- investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", "atmos")
+ var/pressure = params["pressure"]
+ if(pressure == "max")
+ target_pressure = MAX_OUTPUT_PRESSURE
+ . = TRUE
+ else if(pressure == "input")
+ pressure = input("New output pressure (0-[MAX_OUTPUT_PRESSURE] kPa):", name, target_pressure) as num|null
+ . = .(action, list("pressure" = pressure))
+ else if(text2num(pressure) != null)
+ target_pressure = Clamp(text2num(pressure), 0, MAX_OUTPUT_PRESSURE)
+ . = TRUE
+ if(.)
+ investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", "atmos")
if("filter")
- filter_type = params["mode"]
- var/filtering_name = "nothing"
- switch(filter_type)
- if(FILTER_PLASMA)
- filtering_name = "plasma"
- if(FILTER_OXYGEN)
- filtering_name = "oxygen"
- if(FILTER_NITROGEN)
- filtering_name = "nitrogen"
- if(FILTER_CARBONDIOXIDE)
- filtering_name = "carbon dioxide"
- if(FILTER_NITROUSOXIDE)
- filtering_name = "nitrous oxide"
- investigate_log("was set to filter [filtering_name] by [key_name(usr)]", "atmos")
+ filter_type = ""
+ var/filter_name = "nothing"
+ var/mode = params["mode"]
+ if(mode in meta_gas_info)
+ filter_type = mode
+ filter_name = meta_gas_info[mode][META_GAS_NAME]
+ investigate_log("was set to filter [filter_name] by [key_name(usr)]", "atmos")
+ . = TRUE
update_icon()
- return 1
diff --git a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm
index f6ae8300ab5..748fbc4ae21 100644
--- a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm
+++ b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm
@@ -139,26 +139,36 @@
return data
/obj/machinery/atmospherics/components/trinary/mixer/ui_act(action, params)
+ if(..())
+ return
switch(action)
if("power")
on = !on
investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", "atmos")
+ . = TRUE
if("pressure")
- switch(params["pressure"])
- if("max")
- target_pressure = MAX_OUTPUT_PRESSURE
- if("custom")
- target_pressure = max(0, min(MAX_OUTPUT_PRESSURE, safe_input("Pressure control", "Enter new output pressure (0-[MAX_OUTPUT_PRESSURE] kPa):", target_pressure)))
- investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", "atmos")
+ var/pressure = params["pressure"]
+ if(pressure == "max")
+ target_pressure = MAX_OUTPUT_PRESSURE
+ . = TRUE
+ else if(pressure == "input")
+ pressure = input("New output pressure (0-[MAX_OUTPUT_PRESSURE] kPa):", name, target_pressure) as num|null
+ . = .(action, list("pressure" = pressure))
+ else if(text2num(pressure) != null)
+ target_pressure = Clamp(text2num(pressure), 0, MAX_OUTPUT_PRESSURE)
+ . = TRUE
+ if(.)
+ investigate_log("was set to [target_pressure] kPa by [key_name(usr)]", "atmos")
if("node1")
var/value = text2num(params["concentration"])
- src.node1_concentration = max(0, min(1, src.node1_concentration + value))
- src.node2_concentration = max(0, min(1, src.node2_concentration - value))
+ node1_concentration = max(0, min(1, node1_concentration + value))
+ node2_concentration = max(0, min(1, node2_concentration - value))
investigate_log("was set to [node1_concentration] % on node 1 by [key_name(usr)]", "atmos")
+ . = TRUE
if("node2")
var/value = text2num(params["concentration"])
- src.node2_concentration = max(0, min(1, src.node2_concentration + value))
- src.node1_concentration = max(0, min(1, src.node1_concentration - value))
+ node2_concentration = max(0, min(1, node2_concentration + value))
+ node1_concentration = max(0, min(1, node1_concentration - value))
investigate_log("was set to [node2_concentration] % on node 2 by [key_name(usr)]", "atmos")
- update_icon()
- return 1
\ No newline at end of file
+ . = TRUE
+ update_icon()
\ No newline at end of file
diff --git a/code/ATMOSPHERICS/components/unary_devices/cryo.dm b/code/ATMOSPHERICS/components/unary_devices/cryo.dm
index bfc9c0752d7..730114835ac 100644
--- a/code/ATMOSPHERICS/components/unary_devices/cryo.dm
+++ b/code/ATMOSPHERICS/components/unary_devices/cryo.dm
@@ -230,23 +230,25 @@
/obj/machinery/atmospherics/components/unary/cryo_cell/ui_act(action, params)
if(..())
return
-
switch(action)
if("power")
if(on)
on = FALSE
else if(!state_open)
on = TRUE
+ . = TRUE
if("door")
if(state_open)
close_machine()
else
open_machine()
+ . = TRUE
if("autoeject")
autoeject = !autoeject
+ . = TRUE
if("ejectbeaker")
if(beaker)
beaker.loc = loc
beaker = null
+ . = TRUE
update_icon()
- return 1
diff --git a/code/ATMOSPHERICS/components/unary_devices/thermomachine.dm b/code/ATMOSPHERICS/components/unary_devices/thermomachine.dm
index 44aae1723f5..9c36f595820 100644
--- a/code/ATMOSPHERICS/components/unary_devices/thermomachine.dm
+++ b/code/ATMOSPHERICS/components/unary_devices/thermomachine.dm
@@ -51,8 +51,8 @@
/obj/machinery/atmospherics/components/unary/thermomachine/process_atmos()
..()
- if(!on)
- return 0
+ if(!on || !NODE1)
+ return
var/datum/gas_mixture/air_contents = AIR1
var/air_heat_capacity = air_contents.heat_capacity()
@@ -100,7 +100,7 @@
data["min"] = min_temperature
data["max"] = max_temperature
data["target"] = target_temperature
- data["initial"] = T20C
+ data["initial"] = initial(target_temperature)
var/datum/gas_mixture/air1 = AIR1
data["temperature"] = air1.temperature
@@ -114,15 +114,24 @@
if("power")
on = !on
use_power = 1 + on
- update_icon()
- return 1
+ investigate_log("was turned [on ? "on" : "off"] by [key_name(usr)]", "atmos")
+ . = TRUE
if("target")
- target_temperature += text2num(params["adjust"])
- if(min_temperature)
- target_temperature = Clamp(target_temperature, min_temperature, T20C)
- else if(max_temperature)
- target_temperature = Clamp(target_temperature, T20C, max_temperature)
- return 1
+ var/target = params["target"]
+ var/adjust = text2num(params["adjust"])
+ if(target == "input")
+ target = input("Set new target ([min_temperature]-[max_temperature] K):", name, target_temperature) as num|null
+ . = .(action, list("target" = target))
+ else if(text2num(target) != null)
+ target_temperature = text2num(target)
+ . = TRUE
+ else if(adjust)
+ target_temperature += adjust
+ . = TRUE
+ if(.)
+ target_temperature = Clamp(target_temperature, min_temperature, max_temperature)
+ investigate_log("was set to [target_temperature] K by [key_name(usr)]", "atmos")
+ update_icon()
/obj/machinery/atmospherics/components/unary/thermomachine/freezer
name = "freezer"
@@ -130,6 +139,8 @@
icon_state = "freezer"
icon_state_on = "freezer_1"
icon_state_open = "freezer-o"
+ max_temperature = T20C
+ min_temperature = 170
/obj/machinery/atmospherics/components/unary/thermomachine/freezer/New()
..()
@@ -140,7 +151,7 @@
var/L
for(var/obj/item/weapon/stock_parts/micro_laser/M in component_parts)
L += M.rating
- min_temperature = max(T0C - (170 + L * 15), TCMB)
+ min_temperature = max(T0C - (initial(min_temperature) + L * 15), TCMB)
/obj/machinery/atmospherics/components/unary/thermomachine/heater
name = "heater"
@@ -148,6 +159,8 @@
icon_state = "heater"
icon_state_on = "heater_1"
icon_state_open = "heater-o"
+ max_temperature = 140
+ min_temperature = T20C
/obj/machinery/atmospherics/components/unary/thermomachine/heater/New()
..()
@@ -158,4 +171,4 @@
var/L
for(var/obj/item/weapon/stock_parts/micro_laser/M in component_parts)
L += M.rating
- max_temperature = T20C + (140 * L)
+ max_temperature = T20C + (initial(max_temperature) * L)
diff --git a/code/ATMOSPHERICS/gas_types.dm b/code/ATMOSPHERICS/gas_types.dm
index 0fd17097415..a7c40accf62 100644
--- a/code/ATMOSPHERICS/gas_types.dm
+++ b/code/ATMOSPHERICS/gas_types.dm
@@ -6,11 +6,11 @@ var/list/hardcoded_gases = list("o2","n2","co2","plasma") //the main four gases,
var/list/gas_info = new(4)
var/datum/gas/g = gas_path
- gas_info[1] = initial(g.specific_heat)
- gas_info[2] = initial(g.name)
- gas_info[3] = initial(g.moles_visible)
- if(gas_info[3] != null)
- gas_info[4] = new /obj/effect/overlay/gas(initial(g.gas_overlay))
+ gas_info[META_GAS_SPECIFIC_HEAT] = initial(g.specific_heat)
+ gas_info[META_GAS_NAME] = initial(g.name)
+ gas_info[META_GAS_MOLES_VISIBLE] = initial(g.moles_visible)
+ if(gas_info[META_GAS_MOLES_VISIBLE] != null)
+ gas_info[META_GAS_OVERLAY] = new /obj/effect/overlay/gas(initial(g.gas_overlay))
meta_list[initial(g.id)] = gas_info
. = meta_list
diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm
index 8d410ef0764..5e699b97e84 100644
--- a/code/__DEFINES/atmospherics.dm
+++ b/code/__DEFINES/atmospherics.dm
@@ -13,10 +13,14 @@
#define ARCHIVE 2
#define GAS_META 3
//this is kinda hacky... but it means I don't have to change every single time they're called.
-#define SPECIFIC_HEAT GAS_META][1
-#define GAS_NAME GAS_META][2
-#define GAS_OVERLAY GAS_META][4
-#define MOLES_VISIBLE GAS_META][3
+#define META_GAS_SPECIFIC_HEAT 1
+#define META_GAS_NAME 2
+#define META_GAS_OVERLAY 4
+#define META_GAS_MOLES_VISIBLE 3
+#define SPECIFIC_HEAT GAS_META][META_GAS_SPECIFIC_HEAT
+#define GAS_NAME GAS_META][META_GAS_NAME
+#define GAS_OVERLAY GAS_META][META_GAS_OVERLAY
+#define MOLES_VISIBLE GAS_META][META_GAS_MOLES_VISIBLE
//stuff you should probably leave well alone!
//ATMOS
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index e128530958d..163ff45a635 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -26,11 +26,6 @@
return text("#[][][]", textr, textg, textb)
return
-//Returns the middle-most value
-/proc/dd_range(low, high, num)
- return max(low,min(high,num))
-
-
/proc/Get_Angle(atom/movable/start,atom/movable/end)//For beams.
if(!start || !end) return 0
var/dy
diff --git a/code/datums/wires/wires.dm b/code/datums/wires/wires.dm
index 03c3cdab6b9..da7b47211e5 100644
--- a/code/datums/wires/wires.dm
+++ b/code/datums/wires/wires.dm
@@ -326,9 +326,8 @@ var/list/wire_color_directory = list()
return data
/datum/wires/ui_act(action, params)
- if(!interactable(usr))
+ if(..() || !interactable(usr))
return
-
var/target_wire = params["wire"]
var/mob/living/L = usr
var/obj/item/I = L.get_active_hand()
@@ -336,11 +335,13 @@ var/list/wire_color_directory = list()
if("cut")
if(istype(I, /obj/item/weapon/wirecutters) || IsAdminGhost(usr))
cut_color(target_wire)
+ . = TRUE
else
L << "You need wirecutters!"
if("pulse")
if(istype(I, /obj/item/device/multitool) || IsAdminGhost(usr))
pulse_color(target_wire)
+ . = TRUE
else
L << "You need a multitool!"
if("attach")
@@ -348,6 +349,7 @@ var/list/wire_color_directory = list()
var/obj/item/O = detach_assembly(target_wire)
if(O)
L.put_in_hands(O)
+ . = TRUE
else
if(istype(I, /obj/item/device/assembly))
var/obj/item/device/assembly/A = I
@@ -355,6 +357,6 @@ var/list/wire_color_directory = list()
if(!L.drop_item())
return
attach_assembly(target_wire, A)
+ . = TRUE
else
L << "You need an attachable assembly!"
- return 1
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index 54310f99076..7488a3e7b91 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -308,7 +308,7 @@
if(!(gas_id in TLV)) // We're not interested in this gas, it seems.
continue
selected = TLV[gas_id]
- thresholds += list(list("name" = meta_gas_info[gas_id][2], "settings" = list()))
+ thresholds += list(list("name" = meta_gas_info[gas_id][META_GAS_NAME], "settings" = list()))
thresholds[thresholds.len]["settings"] += list(list("env" = gas_id, "val" = "min2", "selected" = selected.min2))
thresholds[thresholds.len]["settings"] += list(list("env" = gas_id, "val" = "min1", "selected" = selected.min1))
thresholds[thresholds.len]["settings"] += list(list("env" = gas_id, "val" = "max1", "selected" = selected.max1))
@@ -317,71 +317,68 @@
data["thresholds"] = thresholds
/obj/machinery/alarm/ui_act(action, params)
- if(buildstage != 2)
+ if(..() || buildstage != 2)
return
-
- if(locked && !usr.has_unlimited_silicon_privilege)
+ if((locked && !usr.has_unlimited_silicon_privilege) || (usr.has_unlimited_silicon_privilege && aidisabled))
return
-
- if(usr.has_unlimited_silicon_privilege && aidisabled)
- return
-
var/device_id = params["id_tag"]
switch(action)
if("lock")
if(usr.has_unlimited_silicon_privilege && !wires.is_cut(WIRE_IDSCAN))
locked = !locked
- if(
- "power",
- "co2_scrub",
- "tox_scrub",
- "n2o_scrub",
- "widenet",
- "scrubbing"
- )
+ . = TRUE
+ if("power", "co2_scrub", "tox_scrub", "n2o_scrub", "widenet", "scrubbing")
send_signal(device_id, list("[action]" = text2num(params["val"])))
+ . = TRUE
if("excheck")
send_signal(device_id, list("checks" = text2num(params["val"])^1))
+ . = TRUE
if("incheck")
send_signal(device_id, list("checks" = text2num(params["val"])^2))
+ . = TRUE
if("set_external_pressure")
- var/input_pressure = input("Enter target pressure:", "Pressure Controls") as num|null
- if(isnum(input_pressure))
- send_signal(device_id, list("set_external_pressure" = input_pressure))
+ var/value = text2num(params["value"])
+ if(value != null)
+ send_signal(device_id, list("set_external_pressure" = value))
+ . = TRUE
+ else
+ value = input("New target pressure:", name, alarm_area.air_vent_info[device_id]["external"]) as num|null
+ . = .(action, params + list("value" = value))
if("reset_external_pressure")
send_signal(device_id, list("reset_external_pressure"))
+ . = TRUE
if("threshold")
var/env = params["env"]
- var/varname = params["var"]
+ var/name = params["var"]
+ var/value = text2num(params["value"])
var/datum/tlv/tlv = TLV[env]
- var/newval = input("Enter [varname] for [env]:", "Alarm Triggers", tlv.vars[varname]) as num|null
- if (isnull(newval))
+ if(isnull(tlv))
return
- if (newval<0)
- tlv.vars[varname] = -1
- else if (env=="temperature" && newval>5000)
- tlv.vars[varname] = 5000
- else if (env=="pressure" && newval>50*ONE_ATMOSPHERE)
- tlv.vars[varname] = 50*ONE_ATMOSPHERE
- else if (env!="temperature" && env!="pressure" && newval>200)
- tlv.vars[varname] = 200
+ if(value != null)
+ if(value < 0)
+ tlv.vars[name] = -1
+ else
+ tlv.vars[name] = round(value, 0.01)
+ . = TRUE
else
- newval = round(newval,0.01)
- tlv.vars[varname] = newval
+ value = input("New [name] for [env]:", name, tlv.vars[name]) as num|null
+ . = .(action, params + list("value" = value))
if("screen")
screen = text2num(params["screen"])
+ . = TRUE
if("mode")
mode = text2num(params["mode"])
apply_mode()
+ . = TRUE
if("alarm")
if(alarm_area.atmosalert(2, src))
post_alert(2)
- update_icon()
+ . = TRUE
if("reset")
if(alarm_area.atmosalert(0, src))
post_alert(0)
- update_icon()
- return 1
+ . = TRUE
+ update_icon()
/obj/machinery/alarm/proc/shock(mob/user, prb)
if((stat & (NOPOWER))) // unpowered, no shock
diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm
index 2c95ed6016f..e159cc90b27 100644
--- a/code/game/machinery/atmoalter/canister.dm
+++ b/code/game/machinery/atmoalter/canister.dm
@@ -30,37 +30,40 @@
"air" = /obj/machinery/portable_atmospherics/canister/air
)
-
-/obj/machinery/portable_atmospherics/canister/nitrous_oxide
- name = "n2o canister"
- desc = "Nitrous oxide gas. Known to cause drowsiness."
- icon_state = "redws"
- canister_color = "redws"
- gas_type = "n2o"
-/obj/machinery/portable_atmospherics/canister/nitrogen
- name = "n2 canister"
- desc = "Nitrogen gas. Reportedly useful for something."
- icon_state = "red"
- canister_color = "red"
- gas_type = "n2"
/obj/machinery/portable_atmospherics/canister/oxygen
name = "o2 canister"
desc = "Oxygen. Necessary for human life."
icon_state = "blue"
canister_color = "blue"
gas_type = "o2"
-/obj/machinery/portable_atmospherics/canister/toxins
- name = "plasma canister"
- desc = "Plasma gas. The reason YOU are here. Highly toxic."
- icon_state = "orange"
- canister_color = "orange"
- gas_type = "plasma"
+/obj/machinery/portable_atmospherics/canister/nitrogen
+ name = "n2 canister"
+ desc = "Nitrogen gas. Reportedly useful for something."
+ icon_state = "red"
+ canister_color = "red"
+ gas_type = "n2"
/obj/machinery/portable_atmospherics/canister/carbon_dioxide
name = "co2 canister"
desc = "Carbon dioxide. What the fuck is carbon dioxide?"
icon_state = "black"
canister_color = "black"
gas_type = "co2"
+/obj/machinery/portable_atmospherics/canister/toxins
+ name = "plasma canister"
+ desc = "Plasma gas. The reason YOU are here. Highly toxic."
+ icon_state = "orange"
+ canister_color = "orange"
+ gas_type = "plasma"
+/obj/machinery/portable_atmospherics/canister/agent_b
+ name = "agent b canister"
+ desc = "Oxygen Agent B. You're not quite sure what it does."
+ gas_type = "agent_b"
+/obj/machinery/portable_atmospherics/canister/nitrous_oxide
+ name = "n2o canister"
+ desc = "Nitrous oxide gas. Known to cause drowsiness."
+ icon_state = "redws"
+ canister_color = "redws"
+ gas_type = "n2o"
/obj/machinery/portable_atmospherics/canister/air
name = "air canister"
desc = "Pre-mixed air."
@@ -289,59 +292,63 @@ update_flag
return data
/obj/machinery/portable_atmospherics/canister/ui_act(action, params)
+ if(..())
+ return
switch(action)
if("relabel")
- var/label = input("Label canister:", "Gas Canister") as null|anything in label2types
- var/newtype = label2types[label]
- if(newtype)
- var/obj/machinery/portable_atmospherics/canister/replacement = new newtype(loc)
- replacement.air_contents.copy_from(air_contents)
- replacement.update_icon()
- replacement.interact(usr)
- qdel(src)
+ var/label = params["label"]
+ if(label)
+ var/newtype = label2types[label]
+ if(newtype)
+ var/obj/machinery/portable_atmospherics/canister/replacement = new newtype(loc)
+ replacement.air_contents.copy_from(air_contents)
+ replacement.update_icon()
+ replacement.interact(usr)
+ qdel(src)
+ else
+ label = input("New canister label:", name) as null|anything in label2types
+ .(action, list("label" = label))
if("pressure")
- switch(params["pressure"])
- if("custom")
- var/custom = input(usr, "What rate do you set the regulator to? The dial reads from [CAN_MIN_RELEASE_PRESSURE] to [CAN_MAX_RELEASE_PRESSURE].") as null|num
- if(custom)
- release_pressure = custom
- if("reset")
- release_pressure = CAN_DEFAULT_RELEASE_PRESSURE
- if("min")
- release_pressure = CAN_MIN_RELEASE_PRESSURE
- if("max")
- release_pressure = CAN_MAX_RELEASE_PRESSURE
- release_pressure = Clamp(round(release_pressure), CAN_MIN_RELEASE_PRESSURE, CAN_MAX_RELEASE_PRESSURE)
+ var/pressure = params["pressure"]
+ if(pressure == "reset")
+ release_pressure = CAN_DEFAULT_RELEASE_PRESSURE
+ . = TRUE
+ else if(pressure == "min")
+ release_pressure = CAN_MIN_RELEASE_PRESSURE
+ . = TRUE
+ else if(pressure == "max")
+ release_pressure = CAN_MAX_RELEASE_PRESSURE
+ . = TRUE
+ else if(pressure == "input")
+ pressure = input("New release pressure ([CAN_MIN_RELEASE_PRESSURE]-[CAN_MAX_RELEASE_PRESSURE] kPa):", name, release_pressure) as num|null
+ . = .(action, list("pressure" = pressure))
+ else if(text2num(pressure) != null)
+ release_pressure = Clamp(round(text2num(pressure)), CAN_MIN_RELEASE_PRESSURE, CAN_MAX_RELEASE_PRESSURE)
+ . = TRUE
if("valve")
var/logmsg
+ valve_open = !valve_open
if(valve_open)
- if(holding)
- logmsg = "Valve was closed by [key_name(usr)], stopping the transfer into the [holding]
"
- else
- logmsg = "Valve was closed by [key_name(usr)], stopping the transfer into the air
"
+ logmsg = "Valve was opened by [key_name(usr)], starting a transfer into \the [holding || "air"].
"
+ if(!holding)
+ var/plasma = air_contents.gases["plasma"]
+ var/n2o = air_contents.gases["n2o"]
+ if(n2o || plasma)
+ message_admins("[key_name_admin(usr)] (?) (FLW) opened a canister that contains [n2o ? "N2O" : ""][n2o && plasma ? " & " : ""][plasma ? "Plasma" : ""]! (JMP)")
+ log_admin("[key_name(usr)] opened a canister that contains [n2o ? "N2O" : ""][n2o && plasma ? " & " : ""][plasma ? "Plasma" : ""] at [x], [y], [z]")
else
- if(holding)
- logmsg = "Valve was opened by [key_name(usr)], starting the transfer into the [holding]
"
- else
- logmsg = "Valve was opened by [key_name(usr)], starting the transfer into the air
"
- if(air_contents.gases["plasma"])
- message_admins("[key_name_admin(usr)] (?) (FLW) opened a canister that contains plasma! (JMP)")
- log_admin("[key_name(usr)] opened a canister that contains plasma at [x], [y], [z]")
- if(air_contents.gases["n2o"])
- message_admins("[key_name_admin(usr)] (?) (FLW) opened a canister that contains N2O! (JMP)")
- log_admin("[key_name(usr)] opened a canister that contains N2O at [x], [y], [z]")
+ logmsg = "Valve was closed by [key_name(usr)], stopping the transfer into \the [holding || "air"].
"
investigate_log(logmsg, "atmos")
release_log += logmsg
- valve_open = !valve_open
+ . = TRUE
if("eject")
if(holding)
if(valve_open)
investigate_log("[key_name(usr)] removed the [holding], leaving the valve open and transfering into the air
", "atmos")
holding.loc = loc
holding = null
- add_fingerprint(usr)
+ . = TRUE
update_icon()
- return 1
/obj/machinery/portable_atmospherics/canister/New(loc)
..()
@@ -371,5 +378,6 @@ update_flag
/obj/machinery/portable_atmospherics/canister/air/create_gas()
air_contents.assert_gases("o2","n2")
- air_contents.gases["o2"][MOLES] = (O2STANDARD*src.maximum_pressure*filled)*air_contents.volume/(R_IDEAL_GAS_EQUATION*air_contents.temperature)
- air_contents.gases["n2"][MOLES] = (N2STANDARD*src.maximum_pressure*filled)*air_contents.volume/(R_IDEAL_GAS_EQUATION*air_contents.temperature)
+ // PV = nRT
+ air_contents.gases["o2"][MOLES] = (O2STANDARD * maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature)
+ air_contents.gases["n2"][MOLES] = (N2STANDARD * maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature)
diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm
index 050a4cb4da1..26ac2bf3fab 100644
--- a/code/game/machinery/computer/atmos_alert.dm
+++ b/code/game/machinery/computer/atmos_alert.dm
@@ -38,17 +38,20 @@
return data
/obj/machinery/computer/atmos_alert/ui_act(action, params)
+ if(..())
+ return
switch(action)
if("clear")
var/zone = params["zone"]
if(zone in priority_alarms)
- usr << "Priority Alarm for [zone] cleared."
+ usr << "Priority alarm for [zone] cleared."
priority_alarms -= zone
+ . = TRUE
if(zone in minor_alarms)
- usr << "Minor Alarm for [zone] cleared."
+ usr << "Minor alarm for [zone] cleared."
minor_alarms -= zone
+ . = TRUE
update_icon()
- return 1
/obj/machinery/computer/atmos_alert/proc/set_frequency(new_frequency)
SSradio.remove_object(src, receive_frequency)
@@ -65,9 +68,9 @@
minor_alarms -= zone
priority_alarms -= zone
- if(severity=="severe")
+ if(severity == "severe")
priority_alarms += zone
- else if (severity=="minor")
+ else if (severity == "minor")
minor_alarms += zone
update_icon()
return
diff --git a/code/game/machinery/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm
similarity index 90%
rename from code/game/machinery/atmos_control.dm
rename to code/game/machinery/computer/atmos_control.dm
index b0d2e64c459..257fc561e6f 100644
--- a/code/game/machinery/atmos_control.dm
+++ b/code/game/machinery/computer/atmos_control.dm
@@ -130,7 +130,6 @@
/obj/machinery/computer/atmos_control/ui_act(action, params)
if(..())
return
-
switch(action)
if("initialize")
if(name != initial(name))
@@ -157,8 +156,7 @@
"n2o_sensor" = "Nitrous Oxide Tank",
"mix_sensor" = "Mix Tank"
)
- return 1
-
+ . = TRUE
/////////////////////////////////////////////////////////////
// LARGE TANK CONTROL
@@ -218,11 +216,12 @@
datum/tgui/master_ui = null, datum/ui_state/state = default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
- ui = new(user, src, ui_key, "atmos_control/tank", name, 400, 425, master_ui, state)
+ ui = new(user, src, ui_key, "atmos_control", name, 400, 425, master_ui, state)
ui.open()
/obj/machinery/computer/atmos_control/tank/get_ui_data(mob/user)
var/list/data = ..()
+ data["tank"] = TRUE
data["inputting"] = input_info ? input_info["power"] : FALSE
data["inputRate"] = input_info ? input_info["volume_rate"] : 0
data["outputting"] = output_info ? output_info["power"] : FALSE
@@ -231,29 +230,32 @@
return data
/obj/machinery/computer/atmos_control/tank/ui_act(action, params)
- if(!radio_connection)
+ if(..() || !radio_connection)
return
-
var/datum/signal/signal = new
signal.transmission_method = 1
signal.source = src
signal.data = list("sigtype" = "command")
-
switch(action)
if("reconnect")
reconnect(usr)
+ . = TRUE
if("input")
signal.data += list("tag" = input_tag, "power_toggle" = TRUE)
+ . = TRUE
if("output")
signal.data += list("tag" = output_tag, "power_toggle" = TRUE)
- if("output_pressure")
- var/custom = input(usr, "Adjust output pressure:", name) as null|num
- if(isnum(custom))
- var/pressure = Clamp(custom, 0, 50 * ONE_ATMOSPHERE)
- signal.data += list("tag" = output_tag, "set_internal_pressure" = "[pressure]")
-
+ . = TRUE
+ if("pressure")
+ var/pressure = text2num(params["pressure"])
+ if(pressure != null)
+ pressure = Clamp(pressure, 0, 50 * ONE_ATMOSPHERE)
+ signal.data += list("tag" = output_tag, "set_internal_pressure" = pressure)
+ . = TRUE
+ else
+ pressure = input("New output pressure:", name, input_info["internal"]) as num|null
+ . = .(action, params + list("pressure" = pressure))
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
- return 1
/obj/machinery/computer/atmos_control/tank/receive_signal(datum/signal/signal)
if(!signal || signal.encryption) return
diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm
index c4a56f3f9fa..f1e00b5aa5b 100644
--- a/code/game/machinery/doors/airlock_electronics.dm
+++ b/code/game/machinery/doors/airlock_electronics.dm
@@ -34,16 +34,20 @@
return data
/obj/item/weapon/electronics/airlock/ui_act(action, params)
+ if(..())
+ return
switch(action)
if("clear")
accesses = list()
one_access = 0
+ . = TRUE
if("one_access")
one_access = !one_access
+ . = TRUE
if("set")
var/access = text2num(params["access"])
if (!(access in accesses))
accesses += access
else
accesses -= access
- return 1
+ . = TRUE
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index 49ad34f033a..f2453781cf0 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -212,9 +212,8 @@ Class Procs:
/obj/machinery/ui_act(action, params)
..()
if(!can_be_used_by(usr))
- return 1
+ return TRUE
add_fingerprint(usr)
- return 0
/obj/machinery/proc/can_be_used_by(mob/user)
if(!interact_offline && stat & (NOPOWER|BROKEN))
diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm
index 25b6b63204c..d4a42c8b8ec 100644
--- a/code/game/machinery/spaceheater.dm
+++ b/code/game/machinery/spaceheater.dm
@@ -76,9 +76,9 @@
settableTemperatureRange = cap * 30
efficiency = (cap + 1) * 10000
- var/minTemp = max(settableTemperatureMedian - settableTemperatureRange, TCMB)
- var/maxTemp = settableTemperatureMedian + settableTemperatureRange
- targetTemperature = dd_range(minTemp, maxTemp, targetTemperature)
+ targetTemperature = Clamp(targetTemperature,
+ max(settableTemperatureMedian - settableTemperatureRange, TCMB),
+ settableTemperatureMedian + settableTemperatureRange)
/obj/machinery/space_heater/emp_act(severity)
if(stat & (BROKEN|NOPOWER))
@@ -88,32 +88,6 @@
cell.emp_act(severity)
..(severity)
-/obj/machinery/space_heater/get_ui_data()
- var/list/data = list()
- data["open"] = panel_open
- data["on"] = on
- data["mode"] = setMode
- data["hasPowercell"] = !!cell
- if(cell)
- data["powerLevel"] = round(cell.percent(), 1)
- data["targetTemp"] = round(targetTemperature - T0C, 1)
- data["minTemp"] = max(settableTemperatureMedian - settableTemperatureRange - T0C, TCMB)
- data["maxTemp"] = settableTemperatureMedian + settableTemperatureRange - T0C
-
- var/turf/simulated/L = get_turf(loc)
- var/curTemp
- if(istype(L))
- var/datum/gas_mixture/env = L.return_air()
- curTemp = env.temperature
- else if(isturf(L))
- curTemp = L.temperature
-
- if(isnull(curTemp))
- data["currentTemp"] = "N/A"
- else
- data["currentTemp"] = round(curTemp - T0C, 1)
- return data
-
/obj/machinery/space_heater/attackby(obj/item/I, mob/user, params)
add_fingerprint(user)
if(istype(I, /obj/item/weapon/stock_parts/cell))
@@ -154,34 +128,67 @@
ui = new(user, src, ui_key, "space_heater", name, 400, 305, master_ui, state)
ui.open()
+/obj/machinery/space_heater/get_ui_data()
+ var/list/data = list()
+ data["open"] = panel_open
+ data["on"] = on
+ data["mode"] = setMode
+ data["hasPowercell"] = !!cell
+ if(cell)
+ data["powerLevel"] = round(cell.percent(), 1)
+ data["targetTemp"] = round(targetTemperature - T0C, 1)
+ data["minTemp"] = max(settableTemperatureMedian - settableTemperatureRange - T0C, TCMB)
+ data["maxTemp"] = settableTemperatureMedian + settableTemperatureRange - T0C
+
+ var/turf/simulated/L = get_turf(loc)
+ var/curTemp
+ if(istype(L))
+ var/datum/gas_mixture/env = L.return_air()
+ curTemp = env.temperature
+ else if(isturf(L))
+ curTemp = L.temperature
+ if(isnull(curTemp))
+ data["currentTemp"] = "N/A"
+ else
+ data["currentTemp"] = round(curTemp - T0C, 1)
+ return data
+
/obj/machinery/space_heater/ui_act(action, params)
+ if(..())
+ return
switch(action)
if("power")
on = !on
mode = HEATER_MODE_STANDBY
usr.visible_message("[usr] switches [on ? "on" : "off"] \the [src].", "You switch [on ? "on" : "off"] \the [src].")
update_icon()
+ . = TRUE
if("mode")
setMode = params["mode"]
+ . = TRUE
if("target")
- if(panel_open)
- var/value
- if(params["target"] == "custom")
- value = input("Please input the target temperature", name) as num|null
- if(isnull(value))
- return
- value += T0C
- else
- value = targetTemperature + text2num(params["target"])
-
- var/minTemp = max(settableTemperatureMedian - settableTemperatureRange, TCMB)
- var/maxTemp = settableTemperatureMedian + settableTemperatureRange
- targetTemperature = dd_range(minTemp, maxTemp, round(value, 1))
+ if(!panel_open)
+ return
+ var/target = params["target"]
+ var/adjust = text2num(params["adjust"])
+ if(target == "input")
+ target = input("New target temperature", name, round(targetTemperature - T0C, 1)) as num|null
+ . = .(action, list("target" = target))
+ else if(text2num(target) != null)
+ targetTemperature = text2num(target) + T0C
+ . = TRUE
+ else if(adjust)
+ targetTemperature += adjust
+ . = TRUE
+ if(.)
+ targetTemperature = Clamp(round(targetTemperature, 1),
+ max(settableTemperatureMedian - settableTemperatureRange, TCMB),
+ settableTemperatureMedian + settableTemperatureRange)
if("eject")
- if(cell)
+ if(panel_open && cell)
cell.loc = get_turf(src)
cell = null
- return 1
+ . = TRUE
/obj/machinery/space_heater/process()
if(!on || (stat & BROKEN))
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 2bd4df13dec..c43956c4d34 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -226,12 +226,16 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s
interact(user)
/obj/item/interact(mob/user)
+ add_fingerprint(user)
if(hidden_uplink && hidden_uplink.active)
hidden_uplink.interact(user)
return 1
- add_fingerprint(user)
ui_interact(user)
+/obj/item/ui_act(action, params)
+ ..()
+ add_fingerprint(usr)
+
/obj/item/attack_hand(mob/user)
if(!user)
return
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index 3e3e9c77ac6..6631e8004d5 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -117,7 +117,7 @@
datum/tgui/master_ui = null, datum/ui_state/state = inventory_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
- ui = new(user, src, ui_key, "radio", name, 830, 275, master_ui, state)
+ ui = new(user, src, ui_key, "radio", name, 370, 220 + channels.len * 22, master_ui, state)
ui.open()
/obj/item/device/radio/get_ui_data(mob/user)
@@ -141,27 +141,37 @@
return data
/obj/item/device/radio/ui_act(action, params)
+ if(..())
+ return
switch(action)
if("frequency")
- if(!freqlock)
- switch(params["change"])
- if("custom")
- var/min = format_frequency(freerange ? MIN_FREE_FREQ : MIN_FREQ)
- var/max = format_frequency(freerange ? MAX_FREE_FREQ : MAX_FREQ)
- var/custom = input(usr, "Adjust frequency ([min]-[max]):", name) as null|num
- if(custom)
- frequency = custom * 10
- else
- frequency = frequency + text2num(params["change"])
+ if(freqlock)
+ return
+ var/tune = params["tune"]
+ var/adjust = text2num(params["adjust"])
+ if(tune == "input")
+ var/min = format_frequency(freerange ? MIN_FREE_FREQ : MIN_FREQ)
+ var/max = format_frequency(freerange ? MAX_FREE_FREQ : MAX_FREQ)
+ tune = input("Tune frequency ([min]-[max]):", name, format_frequency(frequency)) as null|num
+ . = .(action, list("tune" = tune))
+ else if(text2num(tune) != null)
+ frequency = tune * 10
+ . = TRUE
+ else if(adjust)
+ frequency += adjust * 10
+ . = TRUE
+ if(.)
frequency = sanitize_frequency(frequency, freerange)
set_frequency(frequency)
- if(hidden_uplink && (frequency == traitor_frequency))
+ if(frequency == traitor_frequency && hidden_uplink)
hidden_uplink.interact(usr)
SStgui.close_uis(src)
if("listen")
listening = !listening
+ . = TRUE
if("broadcast")
broadcasting = !broadcasting
+ . = TRUE
if("channel")
var/channel = params["channel"]
if(!(channel in channels))
@@ -170,8 +180,10 @@
channels[channel] &= ~FREQ_LISTENING
else
channels[channel] |= FREQ_LISTENING
+ . = TRUE
if("command")
use_command = !use_command
+ . = TRUE
if("subspace")
if(subspace_switchable)
subspace_transmission = !subspace_transmission
@@ -179,7 +191,7 @@
channels = list()
else
recalculateChannels()
- return 1
+ . = TRUE
/obj/item/device/radio/talk_into(atom/movable/M, message, channel, list/spans)
if(!on) return // the device has to be on
diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm
index c3d3dab0f03..1bfaeca1076 100644
--- a/code/game/objects/items/weapons/tanks/tanks.dm
+++ b/code/game/objects/items/weapons/tanks/tanks.dm
@@ -114,71 +114,68 @@
ui.open()
/obj/item/weapon/tank/get_ui_data()
- var/mob/living/carbon/location = null
-
- if(istype(loc, /mob/living/carbon))
- location = loc
- else if(istype(loc.loc, /mob/living/carbon))
- location = loc.loc
-
- var/data = list()
+ 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)
- data["valveOpen"] = 0
- data["maskConnected"] = 0
+ data["valveOpen"] = FALSE
+ data["maskConnected"] = FALSE
- if(istype(location))
- var/mask_check = 0
- if(location.internal == src) // if tank is current internal
- mask_check = 1
- data["valveOpen"] = 1
- else if(src in location) // or if tank is in the mobs possession
- if(!location.internal) // and they do not have any active internals
- mask_check = 1
- if(mask_check)
- if(location.wear_mask && (location.wear_mask.flags & MASKINTERNALS))
- data["maskConnected"] = 1
+ var/mob/living/carbon/user = loc
+ var/mask = FALSE
+ if(!istype(user))
+ user = loc.loc
+ if(!istype(user))
+ user = null
+ if(!isnull(user) && user.internal == src)
+ mask = TRUE
+ data["valveOpen"] = TRUE
+ else if(src in user && !user.internal)
+ mask = TRUE
+ if(mask && user.wear_mask && (user.wear_mask.flags & MASKINTERNALS))
+ data["maskConnected"] = TRUE
return data
/obj/item/weapon/tank/ui_act(action, params)
- if (..())
+ if(..())
return
-
switch(action)
if("pressure")
- switch(params["pressure"])
- if("custom")
- var/custom = input(usr, "What rate do you set the regulator to? The dial reads from 0 to [TANK_MAX_RELEASE_PRESSURE].") as null|num
- if(isnum(custom))
- distribute_pressure = custom
- if("reset")
- distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE
- if("min")
- distribute_pressure = TANK_MIN_RELEASE_PRESSURE
- if("max")
- distribute_pressure = TANK_MAX_RELEASE_PRESSURE
- distribute_pressure = Clamp(round(distribute_pressure), TANK_MIN_RELEASE_PRESSURE, TANK_MAX_RELEASE_PRESSURE)
+ var/pressure = params["pressure"]
+ if(pressure == "reset")
+ distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE
+ . = TRUE
+ else if(pressure == "min")
+ distribute_pressure = TANK_MIN_RELEASE_PRESSURE
+ . = TRUE
+ else if(pressure == "max")
+ distribute_pressure = TANK_MAX_RELEASE_PRESSURE
+ . = TRUE
+ else if(pressure == "input")
+ pressure = input("New release pressure ([TANK_MIN_RELEASE_PRESSURE]-[TANK_MAX_RELEASE_PRESSURE] kPa):", name, distribute_pressure) as num|null
+ . = .(action, list("pressure" = pressure))
+ else if(text2num(pressure) != null)
+ distribute_pressure = Clamp(round(text2num(pressure)), TANK_MIN_RELEASE_PRESSURE, TANK_MAX_RELEASE_PRESSURE)
+ . = TRUE
if("valve")
- if(istype(loc,/mob/living/carbon))
- var/mob/living/carbon/location = loc
- if(location.internal == src)
- location.internal = null
- location.internals.icon_state = "internal0"
- usr << "You close the tank release valve."
- if (location.internals)
- location.internals.icon_state = "internal0"
+ var/mob/living/carbon/user = loc
+ if(!istype(user))
+ return
+ if(user.internal == src)
+ user.internal = null
+ user.internals.icon_state = "internal0"
+ usr << "You close the tank release valve."
+ . = TRUE
+ else
+ if(user.wear_mask && (user.wear_mask.flags & MASKINTERNALS))
+ user.internal = src
+ user.internals.icon_state = "internal1"
+ usr << "You open [src] valve."
+ . = TRUE
else
- if(location.wear_mask && (location.wear_mask.flags & MASKINTERNALS))
- location.internal = src
- usr << "You open \the [src] valve."
- if (location.internals)
- location.internals.icon_state = "internal1"
- else
- usr << "You need something to connect to \the [src]!"
- return 1
+ usr << "You need something to connect to [src]!"
/obj/item/weapon/tank/remove_air(amount)
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index 1bb4ef16a40..86919772a26 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -1748,7 +1748,7 @@
return
var/list/offset = text2list(href_list["offset"],",")
- var/number = dd_range(1, 100, text2num(href_list["object_count"]))
+ var/number = Clamp(text2num(href_list["object_count"]), 1, 100)
var/X = offset.len > 0 ? text2num(offset[1]) : 0
var/Y = offset.len > 1 ? text2num(offset[2]) : 0
var/Z = offset.len > 2 ? text2num(offset[3]) : 0
diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm
index 981fca6d033..cb0ee1035c8 100644
--- a/code/modules/mob/living/simple_animal/bot/mulebot.dm
+++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm
@@ -190,13 +190,13 @@ var/global/mulebot_count = 0
return data
/mob/living/simple_animal/bot/mulebot/ui_act(action, params)
- if(locked && !usr.has_unlimited_silicon_privilege)
+ if(..() || (locked && !usr.has_unlimited_silicon_privilege))
return
-
switch(action)
if("lock")
if(usr.has_unlimited_silicon_privilege)
locked = !locked
+ . = TRUE
if("power")
if(on)
turn_off()
@@ -204,12 +204,13 @@ var/global/mulebot_count = 0
if(!turn_on())
usr << "You can't switch on [src]!"
return
+ . = TRUE
else
- bot_control(action, usr)
- return 1
+ bot_control(action, usr) // Kill this later.
+ . = TRUE
/mob/living/simple_animal/bot/mulebot/bot_control(command, mob/user, pda = 0)
- if(pda && wires.is_cut(WIRE_RX)) //MULE wireless is controlled by wires.
+ if(pda && wires.is_cut(WIRE_RX)) // MULE wireless is controlled by wires.
return
switch(command)
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 85a615d2cd2..752ca2d6716 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -710,7 +710,7 @@
/obj/machinery/power/apc/proc/can_use(mob/user, loud = 0) //used by attack_hand() and Topic()
if(IsAdminGhost(user))
- return 1
+ return TRUE
if(user.has_unlimited_silicon_privilege)
var/mob/living/silicon/ai/AI = user
var/mob/living/silicon/robot/robot = user
@@ -723,20 +723,13 @@
) \
)
if(!loud)
- user << "\The [src] have AI control disabled!"
- return 0
- else
- if ((!in_range(src, user) || !istype(src.loc, /turf)))
- return 0
- return 1
+ user << "\The [src] has AI control disabled!"
+ return FALSE
+ return TRUE
/obj/machinery/power/apc/ui_act(action, params)
- if(!can_use(usr, 1))
+ if(..() || !can_use(usr, 1) || (locked && !usr.has_unlimited_silicon_privilege))
return
-
- if(locked && !usr.has_unlimited_silicon_privilege)
- return
-
switch(action)
if("lock")
if(usr.has_unlimited_silicon_privilege)
@@ -745,71 +738,83 @@
else
locked = !locked
update_icon()
+ . = TRUE
if("cover")
coverlocked = !coverlocked
+ . = TRUE
if("breaker")
toggle_breaker()
+ . = TRUE
if("charge")
chargemode = !chargemode
if(!chargemode)
charging = 0
update_icon()
+ . = TRUE
if("channel")
- if (params["eqp"])
- var/val = text2num(params["eqp"])
- equipment = setsubsystem(val)
+ if(params["eqp"])
+ equipment = setsubsystem(text2num(params["eqp"]))
update_icon()
update()
- else if (params["lgt"])
- var/val = text2num(params["lgt"])
- lighting = setsubsystem(val)
+ else if(params["lgt"])
+ lighting = setsubsystem(text2num(params["lgt"]))
update_icon()
update()
- else if (params["env"])
- var/val = text2num(params["env"])
- environ = setsubsystem(val)
+ else if(params["env"])
+ environ = setsubsystem(text2num(params["env"]))
update_icon()
update()
+ . = TRUE
if("overload")
if(usr.has_unlimited_silicon_privilege)
- src.overload_lighting()
+ overload_lighting()
+ . = TRUE
if("hack")
- var/mob/living/silicon/ai/malfai = usr
- if(get_malf_status(malfai) == 1)
- if (malfai.malfhacking)
- malfai << "You are already hacking an APC."
- return 1
- malfai << "Beginning override of APC systems. This takes some time, and you cannot perform other actions during the process."
- malfai.malfhack = src
- malfai.malfhacking = 1
- sleep(600)
- if(src)
- if (!src.aidisabled)
- malfai.malfhack = null
- malfai.malfhacking = 0
- locked = 1
- malfhack = 1
- malfai.malf_picker.processing_time += 10
- if(usr:parent)
- src.malfai = usr:parent
- else
- src.malfai = usr
- malfai << "Hack complete. The APC is now under your exclusive control."
- update_icon()
+ if(get_malf_status(usr))
+ malfhack(usr)
if("occupy")
if(get_malf_status(usr))
malfoccupy(usr)
if("deoccupy")
if(get_malf_status(usr))
malfvacate()
- return 1
/obj/machinery/power/apc/proc/toggle_breaker()
operating = !operating
-
- src.update()
+ update()
update_icon()
+/obj/machinery/power/apc/proc/malfhack(mob/living/silicon/ai/malf)
+ if(!istype(malf))
+ return
+ if(get_malf_status(malf) != 1)
+ return
+ if(malf.malfhacking)
+ malf << "You are already hacking an APC."
+ return
+ malf << "Beginning override of APC systems. This takes some time, and you cannot perform other actions during the process."
+ malf.malfhack = src
+ malf.malfhacking = TRUE
+ addtimer(src, "malfhacked", 600, FALSE, malf)
+
+/obj/machinery/power/apc/proc/malfhacked(mob/living/silicon/ai/malf)
+ if(!istype(malf))
+ return
+ if(src && !src.aidisabled)
+ malf.malfhack = null
+ malf.malfhacking = FALSE
+ malf.malf_picker.processing_time += 10
+
+ if(malf:parent)
+ malfai = malf:parent
+ else
+ malfai = malf
+ malfhack = TRUE
+ locked = TRUE
+
+ malf << "Hack complete. The APC is now under your exclusive control."
+ update_icon()
+
/obj/machinery/power/apc/proc/malfoccupy(mob/living/silicon/ai/malf)
if(!istype(malf))
return
@@ -889,7 +894,6 @@
if(!area.requires_power)
return
-
/*
if (equipment > 1) // off=0, off auto=1, on=2, on auto=3
use_power(src.equip_consumption, EQUIP)
@@ -928,8 +932,6 @@
// world.log << "Status: [main_status] - Excess: [excess] - Last Equip: [lastused_equip] - Last Light: [lastused_light] - Longterm: [longtermpower]"
if(cell && !shorted)
-
-
// draw power from cell as before to power the area
var/cellused = min(cell.charge, CELLRATE * lastused_total) // clamp deduction to a max, amount left in cell
cell.use(cellused)
@@ -941,9 +943,7 @@
else // no excess, and not enough per-apc
-
- if( (cell.charge/CELLRATE + excess) >= lastused_total) // can we draw enough from cell+grid to cover last usage?
-
+ if((cell.charge/CELLRATE + excess) >= lastused_total) // can we draw enough from cell+grid to cover last usage?
cell.charge = min(cell.maxcharge, cell.charge + CELLRATE * excess) //recharge with what we can
add_load(excess) // so draw what we can from the grid
charging = 0
@@ -989,7 +989,6 @@
area.poweralert(1, src)
// now trickle-charge the cell
-
if(chargemode && charging == 1 && operating)
if(excess > 0) // check to make sure we have enough to charge
// Max charge is capped to % per second constant
@@ -1048,15 +1047,12 @@
return 0
else if(val==3) // if auto-on, return auto-off
return 1
-
else if(on==1)
if(val==1) // if auto-off, return auto-on
return 3
-
else if(on==2)
if(val==3) // if auto-on, return auto-off
return 1
-
return val
/obj/machinery/power/apc/proc/reset(wire)
diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm
index 359b4453433..80420e8dba1 100644
--- a/code/modules/power/smes.dm
+++ b/code/modules/power/smes.dm
@@ -355,51 +355,64 @@
return data
/obj/machinery/power/smes/ui_act(action, params)
+ if(..())
+ return
switch(action)
if("tryinput")
input_attempt = !input_attempt
log_smes(usr.ckey)
update_icon()
+ . = TRUE
if("tryoutput")
output_attempt = !output_attempt
log_smes(usr.ckey)
update_icon()
+ . = TRUE
if("input")
- switch(params["input"])
- if("custom")
- var/custom = input(usr, "What rate would you like this SMES to attempt to charge at? Max is [input_level_max].") as null|num
- if(custom)
- input_level = custom
- if("min")
- input_level = 0
- if("max")
- input_level = input_level_max
- if("plus")
- input_level += 10000
- if("minus")
- input_level -= 10000
- input_level = Clamp(input_level, 0, input_level_max)
- log_smes(usr.ckey)
+ var/target = params["target"]
+ var/adjust = text2num(params["adjust"])
+ if(target == "input")
+ target = input("New input target (0-[input_level_max]):", name, input_level) as num|null
+ . = .(action, list("target" = target))
+ else if(target == "min")
+ input_level = 0
+ . = TRUE
+ else if(target == "max")
+ input_level = input_level_max
+ . = TRUE
+ else if(text2num(target) != null)
+ input_level = text2num(target)
+ . = TRUE
+ else if(adjust)
+ input_level += adjust
+ . = TRUE
+ if(.)
+ input_level = Clamp(input_level, 0, input_level_max)
+ log_smes(usr.ckey)
if("output")
- switch(params["output"])
- if("custom")
- var/custom = input(usr, "What rate would you like this SMES to attempt to output at? Max is [output_level_max].") as null|num
- if(custom)
- output_level = custom
- if("min")
- output_level = 0
- if("max")
- output_level = output_level_max
- if("plus")
- output_level += 10000
- if("minus")
- output_level -= 10000
- output_level = Clamp(output_level, 0, output_level_max)
- log_smes(usr.ckey)
- return 1
+ var/target = params["target"]
+ var/adjust = text2num(params["adjust"])
+ if(target == "input")
+ target = input("New output target (0-[output_level_max]):", name, output_level) as num|null
+ . = .(action, list("target" = target))
+ else if(target == "min")
+ output_level = 0
+ . = TRUE
+ else if(target == "max")
+ output_level = input_level_max
+ . = TRUE
+ else if(text2num(target) != null)
+ output_level = text2num(target)
+ . = TRUE
+ else if(adjust)
+ output_level += adjust
+ . = TRUE
+ if(.)
+ output_level = Clamp(output_level, 0, output_level_max)
+ log_smes(usr.ckey)
/obj/machinery/power/smes/proc/log_smes(user = "")
- investigate_log("input/output; [input_level>output_level?"":""][input_level]/[output_level] | Charge: [charge] | Output-mode: [output_attempt?"on":"off"] | Input-mode: [input_attempt?"auto":"off"] by [user]","singulo")
+ investigate_log("input/output; [input_level>output_level?"":""][input_level]/[output_level] | Charge: [charge] | Output-mode: [output_attempt?"on":"off"] | Input-mode: [input_attempt?"auto":"off"] by [user]", "singulo")
/obj/machinery/power/smes/emp_act(severity)
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index a73e709ee95..97e91f6748d 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -53,8 +53,6 @@
health *= 2 //this need to be placed here, because panels already on the map don't have an assembly linked to
update_icon()
-
-
/obj/machinery/power/solar/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/crowbar))
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
@@ -275,7 +273,7 @@
var/icon_screen = "solar"
var/icon_keyboard = "power_key"
var/id = 0
- var/cdir = 0
+ var/currentdir = 0
var/targetdir = 0 // target angle in manual tracking (since it updates every game minute)
var/gen = 0
var/lastgen = 0
@@ -331,19 +329,19 @@
switch(track)
if(1)
if(trackrate) //we're manual tracking. If we set a rotation speed...
- cdir = targetdir //...the current direction is the targetted one (and rotates panels to it)
+ currentdir = targetdir //...the current direction is the targetted one (and rotates panels to it)
if(2) // auto-tracking
if(connected_tracker)
connected_tracker.set_angle(SSsun.angle)
- set_panels(cdir)
+ set_panels(currentdir)
updateDialog()
/obj/machinery/power/solar_control/initialize()
..()
if(!powernet) return
- set_panels(cdir)
+ set_panels(currentdir)
/obj/machinery/power/solar_control/update_icon()
overlays.Cut()
@@ -355,22 +353,22 @@
overlays += "[icon_state]_broken"
else
overlays += icon_screen
- if(cdir > -1)
- overlays += image('icons/obj/computer.dmi', "solcon-o", FLY_LAYER, angle2dir(cdir))
+ if(currentdir > -1)
+ overlays += image('icons/obj/computer.dmi', "solcon-o", FLY_LAYER, angle2dir(currentdir))
/obj/machinery/power/solar_control/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
datum/tgui/master_ui = null, datum/ui_state/state = default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
- ui = new(user, src, ui_key, "solar_control", name, 465, 400, master_ui, state)
+ ui = new(user, src, ui_key, "solar_control", name, 500, 400, master_ui, state)
ui.open()
/obj/machinery/power/solar_control/get_ui_data()
var/data = list()
data["generated"] = round(lastgen)
- data["angle"] = cdir
- data["direction"] = angle2text(cdir)
+ data["angle"] = currentdir
+ data["direction"] = angle2text(currentdir)
data["tracking_state"] = track
data["tracking_rate"] = trackrate
@@ -380,6 +378,44 @@
data["connected_tracker"] = (connected_tracker ? 1 : 0)
return data
+/obj/machinery/power/solar_control/ui_act(action, params)
+ if(..())
+ return
+ switch(action)
+ if("direction")
+ var/adjust = text2num(params["adjust"])
+ if(adjust)
+ currentdir = Clamp((360 + adjust + currentdir) % 360, 0, 359)
+ targetdir = currentdir
+ set_panels(currentdir)
+ . = TRUE
+ if("rate")
+ var/adjust = text2num(params["adjust"])
+ if(adjust)
+ trackrate = Clamp(trackrate + adjust, -7200, 7200)
+ if(trackrate)
+ nexttime = world.time + 36000 / abs(trackrate)
+ . = TRUE
+ if("tracking")
+ var/mode = text2num(params["mode"])
+ if(mode)
+ track = mode
+ . = TRUE
+ if(mode == 2 && connected_tracker)
+ connected_tracker.set_angle(SSsun.angle)
+ set_panels(currentdir)
+ else if(mode == 1)
+ targetdir = currentdir
+ if(trackrate)
+ nexttime = world.time + 36000 / abs(trackrate)
+ set_panels(targetdir)
+ if("refresh")
+ search_for_connected()
+ if(connected_tracker && track == 2)
+ connected_tracker.set_angle(SSsun.angle)
+ set_panels(currentdir)
+ . = TRUE
+
/obj/machinery/power/solar_control/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver))
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
@@ -427,42 +463,11 @@
targetdir = (targetdir + trackrate/abs(trackrate) + 360) % 360 //... do it
nexttime += 36000/abs(trackrate) //reset the counter for the next 1°
-/obj/machinery/power/solar_control/ui_act(action, params)
- switch(action)
- if("control")
- if(params["cdir"])
- src.cdir = dd_range(0,359,(360+src.cdir+text2num(params["cdir"]))%360)
- src.targetdir = src.cdir
- if(track == 2) //manual update, so losing auto-tracking
- track = 0
- spawn(1)
- set_panels(cdir)
- if(params["tdir"])
- src.trackrate = dd_range(-7200,7200,src.trackrate+text2num(params["tdir"]))
- if(src.trackrate) nexttime = world.time + 36000/abs(trackrate)
- if("tracking")
- track = text2num(params["mode"])
- if(track == 2)
- if(connected_tracker)
- connected_tracker.set_angle(SSsun.angle)
- set_panels(cdir)
- else if (track == 1) //begin manual tracking
- src.targetdir = src.cdir
- if(src.trackrate) nexttime = world.time + 36000/abs(trackrate)
- set_panels(targetdir)
- if("refresh")
- search_for_connected()
- if(connected_tracker && track == 2)
- connected_tracker.set_angle(SSsun.angle)
- set_panels(cdir)
- return 1
-
-
//rotates the panel to the passed angle
-/obj/machinery/power/solar_control/proc/set_panels(cdir)
+/obj/machinery/power/solar_control/proc/set_panels(currentdir)
for(var/obj/machinery/power/solar/S in connected_panels)
- S.adir = cdir //instantly rotates the panel
+ S.adir = currentdir //instantly rotates the panel
S.occlusion()//and
S.update_icon() //update it
diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm
index 526c534f2c4..3a0e06ef6b2 100644
--- a/code/modules/power/tracker.dm
+++ b/code/modules/power/tracker.dm
@@ -56,7 +56,7 @@
dir = turn(NORTH, -angle - 22.5) // 22.5 deg bias ensures, e.g. 67.5-112.5 is EAST
if(powernet && (powernet == control.powernet)) //update if we're still in the same powernet
- control.cdir = angle
+ control.currentdir = angle
/obj/machinery/power/tracker/attackby(obj/item/weapon/W, mob/user, params)
diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
index 6835494a44f..4a756e5cfdf 100644
--- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
@@ -120,29 +120,35 @@
return data
/obj/machinery/chem_dispenser/ui_act(action, params)
+ if(..())
+ return
switch(action)
if("amount")
- var/amount = text2num(params["amount"])
- if(amount in beaker.possible_transfer_amounts)
- src.amount = amount
+ var/target = text2num(params["target"])
+ if(target in beaker.possible_transfer_amounts)
+ amount = target
+ . = TRUE
if("dispense")
- if(beaker && dispensable_reagents.Find(params["reagent"]))
+ var/reagent = params["reagent"]
+ if(beaker && dispensable_reagents.Find(reagent))
var/datum/reagents/R = beaker.reagents
- var/space = R.maximum_volume - R.total_volume
+ var/free = R.maximum_volume - R.total_volume
+ var/actual = min(amount, energy * 10, free)
- R.add_reagent(params["reagent"], min(amount, energy * 10, space))
- energy = max(energy - min(amount, energy * 10, space) / 10, 0)
+ R.add_reagent(reagent, actual)
+ energy = max(energy - actual / 10, 0)
+ . = TRUE
if("remove")
- if(beaker)
- var/amount = text2num(params["amount"])
- if(isnum(amount) && (amount > 0) && (amount in beaker.possible_transfer_amounts))
- beaker.reagents.remove_all(amount)
+ var/amount = text2num(params["amount"])
+ if(beaker && amount in beaker.possible_transfer_amounts)
+ beaker.reagents.remove_all(amount)
+ . = TRUE
if("eject")
if(beaker)
beaker.loc = loc
beaker = null
overlays.Cut()
- return 1
+ . = TRUE
/obj/machinery/chem_dispenser/attackby(obj/item/I, mob/user, params)
if(default_unfasten_wrench(user, I))
diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm
index 5d21b46c318..5829c48e79c 100644
--- a/code/modules/reagents/chemistry/machinery/chem_heater.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm
@@ -7,7 +7,7 @@
use_power = 1
idle_power_usage = 40
var/obj/item/weapon/reagent_containers/beaker = null
- var/desired_temp = 300
+ var/target_temp = 300
var/heater_coefficient = 0.10
var/on = FALSE
@@ -30,10 +30,10 @@
return
if(on)
if(beaker)
- if(beaker.reagents.chem_temp > desired_temp)
- beaker.reagents.chem_temp += min(-1, (desired_temp - beaker.reagents.chem_temp) * heater_coefficient)
- if(beaker.reagents.chem_temp < desired_temp)
- beaker.reagents.chem_temp += max(1, (desired_temp - beaker.reagents.chem_temp) * heater_coefficient)
+ if(beaker.reagents.chem_temp > target_temp)
+ beaker.reagents.chem_temp += min(-1, (target_temp - beaker.reagents.chem_temp) * heater_coefficient)
+ if(beaker.reagents.chem_temp < target_temp)
+ beaker.reagents.chem_temp += max(1, (target_temp - beaker.reagents.chem_temp) * heater_coefficient)
beaker.reagents.chem_temp = round(beaker.reagents.chem_temp) //stops stuff like 456.12312312302
beaker.reagents.handle_reactions()
@@ -72,17 +72,6 @@
default_deconstruction_crowbar(I)
return 1
-/obj/machinery/chem_heater/ui_act(action, params)
- switch(action)
- if("power")
- on = !on
- if("temperature")
- desired_temp = Clamp(input("Please input the target temperature", name) as num, 0, 1000)
- if("eject")
- on = FALSE
- eject_beaker()
- return 1
-
/obj/machinery/chem_heater/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
datum/tgui/master_ui = null, datum/ui_state/state = default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
@@ -92,7 +81,7 @@
/obj/machinery/chem_heater/get_ui_data()
var/data = list()
- data["targetTemp"] = desired_temp
+ data["targetTemp"] = target_temp
data["isActive"] = on
data["isBeakerLoaded"] = beaker ? 1 : 0
@@ -107,6 +96,26 @@
data["beakerContents"] = beakerContents
return data
+/obj/machinery/chem_heater/ui_act(action, params)
+ if(..())
+ return
+ switch(action)
+ if("power")
+ on = !on
+ . = TRUE
+ if("temperature")
+ var/target = text2num(params["target"])
+ if(target != null)
+ target_temp = Clamp(target, 0, 1000)
+ . = TRUE
+ else
+ target = input("New target temperature:", name, target_temp) as num|null
+ . = .(action, list("target" = target))
+ if("eject")
+ on = FALSE
+ eject_beaker()
+ . = TRUE
+
/obj/machinery/chem_heater/proc/eject_beaker()
if(beaker)
beaker.loc = get_turf(src)
diff --git a/code/modules/tgui/external.dm b/code/modules/tgui/external.dm
index d4ff0b412fc..217128df817 100644
--- a/code/modules/tgui/external.dm
+++ b/code/modules/tgui/external.dm
@@ -45,8 +45,9 @@
*
* return bool If the UI should be updated or not.
**/
-/datum/proc/ui_act(action, list/params)
- return 0 // Not implemented.
+/datum/proc/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
+ if(!ui || ui.status != UI_INTERACTIVE)
+ return 1 // If UI is not interactive or usr calling Topic is not the UI user, bail.
/**
diff --git a/code/modules/tgui/tgui.dm b/code/modules/tgui/tgui.dm
index 0931f4141fc..c2b7b1ee1de 100644
--- a/code/modules/tgui/tgui.dm
+++ b/code/modules/tgui/tgui.dm
@@ -16,17 +16,18 @@
var/width = 0 // The window width.
var/height = 0 // The window height
var/window_options = list( // Extra options to winset().
- "focus" = 0,
- "titlebar" = 1,
- "can_resize" = 1,
- "can_minimize" = 1,
- "can_maximize" = 0,
- "can_close" = 1,
- "auto_format" = 0
+ "focus" = FALSE,
+ "titlebar" = TRUE,
+ "can_resize" = TRUE,
+ "can_minimize" = TRUE,
+ "can_maximize" = FALSE,
+ "can_close" = TRUE,
+ "auto_format" = FALSE
)
var/style = "nanotrasen" // The style to be used for this UI.
var/interface // The interface (template) to be used for this UI.
- var/auto_update = 1 // Update the UI every MC tick.
+ var/auto_update = TRUE // Update the UI every MC tick.
+ var/initialized = FALSE // If the UI has been initialized yet.
var/list/initial_data // The data (and datastructure) used to initialize the UI.
var/status = UI_INTERACTIVE // The status/visibility of the UI.
var/datum/ui_state/state = null // Topic state used to determine status/interactability.
@@ -258,6 +259,9 @@
* If the src_object's ui_act() returns 1, update all UIs attacked to it.
**/
/datum/tgui/Topic(href, href_list)
+ if(user != usr)
+ return // Something is not right here.
+
var/action = href_list["action"]
var/params = href_list; params -= "action"
@@ -265,6 +269,7 @@
switch(action)
if("tgui:initialize")
user << output(url_encode(get_json(initial_data)), "[window_id].browser:initialize")
+ initialized = TRUE
return
if("tgui:link")
user << link(params["url"])
@@ -277,10 +282,7 @@
return
update_status(push = 0) // Update the window state.
- if(status != UI_INTERACTIVE || user != usr)
- return // If UI is not interactive or usr calling Topic is not the UI user.
-
- var/update = src_object.ui_act(action, params, state) // Call ui_act() on the src_object.
+ var/update = src_object.ui_act(action, params, src, state) // Call ui_act() on the src_object.
if(src_object && update)
SStgui.update_uis(src_object) // If we have a src_object and its ui_act() told us to update.
@@ -313,6 +315,8 @@
**/
/datum/tgui/proc/push_data(data, force = 0)
update_status(push = 0) // Update the window state.
+ if(!initialized)
+ return // Cannot upadte UI if it is not set up yet.
if(status <= UI_DISABLED && !force)
return // Cannot update UI, we have no visibility.
diff --git a/tgstation.dme b/tgstation.dme
index 67d7fd0558a..70511eaba80 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -427,7 +427,6 @@
#include "code\game\machinery\airlock_control.dm"
#include "code\game\machinery\alarm.dm"
#include "code\game\machinery\announcement_system.dm"
-#include "code\game\machinery\atmos_control.dm"
#include "code\game\machinery\autolathe.dm"
#include "code\game\machinery\Beacon.dm"
#include "code\game\machinery\buttons.dm"
@@ -484,6 +483,7 @@
#include "code\game\machinery\computer\aifixer.dm"
#include "code\game\machinery\computer\arcade.dm"
#include "code\game\machinery\computer\atmos_alert.dm"
+#include "code\game\machinery\computer\atmos_control.dm"
#include "code\game\machinery\computer\buildandrepair.dm"
#include "code\game\machinery\computer\camera.dm"
#include "code\game\machinery\computer\camera_advanced.dm"
diff --git a/tgui/assets/tgui.js b/tgui/assets/tgui.js
index f9cf4ef1cc4..8ca2e5c76d4 100644
--- a/tgui/assets/tgui.js
+++ b/tgui/assets/tgui.js
@@ -5,7 +5,7 @@ return this===t}}),"head"in l||f(l,"head",{get:function(){return a||(a=l.getElem
var e,n,r=[Yo];for(e=t.length;e--;)for(n=t[e].parent;n&&!n.isRoot;)-1===t.indexOf(n)&&j(r,n),n=n.parent;return r}function xi(t,e,n){var r;ki(t,e),n||(r=e.wildcardMatches(),r.forEach(function(n){_i(t,n,e)}))}function _i(t,e,n){var r,i,a;e=e.str||e,r=t.depsMap.patternObservers,i=r&&r[e],i&&i.forEach(function(e){a=n.join(e.lastKey),ki(t,a),_i(t,e,a)})}function ki(t,e){t.patternObservers.forEach(function(t){t.regex.test(e.str)&&t.update(e)})}function Ei(){function t(t){var r=t.key;t.viewmodel===o?(o.clearCache(r.str),t.invalidate(),n.push(r),e(r)):t.viewmodel.mark(r)}function e(n){var r,i;o.noCascade.hasOwnProperty(n.str)||((i=o.deps.computed[n.str])&&i.forEach(t),(r=o.depsMap.computed[n.str])&&r.forEach(e))}var n,r,i,a=this,o=this,s={};return n=this.changes,n.length?(n.slice().forEach(e),r=zd(n),r.forEach(function(e){var r;-1===n.indexOf(e)&&(r=o.deps.computed[e.str])&&r.forEach(t)}),this.changes=[],this.patternObservers.length&&(r.forEach(function(t){return Hd(a,t,!0)}),n.forEach(function(t){return Hd(a,t)})),this.deps.observers&&(r.forEach(function(t){return Si(a,null,t,"observers")}),Ai(this,n,"observers")),this.deps["default"]&&(i=[],r.forEach(function(t){return Si(a,i,t,"default")}),i.length&&Oi(this,i,n),Ai(this,n,"default")),n.forEach(function(t){s[t.str]=a.get(t)}),this.implicitChanges={},this.noCascade={},s):void 0}function Si(t,e,n,r){var i,a;(i=Pi(t,n,r))&&(a=t.get(n),i.forEach(function(t){e&&t.refineValue?e.push(t):t.setValue(a)}))}function Oi(t,e,n){e.forEach(function(e){for(var r=!1,i=0,a=n.length,o=[];a>i;){var s=n[i];if(s===e.keypath){r=!0;break}s.slice(0,e.keypath.length)===e.keypath&&o.push(s),i++}r&&e.setValue(t.get(e.keypath)),o.length&&e.refineValue(o)})}function Ai(t,e,n){function r(t){t.forEach(i),t.forEach(a)}function i(e){var r=Pi(t,e,n);r&&s.push({keypath:e,deps:r})}function a(e){var i;(i=t.depsMap[n][e.str])&&r(i)}function o(e){var n=t.get(e.keypath);e.deps.forEach(function(t){return t.setValue(n)})}var s=[];r(e),s.forEach(o)}function Pi(t,e,n){var r=t.deps[n];return r?r[e.str]:null}function Ci(){this.captureGroups.push([])}function Ti(t,e){var n,r;if(e||(r=this.wrapped[t])&&r.teardown()!==!1&&(this.wrapped[t]=null),this.cache[t]=void 0,n=this.cacheMap[t])for(;n.length;)this.clearCache(n.pop())}function ji(t,e){var n=e.firstKey;return!(n in t.data||n in t.computations||n in t.mappings)}function Mi(t,e){var n=new Xd(t,e);return this.ready&&n.init(this),this.computations[t.str]=n}function Fi(t,e){var n,r,i,a,o,s=this.cache,u=t.str;if(e=e||nm,e.capture&&(a=L(this.captureGroups))&&(~a.indexOf(t)||a.push(t)),Mo.call(this.mappings,t.firstKey))return this.mappings[t.firstKey].get(t,e);if(t.isSpecial)return t.value;if(void 0===s[u]?((r=this.computations[u])&&!r.bypass?(n=r.get(),this.adapt(u,n)):(i=this.wrapped[u])?n=i.value:t.isRoot?(this.adapt("",this.data),n=this.data):n=Ni(this,t),s[u]=n):n=s[u],!e.noUnwrap&&(i=this.wrapped[u])&&(n=i.get()),t.isRoot&&e.fullRootGet)for(o in this.mappings)n[o]=this.mappings[o].getValue();return n===tm?void 0:n}function Ni(t,e){var n,r,i,a;return n=t.get(e.parent),(a=t.wrapped[e.parent.str])&&(n=a.get()),null!==n&&void 0!==n?((r=t.cacheMap[e.parent.str])?-1===r.indexOf(e.str)&&r.push(e.str):t.cacheMap[e.parent.str]=[e.str],"object"!=typeof n||e.lastKey in n?(i=n[e.lastKey],t.adapt(e.str,i,!1),t.cache[e.str]=i,i):t.cache[e.str]=tm):void 0}function Li(){var t;for(t in this.computations)this.computations[t].init(this)}function Ri(t,e){var n=this.mappings[t.str]=new am(t,e);return n.initViewmodel(this),n}function Ii(t,e){var n,r=t.str;e&&(e.implicit&&(this.implicitChanges[r]=!0),e.noCascade&&(this.noCascade[r]=!0)),(n=this.computations[r])&&n.invalidate(),-1===this.changes.indexOf(t)&&this.changes.push(t);var i=e?e.keepExistingWrapper:!1;this.clearCache(r,i),this.ready&&this.onchange()}function Di(t,e,n,r){var i,a,o,s;if(this.mark(t),r&&r.compare){o=Vi(r.compare);try{i=e.map(o),a=n.map(o)}catch(u){m('merge(): "%s" comparison failed. Falling back to identity checking',t),i=e,a=n}}else i=e,a=n;s=sm(i,a),this.smartUpdate(t,n,s,e.length!==n.length)}function Ui(t){return JSON.stringify(t)}function Vi(t){if(t===!0)return Ui;if("string"==typeof t)return cm[t]||(cm[t]=function(e){return e[t]}),cm[t];if("function"==typeof t)return t;throw Error("The `compare` option must be a function, or a string representing an identifying field (or `true` to use JSON.stringify)")}function qi(t,e){var n,r,i,a=void 0===arguments[2]?"default":arguments[2];e.isStatic||((n=this.mappings[t.firstKey])?n.register(t,e,a):(r=this.deps[a]||(this.deps[a]={}),i=r[t.str]||(r[t.str]=[]),i.push(e),this.depsMap[a]||(this.depsMap[a]={}),t.isRoot||Bi(this,t,a)))}function Bi(t,e,n){for(var r,i,a;!e.isRoot;)r=t.depsMap[n],i=r[e.parent.str]||(r[e.parent.str]=[]),a=e.str,void 0===i["_"+a]&&(i["_"+a]=0,i.push(e)),i["_"+a]+=1,e=e.parent}function Wi(){return this.captureGroups.pop()}function zi(t){this.data=t,this.clearCache("")}function Hi(t,e){var n,r,i,a,o=void 0===arguments[2]?{}:arguments[2];if(!o.noMapping&&(n=this.mappings[t.firstKey]))return n.set(t,e);if(r=this.computations[t.str]){if(r.setting)return;r.set(e),e=r.get()}s(this.cache[t.str],e)||(i=this.wrapped[t.str],i&&i.reset&&(a=i.reset(e)!==!1,a&&(e=i.get())),r||a||Gi(this,t,e),o.silent?this.clearCache(t.str):this.mark(t))}function Gi(t,e,n){var r,i,a,o;a=function(){r.set?r.set(e.lastKey,n):(i=r.get(),o())},o=function(){i||(i=Id(e.lastKey),t.set(e.parent,i,{silent:!0})),i[e.lastKey]=n},r=t.wrapped[e.parent.str],r?a():(i=t.get(e.parent),(r=t.wrapped[e.parent.str])?a():o())}function Ki(t,e,n){var r,i,a,o=this;if(i=n.length,n.forEach(function(e,n){-1===e&&o.mark(t.join(n),vm)}),this.set(t,e,{silent:!0}),(r=this.deps["default"][t.str])&&r.filter($i).forEach(function(t){return t.shuffle(n,e)}),i!==e.length){for(this.mark(t.join("length"),mm),a=n.touchedFrom;aa;a+=1)this.mark(t.join(a),vm)}}function $i(t){return"function"==typeof t.shuffle}function Qi(){var t,e=this;for(Object.keys(this.cache).forEach(function(t){return e.clearCache(t)});t=this.unresolvedImplicitDependencies.pop();)t.teardown()}function Yi(t,e){var n,r,i,a=void 0===arguments[2]?"default":arguments[2];if(!e.isStatic){if(n=this.mappings[t.firstKey])return n.unregister(t,e,a);if(r=this.deps[a][t.str],i=r.indexOf(e),-1===i)throw Error("Attempted to remove a dependant that was no longer registered! This should not happen. If you are seeing this bug in development please raise an issue at https://github.com/RactiveJS/Ractive/issues - thanks");r.splice(i,1),t.isRoot||Ji(this,t,a)}}function Ji(t,e,n){for(var r,i;!e.isRoot;)r=t.depsMap[n],i=r[e.parent.str],i["_"+e.str]-=1,i["_"+e.str]||(R(i,e),i["_"+e.str]=void 0),e=e.parent}function Xi(t){this.hook=new as(t),this.inProcess={},this.queue={}}function Zi(t,e){return t[e._guid]||(t[e._guid]=[])}function ta(t,e){var n=Zi(t.queue,e);for(t.hook.fire(e);n.length;)ta(t,n.shift());delete t.queue[e._guid]}function ea(t,e){var n,r={};for(n in e)r[n]=na(t,n,e[n]);return r}function na(t,e,n){var r,i;return"function"==typeof n&&(r=ia(n,t)),"string"==typeof n&&(r=ra(t,n)),"object"==typeof n&&("string"==typeof n.get?r=ra(t,n.get):"function"==typeof n.get?r=ia(n.get,t):f("`%s` computation must have a `get()` method",e),"function"==typeof n.set&&(i=ia(n.set,t))),{getter:r,setter:i}}function ra(t,e){var n,r,i;return n="return ("+e.replace(km,function(t,e){return r=!0,'__ractive.get("'+e+'")'})+");",r&&(n="var __ractive = this; "+n),i=Function(n),r?i.bind(t):i}function ia(t,e){return/this/.test(""+t)?t.bind(e):t}function aa(e){var n,i,a=void 0===arguments[1]?{}:arguments[1],o=void 0===arguments[2]?{}:arguments[2];if(Mv.DEBUG&&jo(),ua(e,o),So(e,"data",{get:ca}),Em.fire(e,a),Pm.forEach(function(t){e[t]=r(Eo(e.constructor[t]||null),a[t])}),i=new wm({adapt:oa(e,e.adapt,a),data:Hu.init(e.constructor,e,a),computed:_m(e,r(Eo(e.constructor.prototype.computed),a.computed)),mappings:o.mappings,ractive:e,onchange:function(){return ys.addRactive(e)}}),e.viewmodel=i,i.init(),cc.init(e.constructor,e,a),Sm.fire(e),Om.begin(e),e.template){var s=void 0;(o.cssIds||e.cssId)&&(s=o.cssIds?o.cssIds.slice():[],e.cssId&&s.push(e.cssId)),e.fragment=new iv({template:e.template,root:e,owner:e,cssIds:s})}if(Om.end(e),n=t(e.el)){var u=e.render(n,e.append);Mv.DEBUG_PROMISES&&u["catch"](function(t){throw v("Promise debugging is enabled, to help solve errors that happen asynchronously. Some browsers will log unhandled promise rejections, in which case you can safely disable promise debugging:\n Ractive.DEBUG_PROMISES = false;"),m("An error happened during rendering",{ractive:e}),t.stack&&p(t.stack),t})}}function oa(t,e,n){function r(e){return"string"==typeof e&&(e=g("adaptors",t,e),e||f(Do(e,"adaptor"))),e}var i,a,o;if(e=e.map(r),i=N(n.adapt).map(r),i=sa(e,i),a="magic"in n?n.magic:t.magic,o="modifyArrays"in n?n.modifyArrays:t.modifyArrays,a){if(!eo)throw Error("Getters and setters (magic mode) are not supported in this browser");o&&i.push(qd),i.push(Vd)}return o&&i.push(Ld),i}function sa(t,e){for(var n=t.slice(),r=e.length;r--;)~n.indexOf(e[r])||n.push(e[r]);return n}function ua(t,e){t._guid="r-"+Am++,t._subs=Eo(null),t._config={},t._twowayBindings=Eo(null),t._animations=[],t.nodes={},t._liveQueries=[],t._liveComponentQueries=[],t._boundFunctions=[],t._observers=[],e.component?(t.parent=e.parent,t.container=e.container||null,t.root=t.parent.root,t.component=e.component,e.component.instance=t,t._inlinePartials=e.inlinePartials):(t.root=t,t.parent=t.container=null)}function ca(){throw Error("Using `ractive.data` is no longer supported - you must use the `ractive.get()` API instead")}function la(t,e,n){this.parentFragment=t.parentFragment,this.callback=n,this.fragment=new iv({template:e,root:t.root,owner:this}),this.update()}function fa(t,e,n){var r;return e.r?r=jl(t,e.r,n):e.x?r=new Ll(t,t.parentFragment,e.x,n):e.rx&&(r=new Ul(t,e.rx,n)),r}function pa(t){return 1===t.length&&t[0].t===Ec}function ha(t,e){var n;for(n in e)e.hasOwnProperty(n)&&da(t.instance,t.root,n,e[n])}function da(t,e,n,r){"string"!=typeof r&&f("Components currently only support simple events - you cannot include arguments. Sorry!"),t.on(n,function(){var t,n;return arguments.length&&arguments[0]&&arguments[0].node&&(t=Array.prototype.shift.call(arguments)),n=Array.prototype.slice.call(arguments),zs(e,r,{event:t,args:n}),!1})}function ma(t,e){var n,r;if(!e)throw Error('Component "'+this.name+'" not found');n=this.parentFragment=t.parentFragment,r=n.root,this.root=r,this.type=jc,this.name=t.template.e,this.index=t.index,this.indexRefBindings={},this.yielders={},this.resolvers=[],jm(this,e,t.template.a,t.template.f,t.template.p),Mm(this,t.template.v),(t.template.t0||t.template.t1||t.template.t2||t.template.o)&&m('The "intro", "outro" and "decorator" directives have no effect on components',{ractive:this.instance}),Fm(this)}function va(t,e){function n(n){n.rebind(t,e)}var r;this.resolvers.forEach(n);for(var i in this.yielders)this.yielders[i][0]&&n(this.yielders[i][0]);(r=this.root._liveComponentQueries["_"+this.name])&&r._makeDirty()}function ga(){var t=this.instance;return t.render(this.parentFragment.getNode()),this.rendered=!0,t.fragment.detach()}function ya(){return""+this.instance.fragment}function ba(){var t=this.instance;this.resolvers.forEach(K),wa(this),t._observers.forEach(Q),t.fragment.unbind(),t.viewmodel.teardown(),t.fragment.rendered&&t.el.__ractive_instances__&&R(t.el.__ractive_instances__,t),Um.fire(t)}function wa(t){var e,n;e=t.root;do(n=e._liveComponentQueries["_"+t.name])&&n._remove(t);while(e=e.parent)}function xa(t){this.shouldDestroy=t,this.instance.unrender()}function _a(t){var e=this;this.owner=t.owner,this.parent=this.owner.parentFragment,this.root=t.root,this.pElement=t.pElement,this.context=t.context,this.index=t.index,this.key=t.key,this.registeredIndexRefs=[],this.cssIds="cssIds"in t?t.cssIds:this.parent?this.parent.cssIds:null,this.items=t.template.map(function(n,r){return ka({parentFragment:e,pElement:t.pElement,template:n,index:r})}),this.value=this.argsList=null,this.dirtyArgs=this.dirtyValue=!0,this.bound=!0}function ka(t){if("string"==typeof t.template)return new bl(t);switch(t.template.t){case Mc:return new Gm(t);case Ec:return new Hl(t);case Oc:return new pf(t);case Sc:return new Tf(t);case Ac:var e=void 0;return(e=gd(t.parentFragment.root,t.template.e))?new Bm(t,e):new ad(t);case Pc:return new vd(t);case Cc:return new zm(t);case Fc:return new $m(t);default:throw Error("Something very strange happened. Please file an issue at https://github.com/ractivejs/ractive/issues. Thanks!")}}function Ea(t,e){(!this.owner||this.owner.hasContext)&&_(this,"context",t,e),this.items.forEach(function(n){n.rebind&&n.rebind(t,e)})}function Sa(){var t;return 1===this.items.length?t=this.items[0].render():(t=document.createDocumentFragment(),this.items.forEach(function(e){t.appendChild(e.render())})),this.rendered=!0,t}function Oa(t){return this.items?this.items.map(t?Pa:Aa).join(""):""}function Aa(t){return""+t}function Pa(t){return t.toString(!0)}function Ca(){this.bound&&(this.items.forEach(Ta),this.bound=!1)}function Ta(t){t.unbind&&t.unbind()}function ja(t){if(!this.rendered)throw Error("Attempted to unrender a fragment that was not rendered");this.items.forEach(function(e){return e.unrender(t)}),this.rendered=!1}function Ma(t){var e,n,r,i,a;if(t=t||{},"object"!=typeof t)throw Error("The reset method takes either no arguments, or an object containing new data");for((n=this.viewmodel.wrapped[""])&&n.reset?n.reset(t)===!1&&this.viewmodel.reset(t):this.viewmodel.reset(t),r=cc.reset(this),i=r.length;i--;)if(ov.indexOf(r[i])>-1){a=!0;break}if(a){var o=void 0;this.viewmodel.mark(Yo),(o=this.component)&&(o.shouldDestroy=!0),this.unrender(),o&&(o.shouldDestroy=!1),this.fragment.template!==this.template&&(this.fragment.unbind(),this.fragment=new iv({template:this.template,root:this,owner:this})),e=this.render(this.el,this.anchor)}else e=ys.start(this,!0),this.viewmodel.mark(Yo),ys.end();return sv.fire(this,t),e}function Fa(t){var e,n;Ju.init(null,this,{template:t}),e=this.transitionsEnabled,this.transitionsEnabled=!1,(n=this.component)&&(n.shouldDestroy=!0),this.unrender(),n&&(n.shouldDestroy=!1),this.fragment.unbind(),this.fragment=new iv({template:this.template,root:this,owner:this}),this.render(this.el,this.anchor),this.transitionsEnabled=e}function Na(t,e){var n,r;if(r=ys.start(this,!0),c(t)){n=t;for(t in n)n.hasOwnProperty(t)&&(e=n[t],La(this,t,e))}else La(this,t,e);return ys.end(),r}function La(t,e,n){e=E(A(e)),e.isPattern?S(t,e).forEach(function(e){t.viewmodel.set(e,n)}):t.viewmodel.set(e,n)}function Ra(t,e){return Jo(this,t,void 0===e?-1:-e)}function Ia(){var t;return this.fragment.unbind(),this.viewmodel.teardown(),this._observers.forEach(Q),this.fragment.rendered&&this.el.__ractive_instances__&&R(this.el.__ractive_instances__,this),this.shouldDestroy=!0,t=this.fragment.rendered?this.unrender():cs.resolve(),gv.fire(this),this._boundFunctions.forEach(Da),t}function Da(t){delete t.fn[t.prop]}function Ua(t){var e=this;if("string"!=typeof t)throw new TypeError(Ro);var n=void 0;return/\*/.test(t)?(n={},S(this,E(A(t))).forEach(function(t){n[t.str]=!e.viewmodel.get(t)}),this.set(n)):this.set(t,!this.get(t))}function Va(){return this.fragment.toString(!0)}function qa(){var t,e;if(!this.fragment.rendered)return m("ractive.unrender() was called on a Ractive instance that was not rendered"),cs.resolve();for(t=ys.start(this,!0),e=!this.component||this.component.shouldDestroy||this.shouldDestroy;this._animations[0];)this._animations[0].stop();return this.fragment.unrender(e),R(this.el.__ractive_instances__,this),xv.fire(this),ys.end(),t}function Ba(t){var e;return t=E(t)||Yo,e=ys.start(this,!0),this.viewmodel.mark(t),ys.end(),Ev.fire(this,t),e}function Wa(t,e){var n,r,i;if("string"!=typeof t||e){i=[];for(r in this._twowayBindings)(!t||E(r).equalsOrStartsWith(t))&&i.push.apply(i,this._twowayBindings[r])}else i=this._twowayBindings[t];return n=za(this,i),this.set(n)}function za(t,e){var n={},r=[];return e.forEach(function(t){var e,i;if(!t.radioName||t.element.node.checked){if(t.checkboxName)return void(r[t.keypath.str]||t.changed()||(r.push(t.keypath),r[t.keypath.str]=t));e=t.attribute.value,i=t.getValue(),F(e,i)||s(e,i)||(n[t.keypath.str]=i)}}),r.length&&r.forEach(function(t){var e,i,a;e=r[t.str],i=e.attribute.value,a=e.getValue(),F(i,a)||(n[t.str]=a)}),n}function Ha(t,e){return"function"==typeof e&&/_super/.test(t)}function Ga(t){for(var e={};t;)Ka(t,e),Qa(t,e),t=t._Parent!==Mv?t._Parent:!1;return e}function Ka(t,e){ic.forEach(function(n){$a(n.useDefaults?t.prototype:t,e,n.name)})}function $a(t,e,n){var r,i=Object.keys(t[n]);i.length&&((r=e[n])||(r=e[n]={}),i.filter(function(t){return!(t in r)}).forEach(function(e){return r[e]=t[n][e]}))}function Qa(t,e){Object.keys(t.prototype).forEach(function(n){if("computed"!==n){var r=t.prototype[n];if(n in e){if("function"==typeof e[n]&&"function"==typeof r&&e[n]._method){var i=void 0,a=r._method;a&&(r=r._method),i=Av(e[n]._method,r),a&&(i._method=i),e[n]=i}}else e[n]=r._method?r._method:r}})}function Ya(){for(var t=arguments.length,e=Array(t),n=0;t>n;n++)e[n]=arguments[n];return e.length?e.reduce(Ja,this):Ja(this)}function Ja(t){var e,n,i=void 0===arguments[1]?{}:arguments[1];return i.prototype instanceof Mv&&(i=Pv(i)),e=function(t){return this instanceof e?void Cm(this,t):new e(t)},n=Eo(t.prototype),n.constructor=e,Oo(e,{defaults:{value:n},extend:{value:Ya,writable:!0,configurable:!0},_Parent:{value:t}}),cc.extend(t,n,i),Hu.extend(t,n,i),i.computed&&(n.computed=r(Eo(t.prototype.computed),i.computed)),e.prototype=n,e}var Xa,Za,to,eo,no,ro,io,ao=3,oo={el:void 0,append:!1,template:{v:ao,t:[]},preserveWhitespace:!1,sanitize:!1,stripComments:!0,delimiters:["{{","}}"],tripleDelimiters:["{{{","}}}"],interpolate:!1,data:{},computed:{},magic:!1,modifyArrays:!0,adapt:[],isolated:!1,twoway:!0,lazy:!1,noIntro:!1,transitionsEnabled:!0,complete:void 0,css:null,noCssTransform:!1},so=oo,uo={linear:function(t){return t},easeIn:function(t){return Math.pow(t,3)},easeOut:function(t){return Math.pow(t-1,3)+1},easeInOut:function(t){return(t/=.5)<1?.5*Math.pow(t,3):.5*(Math.pow(t-2,3)+2)}};Xa="object"==typeof document,Za="undefined"!=typeof navigator&&/jsDom/.test(navigator.appName),to="undefined"!=typeof console&&"function"==typeof console.warn&&"function"==typeof console.warn.apply;try{Object.defineProperty({},"test",{value:0}),eo=!0}catch(co){eo=!1}no={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},ro="undefined"==typeof document?!1:document&&document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"),io=["o","ms","moz","webkit"];var lo,fo,po,ho,mo,vo,go,yo,bo;if(lo=ro?function(t,e){return e&&e!==no.html?document.createElementNS(e,t):document.createElement(t)}:function(t,e){if(e&&e!==no.html)throw"This browser does not support namespaces other than http://www.w3.org/1999/xhtml. The most likely cause of this error is that you're trying to render SVG in an older browser. See http://docs.ractivejs.org/latest/svg-and-older-browsers for more information";return document.createElement(t)},Xa){for(po=lo("div"),ho=["matches","matchesSelector"],bo=function(t){return function(e,n){return e[t](n)}},go=ho.length;go--&&!fo;)if(mo=ho[go],po[mo])fo=bo(mo);else for(yo=io.length;yo--;)if(vo=io[go]+mo.substr(0,1).toUpperCase()+mo.substring(1),po[vo]){fo=bo(vo);break}fo||(fo=function(t,e){var n,r,i;for(r=t.parentNode,r||(po.innerHTML="",r=po,t=t.cloneNode(),po.appendChild(t)),n=r.querySelectorAll(e),i=n.length;i--;)if(n[i]===t)return!0;return!1})}else fo=null;var wo,xo,_o,ko=function(){};"undefined"==typeof window?_o=null:(wo=window,xo=wo.document,_o={},xo||(_o=null),Date.now||(Date.now=function(){return+new Date}),String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+/,"").replace(/\s+$/,"")}),Object.keys||(Object.keys=function(){var t=Object.prototype.hasOwnProperty,e=!{toString:null}.propertyIsEnumerable("toString"),n=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],r=n.length;return function(i){if("object"!=typeof i&&"function"!=typeof i||null===i)throw new TypeError("Object.keys called on non-object");var a=[];for(var o in i)t.call(i,o)&&a.push(o);if(e)for(var s=0;r>s;s++)t.call(i,n[s])&&a.push(n[s]);return a}}()),Array.prototype.indexOf||(Array.prototype.indexOf=function(t,e){var n;for(void 0===e&&(e=0),0>e&&(e+=this.length),0>e&&(e=0),n=this.length;n>e;e++)if(this.hasOwnProperty(e)&&this[e]===t)return e;return-1}),Array.prototype.forEach||(Array.prototype.forEach=function(t,e){var n,r;for(n=0,r=this.length;r>n;n+=1)this.hasOwnProperty(n)&&t.call(e,this[n],n,this)}),Array.prototype.map||(Array.prototype.map=function(t,e){var n,r,i,a=this,o=[];for(a instanceof String&&(a=""+a,i=!0),n=0,r=a.length;r>n;n+=1)(a.hasOwnProperty(n)||i)&&(o[n]=t.call(e,a[n],n,a));return o}),"function"!=typeof Array.prototype.reduce&&(Array.prototype.reduce=function(t,e){var n,r,i,a;if("function"!=typeof t)throw new TypeError(t+" is not a function");for(i=this.length,a=!1,arguments.length>1&&(r=e,a=!0),n=0;i>n;n+=1)this.hasOwnProperty(n)?a&&(r=t(r,this[n],n,this)):(r=this[n],a=!0);if(!a)throw new TypeError("Reduce of empty array with no initial value");return r}),Array.prototype.filter||(Array.prototype.filter=function(t,e){var n,r,i=[];for(n=0,r=this.length;r>n;n+=1)this.hasOwnProperty(n)&&t.call(e,this[n],n,this)&&(i[i.length]=this[n]);return i}),Array.prototype.every||(Array.prototype.every=function(t,e){var n,r,i;if(null==this)throw new TypeError;if(n=Object(this),r=n.length>>>0,"function"!=typeof t)throw new TypeError;for(i=0;r>i;i+=1)if(i in n&&!t.call(e,n[i],i,n))return!1;return!0}),"function"!=typeof Function.prototype.bind&&(Function.prototype.bind=function(t){var e,n,r,i,a=[].slice;if("function"!=typeof this)throw new TypeError("Function.prototype.bind called on non-function");return e=a.call(arguments,1),n=this,r=function(){},i=function(){var i=this instanceof r&&t?this:t;return n.apply(i,e.concat(a.call(arguments)))},r.prototype=this.prototype,i.prototype=new r,i}),wo.addEventListener||!function(t,e){var n,r,i,a,o,s;t.appearsToBeIELessEqual8=!0,n=function(t,e){var n,r=this;for(n in t)r[n]=t[n];r.currentTarget=e,r.target=t.srcElement||e,r.timeStamp=+new Date,r.preventDefault=function(){t.returnValue=!1},r.stopPropagation=function(){t.cancelBubble=!0}},r=function(t,e){var r,i,a=this;r=a.listeners||(a.listeners=[]),i=r.length,r[i]=[e,function(t){e.call(a,new n(t,a))}],a.attachEvent("on"+t,r[i][1])},i=function(t,e){var n,r,i=this;if(i.listeners)for(n=i.listeners,r=n.length;r--;)n[r][0]===e&&i.detachEvent("on"+t,n[r][1])},t.addEventListener=e.addEventListener=r,t.removeEventListener=e.removeEventListener=i,"Element"in t?(t.Element.prototype.addEventListener=r,t.Element.prototype.removeEventListener=i):(s=e.createElement,e.createElement=function(t){var e=s(t);return e.addEventListener=r,e.removeEventListener=i,e},a=e.getElementsByTagName("head")[0],o=e.createElement("style"),a.insertBefore(o,a.firstChild))}(wo,xo),wo.getComputedStyle||(_o.getComputedStyle=function(){function t(n,r,i,a){var o,s=r[i],u=parseFloat(s),c=s.split(/\d/)[0];return isNaN(u)&&/^thin|medium|thick$/.test(s)&&(u=e(s),c=""),a=null!=a?a:/%|em/.test(c)&&n.parentElement?t(n.parentElement,n.parentElement.currentStyle,"fontSize",null):16,o="fontSize"==i?a:/width/i.test(i)?n.clientWidth:n.clientHeight,"em"==c?u*a:"in"==c?96*u:"pt"==c?96*u/72:"%"==c?u/100*o:u}function e(t){var e,n;return a[t]||(e=document.createElement("div"),e.style.display="block",e.style.position="fixed",e.style.width=e.style.height="0",e.style.borderRight=t+" solid black",document.getElementsByTagName("body")[0].appendChild(e),n=e.getBoundingClientRect(),a[t]=n.right-n.left),a[t]}function n(t,e){var n="border"==e?"Width":"",r=e+"Top"+n,i=e+"Right"+n,a=e+"Bottom"+n,o=e+"Left"+n;t[e]=(t[r]==t[i]==t[a]==t[o]?[t[r]]:t[r]==t[a]&&t[o]==t[i]?[t[r],t[i]]:t[o]==t[i]?[t[r],t[i],t[a]]:[t[r],t[i],t[a],t[o]]).join(" ")}function r(e){var r,i,a,s;r=e.currentStyle,i=this,a=t(e,r,"fontSize",null);for(s in r)"normal"===r[s]&&o.hasOwnProperty(s)?i[s]=o[s]:/width|height|margin.|padding.|border.+W/.test(s)?"auto"===r[s]?/^width|height/.test(s)?i[s]=("width"===s?e.clientWidth:e.clientHeight)+"px":/(?:padding)?Top|Bottom$/.test(s)&&(i[s]="0px"):i[s]=t(e,r,s,a)+"px":"styleFloat"===s?i["float"]=r[s]:i[s]=r[s];return n(i,"margin"),n(i,"padding"),n(i,"border"),i.fontSize=a+"px",i}function i(t){return new r(t)}var a={},o={fontWeight:400,lineHeight:1.2,letterSpacing:0};return r.prototype={constructor:r,getPropertyPriority:ko,getPropertyValue:function(t){return this[t]||""},item:ko,removeProperty:ko,setProperty:ko,getPropertyCSSValue:ko},i}()));var Eo,So,Oo,Ao=_o;try{Object.defineProperty({},"test",{value:0}),Xa&&Object.defineProperty(document.createElement("div"),"test",{value:0}),So=Object.defineProperty}catch(Po){So=function(t,e,n){t[e]=n.value}}try{try{Object.defineProperties({},{test:{value:0}})}catch(Po){throw Po}Xa&&Object.defineProperties(lo("div"),{test:{value:0}}),Oo=Object.defineProperties}catch(Po){Oo=function(t,e){var n;for(n in e)e.hasOwnProperty(n)&&So(t,n,e[n])}}try{Object.create(null),Eo=Object.create}catch(Po){Eo=function(){var t=function(){};return function(e,n){var r;return null===e?{}:(t.prototype=e,r=new t,n&&Object.defineProperties(r,n),r)}}()}var Co,To,jo,Mo=Object.prototype.hasOwnProperty,Fo=Object.prototype.toString,No=/^\[object (?:Array|FileList)\]$/,Lo={};to?!function(){var t=["%cRactive.js %c0.7.3 %cin debug mode, %cmore...","color: rgb(114, 157, 52); font-weight: normal;","color: rgb(85, 85, 85); font-weight: normal;","color: rgb(85, 85, 85); font-weight: normal;","color: rgb(82, 140, 224); font-weight: normal; text-decoration: underline;"],e="You're running Ractive 0.7.3 in debug mode - messages will be printed to the console to help you fix problems and optimise your application.\n\nTo disable debug mode, add this line at the start of your app:\n Ractive.DEBUG = false;\n\nTo disable debug mode when your app is minified, add this snippet:\n Ractive.DEBUG = /unminified/.test(function(){/*unminified*/});\n\nGet help and support:\n http://docs.ractivejs.org\n http://stackoverflow.com/questions/tagged/ractivejs\n http://groups.google.com/forum/#!forum/ractive-js\n http://twitter.com/ractivejs\n\nFound a bug? Raise an issue:\n https://github.com/ractivejs/ractive/issues\n\n";jo=function(){var n=!!console.groupCollapsed;console[n?"groupCollapsed":"log"].apply(console,t),console.log(e),n&&console.groupEnd(t),jo=ko},To=function(t,e){if(jo(),"object"==typeof e[e.length-1]){var n=e.pop(),r=n?n.ractive:null;if(r){var i=void 0;r.component&&(i=r.component.name)&&(t="<"+i+"> "+t);var a=void 0;(a=n.node||r.fragment&&r.fragment.rendered&&r.find("*"))&&e.push(a)}}console.warn.apply(console,["%cRactive.js: %c"+t,"color: rgb(114, 157, 52);","color: rgb(85, 85, 85);"].concat(e))},Co=function(){console.log.apply(console,arguments)}}():To=Co=jo=ko;var Ro="Bad arguments",Io='A function was specified for "%s" %s, but no %s was returned',Do=function(t,e){return'Missing "'+t+'" '+e+" plugin. You may need to download a plugin via http://docs.ractivejs.org/latest/plugins#"+e+"s"},Uo=function(t,e,n,r){if(t===e)return b(e);if(r){var i=g("interpolators",n,r);if(i)return i(t,e)||b(e);f(Do(r,"interpolator"))}return Bo.number(t,e)||Bo.array(t,e)||Bo.object(t,e)||b(e)},Vo=Uo,qo={number:function(t,e){var n;return u(t)&&u(e)?(t=+t,e=+e,n=e-t,n?function(e){return t+e*n}:function(){return t}):null},array:function(t,e){var n,r,i,o;if(!a(t)||!a(e))return null;for(n=[],r=[],o=i=Math.min(t.length,e.length);o--;)r[o]=Vo(t[o],e[o]);for(o=i;o=this.duration?(null!==a&&(ys.start(this.root),this.root.viewmodel.set(a,this.to),ys.end()),this.step&&this.step(1,this.to),this.complete(this.to),i=this.root._animations.indexOf(this),-1===i&&m("Animation was not found"),this.root._animations.splice(i,1),this.running=!1,!1):(e=this.easing?this.easing(t/this.duration):t/this.duration,null!==a&&(n=this.interpolator(e),ys.start(this.root),this.root.viewmodel.set(a,n),ys.end()),this.step&&this.step(e,n),!0)):!1},stop:function(){var t;this.running=!1,t=this.root._animations.indexOf(this),-1===t&&m("Animation was not found"),this.root._animations.splice(t,1)}};var ks=_s,Es=nt,Ss={stop:ko},Os=it,As=new as("detach"),Ps=at,Cs=ot,Ts=function(){var t,e,n;t=this._root[this._isComponentQuery?"liveComponentQueries":"liveQueries"],e=this.selector,n=t.indexOf(e),-1!==n&&(t.splice(n,1),t[e]=null)},js=function(t,e){var n,r,i,a,o,s,u,c,l,f;for(n=ut(t.component||t._ractive.proxy),r=ut(e.component||e._ractive.proxy),i=L(n),a=L(r);i&&i===a;)n.pop(),r.pop(),o=i,i=L(n),a=L(r);if(i=i.component||i,a=a.component||a,l=i.parentFragment,f=a.parentFragment,l===f)return s=l.items.indexOf(i),u=f.items.indexOf(a),s-u||n.length-r.length;if(c=o.fragments)return s=c.indexOf(l),u=c.indexOf(f),s-u||n.length-r.length;throw Error("An unexpected condition was met while comparing the position of two components. Please file an issue at https://github.com/RactiveJS/Ractive/issues - thanks!")},Ms=function(t,e){var n;return t.compareDocumentPosition?(n=t.compareDocumentPosition(e),2&n?1:-1):js(t,e)},Fs=function(){this.sort(this._isComponentQuery?js:Ms),this._dirty=!1},Ns=function(){var t=this;this._dirty||(this._dirty=!0,ys.scheduleTask(function(){t._sort()}))},Ls=function(t){var e=this.indexOf(this._isComponentQuery?t.instance:t);-1!==e&&this.splice(e,1)},Rs=ct,Is=lt,Ds=ft,Us=pt,Vs=ht,qs=dt,Bs={enqueue:function(t,e){t.event&&(t._eventQueue=t._eventQueue||[],t._eventQueue.push(t.event)),t.event=e},dequeue:function(t){t._eventQueue&&t._eventQueue.length?t.event=t._eventQueue.pop():delete t.event}},Ws=Bs,zs=mt,Hs=yt,Gs=bt,Ks={capture:!0,noUnwrap:!0,fullRootGet:!0},$s=wt,Qs=new as("insert"),Ys=_t,Js=function(t,e,n,r){this.root=t,this.keypath=e,this.callback=n,this.defer=r.defer,this.context=r&&r.context?r.context:t};Js.prototype={init:function(t){this.value=this.root.get(this.keypath.str),t!==!1?this.update():this.oldValue=this.value},setValue:function(t){var e=this;s(t,this.value)||(this.value=t,this.defer&&this.ready?ys.scheduleTask(function(){return e.update()}):this.update())},update:function(){this.updating||(this.updating=!0,this.callback.call(this.context,this.value,this.oldValue,this.keypath.str),this.oldValue=this.value,this.updating=!1)}};var Xs,Zs=Js,tu=kt,eu=Array.prototype.slice;Xs=function(t,e,n,r){this.root=t,this.callback=n,this.defer=r.defer,this.keypath=e,this.regex=RegExp("^"+e.str.replace(/\./g,"\\.").replace(/\*/g,"([^\\.]+)")+"$"),this.values={},this.defer&&(this.proxies=[]),this.context=r&&r.context?r.context:t},Xs.prototype={init:function(t){var e,n;if(e=tu(this.root,this.keypath),t!==!1)for(n in e)e.hasOwnProperty(n)&&this.update(E(n));else this.values=e},update:function(t){var e,n=this;if(t.isPattern){e=tu(this.root,t);for(t in e)e.hasOwnProperty(t)&&this.update(E(t))}else if(!this.root.viewmodel.implicitChanges[t.str])return this.defer&&this.ready?void ys.scheduleTask(function(){return n.getProxy(t).update()}):void this.reallyUpdate(t)},reallyUpdate:function(t){var e,n,r,i;return e=t.str,n=this.root.viewmodel.get(t),this.updating?void(this.values[e]=n):(this.updating=!0,s(n,this.values[e])&&this.ready||(r=eu.call(this.regex.exec(e),1),i=[n,this.values[e],e].concat(r),this.values[e]=n,this.callback.apply(this.context,i)),void(this.updating=!1))},getProxy:function(t){var e=this;return this.proxies[t.str]||(this.proxies[t.str]={update:function(){return e.reallyUpdate(t)}}),this.proxies[t.str]}};var nu,ru,iu,au,ou,su,uu=Xs,cu=Et,lu={},fu=St,pu=Ot,hu=function(t){return t.trim()},du=function(t){return""!==t},mu=At,vu=Pt,gu=Ct,yu=Tt,bu=Array.prototype,wu=function(t){return function(e){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;n>i;i++)r[i-1]=arguments[i];var o,s,u,c,l=[];if(e=E(A(e)),o=this.viewmodel.get(e),s=o.length,!a(o))throw Error("Called ractive."+t+"('"+e.str+"'), but '"+e.str+"' does not refer to an array");return l=yu(o,t,r),c=bu[t].apply(o,r),u=ys.start(this,!0).then(function(){return c}),l?this.viewmodel.smartUpdate(e,o,l):this.viewmodel.mark(e),ys.end(),u}},xu=wu("pop"),_u=wu("push"),ku="/* Ractive.js component styles */\n",Eu=[],Su=!1;Xa?(iu=document.createElement("style"),iu.type="text/css",au=document.getElementsByTagName("head")[0],su=!1,ou=iu.styleSheet,ru=function(){var t=ku+Eu.map(function(t){return"\n/* {"+t.id+"} */\n"+t.styles}).join("\n");ou?ou.cssText=t:iu.innerHTML=t,su||(au.appendChild(iu),su=!0)},nu={add:function(t){Eu.push(t),Su=!0},apply:function(){Su&&(ru(),Su=!1)}}):nu={add:ko,apply:ko};var Ou,Au,Pu,Cu=nu,Tu=Mt,ju=new as("render"),Mu=new as("complete"),Fu={extend:function(t,e,n){e.adapt=Nt(e.adapt,N(n.adapt))},init:function(){}},Nu=Fu,Lu=Lt,Ru=/(?:^|\})?\s*([^\{\}]+)\s*\{/g,Iu=/\/\*.*?\*\//g,Du=/((?:(?:\[[^\]+]\])|(?:[^\s\+\>\~:]))+)((?::[^\s\+\>\~\(]+(?:\([^\)]+\))?)?\s*[\s\+\>\~]?)\s*/g,Uu=/^@media/,Vu=/\[data-ractive-css~="\{[a-z0-9-]+\}"]/g,qu=1,Bu={name:"css",extend:function(t,e,n){if(n.css){var r=qu++,i=n.noCssTransform?n.css:Lu(n.css,r);e.cssId=r,Cu.add({id:r,styles:i})}},init:function(){}},Wu=Bu,zu={name:"data",extend:function(t,e,n){var r=void 0,i=void 0;if(n.data&&c(n.data))for(r in n.data)i=n.data[r],i&&"object"==typeof i&&(c(i)||a(i))&&m("Passing a `data` option with object and array properties to Ractive.extend() is discouraged, as mutating them is likely to cause bugs. Consider using a data function instead:\n\n // this...\n data: function () {\n return {\n myObject: {}\n };\n })\n\n // instead of this:\n data: {\n myObject: {}\n }");e.data=Ut(e.data,n.data)},init:function(t,e,n){var r=Ut(t.prototype.data,n.data);return"function"==typeof r&&(r=r.call(e)),r||{}},reset:function(t){var e=this.init(t.constructor,t,t.viewmodel);return t.viewmodel.reset(e),!0}},Hu=zu,Gu=null,Ku=["preserveWhitespace","sanitize","stripComments","delimiters","tripleDelimiters","interpolate"],$u={fromId:zt,isHashedId:Ht,isParsed:Gt,getParseOptions:Kt,createHelper:Bt,parse:Wt},Qu=$u,Yu={name:"template",extend:function(t,e,n){var r;"template"in n&&(r=n.template,"function"==typeof r?e.template=r:e.template=Jt(r,e))},init:function(t,e,n){var r,i;r="template"in n?n.template:t.prototype.template,"function"==typeof r&&(i=r,r=Qt(e,i),e._config.template={fn:i,result:r}),r=Jt(r,e),e.template=r.t,r.p&&Xt(e.partials,r.p)},reset:function(t){var e,n=$t(t);return n?(e=Jt(n,t),t.template=e.t,Xt(t.partials,e.p,!0),!0):void 0}},Ju=Yu;Ou=["adaptors","components","computed","decorators","easing","events","interpolators","partials","transitions"],Au=function(t,e){this.name=t,this.useDefaults=e},Au.prototype={constructor:Au,extend:function(t,e,n){this.configure(this.useDefaults?t.defaults:t,this.useDefaults?e:e.constructor,n)},init:function(){},configure:function(t,e,n){var r,i=this.name,a=n[i];r=Eo(t[i]);for(var o in a)r[o]=a[o];e[i]=r},reset:function(t){var e=t[this.name],n=!1;return Object.keys(e).forEach(function(t){var r=e[t];r._fn&&(r._fn.isOwner?e[t]=r._fn:delete e[t],n=!0)}),n}},Pu=Ou.map(function(t){return new Au(t,"computed"===t)});var Xu,Zu,tc,ec,nc,rc,ic=Pu,ac=Zt,oc=re;ec={adapt:Nu,css:Wu,data:Hu,template:Ju},tc=Object.keys(so),rc=oe(tc.filter(function(t){return!ec[t]})),nc=oe(tc.concat(ic.map(function(t){return t.name}))),Zu=[].concat(tc.filter(function(t){return!ic[t]&&!ec[t]}),ic,ec.data,ec.template,ec.css),Xu={extend:function(t,e,n){return ie("extend",t,e,n)},init:function(t,e,n){return ie("init",t,e,n)},reset:function(t){return Zu.filter(function(e){return e.reset&&e.reset(t)}).map(function(t){return t.name})},order:Zu};var sc,uc,cc=Xu,lc=se,fc=ue,pc=ce,hc=le,dc=fe,mc=pe,vc=he,gc=de,yc=/^\s+/;uc=function(t){this.name="ParseError",this.message=t;try{throw Error(t)}catch(e){this.stack=e.stack}},uc.prototype=Error.prototype,sc=function(t,e){var n,r,i=0;for(this.str=t,this.options=e||{},this.pos=0,this.lines=this.str.split("\n"),this.lineEnds=this.lines.map(function(t){var e=i+t.length+1;return i=e,e},0),this.init&&this.init(t,e),n=[];this.posn;n+=1)if(this.pos=e,i=t[n](this))return i;return null},getLinePos:function(t){for(var e,n=0,r=0;t>=this.lineEnds[n];)r=this.lineEnds[n],n+=1;return e=t-r,[n+1,e+1,t]},error:function(t){var e=this.getLinePos(this.pos),n=e[0],r=e[1],i=this.lines[e[0]-1],a=0,o=i.replace(/\t/g,function(t,n){return n/g,fl=/&/g;var gl=function(){return e(this.node)},yl=function(t){this.type=kc,this.text=t.template};yl.prototype={detach:gl,firstNode:function(){return this.node},render:function(){return this.node||(this.node=document.createTextNode(this.text)),this.node},toString:function(t){return t?Ee(this.text):this.text},unrender:function(t){return t?this.detach():void 0}};var bl=yl,wl=Se,xl=Oe,_l=function(t,e,n){var r;this.ref=e,this.resolved=!1,this.root=t.root,this.parentFragment=t.parentFragment,this.callback=n,r=fs(t.root,e,t.parentFragment),void 0!=r?this.resolve(r):ys.addUnresolved(this)};_l.prototype={resolve:function(t){this.keypath&&!t&&ys.addUnresolved(this),this.resolved=!0,this.keypath=t,this.callback(t)},forceResolution:function(){this.resolve(E(this.ref))},rebind:function(t,e){var n;void 0!=this.keypath&&(n=this.keypath.replace(t,e),void 0!==n&&this.resolve(n))},unbind:function(){this.resolved||ys.removeUnresolved(this)}};var kl=_l,El=function(t,e,n){this.parentFragment=t.parentFragment,this.ref=e,this.callback=n,this.rebind()},Sl={"@keypath":{prefix:"c",prop:["context"]},"@index":{prefix:"i",prop:["index"]},"@key":{prefix:"k",prop:["key","index"]}};El.prototype={rebind:function(){var t,e=this.ref,n=this.parentFragment,r=Sl[e];if(!r)throw Error('Unknown special reference "'+e+'" - valid references are @index, @key and @keypath');if(this.cached)return this.callback(E("@"+r.prefix+Ae(this.cached,r)));if(-1!==r.prop.indexOf("index")||-1!==r.prop.indexOf("key"))for(;n;){if(n.owner.currentSubtype===Uc&&void 0!==(t=Ae(n,r)))return this.cached=n,n.registerIndexRef(this),this.callback(E("@"+r.prefix+t));n=!n.parent&&n.owner&&n.owner.component&&n.owner.component.parentFragment&&!n.owner.component.instance.isolated?n.owner.component.parentFragment:n.parent}else for(;n;){if(void 0!==(t=Ae(n,r)))return this.callback(E("@"+r.prefix+t.str));n=n.parent}},unbind:function(){this.cached&&this.cached.unregisterIndexRef(this)}};var Ol=El,Al=function(t,e,n){this.parentFragment=t.parentFragment,this.ref=e,this.callback=n,e.ref.fragment.registerIndexRef(this),this.rebind()};Al.prototype={rebind:function(){var t,e=this.ref.ref;t="k"===e.ref.t?"k"+e.fragment.key:"i"+e.fragment.index,void 0!==t&&this.callback(E("@"+t))},unbind:function(){this.ref.ref.fragment.unregisterIndexRef(this)}};var Pl=Al,Cl=Pe;Pe.resolve=function(t){var e,n,r={};for(e in t.refs)n=t.refs[e],r[n.ref.n]="k"===n.ref.t?n.fragment.key:n.fragment.index;return r};var Tl,jl=Ce,Ml=Te,Fl={},Nl=Function.prototype.bind;Tl=function(t,e,n,r){var i,a=this;i=t.root,this.root=i,this.parentFragment=e,this.callback=r,this.owner=t,this.str=n.s,this.keypaths=[],this.pending=n.r.length,this.refResolvers=n.r.map(function(t,e){return jl(a,t,function(t){a.resolve(e,t)})}),this.ready=!0,this.bubble()},Tl.prototype={bubble:function(){this.ready&&(this.uniqueString=Me(this.str,this.keypaths),this.keypath=Fe(this.uniqueString),this.createEvaluator(),this.callback(this.keypath))},unbind:function(){for(var t;t=this.refResolvers.pop();)t.unbind()},resolve:function(t,e){this.keypaths[t]=e,this.bubble()},createEvaluator:function(){var t,e,n,r,i,a=this;r=this.keypath,t=this.root.viewmodel.computations[r.str],t?this.root.viewmodel.mark(r):(i=Ml(this.str,this.refResolvers.length),e=this.keypaths.map(function(t){var e;return"undefined"===t?function(){}:t.isSpecial?(e=t.value,function(){return e}):function(){var e=a.root.viewmodel.get(t,{noUnwrap:!0,fullRootGet:!0});return"function"==typeof e&&(e=Le(e,a.root)),e}}),n={deps:this.keypaths.filter(Ne),getter:function(){var t=e.map(je);return i.apply(null,t)}},t=this.root.viewmodel.compute(r,n))},rebind:function(t,e){this.refResolvers.forEach(function(n){return n.rebind(t,e)})}};var Ll=Tl,Rl=function(t,e,n){var r=this;this.resolver=e,this.root=e.root,this.parentFragment=n,this.viewmodel=e.root.viewmodel,"string"==typeof t?this.value=t:t.t===Rc?this.refResolver=jl(this,t.n,function(t){r.resolve(t)}):new Ll(e,n,t,function(t){r.resolve(t)})};Rl.prototype={resolve:function(t){this.keypath&&this.viewmodel.unregister(this.keypath,this),this.keypath=t,this.value=this.viewmodel.get(t),this.bind(),this.resolver.bubble()},bind:function(){this.viewmodel.register(this.keypath,this)},rebind:function(t,e){this.refResolver&&this.refResolver.rebind(t,e)},setValue:function(t){this.value=t,this.resolver.bubble()},unbind:function(){this.keypath&&this.viewmodel.unregister(this.keypath,this),this.refResolver&&this.refResolver.unbind()},forceResolution:function(){this.refResolver&&this.refResolver.forceResolution()}};var Il=Rl,Dl=function(t,e,n){var r,i,a,o,s=this;this.parentFragment=o=t.parentFragment,this.root=r=t.root,this.mustache=t,this.ref=i=e.r,this.callback=n,this.unresolved=[],(a=fs(r,i,o))?this.base=a:this.baseResolver=new kl(this,i,function(t){s.base=t,s.baseResolver=null,s.bubble()}),this.members=e.m.map(function(t){return new Il(t,s,o)}),this.ready=!0,this.bubble()};Dl.prototype={getKeypath:function(){var t=this.members.map(Re);return!t.every(Ie)||this.baseResolver?null:this.base.join(t.join("."))},bubble:function(){this.ready&&!this.baseResolver&&this.callback(this.getKeypath())},unbind:function(){this.members.forEach(K)},rebind:function(t,e){var n;if(this.base){var r=this.base.replace(t,e);r&&r!==this.base&&(this.base=r,n=!0)}this.members.forEach(function(r){r.rebind(t,e)&&(n=!0)}),n&&this.bubble()},forceResolution:function(){this.baseResolver&&(this.base=E(this.ref),this.baseResolver.unbind(),this.baseResolver=null),this.members.forEach(De),this.bubble()}};var Ul=Dl,Vl=Ue,ql=Ve,Bl=qe,Wl={getValue:xl,init:Vl,resolve:ql,rebind:Bl},zl=function(t){this.type=Ec,Wl.init(this,t)};zl.prototype={update:function(){this.node.data=void 0==this.value?"":this.value},resolve:Wl.resolve,rebind:Wl.rebind,detach:gl,unbind:wl,render:function(){return this.node||(this.node=document.createTextNode(n(this.value))),this.node},unrender:function(t){t&&e(this.node)},getValue:Wl.getValue,setValue:function(t){var e;this.keypath&&(e=this.root.viewmodel.wrapped[this.keypath.str])&&(t=e.get()),s(t,this.value)||(this.value=t,this.parentFragment.bubble(),this.node&&ys.addView(this))},firstNode:function(){return this.node},toString:function(t){var e=""+n(this.value);return t?Ee(e):e}};var Hl=zl,Gl=Be,Kl=We,$l=ze,Ql=He,Yl=Ge,Jl=Ke,Xl=$e,Zl=Qe,tf=Ye,ef=function(t,e){Wl.rebind.call(this,t,e)},nf=Xe,rf=Ze,af=fn,of=pn,sf=hn,uf=vn,cf=function(t){this.type=Oc,this.subtype=this.currentSubtype=t.template.n,this.inverted=this.subtype===Dc,this.pElement=t.pElement,this.fragments=[],this.fragmentsToCreate=[],this.fragmentsToRender=[],this.fragmentsToUnrender=[],t.template.i&&(this.indexRefs=t.template.i.split(",").map(function(t,e){return{n:t,t:0===e?"k":"i"}})),this.renderedFragments=[],this.length=0,Wl.init(this,t)};cf.prototype={bubble:Gl,detach:Kl,find:$l,findAll:Ql,findAllComponents:Yl,findComponent:Jl,findNextNode:Xl,firstNode:Zl,getIndexRef:function(t){if(this.indexRefs)for(var e=this.indexRefs.length;e--;){var n=this.indexRefs[e];if(n.n===t)return n}},getValue:Wl.getValue,shuffle:tf,rebind:ef,render:nf,resolve:Wl.resolve,setValue:rf,toString:af,unbind:of,unrender:sf,update:uf};var lf,ff,pf=cf,hf=gn,df=yn,mf=bn,vf=wn,gf={};try{lo("table").innerHTML="foo"}catch(Po){lf=!0,ff={TABLE:['"],THEAD:['"],TBODY:['"],TR:['"],SELECT:['"]}}var yf=function(t,e,n){var r,i,a,o,s,u=[];if(null!=t&&""!==t){for(lf&&(i=ff[e.tagName])?(r=xn("DIV"),r.innerHTML=i[0]+t+i[1],r=r.querySelector(".x"),"SELECT"===r.tagName&&(a=r.options[r.selectedIndex])):e.namespaceURI===no.svg?(r=xn("DIV"),r.innerHTML='",r=r.querySelector(".x")):(r=xn(e.tagName),r.innerHTML=t,"SELECT"===r.tagName&&(a=r.options[r.selectedIndex]));o=r.firstChild;)u.push(o),n.appendChild(o);if("SELECT"===e.tagName)for(s=u.length;s--;)u[s]!==a&&(u[s].selected=!1)}return u},bf=_n,wf=En,xf=Sn,_f=On,kf=An,Ef=Pn,Sf=function(t){this.type=Sc,Wl.init(this,t)};Sf.prototype={detach:hf,find:df,findAll:mf,firstNode:vf,getValue:Wl.getValue,rebind:Wl.rebind,render:wf,resolve:Wl.resolve,setValue:xf,toString:_f,unbind:wl,unrender:kf,update:Ef};var Of,Af,Pf,Cf,Tf=Sf,jf=function(){this.parentFragment.bubble()},Mf=Cn,Ff=function(t){return this.node?fo(this.node,t)?this.node:this.fragment&&this.fragment.find?this.fragment.find(t):void 0:null},Nf=function(t,e){e._test(this,!0)&&e.live&&(this.liveQueries||(this.liveQueries=[])).push(e),this.fragment&&this.fragment.findAll(t,e)},Lf=function(t,e){this.fragment&&this.fragment.findAllComponents(t,e)},Rf=function(t){return this.fragment?this.fragment.findComponent(t):void 0},If=Tn,Df=jn,Uf=Mn,Vf=/^true|on|yes|1$/i,qf=/^[0-9]+$/,Bf=function(t,e){var n,r,i;return i=e.a||{},r={},n=i.twoway,void 0!==n&&(r.twoway=0===n||Vf.test(n)),n=i.lazy,void 0!==n&&(0!==n&&qf.test(n)?r.lazy=parseInt(n):r.lazy=0===n||Vf.test(n)),r},Wf=Fn;Of="altGlyph altGlyphDef altGlyphItem animateColor animateMotion animateTransform clipPath feBlend feColorMatrix feComponentTransfer feComposite feConvolveMatrix feDiffuseLighting feDisplacementMap feDistantLight feFlood feFuncA feFuncB feFuncG feFuncR feGaussianBlur feImage feMerge feMergeNode feMorphology feOffset fePointLight feSpecularLighting feSpotLight feTile feTurbulence foreignObject glyphRef linearGradient radialGradient textPath vkern".split(" "),Af="attributeName attributeType baseFrequency baseProfile calcMode clipPathUnits contentScriptType contentStyleType diffuseConstant edgeMode externalResourcesRequired filterRes filterUnits glyphRef gradientTransform gradientUnits kernelMatrix kernelUnitLength keyPoints keySplines keyTimes lengthAdjust limitingConeAngle markerHeight markerUnits markerWidth maskContentUnits maskUnits numOctaves pathLength patternContentUnits patternTransform patternUnits pointsAtX pointsAtY pointsAtZ preserveAlpha preserveAspectRatio primitiveUnits refX refY repeatCount repeatDur requiredExtensions requiredFeatures specularConstant specularExponent spreadMethod startOffset stdDeviation stitchTiles surfaceScale systemLanguage tableValues targetX targetY textLength viewBox viewTarget xChannelSelector yChannelSelector zoomAndPan".split(" "),Pf=function(t){for(var e={},n=t.length;n--;)e[t[n].toLowerCase()]=t[n];return e},Cf=Pf(Of.concat(Af));var zf=function(t){var e=t.toLowerCase();return Cf[e]||e},Hf=function(t,e){var n,r;if(n=e.indexOf(":"),-1===n||(r=e.substr(0,n),"xmlns"===r))t.name=t.element.namespace!==no.html?zf(e):e;else if(e=e.substring(n+1),t.name=zf(e),t.namespace=no[r.toLowerCase()],t.namespacePrefix=r,!t.namespace)throw'Unknown namespace ("'+r+'")'},Gf=Nn,Kf=Ln,$f=Rn,Qf=In,Yf={"accept-charset":"acceptCharset",accesskey:"accessKey",bgcolor:"bgColor","class":"className",codebase:"codeBase",colspan:"colSpan",contenteditable:"contentEditable",datetime:"dateTime",dirname:"dirName","for":"htmlFor","http-equiv":"httpEquiv",ismap:"isMap",maxlength:"maxLength",novalidate:"noValidate",pubdate:"pubDate",readonly:"readOnly",rowspan:"rowSpan",tabindex:"tabIndex",usemap:"useMap"},Jf=Dn,Xf=Vn,Zf=qn,tp=Bn,ep=Wn,np=zn,rp=Hn,ip=Gn,ap=Kn,op=$n,sp=Qn,up=Yn,cp=Jn,lp=Xn,fp=Zn,pp=function(t){this.init(t)};pp.prototype={bubble:Wf,init:Kf,rebind:$f,render:Qf,toString:Jf,unbind:Xf,update:fp};var hp,dp=pp,mp=function(t,e){var n,r,i=[];for(n in e)"twoway"!==n&&"lazy"!==n&&e.hasOwnProperty(n)&&(r=new dp({element:t,name:n,value:e[n],root:t.root}),i[n]=r,"value"!==n&&i.push(r));return(r=i.value)&&i.push(r),i};"undefined"!=typeof document&&(hp=lo("div"));var vp=function(t,e){this.element=t,this.root=t.root,this.parentFragment=t.parentFragment,this.attributes=[],this.fragment=new iv({root:t.root,owner:this,template:[e]})};vp.prototype={bubble:function(){this.node&&this.update(),this.element.bubble()},rebind:function(t,e){this.fragment.rebind(t,e)},render:function(t){this.node=t,this.isSvg=t.namespaceURI===no.svg,this.update()},unbind:function(){this.fragment.unbind()},update:function(){var t,e,n=this;t=""+this.fragment,e=tr(t,this.isSvg),this.attributes.filter(function(t){return er(e,t)}).forEach(function(t){n.node.removeAttribute(t.name)}),e.forEach(function(t){n.node.setAttribute(t.name,t.value)}),this.attributes=e},toString:function(){return""+this.fragment}};var gp=vp,yp=function(t,e){return e?e.map(function(e){return new gp(t,e)}):[]},bp=function(t){var e,n,r,i;if(this.element=t,this.root=t.root,this.attribute=t.attributes[this.name||"value"],e=this.attribute.interpolator,e.twowayBinding=this,n=e.keypath){if("}"===n.str.slice(-1))return v("Two-way binding does not work with expressions (`%s` on <%s>)",e.resolver.uniqueString,t.name,{ractive:this.root}),!1;if(n.isSpecial)return v("Two-way binding does not work with %s",e.resolver.ref,{ractive:this.root}),!1}else{var a=e.template.r?"'"+e.template.r+"' reference":"expression";m("The %s being used for two-way binding is ambiguous, and may cause unexpected results. Consider initialising your data to eliminate the ambiguity",a,{ractive:this.root}),e.resolver.forceResolution(),n=e.keypath}this.attribute.isTwoway=!0,this.keypath=n,r=this.root.viewmodel.get(n),void 0===r&&this.getInitialValue&&(r=this.getInitialValue(),void 0!==r&&this.root.viewmodel.set(n,r)),(i=nr(t))&&(this.resetValue=r,i.formBindings.push(this))};bp.prototype={handleChange:function(){var t=this;ys.start(this.root),this.attribute.locked=!0,this.root.viewmodel.set(this.keypath,this.getValue()),ys.scheduleTask(function(){return t.attribute.locked=!1}),ys.end()},rebound:function(){var t,e,n;e=this.keypath,n=this.attribute.interpolator.keypath,e!==n&&(R(this.root._twowayBindings[e.str],this),this.keypath=n,t=this.root._twowayBindings[n.str]||(this.root._twowayBindings[n.str]=[]),t.push(this))},unbind:function(){}},bp.extend=function(t){var e,n=this;return e=function(t){bp.call(this,t),this.init&&this.init()},e.prototype=Eo(n.prototype),r(e.prototype,t),e.extend=bp.extend,e};var wp,xp=bp,_p=rr;wp=xp.extend({getInitialValue:function(){return""},getValue:function(){return this.element.node.value},render:function(){var t,e=this.element.node,n=!1;this.rendered=!0,t=this.root.lazy,this.element.lazy===!0?t=!0:this.element.lazy===!1?t=!1:u(this.element.lazy)?(t=!1,n=+this.element.lazy):u(t||"")&&(n=+t,t=!1,this.element.lazy=n),this.handler=n?ar:_p,e.addEventListener("change",_p,!1),t||(e.addEventListener("input",this.handler,!1),e.attachEvent&&e.addEventListener("keyup",this.handler,!1)),e.addEventListener("blur",ir,!1)},unrender:function(){var t=this.element.node;this.rendered=!1,t.removeEventListener("change",_p,!1),t.removeEventListener("input",this.handler,!1),t.removeEventListener("keyup",this.handler,!1),
t.removeEventListener("blur",ir,!1)}});var kp=wp,Ep=kp.extend({getInitialValue:function(){return this.element.fragment?""+this.element.fragment:""},getValue:function(){return this.element.node.innerHTML}}),Sp=Ep,Op=or,Ap={},Pp=xp.extend({name:"checked",init:function(){this.siblings=Op(this.root._guid,"radio",this.element.getAttribute("name")),this.siblings.push(this)},render:function(){var t=this.element.node;t.addEventListener("change",_p,!1),t.attachEvent&&t.addEventListener("click",_p,!1)},unrender:function(){var t=this.element.node;t.removeEventListener("change",_p,!1),t.removeEventListener("click",_p,!1)},handleChange:function(){ys.start(this.root),this.siblings.forEach(function(t){t.root.viewmodel.set(t.keypath,t.getValue())}),ys.end()},getValue:function(){return this.element.node.checked},unbind:function(){R(this.siblings,this)}}),Cp=Pp,Tp=xp.extend({name:"name",init:function(){this.siblings=Op(this.root._guid,"radioname",this.keypath.str),this.siblings.push(this),this.radioName=!0},getInitialValue:function(){return this.element.getAttribute("checked")?this.element.getAttribute("value"):void 0},render:function(){var t=this.element.node;t.name="{{"+this.keypath.str+"}}",t.checked=this.root.viewmodel.get(this.keypath)==this.element.getAttribute("value"),t.addEventListener("change",_p,!1),t.attachEvent&&t.addEventListener("click",_p,!1)},unrender:function(){var t=this.element.node;t.removeEventListener("change",_p,!1),t.removeEventListener("click",_p,!1)},getValue:function(){var t=this.element.node;return t._ractive?t._ractive.value:t.value},handleChange:function(){this.element.node.checked&&xp.prototype.handleChange.call(this)},rebound:function(t,e){var n;xp.prototype.rebound.call(this,t,e),(n=this.element.node)&&(n.name="{{"+this.keypath.str+"}}")},unbind:function(){R(this.siblings,this)}}),jp=Tp,Mp=xp.extend({name:"name",getInitialValue:function(){return this.noInitialValue=!0,[]},init:function(){var t,e;this.checkboxName=!0,this.siblings=Op(this.root._guid,"checkboxes",this.keypath.str),this.siblings.push(this),this.noInitialValue&&(this.siblings.noInitialValue=!0),this.siblings.noInitialValue&&this.element.getAttribute("checked")&&(t=this.root.viewmodel.get(this.keypath),e=this.element.getAttribute("value"),t.push(e))},unbind:function(){R(this.siblings,this)},render:function(){var t,e,n=this.element.node;t=this.root.viewmodel.get(this.keypath),e=this.element.getAttribute("value"),a(t)?this.isChecked=M(t,e):this.isChecked=t==e,n.name="{{"+this.keypath.str+"}}",n.checked=this.isChecked,n.addEventListener("change",_p,!1),n.attachEvent&&n.addEventListener("click",_p,!1)},unrender:function(){var t=this.element.node;t.removeEventListener("change",_p,!1),t.removeEventListener("click",_p,!1)},changed:function(){var t=!!this.isChecked;return this.isChecked=this.element.node.checked,this.isChecked===t},handleChange:function(){this.isChecked=this.element.node.checked,xp.prototype.handleChange.call(this)},getValue:function(){return this.siblings.filter(sr).map(ur)}}),Fp=Mp,Np=xp.extend({name:"checked",render:function(){var t=this.element.node;t.addEventListener("change",_p,!1),t.attachEvent&&t.addEventListener("click",_p,!1)},unrender:function(){var t=this.element.node;t.removeEventListener("change",_p,!1),t.removeEventListener("click",_p,!1)},getValue:function(){return this.element.node.checked}}),Lp=Np,Rp=xp.extend({getInitialValue:function(){var t,e,n,r,i=this.element.options;if(void 0===this.element.getAttribute("value")&&(e=t=i.length,t)){for(;e--;)if(i[e].getAttribute("selected")){n=i[e].getAttribute("value"),r=!0;break}if(!r)for(;++ee;e+=1)if(r=t[e],t[e].selected)return i=r._ractive?r._ractive.value:r.value},forceUpdate:function(){var t=this,e=this.getValue();void 0!==e&&(this.attribute.locked=!0,ys.scheduleTask(function(){return t.attribute.locked=!1}),this.root.viewmodel.set(this.keypath,e))}}),Ip=Rp,Dp=Ip.extend({getInitialValue:function(){return this.element.options.filter(function(t){return t.getAttribute("selected")}).map(function(t){return t.getAttribute("value")})},render:function(){var t;this.element.node.addEventListener("change",_p,!1),t=this.root.viewmodel.get(this.keypath),void 0===t&&this.handleChange()},unrender:function(){this.element.node.removeEventListener("change",_p,!1)},setValue:function(){throw Error("TODO not implemented yet")},getValue:function(){var t,e,n,r,i,a;for(t=[],e=this.element.node.options,r=e.length,n=0;r>n;n+=1)i=e[n],i.selected&&(a=i._ractive?i._ractive.value:i.value,t.push(a));return t},handleChange:function(){var t,e,n;return t=this.attribute,e=t.value,n=this.getValue(),void 0!==e&&F(n,e)||Ip.prototype.handleChange.call(this),this},forceUpdate:function(){var t=this,e=this.getValue();void 0!==e&&(this.attribute.locked=!0,ys.scheduleTask(function(){return t.attribute.locked=!1}),this.root.viewmodel.set(this.keypath,e))},updateModel:function(){void 0!==this.attribute.value&&this.attribute.value.length||this.root.viewmodel.set(this.keypath,this.initialValue)}}),Up=Dp,Vp=xp.extend({render:function(){this.element.node.addEventListener("change",_p,!1)},unrender:function(){this.element.node.removeEventListener("change",_p,!1)},getValue:function(){return this.element.node.files}}),qp=Vp,Bp=kp.extend({getInitialValue:function(){},getValue:function(){var t=parseFloat(this.element.node.value);return isNaN(t)?void 0:t}}),Wp=cr,zp=fr,Hp=pr,Gp=hr,Kp=dr,$p=/^event(?:\.(.+))?/,Qp=yr,Yp=br,Jp={},Xp={touchstart:!0,touchmove:!0,touchend:!0,touchcancel:!0,touchleave:!0},Zp=xr,th=_r,eh=kr,nh=Er,rh=Sr,ih=function(t,e,n){this.init(t,e,n)};ih.prototype={bubble:zp,fire:Hp,getAction:Gp,init:Kp,listen:Yp,rebind:Zp,render:th,resolve:eh,unbind:nh,unrender:rh};var ah=ih,oh=function(t,e){var n,r,i,a,o=[];for(r in e)if(e.hasOwnProperty(r))for(i=r.split("-"),n=i.length;n--;)a=new ah(t,i[n],e[r]),o.push(a);return o},sh=function(t,e){var n,r,i,a=this;this.element=t,this.root=n=t.root,r=e.n||e,("string"==typeof r||(i=new iv({template:r,root:n,owner:t}),r=""+i,i.unbind(),""!==r))&&(e.a?this.params=e.a:e.d&&(this.fragment=new iv({template:e.d,root:n,owner:t}),this.params=this.fragment.getArgsList(),this.fragment.bubble=function(){this.dirtyArgs=this.dirtyValue=!0,a.params=this.getArgsList(),a.ready&&a.update()}),this.fn=g("decorators",n,r),this.fn||f(Do(r,"decorator")))};sh.prototype={init:function(){var t,e,n;if(t=this.element.node,this.params?(n=[t].concat(this.params),e=this.fn.apply(this.root,n)):e=this.fn.call(this.root,t),!e||!e.teardown)throw Error("Decorator definition must return an object with a teardown method");this.actual=e,this.ready=!0},update:function(){this.actual.update?this.actual.update.apply(this.root,this.params):(this.actual.teardown(!0),this.init())},rebind:function(t,e){this.fragment&&this.fragment.rebind(t,e)},teardown:function(t){this.torndown=!0,this.ready&&this.actual.teardown(),!t&&this.fragment&&this.fragment.unbind()}};var uh,ch,lh,fh=sh,ph=Mr,hh=Fr,dh=Ur,mh=function(t){return t.replace(/-([a-zA-Z])/g,function(t,e){return e.toUpperCase()})};Xa?(ch={},lh=lo("div").style,uh=function(t){var e,n,r;if(t=mh(t),!ch[t])if(void 0!==lh[t])ch[t]=t;else for(r=t.charAt(0).toUpperCase()+t.substring(1),e=io.length;e--;)if(n=io[e],void 0!==lh[n+r]){ch[t]=n+r;break}return ch[t]}):uh=null;var vh,gh,yh=uh;Xa?(gh=window.getComputedStyle||Ao.getComputedStyle,vh=function(t){var e,n,r,i,o;if(e=gh(this.node),"string"==typeof t)return o=e[yh(t)],"0px"===o&&(o=0),o;if(!a(t))throw Error("Transition$getStyle must be passed a string, or an array of strings representing CSS properties");for(n={},r=t.length;r--;)i=t[r],o=e[yh(i)],"0px"===o&&(o=0),n[i]=o;return n}):vh=null;var bh=vh,wh=function(t,e){var n;if("string"==typeof t)this.node.style[yh(t)]=e;else for(n in t)t.hasOwnProperty(n)&&(this.node.style[yh(n)]=t[n]);return this},xh=function(t){var e;this.duration=t.duration,this.step=t.step,this.complete=t.complete,"string"==typeof t.easing?(e=t.root.easing[t.easing],e||(v(Do(t.easing,"easing")),e=Vr)):e="function"==typeof t.easing?t.easing:Vr,this.easing=e,this.start=ns(),this.end=this.start+this.duration,this.running=!0,xs.add(this)};xh.prototype={tick:function(t){var e,n;return this.running?t>this.end?(this.step&&this.step(1),this.complete&&this.complete(1),!1):(e=t-this.start,n=this.easing(e/this.duration),this.step&&this.step(n),!0):!1},stop:function(){this.abort&&this.abort(),this.running=!1}};var _h,kh,Eh,Sh,Oh,Ah,Ph,Ch,Th=xh,jh=RegExp("^-(?:"+io.join("|")+")-"),Mh=function(t){return t.replace(jh,"")},Fh=RegExp("^(?:"+io.join("|")+")([A-Z])"),Nh=function(t){var e;return t?(Fh.test(t)&&(t="-"+t),e=t.replace(/[A-Z]/g,function(t){return"-"+t.toLowerCase()})):""},Lh={},Rh={};Xa?(kh=lo("div").style,function(){void 0!==kh.transition?(Eh="transition",Sh="transitionend",Oh=!0):void 0!==kh.webkitTransition?(Eh="webkitTransition",Sh="webkitTransitionEnd",Oh=!0):Oh=!1}(),Eh&&(Ah=Eh+"Duration",Ph=Eh+"Property",Ch=Eh+"TimingFunction"),_h=function(t,e,n,r,i){setTimeout(function(){var a,o,s,u,c;u=function(){o&&s&&(t.root.fire(t.name+":end",t.node,t.isIntro),i())},a=(t.node.namespaceURI||"")+t.node.tagName,t.node.style[Ph]=r.map(yh).map(Nh).join(","),t.node.style[Ch]=Nh(n.easing||"linear"),t.node.style[Ah]=n.duration/1e3+"s",c=function(e){var n;n=r.indexOf(mh(Mh(e.propertyName))),-1!==n&&r.splice(n,1),r.length||(t.node.removeEventListener(Sh,c,!1),s=!0,u())},t.node.addEventListener(Sh,c,!1),setTimeout(function(){for(var i,l,f,p,h,d=r.length,v=[];d--;)p=r[d],i=a+p,Oh&&!Rh[i]&&(t.node.style[yh(p)]=e[p],Lh[i]||(l=t.getStyle(p),Lh[i]=t.getStyle(p)!=e[p],Rh[i]=!Lh[i],Rh[i]&&(t.node.style[yh(p)]=l))),(!Oh||Rh[i])&&(void 0===l&&(l=t.getStyle(p)),f=r.indexOf(p),-1===f?m("Something very strange happened with transitions. Please raise an issue at https://github.com/ractivejs/ractive/issues - thanks!",{node:t.node}):r.splice(f,1),h=/[^\d]*$/.exec(e[p])[0],v.push({name:yh(p),interpolator:Vo(parseFloat(l),parseFloat(e[p])),suffix:h}));v.length?new Th({root:t.root,duration:n.duration,easing:mh(n.easing||""),step:function(e){var n,r;for(r=v.length;r--;)n=v[r],t.node.style[n.name]=n.interpolator(e)+n.suffix},complete:function(){o=!0,u()}}):o=!0,r.length||(t.node.removeEventListener(Sh,c,!1),s=!0,u())},0)},n.delay||0)}):_h=null;var Ih,Dh,Uh,Vh,qh,Bh=_h;if("undefined"!=typeof document){if(Ih="hidden",qh={},Ih in document)Uh="";else for(Vh=io.length;Vh--;)Dh=io[Vh],Ih=Dh+"Hidden",Ih in document&&(Uh=Dh);void 0!==Uh?(document.addEventListener(Uh+"visibilitychange",qr),qr()):("onfocusout"in document?(document.addEventListener("focusout",Br),document.addEventListener("focusin",Wr)):(window.addEventListener("pagehide",Br),window.addEventListener("blur",Br),window.addEventListener("pageshow",Wr),window.addEventListener("focus",Wr)),qh.hidden=!1)}var Wh,zh,Hh,Gh=qh;Xa?(zh=window.getComputedStyle||Ao.getComputedStyle,Wh=function(t,e,n){var r,i=this;if(4===arguments.length)throw Error("t.animateStyle() returns a promise - use .then() instead of passing a callback");if(Gh.hidden)return this.setStyle(t,e),Hh||(Hh=cs.resolve());"string"==typeof t?(r={},r[t]=e):(r=t,n=e),n||(v('The "%s" transition does not supply an options object to `t.animateStyle()`. This will break in a future version of Ractive. For more info see https://github.com/RactiveJS/Ractive/issues/340',this.name),n=this);var a=new cs(function(t){var e,a,o,s,u,c,l;if(!n.duration)return i.setStyle(r),void t();for(e=Object.keys(r),a=[],o=zh(i.node),u={},c=e.length;c--;)l=e[c],s=o[yh(l)],"0px"===s&&(s=0),s!=r[l]&&(a.push(l),i.node.style[yh(l)]=s);return a.length?void Bh(i,r,n,a,t):void t()});return a}):Wh=null;var Kh=Wh,$h=function(t,e){return"number"==typeof t?t={duration:t}:"string"==typeof t?t="slow"===t?{duration:600}:"fast"===t?{duration:200}:{duration:400}:t||(t={}),i({},t,e)},Qh=zr,Yh=function(t,e,n){this.init(t,e,n)};Yh.prototype={init:dh,start:Qh,getStyle:bh,setStyle:wh,animateStyle:Kh,processParams:$h};var Jh,Xh,Zh=Yh,td=Gr;Jh=function(){var t=this.node,e=this.fragment.toString(!1);if(window&&window.appearsToBeIELessEqual8&&(t.type="text/css"),t.styleSheet)t.styleSheet.cssText=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}},Xh=function(){this.node.type&&"text/javascript"!==this.node.type||m("Script tag was updated. This does not cause the code to be re-evaluated!",{ractive:this.root}),this.node.text=this.fragment.toString(!1)};var ed=function(){var t,e;return this.template.y?"":(t="<"+this.template.e,t+=this.attributes.map(Xr).join("")+this.conditionalAttributes.map(Xr).join(""),"option"===this.name&&Yr(this)&&(t+=" selected"),"input"===this.name&&Jr(this)&&(t+=" checked"),t+=">","textarea"===this.name&&void 0!==this.getAttribute("value")?t+=Ee(this.getAttribute("value")):void 0!==this.getAttribute("contenteditable")&&(t+=this.getAttribute("value")||""),this.fragment&&(e="script"!==this.name&&"style"!==this.name,t+=this.fragment.toString(e)),al.test(this.template.e)||(t+=""+this.template.e+">"),t)},nd=Zr,rd=ti,id=function(t){this.init(t)};id.prototype={bubble:jf,detach:Mf,find:Ff,findAll:Nf,findAllComponents:Lf,findComponent:Rf,findNextNode:If,firstNode:Df,getAttribute:Uf,init:ph,rebind:hh,render:td,toString:ed,unbind:nd,unrender:rd};var ad=id,od=/^\s*$/,sd=/^\s*/,ud=function(t){var e,n,r,i;return e=t.split("\n"),n=e[0],void 0!==n&&od.test(n)&&e.shift(),r=L(e),void 0!==r&&od.test(r)&&e.pop(),i=e.reduce(ni,null),i&&(t=e.map(function(t){return t.replace(i,"")}).join("\n")),t},cd=ri,ld=function(t,e){var n;return e?n=t.split("\n").map(function(t,n){return n?e+t:t}).join("\n"):t},fd='Could not find template for partial "%s"',pd=function(t){var e,n;e=this.parentFragment=t.parentFragment,this.root=e.root,this.type=Pc,this.index=t.index,this.name=t.template.r,this.rendered=!1,this.fragment=this.fragmentToRender=this.fragmentToUnrender=null,Wl.init(this,t),this.keypath||((n=cd(this.root,this.name,e))?(wl.call(this),this.isNamed=!0,this.setTemplate(n)):v(fd,this.name))};pd.prototype={bubble:function(){this.parentFragment.bubble()},detach:function(){return this.fragment.detach()},find:function(t){return this.fragment.find(t)},findAll:function(t,e){return this.fragment.findAll(t,e)},findComponent:function(t){return this.fragment.findComponent(t)},findAllComponents:function(t,e){return this.fragment.findAllComponents(t,e)},firstNode:function(){return this.fragment.firstNode()},findNextNode:function(){return this.parentFragment.findNextNode(this)},getPartialName:function(){return this.isNamed&&this.name?this.name:void 0===this.value?this.name:this.value},getValue:function(){return this.fragment.getValue()},rebind:function(t,e){this.isNamed||Bl.call(this,t,e),this.fragment&&this.fragment.rebind(t,e)},render:function(){return this.docFrag=document.createDocumentFragment(),this.update(),this.rendered=!0,this.docFrag},resolve:Wl.resolve,setValue:function(t){var e;(void 0===t||t!==this.value)&&(void 0!==t&&(e=cd(this.root,""+t,this.parentFragment)),!e&&this.name&&(e=cd(this.root,this.name,this.parentFragment))&&(wl.call(this),this.isNamed=!0),e||v(fd,this.name,{ractive:this.root}),this.value=t,this.setTemplate(e||[]),this.bubble(),this.rendered&&ys.addView(this))},setTemplate:function(t){this.fragment&&(this.fragment.unbind(),this.rendered&&(this.fragmentToUnrender=this.fragment)),this.fragment=new iv({template:t,root:this.root,owner:this,pElement:this.parentFragment.pElement}),this.fragmentToRender=this.fragment},toString:function(t){var e,n,r,i;return e=this.fragment.toString(t),n=this.parentFragment.items[this.index-1],n&&n.type===kc?(r=n.text.split("\n").pop(),(i=/^\s+$/.exec(r))?ld(e,i[0]):e):e},unbind:function(){this.isNamed||wl.call(this),this.fragment&&this.fragment.unbind()},unrender:function(t){this.rendered&&(this.fragment&&this.fragment.unrender(t),this.rendered=!1)},update:function(){var t,e;this.fragmentToUnrender&&(this.fragmentToUnrender.unrender(!0),this.fragmentToUnrender=null),this.fragmentToRender&&(this.docFrag.appendChild(this.fragmentToRender.render()),this.fragmentToRender=null),this.rendered&&(t=this.parentFragment.getNode(),e=this.parentFragment.findNextNode(this),t.insertBefore(this.docFrag,e))}};var hd,dd,md,vd=pd,gd=ui,yd=ci,bd=new as("detach"),wd=li,xd=fi,_d=pi,kd=hi,Ed=di,Sd=mi,Od=function(t,e,n,r){var i=t.root,a=t.keypath;r?i.viewmodel.smartUpdate(a,e,r):i.viewmodel.mark(a)},Ad=[],Pd=["pop","push","reverse","shift","sort","splice","unshift"];Pd.forEach(function(t){var e=function(){for(var e=arguments.length,n=Array(e),r=0;e>r;r++)n[r]=arguments[r];var i,a,o,s;for(i=yu(this,t,n),a=Array.prototype[t].apply(this,arguments),ys.start(),this._ractive.setting=!0,s=this._ractive.wrappers.length;s--;)o=this._ractive.wrappers[s],ys.addRactive(o.root),Od(o,this,t,i);return ys.end(),this._ractive.setting=!1,a};So(Ad,t,{value:e})}),hd={},hd.__proto__?(dd=function(t){t.__proto__=Ad},md=function(t){t.__proto__=Array.prototype}):(dd=function(t){var e,n;for(e=Pd.length;e--;)n=Pd[e],So(t,n,{value:Ad[n],configurable:!0})},md=function(t){var e;for(e=Pd.length;e--;)delete t[Pd[e]]}),dd.unpatch=md;var Cd,Td,jd,Md=dd;Cd={filter:function(t){return a(t)&&(!t._ractive||!t._ractive.setting)},wrap:function(t,e,n){return new Td(t,e,n)}},Td=function(t,e,n){this.root=t,this.value=e,this.keypath=E(n),e._ractive||(So(e,"_ractive",{value:{wrappers:[],instances:[],setting:!1},configurable:!0}),Md(e)),e._ractive.instances[t._guid]||(e._ractive.instances[t._guid]=0,e._ractive.instances.push(t)),e._ractive.instances[t._guid]+=1,e._ractive.wrappers.push(this)},Td.prototype={get:function(){return this.value},teardown:function(){var t,e,n,r,i;if(t=this.value,e=t._ractive,n=e.wrappers,r=e.instances,e.setting)return!1;if(i=n.indexOf(this),-1===i)throw Error(jd);if(n.splice(i,1),n.length){if(r[this.root._guid]-=1,!r[this.root._guid]){if(i=r.indexOf(this.root),-1===i)throw Error(jd);r.splice(i,1)}}else delete t._ractive,Md.unpatch(this.value)}},jd="Something went wrong in a rather interesting way";var Fd,Nd,Ld=Cd,Rd=/^\s*[0-9]+\s*$/,Id=function(t){return Rd.test(t)?[]:{}};try{Object.defineProperty({},"test",{value:0}),Fd={filter:function(t,e,n){var r,i;return e?(e=E(e),(r=n.viewmodel.wrapped[e.parent.str])&&!r.magic?!1:(i=n.viewmodel.get(e.parent),a(i)&&/^[0-9]+$/.test(e.lastKey)?!1:i&&("object"==typeof i||"function"==typeof i))):!1},wrap:function(t,e,n){return new Nd(t,e,n)}},Nd=function(t,e,n){var r,i,a;return n=E(n),this.magic=!0,this.ractive=t,this.keypath=n,this.value=e,this.prop=n.lastKey,r=n.parent,this.obj=r.isRoot?t.viewmodel.data:t.viewmodel.get(r),i=this.originalDescriptor=Object.getOwnPropertyDescriptor(this.obj,this.prop),i&&i.set&&(a=i.set._ractiveWrappers)?void(-1===a.indexOf(this)&&a.push(this)):void vi(this,e,i)},Nd.prototype={get:function(){return this.value},reset:function(t){return this.updating?void 0:(this.updating=!0,this.obj[this.prop]=t,ys.addRactive(this.ractive),this.ractive.viewmodel.mark(this.keypath,{keepExistingWrapper:!0}),this.updating=!1,!0)},set:function(t,e){this.updating||(this.obj[this.prop]||(this.updating=!0,this.obj[this.prop]=Id(t),this.updating=!1),this.obj[this.prop][t]=e)},teardown:function(){var t,e,n,r,i;return this.updating?!1:(t=Object.getOwnPropertyDescriptor(this.obj,this.prop),e=t&&t.set,void(e&&(r=e._ractiveWrappers,i=r.indexOf(this),-1!==i&&r.splice(i,1),r.length||(n=this.obj[this.prop],Object.defineProperty(this.obj,this.prop,this.originalDescriptor||{writable:!0,enumerable:!0,configurable:!0}),this.obj[this.prop]=n))))}}}catch(Po){Fd=!1}var Dd,Ud,Vd=Fd;Vd&&(Dd={filter:function(t,e,n){return Vd.filter(t,e,n)&&Ld.filter(t)},wrap:function(t,e,n){return new Ud(t,e,n)}},Ud=function(t,e,n){this.value=e,this.magic=!0,this.magicWrapper=Vd.wrap(t,e,n),this.arrayWrapper=Ld.wrap(t,e,n)},Ud.prototype={get:function(){return this.value},teardown:function(){this.arrayWrapper.teardown(),this.magicWrapper.teardown()},reset:function(t){return this.magicWrapper.reset(t)}});var qd=Dd,Bd=gi,Wd={},zd=wi,Hd=xi,Gd=Ei,Kd=Ci,$d=Ti,Qd=function(t,e){this.computation=t,this.viewmodel=t.viewmodel,this.ref=e,this.root=this.viewmodel.ractive,this.parentFragment=this.root.component&&this.root.component.parentFragment};Qd.prototype={resolve:function(t){this.computation.softDeps.push(t),this.computation.unresolvedDeps[t.str]=null,this.viewmodel.register(t,this.computation,"computed")}};var Yd=Qd,Jd=function(t,e){this.key=t,this.getter=e.getter,this.setter=e.setter,this.hardDeps=e.deps||[],this.softDeps=[],this.unresolvedDeps={},this.depValues={},this._dirty=this._firstRun=!0};Jd.prototype={constructor:Jd,init:function(t){var e,n=this;this.viewmodel=t,this.bypass=!0,e=t.get(this.key),t.clearCache(this.key.str),this.bypass=!1,this.setter&&void 0!==e&&this.set(e),this.hardDeps&&this.hardDeps.forEach(function(e){return t.register(e,n,"computed")})},invalidate:function(){this._dirty=!0},get:function(){var t,e,n=this,r=!1;if(this.getting){var i="The "+this.key.str+" computation indirectly called itself. This probably indicates a bug in the computation. It is commonly caused by `array.sort(...)` - if that's the case, clone the array first with `array.slice().sort(...)`";return d(i),this.value}if(this.getting=!0,this._dirty){if(this._firstRun||!this.hardDeps.length&&!this.softDeps.length?r=!0:[this.hardDeps,this.softDeps].forEach(function(t){var e,i,a;if(!r)for(a=t.length;a--;)if(e=t[a],i=n.viewmodel.get(e),!s(i,n.depValues[e.str]))return n.depValues[e.str]=i,void(r=!0)}),r){this.viewmodel.capture();try{this.value=this.getter()}catch(a){m('Failed to compute "%s"',this.key.str),p(a.stack||a),this.value=void 0}t=this.viewmodel.release(),e=this.updateDependencies(t),e&&[this.hardDeps,this.softDeps].forEach(function(t){t.forEach(function(t){n.depValues[t.str]=n.viewmodel.get(t)})})}this._dirty=!1}return this.getting=this._firstRun=!1,this.value},set:function(t){if(this.setting)return void(this.value=t);if(!this.setter)throw Error("Computed properties without setters are read-only. (This may change in a future version of Ractive!)");this.setter(t)},updateDependencies:function(t){var e,n,r,i,a;for(n=this.softDeps,e=n.length;e--;)r=n[e],-1===t.indexOf(r)&&(i=!0,this.viewmodel.unregister(r,this,"computed"));for(e=t.length;e--;)r=t[e],-1!==n.indexOf(r)||this.hardDeps&&-1!==this.hardDeps.indexOf(r)||(i=!0,ji(this.viewmodel,r)&&!this.unresolvedDeps[r.str]?(a=new Yd(this,r.str),t.splice(e,1),this.unresolvedDeps[r.str]=a,ys.addUnresolved(a)):this.viewmodel.register(r,this,"computed"));return i&&(this.softDeps=t.slice()),i}};var Xd=Jd,Zd=Mi,tm={FAILED_LOOKUP:!0},em=Fi,nm={},rm=Li,im=Ri,am=function(t,e){this.localKey=t,this.keypath=e.keypath,this.origin=e.origin,this.deps=[],this.unresolved=[],this.resolved=!1};am.prototype={forceResolution:function(){this.keypath=this.localKey,this.setup()},get:function(t,e){return this.resolved?this.origin.get(this.map(t),e):void 0},getValue:function(){return this.keypath?this.origin.get(this.keypath):void 0},initViewmodel:function(t){this.local=t,this.setup()},map:function(t){return void 0===typeof this.keypath?this.localKey:t.replace(this.localKey,this.keypath)},register:function(t,e,n){this.deps.push({keypath:t,dep:e,group:n}),this.resolved&&this.origin.register(this.map(t),e,n)},resolve:function(t){void 0!==this.keypath&&this.unbind(!0),this.keypath=t,this.setup()},set:function(t,e){this.resolved||this.forceResolution(),this.origin.set(this.map(t),e)},setup:function(){var t=this;void 0!==this.keypath&&(this.resolved=!0,this.deps.length&&(this.deps.forEach(function(e){var n=t.map(e.keypath);if(t.origin.register(n,e.dep,e.group),e.dep.setValue)e.dep.setValue(t.origin.get(n));else{if(!e.dep.invalidate)throw Error("An unexpected error occurred. Please raise an issue at https://github.com/ractivejs/ractive/issues - thanks!");e.dep.invalidate()}}),this.origin.mark(this.keypath)))},setValue:function(t){if(!this.keypath)throw Error("Mapping does not have keypath, cannot set value. Please raise an issue at https://github.com/ractivejs/ractive/issues - thanks!");this.origin.set(this.keypath,t)},unbind:function(t){var e=this;t||delete this.local.mappings[this.localKey],this.resolved&&(this.deps.forEach(function(t){e.origin.unregister(e.map(t.keypath),t.dep,t.group)}),this.tracker&&this.origin.unregister(this.keypath,this.tracker))},unregister:function(t,e,n){var r,i;if(this.resolved){for(r=this.deps,i=r.length;i--;)if(r[i].dep===e){r.splice(i,1);break}this.origin.unregister(this.map(t),e,n)}}};var om=Ii,sm=function(t,e){var n,r,i,a;return n={},r=0,i=t.map(function(t,i){var o,s,u;s=r,u=e.length;do{if(o=e.indexOf(t,s),-1===o)return a=!0,-1;s=o+1}while(n[o]&&u>s);return o===r&&(r+=1),o!==i&&(a=!0),n[o]=!0,o})},um=Di,cm={},lm=qi,fm=Wi,pm=zi,hm=Hi,dm=Ki,mm={implicit:!0},vm={noCascade:!0},gm=Qi,ym=Yi,bm=function(t){var e,n,r=t.adapt,i=t.data,a=t.ractive,o=t.computed,s=t.mappings;this.ractive=a,this.adaptors=r,this.onchange=t.onchange,this.cache={},this.cacheMap=Eo(null),this.deps={computed:Eo(null),"default":Eo(null)},this.depsMap={computed:Eo(null),"default":Eo(null)},this.patternObservers=[],this.specials=Eo(null),this.wrapped=Eo(null),this.computations=Eo(null),this.captureGroups=[],this.unresolvedImplicitDependencies=[],this.changes=[],this.implicitChanges={},this.noCascade={},this.data=i,this.mappings=Eo(null);for(e in s)this.map(E(e),s[e]);if(i)for(e in i)(n=this.mappings[e])&&void 0===n.getValue()&&n.setValue(i[e]);for(e in o)s&&e in s&&f("Cannot map to a computed property ('%s')",e),this.compute(E(e),o[e]);this.ready=!0};bm.prototype={adapt:Bd,applyChanges:Gd,capture:Kd,clearCache:$d,compute:Zd,get:em,init:rm,map:im,mark:om,merge:um,register:lm,release:fm,reset:pm,set:hm,smartUpdate:dm,teardown:gm,unregister:ym};var wm=bm;Xi.prototype={constructor:Xi,begin:function(t){this.inProcess[t._guid]=!0},end:function(t){var e=t.parent;e&&this.inProcess[e._guid]?Zi(this.queue,e).push(t):ta(this,t),delete this.inProcess[t._guid]}};var xm=Xi,_m=ea,km=/\$\{([^\}]+)\}/g,Em=new as("construct"),Sm=new as("config"),Om=new xm("init"),Am=0,Pm=["adaptors","components","decorators","easing","events","interpolators","partials","transitions"],Cm=aa,Tm=la;la.prototype={bubble:function(){this.dirty||(this.dirty=!0,ys.addView(this))},update:function(){this.callback(this.fragment.getValue()),this.dirty=!1},rebind:function(t,e){this.fragment.rebind(t,e)},unbind:function(){this.fragment.unbind()}};var jm=function(t,e,n,i,o){var s,u,c,l,f,p,h={},d={},v={},g=[];for(u=t.parentFragment,c=t.root,o=o||{},r(h,o),o.content=i||[],h[""]=o.content,e.defaults.el&&m("The <%s/> component has a default `el` property; it has been disregarded",t.name),l=u;l;){if(l.owner.type===Mc){f=l.owner.container;break}l=l.parent}return n&&Object.keys(n).forEach(function(e){var r,i,o=n[e];if("string"==typeof o)r=pl(o),d[e]=r?r.value:o;else if(0===o)d[e]=!0;else{if(!a(o))throw Error("erm wut");pa(o)?(v[e]={origin:t.root.viewmodel,keypath:void 0},i=fa(t,o[0],function(t){t.isSpecial?p?s.set(e,t.value):(d[e]=t.value,delete v[e]):p?s.viewmodel.mappings[e].resolve(t):v[e].keypath=t})):i=new Tm(t,o,function(t){p?s.set(e,t):d[e]=t}),g.push(i)}}),s=Eo(e.prototype),Cm(s,{el:null,append:!0,data:d,partials:o,magic:c.magic||e.defaults.magic,modifyArrays:c.modifyArrays,adapt:c.adapt},{parent:c,component:t,container:f,mappings:v,inlinePartials:h,cssIds:u.cssIds}),p=!0,t.resolvers=g,s},Mm=ha,Fm=function(t){var e,n;for(e=t.root;e;)(n=e._liveComponentQueries["_"+t.name])&&n.push(t.instance),e=e.parent},Nm=ma,Lm=va,Rm=ga,Im=ya,Dm=ba,Um=new as("teardown"),Vm=xa,qm=function(t,e){this.init(t,e)};qm.prototype={detach:yd,find:wd,findAll:xd,findAllComponents:_d,findComponent:kd,findNextNode:Ed,firstNode:Sd,init:Nm,rebind:Lm,render:Rm,toString:Im,unbind:Dm,unrender:Vm};var Bm=qm,Wm=function(t){this.type=Cc,this.value=t.template.c};Wm.prototype={detach:gl,firstNode:function(){return this.node},render:function(){return this.node||(this.node=document.createComment(this.value)),this.node},toString:function(){return""},unrender:function(t){t&&this.node.parentNode.removeChild(this.node)}};var zm=Wm,Hm=function(t){var e,n;this.type=Mc,this.container=e=t.parentFragment.root,this.component=n=e.component,this.container=e,this.containerFragment=t.parentFragment,this.parentFragment=n.parentFragment;var r=this.name=t.template.n||"",i=e._inlinePartials[r];i||(m('Could not find template for partial "'+r+'"',{ractive:t.root}),i=[]),this.fragment=new iv({owner:this,root:e.parent,template:i,pElement:this.containerFragment.pElement}),a(n.yielders[r])?n.yielders[r].push(this):n.yielders[r]=[this],ys.scheduleTask(function(){if(n.yielders[r].length>1)throw Error("A component template can only have one {{yield"+(r?" "+r:"")+"}} declaration at a time")})};Hm.prototype={detach:function(){return this.fragment.detach()},find:function(t){return this.fragment.find(t)},findAll:function(t,e){return this.fragment.findAll(t,e)},findComponent:function(t){return this.fragment.findComponent(t)},findAllComponents:function(t,e){return this.fragment.findAllComponents(t,e)},findNextNode:function(){return this.containerFragment.findNextNode(this)},firstNode:function(){return this.fragment.firstNode()},getValue:function(t){return this.fragment.getValue(t)},render:function(){return this.fragment.render()},unbind:function(){this.fragment.unbind()},unrender:function(t){this.fragment.unrender(t),R(this.component.yielders[this.name],this)},rebind:function(t,e){this.fragment.rebind(t,e)},toString:function(){return""+this.fragment}};var Gm=Hm,Km=function(t){this.declaration=t.template.a};Km.prototype={init:ko,render:ko,unrender:ko,teardown:ko,toString:function(){return""}};var $m=Km,Qm=_a,Ym=Ea,Jm=Sa,Xm=Oa,Zm=Ca,tv=ja,ev=function(t){this.init(t)};ev.prototype={bubble:lc,detach:fc,find:pc,findAll:hc,findAllComponents:dc,findComponent:mc,findNextNode:vc,firstNode:gc,getArgsList:dl,getNode:ml,getValue:vl,init:Qm,rebind:Ym,registerIndexRef:function(t){var e=this.registeredIndexRefs;-1===e.indexOf(t)&&e.push(t)},render:Jm,toString:Xm,unbind:Zm,unregisterIndexRef:function(t){var e=this.registeredIndexRefs;e.splice(e.indexOf(t),1)},unrender:tv};var nv,rv,iv=ev,av=Ma,ov=["template","partials","components","decorators","events"],sv=new as("reset"),uv=function(t,e){function n(e,r,i){i&&i.partials[t]||e.forEach(function(e){e.type===Pc&&e.getPartialName()===t&&r.push(e),e.fragment&&n(e.fragment.items,r,i),a(e.fragments)?n(e.fragments,r,i):a(e.items)?n(e.items,r,i):e.type===jc&&e.instance&&n(e.instance.fragment.items,r,e.instance),e.type===Ac&&(a(e.attributes)&&n(e.attributes,r,i),a(e.conditionalAttributes)&&n(e.conditionalAttributes,r,i))})}var r,i=[];return n(this.fragment.items,i),this.partials[t]=e,r=ys.start(this,!0),i.forEach(function(e){e.value=void 0,e.setValue(t)}),ys.end(),r},cv=Fa,lv=wu("reverse"),fv=Na,pv=wu("shift"),hv=wu("sort"),dv=wu("splice"),mv=Ra,vv=Ia,gv=new as("teardown"),yv=Ua,bv=Va,wv=qa,xv=new as("unrender"),_v=wu("unshift"),kv=Ba,Ev=new as("update"),Sv=Wa,Ov={add:Zo,animate:Es,detach:Os,find:Ps,findAll:Is,findAllComponents:Ds,findComponent:Us,findContainer:Vs,findParent:qs,fire:Hs,get:Gs,insert:$s,merge:Ys,observe:fu,observeOnce:pu,off:mu,on:vu,once:gu,pop:xu,push:_u,render:Tu,reset:av,resetPartial:uv,resetTemplate:cv,reverse:lv,set:fv,shift:pv,sort:hv,splice:dv,subtract:mv,teardown:vv,toggle:yv,toHTML:bv,toHtml:bv,unrender:wv,unshift:_v,update:kv,updateModel:Sv},Av=function(t,e,n){return n||Ha(t,e)?function(){var n,r="_super"in this,i=this._super;return this._super=e,n=t.apply(this,arguments),r&&(this._super=i),n}:t},Pv=Ga,Cv=Ya,Tv=function(t){var e,n,r={};return t&&(e=t._ractive)?(r.ractive=e.root,r.keypath=e.keypath.str,
-r.index={},(n=Cl(e.proxy.parentFragment))&&(r.index=Cl.resolve(n)),r):r};nv=function(t){return this instanceof nv?void Cm(this,t):new nv(t)},rv={DEBUG:{writable:!0,value:!0},DEBUG_PROMISES:{writable:!0,value:!0},extend:{value:Cv},getNodeInfo:{value:Tv},parse:{value:Gu},Promise:{value:cs},svg:{value:ro},magic:{value:eo},VERSION:{value:"0.7.3"},adaptors:{writable:!0,value:{}},components:{writable:!0,value:{}},decorators:{writable:!0,value:{}},easing:{writable:!0,value:uo},events:{writable:!0,value:{}},interpolators:{writable:!0,value:Bo},partials:{writable:!0,value:{}},transitions:{writable:!0,value:{}}},Oo(nv,rv),nv.prototype=r(Ov,so),nv.prototype.constructor=nv,nv.defaults=nv.prototype;var jv="function";if(typeof Date.now!==jv||typeof String.prototype.trim!==jv||typeof Object.keys!==jv||typeof Array.prototype.indexOf!==jv||typeof Array.prototype.forEach!==jv||typeof Array.prototype.map!==jv||typeof Array.prototype.filter!==jv||"undefined"!=typeof window&&typeof window.addEventListener!==jv)throw Error("It looks like you're attempting to use Ractive.js in an older browser. You'll need to use one of the 'legacy builds' in order to continue - see http://docs.ractivejs.org/latest/legacy-builds for more information.");var Mv=nv;return Mv})},{}],197:[function(t,e,n){!function(){function t(t,e,n){return t.call.apply(t.bind,arguments)}function n(t,e,n){if(!t)throw Error();if(2r;r++)if(n[r]==e)return!0;return!1}function l(t){if("string"==typeof t.f)return t.f;var e=t.m.location.protocol;return"about:"==e&&(e=t.a.location.protocol),"https:"==e?"https:":"http:"}function f(t){return t.m.location.hostname||t.a.location.hostname}function p(t,e,n){function r(){c&&i&&s&&(c(u),c=null)}e=a(t,"link",{rel:"stylesheet",href:e,media:"all"});var i=!1,s=!0,u=null,c=n||null;it?(e.onload=function(){i=!0,r()},e.onerror=function(){i=!0,u=Error("Stylesheet failed to load"),r()}):setTimeout(function(){i=!0,r()},0),o(t,"head",e)}function h(t,e,n,r){var i=t.c.getElementsByTagName("head")[0];if(i){var o=a(t,"script",{src:e}),s=!1;return o.onload=o.onreadystatechange=function(){s||this.readyState&&"loaded"!=this.readyState&&"complete"!=this.readyState||(s=!0,n&&n(null),o.onload=o.onreadystatechange=null,"HEAD"==o.parentNode.tagName&&i.removeChild(o))},i.appendChild(o),setTimeout(function(){s||(s=!0,n&&n(Error("Script load timeout")))},r||5e3),o}return null}function d(){this.a=0,this.c=null}function m(t){return t.a++,function(){t.a--,g(t)}}function v(t,e){t.c=e,g(t)}function g(t){0==t.a&&t.c&&(t.c(),t.c=null)}function y(t){this.a=t||"-"}function b(t,e){this.c=t,this.f=4,this.a="n";var n=(e||"n4").match(/^([nio])([1-9])$/i);n&&(this.a=n[1],this.f=parseInt(n[2],10))}function w(t){return k(t)+" "+(t.f+"00")+" 300px "+x(t.c)}function x(t){var e=[];t=t.split(/,\s*/);for(var n=0;nparseInt(t[1],10)||536===parseInt(t[1],10)&&11>=parseInt(t[2],10))}return ot}function I(t,e,n){for(var r in at)if(at.hasOwnProperty(r)&&e===t.f[at[r]]&&n===t.f[at[r]])return!0;return!1}function D(t){var e,n=t.g.a.offsetWidth,r=t.h.a.offsetWidth;(e=n===t.f.serif&&r===t.f["sans-serif"])||(e=R()&&I(t,n,r)),e?rt()-t.A>=t.w?R()&&I(t,n,r)&&(null===t.u||t.u.hasOwnProperty(t.a.c))?V(t,t.v):V(t,t.B):U(t):V(t,t.v)}function U(t){setTimeout(r(function(){D(this)},t),50)}function V(t,e){setTimeout(r(function(){s(this.g.a),s(this.h.a),s(this.j.a),s(this.o.a),e(this.a)},t),0)}function q(t,e,n){this.c=t,this.a=e,this.f=0,this.o=this.j=!1,this.s=n}function B(t){0==--t.f&&t.j&&(t.o?(t=t.a,t.g&&u(t.f,[t.a.c("wf","active")],[t.a.c("wf","loading"),t.a.c("wf","inactive")]),P(t,"active")):A(t.a))}function W(t){this.j=t,this.a=new C,this.h=0,this.f=this.g=!0}function z(t,e,n,i,a){var o=0==--t.h;(t.f||t.g)&&setTimeout(function(){var t=a||null,s=i||null||{};if(0===n.length&&o)A(e.a);else{e.f+=n.length,o&&(e.j=o);var c,l=[];for(c=0;ce;e++)r[e].load(function(e,n,r){z(t,a,e,n,r)})}function G(t,e){this.c=t,this.a=e}function K(t,e,n){var r=l(t.c);return t=(t.a.api||"fast.fonts.net/jsapi").replace(/^.*http(s?):(\/\/)?/,""),r+"//"+t+"/"+e+".js"+(n?"?v="+n:"")}function $(t,e){this.c=t,this.a=e}function Q(t,e,n){t?this.c=t:this.c=e+ut,this.a=[],this.f=[],this.g=n||""}function Y(t,e){for(var n=e.length,r=0;n>r;r++){var i=e[r].split(":");3==i.length&&t.f.push(i.pop());var a="";2==i.length&&""!=i[1]&&(a=":"),t.a.push(i.join(a))}}function J(t){if(0==t.a.length)throw Error("No fonts to load!");if(-1!=t.c.indexOf("kit="))return t.c;for(var e=t.a.length,n=[],r=0;e>r;r++)n.push(t.a[r].replace(/ /g,"+"));return e=t.c+"?family="+n.join("%7C"),0n;n++){var r=t.f[n].split(":"),i=r[0].replace(/\+/g," "),a=["n4"];if(2<=r.length){var o,s=r[1];if(o=[],s)for(var s=s.split(","),u=s.length,c=0;u>c;c++){var l;if(l=s[c],l.match(/^[\w-]+$/)){var f=pt.exec(l.toLowerCase());if(null==f)l="";else{if(l=f[2],l=null==l||""==l?"n":ft[l],f=f[1],null==f||""==f)f="4";else var p=lt[f],f=p?p:isNaN(f)?"4":f.substr(0,1);l=""+l+f}}else l="";l&&o.push(l)}0=n.j?n.f(n.a):e.fonts.load(w(n.a),n.h).then(function(e){1<=e.length?n.g(n.a):setTimeout(t,25)},function(){n.f(n.a)})}var e=this.c.m.document,n=this,r=rt();t()};var at={D:"serif",C:"sans-serif"},ot=null;L.prototype.start=function(){this.f.serif=this.j.a.offsetWidth,this.f["sans-serif"]=this.o.a.offsetWidth,this.A=rt(),D(this)};var st=null;q.prototype.g=function(t){var e=this.a;e.g&&u(e.f,[e.a.c("wf",t.c,""+_(t),"active")],[e.a.c("wf",t.c,""+_(t),"loading"),e.a.c("wf",t.c,""+_(t),"inactive")]),P(e,"fontactive",t),this.o=!0,B(this)},q.prototype.h=function(t){var e=this.a;if(e.g){var n=c(e.f,e.a.c("wf",t.c,""+_(t),"active")),r=[],i=[e.a.c("wf",t.c,""+_(t),"loading")];n||r.push(e.a.c("wf",t.c,""+_(t),"inactive")),u(e.f,r,i)}P(e,"fontinactive",t),B(this)},W.prototype.load=function(t){this.c=new i(this.j,t.context||this.j),this.g=!1!==t.events,this.f=!1!==t.classes,H(this,new S(this.c,t),t)},G.prototype.load=function(t){function e(){if(i["__mti_fntLst"+n]){var r,a=i["__mti_fntLst"+n](),o=[];if(a)for(var s=0;se;e++)p(this.c,r[e],m(o));var s=[];for(e=0,n=i.length;n>e;e++)if(r=i[e].split(":"),r[1])for(var u=r[1].split(","),c=0;ci;++i){var o=n.fonts[i];r.a.push(new b(o.name,E("font-weight:"+o.weight+";font-style:"+o.style)))}t(r.a)},h(this.c,l(this.c)+(this.f.api||"//f.fontdeck.com/s/css/js/")+f(this.c)+"/"+e+".js",function(e){e&&t([])})):t([])};var dt=new W(window);dt.a.c.custom=function(t,e){return new $(e,t)},dt.a.c.fontdeck=function(t,e){return new nt(e,t)},dt.a.c.monotype=function(t,e){return new G(e,t)},dt.a.c.typekit=function(t,e){return new et(e,t)},dt.a.c.google=function(t,e){return new tt(e,t)};var mt={load:r(dt.load,dt)};"function"==typeof define&&define.amd?define(function(){return mt}):void 0!==e&&e.exports?e.exports=mt:(window.WebFont=mt,window.WebFontConfig&&dt.load(window.WebFontConfig))}()},{}],198:[function(t,e,n){var r=t(196),i={exports:{}};!function(t){"use strict";t.exports={oninit:function(){var t=this;this.observe("value",function(e,n,r){var i=t.get(),a=i.min,o=i.max,s=Math.clamp(a,o,e);t.animate("percentage",Math.round((s-a)/(o-a)*100))})}}}(i),i.exports.template={v:3,t:[" ",{p:[13,1,293],t:7,e:"div",a:{"class":"bar"},f:[{p:[14,3,313],t:7,e:"div",a:{"class":["barFill ",{t:2,r:"state",p:[14,23,333]}],style:["width: ",{t:2,r:"percentage",p:[14,48,358]},"%"]}}," ",{p:[15,3,384],t:7,e:"span",a:{"class":"barText"},f:[{t:16,p:[15,25,406]}]}]}]},e.exports=r.extend(i.exports)},{196:196}],199:[function(t,e,n){var r=t(196),i={exports:{}};!function(e){"use strict";var n=t(241),r=t(240);e.exports={computed:{clickable:function(){return this.get("enabled")&&!this.get("state")?!0:!1},enabled:function(){return this.get("config.status")===n.UI_INTERACTIVE?!0:!1},styles:function(){var t="";if(this.get("tooltip-side")&&(t=" tooltip-"+this.get("tooltip-side")),this.get("grid")&&(t+=" gridable"),this.get("enabled")){var e=this.get("state"),n=this.get("style");return e?"inactive "+e+" "+t:"active normal "+n+" "+t}return"inactive disabled "+t}},oninit:function(){var t=this;this.on("press",function(e){var n=t.get(),i=n.action,a=n.params;(0,r.act)(t.get("config.ref"),i,a),e.node.blur()})}}}(i),i.exports.template={v:3,t:[" ",{p:[48,1,1178],t:7,e:"span",a:{"class":["button ",{t:2,r:"styles",p:[48,21,1198]}],unselectable:"on","data-tooltip":[{t:2,r:"tooltip",p:[51,17,1280]}]},m:[{t:4,f:["tabindex='0'"],r:"clickable",p:[50,3,1232]}],v:{"mouseover-mousemove":"hover",mouseleave:"unhover","click-enter":{n:[{t:4,f:["press"],r:"clickable",p:[54,19,1370]}],d:[]}},f:[{t:4,f:[{p:[56,5,1416],t:7,e:"i",a:{"class":["fa fa-",{t:2,r:"icon",p:[56,21,1432]}]}}],n:50,r:"icon",p:[55,3,1399]}," ",{t:16,p:[58,3,1459]}]}]},e.exports=r.extend(i.exports)},{196:196,240:240,241:241}],200:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"div",a:{"class":"display"},f:[{t:4,f:[{p:[3,5,42],t:7,e:"header",f:[{p:[4,7,57],t:7,e:"h3",f:[{t:2,r:"title",p:[4,11,61]}]}," ",{t:4,f:[{p:[6,9,105],t:7,e:"div",a:{"class":"buttonRight"},f:[{t:16,n:"button",p:[6,34,130]}]}],n:50,r:"button",p:[5,7,82]}]}],n:50,r:"title",p:[2,3,24]}," ",{p:[10,3,193],t:7,e:"article",f:[{t:16,p:[11,5,207]}]}]}]},e.exports=r.extend(i.exports)},{196:196}],201:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"div",a:{"class":"notice"},f:[{t:16,p:[2,3,23]}]}]},e.exports=r.extend(i.exports)},{196:196}],202:[function(t,e,n){var r=t(196),i={exports:{}};!function(e){"use strict";var n=t(240);e.exports={oninit:function(){var t=this;this.observe("config.fancy",function(e,r,i){(0,n.winset)(t.get("config.window"),"can-resize",!e)})}}}(i),i.exports.template={v:3,t:[" ",{t:4,f:[{p:[14,3,258],t:7,e:"div",a:{"class":"resize"},v:{mousedown:"resize"}}],n:50,r:"config.fancy",p:[13,1,235]}]},e.exports=r.extend(i.exports)},{196:196,240:240}],203:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"section",a:{"class":[{t:4,f:["candystripe"],r:"candystripe",p:[1,17,16]}]},f:[{t:4,f:[{p:[3,5,82],t:7,e:"span",a:{"class":"label",style:[{t:4,f:["color:",{t:2,r:"labelcolor",p:[3,53,130]}],r:"labelcolor",p:[3,32,109]}]},f:[{t:2,r:"label",p:[3,84,161]},":"]}],n:50,r:"label",p:[2,3,64]}," ",{t:4,f:[{t:16,p:[6,5,210]}],n:50,r:"nowrap",p:[5,3,191]},{t:4,n:51,f:[{p:[8,5,235],t:7,e:"div",a:{"class":"content",style:[{t:4,f:["float:right;"],r:"right",p:[8,33,263]}]},f:[{t:16,p:[9,7,304]}]}],r:"nowrap"}]}]},e.exports=r.extend(i.exports)},{196:196}],204:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"div",a:{"class":"subdisplay"},f:[{t:4,f:[{p:[3,5,45],t:7,e:"header",f:[{p:[4,7,60],t:7,e:"h4",f:[{t:2,r:"title",p:[4,11,64]}]}," ",{t:4,f:[{t:16,n:"button",p:[5,21,99]}],n:50,r:"button",p:[5,7,85]}]}],n:50,r:"title",p:[2,3,27]}," ",{p:[8,3,149],t:7,e:"article",f:[{t:16,p:[9,5,163]}]}]}]},e.exports=r.extend(i.exports)},{196:196}],205:[function(t,e,n){var r=t(196),i={exports:{}};!function(e){"use strict";var n=t(241),r=t(240);e.exports={computed:{visualStatus:function(){switch(this.get("config.status")){case n.UI_INTERACTIVE:return"good";case n.UI_UPDATE:return"average";case n.UI_DISABLED:return"bad";default:return"bad"}}},oninit:function(){var t=this;this.observe("config.fancy",function(e,n,i){(0,r.winset)(t.get("config.window"),"titlebar",!e)}),this.on({close:function(){(0,r.winset)(this.get("config.window"),"is-visible",!1),window.location.href=(0,r.href)({command:"uiclose "+this.get("config.ref")},"winset")},minimize:function(){(0,r.winset)(this.get("config.window"),"is-minimized",!0)}})}}}(i),i.exports.template={v:3,t:[" ",{p:[34,1,859],t:7,e:"header",a:{"class":"titlebar"},v:{mousedown:"drag"},f:[{p:[35,3,907],t:7,e:"i",a:{"class":["statusicon fa fa-eye fa-2x ",{t:2,r:"visualStatus",p:[35,40,944]}]}}," ",{p:[36,3,969],t:7,e:"span",a:{"class":"title"},f:[{t:16,p:[36,23,989]}]}," ",{t:4,f:[{p:[38,5,1033],t:7,e:"i",a:{"class":"minimize fa fa-minus fa-2x"},v:{click:"minimize"}}," ",{p:[39,5,1100],t:7,e:"i",a:{"class":"close fa fa-close fa-2x"},v:{click:"close"}}],n:50,r:"config.fancy",p:[37,3,1008]}]}]},e.exports=r.extend(i.exports)},{196:196,240:240,241:241}],206:[function(t,e,n){var r=t(196),i={exports:{}};!function(t){"use strict";var e=[11,10,9,8];t.exports={data:{userAgent:navigator.userAgent},computed:{ie:function(){if(document.documentMode)return document.documentMode;for(var t in e){var n=document.createElement("div");if(n.innerHTML="",n.getElementsByTagName("span").length)return t}}},oninit:function(){var t=this;this.on("debug",function(){return t.toggle("debug")})}}}(i),i.exports.template={v:3,t:[" ",{t:4,f:[{p:[27,3,596],t:7,e:"ui-notice",f:[{p:[28,5,612],t:7,e:"span",f:["You have an old (IE",{t:2,r:"ie",p:[28,30,637]},") end-of-life (click 'EOL Info' for more information) version of Internet Explorer installed."]},{p:[28,137,744],t:7,e:"br"}," ",{p:[29,5,754],t:7,e:"span",f:["To upgrade click 'Upgrade IE' to download IE11 from Microsoft."]},{p:[29,81,830],t:7,e:"br"}," ",{p:[30,5,840],t:7,e:"span",f:["If you are unable to upgrade directly click 'IE VMs' to download a VM with IE11 or Edge from Microsoft."]},{p:[30,122,957],t:7,e:"br"}," ",{p:[31,5,967],t:7,e:"span",f:["Otherwise click 'No Frills' below to disable potentially incompatible features (and this message)."]}," ",{p:[32,5,1084],t:7,e:"hr"}," ",{p:[33,5,1094],t:7,e:"ui-button",a:{icon:"close",action:"tgui:nofrills"},f:["No Frills"]}," ",{p:[34,5,1167],t:7,e:"ui-button",a:{icon:"internet-explorer",action:"tgui:link",params:'{"url": "http://windows.microsoft.com/en-us/internet-explorer/download-ie"}'},f:["Upgrade IE"]}," ",{p:[36,5,1341],t:7,e:"ui-button",a:{icon:"edge",action:"tgui:link",params:'{"url": "https://dev.windows.com/en-us/microsoft-edge/tools/vms"}'},f:["IE VMs"]}," ",{p:[38,5,1488],t:7,e:"ui-button",a:{icon:"info",action:"tgui:link",params:'{"url": "https://support.microsoft.com/en-us/lifecycle#gp/Microsoft-Internet-Explorer"}'},f:["EOL Info"]}," ",{p:[40,5,1659],t:7,e:"ui-button",a:{icon:"bug"},v:{press:"debug"},f:["Debug Info"]}," ",{t:4,f:[{p:[42,7,1745],t:7,e:"hr"}," ",{p:[43,7,1757],t:7,e:"span",f:["Detected: IE",{t:2,r:"ie",p:[43,25,1775]}]},{p:[43,38,1788],t:7,e:"br"}," ",{p:[44,7,1800],t:7,e:"span",f:["User Agent: ",{t:2,r:"userAgent",p:[44,25,1818]}]}],n:50,r:"debug",p:[41,5,1725]}]}],n:50,x:{r:["config.fancy","ie"],s:"_0&&_1&&_1<11"},p:[26,1,556]}]},e.exports=r.extend(i.exports)},{196:196}],207:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[" "," "," "," "," "," ",{p:[8,1,320],t:7,e:"ui-notice",f:[{t:4,f:[{p:[10,5,363],t:7,e:"ui-section",a:{label:"Interface Lock"},f:[{p:[11,7,405],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"lock":"unlock"'},p:[11,24,422]}],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Engaged":"Disengaged"'},p:[11,75,473]}]}]}],n:50,r:"data.siliconUser",p:[9,3,334]},{t:4,n:51,f:[{p:[14,5,561],t:7,e:"span",f:["Swipe an ID card to ",{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'},p:[14,31,587]}," this interface."]}],r:"data.siliconUser"}]}," ",{p:[17,1,669],t:7,e:"status"}," ",{t:4,f:[{t:4,f:[{p:[20,5,751],t:7,e:"controls"}],n:50,x:{r:["data.screen"],s:"_0==1"},p:[19,3,722]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.screen"],s:"_0==2"},f:[{p:[22,5,796],t:7,e:"vents"}]},{t:4,n:50,x:{r:["data.screen"],s:"(!(_0==2))&&(_0==3)"},f:[" ",{p:[24,5,839],t:7,e:"scrubbers"}]},{t:4,n:50,x:{r:["data.screen"],s:"(!(_0==2))&&((!(_0==3))&&(_0==4))"},f:[" ",{p:[26,5,886],t:7,e:"modes"}]},{t:4,n:50,x:{r:["data.screen"],s:"(!(_0==2))&&((!(_0==3))&&((!(_0==4))&&(_0==5)))"},f:[" ",{p:[28,5,929],t:7,e:"thresholds"}]}],x:{r:["data.screen"],s:"_0==1"}}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[18,1,679]}]},i.exports.components=i.exports.components||{};var a={vents:t(214),modes:t(210),thresholds:t(213),status:t(212),scrubbers:t(211),controls:t(209)};for(var o in a)a.hasOwnProperty(o)&&(i.exports.components[o]=a[o]);e.exports=r.extend(i.exports)},{196:196,209:209,210:210,211:211,212:212,213:213,214:214}],208:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-button",a:{icon:"arrow-left",action:"screen",params:'{"screen": 1}'},f:["Back"]}]},e.exports=r.extend(i.exports)},{196:196}],209:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Air Controls"},f:[{p:[2,3,36],t:7,e:"ui-section",f:[{p:[3,5,53],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.atmos_alarm"],s:'_0?"exclamation-triangle":"exclamation"'},p:[3,22,70]}],style:[{t:2,x:{r:["data.atmos_alarm"],s:'_0?"caution":null'},p:[3,92,140]}],action:[{t:2,x:{r:["data.atmos_alarm"],s:'_0?"reset":"alarm"'},p:[4,17,197]}]},f:["Area Atmosphere Alarm"]}]}," ",{p:[6,3,291],t:7,e:"ui-section",f:[{p:[7,5,308],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.mode"],s:'_0==3?"exclamation-triangle":"exclamation"'},p:[7,22,325]}],style:[{t:2,x:{r:["data.mode"],s:'_0==3?"danger":null'},p:[7,90,393]}],action:"mode",params:['{"mode": ',{t:2,x:{r:["data.mode"],s:"_0==3?1:3"},p:[8,38,468]},"}"]},f:["Panic Siphon"]}]}," ",{p:[10,3,540],t:7,e:"br"}," ",{p:[11,3,548],t:7,e:"ui-section",f:[{p:[12,5,565],t:7,e:"ui-button",a:{icon:"sign-out",action:"screen",params:'{"screen": 2}'},f:["Vent Controls"]}]}," ",{p:[14,3,675],t:7,e:"ui-section",f:[{p:[15,5,692],t:7,e:"ui-button",a:{icon:"filter",action:"screen",params:'{"screen": 3}'},f:["Scrubber Controls"]}]}," ",{p:[17,3,804],t:7,e:"ui-section",f:[{p:[18,5,821],t:7,e:"ui-button",a:{icon:"cog",action:"screen",params:'{"screen": 4}'},f:["Operating Mode"]}]}," ",{p:[20,3,927],t:7,e:"ui-section",f:[{p:[21,5,944],t:7,e:"ui-button",a:{icon:"bar-chart",action:"screen",params:'{"screen": 5}'},f:["Alarm Thresholds"]}]}]}]},e.exports=r.extend(i.exports)},{196:196}],210:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[" ",{p:{button:[{p:[5,5,111],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Operating Modes",button:0},f:[" ",{t:4,f:[{p:[8,5,161],t:7,e:"ui-section",f:[{p:[9,7,180],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["selected"],s:'_0?"check-square-o":"square-o"'},p:[9,24,197]}],state:[{t:2,x:{r:["selected","danger"],s:'_0?_1?"danger":"selected":null'},p:[10,16,258]}],action:"mode",params:['{"mode": ',{t:2,r:"mode",p:[11,40,351]},"}"]},f:[{t:2,r:"name",p:[11,51,362]}]}]}],n:52,r:"data.modes",p:[7,3,136]}]}]},i.exports.components=i.exports.components||{};var a={back:t(208)};for(var o in a)a.hasOwnProperty(o)&&(i.exports.components[o]=a[o]);e.exports=r.extend(i.exports)},{196:196,208:208}],211:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[" ",{p:{button:[{p:[5,5,113],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Scrubber Controls",button:0},f:[" ",{t:4,f:[{p:[8,5,167],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"long_name",p:[8,27,189]}]},f:[{p:[9,7,211],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[10,9,246],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["power"],s:'_0?"power-off":"close"'},p:[10,26,263]}],style:[{t:2,x:{r:["power"],s:'_0?"selected":null'},p:[10,68,305]}],action:"power",params:['{"id_tag": "',{t:2,r:"id_tag",p:[11,46,381]},'", "val": ',{t:2,x:{r:["power"],s:"+!_0"},p:[11,66,401]},"}"]},f:[{t:2,x:{r:["power"],s:'_0?"On":"Off"'},p:[11,80,415]}]}]}," ",{p:[13,7,478],t:7,e:"ui-section",a:{label:"Mode"},f:[{p:[14,9,512],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["scrubbing"],s:'_0?"filter":"sign-in"'},p:[14,26,529]}],style:[{t:2,x:{r:["scrubbing"],s:'_0?null:"danger"'},p:[14,71,574]}],action:"scrubbing",params:['{"id_tag": "',{t:2,r:"id_tag",p:[15,50,656]},'", "val": ',{t:2,x:{r:["scrubbing"],s:"+!_0"},p:[15,70,676]},"}"]},f:[{t:2,x:{r:["scrubbing"],s:'_0?"Scrubbing":"Siphoning"'},p:[15,88,694]}]}]}," ",{p:[17,7,774],t:7,e:"ui-section",a:{label:"Range"},f:[{p:[18,9,809],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["widenet"],s:'_0?"expand":"compress"'},p:[18,26,826]}],style:[{t:2,x:{r:["widenet"],s:'_0?"selected":null'},p:[18,70,870]}],action:"widenet",params:['{"id_tag": "',{t:2,r:"id_tag",p:[19,48,950]},'", "val": ',{t:2,x:{r:["widenet"],s:"+!_0"},p:[19,68,970]},"}"]},f:[{t:2,x:{r:["widenet"],s:'_0?"Expanded":"Normal"'},p:[19,84,986]}]}]}," ",{p:[21,7,1060],t:7,e:"ui-section",a:{label:"Filters"},f:[{p:[22,9,1097],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["filter_co2"],s:'_0?"check-square-o":"square-o"'},p:[22,26,1114]}],style:[{t:2,x:{r:["filter_co2"],s:'_0?"selected":null'},p:[22,81,1169]}],action:"co2_scrub",params:['{"id_tag": "',{t:2,r:"id_tag",p:[23,50,1254]},'", "val": ',{t:2,x:{r:["filter_co2"],s:"+!_0"},p:[23,70,1274]},"}"]},f:["CO2"]}," ",{p:[24,9,1317],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["filter_n2o"],s:'_0?"check-square-o":"square-o"'},p:[24,26,1334]}],style:[{t:2,x:{r:["filter_n2o"],s:'_0?"selected":null'},p:[24,81,1389]}],action:"n2o_scrub",params:['{"id_tag": "',{t:2,r:"id_tag",p:[25,50,1474]},'", "val": ',{t:2,x:{r:["filter_n2o"],s:"+!_0"},p:[25,70,1494]},"}"]},f:["N2O"]}," ",{p:[26,9,1537],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["filter_toxins"],s:'_0?"check-square-o":"square-o"'},p:[26,26,1554]}],style:[{t:2,x:{r:["filter_toxins"],s:'_0?"selected":null'},p:[26,84,1612]}],action:"tox_scrub",params:['{"id_tag": "',{t:2,r:"id_tag",p:[27,50,1700]},'", "val": ',{t:2,x:{r:["filter_toxins"],s:"+!_0"},p:[27,70,1720]},"}"]},f:["Plasma"]}]}]}],n:52,r:"data.scrubbers",p:[7,3,138]},{t:4,n:51,f:[{p:[31,5,1817],t:7,e:"span",a:{"class":"bad"},f:["Error: No scrubbers connected."]}],r:"data.scrubbers"}]}]},i.exports.components=i.exports.components||{};var a={back:t(208)};for(var o in a)a.hasOwnProperty(o)&&(i.exports.components[o]=a[o]);e.exports=r.extend(i.exports)},{196:196,208:208}],212:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Air Status"},f:[{t:4,f:[{t:4,f:[{p:[4,7,107],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[4,26,126]}]},f:[{p:[5,6,142],t:7,e:"span",a:{"class":[{t:2,x:{r:["danger_level"],s:'_0==2?"bad":_0==1?"average":"good"'},p:[5,19,155]}]},f:[{t:2,x:{r:["value"],s:"Math.fixed(_0,2)"},p:[6,5,232]},{t:2,r:"unit",p:[6,29,256]}]}]}],n:52,r:"adata.environment_data",p:[3,5,68]}," ",{p:[10,5,313],t:7,e:"ui-section",a:{label:"Local Status"},f:[{p:[11,7,353],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.danger_level"],s:'_0==2?"bad bold":_0==1?"average bold":"good"'},p:[11,20,366]}]},f:[{t:2,x:{r:["data.danger_level"],s:'_0==2?"Danger (Internals Required)":_0==1?"Caution":"Optimal"'},p:[12,6,464]}]}]}," ",{p:[15,5,605],t:7,e:"ui-section",a:{label:"Area Status"},f:[{p:[16,7,644],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.atmos_alarm","data.fire_alarm"],s:'_0||_1?"bad bold":"good"'},p:[16,20,657]}]},f:[{t:2,x:{r:["data.atmos_alarm","fire_alarm"],s:'_0?"Atmosphere Alarm":_1?"Fire Alarm":"Nominal"'},p:[17,8,728]}]}]}],n:50,r:"data.environment_data",p:[2,3,34]},{t:4,n:51,f:[{p:[21,5,856],t:7,e:"ui-section",a:{label:"Warning"},f:[{p:[22,7,891],t:7,e:"span",a:{"class":"bad bold"},f:["Cannot obtain air sample for analysis."]}]}],r:"data.environment_data"}," ",{t:4,f:[{p:[26,5,1015],t:7,e:"ui-section",a:{label:"Warning"},f:[{p:[27,7,1050],t:7,e:"span",a:{"class":"bad bold"},f:["Safety measures offline. Device may exhibit abnormal behavior."]}]}],n:50,r:"data.emagged",p:[25,3,990]}]}]},e.exports=r.extend(i.exports)},{196:196}],213:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.css=" th, td {\n padding-right: 16px;\n text-align: left;\n }",i.exports.template={v:3,t:[" ",{p:{button:[{p:[5,5,112],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Alarm Thresholds",button:0},f:[" ",{p:[7,3,137],t:7,e:"table",f:[{p:[8,5,149],t:7,e:"thead",f:[{p:[8,12,156],t:7,e:"tr",f:[{p:[9,7,167],t:7,e:"th"}," ",{p:[10,7,183],t:7,e:"th",f:[{p:[10,11,187],t:7,e:"span",a:{"class":"bad"},f:["min2"]}]}," ",{p:[11,7,228],t:7,e:"th",f:[{p:[11,11,232],t:7,e:"span",a:{"class":"average"},f:["min1"]}]}," ",{p:[12,7,277],t:7,e:"th",f:[{p:[12,11,281],t:7,e:"span",a:{"class":"average"},f:["max1"]}]}," ",{p:[13,7,326],t:7,e:"th",f:[{p:[13,11,330],t:7,e:"span",a:{"class":"bad"},f:["max2"]}]}]}]}," ",{p:[15,5,387],t:7,e:"tbody",f:[{t:4,f:[{p:[16,32,426],t:7,e:"tr",f:[{p:[17,9,439],t:7,e:"th",f:[{t:3,r:"name",p:[17,13,443]}]}," ",{t:4,f:[{p:[18,27,485],t:7,e:"td",f:[{p:[19,11,500],t:7,e:"ui-button",a:{action:"threshold",params:['{"env": "',{t:2,r:"env",p:[19,58,547]},'", "var": "',{t:2,r:"val",p:[19,76,565]},'"}']},f:[{t:2,x:{r:["selected"],s:"Math.fixed(_0,2)"},p:[19,87,576]}]}]}],n:52,r:"settings",p:[18,9,467]}]}],n:52,r:"data.thresholds",p:[16,7,401]}]}," ",{p:[23,3,675],t:7,e:"table",f:[]}]}]}," "]},i.exports.components=i.exports.components||{};var a={back:t(208)};for(var o in a)a.hasOwnProperty(o)&&(i.exports.components[o]=a[o]);e.exports=r.extend(i.exports)},{196:196,208:208}],214:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[" ",{p:{button:[{p:[5,5,109],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Vent Controls",button:0},f:[" ",{t:4,f:[{p:[8,5,159],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"long_name",p:[8,27,181]}]},f:[{p:[9,7,203],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[10,9,238],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["power"],s:'_0?"power-off":"close"'},p:[10,26,255]}],style:[{t:2,x:{r:["power"],s:'_0?"selected":null'},p:[10,68,297]}],action:"power",params:['{"id_tag": "',{t:2,r:"id_tag",p:[11,46,373]},'", "val": ',{t:2,x:{r:["power"],s:"+!_0"},p:[11,66,393]},"}"]},f:[{t:2,x:{r:["power"],s:'_0?"On":"Off"'},p:[11,80,407]}]}]}," ",{p:[13,7,470],t:7,e:"ui-section",
-a:{label:"Mode"},f:[{p:[14,9,504],t:7,e:"span",f:[{t:2,x:{r:["direction"],s:'_0=="release"?"Pressurizing":"Siphoning"'},p:[14,15,510]}]}]}," ",{p:[16,7,601],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[17,9,649],t:7,e:"ui-button",a:{icon:"sign-in",style:[{t:2,x:{r:["incheck"],s:'_0?"selected":null'},p:[17,42,682]}],action:"incheck",params:['{"id_tag": "',{t:2,r:"id_tag",p:[18,48,762]},'", "val": ',{t:2,r:"checks",p:[18,68,782]},"}"]},f:["Internal"]}," ",{p:[19,9,824],t:7,e:"ui-button",a:{icon:"sign-out",style:[{t:2,x:{r:["excheck"],s:'_0?"selected":null'},p:[19,43,858]}],action:"excheck",params:['{"id_tag": "',{t:2,r:"id_tag",p:[20,48,938]},'", "val": ',{t:2,r:"checks",p:[20,68,958]},"}"]},f:["External"]}]}," ",{p:[22,7,1018],t:7,e:"ui-section",a:{label:"Target Pressure"},f:[{p:[23,9,1063],t:7,e:"ui-button",a:{icon:"pencil",action:"set_external_pressure",params:['{"id_tag": "',{t:2,r:"id_tag",p:[24,31,1149]},'"}']},f:[{t:2,x:{r:["external"],s:"Math.fixed(_0)"},p:[24,45,1163]}]}," ",{p:[25,9,1208],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["extdefault"],s:'_0?"disabled":null'},p:[25,42,1241]}],action:"reset_external_pressure",params:['{"id_tag": "',{t:2,r:"id_tag",p:[26,31,1340]},'"}']},f:["Reset"]}]}]}],n:52,r:"data.vents",p:[7,3,134]},{t:4,n:51,f:[{p:[30,5,1428],t:7,e:"span",a:{"class":"bad"},f:["Error: No vents connected."]}],r:"data.vents"}]}]},i.exports.components=i.exports.components||{};var a={back:t(208)};for(var o in a)a.hasOwnProperty(o)&&(i.exports.components[o]=a[o]);e.exports=r.extend(i.exports)},{196:196,208:208}],215:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.css=" table {\n width: 100%;\n border-spacing: 2px;\n }\n th {\n text-align: left;\n }\n td {\n vertical-align: top;\n }\n td .button {\n margin-top: 4px\n }",i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,15],t:7,e:"ui-section",f:[{p:[3,5,32],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.oneAccess"],s:'_0?"unlock":"lock"'},p:[3,22,49]}],action:"one_access"},f:[{t:2,x:{r:["data.oneAccess"],s:'_0?"One":"All"'},p:[3,82,109]}," Required"]}," ",{p:[4,5,169],t:7,e:"ui-button",a:{icon:"refresh",action:"clear"},f:["Clear"]}]}," ",{p:[6,3,246],t:7,e:"hr"}," ",{p:[7,3,254],t:7,e:"table",f:[{p:[8,3,264],t:7,e:"thead",f:[{p:[9,4,275],t:7,e:"tr",f:[{t:4,f:[{p:[10,5,306],t:7,e:"th",f:[{p:[10,9,310],t:7,e:"span",a:{"class":"highlight bold"},f:[{t:2,r:"name",p:[10,38,339]}]}]}],n:52,r:"data.regions",p:[9,8,279]}]}]}," ",{p:[13,3,391],t:7,e:"tbody",f:[{p:[14,4,402],t:7,e:"tr",f:[{t:4,f:[{p:[15,5,433],t:7,e:"td",f:[{t:4,f:[{p:[16,11,466],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["req"],s:'_0?"check-square-o":"square-o"'},p:[16,28,483]}],style:[{t:2,x:{r:["req"],s:'_0?"selected":null'},p:[16,76,531]}],action:"set",params:['{"access": "',{t:2,r:"id",p:[17,46,605]},'"}']},f:[{t:2,r:"name",p:[17,56,615]}]}," ",{p:[18,9,644],t:7,e:"br"}],n:52,r:"accesses",p:[15,9,437]}]}],n:52,r:"data.regions",p:[14,8,406]}]}]}]}]}," "]},e.exports=r.extend(i.exports)},{196:196}],216:[function(t,e,n){var r=t(196),i={exports:{}};!function(t){"use strict";t.exports={data:{powerState:function(t){switch(t){case 2:return"good";case 1:return"average";default:return"bad"}}},computed:{malfAction:function(){switch(this.get("data.malfStatus")){case 1:return"hack";case 2:return"occupy";case 3:return"deoccupy"}},malfButton:function(){switch(this.get("data.malfStatus")){case 1:return"Override Programming";case 2:case 4:return"Shunt Core Process";case 3:return"Return to Main Core"}},malfIcon:function(){switch(this.get("data.malfStatus")){case 1:return"terminal";case 2:case 4:return"caret-square-o-down";case 3:return"caret-square-o-left"}},powerCellStatusState:function(){var t=this.get("data.powerCellStatus");return t>50?"good":t>25?"average":"bad"}}}}(i),i.exports.template={v:3,t:[" ",{p:[46,1,1055],t:7,e:"ui-notice",f:[{t:4,f:[{p:[48,5,1098],t:7,e:"ui-section",a:{label:"Interface Lock"},f:[{p:[49,7,1140],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"lock":"unlock"'},p:[49,24,1157]}],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Engaged":"Disengaged"'},p:[49,75,1208]}]}]}],n:50,r:"data.siliconUser",p:[47,3,1069]},{t:4,n:51,f:[{p:[52,5,1296],t:7,e:"span",f:["Swipe an ID card to ",{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'},p:[52,31,1322]}," this interface."]}],r:"data.siliconUser"}]}," ",{p:[55,1,1404],t:7,e:"ui-display",a:{title:"Power Status"},f:[{p:[56,3,1440],t:7,e:"ui-section",a:{label:"Main Breaker"},f:[{t:4,f:[{p:[58,7,1525],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.isOperating"],s:'_0?"good":"bad"'},p:[58,20,1538]}]},f:[{t:2,x:{r:["data.isOperating"],s:'_0?"On":"Off"'},p:[58,59,1577]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"},p:[57,5,1478]},{t:4,n:51,f:[{p:[60,7,1639],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isOperating"],s:'_0?"power-off":"close"'},p:[60,24,1656]}],style:[{t:2,x:{r:["data.isOperating"],s:'_0?"selected":null'},p:[60,77,1709]}],action:"breaker"},f:[{t:2,x:{r:["data.isOperating"],s:'_0?"On":"Off"'},p:[61,26,1776]}]}],x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"}}]}," ",{p:[64,3,1854],t:7,e:"ui-section",a:{label:"External Power"},f:[{p:[65,5,1894],t:7,e:"span",a:{"class":[{t:2,x:{r:["powerState","data.externalPower"],s:"_0(_1)"},p:[65,18,1907]}]},f:[{t:2,x:{r:["data.externalPower"],s:'_0==2?"Good":_0==1?"Low":"None"'},p:[65,54,1943]}]}]}," ",{p:[67,3,2048],t:7,e:"ui-section",a:{label:"Power Cell"},f:[{t:4,f:[{p:[69,7,2127],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.powerCellStatus",p:[69,40,2160]}],state:[{t:2,r:"powerCellStatusState",p:[69,73,2193]}]},f:[{t:2,x:{r:["adata.powerCellStatus"],s:"Math.fixed(_0)"},p:[69,99,2219]},"%"]}],n:50,x:{r:["data.powerCellStatus"],s:"_0!=null"},p:[68,5,2084]},{t:4,n:51,f:[{p:[71,7,2286],t:7,e:"span",a:{"class":"bad"},f:["Removed"]}],x:{r:["data.powerCellStatus"],s:"_0!=null"}}]}," ",{t:4,f:[{p:[75,5,2390],t:7,e:"ui-section",a:{label:"Charge Mode"},f:[{t:4,f:[{p:[77,9,2478],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.chargeMode"],s:'_0?"good":"bad"'},p:[77,22,2491]}]},f:[{t:2,x:{r:["data.chargeMode"],s:'_0?"Auto":"Off"'},p:[77,60,2529]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"},p:[76,7,2429]},{t:4,n:51,f:[{p:[79,9,2596],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.chargeMode"],s:'_0?"refresh":"close"'},p:[79,26,2613]}],style:[{t:2,x:{r:["data.chargeMode"],s:'_0?"selected":null'},p:[79,76,2663]}],action:"charge"},f:[{t:2,x:{r:["data.chargeMode"],s:'_0?"Auto":"Off"'},p:[80,27,2730]}]}],x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"}}," [",{p:[83,8,2813],t:7,e:"span",a:{"class":[{t:2,x:{r:["powerState","data.chargingStatus"],s:"_0(_1)"},p:[83,21,2826]}]},f:[{t:2,x:{r:["data.chargingStatus"],s:'_0==2?"Fully Charged":_0==1?"Charging":"Not Charging"'},p:[83,58,2863]}]},"]"]}],n:50,x:{r:["data.powerCellStatus"],s:"_0!=null"},p:[74,3,2349]}]}," ",{p:[87,1,3017],t:7,e:"ui-display",a:{title:"Power Channels"},f:[{t:4,f:[{p:[89,5,3088],t:7,e:"ui-section",a:{label:[{t:2,r:"title",p:[89,24,3107]}],nowrap:0},f:[{p:[90,7,3132],t:7,e:"div",a:{"class":"content"},f:[{t:2,x:{r:["@index","adata.powerChannels"],s:"Math.round(_1[_0].powerLoad)"},p:[90,28,3153]}," W"]}," ",{p:[91,7,3221],t:7,e:"div",a:{"class":"content"},f:[{p:[91,28,3242],t:7,e:"span",a:{"class":[{t:2,x:{r:["status"],s:'_0>=2?"good":"bad"'},p:[91,41,3255]}]},f:[{t:2,x:{r:["status"],s:'_0>=2?"On":"Off"'},p:[91,75,3289]}]}]}," ",{p:[92,7,3339],t:7,e:"div",a:{"class":"content"},f:["[",{p:[92,29,3361],t:7,e:"span",f:[{t:2,x:{r:["status"],s:'_0==1||_0==3?"Auto":"Manual"'},p:[92,35,3367]}]},"]"]}," ",{p:[93,7,3438],t:7,e:"div",a:{"class":"content",style:"float:right"},f:[{t:4,f:[{p:[95,11,3539],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["status"],s:'_0==1||_0==3?"selected":null'},p:[95,44,3572]}],action:"channel",params:[{t:2,r:"topicParams.auto",p:[96,38,3661]}]},f:["Auto"]}," ",{p:[97,11,3710],t:7,e:"ui-button",a:{icon:"power-off",state:[{t:2,x:{r:["status"],s:'_0==2?"selected":null'},p:[97,46,3745]}],action:"channel",params:[{t:2,r:"topicParams.on",p:[98,21,3819]}]},f:["On"]}," ",{p:[99,11,3864],t:7,e:"ui-button",a:{icon:"close",state:[{t:2,x:{r:["status"],s:'_0==0?"selected":null'},p:[99,42,3895]}],action:"channel",params:[{t:2,r:"topicParams.off",p:[100,21,3969]}]},f:["Off"]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[94,9,3488]}]}]}],n:52,r:"data.powerChannels",p:[88,3,3055]}," ",{p:[105,3,4067],t:7,e:"ui-section",a:{label:"Total Load"},f:[{p:[106,5,4103],t:7,e:"span",a:{"class":"bold"},f:[{t:2,x:{r:["adata.totalLoad"],s:"Math.round(_0)"},p:[106,24,4122]}," W"]}]}]}," ",{t:4,f:[{p:[110,3,4220],t:7,e:"ui-display",a:{title:"System Overrides"},f:[{p:[111,5,4262],t:7,e:"ui-button",a:{icon:"lightbulb-o",action:"overload"},f:["Overload"]}," ",{t:4,f:[{p:[113,7,4365],t:7,e:"ui-button",a:{icon:[{t:2,r:"malfIcon",p:[113,24,4382]}],state:[{t:2,x:{r:["data.malfStatus"],s:'_0==4?"disabled":null'},p:[113,45,4403]}],action:[{t:2,r:"malfAction",p:[113,99,4457]}]},f:[{t:2,r:"malfButton",p:[113,115,4473]}]}],n:50,r:"data.malfStatus",p:[112,5,4335]}]}],n:50,r:"data.siliconUser",p:[109,1,4193]},{p:[117,1,4536],t:7,e:"ui-notice",f:[{p:[118,3,4550],t:7,e:"ui-section",a:{label:"Cover Lock"},f:[{t:4,f:[{p:[120,7,4633],t:7,e:"span",f:[{t:2,x:{r:["data.coverLocked"],s:'_0?"Engaged":"Disengaged"'},p:[120,13,4639]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"},p:[119,5,4586]},{t:4,n:51,f:[{p:[122,7,4713],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.coverLocked"],s:'_0?"lock":"unlock"'},p:[122,24,4730]}],action:"cover"},f:[{t:2,x:{r:["data.coverLocked"],s:'_0?"Engaged":"Disengaged"'},p:[122,81,4787]}]}],x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"}}]}]}]},e.exports=r.extend(i.exports)},{196:196}],217:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Alarms"},f:[{p:[2,3,31],t:7,e:"ul",f:[{t:4,f:[{p:[4,7,72],t:7,e:"li",f:[{p:[4,11,76],t:7,e:"ui-button",a:{icon:"close",style:"danger",action:"clear",params:['{"zone": "',{t:2,r:".",p:[4,83,148]},'"}']},f:[{t:2,r:".",p:[4,92,157]}]}]}],n:52,r:"data.priority",p:[3,5,41]},{t:4,n:51,f:[{p:[6,7,201],t:7,e:"li",f:[{p:[6,11,205],t:7,e:"span",a:{"class":"good"},f:["No Priority Alerts"]}]}],r:"data.priority"}," ",{t:4,f:[{p:[9,7,303],t:7,e:"li",f:[{p:[9,11,307],t:7,e:"ui-button",a:{icon:"close",style:"caution",action:"clear",params:['{"zone": "',{t:2,r:".",p:[9,84,380]},'"}']},f:[{t:2,r:".",p:[9,93,389]}]}]}],n:52,r:"data.minor",p:[8,5,275]},{t:4,n:51,f:[{p:[11,7,433],t:7,e:"li",f:[{p:[11,11,437],t:7,e:"span",a:{"class":"good"},f:["No Minor Alerts"]}]}],r:"data.minor"}]}]}]},e.exports=r.extend(i.exports)},{196:196}],218:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:[{t:2,x:{r:["data.sensors.length","data.sensors.0.long_name"],s:"_0==1?_1:null"},p:[1,20,19]}]},f:[" ",{t:4,f:[{p:[3,5,172],t:7,e:"ui-subdisplay",a:{title:[{t:2,x:{r:["data.sensors.length","long_name"],s:"_0>1?_1:null"},p:[3,27,194]}]},f:[{p:[4,7,250],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[5,3,283],t:7,e:"span",f:[{t:2,x:{r:["pressure"],s:"Math.fixed(_0,2)"},p:[5,9,289]}," kPa"]}]}," ",{t:4,f:[{p:[8,9,385],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[9,11,429],t:7,e:"span",f:[{t:2,x:{r:["temperature"],s:"Math.fixed(_0,2)"},p:[9,17,435]}," K"]}]}],n:50,r:"temperature",p:[7,7,356]}," ",{t:4,f:[{p:[13,9,545],t:7,e:"ui-section",a:{label:[{t:2,r:"id",p:[13,28,564]}]},f:[{p:[14,5,578],t:7,e:"span",f:[{t:2,x:{r:["."],s:"Math.fixed(_0,2)"},p:[14,11,584]},"%"]}]}],n:52,i:"id",r:"gases",p:[12,4,517]}]}],n:52,r:"adata.sensors",p:[2,3,143]},{t:4,n:51,f:[{p:[19,5,689],t:7,e:"ui-section",a:{label:"Initialize"},f:[{p:[20,3,724],t:7,e:"ui-button",a:{action:"initialize",params:'{"type": "dist"}'},f:["Distribution and Waste"]}," ",{p:[21,3,819],t:7,e:"ui-button",a:{action:"initialize",params:'{"type": "tank"}'},f:["Tanks"]}]}],r:"adata.sensors"}]}]},e.exports=r.extend(i.exports)},{196:196}],219:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[" ",{p:[3,1,74],t:7,e:"atmos-control"}," ",{p:{button:[{p:[6,3,153],t:7,e:"ui-button",a:{icon:"refresh",action:"reconnect"},f:["Reconnect"]}]},t:7,e:"ui-display",a:{title:"Controls",button:0},f:[" ",{p:[8,3,237],t:7,e:"ui-section",a:{label:"Input Injector"},f:[{p:[9,5,278],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.inputting"],s:'_0?"power-off":"close"'},p:[9,22,295]}],style:[{t:2,x:{r:["data.inputting"],s:'_0?"selected":null'},p:[9,73,346]}],action:"input"},f:[{t:2,x:{r:["data.inputting"],s:'_0?"Injecting":"Off"'},p:[10,7,409]}]}]}," ",{p:[12,3,481],t:7,e:"ui-section",a:{label:"Input Rate"},f:[{p:[13,5,518],t:7,e:"span",f:[{t:2,x:{r:["adata.inputRate"],s:"Math.fixed(_0)"},p:[13,11,524]}," L/s"]}]}," ",{p:[15,3,587],t:7,e:"ui-section",a:{label:"Output Regulator"},f:[{p:[16,5,630],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.outputting"],s:'_0?"power-off":"close"'},p:[16,22,647]}],style:[{t:2,x:{r:["data.outputting"],s:'_0?"selected":null'},p:[16,74,699]}],action:"output"},f:[{t:2,x:{r:["data.outputting"],s:'_0?"Open":"Closed"'},p:[17,7,764]}]}]}," ",{p:[19,3,835],t:7,e:"ui-section",a:{label:"Output Pressure"},f:[{p:[20,5,877],t:7,e:"ui-button",a:{icon:"pencil",action:"output_pressure"},f:[{t:2,x:{r:["adata.outputPressure"],s:"Math.round(_0)"},p:[20,55,927]}," kPa"]}]}]}]},i.exports.components=i.exports.components||{};var a={"atmos-control":t(218)};for(var o in a)a.hasOwnProperty(o)&&(i.exports.components[o]=a[o]);e.exports=r.extend(i.exports)},{196:196,218:218}],220:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,15],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,5,46],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[3,22,63]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[3,66,107]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[4,22,161]}]}]}," ",{p:[6,3,218],t:7,e:"ui-section",a:{label:"Output Pressure"},f:[{p:[7,5,259],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "custom"}'},f:["Set"]}," ",{p:[8,5,354],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.set_pressure","data.max_pressure"],s:'_0==_1?"disabled":null'},p:[8,35,384]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}," ",{p:[9,5,515],t:7,e:"span",f:[{t:2,x:{r:["adata.set_pressure"],s:"Math.round(_0)"},p:[9,11,521]}," kPa"]}]}," ",{p:[11,3,585],t:7,e:"ui-section",a:{label:"Filter"},f:[{p:[12,5,617],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0==""?"selected":null'},p:[12,23,635]}],action:"filter",params:'{"mode": ""}'},f:["Nothing"]}," ",{p:[14,5,751],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0=="plasma"?"selected":null'},p:[14,23,769]}],action:"filter",params:'{"mode": "plasma"}'},f:["Plasma"]}," ",{p:[16,5,896],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0=="o2"?"selected":null'},p:[16,23,914]}],action:"filter",params:'{"mode": "o2"}'},f:["O2"]}," ",{p:[18,5,1029],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0=="n2"?"selected":null'},p:[18,23,1047]}],action:"filter",params:'{"mode": "n2"}'},f:["N2"]}," ",{p:[20,5,1162],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0=="co2"?"selected":null'},p:[20,23,1180]}],action:"filter",params:'{"mode": "co2"}'},f:["CO2"]}," ",{p:[22,5,1298],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0=="n2o"?"selected":null'},p:[22,23,1316]}],action:"filter",params:'{"mode": "n2o"}'},f:["N2O"]}]}]}]},e.exports=r.extend(i.exports)},{196:196}],221:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,15],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,5,46],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[3,22,63]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[3,66,107]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[4,22,161]}]}]}," ",{p:[6,3,218],t:7,e:"ui-section",a:{label:"Output Pressure"},f:[{p:[7,5,259],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "custom"}'},f:["Set"]}," ",{p:[8,5,354],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.set_pressure","data.max_pressure"],s:'_0==_1?"disabled":null'},p:[8,35,384]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}," ",{p:[9,5,515],t:7,e:"span",f:[{t:2,x:{r:["adata.set_pressure"],s:"Math.round(_0)"},p:[9,11,521]}," kPa"]}]}," ",{p:[11,3,585],t:7,e:"ui-section",a:{label:"Node 1"},f:[{p:[12,5,617],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.node1_concentration"],s:'_0==0?"disabled":null'},p:[12,44,656]}],action:"node1",params:'{"concentration": -0.1}'}}," ",{p:[14,5,771],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.node1_concentration"],s:'_0==0?"disabled":null'},p:[14,39,805]}],action:"node1",params:'{"concentration": -0.01}'}}," ",{p:[16,5,921],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.node1_concentration"],s:'_0==100?"disabled":null'},p:[16,38,954]}],action:"node1",params:'{"concentration": 0.01}'}}," ",{p:[18,5,1071],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.node1_concentration"],s:'_0==100?"disabled":null'},p:[18,43,1109]}],action:"node1",params:'{"concentration": 0.1}'}}," ",{p:[20,5,1225],t:7,e:"span",f:[{t:2,x:{r:["adata.node1_concentration"],s:"Math.round(_0)"},p:[20,11,1231]},"%"]}]}," ",{p:[22,3,1299],t:7,e:"ui-section",a:{label:"Node 2"},f:[{p:[23,5,1331],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.node2_concentration"],s:'_0==0?"disabled":null'},p:[23,44,1370]}],action:"node2",params:'{"concentration": -0.1}'}}," ",{p:[25,5,1485],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.node2_concentration"],s:'_0==0?"disabled":null'},p:[25,39,1519]}],action:"node2",params:'{"concentration": -0.01}'}}," ",{p:[27,5,1635],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.node2_concentration"],s:'_0==100?"disabled":null'},p:[27,38,1668]}],action:"node2",params:'{"concentration": 0.01}'}}," ",{p:[29,5,1785],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.node2_concentration"],s:'_0==100?"disabled":null'},p:[29,43,1823]}],action:"node2",params:'{"concentration": 0.1}'}}," ",{p:[31,5,1939],t:7,e:"span",f:[{t:2,x:{r:["adata.node2_concentration"],s:"Math.round(_0)"},p:[31,11,1945]},"%"]}]}]}]},e.exports=r.extend(i.exports)},{196:196}],222:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,15],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,5,46],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[3,22,63]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[3,66,107]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[4,22,161]}]}]}," ",{t:4,f:[{p:[7,5,244],t:7,e:"ui-section",a:{label:"Transfer Rate"},f:[{p:[8,7,285],t:7,e:"ui-button",a:{icon:"pencil",action:"transfer",params:'{"rate": "custom"}'},f:["Set"]}," ",{p:[9,7,378],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.transfer_rate","data.max_rate"],s:'_0==_1?"disabled":null'},p:[9,37,408]}],action:"transfer",params:'{"rate": "max"}'},f:["Max"]}," ",{p:[10,7,534],t:7,e:"span",f:[{t:2,x:{r:["adata.transfer_rate"],s:"Math.round(_0)"},p:[10,13,540]}," L/s"]}]}],n:50,r:"data.max_rate",p:[6,3,218]},{t:4,n:51,f:[{p:[13,5,620],t:7,e:"ui-section",a:{label:"Output Pressure"},f:[{p:[14,7,663],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "custom"}'},f:["Set"]}," ",{p:[15,7,760],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.set_pressure","data.max_pressure"],s:'_0==_1?"disabled":null'},p:[15,37,790]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}," ",{p:[16,7,923],t:7,e:"span",f:[{t:2,x:{r:["adata.set_pressure"],s:"Math.round(_0)"},p:[16,13,929]}," kPa"]}]}],r:"data.max_rate"}]}]},e.exports=r.extend(i.exports)},{196:196}],223:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{p:[2,3,14],t:7,e:"span",f:["The regulator ",{t:2,x:{r:["data.hasHoldingTank"],s:'_0?"is":"is not"'},p:[2,23,34]}," connected to a tank."]}]}," ",{p:{button:[{p:[6,5,180],t:7,e:"ui-button",a:{icon:"pencil",action:"relabel"},f:["Relabel"]}]},t:7,e:"ui-display",a:{title:"Canister",button:0},f:[" ",{p:[8,3,259],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[9,5,293],t:7,e:"span",f:[{t:2,x:{r:["adata.tankPressure"],s:"Math.round(_0)"},p:[9,11,299]}," kPa"]}]}," ",{p:[11,3,363],t:7,e:"ui-section",a:{label:"Port"},f:[{p:[12,5,393],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.portConnected"],s:'_0?"good":"average"'},p:[12,18,406]}]},f:[{t:2,x:{r:["data.portConnected"],s:'_0?"Connected":"Not Connected"'},p:[12,63,451]}]}]}]}," ",{p:[15,1,543],t:7,e:"ui-display",a:{title:"Valve"},f:[{p:[16,3,572],t:7,e:"ui-section",a:{label:"Release Pressure"},f:[{p:[17,5,614],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.minReleasePressure",p:[17,18,627]}],max:[{t:2,r:"data.maxReleasePressure",p:[17,52,661]}],value:[{t:2,r:"data.releasePressure",p:[18,14,703]}]},f:[{t:2,x:{r:["adata.releasePressure"],s:"Math.round(_0)"},p:[18,40,729]}," kPa"]}]}," ",{p:[20,3,798],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[21,5,842],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.releasePressure","data.defaultReleasePressure"],s:'_0!=_1?null:"disabled"'},p:[21,38,875]}],action:"pressure",params:'{"pressure": "reset"}'},f:["Reset"]}," ",{p:[23,5,1029],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.releasePressure","data.minReleasePressure"],s:'_0>_1?null:"disabled"'},p:[23,36,1060]}],action:"pressure",params:'{"pressure": "min"}'},f:["Min"]}," ",{p:[25,5,1205],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "custom"}'},f:["Set"]}," ",{p:[26,5,1300],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.releasePressure","data.maxReleasePressure"],s:'_0<_1?null:"disabled"'},p:[26,35,1330]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}]}," ",{p:[29,3,1489],t:7,e:"ui-section",a:{label:"Valve"},f:[{p:[30,5,1520],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.valveOpen"],s:'_0?"unlock":"lock"'},p:[30,22,1537]}],style:[{t:2,x:{r:["data.valveOpen","data.hasHoldingTank"],s:'_0?_1?"caution":"danger":null'},p:[31,14,1590]}],action:"valve"},f:[{t:2,x:{r:["data.valveOpen"],s:'_0?"Open":"Closed"'},p:[32,22,1683]}]}]}]}," ",{p:{button:[{t:4,f:[{p:[38,7,1865],t:7,e:"ui-button",a:{icon:"eject",style:[{t:2,x:{r:["data.valveOpen"],s:'_0?"danger":null'},p:[38,38,1896]}],action:"eject"},f:["Eject"]}],n:50,r:"data.hasHoldingTank",p:[37,5,1831]}]},t:7,e:"ui-display",a:{title:"Holding Tank",button:0},f:[" ",{t:4,f:[{p:[42,3,2026],t:7,e:"ui-section",a:{label:"Label"},f:[{t:2,r:"data.holdingTank.name",p:[43,4,2056]}]}," ",{p:[45,3,2100],t:7,e:"ui-section",a:{label:"Pressure"},f:[{t:2,x:{r:["adata.holdingTank.tankPressure"],s:"Math.round(_0)"},p:[46,4,2133]}," kPa"]}],n:50,r:"data.hasHoldingTank",p:[41,3,1996]},{t:4,n:51,f:[{p:[49,3,2212],t:7,e:"ui-section",f:[{p:[50,4,2228],t:7,e:"span",a:{"class":"average"},f:["No Holding Tank"]}]}],r:"data.hasHoldingTank"}]}]},e.exports=r.extend(i.exports)},{196:196}],224:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[2,3,30],t:7,e:"ui-section",a:{label:"Energy"},f:[{p:[3,5,62],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.maxEnergy",p:[3,26,83]}],value:[{t:2,r:"data.energy",p:[3,53,110]}]},f:[{t:2,x:{r:["adata.energy"],s:"Math.fixed(_0)"},p:[3,70,127]}," Units"]}]}]}," ",{p:{button:[{t:4,f:[{p:[9,7,307],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.amount","."],s:'_0==_1?"selected":null'},p:[9,37,337]}],action:"amount",params:['{"amount": ',{t:2,r:".",p:[9,114,414]},"}"]},f:[{t:2,r:".",p:[9,122,422]}]}],n:52,r:"data.beakerTransferAmounts",p:[8,5,264]}]},t:7,e:"ui-display",a:{title:"Dispense",button:0},f:[" ",{p:[12,3,471],t:7,e:"ui-section",f:[{t:4,f:[{p:[14,7,519],t:7,e:"ui-button",a:{grid:0,icon:"tint",action:"dispense",params:['{"reagent": "',{t:2,r:"id",p:[14,74,586]},'"}']},f:[{t:2,r:"title",p:[14,84,596]}]}],n:52,r:"data.chemicals",p:[13,5,488]}]}]}," ",{p:{button:[{t:4,f:[{p:[21,7,766],t:7,e:"ui-button",a:{icon:"minus",action:"remove",params:['{"amount": ',{t:2,r:".",p:[21,66,825]},"}"]},f:[{t:2,r:".",p:[21,74,833]}]}],n:52,r:"data.beakerTransferAmounts",p:[20,5,723]}," ",{p:[23,5,869],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[23,36,900]}],action:"eject"},f:["Eject"]}]},t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[" ",{p:[25,3,995],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{p:[27,7,1063],t:7,e:"span",f:[{t:2,x:{r:["adata.beakerCurrentVolume"],s:"Math.round(_0)"},p:[27,13,1069]},"/",{t:2,r:"data.beakerMaxVolume",p:[27,55,1111]}," Units"]}," ",{p:[28,7,1155],t:7,e:"br"}," ",{t:4,f:[{p:[30,9,1206],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[30,52,1249]}," units of ",{t:2,r:"name",p:[30,87,1284]}]},{p:[30,102,1299],t:7,e:"br"}],n:52,r:"adata.beakerContents",p:[29,7,1167]},{t:4,n:51,f:[{p:[32,9,1328],t:7,e:"span",a:{"class":"bad"},f:["Beaker Empty"]}],r:"adata.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[26,5,1029]},{t:4,n:51,f:[{p:[35,7,1401],t:7,e:"span",a:{"class":"average"},f:["No Beaker"]}],r:"data.isBeakerLoaded"}]}]}]},e.exports=r.extend(i.exports)},{196:196}],225:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Thermostat"},f:[{p:[2,3,34],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,5,65],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isActive"],s:'_0?"power-off":"close"'},p:[3,22,82]}],style:[{t:2,x:{r:["data.isActive"],s:'_0?"selected":null'},p:[4,10,134]}],state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[5,10,182]}],action:"power"},f:[{t:2,x:{r:["data.isActive"],s:'_0?"On":"Off"'},p:[6,18,244]}]}]}," ",{p:[8,3,307],t:7,e:"ui-section",a:{label:"Target"},f:[{p:[9,4,338],t:7,e:"ui-button",a:{icon:"pencil",action:"temperature"},f:[{t:2,x:{r:["adata.targetTemp"],s:"Math.round(_0)"},p:[9,50,384]}," K"]}]}]}," ",{p:{button:[{p:[14,5,522],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[14,36,553]}],action:"eject"},f:["Eject"]}]},t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[" ",{p:[16,3,648],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{p:[18,7,716],t:7,e:"span",f:["Temperature: ",{t:2,x:{r:["adata.currentTemp"],s:"Math.round(_0)"},p:[18,26,735]}," K"]}," ",{p:[19,7,784],t:7,e:"br"}," ",{t:4,f:[{p:[21,9,836],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[21,52,879]}," units of ",{t:2,r:"name",p:[21,87,914]}]},{p:[21,102,929],t:7,e:"br"}],n:52,r:"adata.beakerContents",p:[20,7,797]},{t:4,n:51,f:[{p:[23,9,958],t:7,e:"span",a:{"class":"bad"},f:["Beaker Empty"]}],r:"adata.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[17,5,682]},{t:4,n:51,f:[{p:[26,7,1031],t:7,e:"span",a:{"class":"average"},f:["No Beaker"]}],r:"data.isBeakerLoaded"}]}]}]},e.exports=r.extend(i.exports)},{196:196}],226:[function(t,e,n){var r=t(196),i={exports:{}};!function(t){"use strict";t.exports={data:{temperatureStatus:function(t){return 225>t?"good":273.15>t?"average":"bad"}},computed:{occupantStatState:function(){switch(this.get("data.occupant.stat")){case 0:return"good";case 1:return"average";default:return"bad"}}}}}(i),i.exports.template={v:3,t:[" ",{p:[22,1,409],t:7,e:"ui-display",a:{title:"Occupant"},f:[{p:[23,3,441],t:7,e:"ui-section",a:{label:"Occupant"},f:[{p:[24,3,473],t:7,e:"span",f:[{t:2,x:{r:["data.occupant.name"],s:'_0?_0:"No Occupant"'},p:[24,9,479]}]}]}," ",{t:4,f:[{p:[27,5,593],t:7,e:"ui-section",a:{label:"State"},f:[{p:[28,7,626],t:7,e:"span",a:{"class":[{t:2,r:"occupantStatState",p:[28,20,639]}]},f:[{t:2,x:{r:["data.occupant.stat"],s:'_0==0?"Conscious":_0==1?"Unconcious":"Dead"'},p:[28,43,662]}]}]}," ",{p:[30,4,781],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[31,6,819],t:7,e:"span",a:{"class":[{t:2,x:{r:["temperatureStatus","adata.occupant.bodyTemperature"],s:"_0(_1)"},p:[31,19,832]}]},f:[{t:2,x:{r:["adata.occupant.bodyTemperature"],s:"Math.round(_0)"},p:[31,74,887]}," K"]}]}," ",{p:[33,5,964],t:7,e:"ui-section",a:{label:"Health"},f:[{p:[34,7,998],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.occupant.minHealth",p:[34,20,1011]}],max:[{t:2,r:"data.occupant.maxHealth",p:[34,54,1045]}],value:[{t:2,r:"data.occupant.health",p:[34,90,1081]}],state:[{t:2,x:{r:["data.occupant.health"],s:'_0>=0?"good":"average"'},p:[35,16,1122]}]},f:[{t:2,x:{r:["adata.occupant.health"],s:"Math.round(_0)"},p:[35,68,1174]}]}]}," ",{t:4,f:[{p:[38,7,1408],t:7,e:"ui-section",a:{label:[{t:2,r:"label",p:[38,26,1427]}]},f:[{p:[39,9,1447],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.occupant.maxHealth",p:[39,30,1468]}],value:[{t:2,rx:{r:"data.occupant",m:[{t:30,n:"type"}]},p:[39,66,1504]}],state:"bad"},f:[{t:2,x:{r:["type","adata.occupant"],s:"Math.round(_1[_0])"},p:[39,103,1541]}]}]}],n:52,x:{r:[],s:'[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}]'},p:[37,5,1243]}],n:50,r:"data.hasOccupant",p:[26,3,564]}]}," ",{p:[44,1,1645],t:7,e:"ui-display",a:{title:"Cell"},f:[{p:[45,3,1673],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[46,5,1704],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isOperating"],s:'_0?"power-off":"close"'},p:[46,22,1721]}],style:[{t:2,x:{r:["data.isOperating"],s:'_0?"selected":null'},p:[47,14,1780]}],state:[{t:2,x:{r:["data.isOpen"],s:'_0?"disabled":null'},p:[48,14,1835]}],action:"power"},f:[{t:2,x:{r:["data.isOperating"],s:'_0?"On":"Off"'},p:[49,22,1893]}]}]}," ",{p:[51,3,1959],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[52,3,1994],t:7,e:"span",a:{"class":[{t:2,x:{r:["temperatureStatus","adata.cellTemperature"],s:"_0(_1)"},p:[52,16,2007]}]},f:[{t:2,x:{r:["adata.cellTemperature"],s:"Math.round(_0)"},p:[52,62,2053]}," K"]}]}," ",{p:[54,2,2116],t:7,e:"ui-section",a:{label:"Door"},f:[{p:[55,5,2146],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isOpen"],s:'_0?"unlock":"lock"'},p:[55,22,2163]}],action:"door"},f:[{t:2,x:{r:["data.isOpen"],s:'_0?"Open":"Closed"'},p:[55,73,2214]}]}," ",{p:[56,5,2266],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.autoEject"],s:'_0?"sign-out":"sign-in"'},p:[56,22,2283]}],action:"autoeject"},f:[{t:2,x:{r:["data.autoEject"],s:'_0?"Auto":"Manual"'},p:[56,86,2347]}]}]}]}," ",{p:{button:[{p:[61,5,2488],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[61,36,2519]}],action:"ejectbeaker"},f:["Eject"]}]},t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[" ",{p:[63,3,2620],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{t:4,f:[{p:[66,9,2727],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[66,52,2770]}," units of ",{t:2,r:"name",p:[66,87,2805]}]},{p:[66,102,2820],t:7,e:"br"}],n:52,r:"adata.beakerContents",p:[65,7,2688]},{t:4,n:51,f:[{p:[68,9,2849],t:7,e:"span",a:{"class":"bad"},f:["Beaker Empty"]}],r:"adata.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[64,5,2654]},{t:4,n:51,f:[{p:[71,7,2922],t:7,e:"span",a:{"class":"average"},f:["No Beaker"]}],r:"data.isBeakerLoaded"}]}]}]},e.exports=r.extend(i.exports)},{196:196}],227:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{p:[2,3,14],t:7,e:"span",f:["The requested interface (",{t:2,r:"config.interface",p:[2,34,45]},") was not found. Does it exist?"]}]}]},e.exports=r.extend(i.exports)},{196:196}],228:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{t:4,f:[{p:[3,5,45],t:7,e:"ui-section",a:{label:"Interface Lock"},f:[{p:[4,7,88],
-t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"lock":"unlock"'},p:[4,24,105]}],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Engaged":"Disengaged"'},p:[4,75,156]}]}]}],n:50,r:"data.siliconUser",p:[2,3,15]},{t:4,n:51,f:[{p:[7,5,247],t:7,e:"span",f:["Swipe an ID card to ",{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'},p:[7,31,273]}," this interface."]}],r:"data.siliconUser"}]}," ",{p:[10,1,358],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[11,3,389],t:7,e:"ui-section",a:{label:"Power"},f:[{t:4,f:[{p:[13,7,470],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[13,24,487]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[13,68,531]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[13,116,579]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[12,5,421]},{t:4,n:51,f:[{p:[15,7,639],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.on"],s:'_0?"good":"bad"'},p:[15,20,652]}],state:[{t:2,x:{r:["data.cell"],s:'_0?null:"disabled"'},p:[15,57,689]}]},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[15,92,724]}]}],x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"}}]}," ",{p:[18,3,791],t:7,e:"ui-section",a:{label:"Cell"},f:[{p:[19,5,822],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.cell"],s:'_0?null:"bad"'},p:[19,18,835]}]},f:[{t:2,x:{r:["data.cell","data.cellPercent"],s:'_0?_1+"%":"No Cell"'},p:[19,48,865]}]}]}," ",{p:[21,3,943],t:7,e:"ui-section",a:{label:"Mode"},f:[{p:[22,5,974],t:7,e:"span",a:{"class":[{t:2,r:"data.modeStatus",p:[22,18,987]}]},f:[{t:2,r:"data.mode",p:[22,39,1008]}]}]}," ",{p:[24,3,1049],t:7,e:"ui-section",a:{label:"Load"},f:[{p:[25,5,1080],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.load"],s:'_0?"good":"average"'},p:[25,18,1093]}]},f:[{t:2,x:{r:["data.load"],s:'_0?_0:"None"'},p:[25,54,1129]}]}]}," ",{p:[27,3,1191],t:7,e:"ui-section",a:{label:"Destination"},f:[{p:[28,5,1229],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.destination"],s:'_0?"good":"average"'},p:[28,18,1242]}]},f:[{t:2,x:{r:["data.destination"],s:'_0?_0:"None"'},p:[28,60,1284]}]}]}]}," ",{t:4,f:[{p:{button:[{t:4,f:[{p:[35,9,1513],t:7,e:"ui-button",a:{icon:"eject",action:"unload"},f:["Unload"]}],n:50,r:"data.load",p:[34,7,1486]}," ",{p:[37,7,1594],t:7,e:"ui-button",a:{icon:"pencil",action:"setid"},f:["Set ID"]}]},t:7,e:"ui-display",a:{title:"Controls",button:0},f:[" ",{p:[39,5,1676],t:7,e:"ui-section",a:{label:"Destination"},f:[{p:[40,7,1716],t:7,e:"ui-button",a:{icon:"pencil",action:"destination"},f:["Set Destination"]}," ",{p:[41,7,1797],t:7,e:"ui-button",a:{icon:"stop",action:"stop"},f:["Stop"]}," ",{p:[42,7,1858],t:7,e:"ui-button",a:{icon:"play",action:"go"},f:["Go"]}]}," ",{p:[44,5,1932],t:7,e:"ui-section",a:{label:"Home"},f:[{p:[45,7,1965],t:7,e:"ui-button",a:{icon:"home",action:"home"},f:["Go Home"]}," ",{p:[46,7,2029],t:7,e:"ui-button",a:{icon:"pencil",action:"sethome"},f:["Set Home"]}]}," ",{p:[48,5,2116],t:7,e:"ui-section",a:{label:"Settings"},f:[{p:[49,7,2153],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.autoReturn"],s:'_0?"check-square-o":"square-o"'},p:[49,24,2170]}],style:[{t:2,x:{r:["data.autoReturn"],s:'_0?"selected":null'},p:[49,84,2230]}],action:"autoret"},f:["Auto-Return Home"]}," ",{p:[51,7,2334],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.autoPickup"],s:'_0?"check-square-o":"square-o"'},p:[51,24,2351]}],style:[{t:2,x:{r:["data.autoPickup"],s:'_0?"selected":null'},p:[51,84,2411]}],action:"autopick"},f:["Auto-Pickup Crate"]}," ",{p:[53,7,2517],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.reportDelivery"],s:'_0?"check-square-o":"square-o"'},p:[53,24,2534]}],style:[{t:2,x:{r:["data.reportDelivery"],s:'_0?"selected":null'},p:[53,88,2598]}],action:"report"},f:["Report Deliveries"]}]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[31,1,1373]}]},e.exports=r.extend(i.exports)},{196:196}],229:[function(t,e,n){var r=t(196),i={exports:{}};!function(t){"use strict";t.exports={computed:{readableFrequency:function(){return Math.round(this.get("adata.frequency"))/10}}}}(i),i.exports.template={v:3,t:[" ",{p:[11,1,167],t:7,e:"ui-display",a:{title:"Settings"},f:[{t:4,f:[{p:[13,5,224],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[14,7,257],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.listening"],s:'_0?"power-off":"close"'},p:[14,24,274]}],style:[{t:2,x:{r:["data.listening"],s:'_0?"selected":null'},p:[14,75,325]}],action:"listen"},f:[{t:2,x:{r:["data.listening"],s:'_0?"On":"Off"'},p:[16,9,398]}]}]}],n:50,r:"data.headset",p:[12,3,199]},{t:4,n:51,f:[{p:[19,5,476],t:7,e:"ui-section",a:{label:"Microphone"},f:[{p:[20,7,514],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.broadcasting"],s:'_0?"power-off":"close"'},p:[20,24,531]}],style:[{t:2,x:{r:["data.broadcasting"],s:'_0?"selected":null'},p:[20,78,585]}],action:"broadcast"},f:[{t:2,x:{r:["data.broadcasting"],s:'_0?"Engaged":"Disengaged"'},p:[22,9,664]}]}]}," ",{p:[24,5,746],t:7,e:"ui-section",a:{label:"Speaker"},f:[{p:[25,7,781],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.listening"],s:'_0?"power-off":"close"'},p:[25,24,798]}],style:[{t:2,x:{r:["data.listening"],s:'_0?"selected":null'},p:[25,75,849]}],action:"listen"},f:[{t:2,x:{r:["data.listening"],s:'_0?"Engaged":"Disengaged"'},p:[27,9,922]}]}]}],r:"data.headset"}," ",{t:4,f:[{p:[31,5,1034],t:7,e:"ui-section",a:{label:"High Volume"},f:[{p:[32,7,1073],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.useCommand"],s:'_0?"power-off":"close"'},p:[32,24,1090]}],style:[{t:2,x:{r:["data.useCommand"],s:'_0?"selected":null'},p:[32,76,1142]}],action:"command"},f:[{t:2,x:{r:["data.useCommand"],s:'_0?"On":"Off"'},p:[34,9,1217]}]}]}],n:50,r:"data.command",p:[30,3,1009]}]}," ",{p:[38,1,1305],t:7,e:"ui-display",a:{title:"Channel"},f:[{p:[39,3,1336],t:7,e:"ui-section",a:{label:"Frequency"},f:[{t:4,f:[{p:[41,7,1399],t:7,e:"span",f:[{t:2,r:"readableFrequency",p:[41,13,1405]}]}],n:50,r:"data.freqlock",p:[40,5,1371]},{t:4,n:51,f:[{p:[43,7,1453],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.frequency","data.minFrequency"],s:'_0==_1?"disabled":null'},p:[43,46,1492]}],action:"frequency",params:'{"change": -10}'}}," ",{p:[44,7,1604],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.frequency","data.minFrequency"],s:'_0==_1?"disabled":null'},p:[44,41,1638]}],action:"frequency",params:'{"change": -2}'}}," ",{p:[45,7,1749],t:7,e:"ui-button",a:{icon:"pencil",action:"frequency",params:'{"change": "custom"}'},f:[{t:2,r:"readableFrequency",p:[45,81,1823]}]}," ",{p:[46,7,1863],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.frequency","data.maxFrequency"],s:'_0==_1?"disabled":null'},p:[46,40,1896]}],action:"frequency",params:'{"change": 2}'}}," ",{p:[47,7,2006],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.frequency","data.maxFrequency"],s:'_0==_1?"disabled":null'},p:[47,45,2044]}],action:"frequency",params:'{"change": 10}'}}],r:"data.freqlock"}]}," ",{t:4,f:[{p:[51,5,2215],t:7,e:"ui-section",a:{label:"Subspace Transmission"},f:[{p:[52,7,2264],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.subspace"],s:'_0?"power-off":"close"'},p:[52,24,2281]}],style:[{t:2,x:{r:["data.subspace"],s:'_0?"selected":null'},p:[52,74,2331]}],action:"subspace"},f:[{t:2,x:{r:["data.subspace"],s:'_0?"Active":"Inactive"'},p:[53,29,2398]}]}]}],n:50,r:"data.subspaceSwitchable",p:[50,3,2179]}," ",{t:4,f:[{p:[57,5,2525],t:7,e:"ui-section",a:{label:"Channels"},f:[{t:4,f:[{p:[59,9,2601],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["."],s:'_0?"check-square-o":"square-o"'},p:[59,26,2618]}],style:[{t:2,x:{r:["."],s:'_0?"selected":null'},p:[60,18,2674]}],action:"channel",params:['{"channel": "',{t:2,r:"channel",p:[61,49,2749]},'"}']},f:[{t:2,r:"channel",p:[62,11,2775]}]}],n:52,i:"channel",r:"data.channels",p:[58,7,2561]}]}],n:50,x:{r:["data.subspace","data.channels"],s:"_0&&_1"},p:[56,3,2482]}]}]},e.exports=r.extend(i.exports)},{196:196}],230:[function(t,e,n){var r=t(196),i={exports:{}};!function(t){"use strict";t.exports={computed:{capacityPercentState:function(){var t=this.get("data.capacityPercent");return t>50?"good":t>15?"average":"bad"},inputState:function(){return this.get("data.capacityPercent")>=100?"good":this.get("data.inputting")?"average":"bad"},outputState:function(){return this.get("data.outputting")?"good":this.get("data.charge")>0?"average":"bad"}}}}(i),i.exports.template={v:3,t:[" ",{p:[24,1,600],t:7,e:"ui-display",a:{title:"Storage"},f:[{p:[25,3,631],t:7,e:"ui-section",a:{label:"Stored Energy"},f:[{p:[26,5,670],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.capacityPercent",p:[26,38,703]}],state:[{t:2,r:"capacityPercentState",p:[26,71,736]}]},f:[{t:2,x:{r:["adata.capacityPercent"],s:"Math.fixed(_0)"},p:[26,97,762]},"%"]}]}]}," ",{p:[29,1,840],t:7,e:"ui-display",a:{title:"Input"},f:[{p:[30,3,869],t:7,e:"ui-section",a:{label:"Charge Mode"},f:[{p:[31,5,906],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.inputAttempt"],s:'_0?"refresh":"close"'},p:[31,22,923]}],style:[{t:2,x:{r:["data.inputAttempt"],s:'_0?"selected":null'},p:[31,74,975]}],action:"tryinput"},f:[{t:2,x:{r:["data.inputAttempt"],s:'_0?"Auto":"Off"'},p:[32,25,1042]}]},"  [",{p:[34,6,1109],t:7,e:"span",a:{"class":[{t:2,r:"inputState",p:[34,19,1122]}]},f:[{t:2,x:{r:["data.capacityPercent","data.inputting"],s:'_0>=100?"Fully Charged":_1?"Charging":"Not Charging"'},p:[34,35,1138]}]},"]"]}," ",{p:[36,3,1260],t:7,e:"ui-section",a:{label:"Target Input"},f:[{p:[37,5,1298],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.inputLevelMax",p:[37,26,1319]}],value:[{t:2,r:"data.inputLevel",p:[37,57,1350]}]},f:[{t:2,x:{r:["adata.inputLevel"],s:"Math.round(_0)"},p:[37,78,1371]},"W"]}]}," ",{p:[39,3,1431],t:7,e:"ui-section",a:{label:"Adjust Input"},f:[{p:[40,5,1469],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.inputLevel"],s:'_0==0?"disabled":null'},p:[40,44,1508]}],action:"input",params:'{"input": "min"}'}}," ",{p:[41,5,1601],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.inputLevel"],s:'_0==0?"disabled":null'},p:[41,39,1635]}],action:"input",params:'{"input": "minus"}'}}," ",{p:[42,5,1730],t:7,e:"ui-button",a:{icon:"pencil",action:"input",params:'{"input": "custom"}'},f:["Set"]}," ",{p:[43,5,1819],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.inputLevel","data.inputLevelMax"],s:'_0==_1?"disabled":null'},p:[43,38,1852]}],action:"input",params:'{"input": "plus"}'}}," ",{p:[44,5,1963],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.inputLevel","data.inputLevelMax"],s:'_0==_1?"disabled":null'},p:[44,43,2001]}],action:"input",params:'{"input": "max"}'}}]}," ",{p:[46,3,2125],t:7,e:"ui-section",a:{label:"Available"},f:[{p:[47,3,2158],t:7,e:"span",f:[{t:2,x:{r:["adata.inputAvailable"],s:"Math.round(_0)"},p:[47,9,2164]},"W"]}]}]}," ",{p:[50,1,2238],t:7,e:"ui-display",a:{title:"Output"},f:[{p:[51,3,2268],t:7,e:"ui-section",a:{label:"Output Mode"},f:[{p:[52,5,2305],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.outputAttempt"],s:'_0?"power-off":"close"'},p:[52,22,2322]}],style:[{t:2,x:{r:["data.outputAttempt"],s:'_0?"selected":null'},p:[52,77,2377]}],action:"tryoutput"},f:[{t:2,x:{r:["data.outputAttempt"],s:'_0?"On":"Off"'},p:[53,26,2446]}]},"  [",{p:[55,6,2512],t:7,e:"span",a:{"class":[{t:2,r:"outputState",p:[55,19,2525]}]},f:[{t:2,x:{r:["data.outputting","data.charge"],s:'_0?"Sending":_1>0?"Not Sending":"No Charge"'},p:[55,36,2542]}]},"]"]}," ",{p:[57,3,2647],t:7,e:"ui-section",a:{label:"Target Output"},f:[{p:[58,5,2686],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.outputLevelMax",p:[58,26,2707]}],value:[{t:2,r:"data.outputLevel",p:[58,58,2739]}]},f:[{t:2,x:{r:["adata.outputLevel"],s:"Math.round(_0)"},p:[58,80,2761]},"W"]}]}," ",{p:[60,3,2822],t:7,e:"ui-section",a:{label:"Adjust Output"},f:[{p:[61,5,2861],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.outputLevel"],s:'_0==0?"disabled":null'},p:[61,44,2900]}],action:"output",params:'{"output": "min"}'}}," ",{p:[62,5,2996],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.outputLevel"],s:'_0==0?"disabled":null'},p:[62,39,3030]}],action:"output",params:'{"output": "minus"}'}}," ",{p:[63,5,3128],t:7,e:"ui-button",a:{icon:"pencil",action:"output",params:'{"output": "custom"}'},f:["Set"]}," ",{p:[64,5,3219],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.outputLevel","data.outputLevelMax"],s:'_0==_1?"disabled":null'},p:[64,38,3252]}],action:"output",params:'{"output": "plus"}'}}," ",{p:[65,5,3367],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.outputLevel","data.outputLevelMax"],s:'_0==_1?"disabled":null'},p:[65,43,3405]}],action:"output",params:'{"output": "max"}'}}]}," ",{p:[67,3,3533],t:7,e:"ui-section",a:{label:"Outputting"},f:[{p:[68,3,3567],t:7,e:"span",f:[{t:2,x:{r:["adata.outputUsed"],s:"Math.round(_0)"},p:[68,9,3573]},"W"]}]}]}]},e.exports=r.extend(i.exports)},{196:196}],231:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[2,3,30],t:7,e:"ui-section",a:{label:"Generated Power"},f:[{t:2,x:{r:["adata.generated"],s:"Math.round(_0)"},p:[3,5,71]},"W"]}," ",{p:[5,3,122],t:7,e:"ui-section",a:{label:"Orientation"},f:[{p:[6,5,159],t:7,e:"span",f:[{t:2,x:{r:["adata.angle"],s:"Math.round(_0)"},p:[6,11,165]},"° (",{t:2,r:"data.direction",p:[6,45,199]},")"]}]}," ",{p:[8,3,244],t:7,e:"ui-section",a:{label:"Adjust Angle"},f:[{p:[9,5,282],t:7,e:"ui-button",a:{icon:"step-backward",action:"control",params:'{"cdir": -15}'},f:["15°"]}," ",{p:[10,5,378],t:7,e:"ui-button",a:{icon:"backward",action:"control",params:'{"cdir": -5}'},f:["5°"]}," ",{p:[11,5,467],t:7,e:"ui-button",a:{icon:"forward",action:"control",params:'{"cdir": 5}'},f:["5°"]}," ",{p:[12,5,554],t:7,e:"ui-button",a:{icon:"step-forward",action:"control",params:'{"cdir": 15}'},f:["15°"]}]}]}," ",{p:[15,1,673],t:7,e:"ui-display",a:{title:"Tracking"},f:[{p:[16,3,705],t:7,e:"ui-section",a:{label:"Tracker Mode"},f:[{p:[17,5,743],t:7,e:"ui-button",a:{icon:"close",state:[{t:2,x:{r:["data.tracking_state"],s:'_0==0?"selected":null'},p:[17,36,774]}],action:"tracking",params:'{"mode": 0}'},f:["Off"]}," ",{p:[19,5,889],t:7,e:"ui-button",a:{icon:"clock-o",state:[{t:2,x:{r:["data.tracking_state"],s:'_0==1?"selected":null'},p:[19,38,922]}],action:"tracking",params:'{"mode": 1}'},f:["Timed"]}," ",{p:[21,5,1039],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.connected_tracker","data.tracking_state"],s:'_0?_1==2?"selected":null:"disabled"'},p:[21,38,1072]}],action:"tracking",params:'{"mode": 2}'},f:["Auto"]}]}," ",{p:[24,3,1239],t:7,e:"ui-section",a:{label:"Tracking Rate"},f:[{p:[25,3,1276],t:7,e:"span",f:[{t:2,x:{r:["adata.tracking_rate"],s:"Math.round(_0)"},p:[25,9,1282]},"°/h (",{t:2,r:"data.rotating_way",p:[25,53,1326]},")"]}]}," ",{p:[27,3,1373],t:7,e:"ui-section",a:{label:"Adjust Rate"},f:[{p:[28,5,1410],t:7,e:"ui-button",a:{icon:"fast-backward",action:"control",params:'{"tdir": -180}'},f:["180°"]}," ",{p:[29,5,1508],t:7,e:"ui-button",a:{icon:"step-backward",action:"control",params:'{"tdir": -30}'},f:["30°"]}," ",{p:[30,5,1604],t:7,e:"ui-button",a:{icon:"backward",action:"control",params:'{"tdir": -5}'},f:["5°"]}," ",{p:[31,5,1693],t:7,e:"ui-button",a:{icon:"forward",action:"control",params:'{"tdir": 5}'},f:["5°"]}," ",{p:[32,5,1780],t:7,e:"ui-button",a:{icon:"step-forward",action:"control",params:'{"tdir": 30}'},f:["30°"]}," ",{p:[33,5,1874],t:7,e:"ui-button",a:{icon:"fast-forward",action:"control",params:'{"tdir": 180}'},f:["180°"]}]}]}," ",{p:{button:[{p:[38,5,2057],t:7,e:"ui-button",a:{icon:"refresh",action:"refresh"},f:["Refresh"]}]},t:7,e:"ui-display",a:{title:"Devices",button:0},f:[" ",{p:[40,2,2136],t:7,e:"ui-section",a:{label:"Solar Tracker"},f:[{p:[41,5,2175],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected_tracker"],s:'_0?"good":"bad"'},p:[41,18,2188]}]},f:[{t:2,x:{r:["data.connected_tracker"],s:'_0?"":"Not "'},p:[41,63,2233]},"Found"]}]}," ",{p:[43,2,2302],t:7,e:"ui-section",a:{label:"Solar Panels"},f:[{p:[44,3,2338],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected_panels"],s:'_0?"good":"bad"'},p:[44,16,2351]}]},f:[{t:2,x:{r:["adata.connected_panels"],s:"Math.round(_0)"},p:[44,60,2395]}," Panels Connected"]}]}]}]},e.exports=r.extend(i.exports)},{196:196}],232:[function(t,e,n){var r=t(196),i={exports:{}};!function(e){"use strict";e.exports={data:{text:t(244)}}}(i),i.exports.template={v:3,t:[" ",{p:{button:[{t:4,f:[{p:[12,7,173],t:7,e:"ui-button",a:{icon:"eject",action:"eject"},f:["Eject"]}],n:50,r:"data.open",p:[11,5,149]}]},t:7,e:"ui-display",a:{title:"Power",button:0},f:[" ",{p:[15,3,259],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[16,5,290],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[16,22,307]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[17,14,357]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[18,22,411]}]}]}," ",{p:[20,3,468],t:7,e:"ui-section",a:{label:"Cell"},f:[{t:4,f:[{p:[22,7,530],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.powerLevel",p:[22,40,563]}]},f:[{t:2,x:{r:["adata.powerLevel"],s:"Math.fixed(_0)"},p:[22,61,584]},"%"]}],n:50,r:"data.hasPowercell",p:[21,5,498]},{t:4,n:51,f:[{p:[24,4,641],t:7,e:"span",a:{"class":"bad"},f:["No Cell"]}],r:"data.hasPowercell"}]}]}," ",{p:[28,1,714],t:7,e:"ui-display",a:{title:"Thermostat"},f:[{p:[29,3,748],t:7,e:"ui-section",a:{label:"Current Temperature"},f:[{p:[30,3,791],t:7,e:"span",f:[{t:2,x:{r:["adata.currentTemp"],s:"Math.round(_0)"},p:[30,9,797]},"°C"]}]}," ",{p:[32,2,860],t:7,e:"ui-section",a:{label:"Target Temperature"},f:[{p:[33,3,902],t:7,e:"span",f:[{t:2,x:{r:["adata.targetTemp"],s:"Math.round(_0)"},p:[33,9,908]},"°C"]}]}," ",{t:4,f:[{p:[36,2,990],t:7,e:"ui-section",a:{label:"Adjust Target"},f:[{p:[37,7,1031],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.targetTemp","data.minTemp"],s:'_0>_1?null:"disabled"'},p:[37,46,1070]}],action:"target",params:'{"target": -20}'}}," ",{p:[38,7,1175],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.targetTemp","data.minTemp"],s:'_0>_1?null:"disabled"'},p:[38,41,1209]}],action:"target",params:'{"target": -5}'}}," ",{p:[39,7,1313],t:7,e:"ui-button",a:{icon:"pencil",action:"target",params:'{"target": "custom"}'},f:["Set"]}," ",{p:[40,7,1406],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.targetTemp","data.maxTemp"],s:'_0<_1?null:"disabled"'},p:[40,40,1439]}],action:"target",params:'{"target": 5}'}}," ",{p:[41,7,1542],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.targetTemp","data.maxTemp"],s:'_0<_1?null:"disabled"'},p:[41,45,1580]}],action:"target",params:'{"target": 20}'}}]}],n:50,r:"data.open",p:[35,3,971]}," ",{p:[44,3,1706],t:7,e:"ui-section",a:{label:"Mode"},f:[{t:4,f:[{p:[46,7,1758],t:7,e:"ui-button",a:{icon:"long-arrow-up",state:[{t:2,x:{r:["data.mode"],s:'_0=="heat"?"selected":null'},p:[46,46,1797]}],action:"mode",params:'{"mode": "heat"}'},f:["Heat"]}," ",{p:[47,7,1905],t:7,e:"ui-button",a:{icon:"long-arrow-down",state:[{t:2,x:{r:["data.mode"],s:'_0=="cool"?"selected":null'},p:[47,48,1946]}],action:"mode",params:'{"mode": "cool"}'},f:["Cool"]}," ",{p:[48,7,2054],t:7,e:"ui-button",a:{icon:"arrows-v",state:[{t:2,x:{r:["data.mode"],s:'_0=="auto"?"selected":null'},p:[48,41,2088]}],action:"mode",params:'{"mode": "auto"}'},f:["Auto"]}],n:50,r:"data.open",p:[45,3,1734]},{t:4,n:51,f:[{p:[50,4,2204],t:7,e:"span",f:[{t:2,x:{r:["text","data.mode"],s:"_0.titleCase(_1)"},p:[50,10,2210]}]}],r:"data.open"}]}]}]},e.exports=r.extend(i.exports)},{196:196,244:244}],233:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{t:4,f:[{p:[2,3,31],t:7,e:"ui-display",a:{title:[{t:2,r:"class",p:[2,22,50]}," Alarms"]},f:[{p:[3,5,74],t:7,e:"ul",f:[{t:4,f:[{p:[5,9,107],t:7,e:"li",f:[{t:2,r:".",p:[5,13,111]}]}],n:52,r:".",p:[4,7,86]},{t:4,n:51,f:[{p:[7,9,147],t:7,e:"li",f:["System Nominal"]}],r:"."}]}]}],n:52,i:"class",r:"data.alarms",p:[1,1,0]}]},e.exports=r.extend(i.exports)},{196:196}],234:[function(t,e,n){var r=t(196),i={exports:{}};!function(t){"use strict";t.exports={computed:{tankPressureState:function(){var t=this.get("data.tankPressure");return t>=200?"good":t>=100?"average":"bad"}}}}(i),i.exports.template={v:3,t:[" ",{p:[14,1,262],t:7,e:"ui-notice",f:[{p:[15,3,276],t:7,e:"span",f:["The regulator ",{t:2,x:{r:["data.hasHoldingTank"],s:'_0?"is":"is not"'},p:[15,23,296]}," connected to a mask."]}]}," ",{p:[17,1,379],t:7,e:"ui-display",f:[{p:[18,3,394],t:7,e:"ui-section",a:{label:"Tank Pressure"},f:[{p:[19,7,435],t:7,e:"ui-bar",a:{min:"0",max:"1013",value:[{t:2,r:"data.tankPressure",p:[19,41,469]}],state:[{t:2,r:"tankPressureState",p:[20,16,507]}]},f:[{t:2,x:{r:["adata.tankPressure"],s:"Math.round(_0)"},p:[20,39,530]}," kPa"]}]}," ",{p:[22,3,596],t:7,e:"ui-section",a:{label:"Release Pressure"},f:[{p:[23,5,638],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.minReleasePressure",p:[23,18,651]}],max:[{t:2,r:"data.maxReleasePressure",p:[23,52,685]}],value:[{t:2,r:"data.releasePressure",p:[24,14,727]}]},f:[{t:2,x:{r:["adata.releasePressure"],s:"Math.round(_0)"},p:[24,40,753]}," kPa"]}]}," ",{p:[26,3,822],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[27,5,866],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.releasePressure","data.defaultReleasePressure"],s:'_0!=_1?null:"disabled"'},p:[27,38,899]}],action:"pressure",params:'{"pressure": "reset"}'},f:["Reset"]}," ",{p:[29,5,1053],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.releasePressure","data.minReleasePressure"],s:'_0>_1?null:"disabled"'},p:[29,36,1084]}],action:"pressure",params:'{"pressure": "min"}'},f:["Min"]}," ",{p:[31,5,1229],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "custom"}'},f:["Set"]}," ",{p:[32,5,1324],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.releasePressure","data.maxReleasePressure"],s:'_0<_1?null:"disabled"'},p:[32,35,1354]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}]}," ",{p:[35,3,1513],t:7,e:"ui-section",a:{label:"Valve"},f:[{p:[36,5,1544],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.valveOpen"],s:'_0?"unlock":"lock"'},p:[36,22,1561]}],state:[{t:2,x:{r:["data.maskConnected"],s:'_0?null:"disabled"'},p:[36,69,1608]}],action:"valve"},f:[{t:2,x:{r:["data.valveOpen"],s:'_0?"Open":"Closed"'},p:[37,22,1673]}]}]}]}]},e.exports=r.extend(i.exports)},{196:196}],235:[function(t,e,n){var r=t(196),i={exports:{}};!function(t){"use strict";t.exports={computed:{heater:function(){return this.get("data.max")?!0:void 0},freezer:function(){return this.get("data.min")?!0:void 0}}}}(i),i.exports.template={v:3,t:[" ",{p:[14,1,209],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[15,5,242],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[16,9,284],t:7,e:"span",f:[{t:2,x:{r:["adata.temperature"],s:"Math.fixed(_0,2)"},p:[16,15,290]}," K"]}]}," ",{p:[18,5,360],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[19,9,399],t:7,e:"span",f:[{t:2,x:{r:["adata.pressure"],s:"Math.fixed(_0,2)"},p:[19,15,405]}," kPa"]}]}]}," ",{p:[22,1,485],t:7,e:"ui-display",a:{title:"Controls"},f:[{p:[23,5,520],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[24,9,556],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[24,26,573]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[24,70,617]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[25,28,678]}]}]}," ",{p:[27,5,740],t:7,e:"ui-section",a:{label:"Target Temperature"},f:[{p:[28,9,789],t:7,e:"ui-button",a:{icon:"fast-backward",style:[{t:2,x:{r:["data.target","freezer","data.min","data.initial"],s:'_0==(_1?_2:_3)?"disabled":null'},p:[28,48,828]}],action:"target",params:'{"adjust": -20}'}}," ",{p:[30,9,969],t:7,e:"ui-button",a:{icon:"backward",style:[{t:2,x:{r:["data.target","freezer","data.min","data.initial"],s:'_0==(_1?_2:_3)?"disabled":null'},p:[30,43,1003]}],action:"target",params:'{"adjust": -5}'}}," ",{p:[32,9,1143],t:7,e:"span",f:[{t:2,x:{r:["adata.target"],s:"Math.fixed(_0,2)"},p:[32,15,1149]}]}," ",{p:[33,9,1197],t:7,e:"ui-button",a:{icon:"forward",style:[{t:2,x:{r:["data.target","heater","data.max","data.initial"],s:'_0==(_1?_2:_3)?"disabled":null'},p:[33,42,1230]}],action:"target",params:'{"adjust": 5}'}}," ",{p:[35,9,1368],t:7,e:"ui-button",a:{icon:"fast-forward",style:[{t:2,x:{r:["data.target","heater","data.max","data.initial"],s:'_0==(_1?_2:_3)?"disabled":null'},p:[35,47,1406]}],action:"target",params:'{"adjust": 20}'}}]}]}]},e.exports=r.extend(i.exports)},{196:196}],236:[function(t,e,n){var r=t(196),i={exports:{}};!function(t){"use strict";t.exports={oninit:function(){this.on({hover:function(t){var e=this.get("data.telecrystals");e>=t.context.params.cost&&this.set("hovered",t.context.params)},unhover:function(t){this.set("hovered")}})}}}(i),i.exports.template={v:3,t:[" ",{p:{button:[{t:4,f:[{p:[21,7,461],t:7,e:"ui-button",a:{icon:"lock",action:"lock"},f:["Lock"]}],n:50,r:"data.lockable",p:[20,5,432]}]},t:7,e:"ui-display",a:{title:"Uplink",button:0},f:[" ",{p:[24,3,547],t:7,e:"ui-section",a:{label:"Telecrystals",right:0},f:[{p:[25,5,592],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.telecrystals"],s:'_0>0?"good":"bad"'},p:[25,18,605]}]},f:[{t:2,r:"data.telecrystals",p:[25,62,649]}," TC"]}]}]}," ",{t:4,f:[{p:[29,3,740],t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[29,22,759]}]},f:[{t:4,f:[{p:[31,7,798],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[31,26,817]}],candystripe:0,right:0},f:[{p:[32,9,855],t:7,e:"ui-button",a:{tooltip:[{t:2,r:"name",p:[32,29,875]},": ",{t:2,r:"desc",p:[32,39,885]}],"tooltip-side":"left",state:[{t:2,x:{r:["data.telecrystals","hovered.cost","cost","hovered.item","name"],s:'_0<_2||(_0-_1<_2&&_3!=_4)?"disabled":null'},p:[33,18,933]}],action:"buy",params:['{"category": "',{t:2,r:"category",p:[34,46,1098]},'", "item": ',{t:2,r:"name",p:[34,69,1121]},', "cost": ',{t:2,r:"cost",p:[34,87,1139]},"}"]},v:{hover:"hover",unhover:"unhover"},f:[{t:2,r:"cost",p:[35,49,1199]}," TC"]}]}],n:52,r:"items",p:[30,5,775]}]}],n:52,r:"data.buyable",p:[28,1,714]}]},e.exports=r.extend(i.exports)},{196:196}],237:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{t:4,f:[{p:[3,5,40],t:7,e:"ui-section",a:{label:[{t:2,r:"color",p:[3,24,59]},{t:2,x:{r:["wire"],s:'_0?" ("+_0+")":""'},p:[3,33,68]}],labelcolor:[{t:2,r:"color",p:[3,80,115]}],candystripe:0,right:0},f:[{p:[4,7,151],t:7,e:"ui-button",a:{action:"cut",params:['{"wire":"',{t:2,r:"color",p:[4,48,192]},'"}']},f:[{t:2,x:{r:["cut"],s:'_0?"Mend":"Cut"'},p:[4,61,205]}]}," ",{p:[5,7,248],t:7,e:"ui-button",a:{action:"pulse",params:['{"wire":"',{t:2,r:"color",p:[5,50,291]},'"}']},f:["Pulse"]}," ",{p:[6,7,328],t:7,e:"ui-button",a:{action:"attach",params:['{"wire":"',{t:2,r:"color",p:[6,51,372]},'"}']},f:[{t:2,x:{r:["attached"],s:'_0?"Detach":"Attach"'},p:[6,64,385]}]}]}],n:52,r:"data.wires",p:[2,3,15]}]}," ",{t:4,f:[{p:[11,3,498],t:7,e:"ui-display",f:[{t:4,f:[{p:[13,7,543],t:7,e:"ui-section",f:[{t:2,r:".",p:[13,19,555]}]}],n:52,r:"data.status",p:[12,5,515]}]}],n:50,r:"data.status",p:[10,1,476]}]},e.exports=r.extend(i.exports)},{196:196}],238:[function(t,e,n){(function(e){"use strict";var n=t(196),r=e.interopRequireDefault(n);t(192),t(1),t(190),t(191);var i=t(197),a=e.interopRequireDefault(i),o=t(239),s=e.interopRequireDefault(o),u=t(240);r["default"].DEBUG=/minified/.test(function(){}),Object.assign(Math,t(243)),a["default"].load({custom:{families:["FontAwesome"],urls:["https://netdna.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"],testStrings:{FontAwesome:""}}}),window.initialize=function(e){window.tgui||(window.tgui=new s["default"]({el:"#container",data:function(){var n={constants:t(241)},r=JSON.parse(e);return Object.assign(n,r)}}))};var c=document.getElementById("data");"{}"!==c.textContent?window.initialize(c.textContent):((0,u.act)(c.getAttribute("data-ref"),"tgui:initialize"),c.remove())}).call(this,t("babel/external-helpers"))},{1:1,190:190,191:191,192:192,196:196,197:197,239:239,240:240,241:241,243:243,"babel/external-helpers":"babel/external-helpers"}],239:[function(t,e,n){var r=t(196),i={exports:{}};!function(e){"use strict";var n=t(240),r=t(242);e.exports={components:{"ui-bar":t(198),"ui-button":t(199),"ui-display":t(200),"ui-notice":t(201),"ui-section":t(203),"ui-subdisplay":t(204)},events:{enter:t(194).enter,space:t(194).space},transitions:{fade:t(195)},onconfig:function(){var e=this.get("config.interface"),n={air_alarm:t(207),"air_alarm/back":t(208),"air_alarm/controls":t(209),"air_alarm/modes":t(210),"air_alarm/scrubbers":t(211),"air_alarm/status":t(212),"air_alarm/thresholds":t(213),"air_alarm/vents":t(214),airlock_electronics:t(215),apc:t(216),atmos_alert:t(217),atmos_control:t(218),"atmos_control/tank":t(219),atmos_filter:t(220),atmos_mixer:t(221),atmos_pump:t(222),canister:t(223),chem_dispenser:t(224),chem_heater:t(225),cryo:t(226),error:t(227),mulebot:t(228),radio:t(229),smes:t(230),solar_control:t(231),space_heater:t(232),station_alert:t(233),tanks:t(234),thermomachine:t(235),uplink:t(236),wires:t(237)};e in n?this.components["interface"]=n[e]:this.components["interface"]=n.error},oninit:function(){var t=this;this.observe("config.style",function(t,e,n){t&&document.body.classList.add(t),e&&document.body.classList.remove(e)}),this.on("titlebar.drag",function(){return t.toggle("drag"),!1}),this.on("resize.resize",function(){return t.toggle("resize"),!1}),document.addEventListener("mousemove",function(e){t.get("drag")?r.drag.bind(t)(e):t.get("resize")&&r.resize.bind(t)(e)}),document.addEventListener("mouseup",function(e){t.set({drag:!1,resize:!1,x:null,y:null})})},oncomplete:function(){this.find("main").focus(),(0,n.winset)("mapwindow.map","focus",!0)}}}(i),i.exports.template={v:3,t:[" "," "," "," ",{p:[65,1,2031],t:7,e:"titlebar",f:[{t:3,r:"config.title",p:[65,11,2041]}]}," ",{p:[66,1,2071],t:7,e:"main",f:[{p:[67,3,2080],t:7,e:"warnings"}," ",{p:[68,3,2094],t:7,e:"interface"}]}," ",{p:[70,1,2115],t:7,e:"resize"}]},i.exports.components=i.exports.components||{};var a={warnings:t(206),titlebar:t(205),resize:t(202)};for(var o in a)a.hasOwnProperty(o)&&(i.exports.components[o]=a[o]);e.exports=r.extend(i.exports)},{194:194,195:195,196:196,198:198,199:199,200:200,201:201,202:202,203:203,204:204,205:205,206:206,207:207,208:208,209:209,210:210,211:211,212:212,213:213,214:214,215:215,216:216,217:217,218:218,219:219,220:220,221:221,222:222,223:223,224:224,225:225,226:226,227:227,228:228,229:229,230:230,231:231,232:232,233:233,234:234,235:235,236:236,237:237,240:240,242:242}],240:[function(t,e,n){"use strict";function r(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],e=arguments.length<=1||void 0===arguments[1]?"":arguments[1];return"byond://"+e+"?"+Object.keys(t).map(function(e){return o(e)+"="+o(t[e])}).join("&")}function i(t,e){var n=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];window.location.href=r(Object.assign({src:t,action:e},n))}function a(t,e,n){var i;window.location.href=r((i={},i[t+"."+e]=n,i),"winset")}n.__esModule=!0,n.href=r,n.act=i,n.winset=a;var o=encodeURIComponent},{}],241:[function(t,e,n){"use strict";n.__esModule=!0;n.UI_INTERACTIVE=2,n.UI_UPDATE=1,n.UI_DISABLED=0,n.UI_CLOSE=-1},{}],242:[function(t,e,n){"use strict";function r(t,e){return 0>t?t=0:t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth),0>e?e=0:e+window.innerHeight>window.screen.availHeight&&(e=window.screen.availHeight-window.innerHeight),{x:t,y:e}}function i(t){if(t.preventDefault(),this.get("x")){var e=t.screenX-this.get("x")+window.screenLeft,n=t.screenY-this.get("y")+window.screenTop;if(this.get("config.locked")){var i=r(e,n);e=i.x,n=i.y}(0,s.winset)(this.get("config.window"),"pos",e+","+n)}this.set({x:t.screenX,y:t.screenY})}function a(t,e){return t=Math.clamp(100,window.screen.width,t),e=Math.clamp(100,window.screen.height,e),{x:t,y:e}}function o(t){if(t.preventDefault(),this.get("x")){var e=t.screenX-this.get("x")+window.innerWidth,n=t.screenY-this.get("y")+window.innerHeight,r=a(e,n);e=r.x,n=r.y,(0,s.winset)(this.get("config.window"),"size",e+","+n)}this.set({x:t.screenX,y:t.screenY})}n.__esModule=!0,
-n.resize=n.drag=void 0;var s=t(240);n.drag=i,n.resize=o},{240:240}],243:[function(t,e,n){"use strict";function r(t,e,n){return Math.max(t,Math.min(n,e))}function i(t){var e=arguments.length<=1||void 0===arguments[1]?1:arguments[1];return+(Math.round(t+"e"+e)+"e-"+e)}n.__esModule=!0,n.clamp=r,n.fixed=i},{}],244:[function(t,e,n){"use strict";function r(t){return t[0].toUpperCase()+t.slice(1).toLowerCase()}function i(t){return t.replace(/\w\S*/g,r)}n.__esModule=!0,n.upperCaseFirst=r,n.titleCase=i},{}],"babel/external-helpers":[function(t,e,n){var r={};!function(t){var e=t.babelHelpers={};e["typeof"]="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},e.jsx=function(){var t="function"==typeof Symbol&&Symbol["for"]&&Symbol["for"]("react.element")||60103;return function(e,n,r,i){var a=e&&e.defaultProps,o=arguments.length-3;if(n||0===o||(n={}),n&&a)for(var s in a)void 0===n[s]&&(n[s]=a[s]);else n||(n=a||{});if(1===o)n.children=i;else if(o>1){for(var u=Array(o),c=0;o>c;c++)u[c]=arguments[c+3];n.children=u}return{$$typeof:t,type:e,key:void 0===r?null:""+r,ref:null,props:n,_owner:null}}}(),e.asyncToGenerator=function(t){return function(){var e=t.apply(this,arguments);return new Promise(function(t,n){function r(i,a){try{var o=e[i](a),s=o.value}catch(u){return void n(u)}o.done?t(s):Promise.resolve(s).then(function(t){r("next",t)},function(t){r("throw",t)})}r("next")})}},e.classCallCheck=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},e.createClass=function(){function t(t,e){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n},e.possibleConstructorReturn=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e},e.selfGlobal=void 0===t?self:t,e.set=function r(t,e,n,i){var a=Object.getOwnPropertyDescriptor(t,e);if(void 0===a){var o=Object.getPrototypeOf(t);null!==o&&r(o,e,n,i)}else if("value"in a&&a.writable)a.value=n;else{var s=a.set;void 0!==s&&s.call(i,n)}return n},e.slicedToArray=function(){function t(t,e){var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);r=!0);}catch(u){i=!0,a=u}finally{try{!r&&s["return"]&&s["return"]()}finally{if(i)throw a}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),e.slicedToArrayLoose=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){for(var n,r=[],i=t[Symbol.iterator]();!(n=i.next()).done&&(r.push(n.value),!e||r.length!==e););return r}throw new TypeError("Invalid attempt to destructure non-iterable instance")},e.taggedTemplateLiteral=function(t,e){return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))},e.taggedTemplateLiteralLoose=function(t,e){return t.raw=e,t},e.temporalRef=function(t,e,n){if(t===n)throw new ReferenceError(e+" is not defined - temporal dead zone");return t},e.temporalUndefined={},e.toArray=function(t){return Array.isArray(t)?t:Array.from(t)},e.toConsumableArray=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);er;r++)if(n[r]==e)return!0;return!1}function l(t){if("string"==typeof t.f)return t.f;var e=t.m.location.protocol;return"about:"==e&&(e=t.a.location.protocol),"https:"==e?"https:":"http:"}function f(t){return t.m.location.hostname||t.a.location.hostname}function p(t,e,n){function r(){c&&i&&s&&(c(u),c=null)}e=a(t,"link",{rel:"stylesheet",href:e,media:"all"});var i=!1,s=!0,u=null,c=n||null;it?(e.onload=function(){i=!0,r()},e.onerror=function(){i=!0,u=Error("Stylesheet failed to load"),r()}):setTimeout(function(){i=!0,r()},0),o(t,"head",e)}function h(t,e,n,r){var i=t.c.getElementsByTagName("head")[0];if(i){var o=a(t,"script",{src:e}),s=!1;return o.onload=o.onreadystatechange=function(){s||this.readyState&&"loaded"!=this.readyState&&"complete"!=this.readyState||(s=!0,n&&n(null),o.onload=o.onreadystatechange=null,"HEAD"==o.parentNode.tagName&&i.removeChild(o))},i.appendChild(o),setTimeout(function(){s||(s=!0,n&&n(Error("Script load timeout")))},r||5e3),o}return null}function d(){this.a=0,this.c=null}function m(t){return t.a++,function(){t.a--,g(t)}}function v(t,e){t.c=e,g(t)}function g(t){0==t.a&&t.c&&(t.c(),t.c=null)}function y(t){this.a=t||"-"}function b(t,e){this.c=t,this.f=4,this.a="n";var n=(e||"n4").match(/^([nio])([1-9])$/i);n&&(this.a=n[1],this.f=parseInt(n[2],10))}function w(t){return k(t)+" "+(t.f+"00")+" 300px "+x(t.c)}function x(t){var e=[];t=t.split(/,\s*/);for(var n=0;nparseInt(t[1],10)||536===parseInt(t[1],10)&&11>=parseInt(t[2],10))}return ot}function I(t,e,n){for(var r in at)if(at.hasOwnProperty(r)&&e===t.f[at[r]]&&n===t.f[at[r]])return!0;return!1}function D(t){var e,n=t.g.a.offsetWidth,r=t.h.a.offsetWidth;(e=n===t.f.serif&&r===t.f["sans-serif"])||(e=R()&&I(t,n,r)),e?rt()-t.A>=t.w?R()&&I(t,n,r)&&(null===t.u||t.u.hasOwnProperty(t.a.c))?V(t,t.v):V(t,t.B):U(t):V(t,t.v)}function U(t){setTimeout(r(function(){D(this)},t),50)}function V(t,e){setTimeout(r(function(){s(this.g.a),s(this.h.a),s(this.j.a),s(this.o.a),e(this.a)},t),0)}function q(t,e,n){this.c=t,this.a=e,this.f=0,this.o=this.j=!1,this.s=n}function B(t){0==--t.f&&t.j&&(t.o?(t=t.a,t.g&&u(t.f,[t.a.c("wf","active")],[t.a.c("wf","loading"),t.a.c("wf","inactive")]),P(t,"active")):A(t.a))}function W(t){this.j=t,this.a=new C,this.h=0,this.f=this.g=!0}function z(t,e,n,i,a){var o=0==--t.h;(t.f||t.g)&&setTimeout(function(){var t=a||null,s=i||null||{};if(0===n.length&&o)A(e.a);else{e.f+=n.length,o&&(e.j=o);var c,l=[];for(c=0;ce;e++)r[e].load(function(e,n,r){z(t,a,e,n,r)})}function G(t,e){this.c=t,this.a=e}function K(t,e,n){var r=l(t.c);return t=(t.a.api||"fast.fonts.net/jsapi").replace(/^.*http(s?):(\/\/)?/,""),r+"//"+t+"/"+e+".js"+(n?"?v="+n:"")}function $(t,e){this.c=t,this.a=e}function Q(t,e,n){t?this.c=t:this.c=e+ut,this.a=[],this.f=[],this.g=n||""}function Y(t,e){for(var n=e.length,r=0;n>r;r++){var i=e[r].split(":");3==i.length&&t.f.push(i.pop());var a="";2==i.length&&""!=i[1]&&(a=":"),t.a.push(i.join(a))}}function J(t){if(0==t.a.length)throw Error("No fonts to load!");if(-1!=t.c.indexOf("kit="))return t.c;for(var e=t.a.length,n=[],r=0;e>r;r++)n.push(t.a[r].replace(/ /g,"+"));return e=t.c+"?family="+n.join("%7C"),0n;n++){var r=t.f[n].split(":"),i=r[0].replace(/\+/g," "),a=["n4"];if(2<=r.length){var o,s=r[1];if(o=[],s)for(var s=s.split(","),u=s.length,c=0;u>c;c++){var l;if(l=s[c],l.match(/^[\w-]+$/)){var f=pt.exec(l.toLowerCase());if(null==f)l="";else{if(l=f[2],l=null==l||""==l?"n":ft[l],f=f[1],null==f||""==f)f="4";else var p=lt[f],f=p?p:isNaN(f)?"4":f.substr(0,1);l=""+l+f}}else l="";l&&o.push(l)}0=n.j?n.f(n.a):e.fonts.load(w(n.a),n.h).then(function(e){1<=e.length?n.g(n.a):setTimeout(t,25)},function(){n.f(n.a)})}var e=this.c.m.document,n=this,r=rt();t()};var at={D:"serif",C:"sans-serif"},ot=null;L.prototype.start=function(){this.f.serif=this.j.a.offsetWidth,this.f["sans-serif"]=this.o.a.offsetWidth,this.A=rt(),D(this)};var st=null;q.prototype.g=function(t){var e=this.a;e.g&&u(e.f,[e.a.c("wf",t.c,""+_(t),"active")],[e.a.c("wf",t.c,""+_(t),"loading"),e.a.c("wf",t.c,""+_(t),"inactive")]),P(e,"fontactive",t),this.o=!0,B(this)},q.prototype.h=function(t){var e=this.a;if(e.g){var n=c(e.f,e.a.c("wf",t.c,""+_(t),"active")),r=[],i=[e.a.c("wf",t.c,""+_(t),"loading")];n||r.push(e.a.c("wf",t.c,""+_(t),"inactive")),u(e.f,r,i)}P(e,"fontinactive",t),B(this)},W.prototype.load=function(t){this.c=new i(this.j,t.context||this.j),this.g=!1!==t.events,this.f=!1!==t.classes,H(this,new S(this.c,t),t)},G.prototype.load=function(t){function e(){if(i["__mti_fntLst"+n]){var r,a=i["__mti_fntLst"+n](),o=[];if(a)for(var s=0;se;e++)p(this.c,r[e],m(o));var s=[];for(e=0,n=i.length;n>e;e++)if(r=i[e].split(":"),r[1])for(var u=r[1].split(","),c=0;ci;++i){var o=n.fonts[i];r.a.push(new b(o.name,E("font-weight:"+o.weight+";font-style:"+o.style)))}t(r.a)},h(this.c,l(this.c)+(this.f.api||"//f.fontdeck.com/s/css/js/")+f(this.c)+"/"+e+".js",function(e){e&&t([])})):t([])};var dt=new W(window);dt.a.c.custom=function(t,e){return new $(e,t)},dt.a.c.fontdeck=function(t,e){return new nt(e,t)},dt.a.c.monotype=function(t,e){return new G(e,t)},dt.a.c.typekit=function(t,e){return new et(e,t)},dt.a.c.google=function(t,e){return new tt(e,t)};var mt={load:r(dt.load,dt)};"function"==typeof define&&define.amd?define(function(){return mt}):void 0!==e&&e.exports?e.exports=mt:(window.WebFont=mt,window.WebFontConfig&&dt.load(window.WebFontConfig))}()},{}],198:[function(t,e,n){var r=t(196),i={exports:{}};!function(t){"use strict";t.exports={oninit:function(){var t=this;this.observe("value",function(e,n,r){var i=t.get(),a=i.min,o=i.max,s=Math.clamp(a,o,e);t.animate("percentage",Math.round((s-a)/(o-a)*100))})}}}(i),i.exports.template={v:3,t:[" ",{p:[13,1,293],t:7,e:"div",a:{"class":"bar"},f:[{p:[14,3,313],t:7,e:"div",a:{"class":["barFill ",{t:2,r:"state",p:[14,23,333]}],style:["width: ",{t:2,r:"percentage",p:[14,48,358]},"%"]}}," ",{p:[15,3,384],t:7,e:"span",a:{"class":"barText"},f:[{t:16,p:[15,25,406]}]}]}]},e.exports=r.extend(i.exports)},{196:196}],199:[function(t,e,n){var r=t(196),i={exports:{}};!function(e){"use strict";var n=t(240),r=t(239);e.exports={computed:{clickable:function(){return this.get("enabled")&&!this.get("state")?!0:!1},enabled:function(){return this.get("config.status")===n.UI_INTERACTIVE?!0:!1},styles:function(){var t="";if(this.get("tooltip-side")&&(t=" tooltip-"+this.get("tooltip-side")),this.get("grid")&&(t+=" gridable"),this.get("enabled")){var e=this.get("state"),n=this.get("style");return e?"inactive "+e+" "+t:"active normal "+n+" "+t}return"inactive disabled "+t}},oninit:function(){var t=this;this.on("press",function(e){var n=t.get(),i=n.action,a=n.params;(0,r.act)(t.get("config.ref"),i,a),e.node.blur()})}}}(i),i.exports.template={v:3,t:[" ",{p:[48,1,1178],t:7,e:"span",a:{"class":["button ",{t:2,r:"styles",p:[48,21,1198]}],unselectable:"on","data-tooltip":[{t:2,r:"tooltip",p:[51,17,1280]}]},m:[{t:4,f:["tabindex='0'"],r:"clickable",p:[50,3,1232]}],v:{"mouseover-mousemove":"hover",mouseleave:"unhover","click-enter":{n:[{t:4,f:["press"],r:"clickable",p:[54,19,1370]}],d:[]}},f:[{t:4,f:[{p:[56,5,1416],t:7,e:"i",a:{"class":["fa fa-",{t:2,r:"icon",p:[56,21,1432]}]}}],n:50,r:"icon",p:[55,3,1399]}," ",{t:16,p:[58,3,1459]}]}]},e.exports=r.extend(i.exports)},{196:196,239:239,240:240}],200:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"div",a:{"class":"display"},f:[{t:4,f:[{p:[3,5,42],t:7,e:"header",f:[{p:[4,7,57],t:7,e:"h3",f:[{t:2,r:"title",p:[4,11,61]}]}," ",{t:4,f:[{p:[6,9,105],t:7,e:"div",a:{"class":"buttonRight"},f:[{t:16,n:"button",p:[6,34,130]}]}],n:50,r:"button",p:[5,7,82]}]}],n:50,r:"title",p:[2,3,24]}," ",{p:[10,3,193],t:7,e:"article",f:[{t:16,p:[11,5,207]}]}]}]},e.exports=r.extend(i.exports)},{196:196}],201:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"div",a:{"class":"notice"},f:[{t:16,p:[2,3,23]}]}]},e.exports=r.extend(i.exports)},{196:196}],202:[function(t,e,n){var r=t(196),i={exports:{}};!function(e){"use strict";var n=t(239);e.exports={oninit:function(){var t=this;this.observe("config.fancy",function(e,r,i){(0,n.winset)(t.get("config.window"),"can-resize",!e)})}}}(i),i.exports.template={v:3,t:[" ",{t:4,f:[{p:[14,3,258],t:7,e:"div",a:{"class":"resize"},v:{mousedown:"resize"}}],n:50,r:"config.fancy",p:[13,1,235]}]},e.exports=r.extend(i.exports)},{196:196,239:239}],203:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"section",a:{"class":[{t:4,f:["candystripe"],r:"candystripe",p:[1,17,16]}]},f:[{t:4,f:[{p:[3,5,82],t:7,e:"span",a:{"class":"label",style:[{t:4,f:["color:",{t:2,r:"labelcolor",p:[3,53,130]}],r:"labelcolor",p:[3,32,109]}]},f:[{t:2,r:"label",p:[3,84,161]},":"]}],n:50,r:"label",p:[2,3,64]}," ",{t:4,f:[{t:16,p:[6,5,210]}],n:50,r:"nowrap",p:[5,3,191]},{t:4,n:51,f:[{p:[8,5,235],t:7,e:"div",a:{"class":"content",style:[{t:4,f:["float:right;"],r:"right",p:[8,33,263]}]},f:[{t:16,p:[9,7,304]}]}],r:"nowrap"}]}]},e.exports=r.extend(i.exports)},{196:196}],204:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"div",a:{"class":"subdisplay"},f:[{t:4,f:[{p:[3,5,45],t:7,e:"header",f:[{p:[4,7,60],t:7,e:"h4",f:[{t:2,r:"title",p:[4,11,64]}]}," ",{t:4,f:[{t:16,n:"button",p:[5,21,99]}],n:50,r:"button",p:[5,7,85]}]}],n:50,r:"title",p:[2,3,27]}," ",{p:[8,3,149],t:7,e:"article",f:[{t:16,p:[9,5,163]}]}]}]},e.exports=r.extend(i.exports)},{196:196}],205:[function(t,e,n){var r=t(196),i={exports:{}};!function(e){"use strict";var n=t(240),r=t(239);e.exports={computed:{visualStatus:function(){switch(this.get("config.status")){case n.UI_INTERACTIVE:return"good";case n.UI_UPDATE:return"average";case n.UI_DISABLED:return"bad";default:return"bad"}}},oninit:function(){var t=this;this.observe("config.fancy",function(e,n,i){(0,r.winset)(t.get("config.window"),"titlebar",!e)}),this.on({close:function(){(0,r.winset)(this.get("config.window"),"is-visible",!1),window.location.href=(0,r.href)({command:"uiclose "+this.get("config.ref")},"winset")},minimize:function(){(0,r.winset)(this.get("config.window"),"is-minimized",!0)}})}}}(i),i.exports.template={v:3,t:[" ",{p:[34,1,859],t:7,e:"header",a:{"class":"titlebar"},v:{mousedown:"drag"},f:[{p:[35,3,907],t:7,e:"i",a:{"class":["statusicon fa fa-eye fa-2x ",{t:2,r:"visualStatus",p:[35,40,944]}]}}," ",{p:[36,3,969],t:7,e:"span",a:{"class":"title"},f:[{t:16,p:[36,23,989]}]}," ",{t:4,f:[{p:[38,5,1033],t:7,e:"i",a:{"class":"minimize fa fa-minus fa-2x"},v:{click:"minimize"}}," ",{p:[39,5,1100],t:7,e:"i",a:{"class":"close fa fa-close fa-2x"},v:{click:"close"}}],n:50,r:"config.fancy",p:[37,3,1008]}]}]},e.exports=r.extend(i.exports)},{196:196,239:239,240:240}],206:[function(t,e,n){var r=t(196),i={exports:{}};!function(t){"use strict";var e=[11,10,9,8];t.exports={data:{userAgent:navigator.userAgent},computed:{ie:function(){if(document.documentMode)return document.documentMode;for(var t in e){var n=document.createElement("div");if(n.innerHTML="",n.getElementsByTagName("span").length)return t}}},oninit:function(){var t=this;this.on("debug",function(){return t.toggle("debug")})}}}(i),i.exports.template={v:3,t:[" ",{t:4,f:[{p:[27,3,596],t:7,e:"ui-notice",f:[{p:[28,5,612],t:7,e:"span",f:["You have an old (IE",{t:2,r:"ie",p:[28,30,637]},") end-of-life (click 'EOL Info' for more information) version of Internet Explorer installed."]},{p:[28,137,744],t:7,e:"br"}," ",{p:[29,5,754],t:7,e:"span",f:["To upgrade click 'Upgrade IE' to download IE11 from Microsoft."]},{p:[29,81,830],t:7,e:"br"}," ",{p:[30,5,840],t:7,e:"span",f:["If you are unable to upgrade directly click 'IE VMs' to download a VM with IE11 or Edge from Microsoft."]},{p:[30,122,957],t:7,e:"br"}," ",{p:[31,5,967],t:7,e:"span",f:["Otherwise click 'No Frills' below to disable potentially incompatible features (and this message)."]}," ",{p:[32,5,1084],t:7,e:"hr"}," ",{p:[33,5,1094],t:7,e:"ui-button",a:{icon:"close",action:"tgui:nofrills"},f:["No Frills"]}," ",{p:[34,5,1167],t:7,e:"ui-button",a:{icon:"internet-explorer",action:"tgui:link",params:'{"url": "http://windows.microsoft.com/en-us/internet-explorer/download-ie"}'},f:["Upgrade IE"]}," ",{p:[36,5,1341],t:7,e:"ui-button",a:{icon:"edge",action:"tgui:link",params:'{"url": "https://dev.windows.com/en-us/microsoft-edge/tools/vms"}'},f:["IE VMs"]}," ",{p:[38,5,1488],t:7,e:"ui-button",a:{icon:"info",action:"tgui:link",params:'{"url": "https://support.microsoft.com/en-us/lifecycle#gp/Microsoft-Internet-Explorer"}'},f:["EOL Info"]}," ",{p:[40,5,1659],t:7,e:"ui-button",a:{icon:"bug"},v:{press:"debug"},f:["Debug Info"]}," ",{t:4,f:[{p:[42,7,1745],t:7,e:"hr"}," ",{p:[43,7,1757],t:7,e:"span",f:["Detected: IE",{t:2,r:"ie",p:[43,25,1775]}]},{p:[43,38,1788],t:7,e:"br"}," ",{p:[44,7,1800],t:7,e:"span",f:["User Agent: ",{t:2,r:"userAgent",p:[44,25,1818]}]}],n:50,r:"debug",p:[41,5,1725]}]}],n:50,x:{r:["config.fancy","ie"],s:"_0&&_1&&_1<11"},p:[26,1,556]}]},e.exports=r.extend(i.exports)},{196:196}],207:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[" "," "," "," "," "," ",{p:[8,1,320],t:7,e:"ui-notice",f:[{t:4,f:[{p:[10,5,363],t:7,e:"ui-section",a:{label:"Interface Lock"},f:[{p:[11,7,405],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"lock":"unlock"'},p:[11,24,422]}],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Engaged":"Disengaged"'},p:[11,75,473]}]}]}],n:50,r:"data.siliconUser",p:[9,3,334]},{t:4,n:51,f:[{p:[14,5,561],t:7,e:"span",f:["Swipe an ID card to ",{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'},p:[14,31,587]}," this interface."]}],r:"data.siliconUser"}]}," ",{p:[17,1,669],t:7,e:"status"}," ",{t:4,f:[{t:4,f:[{p:[20,5,751],t:7,e:"controls"}],n:50,x:{r:["data.screen"],s:"_0==1"},p:[19,3,722]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.screen"],s:"_0==2"},f:[{p:[22,5,796],t:7,e:"vents"}]},{t:4,n:50,x:{r:["data.screen"],s:"(!(_0==2))&&(_0==3)"},f:[" ",{p:[24,5,839],t:7,e:"scrubbers"}]},{t:4,n:50,x:{r:["data.screen"],s:"(!(_0==2))&&((!(_0==3))&&(_0==4))"},f:[" ",{p:[26,5,886],t:7,e:"modes"}]},{t:4,n:50,x:{r:["data.screen"],s:"(!(_0==2))&&((!(_0==3))&&((!(_0==4))&&(_0==5)))"},f:[" ",{p:[28,5,929],t:7,e:"thresholds"}]}],x:{r:["data.screen"],s:"_0==1"}}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[18,1,679]}]},i.exports.components=i.exports.components||{};var a={vents:t(214),modes:t(210),thresholds:t(213),status:t(212),scrubbers:t(211),controls:t(209)};for(var o in a)a.hasOwnProperty(o)&&(i.exports.components[o]=a[o]);e.exports=r.extend(i.exports)},{196:196,209:209,210:210,211:211,212:212,213:213,214:214}],208:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-button",a:{icon:"arrow-left",action:"screen",params:'{"screen": 1}'},f:["Back"]}]},e.exports=r.extend(i.exports)},{196:196}],209:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Air Controls"},f:[{p:[2,3,36],t:7,e:"ui-section",f:[{p:[3,5,53],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.atmos_alarm"],s:'_0?"exclamation-triangle":"exclamation"'},p:[3,22,70]}],style:[{t:2,x:{r:["data.atmos_alarm"],s:'_0?"caution":null'},p:[3,92,140]}],action:[{t:2,x:{r:["data.atmos_alarm"],s:'_0?"reset":"alarm"'},p:[4,17,197]}]},f:["Area Atmosphere Alarm"]}]}," ",{p:[6,3,291],t:7,e:"ui-section",f:[{p:[7,5,308],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.mode"],s:'_0==3?"exclamation-triangle":"exclamation"'},p:[7,22,325]}],style:[{t:2,x:{r:["data.mode"],s:'_0==3?"danger":null'},p:[7,90,393]}],action:"mode",params:['{"mode": ',{t:2,x:{r:["data.mode"],s:"_0==3?1:3"},p:[8,38,468]},"}"]},f:["Panic Siphon"]}]}," ",{p:[10,3,540],t:7,e:"br"}," ",{p:[11,3,548],t:7,e:"ui-section",f:[{p:[12,5,565],t:7,e:"ui-button",a:{icon:"sign-out",action:"screen",params:'{"screen": 2}'},f:["Vent Controls"]}]}," ",{p:[14,3,675],t:7,e:"ui-section",f:[{p:[15,5,692],t:7,e:"ui-button",a:{icon:"filter",action:"screen",params:'{"screen": 3}'},f:["Scrubber Controls"]}]}," ",{p:[17,3,804],t:7,e:"ui-section",f:[{p:[18,5,821],t:7,e:"ui-button",a:{icon:"cog",action:"screen",params:'{"screen": 4}'},f:["Operating Mode"]}]}," ",{p:[20,3,927],t:7,e:"ui-section",f:[{p:[21,5,944],t:7,e:"ui-button",a:{icon:"bar-chart",action:"screen",params:'{"screen": 5}'},f:["Alarm Thresholds"]}]}]}]},e.exports=r.extend(i.exports)},{196:196}],210:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[" ",{p:{button:[{p:[5,5,111],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Operating Modes",button:0},f:[" ",{t:4,f:[{p:[8,5,161],t:7,e:"ui-section",f:[{p:[9,7,180],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["selected"],s:'_0?"check-square-o":"square-o"'},p:[9,24,197]}],state:[{t:2,x:{r:["selected","danger"],s:'_0?_1?"danger":"selected":null'},p:[10,16,258]}],action:"mode",params:['{"mode": ',{t:2,r:"mode",p:[11,40,351]},"}"]},f:[{t:2,r:"name",p:[11,51,362]}]}]}],n:52,r:"data.modes",p:[7,3,136]}]}]},i.exports.components=i.exports.components||{};var a={back:t(208)};for(var o in a)a.hasOwnProperty(o)&&(i.exports.components[o]=a[o]);e.exports=r.extend(i.exports)},{196:196,208:208}],211:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[" ",{p:{button:[{p:[5,5,113],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Scrubber Controls",button:0},f:[" ",{t:4,f:[{p:[8,5,167],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"long_name",p:[8,27,189]}]},f:[{p:[9,7,211],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[10,9,246],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["power"],s:'_0?"power-off":"close"'},p:[10,26,263]}],style:[{t:2,x:{r:["power"],s:'_0?"selected":null'},p:[10,68,305]}],action:"power",params:['{"id_tag": "',{t:2,r:"id_tag",p:[11,46,381]},'", "val": ',{t:2,x:{r:["power"],s:"+!_0"},p:[11,66,401]},"}"]},f:[{t:2,x:{r:["power"],s:'_0?"On":"Off"'},p:[11,80,415]}]}]}," ",{p:[13,7,478],t:7,e:"ui-section",a:{label:"Mode"},f:[{p:[14,9,512],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["scrubbing"],s:'_0?"filter":"sign-in"'},p:[14,26,529]}],style:[{t:2,x:{r:["scrubbing"],s:'_0?null:"danger"'},p:[14,71,574]}],action:"scrubbing",params:['{"id_tag": "',{t:2,r:"id_tag",p:[15,50,656]},'", "val": ',{t:2,x:{r:["scrubbing"],s:"+!_0"},p:[15,70,676]},"}"]},f:[{t:2,x:{r:["scrubbing"],s:'_0?"Scrubbing":"Siphoning"'},p:[15,88,694]}]}]}," ",{p:[17,7,774],t:7,e:"ui-section",a:{label:"Range"},f:[{p:[18,9,809],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["widenet"],s:'_0?"expand":"compress"'},p:[18,26,826]}],style:[{t:2,x:{r:["widenet"],s:'_0?"selected":null'},p:[18,70,870]}],action:"widenet",params:['{"id_tag": "',{t:2,r:"id_tag",p:[19,48,950]},'", "val": ',{t:2,x:{r:["widenet"],s:"+!_0"},p:[19,68,970]},"}"]},f:[{t:2,x:{r:["widenet"],s:'_0?"Expanded":"Normal"'},p:[19,84,986]}]}]}," ",{p:[21,7,1060],t:7,e:"ui-section",a:{label:"Filters"},f:[{p:[22,9,1097],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["filter_co2"],s:'_0?"check-square-o":"square-o"'},p:[22,26,1114]}],style:[{t:2,x:{r:["filter_co2"],s:'_0?"selected":null'},p:[22,81,1169]}],action:"co2_scrub",params:['{"id_tag": "',{t:2,r:"id_tag",p:[23,50,1254]},'", "val": ',{t:2,x:{r:["filter_co2"],s:"+!_0"},p:[23,70,1274]},"}"]},f:["CO2"]}," ",{p:[24,9,1317],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["filter_n2o"],s:'_0?"check-square-o":"square-o"'},p:[24,26,1334]}],style:[{t:2,x:{r:["filter_n2o"],s:'_0?"selected":null'},p:[24,81,1389]}],action:"n2o_scrub",params:['{"id_tag": "',{t:2,r:"id_tag",p:[25,50,1474]},'", "val": ',{t:2,x:{r:["filter_n2o"],s:"+!_0"},p:[25,70,1494]},"}"]},f:["N2O"]}," ",{p:[26,9,1537],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["filter_toxins"],s:'_0?"check-square-o":"square-o"'},p:[26,26,1554]}],style:[{t:2,x:{r:["filter_toxins"],s:'_0?"selected":null'},p:[26,84,1612]}],action:"tox_scrub",params:['{"id_tag": "',{t:2,r:"id_tag",p:[27,50,1700]},'", "val": ',{t:2,x:{r:["filter_toxins"],s:"+!_0"},p:[27,70,1720]},"}"]},f:["Plasma"]}]}]}],n:52,r:"data.scrubbers",p:[7,3,138]},{t:4,n:51,f:[{p:[31,5,1817],t:7,e:"span",a:{"class":"bad"},f:["Error: No scrubbers connected."]}],r:"data.scrubbers"}]}]},i.exports.components=i.exports.components||{};var a={back:t(208)};for(var o in a)a.hasOwnProperty(o)&&(i.exports.components[o]=a[o]);e.exports=r.extend(i.exports)},{196:196,208:208}],212:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Air Status"},f:[{t:4,f:[{t:4,f:[{p:[4,7,107],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[4,26,126]}]},f:[{p:[5,6,142],t:7,e:"span",a:{"class":[{t:2,x:{r:["danger_level"],s:'_0==2?"bad":_0==1?"average":"good"'},p:[5,19,155]}]},f:[{t:2,x:{r:["value"],s:"Math.fixed(_0,2)"},p:[6,5,232]},{t:2,r:"unit",p:[6,29,256]}]}]}],n:52,r:"adata.environment_data",p:[3,5,68]}," ",{p:[10,5,313],t:7,e:"ui-section",a:{label:"Local Status"},f:[{p:[11,7,353],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.danger_level"],s:'_0==2?"bad bold":_0==1?"average bold":"good"'},p:[11,20,366]}]},f:[{t:2,x:{r:["data.danger_level"],s:'_0==2?"Danger (Internals Required)":_0==1?"Caution":"Optimal"'},p:[12,6,464]}]}]}," ",{p:[15,5,605],t:7,e:"ui-section",a:{label:"Area Status"},f:[{p:[16,7,644],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.atmos_alarm","data.fire_alarm"],s:'_0||_1?"bad bold":"good"'},p:[16,20,657]}]},f:[{t:2,x:{r:["data.atmos_alarm","fire_alarm"],s:'_0?"Atmosphere Alarm":_1?"Fire Alarm":"Nominal"'},p:[17,8,728]}]}]}],n:50,r:"data.environment_data",p:[2,3,34]},{t:4,n:51,f:[{p:[21,5,856],t:7,e:"ui-section",a:{label:"Warning"},f:[{p:[22,7,891],t:7,e:"span",a:{"class":"bad bold"},f:["Cannot obtain air sample for analysis."]}]}],r:"data.environment_data"}," ",{t:4,f:[{p:[26,5,1015],t:7,e:"ui-section",a:{label:"Warning"},f:[{p:[27,7,1050],t:7,e:"span",a:{"class":"bad bold"},f:["Safety measures offline. Device may exhibit abnormal behavior."]}]}],n:50,r:"data.emagged",p:[25,3,990]}]}]},e.exports=r.extend(i.exports)},{196:196}],213:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.css=" th, td {\n padding-right: 16px;\n text-align: left;\n }",i.exports.template={v:3,t:[" ",{p:{button:[{p:[5,5,112],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Alarm Thresholds",button:0},f:[" ",{p:[7,3,137],t:7,e:"table",f:[{p:[8,5,149],t:7,e:"thead",f:[{p:[8,12,156],t:7,e:"tr",f:[{p:[9,7,167],t:7,e:"th"}," ",{p:[10,7,183],t:7,e:"th",f:[{p:[10,11,187],t:7,e:"span",a:{"class":"bad"},f:["min2"]}]}," ",{p:[11,7,228],t:7,e:"th",f:[{p:[11,11,232],t:7,e:"span",a:{"class":"average"},f:["min1"]}]}," ",{p:[12,7,277],t:7,e:"th",f:[{p:[12,11,281],t:7,e:"span",a:{"class":"average"},f:["max1"]}]}," ",{p:[13,7,326],t:7,e:"th",f:[{p:[13,11,330],t:7,e:"span",a:{"class":"bad"},f:["max2"]}]}]}]}," ",{p:[15,5,387],t:7,e:"tbody",f:[{t:4,f:[{p:[16,32,426],t:7,e:"tr",f:[{p:[17,9,439],t:7,e:"th",f:[{t:3,r:"name",p:[17,13,443]}]}," ",{t:4,f:[{p:[18,27,485],t:7,e:"td",f:[{p:[19,11,500],t:7,e:"ui-button",a:{action:"threshold",params:['{"env": "',{t:2,r:"env",p:[19,58,547]},'", "var": "',{t:2,r:"val",p:[19,76,565]},'"}']},f:[{t:2,x:{r:["selected"],s:"Math.fixed(_0,2)"},p:[19,87,576]}]}]}],n:52,r:"settings",p:[18,9,467]}]}],n:52,r:"data.thresholds",p:[16,7,401]}]}," ",{p:[23,3,675],t:7,e:"table",f:[]}]}]}," "]},i.exports.components=i.exports.components||{};var a={back:t(208)};for(var o in a)a.hasOwnProperty(o)&&(i.exports.components[o]=a[o]);e.exports=r.extend(i.exports)},{196:196,208:208}],214:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[" ",{p:{button:[{p:[5,5,109],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Vent Controls",button:0},f:[" ",{t:4,f:[{p:[8,5,159],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"long_name",p:[8,27,181]}]},f:[{p:[9,7,203],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[10,9,238],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["power"],s:'_0?"power-off":"close"'},p:[10,26,255]}],style:[{t:2,x:{r:["power"],s:'_0?"selected":null'},p:[10,68,297]}],action:"power",params:['{"id_tag": "',{t:2,r:"id_tag",p:[11,46,373]},'", "val": ',{t:2,x:{r:["power"],s:"+!_0"},p:[11,66,393]},"}"]},f:[{t:2,x:{r:["power"],s:'_0?"On":"Off"'},p:[11,80,407]}]}]}," ",{p:[13,7,470],t:7,e:"ui-section",
+a:{label:"Mode"},f:[{p:[14,9,504],t:7,e:"span",f:[{t:2,x:{r:["direction"],s:'_0=="release"?"Pressurizing":"Siphoning"'},p:[14,15,510]}]}]}," ",{p:[16,7,601],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[17,9,649],t:7,e:"ui-button",a:{icon:"sign-in",style:[{t:2,x:{r:["incheck"],s:'_0?"selected":null'},p:[17,42,682]}],action:"incheck",params:['{"id_tag": "',{t:2,r:"id_tag",p:[18,48,762]},'", "val": ',{t:2,r:"checks",p:[18,68,782]},"}"]},f:["Internal"]}," ",{p:[19,9,824],t:7,e:"ui-button",a:{icon:"sign-out",style:[{t:2,x:{r:["excheck"],s:'_0?"selected":null'},p:[19,43,858]}],action:"excheck",params:['{"id_tag": "',{t:2,r:"id_tag",p:[20,48,938]},'", "val": ',{t:2,r:"checks",p:[20,68,958]},"}"]},f:["External"]}]}," ",{p:[22,7,1018],t:7,e:"ui-section",a:{label:"Target Pressure"},f:[{p:[23,9,1063],t:7,e:"ui-button",a:{icon:"pencil",action:"set_external_pressure",params:['{"id_tag": "',{t:2,r:"id_tag",p:[24,31,1149]},'"}']},f:[{t:2,x:{r:["external"],s:"Math.fixed(_0)"},p:[24,45,1163]}]}," ",{p:[25,9,1208],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["extdefault"],s:'_0?"disabled":null'},p:[25,42,1241]}],action:"reset_external_pressure",params:['{"id_tag": "',{t:2,r:"id_tag",p:[26,31,1340]},'"}']},f:["Reset"]}]}]}],n:52,r:"data.vents",p:[7,3,134]},{t:4,n:51,f:[{p:[30,5,1428],t:7,e:"span",a:{"class":"bad"},f:["Error: No vents connected."]}],r:"data.vents"}]}]},i.exports.components=i.exports.components||{};var a={back:t(208)};for(var o in a)a.hasOwnProperty(o)&&(i.exports.components[o]=a[o]);e.exports=r.extend(i.exports)},{196:196,208:208}],215:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.css=" table {\n width: 100%;\n border-spacing: 2px;\n }\n th {\n text-align: left;\n }\n td {\n vertical-align: top;\n }\n td .button {\n margin-top: 4px\n }",i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,15],t:7,e:"ui-section",f:[{p:[3,5,32],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.oneAccess"],s:'_0?"unlock":"lock"'},p:[3,22,49]}],action:"one_access"},f:[{t:2,x:{r:["data.oneAccess"],s:'_0?"One":"All"'},p:[3,82,109]}," Required"]}," ",{p:[4,5,169],t:7,e:"ui-button",a:{icon:"refresh",action:"clear"},f:["Clear"]}]}," ",{p:[6,3,246],t:7,e:"hr"}," ",{p:[7,3,254],t:7,e:"table",f:[{p:[8,3,264],t:7,e:"thead",f:[{p:[9,4,275],t:7,e:"tr",f:[{t:4,f:[{p:[10,5,306],t:7,e:"th",f:[{p:[10,9,310],t:7,e:"span",a:{"class":"highlight bold"},f:[{t:2,r:"name",p:[10,38,339]}]}]}],n:52,r:"data.regions",p:[9,8,279]}]}]}," ",{p:[13,3,391],t:7,e:"tbody",f:[{p:[14,4,402],t:7,e:"tr",f:[{t:4,f:[{p:[15,5,433],t:7,e:"td",f:[{t:4,f:[{p:[16,11,466],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["req"],s:'_0?"check-square-o":"square-o"'},p:[16,28,483]}],style:[{t:2,x:{r:["req"],s:'_0?"selected":null'},p:[16,76,531]}],action:"set",params:['{"access": "',{t:2,r:"id",p:[17,46,605]},'"}']},f:[{t:2,r:"name",p:[17,56,615]}]}," ",{p:[18,9,644],t:7,e:"br"}],n:52,r:"accesses",p:[15,9,437]}]}],n:52,r:"data.regions",p:[14,8,406]}]}]}]}]}," "]},e.exports=r.extend(i.exports)},{196:196}],216:[function(t,e,n){var r=t(196),i={exports:{}};!function(t){"use strict";t.exports={data:{powerState:function(t){switch(t){case 2:return"good";case 1:return"average";default:return"bad"}}},computed:{malfAction:function(){switch(this.get("data.malfStatus")){case 1:return"hack";case 2:return"occupy";case 3:return"deoccupy"}},malfButton:function(){switch(this.get("data.malfStatus")){case 1:return"Override Programming";case 2:case 4:return"Shunt Core Process";case 3:return"Return to Main Core"}},malfIcon:function(){switch(this.get("data.malfStatus")){case 1:return"terminal";case 2:case 4:return"caret-square-o-down";case 3:return"caret-square-o-left"}},powerCellStatusState:function(){var t=this.get("data.powerCellStatus");return t>50?"good":t>25?"average":"bad"}}}}(i),i.exports.template={v:3,t:[" ",{p:[46,1,1055],t:7,e:"ui-notice",f:[{t:4,f:[{p:[48,5,1098],t:7,e:"ui-section",a:{label:"Interface Lock"},f:[{p:[49,7,1140],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"lock":"unlock"'},p:[49,24,1157]}],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Engaged":"Disengaged"'},p:[49,75,1208]}]}]}],n:50,r:"data.siliconUser",p:[47,3,1069]},{t:4,n:51,f:[{p:[52,5,1296],t:7,e:"span",f:["Swipe an ID card to ",{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'},p:[52,31,1322]}," this interface."]}],r:"data.siliconUser"}]}," ",{p:[55,1,1404],t:7,e:"ui-display",a:{title:"Power Status"},f:[{p:[56,3,1440],t:7,e:"ui-section",a:{label:"Main Breaker"},f:[{t:4,f:[{p:[58,7,1525],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.isOperating"],s:'_0?"good":"bad"'},p:[58,20,1538]}]},f:[{t:2,x:{r:["data.isOperating"],s:'_0?"On":"Off"'},p:[58,59,1577]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"},p:[57,5,1478]},{t:4,n:51,f:[{p:[60,7,1639],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isOperating"],s:'_0?"power-off":"close"'},p:[60,24,1656]}],style:[{t:2,x:{r:["data.isOperating"],s:'_0?"selected":null'},p:[60,77,1709]}],action:"breaker"},f:[{t:2,x:{r:["data.isOperating"],s:'_0?"On":"Off"'},p:[61,26,1776]}]}],x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"}}]}," ",{p:[64,3,1854],t:7,e:"ui-section",a:{label:"External Power"},f:[{p:[65,5,1894],t:7,e:"span",a:{"class":[{t:2,x:{r:["powerState","data.externalPower"],s:"_0(_1)"},p:[65,18,1907]}]},f:[{t:2,x:{r:["data.externalPower"],s:'_0==2?"Good":_0==1?"Low":"None"'},p:[65,54,1943]}]}]}," ",{p:[67,3,2048],t:7,e:"ui-section",a:{label:"Power Cell"},f:[{t:4,f:[{p:[69,7,2127],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.powerCellStatus",p:[69,40,2160]}],state:[{t:2,r:"powerCellStatusState",p:[69,73,2193]}]},f:[{t:2,x:{r:["adata.powerCellStatus"],s:"Math.fixed(_0)"},p:[69,99,2219]},"%"]}],n:50,x:{r:["data.powerCellStatus"],s:"_0!=null"},p:[68,5,2084]},{t:4,n:51,f:[{p:[71,7,2286],t:7,e:"span",a:{"class":"bad"},f:["Removed"]}],x:{r:["data.powerCellStatus"],s:"_0!=null"}}]}," ",{t:4,f:[{p:[75,5,2390],t:7,e:"ui-section",a:{label:"Charge Mode"},f:[{t:4,f:[{p:[77,9,2478],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.chargeMode"],s:'_0?"good":"bad"'},p:[77,22,2491]}]},f:[{t:2,x:{r:["data.chargeMode"],s:'_0?"Auto":"Off"'},p:[77,60,2529]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"},p:[76,7,2429]},{t:4,n:51,f:[{p:[79,9,2596],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.chargeMode"],s:'_0?"refresh":"close"'},p:[79,26,2613]}],style:[{t:2,x:{r:["data.chargeMode"],s:'_0?"selected":null'},p:[79,76,2663]}],action:"charge"},f:[{t:2,x:{r:["data.chargeMode"],s:'_0?"Auto":"Off"'},p:[80,27,2730]}]}],x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"}}," [",{p:[83,8,2813],t:7,e:"span",a:{"class":[{t:2,x:{r:["powerState","data.chargingStatus"],s:"_0(_1)"},p:[83,21,2826]}]},f:[{t:2,x:{r:["data.chargingStatus"],s:'_0==2?"Fully Charged":_0==1?"Charging":"Not Charging"'},p:[83,58,2863]}]},"]"]}],n:50,x:{r:["data.powerCellStatus"],s:"_0!=null"},p:[74,3,2349]}]}," ",{p:[87,1,3017],t:7,e:"ui-display",a:{title:"Power Channels"},f:[{t:4,f:[{p:[89,5,3088],t:7,e:"ui-section",a:{label:[{t:2,r:"title",p:[89,24,3107]}],nowrap:0},f:[{p:[90,7,3132],t:7,e:"div",a:{"class":"content"},f:[{t:2,x:{r:["@index","adata.powerChannels"],s:"Math.round(_1[_0].powerLoad)"},p:[90,28,3153]}," W"]}," ",{p:[91,7,3221],t:7,e:"div",a:{"class":"content"},f:[{p:[91,28,3242],t:7,e:"span",a:{"class":[{t:2,x:{r:["status"],s:'_0>=2?"good":"bad"'},p:[91,41,3255]}]},f:[{t:2,x:{r:["status"],s:'_0>=2?"On":"Off"'},p:[91,75,3289]}]}]}," ",{p:[92,7,3339],t:7,e:"div",a:{"class":"content"},f:["[",{p:[92,29,3361],t:7,e:"span",f:[{t:2,x:{r:["status"],s:'_0==1||_0==3?"Auto":"Manual"'},p:[92,35,3367]}]},"]"]}," ",{p:[93,7,3438],t:7,e:"div",a:{"class":"content",style:"float:right"},f:[{t:4,f:[{p:[95,11,3539],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["status"],s:'_0==1||_0==3?"selected":null'},p:[95,44,3572]}],action:"channel",params:[{t:2,r:"topicParams.auto",p:[96,38,3661]}]},f:["Auto"]}," ",{p:[97,11,3710],t:7,e:"ui-button",a:{icon:"power-off",state:[{t:2,x:{r:["status"],s:'_0==2?"selected":null'},p:[97,46,3745]}],action:"channel",params:[{t:2,r:"topicParams.on",p:[98,21,3819]}]},f:["On"]}," ",{p:[99,11,3864],t:7,e:"ui-button",a:{icon:"close",state:[{t:2,x:{r:["status"],s:'_0==0?"selected":null'},p:[99,42,3895]}],action:"channel",params:[{t:2,r:"topicParams.off",p:[100,21,3969]}]},f:["Off"]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[94,9,3488]}]}]}],n:52,r:"data.powerChannels",p:[88,3,3055]}," ",{p:[105,3,4067],t:7,e:"ui-section",a:{label:"Total Load"},f:[{p:[106,5,4103],t:7,e:"span",a:{"class":"bold"},f:[{t:2,x:{r:["adata.totalLoad"],s:"Math.round(_0)"},p:[106,24,4122]}," W"]}]}]}," ",{t:4,f:[{p:[110,3,4220],t:7,e:"ui-display",a:{title:"System Overrides"},f:[{p:[111,5,4262],t:7,e:"ui-button",a:{icon:"lightbulb-o",action:"overload"},f:["Overload"]}," ",{t:4,f:[{p:[113,7,4365],t:7,e:"ui-button",a:{icon:[{t:2,r:"malfIcon",p:[113,24,4382]}],state:[{t:2,x:{r:["data.malfStatus"],s:'_0==4?"disabled":null'},p:[113,45,4403]}],action:[{t:2,r:"malfAction",p:[113,99,4457]}]},f:[{t:2,r:"malfButton",p:[113,115,4473]}]}],n:50,r:"data.malfStatus",p:[112,5,4335]}]}],n:50,r:"data.siliconUser",p:[109,1,4193]},{p:[117,1,4536],t:7,e:"ui-notice",f:[{p:[118,3,4550],t:7,e:"ui-section",a:{label:"Cover Lock"},f:[{t:4,f:[{p:[120,7,4633],t:7,e:"span",f:[{t:2,x:{r:["data.coverLocked"],s:'_0?"Engaged":"Disengaged"'},p:[120,13,4639]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"},p:[119,5,4586]},{t:4,n:51,f:[{p:[122,7,4713],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.coverLocked"],s:'_0?"lock":"unlock"'},p:[122,24,4730]}],action:"cover"},f:[{t:2,x:{r:["data.coverLocked"],s:'_0?"Engaged":"Disengaged"'},p:[122,81,4787]}]}],x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"}}]}]}]},e.exports=r.extend(i.exports)},{196:196}],217:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Alarms"},f:[{p:[2,3,31],t:7,e:"ul",f:[{t:4,f:[{p:[4,7,72],t:7,e:"li",f:[{p:[4,11,76],t:7,e:"ui-button",a:{icon:"close",style:"danger",action:"clear",params:['{"zone": "',{t:2,r:".",p:[4,83,148]},'"}']},f:[{t:2,r:".",p:[4,92,157]}]}]}],n:52,r:"data.priority",p:[3,5,41]},{t:4,n:51,f:[{p:[6,7,201],t:7,e:"li",f:[{p:[6,11,205],t:7,e:"span",a:{"class":"good"},f:["No Priority Alerts"]}]}],r:"data.priority"}," ",{t:4,f:[{p:[9,7,303],t:7,e:"li",f:[{p:[9,11,307],t:7,e:"ui-button",a:{icon:"close",style:"caution",action:"clear",params:['{"zone": "',{t:2,r:".",p:[9,84,380]},'"}']},f:[{t:2,r:".",p:[9,93,389]}]}]}],n:52,r:"data.minor",p:[8,5,275]},{t:4,n:51,f:[{p:[11,7,433],t:7,e:"li",f:[{p:[11,11,437],t:7,e:"span",a:{"class":"good"},f:["No Minor Alerts"]}]}],r:"data.minor"}]}]}]},e.exports=r.extend(i.exports)},{196:196}],218:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:[{t:2,x:{r:["tank","data.sensors.0.long_name"],s:"_0?_1:null"},p:[1,20,19]}]},f:[{t:4,f:[{p:[3,5,97],t:7,e:"ui-subdisplay",a:{title:[{t:2,x:{r:["tank","long_name"],s:"!_0?_1:null"},p:[3,27,119]}]},f:[{p:[4,7,157],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[5,3,190],t:7,e:"span",f:[{t:2,x:{r:["pressure"],s:"Math.fixed(_0,2)"},p:[5,9,196]}," kPa"]}]}," ",{t:4,f:[{p:[8,9,292],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[9,11,336],t:7,e:"span",f:[{t:2,x:{r:["temperature"],s:"Math.fixed(_0,2)"},p:[9,17,342]}," K"]}]}],n:50,r:"temperature",p:[7,7,263]}," ",{t:4,f:[{p:[13,9,452],t:7,e:"ui-section",a:{label:[{t:2,r:"id",p:[13,28,471]}]},f:[{p:[14,5,485],t:7,e:"span",f:[{t:2,x:{r:["."],s:"Math.fixed(_0,2)"},p:[14,11,491]},"%"]}]}],n:52,i:"id",r:"gases",p:[12,4,424]}]}],n:52,r:"adata.sensors",p:[2,3,68]},{t:4,n:51,f:[{p:[19,5,596],t:7,e:"ui-section",a:{label:"Initialize"},f:[{p:[20,3,631],t:7,e:"ui-button",a:{action:"initialize",params:'{"type": "dist"}'},f:["Distribution and Waste"]}," ",{p:[21,3,726],t:7,e:"ui-button",a:{action:"initialize",params:'{"type": "tank"}'},f:["Tanks"]}]}],r:"adata.sensors"}]}," ",{t:4,f:[{p:{button:[{p:[28,5,927],t:7,e:"ui-button",a:{icon:"refresh",action:"reconnect"},f:["Reconnect"]}]},t:7,e:"ui-display",a:{title:"Controls",button:0},f:[" ",{p:[30,5,1015],t:7,e:"ui-section",a:{label:"Input Injector"},f:[{p:[31,7,1058],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.inputting"],s:'_0?"power-off":"close"'},p:[31,24,1075]}],style:[{t:2,x:{r:["data.inputting"],s:'_0?"selected":null'},p:[31,75,1126]}],action:"input"},f:[{t:2,x:{r:["data.inputting"],s:'_0?"Injecting":"Off"'},p:[32,9,1191]}]}]}," ",{p:[34,5,1267],t:7,e:"ui-section",a:{label:"Input Rate"},f:[{p:[35,7,1306],t:7,e:"span",f:[{t:2,x:{r:["adata.inputRate"],s:"Math.fixed(_0)"},p:[35,13,1312]}," L/s"]}]}," ",{p:[37,5,1379],t:7,e:"ui-section",a:{label:"Output Regulator"},f:[{p:[38,7,1424],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.outputting"],s:'_0?"power-off":"close"'},p:[38,24,1441]}],style:[{t:2,x:{r:["data.outputting"],s:'_0?"selected":null'},p:[38,76,1493]}],action:"output"},f:[{t:2,x:{r:["data.outputting"],s:'_0?"Open":"Closed"'},p:[39,9,1560]}]}]}," ",{p:[41,5,1635],t:7,e:"ui-section",a:{label:"Output Pressure"},f:[{p:[42,7,1679],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure"},f:[{t:2,x:{r:["adata.outputPressure"],s:"Math.round(_0)"},p:[42,50,1722]}," kPa"]}]}]}],n:50,r:"tank",p:[25,1,846]}]},e.exports=r.extend(i.exports)},{196:196}],219:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,15],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,5,46],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[3,22,63]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[3,66,107]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[4,22,161]}]}]}," ",{p:[6,3,218],t:7,e:"ui-section",a:{label:"Output Pressure"},f:[{p:[7,5,259],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[8,5,353],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.set_pressure","data.max_pressure"],s:'_0==_1?"disabled":null'},p:[8,35,383]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}," ",{p:[9,5,514],t:7,e:"span",f:[{t:2,x:{r:["adata.set_pressure"],s:"Math.round(_0)"},p:[9,11,520]}," kPa"]}]}," ",{p:[11,3,584],t:7,e:"ui-section",a:{label:"Filter"},f:[{p:[12,5,616],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0==""?"selected":null'},p:[12,23,634]}],action:"filter",params:'{"mode": ""}'},f:["Nothing"]}," ",{p:[14,5,750],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0=="plasma"?"selected":null'},p:[14,23,768]}],action:"filter",params:'{"mode": "plasma"}'},f:["Plasma"]}," ",{p:[16,5,895],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0=="o2"?"selected":null'},p:[16,23,913]}],action:"filter",params:'{"mode": "o2"}'},f:["O2"]}," ",{p:[18,5,1028],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0=="n2"?"selected":null'},p:[18,23,1046]}],action:"filter",params:'{"mode": "n2"}'},f:["N2"]}," ",{p:[20,5,1161],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0=="co2"?"selected":null'},p:[20,23,1179]}],action:"filter",params:'{"mode": "co2"}'},f:["CO2"]}," ",{p:[22,5,1297],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0=="n2o"?"selected":null'},p:[22,23,1315]}],action:"filter",params:'{"mode": "n2o"}'},f:["N2O"]}]}]}]},e.exports=r.extend(i.exports)},{196:196}],220:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,15],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,5,46],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[3,22,63]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[3,66,107]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[4,22,161]}]}]}," ",{p:[6,3,218],t:7,e:"ui-section",a:{label:"Output Pressure"},f:[{p:[7,5,259],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[8,5,353],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.set_pressure","data.max_pressure"],s:'_0==_1?"disabled":null'},p:[8,35,383]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}," ",{p:[9,5,514],t:7,e:"span",f:[{t:2,x:{r:["adata.set_pressure"],s:"Math.round(_0)"},p:[9,11,520]}," kPa"]}]}," ",{p:[11,3,584],t:7,e:"ui-section",a:{label:"Node 1"},f:[{p:[12,5,616],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.node1_concentration"],s:'_0==0?"disabled":null'},p:[12,44,655]}],action:"node1",params:'{"concentration": -0.1}'}}," ",{p:[14,5,770],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.node1_concentration"],s:'_0==0?"disabled":null'},p:[14,39,804]}],action:"node1",params:'{"concentration": -0.01}'}}," ",{p:[16,5,920],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.node1_concentration"],s:'_0==100?"disabled":null'},p:[16,38,953]}],action:"node1",params:'{"concentration": 0.01}'}}," ",{p:[18,5,1070],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.node1_concentration"],s:'_0==100?"disabled":null'},p:[18,43,1108]}],action:"node1",params:'{"concentration": 0.1}'}}," ",{p:[20,5,1224],t:7,e:"span",f:[{t:2,x:{r:["adata.node1_concentration"],s:"Math.round(_0)"},p:[20,11,1230]},"%"]}]}," ",{p:[22,3,1298],t:7,e:"ui-section",a:{label:"Node 2"},f:[{p:[23,5,1330],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.node2_concentration"],s:'_0==0?"disabled":null'},p:[23,44,1369]}],action:"node2",params:'{"concentration": -0.1}'}}," ",{p:[25,5,1484],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.node2_concentration"],s:'_0==0?"disabled":null'},p:[25,39,1518]}],action:"node2",params:'{"concentration": -0.01}'}}," ",{p:[27,5,1634],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.node2_concentration"],s:'_0==100?"disabled":null'},p:[27,38,1667]}],action:"node2",params:'{"concentration": 0.01}'}}," ",{p:[29,5,1784],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.node2_concentration"],s:'_0==100?"disabled":null'},p:[29,43,1822]}],action:"node2",params:'{"concentration": 0.1}'}}," ",{p:[31,5,1938],t:7,e:"span",f:[{t:2,x:{r:["adata.node2_concentration"],s:"Math.round(_0)"},p:[31,11,1944]},"%"]}]}]}]},e.exports=r.extend(i.exports)},{196:196}],221:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,15],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,5,46],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[3,22,63]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[3,66,107]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[4,22,161]}]}]}," ",{t:4,f:[{p:[7,5,244],t:7,e:"ui-section",a:{label:"Transfer Rate"},f:[{p:[8,7,285],t:7,e:"ui-button",a:{icon:"pencil",action:"rate",params:'{"rate": "input"}'},f:["Set"]}," ",{p:[9,7,373],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.rate","data.max_rate"],s:'_0==_1?"disabled":null'},p:[9,37,403]}],action:"transfer",params:'{"rate": "max"}'},f:["Max"]}," ",{p:[10,7,520],t:7,e:"span",f:[{t:2,x:{r:["adata.rate"],s:"Math.round(_0)"},p:[10,13,526]}," L/s"]}]}],n:50,r:"data.max_rate",p:[6,3,218]},{t:4,n:51,f:[{p:[13,5,597],t:7,e:"ui-section",a:{label:"Output Pressure"},f:[{p:[14,7,640],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[15,7,736],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.pressure","data.max_pressure"],s:'_0==_1?"disabled":null'},p:[15,37,766]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}," ",{p:[16,7,895],t:7,e:"span",f:[{t:2,x:{r:["adata.pressure"],s:"Math.round(_0)"},p:[16,13,901]}," kPa"]}]}],r:"data.max_rate"}]}]},e.exports=r.extend(i.exports)},{196:196}],222:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{p:[2,3,14],t:7,e:"span",f:["The regulator ",{t:2,x:{r:["data.hasHoldingTank"],s:'_0?"is":"is not"'},p:[2,23,34]}," connected to a tank."]}]}," ",{p:{button:[{p:[6,5,180],t:7,e:"ui-button",a:{icon:"pencil",action:"relabel"},f:["Relabel"]}]},t:7,e:"ui-display",a:{title:"Canister",button:0},f:[" ",{p:[8,3,259],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[9,5,293],t:7,e:"span",f:[{t:2,x:{r:["adata.tankPressure"],s:"Math.round(_0)"},p:[9,11,299]}," kPa"]}]}," ",{p:[11,3,363],t:7,e:"ui-section",a:{label:"Port"},f:[{p:[12,5,393],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.portConnected"],s:'_0?"good":"average"'},p:[12,18,406]}]},f:[{t:2,x:{r:["data.portConnected"],s:'_0?"Connected":"Not Connected"'},p:[12,63,451]}]}]}]}," ",{p:[15,1,543],t:7,e:"ui-display",a:{title:"Valve"},f:[{p:[16,3,572],t:7,e:"ui-section",a:{label:"Release Pressure"},f:[{p:[17,5,614],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.minReleasePressure",p:[17,18,627]}],max:[{t:2,r:"data.maxReleasePressure",p:[17,52,661]}],value:[{t:2,r:"data.releasePressure",p:[18,14,703]}]},f:[{t:2,x:{r:["adata.releasePressure"],s:"Math.round(_0)"},p:[18,40,729]}," kPa"]}]}," ",{p:[20,3,798],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[21,5,842],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.releasePressure","data.defaultReleasePressure"],s:'_0!=_1?null:"disabled"'},p:[21,38,875]}],action:"pressure",params:'{"pressure": "reset"}'},f:["Reset"]}," ",{p:[23,5,1029],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.releasePressure","data.minReleasePressure"],s:'_0>_1?null:"disabled"'},p:[23,36,1060]}],action:"pressure",params:'{"pressure": "min"}'},f:["Min"]}," ",{p:[25,5,1205],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[26,5,1299],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.releasePressure","data.maxReleasePressure"],s:'_0<_1?null:"disabled"'},p:[26,35,1329]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}]}," ",{p:[29,3,1488],t:7,e:"ui-section",a:{label:"Valve"},f:[{p:[30,5,1519],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.valveOpen"],s:'_0?"unlock":"lock"'},p:[30,22,1536]}],style:[{t:2,x:{r:["data.valveOpen","data.hasHoldingTank"],s:'_0?_1?"caution":"danger":null'},p:[31,14,1589]}],action:"valve"},f:[{t:2,x:{r:["data.valveOpen"],s:'_0?"Open":"Closed"'},p:[32,22,1682]}]}]}]}," ",{p:{button:[{t:4,f:[{p:[38,7,1864],t:7,e:"ui-button",a:{icon:"eject",style:[{t:2,x:{r:["data.valveOpen"],s:'_0?"danger":null'},p:[38,38,1895]}],action:"eject"},f:["Eject"]}],n:50,r:"data.hasHoldingTank",p:[37,5,1830]}]},t:7,e:"ui-display",a:{title:"Holding Tank",button:0},f:[" ",{t:4,f:[{p:[42,3,2025],t:7,e:"ui-section",a:{label:"Label"},f:[{t:2,r:"data.holdingTank.name",p:[43,4,2055]}]}," ",{p:[45,3,2099],t:7,e:"ui-section",a:{label:"Pressure"},f:[{t:2,x:{r:["adata.holdingTank.tankPressure"],s:"Math.round(_0)"},p:[46,4,2132]}," kPa"]}],n:50,r:"data.hasHoldingTank",p:[41,3,1995]},{t:4,n:51,f:[{p:[49,3,2211],t:7,e:"ui-section",f:[{p:[50,4,2227],t:7,e:"span",a:{"class":"average"},f:["No Holding Tank"]}]}],r:"data.hasHoldingTank"}]}]},e.exports=r.extend(i.exports)},{196:196}],223:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[2,3,30],t:7,e:"ui-section",a:{label:"Energy"},f:[{p:[3,5,62],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.maxEnergy",p:[3,26,83]}],value:[{t:2,r:"data.energy",p:[3,53,110]}]},f:[{t:2,x:{r:["adata.energy"],s:"Math.fixed(_0)"},p:[3,70,127]}," Units"]}]}]}," ",{p:{button:[{t:4,f:[{p:[9,7,307],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.amount","."],s:'_0==_1?"selected":null'},p:[9,37,337]}],action:"amount",params:['{"target": ',{t:2,r:".",p:[9,114,414]},"}"]},f:[{t:2,r:".",p:[9,122,422]}]}],n:52,r:"data.beakerTransferAmounts",p:[8,5,264]}]},t:7,e:"ui-display",a:{title:"Dispense",button:0},f:[" ",{p:[12,3,471],t:7,e:"ui-section",f:[{t:4,f:[{p:[14,7,519],t:7,e:"ui-button",a:{grid:0,icon:"tint",action:"dispense",params:['{"reagent": "',{t:2,r:"id",p:[14,74,586]},'"}']},f:[{t:2,r:"title",p:[14,84,596]}]}],n:52,r:"data.chemicals",p:[13,5,488]}]}]}," ",{p:{button:[{t:4,f:[{p:[21,7,766],t:7,e:"ui-button",a:{icon:"minus",action:"remove",params:['{"amount": ',{t:2,r:".",p:[21,66,825]},"}"]},f:[{t:2,r:".",p:[21,74,833]}]}],n:52,r:"data.beakerTransferAmounts",p:[20,5,723]}," ",{p:[23,5,869],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[23,36,900]}],action:"eject"},f:["Eject"]}]},t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[" ",{p:[25,3,995],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{p:[27,7,1063],t:7,e:"span",f:[{t:2,x:{r:["adata.beakerCurrentVolume"],s:"Math.round(_0)"},p:[27,13,1069]},"/",{t:2,r:"data.beakerMaxVolume",p:[27,55,1111]}," Units"]}," ",{p:[28,7,1155],t:7,e:"br"}," ",{t:4,f:[{p:[30,9,1206],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[30,52,1249]}," units of ",{t:2,r:"name",p:[30,87,1284]}]},{p:[30,102,1299],t:7,e:"br"}],n:52,r:"adata.beakerContents",p:[29,7,1167]},{t:4,n:51,f:[{p:[32,9,1328],t:7,e:"span",a:{"class":"bad"},f:["Beaker Empty"]}],r:"adata.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[26,5,1029]},{t:4,n:51,f:[{p:[35,7,1401],t:7,e:"span",a:{"class":"average"},f:["No Beaker"]}],r:"data.isBeakerLoaded"}]}]}]},e.exports=r.extend(i.exports)},{196:196}],224:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Thermostat"},f:[{p:[2,3,34],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,5,65],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isActive"],s:'_0?"power-off":"close"'},p:[3,22,82]}],style:[{t:2,x:{r:["data.isActive"],s:'_0?"selected":null'},p:[4,10,134]}],state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[5,10,182]}],action:"power"},f:[{t:2,x:{r:["data.isActive"],s:'_0?"On":"Off"'},p:[6,18,244]}]}]}," ",{p:[8,3,307],t:7,e:"ui-section",a:{label:"Target"},f:[{p:[9,4,338],t:7,e:"ui-button",a:{icon:"pencil",action:"temperature"},f:[{t:2,x:{r:["adata.targetTemp"],s:"Math.round(_0)"},p:[9,50,384]}," K"]}]}]}," ",{p:{button:[{p:[14,5,522],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[14,36,553]}],action:"eject"},f:["Eject"]}]},t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[" ",{p:[16,3,648],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{p:[18,7,716],t:7,e:"span",f:["Temperature: ",{t:2,x:{r:["adata.currentTemp"],s:"Math.round(_0)"},p:[18,26,735]}," K"]}," ",{p:[19,7,784],t:7,e:"br"}," ",{t:4,f:[{p:[21,9,836],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[21,52,879]}," units of ",{t:2,r:"name",p:[21,87,914]}]},{p:[21,102,929],t:7,e:"br"}],n:52,r:"adata.beakerContents",p:[20,7,797]},{t:4,n:51,f:[{p:[23,9,958],t:7,e:"span",a:{"class":"bad"},f:["Beaker Empty"]}],r:"adata.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[17,5,682]},{t:4,n:51,f:[{p:[26,7,1031],t:7,e:"span",a:{"class":"average"},f:["No Beaker"]}],r:"data.isBeakerLoaded"}]}]}]},e.exports=r.extend(i.exports)},{196:196}],225:[function(t,e,n){var r=t(196),i={exports:{}};!function(t){"use strict";t.exports={data:{temperatureStatus:function(t){return 225>t?"good":273.15>t?"average":"bad"}},computed:{occupantStatState:function(){switch(this.get("data.occupant.stat")){case 0:return"good";case 1:return"average";default:return"bad"}}}}}(i),i.exports.template={v:3,t:[" ",{p:[22,1,409],t:7,e:"ui-display",a:{title:"Occupant"},f:[{p:[23,3,441],t:7,e:"ui-section",a:{label:"Occupant"},f:[{p:[24,3,473],t:7,e:"span",f:[{t:2,x:{r:["data.occupant.name"],s:'_0?_0:"No Occupant"'},p:[24,9,479]}]}]}," ",{t:4,f:[{p:[27,5,593],t:7,e:"ui-section",a:{label:"State"},f:[{p:[28,7,626],t:7,e:"span",a:{"class":[{t:2,r:"occupantStatState",p:[28,20,639]}]},f:[{t:2,x:{r:["data.occupant.stat"],s:'_0==0?"Conscious":_0==1?"Unconcious":"Dead"'},p:[28,43,662]}]}]}," ",{p:[30,4,781],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[31,6,819],t:7,e:"span",a:{"class":[{t:2,x:{r:["temperatureStatus","adata.occupant.bodyTemperature"],s:"_0(_1)"},p:[31,19,832]}]},f:[{t:2,x:{r:["adata.occupant.bodyTemperature"],s:"Math.round(_0)"},p:[31,74,887]}," K"]}]}," ",{p:[33,5,964],t:7,e:"ui-section",a:{label:"Health"},f:[{p:[34,7,998],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.occupant.minHealth",p:[34,20,1011]}],max:[{t:2,r:"data.occupant.maxHealth",p:[34,54,1045]}],value:[{t:2,r:"data.occupant.health",p:[34,90,1081]}],state:[{t:2,x:{r:["data.occupant.health"],s:'_0>=0?"good":"average"'},p:[35,16,1122]}]},f:[{t:2,x:{r:["adata.occupant.health"],s:"Math.round(_0)"},p:[35,68,1174]}]}]}," ",{t:4,f:[{p:[38,7,1408],t:7,e:"ui-section",a:{label:[{t:2,r:"label",p:[38,26,1427]}]},f:[{p:[39,9,1447],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.occupant.maxHealth",p:[39,30,1468]}],value:[{t:2,rx:{r:"data.occupant",m:[{t:30,n:"type"}]},p:[39,66,1504]}],state:"bad"},f:[{t:2,x:{r:["type","adata.occupant"],s:"Math.round(_1[_0])"},p:[39,103,1541]}]}]}],n:52,x:{r:[],s:'[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}]'},p:[37,5,1243]}],n:50,r:"data.hasOccupant",p:[26,3,564]}]}," ",{p:[44,1,1645],t:7,e:"ui-display",a:{title:"Cell"},f:[{p:[45,3,1673],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[46,5,1704],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isOperating"],s:'_0?"power-off":"close"'},p:[46,22,1721]}],style:[{t:2,x:{r:["data.isOperating"],s:'_0?"selected":null'},p:[47,14,1780]}],state:[{t:2,x:{r:["data.isOpen"],s:'_0?"disabled":null'},p:[48,14,1835]}],action:"power"},f:[{t:2,x:{r:["data.isOperating"],s:'_0?"On":"Off"'},p:[49,22,1893]}]}]}," ",{p:[51,3,1959],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[52,3,1994],t:7,e:"span",a:{"class":[{t:2,x:{r:["temperatureStatus","adata.cellTemperature"],s:"_0(_1)"},p:[52,16,2007]}]},f:[{t:2,x:{r:["adata.cellTemperature"],s:"Math.round(_0)"},p:[52,62,2053]}," K"]}]}," ",{p:[54,2,2116],t:7,e:"ui-section",a:{label:"Door"},f:[{p:[55,5,2146],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isOpen"],s:'_0?"unlock":"lock"'},p:[55,22,2163]}],action:"door"},f:[{t:2,x:{r:["data.isOpen"],s:'_0?"Open":"Closed"'},p:[55,73,2214]}]}," ",{p:[56,5,2266],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.autoEject"],s:'_0?"sign-out":"sign-in"'},p:[56,22,2283]}],action:"autoeject"},f:[{t:2,x:{r:["data.autoEject"],s:'_0?"Auto":"Manual"'},p:[56,86,2347]}]}]}]}," ",{p:{button:[{p:[61,5,2488],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[61,36,2519]}],action:"ejectbeaker"},f:["Eject"]}]},t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[" ",{p:[63,3,2620],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{t:4,f:[{p:[66,9,2727],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[66,52,2770]}," units of ",{t:2,r:"name",p:[66,87,2805]}]},{p:[66,102,2820],t:7,e:"br"}],n:52,r:"adata.beakerContents",p:[65,7,2688]},{t:4,n:51,f:[{p:[68,9,2849],t:7,e:"span",a:{"class":"bad"},f:["Beaker Empty"]}],r:"adata.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[64,5,2654]},{t:4,n:51,f:[{p:[71,7,2922],t:7,e:"span",a:{"class":"average"},f:["No Beaker"]}],r:"data.isBeakerLoaded"}]}]}]},e.exports=r.extend(i.exports)},{196:196}],226:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{p:[2,3,14],t:7,e:"span",f:["The requested interface (",{t:2,r:"config.interface",p:[2,34,45]},") was not found. Does it exist?"]}]}]},e.exports=r.extend(i.exports)},{196:196}],227:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{t:4,f:[{p:[3,5,45],t:7,e:"ui-section",a:{label:"Interface Lock"},f:[{p:[4,7,88],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"lock":"unlock"'},p:[4,24,105]}],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Engaged":"Disengaged"'},p:[4,75,156]}]}]}],n:50,r:"data.siliconUser",p:[2,3,15]},{t:4,n:51,f:[{p:[7,5,247],t:7,e:"span",f:["Swipe an ID card to ",{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'
+},p:[7,31,273]}," this interface."]}],r:"data.siliconUser"}]}," ",{p:[10,1,358],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[11,3,389],t:7,e:"ui-section",a:{label:"Power"},f:[{t:4,f:[{p:[13,7,470],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[13,24,487]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[13,68,531]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[13,116,579]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[12,5,421]},{t:4,n:51,f:[{p:[15,7,639],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.on"],s:'_0?"good":"bad"'},p:[15,20,652]}],state:[{t:2,x:{r:["data.cell"],s:'_0?null:"disabled"'},p:[15,57,689]}]},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[15,92,724]}]}],x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"}}]}," ",{p:[18,3,791],t:7,e:"ui-section",a:{label:"Cell"},f:[{p:[19,5,822],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.cell"],s:'_0?null:"bad"'},p:[19,18,835]}]},f:[{t:2,x:{r:["data.cell","data.cellPercent"],s:'_0?_1+"%":"No Cell"'},p:[19,48,865]}]}]}," ",{p:[21,3,943],t:7,e:"ui-section",a:{label:"Mode"},f:[{p:[22,5,974],t:7,e:"span",a:{"class":[{t:2,r:"data.modeStatus",p:[22,18,987]}]},f:[{t:2,r:"data.mode",p:[22,39,1008]}]}]}," ",{p:[24,3,1049],t:7,e:"ui-section",a:{label:"Load"},f:[{p:[25,5,1080],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.load"],s:'_0?"good":"average"'},p:[25,18,1093]}]},f:[{t:2,x:{r:["data.load"],s:'_0?_0:"None"'},p:[25,54,1129]}]}]}," ",{p:[27,3,1191],t:7,e:"ui-section",a:{label:"Destination"},f:[{p:[28,5,1229],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.destination"],s:'_0?"good":"average"'},p:[28,18,1242]}]},f:[{t:2,x:{r:["data.destination"],s:'_0?_0:"None"'},p:[28,60,1284]}]}]}]}," ",{t:4,f:[{p:{button:[{t:4,f:[{p:[35,9,1513],t:7,e:"ui-button",a:{icon:"eject",action:"unload"},f:["Unload"]}],n:50,r:"data.load",p:[34,7,1486]}," ",{p:[37,7,1594],t:7,e:"ui-button",a:{icon:"pencil",action:"setid"},f:["Set ID"]}]},t:7,e:"ui-display",a:{title:"Controls",button:0},f:[" ",{p:[39,5,1676],t:7,e:"ui-section",a:{label:"Destination"},f:[{p:[40,7,1716],t:7,e:"ui-button",a:{icon:"pencil",action:"destination"},f:["Set Destination"]}," ",{p:[41,7,1797],t:7,e:"ui-button",a:{icon:"stop",action:"stop"},f:["Stop"]}," ",{p:[42,7,1858],t:7,e:"ui-button",a:{icon:"play",action:"go"},f:["Go"]}]}," ",{p:[44,5,1932],t:7,e:"ui-section",a:{label:"Home"},f:[{p:[45,7,1965],t:7,e:"ui-button",a:{icon:"home",action:"home"},f:["Go Home"]}," ",{p:[46,7,2029],t:7,e:"ui-button",a:{icon:"pencil",action:"sethome"},f:["Set Home"]}]}," ",{p:[48,5,2116],t:7,e:"ui-section",a:{label:"Settings"},f:[{p:[49,7,2153],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.autoReturn"],s:'_0?"check-square-o":"square-o"'},p:[49,24,2170]}],style:[{t:2,x:{r:["data.autoReturn"],s:'_0?"selected":null'},p:[49,84,2230]}],action:"autoret"},f:["Auto-Return Home"]}," ",{p:[51,7,2334],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.autoPickup"],s:'_0?"check-square-o":"square-o"'},p:[51,24,2351]}],style:[{t:2,x:{r:["data.autoPickup"],s:'_0?"selected":null'},p:[51,84,2411]}],action:"autopick"},f:["Auto-Pickup Crate"]}," ",{p:[53,7,2517],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.reportDelivery"],s:'_0?"check-square-o":"square-o"'},p:[53,24,2534]}],style:[{t:2,x:{r:["data.reportDelivery"],s:'_0?"selected":null'},p:[53,88,2598]}],action:"report"},f:["Report Deliveries"]}]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[31,1,1373]}]},e.exports=r.extend(i.exports)},{196:196}],228:[function(t,e,n){var r=t(196),i={exports:{}};!function(t){"use strict";t.exports={computed:{readableFrequency:function(){return Math.round(this.get("adata.frequency"))/10}}}}(i),i.exports.template={v:3,t:[" ",{p:[11,1,167],t:7,e:"ui-display",a:{title:"Settings"},f:[{t:4,f:[{p:[13,5,224],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[14,7,257],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.listening"],s:'_0?"power-off":"close"'},p:[14,24,274]}],style:[{t:2,x:{r:["data.listening"],s:'_0?"selected":null'},p:[14,75,325]}],action:"listen"},f:[{t:2,x:{r:["data.listening"],s:'_0?"On":"Off"'},p:[16,9,398]}]}]}],n:50,r:"data.headset",p:[12,3,199]},{t:4,n:51,f:[{p:[19,5,476],t:7,e:"ui-section",a:{label:"Microphone"},f:[{p:[20,7,514],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.broadcasting"],s:'_0?"power-off":"close"'},p:[20,24,531]}],style:[{t:2,x:{r:["data.broadcasting"],s:'_0?"selected":null'},p:[20,78,585]}],action:"broadcast"},f:[{t:2,x:{r:["data.broadcasting"],s:'_0?"Engaged":"Disengaged"'},p:[22,9,664]}]}]}," ",{p:[24,5,746],t:7,e:"ui-section",a:{label:"Speaker"},f:[{p:[25,7,781],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.listening"],s:'_0?"power-off":"close"'},p:[25,24,798]}],style:[{t:2,x:{r:["data.listening"],s:'_0?"selected":null'},p:[25,75,849]}],action:"listen"},f:[{t:2,x:{r:["data.listening"],s:'_0?"Engaged":"Disengaged"'},p:[27,9,922]}]}]}],r:"data.headset"}," ",{t:4,f:[{p:[31,5,1034],t:7,e:"ui-section",a:{label:"High Volume"},f:[{p:[32,7,1073],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.useCommand"],s:'_0?"power-off":"close"'},p:[32,24,1090]}],style:[{t:2,x:{r:["data.useCommand"],s:'_0?"selected":null'},p:[32,76,1142]}],action:"command"},f:[{t:2,x:{r:["data.useCommand"],s:'_0?"On":"Off"'},p:[34,9,1217]}]}]}],n:50,r:"data.command",p:[30,3,1009]}]}," ",{p:[38,1,1305],t:7,e:"ui-display",a:{title:"Channel"},f:[{p:[39,3,1336],t:7,e:"ui-section",a:{label:"Frequency"},f:[{t:4,f:[{p:[41,7,1399],t:7,e:"span",f:[{t:2,r:"readableFrequency",p:[41,13,1405]}]}],n:50,r:"data.freqlock",p:[40,5,1371]},{t:4,n:51,f:[{p:[43,7,1453],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.frequency","data.minFrequency"],s:'_0==_1?"disabled":null'},p:[43,46,1492]}],action:"frequency",params:'{"adjust": -1}'}}," ",{p:[44,7,1603],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.frequency","data.minFrequency"],s:'_0==_1?"disabled":null'},p:[44,41,1637]}],action:"frequency",params:'{"adjust": -.2}'}}," ",{p:[45,7,1749],t:7,e:"ui-button",a:{icon:"pencil",action:"frequency",params:'{"tune": "input"}'},f:[{t:2,r:"readableFrequency",p:[45,78,1820]}]}," ",{p:[46,7,1860],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.frequency","data.maxFrequency"],s:'_0==_1?"disabled":null'},p:[46,40,1893]}],action:"frequency",params:'{"adjust": .2}'}}," ",{p:[47,7,2004],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.frequency","data.maxFrequency"],s:'_0==_1?"disabled":null'},p:[47,45,2042]}],action:"frequency",params:'{"adjust": 1}'}}],r:"data.freqlock"}]}," ",{t:4,f:[{p:[51,5,2212],t:7,e:"ui-section",a:{label:"Subspace Transmission"},f:[{p:[52,7,2261],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.subspace"],s:'_0?"power-off":"close"'},p:[52,24,2278]}],style:[{t:2,x:{r:["data.subspace"],s:'_0?"selected":null'},p:[52,74,2328]}],action:"subspace"},f:[{t:2,x:{r:["data.subspace"],s:'_0?"Active":"Inactive"'},p:[53,29,2395]}]}]}],n:50,r:"data.subspaceSwitchable",p:[50,3,2176]}," ",{t:4,f:[{p:[57,5,2522],t:7,e:"ui-section",a:{label:"Channels"},f:[{t:4,f:[{p:[59,9,2598],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["."],s:'_0?"check-square-o":"square-o"'},p:[59,26,2615]}],style:[{t:2,x:{r:["."],s:'_0?"selected":null'},p:[60,18,2671]}],action:"channel",params:['{"channel": "',{t:2,r:"channel",p:[61,49,2746]},'"}']},f:[{t:2,r:"channel",p:[62,11,2772]}]},{p:[62,34,2795],t:7,e:"br"}],n:52,i:"channel",r:"data.channels",p:[58,7,2558]}]}],n:50,x:{r:["data.subspace","data.channels"],s:"_0&&_1"},p:[56,3,2479]}]}]},e.exports=r.extend(i.exports)},{196:196}],229:[function(t,e,n){var r=t(196),i={exports:{}};!function(t){"use strict";t.exports={computed:{capacityPercentState:function(){var t=this.get("data.capacityPercent");return t>50?"good":t>15?"average":"bad"},inputState:function(){return this.get("data.capacityPercent")>=100?"good":this.get("data.inputting")?"average":"bad"},outputState:function(){return this.get("data.outputting")?"good":this.get("data.charge")>0?"average":"bad"}}}}(i),i.exports.template={v:3,t:[" ",{p:[24,1,600],t:7,e:"ui-display",a:{title:"Storage"},f:[{p:[25,3,631],t:7,e:"ui-section",a:{label:"Stored Energy"},f:[{p:[26,5,670],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.capacityPercent",p:[26,38,703]}],state:[{t:2,r:"capacityPercentState",p:[26,71,736]}]},f:[{t:2,x:{r:["adata.capacityPercent"],s:"Math.fixed(_0)"},p:[26,97,762]},"%"]}]}]}," ",{p:[29,1,840],t:7,e:"ui-display",a:{title:"Input"},f:[{p:[30,3,869],t:7,e:"ui-section",a:{label:"Charge Mode"},f:[{p:[31,5,906],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.inputAttempt"],s:'_0?"refresh":"close"'},p:[31,22,923]}],style:[{t:2,x:{r:["data.inputAttempt"],s:'_0?"selected":null'},p:[31,74,975]}],action:"tryinput"},f:[{t:2,x:{r:["data.inputAttempt"],s:'_0?"Auto":"Off"'},p:[32,25,1042]}]},"  [",{p:[34,6,1109],t:7,e:"span",a:{"class":[{t:2,r:"inputState",p:[34,19,1122]}]},f:[{t:2,x:{r:["data.capacityPercent","data.inputting"],s:'_0>=100?"Fully Charged":_1?"Charging":"Not Charging"'},p:[34,35,1138]}]},"]"]}," ",{p:[36,3,1260],t:7,e:"ui-section",a:{label:"Target Input"},f:[{p:[37,5,1298],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.inputLevelMax",p:[37,26,1319]}],value:[{t:2,r:"data.inputLevel",p:[37,57,1350]}]},f:[{t:2,x:{r:["adata.inputLevel"],s:"Math.round(_0)"},p:[37,78,1371]},"W"]}]}," ",{p:[39,3,1431],t:7,e:"ui-section",a:{label:"Adjust Input"},f:[{p:[40,5,1469],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.inputLevel"],s:'_0==0?"disabled":null'},p:[40,44,1508]}],action:"input",params:'{"target": "min"}'}}," ",{p:[41,5,1602],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.inputLevel"],s:'_0==0?"disabled":null'},p:[41,39,1636]}],action:"input",params:'{"adjust": -10000}'}}," ",{p:[42,5,1731],t:7,e:"ui-button",a:{icon:"pencil",action:"input",params:'{"target": "input"}'},f:["Set"]}," ",{p:[43,5,1820],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.inputLevel","data.inputLevelMax"],s:'_0==_1?"disabled":null'},p:[43,38,1853]}],action:"input",params:'{"adjust": 10000}'}}," ",{p:[44,5,1964],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.inputLevel","data.inputLevelMax"],s:'_0==_1?"disabled":null'},p:[44,43,2002]}],action:"input",params:'{"target": "max"}'}}]}," ",{p:[46,3,2127],t:7,e:"ui-section",a:{label:"Available"},f:[{p:[47,3,2160],t:7,e:"span",f:[{t:2,x:{r:["adata.inputAvailable"],s:"Math.round(_0)"},p:[47,9,2166]},"W"]}]}]}," ",{p:[50,1,2240],t:7,e:"ui-display",a:{title:"Output"},f:[{p:[51,3,2270],t:7,e:"ui-section",a:{label:"Output Mode"},f:[{p:[52,5,2307],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.outputAttempt"],s:'_0?"power-off":"close"'},p:[52,22,2324]}],style:[{t:2,x:{r:["data.outputAttempt"],s:'_0?"selected":null'},p:[52,77,2379]}],action:"tryoutput"},f:[{t:2,x:{r:["data.outputAttempt"],s:'_0?"On":"Off"'},p:[53,26,2448]}]},"  [",{p:[55,6,2514],t:7,e:"span",a:{"class":[{t:2,r:"outputState",p:[55,19,2527]}]},f:[{t:2,x:{r:["data.outputting","data.charge"],s:'_0?"Sending":_1>0?"Not Sending":"No Charge"'},p:[55,36,2544]}]},"]"]}," ",{p:[57,3,2649],t:7,e:"ui-section",a:{label:"Target Output"},f:[{p:[58,5,2688],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.outputLevelMax",p:[58,26,2709]}],value:[{t:2,r:"data.outputLevel",p:[58,58,2741]}]},f:[{t:2,x:{r:["adata.outputLevel"],s:"Math.round(_0)"},p:[58,80,2763]},"W"]}]}," ",{p:[60,3,2824],t:7,e:"ui-section",a:{label:"Adjust Output"},f:[{p:[61,5,2863],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.outputLevel"],s:'_0==0?"disabled":null'},p:[61,44,2902]}],action:"output",params:'{"target": "min"}'}}," ",{p:[62,5,2998],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.outputLevel"],s:'_0==0?"disabled":null'},p:[62,39,3032]}],action:"output",params:'{"adjust": -10000}'}}," ",{p:[63,5,3129],t:7,e:"ui-button",a:{icon:"pencil",action:"output",params:'{"target": "input"}'},f:["Set"]}," ",{p:[64,5,3219],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.outputLevel","data.outputLevelMax"],s:'_0==_1?"disabled":null'},p:[64,38,3252]}],action:"output",params:'{"adjust": 10000}'}}," ",{p:[65,5,3366],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.outputLevel","data.outputLevelMax"],s:'_0==_1?"disabled":null'},p:[65,43,3404]}],action:"output",params:'{"target": "max"}'}}]}," ",{p:[67,3,3532],t:7,e:"ui-section",a:{label:"Outputting"},f:[{p:[68,3,3566],t:7,e:"span",f:[{t:2,x:{r:["adata.outputUsed"],s:"Math.round(_0)"},p:[68,9,3572]},"W"]}]}]}]},e.exports=r.extend(i.exports)},{196:196}],230:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[2,3,30],t:7,e:"ui-section",a:{label:"Generated Power"},f:[{t:2,x:{r:["adata.generated"],s:"Math.round(_0)"},p:[3,5,71]},"W"]}," ",{p:[5,3,122],t:7,e:"ui-section",a:{label:"Orientation"},f:[{p:[6,5,159],t:7,e:"span",f:[{t:2,x:{r:["adata.angle"],s:"Math.round(_0)"},p:[6,11,165]},"° (",{t:2,r:"data.direction",p:[6,45,199]},")"]}]}," ",{p:[8,3,244],t:7,e:"ui-section",a:{label:"Adjust Angle"},f:[{p:[9,5,282],t:7,e:"ui-button",a:{icon:"step-backward",action:"angle",params:'{"adjust": -15}'},f:["15°"]}," ",{p:[10,5,378],t:7,e:"ui-button",a:{icon:"backward",action:"angle",params:'{"adjust": -5}'},f:["5°"]}," ",{p:[11,5,467],t:7,e:"ui-button",a:{icon:"forward",action:"angle",params:'{"adjust": 5}'},f:["5°"]}," ",{p:[12,5,554],t:7,e:"ui-button",a:{icon:"step-forward",action:"angle",params:'{"adjust": 15}'},f:["15°"]}]}]}," ",{p:[15,1,673],t:7,e:"ui-display",a:{title:"Tracking"},f:[{p:[16,3,705],t:7,e:"ui-section",a:{label:"Tracker Mode"},f:[{p:[17,5,743],t:7,e:"ui-button",a:{icon:"close",state:[{t:2,x:{r:["data.tracking_state"],s:'_0==0?"selected":null'},p:[17,36,774]}],action:"tracking",params:'{"mode": 0}'},f:["Off"]}," ",{p:[19,5,889],t:7,e:"ui-button",a:{icon:"clock-o",state:[{t:2,x:{r:["data.tracking_state"],s:'_0==1?"selected":null'},p:[19,38,922]}],action:"tracking",params:'{"mode": 1}'},f:["Timed"]}," ",{p:[21,5,1039],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.connected_tracker","data.tracking_state"],s:'_0?_1==2?"selected":null:"disabled"'},p:[21,38,1072]}],action:"tracking",params:'{"mode": 2}'},f:["Auto"]}]}," ",{p:[24,3,1239],t:7,e:"ui-section",a:{label:"Tracking Rate"},f:[{p:[25,3,1276],t:7,e:"span",f:[{t:2,x:{r:["adata.tracking_rate"],s:"Math.round(_0)"},p:[25,9,1282]},"°/h (",{t:2,r:"data.rotating_way",p:[25,53,1326]},")"]}]}," ",{p:[27,3,1373],t:7,e:"ui-section",a:{label:"Adjust Rate"},f:[{p:[28,5,1410],t:7,e:"ui-button",a:{icon:"fast-backward",action:"rate",params:'{"adjust": -180}'},f:["180°"]}," ",{p:[29,5,1507],t:7,e:"ui-button",a:{icon:"step-backward",action:"rate",params:'{"adjust": -30}'},f:["30°"]}," ",{p:[30,5,1602],t:7,e:"ui-button",a:{icon:"backward",action:"rate",params:'{"adjust": -5}'},f:["5°"]}," ",{p:[31,5,1690],t:7,e:"ui-button",a:{icon:"forward",action:"rate",params:'{"adjust": 5}'},f:["5°"]}," ",{p:[32,5,1776],t:7,e:"ui-button",a:{icon:"step-forward",action:"rate",params:'{"adjust": 30}'},f:["30°"]}," ",{p:[33,5,1869],t:7,e:"ui-button",a:{icon:"fast-forward",action:"rate",params:'{"adjust": 180}'},f:["180°"]}]}]}," ",{p:{button:[{p:[38,5,2051],t:7,e:"ui-button",a:{icon:"refresh",action:"refresh"},f:["Refresh"]}]},t:7,e:"ui-display",a:{title:"Devices",button:0},f:[" ",{p:[40,2,2130],t:7,e:"ui-section",a:{label:"Solar Tracker"},f:[{p:[41,5,2169],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected_tracker"],s:'_0?"good":"bad"'},p:[41,18,2182]}]},f:[{t:2,x:{r:["data.connected_tracker"],s:'_0?"":"Not "'},p:[41,63,2227]},"Found"]}]}," ",{p:[43,2,2296],t:7,e:"ui-section",a:{label:"Solar Panels"},f:[{p:[44,3,2332],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected_panels"],s:'_0?"good":"bad"'},p:[44,16,2345]}]},f:[{t:2,x:{r:["adata.connected_panels"],s:"Math.round(_0)"},p:[44,60,2389]}," Panels Connected"]}]}]}]},e.exports=r.extend(i.exports)},{196:196}],231:[function(t,e,n){var r=t(196),i={exports:{}};!function(e){"use strict";e.exports={data:{text:t(243)}}}(i),i.exports.template={v:3,t:[" ",{p:{button:[{t:4,f:[{p:[12,7,173],t:7,e:"ui-button",a:{icon:"eject",action:"eject"},f:["Eject"]}],n:50,r:"data.open",p:[11,5,149]}]},t:7,e:"ui-display",a:{title:"Power",button:0},f:[" ",{p:[15,3,259],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[16,5,290],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[16,22,307]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[17,14,357]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[18,22,411]}]}]}," ",{p:[20,3,468],t:7,e:"ui-section",a:{label:"Cell"},f:[{t:4,f:[{p:[22,7,530],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.powerLevel",p:[22,40,563]}]},f:[{t:2,x:{r:["adata.powerLevel"],s:"Math.fixed(_0)"},p:[22,61,584]},"%"]}],n:50,r:"data.hasPowercell",p:[21,5,498]},{t:4,n:51,f:[{p:[24,4,641],t:7,e:"span",a:{"class":"bad"},f:["No Cell"]}],r:"data.hasPowercell"}]}]}," ",{p:[28,1,714],t:7,e:"ui-display",a:{title:"Thermostat"},f:[{p:[29,3,748],t:7,e:"ui-section",a:{label:"Current Temperature"},f:[{p:[30,3,791],t:7,e:"span",f:[{t:2,x:{r:["adata.currentTemp"],s:"Math.round(_0)"},p:[30,9,797]},"°C"]}]}," ",{p:[32,2,860],t:7,e:"ui-section",a:{label:"Target Temperature"},f:[{p:[33,3,902],t:7,e:"span",f:[{t:2,x:{r:["adata.targetTemp"],s:"Math.round(_0)"},p:[33,9,908]},"°C"]}]}," ",{t:4,f:[{p:[36,2,990],t:7,e:"ui-section",a:{label:"Adjust Target"},f:[{p:[37,7,1031],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.targetTemp","data.minTemp"],s:'_0>_1?null:"disabled"'},p:[37,46,1070]}],action:"target",params:'{"adjust": -20}'}}," ",{p:[38,7,1175],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.targetTemp","data.minTemp"],s:'_0>_1?null:"disabled"'},p:[38,41,1209]}],action:"target",params:'{"adjust": -5}'}}," ",{p:[39,7,1313],t:7,e:"ui-button",a:{icon:"pencil",action:"target",params:'{"target": "input"}'},f:["Set"]}," ",{p:[40,7,1405],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.targetTemp","data.maxTemp"],s:'_0<_1?null:"disabled"'},p:[40,40,1438]}],action:"target",params:'{"adjust": 5}'}}," ",{p:[41,7,1541],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.targetTemp","data.maxTemp"],s:'_0<_1?null:"disabled"'},p:[41,45,1579]}],action:"target",params:'{"adjust": 20}'}}]}],n:50,r:"data.open",p:[35,3,971]}," ",{p:[44,3,1705],t:7,e:"ui-section",a:{label:"Mode"},f:[{t:4,f:[{p:[46,7,1757],t:7,e:"ui-button",a:{icon:"long-arrow-up",state:[{t:2,x:{r:["data.mode"],s:'_0=="heat"?"selected":null'},p:[46,46,1796]}],action:"mode",params:'{"mode": "heat"}'},f:["Heat"]}," ",{p:[47,7,1904],t:7,e:"ui-button",a:{icon:"long-arrow-down",state:[{t:2,x:{r:["data.mode"],s:'_0=="cool"?"selected":null'},p:[47,48,1945]}],action:"mode",params:'{"mode": "cool"}'},f:["Cool"]}," ",{p:[48,7,2053],t:7,e:"ui-button",a:{icon:"arrows-v",state:[{t:2,x:{r:["data.mode"],s:'_0=="auto"?"selected":null'},p:[48,41,2087]}],action:"mode",params:'{"mode": "auto"}'},f:["Auto"]}],n:50,r:"data.open",p:[45,3,1733]},{t:4,n:51,f:[{p:[50,4,2203],t:7,e:"span",f:[{t:2,x:{r:["text","data.mode"],s:"_0.titleCase(_1)"},p:[50,10,2209]}]}],r:"data.open"}]}]}]},e.exports=r.extend(i.exports)},{196:196,243:243}],232:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{t:4,f:[{p:[2,3,31],t:7,e:"ui-display",a:{title:[{t:2,r:"class",p:[2,22,50]}," Alarms"]},f:[{p:[3,5,74],t:7,e:"ul",f:[{t:4,f:[{p:[5,9,107],t:7,e:"li",f:[{t:2,r:".",p:[5,13,111]}]}],n:52,r:".",p:[4,7,86]},{t:4,n:51,f:[{p:[7,9,147],t:7,e:"li",f:["System Nominal"]}],r:"."}]}]}],n:52,i:"class",r:"data.alarms",p:[1,1,0]}]},e.exports=r.extend(i.exports)},{196:196}],233:[function(t,e,n){var r=t(196),i={exports:{}};!function(t){"use strict";t.exports={computed:{tankPressureState:function(){var t=this.get("data.tankPressure");return t>=200?"good":t>=100?"average":"bad"}}}}(i),i.exports.template={v:3,t:[" ",{p:[14,1,262],t:7,e:"ui-notice",f:[{p:[15,3,276],t:7,e:"span",f:["The regulator ",{t:2,x:{r:["data.hasHoldingTank"],s:'_0?"is":"is not"'},p:[15,23,296]}," connected to a mask."]}]}," ",{p:[17,1,379],t:7,e:"ui-display",f:[{p:[18,3,394],t:7,e:"ui-section",a:{label:"Tank Pressure"},f:[{p:[19,7,435],t:7,e:"ui-bar",a:{min:"0",max:"1013",value:[{t:2,r:"data.tankPressure",p:[19,41,469]}],state:[{t:2,r:"tankPressureState",p:[20,16,507]}]},f:[{t:2,x:{r:["adata.tankPressure"],s:"Math.round(_0)"},p:[20,39,530]}," kPa"]}]}," ",{p:[22,3,596],t:7,e:"ui-section",a:{label:"Release Pressure"},f:[{p:[23,5,638],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.minReleasePressure",p:[23,18,651]}],max:[{t:2,r:"data.maxReleasePressure",p:[23,52,685]}],value:[{t:2,r:"data.releasePressure",p:[24,14,727]}]},f:[{t:2,x:{r:["adata.releasePressure"],s:"Math.round(_0)"},p:[24,40,753]}," kPa"]}]}," ",{p:[26,3,822],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[27,5,866],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.releasePressure","data.defaultReleasePressure"],s:'_0!=_1?null:"disabled"'},p:[27,38,899]}],action:"pressure",params:'{"pressure": "reset"}'},f:["Reset"]}," ",{p:[29,5,1053],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.releasePressure","data.minReleasePressure"],s:'_0>_1?null:"disabled"'},p:[29,36,1084]}],action:"pressure",params:'{"pressure": "min"}'},f:["Min"]}," ",{p:[31,5,1229],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[32,5,1323],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.releasePressure","data.maxReleasePressure"],s:'_0<_1?null:"disabled"'},p:[32,35,1353]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}]}," ",{p:[35,3,1512],t:7,e:"ui-section",a:{label:"Valve"},f:[{p:[36,5,1543],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.valveOpen"],s:'_0?"unlock":"lock"'},p:[36,22,1560]}],state:[{t:2,x:{r:["data.maskConnected"],s:'_0?null:"disabled"'},p:[36,69,1607]}],action:"valve"},f:[{t:2,x:{r:["data.valveOpen"],s:'_0?"Open":"Closed"'},p:[37,22,1672]}]}]}]}]},e.exports=r.extend(i.exports)},{196:196}],234:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[2,5,33],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[3,9,75],t:7,e:"span",f:[{t:2,x:{r:["adata.temperature"],s:"Math.fixed(_0,2)"},p:[3,15,81]}," K"]}]}," ",{p:[5,5,151],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[6,9,190],t:7,e:"span",f:[{t:2,x:{r:["adata.pressure"],s:"Math.fixed(_0,2)"},p:[6,15,196]}," kPa"]}]}]}," ",{p:[9,1,276],t:7,e:"ui-display",a:{title:"Controls"},f:[{p:[10,5,311],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[11,9,347],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[11,26,364]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[11,70,408]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[12,28,469]}]}]}," ",{p:[14,5,531],t:7,e:"ui-section",a:{label:"Target Temperature"},f:[{p:[15,9,580],t:7,e:"ui-button",a:{icon:"fast-backward",style:[{t:2,x:{r:["data.target","data.min"],s:'_0==_1?"disabled":null'},p:[15,48,619]}],action:"target",params:'{"adjust": -20}'}}," ",{p:[17,9,733],t:7,e:"ui-button",a:{icon:"backward",style:[{t:2,x:{r:["data.target","data.min"],s:'_0==_1?"disabled":null'},p:[17,43,767]}],action:"target",params:'{"adjust": -5}'}}," ",{p:[19,9,880],t:7,e:"ui-button",a:{icon:"pencil",action:"target",params:'{"target": "input"}'},f:[{t:2,x:{r:["adata.target"],s:"Math.fixed(_0,2)"},p:[19,79,950]}]}," ",{p:[20,9,1003],t:7,e:"ui-button",a:{icon:"forward",style:[{t:2,x:{r:["data.target","data.max"],s:'_0==_1?"disabled":null'},p:[20,42,1036]}],action:"target",params:'{"adjust": 5}'}}," ",{p:[22,9,1148],t:7,e:"ui-button",a:{icon:"fast-forward",style:[{t:2,x:{r:["data.target","data.max"],s:'_0==_1?"disabled":null'},p:[22,47,1186]}],action:"target",params:'{"adjust": 20}'}}]}]}]},e.exports=r.extend(i.exports)},{196:196}],235:[function(t,e,n){var r=t(196),i={exports:{}};!function(t){"use strict";t.exports={oninit:function(){this.on({hover:function(t){var e=this.get("data.telecrystals");e>=t.context.params.cost&&this.set("hovered",t.context.params)},unhover:function(t){this.set("hovered")}})}}}(i),i.exports.template={v:3,t:[" ",{p:{button:[{t:4,f:[{p:[21,7,461],t:7,e:"ui-button",a:{icon:"lock",action:"lock"},f:["Lock"]}],n:50,r:"data.lockable",p:[20,5,432]}]},t:7,e:"ui-display",a:{title:"Uplink",button:0},f:[" ",{p:[24,3,547],t:7,e:"ui-section",a:{label:"Telecrystals",right:0},f:[{p:[25,5,592],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.telecrystals"],s:'_0>0?"good":"bad"'},p:[25,18,605]}]},f:[{t:2,r:"data.telecrystals",p:[25,62,649]}," TC"]}]}]}," ",{t:4,f:[{p:[29,3,740],t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[29,22,759]}]},f:[{t:4,f:[{p:[31,7,798],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[31,26,817]}],candystripe:0,right:0},f:[{p:[32,9,855],t:7,e:"ui-button",a:{tooltip:[{t:2,r:"name",p:[32,29,875]},": ",{t:2,r:"desc",p:[32,39,885]}],"tooltip-side":"left",state:[{t:2,x:{r:["data.telecrystals","hovered.cost","cost","hovered.item","name"],s:'_0<_2||(_0-_1<_2&&_3!=_4)?"disabled":null'},p:[33,18,933]}],action:"buy",params:['{"category": "',{t:2,r:"category",p:[34,46,1098]},'", "item": ',{t:2,r:"name",p:[34,69,1121]},', "cost": ',{t:2,r:"cost",p:[34,87,1139]},"}"]},v:{hover:"hover",unhover:"unhover"},f:[{t:2,r:"cost",p:[35,49,1199]}," TC"]}]}],n:52,r:"items",p:[30,5,775]}]}],n:52,r:"data.buyable",p:[28,1,714]}]},e.exports=r.extend(i.exports)},{196:196}],236:[function(t,e,n){var r=t(196),i={exports:{}};i.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{t:4,f:[{p:[3,5,40],t:7,e:"ui-section",a:{label:[{t:2,r:"color",p:[3,24,59]},{t:2,x:{r:["wire"],s:'_0?" ("+_0+")":""'},p:[3,33,68]}],labelcolor:[{t:2,r:"color",p:[3,80,115]}],candystripe:0,right:0},f:[{p:[4,7,151],t:7,e:"ui-button",a:{action:"cut",params:['{"wire":"',{t:2,r:"color",p:[4,48,192]},'"}']},f:[{t:2,x:{r:["cut"],s:'_0?"Mend":"Cut"'},p:[4,61,205]}]}," ",{p:[5,7,248],t:7,e:"ui-button",a:{action:"pulse",params:['{"wire":"',{t:2,r:"color",p:[5,50,291]},'"}']},f:["Pulse"]}," ",{p:[6,7,328],t:7,e:"ui-button",a:{action:"attach",params:['{"wire":"',{t:2,r:"color",p:[6,51,372]},'"}']},f:[{t:2,x:{r:["attached"],s:'_0?"Detach":"Attach"'},p:[6,64,385]}]}]}],n:52,r:"data.wires",p:[2,3,15]}]}," ",{t:4,f:[{p:[11,3,498],t:7,e:"ui-display",f:[{t:4,f:[{p:[13,7,543],t:7,e:"ui-section",f:[{t:2,r:".",p:[13,19,555]}]}],n:52,r:"data.status",p:[12,5,515]}]}],n:50,r:"data.status",p:[10,1,476]}]},e.exports=r.extend(i.exports)},{196:196}],237:[function(t,e,n){(function(e){"use strict";var n=t(196),r=e.interopRequireDefault(n);t(192),t(1),t(190),t(191);var i=t(197),a=e.interopRequireDefault(i),o=t(238),s=e.interopRequireDefault(o),u=t(239);r["default"].DEBUG=/minified/.test(function(){}),Object.assign(Math,t(242)),a["default"].load({custom:{families:["FontAwesome"],urls:["https://netdna.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"],testStrings:{FontAwesome:""}}}),window.initialize=function(e){window.tgui||(window.tgui=new s["default"]({el:"#container",data:function(){var n={constants:t(240)},r=JSON.parse(e);return Object.assign(n,r)}}),window.initialize=function(){})};var c=document.getElementById("data"),l=c.textContent,f=c.getAttribute("data-ref");"{}"!==l&&(window.initialize(l),c.remove()),(0,u.act)(f,"tgui:initialize")}).call(this,t("babel/external-helpers"))},{1:1,190:190,191:191,192:192,196:196,197:197,238:238,239:239,240:240,242:242,"babel/external-helpers":"babel/external-helpers"}],238:[function(t,e,n){var r=t(196),i={exports:{}};!function(e){"use strict";var n=t(239),r=t(241);e.exports={components:{"ui-bar":t(198),"ui-button":t(199),"ui-display":t(200),"ui-notice":t(201),"ui-section":t(203),"ui-subdisplay":t(204)},events:{enter:t(194).enter,space:t(194).space},transitions:{fade:t(195)},onconfig:function(){var e=this.get("config.interface"),n={air_alarm:t(207),"air_alarm/back":t(208),"air_alarm/controls":t(209),"air_alarm/modes":t(210),"air_alarm/scrubbers":t(211),"air_alarm/status":t(212),"air_alarm/thresholds":t(213),"air_alarm/vents":t(214),airlock_electronics:t(215),apc:t(216),atmos_alert:t(217),atmos_control:t(218),atmos_filter:t(219),atmos_mixer:t(220),atmos_pump:t(221),canister:t(222),chem_dispenser:t(223),chem_heater:t(224),cryo:t(225),error:t(226),mulebot:t(227),radio:t(228),smes:t(229),solar_control:t(230),space_heater:t(231),station_alert:t(232),tanks:t(233),thermomachine:t(234),uplink:t(235),wires:t(236)};e in n?this.components["interface"]=n[e]:this.components["interface"]=n.error},oninit:function(){var t=this;this.observe("config.style",function(t,e,n){t&&document.body.classList.add(t),e&&document.body.classList.remove(e)}),this.on("titlebar.drag",function(){return t.toggle("drag"),!1}),this.on("resize.resize",function(){return t.toggle("resize"),!1}),document.addEventListener("mousemove",function(e){t.get("drag")?r.drag.bind(t)(e):t.get("resize")&&r.resize.bind(t)(e)}),document.addEventListener("mouseup",function(e){t.set({drag:!1,resize:!1,x:null,y:null})})},oncomplete:function(){this.find("main").focus(),(0,n.winset)("mapwindow.map","focus",!0)}}}(i),i.exports.template={v:3,t:[" "," "," "," ",{p:[65,1,2031],t:7,e:"titlebar",f:[{t:3,r:"config.title",p:[65,11,2041]}]}," ",{p:[66,1,2071],t:7,e:"main",f:[{p:[67,3,2080],t:7,e:"warnings"}," ",{p:[68,3,2094],t:7,e:"interface"}]}," ",{p:[70,1,2115],t:7,e:"resize"}]},i.exports.components=i.exports.components||{};var a={warnings:t(206),titlebar:t(205),resize:t(202)};for(var o in a)a.hasOwnProperty(o)&&(i.exports.components[o]=a[o]);e.exports=r.extend(i.exports)},{194:194,195:195,196:196,198:198,199:199,200:200,201:201,202:202,203:203,204:204,205:205,206:206,207:207,208:208,209:209,210:210,211:211,212:212,213:213,214:214,215:215,216:216,217:217,218:218,219:219,220:220,221:221,222:222,223:223,224:224,225:225,226:226,227:227,228:228,229:229,230:230,231:231,232:232,233:233,234:234,235:235,236:236,239:239,241:241}],239:[function(t,e,n){"use strict";function r(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],e=arguments.length<=1||void 0===arguments[1]?"":arguments[1];return"byond://"+e+"?"+Object.keys(t).map(function(e){return o(e)+"="+o(t[e])}).join("&")}function i(t,e){var n=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];window.location.href=r(Object.assign({src:t,action:e},n))}function a(t,e,n){var i;window.location.href=r((i={},i[t+"."+e]=n,i),"winset")}n.__esModule=!0,n.href=r,n.act=i,n.winset=a;var o=encodeURIComponent},{}],240:[function(t,e,n){"use strict";n.__esModule=!0;n.UI_INTERACTIVE=2,n.UI_UPDATE=1,n.UI_DISABLED=0,n.UI_CLOSE=-1},{}],241:[function(t,e,n){"use strict";function r(t,e){return 0>t?t=0:t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth),0>e?e=0:e+window.innerHeight>window.screen.availHeight&&(e=window.screen.availHeight-window.innerHeight),{x:t,y:e}}function i(t){if(t.preventDefault(),this.get("x")){var e=t.screenX-this.get("x")+window.screenLeft,n=t.screenY-this.get("y")+window.screenTop;if(this.get("config.locked")){var i=r(e,n);e=i.x,n=i.y}(0,s.winset)(this.get("config.window"),"pos",e+","+n)}this.set({x:t.screenX,y:t.screenY})}function a(t,e){return t=Math.clamp(100,window.screen.width,t),e=Math.clamp(100,window.screen.height,e),{x:t,y:e}}function o(t){if(t.preventDefault(),this.get("x")){var e=t.screenX-this.get("x")+window.innerWidth,n=t.screenY-this.get("y")+window.innerHeight,r=a(e,n);e=r.x,n=r.y,(0,s.winset)(this.get("config.window"),"size",e+","+n)}this.set({x:t.screenX,y:t.screenY})}n.__esModule=!0,n.resize=n.drag=void 0;var s=t(239);n.drag=i,n.resize=o},{239:239}],242:[function(t,e,n){"use strict";function r(t,e,n){return Math.max(t,Math.min(n,e))}function i(t){var e=arguments.length<=1||void 0===arguments[1]?1:arguments[1];return+(Math.round(t+"e"+e)+"e-"+e)}n.__esModule=!0,n.clamp=r,n.fixed=i},{}],243:[function(t,e,n){"use strict";function r(t){return t[0].toUpperCase()+t.slice(1).toLowerCase()}function i(t){return t.replace(/\w\S*/g,r)}n.__esModule=!0,n.upperCaseFirst=r,n.titleCase=i},{}],"babel/external-helpers":[function(t,e,n){var r={};!function(t){
+var e=t.babelHelpers={};e["typeof"]="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},e.jsx=function(){var t="function"==typeof Symbol&&Symbol["for"]&&Symbol["for"]("react.element")||60103;return function(e,n,r,i){var a=e&&e.defaultProps,o=arguments.length-3;if(n||0===o||(n={}),n&&a)for(var s in a)void 0===n[s]&&(n[s]=a[s]);else n||(n=a||{});if(1===o)n.children=i;else if(o>1){for(var u=Array(o),c=0;o>c;c++)u[c]=arguments[c+3];n.children=u}return{$$typeof:t,type:e,key:void 0===r?null:""+r,ref:null,props:n,_owner:null}}}(),e.asyncToGenerator=function(t){return function(){var e=t.apply(this,arguments);return new Promise(function(t,n){function r(i,a){try{var o=e[i](a),s=o.value}catch(u){return void n(u)}o.done?t(s):Promise.resolve(s).then(function(t){r("next",t)},function(t){r("throw",t)})}r("next")})}},e.classCallCheck=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},e.createClass=function(){function t(t,e){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n},e.possibleConstructorReturn=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e},e.selfGlobal=void 0===t?self:t,e.set=function r(t,e,n,i){var a=Object.getOwnPropertyDescriptor(t,e);if(void 0===a){var o=Object.getPrototypeOf(t);null!==o&&r(o,e,n,i)}else if("value"in a&&a.writable)a.value=n;else{var s=a.set;void 0!==s&&s.call(i,n)}return n},e.slicedToArray=function(){function t(t,e){var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);r=!0);}catch(u){i=!0,a=u}finally{try{!r&&s["return"]&&s["return"]()}finally{if(i)throw a}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),e.slicedToArrayLoose=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){for(var n,r=[],i=t[Symbol.iterator]();!(n=i.next()).done&&(r.push(n.value),!e||r.length!==e););return r}throw new TypeError("Invalid attempt to destructure non-iterable instance")},e.taggedTemplateLiteral=function(t,e){return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))},e.taggedTemplateLiteralLoose=function(t,e){return t.raw=e,t},e.temporalRef=function(t,e,n){if(t===n)throw new ReferenceError(e+" is not defined - temporal dead zone");return t},e.temporalUndefined={},e.toArray=function(t){return Array.isArray(t)?t:Array.from(t)},e.toConsumableArray=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e {{! When there is just one entry make it full size. }}
+
{{#each adata.sensors}}
-
+
{{Math.fixed(pressure, 2)}} kPa
@@ -22,3 +22,24 @@
{{/each}}
+{{#if tank}}
+
+ {{#partial button}}
+ Reconnect
+ {{/partial}}
+
+
+ {{data.inputting ? "Injecting": "Off"}}
+
+
+ {{Math.fixed(adata.inputRate)}} L/s
+
+
+
+ {{data.outputting ? "Open": "Closed"}}
+
+
+ {{Math.round(adata.outputPressure)}} kPa
+
+
+{{/if tank}}
diff --git a/tgui/src/interfaces/atmos_control/tank.ract b/tgui/src/interfaces/atmos_control/tank.ract
deleted file mode 100644
index c2b02df00be..00000000000
--- a/tgui/src/interfaces/atmos_control/tank.ract
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-{{#partial button}}
- Reconnect
-{{/partial}}
-
-
- {{data.inputting ? "Injecting": "Off"}}
-
-
- {{Math.fixed(adata.inputRate)}} L/s
-
-
-
- {{data.outputting ? "Open": "Closed"}}
-
-
- {{Math.round(adata.outputPressure)}} kPa
-
-
diff --git a/tgui/src/interfaces/atmos_filter.ract b/tgui/src/interfaces/atmos_filter.ract
index 8c65a34265b..ea8e5e24385 100644
--- a/tgui/src/interfaces/atmos_filter.ract
+++ b/tgui/src/interfaces/atmos_filter.ract
@@ -4,7 +4,7 @@
action='power'>{{data.on ? "On" : "Off"}}
- Set
+ Set
Max
{{Math.round(adata.set_pressure)}} kPa
diff --git a/tgui/src/interfaces/atmos_mixer.ract b/tgui/src/interfaces/atmos_mixer.ract
index 3a2cd5d6afe..4f9285dae63 100644
--- a/tgui/src/interfaces/atmos_mixer.ract
+++ b/tgui/src/interfaces/atmos_mixer.ract
@@ -4,7 +4,7 @@
action='power'>{{data.on ? "On" : "Off"}}
- Set
+ Set
Max
{{Math.round(adata.set_pressure)}} kPa
diff --git a/tgui/src/interfaces/atmos_pump.ract b/tgui/src/interfaces/atmos_pump.ract
index cbe84467df1..2f1f47aa4f0 100644
--- a/tgui/src/interfaces/atmos_pump.ract
+++ b/tgui/src/interfaces/atmos_pump.ract
@@ -5,15 +5,15 @@
{{#if data.max_rate}}
- Set
- Max
- {{Math.round(adata.transfer_rate)}} L/s
+ Set
+ Max
+ {{Math.round(adata.rate)}} L/s
{{else}}
- Set
- Max
- {{Math.round(adata.set_pressure)}} kPa
+ Set
+ Max
+ {{Math.round(adata.pressure)}} kPa
{{/if}}
diff --git a/tgui/src/interfaces/canister.ract b/tgui/src/interfaces/canister.ract
index 2ef9abce736..41573001639 100644
--- a/tgui/src/interfaces/canister.ract
+++ b/tgui/src/interfaces/canister.ract
@@ -22,7 +22,7 @@
action='pressure' params='{"pressure": "reset"}'>Reset
Min
- Set
+ Set
Max
diff --git a/tgui/src/interfaces/chem_dispenser.ract b/tgui/src/interfaces/chem_dispenser.ract
index c958a38516a..1faddb2ff9b 100644
--- a/tgui/src/interfaces/chem_dispenser.ract
+++ b/tgui/src/interfaces/chem_dispenser.ract
@@ -6,7 +6,7 @@
{{#partial button}}
{{#each data.beakerTransferAmounts}}
- {{.}}
+ {{.}}
{{/each}}
{{/partial}}
diff --git a/tgui/src/interfaces/radio.ract b/tgui/src/interfaces/radio.ract
index d7d32438768..a07347b9406 100644
--- a/tgui/src/interfaces/radio.ract
+++ b/tgui/src/interfaces/radio.ract
@@ -40,11 +40,11 @@
{{#if data.freqlock}}
{{readableFrequency}}
{{else}}
-
-
- {{readableFrequency}}
-
-
+
+
+ {{readableFrequency}}
+
+
{{/if}}
{{#if data.subspaceSwitchable}}
@@ -59,7 +59,7 @@
- {{channel}}
+ {{channel}}
{{/each}}
{{/if}}
diff --git a/tgui/src/interfaces/smes.ract b/tgui/src/interfaces/smes.ract
index 0417ecde213..c13f81b96ce 100644
--- a/tgui/src/interfaces/smes.ract
+++ b/tgui/src/interfaces/smes.ract
@@ -37,11 +37,11 @@ component.exports = {
{{Math.round(adata.inputLevel)}}W
-
-
- Set
-
-
+
+
+ Set
+
+
{{Math.round(adata.inputAvailable)}}W
@@ -58,11 +58,11 @@ component.exports = {
{{Math.round(adata.outputLevel)}}W
-
-
- Set
-
-
+
+
+ Set
+
+
{{Math.round(adata.outputUsed)}}W
diff --git a/tgui/src/interfaces/solar_control.ract b/tgui/src/interfaces/solar_control.ract
index 75ae90ca123..45af5ba7b0a 100644
--- a/tgui/src/interfaces/solar_control.ract
+++ b/tgui/src/interfaces/solar_control.ract
@@ -6,10 +6,10 @@
{{Math.round(adata.angle)}}° ({{data.direction}})
- 15°
- 5°
- 5°
- 15°
+ 15°
+ 5°
+ 5°
+ 15°
@@ -25,12 +25,12 @@
{{Math.round(adata.tracking_rate)}}°/h ({{data.rotating_way}})
- 180°
- 30°
- 5°
- 5°
- 30°
- 180°
+ 180°
+ 30°
+ 5°
+ 5°
+ 30°
+ 180°
diff --git a/tgui/src/interfaces/space_heater.ract b/tgui/src/interfaces/space_heater.ract
index 9982f08addd..d7b5998bd65 100644
--- a/tgui/src/interfaces/space_heater.ract
+++ b/tgui/src/interfaces/space_heater.ract
@@ -34,11 +34,11 @@ component.exports = {
{{#if data.open}}
-
-
- Set
-
-
+
+
+ Set
+
+
{{/if}}
diff --git a/tgui/src/interfaces/tanks.ract b/tgui/src/interfaces/tanks.ract
index 5b258f31e1d..da90c9e7ef6 100644
--- a/tgui/src/interfaces/tanks.ract
+++ b/tgui/src/interfaces/tanks.ract
@@ -28,7 +28,7 @@ component.exports = {
action='pressure' params='{"pressure": "reset"}'>Reset
Min
- Set
+ Set
Max
diff --git a/tgui/src/interfaces/thermomachine.ract b/tgui/src/interfaces/thermomachine.ract
index 3b7c2c4e2c2..8d7a2d88f3e 100644
--- a/tgui/src/interfaces/thermomachine.ract
+++ b/tgui/src/interfaces/thermomachine.ract
@@ -1,16 +1,3 @@
-
-
{{Math.fixed(adata.temperature, 2)}} K
@@ -25,14 +12,14 @@ component.exports = {
action='power'>{{data.on ? "On": "Off"}}
-
-
- {{Math.fixed(adata.target, 2)}}
- {{Math.fixed(adata.target, 2)}}
+
-
diff --git a/tgui/src/tgui.js b/tgui/src/tgui.js
index 99eddc4783d..11bd8fc6ef1 100644
--- a/tgui/src/tgui.js
+++ b/tgui/src/tgui.js
@@ -31,13 +31,16 @@ window.initialize = (dataString) => {
return Object.assign(base, server)
}
})
+ window.initialize = function () {}
+}
+
+const holder = document.getElementById('data')
+const data = holder.textContent
+const ref = holder.getAttribute('data-ref')
+if (data !== '{}') { // If the JSON was inlined, load it.
+ window.initialize(data)
+ holder.remove()
}
import { act } from 'util/byond'
-const holder = document.getElementById('data')
-if (holder.textContent !== '{}') { // If the JSON was inlined, load it.
- window.initialize(holder.textContent)
-} else {
- act(holder.getAttribute('data-ref'), 'tgui:initialize')
- holder.remove()
-}
+act(ref, 'tgui:initialize')