From 0a7236d95500a37babc44c39a2811b7677fdc4c0 Mon Sep 17 00:00:00 2001 From: Bjorn Neergaard Date: Sat, 16 Jan 2016 22:01:17 -0600 Subject: [PATCH] Allow relabeling any canister; port MULEbot to tgui --- code/_onclick/other_mobs.dm | 3 + code/datums/wires/mulebot.dm | 12 - code/game/machinery/atmoalter/canister.dm | 37 +- code/game/objects/objs.dm | 2 - .../mob/living/simple_animal/bot/bot.dm | 15 +- .../mob/living/simple_animal/bot/mulebot.dm | 325 ++++++++---------- code/modules/power/apc.dm | 6 +- tgui/assets/tgui.css | 2 +- tgui/assets/tgui.js | 25 +- tgui/src/components/button.styl | 4 +- tgui/src/components/section.styl | 3 - tgui/src/interfaces/atmos_filter.ract | 2 +- tgui/src/interfaces/atmos_mixer.ract | 6 +- tgui/src/interfaces/atmos_pump.ract | 4 +- tgui/src/interfaces/canister.ract | 2 +- tgui/src/interfaces/mulebot.ract | 66 ++++ 16 files changed, 247 insertions(+), 267 deletions(-) create mode 100644 tgui/src/interfaces/mulebot.ract diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index 1171a9aa5c9..fc019b9d390 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -25,6 +25,9 @@ /atom/proc/attack_hand(mob/user) return +/atom/proc/interact(mob/user) + return + /* /mob/living/carbon/human/RestrainedClickOn(var/atom/A) ---carbons will handle this return diff --git a/code/datums/wires/mulebot.dm b/code/datums/wires/mulebot.dm index 91efa4e36ba..6879a97d1b4 100644 --- a/code/datums/wires/mulebot.dm +++ b/code/datums/wires/mulebot.dm @@ -13,18 +13,6 @@ var/const/WIRE_REMOTE_RX = 64 // remote recv functions var/const/WIRE_REMOTE_TX = 128 // remote trans status var/const/WIRE_BEACON_RX = 256 // beacon ping recv -/datum/wires/mulebot/CanUse(mob/living/L) - var/mob/living/simple_animal/bot/mulebot/M = holder - if(M.open) - return 1 - return 0 - -// So the wires do not open a new window, handle the interaction ourselves. -/datum/wires/mulebot/Interact(mob/living/user) - if(CanUse(user)) - var/mob/living/simple_animal/bot/mulebot/M = holder - M.update_controls() - /datum/wires/mulebot/UpdatePulsed(index) switch(index) if(WIRE_POWER1, WIRE_POWER2) diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index 1318d338a08..433aef1b1fc 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -12,7 +12,6 @@ var/valve_open = 0 var/release_pressure = ONE_ATMOSPHERE var/canister_color = "yellow" - var/can_label = 1 var/filled = 0.5 pressure_resistance = 7*ONE_ATMOSPHERE var/temperature_resistance = 1000 + T0C @@ -37,42 +36,36 @@ desc = "Nitrous oxide gas. Known to cause drowsiness." icon_state = "redws" canister_color = "redws" - can_label = 0 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" - can_label = 0 gas_type = "n2" /obj/machinery/portable_atmospherics/canister/oxygen name = "o2 canister" desc = "Oxygen. Necessary for human life." icon_state = "blue" canister_color = "blue" - can_label = 0 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" - can_label = 0 gas_type = "plasma" /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" - can_label = 0 gas_type = "co2" /obj/machinery/portable_atmospherics/canister/air name = "air canister" desc = "Pre-mixed air." icon_state = "grey" canister_color = "grey" - can_label = 0 /obj/machinery/portable_atmospherics/canister/proc/check_change() var/old_flag = update_flag @@ -193,13 +186,7 @@ update_flag else loc.assume_air(removed) air_update_turf() - src.update_icon() - - - if(air_contents.return_pressure() < 1) - can_label = 1 - else - can_label = 0 + update_icon() /obj/machinery/portable_atmospherics/canister/process() src.updateDialog() @@ -290,13 +277,12 @@ update_flag datum/tgui/master_ui = null, datum/ui_state/state = physical_state) ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if (!ui) - ui = new(user, src, ui_key, "canister", name, 405, 405, master_ui, state) + ui = new(user, src, ui_key, "canister", name, 415, 405, master_ui, state) ui.open() /obj/machinery/portable_atmospherics/canister/get_ui_data() var/data = list() data["name"] = name - data["canLabel"] = can_label ? 1 : 0 data["portConnected"] = connected_port ? 1 : 0 data["tankPressure"] = round(air_contents.return_pressure() ? air_contents.return_pressure() : 0) data["releasePressure"] = round(release_pressure ? release_pressure : 0) @@ -318,12 +304,13 @@ update_flag switch(action) if("relabel") - if(can_label) - var/label = input("Label canister:", "Gas Canister") as null|anything in label2types - var/newtype = label2types[label] - if(newtype) - new newtype (loc, 0) - qdel(src) + 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 = air_contents + replacement.ui_interact(usr) + qdel(src) if("pressure") switch(params["pressure"]) if("custom") @@ -368,12 +355,10 @@ update_flag update_icon() return 1 -/obj/machinery/portable_atmospherics/canister/New(loc, fill = 1) +/obj/machinery/portable_atmospherics/canister/New(loc) ..() - if(fill) - create_gas() - + create_gas() update_icon() return 1 diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index aab2bb1c402..5cafd68d697 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -98,8 +98,6 @@ if(ui_interact(user) != -1) return ..() -/obj/proc/interact(mob/user) - return /obj/proc/container_resist() return diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index eeda5d6e6f7..2bc2a42e8c6 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -86,7 +86,8 @@ return "[mode_name[mode]]" /mob/living/simple_animal/bot/proc/turn_on() - if(stat) return 0 + if(stat) + return 0 on = 1 SetLuminosity(initial(luminosity)) update_icon() @@ -202,20 +203,20 @@ if(istype(W, /obj/item/weapon/screwdriver)) if(!locked) open = !open - user << "Maintenance panel is now [open ? "opened" : "closed"]." + user << "The maintenance panel is now [open ? "opened" : "closed"]." else - user << "Maintenance panel is locked." - else if(istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) + user << "The maintenance panel is locked." + else if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda)) if(bot_core.allowed(user) && !open && !emagged) locked = !locked user << "Controls are now [locked ? "locked." : "unlocked."]" else if(emagged) - user << "ERROR" + user << "ERROR" if(open) - user << "Please close the access panel before locking it." + user << "Please close the access panel before locking it." else - user << "Access denied." + user << "Access denied." else user.changeNext_move(CLICK_CD_MELEE) if(istype(W, /obj/item/weapon/weldingtool) && user.a_intent != "harm") diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index 8bda6918e34..c5b45a418f8 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -28,10 +28,6 @@ var/global/mulebot_count = 0 bot_type = MULE_BOT model = "MULE" bot_core_type = /obj/machinery/bot_core/mulebot - window_id = "mulebot" - window_name = "M.U.L.E. Mk. V" - window_width = 350 - window_height = 600 suffix = "" @@ -40,7 +36,7 @@ var/global/mulebot_count = 0 var/turf/target // this is turf to navigate to (location of beacon) var/loaddir = 0 // this the direction to unload onto/load from var/home_destination = "" // tag of home beacon - + var/reached_target = 1 //true if already reached the target var/auto_return = 1 // true if auto return to home beacon after unload @@ -49,9 +45,7 @@ var/global/mulebot_count = 0 var/obj/item/weapon/stock_parts/cell/cell var/datum/wires/mulebot/wires = null - // the installed power cell - - var/bloodiness = 0 // count of bloodiness + var/bloodiness = 0 /mob/living/simple_animal/bot/mulebot/New() ..() @@ -63,11 +57,10 @@ var/global/mulebot_count = 0 cell.charge = 2000 cell.maxcharge = 2000 - spawn(5) // must wait for map loading to finish + spawn(10) // must wait for map loading to finish mulebot_count += 1 if(!suffix) - suffix = "#[mulebot_count]" - name = "\improper Mulebot ([suffix])" + set_suffix("#[mulebot_count]") /mob/living/simple_animal/bot/mulebot/Destroy() unload(0) @@ -75,48 +68,47 @@ var/global/mulebot_count = 0 wires = null return ..() -mob/living/simple_animal/bot/mulebot/bot_reset() +/mob/living/simple_animal/bot/mulebot/proc/set_suffix(suffix) + src.suffix = suffix + name = "\improper MULEbot ([suffix])" + +/mob/living/simple_animal/bot/mulebot/bot_reset() ..() reached_target = 0 -// attack by item -// emag : lock/unlock, -// screwdriver: open/close hatch -// cell: insert it -// other: chance to knock rider off bot /mob/living/simple_animal/bot/mulebot/attackby(obj/item/I, mob/user, params) - if(istype(I,/obj/item/weapon/stock_parts/cell) && open && !cell) + if(istype(I, /obj/item/weapon/screwdriver)) + ..() + if(open) + on = FALSE + icon_state="mulebot-hatch" + else + icon_state = "mulebot0" + else if(istype(I,/obj/item/weapon/stock_parts/cell) && open && !cell) if(!user.drop_item()) return var/obj/item/weapon/stock_parts/cell/C = I C.loc = src cell = C - update_controls() - else if(istype(I,/obj/item/weapon/screwdriver)) - if(locked) - user << "The maintenance hatch cannot be opened or closed while the controls are locked!" - return - - open = !open - if(open) - visible_message("[user] opens the maintenance hatch of [src]", "You open [src]'s maintenance hatch.") - on = 0 - icon_state="mulebot-hatch" + visible_message("[user] inserts a cell into [src].", + "You insert the new cell into [src].") + else if(istype(I, /obj/item/weapon/crowbar) && open && cell) + cell.add_fingerprint(usr) + cell.loc = loc + cell = null + visible_message("[user] crowbars out the power cell from [src].", + "You pry the powercell out of [src].") + else if(wires.IsInteractionTool(I) && open) + return attack_hand(user) + else if(load && ismob(load)) // chance to knock off rider + if(prob(1 + I.force * 2)) + unload(0) + user.visible_message("[user] knocks [load] off [src] with \the [I]!", + "You knock [load] off [src] with \the [I]!") else - visible_message("[user] closes the maintenance hatch of [src]", "You close [src]'s maintenance hatch.") - icon_state = "mulebot0" - - update_controls() - else if(istype(I, /obj/item/device/multitool) || istype(I, /obj/item/weapon/wirecutters)) - if(open) - attack_hand(usr) + user << "You hit [src] with \the [I] but to no effect!" + ..() else - if(load && ismob(load)) // chance to knock off rider - if(prob(1+I.force * 2)) - unload(0) - user.visible_message("[user] knocks [load] off [src] with \the [I]!", "You knock [load] off [src] with \the [I]!") - else - user << "You hit [src] with \the [I] but to no effect!" ..() return @@ -127,7 +119,6 @@ mob/living/simple_animal/bot/mulebot/bot_reset() playsound(loc, 'sound/effects/sparks1.ogg', 100, 0) /mob/living/simple_animal/bot/mulebot/update_icon() - //UNFINISHED switch(mode) if(BOT_IDLE) icon_state = "mulebot0" @@ -163,133 +154,66 @@ mob/living/simple_animal/bot/mulebot/bot_reset() visible_message("Something shorts out inside [src]!") wires.RandomCut() +/mob/living/simple_animal/bot/mulebot/attack_hand(mob/user) + interact(user) -/mob/living/simple_animal/bot/mulebot/attack_ai(mob/user) - show_controls(user) - -/mob/living/simple_animal/bot/mulebot/get_controls(mob/user) - var/ai = issilicon(user) - var/dat - dat += "

Multiple Utility Load Effector Mk. V

" - dat += "ID: [suffix]
" - dat += "Power: [on ? "On" : "Off"]
" - - if(!open) - - dat += "

Status

" - - dat += "
" - switch(mode) - if(BOT_IDLE) - dat += "Ready" - if(BOT_DELIVER) - dat += "[mode_name[BOT_DELIVER]]" - if(BOT_GO_HOME) - dat += "[mode_name[BOT_GO_HOME]]" - if(BOT_BLOCKED) - dat += "[mode_name[BOT_BLOCKED]]" - if(BOT_NAV,BOT_WAIT_FOR_NAV) - dat += "[mode_name[BOT_NAV]]" - if(BOT_NO_ROUTE) - dat += "[mode_name[BOT_NO_ROUTE]]" - dat += "
" - - dat += "Current Load: [load ? load.name : "none"]
" - dat += "Destination: [!destination ? "none" : destination]
" - dat += "Power level: [cell ? cell.percent() : 0]%" - - if(locked && !ai && !IsAdminGhost(user)) - dat += " 
Controls are locked
Unlock Controls" - else - dat += " 
Controls are unlocked
Lock Controls

" - - dat += "Toggle Power
" - dat += "Stop
" - dat += "Proceed
" - dat += "Return to Home
" - dat += "Set Destination
" - dat += "Set Bot ID
" - dat += "Set Home
" - dat += "Toggle Auto Return Home ([auto_return ? "On":"Off"])
" - dat += "Toggle Auto Pickup Crate ([auto_pickup ? "On":"Off"])
" - dat += "Toggle Delivery Reporting ([report_delivery ? "On" : "Off"])
" - if(load) - dat += "Unload Now
" - dat += "
The maintenance hatch is closed.
" - +/mob/living/simple_animal/bot/mulebot/interact(mob/user) + if(open && !istype(user, /mob/living/silicon/ai)) + wires.Interact(user) else - if(!ai) - dat += "
The maintenance hatch is open.

" - dat += "Power cell: " - if(cell) - dat += "Installed
" - else - dat += "Removed
" + ui_interact(user) - dat += wires() +/mob/living/simple_animal/bot/mulebot/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, "mulebot", name, 600, 375, master_ui, state) + ui.open() + +/mob/living/simple_animal/bot/mulebot/get_ui_data(mob/user) + var/list/data = list() + data["on"] = on + data["locked"] = locked + data["siliconUser"] = user.has_unlimited_silicon_privilege + data["mode"] = mode ? mode_name[mode] : "Ready" + data["modeStatus"] = "" + switch(mode) + if(BOT_IDLE, BOT_DELIVER, BOT_GO_HOME) + data["modeStatus"] = "good" + if(BOT_BLOCKED, BOT_NAV, BOT_WAIT_FOR_NAV) + data["modeStatus"] = "average" + if(BOT_NO_ROUTE) + data["modeStatus"] = "bad" else - dat += "
The bot is in maintenance mode and cannot be controlled.

" + data["load"] = load ? load.name : null + data["destination"] = destination ? destination : null + data["cell"] = cell ? TRUE : FALSE + data["cellPercent"] = cell ? cell.percent() : null + data["autoReturn"] = auto_return + data["autoPickup"] = auto_pickup + data["reportDelivery"] = report_delivery + return data - return dat - -// returns the wire panel text -/mob/living/simple_animal/bot/mulebot/proc/wires() - return wires.GetInteractWindow() - - -/mob/living/simple_animal/bot/mulebot/Topic(href, href_list) - if(..()) +/mob/living/simple_animal/bot/mulebot/ui_act(action, params) + if(locked && !usr.has_unlimited_silicon_privilege) return - if (usr.stat) - return - if ((in_range(src, usr) && istype(loc, /turf)) || (istype(usr, /mob/living/silicon)) || IsAdminGhost(usr)) - switch(href_list["op"]) - if("lock", "unlock") + switch(action) + if("lock") + if(usr.has_unlimited_silicon_privilege) locked = !locked - update_controls() - - if("power") - if (on) - turn_off() - else if (cell && !open) - if (!turn_on()) - usr << "You can't switch on [src]!" - return - else + if("power") + if(on) + turn_off() + else if(cell && !open) + if(!turn_on()) + usr << "You can't switch on [src]!" return - visible_message("[usr] switches [on ? "on" : "off"] [src].") - update_controls() + else + bot_control(action, usr) + return 1 - - if("cellremove") - if(open && cell && !usr.get_active_hand()) - cell.updateicon() - usr.put_in_active_hand(cell) - cell.add_fingerprint(usr) - cell = null - - usr.visible_message("[usr] removes the power cell from [src].", "You remove the power cell from [src].") - update_controls() - - if("cellinsert") - if(open && !cell) - var/obj/item/weapon/stock_parts/cell/C = usr.get_active_hand() - if(istype(C)) - if(!usr.drop_item()) - return - cell = C - C.loc = src - C.add_fingerprint(usr) - - usr.visible_message("[usr] inserts a power cell into [src].", "You insert the power cell into [src].") - update_controls() - else - bot_control(href_list["op"], usr) - update_controls() - return - -/mob/living/simple_animal/bot/mulebot/bot_control(command, mob/user, pda= 0) +/mob/living/simple_animal/bot/mulebot/bot_control(command, mob/user, pda = 0) if(pda && !wires.RemoteRX()) //MULE wireless is controlled by wires. return @@ -297,58 +221,85 @@ mob/living/simple_animal/bot/mulebot/bot_reset() if("stop") if(mode >= BOT_DELIVER) bot_reset() - update_controls() - if("go") if(mode == BOT_IDLE) start() - update_controls() - if("home") if(mode == BOT_IDLE || mode == BOT_DELIVER) start_home() - update_controls() - if("destination") - var/new_dest = input(user, "Select M.U.L.E. Destination", "Mulebot [suffix ? "([suffix])" : ""]", destination) as null|anything in deliverybeacontags + var/new_dest = input(user, "Enter Destination:", name, destination) as null|anything in deliverybeacontags if(new_dest) set_destination(new_dest) - update_controls() - - if("setid") - var/new_id = stripped_input(user, "Enter new bot ID", "Mulebot [suffix ? "([suffix])" : ""]", suffix, MAX_NAME_LEN) + var/new_id = stripped_input(user, "Enter ID:", name, suffix, MAX_NAME_LEN) if(new_id) - suffix = new_id - name = "\improper Mulebot ([suffix])" - update_controls() - + set_suffix(new_id) if("sethome") - var/new_home = stripped_input(user, "Enter new home tag", "Mulebot [suffix ? "([suffix])" : ""]", home_destination) + var/new_home = input(user, "Enter Home:", name, home_destination) as null|anything in deliverybeacontags if(new_home) home_destination = new_home - update_controls() - if("unload") if(load && mode != BOT_HUNT) if(loc == target) unload(loaddir) else unload(0) - if("autoret") auto_return = !auto_return - if("autopick") auto_pickup = !auto_pickup - if("report") report_delivery = !report_delivery - if("close") - usr.unset_machine() - usr << browse(null,"window=mulebot") +// TODO: remove this; PDAs currently depend on it +/mob/living/simple_animal/bot/mulebot/get_controls(mob/user) + var/ai = issilicon(user) + var/dat + dat += "

Multiple Utility Load Effector Mk. V

" + dat += "ID: [suffix]
" + dat += "Power: [on ? "On" : "Off"]
" + dat += "

Status

" + dat += "
" + switch(mode) + if(BOT_IDLE) + dat += "Ready" + if(BOT_DELIVER) + dat += "[mode_name[BOT_DELIVER]]" + if(BOT_GO_HOME) + dat += "[mode_name[BOT_GO_HOME]]" + if(BOT_BLOCKED) + dat += "[mode_name[BOT_BLOCKED]]" + if(BOT_NAV,BOT_WAIT_FOR_NAV) + dat += "[mode_name[BOT_NAV]]" + if(BOT_NO_ROUTE) + dat += "[mode_name[BOT_NO_ROUTE]]" + dat += "
" + dat += "Current Load: [load ? load.name : "none"]
" + dat += "Destination: [!destination ? "none" : destination]
" + dat += "Power level: [cell ? cell.percent() : 0]%" + + if(locked && !ai && !IsAdminGhost(user)) + dat += " 
Controls are locked
Unlock Controls" + else + dat += " 
Controls are unlocked
Lock Controls

" + + dat += "Toggle Power
" + dat += "Stop
" + dat += "Proceed
" + dat += "Return to Home
" + dat += "Set Destination
" + dat += "Set Bot ID
" + dat += "Set Home
" + dat += "Toggle Auto Return Home ([auto_return ? "On":"Off"])
" + dat += "Toggle Auto Pickup Crate ([auto_pickup ? "On":"Off"])
" + dat += "Toggle Delivery Reporting ([report_delivery ? "On" : "Off"])
" + if(load) + dat += "Unload Now
" + dat += "
The maintenance hatch is closed.
" + + return dat // returns true if the bot has power @@ -369,7 +320,7 @@ mob/living/simple_animal/bot/mulebot/bot_reset() // mousedrop a crate to load the bot -// can load anything if emagged +// can load anything if hacked /mob/living/simple_animal/bot/mulebot/MouseDrop_T(atom/movable/AM, mob/user) if(user.incapacitated() || user.lying) @@ -394,7 +345,7 @@ mob/living/simple_animal/bot/mulebot/bot_reset() else if(wires.LoadCheck()) buzz(SIGH) - return // if not emagged, only allow crates to be loaded + return // if not hacked, only allow crates to be loaded if(CRATE) // if it's a crate, close before loading CRATE.close() @@ -612,7 +563,6 @@ mob/living/simple_animal/bot/mulebot/bot_reset() /mob/living/simple_animal/bot/mulebot/proc/set_destination(new_dest) new_destination = new_dest get_nav() - update_controls() // starts bot moving to current destination /mob/living/simple_animal/bot/mulebot/proc/start() @@ -742,7 +692,6 @@ mob/living/simple_animal/bot/mulebot/bot_reset() icon_state = "mulebot[(wires.MobAvoid() != null)]" if(destination) // No need to calculate a path if you do not have a destination set! calc_path() - update_controls() /mob/living/simple_animal/bot/mulebot/emp_act(severity) if (cell) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index ecfeff8a460..cf44640d16b 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -457,7 +457,7 @@ else if(stat & (BROKEN|MAINT)) user << "Nothing happens!" else - if(src.allowed(usr) && !isWireCut(APC_WIRE_IDSCAN)) + if(src.allowed(usr) && !wires.IsIndexCut(APC_WIRE_IDSCAN)) locked = !locked user << "You [ locked ? "lock" : "unlock"] the APC interface." update_icon() @@ -717,10 +717,6 @@ // world << "[area.power_equip]" area.power_change() -/obj/machinery/power/apc/proc/isWireCut(wireIndex) - return wires.IsIndexCut(wireIndex) - - /obj/machinery/power/apc/proc/can_use(mob/user, loud = 0) //used by attack_hand() and Topic() if(IsAdminGhost(user)) return 1 diff --git a/tgui/assets/tgui.css b/tgui/assets/tgui.css index 3226be8ae16..b5caa487368 100644 --- a/tgui/assets/tgui.css +++ b/tgui/assets/tgui.css @@ -1 +1 @@ -.normal{color:#40628a}.good{color:#537d29}.average{color:#be6209}.bad{color:#b00e0e}.highlight{color:#8ba5c4}html{box-sizing:border-box;min-height:100%;margin:0;cursor:default}*,:after,:before{box-sizing:inherit}body{min-height:100%;height:100%;margin:0 6px;font-family:Verdana,Geneva,sans-serif;font-size:12px;color:#fff;background-color:#2a2a2a;background-image:linear-gradient(180deg,#2a2a2a 0,#202020);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff2a2a2a',endColorstr='#ff202020',GradientType=0)}main{display:block;margin-top:32px;padding-top:3px}hr{height:2px;background-color:#40628a;border:none}h1,h2,h3,h4{display:inline-block;margin:0;padding:6px 0}h1{font-size:18px}h2{font-size:16px}h3{font-size:14px}h4{font-size:12px}body.nanotrasen .bar .barText,body.nanotrasen span.button,body.syndicate .bar .barText,body.syndicate span.button{color:#fff;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}.bold{font-weight:700}.italic{font-style:italic}[unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.nanotrasen{background:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjAiIHZpZXdCb3g9IjAgMCA0MjUgMjAwIiBvcGFjaXR5PSIuMzMiPgogIDxwYXRoIGQ9Im0gMTc4LjAwMzk5LDAuMDM4NjkgLTcxLjIwMzkzLDAgYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIC02Ljc2MTM0LDYuMDI1NTUgbCAwLDE4Ny44NzE0NyBhIDYuNzYxMzQyMiw2LjAyNTU0OTUgMCAwIDAgNi43NjEzNCw2LjAyNTU0IGwgNTMuMTA3MiwwIGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCA2Ljc2MTM1LC02LjAyNTU0IGwgMCwtMTAxLjU0NDAxOCA3Mi4yMTYyOCwxMDQuNjk5Mzk4IGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCA1Ljc2MDE1LDIuODcwMTYgbCA3My41NTQ4NywwIGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCA2Ljc2MTM1LC02LjAyNTU0IGwgMCwtMTg3Ljg3MTQ3IGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCAtNi43NjEzNSwtNi4wMjU1NSBsIC01NC43MTY0NCwwIGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCAtNi43NjEzMyw2LjAyNTU1IGwgMCwxMDIuNjE5MzUgTCAxODMuNzY0MTMsMi45MDg4NiBhIDYuNzYxMzQyMiw2LjAyNTU0OTUgMCAwIDAgLTUuNzYwMTQsLTIuODcwMTcgeiIgLz4KICA8cGF0aCBkPSJNIDQuODQ0NjMzMywyMi4xMDg3NSBBIDEzLjQxMjAzOSwxMi41MDE4NDIgMCAwIDEgMTMuNDc3NTg4LDAuMDM5MjQgbCA2Ni4xMTgzMTUsMCBhIDUuMzY0ODE1OCw1LjAwMDczNyAwIDAgMSA1LjM2NDgyMyw1LjAwMDczIGwgMCw3OS44NzkzMSB6IiAvPgogIDxwYXRoIGQ9Im0gNDIwLjE1NTM1LDE3Ny44OTExOSBhIDEzLjQxMjAzOCwxMi41MDE4NDIgMCAwIDEgLTguNjMyOTUsMjIuMDY5NTEgbCAtNjYuMTE4MzIsMCBhIDUuMzY0ODE1Miw1LjAwMDczNyAwIDAgMSAtNS4zNjQ4MiwtNS4wMDA3NCBsIDAsLTc5Ljg3OTMxIHoiIC8+Cjwvc3ZnPgo=") no-repeat fixed center/70% 70%,linear-gradient(180deg,#2a2a2a 0,#202020);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff2a2a2a',endColorstr='#ff202020',GradientType=0)}body.nanotrasen .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #40628a;background:#272727}body.nanotrasen .bar .barText{position:absolute;top:0;right:3px}body.nanotrasen .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#40628a}body.nanotrasen .bar .barFill.good{background-color:#537d29}body.nanotrasen .bar .barFill.average{background-color:#be6209}body.nanotrasen .bar .barFill.bad{background-color:#b00e0e}body.nanotrasen span.button{display:inline-block;vertical-align:middle;height:20px;line-height:19px;padding:0 5px;white-space:nowrap}body.nanotrasen span.button .fa{padding-right:2px}body.nanotrasen span.button.normal{transition:background-color .5s;background-color:#40628a}body.nanotrasen span.button.normal.active:focus,body.nanotrasen span.button.normal.active:hover{transition:background-color .25s;background-color:#4f78aa;outline:0}body.nanotrasen span.button.disabled{transition:background-color .5s;background-color:#999}body.nanotrasen span.button.disabled.active:focus,body.nanotrasen span.button.disabled.active:hover{transition:background-color .25s;background-color:#a8a8a8;outline:0}body.nanotrasen span.button.selected{transition:background-color .5s;background-color:#2f943c}body.nanotrasen span.button.selected.active:focus,body.nanotrasen span.button.selected.active:hover{transition:background-color .25s;background-color:#3ab84b;outline:0}body.nanotrasen span.button.caution{transition:background-color .5s;background-color:#9a9d00}body.nanotrasen span.button.caution.active:focus,body.nanotrasen span.button.caution.active:hover{transition:background-color .25s;background-color:#ced200;outline:0}body.nanotrasen span.button.danger{transition:background-color .5s;background-color:#9d0808}body.nanotrasen span.button.danger.active:focus,body.nanotrasen span.button.danger.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.nanotrasen span.button.gridable{width:125px;margin:2px 0}body.nanotrasen div.display{width:100%;padding:4px;margin:6px 0;background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#54000000,endColorStr=#54000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#54000000,endColorStr=#54000000);background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5)}body.nanotrasen div.display header,body.nanotrasen div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#fff;border-bottom:2px solid #40628a}body.nanotrasen div.display header .buttonRight,body.nanotrasen div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.nanotrasen div.display article,body.nanotrasen div.subdisplay article{display:table;width:100%;border-spacing:4px 6px}body.nanotrasen div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#000;font-weight:700;font-style:italic;background-color:#bb9b68;background-image:repeating-linear-gradient(-45deg,#bb9b68,#bb9b68 10px,#b1905d 0,#b1905d 20px)}body.nanotrasen div.notice .button{outline:1px solid #272727}body.nanotrasen div.notice .label{color:#000}body.nanotrasen div.notice hr{background-color:#272727}body.nanotrasen div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #363636;-webkit-transform:rotate(1turn);-ms-transform:rotate(1turn);transform:rotate(1turn)}body.nanotrasen section .content,body.nanotrasen section .label,body.nanotrasen section .line,body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle}body.nanotrasen section{display:table-row;width:100%;padding:3px 0}body.nanotrasen section:not(:first-child){padding-top:4px}body.nanotrasen section .label{width:1%;padding-right:32px;white-space:nowrap;color:#8ba5c4}body.nanotrasen section .content:not(:last-child){padding-right:16px}body.nanotrasen section .line{width:100%}body.nanotrasen section .buttoninfo{margin-left:5px}body.nanotrasen div.subdisplay{width:100%;margin:0}body.nanotrasen header.titlebar .close,body.nanotrasen header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#8ba5c4}body.nanotrasen header.titlebar .close:hover,body.nanotrasen header.titlebar .minimize:hover{color:#9cb2cd}body.nanotrasen header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#363636;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.nanotrasen header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.nanotrasen header.titlebar .title{position:absolute;top:6px;left:46px;color:#8ba5c4;font-size:16px;white-space:nowrap}body.nanotrasen header.titlebar .minimize{position:absolute;top:6px;right:46px}body.nanotrasen header.titlebar .close{position:absolute;top:4px;right:12px}body.nanotrasen .wf-inactive .statusicon:after{content:"O"}body.nanotrasen .wf-inactive .minimize:after{content:"-"}body.nanotrasen .wf-inactive .close:after{content:"X"}body.syndicate{background:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjAiIHZpZXdCb3g9IjAgMCA4NS4yNSAxMTQuMzUiIG9wYWNpdHk9Ii4zMyI+CiAgPHRleHQKICAgIHN0eWxlPSJmb250LXNpemU6MjAwcHg7Zm9udC1mYW1pbHk6J1ZlcmRhbmEnLHNhbnMtc2VyaWYiCiAgICB4PSItMTAuNzQyMTg4IgogICAgeT0iMTExLjcxODc1Ij4KICAgIDx0c3Bhbj5zPC90c3Bhbj4KICA8L3RleHQ+Cjwvc3ZnPgo=") no-repeat fixed center/70% 70%,linear-gradient(180deg,#750000 0,#340404);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff750000',endColorstr='#ff340404',GradientType=0)}body.syndicate .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #000;background:#272727}body.syndicate .bar .barText{position:absolute;top:0;right:3px}body.syndicate .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#000}body.syndicate .bar .barFill.good{background-color:#80ff80}body.syndicate .bar .barFill.average{background-color:#be6209}body.syndicate .bar .barFill.bad{background-color:#b00e0e}body.syndicate span.button{display:inline-block;vertical-align:middle;height:20px;line-height:19px;padding:0 5px;white-space:nowrap}body.syndicate span.button .fa{padding-right:2px}body.syndicate span.button.normal{transition:background-color .5s;background-color:#272727}body.syndicate span.button.normal.active:focus,body.syndicate span.button.normal.active:hover{transition:background-color .25s;background-color:#474747;outline:0}body.syndicate span.button.disabled{transition:background-color .5s;background-color:#363636}body.syndicate span.button.disabled.active:focus,body.syndicate span.button.disabled.active:hover{transition:background-color .25s;background-color:#545454;outline:0}body.syndicate span.button.selected{transition:background-color .5s;background-color:#9d0808}body.syndicate span.button.selected.active:focus,body.syndicate span.button.selected.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.syndicate span.button.caution{transition:background-color .5s;background-color:#be6209}body.syndicate span.button.caution.active:focus,body.syndicate span.button.caution.active:hover{transition:background-color .25s;background-color:#eb790b;outline:0}body.syndicate span.button.danger{transition:background-color .5s;background-color:#9a9d00}body.syndicate span.button.danger.active:focus,body.syndicate span.button.danger.active:hover{transition:background-color .25s;background-color:#ced200;outline:0}body.syndicate span.button.gridable{width:125px;margin:2px 0}body.syndicate div.display{width:100%;padding:4px;margin:6px 0;background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#80000000,endColorStr=#80000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#80000000,endColorStr=#80000000);background-color:rgba(0,0,0,.5);box-shadow:inset 0 0 5px rgba(0,0,0,.75)}body.syndicate div.display header,body.syndicate div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#fff;border-bottom:2px solid #272727}body.syndicate div.display header .buttonRight,body.syndicate div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.syndicate div.display article,body.syndicate div.subdisplay article{display:table;width:100%;border-spacing:4px 6px}body.syndicate div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#000;font-weight:700;font-style:italic;background-color:#750000;background-image:repeating-linear-gradient(-45deg,#750000,#750000 10px,#910101 0,#910101 20px)}body.syndicate div.notice .button{outline:1px solid #272727}body.syndicate div.notice .label{color:#000}body.syndicate div.notice hr{background-color:#272727}body.syndicate div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #363636;-webkit-transform:rotate(1turn);-ms-transform:rotate(1turn);transform:rotate(1turn)}body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle}body.syndicate section{display:table-row;width:100%;padding:3px 0}body.syndicate section:not(:first-child){padding-top:4px}body.syndicate section .label{width:1%;padding-right:32px;white-space:nowrap;color:#fff}body.syndicate section .content:not(:last-child){padding-right:16px}body.syndicate section .line{width:100%}body.syndicate section .buttoninfo{margin-left:5px}body.syndicate div.subdisplay{width:100%;margin:0}body.syndicate header.titlebar .close,body.syndicate header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#e74242}body.syndicate header.titlebar .close:hover,body.syndicate header.titlebar .minimize:hover{color:#eb5e5e}body.syndicate header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#363636;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.syndicate header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.syndicate header.titlebar .title{position:absolute;top:6px;left:46px;color:#e74242;font-size:16px;white-space:nowrap}body.syndicate header.titlebar .minimize{position:absolute;top:6px;right:46px}body.syndicate header.titlebar .close{position:absolute;top:4px;right:12px}body.syndicate .wf-inactive .statusicon:after{content:"O"}body.syndicate .wf-inactive .minimize:after{content:"-"}body.syndicate .wf-inactive .close:after{content:"X"} \ No newline at end of file +.normal{color:#40628a}.good{color:#537d29}.average{color:#be6209}.bad{color:#b00e0e}.highlight{color:#8ba5c4}html{box-sizing:border-box;min-height:100%;margin:0;cursor:default}*,:after,:before{box-sizing:inherit}body{min-height:100%;height:100%;margin:0 6px;font-family:Verdana,Geneva,sans-serif;font-size:12px;color:#fff;background-color:#2a2a2a;background-image:linear-gradient(180deg,#2a2a2a 0,#202020);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff2a2a2a',endColorstr='#ff202020',GradientType=0)}main{display:block;margin-top:32px;padding-top:3px}hr{height:2px;background-color:#40628a;border:none}h1,h2,h3,h4{display:inline-block;margin:0;padding:6px 0}h1{font-size:18px}h2{font-size:16px}h3{font-size:14px}h4{font-size:12px}body.nanotrasen .bar .barText,body.nanotrasen span.button,body.syndicate .bar .barText,body.syndicate span.button{color:#fff;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}.bold{font-weight:700}.italic{font-style:italic}[unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.nanotrasen{background:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjAiIHZpZXdCb3g9IjAgMCA0MjUgMjAwIiBvcGFjaXR5PSIuMzMiPgogIDxwYXRoIGQ9Im0gMTc4LjAwMzk5LDAuMDM4NjkgLTcxLjIwMzkzLDAgYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIC02Ljc2MTM0LDYuMDI1NTUgbCAwLDE4Ny44NzE0NyBhIDYuNzYxMzQyMiw2LjAyNTU0OTUgMCAwIDAgNi43NjEzNCw2LjAyNTU0IGwgNTMuMTA3MiwwIGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCA2Ljc2MTM1LC02LjAyNTU0IGwgMCwtMTAxLjU0NDAxOCA3Mi4yMTYyOCwxMDQuNjk5Mzk4IGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCA1Ljc2MDE1LDIuODcwMTYgbCA3My41NTQ4NywwIGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCA2Ljc2MTM1LC02LjAyNTU0IGwgMCwtMTg3Ljg3MTQ3IGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCAtNi43NjEzNSwtNi4wMjU1NSBsIC01NC43MTY0NCwwIGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCAtNi43NjEzMyw2LjAyNTU1IGwgMCwxMDIuNjE5MzUgTCAxODMuNzY0MTMsMi45MDg4NiBhIDYuNzYxMzQyMiw2LjAyNTU0OTUgMCAwIDAgLTUuNzYwMTQsLTIuODcwMTcgeiIgLz4KICA8cGF0aCBkPSJNIDQuODQ0NjMzMywyMi4xMDg3NSBBIDEzLjQxMjAzOSwxMi41MDE4NDIgMCAwIDEgMTMuNDc3NTg4LDAuMDM5MjQgbCA2Ni4xMTgzMTUsMCBhIDUuMzY0ODE1OCw1LjAwMDczNyAwIDAgMSA1LjM2NDgyMyw1LjAwMDczIGwgMCw3OS44NzkzMSB6IiAvPgogIDxwYXRoIGQ9Im0gNDIwLjE1NTM1LDE3Ny44OTExOSBhIDEzLjQxMjAzOCwxMi41MDE4NDIgMCAwIDEgLTguNjMyOTUsMjIuMDY5NTEgbCAtNjYuMTE4MzIsMCBhIDUuMzY0ODE1Miw1LjAwMDczNyAwIDAgMSAtNS4zNjQ4MiwtNS4wMDA3NCBsIDAsLTc5Ljg3OTMxIHoiIC8+Cjwvc3ZnPgo=") no-repeat fixed center/70% 70%,linear-gradient(180deg,#2a2a2a 0,#202020);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff2a2a2a',endColorstr='#ff202020',GradientType=0)}body.nanotrasen .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #40628a;background:#272727}body.nanotrasen .bar .barText{position:absolute;top:0;right:3px}body.nanotrasen .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#40628a}body.nanotrasen .bar .barFill.good{background-color:#537d29}body.nanotrasen .bar .barFill.average{background-color:#be6209}body.nanotrasen .bar .barFill.bad{background-color:#b00e0e}body.nanotrasen span.button{display:inline-block;vertical-align:middle;height:20px;line-height:19px;padding:0 5px;white-space:nowrap}body.nanotrasen span.button .fa{padding-right:2px}body.nanotrasen span.button.normal{transition:background-color .5s;background-color:#40628a}body.nanotrasen span.button.normal.active:focus,body.nanotrasen span.button.normal.active:hover{transition:background-color .25s;background-color:#4f78aa;outline:0}body.nanotrasen span.button.disabled{transition:background-color .5s;background-color:#999}body.nanotrasen span.button.disabled.active:focus,body.nanotrasen span.button.disabled.active:hover{transition:background-color .25s;background-color:#a8a8a8;outline:0}body.nanotrasen span.button.selected{transition:background-color .5s;background-color:#2f943c}body.nanotrasen span.button.selected.active:focus,body.nanotrasen span.button.selected.active:hover{transition:background-color .25s;background-color:#3ab84b;outline:0}body.nanotrasen span.button.caution{transition:background-color .5s;background-color:#9a9d00}body.nanotrasen span.button.caution.active:focus,body.nanotrasen span.button.caution.active:hover{transition:background-color .25s;background-color:#ced200;outline:0}body.nanotrasen span.button.danger{transition:background-color .5s;background-color:#9d0808}body.nanotrasen span.button.danger.active:focus,body.nanotrasen span.button.danger.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.nanotrasen span.button+span:not(.buttoninfo){margin-left:5px}body.nanotrasen span.button.gridable{width:125px;margin:2px 0}body.nanotrasen div.display{width:100%;padding:4px;margin:6px 0;background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#54000000,endColorStr=#54000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#54000000,endColorStr=#54000000);background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5)}body.nanotrasen div.display header,body.nanotrasen div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#fff;border-bottom:2px solid #40628a}body.nanotrasen div.display header .buttonRight,body.nanotrasen div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.nanotrasen div.display article,body.nanotrasen div.subdisplay article{display:table;width:100%;border-spacing:4px 6px}body.nanotrasen div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#000;font-weight:700;font-style:italic;background-color:#bb9b68;background-image:repeating-linear-gradient(-45deg,#bb9b68,#bb9b68 10px,#b1905d 0,#b1905d 20px)}body.nanotrasen div.notice .button{outline:1px solid #272727}body.nanotrasen div.notice .label{color:#000}body.nanotrasen div.notice hr{background-color:#272727}body.nanotrasen div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #363636;-webkit-transform:rotate(1turn);-ms-transform:rotate(1turn);transform:rotate(1turn)}body.nanotrasen section .content,body.nanotrasen section .label,body.nanotrasen section .line,body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle}body.nanotrasen section{display:table-row;width:100%;padding:3px 0}body.nanotrasen section:not(:first-child){padding-top:4px}body.nanotrasen section .label{width:1%;padding-right:32px;white-space:nowrap;color:#8ba5c4}body.nanotrasen section .content:not(:last-child){padding-right:16px}body.nanotrasen section .line{width:100%}body.nanotrasen div.subdisplay{width:100%;margin:0}body.nanotrasen header.titlebar .close,body.nanotrasen header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#8ba5c4}body.nanotrasen header.titlebar .close:hover,body.nanotrasen header.titlebar .minimize:hover{color:#9cb2cd}body.nanotrasen header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#363636;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.nanotrasen header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.nanotrasen header.titlebar .title{position:absolute;top:6px;left:46px;color:#8ba5c4;font-size:16px;white-space:nowrap}body.nanotrasen header.titlebar .minimize{position:absolute;top:6px;right:46px}body.nanotrasen header.titlebar .close{position:absolute;top:4px;right:12px}body.nanotrasen .wf-inactive .statusicon:after{content:"O"}body.nanotrasen .wf-inactive .minimize:after{content:"-"}body.nanotrasen .wf-inactive .close:after{content:"X"}body.syndicate{background:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjAiIHZpZXdCb3g9IjAgMCA4NS4yNSAxMTQuMzUiIG9wYWNpdHk9Ii4zMyI+CiAgPHRleHQKICAgIHN0eWxlPSJmb250LXNpemU6MjAwcHg7Zm9udC1mYW1pbHk6J1ZlcmRhbmEnLHNhbnMtc2VyaWYiCiAgICB4PSItMTAuNzQyMTg4IgogICAgeT0iMTExLjcxODc1Ij4KICAgIDx0c3Bhbj5zPC90c3Bhbj4KICA8L3RleHQ+Cjwvc3ZnPgo=") no-repeat fixed center/70% 70%,linear-gradient(180deg,#750000 0,#340404);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff750000',endColorstr='#ff340404',GradientType=0)}body.syndicate .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #000;background:#272727}body.syndicate .bar .barText{position:absolute;top:0;right:3px}body.syndicate .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#000}body.syndicate .bar .barFill.good{background-color:#80ff80}body.syndicate .bar .barFill.average{background-color:#be6209}body.syndicate .bar .barFill.bad{background-color:#b00e0e}body.syndicate span.button{display:inline-block;vertical-align:middle;height:20px;line-height:19px;padding:0 5px;white-space:nowrap}body.syndicate span.button .fa{padding-right:2px}body.syndicate span.button.normal{transition:background-color .5s;background-color:#272727}body.syndicate span.button.normal.active:focus,body.syndicate span.button.normal.active:hover{transition:background-color .25s;background-color:#474747;outline:0}body.syndicate span.button.disabled{transition:background-color .5s;background-color:#363636}body.syndicate span.button.disabled.active:focus,body.syndicate span.button.disabled.active:hover{transition:background-color .25s;background-color:#545454;outline:0}body.syndicate span.button.selected{transition:background-color .5s;background-color:#9d0808}body.syndicate span.button.selected.active:focus,body.syndicate span.button.selected.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.syndicate span.button.caution{transition:background-color .5s;background-color:#be6209}body.syndicate span.button.caution.active:focus,body.syndicate span.button.caution.active:hover{transition:background-color .25s;background-color:#eb790b;outline:0}body.syndicate span.button.danger{transition:background-color .5s;background-color:#9a9d00}body.syndicate span.button.danger.active:focus,body.syndicate span.button.danger.active:hover{transition:background-color .25s;background-color:#ced200;outline:0}body.syndicate span.button+span:not(.buttoninfo){margin-left:5px}body.syndicate span.button.gridable{width:125px;margin:2px 0}body.syndicate div.display{width:100%;padding:4px;margin:6px 0;background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#80000000,endColorStr=#80000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#80000000,endColorStr=#80000000);background-color:rgba(0,0,0,.5);box-shadow:inset 0 0 5px rgba(0,0,0,.75)}body.syndicate div.display header,body.syndicate div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#fff;border-bottom:2px solid #272727}body.syndicate div.display header .buttonRight,body.syndicate div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.syndicate div.display article,body.syndicate div.subdisplay article{display:table;width:100%;border-spacing:4px 6px}body.syndicate div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#000;font-weight:700;font-style:italic;background-color:#750000;background-image:repeating-linear-gradient(-45deg,#750000,#750000 10px,#910101 0,#910101 20px)}body.syndicate div.notice .button{outline:1px solid #272727}body.syndicate div.notice .label{color:#000}body.syndicate div.notice hr{background-color:#272727}body.syndicate div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #363636;-webkit-transform:rotate(1turn);-ms-transform:rotate(1turn);transform:rotate(1turn)}body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle}body.syndicate section{display:table-row;width:100%;padding:3px 0}body.syndicate section:not(:first-child){padding-top:4px}body.syndicate section .label{width:1%;padding-right:32px;white-space:nowrap;color:#fff}body.syndicate section .content:not(:last-child){padding-right:16px}body.syndicate section .line{width:100%}body.syndicate div.subdisplay{width:100%;margin:0}body.syndicate header.titlebar .close,body.syndicate header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#e74242}body.syndicate header.titlebar .close:hover,body.syndicate header.titlebar .minimize:hover{color:#eb5e5e}body.syndicate header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#363636;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.syndicate header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.syndicate header.titlebar .title{position:absolute;top:6px;left:46px;color:#e74242;font-size:16px;white-space:nowrap}body.syndicate header.titlebar .minimize{position:absolute;top:6px;right:46px}body.syndicate header.titlebar .close{position:absolute;top:4px;right:12px}body.syndicate .wf-inactive .statusicon:after{content:"O"}body.syndicate .wf-inactive .minimize:after{content:"-"}body.syndicate .wf-inactive .close:after{content:"X"} \ No newline at end of file diff --git a/tgui/assets/tgui.js b/tgui/assets/tgui.js index 04f301a686c..4e5e1b25a50 100644 --- a/tgui/assets/tgui.js +++ b/tgui/assets/tgui.js @@ -1,15 +1,10 @@ -require=function t(e,n,r){function i(a,s){if(!n[a]){if(!e[a]){var u="function"==typeof require&&require;if(!s&&u)return u(a,!0);if(o)return o(a,!0);var c=Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[a]={exports:{}};e[a][0].call(l.exports,function(t){var n=e[a][1][t];return i(n?n:t)},l,l.exports,t,e,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a=0;--r){var i=this.tryEntries[r],o=i.completion;if("root"===i.tryLoc)return e("end");if(i.tryLoc<=this.prev){var a=y.call(i,"catchLoc"),s=y.call(i,"finallyLoc");if(a&&s){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&y.call(r,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),p(n),A}},"catch":function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;p(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:m(t),resultName:e,nextLoc:n},A}}}("object"==typeof n?n:"object"==typeof window?window:"object"==typeof self?self:this)}).call(this,t(193),void 0!==n?n:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{193:193}],3:[function(t,e,n){e.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},{}],4:[function(t,e,n){var r=t(84)("unscopables"),i=Array.prototype;void 0==i[r]&&t(32)(i,r,{}),e.exports=function(t){i[r][t]=!0}},{32:32,84:84}],5:[function(t,e,n){var r=t(39);e.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},{39:39}],6:[function(t,e,n){"use strict";var r=t(81),i=t(77),o=t(80);e.exports=[].copyWithin||function(t,e){var n=r(this),a=o(n.length),s=i(t,a),u=i(e,a),c=arguments,l=c.length>2?c[2]:void 0,h=Math.min((void 0===l?a:i(l,a))-u,a-s),f=1;for(s>u&&u+h>s&&(f=-1,u+=h-1,s+=h-1);h-- >0;)u in n?n[s]=n[u]:delete n[s],s+=f,u+=f;return n}},{77:77,80:80,81:81}],7:[function(t,e,n){"use strict";var r=t(81),i=t(77),o=t(80);e.exports=[].fill||function(t){for(var e=r(this),n=o(e.length),a=arguments,s=a.length,u=i(s>1?a[1]:void 0,n),c=s>2?a[2]:void 0,l=void 0===c?n:i(c,n);l>u;)e[u++]=t;return e}},{77:77,80:80,81:81}],8:[function(t,e,n){var r=t(79),i=t(80),o=t(77);e.exports=function(t){return function(e,n,a){var s,u=r(e),c=i(u.length),l=o(a,c);if(t&&n!=n){for(;c>l;)if(s=u[l++],s!=s)return!0}else for(;c>l;l++)if((t||l in u)&&u[l]===n)return t||l;return!t&&-1}}},{77:77,79:79,80:80}],9:[function(t,e,n){var r=t(18),i=t(35),o=t(81),a=t(80),s=t(10);e.exports=function(t){var e=1==t,n=2==t,u=3==t,c=4==t,l=6==t,h=5==t||l;return function(f,p,d){for(var m,v,g=o(f),y=i(g),b=r(p,d,3),w=a(y.length),x=0,_=e?s(f,w):n?s(f,0):void 0;w>x;x++)if((h||x in y)&&(m=y[x],v=b(m,x,g),t))if(e)_[x]=v;else if(v)switch(t){case 3:return!0;case 5:return m;case 6:return x;case 2:_.push(m)}else if(c)return!1;return l?-1:u||c?c:_}}},{10:10,18:18,35:35,80:80,81:81}],10:[function(t,e,n){var r=t(39),i=t(37),o=t(84)("species");e.exports=function(t,e){var n;return i(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!i(n.prototype)||(n=void 0),r(n)&&(n=n[o],null===n&&(n=void 0))),new(void 0===n?Array:n)(e)}},{37:37,39:39,84:84}],11:[function(t,e,n){var r=t(12),i=t(84)("toStringTag"),o="Arguments"==r(function(){return arguments}());e.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=(e=Object(t))[i])?n:o?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},{12:12,84:84}],12:[function(t,e,n){var r={}.toString;e.exports=function(t){return r.call(t).slice(8,-1)}},{}],13:[function(t,e,n){"use strict";var r=t(47),i=t(32),o=t(61),a=t(18),s=t(70),u=t(19),c=t(28),l=t(43),h=t(45),f=t(83)("id"),p=t(31),d=t(39),m=t(66),v=t(20),g=Object.isExtensible||d,y=v?"_s":"size",b=0,w=function(t,e){if(!d(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!p(t,f)){if(!g(t))return"F";if(!e)return"E";i(t,f,++b)}return"O"+t[f]},x=function(t,e){var n,r=w(e);if("F"!==r)return t._i[r];for(n=t._f;n;n=n.n)if(n.k==e)return n};e.exports={getConstructor:function(t,e,n,i){var l=t(function(t,o){s(t,l,e),t._i=r.create(null),t._f=void 0,t._l=void 0,t[y]=0,void 0!=o&&c(o,n,t[i],t)});return o(l.prototype,{clear:function(){for(var t=this,e=t._i,n=t._f;n;n=n.n)n.r=!0,n.p&&(n.p=n.p.n=void 0),delete e[n.i];t._f=t._l=void 0,t[y]=0},"delete":function(t){var e=this,n=x(e,t);if(n){var r=n.n,i=n.p;delete e._i[n.i],n.r=!0,i&&(i.n=r),r&&(r.p=i),e._f==n&&(e._f=r),e._l==n&&(e._l=i),e[y]--}return!!n},forEach:function(t){for(var e,n=a(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.n:this._f;)for(n(e.v,e.k,this);e&&e.r;)e=e.p},has:function(t){return!!x(this,t)}}),v&&r.setDesc(l.prototype,"size",{get:function(){return u(this[y])}}),l},def:function(t,e,n){var r,i,o=x(t,e);return o?o.v=n:(t._l=o={i:i=w(e,!0),k:e,v:n,p:r=t._l,n:void 0,r:!1},t._f||(t._f=o),r&&(r.n=o),t[y]++,"F"!==i&&(t._i[i]=o)),t},getEntry:x,setStrong:function(t,e,n){l(t,e,function(t,e){this._t=t,this._k=e,this._l=void 0},function(){for(var t=this,e=t._k,n=t._l;n&&n.r;)n=n.p;return t._t&&(t._l=n=n?n.n:t._t._f)?"keys"==e?h(0,n.k):"values"==e?h(0,n.v):h(0,[n.k,n.v]):(t._t=void 0,h(1))},n?"entries":"values",!n,!0),m(e)}}},{18:18,19:19,20:20,28:28,31:31,32:32,39:39,43:43,45:45,47:47,61:61,66:66,70:70,83:83}],14:[function(t,e,n){var r=t(28),i=t(11);e.exports=function(t){return function(){if(i(this)!=t)throw TypeError(t+"#toJSON isn't generic");var e=[];return r(this,!1,e.push,e),e}}},{11:11,28:28}],15:[function(t,e,n){"use strict";var r=t(32),i=t(61),o=t(5),a=t(39),s=t(70),u=t(28),c=t(9),l=t(31),h=t(83)("weak"),f=Object.isExtensible||a,p=c(5),d=c(6),m=0,v=function(t){return t._l||(t._l=new g)},g=function(){this.a=[]},y=function(t,e){return p(t.a,function(t){return t[0]===e})};g.prototype={get:function(t){var e=y(this,t);return e?e[1]:void 0},has:function(t){return!!y(this,t)},set:function(t,e){var n=y(this,t);n?n[1]=e:this.a.push([t,e])},"delete":function(t){var e=d(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},e.exports={getConstructor:function(t,e,n,r){var o=t(function(t,i){s(t,o,e),t._i=m++,t._l=void 0,void 0!=i&&u(i,n,t[r],t)});return i(o.prototype,{"delete":function(t){return a(t)?f(t)?l(t,h)&&l(t[h],this._i)&&delete t[h][this._i]:v(this)["delete"](t):!1},has:function(t){return a(t)?f(t)?l(t,h)&&l(t[h],this._i):v(this).has(t):!1}}),o},def:function(t,e,n){return f(o(e))?(l(e,h)||r(e,h,{}),e[h][t._i]=n):v(t).set(e,n),t},frozenStore:v,WEAK:h}},{28:28,31:31,32:32,39:39,5:5,61:61,70:70,83:83,9:9}],16:[function(t,e,n){"use strict";var r=t(30),i=t(23),o=t(62),a=t(61),s=t(28),u=t(70),c=t(39),l=t(25),h=t(44),f=t(67);e.exports=function(t,e,n,p,d,m){var v=r[t],g=v,y=d?"set":"add",b=g&&g.prototype,w={},x=function(t){var e=b[t];o(b,t,"delete"==t?function(t){return m&&!c(t)?!1:e.call(this,0===t?0:t)}:"has"==t?function(t){return m&&!c(t)?!1:e.call(this,0===t?0:t)}:"get"==t?function(t){return m&&!c(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof g&&(m||b.forEach&&!l(function(){(new g).entries().next()}))){var _,k=new g,E=k[y](m?{}:-0,1)!=k,S=l(function(){k.has(1)}),A=h(function(t){new g(t)});A||(g=e(function(e,n){u(e,g,t);var r=new v;return void 0!=n&&s(n,d,r[y],r),r}),g.prototype=b,b.constructor=g),m||k.forEach(function(t,e){_=1/e===-(1/0)}),(S||_)&&(x("delete"),x("has"),d&&x("get")),(_||E)&&x(y),m&&b.clear&&delete b.clear}else g=p.getConstructor(e,t,d,y),a(g.prototype,n);return f(g,t),w[t]=g,i(i.G+i.W+i.F*(g!=v),w),m||p.setStrong(g,t,d),g}},{23:23,25:25,28:28,30:30,39:39,44:44,61:61,62:62,67:67,70:70}],17:[function(t,e,n){var r=e.exports={version:"1.2.6"};"number"==typeof __e&&(__e=r)},{}],18:[function(t,e,n){var r=t(3);e.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},{3:3}],19:[function(t,e,n){e.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},{}],20:[function(t,e,n){e.exports=!t(25)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{25:25}],21:[function(t,e,n){var r=t(39),i=t(30).document,o=r(i)&&r(i.createElement);e.exports=function(t){return o?i.createElement(t):{}}},{30:30,39:39}],22:[function(t,e,n){var r=t(47);e.exports=function(t){var e=r.getKeys(t),n=r.getSymbols;if(n)for(var i,o=n(t),a=r.isEnum,s=0;o.length>s;)a.call(t,i=o[s++])&&e.push(i);return e}},{47:47}],23:[function(t,e,n){var r=t(30),i=t(17),o=t(32),a=t(62),s=t(18),u="prototype",c=function(t,e,n){var l,h,f,p,d=t&c.F,m=t&c.G,v=t&c.S,g=t&c.P,y=t&c.B,b=m?r:v?r[e]||(r[e]={}):(r[e]||{})[u],w=m?i:i[e]||(i[e]={}),x=w[u]||(w[u]={});m&&(n=e);for(l in n)h=!d&&b&&l in b,f=(h?b:n)[l],p=y&&h?s(f,r):g&&"function"==typeof f?s(Function.call,f):f,b&&!h&&a(b,l,f),w[l]!=f&&o(w,l,p),g&&x[l]!=f&&(x[l]=f)};r.core=i,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,e.exports=c},{17:17,18:18,30:30,32:32,62:62}],24:[function(t,e,n){var r=t(84)("match");e.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(i){}}return!0}},{84:84}],25:[function(t,e,n){e.exports=function(t){try{return!!t()}catch(e){return!0}}},{}],26:[function(t,e,n){"use strict";var r=t(32),i=t(62),o=t(25),a=t(19),s=t(84);e.exports=function(t,e,n){var u=s(t),c=""[t];o(function(){var e={};return e[u]=function(){return 7},7!=""[t](e)})&&(i(String.prototype,t,n(a,u,c)),r(RegExp.prototype,u,2==e?function(t,e){return c.call(t,this,e)}:function(t){return c.call(t,this)}))}},{19:19,25:25,32:32,62:62,84:84}],27:[function(t,e,n){"use strict";var r=t(5);e.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},{5:5}],28:[function(t,e,n){var r=t(18),i=t(41),o=t(36),a=t(5),s=t(80),u=t(85);e.exports=function(t,e,n,c){var l,h,f,p=u(t),d=r(n,c,e?2:1),m=0;if("function"!=typeof p)throw TypeError(t+" is not iterable!");if(o(p))for(l=s(t.length);l>m;m++)e?d(a(h=t[m])[0],h[1]):d(t[m]);else for(f=p.call(t);!(h=f.next()).done;)i(f,d,h.value,e)}},{18:18,36:36,41:41,5:5,80:80,85:85}],29:[function(t,e,n){var r=t(79),i=t(47).getNames,o={}.toString,a="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(t){try{return i(t)}catch(e){return a.slice()}};e.exports.get=function(t){return a&&"[object Window]"==o.call(t)?s(t):i(r(t))}},{47:47,79:79}],30:[function(t,e,n){var r=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},{}],31:[function(t,e,n){var r={}.hasOwnProperty;e.exports=function(t,e){return r.call(t,e)}},{}],32:[function(t,e,n){var r=t(47),i=t(60);e.exports=t(20)?function(t,e,n){return r.setDesc(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},{20:20,47:47,60:60}],33:[function(t,e,n){e.exports=t(30).document&&document.documentElement},{30:30}],34:[function(t,e,n){e.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},{}],35:[function(t,e,n){var r=t(12);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},{12:12}],36:[function(t,e,n){var r=t(46),i=t(84)("iterator"),o=Array.prototype;e.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},{46:46,84:84}],37:[function(t,e,n){var r=t(12);e.exports=Array.isArray||function(t){return"Array"==r(t)}},{12:12}],38:[function(t,e,n){var r=t(39),i=Math.floor;e.exports=function(t){return!r(t)&&isFinite(t)&&i(t)===t}},{39:39}],39:[function(t,e,n){e.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},{}],40:[function(t,e,n){var r=t(39),i=t(12),o=t(84)("match");e.exports=function(t){var e;return r(t)&&(void 0!==(e=t[o])?!!e:"RegExp"==i(t))}},{12:12,39:39,84:84}],41:[function(t,e,n){var r=t(5);e.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(o){var a=t["return"];throw void 0!==a&&r(a.call(t)),o}}},{5:5}],42:[function(t,e,n){"use strict";var r=t(47),i=t(60),o=t(67),a={};t(32)(a,t(84)("iterator"),function(){return this}),e.exports=function(t,e,n){t.prototype=r.create(a,{next:i(1,n)}),o(t,e+" Iterator")}},{32:32,47:47,60:60,67:67,84:84}],43:[function(t,e,n){"use strict";var r=t(49),i=t(23),o=t(62),a=t(32),s=t(31),u=t(46),c=t(42),l=t(67),h=t(47).getProto,f=t(84)("iterator"),p=!([].keys&&"next"in[].keys()),d="@@iterator",m="keys",v="values",g=function(){return this};e.exports=function(t,e,n,y,b,w,x){c(n,e,y);var _,k,E=function(t){if(!p&&t in C)return C[t];switch(t){case m:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+" Iterator",A=b==v,O=!1,C=t.prototype,P=C[f]||C[d]||b&&C[b],T=P||E(b);if(P){var j=h(T.call(new t));l(j,S,!0),!r&&s(C,d)&&a(j,f,g),A&&P.name!==v&&(O=!0,T=function(){return P.call(this)})}if(r&&!x||!p&&!O&&C[f]||a(C,f,T),u[e]=T,u[S]=g,b)if(_={values:A?T:E(v),keys:w?T:E(m),entries:A?E("entries"):T},x)for(k in _)k in C||o(C,k,_[k]);else i(i.P+i.F*(p||O),e,_);return _}},{23:23,31:31,32:32,42:42,46:46,47:47,49:49,62:62,67:67,84:84}],44:[function(t,e,n){var r=t(84)("iterator"),i=!1;try{var o=[7][r]();o["return"]=function(){i=!0},Array.from(o,function(){throw 2})}catch(a){}e.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],a=o[r]();a.next=function(){n=!0},o[r]=function(){return a},t(o)}catch(s){}return n}},{84:84}],45:[function(t,e,n){e.exports=function(t,e){return{value:e,done:!!t}}},{}],46:[function(t,e,n){e.exports={}},{}],47:[function(t,e,n){var r=Object;e.exports={create:r.create,getProto:r.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:r.getOwnPropertyDescriptor,setDesc:r.defineProperty,setDescs:r.defineProperties,getKeys:r.keys,getNames:r.getOwnPropertyNames,getSymbols:r.getOwnPropertySymbols,each:[].forEach}},{}],48:[function(t,e,n){var r=t(47),i=t(79);e.exports=function(t,e){for(var n,o=i(t),a=r.getKeys(o),s=a.length,u=0;s>u;)if(o[n=a[u++]]===e)return n}},{47:47,79:79}],49:[function(t,e,n){e.exports=!1},{}],50:[function(t,e,n){e.exports=Math.expm1||function(t){return 0==(t=+t)?t:t>-1e-6&&1e-6>t?t+t*t/2:Math.exp(t)-1}},{}],51:[function(t,e,n){e.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&1e-8>t?t-t*t/2:Math.log(1+t)}},{}],52:[function(t,e,n){e.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:0>t?-1:1}},{}],53:[function(t,e,n){var r,i,o,a=t(30),s=t(76).set,u=a.MutationObserver||a.WebKitMutationObserver,c=a.process,l=a.Promise,h="process"==t(12)(c),f=function(){var t,e,n;for(h&&(t=c.domain)&&(c.domain=null,t.exit());r;)e=r.domain,n=r.fn,e&&e.enter(),n(),e&&e.exit(),r=r.next;i=void 0,t&&t.enter()};if(h)o=function(){c.nextTick(f)};else if(u){var p=1,d=document.createTextNode("");new u(f).observe(d,{characterData:!0}),o=function(){d.data=p=-p}}else o=l&&l.resolve?function(){l.resolve().then(f)}:function(){s.call(a,f)};e.exports=function(t){var e={fn:t,next:void 0,domain:h&&c.domain};i&&(i.next=e),r||(r=e,o()),i=e}},{12:12,30:30,76:76}],54:[function(t,e,n){var r=t(47),i=t(81),o=t(35);e.exports=t(25)(function(){var t=Object.assign,e={},n={},r=Symbol(),i="abcdefghijklmnopqrst";return e[r]=7,i.split("").forEach(function(t){n[t]=t}),7!=t({},e)[r]||Object.keys(t({},n)).join("")!=i})?function(t,e){for(var n=i(t),a=arguments,s=a.length,u=1,c=r.getKeys,l=r.getSymbols,h=r.isEnum;s>u;)for(var f,p=o(a[u++]),d=l?c(p).concat(l(p)):c(p),m=d.length,v=0;m>v;)h.call(p,f=d[v++])&&(n[f]=p[f]);return n}:Object.assign},{25:25,35:35,47:47,81:81}],55:[function(t,e,n){var r=t(23),i=t(17),o=t(25);e.exports=function(t,e){var n=(i.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*o(function(){n(1)}),"Object",a)}},{17:17,23:23,25:25}],56:[function(t,e,n){var r=t(47),i=t(79),o=r.isEnum;e.exports=function(t){return function(e){for(var n,a=i(e),s=r.getKeys(a),u=s.length,c=0,l=[];u>c;)o.call(a,n=s[c++])&&l.push(t?[n,a[n]]:a[n]);return l}}},{47:47,79:79}],57:[function(t,e,n){var r=t(47),i=t(5),o=t(30).Reflect;e.exports=o&&o.ownKeys||function(t){var e=r.getNames(i(t)),n=r.getSymbols;return n?e.concat(n(t)):e}},{30:30,47:47,5:5}],58:[function(t,e,n){"use strict";var r=t(59),i=t(34),o=t(3);e.exports=function(){for(var t=o(this),e=arguments.length,n=Array(e),a=0,s=r._,u=!1;e>a;)(n[a]=arguments[a++])===s&&(u=!0);return function(){var r,o=this,a=arguments,c=a.length,l=0,h=0;if(!u&&!c)return i(t,n,o);if(r=n.slice(),u)for(;e>l;l++)r[l]===s&&(r[l]=a[h++]);for(;c>h;)r.push(a[h++]);return i(t,r,o)}}},{3:3,34:34,59:59}],59:[function(t,e,n){e.exports=t(30)},{30:30}],60:[function(t,e,n){e.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},{}],61:[function(t,e,n){var r=t(62);e.exports=function(t,e){for(var n in e)r(t,n,e[n]);return t}},{62:62}],62:[function(t,e,n){var r=t(30),i=t(32),o=t(83)("src"),a="toString",s=Function[a],u=(""+s).split(a);t(17).inspectSource=function(t){return s.call(t)},(e.exports=function(t,e,n,a){"function"==typeof n&&(n.hasOwnProperty(o)||i(n,o,t[e]?""+t[e]:u.join(e+"")),n.hasOwnProperty("name")||i(n,"name",e)),t===r?t[e]=n:(a||delete t[e],i(t,e,n))})(Function.prototype,a,function(){return"function"==typeof this&&this[o]||s.call(this)})},{17:17,30:30,32:32,83:83}],63:[function(t,e,n){e.exports=function(t,e){var n=e===Object(e)?function(t){return e[t]}:e;return function(e){return(e+"").replace(t,n)}}},{}],64:[function(t,e,n){e.exports=Object.is||function(t,e){return t===e?0!==t||1/t===1/e:t!=t&&e!=e}},{}],65:[function(t,e,n){var r=t(47).getDesc,i=t(39),o=t(5),a=function(t,e){if(o(t),!i(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,n,i){try{i=t(18)(Function.call,r(Object.prototype,"__proto__").set,2),i(e,[]),n=!(e instanceof Array)}catch(o){n=!0}return function(t,e){return a(t,e),n?t.__proto__=e:i(t,e),t}}({},!1):void 0),check:a}},{18:18,39:39,47:47,5:5}],66:[function(t,e,n){"use strict";var r=t(30),i=t(47),o=t(20),a=t(84)("species");e.exports=function(t){var e=r[t];o&&e&&!e[a]&&i.setDesc(e,a,{configurable:!0,get:function(){return this}})}},{20:20,30:30,47:47,84:84}],67:[function(t,e,n){var r=t(47).setDesc,i=t(31),o=t(84)("toStringTag");e.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},{31:31,47:47,84:84}],68:[function(t,e,n){var r=t(30),i="__core-js_shared__",o=r[i]||(r[i]={});e.exports=function(t){return o[t]||(o[t]={})}},{30:30}],69:[function(t,e,n){var r=t(5),i=t(3),o=t(84)("species");e.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||void 0==(n=r(a)[o])?e:i(n)}},{3:3,5:5,84:84}],70:[function(t,e,n){e.exports=function(t,e,n){if(!(t instanceof e))throw TypeError(n+": use the 'new' operator!");return t}},{}],71:[function(t,e,n){var r=t(78),i=t(19);e.exports=function(t){return function(e,n){var o,a,s=i(e)+"",u=r(n),c=s.length;return 0>u||u>=c?t?"":void 0:(o=s.charCodeAt(u),55296>o||o>56319||u+1===c||(a=s.charCodeAt(u+1))<56320||a>57343?t?s.charAt(u):o:t?s.slice(u,u+2):(o-55296<<10)+(a-56320)+65536)}}},{19:19,78:78}],72:[function(t,e,n){var r=t(40),i=t(19);e.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return i(t)+""}},{19:19,40:40}],73:[function(t,e,n){var r=t(80),i=t(74),o=t(19);e.exports=function(t,e,n,a){var s=o(t)+"",u=s.length,c=void 0===n?" ":n+"",l=r(e);if(u>=l)return s;""==c&&(c=" ");var h=l-u,f=i.call(c,Math.ceil(h/c.length));return f.length>h&&(f=f.slice(0,h)),a?f+s:s+f}},{19:19,74:74,80:80}],74:[function(t,e,n){"use strict";var r=t(78),i=t(19);e.exports=function(t){var e=i(this)+"",n="",o=r(t);if(0>o||o==1/0)throw RangeError("Count can't be negative");for(;o>0;(o>>>=1)&&(e+=e))1&o&&(n+=e);return n}},{19:19,78:78}],75:[function(t,e,n){var r=t(23),i=t(19),o=t(25),a=" \n\x0B\f\r   ᠎              \u2028\u2029\ufeff",s="["+a+"]",u="​…",c=RegExp("^"+s+s+"*"),l=RegExp(s+s+"*$"),h=function(t,e){var n={};n[t]=e(f),r(r.P+r.F*o(function(){return!!a[t]()||u[t]()!=u}),"String",n)},f=h.trim=function(t,e){return t=i(t)+"",1&e&&(t=t.replace(c,"")),2&e&&(t=t.replace(l,"")),t};e.exports=h},{19:19,23:23,25:25}],76:[function(t,e,n){var r,i,o,a=t(18),s=t(34),u=t(33),c=t(21),l=t(30),h=l.process,f=l.setImmediate,p=l.clearImmediate,d=l.MessageChannel,m=0,v={},g="onreadystatechange",y=function(){var t=+this;if(v.hasOwnProperty(t)){var e=v[t];delete v[t],e()}},b=function(t){y.call(t.data)};f&&p||(f=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return v[++m]=function(){s("function"==typeof t?t:Function(t),e)},r(m),m},p=function(t){delete v[t]},"process"==t(12)(h)?r=function(t){h.nextTick(a(y,t,1))}:d?(i=new d,o=i.port2,i.port1.onmessage=b,r=a(o.postMessage,o,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(r=function(t){l.postMessage(t+"","*")},l.addEventListener("message",b,!1)):r=g in c("script")?function(t){u.appendChild(c("script"))[g]=function(){u.removeChild(this),y.call(t)}}:function(t){setTimeout(a(y,t,1),0)}),e.exports={set:f,clear:p}},{12:12,18:18,21:21,30:30,33:33,34:34}],77:[function(t,e,n){var r=t(78),i=Math.max,o=Math.min;e.exports=function(t,e){return t=r(t),0>t?i(t+e,0):o(t,e)}},{78:78}],78:[function(t,e,n){var r=Math.ceil,i=Math.floor;e.exports=function(t){return isNaN(t=+t)?0:(t>0?i:r)(t)}},{}],79:[function(t,e,n){var r=t(35),i=t(19);e.exports=function(t){return r(i(t))}},{19:19,35:35}],80:[function(t,e,n){var r=t(78),i=Math.min;e.exports=function(t){return t>0?i(r(t),9007199254740991):0}},{78:78}],81:[function(t,e,n){var r=t(19);e.exports=function(t){return Object(r(t))}},{19:19}],82:[function(t,e,n){var r=t(39);e.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},{39:39}],83:[function(t,e,n){var r=0,i=Math.random();e.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++r+i).toString(36))}},{}],84:[function(t,e,n){var r=t(68)("wks"),i=t(83),o=t(30).Symbol;e.exports=function(t){return r[t]||(r[t]=o&&o[t]||(o||i)("Symbol."+t))}},{30:30,68:68,83:83}],85:[function(t,e,n){var r=t(11),i=t(84)("iterator"),o=t(46);e.exports=t(17).getIteratorMethod=function(t){return void 0!=t?t[i]||t["@@iterator"]||o[r(t)]:void 0}},{11:11,17:17,46:46,84:84}],86:[function(t,e,n){"use strict";var r,i=t(47),o=t(23),a=t(20),s=t(60),u=t(33),c=t(21),l=t(31),h=t(12),f=t(34),p=t(25),d=t(5),m=t(3),v=t(39),g=t(81),y=t(79),b=t(78),w=t(77),x=t(80),_=t(35),k=t(83)("__proto__"),E=t(9),S=t(8)(!1),A=Object.prototype,O=Array.prototype,C=O.slice,P=O.join,T=i.setDesc,j=i.getDesc,F=i.setDescs,N={};a||(r=!p(function(){return 7!=T(c("div"),"a",{get:function(){return 7}}).a}),i.setDesc=function(t,e,n){if(r)try{return T(t,e,n)}catch(i){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(d(t)[e]=n.value),t},i.getDesc=function(t,e){if(r)try{return j(t,e)}catch(n){}return l(t,e)?s(!A.propertyIsEnumerable.call(t,e),t[e]):void 0},i.setDescs=F=function(t,e){d(t);for(var n,r=i.getKeys(e),o=r.length,a=0;o>a;)i.setDesc(t,n=r[a++],e[n]);return t}),o(o.S+o.F*!a,"Object",{getOwnPropertyDescriptor:i.getDesc,defineProperty:i.setDesc,defineProperties:F});var R="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),M=R.concat("length","prototype"),L=R.length,D=function(){var t,e=c("iframe"),n=L,r=">";for(e.style.display="none",u.appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write("